@genesislcap/ai-assistant 15.26.0 → 15.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/ai-assistant.api.json +150 -7
  2. package/dist/ai-assistant.d.ts +82 -99
  3. package/dist/chat-driver.cjs +460 -373
  4. package/dist/chat-driver.cjs.map +4 -4
  5. package/dist/chat-driver.mjs +460 -373
  6. package/dist/chat-driver.mjs.map +4 -4
  7. package/dist/custom-elements.json +682 -202
  8. package/dist/dts/components/chat-driver/chat-driver.d.ts +28 -200
  9. package/dist/dts/components/chat-driver/chat-driver.d.ts.map +1 -1
  10. package/dist/dts/components/chat-driver/interaction-controller.d.ts +99 -0
  11. package/dist/dts/components/chat-driver/interaction-controller.d.ts.map +1 -0
  12. package/dist/dts/components/chat-driver/turn-recorder.d.ts +191 -0
  13. package/dist/dts/components/chat-driver/turn-recorder.d.ts.map +1 -0
  14. package/dist/dts/components/settings-modal/settings-modal.template.d.ts +20 -0
  15. package/dist/dts/components/settings-modal/settings-modal.template.d.ts.map +1 -1
  16. package/dist/dts/main/main.d.ts +32 -1
  17. package/dist/dts/main/main.d.ts.map +1 -1
  18. package/dist/dts/main/main.styles.d.ts.map +1 -1
  19. package/dist/dts/main/main.template.d.ts +19 -0
  20. package/dist/dts/main/main.template.d.ts.map +1 -1
  21. package/dist/dts/state/ai-assistant-slice.d.ts +7 -1
  22. package/dist/dts/state/ai-assistant-slice.d.ts.map +1 -1
  23. package/dist/dts/state/persistence/session-persistence-provider.d.ts +5 -0
  24. package/dist/dts/state/persistence/session-persistence-provider.d.ts.map +1 -1
  25. package/dist/dts/state/session-store.d.ts +1 -0
  26. package/dist/dts/state/session-store.d.ts.map +1 -1
  27. package/dist/dts/utils/format-message-timestamp.d.ts +77 -0
  28. package/dist/dts/utils/format-message-timestamp.d.ts.map +1 -0
  29. package/dist/dts/utils/resolve-preference-baseline.d.ts +18 -1
  30. package/dist/dts/utils/resolve-preference-baseline.d.ts.map +1 -1
  31. package/dist/esm/components/chat-driver/chat-driver.js +68 -404
  32. package/dist/esm/components/chat-driver/interaction-controller.js +235 -0
  33. package/dist/esm/components/chat-driver/turn-recorder.js +206 -0
  34. package/dist/esm/components/settings-modal/settings-modal.template.js +53 -2
  35. package/dist/esm/main/main.js +80 -17
  36. package/dist/esm/main/main.styles.js +75 -0
  37. package/dist/esm/main/main.template.js +43 -2
  38. package/dist/esm/state/ai-assistant-slice.js +5 -0
  39. package/dist/esm/utils/format-message-timestamp.js +126 -0
  40. package/dist/esm/utils/resolve-preference-baseline.js +54 -2
  41. package/package.json +16 -16
  42. package/sandbox/README.md +45 -2
  43. package/sandbox/sandbox.ts +95 -3
