@genesislcap/ai-assistant 15.19.0 → 15.19.1

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 (288) hide show
  1. package/package.json +17 -18
  2. package/api-extractor.json +0 -11
  3. package/dist/dts/components/chat-driver/chat-driver.compact.test.d.ts +0 -2
  4. package/dist/dts/components/chat-driver/chat-driver.compact.test.d.ts.map +0 -1
  5. package/dist/dts/components/chat-driver/chat-driver.invocation-scope.test.d.ts +0 -2
  6. package/dist/dts/components/chat-driver/chat-driver.invocation-scope.test.d.ts.map +0 -1
  7. package/dist/dts/components/chat-driver/chat-driver.test.d.ts +0 -2
  8. package/dist/dts/components/chat-driver/chat-driver.test.d.ts.map +0 -1
  9. package/dist/dts/components/chat-driver/chat-driver.thinking-policy.test.d.ts +0 -2
  10. package/dist/dts/components/chat-driver/chat-driver.thinking-policy.test.d.ts.map +0 -1
  11. package/dist/dts/components/chat-driver/chat-driver.trace-capture.test.d.ts +0 -2
  12. package/dist/dts/components/chat-driver/chat-driver.trace-capture.test.d.ts.map +0 -1
  13. package/dist/dts/components/chat-driver/chat-driver.turn-usage.test.d.ts +0 -2
  14. package/dist/dts/components/chat-driver/chat-driver.turn-usage.test.d.ts.map +0 -1
  15. package/dist/dts/components/chat-interaction-wrapper/chat-interaction-wrapper.test.d.ts +0 -2
  16. package/dist/dts/components/chat-interaction-wrapper/chat-interaction-wrapper.test.d.ts.map +0 -1
  17. package/dist/dts/components/orchestrating-driver/orchestrating-driver.budget.test.d.ts +0 -2
  18. package/dist/dts/components/orchestrating-driver/orchestrating-driver.budget.test.d.ts.map +0 -1
  19. package/dist/dts/components/orchestrating-driver/orchestrating-driver.cost.test.d.ts +0 -2
  20. package/dist/dts/components/orchestrating-driver/orchestrating-driver.cost.test.d.ts.map +0 -1
  21. package/dist/dts/components/orchestrating-driver/orchestrating-driver.pin.test.d.ts +0 -2
  22. package/dist/dts/components/orchestrating-driver/orchestrating-driver.pin.test.d.ts.map +0 -1
  23. package/dist/dts/components/settings-modal/settings-modal.styles.test.d.ts +0 -2
  24. package/dist/dts/components/settings-modal/settings-modal.styles.test.d.ts.map +0 -1
  25. package/dist/dts/components/settings-modal/settings-modal.template.test.d.ts +0 -2
  26. package/dist/dts/components/settings-modal/settings-modal.template.test.d.ts.map +0 -1
  27. package/dist/dts/config/define-stateful-agent.test.d.ts +0 -2
  28. package/dist/dts/config/define-stateful-agent.test.d.ts.map +0 -1
  29. package/dist/dts/config/validate-providers.test.d.ts +0 -2
  30. package/dist/dts/config/validate-providers.test.d.ts.map +0 -1
  31. package/dist/dts/main/blocked-state.test.d.ts +0 -2
  32. package/dist/dts/main/blocked-state.test.d.ts.map +0 -1
  33. package/dist/dts/main/budget-meter.test.d.ts +0 -2
  34. package/dist/dts/main/budget-meter.test.d.ts.map +0 -1
  35. package/dist/dts/main/cost-session-banking.test.d.ts +0 -2
  36. package/dist/dts/main/cost-session-banking.test.d.ts.map +0 -1
  37. package/dist/dts/main/file-attachments.test.d.ts +0 -2
  38. package/dist/dts/main/file-attachments.test.d.ts.map +0 -1
  39. package/dist/dts/main/interaction-cost.test.d.ts +0 -2
  40. package/dist/dts/main/interaction-cost.test.d.ts.map +0 -1
  41. package/dist/dts/main/main.styles.test.d.ts +0 -2
  42. package/dist/dts/main/main.styles.test.d.ts.map +0 -1
  43. package/dist/dts/main/persistence-broken-sources.test.d.ts +0 -2
  44. package/dist/dts/main/persistence-broken-sources.test.d.ts.map +0 -1
  45. package/dist/dts/main/popout-interaction-gate.test.d.ts +0 -2
  46. package/dist/dts/main/popout-interaction-gate.test.d.ts.map +0 -1
  47. package/dist/dts/state/ai-assistant-slice.test.d.ts +0 -2
  48. package/dist/dts/state/ai-assistant-slice.test.d.ts.map +0 -1
  49. package/dist/dts/state/debug-event-log.test.d.ts +0 -2
  50. package/dist/dts/state/debug-event-log.test.d.ts.map +0 -1
  51. package/dist/dts/state/driver-registry.test.d.ts +0 -2
  52. package/dist/dts/state/driver-registry.test.d.ts.map +0 -1
  53. package/dist/dts/state/interaction-context.test.d.ts +0 -2
  54. package/dist/dts/state/interaction-context.test.d.ts.map +0 -1
  55. package/dist/dts/state/persistence/diagnostics-cursors.test.d.ts +0 -2
  56. package/dist/dts/state/persistence/diagnostics-cursors.test.d.ts.map +0 -1
  57. package/dist/dts/state/persistence/diagnostics.test.d.ts +0 -2
  58. package/dist/dts/state/persistence/diagnostics.test.d.ts.map +0 -1
  59. package/dist/dts/state/persistence/session-persistence-provider.test.d.ts +0 -2
  60. package/dist/dts/state/persistence/session-persistence-provider.test.d.ts.map +0 -1
  61. package/dist/dts/state/persistence/session-persistence.integration.test.d.ts +0 -2
  62. package/dist/dts/state/persistence/session-persistence.integration.test.d.ts.map +0 -1
  63. package/dist/dts/state/persistence/session-persister.test.d.ts +0 -2
  64. package/dist/dts/state/persistence/session-persister.test.d.ts.map +0 -1
  65. package/dist/dts/state/persistence/session-snapshot.test.d.ts +0 -2
  66. package/dist/dts/state/persistence/session-snapshot.test.d.ts.map +0 -1
  67. package/dist/dts/state/persistence/stateful-restore.e2e.test.d.ts +0 -2
  68. package/dist/dts/state/persistence/stateful-restore.e2e.test.d.ts.map +0 -1
  69. package/dist/dts/utils/animation-exclusivity.test.d.ts +0 -2
  70. package/dist/dts/utils/animation-exclusivity.test.d.ts.map +0 -1
  71. package/dist/dts/utils/collect-session-models.test.d.ts +0 -2
  72. package/dist/dts/utils/collect-session-models.test.d.ts.map +0 -1
  73. package/dist/dts/utils/condense-history.test.d.ts +0 -2
  74. package/dist/dts/utils/condense-history.test.d.ts.map +0 -1
  75. package/dist/dts/utils/cost-session-history.test.d.ts +0 -2
  76. package/dist/dts/utils/cost-session-history.test.d.ts.map +0 -1
  77. package/dist/dts/utils/derive-cost-session-title.test.d.ts +0 -2
  78. package/dist/dts/utils/derive-cost-session-title.test.d.ts.map +0 -1
  79. package/dist/dts/utils/flatten-sub-agent-messages.test.d.ts +0 -2
  80. package/dist/dts/utils/flatten-sub-agent-messages.test.d.ts.map +0 -1
  81. package/dist/dts/utils/history-transform.test.d.ts +0 -2
  82. package/dist/dts/utils/history-transform.test.d.ts.map +0 -1
  83. package/dist/dts/utils/message-partition.test.d.ts +0 -2
  84. package/dist/dts/utils/message-partition.test.d.ts.map +0 -1
  85. package/dist/dts/utils/resolve-cost-history-config.test.d.ts +0 -2
  86. package/dist/dts/utils/resolve-cost-history-config.test.d.ts.map +0 -1
  87. package/dist/dts/utils/resolve-preference-baseline.test.d.ts +0 -2
  88. package/dist/dts/utils/resolve-preference-baseline.test.d.ts.map +0 -1
  89. package/dist/dts/utils/strip-agent-handlers.test.d.ts +0 -2
  90. package/dist/dts/utils/strip-agent-handlers.test.d.ts.map +0 -1
  91. package/dist/dts/utils/sum-costs.test.d.ts +0 -2
  92. package/dist/dts/utils/sum-costs.test.d.ts.map +0 -1
  93. package/dist/dts/utils/sum-tokens.test.d.ts +0 -2
  94. package/dist/dts/utils/sum-tokens.test.d.ts.map +0 -1
  95. package/dist/dts/utils/sum-usage.test.d.ts +0 -2
  96. package/dist/dts/utils/sum-usage.test.d.ts.map +0 -1
  97. package/dist/dts/utils/usage-rows.test.d.ts +0 -2
  98. package/dist/dts/utils/usage-rows.test.d.ts.map +0 -1
  99. package/dist/esm/components/chat-driver/chat-driver.compact.test.js +0 -93
  100. package/dist/esm/components/chat-driver/chat-driver.invocation-scope.test.js +0 -238
  101. package/dist/esm/components/chat-driver/chat-driver.test.js +0 -2770
  102. package/dist/esm/components/chat-driver/chat-driver.thinking-policy.test.js +0 -137
  103. package/dist/esm/components/chat-driver/chat-driver.trace-capture.test.js +0 -200
  104. package/dist/esm/components/chat-driver/chat-driver.turn-usage.test.js +0 -268
  105. package/dist/esm/components/chat-interaction-wrapper/chat-interaction-wrapper.test.js +0 -104
  106. package/dist/esm/components/orchestrating-driver/orchestrating-driver.budget.test.js +0 -312
  107. package/dist/esm/components/orchestrating-driver/orchestrating-driver.cost.test.js +0 -76
  108. package/dist/esm/components/orchestrating-driver/orchestrating-driver.pin.test.js +0 -61
  109. package/dist/esm/components/settings-modal/settings-modal.styles.test.js +0 -80
  110. package/dist/esm/components/settings-modal/settings-modal.template.test.js +0 -91
  111. package/dist/esm/config/define-stateful-agent.test.js +0 -53
  112. package/dist/esm/config/validate-providers.test.js +0 -100
  113. package/dist/esm/main/blocked-state.test.js +0 -1065
  114. package/dist/esm/main/budget-meter.test.js +0 -359
  115. package/dist/esm/main/cost-session-banking.test.js +0 -538
  116. package/dist/esm/main/file-attachments.test.js +0 -164
  117. package/dist/esm/main/interaction-cost.test.js +0 -107
  118. package/dist/esm/main/main.styles.test.js +0 -161
  119. package/dist/esm/main/persistence-broken-sources.test.js +0 -180
  120. package/dist/esm/main/popout-interaction-gate.test.js +0 -54
  121. package/dist/esm/state/ai-assistant-slice.test.js +0 -229
  122. package/dist/esm/state/debug-event-log.test.js +0 -117
  123. package/dist/esm/state/driver-registry.test.js +0 -55
  124. package/dist/esm/state/interaction-context.test.js +0 -78
  125. package/dist/esm/state/persistence/diagnostics-cursors.test.js +0 -30
  126. package/dist/esm/state/persistence/diagnostics.test.js +0 -280
  127. package/dist/esm/state/persistence/session-persistence-provider.test.js +0 -110
  128. package/dist/esm/state/persistence/session-persistence.integration.test.js +0 -113
  129. package/dist/esm/state/persistence/session-persister.test.js +0 -613
  130. package/dist/esm/state/persistence/session-snapshot.test.js +0 -256
  131. package/dist/esm/state/persistence/stateful-restore.e2e.test.js +0 -158
  132. package/dist/esm/utils/animation-exclusivity.test.js +0 -52
  133. package/dist/esm/utils/collect-session-models.test.js +0 -53
  134. package/dist/esm/utils/condense-history.test.js +0 -547
  135. package/dist/esm/utils/cost-session-history.test.js +0 -174
  136. package/dist/esm/utils/derive-cost-session-title.test.js +0 -37
  137. package/dist/esm/utils/flatten-sub-agent-messages.test.js +0 -139
  138. package/dist/esm/utils/history-transform.test.js +0 -158
  139. package/dist/esm/utils/message-partition.test.js +0 -90
  140. package/dist/esm/utils/resolve-cost-history-config.test.js +0 -32
  141. package/dist/esm/utils/resolve-preference-baseline.test.js +0 -69
  142. package/dist/esm/utils/strip-agent-handlers.test.js +0 -81
  143. package/dist/esm/utils/sum-costs.test.js +0 -114
  144. package/dist/esm/utils/sum-tokens.test.js +0 -51
  145. package/dist/esm/utils/sum-usage.test.js +0 -164
  146. package/dist/esm/utils/usage-rows.test.js +0 -189
  147. package/dist/tsconfig.tsbuildinfo +0 -1
  148. package/license.txt +0 -46
  149. package/sandbox/tsconfig.json +0 -8
  150. package/src/channel/ai-activity-bus.ts +0 -209
  151. package/src/channel/ai-activity-channel.ts +0 -146
  152. package/src/chat-driver-node.ts +0 -159
  153. package/src/components/activity-halo/activity-halo.ts +0 -106
  154. package/src/components/agent-picker/agent-picker.constants.ts +0 -2
  155. package/src/components/agent-picker/agent-picker.styles.ts +0 -24
  156. package/src/components/agent-picker/agent-picker.template.ts +0 -54
  157. package/src/components/agent-picker/agent-picker.ts +0 -99
  158. package/src/components/agent-picker/index.ts +0 -1
  159. package/src/components/ai-driver/ai-driver.ts +0 -166
  160. package/src/components/ai-driver/index.ts +0 -1
  161. package/src/components/chat-bubble/chat-bubble.styles.ts +0 -194
  162. package/src/components/chat-bubble/chat-bubble.template.ts +0 -67
  163. package/src/components/chat-bubble/chat-bubble.ts +0 -436
  164. package/src/components/chat-bubble/index.ts +0 -1
  165. package/src/components/chat-driver/align-event-globals.ts +0 -23
  166. package/src/components/chat-driver/chat-driver.compact.test.ts +0 -131
  167. package/src/components/chat-driver/chat-driver.invocation-scope.test.ts +0 -285
  168. package/src/components/chat-driver/chat-driver.test.ts +0 -3679
  169. package/src/components/chat-driver/chat-driver.thinking-policy.test.ts +0 -185
  170. package/src/components/chat-driver/chat-driver.trace-capture.test.ts +0 -251
  171. package/src/components/chat-driver/chat-driver.ts +0 -3925
  172. package/src/components/chat-driver/chat-driver.turn-usage.test.ts +0 -362
  173. package/src/components/chat-driver/index.ts +0 -1
  174. package/src/components/chat-interaction-wrapper/chat-interaction-wrapper.styles.ts +0 -7
  175. package/src/components/chat-interaction-wrapper/chat-interaction-wrapper.template.ts +0 -6
  176. package/src/components/chat-interaction-wrapper/chat-interaction-wrapper.test.ts +0 -144
  177. package/src/components/chat-interaction-wrapper/chat-interaction-wrapper.ts +0 -243
  178. package/src/components/chat-interaction-wrapper/index.ts +0 -3
  179. package/src/components/chat-markdown/chat-markdown.ts +0 -89
  180. package/src/components/chat-markdown/index.ts +0 -1
  181. package/src/components/flowing-waves-indicator.ts +0 -286
  182. package/src/components/halo-overlay.ts +0 -184
  183. package/src/components/orchestrating-driver/index.ts +0 -1
  184. package/src/components/orchestrating-driver/orchestrating-driver.budget.test.ts +0 -438
  185. package/src/components/orchestrating-driver/orchestrating-driver.cost.test.ts +0 -107
  186. package/src/components/orchestrating-driver/orchestrating-driver.pin.test.ts +0 -96
  187. package/src/components/orchestrating-driver/orchestrating-driver.ts +0 -813
  188. package/src/components/plasma-orb-indicator.ts +0 -281
  189. package/src/components/popout-manager/index.ts +0 -1
  190. package/src/components/popout-manager/popout-manager.ts +0 -212
  191. package/src/components/settings-modal/index.ts +0 -2
  192. package/src/components/settings-modal/settings-modal.styles.test.ts +0 -94
  193. package/src/components/settings-modal/settings-modal.styles.ts +0 -853
  194. package/src/components/settings-modal/settings-modal.template.test.ts +0 -124
  195. package/src/components/settings-modal/settings-modal.template.ts +0 -943
  196. package/src/components/waves-indicator.ts +0 -241
  197. package/src/config/config.ts +0 -608
  198. package/src/config/define-stateful-agent.test.ts +0 -64
  199. package/src/config/define-stateful-agent.ts +0 -642
  200. package/src/config/fallback-agents.ts +0 -29
  201. package/src/config/index.ts +0 -2
  202. package/src/config/validate-providers.test.ts +0 -148
  203. package/src/config/validate-providers.ts +0 -58
  204. package/src/index.ts +0 -29
  205. package/src/main/blocked-state.test.ts +0 -1444
  206. package/src/main/budget-meter.test.ts +0 -477
  207. package/src/main/cost-session-banking.test.ts +0 -679
  208. package/src/main/file-attachments.test.ts +0 -215
  209. package/src/main/index.ts +0 -3
  210. package/src/main/interaction-cost.test.ts +0 -140
  211. package/src/main/main.styles.test.ts +0 -216
  212. package/src/main/main.styles.ts +0 -995
  213. package/src/main/main.template.ts +0 -1119
  214. package/src/main/main.ts +0 -5432
  215. package/src/main/main.types.ts +0 -225
  216. package/src/main/persistence-broken-sources.test.ts +0 -219
  217. package/src/main/popout-interaction-gate.test.ts +0 -87
  218. package/src/provider/ai-provider-switcher.ts +0 -40
  219. package/src/provider/assistant-app-settings.ts +0 -84
  220. package/src/state/ai-assistant-slice.test.ts +0 -336
  221. package/src/state/ai-assistant-slice.ts +0 -604
  222. package/src/state/debug-event-log.test.ts +0 -154
  223. package/src/state/debug-event-log.ts +0 -358
  224. package/src/state/driver-registry.test.ts +0 -70
  225. package/src/state/driver-registry.ts +0 -79
  226. package/src/state/interaction-context.test.ts +0 -90
  227. package/src/state/interaction-context.ts +0 -101
  228. package/src/state/persistence/build-timeline-entries.ts +0 -66
  229. package/src/state/persistence/diagnostics-cursors.test.ts +0 -53
  230. package/src/state/persistence/diagnostics-cursors.ts +0 -80
  231. package/src/state/persistence/diagnostics.test.ts +0 -346
  232. package/src/state/persistence/diagnostics.ts +0 -220
  233. package/src/state/persistence/index.ts +0 -10
  234. package/src/state/persistence/persister-registry.ts +0 -55
  235. package/src/state/persistence/session-persistence-provider.test.ts +0 -136
  236. package/src/state/persistence/session-persistence-provider.ts +0 -226
  237. package/src/state/persistence/session-persistence.integration.test.ts +0 -141
  238. package/src/state/persistence/session-persister.test.ts +0 -787
  239. package/src/state/persistence/session-persister.ts +0 -917
  240. package/src/state/persistence/session-snapshot.test.ts +0 -352
  241. package/src/state/persistence/session-snapshot.ts +0 -344
  242. package/src/state/persistence/stateful-restore.e2e.test.ts +0 -229
  243. package/src/state/session-store.ts +0 -56
  244. package/src/styles/ai-colours.ts +0 -30
  245. package/src/styles/menu.ts +0 -187
  246. package/src/styles/settings-section.ts +0 -40
  247. package/src/suggestions/chat-suggestions.ts +0 -186
  248. package/src/tags/index.ts +0 -1
  249. package/src/types/ai-chat-widget.ts +0 -67
  250. package/src/types/interaction-context.ts +0 -82
  251. package/src/utils/animated-panel-toggle.ts +0 -62
  252. package/src/utils/animation-exclusivity.test.ts +0 -72
  253. package/src/utils/animation-exclusivity.ts +0 -40
  254. package/src/utils/banked-usage-baselines.ts +0 -90
  255. package/src/utils/collect-session-models.test.ts +0 -82
  256. package/src/utils/collect-session-models.ts +0 -65
  257. package/src/utils/condense-history.test.ts +0 -746
  258. package/src/utils/condense-history.ts +0 -448
  259. package/src/utils/cost-session-history.test.ts +0 -226
  260. package/src/utils/cost-session-history.ts +0 -218
  261. package/src/utils/derive-cost-session-title.test.ts +0 -63
  262. package/src/utils/derive-cost-session-title.ts +0 -76
  263. package/src/utils/flatten-sub-agent-messages.test.ts +0 -163
  264. package/src/utils/flatten-sub-agent-messages.ts +0 -88
  265. package/src/utils/format-usd.ts +0 -26
  266. package/src/utils/history-transform.test.ts +0 -228
  267. package/src/utils/history-transform.ts +0 -163
  268. package/src/utils/index.ts +0 -3
  269. package/src/utils/logger.ts +0 -3
  270. package/src/utils/message-partition.test.ts +0 -129
  271. package/src/utils/message-partition.ts +0 -115
  272. package/src/utils/resolve-cost-history-config.test.ts +0 -38
  273. package/src/utils/resolve-cost-history-config.ts +0 -38
  274. package/src/utils/resolve-preference-baseline.test.ts +0 -84
  275. package/src/utils/resolve-preference-baseline.ts +0 -80
  276. package/src/utils/strip-agent-handlers.test.ts +0 -99
  277. package/src/utils/strip-agent-handlers.ts +0 -53
  278. package/src/utils/sum-costs.test.ts +0 -136
  279. package/src/utils/sum-costs.ts +0 -18
  280. package/src/utils/sum-tokens.test.ts +0 -93
  281. package/src/utils/sum-tokens.ts +0 -68
  282. package/src/utils/sum-usage.test.ts +0 -191
  283. package/src/utils/sum-usage.ts +0 -208
  284. package/src/utils/tool-fold.ts +0 -181
  285. package/src/utils/usage-rows.test.ts +0 -237
  286. package/src/utils/usage-rows.ts +0 -187
  287. package/src/utils/with-timeout.ts +0 -24
  288. package/tsconfig.json +0 -9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/ai-assistant",
