@assistant-ui/react-mcp 0.0.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 (221) hide show
  1. package/dist/auth/buildHeaders.d.ts +9 -0
  2. package/dist/auth/buildHeaders.d.ts.map +1 -0
  3. package/dist/auth/buildHeaders.js +15 -0
  4. package/dist/auth/buildHeaders.js.map +1 -0
  5. package/dist/auth/createOAuthProvider.d.ts +22 -0
  6. package/dist/auth/createOAuthProvider.d.ts.map +1 -0
  7. package/dist/auth/createOAuthProvider.js +148 -0
  8. package/dist/auth/createOAuthProvider.js.map +1 -0
  9. package/dist/auth/types.d.ts +9 -0
  10. package/dist/auth/types.d.ts.map +1 -0
  11. package/dist/auth/types.js +2 -0
  12. package/dist/auth/types.js.map +1 -0
  13. package/dist/connector.d.ts +3 -0
  14. package/dist/connector.d.ts.map +1 -0
  15. package/dist/connector.js +6 -0
  16. package/dist/connector.js.map +1 -0
  17. package/dist/context/McpConnectorByIndexProvider.d.ts +5 -0
  18. package/dist/context/McpConnectorByIndexProvider.d.ts.map +1 -0
  19. package/dist/context/McpConnectorByIndexProvider.js +13 -0
  20. package/dist/context/McpConnectorByIndexProvider.js.map +1 -0
  21. package/dist/context/McpCustomServerByIndexProvider.d.ts +5 -0
  22. package/dist/context/McpCustomServerByIndexProvider.d.ts.map +1 -0
  23. package/dist/context/McpCustomServerByIndexProvider.js +13 -0
  24. package/dist/context/McpCustomServerByIndexProvider.js.map +1 -0
  25. package/dist/context/McpServerByIdProvider.d.ts +5 -0
  26. package/dist/context/McpServerByIdProvider.d.ts.map +1 -0
  27. package/dist/context/McpServerByIdProvider.js +13 -0
  28. package/dist/context/McpServerByIdProvider.js.map +1 -0
  29. package/dist/hooks/useMcpOAuthCallback.d.ts +17 -0
  30. package/dist/hooks/useMcpOAuthCallback.d.ts.map +1 -0
  31. package/dist/hooks/useMcpOAuthCallback.js +59 -0
  32. package/dist/hooks/useMcpOAuthCallback.js.map +1 -0
  33. package/dist/index.d.ts +18 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +26 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/mcp-scope.d.ts +109 -0
  38. package/dist/mcp-scope.d.ts.map +1 -0
  39. package/dist/mcp-scope.js +2 -0
  40. package/dist/mcp-scope.js.map +1 -0
  41. package/dist/primitives/addForm/McpAddFormAuthFields.d.ts +15 -0
  42. package/dist/primitives/addForm/McpAddFormAuthFields.d.ts.map +1 -0
  43. package/dist/primitives/addForm/McpAddFormAuthFields.js +18 -0
  44. package/dist/primitives/addForm/McpAddFormAuthFields.js.map +1 -0
  45. package/dist/primitives/addForm/McpAddFormAuthSelect.d.ts +8 -0
  46. package/dist/primitives/addForm/McpAddFormAuthSelect.d.ts.map +1 -0
  47. package/dist/primitives/addForm/McpAddFormAuthSelect.js +24 -0
  48. package/dist/primitives/addForm/McpAddFormAuthSelect.js.map +1 -0
  49. package/dist/primitives/addForm/McpAddFormCancel.d.ts +10 -0
  50. package/dist/primitives/addForm/McpAddFormCancel.d.ts.map +1 -0
  51. package/dist/primitives/addForm/McpAddFormCancel.js +15 -0
  52. package/dist/primitives/addForm/McpAddFormCancel.js.map +1 -0
  53. package/dist/primitives/addForm/McpAddFormError.d.ts +10 -0
  54. package/dist/primitives/addForm/McpAddFormError.d.ts.map +1 -0
  55. package/dist/primitives/addForm/McpAddFormError.js +12 -0
  56. package/dist/primitives/addForm/McpAddFormError.js.map +1 -0
  57. package/dist/primitives/addForm/McpAddFormNameField.d.ts +8 -0
  58. package/dist/primitives/addForm/McpAddFormNameField.d.ts.map +1 -0
  59. package/dist/primitives/addForm/McpAddFormNameField.js +10 -0
  60. package/dist/primitives/addForm/McpAddFormNameField.js.map +1 -0
  61. package/dist/primitives/addForm/McpAddFormRoot.d.ts +16 -0
  62. package/dist/primitives/addForm/McpAddFormRoot.d.ts.map +1 -0
  63. package/dist/primitives/addForm/McpAddFormRoot.js +102 -0
  64. package/dist/primitives/addForm/McpAddFormRoot.js.map +1 -0
  65. package/dist/primitives/addForm/McpAddFormSubmit.d.ts +10 -0
  66. package/dist/primitives/addForm/McpAddFormSubmit.d.ts.map +1 -0
  67. package/dist/primitives/addForm/McpAddFormSubmit.js +10 -0
  68. package/dist/primitives/addForm/McpAddFormSubmit.js.map +1 -0
  69. package/dist/primitives/addForm/McpAddFormUrlField.d.ts +8 -0
  70. package/dist/primitives/addForm/McpAddFormUrlField.d.ts.map +1 -0
  71. package/dist/primitives/addForm/McpAddFormUrlField.js +10 -0
  72. package/dist/primitives/addForm/McpAddFormUrlField.js.map +1 -0
  73. package/dist/primitives/addForm/context.d.ts +21 -0
  74. package/dist/primitives/addForm/context.d.ts.map +1 -0
  75. package/dist/primitives/addForm/context.js +10 -0
  76. package/dist/primitives/addForm/context.js.map +1 -0
  77. package/dist/primitives/addForm.d.ts +9 -0
  78. package/dist/primitives/addForm.d.ts.map +1 -0
  79. package/dist/primitives/addForm.js +9 -0
  80. package/dist/primitives/addForm.js.map +1 -0
  81. package/dist/primitives/manager/McpManagerAddCustomTrigger.d.ts +10 -0
  82. package/dist/primitives/manager/McpManagerAddCustomTrigger.d.ts.map +1 -0
  83. package/dist/primitives/manager/McpManagerAddCustomTrigger.js +9 -0
  84. package/dist/primitives/manager/McpManagerAddCustomTrigger.js.map +1 -0
  85. package/dist/primitives/manager/McpManagerConnectors.d.ts +31 -0
  86. package/dist/primitives/manager/McpManagerConnectors.d.ts.map +1 -0
  87. package/dist/primitives/manager/McpManagerConnectors.js +41 -0
  88. package/dist/primitives/manager/McpManagerConnectors.js.map +1 -0
  89. package/dist/primitives/manager/McpManagerCustomServers.d.ts +31 -0
  90. package/dist/primitives/manager/McpManagerCustomServers.d.ts.map +1 -0
  91. package/dist/primitives/manager/McpManagerCustomServers.js +37 -0
  92. package/dist/primitives/manager/McpManagerCustomServers.js.map +1 -0
  93. package/dist/primitives/manager/McpManagerRoot.d.ts +10 -0
  94. package/dist/primitives/manager/McpManagerRoot.d.ts.map +1 -0
  95. package/dist/primitives/manager/McpManagerRoot.js +10 -0
  96. package/dist/primitives/manager/McpManagerRoot.js.map +1 -0
  97. package/dist/primitives/manager.d.ts +5 -0
  98. package/dist/primitives/manager.d.ts.map +1 -0
  99. package/dist/primitives/manager.js +5 -0
  100. package/dist/primitives/manager.js.map +1 -0
  101. package/dist/primitives/server/McpServerConnectButton.d.ts +10 -0
  102. package/dist/primitives/server/McpServerConnectButton.d.ts.map +1 -0
  103. package/dist/primitives/server/McpServerConnectButton.js +20 -0
  104. package/dist/primitives/server/McpServerConnectButton.js.map +1 -0
  105. package/dist/primitives/server/McpServerDisconnectButton.d.ts +10 -0
  106. package/dist/primitives/server/McpServerDisconnectButton.d.ts.map +1 -0
  107. package/dist/primitives/server/McpServerDisconnectButton.js +20 -0
  108. package/dist/primitives/server/McpServerDisconnectButton.js.map +1 -0
  109. package/dist/primitives/server/McpServerError.d.ts +10 -0
  110. package/dist/primitives/server/McpServerError.d.ts.map +1 -0
  111. package/dist/primitives/server/McpServerError.js +12 -0
  112. package/dist/primitives/server/McpServerError.js.map +1 -0
  113. package/dist/primitives/server/McpServerIcon.d.ts +18 -0
  114. package/dist/primitives/server/McpServerIcon.d.ts.map +1 -0
  115. package/dist/primitives/server/McpServerIcon.js +14 -0
  116. package/dist/primitives/server/McpServerIcon.js.map +1 -0
  117. package/dist/primitives/server/McpServerName.d.ts +10 -0
  118. package/dist/primitives/server/McpServerName.d.ts.map +1 -0
  119. package/dist/primitives/server/McpServerName.js +10 -0
  120. package/dist/primitives/server/McpServerName.js.map +1 -0
  121. package/dist/primitives/server/McpServerOAuthLink.d.ts +16 -0
  122. package/dist/primitives/server/McpServerOAuthLink.d.ts.map +1 -0
  123. package/dist/primitives/server/McpServerOAuthLink.js +13 -0
  124. package/dist/primitives/server/McpServerOAuthLink.js.map +1 -0
  125. package/dist/primitives/server/McpServerRemoveButton.d.ts +10 -0
  126. package/dist/primitives/server/McpServerRemoveButton.d.ts.map +1 -0
  127. package/dist/primitives/server/McpServerRemoveButton.js +18 -0
  128. package/dist/primitives/server/McpServerRemoveButton.js.map +1 -0
  129. package/dist/primitives/server/McpServerRoot.d.ts +10 -0
  130. package/dist/primitives/server/McpServerRoot.d.ts.map +1 -0
  131. package/dist/primitives/server/McpServerRoot.js +13 -0
  132. package/dist/primitives/server/McpServerRoot.js.map +1 -0
  133. package/dist/primitives/server/McpServerStatus.d.ts +10 -0
  134. package/dist/primitives/server/McpServerStatus.d.ts.map +1 -0
  135. package/dist/primitives/server/McpServerStatus.js +10 -0
  136. package/dist/primitives/server/McpServerStatus.js.map +1 -0
  137. package/dist/primitives/server/McpServerToolName.d.ts +10 -0
  138. package/dist/primitives/server/McpServerToolName.d.ts.map +1 -0
  139. package/dist/primitives/server/McpServerToolName.js +10 -0
  140. package/dist/primitives/server/McpServerToolName.js.map +1 -0
  141. package/dist/primitives/server/McpServerTools.d.ts +10 -0
  142. package/dist/primitives/server/McpServerTools.d.ts.map +1 -0
  143. package/dist/primitives/server/McpServerTools.js +19 -0
  144. package/dist/primitives/server/McpServerTools.js.map +1 -0
  145. package/dist/primitives/server.d.ts +12 -0
  146. package/dist/primitives/server.d.ts.map +1 -0
  147. package/dist/primitives/server.js +12 -0
  148. package/dist/primitives/server.js.map +1 -0
  149. package/dist/resources/McpManagerResource.d.ts +13 -0
  150. package/dist/resources/McpManagerResource.d.ts.map +1 -0
  151. package/dist/resources/McpManagerResource.js +191 -0
  152. package/dist/resources/McpManagerResource.js.map +1 -0
  153. package/dist/resources/McpServerResource.d.ts +17 -0
  154. package/dist/resources/McpServerResource.d.ts.map +1 -0
  155. package/dist/resources/McpServerResource.js +239 -0
  156. package/dist/resources/McpServerResource.js.map +1 -0
  157. package/dist/resources/storage/McpCustomStorage.d.ts +3 -0
  158. package/dist/resources/storage/McpCustomStorage.d.ts.map +1 -0
  159. package/dist/resources/storage/McpCustomStorage.js +3 -0
  160. package/dist/resources/storage/McpCustomStorage.js.map +1 -0
  161. package/dist/resources/storage/McpLocalStorage.d.ts +9 -0
  162. package/dist/resources/storage/McpLocalStorage.d.ts.map +1 -0
  163. package/dist/resources/storage/McpLocalStorage.js +67 -0
  164. package/dist/resources/storage/McpLocalStorage.js.map +1 -0
  165. package/dist/resources/storage/McpMemoryStorage.d.ts +3 -0
  166. package/dist/resources/storage/McpMemoryStorage.d.ts.map +1 -0
  167. package/dist/resources/storage/McpMemoryStorage.js +19 -0
  168. package/dist/resources/storage/McpMemoryStorage.js.map +1 -0
  169. package/dist/resources/storage/types.d.ts +12 -0
  170. package/dist/resources/storage/types.d.ts.map +1 -0
  171. package/dist/resources/storage/types.js +2 -0
  172. package/dist/resources/storage/types.js.map +1 -0
  173. package/dist/utils/serverId.d.ts +2 -0
  174. package/dist/utils/serverId.d.ts.map +1 -0
  175. package/dist/utils/serverId.js +16 -0
  176. package/dist/utils/serverId.js.map +1 -0
  177. package/package.json +67 -0
  178. package/src/auth/buildHeaders.ts +19 -0
  179. package/src/auth/createOAuthProvider.ts +172 -0
  180. package/src/auth/types.ts +12 -0
  181. package/src/connector.ts +7 -0
  182. package/src/context/McpConnectorByIndexProvider.tsx +16 -0
  183. package/src/context/McpCustomServerByIndexProvider.tsx +16 -0
  184. package/src/context/McpServerByIdProvider.tsx +17 -0
  185. package/src/hooks/useMcpOAuthCallback.tsx +79 -0
  186. package/src/index.ts +68 -0
  187. package/src/mcp-scope.ts +110 -0
  188. package/src/primitives/addForm/McpAddFormAuthFields.tsx +51 -0
  189. package/src/primitives/addForm/McpAddFormAuthSelect.tsx +55 -0
  190. package/src/primitives/addForm/McpAddFormCancel.tsx +33 -0
  191. package/src/primitives/addForm/McpAddFormError.tsx +27 -0
  192. package/src/primitives/addForm/McpAddFormNameField.tsx +34 -0
  193. package/src/primitives/addForm/McpAddFormRoot.tsx +141 -0
  194. package/src/primitives/addForm/McpAddFormSubmit.tsx +30 -0
  195. package/src/primitives/addForm/McpAddFormUrlField.tsx +35 -0
  196. package/src/primitives/addForm/context.tsx +37 -0
  197. package/src/primitives/addForm.ts +8 -0
  198. package/src/primitives/manager/McpManagerAddCustomTrigger.tsx +21 -0
  199. package/src/primitives/manager/McpManagerConnectors.tsx +76 -0
  200. package/src/primitives/manager/McpManagerCustomServers.tsx +72 -0
  201. package/src/primitives/manager/McpManagerRoot.tsx +28 -0
  202. package/src/primitives/manager.ts +4 -0
  203. package/src/primitives/server/McpServerConnectButton.tsx +39 -0
  204. package/src/primitives/server/McpServerDisconnectButton.tsx +38 -0
  205. package/src/primitives/server/McpServerError.tsx +27 -0
  206. package/src/primitives/server/McpServerIcon.tsx +35 -0
  207. package/src/primitives/server/McpServerName.tsx +26 -0
  208. package/src/primitives/server/McpServerOAuthLink.tsx +38 -0
  209. package/src/primitives/server/McpServerRemoveButton.tsx +35 -0
  210. package/src/primitives/server/McpServerRoot.tsx +35 -0
  211. package/src/primitives/server/McpServerStatus.tsx +26 -0
  212. package/src/primitives/server/McpServerToolName.tsx +26 -0
  213. package/src/primitives/server/McpServerTools.tsx +39 -0
  214. package/src/primitives/server.ts +14 -0
  215. package/src/resources/McpManagerResource.ts +253 -0
  216. package/src/resources/McpServerResource.ts +292 -0
  217. package/src/resources/storage/McpCustomStorage.ts +6 -0
  218. package/src/resources/storage/McpLocalStorage.ts +77 -0
  219. package/src/resources/storage/McpMemoryStorage.ts +22 -0
  220. package/src/resources/storage/types.ts +16 -0
  221. package/src/utils/serverId.ts +19 -0
