@assistant-ui/mcp-docs-server 0.1.28 → 0.1.29

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 (36) hide show
  1. package/.docs/organized/code-examples/waterfall.md +6 -6
  2. package/.docs/organized/code-examples/with-a2a.md +7 -7
  3. package/.docs/organized/code-examples/with-ag-ui.md +8 -8
  4. package/.docs/organized/code-examples/with-ai-sdk-v6.md +9 -9
  5. package/.docs/organized/code-examples/with-artifacts.md +9 -9
  6. package/.docs/organized/code-examples/with-assistant-transport.md +7 -7
  7. package/.docs/organized/code-examples/with-chain-of-thought.md +9 -9
  8. package/.docs/organized/code-examples/with-cloud-standalone.md +9 -9
  9. package/.docs/organized/code-examples/with-cloud.md +9 -9
  10. package/.docs/organized/code-examples/with-custom-thread-list.md +9 -9
  11. package/.docs/organized/code-examples/with-elevenlabs-conversational.md +11 -11
  12. package/.docs/organized/code-examples/with-elevenlabs-scribe.md +11 -11
  13. package/.docs/organized/code-examples/with-expo.md +17 -17
  14. package/.docs/organized/code-examples/with-external-store.md +7 -7
  15. package/.docs/organized/code-examples/with-ffmpeg.md +9 -9
  16. package/.docs/organized/code-examples/with-generative-ui.md +9 -9
  17. package/.docs/organized/code-examples/with-google-adk.md +7 -7
  18. package/.docs/organized/code-examples/with-heat-graph.md +6 -6
  19. package/.docs/organized/code-examples/with-interactables.md +9 -9
  20. package/.docs/organized/code-examples/with-langgraph.md +8 -8
  21. package/.docs/organized/code-examples/with-livekit.md +50 -14
  22. package/.docs/organized/code-examples/with-opencode.md +2394 -0
  23. package/.docs/organized/code-examples/with-parent-id-grouping.md +8 -8
  24. package/.docs/organized/code-examples/with-react-hook-form.md +9 -9
  25. package/.docs/organized/code-examples/with-react-ink.md +3 -3
  26. package/.docs/organized/code-examples/with-react-router.md +8 -8
  27. package/.docs/organized/code-examples/with-store.md +6 -6
  28. package/.docs/organized/code-examples/with-tanstack.md +10 -10
  29. package/.docs/organized/code-examples/with-tap-runtime.md +7 -7
  30. package/.docs/raw/docs/(docs)/guides/voice.mdx +10 -3
  31. package/.docs/raw/docs/runtimes/custom/custom-thread-list.mdx +2 -2
  32. package/.docs/raw/docs/runtimes/custom/external-store.mdx +38 -0
  33. package/.docs/raw/docs/runtimes/custom/local.mdx +65 -18
  34. package/.docs/raw/docs/runtimes/google-adk/index.mdx +62 -0
  35. package/.docs/raw/docs/runtimes/langgraph/index.mdx +137 -1
  36. package/package.json +4 -4
@@ -307,23 +307,23 @@ export default nextConfig;
307
307
  "@google/adk": "^0.6.1",
308
308
  "class-variance-authority": "^0.7.1",
309
309
  "clsx": "^2.1.1",
310
- "lucide-react": "^1.7.0",
311
- "next": "^16.2.2",
312
- "react": "^19.2.4",
313
- "react-dom": "^19.2.4",
310
+ "lucide-react": "^1.8.0",
311
+ "next": "^16.2.3",
312
+ "react": "^19.2.5",
313
+ "react-dom": "^19.2.5",
314
314
  "tailwind-merge": "^3.5.0",
315
315
  "zod": "^4.3.6"
316
316
  },
317
317
  "devDependencies": {
318
318
  "@assistant-ui/x-buildutils": "workspace:*",
319
319
  "@tailwindcss/postcss": "^4.2.2",
320
- "@types/node": "^25.5.2",
320
+ "@types/node": "^25.6.0",
321
321
  "@types/react": "^19.2.14",
322
322
  "@types/react-dom": "^19.2.3",
323
- "postcss": "^8.5.8",
323
+ "postcss": "^8.5.9",
324
324
  "tailwindcss": "^4.2.2",
325
325
  "tw-animate-css": "^1.4.0",
326
- "typescript": "5.9.3"
326
+ "typescript": "^6.0.2"
327
327
  }
328
328
  }
329
329
 
@@ -270,19 +270,19 @@ export default nextConfig;
270
270
  },
271
271
  "dependencies": {
272
272
  "heat-graph": "workspace:*",
273
- "next": "^16.2.2",
274
- "react": "^19.2.4",
275
- "react-dom": "^19.2.4"
273
+ "next": "^16.2.3",
274
+ "react": "^19.2.5",
275
+ "react-dom": "^19.2.5"
276
276
  },