3
3
  "description": "Genesis AI Assistant micro-frontend",
4
- "version": "15.19.0",
4
+ "version": "15.19.1",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "main": "dist/esm/index.js",
7
7
  "types": "dist/ai-assistant.d.ts",
@@ -74,26 +74,26 @@
74
74
  }
75
75
  },
76
76
  "devDependencies": {
77
- "@genesislcap/foundation-testing": "15.19.0",
78
- "@genesislcap/genx": "15.19.0",
79
- "@genesislcap/rollup-builder": "15.19.0",
80
- "@genesislcap/ts-builder": "15.19.0",
81
- "@genesislcap/uvu-playwright-builder": "15.19.0",
82
- "@genesislcap/vite-builder": "15.19.0",
83
- "@genesislcap/webpack-builder": "15.19.0",
77
+ "@genesislcap/foundation-testing": "15.19.1",
78
+ "@genesislcap/genx": "15.19.1",
79
+ "@genesislcap/rollup-builder": "15.19.1",
80
+ "@genesislcap/ts-builder": "15.19.1",
81
+ "@genesislcap/uvu-playwright-builder": "15.19.1",
82
+ "@genesislcap/vite-builder": "15.19.1",
83
+ "@genesislcap/webpack-builder": "15.19.1",
84
84
  "@types/dompurify": "^3.0.5",
85
85
  "@types/marked": "^5.0.2",
86
86
  "esbuild": "0.25.12"
87
87
  },
