@assistant-ui/react 0.14.0 → 0.14.3

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 (78) hide show
  1. package/README.md +58 -42
  2. package/dist/client/ExternalThread.d.ts +7 -0
  3. package/dist/client/ExternalThread.d.ts.map +1 -1
  4. package/dist/client/ExternalThread.js +24 -16
  5. package/dist/client/ExternalThread.js.map +1 -1
  6. package/dist/index.d.ts +4 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/legacy-runtime/cloud/auiV0.d.ts +10 -1
  11. package/dist/legacy-runtime/cloud/auiV0.d.ts.map +1 -1
  12. package/dist/legacy-runtime/cloud/auiV0.js +21 -3
  13. package/dist/legacy-runtime/cloud/auiV0.js.map +1 -1
  14. package/dist/mcp-apps/McpAppRenderer.d.ts +33 -0
  15. package/dist/mcp-apps/McpAppRenderer.d.ts.map +1 -0
  16. package/dist/mcp-apps/McpAppRenderer.js +115 -0
  17. package/dist/mcp-apps/McpAppRenderer.js.map +1 -0
  18. package/dist/mcp-apps/McpAppsRemoteHost.d.ts +3 -0
  19. package/dist/mcp-apps/McpAppsRemoteHost.d.ts.map +1 -0
  20. package/dist/mcp-apps/McpAppsRemoteHost.js +27 -0
  21. package/dist/mcp-apps/McpAppsRemoteHost.js.map +1 -0
  22. package/dist/mcp-apps/app-frame.d.ts +3 -0
  23. package/dist/mcp-apps/app-frame.d.ts.map +1 -0
  24. package/dist/mcp-apps/app-frame.js +218 -0
  25. package/dist/mcp-apps/app-frame.js.map +1 -0
  26. package/dist/mcp-apps/bridge.d.ts +18 -0
  27. package/dist/mcp-apps/bridge.d.ts.map +1 -0
  28. package/dist/mcp-apps/bridge.js +290 -0
  29. package/dist/mcp-apps/bridge.js.map +1 -0
  30. package/dist/mcp-apps/index.d.ts +5 -0
  31. package/dist/mcp-apps/index.d.ts.map +1 -0
  32. package/dist/mcp-apps/index.js +4 -0
  33. package/dist/mcp-apps/index.js.map +1 -0
  34. package/dist/mcp-apps/types.d.ts +149 -0
  35. package/dist/mcp-apps/types.d.ts.map +1 -0
  36. package/dist/mcp-apps/types.js +3 -0
  37. package/dist/mcp-apps/types.js.map +1 -0
  38. package/dist/mcp-apps/utils.d.ts +5 -0
  39. package/dist/mcp-apps/utils.d.ts.map +1 -0
  40. package/dist/mcp-apps/utils.js +10 -0
  41. package/dist/mcp-apps/utils.js.map +1 -0
  42. package/dist/primitives/composer/ComposerInput.d.ts +6 -0
  43. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  44. package/dist/primitives/composer/ComposerInput.js +19 -2
  45. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  46. package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -1
  47. package/dist/primitives/composer/trigger/TriggerPopover.js +17 -1
  48. package/dist/primitives/composer/trigger/TriggerPopover.js.map +1 -1
  49. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts +33 -0
  50. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts.map +1 -1
  51. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js +80 -11
  52. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js.map +1 -1
  53. package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts.map +1 -1
  54. package/dist/primitives/composer/trigger/triggerKeyboardResource.js +2 -1
  55. package/dist/primitives/composer/trigger/triggerKeyboardResource.js.map +1 -1
  56. package/dist/primitives/messagePart/useMessagePartSource.d.ts +22 -3
  57. package/dist/primitives/messagePart/useMessagePartSource.d.ts.map +1 -1
  58. package/package.json +6 -5
  59. package/src/client/ExternalThread.ts +32 -17
  60. package/src/index.ts +25 -0
  61. package/src/legacy-runtime/cloud/auiV0.ts +37 -4
  62. package/src/mcp-apps/McpAppRenderer.tsx +221 -0
  63. package/src/mcp-apps/McpAppsRemoteHost.ts +52 -0
  64. package/src/mcp-apps/app-frame.tsx +303 -0
  65. package/src/mcp-apps/bridge.test.ts +391 -0
  66. package/src/mcp-apps/bridge.ts +435 -0
  67. package/src/mcp-apps/index.ts +17 -0
  68. package/src/mcp-apps/types.ts +163 -0
  69. package/src/mcp-apps/utils.ts +16 -0
  70. package/src/primitives/composer/ComposerInput.test.tsx +48 -0
  71. package/src/primitives/composer/ComposerInput.tsx +20 -2
  72. package/src/primitives/composer/trigger/TriggerPopover.tsx +21 -1
  73. package/src/primitives/composer/trigger/TriggerPopoverRootContext.test.tsx +152 -0
  74. package/src/primitives/composer/trigger/TriggerPopoverRootContext.tsx +134 -17
  75. package/src/primitives/composer/trigger/triggerKeyboardResource.test.ts +236 -0
  76. package/src/primitives/composer/trigger/triggerKeyboardResource.ts +2 -1
  77. package/src/tests/BaseComposerRuntimeCore.test.ts +4 -0
  78. package/src/tests/auiV0Encode.test.ts +55 -0
