@assistant-ui/mcp-docs-server 0.1.39 → 0.2.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 (136) hide show
  1. package/.docs/organized/code-examples/waterfall.md +7 -7
  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-v7.md +9 -9
  5. package/.docs/organized/code-examples/with-artifacts.md +463 -138
  6. package/.docs/organized/code-examples/with-assistant-transport.md +7 -7
  7. package/.docs/organized/code-examples/with-browser-extension.md +6 -6
  8. package/.docs/organized/code-examples/with-chain-of-thought.md +11 -11
  9. package/.docs/organized/code-examples/with-cloud-standalone.md +9 -9
  10. package/.docs/organized/code-examples/with-cloud.md +9 -9
  11. package/.docs/organized/code-examples/with-custom-thread-list.md +9 -9
  12. package/.docs/organized/code-examples/with-elevenlabs-conversational.md +11 -11
  13. package/.docs/organized/code-examples/with-elevenlabs-scribe.md +11 -11
  14. package/.docs/organized/code-examples/with-eve.md +8 -8
  15. package/.docs/organized/code-examples/with-expo.md +26 -46
  16. package/.docs/organized/code-examples/with-external-store.md +7 -7
  17. package/.docs/organized/code-examples/with-ffmpeg.md +9 -9
  18. package/.docs/organized/code-examples/with-generative-ui.md +10 -10
  19. package/.docs/organized/code-examples/with-google-adk.md +8 -8
  20. package/.docs/organized/code-examples/with-heat-graph.md +6 -6
  21. package/.docs/organized/code-examples/with-image-generation.md +9 -9
  22. package/.docs/organized/code-examples/with-interactables.md +9 -9
  23. package/.docs/organized/code-examples/with-langchain.md +9 -9
  24. package/.docs/organized/code-examples/with-langgraph.md +9 -9
  25. package/.docs/organized/code-examples/with-livekit.md +11 -11
  26. package/.docs/organized/code-examples/with-mcp.md +28 -23
  27. package/.docs/organized/code-examples/with-opencode.md +8 -11
  28. package/.docs/organized/code-examples/with-pi.md +14 -14
  29. package/.docs/organized/code-examples/with-react-hook-form.md +10 -10
  30. package/.docs/organized/code-examples/with-react-ink-web.md +5 -5
  31. package/.docs/organized/code-examples/with-react-ink.md +2 -2
  32. package/.docs/organized/code-examples/with-react-router.md +11 -11
  33. package/.docs/organized/code-examples/with-resumable-stream.md +10 -10
  34. package/.docs/organized/code-examples/with-store.md +6 -6
  35. package/.docs/organized/code-examples/with-tanstack.md +9 -9
  36. package/.docs/organized/code-examples/with-tap-runtime.md +7 -7
  37. package/.docs/organized/code-examples/with-virtualized-thread.md +8 -8
  38. package/.docs/raw/docs/(docs)/cli.mdx +2 -0
  39. package/.docs/raw/docs/(docs)/devtools.mdx +7 -2
  40. package/.docs/raw/docs/(reference)/api-reference/generative-ui/a2ui.mdx +40 -0
  41. package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +3 -0
  42. package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +19 -420
  43. package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +4 -1
  44. package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +21 -0
  45. package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +1 -9
  46. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +1 -18
  47. package/.docs/raw/docs/cloud/langgraph.mdx +1 -1
  48. package/.docs/raw/docs/copilots/model-context.mdx +1 -1
  49. package/.docs/raw/docs/copilots/motivation.mdx +1 -1
  50. package/.docs/raw/docs/guides/attachments.mdx +3 -3
  51. package/.docs/raw/docs/guides/branching.mdx +2 -2
  52. package/.docs/raw/docs/guides/context-api.mdx +89 -111
  53. package/.docs/raw/docs/guides/editing.mdx +5 -5
  54. package/.docs/raw/docs/guides/electron.mdx +369 -0
  55. package/.docs/raw/docs/guides/index.mdx +10 -0
  56. package/.docs/raw/docs/guides/quoting.mdx +3 -3
  57. package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +2 -2
  58. package/.docs/raw/docs/ink/hooks.mdx +3 -3
  59. package/.docs/raw/docs/ink/primitives.mdx +14 -7
  60. package/.docs/raw/docs/integrations/auth/better-auth.mdx +2 -2
  61. package/.docs/raw/docs/integrations/auth/clerk.mdx +2 -2
  62. package/.docs/raw/docs/integrations/auth/next-auth.mdx +3 -3
  63. package/.docs/raw/docs/integrations/observability/langsmith.mdx +1 -1
  64. package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +36 -9
  65. package/.docs/raw/docs/migrations/v0-15.mdx +156 -0
  66. package/.docs/raw/docs/primitives/composer.mdx +1 -1
  67. package/.docs/raw/docs/primitives/thread-list.mdx +2 -2
  68. package/.docs/raw/docs/react-native/hooks.mdx +3 -3
  69. package/.docs/raw/docs/react-native/index.mdx +2 -2
  70. package/.docs/raw/docs/react-native/primitives.mdx +39 -5
  71. package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +3 -3
  72. package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +4 -4
  73. package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +4 -4
  74. package/.docs/raw/docs/runtimes/ai-sdk/v6-legacy.mdx +4 -4
  75. package/.docs/raw/docs/runtimes/ai-sdk/v7.mdx +2 -2
  76. package/.docs/raw/docs/runtimes/concepts/threads.mdx +10 -10
  77. package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +2 -2
  78. package/.docs/raw/docs/runtimes/custom/external-store.mdx +1 -1
  79. package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +3 -3
  80. package/.docs/raw/docs/runtimes/langchain.mdx +2 -2
  81. package/.docs/raw/docs/runtimes/langgraph/overview.mdx +1 -1
  82. package/.docs/raw/docs/runtimes/opencode/hooks.mdx +3 -1
  83. package/.docs/raw/docs/tools/a2ui.mdx +107 -0
  84. package/.docs/raw/docs/tools/interactables-legacy.mdx +4 -4
  85. package/.docs/raw/docs/tools/interactables.mdx +3 -3
  86. package/.docs/raw/docs/tools/mcp-apps.mdx +61 -2
  87. package/.docs/raw/docs/tools/user-managed-mcp.mdx +52 -7
  88. package/.docs/raw/docs/ui/follow-up-suggestions.mdx +2 -0
  89. package/.docs/raw/docs/ui/model-selector.mdx +1 -1
  90. package/.docs/raw/docs/ui/part-grouping.mdx +0 -4
  91. package/.docs/raw/docs/ui/reasoning.mdx +1 -1
  92. package/dist/index.d.ts +1 -1
  93. package/dist/index.js +2 -2
  94. package/dist/index.js.map +1 -1
  95. package/dist/prepare-docs/code-examples.js.map +1 -1
  96. package/dist/prepare-docs/prepare.d.ts +1 -1
  97. package/dist/stdio.d.ts +1 -1
  98. package/dist/tools/docs.d.ts +6 -10
  99. package/dist/tools/docs.d.ts.map +1 -1
  100. package/dist/tools/docs.js +2 -2
  101. package/dist/tools/docs.js.map +1 -1
  102. package/dist/tools/examples.d.ts +4 -8
  103. package/dist/tools/examples.d.ts.map +1 -1
  104. package/dist/tools/examples.js +2 -2
  105. package/dist/tools/examples.js.map +1 -1
  106. package/dist/tools/resources.d.ts +1 -1
  107. package/dist/tools/resources.d.ts.map +1 -1
  108. package/dist/tools/resources.js +1 -1
  109. package/dist/tools/resources.js.map +1 -1
  110. package/dist/tools/search.d.ts +4 -10
  111. package/dist/tools/search.d.ts.map +1 -1
  112. package/dist/tools/search.js +2 -2
  113. package/dist/tools/search.js.map +1 -1
  114. package/dist/tools/tests/mcp-test-client.d.ts +15 -0
  115. package/dist/tools/tests/mcp-test-client.d.ts.map +1 -0
  116. package/dist/tools/tests/mcp-test-client.js +68 -0
  117. package/dist/tools/tests/mcp-test-client.js.map +1 -0
  118. package/dist/tools/tests/test-setup.d.ts.map +1 -1
  119. package/dist/tools/xulux-templates.d.ts +9 -23
  120. package/dist/tools/xulux-templates.d.ts.map +1 -1
  121. package/dist/tools/xulux-templates.js +4 -4
  122. package/dist/tools/xulux-templates.js.map +1 -1
  123. package/dist/utils/logger.d.ts.map +1 -1
  124. package/dist/utils/security.js.map +1 -1
  125. package/package.json +4 -3
  126. package/src/index.ts +2 -2
  127. package/src/tools/docs.ts +2 -2
  128. package/src/tools/examples.ts +2 -2
  129. package/src/tools/resources.ts +1 -4
  130. package/src/tools/search.ts +2 -2
  131. package/src/tools/tests/completions.test.ts +40 -26
  132. package/src/tools/tests/integration.test.ts +3 -4
  133. package/src/tools/tests/mcp-protocol.test.ts +160 -175
  134. package/src/tools/tests/mcp-test-client.ts +111 -0
  135. package/src/tools/tests/resources.test.ts +97 -66
  136. package/src/tools/xulux-templates.ts +4 -4
