@talk2view/sdk 0.3.3 → 0.5.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 (160) hide show
  1. package/dist/event-emitter.d.ts +7 -0
  2. package/dist/event-emitter.d.ts.map +1 -0
  3. package/dist/event-emitter.js +23 -0
  4. package/dist/event-emitter.js.map +1 -0
  5. package/dist/index.d.ts +76 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +310 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/react/T2VProvider.js +1 -1
  10. package/dist/react/T2VProvider.js.map +1 -1
  11. package/dist/react/index.d.ts +2 -1
  12. package/dist/react/index.d.ts.map +1 -1
  13. package/dist/react/useT2VChat.d.ts +6 -22
  14. package/dist/react/useT2VChat.d.ts.map +1 -1
  15. package/dist/react/useT2VChat.js +34 -218
  16. package/dist/react/useT2VChat.js.map +1 -1
  17. package/dist/sessions.d.ts.map +1 -1
  18. package/dist/sessions.js +3 -0
  19. package/dist/sessions.js.map +1 -1
  20. package/dist/tools.d.ts +5 -0
  21. package/dist/tools.d.ts.map +1 -1
  22. package/dist/tools.js +16 -2
  23. package/dist/tools.js.map +1 -1
  24. package/dist/types.d.ts +45 -0
  25. package/dist/types.d.ts.map +1 -1
  26. package/dist/ui/components/ApprovalCard.d.ts +10 -0
  27. package/dist/ui/components/ApprovalCard.d.ts.map +1 -0
  28. package/dist/ui/components/ApprovalCard.js +60 -0
  29. package/dist/ui/components/ApprovalCard.js.map +1 -0
  30. package/dist/ui/components/{T2VChatHeader.d.ts → ChatHeader.d.ts} +4 -4
  31. package/dist/ui/components/ChatHeader.d.ts.map +1 -0
  32. package/dist/ui/components/ChatHeader.js +126 -0
  33. package/dist/ui/components/ChatHeader.js.map +1 -0
  34. package/dist/ui/components/ChatPanel.d.ts +9 -0
  35. package/dist/ui/components/ChatPanel.d.ts.map +1 -0
  36. package/dist/ui/components/ChatPanel.js +37 -0
  37. package/dist/ui/components/ChatPanel.js.map +1 -0
  38. package/dist/ui/components/ChatWidget.d.ts +5 -0
  39. package/dist/ui/components/ChatWidget.d.ts.map +1 -0
  40. package/dist/ui/components/ChatWidget.js +27 -0
  41. package/dist/ui/components/ChatWidget.js.map +1 -0
  42. package/dist/ui/components/CodeBlock.d.ts +6 -0
  43. package/dist/ui/components/CodeBlock.d.ts.map +1 -0
  44. package/dist/ui/components/CodeBlock.js +79 -0
  45. package/dist/ui/components/CodeBlock.js.map +1 -0
  46. package/dist/ui/components/Composer.d.ts +14 -0
  47. package/dist/ui/components/Composer.d.ts.map +1 -0
  48. package/dist/ui/components/Composer.js +172 -0
  49. package/dist/ui/components/Composer.js.map +1 -0
  50. package/dist/ui/components/LoginForm.d.ts +5 -0
  51. package/dist/ui/components/LoginForm.d.ts.map +1 -0
  52. package/dist/ui/components/LoginForm.js +37 -0
  53. package/dist/ui/components/LoginForm.js.map +1 -0
  54. package/dist/ui/components/MarkdownRenderer.d.ts +5 -0
  55. package/dist/ui/components/MarkdownRenderer.d.ts.map +1 -0
  56. package/dist/ui/components/MarkdownRenderer.js +28 -0
  57. package/dist/ui/components/MarkdownRenderer.js.map +1 -0
  58. package/dist/ui/components/MessageActions.d.ts +6 -0
  59. package/dist/ui/components/MessageActions.d.ts.map +1 -0
  60. package/dist/ui/components/MessageActions.js +43 -0
  61. package/dist/ui/components/MessageActions.js.map +1 -0
  62. package/dist/ui/components/MessageBubble.d.ts +16 -0
  63. package/dist/ui/components/MessageBubble.d.ts.map +1 -0
  64. package/dist/ui/components/MessageBubble.js +71 -0
  65. package/dist/ui/components/MessageBubble.js.map +1 -0
  66. package/dist/ui/components/MessageList.d.ts +10 -0
  67. package/dist/ui/components/MessageList.d.ts.map +1 -0
  68. package/dist/ui/components/MessageList.js +69 -0
  69. package/dist/ui/components/MessageList.js.map +1 -0
  70. package/dist/ui/components/SettingsPanel.d.ts +11 -0
  71. package/dist/ui/components/SettingsPanel.d.ts.map +1 -0
  72. package/dist/ui/components/{SettingsView.js → SettingsPanel.js} +27 -27
  73. package/dist/ui/components/SettingsPanel.js.map +1 -0
  74. package/dist/ui/components/Shimmer.d.ts +2 -0
  75. package/dist/ui/components/Shimmer.d.ts.map +1 -0
  76. package/dist/ui/components/Shimmer.js +10 -0
  77. package/dist/ui/components/Shimmer.js.map +1 -0
  78. package/dist/ui/components/Talk2View.d.ts +21 -0
  79. package/dist/ui/components/Talk2View.d.ts.map +1 -0
  80. package/dist/ui/components/Talk2View.js +79 -0
  81. package/dist/ui/components/Talk2View.js.map +1 -0
  82. package/dist/ui/components/ThinkingBlock.d.ts +7 -0
  83. package/dist/ui/components/ThinkingBlock.d.ts.map +1 -0
  84. package/dist/ui/components/ThinkingBlock.js +64 -0
  85. package/dist/ui/components/ThinkingBlock.js.map +1 -0
  86. package/dist/ui/components/ToolDisplay.d.ts +28 -0
  87. package/dist/ui/components/ToolDisplay.d.ts.map +1 -0
  88. package/dist/ui/components/ToolDisplay.js +123 -0
  89. package/dist/ui/components/ToolDisplay.js.map +1 -0
  90. package/dist/ui/components/WelcomeScreen.d.ts +6 -0
  91. package/dist/ui/components/WelcomeScreen.d.ts.map +1 -0
  92. package/dist/ui/components/WelcomeScreen.js +18 -0
  93. package/dist/ui/components/WelcomeScreen.js.map +1 -0
  94. package/dist/ui/context.d.ts +29 -0
  95. package/dist/ui/context.d.ts.map +1 -0
  96. package/dist/ui/context.js +16 -0
  97. package/dist/ui/context.js.map +1 -0
  98. package/dist/ui/index.d.ts +24 -37
  99. package/dist/ui/index.d.ts.map +1 -1
  100. package/dist/ui/index.js +23 -35
  101. package/dist/ui/index.js.map +1 -1
  102. package/dist/ui/styles.d.ts +2 -0
  103. package/dist/ui/styles.d.ts.map +1 -0
  104. package/dist/ui/styles.js +91 -0
  105. package/dist/ui/styles.js.map +1 -0
  106. package/dist/ui/theme.d.ts +11 -0
  107. package/dist/ui/theme.d.ts.map +1 -0
  108. package/dist/ui/theme.js +70 -0
  109. package/dist/ui/theme.js.map +1 -0
  110. package/package.json +3 -10
  111. package/dist/ui/components/LoginModal.d.ts +0 -10
  112. package/dist/ui/components/LoginModal.d.ts.map +0 -1
  113. package/dist/ui/components/LoginModal.js +0 -138
  114. package/dist/ui/components/LoginModal.js.map +0 -1
  115. package/dist/ui/components/SettingsView.d.ts +0 -11
  116. package/dist/ui/components/SettingsView.d.ts.map +0 -1
  117. package/dist/ui/components/SettingsView.js.map +0 -1
  118. package/dist/ui/components/T2VAssistantModal.d.ts +0 -31
  119. package/dist/ui/components/T2VAssistantModal.d.ts.map +0 -1
  120. package/dist/ui/components/T2VAssistantModal.js +0 -151
  121. package/dist/ui/components/T2VAssistantModal.js.map +0 -1
  122. package/dist/ui/components/T2VAssistantProvider.d.ts +0 -42
  123. package/dist/ui/components/T2VAssistantProvider.d.ts.map +0 -1
  124. package/dist/ui/components/T2VAssistantProvider.js +0 -66
  125. package/dist/ui/components/T2VAssistantProvider.js.map +0 -1
  126. package/dist/ui/components/T2VChatHeader.d.ts.map +0 -1
  127. package/dist/ui/components/T2VChatHeader.js +0 -112
  128. package/dist/ui/components/T2VChatHeader.js.map +0 -1
  129. package/dist/ui/components/T2VComposer.d.ts +0 -11
  130. package/dist/ui/components/T2VComposer.d.ts.map +0 -1
  131. package/dist/ui/components/T2VComposer.js +0 -124
  132. package/dist/ui/components/T2VComposer.js.map +0 -1
  133. package/dist/ui/components/T2VDictationAdapter.d.ts +0 -18
  134. package/dist/ui/components/T2VDictationAdapter.d.ts.map +0 -1
  135. package/dist/ui/components/T2VDictationAdapter.js +0 -126
  136. package/dist/ui/components/T2VDictationAdapter.js.map +0 -1
  137. package/dist/ui/components/T2VLoginGate.d.ts +0 -23
  138. package/dist/ui/components/T2VLoginGate.d.ts.map +0 -1
  139. package/dist/ui/components/T2VLoginGate.js +0 -11
  140. package/dist/ui/components/T2VLoginGate.js.map +0 -1
  141. package/dist/ui/components/T2VThread.d.ts +0 -25
  142. package/dist/ui/components/T2VThread.d.ts.map +0 -1
  143. package/dist/ui/components/T2VThread.js +0 -66
  144. package/dist/ui/components/T2VThread.js.map +0 -1
  145. package/dist/ui/components/T2VToolFallback.d.ts +0 -11
  146. package/dist/ui/components/T2VToolFallback.d.ts.map +0 -1
  147. package/dist/ui/components/T2VToolFallback.js +0 -209
  148. package/dist/ui/components/T2VToolFallback.js.map +0 -1
  149. package/dist/ui/runtime/convertMessage.d.ts +0 -17
  150. package/dist/ui/runtime/convertMessage.d.ts.map +0 -1
  151. package/dist/ui/runtime/convertMessage.js +0 -77
  152. package/dist/ui/runtime/convertMessage.js.map +0 -1
  153. package/dist/ui/runtime/useT2VRuntime.d.ts +0 -42
  154. package/dist/ui/runtime/useT2VRuntime.d.ts.map +0 -1
  155. package/dist/ui/runtime/useT2VRuntime.js +0 -62
  156. package/dist/ui/runtime/useT2VRuntime.js.map +0 -1
  157. package/dist/ui/themes/tailwind-preset.d.ts +0 -43
  158. package/dist/ui/themes/tailwind-preset.d.ts.map +0 -1
  159. package/dist/ui/themes/tailwind-preset.js +0 -43
  160. package/dist/ui/themes/tailwind-preset.js.map +0 -1
