@burdenoff/fe-libs 2026.912.6 → 2026.913.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 (33) hide show
  1. package/dist/shared/assistant/index.d.ts +4 -0
  2. package/dist/shared/assistant/index.d.ts.map +1 -1
  3. package/dist/shared/assistant/preview/useAssistantPreviewBridge.js +8 -8
  4. package/dist/shared/assistant/ui/AssistantAvatar.d.ts +26 -0
  5. package/dist/shared/assistant/ui/AssistantAvatar.d.ts.map +1 -0
  6. package/dist/shared/assistant/ui/AssistantAvatar.js +12 -0
  7. package/dist/shared/assistant/ui/AssistantChatArea.js +298 -298
  8. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
  9. package/dist/shared/assistant/ui/AssistantMessageItem.js +19 -21
  10. package/dist/shared/assistant/ui/AssistantToolActivity.js +1 -1
  11. package/dist/shared/assistant/ui/composer/AssistantAttachmentChips.d.ts.map +1 -1
  12. package/dist/shared/assistant/ui/composer/AssistantAttachmentChips.js +2 -2
  13. package/dist/shared/assistant/ui/composer/AssistantComposer.js +1 -1
  14. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts.map +1 -1
  15. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +112 -102
  16. package/dist/shared/assistant/ui/voice/VoiceMiniController.d.ts +10 -0
  17. package/dist/shared/assistant/ui/voice/VoiceMiniController.d.ts.map +1 -1
  18. package/dist/shared/assistant/ui/voice/VoiceMiniController.js +29 -28
  19. package/dist/shared/assistant/ui/voice/VoiceStage.d.ts +10 -0
  20. package/dist/shared/assistant/ui/voice/VoiceStage.d.ts.map +1 -1
  21. package/dist/shared/assistant/ui/voice/VoiceStage.js +35 -34
  22. package/dist/shared/assistant/ui/voice/VoiceStatusText.d.ts +51 -0
  23. package/dist/shared/assistant/ui/voice/VoiceStatusText.d.ts.map +1 -0
  24. package/dist/shared/assistant/ui/voice/VoiceStatusText.js +42 -0
  25. package/dist/shared/assistant/ui/voice/VoiceWaveform.js +1 -1
  26. package/dist/shared/assistant/voice/rotationClock.d.ts +31 -0
  27. package/dist/shared/assistant/voice/rotationClock.d.ts.map +1 -0
  28. package/dist/shared/assistant/voice/rotationClock.js +27 -0
  29. package/dist/shared/assistant/voice/voiceStatus.d.ts +81 -0
  30. package/dist/shared/assistant/voice/voiceStatus.d.ts.map +1 -0
  31. package/dist/shared/assistant/voice/voiceStatus.js +33 -0
  32. package/dist/shared-assistant.js +88 -84
  33. package/package.json +1 -1
@@ -46,6 +46,8 @@ export * from './speech/routingSpeechEngine';
46
46
  export * from './speech/hostedVoiceCatalogue';
47
47
  export * from './voice/useVoiceInput';
48
48
  export * from './voice/voiceStageState';
49
+ export * from './voice/voiceStatus';
50
+ export * from './voice/rotationClock';
49
51
  export * from './voice/voiceSession';
50
52
  export * from './voice/speechVoices';
51
53
  export * from './voice/voiceTranscript';
@@ -72,6 +74,7 @@ export * from './turnState';
72
74
  export * from './stageCopy';
73
75
  export * from './gatewayLimits';
74
76
  export * from './documentText';
77
+ export * from './ui/AssistantAvatar';
75
78
  export * from './ui/AssistantToolActivity';
76
79
  export * from './ui/AssistantSpeechProvider';
77
80
  export * from './ui/useVoiceSession';
@@ -115,6 +118,7 @@ export * from './ui/voice/VoiceCaption';
115
118
  export * from './ui/voice/VoiceConversationView';
116
119
  export * from './ui/voice/VoiceMiniController';
117
120
  export * from './ui/voice/VoiceStage';
121
+ export * from './ui/voice/VoiceStatusText';
118
122
  export * from './ui/voice/VoiceTranscriptDrawer';
119
123
  export * from './ui/voice/VoiceWaveform';
120
124
  export * from './product';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AAGxB,cAAc,wBAAwB,CAAC;AAKvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,gBAAgB,CAAC;AAK/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAG3C,cAAc,QAAQ,CAAC;AAEvB,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AAGrC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AAGzC,cAAc,WAAW,CAAC;AAE1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AAErC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAElC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAE1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,OAAO,CAAC;AACtB,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { useAssistantTr as e } from "../i18n.js";
2
- import { useAssistantStore as t } from "../store.js";
3
- import { isStageCopy as n } from "../stageCopy.js";
2
+ import { isStageCopy as t } from "../stageCopy.js";
3
+ import { useAssistantStore as n } from "../store.js";
4
4
  import { parseToolActivity as r } from "../ui/AssistantToolActivity.js";