@@ -269,19 +269,19 @@ export default withAui(nextConfig);
269
269
  },
270
270
  "dependencies": {
271
271
  "heat-graph": "workspace:*",
272
- "next": "^16.2.10",
273
- "react": "^19.2.7",
274
- "react-dom": "^19.2.7"
272
+ "next": "^16.2.11",
273
+ "react": "^19.2.8",
274
+ "react-dom": "^19.2.8"
275
275
  },
276
276
  "devDependencies": {
277
277
  "@assistant-ui/next": "workspace:*",
278
278
  "@assistant-ui/x-buildutils": "workspace:*",
279
- "@tailwindcss/postcss": "^4.3.2",
279
+ "@tailwindcss/postcss": "^4.3.3",
280
280
  "@types/node": "^26.1.1",
281
281
  "@types/react": "^19.2.17",
282
282
  "@types/react-dom": "^19.2.3",
283
- "postcss": "^8.5.19",
284
- "tailwindcss": "^4.3.2",
283
+ "postcss": "^8.5.23",
284
+ "tailwindcss": "^4.3.3",
285
285
  "typescript": "npm:@typescript/typescript6@^6.0.2",
286
286
  "typescript-7": "npm:typescript@^7.0.2"
287
287
  }
@@ -380,27 +380,27 @@ export default withAui(nextConfig);
380
380
  "start": "next start"