@@ -0,0 +1,91 @@
1
+ let injected = false;
2
+ export function injectComponentStyles() {
3
+ if (injected || typeof document === 'undefined')
4
+ return;
5
+ const id = 't2v-component-styles';
6
+ if (document.getElementById(id)) {
7
+ injected = true;
8
+ return;
9
+ }
10
+ const style = document.createElement('style');
11
+ style.id = id;
12
+ style.textContent = `
13
+ [data-talk2view], [data-talk2view] * {
14
+ box-sizing: border-box;
15
+ }
16
+
17
+ @keyframes t2v-fade-in {
18
+ from { opacity: 0; transform: translateY(6px); }
19
+ to { opacity: 1; transform: translateY(0); }
20
+ }
21
+ @keyframes t2v-spin {
22
+ to { transform: rotate(360deg); }
23
+ }
24
+ @keyframes t2v-dot-bounce {
25
+ 0%, 80%, 100% { transform: translateY(0); }
26
+ 40% { transform: translateY(-4px); }
27
+ }
28
+ @keyframes t2v-blink {
29
+ 0%, 50% { opacity: 1; }
30
+ 51%, 100% { opacity: 0; }
31
+ }
32
+ @keyframes t2v-shimmer {
33
+ 0% { background-position: -200% 0; }
34
+ 100% { background-position: 200% 0; }
35
+ }
36
+ @keyframes t2v-typing {
37
+ 0%, 60%, 100% { opacity: 0.3; transform: scale(0.8); }
38
+ 30% { opacity: 1; transform: scale(1); }
39
+ }
40
+
41
+ [data-talk2view] .t2v-scrollable::-webkit-scrollbar { width: 4px; }
42
+ [data-talk2view] .t2v-scrollable::-webkit-scrollbar-thumb {
43
+ background: var(--t2v-border); border-radius: 2px;
44
+ }
45
+ [data-talk2view] .t2v-scrollable::-webkit-scrollbar-track { background: transparent; }
46
+
47
+ [data-talk2view] .t2v-focusable:focus-visible {
48
+ outline: 2px solid var(--t2v-accent);
49
+ outline-offset: 2px;
50
+ }
51
+
52
+ [data-talk2view] .t2v-md p { margin: 0 0 0.5em; }
53
+ [data-talk2view] .t2v-md p:last-child { margin-bottom: 0; }
54
+ [data-talk2view] .t2v-md h1, [data-talk2view] .t2v-md h2, [data-talk2view] .t2v-md h3 {
55
+ margin: 0.8em 0 0.3em; font-weight: 600; line-height: 1.3;
56
+ }
57
+ [data-talk2view] .t2v-md h1 { font-size: 1.25em; }
58
+ [data-talk2view] .t2v-md h2 { font-size: 1.1em; }
59
+ [data-talk2view] .t2v-md h3 { font-size: 1em; }
60
+ [data-talk2view] .t2v-md ul, [data-talk2view] .t2v-md ol { margin: 0.3em 0; padding-left: 1.3em; }
61
+ [data-talk2view] .t2v-md li { margin: 0.15em 0; }
62
+ [data-talk2view] .t2v-md code {
63
+ font-family: var(--t2v-font-mono); font-size: 0.88em;
64
+ padding: 0.12em 0.3em; background: var(--t2v-surface-hover); border-radius: 3px;
65
+ }
66
+ [data-talk2view] .t2v-md pre { margin: 0.5em 0; padding: 0; border-radius: 6px; overflow: hidden; }
67
+ [data-talk2view] .t2v-md pre code { display: block; padding: 0.7em 0.9em; background: none; overflow-x: auto; }
68
+ [data-talk2view] .t2v-md blockquote {
69
+ margin: 0.5em 0; padding: 0.3em 0.8em;
70
+ border-left: 3px solid var(--t2v-accent); color: var(--t2v-muted);
71
+ }
72
+ [data-talk2view] .t2v-md strong { font-weight: 600; }
73
+ [data-talk2view] .t2v-md a { color: var(--t2v-accent); text-decoration: underline; }
74
+ [data-talk2view] .t2v-md table { border-collapse: collapse; width: 100%; margin: 0.5em 0; font-size: 0.92em; }
75
+ [data-talk2view] .t2v-md th, [data-talk2view] .t2v-md td {
76
+ border: 1px solid var(--t2v-border); padding: 0.3em 0.5em; text-align: left;
77
+ }
78
+ [data-talk2view] .t2v-md th { background: var(--t2v-surface); font-weight: 600; }
79
+ [data-talk2view] .t2v-md hr { border: none; border-top: 1px solid var(--t2v-border); margin: 0.6em 0; }
80
+
81
+ [data-talk2view] .shiki { margin: 0; padding: 12px 14px; overflow-x: auto; }
82
+ [data-talk2view] .shiki code { font-family: var(--t2v-font-mono); font-size: 13px; }
83
+
84
+ [data-talk2view] .t2v-btn:hover { filter: brightness(1.05); }
85
+ [data-talk2view] .t2v-btn:active { transform: scale(0.98); }
86
+ [data-talk2view] .t2v-btn-ghost:hover { background: var(--t2v-surface-hover); }
87
+ `;
88
+ document.head.appendChild(style);
89
+ injected = true;
90
+ }
91
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAAA,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,MAAM,UAAU,qBAAqB;IACnC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IACxD,MAAM,EAAE,GAAG,sBAAsB,CAAC;IAClC,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QAAC,QAAQ,GAAG,IAAI,CAAC;QAAC,OAAO;IAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ErB,CAAC;IACA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Talk2ViewTheme } from '../types';
2
+ export declare const THEME_DEFAULTS: Required<Talk2ViewTheme>;
3
+ export declare function generateThemeCSS(theme: Talk2ViewTheme): string;
4
+ export declare function injectTheme(theme: Talk2ViewTheme): void;
5
+ export declare function injectFonts(): void;
6
+ export declare const LOGOS: {
7
+ readonly icon: "https://db.talk2view.com/storage/v1/object/public/resources/talk2view_logo.png";
8
+ readonly horizontalDark: "https://db.talk2view.com/storage/v1/object/public/resources/talk2view_horizontal_dark.png";
9
+ readonly horizontalLight: "https://db.talk2view.com/storage/v1/object/public/resources/talk2view_horizontal_light.png";
10
+ };
11
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,cAAc,CAenD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAkB9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAUvD;AAGD,wBAAgB,WAAW,IAAI,IAAI,CAUlC;AAGD,eAAO,MAAM,KAAK;;;;CAIR,CAAC"}
@@ -0,0 +1,70 @@
1
+ export const THEME_DEFAULTS = {
2
+ accent: '#40D4B6',
3
+ accentForeground: '#FFFFFF',
4
+ bg: '#F8FAFC',
5
+ foreground: '#01161E',
6
+ muted: '#9F9AA4',
7
+ border: '#E5E7EB',
8
+ userBubble: '#01161E',
9
+ userForeground: '#F8FAFC',
10
+ error: '#DC2626',
11
+ radius: 12,
12
+ font: "'IBM Plex Sans', sans-serif",
13
+ fontMono: "'IBM Plex Mono', monospace",
14
+ surface: 'rgba(0,0,0,0.02)',
15
+ surfaceHover: 'rgba(0,0,0,0.05)',
16
+ };
17
+ export function generateThemeCSS(theme) {
18
+ const t = { ...THEME_DEFAULTS, ...theme };
19
+ return `[data-talk2view] {
20
+ --t2v-accent: ${t.accent};
21
+ --t2v-accent-foreground: ${t.accentForeground};
22
+ --t2v-bg: ${t.bg};
23
+ --t2v-foreground: ${t.foreground};
24
+ --t2v-muted: ${t.muted};
25
+ --t2v-border: ${t.border};
26
+ --t2v-user-bubble: ${t.userBubble};
27
+ --t2v-user-foreground: ${t.userForeground};
28
+ --t2v-error: ${t.error};
29
+ --t2v-radius: ${t.radius}px;
30
+ --t2v-font: ${t.font};
31
+ --t2v-font-mono: ${t.fontMono};
32
+ --t2v-surface: ${t.surface};
33
+ --t2v-surface-hover: ${t.surfaceHover};
34
+ }`;
35
+ }
36
+ export function injectTheme(theme) {
37
+ if (typeof document === 'undefined')
38
+ return;
39
+ const id = 't2v-theme';
40
+ let el = document.getElementById(id);
41
+ if (!el) {
42
+ el = document.createElement('style');
43
+ el.id = id;
44
+ document.head.appendChild(el);
45
+ }
46
+ el.textContent = generateThemeCSS(theme);
47
+ }
48
+ let fontsInjected = false;
49
+ export function injectFonts() {
50
+ if (fontsInjected || typeof document === 'undefined')
51
+ return;
52
+ const id = 't2v-fonts';
53
+ if (document.getElementById(id)) {
54
+ fontsInjected = true;
55
+ return;
56
+ }
57
+ const link = document.createElement('link');
58
+ link.id = id;
59
+ link.rel = 'stylesheet';
60
+ link.href = 'https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap';
61
+ document.head.appendChild(link);
62
+ fontsInjected = true;
63
+ }
64
+ const ASSETS_BASE = 'https://db.talk2view.com/storage/v1/object/public/resources';
65
+ export const LOGOS = {
66
+ icon: `${ASSETS_BASE}/talk2view_logo.png`,
67
+ horizontalDark: `${ASSETS_BASE}/talk2view_horizontal_dark.png`,
68
+ horizontalLight: `${ASSETS_BASE}/talk2view_horizontal_light.png`,
69
+ };
70
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,MAAM,EAAE,SAAS;IACjB,gBAAgB,EAAE,SAAS;IAC3B,EAAE,EAAE,SAAS;IACb,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,SAAS;IACzB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,6BAA6B;IACnC,QAAQ,EAAE,4BAA4B;IACtC,OAAO,EAAE,kBAAkB;IAC3B,YAAY,EAAE,kBAAkB;CACjC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,KAAqB;IACpD,MAAM,CAAC,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,EAAE,CAAC;IAC1C,OAAO;kBACS,CAAC,CAAC,MAAM;6BACG,CAAC,CAAC,gBAAgB;cACjC,CAAC,CAAC,EAAE;sBACI,CAAC,CAAC,UAAU;iBACjB,CAAC,CAAC,KAAK;kBACN,CAAC,CAAC,MAAM;uBACH,CAAC,CAAC,UAAU;2BACR,CAAC,CAAC,cAAc;iBAC1B,CAAC,CAAC,KAAK;kBACN,CAAC,CAAC,MAAM;gBACV,CAAC,CAAC,IAAI;qBACD,CAAC,CAAC,QAAQ;mBACZ,CAAC,CAAC,OAAO;yBACH,CAAC,CAAC,YAAY;EACrC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAqB;IAC/C,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAC5C,MAAM,EAAE,GAAG,WAAW,CAAC;IACvB,IAAI,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAA4B,CAAC;IAChE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,EAAE,CAAC,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,MAAM,UAAU,WAAW;IACzB,IAAI,aAAa,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAC7D,MAAM,EAAE,GAAG,WAAW,CAAC;IACvB,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QAAC,aAAa,GAAG,IAAI,CAAC;QAAC,OAAO;IAAC,CAAC;IAClE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;IACxB,IAAI,CAAC,IAAI,GAAG,4HAA4H,CAAC;IACzI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,WAAW,GAAG,6DAA6D,CAAC;AAClF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,GAAG,WAAW,qBAAqB;IACzC,cAAc,EAAE,GAAG,WAAW,gCAAgC;IAC9D,eAAe,EAAE,GAAG,WAAW,iCAAiC;CACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talk2view/sdk",
3
- "version": "0.3.3",
3
+ "version": "0.5.0",
4
4
  "description": "Talk2View SDK — Add AI-powered natural language control to any application",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,11 +20,6 @@
