@assistant-ui/react-mcp 0.0.0 → 0.0.2

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 (179) hide show
  1. package/LICENSE +21 -0
  2. package/dist/_virtual/_rolldown/runtime.js +13 -0
  3. package/dist/auth/buildHeaders.d.ts +7 -3
  4. package/dist/auth/buildHeaders.d.ts.map +1 -1
  5. package/dist/auth/buildHeaders.js +14 -12
  6. package/dist/auth/buildHeaders.js.map +1 -1
  7. package/dist/auth/createOAuthProvider.d.ts +17 -15
  8. package/dist/auth/createOAuthProvider.d.ts.map +1 -1
  9. package/dist/auth/createOAuthProvider.js +111 -137
  10. package/dist/auth/createOAuthProvider.js.map +1 -1
  11. package/dist/auth/types.d.ts +10 -7
  12. package/dist/auth/types.d.ts.map +1 -1
  13. package/dist/auth/types.js +0 -2
  14. package/dist/connector.d.ts +6 -2
  15. package/dist/connector.d.ts.map +1 -1
  16. package/dist/connector.js +7 -3
  17. package/dist/connector.js.map +1 -1
  18. package/dist/context/McpConnectorByIndexProvider.d.ts +7 -3
  19. package/dist/context/McpConnectorByIndexProvider.d.ts.map +1 -1
  20. package/dist/context/McpConnectorByIndexProvider.js +18 -11
  21. package/dist/context/McpConnectorByIndexProvider.js.map +1 -1
  22. package/dist/context/McpCustomServerByIndexProvider.d.ts +7 -3
  23. package/dist/context/McpCustomServerByIndexProvider.d.ts.map +1 -1
  24. package/dist/context/McpCustomServerByIndexProvider.js +18 -11
  25. package/dist/context/McpCustomServerByIndexProvider.js.map +1 -1
  26. package/dist/context/McpServerByIdProvider.d.ts +7 -3
  27. package/dist/context/McpServerByIdProvider.d.ts.map +1 -1
  28. package/dist/context/McpServerByIdProvider.js +15 -11
  29. package/dist/context/McpServerByIdProvider.js.map +1 -1
  30. package/dist/hooks/useMcpOAuthCallback.d.ts +16 -13
  31. package/dist/hooks/useMcpOAuthCallback.d.ts.map +1 -1
  32. package/dist/hooks/useMcpOAuthCallback.js +59 -55
  33. package/dist/hooks/useMcpOAuthCallback.js.map +1 -1
  34. package/dist/index.d.ts +17 -18
  35. package/dist/index.js +14 -26
  36. package/dist/mcp-scope.d.ts +91 -94
  37. package/dist/mcp-scope.d.ts.map +1 -1
  38. package/dist/mcp-scope.js +0 -1
  39. package/dist/primitives/addForm/McpAddFormAuthFields.d.ts +17 -13
  40. package/dist/primitives/addForm/McpAddFormAuthFields.d.ts.map +1 -1
  41. package/dist/primitives/addForm/McpAddFormAuthFields.js +23 -14
  42. package/dist/primitives/addForm/McpAddFormAuthFields.js.map +1 -1
  43. package/dist/primitives/addForm/McpAddFormAuthSelect.d.ts +9 -5
  44. package/dist/primitives/addForm/McpAddFormAuthSelect.d.ts.map +1 -1
  45. package/dist/primitives/addForm/McpAddFormAuthSelect.js +36 -16
  46. package/dist/primitives/addForm/McpAddFormAuthSelect.js.map +1 -1
  47. package/dist/primitives/addForm/McpAddFormCancel.d.ts +10 -6
  48. package/dist/primitives/addForm/McpAddFormCancel.d.ts.map +1 -1
  49. package/dist/primitives/addForm/McpAddFormCancel.js +19 -11
  50. package/dist/primitives/addForm/McpAddFormCancel.js.map +1 -1
  51. package/dist/primitives/addForm/McpAddFormError.d.ts +10 -6
  52. package/dist/primitives/addForm/McpAddFormError.d.ts.map +1 -1
  53. package/dist/primitives/addForm/McpAddFormError.js +15 -8
  54. package/dist/primitives/addForm/McpAddFormError.js.map +1 -1
  55. package/dist/primitives/addForm/McpAddFormNameField.d.ts +9 -5
  56. package/dist/primitives/addForm/McpAddFormNameField.d.ts.map +1 -1
  57. package/dist/primitives/addForm/McpAddFormNameField.js +17 -6
  58. package/dist/primitives/addForm/McpAddFormNameField.js.map +1 -1
  59. package/dist/primitives/addForm/McpAddFormRoot.d.ts +15 -11
  60. package/dist/primitives/addForm/McpAddFormRoot.d.ts.map +1 -1
  61. package/dist/primitives/addForm/McpAddFormRoot.js +134 -94
  62. package/dist/primitives/addForm/McpAddFormRoot.js.map +1 -1
  63. package/dist/primitives/addForm/McpAddFormSubmit.d.ts +10 -6
  64. package/dist/primitives/addForm/McpAddFormSubmit.d.ts.map +1 -1
  65. package/dist/primitives/addForm/McpAddFormSubmit.js +16 -6
  66. package/dist/primitives/addForm/McpAddFormSubmit.js.map +1 -1
  67. package/dist/primitives/addForm/McpAddFormUrlField.d.ts +9 -5
  68. package/dist/primitives/addForm/McpAddFormUrlField.d.ts.map +1 -1
  69. package/dist/primitives/addForm/McpAddFormUrlField.js +18 -6
  70. package/dist/primitives/addForm/McpAddFormUrlField.js.map +1 -1
  71. package/dist/primitives/addForm/context.d.ts +22 -18
  72. package/dist/primitives/addForm/context.d.ts.map +1 -1
  73. package/dist/primitives/addForm/context.js +9 -7
  74. package/dist/primitives/addForm/context.js.map +1 -1
  75. package/dist/primitives/addForm.d.ts +15 -8
  76. package/dist/primitives/addForm.d.ts.map +1 -1
  77. package/dist/primitives/addForm.js +23 -8
  78. package/dist/primitives/addForm.js.map +1 -1
  79. package/dist/primitives/manager/McpManagerAddCustomTrigger.d.ts +10 -6
  80. package/dist/primitives/manager/McpManagerAddCustomTrigger.d.ts.map +1 -1
  81. package/dist/primitives/manager/McpManagerAddCustomTrigger.js +13 -6
  82. package/dist/primitives/manager/McpManagerAddCustomTrigger.js.map +1 -1
  83. package/dist/primitives/manager/McpManagerConnectors.d.ts +18 -14
  84. package/dist/primitives/manager/McpManagerConnectors.d.ts.map +1 -1
  85. package/dist/primitives/manager/McpManagerConnectors.js +37 -35
  86. package/dist/primitives/manager/McpManagerConnectors.js.map +1 -1
  87. package/dist/primitives/manager/McpManagerCustomServers.d.ts +18 -14
  88. package/dist/primitives/manager/McpManagerCustomServers.d.ts.map +1 -1
  89. package/dist/primitives/manager/McpManagerCustomServers.js +38 -32
  90. package/dist/primitives/manager/McpManagerCustomServers.js.map +1 -1
  91. package/dist/primitives/manager/McpManagerRoot.d.ts +10 -6
  92. package/dist/primitives/manager/McpManagerRoot.d.ts.map +1 -1
  93. package/dist/primitives/manager/McpManagerRoot.js +14 -6
  94. package/dist/primitives/manager/McpManagerRoot.js.map +1 -1
  95. package/dist/primitives/manager.d.ts +11 -4
  96. package/dist/primitives/manager.d.ts.map +1 -1
  97. package/dist/primitives/manager.js +15 -4
  98. package/dist/primitives/manager.js.map +1 -1
  99. package/dist/primitives/server/McpServerConnectButton.d.ts +10 -6
  100. package/dist/primitives/server/McpServerConnectButton.d.ts.map +1 -1
  101. package/dist/primitives/server/McpServerConnectButton.js +28 -17
  102. package/dist/primitives/server/McpServerConnectButton.js.map +1 -1
  103. package/dist/primitives/server/McpServerDisconnectButton.d.ts +10 -6
  104. package/dist/primitives/server/McpServerDisconnectButton.d.ts.map +1 -1
  105. package/dist/primitives/server/McpServerDisconnectButton.js +27 -17
  106. package/dist/primitives/server/McpServerDisconnectButton.js.map +1 -1
  107. package/dist/primitives/server/McpServerError.d.ts +10 -6
  108. package/dist/primitives/server/McpServerError.d.ts.map +1 -1
  109. package/dist/primitives/server/McpServerError.js +15 -8
  110. package/dist/primitives/server/McpServerError.js.map +1 -1
  111. package/dist/primitives/server/McpServerIcon.d.ts +16 -14
  112. package/dist/primitives/server/McpServerIcon.d.ts.map +1 -1
  113. package/dist/primitives/server/McpServerIcon.js +18 -10
  114. package/dist/primitives/server/McpServerIcon.js.map +1 -1
  115. package/dist/primitives/server/McpServerName.d.ts +10 -6
  116. package/dist/primitives/server/McpServerName.d.ts.map +1 -1
  117. package/dist/primitives/server/McpServerName.js +14 -6
  118. package/dist/primitives/server/McpServerName.js.map +1 -1
  119. package/dist/primitives/server/McpServerOAuthLink.d.ts +13 -11
  120. package/dist/primitives/server/McpServerOAuthLink.d.ts.map +1 -1
  121. package/dist/primitives/server/McpServerOAuthLink.js +18 -9
  122. package/dist/primitives/server/McpServerOAuthLink.js.map +1 -1
  123. package/dist/primitives/server/McpServerRemoveButton.d.ts +10 -6
  124. package/dist/primitives/server/McpServerRemoveButton.d.ts.map +1 -1
  125. package/dist/primitives/server/McpServerRemoveButton.js +21 -14
  126. package/dist/primitives/server/McpServerRemoveButton.js.map +1 -1
  127. package/dist/primitives/server/McpServerRoot.d.ts +10 -6
  128. package/dist/primitives/server/McpServerRoot.d.ts.map +1 -1
  129. package/dist/primitives/server/McpServerRoot.js +20 -9
  130. package/dist/primitives/server/McpServerRoot.js.map +1 -1
  131. package/dist/primitives/server/McpServerStatus.d.ts +10 -6
  132. package/dist/primitives/server/McpServerStatus.d.ts.map +1 -1
  133. package/dist/primitives/server/McpServerStatus.js +15 -6
  134. package/dist/primitives/server/McpServerStatus.js.map +1 -1
  135. package/dist/primitives/server/McpServerToolName.d.ts +10 -6
  136. package/dist/primitives/server/McpServerToolName.d.ts.map +1 -1
  137. package/dist/primitives/server/McpServerToolName.js +15 -6
  138. package/dist/primitives/server/McpServerToolName.js.map +1 -1
  139. package/dist/primitives/server/McpServerTools.d.ts +12 -8
  140. package/dist/primitives/server/McpServerTools.d.ts.map +1 -1
  141. package/dist/primitives/server/McpServerTools.js +17 -13
  142. package/dist/primitives/server/McpServerTools.js.map +1 -1
  143. package/dist/primitives/server.d.ts +18 -11
  144. package/dist/primitives/server.d.ts.map +1 -1
  145. package/dist/primitives/server.js +30 -11
  146. package/dist/primitives/server.js.map +1 -1
  147. package/dist/resources/McpManagerResource.d.ts +13 -11
  148. package/dist/resources/McpManagerResource.d.ts.map +1 -1
  149. package/dist/resources/McpManagerResource.js +149 -183
  150. package/dist/resources/McpManagerResource.js.map +1 -1
  151. package/dist/resources/McpServerResource.d.ts +19 -15
  152. package/dist/resources/McpServerResource.d.ts.map +1 -1
  153. package/dist/resources/McpServerResource.js +186 -235
  154. package/dist/resources/McpServerResource.js.map +1 -1
  155. package/dist/resources/storage/McpCustomStorage.d.ts +6 -2
  156. package/dist/resources/storage/McpCustomStorage.d.ts.map +1 -1
  157. package/dist/resources/storage/McpCustomStorage.js +5 -1
  158. package/dist/resources/storage/McpCustomStorage.js.map +1 -1
  159. package/dist/resources/storage/McpLocalStorage.d.ts +9 -7
  160. package/dist/resources/storage/McpLocalStorage.d.ts.map +1 -1
  161. package/dist/resources/storage/McpLocalStorage.js +51 -62
  162. package/dist/resources/storage/McpLocalStorage.js.map +1 -1
  163. package/dist/resources/storage/McpMemoryStorage.d.ts +6 -2
  164. package/dist/resources/storage/McpMemoryStorage.d.ts.map +1 -1
  165. package/dist/resources/storage/McpMemoryStorage.js +20 -16
  166. package/dist/resources/storage/McpMemoryStorage.js.map +1 -1
  167. package/dist/resources/storage/types.d.ts +14 -10
  168. package/dist/resources/storage/types.d.ts.map +1 -1
  169. package/dist/resources/storage/types.js +0 -2
  170. package/dist/utils/serverId.d.ts +4 -1
  171. package/dist/utils/serverId.d.ts.map +1 -1
  172. package/dist/utils/serverId.js +8 -14
  173. package/dist/utils/serverId.js.map +1 -1
  174. package/package.json +12 -12
  175. package/dist/auth/types.js.map +0 -1
  176. package/dist/index.d.ts.map +0 -1
  177. package/dist/index.js.map +0 -1
  178. package/dist/mcp-scope.js.map +0 -1
  179. package/dist/resources/storage/types.js.map +0 -1