381
381
  },
382
382
  "dependencies": {
383
- "@ai-sdk/openai": "^4.0.14",
383
+ "@ai-sdk/openai": "^4.0.20",
384
384
  "@assistant-ui/react": "workspace:*",
385
385
  "@assistant-ui/ui": "workspace:*",
386
- "ai": "^7.0.28",
386
+ "ai": "^7.0.37",
387
387
  "class-variance-authority": "^0.7.1",
388
388
  "clsx": "^2.1.1",
389
- "lucide-react": "^1.24.0",
390
- "next": "^16.2.10",
391
- "react": "^19.2.7",
392
- "react-dom": "^19.2.7",
389
+ "lucide-react": "^1.26.0",
390
+ "next": "^16.2.11",
391
+ "react": "^19.2.8",
392
+ "react-dom": "^19.2.8",
393
393
  "tailwind-merge": "^3.6.0"
394
394
  },
395
395
  "devDependencies": {
396
396
  "@assistant-ui/next": "workspace:*",
397
397
  "@assistant-ui/x-buildutils": "workspace:*",
398
- "@tailwindcss/postcss": "^4.3.2",
398
+ "@tailwindcss/postcss": "^4.3.3",
399
399
  "@types/node": "^26.1.1",
400
400
  "@types/react": "^19.2.17",
401
401
  "@types/react-dom": "^19.2.3",
402
- "postcss": "^8.5.19",
403
- "tailwindcss": "^4.3.2",
402
+ "postcss": "^8.5.23",
403
+ "tailwindcss": "^4.3.3",
404
404
  "tw-animate-css": "^1.4.0",
405
405
  "typescript": "npm:@typescript/typescript6@^6.0.2",
406
406
  "typescript-7": "npm:typescript@^7.0.2"
@@ -624,28 +624,28 @@ export default nextConfig;
624
624
  "start": "next start"
625
625
  },
626
626
  "dependencies": {
627
- "@ai-sdk/openai": "^4.0.14",
627
+ "@ai-sdk/openai": "^4.0.20",
628
628
  "@assistant-ui/react": "workspace:*",
629
629
  "@assistant-ui/react-ai-sdk": "workspace:*",
630
630
  "@assistant-ui/ui": "workspace:*",
631
- "ai": "^7.0.28",
631
+ "ai": "^7.0.37",
632
632
  "class-variance-authority": "^0.7.1",
633
633
  "clsx": "^2.1.1",
634
- "lucide-react": "^1.24.0",
635
- "next": "^16.2.10",
636
- "react": "^19.2.7",
637
- "react-dom": "^19.2.7",
634
+ "lucide-react": "^1.26.0",
635
+ "next": "^16.2.11",
636
+ "react": "^19.2.8",
637
+ "react-dom": "^19.2.8",
638
638
  "tailwind-merge": "^3.6.0",
639
639
  "zod": "^4.4.3"
640
640
  },
641
641
  "devDependencies": {
642
642
  "@assistant-ui/x-buildutils": "workspace:*",
643
- "@tailwindcss/postcss": "^4.3.2",
643
+ "@tailwindcss/postcss": "^4.3.3",
644
644
  "@types/node": "^26.1.1",
645
645
  "@types/react": "^19.2.17",
646
646
  "@types/react-dom": "^19.2.3",
647
- "postcss": "^8.5.19",
648
- "tailwindcss": "^4.3.2",
647
+ "postcss": "^8.5.23",
648
+ "tailwindcss": "^4.3.3",
649
649
  "tw-animate-css": "^1.4.0",
650
650
  "typescript": "npm:@typescript/typescript6@^6.0.2",
651
651
  "typescript-7": "npm:typescript@^7.0.2"
@@ -336,25 +336,25 @@ export default withAui(nextConfig);
336
336
  "@assistant-ui/react-langchain": "workspace:*",
337
337
  "@assistant-ui/react-markdown": "workspace:*",
338
338
  "@assistant-ui/ui": "workspace:*",
339
- "@langchain/langgraph-sdk": "^1.9.25",
340
- "@langchain/react": "^1.0.26",
339
+ "@langchain/langgraph-sdk": "^1.9.28",
340
+ "@langchain/react": "^1.0.29",
341
341
  "class-variance-authority": "^0.7.1",
342
342
  "clsx": "^2.1.1",
343
- "lucide-react": "^1.24.0",
344
- "next": "^16.2.10",
345
- "react": "^19.2.7",
346
- "react-dom": "^19.2.7",
343
+ "lucide-react": "^1.26.0",
344
+ "next": "^16.2.11",
345
+ "react": "^19.2.8",
346
+ "react-dom": "^19.2.8",
347
347
  "tailwind-merge": "^3.6.0"
348
348
  },