@@ -0,0 +1,191 @@
1
+ import type { AggregateUsage, AIProviderType, ChatToolChoice } from '@genesislcap/foundation-ai';
2
+ import type { DiagnosticEntry } from '../../state/persistence/diagnostics';
3
+ /**
4
+ * One captured frame of what the LLM saw on a single tool-loop iteration.
5
+ * The driver records these as a ring buffer (cap: configurable via
6
+ * `chatConfig.agent.maxTurnSnapshots`, default 400) so the export log can show,
7
+ * per turn: which agent was active, the resolved system prompt, the tool names
8
+ * visible to the LLM, and any agent-supplied debug snapshot (e.g. machine
9
+ * state for stateful agents).
10
+ *
11
+ * @beta
12
+ */
13
+ export interface TurnSnapshot {
14
+ /**
15
+ * Turn identifier, always a string. A driver's own turns are the bare counter
16
+ * (`"0"`, `"1"`, … — monotonic, does not reset on agent swap). Turns forwarded
17
+ * up from a sub-agent are re-labelled under the parent turn that activated them
18
+ * — a sub-agent invoked on parent turn 5 contributes `"5-1"`, `"5-2"`, …, and a
19
+ * nested sub-agent on `"5-2"` contributes `"5-2-1"`, …. See
20
+ * `forwardSubAgent`.
21
+ */
22
+ turnIndex: string;
23
+ /** ISO timestamp captured just before the LLM call. */
24
+ timestamp: string;
25
+ /** Name of the agent active when this LLM call ran. */
26
+ agentName?: string;
27
+ /**
28
+ * The agent's resolved system prompt sent to the LLM, verbatim — the **bare** prompt. The
29
+ * fold-surface suffix and the retry nudges live in {@link TurnSnapshot.tailContext} instead, to
30
+ * keep this byte-stable for prompt caching; read both fields to reconstruct what the model saw.
31
+ */
32
+ systemPrompt?: string;
33
+ /**
34
+ * The framed `<system-reminder>` tail appended to the final user turn for this
35
+ * call, verbatim — never part of stored history, so this snapshot is the only
36
+ * record of it. Carries the framework's volatile additions (fold suffix, retry
37
+ * nudge) and the agent's per-turn `tailContext` (e.g. current file spec, live
38
+ * diagnostics). Undefined when the tail was empty (the normal case).
39
+ */
40
+ tailContext?: string;
41
+ /** Tool names sent to the LLM, in order — definitions are static per name so names alone suffice. */
42
+ toolNames: string[];
43
+ /**
44
+ * Normalized `0`–`1` sampling temperature in effect for this call, if the
45
+ * agent (or its current state) configured one. Undefined → provider/model
46
+ * default. Mirrors the value resolved from `BaseAgentConfig.temperature`.
47
+ */
48
+ temperature?: number;
49
+ /**
50
+ * Tool-call mode actually sent to the provider this call — the effective
51
+ * value, including the sub-agent `'required'` default. Undefined → `'auto'`.
52
+ * Mirrors the value resolved from `BaseAgentConfig.toolChoice`.
53
+ */
54
+ toolChoice?: ChatToolChoice;
55
+ /**
56
+ * Per-turn display label resolved from the agent's `displayName`, e.g.
57
+ * "Guided Booking (Counterparties)". `agentName` stays as the canonical
58
+ * identity used for routing/filtering.
59
+ */
60
+ agentLabel?: string;
61
+ /** Agent-supplied snapshot — machine state/context for stateful agents, undefined otherwise. */
62
+ agentSnapshot?: unknown;
63
+ /**
64
+ * Concrete model that ran this call (e.g. `'claude-sonnet-4-6'`) — the serving model
65
+ * where the provider reports one, else the model the resolved tier was configured
66
+ * with. Undefined when the provider exposes no `getStatus` and the transport stamped
67
+ * nothing.
68
+ *
69
+ * Recorded per call, so an agent whose `provider` selector varies by state (a tier
70
+ * switch between steps of a flow) has each step attributed to the model that actually
71
+ * ran it — without the reader having to join the turn to the message after it, which
72
+ * is impossible for a call that produced no message.
73
+ */
74
+ model?: string;
75
+ /**
76
+ * Registry slot the provider resolved under for this call — a tier name like
77
+ * `'high'`/`'low'`, or the registry default's name. Kept alongside {@link
78
+ * TurnSnapshot.model} because they answer different questions: the slot is what the
79
+ * agent asked for, the model is what served it, and repointing a slot at a new model
80
+ * mid-session is only visible when both are recorded.
81
+ */
82
+ providerName?: string;
83
+ /** Vendor behind the resolved slot (`'anthropic'`, `'gemini'`, …), when the provider reports it. */
84
+ provider?: AIProviderType;
85
+ /**
86
+ * What this one LLM call cost — the four disjoint token buckets plus USD, derived
87
+ * from the response's usage by `messageUsage`. Back-filled when the response lands
88
+ * (the rest of the snapshot is captured *before* the call), so it is `undefined`
89
+ * while the call is in flight, on providers that report no usage, and on a call that
90
+ * threw rather than returning — a malformed-call/truncation/402 error carries no usage
91
+ * block, so any tokens the provider billed for it are not recoverable here.
92
+ *
93
+ * A snapshot is one **model call**, not one user turn: every tool-loop iteration and
94
+ * every retried attempt records its own. That makes this the only record of spend on
95
+ * an attempt that produced no message — a blank or refused response is billed and
96
+ * then discarded (see the empty-response retries), so summing the transcript alone
97
+ * under-reports the turn.
98
+ *
99
+ * For a call that DID produce a message, this is the same money as that message's
100
+ * `cost`/token fields, not additional money — never add turn usage to message usage.
101
+ */
102
+ usage?: AggregateUsage;
103
+ }
104
+ /**
105
+ * The part of a snapshot the caller knows before the LLM call. Everything else on a
106
+ * {@link TurnSnapshot} is either supplied by the recorder (`turnIndex`, `timestamp`,
107
+ * `agentSnapshot`) or back-filled from the response.
108
+ */
109
+ export type RecordedTurn = Pick<TurnSnapshot, 'agentName' | 'agentLabel' | 'systemPrompt' | 'tailContext' | 'toolNames' | 'temperature' | 'toolChoice'>;
110
+ /**
111
+ * Everything the exported debug log draws from one driver: its own per-LLM-call snapshots, the
112
+ * ones forwarded up from sub-agents, and the diagnostics harvested from resolved interactions.
113
+ *
114
+ * All three feed the same timeline and all three are keyed in this driver's turn space, which is
115
+ * why they share an owner — a forwarded child turn and a harvested server turn are both re-labelled
116
+ * against the counter kept here.
117
+ */
118
+ export declare class TurnRecorder {
119
+ private readonly sessionKey;
120
+ private readonly maxSnapshots;
121
+ /**
122
+ * Ring buffer of per-LLM-call snapshots, capped at `maxSnapshots`; older entries drop off as
123
+ * new ones arrive.
124
+ */
125
+ private readonly buffer;
126
+ /** Monotonic counter that survives agent swaps — useful for cross-referencing with history. */
127
+ private turnIndex;
128
+ /**
129
+ * `turn` + `message` diagnostic entries harvested from an out-of-band source. `event` entries
130
+ * are NOT kept here — they are folded into the session's meta-event registry so they inherit
131
+ * fresh host indices, and reach the log through `getMetaEvents`. Append-only, and never cleared:
132
+ * it lives with the recorder, so a new chat (fresh driver) starts empty while a compaction (same
133
+ * instance) keeps it. (GENC-1461.)
134
+ */
135
+ private readonly externalEntries;
136
+ /**
137
+ * Monotonic count of external-diagnostics batches folded this driver-lifetime. Namespaces each
138
+ * batch's re-keyed `turn` entries so distinct server generations in one chat session can't
139
+ * collide on `turnIndex` in the forward-capture persister (which dedups turns by that key).
140
+ */
141
+ private externalBatches;
142
+ /** The active agent's `getDebugSnapshot`, captured on install so the whole config isn't held. */
143
+ private snapshotter?;
144
+ constructor(sessionKey: string, maxSnapshots: number);
145
+ /** Point at the incoming agent's `getDebugSnapshot`, or clear it when the agent supplies none. */
146
+ setSnapshotter(snapshotter?: () => unknown): void;
147
+ /**
148
+ * The per-turn snapshots captured so far — what the LLM saw on each turn: system prompt, tool
149
+ * surface, and agent-supplied state (e.g. a machine snapshot).
150
+ */
151
+ snapshots(): ReadonlyArray<TurnSnapshot>;
152
+ /**
153
+ * The harvested `turn` + `message` diagnostic entries. Opaque, and chronologically sorted by the
154
+ * host at assemble time.
155
+ */
156
+ externalDiagnostics(): ReadonlyArray<DiagnosticEntry>;
157
+ /**
158
+ * Push one snapshot to the ring buffer. Called inside `runToolLoop` just
159
+ * before each LLM call — that's the latest point where the prompt, tool
160
+ * surface, and agent state line up with what the model is about to see.
161
+ *
162
+ * Returns the pushed object so the caller can back-fill what only the response
163
+ * knows (`usage`). Mutating it after the fact is safe whether or not the ring
164
+ * buffer has since evicted it — an evicted snapshot is simply no longer exported.
165
+ */
166
+ record(turn: RecordedTurn): TurnSnapshot;
167
+ /**
168
+ * Merge a sub-agent's turn snapshots into this driver's buffer so they surface
169
+ * as `kind:'turn'` entries in the exported debug log. The child runs as a
170
+ * separate, discarded driver, so its snapshots would otherwise be lost. Each is
171
+ * re-labelled under the parent turn that activated the sub-agent: the child's
172
+ * own (numeric) turns become `"<parentTurn>-1"`, `"-2"`, … (1-based, in order);
173
+ * any already-forwarded grand-child labels (strings) have their leading segment
174
+ * remapped the same way, so nesting composes (`"5-2"` → `"5-2-1"`).
175
+ *
176
+ * Note: two sub-agents invoked in the *same* parent turn share the prefix, so
177
+ * their labels can repeat — `agentName` on each snapshot disambiguates them.
178
+ */
179
+ forwardSubAgent(childSnapshots: ReadonlyArray<TurnSnapshot>): void;
180
+ /**
181
+ * Fold a widget's out-of-band diagnostics into this session — typically a server-side
182
+ * ChatDriver's collated log, arriving on `InteractionResult.diagnostics` — so the host's debug
183
+ * log and persisted diagnostics stream include them. Independent of the interaction's own
184
+ * message: these describe the widget's work, not that message. A non-array or empty harvest is
185
+ * a no-op.
186
+ */
187
+ foldDiagnostics(interactionId: string, harvested: unknown): void;
188
+ /** Hold the ring buffer at its cap, dropping oldest-first. */
189
+ private trim;
190
+ }
191
+ //# sourceMappingURL=turn-recorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-recorder.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-driver/turn-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qGAAqG;IACrG,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gGAAgG;IAChG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oGAAoG;IACpG,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,YAAY,EACV,WAAW,GACX,YAAY,GACZ,cAAc,GACd,aAAa,GACb,WAAW,GACX,aAAa,GACb,YAAY,CACf,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,YAAY;IA8BrB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IA9B/B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C,+FAA+F;IAC/F,OAAO,CAAC,SAAS,CAAK;IAEtB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAK;IAE5B,iGAAiG;IACjG,OAAO,CAAC,WAAW,CAAC,CAAgB;gBAGjB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM;IAGvC,kGAAkG;IAClG,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,OAAO,GAAG,IAAI;IAIjD;;;OAGG;IACH,SAAS,IAAI,aAAa,CAAC,YAAY,CAAC;IAIxC;;;OAGG;IACH,mBAAmB,IAAI,aAAa,CAAC,eAAe,CAAC;IAIrD;;;;;;;;OAQG;IACH,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;IAyBxC;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI;IAyBlE;;;;;;OAMG;IACH,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAsEhE,8DAA8D;IAC9D,OAAO,CAAC,IAAI;CAKb"}
@@ -1,5 +1,25 @@
1
1
  import { type ViewTemplate } from '@genesislcap/web-core';