277
277
  "devDependencies": {
278
278
  "@assistant-ui/x-buildutils": "workspace:*",
279
279
  "@tailwindcss/postcss": "^4.2.2",
280
- "@types/node": "^25.5.2",
280
+ "@types/node": "^25.6.0",
281
281
  "@types/react": "^19.2.14",
282
282
  "@types/react-dom": "^19.2.3",
283
- "postcss": "^8.5.8",
283
+ "postcss": "^8.5.9",
284
284
  "tailwindcss": "^4.2.2",
285
- "typescript": "5.9.3"
285
+ "typescript": "^6.0.2"
286
286
  }
287
287
  }
288
288
 
@@ -735,30 +735,30 @@ export default nextConfig;
735
735
  "start": "next start"
736
736
  },
737
737
  "dependencies": {
738
- "@ai-sdk/openai": "^3.0.51",
738
+ "@ai-sdk/openai": "^3.0.52",
739
739
  "@assistant-ui/react": "workspace:*",
740
740
  "@assistant-ui/react-ai-sdk": "workspace:*",
741
741
  "@assistant-ui/ui": "workspace:*",
742
- "ai": "^6.0.148",
742
+ "ai": "^6.0.159",
743
743
  "class-variance-authority": "^0.7.1",
744
744
  "clsx": "^2.1.1",
745
- "lucide-react": "^1.7.0",
746
- "next": "^16.2.2",
747
- "react": "^19.2.4",
748
- "react-dom": "^19.2.4",
745
+ "lucide-react": "^1.8.0",
746
+ "next": "^16.2.3",
747
+ "react": "^19.2.5",
748
+ "react-dom": "^19.2.5",
749
749
  "tailwind-merge": "^3.5.0",
750
750
  "zod": "^4.3.6"
751
751
  },
752
752
  "devDependencies": {
753
753
  "@assistant-ui/x-buildutils": "workspace:*",
754
754
  "@tailwindcss/postcss": "^4.2.2",
755
- "@types/node": "^25.5.2",
755
+ "@types/node": "^25.6.0",
756
756
  "@types/react": "^19.2.14",
757
757
  "@types/react-dom": "^19.2.3",
758
- "postcss": "^8.5.8",
758
+ "postcss": "^8.5.9",
759
759
  "tailwindcss": "^4.2.2",
760
760
  "tw-animate-css": "^1.4.0",
761
- "typescript": "5.9.3"
761
+ "typescript": "^6.0.2"
762
762
  }
763
763
  }
764
764
 
@@ -824,7 +824,7 @@ export const sendMessage = (params: {
824
824
  model_name: "openai",
825
825
  },
826
826
  },
827
- streamMode: ["messages-tuple", "values"],
827
+ streamMode: ["messages-tuple", "values", "custom"],
828
828
  ...(checkpointId && { checkpoint_id: checkpointId }),
829
829
  ...restConfig,
830
830
  },
@@ -874,22 +874,22 @@ export default nextConfig;
874
874
  "@langchain/langgraph-sdk": "^1.8.8",
875
875
  "class-variance-authority": "^0.7.1",
876
876
  "clsx": "^2.1.1",
877
- "lucide-react": "^1.7.0",
878
- "next": "^16.2.2",
879
- "react": "^19.2.4",
880
- "react-dom": "^19.2.4",
877
+ "lucide-react": "^1.8.0",
878
+ "next": "^16.2.3",
879
+ "react": "^19.2.5",
880
+ "react-dom": "^19.2.5",
881
881
  "tailwind-merge": "^3.5.0"
882
882
  },
883
883
  "devDependencies": {
884
884
  "@assistant-ui/x-buildutils": "workspace:*",
885
885
  "@tailwindcss/postcss": "^4.2.2",
886
- "@types/node": "^25.5.2",
886
+ "@types/node": "^25.6.0",
887
887
  "@types/react": "^19.2.14",
888
888
  "@types/react-dom": "^19.2.3",
889
- "postcss": "^8.5.8",
889
+ "postcss": "^8.5.9",
890
890
  "tailwindcss": "^4.2.2",
891
891
  "tw-animate-css": "^1.4.0",
892
- "typescript": "5.9.3"
892
+ "typescript": "^6.0.2"
893
893
  }
894
894
  }
895
895
 
