@assistant-ui/ai-sdk 0.0.7 → 0.0.9

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 (115) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/dist/adapters/aiSDKFormatAdapter.d.ts +2 -2
  4. package/dist/adapters/aiSDKFormatAdapter.d.ts.map +1 -0
  5. package/dist/adapters/vercelAttachmentAdapter.d.ts +1 -3
  6. package/dist/adapters/vercelAttachmentAdapter.d.ts.map +1 -1
  7. package/dist/adapters/vercelAttachmentAdapter.js +3 -3
  8. package/dist/adapters/vercelAttachmentAdapter.js.map +1 -1
  9. package/dist/aiSDKExtras.d.ts +4 -6
  10. package/dist/aiSDKExtras.d.ts.map +1 -1
  11. package/dist/converters/convertMessage.d.ts +34 -24
  12. package/dist/converters/convertMessage.d.ts.map +1 -1
  13. package/dist/converters/convertMessage.js +56 -12
  14. package/dist/converters/convertMessage.js.map +1 -1
  15. package/dist/converters/modelContentEnvelope.d.ts +6 -7
  16. package/dist/converters/modelContentEnvelope.d.ts.map +1 -1
  17. package/dist/converters/toCreateMessage.d.ts +2 -4
  18. package/dist/converters/toCreateMessage.d.ts.map +1 -1
  19. package/dist/converters/toolOutputConversion.d.ts +20 -22
  20. package/dist/converters/toolOutputConversion.d.ts.map +1 -1
  21. package/dist/hooks.d.ts +2 -4
  22. package/dist/hooks.d.ts.map +1 -1
  23. package/dist/index.d.ts +17 -14
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.native.d.ts +15 -12
  26. package/dist/index.native.d.ts.map +1 -0
  27. package/dist/model-context/injectInteractableContext.d.ts +2 -4
  28. package/dist/model-context/injectInteractableContext.d.ts.map +1 -1
  29. package/dist/model-context/injectQuoteContext.d.ts +1 -3
  30. package/dist/model-context/injectQuoteContext.d.ts.map +1 -1
  31. package/dist/runtime/AISDKChat.d.ts +2 -4
  32. package/dist/runtime/AISDKChat.d.ts.map +1 -1
  33. package/dist/runtime/AISDKChat.js +1 -1
  34. package/dist/runtime/AISDKChat.js.map +1 -1
  35. package/dist/runtime/AISDKThreads.d.ts +29 -31
  36. package/dist/runtime/AISDKThreads.d.ts.map +1 -1
  37. package/dist/runtime/AISDKThreads.js +22 -23
  38. package/dist/runtime/AISDKThreads.js.map +1 -1
  39. package/dist/runtime/sdkIdentity.d.ts +1 -3
  40. package/dist/runtime/sdkIdentity.d.ts.map +1 -1
  41. package/dist/runtime/sdkIdentity.js +1 -1
  42. package/dist/runtime/useAISDKRuntime.d.ts +76 -70
  43. package/dist/runtime/useAISDKRuntime.d.ts.map +1 -1
  44. package/dist/runtime/useAISDKRuntime.js +311 -77
  45. package/dist/runtime/useAISDKRuntime.js.map +1 -1
  46. package/dist/runtime/useChatRuntime.d.ts +6 -8
  47. package/dist/runtime/useChatRuntime.d.ts.map +1 -1
  48. package/dist/runtime/useChatRuntime.js +14 -10
  49. package/dist/runtime/useChatRuntime.js.map +1 -1
  50. package/dist/runtime/useChatThread.d.ts +94 -89
  51. package/dist/runtime/useChatThread.d.ts.map +1 -1
  52. package/dist/runtime/useChatThread.js +44 -15
  53. package/dist/runtime/useChatThread.js.map +1 -1
  54. package/dist/runtime/useExternalHistory.d.ts +7 -7
  55. package/dist/runtime/useExternalHistory.d.ts.map +1 -1
  56. package/dist/runtime/useExternalHistory.js +231 -60
  57. package/dist/runtime/useExternalHistory.js.map +1 -1
  58. package/dist/runtime/useResourceCleanup.d.ts +1 -3
  59. package/dist/runtime/useResourceCleanup.d.ts.map +1 -1
  60. package/dist/runtime/useResourceCleanup.js +38 -14
  61. package/dist/runtime/useResourceCleanup.js.map +1 -1
  62. package/dist/runtime/useStreamingTiming.d.ts +3 -5
  63. package/dist/runtime/useStreamingTiming.d.ts.map +1 -1
  64. package/dist/runtime/useStreamingTiming.js +1 -1
  65. package/dist/tools/frontendTools.d.ts +21 -23
  66. package/dist/tools/frontendTools.d.ts.map +1 -1
  67. package/dist/tools/generativeTools.d.ts +24 -26
  68. package/dist/tools/generativeTools.d.ts.map +1 -1
  69. package/dist/tools/mcp-stdio.node.d.ts +2 -2
  70. package/dist/tools/mcp-stdio.node.d.ts.map +1 -0
  71. package/dist/tools/mcp-stdio.unsupported.d.ts +2 -4
  72. package/dist/tools/mcp-stdio.unsupported.d.ts.map +1 -1
  73. package/dist/transport/AssistantChatTransport.d.ts +14 -16
  74. package/dist/transport/AssistantChatTransport.d.ts.map +1 -1
  75. package/dist/transport/AssistantChatTransport.js +9 -2
  76. package/dist/transport/AssistantChatTransport.js.map +1 -1
  77. package/dist/transport/resumable.d.ts +25 -27
  78. package/dist/transport/resumable.d.ts.map +1 -1
  79. package/dist/usage.d.ts +8 -10
  80. package/dist/usage.d.ts.map +1 -1
  81. package/dist/usage.js.map +1 -1
  82. package/dist/utils/getVercelAIMessages.d.ts +2 -4
  83. package/dist/utils/getVercelAIMessages.d.ts.map +1 -1
  84. package/dist/utils/sliceMessagesUntil.d.ts +1 -3
  85. package/dist/utils/sliceMessagesUntil.d.ts.map +1 -1
  86. package/package.json +13 -9
  87. package/src/adapters/vercelAttachmentAdapter.test.ts +23 -0
  88. package/src/adapters/vercelAttachmentAdapter.ts +2 -2
  89. package/src/converters/convertMessage.test.ts +541 -3
  90. package/src/converters/convertMessage.ts +123 -15
  91. package/src/index.native.ts +1 -1
  92. package/src/index.ts +1 -1
  93. package/src/runtime/AISDKChat.ts +0 -4
  94. package/src/runtime/AISDKThreads.cloud.test.ts +60 -2
  95. package/src/runtime/AISDKThreads.test.ts +105 -46
  96. package/src/runtime/AISDKThreads.ts +1 -1
  97. package/src/runtime/useAISDKRuntime.approval.integration.test.tsx +1639 -19
  98. package/src/runtime/useAISDKRuntime.approval.test.tsx +252 -9
  99. package/src/runtime/useAISDKRuntime.fast-refresh.test.tsx +182 -0
  100. package/src/runtime/useAISDKRuntime.test.ts +275 -5
  101. package/src/runtime/useAISDKRuntime.ts +533 -60
  102. package/src/runtime/useAISDKRuntime.voice.test.tsx +50 -1
  103. package/src/runtime/useChatRuntime.fast-refresh.test.tsx +94 -0
  104. package/src/runtime/useChatRuntime.integration.test.tsx +143 -65
  105. package/src/runtime/useChatRuntime.test.ts +11 -7
  106. package/src/runtime/useChatRuntime.ts +6 -2
  107. package/src/runtime/useChatThread.test.ts +166 -2
  108. package/src/runtime/useChatThread.transport.test.tsx +152 -0
  109. package/src/runtime/useChatThread.ts +89 -22
  110. package/src/runtime/useExternalHistory.test.ts +943 -3
  111. package/src/runtime/useExternalHistory.ts +378 -15
  112. package/src/runtime/useResourceCleanup.ts +41 -15
  113. package/src/transport/AssistantChatTransport.test.ts +164 -0
  114. package/src/transport/AssistantChatTransport.ts +22 -2
  115. package/src/usage.ts +1 -1