88
88
  "dependencies": {
89
- "@genesislcap/foundation-ai": "15.19.0",
90
- "@genesislcap/foundation-logger": "15.19.0",
91
- "@genesislcap/foundation-notifications": "15.19.0",
92
- "@genesislcap/foundation-redux": "15.19.0",
93
- "@genesislcap/foundation-ui": "15.19.0",
94
- "@genesislcap/foundation-utils": "15.19.0",
95
- "@genesislcap/rapid-design-system": "15.19.0",
96
- "@genesislcap/web-core": "15.19.0",
89
+ "@genesislcap/foundation-ai": "15.19.1",
90
+ "@genesislcap/foundation-logger": "15.19.1",
91
+ "@genesislcap/foundation-notifications": "15.19.1",
92
+ "@genesislcap/foundation-redux": "15.19.1",
93
+ "@genesislcap/foundation-ui": "15.19.1",
94
+ "@genesislcap/foundation-utils": "15.19.1",
95
+ "@genesislcap/rapid-design-system": "15.19.1",
96
+ "@genesislcap/web-core": "15.19.1",
97
97
  "dompurify": "^3.3.1",
98
98
  "marked": "^17.0.3"
99
99
  },
@@ -105,6 +105,5 @@
105
105
  "publishConfig": {
106
106
  "access": "public"
107
107
  },