2
2
  import type { FoundationAiAssistant } from '../../main/main';
3
+ /**
4
+ * Three-way picker for {@link TimestampDisplay} (GENC-1257).
5
+ *
6
+ * The design system's segmented control rather than the `switch` every other row uses,
7
+ * because the setting genuinely has three states — and rather than hand-rolled buttons
8
+ * carrying `role="radio"`, because ARIA roles supply semantics but never behaviour:
9
+ * promising a radio group means owning roving `tabindex` and arrow-key navigation.
10
+ *
11
+ * `SegmentedControl extends FASTRadioGroup` (and `SegmentedItem extends FASTRadio`), so
12
+ * this IS the DS radio group — it inherits the whole keyboard pattern — just skinned as
13
+ * segments rather than dots, which is the right affordance for three short mode labels.
14
+ *
15
+ * The usual reason to avoid a DS control here does not apply. `RadioGroup.valueChanged`
16
+ * emits `change` whenever `value` is written — including the write this template's own
17
+ * binding performs on render, exactly the phantom-change footgun the DS switch has
18
+ * (GENC-1351 #1). It is harmless because the `timestampDisplay` setter guards on
19
+ * `preferenceUnchanged`, as every preference setter does, so a render-time echo returns early
20
+ * and never reaches the store or marks preferences user-changed.
21
+ */
22
+ export declare const timestampModePickerTemplate: (segmentedControlTag: string, segmentedItemTag: string) => ViewTemplate<FoundationAiAssistant>;
3
23
  /**
4
24
  * Tab identifiers for the modal tab bar.
5
25
  *
@@ -1 +1 @@
1
- {"version":3,"file":"settings-modal.template.d.ts","sourceRoot":"","sources":["../../../../src/components/settings-modal/settings-modal.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAqH7D;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,CAAC;AAsJnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,2BAA2B,GACtC,aAAa,MAAM,EACnB,WAAW,MAAM,EACjB,SAAS,MAAM,KACd,YAAY,CAAC,qBAAqB,CAUpC,CAAC;AA4aF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,oBAAoB,MAAM,KACzB,YAAY,CAAC,qBAAqB,CA+MpC,CAAC"}
1
+ {"version":3,"file":"settings-modal.template.d.ts","sourceRoot":"","sources":["../../../../src/components/settings-modal/settings-modal.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAoF7D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2BAA2B,GACtC,qBAAqB,MAAM,EAC3B,kBAAkB,MAAM,KACvB,YAAY,CAAC,qBAAqB,CAkBpC,CAAC;AAoDF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,CAAC;AAsJnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,2BAA2B,GACtC,aAAa,MAAM,EACnB,WAAW,MAAM,EACjB,SAAS,MAAM,KACd,YAAY,CAAC,qBAAqB,CAUpC,CAAC;AAobF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,oBAAoB,MAAM,KACzB,YAAY,CAAC,qBAAqB,CAiNpC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AggregateUsage, AIProviderRegistryStatusEntry, AIProviderType, ChatAttachment, ChatConfig, ChatInputDuringExecutionMode, ChatMessage } from '@genesislcap/foundation-ai';
1
+ import type { AggregateUsage, AIProviderRegistryStatusEntry, AIProviderType, ChatAttachment, ChatConfig, ChatInputDuringExecutionMode, ChatMessage, TimestampDisplay } from '@genesislcap/foundation-ai';
2
2
  import { AIProviderRegistry } from '@genesislcap/foundation-ai';
3
3
  import type { Modal } from '@genesislcap/rapid-design-system';
4
4
  import { GenesisElement } from '@genesislcap/web-core';
@@ -297,6 +297,37 @@ export declare class FoundationAiAssistant extends GenesisElement {
297
297
  /** Current user-facing toggle state for agent switch indicator visibility. */