5
5
  import { IDLE_PREVIEW_STATE as i, isRunningStatus as a, nextPreviewEvents as o } from "./previewTransitions.js";
6
6
  import { NO_OWNER as s } from "./surfaceState.js";
@@ -18,7 +18,7 @@ function d(e, t) {
18
18
  }
19
19
  }
20
20
  function f(f) {
21
- let p = e(), m = t((e) => e.activeConversationId), h = t((e) => e.activeConversationId ? e.processingByConversationId[e.activeConversationId] : void 0), g = t((e) => {
21
+ let p = e(), m = n((e) => e.activeConversationId), h = n((e) => e.activeConversationId ? e.processingByConversationId[e.activeConversationId] : void 0), g = n((e) => {
22
22
  let t = e.activeConversationId, n = t ? e.processingByConversationId[t]?.messageId : null;
23
23
  return !t || !n ? null : e.conversations.find((e) => e.id === t)?.messages.find((e) => e.id === n)?.content ?? null;
24
24
  }), _ = u(i), v = u(null), y = u(null);
@@ -36,17 +36,17 @@ function f(f) {
36
36
  _.current = t;
37
37
  for (let t of e) d(v.current, t);
38
38
  }, []), l(() => {
39
- let e = f?.onEvent, t = h?.messageId ?? null, l = m && t ? `${m}:${t}` : null, u = h?.status ?? "idle", v = l ? a(u) ? c.ownerFor(l) : c.ownerForSettled(l) : s;
39
+ let e = f?.onEvent, n = h?.messageId ?? null, l = m && n ? `${m}:${n}` : null, u = h?.status ?? "idle", v = l ? a(u) ? c.ownerFor(l) : c.ownerForSettled(l) : s;
40
40
  if (!e) {
41
41
  _.current = i;
42
42
  return;
43
43
  }
44
44
  let b = (e) => {
45
45
  d(f, e);
46
- }, x = m && t ? {
47
- runId: `${m}:${t}`,
46
+ }, x = m && n ? {
47
+ runId: `${m}:${n}`,
48
48
  conversationId: m,
49
- messageId: t,
49
+ messageId: n,
50
50
  ...v
51
51
  } : null;
52
52
  x && y.current?.runId !== x.runId && (y.current = {
@@ -63,7 +63,7 @@ function f(f) {
63
63
  content: w,
64
64
  steps: C,
65
65
  error: h?.error ?? null,
66
- isFiller: (e) => n(S, e)
66
+ isFiller: (e) => t(S, e)
67
67
  });
68
68
  _.current = E;
69
69
  for (let e of T) b(e);
@@ -0,0 +1,26 @@
1
+ import { FC } from 'react';
2
+ /**
3
+ * The assistant's brand mark beside each of its messages.
4
+ *
5
+ * ★★ `active` must be the turn's IN-FLIGHT flag — `isStreaming`, which
6
+ * `AssistantChatArea` derives through `isTurnInFlight`. That flag is already
7
+ * true on the first frame of `provisioning`, so the cold-start wait animates
8
+ * too, and it goes false on complete, on error, on interrupt (the processing
9
+ * entry is deleted) and while an approval is pending (the turn settles to
10
+ * `complete` first). Keying off "has text" would miss the whole wait before the
11
+ * first token; keying off the message id latches forever — the bug recorded
12
+ * beside `activeStreamingMessageId`.
13
+ *
14
+ * ★ Every settled message draws this same avatar, so the motion MUST be gated on
15
+ * `active` or the entire transcript breathes.
16
+ *
17
+ * ★ Motion is `motion-safe:` only. An OS reduced-motion preference reaches this
18
+ * through that media query; the product's own preference through
19
+ * `:root[data-reduce-motion]` in tokens.css. Both paths stop it. It is purely
20
+ * decorative — the transcript's `aria-busy` already conveys the state — so it is
21
+ * hidden from assistive technology.
22
+ */
23
+ export declare const AssistantAvatar: FC<{
24
+ active?: boolean;
25
+ }>;
26
+ //# sourceMappingURL=AssistantAvatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantAvatar.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAcpD,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Sparkles as e } from "lucide-react";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/shared/assistant/ui/AssistantAvatar.tsx
4
+ var n = ({ active: n = !1 }) => /* @__PURE__ */ t("div", {
5
+ "aria-hidden": "true",
6
+ "data-testid": "assistant-avatar",
7
+ "data-active": n ? "true" : void 0,
8
+ className: "mt-0.5 flex size-6 flex-shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-action-primary-bg/25 to-action-primary-bg/5 text-action-primary-bg" + (n ? " motion-safe:animate-pulse" : ""),
9
+ children: /* @__PURE__ */ t(e, { className: "size-3.5" })
10
+ });
11
+ //#endregion
12
+ export { n as AssistantAvatar };