20
20
  "types": "./dist/ui/index.d.ts",
21
21
  "import": "./dist/ui/index.js",
22
22
  "default": "./dist/ui/index.js"
23
- },
24
- "./assistant-ui": {
25
- "types": "./dist/ui/index.d.ts",
26
- "import": "./dist/ui/index.js",
27
- "default": "./dist/ui/index.js"
28
23
  }
29
24
  },
30
25
  "files": [
@@ -42,12 +37,10 @@
42
37
  "prepublishOnly": "npm run build"
43
38
  },
44
39
  "dependencies": {
45
- "@assistant-ui/react": "^0.12.19",
46
- "@assistant-ui/react-markdown": "^0.12.6",
47
- "@assistant-ui/react-ui": "^0.2.1",
48
40
  "dompurify": "^3.2.0",
41
+ "lucide-react": "^1.8.0",
49
42
  "marked": "^15.0.0",
50
- "remark-gfm": "^4.0.1"
43
+ "shiki": "^4.0.2"
51
44
  },
52
45
  "devDependencies": {
53
46
  "@playwright/test": "^1.58.2",
@@ -1,10 +0,0 @@
1
- /**
2
- * LoginModal — pre-built login/signup form.
3
- */
4
- export interface LoginModalProps {
5
- signupUrl?: string;
6
- className?: string;
7
- onSuccess?: () => void;
8
- }
9
- export declare function LoginModal({ signupUrl, className, onSuccess, }: LoginModalProps): import("react/jsx-runtime").JSX.Element | null;
10
- //# sourceMappingURL=LoginModal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoginModal.d.ts","sourceRoot":"","sources":["../../../src/ui/components/LoginModal.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,UAAU,CAAC,EACzB,SAA2C,EAC3C,SAAc,EACd,SAAS,GACV,EAAE,eAAe,kDA2OjB"}
@@ -1,138 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * LoginModal — pre-built login/signup form.
4
- */
5
- import React, { useCallback, useState } from 'react';
6
- import { useT2VAuth } from '../../react/useT2VAuth';
7
- import { T2V_ALPHA, T2V_COLORS, T2V_FONTS, T2VLogo, injectT2VFonts, injectT2VStyles } from '../../react/theme';
8
- export function LoginModal({ signupUrl = 'https://talk2view.com/sign-up', className = '', onSuccess, }) {
9
- const { login, isLoading, error, clearError, isAuthenticated } = useT2VAuth();
10
- const [email, setEmail] = useState('');
11
- const [password, setPassword] = useState('');
12
- const [emailFocused, setEmailFocused] = useState(false);
13
- const [passwordFocused, setPasswordFocused] = useState(false);
14
- const [btnHover, setBtnHover] = useState(false);
15
- const [linkHover, setLinkHover] = useState(false);
16
- // Inject fonts and keyframes (idempotent)
17
- React.useEffect(() => {
18
- injectT2VFonts();
19
- injectT2VStyles();
20
- }, []);
21
- const handleSubmit = useCallback(async (e) => {
22
- e.preventDefault();
23
- try {
24
- await login(email, password);
25
- onSuccess?.();
26
- }
27
- catch {
28
- // Error is set by useT2VAuth
29
- }
30
- }, [email, password, login, onSuccess]);
31
- if (isAuthenticated)
32
- return null;
33
- const inputStyle = (focused) => ({
34
- width: '100%',
35
- padding: '10px 12px',
36
- borderRadius: '8px',
37
- border: `1.5px solid ${focused ? T2V_COLORS.turquoise : T2V_COLORS.lightGray}`,
38
- fontSize: '14px',
39
- fontFamily: T2V_FONTS.body,
40
- outline: 'none',
41
- boxSizing: 'border-box',
42
- color: T2V_COLORS.dark,
43
- backgroundColor: '#ffffff',
44
- boxShadow: focused ? `0 0 0 3px ${T2V_ALPHA.turquoise15}` : 'none',
45
- transition: 'border-color 0.15s ease, box-shadow 0.15s ease',
46
- });
47
- return (_jsxs("div", { className: `t2v-login-modal ${className}`, style: {
48
- display: 'flex',
49
- flexDirection: 'column',
50
- alignItems: 'center',
51
- justifyContent: 'center',
52
- flex: 1,
53
- minHeight: 0,
54
- padding: '40px 22px',
55
- width: '100%',
56
- maxWidth: '340px',
57
- margin: '0 auto',
58
- fontFamily: T2V_FONTS.body,
59
- }, children: [_jsx(T2VLogo, { size: 64 }), _jsx("h2", { style: {
60
- fontSize: '22px',
61
- fontWeight: 600,
62
- fontFamily: T2V_FONTS.heading,
63
- marginTop: '16px',
64
- marginBottom: '4px',
65
- color: T2V_COLORS.dark,
66
- }, children: "Welcome" }), _jsx("p", { style: {
67
- fontSize: '14px',
68
- color: T2V_COLORS.midGray,
69
- fontFamily: T2V_FONTS.heading,
70
- marginTop: '0',
71
- marginBottom: '28px',
72
- }, children: "Sign in to Talk2View" }), _jsxs("form", { onSubmit: handleSubmit, style: { width: '100%' }, children: [_jsxs("div", { style: { marginBottom: '16px' }, children: [_jsx("label", { htmlFor: "t2v-email", style: {
73
- display: 'block',
74
- fontSize: '13px',
75
- fontWeight: 500,
76
- fontFamily: T2V_FONTS.heading,
77
- marginBottom: '6px',
78
- color: T2V_COLORS.dark,
79
- }, children: "Email" }), _jsx("input", { id: "t2v-email", type: "email", value: email, onChange: (e) => { setEmail(e.target.value); clearError(); }, onFocus: () => setEmailFocused(true), onBlur: () => setEmailFocused(false), placeholder: "you@example.com", required: true, disabled: isLoading, style: inputStyle(emailFocused) })] }), _jsxs("div", { style: { marginBottom: '24px' }, children: [_jsx("label", { htmlFor: "t2v-password", style: {
80
- display: 'block',
81
- fontSize: '13px',
82
- fontWeight: 500,
83
- fontFamily: T2V_FONTS.heading,
84
- marginBottom: '6px',
85
- color: T2V_COLORS.dark,
86
- }, children: "Password" }), _jsx("input", { id: "t2v-password", type: "password", value: password, onChange: (e) => { setPassword(e.target.value); clearError(); }, onFocus: () => setPasswordFocused(true), onBlur: () => setPasswordFocused(false), placeholder: "Password", required: true, disabled: isLoading, style: inputStyle(passwordFocused) })] }), error && (_jsx("div", { style: {
87
- padding: '10px 12px',
88
- borderRadius: '8px',
89
- backgroundColor: T2V_COLORS.errorBg,
90
- color: T2V_COLORS.errorRed,
91
- fontSize: '13px',
92
- fontFamily: T2V_FONTS.heading,
93
- marginBottom: '16px',
94
- borderLeft: `3px solid ${T2V_COLORS.errorRed}`,
95
- }, children: error })), _jsxs("button", { type: "submit", disabled: isLoading, onMouseEnter: () => setBtnHover(true), onMouseLeave: () => setBtnHover(false), style: {
96
- width: '100%',
97
- padding: '11px',
98
- borderRadius: '8px',
99
- border: 'none',
100
- backgroundColor: isLoading
101
- ? T2V_COLORS.lightGray
102
- : btnHover
103
- ? T2V_COLORS.stormyTeal
104
- : T2V_COLORS.accent,
105
- color: isLoading ? T2V_COLORS.midGray : '#ffffff',
106
- fontSize: '15px',
107
- fontWeight: 600,
108
- fontFamily: T2V_FONTS.heading,
109
- cursor: isLoading ? 'not-allowed' : 'pointer',
110
- transition: 'background-color 0.15s ease, transform 0.15s ease',
111
- transform: !isLoading && btnHover ? 'translateY(-1px)' : 'none',
112
- display: 'flex',
113
- alignItems: 'center',
114
- justifyContent: 'center',
115
- gap: '8px',
116
- }, children: [isLoading && (_jsx("span", { style: {
117
- display: 'inline-block',
118
- width: '16px',
119
- height: '16px',
120
- border: `2px solid ${T2V_COLORS.midGray}`,
121
- borderTopColor: 'transparent',
122
- borderRadius: '50%',
123
- animation: 't2v-spin 0.6s linear infinite',
124
- } })), isLoading ? 'Signing in…' : 'Sign in'] })] }), _jsxs("p", { style: {
125
- marginTop: '20px',
126
- fontSize: '13px',
127
- fontFamily: T2V_FONTS.heading,
128
- color: T2V_COLORS.midGray,
129
- }, children: ["Don't have an account?", ' ', _jsx("a", { href: signupUrl, ...(typeof window !== 'undefined' && new URL(signupUrl, window.location.origin).origin !== window.location.origin
130
- ? { target: '_blank', rel: 'noopener noreferrer' }
131
- : {}), onMouseEnter: () => setLinkHover(true), onMouseLeave: () => setLinkHover(false), style: {
132
- color: linkHover ? T2V_COLORS.stormyTeal : T2V_COLORS.turquoise,
133
- fontWeight: 500,
134
- textDecoration: linkHover ? 'underline' : 'none',
135
- transition: 'color 0.15s ease',
136
- }, children: "Sign up" })] })] }));
137
- }
138
- //# sourceMappingURL=LoginModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoginModal.js","sourceRoot":"","sources":["../../../src/ui/components/LoginModal.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- /**
2
- * SettingsView — full-panel settings page for user preferences.
3
- */
4
- export interface SettingsViewProps {
5
- onBack: () => void;
6
- onModelChange?: (model: string) => void;
7
- /** Hide the built-in header (use when embedding in a container with its own header). */
8
- hideHeader?: boolean;
9
- }
10
- export declare function SettingsView({ onBack, onModelChange, hideHeader }: SettingsViewProps): import("react/jsx-runtime").JSX.Element;
11
- //# sourceMappingURL=SettingsView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SettingsView.d.ts","sourceRoot":"","sources":["../../../src/ui/components/SettingsView.tsx"],"names":[],"mappings":"AAAA;;GAEG;AASH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAuDD,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,iBAAiB,2CA0PpF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SettingsView.js","sourceRoot":"","sources":["../../../src/ui/components/SettingsView.tsx"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- /**
2
- * T2VAssistantModal — Floating chat widget using assistant-ui's AssistantModal.
3
- *
4
- * Renders a fixed-position trigger button (bottom-right by default) with the
5
- * Talk2View logo that opens a chat popover. Includes a header with a
6
- * settings/sign-out dropdown.
7
- *
8
- * All styling is self-contained — no CSS overrides needed in the consumer app.
9
- *
10
- * Must be used inside T2VAssistantProvider.
11
- *
12
- * @example
13
- * ```tsx
14
- * <T2VAssistantProvider partnerKey="pk_live_abc">
15
- * <MyExistingApp />
16
- * <T2VAssistantModal />
17
- * </T2VAssistantProvider>
18
- * ```
19
- */
20
- import React from 'react';
21
- export interface T2VAssistantModalProps {
22
- /** Welcome message shown before the first user message. */
23
- welcomeMessage?: string;
24
- /** Clickable suggestion prompts shown below the welcome message. */
25
- suggestions?: {
26
- prompt: string;
27
- text?: React.ReactNode;
28
- }[];
29
- }
30
- export declare function T2VAssistantModal({ welcomeMessage, suggestions }: T2VAssistantModalProps): import("react/jsx-runtime").JSX.Element;
31
- //# sourceMappingURL=T2VAssistantModal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"T2VAssistantModal.d.ts","sourceRoot":"","sources":["../../../src/ui/components/T2VAssistantModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAgGxC,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,EAAE,CAAC;CAC5D;AAED,wBAAgB,iBAAiB,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,sBAAsB,2CAkGxF"}
@@ -1,151 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * T2VAssistantModal — Floating chat widget using assistant-ui's AssistantModal.
4
- *
5
- * Renders a fixed-position trigger button (bottom-right by default) with the
6
- * Talk2View logo that opens a chat popover. Includes a header with a
7
- * settings/sign-out dropdown.
8
- *
9
- * All styling is self-contained — no CSS overrides needed in the consumer app.
10
- *
11
- * Must be used inside T2VAssistantProvider.
12
- *
13
- * @example
14
- * ```tsx
15
- * <T2VAssistantProvider partnerKey="pk_live_abc">
16
- * <MyExistingApp />
17
- * <T2VAssistantModal />
18
- * </T2VAssistantProvider>
19
- * ```
20
- */
21
- import React, { useState } from 'react';
22
- import { AssistantModal, Thread } from '@assistant-ui/react-ui';
23
- import { MarkdownTextPrimitive } from '@assistant-ui/react-markdown';
24
- import remarkGfm from 'remark-gfm';
25
- import { T2VToolFallback } from './T2VToolFallback';
26
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
- const MarkdownText = () => _jsx(MarkdownTextPrimitive, { remarkPlugins: [remarkGfm], smooth: true });
28
- import { T2VComposer } from './T2VComposer';
29
- import { T2V_LOGOS } from '../../react/theme';
30
- import { T2VChatHeader } from './T2VChatHeader';
31
- import { SettingsView } from './SettingsView';
32
- import { LoginModal } from './LoginModal';
33
- import { useT2VAuth } from '../../react/useT2VAuth';
34
- import { useT2V } from '../../react/T2VProvider';
35
- import { useUserPreferences } from '../../react/useUserPreferences';
36
- import { useT2VChatActions } from './T2VAssistantProvider';
37
- const FONT_SCALE = {
38
- small: 0.875,
39
- medium: 1,
40
- large: 1.125,
41
- };
42
- /* ── Inject modal-specific CSS (idempotent) ─────────────────── */
43
- let modalStylesInjected = false;
44
- function injectModalStyles() {
45
- if (modalStylesInjected)
46
- return;
47
- if (typeof document === 'undefined')
48
- return;
49
- const id = 't2v-modal-styles';
50
- if (document.getElementById(id)) {
51
- modalStylesInjected = true;
52
- return;
53
- }
54
- const style = document.createElement('style');
55
- style.id = id;
56
- style.textContent = `
57
- /* T2V modal button — responsive, branded */
58
- .aui-modal-anchor {
59
- width: clamp(3.5rem, 5vw, 5rem);
60
- height: clamp(3.5rem, 5vw, 5rem);
61
- }
62
- .aui-modal-button[data-state="closed"] {
63
- background: transparent !important;
64
- box-shadow: none !important;
65
- }
66
- .aui-modal-button[data-state="open"] {
67
- background: hsl(var(--aui-primary, 0 0% 9.4%)) !important;
68
- color: hsl(var(--aui-primary-foreground, 0 0% 98%));
69
- }
70
- /* Logo/chevron toggle */
71
- .aui-modal-button[data-state="closed"] .t2v-modal-logo {
72
- transform: scale(1) rotate(0deg);
73
- }
74
- .aui-modal-button[data-state="open"] .t2v-modal-logo {
75
- transform: scale(0) rotate(90deg);
76
- }
77
- .aui-modal-button[data-state="closed"] .t2v-modal-chevron {
78
- transform: scale(0) rotate(-90deg);
79
- }
80
- .aui-modal-button[data-state="open"] .t2v-modal-chevron {
81
- transform: scale(1) rotate(0deg);
82
- }
83
- /* Chat popover size */
84
- .aui-modal-content {
85
- height: 70vh;
86
- width: 400px;
87
- }
88
- /* Welcome suggestions — stacked vertically, don't affect logo centering */
89
- .aui-thread-welcome-suggestions {
90
- flex-direction: column;
91
- align-items: center;
92
- gap: 0.5rem;
93
- }
94
- /* Streaming indicator — only shows while waiting for first text, not during streaming */
95
- .aui-assistant-message-content > [data-status="running"]:empty::after {
96
- animation: aui-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
97
- content: '\\25CF';
98
- margin-left: 0.25rem;
99
- }
100
- /* Prevent host app focus styles from leaking into the chat UI */
101
- .aui-root *:focus-visible,
102
- .aui-modal-content *:focus-visible {
103
- outline: none !important;
104
- }
105
- `;
106
- document.head.appendChild(style);
107
- modalStylesInjected = true;
108
- }
109
- export function T2VAssistantModal({ welcomeMessage, suggestions }) {
110
- const [view, setView] = useState('chat');
111
- const { isAuthenticated } = useT2V();
112
- const { logout } = useT2VAuth();
113
- const { clearMessages } = useT2VChatActions();
114
- const { preferences } = useUserPreferences();
115
- const fontSize = FONT_SCALE[preferences.fontSize || 'medium'] ?? 1;
116
- // Inject modal CSS on mount (idempotent)
117
- React.useEffect(() => {
118
- injectModalStyles();
119
- }, []);
120
- // Reset to chat view when auth state changes (e.g. after logout)
121
- React.useEffect(() => {
122
- if (!isAuthenticated)
123
- setView('chat');
124
- }, [isAuthenticated]);
125
- return (_jsxs(AssistantModal.Root, { children: [_jsxs(AssistantModal.Trigger, { children: [_jsx("img", { src: T2V_LOGOS.icon, alt: "Talk2View", className: "t2v-modal-logo", style: {
126
- position: 'absolute',
127
- width: '85%',
128
- height: '85%',
129
- objectFit: 'contain',
130
- transition: 'all 150ms ease',
131
- } }), _jsx("svg", { className: "t2v-modal-chevron", xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", style: {
132
- position: 'absolute',
133
- width: '1.5rem',
134
- height: '1.5rem',
135
- transition: 'all 150ms ease',
136
- }, children: _jsx("path", { d: "m6 9 6 6 6-6" }) })] }), _jsx(AssistantModal.Content, { children: isAuthenticated ? (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', height: '100%', fontSize: `${fontSize}rem` }, children: [_jsx(T2VChatHeader, { view: view, onSettingsClick: () => setView('settings'), onBackClick: () => setView('chat'), onNewChat: clearMessages, onSignOut: () => { logout().catch(console.error); } }), view === 'settings' ? (_jsx("div", { style: { flex: 1, overflow: 'auto' }, children: _jsx(SettingsView, { onBack: () => setView('chat'), hideHeader: true }) })) : (_jsx(Thread, { welcome: {
137
- message: welcomeMessage ?? 'How can I help you today?',
138
- suggestions,
139
- }, assistantMessage: {
140
- components: {
141
- Text: MarkdownText,
142
- ToolFallback: T2VToolFallback,
143
- },
144
- }, assistantAvatar: {
145
- src: T2V_LOGOS.icon,
146
- fallback: 'T2V',
147
- }, components: {
148
- Composer: T2VComposer,
149
- } }))] })) : (_jsx("div", { style: { display: 'flex', flexDirection: 'column', height: '100%', justifyContent: 'center' }, children: _jsx(LoginModal, {}) })) })] }));
150
- }
151
- //# sourceMappingURL=T2VAssistantModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"T2VAssistantModal.js","sourceRoot":"","sources":["../../../src/ui/components/T2VAssistantModal.tsx"],"names":[],"mappings":"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"}