@genesislcap/ai-assistant 14.488.1 → 14.488.2-GENC-1351.2

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 (143) hide show
  1. package/dist/ai-assistant.api.json +5104 -1727
  2. package/dist/ai-assistant.d.ts +691 -102
  3. package/dist/custom-elements.json +1118 -9
  4. package/dist/dts/components/ai-driver/ai-driver.d.ts +32 -0
  5. package/dist/dts/components/ai-driver/ai-driver.d.ts.map +1 -1
  6. package/dist/dts/components/chat-driver/chat-driver.compact.test.d.ts +2 -0
  7. package/dist/dts/components/chat-driver/chat-driver.compact.test.d.ts.map +1 -0
  8. package/dist/dts/components/chat-driver/chat-driver.d.ts +16 -0
  9. package/dist/dts/components/chat-driver/chat-driver.d.ts.map +1 -1
  10. package/dist/dts/components/orchestrating-driver/orchestrating-driver.d.ts +15 -0
  11. package/dist/dts/components/orchestrating-driver/orchestrating-driver.d.ts.map +1 -1
  12. package/dist/dts/components/orchestrating-driver/orchestrating-driver.pin.test.d.ts +2 -0
  13. package/dist/dts/components/orchestrating-driver/orchestrating-driver.pin.test.d.ts.map +1 -0
  14. package/dist/dts/components/settings-modal/settings-modal.styles.d.ts.map +1 -1
  15. package/dist/dts/components/settings-modal/settings-modal.template.d.ts.map +1 -1
  16. package/dist/dts/config/config.d.ts +70 -0
  17. package/dist/dts/config/config.d.ts.map +1 -1
  18. package/dist/dts/config/define-stateful-agent.d.ts +73 -1
  19. package/dist/dts/config/define-stateful-agent.d.ts.map +1 -1
  20. package/dist/dts/index.d.ts +1 -0
  21. package/dist/dts/index.d.ts.map +1 -1
  22. package/dist/dts/main/main.d.ts +183 -63
  23. package/dist/dts/main/main.d.ts.map +1 -1
  24. package/dist/dts/main/main.styles.d.ts.map +1 -1
  25. package/dist/dts/main/main.template.d.ts.map +1 -1
  26. package/dist/dts/main/main.types.d.ts +55 -0
  27. package/dist/dts/main/main.types.d.ts.map +1 -1
  28. package/dist/dts/state/ai-assistant-slice.d.ts +66 -0
  29. package/dist/dts/state/ai-assistant-slice.d.ts.map +1 -1
  30. package/dist/dts/state/ai-assistant-slice.test.d.ts +2 -0
  31. package/dist/dts/state/ai-assistant-slice.test.d.ts.map +1 -0
  32. package/dist/dts/state/debug-event-log.d.ts +1 -1
  33. package/dist/dts/state/debug-event-log.d.ts.map +1 -1
  34. package/dist/dts/state/persistence/diagnostics-cursors.d.ts +40 -0
  35. package/dist/dts/state/persistence/diagnostics-cursors.d.ts.map +1 -0
  36. package/dist/dts/state/persistence/diagnostics.d.ts +58 -0
  37. package/dist/dts/state/persistence/diagnostics.d.ts.map +1 -0
  38. package/dist/dts/state/persistence/diagnostics.test.d.ts +2 -0
  39. package/dist/dts/state/persistence/diagnostics.test.d.ts.map +1 -0
  40. package/dist/dts/state/persistence/index.d.ts +7 -0
  41. package/dist/dts/state/persistence/index.d.ts.map +1 -0
  42. package/dist/dts/state/persistence/persister-registry.d.ts +17 -0
  43. package/dist/dts/state/persistence/persister-registry.d.ts.map +1 -0
  44. package/dist/dts/state/persistence/session-persistence-provider.d.ts +132 -0
  45. package/dist/dts/state/persistence/session-persistence-provider.d.ts.map +1 -0
  46. package/dist/dts/state/persistence/session-persistence-provider.test.d.ts +2 -0
  47. package/dist/dts/state/persistence/session-persistence-provider.test.d.ts.map +1 -0
  48. package/dist/dts/state/persistence/session-persistence.integration.test.d.ts +2 -0
  49. package/dist/dts/state/persistence/session-persistence.integration.test.d.ts.map +1 -0
  50. package/dist/dts/state/persistence/session-persister.d.ts +154 -0
  51. package/dist/dts/state/persistence/session-persister.d.ts.map +1 -0
  52. package/dist/dts/state/persistence/session-persister.test.d.ts +2 -0
  53. package/dist/dts/state/persistence/session-persister.test.d.ts.map +1 -0
  54. package/dist/dts/state/persistence/session-snapshot.d.ts +209 -0
  55. package/dist/dts/state/persistence/session-snapshot.d.ts.map +1 -0
  56. package/dist/dts/state/persistence/session-snapshot.test.d.ts +2 -0
  57. package/dist/dts/state/persistence/session-snapshot.test.d.ts.map +1 -0
  58. package/dist/dts/state/session-store.d.ts +6 -0
  59. package/dist/dts/state/session-store.d.ts.map +1 -1
  60. package/dist/dts/utils/history-transform.d.ts +38 -0
  61. package/dist/dts/utils/history-transform.d.ts.map +1 -1
  62. package/dist/dts/utils/history-transform.test.d.ts +2 -0
  63. package/dist/dts/utils/history-transform.test.d.ts.map +1 -0
  64. package/dist/dts/utils/message-partition.d.ts +27 -0
  65. package/dist/dts/utils/message-partition.d.ts.map +1 -1
  66. package/dist/dts/utils/resolve-preference-baseline.d.ts +43 -0
  67. package/dist/dts/utils/resolve-preference-baseline.d.ts.map +1 -0
  68. package/dist/dts/utils/resolve-preference-baseline.test.d.ts +2 -0
  69. package/dist/dts/utils/resolve-preference-baseline.test.d.ts.map +1 -0
  70. package/dist/dts/utils/with-timeout.d.ts +12 -0
  71. package/dist/dts/utils/with-timeout.d.ts.map +1 -0
  72. package/dist/esm/components/chat-driver/chat-driver.compact.test.js +93 -0
  73. package/dist/esm/components/chat-driver/chat-driver.js +92 -6
  74. package/dist/esm/components/orchestrating-driver/orchestrating-driver.js +32 -0
  75. package/dist/esm/components/orchestrating-driver/orchestrating-driver.pin.test.js +48 -0
  76. package/dist/esm/components/settings-modal/settings-modal.styles.js +24 -0
  77. package/dist/esm/components/settings-modal/settings-modal.template.js +14 -1
  78. package/dist/esm/config/define-stateful-agent.js +81 -0
  79. package/dist/esm/index.js +1 -0
  80. package/dist/esm/main/main.js +610 -84
  81. package/dist/esm/main/main.styles.js +55 -0
  82. package/dist/esm/main/main.template.js +94 -5
  83. package/dist/esm/main/main.types.js +27 -0
  84. package/dist/esm/state/ai-assistant-slice.js +71 -25
  85. package/dist/esm/state/ai-assistant-slice.test.js +65 -0
  86. package/dist/esm/state/debug-event-log.js +8 -0
  87. package/dist/esm/state/persistence/diagnostics-cursors.js +34 -0
  88. package/dist/esm/state/persistence/diagnostics.js +81 -0
  89. package/dist/esm/state/persistence/diagnostics.test.js +72 -0
  90. package/dist/esm/state/persistence/index.js +3 -0
  91. package/dist/esm/state/persistence/persister-registry.js +41 -0
  92. package/dist/esm/state/persistence/session-persistence-provider.js +95 -0
  93. package/dist/esm/state/persistence/session-persistence-provider.test.js +110 -0
  94. package/dist/esm/state/persistence/session-persistence.integration.test.js +109 -0
  95. package/dist/esm/state/persistence/session-persister.js +577 -0
  96. package/dist/esm/state/persistence/session-persister.test.js +239 -0
  97. package/dist/esm/state/persistence/session-snapshot.js +231 -0
  98. package/dist/esm/state/persistence/session-snapshot.test.js +243 -0
  99. package/dist/esm/utils/history-transform.js +101 -0
  100. package/dist/esm/utils/history-transform.test.js +137 -0
  101. package/dist/esm/utils/message-partition.js +30 -2
  102. package/dist/esm/utils/message-partition.test.js +20 -1
  103. package/dist/esm/utils/resolve-preference-baseline.js +53 -0
  104. package/dist/esm/utils/resolve-preference-baseline.test.js +69 -0
  105. package/dist/esm/utils/with-timeout.js +28 -0
  106. package/dist/tsconfig.tsbuildinfo +1 -1
  107. package/package.json +17 -17
  108. package/src/components/ai-driver/ai-driver.ts +36 -0
  109. package/src/components/chat-driver/chat-driver.compact.test.ts +131 -0
  110. package/src/components/chat-driver/chat-driver.ts +99 -6
  111. package/src/components/orchestrating-driver/orchestrating-driver.pin.test.ts +76 -0
  112. package/src/components/orchestrating-driver/orchestrating-driver.ts +36 -0
  113. package/src/components/settings-modal/settings-modal.styles.ts +24 -0
  114. package/src/components/settings-modal/settings-modal.template.ts +27 -1
  115. package/src/config/config.ts +71 -0
  116. package/src/config/define-stateful-agent.ts +134 -0
  117. package/src/index.ts +1 -0
  118. package/src/main/main.styles.ts +55 -0
  119. package/src/main/main.template.ts +121 -5
  120. package/src/main/main.ts +569 -64
  121. package/src/main/main.types.ts +59 -0
  122. package/src/state/ai-assistant-slice.test.ts +82 -0
  123. package/src/state/ai-assistant-slice.ts +120 -25
  124. package/src/state/debug-event-log.ts +18 -1
  125. package/src/state/persistence/diagnostics-cursors.ts +66 -0
  126. package/src/state/persistence/diagnostics.test.ts +95 -0
  127. package/src/state/persistence/diagnostics.ts +103 -0
  128. package/src/state/persistence/index.ts +10 -0
  129. package/src/state/persistence/persister-registry.ts +49 -0
  130. package/src/state/persistence/session-persistence-provider.test.ts +136 -0
  131. package/src/state/persistence/session-persistence-provider.ts +202 -0
  132. package/src/state/persistence/session-persistence.integration.test.ts +134 -0
  133. package/src/state/persistence/session-persister.test.ts +325 -0
  134. package/src/state/persistence/session-persister.ts +622 -0
  135. package/src/state/persistence/session-snapshot.test.ts +339 -0
  136. package/src/state/persistence/session-snapshot.ts +332 -0
  137. package/src/utils/history-transform.test.ts +197 -0
  138. package/src/utils/history-transform.ts +117 -0
  139. package/src/utils/message-partition.test.ts +27 -1
  140. package/src/utils/message-partition.ts +41 -2
  141. package/src/utils/resolve-preference-baseline.test.ts +84 -0
  142. package/src/utils/resolve-preference-baseline.ts +80 -0
  143. package/src/utils/with-timeout.ts +24 -0