@@ -103,7 +103,8 @@ export const TriggerKeyboardResource = resource(
103
103
  });
104
104
  return true;
105
105
  }
106
- case "Enter": {
106
+ case "Enter":
107
+ case "Tab": {
107
108
  if (e.shiftKey) return false;
108
109
  e.preventDefault();
109
110
  const item = navigableList[highlightedIndex];
@@ -35,6 +35,10 @@ class TestComposerCore extends BaseComposerRuntimeCore {
35
35
  return false;
36
36
  }
37
37
 
38
+ get canSend() {
39
+ return !this.isEmpty;
40
+ }
41
+
38
42
  protected handleSend(
39
43
  message: Omit<AppendMessage, "parentId" | "sourceId">,
40
44
  options?: SendOptions,
@@ -0,0 +1,55 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { auiV0Encode } from "../legacy-runtime/cloud/auiV0";
3
+
4
+ describe("auiV0Encode", () => {
5
+ it("preserves document source parts in the legacy cloud encoder", () => {
6
+ const encoded = auiV0Encode({
7
+ id: "m1",
8
+ createdAt: new Date("2026-03-15T00:00:00.000Z"),
9
+ role: "assistant",
10
+ status: { type: "complete", reason: "stop" },
11
+ metadata: {
12
+ unstable_state: undefined,
13
+ unstable_annotations: [],
14
+ unstable_data: [],
15
+ steps: [],
16
+ custom: {},
17
+ },
18
+ content: [
19
+ {
20
+ type: "source",
21
+ sourceType: "document",
22
+ id: "doc_123",
23
+ title: "proposal.pdf",
24
+ mediaType: "application/pdf",
25
+ filename: "proposal.pdf",
26
+ providerMetadata: {
27
+ openai: {
28
+ type: "file_citation",
29
+ fileId: "file_123",
30
+ index: 0,
31
+ },
32
+ },
33
+ },
34
+ ],
35
+ });
36
+
37
+ expect(encoded.content).toEqual([
38
+ {
39
+ type: "source",
40
+ sourceType: "document",
41
+ id: "doc_123",
42
+ title: "proposal.pdf",
43
+ mediaType: "application/pdf",
44
+ filename: "proposal.pdf",
45
+ providerMetadata: {
46
+ openai: {
47
+ type: "file_citation",
48
+ fileId: "file_123",
49
+ index: 0,
50
+ },
51
+ },
52
+ },
53
+ ]);
54
+ });
55
+ });