@@ -1,67 +1,56 @@
1
1
  import { resource } from "@assistant-ui/tap";
2
+ //#region src/resources/storage/McpLocalStorage.ts
2
3
  function resolveStorage(opts) {
3
- if (opts.storage)
4
- return opts.storage;
5
- if (typeof globalThis !== "undefined" && "localStorage" in globalThis) {
6
- try {
7
- return globalThis.localStorage;
8
- }
9
- catch {
10
- return null;
11
- }
12
- }
13
- return null;
4
+ if (opts.storage) return opts.storage;
5
+ if (typeof globalThis !== "undefined" && "localStorage" in globalThis) try {
6
+ return globalThis.localStorage;
7
+ } catch {
8
+ return null;
9
+ }
10
+ return null;
14
11
  }
15
- export const McpLocalStorage = resource((opts = {}) => {
16
- const prefix = opts.keyPrefix ?? "aui-mcp";
17
- const customServersKey = `${prefix}:custom-servers`;
18
- const authKey = (id) => `${prefix}:auth:${id}`;
19
- const storage = resolveStorage(opts);
20
- const read = (key, fallback) => {
21
- if (!storage)
22
- return fallback;
23
- try {
24
- const raw = storage.getItem(key);
25
- if (raw == null)
26
- return fallback;
27
- return JSON.parse(raw);
28
- }
29
- catch {
30
- return fallback;
31
- }
32
- };
33
- const write = (key, value) => {
34
- if (!storage)
35
- return;
36
- try {
37
- storage.setItem(key, JSON.stringify(value));
38
- }
39
- catch {
40
- // quota or serialization failure — silently drop
41
- }
42
- };
43
- const remove = (key) => {
44
- if (!storage)
45
- return;
46
- try {
47
- storage.removeItem(key);
48
- }
49
- catch {
50
- // ignore
51
- }
52
- };
53
- return {
54
- loadCustomServers: async () => read(customServersKey, []),
55
- saveCustomServers: async (records) => {
56
- write(customServersKey, records);
57
- },
58
- loadAuthState: async (id) => read(authKey(id), null),
59
- saveAuthState: async (id, state) => {
60
- write(authKey(id), state);
61
- },
62
- clearAuthState: async (id) => {
63
- remove(authKey(id));
64
- },
65
- };
12
+ const McpLocalStorage = resource((opts = {}) => {
13
+ const prefix = opts.keyPrefix ?? "aui-mcp";
14
+ const customServersKey = `${prefix}:custom-servers`;
15
+ const authKey = (id) => `${prefix}:auth:${id}`;
16
+ const storage = resolveStorage(opts);
17
+ const read = (key, fallback) => {
18
+ if (!storage) return fallback;
19
+ try {
20
+ const raw = storage.getItem(key);
21
+ if (raw == null) return fallback;
22
+ return JSON.parse(raw);
23
+ } catch {
24
+ return fallback;
25
+ }
26
+ };
27
+ const write = (key, value) => {
28
+ if (!storage) return;
29
+ try {
30
+ storage.setItem(key, JSON.stringify(value));
31
+ } catch {}
32
+ };
33
+ const remove = (key) => {
34
+ if (!storage) return;
35
+ try {
36
+ storage.removeItem(key);
37
+ } catch {}
38
+ };
39
+ return {
40
+ loadCustomServers: async () => read(customServersKey, []),
41
+ saveCustomServers: async (records) => {
42
+ write(customServersKey, records);
43
+ },
44
+ loadAuthState: async (id) => read(authKey(id), null),
45
+ saveAuthState: async (id, state) => {
46
+ write(authKey(id), state);
47
+ },
48
+ clearAuthState: async (id) => {
49
+ remove(authKey(id));
50
+ }
51
+ };
66
52
  });
53
+ //#endregion
54
+ export { McpLocalStorage };
55
+
67
56
  //# sourceMappingURL=McpLocalStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"McpLocalStorage.js","sourceRoot":"","sources":["../../../src/resources/storage/McpLocalStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAY7C,SAAS,cAAc,CAAC,IAA4B;IAClD,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtC,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,cAAc,IAAI,UAAU,EAAE,CAAC;QACtE,IAAI,CAAC;YACH,OAAQ,UAAwC,CAAC,YAAY,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CACrC,CAAC,OAA+B,EAAE,EAAc,EAAE;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;IAC3C,MAAM,gBAAgB,GAAG,GAAG,MAAM,iBAAiB,CAAC;IACpD,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,MAAM,SAAS,EAAE,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,IAAI,GAAG,CAAI,GAAW,EAAE,QAAW,EAAK,EAAE;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,GAAG,IAAI,IAAI;gBAAE,OAAO,QAAQ,CAAC;YACjC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,KAAc,EAAQ,EAAE;QAClD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,GAAW,EAAQ,EAAE;QACnC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC;YACH,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAC5B,IAAI,CAA0B,gBAAgB,EAAE,EAAE,CAAC;QACrD,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACnC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAC1B,IAAI,CAA+B,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;QACvD,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;YACjC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"McpLocalStorage.js","names":[],"sources":["../../../src/resources/storage/McpLocalStorage.ts"],"sourcesContent":["import { resource } from \"@assistant-ui/tap\";\nimport type { MCPCustomServerRecord } from \"../../mcp-scope\";\nimport type { MCPPersistedAuthState } from \"../../auth/types\";\nimport type { MCPStorage } from \"./types\";\n\nexport type McpLocalStorageOptions = {\n /** Namespace prefix for keys. Default \"aui-mcp\". */\n keyPrefix?: string;\n /** Override the underlying Storage. Defaults to globalThis.localStorage. */\n storage?: Storage;\n};\n\nfunction resolveStorage(opts: McpLocalStorageOptions): Storage | null {\n if (opts.storage) return opts.storage;\n if (typeof globalThis !== \"undefined\" && \"localStorage\" in globalThis) {\n try {\n return (globalThis as { localStorage: Storage }).localStorage;\n } catch {\n return null;\n }\n }\n return null;\n}\n\nexport const McpLocalStorage = resource(\n (opts: McpLocalStorageOptions = {}): MCPStorage => {\n const prefix = opts.keyPrefix ?? \"aui-mcp\";\n const customServersKey = `${prefix}:custom-servers`;\n const authKey = (id: string) => `${prefix}:auth:${id}`;\n const storage = resolveStorage(opts);\n\n const read = <T>(key: string, fallback: T): T => {\n if (!storage) return fallback;\n try {\n const raw = storage.getItem(key);\n if (raw == null) return fallback;\n return JSON.parse(raw) as T;\n } catch {\n return fallback;\n }\n };\n\n const write = (key: string, value: unknown): void => {\n if (!storage) return;\n try {\n storage.setItem(key, JSON.stringify(value));\n } catch {\n // quota or serialization failure — silently drop\n }\n };\n\n const remove = (key: string): void => {\n if (!storage) return;\n try {\n storage.removeItem(key);\n } catch {\n // ignore\n }\n };\n\n return {\n loadCustomServers: async () =>\n read<MCPCustomServerRecord[]>(customServersKey, []),\n saveCustomServers: async (records) => {\n write(customServersKey, records);\n },\n loadAuthState: async (id) =>\n read<MCPPersistedAuthState | null>(authKey(id), null),\n saveAuthState: async (id, state) => {\n write(authKey(id), state);\n },\n clearAuthState: async (id) => {\n remove(authKey(id));\n },\n };\n },\n);\n"],"mappings":";;AAYA,SAAS,eAAe,MAA8C;CACpE,IAAI,KAAK,SAAS,OAAO,KAAK;CAC9B,IAAI,OAAO,eAAe,eAAe,kBAAkB,YACzD,IAAI;EACF,OAAQ,WAAyC;CACnD,QAAQ;EACN,OAAO;CACT;CAEF,OAAO;AACT;AAEA,MAAa,kBAAkB,UAC5B,OAA+B,CAAC,MAAkB;CACjD,MAAM,SAAS,KAAK,aAAa;CACjC,MAAM,mBAAmB,GAAG,OAAO;CACnC,MAAM,WAAW,OAAe,GAAG,OAAO,QAAQ;CAClD,MAAM,UAAU,eAAe,IAAI;CAEnC,MAAM,QAAW,KAAa,aAAmB;EAC/C,IAAI,CAAC,SAAS,OAAO;EACrB,IAAI;GACF,MAAM,MAAM,QAAQ,QAAQ,GAAG;GAC/B,IAAI,OAAO,MAAM,OAAO;GACxB,OAAO,KAAK,MAAM,GAAG;EACvB,QAAQ;GACN,OAAO;EACT;CACF;CAEA,MAAM,SAAS,KAAa,UAAyB;EACnD,IAAI,CAAC,SAAS;EACd,IAAI;GACF,QAAQ,QAAQ,KAAK,KAAK,UAAU,KAAK,CAAC;EAC5C,QAAQ,CAER;CACF;CAEA,MAAM,UAAU,QAAsB;EACpC,IAAI,CAAC,SAAS;EACd,IAAI;GACF,QAAQ,WAAW,GAAG;EACxB,QAAQ,CAER;CACF;CAEA,OAAO;EACL,mBAAmB,YACjB,KAA8B,kBAAkB,CAAC,CAAC;EACpD,mBAAmB,OAAO,YAAY;GACpC,MAAM,kBAAkB,OAAO;EACjC;EACA,eAAe,OAAO,OACpB,KAAmC,QAAQ,EAAE,GAAG,IAAI;EACtD,eAAe,OAAO,IAAI,UAAU;GAClC,MAAM,QAAQ,EAAE,GAAG,KAAK;EAC1B;EACA,gBAAgB,OAAO,OAAO;GAC5B,OAAO,QAAQ,EAAE,CAAC;EACpB;CACF;AACF,CACF"}
@@ -1,3 +1,7 @@
1
- import type { MCPStorage } from "./types.js";
2
- export declare const McpMemoryStorage: () => import("@assistant-ui/tap").ResourceElement<MCPStorage, undefined>;
1
+ import { MCPStorage } from "./types.js";
2
+
3
+ //#region src/resources/storage/McpMemoryStorage.d.ts
4
+ declare const McpMemoryStorage: () => import("@assistant-ui/tap").ResourceElement<MCPStorage, undefined>;
5
+ //#endregion
6
+ export { McpMemoryStorage };
3
7
  //# sourceMappingURL=McpMemoryStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"McpMemoryStorage.d.ts","sourceRoot":"","sources":["../../../src/resources/storage/McpMemoryStorage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAgB;AAE1C,eAAO,MAAM,gBAAgB,0EAgB3B,CAAC"}
1
+ {"version":3,"file":"McpMemoryStorage.d.ts","names":[],"sources":["../../../src/resources/storage/McpMemoryStorage.ts"],"mappings":";;;cAKa,gBAAA,oCAAgB,eAAA,CAAA,UAAA"}
@@ -1,19 +1,23 @@
1
1
  import { resource } from "@assistant-ui/tap";
2
- export const McpMemoryStorage = resource(() => {
3
- let servers = [];
4
- const auth = new Map();
5
- return {
6
- loadCustomServers: async () => [...servers],
7
- saveCustomServers: async (records) => {
8
- servers = [...records];
9
- },
10
- loadAuthState: async (id) => auth.get(id) ?? null,
11
- saveAuthState: async (id, state) => {
12
- auth.set(id, state);
13
- },
14
- clearAuthState: async (id) => {
15
- auth.delete(id);
16
- },
17
- };
2
+ //#region src/resources/storage/McpMemoryStorage.ts
3
+ const McpMemoryStorage = resource(() => {
4
+ let servers = [];
5
+ const auth = /* @__PURE__ */ new Map();
6
+ return {
7
+ loadCustomServers: async () => [...servers],
8
+ saveCustomServers: async (records) => {
9
+ servers = [...records];
10
+ },
11
+ loadAuthState: async (id) => auth.get(id) ?? null,
12
+ saveAuthState: async (id, state) => {
13
+ auth.set(id, state);
14
+ },
15
+ clearAuthState: async (id) => {
16
+ auth.delete(id);
17
+ }
18
+ };
18
19
  });
20
+ //#endregion
21
+ export { McpMemoryStorage };
22
+
19
23
  //# sourceMappingURL=McpMemoryStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"McpMemoryStorage.js","sourceRoot":"","sources":["../../../src/resources/storage/McpMemoryStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAe,EAAE;IACxD,IAAI,OAAO,GAA4B,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiC,CAAC;IACtD,OAAO;QACL,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;QAC3C,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACnC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;QACjD,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"McpMemoryStorage.js","names":[],"sources":["../../../src/resources/storage/McpMemoryStorage.ts"],"sourcesContent":["import { resource } from \"@assistant-ui/tap\";\nimport type { MCPCustomServerRecord } from \"../../mcp-scope\";\nimport type { MCPPersistedAuthState } from \"../../auth/types\";\nimport type { MCPStorage } from \"./types\";\n\nexport const McpMemoryStorage = resource((): MCPStorage => {\n let servers: MCPCustomServerRecord[] = [];\n const auth = new Map<string, MCPPersistedAuthState>();\n return {\n loadCustomServers: async () => [...servers],\n saveCustomServers: async (records) => {\n servers = [...records];\n },\n loadAuthState: async (id) => auth.get(id) ?? null,\n saveAuthState: async (id, state) => {\n auth.set(id, state);\n },\n clearAuthState: async (id) => {\n auth.delete(id);\n },\n };\n});\n"],"mappings":";;AAKA,MAAa,mBAAmB,eAA2B;CACzD,IAAI,UAAmC,CAAC;CACxC,MAAM,uBAAO,IAAI,IAAmC;CACpD,OAAO;EACL,mBAAmB,YAAY,CAAC,GAAG,OAAO;EAC1C,mBAAmB,OAAO,YAAY;GACpC,UAAU,CAAC,GAAG,OAAO;EACvB;EACA,eAAe,OAAO,OAAO,KAAK,IAAI,EAAE,KAAK;EAC7C,eAAe,OAAO,IAAI,UAAU;GAClC,KAAK,IAAI,IAAI,KAAK;EACpB;EACA,gBAAgB,OAAO,OAAO;GAC5B,KAAK,OAAO,EAAE;EAChB;CACF;AACF,CAAC"}
@@ -1,12 +1,16 @@
1
- import type { ResourceElement } from "@assistant-ui/tap";
2
- import type { MCPCustomServerRecord } from "../../mcp-scope.js";
3
- import type { MCPPersistedAuthState } from "../../auth/types.js";
4
- export type MCPStorage = {
5
- loadCustomServers: () => Promise<MCPCustomServerRecord[]>;
6
- saveCustomServers: (records: MCPCustomServerRecord[]) => Promise<void>;
7
- loadAuthState: (serverId: string) => Promise<MCPPersistedAuthState | null>;
8
- saveAuthState: (serverId: string, state: MCPPersistedAuthState) => Promise<void>;
9
- clearAuthState: (serverId: string) => Promise<void>;
1
+ import { MCPCustomServerRecord } from "../../mcp-scope.js";
2
+ import { MCPPersistedAuthState } from "../../auth/types.js";
3
+ import { ResourceElement } from "@assistant-ui/tap";
4
+
5
+ //#region src/resources/storage/types.d.ts
6
+ type MCPStorage = {
7
+ loadCustomServers: () => Promise<MCPCustomServerRecord[]>;
8
+ saveCustomServers: (records: MCPCustomServerRecord[]) => Promise<void>;
9
+ loadAuthState: (serverId: string) => Promise<MCPPersistedAuthState | null>;
10
+ saveAuthState: (serverId: string, state: MCPPersistedAuthState) => Promise<void>;
11
+ clearAuthState: (serverId: string) => Promise<void>;
10
12
  };
11
- export type MCPStorageElement = ResourceElement<MCPStorage>;
13
+ type MCPStorageElement = ResourceElement<MCPStorage>;
14
+ //#endregion
15
+ export { MCPStorage, MCPStorageElement };
12
16
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/resources/storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,2BAAwB;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,4BAAyB;AAE9D,MAAM,MAAM,UAAU,GAAG;IACvB,iBAAiB,EAAE,MAAM,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC1D,iBAAiB,EAAE,CAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC3E,aAAa,EAAE,CACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,qBAAqB,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/resources/storage/types.ts"],"mappings":";;;;;KAIY,UAAA;EACV,iBAAA,QAAyB,OAAA,CAAQ,qBAAA;EACjC,iBAAA,GAAoB,OAAA,EAAS,qBAAA,OAA4B,OAAA;EACzD,aAAA,GAAgB,QAAA,aAAqB,OAAA,CAAQ,qBAAA;EAC7C,aAAA,GACE,QAAA,UACA,KAAA,EAAO,qBAAA,KACJ,OAAA;EACL,cAAA,GAAiB,QAAA,aAAqB,OAAA;AAAA;AAAA,KAG5B,iBAAA,GAAoB,eAAe,CAAC,UAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1,2 +1,5 @@
1
- export declare function assertValidServerId(id: string): void;
1
+ //#region src/utils/serverId.d.ts
2
+ declare function assertValidServerId(id: string): void;
3
+ //#endregion
4
+ export { assertValidServerId };
2
5
  //# sourceMappingURL=serverId.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverId.d.ts","sourceRoot":"","sources":["../../src/utils/serverId.ts"],"names":[],"mappings":"AAIA,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAcpD"}
1
+ {"version":3,"file":"serverId.d.ts","names":[],"sources":["../../src/utils/serverId.ts"],"mappings":";iBAIgB,mBAAA,CAAoB,EAAU"}
@@ -1,16 +1,10 @@
1
- // Server ids are joined with tool names via `__` to form unique tool
2
- // names for the AI SDK. The separator must not appear inside ids,
3
- // otherwise two distinct `(serverId, toolName)` pairs could produce
4
- // the same composite name.
5
- export function assertValidServerId(id) {
6
- if (id.length === 0) {
7
- throw new Error("MCP server id must not be empty.");
8
- }
9
- if (id.includes("__")) {
10
- throw new Error(`MCP server id "${id}" must not contain "__" — that sequence is reserved for separating server id from tool name.`);
11
- }
12
- if (id.includes("\x1f")) {
13
- throw new Error(`MCP server id "${id}" must not contain the ASCII Unit Separator (\\x1f) — it is reserved as the list delimiter in primitive id-list selectors.`);
14
- }
1
+ //#region src/utils/serverId.ts
2
+ function assertValidServerId(id) {
3
+ if (id.length === 0) throw new Error("MCP server id must not be empty.");
4
+ if (id.includes("__")) throw new Error(`MCP server id "${id}" must not contain "__" — that sequence is reserved for separating server id from tool name.`);
5
+ if (id.includes("")) throw new Error(`MCP server id "${id}" must not contain the ASCII Unit Separator (\\x1f) — it is reserved as the list delimiter in primitive id-list selectors.`);
15
6
  }
7
+ //#endregion
8
+ export { assertValidServerId };
9
+
16
10
  //# sourceMappingURL=serverId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverId.js","sourceRoot":"","sources":["../../src/utils/serverId.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,kEAAkE;AAClE,oEAAoE;AACpE,2BAA2B;AAC3B,MAAM,UAAU,mBAAmB,CAAC,EAAU;IAC5C,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,kBAAkB,EAAE,8FAA8F,CACnH,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,kBAAkB,EAAE,4HAA4H,CACjJ,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"serverId.js","names":[],"sources":["../../src/utils/serverId.ts"],"sourcesContent":["// Server ids are joined with tool names via `__` to form unique tool\n// names for the AI SDK. The separator must not appear inside ids,\n// otherwise two distinct `(serverId, toolName)` pairs could produce\n// the same composite name.\nexport function assertValidServerId(id: string): void {\n if (id.length === 0) {\n throw new Error(\"MCP server id must not be empty.\");\n }\n if (id.includes(\"__\")) {\n throw new Error(\n `MCP server id \"${id}\" must not contain \"__\" — that sequence is reserved for separating server id from tool name.`,\n );\n }\n if (id.includes(\"\\x1f\")) {\n throw new Error(\n `MCP server id \"${id}\" must not contain the ASCII Unit Separator (\\\\x1f) — it is reserved as the list delimiter in primitive id-list selectors.`,\n );\n }\n}\n"],"mappings":";AAIA,SAAgB,oBAAoB,IAAkB;CACpD,IAAI,GAAG,WAAW,GAChB,MAAM,IAAI,MAAM,kCAAkC;CAEpD,IAAI,GAAG,SAAS,IAAI,GAClB,MAAM,IAAI,MACR,kBAAkB,GAAG,6FACvB;CAEF,IAAI,GAAG,SAAS,GAAM,GACpB,MAAM,IAAI,MACR,kBAAkB,GAAG,2HACvB;AAEJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assistant-ui/react-mcp",
3
- "version": "0.0.0",
3
+ "version": "0.0.2",
4
4
  "description": "MCP server configuration and connection primitives for @assistant-ui",
5
5
  "keywords": [
6
6
  "mcp",
@@ -26,16 +26,13 @@
26
26
  "README.md"
27
27
  ],
28
28
  "sideEffects": false,
29
- "scripts": {
30
- "build": "aui-build"
31
- },
32
29
  "dependencies": {
33
- "@assistant-ui/core": "workspace:*",
34
- "@assistant-ui/store": "workspace:*",
35
- "@assistant-ui/tap": "workspace:*",
36
30
  "@modelcontextprotocol/sdk": "^1.29.0",
37
31
  "@radix-ui/react-primitive": "^2.1.4",
38
- "assistant-stream": "workspace:*"
32
+ "@assistant-ui/core": "0.2.6",
33
+ "@assistant-ui/store": "0.2.12",
34
+ "@assistant-ui/tap": "0.5.12",
35
+ "assistant-stream": "0.3.17"
39
36
  },
40
37
  "peerDependencies": {
41
38
  "@types/react": "*",
@@ -47,9 +44,9 @@
47
44
  }
48
45
  },
49
46
  "devDependencies": {
50
- "@assistant-ui/x-buildutils": "workspace:*",
51
- "@types/react": "^19.2.14",
52
- "react": "^19.2.5"
47
+ "@types/react": "^19.2.15",
48
+ "react": "^19.2.6",
49
+ "@assistant-ui/x-buildutils": "0.0.9"
53
50
  },
54
51
  "publishConfig": {
55
52
  "access": "public",
@@ -63,5 +60,8 @@
63
60
  },
64
61
  "bugs": {
65
62
  "url": "https://github.com/assistant-ui/assistant-ui/issues"
63
+ },
64
+ "scripts": {
65
+ "build": "aui-build"
66
66
  }
67
- }
67
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,wBAAqB;AAIrB,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,0CAAuC;AAGxC,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,yCAAsC;AAGvC,OAAO,EAAE,eAAe,EAAE,uBAAoB;AAG9C,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,GAC5B,+CAA4C;AAC7C,OAAO,EAAE,gBAAgB,EAAE,gDAA6C;AACxE,OAAO,EAAE,gBAAgB,EAAE,gDAA6C;AACxE,YAAY,EACV,UAAU,EACV,iBAAiB,GAClB,qCAAkC;AAGnC,OAAO,KAAK,mBAAmB,gCAA6B;AAC5D,OAAO,KAAK,kBAAkB,+BAA4B;AAC1D,OAAO,KAAK,mBAAmB,gCAA6B;AAK5D,OAAO,EAAE,qBAAqB,EAAE,2CAAwC;AACxE,OAAO,EAAE,2BAA2B,EAAE,iDAA8C;AACpF,OAAO,EAAE,8BAA8B,EAAE,oDAAiD;AAG1F,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GAC/B,uCAAoC;AAGrC,YAAY,EAAE,qBAAqB,EAAE,wBAAqB;AAG1D,YAAY,EACV,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,uBAAoB"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,wBAAqB;AAErB,yCAAyC;AACzC,wDAAwD;AACxD,OAAO,EACL,kBAAkB,GAEnB,0CAAuC;AAExC,2EAA2E;AAC3E,OAAO,EACL,iBAAiB,GAElB,yCAAsC;AAEvC,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,uBAAoB;AAE9C,oBAAoB;AACpB,OAAO,EACL,eAAe,GAEhB,+CAA4C;AAC7C,OAAO,EAAE,gBAAgB,EAAE,gDAA6C;AACxE,OAAO,EAAE,gBAAgB,EAAE,gDAA6C;AAMxE,0BAA0B;AAC1B,OAAO,KAAK,mBAAmB,gCAA6B;AAC5D,OAAO,KAAK,kBAAkB,+BAA4B;AAC1D,OAAO,KAAK,mBAAmB,gCAA6B;AAE5D,yEAAyE;AACzE,oEAAoE;AACpE,0EAA0E;AAC1E,OAAO,EAAE,qBAAqB,EAAE,2CAAwC;AACxE,OAAO,EAAE,2BAA2B,EAAE,iDAA8C;AACpF,OAAO,EAAE,8BAA8B,EAAE,oDAAiD;AAE1F,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAGjB,uCAAoC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-scope.js","sourceRoot":"","sources":["../src/mcp-scope.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/resources/storage/types.ts"],"names":[],"mappings":""}