@@ -5,7 +5,8 @@ import { GenesisElement } from '@genesislcap/web-core';
5
5
  import type { SettingsModalTab } from '../components/settings-modal';
6
6
  import type { AgentConfig } from '../config/config';
7
7
  import { AssistantAppSettingsProvider, type AssistantAppSettingsToggle } from '../provider/assistant-app-settings';
8
- import { type MetaEventType } from '../state/debug-event-log';
8
+ import type { DebugLog } from '../state/persistence/diagnostics';
9
+ import type { SessionPersistenceConfig } from '../state/persistence/session-persistence-provider';
9
10
  import { type CostSessionRecord } from '../utils/cost-session-history';
10
11
  import { type ResolvedCostHistoryConfig } from '../utils/resolve-cost-history-config';
11
12
  import type { AgentPickerMode, AiAssistantAnimation, AiAssistantState, PopoutMode, SubmitMessageResult, SuggestionsState } from './main.types';
@@ -83,6 +84,15 @@ export declare class FoundationAiAssistant extends GenesisElement {
83
84
  */
84
85
  agents?: AgentConfig[];
85
86
  chatConfig: ChatConfig;
87
+ /**
88
+ * Optional session persistence (GENC-1351). Off by default — set `enabled`
89
+ * and a `provider` (e.g. a `WebStorageSessionProvider`) to have the assistant
90
+ * autosave on idle and auto-restore the conversation on page reload. Exposed
91
+ * as a top-level property (like `agents`/`providerRegistry`) rather than via
92
+ * `chatConfig`, since the provider type lives in this package while
93
+ * `ChatConfig` lives in `foundation-ai`.
94
+ */
95
+ persistence: SessionPersistenceConfig;
86
96
  /**
87
97
  * Resolved agent picker mode from `chatConfig.picker.mode`. Defaults to
88
98
  * `'disabled'`.
@@ -156,6 +166,27 @@ export declare class FoundationAiAssistant extends GenesisElement {
156
166
  */
157
167
  get agentPickerOpen(): boolean;
158
168
  set agentPickerOpen(value: boolean);
169
+ /**
170
+ * Whether the lifecycle (session) menu slide-out panel is open. Like the
171
+ * agent picker, lives on the session store so bubble/popout stay in sync.
172
+ */
173
+ get sessionMenuOpen(): boolean;
174
+ set sessionMenuOpen(value: boolean);
175
+ /**
176
+ * Whether a manual compaction is in flight (GENC-1351 §5.7). On the session
177
+ * store (not element-local) so the "Compacting…" view + input-disable stay in
178
+ * sync across pop-in/out, like the panel flags.
179
+ */
180
+ get compacting(): boolean;
181
+ set compacting(value: boolean);
182
+ /**
183
+ * Whether a page-reload restore is in flight (GENC-1351 §6). On the session
184
+ * store (like `compacting`) so the "Restoring…" view + input-disable stay in
185
+ * sync across pop-in/out. Gating input while true prevents a mid-load send from
186
+ * being clobbered when the restored history loads.
187
+ */
188
+ get restoring(): boolean;
189
+ set restoring(value: boolean);
159
190
  /**
160
191
  * Name of the agent the user has pinned via the agent picker. `null` means
161
192
  * automatic routing (Auto). Persisted on the session store, so it survives
@@ -249,6 +280,14 @@ export declare class FoundationAiAssistant extends GenesisElement {
249
280
  appSettingsRevision: number;
250
281
  /** Whether the settings modal is open. */
251
282
  settingsOpen: boolean;
283
+ /**
284
+ * True while `downloadDebugLog` is building the log (GENC-1351 §5.8). Drives the
285
+ * download button's disabled + spinner state — the lifetime-stitch path is async
286
+ * (a provider `loadDiagnostics` round-trip), so without feedback a click looks
287
+ * like nothing happened. Per-instance and transient (not shared/persisted): each
288
+ * element has its own settings modal.
289
+ */
290
+ downloadingDebugLog: boolean;
252
291
  /** Active tab inside the settings modal. */
253
292
  settingsModalTab: SettingsModalTab;
254
293
  /** Bound to the design-system modal via the template ref. */
@@ -342,6 +381,21 @@ export declare class FoundationAiAssistant extends GenesisElement {
342
381
  * originating `send()` ran on a different element instance.
343
382
  */
344
383
  private _executionCompletionUnsub?;
384
+ /**
385
+ * True while UI preferences are being applied programmatically (config defaults
386
+ * on connect, or a loaded-preferences restore) — suppresses the save hook so we
387
+ * don't persist config defaults or re-persist what we just loaded. Cleared once
388
+ * the apply completes; a genuine *user* toggle (menu switch) runs with it false
389
+ * and saves (GENC-1351).
390
+ */
391
+ private _applyingPreferences;
392
+ /**
393
+ * Fresh-store flag (`= isNewStore`) captured in `connectedCallback`. Only a
394
+ * freshly created store takes the config/stored-prefs baseline; an existing
395
+ * store — a reload with a live in-realm store, or the popped-out second instance
396
+ * — already holds the correct state, so `applyPreferenceBaseline` no-ops for it.
397
+ */
398
+ private _freshStore;
345
399
  showHalo: 'no' | 'orchestrating' | 'agent';
346
400
  private syncShowHalo;
347
401
  /** True when there is a pending (unresolved) interaction. */
@@ -451,6 +505,95 @@ export declare class FoundationAiAssistant extends GenesisElement {
451
505
  private logMeta;
452
506
  private readonly _agentPickerToggle;
453
507
  toggleAgentPicker(): void;
508
+ /** Two-step confirm for the destructive Clear action; reset whenever the menu toggles. */
509
+ confirmingClear: boolean;
510
+ confirmingCompact: boolean;
511
+ private readonly _sessionMenuToggle;
512
+ /**
513
+ * Whether the lifecycle-menu button shows. It occupies the stop-button slot,
514
+ * so it only appears when idle (mutually exclusive with Stop). Needs
515
+ * something to act on: a chat to clear/compact, or a provider to toggle.
516
+ */
517
+ get sessionMenuEnabled(): boolean;
518
+ /** The persistence toggle row renders only when a provider is configured. */
519
+ get persistenceToggleable(): boolean;
520
+ /** Whether persistence is currently active (on + a provider) for this session. */
521
+ get persistenceActive(): boolean;
522
+ /**
523
+ * Whether the menu's "Compact" action would do anything (GENC-1351 §5.7).
524
+ * Delegates to `driver.canCompact()` so the gate uses the exact same history
525
+ * `compact()` acts on — one source of truth. Also reads `messages`, purely to
526
+ * stay reactive as the conversation grows: the driver's history isn't a tracked
527
+ * observable, so the button keys its re-evaluation off the Redux mirror.
528
+ */
529
+ get compactable(): boolean;
530
+ toggleSessionMenu(): void;
531
+ /**
532
+ * Set persistence on/off for this session (the menu switch). Reassigns the
533
+ * `persistence` object so the `@observable` fires. Turning it **off** drops the
534
+ * stored snapshot; **on** captures the current chat immediately. Either way the
535
+ * *choice* is remembered in the preferences blob (`persistPreferences`) — stored
536
+ * independently of the snapshot, so it survives the clear and re-applies on the
537
+ * next load (GENC-1351).
538
+ */
539
+ setPersistenceEnabled(enabled: boolean): void;
540
+ /** Toggle persistence (convenience / programmatic). */
541
+ togglePersistence(): void;
542
+ /** Snapshot the user-changeable settings into a persistable preferences blob. */
543
+ private gatherPreferences;
544
+ /**
545
+ * Persist the current UI preferences whenever the user changes a setting
546
+ * (GENC-1351). Fires **regardless of "remember chat"** — display choices are the
547
+ * user's, not tied to whether the chat is remembered — needing only a provider
548
+ * that implements `savePreferences`. No-op while preferences are being applied
549
+ * programmatically (`_applyingPreferences`), so config defaults and loaded prefs
550
+ * aren't re-saved.
551
+ */
552
+ private persistPreferences;
553
+ /**
554
+ * Apply the effective UI-preference baseline onto the live toggles for a fresh
555
+ * store (GENC-1351 #2). Precedence, lowest → highest:
556
+ *
557
+ * slice defaults < `chatConfig.ui` defaults < stored user preferences
558
+ *
559
+ * Recomputed from scratch (not layered) on every call, because its two inputs
560
+ * arrive at unpredictable times: `chatConfig` is a parent-supplied `@observable`
561
+ * that may bind *after* `connectedCallback`, and stored prefs load asynchronously.
562
+ * So it re-runs from `connectedCallback`, `chatConfigChanged`, and once
563
+ * `loadPreferences` resolves — whichever order they happen in, the final state is
564
+ * the same. No-op once the store isn't fresh (an existing/popped-out store owns
565
+ * its state) or the user has toggled something (their choice then wins, and
566
+ * `chatConfig` doesn't change post-startup in practice). Save hook suppressed so
567
+ * applying the baseline never persists as if it were a user choice.
568
+ *
569
+ * This is the fix for "nuking server prefs drops to all-disabled instead of the
570
+ * `chatConfig` defaults": stored prefs are simply absent, so the baseline falls
571
+ * through to the config layer — which the old apply-once-on-connect path missed
572
+ * whenever `chatConfig` hadn't bound yet.
573
+ */
574
+ private applyPreferenceBaseline;
575
+ /**
576
+ * Compact the conversation (GENC-1351 §5.7) — the menu's "Compact" action.
577
+ * Delegates to the driver, which summarizes older turns into a single
578
+ * `compacted-summary` message (destructive, atomic). On success records a
579
+ * high-importance `context.compacted` meta-event capturing the summary; the
580
+ * normal `history-updated` → autosave path then persists the smaller
581
+ * transcript. No-op when there is nothing to compact or the provider cannot
582
+ * summarize (the driver returns `null`).
583
+ */
584
+ compactSession(): Promise<void>;
585
+ /**
586
+ * Clear the session — the "New chat" action (GENC-1351 §5.6). Tears down the
587
+ * active driver (firing the stateful agent's `onDeactivate` → `machine.stop()`),
588
+ * resets the store, rebuilds a fresh driver with no history, and wipes durable
589
+ * storage. Mirrors `agentsChanged`'s teardown, minus the history reseed.
590
+ *
591
+ * @fires session-cleared - After the session is wiped. `detail`:
592
+ * `{ sessionKey, agentName?, agentSnapshot? }` — captured *before* teardown
593
+ * so the host can clean up any external state the active agent was working
594
+ * on (generated files, server-side scratch, etc.). Bubbles and composed.
595
+ */
596
+ clearSession(): Promise<void>;
454
597
  /**
455
598
  * Programmatically pin an agent by name. Returns `true` if the pin was
456
599
  * applied, `false` if the agent isn't in the configured agents array or
@@ -540,68 +683,45 @@ export declare class FoundationAiAssistant extends GenesisElement {
540
683
  toggleShowNarration(): void;
541
684
  toggleShowAgentSwitchIndicator(): void;
542
685
  setEnabledAnimations(animations: AiAssistantAnimation[]): void;
543
- getDebugLog(): {
544
- readme: readonly string[];
545
- timeline: (import("../utils/flatten-sub-agent-messages").TimelineMessage | {
546
- systemPrompt: string;
547
- turnIndex: string;
548
- timestamp: string;
549
- agentName?: string;
550
- tailContext?: string;
551
- toolNames: string[];
552
- temperature?: number;
553
- toolChoice?: import("@genesislcap/foundation-ai").ChatToolChoice;
554
- agentLabel?: string;
555
- agentSnapshot?: unknown;
556
- kind: "turn";
557
- } | {
558
- index: number;
559
- timestamp: string;
560
- type: MetaEventType;
561
- importance: import("../state/debug-event-log").MetaEventImportance;
562
- detail?: Record<string, unknown>;
563
- kind: "event";
564
- })[];
565
- meta: {
566
- timestamp: string;
567
- host: string;
568
- agentSummary: {
569
- toolDefinitions: string | import("@genesislcap/foundation-ai").ChatToolDefinition[];
570
- name: string;
571
- provider?: import("../config/config").ProviderInput;
572
- chatInputDuringExecution?: ChatInputDuringExecutionMode;
573
- description?: string;
574
- fallback?: true;
575
- displayName?: import("../config/config").SystemPromptInput;
576
- systemPrompt?: import("../config/config").SystemPromptInput;
577
- temperature?: import("../config/config").TemperatureInput;
578
- toolChoice?: import("../config/config").ToolChoiceInput;
579
- cachePolicy?: import("../config/config").CachePolicyInput;
580
- tailContext?: import("../config/config").TailContextInput;
581
- onUnresolvedTool?: import("../config/config").UnresolvedToolInput;
582
- primerHistory?: ChatMessage[];
583
- subAgents?: AgentConfig[];
584
- manualSelection?: import("../config/config").ManualSelectionConfig;
585
- onActivate?: (ctx: import("../config/config").AgentLifecycleContext) => void | Promise<void>;
586
- onDeactivate?: (ctx: import("../config/config").AgentLifecycleContext) => void | Promise<void>;
587
- getDebugSnapshot?: () => unknown;
588
- }[];
589
- activeSystemPrompt: string;
590
- activePrimerHistory: ChatMessage[];
591
- activeFoldStack: string[];
592
- context: {
593
- model: string;
594
- contextTokens: number;
595
- contextLimit: number;
596
- contextUsagePercent: number;
597
- sessionCostUsd: number;
598
- sessionTokensConsumed: number;
599
- };
600
- activeDebugSnapshot: unknown;
601
- debug: unknown;
602
- };
603
- };
604
- downloadDebugLog(): void;
686
+ /** The live current-page debug log (`{ readme, timeline, meta }`). @public */
687
+ getDebugLog(): DebugLog;
688
+ /**
689
+ * Build the current page's diagnostic entries (GENC-1351 §5.8) — the debug-log
690
+ * timeline entries (`message`/`turn`/`event`) plus one `meta-snapshot` carrying
691
+ * the export-time `meta` block. `getDebugLog()` reassembles these into the live
692
+ * log; the persister's forward-capture path (`SessionPersister.flushDiagnostics`,
693
+ * fed these via the `getDiagnosticEntries` dep) diffs them against what's already
694
+ * been appended to the persisted stream.
695
+ */
696
+ private buildDiagnosticEntries;
697
+ downloadDebugLog(): Promise<void>;
698
+ /**
699
+ * The log to download (GENC-1351 §5.8). When the provider persists diagnostics,
700
+ * stitch the **whole lifetime** stream (every page load) rather than just the
701
+ * current page's in-memory view: flush the current delta first so it's included,
702
+ * then reassemble everything `loadDiagnostics` returns. Independent of "remember
703
+ * chat" — diagnostics are a forensic stream keyed on provider capability, not on
704
+ * whether the *chat* is remembered (like preferences). Falls back to the live
705
+ * current-page log when diagnostics isn't available or the fetch fails.
706
+ */
707
+ private buildDownloadLog;
708
+ /**
709
+ * The shared per-session `SessionPersister` that owns restore-core
710
+ * save/restore/freeze (GENC-1351 §5.10). Created once per `stateKey` and shared by
711
+ * every element view (bubble + panel) via the registry, so there is a single save
712
+ * timer + carry-forward cache — no per-view double-writes. The deps are getters so
713
+ * the persister always reads the current driver/store/config and never holds a
714
+ * stale reference. `undefined` before the session key is available.
715
+ */
716
+ private persister;
717
+ /**
718
+ * First-load persistence init for a freshly created store (GENC-1351). Restores
719
+ * the user's remembered persistence-toggle choice — kept independently of the
720
+ * session snapshot so it survives a clear; the host-configured `enabled` is only
721
+ * the default for a first-ever load — then auto-restores the session when
722
+ * persistence is (now) on.
723
+ */
724
+ private initPersistenceForNewStore;
605
725
  triggerFileInput(): void;
606
726
  handleFileSelect(e: Event): void;
607
727
  removeAttachment(attachment: ChatAttachment): void;
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AA4tBA,eAAO,MAAM,MAAM,iDAGlB,CAAC"}
1
+ {"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AAmxBA,eAAO,MAAM,MAAM,iDAGlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.template.d.ts","sourceRoot":"","sources":["../../../src/main/main.template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,EAAuC,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAsOpD,gBAAgB;AAChB,eAAO,MAAM,6BAA6B,GACxC,oBAAoB,MAAM,KACzB,YAAY,CAAC,qBAAqB,CAibpC,CAAC"}
1
+ {"version":3,"file":"main.template.d.ts","sourceRoot":"","sources":["../../../src/main/main.template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,EAAuC,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AA2PpD,gBAAgB;AAChB,eAAO,MAAM,6BAA6B,GACxC,oBAAoB,MAAM,KACzB,YAAY,CAAC,qBAAqB,CA+gBpC,CAAC"}
@@ -30,6 +30,61 @@ export interface SubmitMessageResult {
30
30
  ok: boolean;
31
31
  errors: string[];
32
32
  }
33
+ /**
34
+ * `detail` of the `AiAssistantEvent.SessionCleared` event. Captured *before*
35
+ * teardown so a host can tidy up whatever the active agent was working on
36
+ * (generated files, server-side scratch, …). `agentSnapshot` is the agent's
37
+ * `serialize()` output (a state-machine image for machine-backed agents).
38
+ *
39
+ * @beta
40
+ */
41
+ export interface SessionClearedDetail {
42
+ sessionKey: string | undefined;
43
+ agentName: string | undefined;
44
+ agentSnapshot: unknown;
45
+ }
46
+ /**
47
+ * `detail` of the `AiAssistantEvent.ChatHeaderMouseDown` event.
48
+ *
49
+ * @beta
50
+ */
51
+ export interface ChatHeaderMouseDownDetail {
52
+ clientX: number;
53
+ clientY: number;
54
+ }
55
+ /**
56
+ * DOM events the `<foundation-ai-assistant>` element dispatches to its host.
57
+ * All bubble and are `composed` (they cross the shadow boundary), so a host can
58
+ * listen on the element — or any ancestor — to react. Use these constants to
59
+ * wire listeners instead of hand-typing event-name strings.
60
+ *
61
+ * An `as const` map (not a TS `enum` — this package ships none), so it serves as
62
+ * both the listener-name value and, via the same-named type below, a union.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * import { AiAssistantEvent, type SessionClearedDetail } from '@genesislcap/ai-assistant';
67
+ *
68
+ * el.addEventListener(AiAssistantEvent.SessionCleared, (e) => {
69
+ * const { agentName, agentSnapshot } = (e as CustomEvent<SessionClearedDetail>).detail;
70
+ * // …clean up external state the agent was working on…
71
+ * });
72
+ * ```
73
+ *
74
+ * @beta
75
+ */
76
+ export declare const AiAssistantEvent: {
77
+ /** Session wiped via the lifecycle menu's Clear. `detail`: `SessionClearedDetail`. */
78
+ readonly SessionCleared: "session-cleared";
79
+ /** Header pressed in `popout-mode="expand"` (drag-to-popout hosts). `detail`: `ChatHeaderMouseDownDetail`. */
80
+ readonly ChatHeaderMouseDown: "chat-header-mousedown";
81
+ };
82
+ /**
83
+ * One of the `AiAssistantEvent` event-name values.
84
+ *
85
+ * @beta
86
+ */
87
+ export type AiAssistantEvent = (typeof AiAssistantEvent)[keyof typeof AiAssistantEvent];
33
88
  /**
34
89
  * State of the chat suggestions feature.
35
90
  *
@@ -1 +1 @@
1
- {"version":3,"file":"main.types.d.ts","sourceRoot":"","sources":["../../../src/main/main.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE/C,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3C;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BwB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,cAAc,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAkC,oBAAoB,EAAE,CAAC;AAEpF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,yDAKe,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,oBAAoB,EAAwB,CAAC;AAE9E;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"main.types.d.ts","sourceRoot":"","sources":["../../../src/main/main.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE/C,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB;IAC3B,sFAAsF;;IAEtF,8GAA8G;;CAEtG,CAAC;AAEX;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAExF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3C;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BwB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,cAAc,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAkC,oBAAoB,EAAE,CAAC;AAEpF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,yDAKe,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,oBAAoB,EAAwB,CAAC;AAE9E;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -68,12 +68,41 @@ export interface AiAssistantSessionState {
68
68
  * disturbing the user's sticky picker choice.
69
69
  */
70
70
  flowOwnerAgentName: string | null;
71
+ /**
72
+ * The user prompt that started the current guided flow (GENC-1351 §5.9) —
73
+ * captured when a flow-owner locks in, cleared when it releases. Persisted only
74
+ * into a *non-resumable tombstone* (not the normal snapshot), where it pre-fills
75
+ * the composer on return so the user can re-run the task. Slice-backed (like
76
+ * {@link flowOwnerAgentName}) so both element instances agree and it survives
77
+ * pop-in/out.
78
+ */
79
+ flowActivationPrompt: string | null;
71
80
  /**
72
81
  * Whether the agent picker slide-out panel is currently open. Lives in the
73
82
  * slice so the bubble-dialog and popout-panel instances stay in sync as the
74
83
  * user pops in and out.
75
84
  */
76
85
  agentPickerOpen: boolean;
86
+ /**
87
+ * Whether the lifecycle (session) menu slide-out panel is open. Mirrors
88
+ * `agentPickerOpen` — kept in the slice so panel state survives pop-in/out.
89
+ */
90
+ sessionMenuOpen: boolean;
91
+ /**
92
+ * Whether a manual compaction's async summary is in flight (GENC-1351 §5.7).
93
+ * In the slice (not element-local) so the "Compacting…" transcript view and
94
+ * input-disable stay in sync across pop-in/out, like the panel flags above.
95
+ */
96
+ compacting: boolean;
97
+ /**
98
+ * Whether a page-reload restore is in flight — `provider.load()` hasn't
99
+ * resolved yet (GENC-1351 §6). In the slice (like `compacting`) so the
100
+ * "Restoring…" transcript view + input-disable survive pop-in/out. Invisible
101
+ * for synchronous providers (resolves before paint); matters for server-backed
102
+ * ones (S3 latency), where the disable also **prevents a mid-load send from
103
+ * being clobbered** when the restored history loads.
104
+ */
105
+ restoring: boolean;
77
106
  /** Draft text in the input box — preserved across pop-in/pop-out cycles. */
78
107
  inputValue: string;
79
108
  /** Live trace from a currently-executing sub-agent. Cleared on sub-agent-stop. */
@@ -88,6 +117,30 @@ export interface AiAssistantSessionState {
88
117
  */
89
118
  inputOverrides: InputOverride[];
90
119
  }
120
+ /**
121
+ * The subset of session state restored verbatim from a persisted session
122
+ * (page-reload restore). Agent *identity* (`activeAgent`) and per-agent machine
123
+ * snapshots are applied separately by the host — resolve the name against the
124
+ * live agents array, then hand the snapshot to the agent's `init({ restored })`.
125
+ *
126
+ * @internal
127
+ */
128
+ export interface LoadSessionPayload {
129
+ messages: ChatMessage[];
130
+ pinnedAgentName: string | null;
131
+ flowOwnerAgentName: string | null;
132
+ sessionCostUsd: number;
133
+ contextTokens: number | undefined;
134
+ contextLimit: number | undefined;
135
+ activeModel: string | undefined;
136
+ activeProviderName: string | undefined;
137
+ }
138
+ /**
139
+ * Build a fresh default session state. A factory (not just a shared const) so
140
+ * each call returns independent collections — `resetSession` can hand back a
141
+ * clean slate without aliasing the initial state's arrays.
142
+ */
143
+ export declare function createDefaultSessionState(): AiAssistantSessionState;
91
144
  export declare const defaultSessionState: AiAssistantSessionState;
92
145
  export declare const aiAssistantSlice: import("@reduxjs/toolkit").Slice<AiAssistantSessionState, {
93
146
  setMessages(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<ChatMessage[]>): void;
@@ -108,7 +161,11 @@ export declare const aiAssistantSlice: import("@reduxjs/toolkit").Slice<AiAssist
108
161
  setActiveAgent(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<Omit<AgentConfig, "toolHandlers"> | undefined>): void;
109
162
  setPinnedAgentName(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<string | null>): void;
110
163
  setFlowOwnerAgentName(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<string | null>): void;
164
+ setFlowActivationPrompt(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<string | null>): void;
111
165
  setAgentPickerOpen(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<boolean>): void;
166
+ setSessionMenuOpen(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<boolean>): void;
167
+ setCompacting(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<boolean>): void;
168
+ setRestoring(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<boolean>): void;
112
169
  setInputValue(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<string>): void;
113
170
  setLiveSubAgentTrace(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<ChatMessage[]>): void;
114
171
  setLiveSubAgentName(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<string | null>): void;
@@ -116,5 +173,14 @@ export declare const aiAssistantSlice: import("@reduxjs/toolkit").Slice<AiAssist
116
173
  removeInputOverride(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<{
117
174
  id: string;
118
175
  }>): void;
176
+ /**
177
+ * Bulk-hydrate the restorable fields of a persisted session (page-reload
178
+ * restore) and set `state` back to `idle`. Agent identity and the per-agent
179
+ * machine snapshot are applied separately by the host — see
180
+ * `LoadSessionPayload`.
181
+ */
182
+ loadSession(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<LoadSessionPayload>): void;
183
+ /** Wipe the session back to a fresh default — the "Clear" / "New chat" action. */
184
+ resetSession(state: import("immer").WritableDraft<AiAssistantSessionState>): void;
119
185
  }, "aiAssistant", "aiAssistant", {}>;
120
186
  //# sourceMappingURL=ai-assistant-slice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-assistant-slice.d.ts","sourceRoot":"","sources":["../../../src/state/ai-assistant-slice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-assistant-slice.d.ts","sourceRoot":"","sources":["../../../src/state/ai-assistant-slice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEnG;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,IAAI,EAAE,4BAA4B,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,wBAAwB,EAAE,OAAO,CAAC;IAClC,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;IAC1C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uEAAuE;IACvE,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;;OAGG;IACH,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC;;;;OAIG;IACH,gBAAgB,EAAE,6BAA6B,EAAE,CAAC;IAClD,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IAC3D;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;;OAOG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;;;;;OAOG;IACH,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,oEAAoE;IACpE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;;OAKG;IACH,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,uBAAuB,CA8BnE;AAED,eAAO,MAAM,mBAAmB,EAAE,uBAAqD,CAAC;AAExF,eAAO,MAAM,gBAAgB;uFAIE,aAAa,CAAC,WAAW,EAAE,CAAC;oFAG/B,aAAa,CAAC,gBAAgB,CAAC;4FAGvB,aAAa,CAAC,OAAO,CAAC;gGAGlB,aAAa,CAAC,OAAO,CAAC;4FAG1B,aAAa,CAAC,OAAO,CAAC;uGAGX,aAAa,CAAC,OAAO,CAAC;gGAG7B,aAAa,CAAC,oBAAoB,EAAE,CAAC;+FAGtC,aAAa,CAAC,gBAAgB,CAAC;4FAGlC,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;2FAGlC,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;6FAG/B,aAAa,CAAC,MAAM,CAAC;oGAGd,aAAa,CAAC,MAAM,CAAC;0FAG/B,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;iGAG1B,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;+FAGnC,aAAa,CAAC,6BAA6B,EAAE,CAAC;0FAGnD,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;8FAGxD,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;iGAGzB,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;mGAG1B,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;8FAGjC,aAAa,CAAC,OAAO,CAAC;8FAGtB,aAAa,CAAC,OAAO,CAAC;yFAG3B,aAAa,CAAC,OAAO,CAAC;wFAGvB,aAAa,CAAC,OAAO,CAAC;yFAGrB,aAAa,CAAC,MAAM,CAAC;gGAGd,aAAa,CAAC,WAAW,EAAE,CAAC;+FAG7B,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;4FAG/B,aAAa,CAAC,aAAa,CAAC;+FAGzB,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAGhE;;;;;OAKG;uFACwB,aAAa,CAAC,kBAAkB,CAAC;IAY5D,kFAAkF;;oCAMpF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ai-assistant-slice.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-assistant-slice.test.d.ts","sourceRoot":"","sources":["../../../src/state/ai-assistant-slice.test.ts"],"names":[],"mappings":""}
@@ -27,7 +27,7 @@
27
27
  * Catalogue of meta event names. This is the documented surface — extend it as
28
28
  * new events are wired in (Tier 2/3 lifecycle, interaction, provider events).
29
29
  */
30
- export type MetaEventType = 'assistant.connected' | 'assistant.disconnected' | 'assistant.popout' | 'assistant.popin' | 'driver.created' | 'driver.wired' | 'driver.unwired' | 'state.changed' | 'turn.start' | 'turn.end' | 'turn.retry' | 'turn.error' | 'tool.failed' | 'tool.unresolved' | 'subagent.started' | 'subagent.completed' | 'subagent.failed' | 'agent.handoff' | 'agent.pinned' | 'agent.unpinned' | 'provider.selected' | 'interaction.requested' | 'interaction.resolved' | 'context.updated' | 'context.threshold-crossed' | 'context.condensed' | 'panel.toggled' | 'attachment.added' | 'file.read-failed' | 'suggestions.failed';
30
+ export type MetaEventType = 'assistant.connected' | 'assistant.disconnected' | 'assistant.popout' | 'assistant.popin' | 'driver.created' | 'driver.wired' | 'driver.unwired' | 'state.changed' | 'turn.start' | 'turn.end' | 'turn.retry' | 'turn.error' | 'tool.failed' | 'tool.unresolved' | 'subagent.started' | 'subagent.completed' | 'subagent.failed' | 'agent.handoff' | 'agent.pinned' | 'agent.unpinned' | 'provider.selected' | 'interaction.requested' | 'interaction.resolved' | 'context.updated' | 'context.threshold-crossed' | 'context.compacted' | 'context.condensed' | 'panel.toggled' | 'attachment.added' | 'file.read-failed' | 'suggestions.failed' | 'session.cleared' | 'persistence.toggled' | 'persistence.saved' | 'persistence.suppressed' | 'persistence.not-resumable' | 'persistence.restored' | 'persistence.restore-orphan';
31
31
  /**
32
32
  * How much a reader should care about an event — lets a consumer (or an AI
33
33
  * agent) filter the timeline: skip `low` UI/bookkeeping noise, skim `normal`
@@ -1 +1 @@
1
- {"version":3,"file":"debug-event-log.d.ts","sourceRoot":"","sources":["../../../src/state/debug-event-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;GAGG;AACH,MAAM,MAAM,aAAa,GAErB,qBAAqB,GACrB,wBAAwB,GACxB,kBAAkB,GAClB,iBAAiB,GAEjB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAEhB,eAAe,GACf,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,iBAAiB,GAEjB,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,mBAAmB,GAEnB,uBAAuB,GACvB,sBAAsB,GAEtB,iBAAiB,GACjB,2BAA2B,GAC3B,mBAAmB,GAEnB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE5D;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAiC5E,CAAC;AAEF,4CAA4C;AAC5C,MAAM,WAAW,SAAS;IACxB,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,IAAI,EAAE,aAAa,CAAC;IACpB,6EAA6E;IAC7E,UAAU,EAAE,mBAAmB,CAAC;IAChC,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAmBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,aAAa,EACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAyBN;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,yBAAyB,GACzB,gBAAgB,GAChB,oBAAoB,GACpB,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,EACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAEN;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,EACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAEN;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAEnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CA0BrF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAc7C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
1
+ {"version":3,"file":"debug-event-log.d.ts","sourceRoot":"","sources":["../../../src/state/debug-event-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;GAGG;AACH,MAAM,MAAM,aAAa,GAErB,qBAAqB,GACrB,wBAAwB,GACxB,kBAAkB,GAClB,iBAAiB,GAEjB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAEhB,eAAe,GACf,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,iBAAiB,GAEjB,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,mBAAmB,GAEnB,uBAAuB,GACvB,sBAAsB,GAEtB,iBAAiB,GACjB,2BAA2B,GAC3B,mBAAmB,GACnB,mBAAmB,GAEnB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,GAEpB,iBAAiB,GACjB,qBAAqB,GACrB,mBAAmB,GACnB,wBAAwB,GACxB,2BAA2B,GAC3B,sBAAsB,GACtB,4BAA4B,CAAC;AAEjC;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE5D;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAyC5E,CAAC;AAEF,4CAA4C;AAC5C,MAAM,WAAW,SAAS;IACxB,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,IAAI,EAAE,aAAa,CAAC;IACpB,6EAA6E;IAC7E,UAAU,EAAE,mBAAmB,CAAC;IAChC,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAmBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,aAAa,EACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAyBN;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,yBAAyB,GACzB,gBAAgB,GAChB,oBAAoB,GACpB,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,EACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAEN;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,EACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAEN;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAEnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CA0BrF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAc7C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Per-session forward-capture cursors for the server-saved diagnostics stream
3
+ * (GENC-1351 §5.8). Module-level and keyed by the session `stateKey` — exactly like
4
+ * the meta-event buffer — so the (up to two) element instances that share one
5
+ * session (a collapsed bubble + a popped-out panel) share ONE set of cursors.
6
+ *
7
+ * Without this each instance keeps its own cursors and both independently append
8
+ * the shared driver's activity, double-writing the stream — and, worse, the second
9
+ * instance (which never runs restore, so its message watermark stays empty)
10
+ * re-appends the *entire* restored history on every reload. Module state dies with
11
+ * the JS realm, so these reset for free on a real page reload (like the meta
12
+ * buffer), which is exactly the "fresh capture per page load" behaviour we want.
13
+ *
14
+ * @internal
15
+ */
16
+ export interface DiagnosticsCursors {
17
+ /** Message identities present at restore — never appended (they live in a prior load's stream). */
18
+ restoredMsgKeys: Set<string>;
19
+ /** Message identities already appended this load. */
20
+ emittedMsgKeys: Set<string>;
21
+ /** Turn indices already appended this load. */
22
+ emittedTurnKeys: Set<string>;
23
+ /** Highest meta-event index already appended. */
24
+ lastEventIndex: number;
25
+ /** JSON of the last meta-snapshot appended — skip re-appending an unchanged block. */
26
+ lastMetaJson: string;
27
+ }
28
+ /** The shared cursors for `key`, created (empty) on first access. @internal */
29
+ export declare function getDiagnosticsCursors(key: string): DiagnosticsCursors;
30
+ /**
31
+ * Restart the per-conversation cursors for `key` on Clear — a new conversation in
32
+ * the same page load. `lastEventIndex` is intentionally kept: Clear does NOT reset
33
+ * the meta-event buffer, so its indices keep climbing and mustn't be re-emitted.
34
+ *
35
+ * @internal
36
+ */
37
+ export declare function resetDiagnosticsCursorsFor(key: string): void;
38
+ /** Drop all cursors — test isolation only. @internal */
39
+ export declare function clearDiagnosticsCursorRegistry(): void;
40
+ //# sourceMappingURL=diagnostics-cursors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics-cursors.d.ts","sourceRoot":"","sources":["../../../../src/state/persistence/diagnostics-cursors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,kBAAkB;IACjC,mGAAmG;IACnG,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,qDAAqD;IACrD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,+CAA+C;IAC/C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,sFAAsF;IACtF,YAAY,EAAE,MAAM,CAAC;CACtB;AAYD,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAOrE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAK5D;AAED,wDAAwD;AACxD,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}