298
298
  get showAgentSwitchIndicator(): boolean;
299
299
  set showAgentSwitchIndicator(value: boolean);
300
+ /**
301
+ * When each message shows its timestamp — `'off'`, `'hover'` (default) or `'always'`.
302
+ *
303
+ * Falls back to `DEFAULT_TIMESTAMP_DISPLAY` rather than `'off'` when there is no
304
+ * store yet: this preference defaults ON, so the pre-store render must match the state
305
+ * the baseline is about to resolve to, or timestamps would visibly pop in on connect.
306
+ */
307
+ get timestampDisplay(): TimestampDisplay;
308
+ set timestampDisplay(value: TimestampDisplay);
309
+ /**
310
+ * Epoch ms the transcript's relative timestamps are measured against.
311
+ *
312
+ * A relative label is only correct at the instant it renders: FAST evaluates the
313
+ * binding once, and an idle conversation never re-renders, so "2 minutes ago" would
314
+ * still read "2 minutes ago" an hour later. Making the formatter read this observable
315
+ * instead of `Date.now()` gives every row one shared, invalidatable clock — a tick
316
+ * re-evaluates them all.
317
+ */
318
+ timestampClock: number;
319
+ /** Handle for the `TIMESTAMP_CLOCK_INTERVAL_MS` ticker; undefined while stopped. */
320
+ private _timestampClockTimer?;
321
+ /**
322
+ * Start or stop the timestamp clock to match the current mode and connection state.
323
+ *
324
+ * Idempotent, and safe to call from either lifecycle end — it is driven from
325
+ * `connectedCallback`, `disconnectedCallback` and the `timestampDisplay` setter, which
326
+ * can fire in any order. Nothing runs while the mode is `'off'` (no binding reads the
327
+ * clock) or while disconnected (a timer outliving its element is a leak, and a
328
+ * popped-out view disconnects without the session ending).
329
+ */
330
+ private syncTimestampClock;
300
331
  /** Currently enabled animations. */