@@ -388,7 +388,13 @@ const UserMessage: FC = () => {
388
388
  ```typescript
389
389
  import type { RealtimeVoiceAdapter } from "@assistant-ui/react";
390
390
  import { createVoiceSession } from "@assistant-ui/react";
391
- import { Room, RoomEvent, type RoomOptions } from "livekit-client";
391
+ import {
392
+ Room,
393
+ RoomEvent,
394
+ Track,
395
+ type RemoteTrack,
396
+ type RoomOptions,
397
+ } from "livekit-client";
392
398
 
393
399
  export type LiveKitVoiceAdapterOptions = {
394
400
  url: string;
@@ -414,6 +420,31 @@ export class LiveKitVoiceAdapter implements RealtimeVoiceAdapter {
414
420
 
415
421
  return createVoiceSession(options, async (session) => {
416
422
  let volumeInterval: ReturnType<typeof setInterval> | null = null;
423
+ const attachedAudioElements = new Set<HTMLMediaElement>();
424
+
425
+ const attachRemoteAudio = (track: RemoteTrack) => {
426
+ if (track.kind !== Track.Kind.Audio) return;
427
+ const element = track.attach();
428
+ element.style.display = "none";
429
+ document.body.appendChild(element);
430
+ attachedAudioElements.add(element);
431
+ };
432
+
433
+ const detachRemoteAudio = (track: RemoteTrack) => {
434
+ if (track.kind !== Track.Kind.Audio) return;
435
+ for (const element of track.detach()) {
436
+ element.remove();
437
+ attachedAudioElements.delete(element);
438
+ }
439
+ };
440
+
441
+ const cleanupAudioElements = () => {
442
+ for (const element of attachedAudioElements) element.remove();
443
+ attachedAudioElements.clear();
444
+ };
445
+
446
+ room.on(RoomEvent.TrackSubscribed, attachRemoteAudio);
447
+ room.on(RoomEvent.TrackUnsubscribed, detachRemoteAudio);
417
448
 
418
449
  room.on(RoomEvent.Connected, () => {
419
450
  session.setStatus({ type: "running" });
@@ -464,18 +495,23 @@ export class LiveKitVoiceAdapter implements RealtimeVoiceAdapter {
464
495
 
465
496
  const token =
466
497
  typeof this._token === "function" ? await this._token() : this._token;
467
- if (session.isDisposed())
498
+ if (session.isDisposed()) {
499
+ cleanupAudioElements();
468
500
  return { disconnect: () => {}, mute: () => {}, unmute: () => {} };
501
+ }
469
502
 
470
503
  await room.connect(this._url, token);
471
- if (session.isDisposed())
504
+ if (session.isDisposed()) {
505
+ cleanupAudioElements();
472
506
  return { disconnect: () => {}, mute: () => {}, unmute: () => {} };
507
+ }
473
508
 
474
509
  await room.localParticipant.setMicrophoneEnabled(true);
475
510
 
476
511
  return {
477
512
  disconnect: () => {
478
513
  if (volumeInterval) clearInterval(volumeInterval);
514
+ cleanupAudioElements();
479
515
  room.disconnect();
480
516
  },
481
517
  mute: () => {
@@ -512,35 +548,35 @@ export default nextConfig;
512
548
  "version": "0.0.0",
513
549
  "type": "module",
514
550
  "dependencies": {
515
- "@ai-sdk/openai": "^3.0.51",
516
- "@ai-sdk/react": "^3.0.150",
551
+ "@ai-sdk/openai": "^3.0.52",
552
+ "@ai-sdk/react": "^3.0.161",
517
553
  "@assistant-ui/react": "workspace:^",
518
554
  "@assistant-ui/react-ai-sdk": "workspace:*",
519
555
  "@assistant-ui/react-markdown": "workspace:^",
520
556
  "@assistant-ui/ui": "workspace:*",
521
557
  "@tailwindcss/postcss": "^4.2.2",
522
- "ai": "^6.0.148",
558
+ "ai": "^6.0.159",
523
559
  "class-variance-authority": "^0.7.1",
524
560
  "clsx": "^2.1.1",
525
561
  "livekit-client": "^2.18.1",
526
- "livekit-server-sdk": "^2.15.0",
527
- "lucide-react": "^1.7.0",
562
+ "livekit-server-sdk": "^2.15.1",
563
+ "lucide-react": "^1.8.0",
528
564
  "motion": "^12.38.0",
529
- "next": "^16.2.2",
530
- "postcss": "^8.5.8",
531
- "react": "^19.2.4",
532
- "react-dom": "^19.2.4",
565
+ "next": "^16.2.3",
566
+ "postcss": "^8.5.9",
567
+ "react": "^19.2.5",
568
+ "react-dom": "^19.2.5",
533
569
  "tailwind-merge": "^3.5.0",
534
570
  "tailwindcss": "^4.2.2",
535
571
  "zod": "^4.3.6"
536
572
  },
537
573
  "devDependencies": {
538
574
  "@assistant-ui/x-buildutils": "workspace:*",
539
- "@types/node": "^25.5.2",
575
+ "@types/node": "^25.6.0",
540
576
  "@types/react": "^19.2.14",
541
577
  "@types/react-dom": "^19.2.3",
542
578
  "tw-animate-css": "^1.4.0",
543
- "typescript": "5.9.3"
579
+ "typescript": "^6.0.2"
544
580
  },
545
581
  "scripts": {
546
582
  "dev": "next dev",