349
349
  "devDependencies": {
350
350
  "@assistant-ui/next": "workspace:*",
351
351
  "@assistant-ui/x-buildutils": "workspace:*",
352
- "@tailwindcss/postcss": "^4.3.2",
352
+ "@tailwindcss/postcss": "^4.3.3",
353
353
  "@types/node": "^26.1.1",
354
354
  "@types/react": "^19.2.17",
355
355
  "@types/react-dom": "^19.2.3",
356
- "postcss": "^8.5.19",
357
- "tailwindcss": "^4.3.2",
356
+ "postcss": "^8.5.23",
357
+ "tailwindcss": "^4.3.3",
358
358
  "tw-animate-css": "^1.4.0",
359
359
  "typescript": "npm:@typescript/typescript6@^6.0.2",
360
360
  "typescript-7": "npm:typescript@^7.0.2"
@@ -740,25 +740,25 @@ export default withAui(nextConfig);
740
740
  "@assistant-ui/react-langchain": "workspace:*",
741
741
  "@assistant-ui/react-markdown": "workspace:*",
742
742
  "@assistant-ui/ui": "workspace:*",
743
- "@langchain/langgraph-sdk": "^1.9.25",
744
- "@langchain/react": "^1.0.26",
743
+ "@langchain/langgraph-sdk": "^1.9.28",
744
+ "@langchain/react": "^1.0.29",
745
745
  "class-variance-authority": "^0.7.1",
746
746
  "clsx": "^2.1.1",
747
- "lucide-react": "^1.24.0",
748
- "next": "^16.2.10",
749
- "react": "^19.2.7",
750
- "react-dom": "^19.2.7",
747
+ "lucide-react": "^1.26.0",
748
+ "next": "^16.2.11",
749
+ "react": "^19.2.8",
750
+ "react-dom": "^19.2.8",
751
751
  "tailwind-merge": "^3.6.0"
752
752
  },