301
332
  get enabledAnimations(): AiAssistantAnimation[];
302
333
  set enabledAnimations(value: AiAssistantAnimation[]);
@@ -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":"AA6oCA,eAAO,MAAM,MAAM,iDAQlB,CAAC"}
1
+ {"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AAwtCA,eAAO,MAAM,MAAM,iDAQlB,CAAC"}
@@ -14,8 +14,27 @@
14
14
  * - Chain adjacent `when()` calls as `${when(a,tA)}${when(b,tB)}` — separate
15
15
  * lines let the formatter inject whitespace between them.
16
16
  */
17
+ import type { ChatMessage } from '@genesislcap/foundation-ai';
17
18
  import { ViewTemplate } from '@genesislcap/web-core';
18
19
  import type { FoundationAiAssistant } from './main';
20
+ /**
21
+ * The timestamp shown beside the sender name (GENC-1257).
22
+ *
23
+ * Two strings, not one. A screen reader announces a `<time>` element's TEXT — it has no
24
+ * implicit ARIA role, and the `datetime` attribute is never surfaced to the user — so the
25
+ * relative text is hidden from assistive tech and paired with a visually-hidden absolute
26
+ * string. Otherwise AT would hear "5 minutes ago" with nothing to anchor it, and in
27
+ * `'hover'` mode would hear it for a timestamp sighted users never asked to see.
28
+ * `datetime` stays because it is correct HTML and useful to tooling, not for a11y.
29
+ *
30
+ * Only the VISUAL reveal is hover-gated, in CSS — see `.message-timestamp`. `opacity: 0`
31
+ * leaves the element in the accessibility tree, so AT gets a time in both visible modes;
32
+ * `'off'` is the only mode that removes it.
33
+ *
34
+ * Reads `timestampClock` rather than `Date.now()` so every row shares one invalidatable
35
+ * clock and a tick re-evaluates them all; see `FoundationAiAssistant.timestampClock`.
36
+ */
37
+ export declare const messageTimestampTemplate: ViewTemplate<ChatMessage, FoundationAiAssistant>;
19
38
  /**
20
39
  * Class list for the banner below, joined rather than interpolated so an
21
40
  * inapplicable modifier contributes nothing. Two interpolations directly in the
@@ -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;AAG1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AA2QpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,GAAI,GAAG,qBAAqB,KAAG,MAYlD,CAAC;AAEf;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,GAAI,GAAG,qBAAqB,KAAG,MAAM,GAAG,IACpB,CAAC;AAyJrD,eAAO,MAAM,6BAA6B,GACxC,oBAAoB,MAAM,KACzB,YAAY,CAAC,qBAAqB,CA6pBpC,CAAC"}
1
+ {"version":3,"file":"main.template.d.ts","sourceRoot":"","sources":["../../../src/main/main.template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAuC,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQ1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAyHpD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,wBAAwB,kDAWpC,CAAC;AAoJF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,GAAI,GAAG,qBAAqB,KAAG,MAYlD,CAAC;AAEf;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,GAAI,GAAG,qBAAqB,KAAG,MAAM,GAAG,IACpB,CAAC;AAyJrD,eAAO,MAAM,6BAA6B,GACxC,oBAAoB,MAAM,KACzB,YAAY,CAAC,qBAAqB,CA2qBpC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AggregateUsage, AIProviderRegistryStatusEntry, AIProviderType, ChatInputDuringExecutionMode, ChatMessage } from '@genesislcap/foundation-ai';
1
+ import type { AggregateUsage, AIProviderRegistryStatusEntry, AIProviderType, ChatInputDuringExecutionMode, ChatMessage, TimestampDisplay } from '@genesislcap/foundation-ai';
2
2
  import type { PayloadAction } from '@genesislcap/foundation-redux';
3
3
  import type { AgentConfig } from '../config/config';
4
4
  import type { AiAssistantAnimation, AiAssistantState, SuggestionsState } from '../main/main.types';
@@ -45,6 +45,11 @@ export interface AiAssistantSessionState {
45
45
  showThinkingSteps: boolean;
46
46
  showNarration: boolean;
47
47
  showAgentSwitchIndicator: boolean;
48
+ /**
49
+ * When each message shows its timestamp. Unlike the `show*` booleans beside it this
50
+ * defaults ON (`'hover'`), so an absent stored preference must not read as "off".
51
+ */
52
+ timestampDisplay: TimestampDisplay;
48
53
  enabledAnimations: AiAssistantAnimation[];
