@assistant-ui/react-mcp 0.1.3 → 0.1.5

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 (30) hide show
  1. package/dist/context/McpConnectorByIndexProvider.js +16 -19
  2. package/dist/context/McpConnectorByIndexProvider.js.map +1 -1
  3. package/dist/context/McpCustomServerByIndexProvider.js +16 -19
  4. package/dist/context/McpCustomServerByIndexProvider.js.map +1 -1
  5. package/dist/context/McpServerByIdProvider.js +16 -19
  6. package/dist/context/McpServerByIdProvider.js.map +1 -1
  7. package/dist/hooks/useMcpOAuthCallback.d.ts.map +1 -1
  8. package/dist/hooks/useMcpOAuthCallback.js +21 -6
  9. package/dist/hooks/useMcpOAuthCallback.js.map +1 -1
  10. package/dist/primitives/server/McpServerRemoveButton.js +2 -1
  11. package/dist/primitives/server/McpServerRemoveButton.js.map +1 -1
  12. package/dist/resources/McpManagerResource.d.ts.map +1 -1
  13. package/dist/resources/McpManagerResource.js +155 -139
  14. package/dist/resources/McpManagerResource.js.map +1 -1
  15. package/dist/resources/McpServerResource.d.ts.map +1 -1
  16. package/dist/resources/McpServerResource.js +7 -2
  17. package/dist/resources/McpServerResource.js.map +1 -1
  18. package/package.json +16 -13
  19. package/src/context/McpConnectorByIndexProvider.tsx +8 -4
  20. package/src/context/McpCustomServerByIndexProvider.tsx +8 -4
  21. package/src/context/McpServerByIdProvider.tsx +8 -4
  22. package/src/hooks/useMcpOAuthCallback.test.ts +101 -2
  23. package/src/hooks/useMcpOAuthCallback.tsx +41 -5
  24. package/src/primitives/server/McpServerRemoveButton.test.tsx +71 -0
  25. package/src/primitives/server/McpServerRemoveButton.tsx +1 -1
  26. package/src/resources/McpManagerResource.test.ts +108 -1
  27. package/src/resources/McpManagerResource.ts +23 -13
  28. package/src/resources/McpServerResource.test.ts +37 -3
  29. package/src/resources/McpServerResource.ts +9 -2
  30. package/LICENSE +0 -21