108
- "customElements": "dist/custom-elements.json",
109
- "gitHead": "83695de98c2288c2e89992215cb391652f6c5eec"
108
+ "customElements": "dist/custom-elements.json"
110
109
  }
@@ -1,11 +0,0 @@
1
- {
2
- "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "../../../../api-extractor.json",
4
- "messages": {
5
- "extractorMessageReporting": {
6
- "ae-wrong-input-file-type": {
7
- "logLevel": "none"
8
- }
9
- }
10
- }
11
- }
@@ -1,2 +0,0 @@
1
- import './align-event-globals';
2
- //# sourceMappingURL=chat-driver.compact.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-driver.compact.test.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-driver/chat-driver.compact.test.ts"],"names":[],"mappings":"AAKA,OAAO,uBAAuB,CAAC"}
@@ -1,2 +0,0 @@
1
- import './align-event-globals';
2
- //# sourceMappingURL=chat-driver.invocation-scope.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-driver.invocation-scope.test.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-driver/chat-driver.invocation-scope.test.ts"],"names":[],"mappings":"AAWA,OAAO,uBAAuB,CAAC"}
@@ -1,2 +0,0 @@
1
- import './align-event-globals';
2
- //# sourceMappingURL=chat-driver.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-driver.test.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-driver/chat-driver.test.ts"],"names":[],"mappings":"AAgCA,OAAO,uBAAuB,CAAC"}
@@ -1,2 +0,0 @@
1
- import './align-event-globals';
2
- //# sourceMappingURL=chat-driver.thinking-policy.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-driver.thinking-policy.test.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-driver/chat-driver.thinking-policy.test.ts"],"names":[],"mappings":"AAWA,OAAO,uBAAuB,CAAC"}
@@ -1,2 +0,0 @@
1
- import './align-event-globals';
2
- //# sourceMappingURL=chat-driver.trace-capture.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-driver.trace-capture.test.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-driver/chat-driver.trace-capture.test.ts"],"names":[],"mappings":"AAYA,OAAO,uBAAuB,CAAC"}
@@ -1,2 +0,0 @@
1
- import './align-event-globals';
2
- //# sourceMappingURL=chat-driver.turn-usage.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-driver.turn-usage.test.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-driver/chat-driver.turn-usage.test.ts"],"names":[],"mappings":"AAYA,OAAO,uBAAuB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=chat-interaction-wrapper.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-interaction-wrapper.test.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-interaction-wrapper/chat-interaction-wrapper.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import '../chat-driver/align-event-globals';
2
- //# sourceMappingURL=orchestrating-driver.budget.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrating-driver.budget.test.d.ts","sourceRoot":"","sources":["../../../../src/components/orchestrating-driver/orchestrating-driver.budget.test.ts"],"names":[],"mappings":"AAaA,OAAO,oCAAoC,CAAC"}
@@ -1,2 +0,0 @@
1
- import '../chat-driver/align-event-globals';
2
- //# sourceMappingURL=orchestrating-driver.cost.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrating-driver.cost.test.d.ts","sourceRoot":"","sources":["../../../../src/components/orchestrating-driver/orchestrating-driver.cost.test.ts"],"names":[],"mappings":"AAWA,OAAO,oCAAoC,CAAC"}
@@ -1,2 +0,0 @@
1
- import '../chat-driver/align-event-globals';
2
- //# sourceMappingURL=orchestrating-driver.pin.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrating-driver.pin.test.d.ts","sourceRoot":"","sources":["../../../../src/components/orchestrating-driver/orchestrating-driver.pin.test.ts"],"names":[],"mappings":"AAUA,OAAO,oCAAoC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=settings-modal.styles.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings-modal.styles.test.d.ts","sourceRoot":"","sources":["../../../../src/components/settings-modal/settings-modal.styles.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=settings-modal.template.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings-modal.template.test.d.ts","sourceRoot":"","sources":["../../../../src/components/settings-modal/settings-modal.template.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=define-stateful-agent.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-stateful-agent.test.d.ts","sourceRoot":"","sources":["../../../src/config/define-stateful-agent.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=validate-providers.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-providers.test.d.ts","sourceRoot":"","sources":["../../../src/config/validate-providers.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=blocked-state.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blocked-state.test.d.ts","sourceRoot":"","sources":["../../../src/main/blocked-state.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=budget-meter.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"budget-meter.test.d.ts","sourceRoot":"","sources":["../../../src/main/budget-meter.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cost-session-banking.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost-session-banking.test.d.ts","sourceRoot":"","sources":["../../../src/main/cost-session-banking.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=file-attachments.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-attachments.test.d.ts","sourceRoot":"","sources":["../../../src/main/file-attachments.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=interaction-cost.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interaction-cost.test.d.ts","sourceRoot":"","sources":["../../../src/main/interaction-cost.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=main.styles.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.styles.test.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=persistence-broken-sources.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"persistence-broken-sources.test.d.ts","sourceRoot":"","sources":["../../../src/main/persistence-broken-sources.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=popout-interaction-gate.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popout-interaction-gate.test.d.ts","sourceRoot":"","sources":["../../../src/main/popout-interaction-gate.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ai-assistant-slice.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-assistant-slice.test.d.ts","sourceRoot":"","sources":["../../../src/state/ai-assistant-slice.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=debug-event-log.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug-event-log.test.d.ts","sourceRoot":"","sources":["../../../src/state/debug-event-log.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=driver-registry.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"driver-registry.test.d.ts","sourceRoot":"","sources":["../../../src/state/driver-registry.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=interaction-context.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interaction-context.test.d.ts","sourceRoot":"","sources":["../../../src/state/interaction-context.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=diagnostics-cursors.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnostics-cursors.test.d.ts","sourceRoot":"","sources":["../../../../src/state/persistence/diagnostics-cursors.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=diagnostics.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnostics.test.d.ts","sourceRoot":"","sources":["../../../../src/state/persistence/diagnostics.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=session-persistence-provider.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-persistence-provider.test.d.ts","sourceRoot":"","sources":["../../../../src/state/persistence/session-persistence-provider.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=session-persistence.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-persistence.integration.test.d.ts","sourceRoot":"","sources":["../../../../src/state/persistence/session-persistence.integration.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=session-persister.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-persister.test.d.ts","sourceRoot":"","sources":["../../../../src/state/persistence/session-persister.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=session-snapshot.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-snapshot.test.d.ts","sourceRoot":"","sources":["../../../../src/state/persistence/session-snapshot.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import '../../components/chat-driver/align-event-globals';
2
- //# sourceMappingURL=stateful-restore.e2e.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stateful-restore.e2e.test.d.ts","sourceRoot":"","sources":["../../../../src/state/persistence/stateful-restore.e2e.test.ts"],"names":[],"mappings":"AASA,OAAO,kDAAkD,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=animation-exclusivity.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animation-exclusivity.test.d.ts","sourceRoot":"","sources":["../../../src/utils/animation-exclusivity.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=collect-session-models.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collect-session-models.test.d.ts","sourceRoot":"","sources":["../../../src/utils/collect-session-models.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=condense-history.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condense-history.test.d.ts","sourceRoot":"","sources":["../../../src/utils/condense-history.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cost-session-history.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost-session-history.test.d.ts","sourceRoot":"","sources":["../../../src/utils/cost-session-history.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=derive-cost-session-title.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive-cost-session-title.test.d.ts","sourceRoot":"","sources":["../../../src/utils/derive-cost-session-title.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=flatten-sub-agent-messages.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flatten-sub-agent-messages.test.d.ts","sourceRoot":"","sources":["../../../src/utils/flatten-sub-agent-messages.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=history-transform.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history-transform.test.d.ts","sourceRoot":"","sources":["../../../src/utils/history-transform.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=message-partition.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-partition.test.d.ts","sourceRoot":"","sources":["../../../src/utils/message-partition.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=resolve-cost-history-config.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-cost-history-config.test.d.ts","sourceRoot":"","sources":["../../../src/utils/resolve-cost-history-config.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=resolve-preference-baseline.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-preference-baseline.test.d.ts","sourceRoot":"","sources":["../../../src/utils/resolve-preference-baseline.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=strip-agent-handlers.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strip-agent-handlers.test.d.ts","sourceRoot":"","sources":["../../../src/utils/strip-agent-handlers.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sum-costs.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sum-costs.test.d.ts","sourceRoot":"","sources":["../../../src/utils/sum-costs.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sum-tokens.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sum-tokens.test.d.ts","sourceRoot":"","sources":["../../../src/utils/sum-tokens.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sum-usage.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sum-usage.test.d.ts","sourceRoot":"","sources":["../../../src/utils/sum-usage.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=usage-rows.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage-rows.test.d.ts","sourceRoot":"","sources":["../../../src/utils/usage-rows.test.ts"],"names":[],"mappings":""}
@@ -1,93 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { assert, createLogicSuite } from '@genesislcap/foundation-testing';
3
- // Side-effect import — MUST come before `./chat-driver` so the driver subclasses
4
- // jsdom's EventTarget rather than Node's native one (CustomEvent dispatch then
5
- // works). Mirrors `chat-driver.test.ts`.
6
- import './align-event-globals';
7
- import { ChatDriver } from './chat-driver';
8
- // GENC-1351 §5.7 — driver-level compaction: the atomic, destructive replace.
9
- // A minimal fake registry stands in for a provider, so no network is involved.
10
- const asMsg = (o) => o;
11
- /** A registry whose default provider summarizes via `prompt` (undefined = unsupported). */
12
- function registryWith(prompt) {
13
- const provider = { prompt, getStatus: () => __awaiter(this, void 0, void 0, function* () { return ({ model: 'test-model' }); }) };
14
- return { default: () => provider };
15
- }
16
- /** 10 messages alternating user/assistant (user at even indices); last carries usage. */
17
- function tenTurnHistory() {
18
- return Array.from({ length: 10 }, (_, i) => asMsg(Object.assign({ role: i % 2 === 0 ? 'user' : 'assistant', content: `m${i}`, timestamp: `2026-01-01T00:00:${String(i).padStart(2, '0')}.000Z` }, (i === 9 ? { inputTokens: 1234 } : {}))));
19
- }
20
- const Suite = createLogicSuite('chat-driver-compact');
21
- Suite('compact() destructively replaces older turns with one head summary + metadata', () => __awaiter(void 0, void 0, void 0, function* () {
22
- var _a, _b, _c;
23
- const driver = new ChatDriver(registryWith(() => __awaiter(void 0, void 0, void 0, function* () { return 'THE SUMMARY'; })));
24
- driver.loadHistory(tenTurnHistory());
25
- const before = driver.getHistory().length;
26
- const summary = yield driver.compact();
27
- assert.ok(summary, 'returns the created summary message');
28
- assert.is(summary.role, 'compacted-summary');
29
- assert.is(summary.content, 'THE SUMMARY');
30
- assert.is((_a = summary.compaction) === null || _a === void 0 ? void 0 : _a.tokensBefore, 1234, 'captures pre-compaction input tokens');
31
- assert.is((_b = summary.compaction) === null || _b === void 0 ? void 0 : _b.model, 'test-model', 'records the summarizing model');
32
- const after = driver.getHistory();
33
- assert.ok(after.length < before, 'history shrank (destructive)');
34
- assert.is(after[0].role, 'compacted-summary', 'summary sits at the head');
35
- assert.is(after[0].timestamp, '2026-01-01T00:00:00.000Z', 'summary inherits the covered region start → sorts to the head in time-ordered views');
36
- assert.is((_c = after[0].compaction) === null || _c === void 0 ? void 0 : _c.compactedCount, before - (after.length - 1));
37
- assert.ok(after.slice(1).every((m) => m.role !== 'compacted-summary'), 'exactly one summary — no marker chain');
38
- }));
39
- Suite('compact() is atomic on failure — no splice, surfaces a "sorry" message', () => __awaiter(void 0, void 0, void 0, function* () {
40
- const driver = new ChatDriver(registryWith(() => __awaiter(void 0, void 0, void 0, function* () {
41
- throw new Error('network');
42
- })));
43
- const original = tenTurnHistory();
44
- driver.loadHistory(original);
45
- const result = yield driver.compact();
46
- assert.is(result, null, 'returns null on failure');
47
- const after = driver.getHistory();
48
- assert.ok(after.every((m) => m.role !== 'compacted-summary'), 'nothing compacted');
49
- // The covered turns are untouched (atomic); only a brief apology is appended so
50
- // the user knows it failed (GENC-1351 follow-up — surfaced like a turn error).
51
- assert.is(after.length, original.length + 1, 'only an apology appended');
52
- assert.is(after[after.length - 1].role, 'assistant');
53
- assert.ok(/sorry/i.test(after[after.length - 1].content), 'apology is an agent message');
54
- }));
55
- Suite('compact() rolls a prior summary into a single fresh one', () => __awaiter(void 0, void 0, void 0, function* () {
56
- const driver = new ChatDriver(registryWith(() => __awaiter(void 0, void 0, void 0, function* () { return 'COMBINED'; })));
57
- driver.loadHistory([
58
- asMsg({ role: 'compacted-summary', content: 'old', compaction: { compactedCount: 5 } }),
59
- ...tenTurnHistory(),
60
- ]);
61
- const summary = yield driver.compact();
62
- assert.ok(summary);
63
- const after = driver.getHistory();
64
- assert.is(after.filter((m) => m.role === 'compacted-summary').length, 1, 'still exactly one summary after re-compaction');
65
- assert.is(after[0].content, 'COMBINED');
66
- }));
67
- Suite('compact() no-ops when there is nothing worth compacting', () => __awaiter(void 0, void 0, void 0, function* () {
68
- const driver = new ChatDriver(registryWith(() => __awaiter(void 0, void 0, void 0, function* () { return 'unused'; })));
69
- driver.loadHistory([
70
- asMsg({ role: 'user', content: 'hi' }),
71
- asMsg({ role: 'assistant', content: 'yo' }),
72
- ]);
73
- assert.is(yield driver.compact(), null);
74
- assert.is(driver.getHistory().length, 2, 'short history untouched');
75
- }));
76
- Suite('compact() no-ops when the default provider cannot summarize', () => __awaiter(void 0, void 0, void 0, function* () {
77
- const driver = new ChatDriver(registryWith(undefined));
78
- driver.loadHistory(tenTurnHistory());
79
- assert.is(yield driver.compact(), null);
80
- assert.is(driver.getHistory().length, 10, 'history untouched without prompt support');
81
- }));
82
- Suite("canCompact reflects compact()-would-act, keyed on the driver's own history", () => {
83
- const rich = new ChatDriver(registryWith(() => __awaiter(void 0, void 0, void 0, function* () { return 'x'; })));
84
- rich.loadHistory(tenTurnHistory());
85
- assert.is(rich.canCompact(), true, 'enough history → gate open');
86
- const thin = new ChatDriver(registryWith(() => __awaiter(void 0, void 0, void 0, function* () { return 'x'; })));
87
- thin.loadHistory([
88
- asMsg({ role: 'user', content: 'hi' }),
89
- asMsg({ role: 'assistant', content: 'yo' }),
90
- ]);
91
- assert.is(thin.canCompact(), false, 'too short → gate closed (same source compact() uses)');
92
- });
93
- Suite.run();