@@ -1,6 +1,4 @@
1
- import { UIMessage } from "ai";
2
- import { ThreadMessage } from "@assistant-ui/core";
3
- //#region src/utils/getVercelAIMessages.d.ts
1
+ import { type ThreadMessage } from "@assistant-ui/core";
2
+ import type { UIMessage } from "ai";
4
3
  export declare const getVercelAIMessages: <UI_MESSAGE extends UIMessage = UIMessage>(message: ThreadMessage) => UI_MESSAGE[];
5
- //#endregion
6
4
  //# sourceMappingURL=getVercelAIMessages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getVercelAIMessages.d.ts","names":[],"sources":["../../src/utils/getVercelAIMessages.ts"],"mappings":";;;qBAMa,sBAAuB,mBAAmB,YAAY,WACjE,SAAS,kBAEmC"}
1
+ {"version":3,"file":"getVercelAIMessages.d.ts","sourceRoot":"","sources":["../../src/utils/getVercelAIMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,eAAO,MAAM,mBAAmB,GAAI,UAAU,SAAS,SAAS,GAAG,SAAS,EAC1E,SAAS,aAAa,KAEsB,UAAU,EACvD,CAAC"}
@@ -1,5 +1,3 @@
1
- import { UIMessage } from "ai";
2
- //#region src/utils/sliceMessagesUntil.d.ts
1
+ import type { UIMessage } from "ai";
3
2
  export declare const sliceMessagesUntil: <UI_MESSAGE extends UIMessage = UIMessage>(messages: UI_MESSAGE[], messageId: string | null) => UI_MESSAGE[];
4
- //#endregion
5
3
  //# sourceMappingURL=sliceMessagesUntil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sliceMessagesUntil.d.ts","names":[],"sources":["../../src/utils/sliceMessagesUntil.ts"],"mappings":";;qBAEa,qBAAsB,mBAAmB,YAAY,WAChE,UAAU,cACV,6BAAwB"}
1
+ {"version":3,"file":"sliceMessagesUntil.d.ts","sourceRoot":"","sources":["../../src/utils/sliceMessagesUntil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,eAAO,MAAM,kBAAkB,GAAI,UAAU,SAAS,SAAS,GAAG,SAAS,EACzE,UAAU,UAAU,EAAE,EACtB,WAAW,MAAM,GAAG,IAAI,iBAezB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assistant-ui/ai-sdk",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "Vercel AI SDK adapter for assistant-ui",
5
5
  "keywords": [
6
6
  "ai-sdk",
@@ -48,15 +48,15 @@
48
48
  "dependencies": {
49
49
  "@ai-sdk/mcp": "^2.0.49",
50
50
  "@ai-sdk/react": "^4.0.104",
51
- "@assistant-ui/core": "^0.3.20",
52
- "@assistant-ui/store": "^0.3.14",
53
- "@assistant-ui/tap": "^0.9.18",
54
- "ai": "^7.0.101",
55
- "assistant-cloud": "^0.2.2",
56
- "assistant-stream": "^0.3.44"
51
+ "@assistant-ui/core": "^0.3.22",
52
+ "@assistant-ui/store": "^0.3.16",
53
+ "@assistant-ui/tap": "^0.9.20",
54
+ "assistant-cloud": "^0.2.4",
55
+ "assistant-stream": "^0.3.46"
57
56
  },
58
57
  "peerDependencies": {
59
58
  "@types/react": "*",
59
+ "ai": "^7.0.101",
60
60
  "react": "^18 || ^19"
61
61
  },
62
62
  "peerDependenciesMeta": {
@@ -68,11 +68,13 @@
68
68
  }
69
69
  },
70
70
  "devDependencies": {
71
- "@assistant-ui/x-buildutils": "0.0.28",
71
+ "@assistant-ui/x-buildutils": "0.0.29",
72
+ "@assistant-ui/x-react18": "0.0.0",
72
73
  "@testing-library/react": "^16.3.3",
73
74
  "@types/json-schema": "^7.0.15",
74
75
  "@types/react": "^19.3.0",
75
76
  "@types/react-dom": "^19.3.0",
77
+ "ai": "^7.0.101",
76
78
  "jsdom": "^30.0.1",
77
79
  "react": "^19.3.0",
78
80
  "vitest": "^5.0.1"
@@ -94,8 +96,10 @@
94
96
  "build": "aui-build",
95
97
  "test": "vitest run",
96
98
  "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
99
+ "test:peer-react18": "vitest run --config vitest.peer-react18.config.ts",
97
100
  "test:react-compiler": "vitest run --config vitest.react-compiler.config.ts",
98
101
  "test:standalone": "vitest run --project standalone",
99
- "test:watch": "vitest"
102
+ "test:watch": "vitest",
103
+ "test:types:peer-react18": "aui-react18-types"
100
104
  }
101
105
  }
@@ -26,4 +26,27 @@ describe("vercelAttachmentAdapter", () => {
26
26
  if (part?.type !== "file") throw new Error("expected file content part");
27
27
  expect(part.data).toBe("data:text/plain;base64,aGVsbG8=");
28
28
  });
29
+
30
+ it("aborts a file send via the shared core encoder", async () => {
31
+ globalThis.FileReader = undefined as unknown as typeof FileReader;
32
+
33
+ const file = new File(["hello"], "a.txt", { type: "text/plain" });
34
+ const controller = new AbortController();
35
+ controller.abort();
36
+
37
+ await expect(
38
+ vercelAttachmentAdapter.send(
39
+ {
40
+ id: "1",
41
+ type: "file",
42
+ name: file.name,
43
+ file,
44
+ contentType: file.type,
45
+ content: [],
46
+ status: { type: "requires-action", reason: "composer-send" },
47
+ },
48
+ { signal: controller.signal },
49
+ ),
50
+ ).rejects.toBe(controller.signal.reason);
51
+ });
29
52
  });
@@ -15,7 +15,7 @@ export const vercelAttachmentAdapter: AttachmentAdapter = {
15
15
  status: { type: "requires-action", reason: "composer-send" },
16
16
  };
17
17
  },
18
- async send(attachment) {
18
+ async send(attachment, options) {
19
19
  // noop
20
20
  return {
21
21
  ...attachment,
@@ -25,7 +25,7 @@ export const vercelAttachmentAdapter: AttachmentAdapter = {
25
25
  type: "file",
26
26
  mimeType: attachment.contentType ?? "",
27
27
  filename: attachment.name,
28
- data: await getFileDataURL(attachment.file),
28
+ data: await getFileDataURL(attachment.file, options),
29
29
  },
30
30
  ],
31
31
  };