753
753
  "devDependencies": {
754
754
  "@assistant-ui/next": "workspace:*",
755
755
  "@assistant-ui/x-buildutils": "workspace:*",
756
- "@tailwindcss/postcss": "^4.3.2",
756
+ "@tailwindcss/postcss": "^4.3.3",
757
757
  "@types/node": "^26.1.1",
758
758
  "@types/react": "^19.2.17",
759
759
  "@types/react-dom": "^19.2.3",
760
- "postcss": "^8.5.19",
761
- "tailwindcss": "^4.3.2",
760
+ "postcss": "^8.5.23",
761
+ "tailwindcss": "^4.3.3",
762
762
  "tw-animate-css": "^1.4.0",
763
763
  "typescript": "npm:@typescript/typescript6@^6.0.2",
764
764
  "typescript-7": "npm:typescript@^7.0.2"
@@ -554,26 +554,26 @@ export default withAui(nextConfig);
554
554
  "version": "0.0.0",
555
555
  "type": "module",
556
556
  "dependencies": {
557
- "@ai-sdk/openai": "^4.0.14",
558
- "@ai-sdk/react": "^4.0.30",
557
+ "@ai-sdk/openai": "^4.0.20",
558
+ "@ai-sdk/react": "^4.0.40",
559
559
  "@assistant-ui/react": "workspace:^",
560
560
  "@assistant-ui/react-ai-sdk": "workspace:*",
561
561
  "@assistant-ui/react-markdown": "workspace:^",
562
562
  "@assistant-ui/ui": "workspace:*",
563
- "@tailwindcss/postcss": "^4.3.2",
564
- "ai": "^7.0.28",
563
+ "@tailwindcss/postcss": "^4.3.3",
564
+ "ai": "^7.0.37",
565
565
  "class-variance-authority": "^0.7.1",
566
566
  "clsx": "^2.1.1",
567
- "livekit-client": "^2.20.1",
567
+ "livekit-client": "^2.21.0",
568
568
  "livekit-server-sdk": "^2.17.0",
569
- "lucide-react": "^1.24.0",
569
+ "lucide-react": "^1.26.0",
570
570
  "motion": "^12.42.2",
571
- "next": "^16.2.10",
572
- "postcss": "^8.5.19",
573
- "react": "^19.2.7",
574
- "react-dom": "^19.2.7",
571
+ "next": "^16.2.11",
572
+ "postcss": "^8.5.23",
573
+ "react": "^19.2.8",
574
+ "react-dom": "^19.2.8",
575
575
  "tailwind-merge": "^3.6.0",
576
- "tailwindcss": "^4.3.2",
576
+ "tailwindcss": "^4.3.3",
577
577
  "zod": "^4.4.3"
578
578
  },
579
579
  "devDependencies": {
@@ -382,7 +382,7 @@ export default nextConfig;
382
382
  "start:server": "tsx server/server.ts"
383
383
  },
384
384
  "dependencies": {
385
- "@ai-sdk/openai": "^4.0.14",
385
+ "@ai-sdk/openai": "^4.0.20",
386
386
  "@assistant-ui/react": "workspace:*",
387
387
  "@assistant-ui/react-ai-sdk": "workspace:*",
388
388
  "@assistant-ui/react-markdown": "workspace:*",
@@ -390,31 +390,34 @@ export default nextConfig;
390
390
  "@assistant-ui/store": "workspace:*",
391
391
  "@assistant-ui/tap": "workspace:*",
392
392
  "@assistant-ui/ui": "workspace:*",
393
- "@modelcontextprotocol/sdk": "^1.29.0",
394
- "ai": "^7.0.28",
393
+ "@modelcontextprotocol/express": "^2.0.0",
394
+ "@modelcontextprotocol/node": "^2.0.0",
395
+ "@modelcontextprotocol/server": "^2.0.0",
396
+ "@modelcontextprotocol/server-legacy": "^2.0.0",
397
+ "ai": "^7.0.37",
395
398
  "assistant-stream": "workspace:*",
396
399
  "class-variance-authority": "^0.7.1",
397
400
  "clsx": "^2.1.1",
398
401
  "cors": "^2.8.6",
399
402
  "express": "^5.2.1",
400
- "lucide-react": "^1.24.0",
401
- "next": "^16.2.10",
402
- "react": "^19.2.7",
403
- "react-dom": "^19.2.7",
403
+ "lucide-react": "^1.26.0",
404
+ "next": "^16.2.11",
405
+ "react": "^19.2.8",
406
+ "react-dom": "^19.2.8",
404
407
  "tailwind-merge": "^3.6.0",
405
408
  "zod": "^4.4.3"
406
409
  },
407
410
  "devDependencies": {
408
411
  "@assistant-ui/x-buildutils": "workspace:*",
409
- "@tailwindcss/postcss": "^4.3.2",
412
+ "@tailwindcss/postcss": "^4.3.3",
410
413
  "@types/cors": "^2.8.19",
411
414
  "@types/express": "^5.0.6",
412
415
  "@types/node": "^26.1.1",
413
416
  "@types/react": "^19.2.17",
414
417
  "@types/react-dom": "^19.2.3",
415
- "concurrently": "^10.0.3",
416
- "postcss": "^8.5.19",
417
- "tailwindcss": "^4.3.2",
418
+ "concurrently": "^10.0.4",
419
+ "postcss": "^8.5.23",
420
+ "tailwindcss": "^4.3.3",
418
421
  "tsx": "^4.23.1",
419
422
  "tw-animate-css": "^1.4.0",
420
423
  "typescript": "npm:@typescript/typescript6@^6.0.2",
@@ -464,7 +467,7 @@ transitions to `connected` and the `echo` / `fingerprint` tools appear.
464
467
  /**
465
468
  * Standalone test MCP server with OAuth.
466
469
  *
467
- * - OAuth 2.1 authorization server (PKCE + DCR) via @modelcontextprotocol/sdk auth router.
470
+ * - OAuth 2.1 authorization server (PKCE + DCR) via @modelcontextprotocol/server-legacy's auth router.
468
471
  * - One MCP tool, `echo`, that returns its input.
469
472
  * - All state in memory; for local development / E2E only.
470
473
  *
@@ -473,17 +476,19 @@ transitions to `connected` and the `echo` / `fingerprint` tools appear.
473
476
  import express from "express";
474
477
  import cors from "cors";
475
478
  import { randomBytes, randomUUID, createHash } from "node:crypto";
476
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
477
- import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
478
- import { mcpAuthRouter } from "@modelcontextprotocol/sdk/server/auth/router.js";
479
- import { requireBearerAuth } from "@modelcontextprotocol/sdk/server/auth/middleware/bearerAuth.js";
480
- import type { OAuthServerProvider } from "@modelcontextprotocol/sdk/server/auth/provider.js";
481
- import type { OAuthRegisteredClientsStore } from "@modelcontextprotocol/sdk/server/auth/clients.js";
479
+ import { McpServer } from "@modelcontextprotocol/server";
482
480
  import type {
481
+ AuthInfo,
483
482
  OAuthClientInformationFull,
484
483
  OAuthTokens,
485
- } from "@modelcontextprotocol/sdk/shared/auth.js";
486
- import type { AuthInfo } from "@modelcontextprotocol/sdk/server/auth/types.js";
484
+ } from "@modelcontextprotocol/server";
485
+ import { NodeStreamableHTTPServerTransport } from "@modelcontextprotocol/node";
486
+ import { mcpAuthRouter } from "@modelcontextprotocol/server-legacy/auth";
487
+ import type {
488
+ OAuthServerProvider,
489
+ OAuthRegisteredClientsStore,
490
+ } from "@modelcontextprotocol/server-legacy/auth";
491
+ import { requireBearerAuth } from "@modelcontextprotocol/express";
487
492
  import { z } from "zod";
488
493
 
489
494
  const PORT = Number(process.env.PORT ?? 8787);
@@ -633,7 +638,7 @@ function buildMcpServer(): McpServer {
633
638
  {
634
639
  title: "Echo",
635
640
  description: "Echo back the provided text.",
636
- inputSchema: { text: z.string().describe("Text to echo back") },
641
+ inputSchema: z.object({ text: z.string().describe("Text to echo back") }),
637
642
  annotations: { readOnlyHint: true, openWorldHint: false },
638
643
  },
639
644
  async ({ text }) => ({
@@ -646,7 +651,7 @@ function buildMcpServer(): McpServer {
646
651
  title: "Fingerprint",
647
652
  description:
648
653
  "Return a deterministic fingerprint of a string (sha256 hex).",
649
- inputSchema: { input: z.string() },
654
+ inputSchema: z.object({ input: z.string() }),
650
655
  annotations: { readOnlyHint: true, openWorldHint: false },
651
656
  },
652
657
  async ({ input }) => ({
@@ -697,7 +702,7 @@ async function main() {
697
702
 
698
703
  app.post("/mcp", bearer, async (req, res) => {
699
704
  try {
700
- const transport = new StreamableHTTPServerTransport({
705
+ const transport = new NodeStreamableHTTPServerTransport({
701
706
  sessionIdGenerator: undefined,
702
707
  });
703
708
  res.on("close", () => transport.close());
@@ -227,10 +227,7 @@ export default function Home() {
227
227
  tools: Tools({ toolkit }),
228
228
  });
229
229
 
230
- useEffect(
231
- () => aui.dataRenderers().setFallbackDataUI(OpenCodeDataPart),
232
- [aui],
233
- );
230
+ useEffect(() => aui.dataRenderers.setFallbackDataUI(OpenCodeDataPart), [aui]);
234
231
 
235
232
  return (
236
233
  <AssistantRuntimeProvider aui={aui} runtime={runtime}>
@@ -1895,22 +1892,22 @@ export default withAui(nextConfig);
1895
1892
  "@pierre/diffs": "^1.2.12",
1896
1893
  "class-variance-authority": "^0.7.1",
1897
1894
  "clsx": "^2.1.1",
1898
- "lucide-react": "^1.24.0",
1899
- "next": "^16.2.10",
1900
- "react": "^19.2.7",
1901
- "react-dom": "^19.2.7",
1895
+ "lucide-react": "^1.26.0",
1896
+ "next": "^16.2.11",
1897
+ "react": "^19.2.8",
1898
+ "react-dom": "^19.2.8",
1902
1899
  "tailwind-merge": "^3.6.0",
1903
1900
  "zod": "^4.4.3"
1904
1901
  },
1905
1902
  "devDependencies": {
1906
1903
  "@assistant-ui/next": "workspace:*",
1907
1904
  "@assistant-ui/x-buildutils": "workspace:*",
1908
- "@tailwindcss/postcss": "^4.3.2",
1905
+ "@tailwindcss/postcss": "^4.3.3",
1909
1906
  "@types/node": "^26.1.1",
1910
1907
  "@types/react": "^19.2.17",
1911
1908
  "@types/react-dom": "^19.2.3",
1912
- "postcss": "^8.5.19",
1913
- "tailwindcss": "^4.3.2",
1909
+ "postcss": "^8.5.23",
1910
+ "tailwindcss": "^4.3.3",
1914
1911
  "tw-animate-css": "^1.4.0",
1915
1912
  "typescript": "npm:@typescript/typescript6@^6.0.2",
1916
1913
  "typescript-7": "npm:typescript@^7.0.2"
@@ -1098,7 +1098,7 @@ const ComposerQueue: FC = () => {
1098
1098
  .then(({ steering, followUp }) => {
1099
1099
  const restored = [...steering, ...followUp].join("\n");
1100
1100
  if (!restored) return;
1101
- const composer = aui.composer();
1101
+ const composer = aui.composer;
1102
1102
  const current = composer.getState().text;
1103
1103
  composer.setText(current ? `${current}\n${restored}` : restored);
1104
1104
  })
@@ -1784,8 +1784,8 @@ export const modelKey = (provider: string, modelId: string): string =>
1784
1784
  * (~/.pi/agent by default); when set, every Pi config source below points at it.
1785
1785
  */
1786
1786
  import {
1787
- AuthStorage,
1788
1787
  ModelRegistry,
1788
+ ModelRuntime,
1789
1789
  SettingsManager,
1790
1790
  } from "@earendil-works/pi-coding-agent";
1791
1791
  import {
@@ -1804,10 +1804,10 @@ const env = (key: string): string | undefined => {
1804
1804
  const workspacePath = env("PI_WORKSPACE_PATH") ?? process.cwd();
1805
1805
  const agentDir = env("PI_CODING_AGENT_DIR");
1806
1806
 
1807
- const authStorage = AuthStorage.create(
1808
- agentDir ? `${agentDir}/auth.json` : undefined,
1807
+ const modelRuntime = await ModelRuntime.create(
1808
+ agentDir ? { authPath: `${agentDir}/auth.json` } : {},
1809
1809
  );
1810
- const modelRegistry = ModelRegistry.create(authStorage);
1810
+ const modelRegistry = new ModelRegistry(modelRuntime);
1811
1811
  const settingsManager = SettingsManager.create(workspacePath, agentDir);
1812
1812
 
1813
1813
  // Env wins; otherwise fall back to Pi's configured default (settings.json).
@@ -1958,25 +1958,25 @@ export default withAui(nextConfig);
1958
1958
  "@assistant-ui/react-markdown": "workspace:*",
1959
1959
  "@assistant-ui/react-pi": "workspace:*",
1960
1960
  "@assistant-ui/ui": "workspace:*",
1961
- "@earendil-works/pi-coding-agent": "^0.80.7",
1961
+ "@earendil-works/pi-coding-agent": "^0.82.0",
1962
1962
  "class-variance-authority": "^0.7.1",
1963
1963
  "clsx": "^2.1.1",
1964
- "lucide-react": "^1.24.0",
1965
- "next": "^16.2.10",
1966
- "radix-ui": "^1.6.2",
1967
- "react": "^19.2.7",
1968
- "react-dom": "^19.2.7",
1964
+ "lucide-react": "^1.26.0",
1965
+ "next": "^16.2.11",
1966
+ "radix-ui": "^1.6.7",
1967
+ "react": "^19.2.8",
1968
+ "react-dom": "^19.2.8",
1969
1969
  "tailwind-merge": "^3.6.0"
1970
1970
  },
1971
1971
  "devDependencies": {
1972
1972
  "@assistant-ui/next": "workspace:*",
1973
1973
  "@assistant-ui/x-buildutils": "workspace:*",
1974
- "@tailwindcss/postcss": "^4.3.2",
1974
+ "@tailwindcss/postcss": "^4.3.3",
1975
1975
  "@types/node": "^26.1.1",
1976
1976
  "@types/react": "^19.2.17",
1977
1977
  "@types/react-dom": "^19.2.3",
1978
- "postcss": "^8.5.19",
1979
- "tailwindcss": "^4.3.2",
1978
+ "postcss": "^8.5.23",
1979
+ "tailwindcss": "^4.3.3",
1980
1980
  "tw-animate-css": "^1.4.0",
1981
1981
  "typescript": "npm:@typescript/typescript6@^6.0.2",
1982
1982
  "typescript-7": "npm:typescript@^7.0.2"
@@ -615,31 +615,31 @@ export default withAui(nextConfig);
615
615
  "start": "next start"
616
616
  },
617
617
  "dependencies": {
618
- "@ai-sdk/openai": "^4.0.14",
618
+ "@ai-sdk/openai": "^4.0.20",
619
619
  "@assistant-ui/react": "workspace:*",
620
620
  "@assistant-ui/react-ai-sdk": "workspace:*",
621
621
  "@assistant-ui/react-hook-form": "workspace:*",
622
622
  "@assistant-ui/react-markdown": "workspace:*",
623
623
  "@assistant-ui/ui": "workspace:*",
624
- "ai": "^7.0.28",
624
+ "ai": "^7.0.37",
625
625
  "class-variance-authority": "^0.7.1",
626
626
  "clsx": "^2.1.1",
627
- "lucide-react": "^1.24.0",
628
- "next": "^16.2.10",
629
- "react": "^19.2.7",
630
- "react-dom": "^19.2.7",
631
- "react-hook-form": "^7.81.0",
627
+ "lucide-react": "^1.26.0",
628
+ "next": "^16.2.11",
629
+ "react": "^19.2.8",
630
+ "react-dom": "^19.2.8",
631
+ "react-hook-form": "^7.83.0",
632
632
  "tailwind-merge": "^3.6.0"
633
633
  },
634
634
  "devDependencies": {
635
635
  "@assistant-ui/next": "workspace:*",
636
636
  "@assistant-ui/x-buildutils": "workspace:*",
637
- "@tailwindcss/postcss": "^4.3.2",
637
+ "@tailwindcss/postcss": "^4.3.3",
638
638
  "@types/node": "^26.1.1",
639
639
  "@types/react": "^19.2.17",
640
640
  "@types/react-dom": "^19.2.3",
641
- "postcss": "^8.5.19",
642
- "tailwindcss": "^4.3.2",
641
+ "postcss": "^8.5.23",
642
+ "tailwindcss": "^4.3.3",
643
643
  "tw-animate-css": "^1.4.0",
644
644
  "typescript": "npm:@typescript/typescript6@^6.0.2",
645
645
  "typescript-7": "npm:typescript@^7.0.2"
@@ -556,12 +556,12 @@ export default config;
556
556
  "@assistant-ui/react-ink-markdown": "workspace:*",
557
557
  "@wterm/dom": "^0.3.0",
558
558
  "@wterm/react": "^0.3.0",
559
- "ai": "^7.0.28",
560
- "ink": "^7.1.0",
559
+ "ai": "^7.0.37",
560
+ "ink": "^7.1.1",
561
561
  "ink-web": "^0.2.0",
562
- "next": "^16.2.10",
563
- "react": "^19.2.7",
564
- "react-dom": "^19.2.7",
562
+ "next": "^16.2.11",
563
+ "react": "^19.2.8",
564
+ "react-dom": "^19.2.8",
565
565
  "react-reconciler": "^0.33.0",
566
566
  "scheduler": "^0.27.0"
567
567
  },
@@ -16,8 +16,8 @@
16
16
  "dependencies": {
17
17
  "@assistant-ui/react-ink": "workspace:*",
18
18
  "@assistant-ui/react-ink-markdown": "workspace:*",
19
- "ink": "^7.1.0",
20
- "react": "^19.2.7"
19
+ "ink": "^7.1.1",
20
+ "react": "^19.2.8"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/react": "^19.2.17",
@@ -773,31 +773,31 @@ export default function Home() {
773
773
  "dependencies": {
774
774
  "@assistant-ui/react": "workspace:*",
775
775
  "@assistant-ui/react-markdown": "workspace:*",
776
- "@react-router/node": "^8.2.0",
777
- "@react-router/serve": "^8.2.0",
776
+ "@react-router/node": "^8.3.0",
777
+ "@react-router/serve": "^8.3.0",
778
778
  "class-variance-authority": "^0.7.1",
779
779
  "clsx": "^2.1.1",
780
780
  "eventsource-parser": "^3.1.0",
781
781
  "isbot": "^5.2.1",
782
- "lucide-react": "^1.24.0",
783
- "openai": "^6.47.0",
784
- "react": "^19.2.7",
785
- "react-dom": "^19.2.7",
786
- "react-router": "^8.2.0",
782
+ "lucide-react": "^1.26.0",
783
+ "openai": "^6.49.0",
784
+ "react": "^19.2.8",
785
+ "react-dom": "^19.2.8",
786
+ "react-router": "^8.3.0",
787
787
  "remark-gfm": "^4.0.1",
788
788
  "tailwind-merge": "^3.6.0"
789
789
  },
790
790
  "devDependencies": {
791
- "@react-router/dev": "^8.2.0",
792
- "@tailwindcss/vite": "^4.3.2",
791
+ "@react-router/dev": "^8.3.0",
792
+ "@tailwindcss/vite": "^4.3.3",
793
793
  "@types/node": "^26.1.1",
794
794
  "@types/react": "^19.2.17",
795
795
  "@types/react-dom": "^19.2.3",
796
- "tailwindcss": "^4.3.2",
796
+ "tailwindcss": "^4.3.3",
797
797
  "tw-animate-css": "^1.4.0",
798
798
  "typescript": "npm:@typescript/typescript6@^6.0.2",
799
799
  "typescript-7": "npm:typescript@^7.0.2",
800
- "vite": "^8.1.4",
800
+ "vite": "^8.1.5",
801
801
  "vite-tsconfig-paths": "^6.1.1"
802
802
  }
803
803
  }
@@ -514,22 +514,22 @@ export default withAui(nextConfig);
514
514
  "start": "next start"
515
515
  },
516
516
  "dependencies": {
517
- "@ai-sdk/openai": "^4.0.14",
518
- "@ai-sdk/react": "^4.0.30",
517
+ "@ai-sdk/openai": "^4.0.20",
518
+ "@ai-sdk/react": "^4.0.40",
519
519
  "@assistant-ui/react": "workspace:*",
520
520
  "@assistant-ui/react-ai-sdk": "workspace:*",
521
521
  "@assistant-ui/react-markdown": "workspace:*",
522
522
  "@assistant-ui/store": "workspace:*",
523
523
  "@assistant-ui/tap": "workspace:*",
524
524
  "@assistant-ui/ui": "workspace:*",
525
- "ai": "^7.0.28",
525
+ "ai": "^7.0.37",
526
526
  "assistant-stream": "workspace:*",
527
527
  "class-variance-authority": "^0.7.1",
528
528
  "clsx": "^2.1.1",
529
- "lucide-react": "^1.24.0",
530
- "next": "^16.2.10",
531
- "react": "^19.2.7",
532
- "react-dom": "^19.2.7",
529
+ "lucide-react": "^1.26.0",
530
+ "next": "^16.2.11",
531
+ "react": "^19.2.8",
532
+ "react-dom": "^19.2.8",
533
533
  "redis": "^6.1.0",
534
534
  "tailwind-merge": "^3.6.0",
535
535
  "zod": "^4.4.3"
@@ -537,12 +537,12 @@ export default withAui(nextConfig);
537
537
  "devDependencies": {
538
538
  "@assistant-ui/next": "workspace:*",
539
539
  "@assistant-ui/x-buildutils": "workspace:*",
540
- "@tailwindcss/postcss": "^4.3.2",
540
+ "@tailwindcss/postcss": "^4.3.3",
541
541
  "@types/node": "^26.1.1",
542
542
  "@types/react": "^19.2.17",
543
543
  "@types/react-dom": "^19.2.3",
544
- "postcss": "^8.5.19",
545
- "tailwindcss": "^4.3.2",
544
+ "postcss": "^8.5.23",
545
+ "tailwindcss": "^4.3.3",
546
546
  "tw-animate-css": "^1.4.0",
547
547
  "typescript": "npm:@typescript/typescript6@^6.0.2",
548
548
  "typescript-7": "npm:typescript@^7.0.2"
@@ -494,19 +494,19 @@ export default withAui(nextConfig);
494
494
  "dependencies": {
495
495
  "@assistant-ui/store": "workspace:*",
496
496
  "@assistant-ui/tap": "workspace:*",
497
- "next": "^16.2.10",
498
- "react": "^19.2.7",
499
- "react-dom": "^19.2.7"
497
+ "next": "^16.2.11",
498
+ "react": "^19.2.8",
499
+ "react-dom": "^19.2.8"
500
500
  },
501
501
  "devDependencies": {
502
502
  "@assistant-ui/next": "workspace:*",
503
503
  "@assistant-ui/x-buildutils": "workspace:*",
504
- "@tailwindcss/postcss": "^4.3.2",
504
+ "@tailwindcss/postcss": "^4.3.3",
505
505
  "@types/node": "^26.1.1",
506
506
  "@types/react": "^19.2.17",
507
507
  "@types/react-dom": "^19.2.3",
508
- "postcss": "^8.5.19",
509
- "tailwindcss": "^4.3.2",
508
+ "postcss": "^8.5.23",
509
+ "tailwindcss": "^4.3.3",
510
510
  "tw-animate-css": "^1.4.0",
511
511
  "typescript": "npm:@typescript/typescript6@^6.0.2",
512
512
  "typescript-7": "npm:typescript@^7.0.2"