@@ -1,41 +1,38 @@
1
- import { AuiProvider, Derived, useAui } from "@assistant-ui/store";
1
+ import { AuiConfig, AuiProvider, Derived, useAui } from "@assistant-ui/store";
2
2
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/context/McpConnectorByIndexProvider.tsx
5
5
  const McpConnectorByIndexProvider = (t0) => {
6
- const $ = c(7);
6
+ const $ = c(6);
7
7
  const { index, children } = t0;
8
+ const aui = useAui();
8
9
  let t1;
9
10
  if ($[0] !== index) {
10
- t1 = Derived({
11
+ t1 = AuiConfig({ mcpServer: Derived({
11
12
  source: "mcp",
12
13
  query: {
13
14
  kind: "connector",
14
15
  index
15
16
  },
16
17
  get: (parent) => parent.mcp.connector({ index })
17
- });
18
+ }) });
18
19
  $[0] = index;
19
20
  $[1] = t1;
20
21
  } else t1 = $[1];
22
+ const config = t1;
21
23
  let t2;
22
- if ($[2] !== t1) {
23
- t2 = { mcpServer: t1 };
24
- $[2] = t1;
25
- $[3] = t2;
26
- } else t2 = $[3];
27
- const aui = useAui(t2);
28
- let t3;
29
- if ($[4] !== aui || $[5] !== children) {
30
- t3 = /* @__PURE__ */ jsx(AuiProvider, {
31
- value: aui,
24
+ if ($[2] !== aui || $[3] !== children || $[4] !== config) {
25
+ t2 = /* @__PURE__ */ jsx(AuiProvider, {
26
+ extends: aui,
27
+ config,
32
28
  children
33
29
  });
34
- $[4] = aui;
35
- $[5] = children;
36
- $[6] = t3;
37
- } else t3 = $[6];
38
- return t3;
30
+ $[2] = aui;
31
+ $[3] = children;
32
+ $[4] = config;
33
+ $[5] = t2;
34
+ } else t2 = $[5];
35
+ return t2;
39
36
  };
40
37
  //#endregion
41
38
  export { McpConnectorByIndexProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"McpConnectorByIndexProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","McpConnectorByIndexProvider","index","t0","$","_c","children","t1","source","query","kind","get","parent","mcp","connector","t2","mcpServer","aui","t3"],"sources":["../../src/context/McpConnectorByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const McpConnectorByIndexProvider: FC<\n PropsWithChildren<{ index: number }>\n> = ({ index, children }) => {\n const aui = useAui({\n mcpServer: Derived({\n source: \"mcp\",\n query: { kind: \"connector\", index },\n get: (parent) => parent.mcp.connector({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,+BAETE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CAAmB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,OAAA;EAETK,KAAAP,QAAQ;GAAAQ,QACT;GAAKC,OACN;IAAAC,MAAQ;IAAWR;GAAQ;GAACS,MAC9BC,WAAYA,OAAMC,IAAIC,UAAW,EAAAZ,MAAQ,CAAC;EACjD,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAG,IAAA;EALeQ,KAAA,EAAAC,WACNT,GAKb;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAND,MAAAa,MAAYnB,OAAOiB,EAMlB;CAAE,IAAAG;CAAA,IAAAd,EAAA,OAAAa,OAAAb,EAAA,OAAAE,UAAA;EAEIY,KAAA,oBAAC,aAAD;GAAoBD,OAAAA;GAAMX;EAAd,CAAA;EAAqCF,EAAA,KAAAa;EAAAb,EAAA,KAAAE;EAAAF,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OAAjDc;AAAiD"}
1
+ {"version":3,"file":"McpConnectorByIndexProvider.js","names":["FC","PropsWithChildren","useAui","AuiConfig","AuiProvider","Derived","McpConnectorByIndexProvider","index","t0","$","_c","children","aui","t1","mcpServer","source","query","kind","get","parent","mcp","connector","config","t2"],"sources":["../../src/context/McpConnectorByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiConfig, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const McpConnectorByIndexProvider: FC<\n PropsWithChildren<{ index: number }>\n> = ({ index, children }) => {\n const aui = useAui();\n const config = AuiConfig({\n mcpServer: Derived({\n source: \"mcp\",\n query: { kind: \"connector\", index },\n get: (parent) => parent.mcp.connector({ index }),\n }),\n });\n return (\n <AuiProvider extends={aui} config={config}>\n {children}\n </AuiProvider>\n );\n};\n"],"mappings":";;;;AAGA,MAAaM,+BAETE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CACH,MAAAI,MAAYV,OAAO;CAAE,IAAAW;CAAA,IAAAJ,EAAA,OAAAF,OAAA;EACNM,KAAAV,UAAU,EAAAW,WACZT,QAAQ;GAAAU,QACT;GAAKC,OACN;IAAAC,MAAQ;IAAWV;GAAQ;GAACW,MAC9BC,WAAYA,OAAMC,IAAIC,UAAW,EAAAd,MAAQ,CAAC;EACjD,CAAC,EACH,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CANF,MAAAa,SAAeT;CAMZ,IAAAU;CAAA,IAAAd,EAAA,OAAAG,OAAAH,EAAA,OAAAE,YAAAF,EAAA,OAAAa,QAAA;EAEDC,KAAA,oBAAC,aAAD;GAAsBX,SAAAA;GAAaU;GAChCX;EADS,CAAA;EAEEF,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAa;EAAAb,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OAFdc;AAEc"}
@@ -1,41 +1,38 @@
1
- import { AuiProvider, Derived, useAui } from "@assistant-ui/store";
1
+ import { AuiConfig, AuiProvider, Derived, useAui } from "@assistant-ui/store";
2
2
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/context/McpCustomServerByIndexProvider.tsx
5
5
  const McpCustomServerByIndexProvider = (t0) => {
6
- const $ = c(7);
6
+ const $ = c(6);
7
7
  const { index, children } = t0;
8
+ const aui = useAui();
8
9
  let t1;
9
10
  if ($[0] !== index) {
10
- t1 = Derived({
11
+ t1 = AuiConfig({ mcpServer: Derived({
11
12
  source: "mcp",
12
13
  query: {
13
14
  kind: "custom",
14
15
  index
15
16
  },
16
17
  get: (parent) => parent.mcp.customServer({ index })
17
- });
18
+ }) });
18
19
  $[0] = index;
19
20
  $[1] = t1;
20
21
  } else t1 = $[1];
22
+ const config = t1;
21
23
  let t2;
22
- if ($[2] !== t1) {
23
- t2 = { mcpServer: t1 };
24
- $[2] = t1;
25
- $[3] = t2;
26
- } else t2 = $[3];
27
- const aui = useAui(t2);
28
- let t3;
29
- if ($[4] !== aui || $[5] !== children) {
30
- t3 = /* @__PURE__ */ jsx(AuiProvider, {
31
- value: aui,
24
+ if ($[2] !== aui || $[3] !== children || $[4] !== config) {
25
+ t2 = /* @__PURE__ */ jsx(AuiProvider, {
26
+ extends: aui,
27
+ config,
32
28
  children
33
29
  });
34
- $[4] = aui;
35
- $[5] = children;
36
- $[6] = t3;
37
- } else t3 = $[6];
38
- return t3;
30
+ $[2] = aui;
31
+ $[3] = children;
32
+ $[4] = config;
33
+ $[5] = t2;
34
+ } else t2 = $[5];
35
+ return t2;
39
36
  };
40
37
  //#endregion
41
38
  export { McpCustomServerByIndexProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"McpCustomServerByIndexProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","McpCustomServerByIndexProvider","index","t0","$","_c","children","t1","source","query","kind","get","parent","mcp","customServer","t2","mcpServer","aui","t3"],"sources":["../../src/context/McpCustomServerByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const McpCustomServerByIndexProvider: FC<\n PropsWithChildren<{ index: number }>\n> = ({ index, children }) => {\n const aui = useAui({\n mcpServer: Derived({\n source: \"mcp\",\n query: { kind: \"custom\", index },\n get: (parent) => parent.mcp.customServer({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,kCAETE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CAAmB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,OAAA;EAETK,KAAAP,QAAQ;GAAAQ,QACT;GAAKC,OACN;IAAAC,MAAQ;IAAQR;GAAQ;GAACS,MAC3BC,WAAYA,OAAMC,IAAIC,aAAc,EAAAZ,MAAQ,CAAC;EACpD,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAG,IAAA;EALeQ,KAAA,EAAAC,WACNT,GAKb;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAND,MAAAa,MAAYnB,OAAOiB,EAMlB;CAAE,IAAAG;CAAA,IAAAd,EAAA,OAAAa,OAAAb,EAAA,OAAAE,UAAA;EAEIY,KAAA,oBAAC,aAAD;GAAoBD,OAAAA;GAAMX;EAAd,CAAA;EAAqCF,EAAA,KAAAa;EAAAb,EAAA,KAAAE;EAAAF,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OAAjDc;AAAiD"}
1
+ {"version":3,"file":"McpCustomServerByIndexProvider.js","names":["FC","PropsWithChildren","useAui","AuiConfig","AuiProvider","Derived","McpCustomServerByIndexProvider","index","t0","$","_c","children","aui","t1","mcpServer","source","query","kind","get","parent","mcp","customServer","config","t2"],"sources":["../../src/context/McpCustomServerByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiConfig, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const McpCustomServerByIndexProvider: FC<\n PropsWithChildren<{ index: number }>\n> = ({ index, children }) => {\n const aui = useAui();\n const config = AuiConfig({\n mcpServer: Derived({\n source: \"mcp\",\n query: { kind: \"custom\", index },\n get: (parent) => parent.mcp.customServer({ index }),\n }),\n });\n return (\n <AuiProvider extends={aui} config={config}>\n {children}\n </AuiProvider>\n );\n};\n"],"mappings":";;;;AAGA,MAAaM,kCAETE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CACH,MAAAI,MAAYV,OAAO;CAAE,IAAAW;CAAA,IAAAJ,EAAA,OAAAF,OAAA;EACNM,KAAAV,UAAU,EAAAW,WACZT,QAAQ;GAAAU,QACT;GAAKC,OACN;IAAAC,MAAQ;IAAQV;GAAQ;GAACW,MAC3BC,WAAYA,OAAMC,IAAIC,aAAc,EAAAd,MAAQ,CAAC;EACpD,CAAC,EACH,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CANF,MAAAa,SAAeT;CAMZ,IAAAU;CAAA,IAAAd,EAAA,OAAAG,OAAAH,EAAA,OAAAE,YAAAF,EAAA,OAAAa,QAAA;EAEDC,KAAA,oBAAC,aAAD;GAAsBX,SAAAA;GAAaU;GAChCX;EADS,CAAA;EAEEF,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAa;EAAAb,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OAFdc;AAEc"}
@@ -1,38 +1,35 @@
1
- import { AuiProvider, Derived, useAui } from "@assistant-ui/store";
1
+ import { AuiConfig, AuiProvider, Derived, useAui } from "@assistant-ui/store";
2
2
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/context/McpServerByIdProvider.tsx
5
5
  const McpServerByIdProvider = (t0) => {
6
- const $ = c(7);
6
+ const $ = c(6);
7
7
  const { id, children } = t0;
8
+ const aui = useAui();
8
9
  let t1;
9
10
  if ($[0] !== id) {
10
- t1 = Derived({
11
+ t1 = AuiConfig({ mcpServer: Derived({
11
12
  source: "mcp",
12
13
  query: { id },
13
14
  get: (parent) => parent.mcp.server({ id })
14
- });
15
+ }) });
15
16
  $[0] = id;
16
17
  $[1] = t1;
17
18
  } else t1 = $[1];
19
+ const config = t1;
18
20
  let t2;
19
- if ($[2] !== t1) {
20
- t2 = { mcpServer: t1 };
21
- $[2] = t1;
22
- $[3] = t2;
23
- } else t2 = $[3];
24
- const aui = useAui(t2);
25
- let t3;
26
- if ($[4] !== aui || $[5] !== children) {
27
- t3 = /* @__PURE__ */ jsx(AuiProvider, {
28
- value: aui,
21
+ if ($[2] !== aui || $[3] !== children || $[4] !== config) {
22
+ t2 = /* @__PURE__ */ jsx(AuiProvider, {
23
+ extends: aui,
24
+ config,
29
25
  children
30
26
  });
31
- $[4] = aui;
32
- $[5] = children;
33
- $[6] = t3;
34
- } else t3 = $[6];
35
- return t3;
27
+ $[2] = aui;
28
+ $[3] = children;
29
+ $[4] = config;
30
+ $[5] = t2;
31
+ } else t2 = $[5];
32
+ return t2;
36
33
  };
37
34
  //#endregion
38
35
  export { McpServerByIdProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"McpServerByIdProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","McpServerByIdProvider","id","t0","$","_c","children","t1","source","query","get","parent","mcp","server","t2","mcpServer","aui","t3"],"sources":["../../src/context/McpServerByIdProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const McpServerByIdProvider: FC<PropsWithChildren<{ id: string }>> = ({\n id,\n children,\n}) => {\n const aui = useAui({\n mcpServer: Derived({\n source: \"mcp\",\n query: { id },\n get: (parent) => parent.mcp.server({ id }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,yBAA+DE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,IAAAI,aAAAH;CAG5E,IAAAI;CAAA,IAAAH,EAAA,OAAAF,IAAA;EAEcK,KAAAP,QAAQ;GAAAQ,QACT;GAAKC,OACN,EAAAP,GAAK;GAACQ,MACRC,WAAYA,OAAMC,IAAIC,OAAQ,EAAAX,GAAK,CAAC;EAC3C,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,IAAA;EALeO,KAAA,EAAAC,WACNR,GAKb;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAND,MAAAY,MAAYlB,OAAOgB,EAMlB;CAAE,IAAAG;CAAA,IAAAb,EAAA,OAAAY,OAAAZ,EAAA,OAAAE,UAAA;EAEIW,KAAA,oBAAC,aAAD;GAAoBD,OAAAA;GAAMV;EAAd,CAAA;EAAqCF,EAAA,KAAAY;EAAAZ,EAAA,KAAAE;EAAAF,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OAAjDa;AAAiD"}
1
+ {"version":3,"file":"McpServerByIdProvider.js","names":["FC","PropsWithChildren","useAui","AuiConfig","AuiProvider","Derived","McpServerByIdProvider","id","t0","$","_c","children","aui","t1","mcpServer","source","query","get","parent","mcp","server","config","t2"],"sources":["../../src/context/McpServerByIdProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiConfig, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const McpServerByIdProvider: FC<PropsWithChildren<{ id: string }>> = ({\n id,\n children,\n}) => {\n const aui = useAui();\n const config = AuiConfig({\n mcpServer: Derived({\n source: \"mcp\",\n query: { id },\n get: (parent) => parent.mcp.server({ id }),\n }),\n });\n return (\n <AuiProvider extends={aui} config={config}>\n {children}\n </AuiProvider>\n );\n};\n"],"mappings":";;;;AAGA,MAAaM,yBAA+DE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,IAAAI,aAAAH;CAI3E,MAAAI,MAAYV,OAAO;CAAE,IAAAW;CAAA,IAAAJ,EAAA,OAAAF,IAAA;EACNM,KAAAV,UAAU,EAAAW,WACZT,QAAQ;GAAAU,QACT;GAAKC,OACN,EAAAT,GAAK;GAACU,MACRC,WAAYA,OAAMC,IAAIC,OAAQ,EAAAb,GAAK,CAAC;EAC3C,CAAC,EACH,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CANF,MAAAY,SAAeR;CAMZ,IAAAS;CAAA,IAAAb,EAAA,OAAAG,OAAAH,EAAA,OAAAE,YAAAF,EAAA,OAAAY,QAAA;EAEDC,KAAA,oBAAC,aAAD;GAAsBV,SAAAA;GAAaS;GAChCV;EADS,CAAA;EAEEF,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAY;EAAAZ,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OAFda;AAEc"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMcpOAuthCallback.d.ts","names":[],"sources":["../../src/hooks/useMcpOAuthCallback.tsx"],"mappings":";;cAIa,8BACX,cACA,4BACC;KAWS;;EAEV;EACA,cAAc;EACd,WAAW,KAAK;;KAGN;EACV;EACA;EACA,OAAO;;iBAGO,oBACd,OAAM,6BACL;cAoDU,kBAAkB,GAC7B;EACE,YAAY,QAAQ,8BAA8B"}
1
+ {"version":3,"file":"useMcpOAuthCallback.d.ts","names":[],"sources":["../../src/hooks/useMcpOAuthCallback.tsx"],"mappings":";;cAkCa,8BACX,cACA,4BACC;KAWS;;EAEV;EACA,cAAc;EACd,WAAW,KAAK;;KAGN;EACV;EACA;EACA,OAAO;;iBAGO,oBACd,OAAM,6BACL;cA0DU,kBAAkB,GAC7B;EACE,YAAY,QAAQ,8BAA8B"}
@@ -4,6 +4,20 @@ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
4
4
  import { useEffect, useRef, useState } from "@assistant-ui/tap/react-shim";
5
5
  import { Fragment, jsx } from "react/jsx-runtime";
6
6
  //#region src/hooks/useMcpOAuthCallback.tsx
7
+ const reportCallbackError = (name, error) => {
8
+ console.error(`[react-mcp] ${name} callback threw an error`, error);
9
+ };
10
+ const invokeMcpOAuthCallback = (name, callback, ...args) => {
11
+ if (!callback) return;
12
+ try {
13
+ const result = callback(...args);
14
+ if (result !== null && (typeof result === "object" || typeof result === "function") && "then" in result && typeof result.then === "function") Promise.resolve(result).catch((error) => {
15
+ reportCallbackError(name, error);
16
+ });
17
+ } catch (error) {
18
+ reportCallbackError(name, error);
19
+ }
20
+ };
7
21
  const createMcpOAuthCallbackError = (err, serverId) => {
8
22
  const message = err instanceof Error ? err.message : String(err);
9
23
  if (serverId) return new Error(`MCP OAuth callback for server "${serverId}" failed: ${message}`, { cause: err });
@@ -30,8 +44,8 @@ function useMcpOAuthCallback(opts = {}) {
30
44
  const parsed = new URL(url);
31
45
  const state = parsed.searchParams.get("state");
32
46
  if (state) serverId = decodeServerIdFromState(state);
33
- const error = parsed.searchParams.get("error");
34
- if (error) throw new Error(parsed.searchParams.get("error_description") ?? error);
47
+ const error_0 = parsed.searchParams.get("error");
48
+ if (error_0) throw new Error(parsed.searchParams.get("error_description") ?? error_0);
35
49
  if (!state) throw new Error("missing \"state\" parameter");
36
50
  if (!serverId) throw new Error("state was not created by assistant-ui MCP");
37
51
  setResult({
@@ -45,16 +59,17 @@ function useMcpOAuthCallback(opts = {}) {
45
59
  serverId,
46
60
  error: null
47
61
  });
48
- optsRef.current.onComplete?.(serverId);
49
62
  } catch (err) {
50
- const e = createMcpOAuthCallbackError(err, serverId);
63
+ const error = createMcpOAuthCallbackError(err, serverId);
51
64
  setResult({
52
65
  status: "error",
53
66
  serverId,
54
- error: e
67
+ error
55
68
  });
56
- optsRef.current.onError?.(e);
69
+ invokeMcpOAuthCallback("onError", optsRef.current.onError, error);
70
+ return;
57
71
  }
72
+ invokeMcpOAuthCallback("onComplete", optsRef.current.onComplete, serverId);
58
73
  })();
59
74
  }, [aui, opts.url]);
60
75
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"useMcpOAuthCallback.js","names":["FC","ReactNode","useEffect","useRef","useState","useAui","decodeServerIdFromState","createMcpOAuthCallbackError","err","serverId","Error","message","String","cause","UseMcpOAuthCallbackOptions","url","onComplete","onError","UseMcpOAuthCallbackResult","status","error","useMcpOAuthCallback","opts","aui","result","setResult","startedRef","optsRef","current","window","location","href","parsed","URL","state","searchParams","get","mcp","server","id","completeAuth","e","McpOAuthCallback","children","t0","$","_c","t1","t2"],"sources":["../../src/hooks/useMcpOAuthCallback.tsx"],"sourcesContent":["import { type FC, type ReactNode, useEffect, useRef, useState } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\nimport { decodeServerIdFromState } from \"../auth/createOAuthProvider\";\n\nexport const createMcpOAuthCallbackError = (\n err: unknown,\n serverId: string | null,\n): Error => {\n const message = err instanceof Error ? err.message : String(err);\n if (serverId) {\n return new Error(\n `MCP OAuth callback for server \"${serverId}\" failed: ${message}`,\n { cause: err },\n );\n }\n return new Error(`MCP OAuth callback failed: ${message}`, { cause: err });\n};\n\nexport type UseMcpOAuthCallbackOptions = {\n /** Defaults to `window.location.href`. */\n url?: string;\n onComplete?: (serverId: string) => void;\n onError?: (err: Error) => void;\n};\n\nexport type UseMcpOAuthCallbackResult = {\n status: \"idle\" | \"running\" | \"done\" | \"error\";\n serverId: string | null;\n error: Error | null;\n};\n\nexport function useMcpOAuthCallback(\n opts: UseMcpOAuthCallbackOptions = {},\n): UseMcpOAuthCallbackResult {\n const aui = useAui();\n const [result, setResult] = useState<UseMcpOAuthCallbackResult>({\n status: \"idle\",\n serverId: null,\n error: null,\n });\n // Guard against React 18 Strict Mode's mount-unmount-remount: the effect\n // body must not run completeAuth twice for the same URL, otherwise the\n // single-use OAuth code is double-redeemed and the second attempt 4xxs.\n const startedRef = useRef<string | null>(null);\n const optsRef = useRef(opts);\n optsRef.current = opts;\n\n useEffect(() => {\n const url =\n opts.url ?? (typeof window !== \"undefined\" ? window.location.href : null);\n if (!url) return;\n if (startedRef.current === url) return;\n startedRef.current = url;\n\n (async () => {\n let serverId: string | null = null;\n try {\n const parsed = new URL(url);\n const state = parsed.searchParams.get(\"state\");\n if (state) serverId = decodeServerIdFromState(state);\n const error = parsed.searchParams.get(\"error\");\n if (error) {\n throw new Error(\n parsed.searchParams.get(\"error_description\") ?? error,\n );\n }\n if (!state) throw new Error('missing \"state\" parameter');\n if (!serverId) {\n throw new Error(\"state was not created by assistant-ui MCP\");\n }\n setResult({ status: \"running\", serverId, error: null });\n await aui.mcp.server({ id: serverId }).completeAuth(url);\n setResult({ status: \"done\", serverId, error: null });\n optsRef.current.onComplete?.(serverId);\n } catch (err) {\n const e = createMcpOAuthCallbackError(err, serverId);\n setResult({ status: \"error\", serverId, error: e });\n optsRef.current.onError?.(e);\n }\n })();\n }, [aui, opts.url]);\n\n return result;\n}\n\nexport const McpOAuthCallback: FC<\n UseMcpOAuthCallbackOptions & {\n children?: (result: UseMcpOAuthCallbackResult) => ReactNode;\n }\n> = ({ children, ...opts }) => {\n const result = useMcpOAuthCallback(opts);\n if (children) return <>{children(result)}</>;\n return null;\n};\n"],"mappings":";;;;;;AAIA,MAAaO,+BACXC,KACAC,aACU;CACV,MAAME,UAAUH,eAAeE,QAAQF,IAAIG,UAAUC,OAAOJ,GAAG;CAC/D,IAAIC,UACF,OAAO,IAAIC,MACT,kCAAkCD,SAAQ,YAAaE,WACvD,EAAEE,OAAOL,IAAI,CACf;CAEF,OAAO,IAAIE,MAAM,8BAA8BC,WAAW,EAAEE,OAAOL,IAAI,CAAC;AAC1E;AAeA,SAAgBa,oBACdC,OAAmC,CAAC,GACT;CAC3B,MAAMC,MAAMlB,OAAO;CACnB,MAAM,CAACmB,QAAQC,aAAarB,SAAoC;EAC9De,QAAQ;EACRV,UAAU;EACVW,OAAO;CACT,CAAC;CAID,MAAMM,aAAavB,OAAsB,IAAI;CAC7C,MAAMwB,UAAUxB,OAAOmB,IAAI;CAC3BK,QAAQC,UAAUN;CAElBpB,gBAAgB;EACd,MAAMa,MACJO,KAAKP,QAAQ,OAAOc,WAAW,cAAcA,OAAOC,SAASC,OAAO;EACtE,IAAI,CAAChB,KAAK;EACV,IAAIW,WAAWE,YAAYb,KAAK;EAChCW,WAAWE,UAAUb;EAErB,CAAC,YAAY;GACX,IAAIN,WAA0B;GAC9B,IAAI;IACF,MAAMuB,SAAS,IAAIC,IAAIlB,GAAG;IAC1B,MAAMmB,QAAQF,OAAOG,aAAaC,IAAI,OAAO;IAC7C,IAAIF,OAAOzB,WAAWH,wBAAwB4B,KAAK;IACnD,MAAMd,QAAQY,OAAOG,aAAaC,IAAI,OAAO;IAC7C,IAAIhB,OACF,MAAM,IAAIV,MACRsB,OAAOG,aAAaC,IAAI,mBAAmB,KAAKhB,KAClD;IAEF,IAAI,CAACc,OAAO,MAAM,IAAIxB,MAAM,6BAA2B;IACvD,IAAI,CAACD,UACH,MAAM,IAAIC,MAAM,2CAA2C;IAE7De,UAAU;KAAEN,QAAQ;KAAWV;KAAUW,OAAO;IAAK,CAAC;IACtD,MAAMG,IAAIc,IAAIC,OAAO,EAAEC,IAAI9B,SAAS,CAAC,CAAC,CAAC+B,aAAazB,GAAG;IACvDU,UAAU;KAAEN,QAAQ;KAAQV;KAAUW,OAAO;IAAK,CAAC;IACnDO,QAAQC,QAAQZ,aAAaP,QAAQ;GACvC,SAASD,KAAK;IACZ,MAAMiC,IAAIlC,4BAA4BC,KAAKC,QAAQ;IACnDgB,UAAU;KAAEN,QAAQ;KAASV;KAAUW,OAAOqB;IAAE,CAAC;IACjDd,QAAQC,QAAQX,UAAUwB,CAAC;GAC7B;EACF,EAAA,CAAG;CACL,GAAG,CAAClB,KAAKD,KAAKP,GAAG,CAAC;CAElB,OAAOS;AACT;AAEA,MAAakB,oBAITE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAH;CAAA,IAAArB;CAAA,IAAAuB,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAD,aAAArB,QAAAsB;EAAqBC,EAAA,KAAAD;EAAAC,EAAA,KAAAF;EAAAE,EAAA,KAAAvB;CAAA,OAAA;EAAAqB,WAAAE,EAAA;EAAAvB,OAAAuB,EAAA;CAAA;CACxB,MAAArB,SAAeH,oBAAoBC,IAAI;CACvC,IAAIqB,UAAQ;EAAA,IAAAI;EAAA,IAAAF,EAAA,OAAAF,YAAAE,EAAA,OAAArB,QAAA;GAAYuB,KAAAJ,SAASnB,MAAM;GAACqB,EAAA,KAAAF;GAAAE,EAAA,KAAArB;GAAAqB,EAAA,KAAAE;EAAA,OAAAA,KAAAF,EAAA;EAAA,IAAAG;EAAA,IAAAH,EAAA,OAAAE,IAAA;GAAnBC,KAAA,oBAAA,UAAA,EAAA,UAAGD,GAAgB,CAAA;GAAIF,EAAA,KAAAE;GAAAF,EAAA,KAAAG;EAAA,OAAAA,KAAAH,EAAA;EAAA,OAAvBG;CAAuB;CAAC,OACtC;AAAI"}
1
+ {"version":3,"file":"useMcpOAuthCallback.js","names":["FC","ReactNode","useEffect","useRef","useState","useAui","decodeServerIdFromState","McpOAuthCallbackName","reportCallbackError","name","error","console","invokeMcpOAuthCallback","callback","args","TArgs","result","then","Promise","resolve","catch","createMcpOAuthCallbackError","err","serverId","Error","message","String","cause","UseMcpOAuthCallbackOptions","url","onComplete","onError","UseMcpOAuthCallbackResult","status","useMcpOAuthCallback","opts","aui","setResult","startedRef","optsRef","current","window","location","href","parsed","URL","state","searchParams","get","mcp","server","id","completeAuth","McpOAuthCallback","children","t0","$","_c","t1","t2"],"sources":["../../src/hooks/useMcpOAuthCallback.tsx"],"sourcesContent":["import { type FC, type ReactNode, useEffect, useRef, useState } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\nimport { decodeServerIdFromState } from \"../auth/createOAuthProvider\";\n\ntype McpOAuthCallbackName = \"onComplete\" | \"onError\";\n\nconst reportCallbackError = (name: McpOAuthCallbackName, error: unknown) => {\n console.error(`[react-mcp] ${name} callback threw an error`, error);\n};\n\nconst invokeMcpOAuthCallback = <TArgs extends unknown[]>(\n name: McpOAuthCallbackName,\n callback: ((...args: TArgs) => void) | undefined,\n ...args: TArgs\n) => {\n if (!callback) return;\n\n try {\n const result = callback(...args) as unknown;\n if (\n result !== null &&\n (typeof result === \"object\" || typeof result === \"function\") &&\n \"then\" in result &&\n typeof result.then === \"function\"\n ) {\n void Promise.resolve(result).catch((error) => {\n reportCallbackError(name, error);\n });\n }\n } catch (error) {\n reportCallbackError(name, error);\n }\n};\n\nexport const createMcpOAuthCallbackError = (\n err: unknown,\n serverId: string | null,\n): Error => {\n const message = err instanceof Error ? err.message : String(err);\n if (serverId) {\n return new Error(\n `MCP OAuth callback for server \"${serverId}\" failed: ${message}`,\n { cause: err },\n );\n }\n return new Error(`MCP OAuth callback failed: ${message}`, { cause: err });\n};\n\nexport type UseMcpOAuthCallbackOptions = {\n /** Defaults to `window.location.href`. */\n url?: string;\n onComplete?: (serverId: string) => void;\n onError?: (err: Error) => void;\n};\n\nexport type UseMcpOAuthCallbackResult = {\n status: \"idle\" | \"running\" | \"done\" | \"error\";\n serverId: string | null;\n error: Error | null;\n};\n\nexport function useMcpOAuthCallback(\n opts: UseMcpOAuthCallbackOptions = {},\n): UseMcpOAuthCallbackResult {\n const aui = useAui();\n const [result, setResult] = useState<UseMcpOAuthCallbackResult>({\n status: \"idle\",\n serverId: null,\n error: null,\n });\n // Guard against React 18 Strict Mode's mount-unmount-remount: the effect\n // body must not run completeAuth twice for the same URL, otherwise the\n // single-use OAuth code is double-redeemed and the second attempt 4xxs.\n const startedRef = useRef<string | null>(null);\n const optsRef = useRef(opts);\n optsRef.current = opts;\n\n useEffect(() => {\n const url =\n opts.url ?? (typeof window !== \"undefined\" ? window.location.href : null);\n if (!url) return;\n if (startedRef.current === url) return;\n startedRef.current = url;\n\n void (async () => {\n let serverId: string | null = null;\n try {\n const parsed = new URL(url);\n const state = parsed.searchParams.get(\"state\");\n if (state) serverId = decodeServerIdFromState(state);\n const error = parsed.searchParams.get(\"error\");\n if (error) {\n throw new Error(\n parsed.searchParams.get(\"error_description\") ?? error,\n );\n }\n if (!state) throw new Error('missing \"state\" parameter');\n if (!serverId) {\n throw new Error(\"state was not created by assistant-ui MCP\");\n }\n setResult({ status: \"running\", serverId, error: null });\n await aui.mcp.server({ id: serverId }).completeAuth(url);\n setResult({ status: \"done\", serverId, error: null });\n } catch (err) {\n const error = createMcpOAuthCallbackError(err, serverId);\n setResult({ status: \"error\", serverId, error });\n invokeMcpOAuthCallback(\"onError\", optsRef.current.onError, error);\n return;\n }\n\n invokeMcpOAuthCallback(\n \"onComplete\",\n optsRef.current.onComplete,\n serverId,\n );\n })();\n }, [aui, opts.url]);\n\n return result;\n}\n\nexport const McpOAuthCallback: FC<\n UseMcpOAuthCallbackOptions & {\n children?: (result: UseMcpOAuthCallbackResult) => ReactNode;\n }\n> = ({ children, ...opts }) => {\n const result = useMcpOAuthCallback(opts);\n if (children) return <>{children(result)}</>;\n return null;\n};\n"],"mappings":";;;;;;AAMA,MAAMQ,uBAAuBC,MAA4BC,UAAmB;CAC1EC,QAAQD,MAAM,eAAeD,KAAI,2BAA4BC,KAAK;AACpE;AAEA,MAAME,0BACJH,MACAI,UACA,GAAGC,SACA;CACH,IAAI,CAACD,UAAU;CAEf,IAAI;EACF,MAAMG,SAASH,SAAS,GAAGC,IAAI;EAC/B,IACEE,WAAW,SACV,OAAOA,WAAW,YAAY,OAAOA,WAAW,eACjD,UAAUA,UACV,OAAOA,OAAOC,SAAS,YAEvB,QAAaE,QAAQH,MAAM,CAAC,CAACI,OAAOV,UAAU;GAC5CF,oBAAoBC,MAAMC,KAAK;EACjC,CAAC;CAEL,SAASA,OAAO;EACdF,oBAAoBC,MAAMC,KAAK;CACjC;AACF;AAEA,MAAaW,+BACXC,KACAC,aACU;CACV,MAAME,UAAUH,eAAeE,QAAQF,IAAIG,UAAUC,OAAOJ,GAAG;CAC/D,IAAIC,UACF,OAAO,IAAIC,MACT,kCAAkCD,SAAQ,YAAaE,WACvD,EAAEE,OAAOL,IAAI,CACf;CAEF,OAAO,IAAIE,MAAM,8BAA8BC,WAAW,EAAEE,OAAOL,IAAI,CAAC;AAC1E;AAeA,SAAgBY,oBACdC,OAAmC,CAAC,GACT;CAC3B,MAAMC,MAAM/B,OAAO;CACnB,MAAM,CAACW,QAAQqB,aAAajC,SAAoC;EAC9D6B,QAAQ;EACRV,UAAU;EACVb,OAAO;CACT,CAAC;CAID,MAAM4B,aAAanC,OAAsB,IAAI;CAC7C,MAAMoC,UAAUpC,OAAOgC,IAAI;CAC3BI,QAAQC,UAAUL;CAElBjC,gBAAgB;EACd,MAAM2B,MACJM,KAAKN,QAAQ,OAAOY,WAAW,cAAcA,OAAOC,SAASC,OAAO;EACtE,IAAI,CAACd,KAAK;EACV,IAAIS,WAAWE,YAAYX,KAAK;EAChCS,WAAWE,UAAUX;EAErB,CAAM,YAAY;GAChB,IAAIN,WAA0B;GAC9B,IAAI;IACF,MAAMqB,SAAS,IAAIC,IAAIhB,GAAG;IAC1B,MAAMiB,QAAQF,OAAOG,aAAaC,IAAI,OAAO;IAC7C,IAAIF,OAAOvB,WAAWjB,wBAAwBwC,KAAK;IACnD,MAAMpC,UAAQkC,OAAOG,aAAaC,IAAI,OAAO;IAC7C,IAAItC,SACF,MAAM,IAAIc,MACRoB,OAAOG,aAAaC,IAAI,mBAAmB,KAAKtC,OAClD;IAEF,IAAI,CAACoC,OAAO,MAAM,IAAItB,MAAM,6BAA2B;IACvD,IAAI,CAACD,UACH,MAAM,IAAIC,MAAM,2CAA2C;IAE7Da,UAAU;KAAEJ,QAAQ;KAAWV;KAAUb,OAAO;IAAK,CAAC;IACtD,MAAM0B,IAAIa,IAAIC,OAAO,EAAEC,IAAI5B,SAAS,CAAC,CAAC,CAAC6B,aAAavB,GAAG;IACvDQ,UAAU;KAAEJ,QAAQ;KAAQV;KAAUb,OAAO;IAAK,CAAC;GACrD,SAASY,KAAK;IACZ,MAAMZ,QAAQW,4BAA4BC,KAAKC,QAAQ;IACvDc,UAAU;KAAEJ,QAAQ;KAASV;KAAUb;IAAM,CAAC;IAC9CE,uBAAuB,WAAW2B,QAAQC,QAAQT,SAASrB,KAAK;IAChE;GACF;GAEAE,uBACE,cACA2B,QAAQC,QAAQV,YAChBP,QACF;EACF,EAAA,CAAG;CACL,GAAG,CAACa,KAAKD,KAAKN,GAAG,CAAC;CAElB,OAAOb;AACT;AAEA,MAAaqC,oBAITE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAH;CAAA,IAAAnB;CAAA,IAAAqB,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAD,aAAAnB,QAAAoB;EAAqBC,EAAA,KAAAD;EAAAC,EAAA,KAAAF;EAAAE,EAAA,KAAArB;CAAA,OAAA;EAAAmB,WAAAE,EAAA;EAAArB,OAAAqB,EAAA;CAAA;CACxB,MAAAxC,SAAekB,oBAAoBC,IAAI;CACvC,IAAImB,UAAQ;EAAA,IAAAI;EAAA,IAAAF,EAAA,OAAAF,YAAAE,EAAA,OAAAxC,QAAA;GAAY0C,KAAAJ,SAAStC,MAAM;GAACwC,EAAA,KAAAF;GAAAE,EAAA,KAAAxC;GAAAwC,EAAA,KAAAE;EAAA,OAAAA,KAAAF,EAAA;EAAA,IAAAG;EAAA,IAAAH,EAAA,OAAAE,IAAA;GAAnBC,KAAA,oBAAA,UAAA,EAAA,UAAGD,GAAgB,CAAA;GAAIF,EAAA,KAAAE;GAAAF,EAAA,KAAAG;EAAA,OAAAA,KAAAH,EAAA;EAAA,OAAvBG;CAAuB;CAAC,OACtC;AAAI"}
@@ -14,7 +14,7 @@ const McpServerPrimitiveRemoveButton = forwardRef((props, ref) => {
14
14
  t0 = (e) => {
15
15
  props.onClick?.(e);
16
16
  if (e.defaultPrevented) return;
17
- aui.mcpServer.remove();
17
+ aui.mcpServer.remove().catch(_temp2);
18
18
  };
19
19
  $[0] = aui;
20
20
  $[1] = props;
@@ -39,6 +39,7 @@ McpServerPrimitiveRemoveButton.displayName = "McpServerPrimitive.RemoveButton";
39
39
  function _temp(s) {
40
40
  return s.mcpServer.kind;
41
41
  }
42
+ function _temp2() {}
42
43
  //#endregion
43
44
  export { McpServerPrimitiveRemoveButton };
44
45
 
@@ -1 +1 @@
1
- {"version":3,"file":"McpServerRemoveButton.js","names":["ComponentPropsWithoutRef","ComponentRef","forwardRef","Primitive","useAui","useAuiState","McpServerPrimitiveRemoveButton","Element","button","Props","props","ref","$","_c","kind","_temp","aui","t0","e","onClick","defaultPrevented","mcpServer","remove","t1","displayName","s"],"sources":["../../../src/primitives/server/McpServerRemoveButton.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport namespace McpServerPrimitiveRemoveButton {\n export type Element = ComponentRef<typeof Primitive.button>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.button>;\n}\n\nexport const McpServerPrimitiveRemoveButton = forwardRef<\n McpServerPrimitiveRemoveButton.Element,\n McpServerPrimitiveRemoveButton.Props\n>((props, ref) => {\n const kind = useAuiState((s) => s.mcpServer.kind);\n const aui = useAui();\n if (kind !== \"custom\") return null;\n return (\n <Primitive.button\n {...props}\n type=\"button\"\n ref={ref}\n onClick={(e) => {\n props.onClick?.(e);\n if (e.defaultPrevented) return;\n void aui.mcpServer.remove();\n }}\n />\n );\n});\n\nMcpServerPrimitiveRemoveButton.displayName = \"McpServerPrimitive.RemoveButton\";\n"],"mappings":";;;;;;AAaA,MAAaM,iCAAiCJ,YAG5CQ,OAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACA,MAAAC,OAAaT,YAAYU,KAAuB;CAChD,MAAAC,MAAYZ,OAAO;CACnB,IAAIU,SAAS,UAAQ,OAAS;CAAK,IAAAG;CAAA,IAAAL,EAAA,OAAAI,OAAAJ,EAAA,OAAAF,OAAA;EAMtBO,MAAAC,MAAA;GACPR,MAAKS,UAAWD,CAAC;GACjB,IAAIA,EAACE,kBAAiB;GACjBJ,IAAGK,UAAUC,OAAQ;EAAC;EAC5BV,EAAA,KAAAI;EAAAJ,EAAA,KAAAF;EAAAE,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAF,SAAAE,EAAA,OAAAD,OAAAC,EAAA,OAAAK,IAAA;EARHM,KAAA,oBAAA,UAAA,QAAA;GAAA,GACMb;GACC,MAAA;GACAC;GACI,SAAAM;EAIR,CAAA;EACDL,EAAA,KAAAF;EAAAE,EAAA,KAAAD;EAAAC,EAAA,KAAAK;EAAAL,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,OATFW;AASE,CAEL;AAEDjB,+BAA+BkB,cAAc;AAlB3C,SAAAT,MAAAU,GAAA;CAAA,OACgCA,EAACJ,UAAUP;AAAK"}
1
+ {"version":3,"file":"McpServerRemoveButton.js","names":["ComponentPropsWithoutRef","ComponentRef","forwardRef","Primitive","useAui","useAuiState","McpServerPrimitiveRemoveButton","Element","button","Props","props","ref","$","_c","kind","_temp","aui","t0","e","onClick","defaultPrevented","mcpServer","remove","catch","_temp2","t1","displayName","s"],"sources":["../../../src/primitives/server/McpServerRemoveButton.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport namespace McpServerPrimitiveRemoveButton {\n export type Element = ComponentRef<typeof Primitive.button>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.button>;\n}\n\nexport const McpServerPrimitiveRemoveButton = forwardRef<\n McpServerPrimitiveRemoveButton.Element,\n McpServerPrimitiveRemoveButton.Props\n>((props, ref) => {\n const kind = useAuiState((s) => s.mcpServer.kind);\n const aui = useAui();\n if (kind !== \"custom\") return null;\n return (\n <Primitive.button\n {...props}\n type=\"button\"\n ref={ref}\n onClick={(e) => {\n props.onClick?.(e);\n if (e.defaultPrevented) return;\n void aui.mcpServer.remove().catch(() => undefined);\n }}\n />\n );\n});\n\nMcpServerPrimitiveRemoveButton.displayName = \"McpServerPrimitive.RemoveButton\";\n"],"mappings":";;;;;;AAaA,MAAaM,iCAAiCJ,YAG5CQ,OAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACA,MAAAC,OAAaT,YAAYU,KAAuB;CAChD,MAAAC,MAAYZ,OAAO;CACnB,IAAIU,SAAS,UAAQ,OAAS;CAAK,IAAAG;CAAA,IAAAL,EAAA,OAAAI,OAAAJ,EAAA,OAAAF,OAAA;EAMtBO,MAAAC,MAAA;GACPR,MAAKS,UAAWD,CAAC;GACjB,IAAIA,EAACE,kBAAiB;GACjBJ,IAAGK,UAAUC,OAAQ,CAAC,CAAAC,MAAOC,MAAe;EAAC;EACnDZ,EAAA,KAAAI;EAAAJ,EAAA,KAAAF;EAAAE,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,IAAAa;CAAA,IAAAb,EAAA,OAAAF,SAAAE,EAAA,OAAAD,OAAAC,EAAA,OAAAK,IAAA;EARHQ,KAAA,oBAAA,UAAA,QAAA;GAAA,GACMf;GACC,MAAA;GACAC;GACI,SAAAM;EAIR,CAAA;EACDL,EAAA,KAAAF;EAAAE,EAAA,KAAAD;EAAAC,EAAA,KAAAK;EAAAL,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OATFa;AASE,CAEL;AAEDnB,+BAA+BoB,cAAc;AAlB3C,SAAAX,MAAAY,GAAA;CAAA,OACgCA,EAACN,UAAUP;AAAK;AADhD,SAAAU,SAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"McpManagerResource.d.ts","names":[],"sources":["../../src/resources/McpManagerResource.ts"],"mappings":";;;;KAqBY;EACV,aAAa;EACb,UAAU;;EAEV;;EAEA;;EAEA;;cA8QW,gDAAkB,SAAA,sBAAA,OAAA"}
1
+ {"version":3,"file":"McpManagerResource.d.ts","names":[],"sources":["../../src/resources/McpManagerResource.ts"],"mappings":";;;;KAqBY;EACV,aAAa;EACb,UAAU;;EAEV;;EAEA;;EAEA;;cAwRW,gDAAkB,SAAA,sBAAA,OAAA"}