@@ -0,0 +1,15 @@
1
+ import type { FC } from "react";
2
+ import { type AddFormAuthType } from "./context.js";
3
+ export declare namespace McpAddFormPrimitiveAuthFields {
4
+ type Props = {
5
+ /**
6
+ * Optional render override. Receives the current auth type so apps can render
7
+ * fully custom inputs. Defaults to a minimal built-in for bearer / oauth.
8
+ */
9
+ children?: FC<{
10
+ authType: AddFormAuthType;
11
+ }>;
12
+ };
13
+ }
14
+ export declare const McpAddFormPrimitiveAuthFields: FC<McpAddFormPrimitiveAuthFields.Props>;
15
+ //# sourceMappingURL=McpAddFormAuthFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormAuthFields.d.ts","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormAuthFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,KAAK,eAAe,EAAc,qBAAkB;AAE7D,yBAAiB,6BAA6B,CAAC;IAC7C,KAAY,KAAK,GAAG;QAClB;;;WAGG;QACH,QAAQ,CAAC,EAAE,EAAE,CAAC;YAAE,QAAQ,EAAE,eAAe,CAAA;SAAE,CAAC,CAAC;KAC9C,CAAC;CACH;AAED,eAAO,MAAM,6BAA6B,EAAE,EAAE,CAC5C,6BAA6B,CAAC,KAAK,CAkCpC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useAddForm } from "./context.js";
3
+ export const McpAddFormPrimitiveAuthFields = ({ children }) => {
4
+ const { state, setField } = useAddForm();
5
+ if (children) {
6
+ const Render = children;
7
+ return _jsx(Render, { authType: state.authType });
8
+ }
9
+ if (state.authType === "bearer") {
10
+ return (_jsx("input", { type: "password", placeholder: "Bearer token", value: state.bearerToken, onChange: (e) => setField("bearerToken", e.target.value), "data-mcp-auth-field": "bearer-token" }));
11
+ }
12
+ if (state.authType === "oauth") {
13
+ return (_jsx("input", { type: "text", placeholder: "Scopes (space-separated, optional)", value: state.scopes, onChange: (e) => setField("scopes", e.target.value), "data-mcp-auth-field": "oauth-scopes" }));
14
+ }
15
+ return null;
16
+ };
17
+ McpAddFormPrimitiveAuthFields.displayName = "McpAddFormPrimitive.AuthFields";
18
+ //# sourceMappingURL=McpAddFormAuthFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormAuthFields.js","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormAuthFields.tsx"],"names":[],"mappings":";AACA,OAAO,EAAwB,UAAU,EAAE,qBAAkB;AAY7D,MAAM,CAAC,MAAM,6BAA6B,GAEtC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;IAEzC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC;QACxB,OAAO,KAAC,MAAM,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,CACL,gBACE,IAAI,EAAC,UAAU,EACf,WAAW,EAAC,cAAc,EAC1B,KAAK,EAAE,KAAK,CAAC,WAAW,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,yBACpC,cAAc,GAClC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,CACL,gBACE,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,oCAAoC,EAChD,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,yBAC/B,cAAc,GAClC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,6BAA6B,CAAC,WAAW,GAAG,gCAAgC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type ComponentPropsWithoutRef, type ComponentRef } from "react";
2
+ import { Primitive } from "@radix-ui/react-primitive";
3
+ export declare namespace McpAddFormPrimitiveAuthSelect {
4
+ type Element = ComponentRef<typeof Primitive.select>;
5
+ type Props = Omit<ComponentPropsWithoutRef<typeof Primitive.select>, "value" | "onChange">;
6
+ }
7
+ export declare const McpAddFormPrimitiveAuthSelect: import("react").ForwardRefExoticComponent<McpAddFormPrimitiveAuthSelect.Props & import("react").RefAttributes<HTMLSelectElement>>;
8
+ //# sourceMappingURL=McpAddFormAuthSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormAuthSelect.d.ts","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormAuthSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAetD,yBAAiB,6BAA6B,CAAC;IAC7C,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5D,KAAY,KAAK,GAAG,IAAI,CACtB,wBAAwB,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,EACjD,OAAO,GAAG,UAAU,CACrB,CAAC;CACH;AAED,eAAO,MAAM,6BAA6B,mIAwBxC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, } from "react";
3
+ import { Primitive } from "@radix-ui/react-primitive";
4
+ import { useAddForm } from "./context.js";
5
+ const AUTH_TYPES = new Set([
6
+ "none",
7
+ "bearer",
8
+ "oauth",
9
+ ]);
10
+ function asAuthType(value) {
11
+ return AUTH_TYPES.has(value)
12
+ ? value
13
+ : null;
14
+ }
15
+ export const McpAddFormPrimitiveAuthSelect = forwardRef((props, ref) => {
16
+ const { state, setField } = useAddForm();
17
+ return (_jsx(Primitive.select, { ...props, ref: ref, value: state.authType, onChange: (e) => {
18
+ const next = asAuthType(e.target.value);
19
+ if (next)
20
+ setField("authType", next);
21
+ }, children: props.children ?? (_jsxs(_Fragment, { children: [_jsx("option", { value: "oauth", children: "OAuth" }), _jsx("option", { value: "bearer", children: "Bearer token" }), _jsx("option", { value: "none", children: "None" })] })) }));
22
+ });
23
+ McpAddFormPrimitiveAuthSelect.displayName = "McpAddFormPrimitive.AuthSelect";
24
+ //# sourceMappingURL=McpAddFormAuthSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormAuthSelect.js","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormAuthSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAwB,qBAAkB;AAE7D,MAAM,UAAU,GAAiC,IAAI,GAAG,CAAC;IACvD,MAAM;IACN,QAAQ;IACR,OAAO;CACR,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAQ,UAAkC,CAAC,GAAG,CAAC,KAAK,CAAC;QACnD,CAAC,CAAE,KAAyB;QAC5B,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAUD,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAU,CAGrD,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;IACzC,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,OACX,KAAK,EACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,CAAC,QAAQ,EACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACd,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,IAAI;gBAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC,YAEA,KAAK,CAAC,QAAQ,IAAI,CACjB,8BACE,iBAAQ,KAAK,EAAC,OAAO,sBAAe,EACpC,iBAAQ,KAAK,EAAC,QAAQ,6BAAsB,EAC5C,iBAAQ,KAAK,EAAC,MAAM,qBAAc,IACjC,CACJ,GACgB,CACpB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,6BAA6B,CAAC,WAAW,GAAG,gCAAgC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type ComponentPropsWithoutRef, type ComponentRef } from "react";
2
+ import { Primitive } from "@radix-ui/react-primitive";
3
+ export declare namespace McpAddFormPrimitiveCancel {
4
+ type Element = ComponentRef<typeof Primitive.button>;
5
+ type Props = ComponentPropsWithoutRef<typeof Primitive.button>;
6
+ }
7
+ export declare const McpAddFormPrimitiveCancel: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
8
+ asChild?: boolean;
9
+ }, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
10
+ //# sourceMappingURL=McpAddFormCancel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormCancel.d.ts","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormCancel.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,yBAAiB,yBAAyB,CAAC;IACzC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5D,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,yBAAyB;;6DAiBpC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, } from "react";
3
+ import { Primitive } from "@radix-ui/react-primitive";
4
+ import { useAddForm } from "./context.js";
5
+ export const McpAddFormPrimitiveCancel = forwardRef((props, ref) => {
6
+ const { cancel } = useAddForm();
7
+ return (_jsx(Primitive.button, { ...props, type: "button", ref: ref, onClick: (e) => {
8
+ props.onClick?.(e);
9
+ if (e.defaultPrevented)
10
+ return;
11
+ cancel();
12
+ } }));
13
+ });
14
+ McpAddFormPrimitiveCancel.displayName = "McpAddFormPrimitive.Cancel";
15
+ //# sourceMappingURL=McpAddFormCancel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormCancel.js","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormCancel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,qBAAkB;AAOvC,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAGjD,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IAChC,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,OACX,KAAK,EACT,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,CAAC,gBAAgB;gBAAE,OAAO;YAC/B,MAAM,EAAE,CAAC;QACX,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,yBAAyB,CAAC,WAAW,GAAG,4BAA4B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type ComponentPropsWithoutRef, type ComponentRef } from "react";
2
+ import { Primitive } from "@radix-ui/react-primitive";
3
+ export declare namespace McpAddFormPrimitiveError {
4
+ type Element = ComponentRef<typeof Primitive.div>;
5
+ type Props = ComponentPropsWithoutRef<typeof Primitive.div>;
6
+ }
7
+ export declare const McpAddFormPrimitiveError: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
8
+ asChild?: boolean;
9
+ }, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
+ //# sourceMappingURL=McpAddFormError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormError.d.ts","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormError.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,yBAAiB,wBAAwB,CAAC;IACxC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;CACpE;AAED,eAAO,MAAM,wBAAwB;;0DAWnC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, } from "react";
3
+ import { Primitive } from "@radix-ui/react-primitive";
4
+ import { useAddForm } from "./context.js";
5
+ export const McpAddFormPrimitiveError = forwardRef((props, ref) => {
6
+ const { state } = useAddForm();
7
+ if (!state.error)
8
+ return null;
9
+ return (_jsx(Primitive.div, { ...props, ref: ref, children: props.children ?? state.error }));
10
+ });
11
+ McpAddFormPrimitiveError.displayName = "McpAddFormPrimitive.Error";
12
+ //# sourceMappingURL=McpAddFormError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormError.js","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormError.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,qBAAkB;AAOvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,UAAU,CAGhD,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,CACL,KAAC,SAAS,CAAC,GAAG,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,YAC/B,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,GAChB,CACjB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,wBAAwB,CAAC,WAAW,GAAG,2BAA2B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type ComponentPropsWithoutRef, type ComponentRef } from "react";
2
+ import { Primitive } from "@radix-ui/react-primitive";
3
+ export declare namespace McpAddFormPrimitiveNameField {
4
+ type Element = ComponentRef<typeof Primitive.input>;
5
+ type Props = Omit<ComponentPropsWithoutRef<typeof Primitive.input>, "value" | "onChange" | "type">;
6
+ }
7
+ export declare const McpAddFormPrimitiveNameField: import("react").ForwardRefExoticComponent<McpAddFormPrimitiveNameField.Props & import("react").RefAttributes<HTMLInputElement>>;
8
+ //# sourceMappingURL=McpAddFormNameField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormNameField.d.ts","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormNameField.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,yBAAiB,4BAA4B,CAAC;IAC5C,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3D,KAAY,KAAK,GAAG,IAAI,CACtB,wBAAwB,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,EAChD,OAAO,GAAG,UAAU,GAAG,MAAM,CAC9B,CAAC;CACH;AAED,eAAO,MAAM,4BAA4B,iIAevC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, } from "react";
3
+ import { Primitive } from "@radix-ui/react-primitive";
4
+ import { useAddForm } from "./context.js";
5
+ export const McpAddFormPrimitiveNameField = forwardRef((props, ref) => {
6
+ const { state, setField } = useAddForm();
7
+ return (_jsx(Primitive.input, { type: "text", placeholder: "Name", ...props, ref: ref, value: state.name, onChange: (e) => setField("name", e.target.value) }));
8
+ });
9
+ McpAddFormPrimitiveNameField.displayName = "McpAddFormPrimitive.NameField";
10
+ //# sourceMappingURL=McpAddFormNameField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormNameField.js","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormNameField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,qBAAkB;AAUvC,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAGpD,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;IACzC,OAAO,CACL,KAAC,SAAS,CAAC,KAAK,IACd,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,MAAM,KACd,KAAK,EACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GACjD,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,4BAA4B,CAAC,WAAW,GAAG,+BAA+B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type ComponentPropsWithoutRef, type ComponentRef } from "react";
2
+ import { Primitive } from "@radix-ui/react-primitive";
3
+ export declare namespace McpAddFormPrimitiveRoot {
4
+ type Element = ComponentRef<typeof Primitive.form>;
5
+ type Props = Omit<ComponentPropsWithoutRef<typeof Primitive.form>, "onSubmit"> & {
6
+ onSubmitted?: (id: string) => void;
7
+ onCancel?: () => void;
8
+ };
9
+ }
10
+ export declare const McpAddFormPrimitiveRoot: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLFormElement> & import("react").FormHTMLAttributes<HTMLFormElement> & {
11
+ asChild?: boolean;
12
+ }, "ref">, "onSubmit"> & {
13
+ onSubmitted?: (id: string) => void;
14
+ onCancel?: () => void;
15
+ } & import("react").RefAttributes<HTMLFormElement>>;
16
+ //# sourceMappingURL=McpAddFormRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAMlB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA8BtD,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1D,KAAY,KAAK,GAAG,IAAI,CACtB,wBAAwB,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,EAC/C,UAAU,CACX,GAAG;QACF,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,uBAAuB;;;kBALlB,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;eACvB,MAAM,IAAI;mDA4FvB,CAAC"}
@@ -0,0 +1,102 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, useCallback, useMemo, useState, } from "react";
3
+ import { Primitive } from "@radix-ui/react-primitive";
4
+ import { useAui } from "@assistant-ui/store";
5
+ import { AddFormContext } from "./context.js";
6
+ const INITIAL = {
7
+ name: "",
8
+ url: "",
9
+ authType: "oauth",
10
+ bearerToken: "",
11
+ scopes: "",
12
+ submitting: false,
13
+ error: null,
14
+ };
15
+ function validateUrl(raw) {
16
+ const trimmed = raw.trim();
17
+ if (!trimmed)
18
+ return { error: "URL is required" };
19
+ let parsed;
20
+ try {
21
+ parsed = new URL(trimmed);
22
+ }
23
+ catch {
24
+ return { error: "Invalid URL" };
25
+ }
26
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
27
+ return { error: "URL must be http(s)" };
28
+ }
29
+ return { url: trimmed };
30
+ }
31
+ export const McpAddFormPrimitiveRoot = forwardRef(({ onSubmitted, onCancel, ...props }, ref) => {
32
+ const aui = useAui();
33
+ const [state, setState] = useState(INITIAL);
34
+ const setField = useCallback((key, value) => {
35
+ setState((prev) => ({ ...prev, [key]: value }));
36
+ }, []);
37
+ const reset = useCallback(() => setState(INITIAL), []);
38
+ const buildAuth = useCallback(() => {
39
+ switch (state.authType) {
40
+ case "none":
41
+ return { type: "none" };
42
+ case "bearer":
43
+ return { type: "bearer", token: state.bearerToken || undefined };
44
+ case "oauth": {
45
+ const scopeList = state.scopes
46
+ .split(/[\s,]+/)
47
+ .map((s) => s.trim())
48
+ .filter(Boolean);
49
+ return {
50
+ type: "oauth",
51
+ scopes: scopeList.length > 0 ? scopeList : undefined,
52
+ };
53
+ }
54
+ }
55
+ }, [state.authType, state.bearerToken, state.scopes]);
56
+ const submit = useCallback(async () => {
57
+ if (state.submitting)
58
+ return;
59
+ if (!state.name.trim()) {
60
+ setState((p) => ({ ...p, error: "Name is required" }));
61
+ return;
62
+ }
63
+ if (state.authType === "bearer" && !state.bearerToken.trim()) {
64
+ setState((p) => ({ ...p, error: "Bearer token is required" }));
65
+ return;
66
+ }
67
+ const urlResult = validateUrl(state.url);
68
+ if ("error" in urlResult) {
69
+ setState((p) => ({ ...p, error: urlResult.error }));
70
+ return;
71
+ }
72
+ setState((p) => ({ ...p, submitting: true, error: null }));
73
+ try {
74
+ const id = await aui.mcp().addCustomServer({
75
+ name: state.name.trim(),
76
+ url: urlResult.url,
77
+ auth: buildAuth(),
78
+ });
79
+ setState(INITIAL);
80
+ onSubmitted?.(id);
81
+ }
82
+ catch (err) {
83
+ setState((p) => ({
84
+ ...p,
85
+ submitting: false,
86
+ error: err instanceof Error ? err.message : String(err),
87
+ }));
88
+ }
89
+ }, [aui, buildAuth, onSubmitted, state]);
90
+ const cancel = useCallback(() => {
91
+ setState(INITIAL);
92
+ onCancel?.();
93
+ }, [onCancel]);
94
+ const value = useMemo(() => ({ state, setField, reset, submit, cancel }), [state, setField, reset, submit, cancel]);
95
+ const onFormSubmit = (e) => {
96
+ e.preventDefault();
97
+ void submit();
98
+ };
99
+ return (_jsx(AddFormContext.Provider, { value: value, children: _jsx(Primitive.form, { ...props, ref: ref, onSubmit: onFormSubmit }) }));
100
+ });
101
+ McpAddFormPrimitiveRoot.displayName = "McpAddFormPrimitive.Root";
102
+ //# sourceMappingURL=McpAddFormRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormRoot.js","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormRoot.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type ComponentPropsWithoutRef, type ComponentRef } from "react";
2
+ import { Primitive } from "@radix-ui/react-primitive";
3
+ export declare namespace McpAddFormPrimitiveSubmit {
4
+ type Element = ComponentRef<typeof Primitive.button>;
5
+ type Props = ComponentPropsWithoutRef<typeof Primitive.button>;
6
+ }
7
+ export declare const McpAddFormPrimitiveSubmit: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
8
+ asChild?: boolean;
9
+ }, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
10
+ //# sourceMappingURL=McpAddFormSubmit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormSubmit.d.ts","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormSubmit.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,yBAAiB,yBAAyB,CAAC;IACzC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5D,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,yBAAyB;;6DAcpC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, } from "react";
3
+ import { Primitive } from "@radix-ui/react-primitive";
4
+ import { useAddForm } from "./context.js";
5
+ export const McpAddFormPrimitiveSubmit = forwardRef((props, ref) => {
6
+ const { state } = useAddForm();
7
+ return (_jsx(Primitive.button, { type: "submit", ...props, ref: ref, disabled: props.disabled || state.submitting, "data-submitting": state.submitting || undefined }));
8
+ });
9
+ McpAddFormPrimitiveSubmit.displayName = "McpAddFormPrimitive.Submit";
10
+ //# sourceMappingURL=McpAddFormSubmit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormSubmit.js","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormSubmit.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,qBAAkB;AAOvC,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAGjD,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAC/B,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,IACf,IAAI,EAAC,QAAQ,KACT,KAAK,EACT,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,qBAC3B,KAAK,CAAC,UAAU,IAAI,SAAS,GAC9C,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,yBAAyB,CAAC,WAAW,GAAG,4BAA4B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type ComponentPropsWithoutRef, type ComponentRef } from "react";
2
+ import { Primitive } from "@radix-ui/react-primitive";
3
+ export declare namespace McpAddFormPrimitiveUrlField {
4
+ type Element = ComponentRef<typeof Primitive.input>;
5
+ type Props = Omit<ComponentPropsWithoutRef<typeof Primitive.input>, "value" | "onChange" | "type">;
6
+ }
7
+ export declare const McpAddFormPrimitiveUrlField: import("react").ForwardRefExoticComponent<McpAddFormPrimitiveUrlField.Props & import("react").RefAttributes<HTMLInputElement>>;
8
+ //# sourceMappingURL=McpAddFormUrlField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormUrlField.d.ts","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormUrlField.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,yBAAiB,2BAA2B,CAAC;IAC3C,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3D,KAAY,KAAK,GAAG,IAAI,CACtB,wBAAwB,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,EAChD,OAAO,GAAG,UAAU,GAAG,MAAM,CAC9B,CAAC;CACH;AAED,eAAO,MAAM,2BAA2B,gIAgBtC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, } from "react";
3
+ import { Primitive } from "@radix-ui/react-primitive";
4
+ import { useAddForm } from "./context.js";
5
+ export const McpAddFormPrimitiveUrlField = forwardRef((props, ref) => {
6
+ const { state, setField } = useAddForm();
7
+ return (_jsx(Primitive.input, { type: "url", inputMode: "url", placeholder: "https://example.com/mcp", ...props, ref: ref, value: state.url, onChange: (e) => setField("url", e.target.value) }));
8
+ });
9
+ McpAddFormPrimitiveUrlField.displayName = "McpAddFormPrimitive.UrlField";
10
+ //# sourceMappingURL=McpAddFormUrlField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpAddFormUrlField.js","sourceRoot":"","sources":["../../../src/primitives/addForm/McpAddFormUrlField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,qBAAkB;AAUvC,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAGnD,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;IACzC,OAAO,CACL,KAAC,SAAS,CAAC,KAAK,IACd,IAAI,EAAC,KAAK,EACV,SAAS,EAAC,KAAK,EACf,WAAW,EAAC,yBAAyB,KACjC,KAAK,EACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,CAAC,GAAG,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAChD,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,2BAA2B,CAAC,WAAW,GAAG,8BAA8B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { MCPAuthConfig } from "../../mcp-scope.js";
2
+ export type AddFormAuthType = MCPAuthConfig["type"];
3
+ export type AddFormState = {
4
+ name: string;
5
+ url: string;
6
+ authType: AddFormAuthType;
7
+ bearerToken: string;
8
+ scopes: string;
9
+ submitting: boolean;
10
+ error: string | null;
11
+ };
12
+ export type AddFormContextValue = {
13
+ state: AddFormState;
14
+ setField: <K extends keyof AddFormState>(key: K, value: AddFormState[K]) => void;
15
+ reset: () => void;
16
+ submit: () => Promise<void>;
17
+ cancel: () => void;
18
+ };
19
+ export declare const AddFormContext: import("react").Context<AddFormContextValue | null>;
20
+ export declare const useAddForm: () => AddFormContextValue;
21
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/primitives/addForm/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,2BAAwB;AAErD,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EACrC,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KACnB,IAAI,CAAC;IACV,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,cAAc,qDAAkD,CAAC;AAE9E,eAAO,MAAM,UAAU,QAAO,mBAQ7B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { createContext, useContext } from "react";
2
+ export const AddFormContext = createContext(null);
3
+ export const useAddForm = () => {
4
+ const ctx = useContext(AddFormContext);
5
+ if (!ctx) {
6
+ throw new Error("McpAddFormPrimitive.* must be used inside McpAddFormPrimitive.Root");
7
+ }
8
+ return ctx;
9
+ };
10
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/primitives/addForm/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA0BlD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAA6B,IAAI,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAG,GAAwB,EAAE;IAClD,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { McpAddFormPrimitiveRoot as Root } from "./addForm/McpAddFormRoot.js";
2
+ export { McpAddFormPrimitiveNameField as NameField } from "./addForm/McpAddFormNameField.js";
3
+ export { McpAddFormPrimitiveUrlField as UrlField } from "./addForm/McpAddFormUrlField.js";
4
+ export { McpAddFormPrimitiveAuthSelect as AuthSelect } from "./addForm/McpAddFormAuthSelect.js";
5
+ export { McpAddFormPrimitiveAuthFields as AuthFields } from "./addForm/McpAddFormAuthFields.js";
6
+ export { McpAddFormPrimitiveSubmit as Submit } from "./addForm/McpAddFormSubmit.js";
7
+ export { McpAddFormPrimitiveCancel as Cancel } from "./addForm/McpAddFormCancel.js";
8
+ export { McpAddFormPrimitiveError as Error } from "./addForm/McpAddFormError.js";
9
+ //# sourceMappingURL=addForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addForm.d.ts","sourceRoot":"","sources":["../../src/primitives/addForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,IAAI,IAAI,EAAE,oCAAiC;AAC3E,OAAO,EAAE,4BAA4B,IAAI,SAAS,EAAE,yCAAsC;AAC1F,OAAO,EAAE,2BAA2B,IAAI,QAAQ,EAAE,wCAAqC;AACvF,OAAO,EAAE,6BAA6B,IAAI,UAAU,EAAE,0CAAuC;AAC7F,OAAO,EAAE,6BAA6B,IAAI,UAAU,EAAE,0CAAuC;AAC7F,OAAO,EAAE,yBAAyB,IAAI,MAAM,EAAE,sCAAmC;AACjF,OAAO,EAAE,yBAAyB,IAAI,MAAM,EAAE,sCAAmC;AACjF,OAAO,EAAE,wBAAwB,IAAI,KAAK,EAAE,qCAAkC"}
@@ -0,0 +1,9 @@
1
+ export { McpAddFormPrimitiveRoot as Root } from "./addForm/McpAddFormRoot.js";
2
+ export { McpAddFormPrimitiveNameField as NameField } from "./addForm/McpAddFormNameField.js";
3
+ export { McpAddFormPrimitiveUrlField as UrlField } from "./addForm/McpAddFormUrlField.js";
4
+ export { McpAddFormPrimitiveAuthSelect as AuthSelect } from "./addForm/McpAddFormAuthSelect.js";
5
+ export { McpAddFormPrimitiveAuthFields as AuthFields } from "./addForm/McpAddFormAuthFields.js";
6
+ export { McpAddFormPrimitiveSubmit as Submit } from "./addForm/McpAddFormSubmit.js";
7
+ export { McpAddFormPrimitiveCancel as Cancel } from "./addForm/McpAddFormCancel.js";
8
+ export { McpAddFormPrimitiveError as Error } from "./addForm/McpAddFormError.js";
9
+ //# sourceMappingURL=addForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addForm.js","sourceRoot":"","sources":["../../src/primitives/addForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,IAAI,IAAI,EAAE,oCAAiC;AAC3E,OAAO,EAAE,4BAA4B,IAAI,SAAS,EAAE,yCAAsC;AAC1F,OAAO,EAAE,2BAA2B,IAAI,QAAQ,EAAE,wCAAqC;AACvF,OAAO,EAAE,6BAA6B,IAAI,UAAU,EAAE,0CAAuC;AAC7F,OAAO,EAAE,6BAA6B,IAAI,UAAU,EAAE,0CAAuC;AAC7F,OAAO,EAAE,yBAAyB,IAAI,MAAM,EAAE,sCAAmC;AACjF,OAAO,EAAE,yBAAyB,IAAI,MAAM,EAAE,sCAAmC;AACjF,OAAO,EAAE,wBAAwB,IAAI,KAAK,EAAE,qCAAkC"}
@@ -0,0 +1,10 @@
1
+ import { type ComponentPropsWithoutRef, type ComponentRef } from "react";
2
+ import { Primitive } from "@radix-ui/react-primitive";
3
+ export declare namespace McpManagerPrimitiveAddCustomTrigger {
4
+ type Element = ComponentRef<typeof Primitive.button>;
5
+ type Props = ComponentPropsWithoutRef<typeof Primitive.button>;
6
+ }
7
+ export declare const McpManagerPrimitiveAddCustomTrigger: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
8
+ asChild?: boolean;
9
+ }, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
10
+ //# sourceMappingURL=McpManagerAddCustomTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpManagerAddCustomTrigger.d.ts","sourceRoot":"","sources":["../../../src/primitives/manager/McpManagerAddCustomTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,yBAAiB,mCAAmC,CAAC;IACnD,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5D,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,mCAAmC;;6DAK9C,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, } from "react";
3
+ import { Primitive } from "@radix-ui/react-primitive";
4
+ export const McpManagerPrimitiveAddCustomTrigger = forwardRef((props, ref) => {
5
+ return _jsx(Primitive.button, { ...props, type: "button", ref: ref });
6
+ });
7
+ McpManagerPrimitiveAddCustomTrigger.displayName =
8
+ "McpManagerPrimitive.AddCustomTrigger";
9
+ //# sourceMappingURL=McpManagerAddCustomTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpManagerAddCustomTrigger.js","sourceRoot":"","sources":["../../../src/primitives/manager/McpManagerAddCustomTrigger.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAOtD,MAAM,CAAC,MAAM,mCAAmC,GAAG,UAAU,CAG3D,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,OAAO,KAAC,SAAS,CAAC,MAAM,OAAK,KAAK,EAAE,IAAI,EAAC,QAAQ,EAAC,GAAG,EAAE,GAAG,GAAI,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,mCAAmC,CAAC,WAAW;IAC7C,sCAAsC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type FC, type ReactNode } from "react";
2
+ import type { MCPServerState } from "../../mcp-scope.js";
3
+ export declare namespace McpManagerPrimitiveConnectors {
4
+ type Props = {
5
+ /**
6
+ * Render function called once per connector. Receives a lazy `server`
7
+ * accessor — reading it inside the render function subscribes to that
8
+ * connector's state.
9
+ */
10
+ children: (value: {
11
+ server: MCPServerState;
12
+ }) => ReactNode;
13
+ };
14
+ }
15
+ /**
16
+ * Renders all connectors declared on `McpManagerResource`.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <McpManagerPrimitive.Connectors>
21
+ * {({ server }) => (
22
+ * <McpServerPrimitive.Root>
23
+ * <McpServerPrimitive.Name />
24
+ * {server.connectionState === "error" && <p>{server.lastError?.message}</p>}
25
+ * </McpServerPrimitive.Root>
26
+ * )}
27
+ * </McpManagerPrimitive.Connectors>
28
+ * ```
29
+ */
30
+ export declare const McpManagerPrimitiveConnectors: FC<McpManagerPrimitiveConnectors.Props>;
31
+ //# sourceMappingURL=McpManagerConnectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpManagerConnectors.d.ts","sourceRoot":"","sources":["../../../src/primitives/manager/McpManagerConnectors.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAiB,MAAM,OAAO,CAAC;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,2BAAwB;AAMtD,yBAAiB,6BAA6B,CAAC;IAC7C,KAAY,KAAK,GAAG;QAClB;;;;WAIG;QACH,QAAQ,EAAE,CAAC,KAAK,EAAE;YAAE,MAAM,EAAE,cAAc,CAAA;SAAE,KAAK,SAAS,CAAC;KAC5D,CAAC;CACH;AAoCD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,6BAA6B,EAAE,EAAE,CAAC,6BAA6B,CAAC,KAAK,CAI/E,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { memo, useMemo } from "react";
3
+ import { RenderChildrenWithAccessor, useAuiState } from "@assistant-ui/store";
4
+ import { McpConnectorByIndexProvider } from "../../context/McpConnectorByIndexProvider.js";
5
+ // ASCII Unit Separator — never appears in MCP connector ids (uuids, urls,
6
+ // app-provided strings).
7
+ const SEP = "\x1f";
8
+ const McpManagerPrimitiveConnectorsInner = ({ children }) => {
9
+ // Subscribe to the connector id list, joined to a primitive so identity
10
+ // is stable when the list hasn't changed. Re-renders on add/remove/reorder
11
+ // but not on per-item state changes.
12
+ const idsJoined = useAuiState((s) => s.mcp.connectors.map((c) => c.id).join(SEP));
13
+ const ids = useMemo(() => (idsJoined ? idsJoined.split(SEP) : []), [idsJoined]);
14
+ return useMemo(() => {
15
+ if (ids.length === 0)
16
+ return null;
17
+ return ids.map((id, index) => (_jsx(McpConnectorByIndexProvider, { index: index, children: _jsx(RenderChildrenWithAccessor, { getItemState: (aui) => aui.mcp().connector({ index }).getState(), children: (getItem) => children({
18
+ get server() {
19
+ return getItem();
20
+ },
21
+ }) }) }, id)));
22
+ }, [ids, children]);
23
+ };
24
+ /**
25
+ * Renders all connectors declared on `McpManagerResource`.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * <McpManagerPrimitive.Connectors>
30
+ * {({ server }) => (
31
+ * <McpServerPrimitive.Root>
32
+ * <McpServerPrimitive.Name />
33
+ * {server.connectionState === "error" && <p>{server.lastError?.message}</p>}
34
+ * </McpServerPrimitive.Root>
35
+ * )}
36
+ * </McpManagerPrimitive.Connectors>
37
+ * ```
38
+ */
39
+ export const McpManagerPrimitiveConnectors = memo(McpManagerPrimitiveConnectorsInner, (prev, next) => prev.children === next.children);
40
+ McpManagerPrimitiveConnectors.displayName = "McpManagerPrimitive.Connectors";
41
+ //# sourceMappingURL=McpManagerConnectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpManagerConnectors.js","sourceRoot":"","sources":["../../../src/primitives/manager/McpManagerConnectors.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA2B,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,qDAAkD;AAGxF,0EAA0E;AAC1E,yBAAyB;AACzB,MAAM,GAAG,GAAG,MAAM,CAAC;AAanB,MAAM,kCAAkC,GAEnC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpB,wEAAwE;IACxE,2EAA2E;IAC3E,qCAAqC;IACrC,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAC5C,CAAC;IACF,MAAM,GAAG,GAAG,OAAO,CACjB,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7C,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5B,KAAC,2BAA2B,IAAU,KAAK,EAAE,KAAK,YAChD,KAAC,0BAA0B,IACzB,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,YAE/D,CAAC,OAAO,EAAE,EAAE,CACX,QAAQ,CAAC;oBACP,IAAI,MAAM;wBACR,OAAO,OAAO,EAAE,CAAC;oBACnB,CAAC;iBACF,CAAC,GAEuB,IAXG,EAAE,CAYN,CAC/B,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,6BAA6B,GACxC,IAAI,CACF,kCAAkC,EAClC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAChD,CAAC;AAEJ,6BAA6B,CAAC,WAAW,GAAG,gCAAgC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type FC, type ReactNode } from "react";
2
+ import type { MCPServerState } from "../../mcp-scope.js";
3
+ export declare namespace McpManagerPrimitiveCustomServers {
4
+ type Props = {
5
+ /**
6
+ * Render function called once per custom server. Receives a lazy
7
+ * `server` accessor — reading it inside the render function subscribes
8
+ * to that server's state.
9
+ */
10
+ children: (value: {
11
+ server: MCPServerState;
12
+ }) => ReactNode;
13
+ };
14
+ }
15
+ /**
16
+ * Renders all user-added custom servers persisted in storage.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <McpManagerPrimitive.CustomServers>
21
+ * {() => (
22
+ * <McpServerPrimitive.Root>
23
+ * <McpServerPrimitive.Name />
24
+ * <McpServerPrimitive.RemoveButton>Remove</McpServerPrimitive.RemoveButton>
25
+ * </McpServerPrimitive.Root>
26
+ * )}
27
+ * </McpManagerPrimitive.CustomServers>
28
+ * ```
29
+ */
30
+ export declare const McpManagerPrimitiveCustomServers: FC<McpManagerPrimitiveCustomServers.Props>;
31
+ //# sourceMappingURL=McpManagerCustomServers.d.ts.map