49
54
  suggestionsState: SuggestionsState;
50
55
  contextTokens: number | undefined;
@@ -247,6 +252,7 @@ export declare const aiAssistantSlice: import("@reduxjs/toolkit").Slice<AiAssist
247
252
  setShowThinkingSteps(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<boolean>): void;
248
253
  setShowNarration(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<boolean>): void;
249
254
  setShowAgentSwitchIndicator(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<boolean>): void;
255
+ setTimestampDisplay(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<TimestampDisplay>): void;
250
256
  setEnabledAnimations(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<AiAssistantAnimation[]>): void;
251
257
  setSuggestionsState(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<SuggestionsState>): void;
252
258
  setContextTokens(state: import("immer").WritableDraft<AiAssistantSessionState>, action: PayloadAction<number | undefined>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-assistant-slice.d.ts","sourceRoot":"","sources":["../../../src/state/ai-assistant-slice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,6BAA6B,EAC7B,cAAc,EACd,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;AAGnG;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,IAAI,EAAE,4BAA4B,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;CAClB;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;;;;;;;OAOG;IACH,YAAY,EAAE,cAAc,CAAC;IAC7B,uEAAuE;IACvE,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;;OAGG;IACH,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC;;;;;;;;OAQG;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;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC;;;;;;;;;OASG;IACH,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D;;;;;;;;;;;;OAYG;IACH,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACpE,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,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,CAmCnE;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;2FAGjC,aAAa,CAAC,cAAc,CAAC;0FAG9B,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;IAGlD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;sFACuB,aAAa,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAWrF;;;;;;;;OAQG;4FAC6B,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;IAG5D;;;;;;;;;OASG;4FAGO,aAAa,CAAC;QACpB,MAAM,EAAE,cAAc,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB;;;;;;WAMG;QACH,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IA2BJ;;;;;;;;;;;;OAYG;2FAGO,aAAa,CAAC;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAA;KAAE,CAAC;yFAoB3D,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;IAkB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;;oCA+BL,CAAC"}
1
+ {"version":3,"file":"ai-assistant-slice.d.ts","sourceRoot":"","sources":["../../../src/state/ai-assistant-slice.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,11 @@ export interface SessionPreferences {
102
102
  showThinkingSteps?: boolean;
103
103
  showNarration?: boolean;
104
104
  showAgentSwitchIndicator?: boolean;
105
+ /**
106
+ * When message timestamps are shown (`TimestampDisplay` values, as plain strings).
107
+ * Absent keeps the `chatConfig.ui.showTimestamps` default, which is `'hover'`.
108
+ */
109
+ timestampDisplay?: string;
105
110
  /** Enabled loading-animation ids (`AiAssistantAnimation` values, as plain strings). */
106
111
  animations?: string[];
107
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-persistence-provider.d.ts","sourceRoot":"","sources":["../../../../src/state/persistence/session-persistence-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-persistence-provider.d.ts","sourceRoot":"","sources":["../../../../src/state/persistence/session-persistence-provider.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ declare function makeStore(devTools: boolean | undefined): import("@genesislcap/
7
7
  setShowThinkingSteps(state: import("immer").WritableDraft<AiAssistantSessionState>, action: import("@reduxjs/toolkit").PayloadAction<boolean>): void;
8
8
  setShowNarration(state: import("immer").WritableDraft<AiAssistantSessionState>, action: import("@reduxjs/toolkit").PayloadAction<boolean>): void;
9
9
  setShowAgentSwitchIndicator(state: import("immer").WritableDraft<AiAssistantSessionState>, action: import("@reduxjs/toolkit").PayloadAction<boolean>): void;
10
+ setTimestampDisplay(state: import("immer").WritableDraft<AiAssistantSessionState>, action: import("@reduxjs/toolkit").PayloadAction<import("@genesislcap/foundation-ai").TimestampDisplay>): void;
10
11
  setEnabledAnimations(state: import("immer").WritableDraft<AiAssistantSessionState>, action: import("@reduxjs/toolkit").PayloadAction<import("..").AiAssistantAnimation[]>): void;
11
12
  setSuggestionsState(state: import("immer").WritableDraft<AiAssistantSessionState>, action: import("@reduxjs/toolkit").PayloadAction<import("..").SuggestionsState>): void;
12
13
  setContextTokens(state: import("immer").WritableDraft<AiAssistantSessionState>, action: import("@reduxjs/toolkit").PayloadAction<number | undefined>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../../src/state/session-store.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAIvD,iBAAS,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;cA6Cysd,CAAC;;;;;;cAAggD,CAAC;aAAob,CAAC;;;;;;;;;;;;;;;wCAvC/qhB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAMnF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../../src/state/session-store.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAIvD,iBAAS,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;cA6C0le,CAAC;;;;;;cAAggD,CAAC;aAAob,CAAC;;;;;;;;;;;;;;;wCAvChkiB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAMnF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * The ONE place this package turns a message's `timestamp` into display text
3
+ * (GENC-1257).
4
+ *
5
+ * Three tiers, deliberately coarse — the transcript shows this beside the sender
6
+ * name, where a long string competes with the name itself:
7
+ *
8
+ * | Age | Reads |
9
+ * | -------------- | ------------------------------------------------------------------- |
10
+ * | under a minute | `Now` |
11
+ * | under an hour | `12 minutes ago` |
12
+ * | anything older | an absolute date+time in the user's locale, e.g. `Sep 10, 2026, 14:18` |
13
+ *
14
+ * The absolute tier is deliberately locale-driven, so its exact rendering is the
15
+ * runtime's to choose — `en-US` gives `Sep 10, 2026, 14:18` and `en-GB` gives
16
+ * `10 Sept 2026, 14:18`. Only the FIELDS are ours; see {@link ABSOLUTE_FORMAT_OPTIONS}.
17
+ *
18
+ * Split out as a pure function (as `format-usd.ts` was) so the tier boundaries are
19
+ * testable without a clock, an element or a render: every entry point takes `now`
20
+ * rather than reading `Date.now()` itself.
21
+ *
22
+ * @internal
23
+ */
24
+ /**
25
+ * Field selection for the absolute tier.
26
+ *
27
+ * Exported so tests can build their expectation from the same options rather than from a
28
+ * literal: every field below renders differently per locale and time zone, so asserting
29
+ * `"Sep"` or `"10"` only asserts the machine the test happened to run on.
30
+ *
31
+ * Locale is left undefined so it follows the user's, and `hourCycle: 'h23'` pins the clock
32
+ * to 24-hour regardless — a locale-chosen 12-hour clock would add "am"/"pm" and widen the
33
+ * string next to the sender name.
34
+ */
35
+ export declare const ABSOLUTE_FORMAT_OPTIONS: Intl.DateTimeFormatOptions;
36
+ /**
37
+ * Display text for a message timestamp, per the tiers above.
38
+ *
39
+ * A timestamp slightly in the future (clock skew between a server-stamped message and the
40
+ * browser) reads `Now` rather than a negative count — "-3 minutes ago" looks broken and
41
+ * tells the user nothing. That indulgence is bounded at an hour: beyond it the stamp is
42
+ * not skew but bad data (a machine with a badly wrong clock, a hand-edited session), and
43
+ * showing `Now` forever on every message would hide that. Past the bound it falls through
44
+ * to the absolute tier, which shows the user what the data actually says.
45
+ *
46
+ * @param iso - ISO-8601 timestamp, as stamped by the driver on append.
47
+ * @param now - Current epoch ms. Passed in rather than read, so tests pin the clock.
48
+ * @returns Display text, or `''` when there is nothing sensible to show.
49
+ */
50
+ export declare function formatMessageTimestamp(iso: string | undefined, now: number): string;
51
+ /**
52
+ * The absolute rendering of a stamp, whatever its age — the accessible text behind a
53
+ * message timestamp.
54
+ *
55
+ * Exists because the visible text is relative and a screen reader announces the element's
56
+ * TEXT, not its `datetime` attribute: `<time>` carries no implicit ARIA role, so the
57
+ * machine-readable value reaches tooling and nobody else. The template pairs this with
58
+ * `aria-hidden` on the relative string so assistive tech hears one unambiguous time
59
+ * instead of "5 minutes ago" with no anchor.
60
+ *
61
+ * @param iso - ISO-8601 timestamp, as stamped by the driver on append.
62
+ * @returns The absolute string, or `''` when there is nothing sensible to show.
63
+ */
64
+ export declare function formatAbsoluteTimestamp(iso: string | undefined): string;
65
+ /**
66
+ * The `datetime` attribute value for the rendered `<time>` element — the raw ISO string,
67
+ * which is what the HTML spec wants and what date-aware tooling reads. It is NOT an
68
+ * accessibility affordance: screen readers announce the element's text content instead.
69
+ *
70
+ * Returns `null`, not `''`, for a missing or unparseable stamp: FAST removes an attribute
71
+ * only for `null`/`undefined` (see `DOM.setAttribute`), so an empty string would emit
72
+ * `datetime=""`, which is invalid per spec and flagged by HTML validators.
73
+ *
74
+ * @param iso - ISO-8601 timestamp, as stamped by the driver on append.
75
+ */
76
+ export declare function messageTimestampDateTime(iso: string | undefined): string | null;
77
+ //# sourceMappingURL=format-message-timestamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-message-timestamp.d.ts","sourceRoot":"","sources":["../../../src/utils/format-message-timestamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,EAAE,IAAI,CAAC,qBAO1C,CAAC;AASF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAanF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAE/E"}
@@ -1,6 +1,20 @@
1
- import type { ChatConfig } from '@genesislcap/foundation-ai';
1
+ import type { ChatConfig, TimestampDisplay } from '@genesislcap/foundation-ai';
2
2
  import { type AiAssistantAnimation } from '../main/main.types';
3
3
  import type { SessionPreferences } from '../state/persistence/session-persistence-provider';
4
+ /**
5
+ * Whether a preference write is a no-op, so a setter can bail before touching the store.
6
+ *
7
+ * Load-bearing rather than an optimisation. The design-system `switch` fires `@change` when its
8
+ * `:checked` binding is applied on render, not only on user interaction — so an unguarded setter
9
+ * marks preferences "user-changed" on every render and saves config defaults, which freezes the
10
+ * reconciler so real stored prefs never apply on reload (GENC-1351 #1).
11
+ *
12
+ * List preferences compare order-insensitively: the per-animation switches fire the same spurious
13
+ * render-time `@change`, and `enabledAnimations` is a set rather than a sequence.
14
+ *
15
+ * @internal
16
+ */
17
+ export declare function preferenceUnchanged(current: unknown, value: unknown): boolean;
4
18
  /**
5
19
  * The effective user-facing preference state for a freshly created session store
6
20
  * (GENC-1351 #2), resolved from the two inputs that feed it.
@@ -12,6 +26,7 @@ export interface ResolvedPreferenceBaseline {
12
26
  showThinkingSteps: boolean;
13
27
  showNarration: boolean;
14
28
  showAgentSwitchIndicator: boolean;
29
+ timestampDisplay: TimestampDisplay;
15
30
  enabledAnimations: AiAssistantAnimation[];
16
31
  /**
17
32
  * The remembered "remember chat" toggle — present only when stored prefs carried
@@ -20,6 +35,8 @@ export interface ResolvedPreferenceBaseline {
20
35
  */
21
36
  enabled?: boolean;
22
37
  }
38
+ /** The mode used when neither the host config nor stored prefs name a valid one. */
39
+ export declare const DEFAULT_TIMESTAMP_DISPLAY: TimestampDisplay;
23
40
  /**
24
41
  * Resolve the effective preference baseline for a fresh store, applying the
25
42
  * precedence (lowest → highest):
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-preference-baseline.d.ts","sourceRoot":"","sources":["../../../src/utils/resolve-preference-baseline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAG5F;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,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;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EACpB,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAC5C,0BAA0B,CAgC5B"}
1
+ {"version":3,"file":"resolve-preference-baseline.d.ts","sourceRoot":"","sources":["../../../src/utils/resolve-preference-baseline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAG5F;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAK7E;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,wBAAwB,EAAE,OAAO,CAAC;IAClC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;IAC1C;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,EAAE,gBAA0B,CAAC;AA2BnE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EACpB,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAC5C,0BAA0B,CAwC5B"}