@fragno-dev/mcp-fragment 0.0.0-stage → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +16 -0
- package/README.md +312 -2
- package/bin/run.js +7 -0
- package/dist/browser/client/react.d.ts +253 -0
- package/dist/browser/client/react.d.ts.map +1 -0
- package/dist/browser/client/react.js +194 -0
- package/dist/browser/client/react.js.map +1 -0
- package/dist/browser/client/solid.d.ts +256 -0
- package/dist/browser/client/solid.d.ts.map +1 -0
- package/dist/browser/client/solid.js +129 -0
- package/dist/browser/client/solid.js.map +1 -0
- package/dist/browser/client/svelte.d.ts +256 -0
- package/dist/browser/client/svelte.d.ts.map +1 -0
- package/dist/browser/client/svelte.js +131 -0
- package/dist/browser/client/svelte.js.map +1 -0
- package/dist/browser/client/vanilla.d.ts +283 -0
- package/dist/browser/client/vanilla.d.ts.map +1 -0
- package/dist/browser/client/vanilla.js +159 -0
- package/dist/browser/client/vanilla.js.map +1 -0
- package/dist/browser/client/vue.d.ts +256 -0
- package/dist/browser/client/vue.d.ts.map +1 -0
- package/dist/browser/client/vue.js +127 -0
- package/dist/browser/client/vue.js.map +1 -0
- package/dist/browser/client-BCzNDSlW.d.ts +711 -0
- package/dist/browser/client-BCzNDSlW.d.ts.map +1 -0
- package/dist/browser/index.d.ts +813 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +1 -0
- package/dist/browser/src-B6dHZXqB.js +2303 -0
- package/dist/browser/src-B6dHZXqB.js.map +1 -0
- package/dist/cli/cli.d.ts +6 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.js +227 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/definition.js +330 -0
- package/dist/cli/definition.js.map +1 -0
- package/dist/cli/diagnostics.js +93 -0
- package/dist/cli/diagnostics.js.map +1 -0
- package/dist/cli/index.js +13 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/mcp-api.js +87 -0
- package/dist/cli/mcp-api.js.map +1 -0
- package/dist/cli/mcp-types.js +100 -0
- package/dist/cli/mcp-types.js.map +1 -0
- package/dist/cli/oauth-provider.js +113 -0
- package/dist/cli/oauth-provider.js.map +1 -0
- package/dist/cli/routes.js +743 -0
- package/dist/cli/routes.js.map +1 -0
- package/dist/cli/schema.js +13 -0
- package/dist/cli/schema.js.map +1 -0
- package/dist/cli/services.js +330 -0
- package/dist/cli/services.js.map +1 -0
- package/dist/node/definition.d.ts +260 -0
- package/dist/node/definition.d.ts.map +1 -0
- package/dist/node/definition.js +330 -0
- package/dist/node/definition.js.map +1 -0
- package/dist/node/diagnostics.js +93 -0
- package/dist/node/diagnostics.js.map +1 -0
- package/dist/node/index.d.ts +694 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +26 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/mcp-api.d.ts +2 -0
- package/dist/node/mcp-api.js +87 -0
- package/dist/node/mcp-api.js.map +1 -0
- package/dist/node/mcp-types.d.ts +146 -0
- package/dist/node/mcp-types.d.ts.map +1 -0
- package/dist/node/mcp-types.js +100 -0
- package/dist/node/mcp-types.js.map +1 -0
- package/dist/node/oauth-provider.d.ts +24 -0
- package/dist/node/oauth-provider.d.ts.map +1 -0
- package/dist/node/oauth-provider.js +113 -0
- package/dist/node/oauth-provider.js.map +1 -0
- package/dist/node/routes.d.ts +466 -0
- package/dist/node/routes.d.ts.map +1 -0
- package/dist/node/routes.js +743 -0
- package/dist/node/routes.js.map +1 -0
- package/dist/node/schema.d.ts +9 -0
- package/dist/node/schema.d.ts.map +1 -0
- package/dist/node/schema.js +13 -0
- package/dist/node/schema.js.map +1 -0
- package/dist/node/services.d.ts +40 -0
- package/dist/node/services.d.ts.map +1 -0
- package/dist/node/services.js +330 -0
- package/dist/node/services.js.map +1 -0
- package/dist/node/testing/mcp-test-server.d.ts +42 -0
- package/dist/node/testing/mcp-test-server.d.ts.map +1 -0
- package/dist/node/testing/mcp-test-server.js +218 -0
- package/dist/node/testing/mcp-test-server.js.map +1 -0
- package/package.json +130 -3
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { a as FragnoClientRequestError, c as InferOr, d as MaybeExtractPathParamsOrWiden, f as QueryParamsHint, i as ReadableAtom, o as NonGetHTTPMethod, s as FragnoPublicClientConfig } from "../client-BCzNDSlW.js";
|
|
2
|
+
import { Readable } from "svelte/store";
|
|
3
|
+
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
4
|
+
//#region ../fragno/dist/client/client.svelte.d.ts
|
|
5
|
+
//#region src/client/client.svelte.d.ts
|
|
6
|
+
type FragnoSvelteHook<_TMethod extends "GET", TPath extends string, TOutputSchema extends StandardSchemaV1, TErrorCode extends string, TQueryParameters extends string> = (args?: {
|
|
7
|
+
path?: MaybeExtractPathParamsOrWiden<TPath, string | Readable<string> | ReadableAtom<string>> | (() => string);
|
|
8
|
+
query?: QueryParamsHint<TQueryParameters, string | Readable<string> | ReadableAtom<string> | (() => string)>;
|
|
9
|
+
}) => {
|
|
10
|
+
data: Readable<InferOr<TOutputSchema, undefined>>;
|
|
11
|
+
loading: Readable<boolean>;
|
|
12
|
+
error: Readable<FragnoClientRequestError<TErrorCode[number]> | undefined>;
|
|
13
|
+
};
|
|
14
|
+
type FragnoSvelteMutator<_TMethod extends NonGetHTTPMethod, TPath extends string, TInputSchema extends StandardSchemaV1 | undefined, TOutputSchema extends StandardSchemaV1 | undefined, TErrorCode extends string, TQueryParameters extends string> = () => {
|
|
15
|
+
mutate: (args: {
|
|
16
|
+
body?: InferOr<TInputSchema, undefined>;
|
|
17
|
+
path?: MaybeExtractPathParamsOrWiden<TPath, string | Readable<string> | ReadableAtom<string> | (() => string)>;
|
|
18
|
+
query?: QueryParamsHint<TQueryParameters, string | Readable<string> | ReadableAtom<string> | (() => string)>;
|
|
19
|
+
}) => Promise<InferOr<TOutputSchema, undefined>>;
|
|
20
|
+
loading: Readable<boolean | undefined>;
|
|
21
|
+
error: Readable<FragnoClientRequestError<TErrorCode[number]> | undefined>;
|
|
22
|
+
data: Readable<InferOr<TOutputSchema, undefined>>;
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/client/svelte.d.ts
|
|
26
|
+
export declare function createMcpFragmentClient(config?: FragnoPublicClientConfig): {
|
|
27
|
+
useServers: FragnoSvelteHook<"GET", "/servers", import("zod").ZodObject<{
|
|
28
|
+
servers: import("zod").ZodArray<import("zod").ZodObject<{
|
|
29
|
+
slug: import("zod").ZodString;
|
|
30
|
+
name: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
31
|
+
endpointUrl: import("zod").ZodString;
|
|
32
|
+
authMode: import("zod").ZodString;
|
|
33
|
+
cache: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
34
|
+
protocolVersion: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
35
|
+
serverInfo: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnknown>>;
|
|
36
|
+
capabilities: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnknown>>;
|
|
37
|
+
tools: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
|
|
38
|
+
name: import("zod").ZodString;
|
|
39
|
+
title: import("zod").ZodOptional<import("zod").ZodString>;
|
|
40
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
41
|
+
inputSchema: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
42
|
+
outputSchema: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
43
|
+
annotations: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
44
|
+
_meta: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
45
|
+
}, import("zod/v4/core").$loose>>>>;
|
|
46
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodDate]>>;
|
|
47
|
+
}, import("zod/v4/core").$strip>>>;
|
|
48
|
+
}, import("zod/v4/core").$strip>>;
|
|
49
|
+
}, import("zod/v4/core").$strip>, string, string>;
|
|
50
|
+
useServer: FragnoSvelteHook<"GET", "/servers/:slug", import("zod").ZodObject<{
|
|
51
|
+
slug: import("zod").ZodString;
|
|
52
|
+
name: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
53
|
+
endpointUrl: import("zod").ZodString;
|
|
54
|
+
authMode: import("zod").ZodString;
|
|
55
|
+
cache: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
56
|
+
protocolVersion: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
57
|
+
serverInfo: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnknown>>;
|
|
58
|
+
capabilities: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnknown>>;
|
|
59
|
+
tools: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
|
|
60
|
+
name: import("zod").ZodString;
|
|
61
|
+
title: import("zod").ZodOptional<import("zod").ZodString>;
|
|
62
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
63
|
+
inputSchema: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
64
|
+
outputSchema: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
65
|
+
annotations: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
66
|
+
_meta: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
67
|
+
}, import("zod/v4/core").$loose>>>>;
|
|
68
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodDate]>>;
|
|
69
|
+
}, import("zod/v4/core").$strip>>>;
|
|
70
|
+
}, import("zod/v4/core").$strip>, "SERVER_NOT_FOUND", string>;
|
|
71
|
+
createServer: FragnoSvelteMutator<NonGetHTTPMethod, "/servers", import("@standard-schema/spec").StandardSchemaV1<unknown, unknown> | import("zod").ZodObject<{
|
|
72
|
+
slug: import("zod").ZodString;
|
|
73
|
+
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
74
|
+
endpointUrl: import("zod").ZodURL;
|
|
75
|
+
auth: import("zod").ZodDefault<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
76
|
+
type: import("zod").ZodLiteral<"none">;
|
|
77
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
78
|
+
type: import("zod").ZodLiteral<"bearer">;
|
|
79
|
+
token: import("zod").ZodString;
|
|
80
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
81
|
+
type: import("zod").ZodLiteral<"client_credentials">;
|
|
82
|
+
clientId: import("zod").ZodString;
|
|
83
|
+
clientSecret: import("zod").ZodString;
|
|
84
|
+
scopes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
85
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
86
|
+
type: import("zod").ZodLiteral<"oauth">;
|
|
87
|
+
clientId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
88
|
+
clientSecret: import("zod").ZodOptional<import("zod").ZodString>;
|
|
89
|
+
scopes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
90
|
+
}, import("zod/v4/core").$strip>], "type">>;
|
|
91
|
+
}, import("zod/v4/core").$strip> | undefined, import("zod").ZodObject<{
|
|
92
|
+
slug: import("zod").ZodString;
|
|
93
|
+
name: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
94
|
+
endpointUrl: import("zod").ZodString;
|
|
95
|
+
authMode: import("zod").ZodString;
|
|
96
|
+
cache: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
97
|
+
protocolVersion: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
98
|
+
serverInfo: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnknown>>;
|
|
99
|
+
capabilities: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnknown>>;
|
|
100
|
+
tools: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
|
|
101
|
+
name: import("zod").ZodString;
|
|
102
|
+
title: import("zod").ZodOptional<import("zod").ZodString>;
|
|
103
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
104
|
+
inputSchema: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
105
|
+
outputSchema: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
106
|
+
annotations: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
107
|
+
_meta: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
108
|
+
}, import("zod/v4/core").$loose>>>>;
|
|
109
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodDate]>>;
|
|
110
|
+
}, import("zod/v4/core").$strip>>>;
|
|
111
|
+
}, import("zod/v4/core").$strip> | import("zod").ZodObject<{
|
|
112
|
+
servers: import("zod").ZodArray<import("zod").ZodObject<{
|
|
113
|
+
slug: import("zod").ZodString;
|
|
114
|
+
name: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
115
|
+
endpointUrl: import("zod").ZodString;
|
|
116
|
+
authMode: import("zod").ZodString;
|
|
117
|
+
cache: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
118
|
+
protocolVersion: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
119
|
+
serverInfo: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnknown>>;
|
|
120
|
+
capabilities: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnknown>>;
|
|
121
|
+
tools: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
|
|
122
|
+
name: import("zod").ZodString;
|
|
123
|
+
title: import("zod").ZodOptional<import("zod").ZodString>;
|
|
124
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
125
|
+
inputSchema: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
126
|
+
outputSchema: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
127
|
+
annotations: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
128
|
+
_meta: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
129
|
+
}, import("zod/v4/core").$loose>>>>;
|
|
130
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodDate]>>;
|
|
131
|
+
}, import("zod/v4/core").$strip>>>;
|
|
132
|
+
}, import("zod/v4/core").$strip>>;
|
|
133
|
+
}, import("zod/v4/core").$strip> | undefined, string, string>;
|
|
134
|
+
refreshServer: FragnoSvelteMutator<NonGetHTTPMethod, "/servers/:slug/refresh", import("@standard-schema/spec").StandardSchemaV1<unknown, unknown> | undefined, import("zod").ZodObject<{
|
|
135
|
+
ok: import("zod").ZodBoolean;
|
|
136
|
+
tools: import("zod").ZodArray<import("zod").ZodObject<{
|
|
137
|
+
name: import("zod").ZodString;
|
|
138
|
+
title: import("zod").ZodOptional<import("zod").ZodString>;
|
|
139
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
140
|
+
inputSchema: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
141
|
+
outputSchema: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
142
|
+
annotations: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
143
|
+
_meta: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
144
|
+
}, import("zod/v4/core").$loose>>;
|
|
145
|
+
stage: import("zod").ZodNullable<import("zod").ZodEnum<{
|
|
146
|
+
auth: "auth";
|
|
147
|
+
list_tools: "list_tools";
|
|
148
|
+
}>>;
|
|
149
|
+
checkedAt: import("zod").ZodString;
|
|
150
|
+
server: import("zod").ZodObject<{
|
|
151
|
+
name: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
152
|
+
endpointUrl: import("zod").ZodString;
|
|
153
|
+
authMode: import("zod").ZodString;
|
|
154
|
+
slug: import("zod").ZodString;
|
|
155
|
+
}, import("zod/v4/core").$strip>;
|
|
156
|
+
auth: import("zod").ZodObject<{
|
|
157
|
+
authenticated: import("zod").ZodBoolean;
|
|
158
|
+
mode: import("zod").ZodString;
|
|
159
|
+
tokenPresent: import("zod").ZodBoolean;
|
|
160
|
+
expiresAt: import("zod").ZodNullable<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodDate]>>;
|
|
161
|
+
expired: import("zod").ZodNullable<import("zod").ZodBoolean>;
|
|
162
|
+
scopes: import("zod").ZodObject<{
|
|
163
|
+
requested: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>;
|
|
164
|
+
granted: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>;
|
|
165
|
+
missing: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>;
|
|
166
|
+
raw: import("zod").ZodNullable<import("zod").ZodString>;
|
|
167
|
+
}, import("zod/v4/core").$strip>;
|
|
168
|
+
}, import("zod/v4/core").$strip>;
|
|
169
|
+
live: import("zod").ZodObject<{
|
|
170
|
+
reachable: import("zod").ZodBoolean;
|
|
171
|
+
listToolsOk: import("zod").ZodBoolean;
|
|
172
|
+
toolCount: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
173
|
+
protocolVersion: import("zod").ZodNullable<import("zod").ZodString>;
|
|
174
|
+
serverInfo: import("zod").ZodNullable<import("zod").ZodUnknown>;
|
|
175
|
+
capabilities: import("zod").ZodNullable<import("zod").ZodUnknown>;
|
|
176
|
+
}, import("zod/v4/core").$strip>;
|
|
177
|
+
cache: import("zod").ZodObject<{
|
|
178
|
+
presentBeforeCheck: import("zod").ZodBoolean;
|
|
179
|
+
previousToolCount: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
180
|
+
updatedToolCount: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
181
|
+
}, import("zod/v4/core").$strip>;
|
|
182
|
+
error: import("zod").ZodNullable<import("zod").ZodObject<{
|
|
183
|
+
code: import("zod").ZodString;
|
|
184
|
+
message: import("zod").ZodString;
|
|
185
|
+
}, import("zod/v4/core").$strip>>;
|
|
186
|
+
}, import("zod/v4/core").$strip> | undefined, "SERVER_NOT_FOUND", string>;
|
|
187
|
+
callTool: FragnoSvelteMutator<NonGetHTTPMethod, "/servers/:slug/tools/execute", import("zod").ZodObject<{
|
|
188
|
+
name: import("zod").ZodString;
|
|
189
|
+
arguments: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
190
|
+
timeoutMs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
191
|
+
}, import("zod/v4/core").$strip> | undefined, import("zod").ZodObject<{
|
|
192
|
+
isError: import("zod").ZodBoolean;
|
|
193
|
+
content: import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
194
|
+
structuredContent: import("zod").ZodUnknown;
|
|
195
|
+
}, import("zod/v4/core").$strip> | undefined, "SERVER_NOT_FOUND" | "MCP_ERROR", string>;
|
|
196
|
+
setToken: FragnoSvelteMutator<NonGetHTTPMethod, "/servers/:slug/auth/token", import("zod").ZodObject<{
|
|
197
|
+
token: import("zod").ZodString;
|
|
198
|
+
}, import("zod/v4/core").$strip> | undefined, import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
199
|
+
mode: import("zod").ZodLiteral<"none">;
|
|
200
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
201
|
+
mode: import("zod").ZodLiteral<"bearer">;
|
|
202
|
+
credentials: import("zod").ZodEnum<{
|
|
203
|
+
present: "present";
|
|
204
|
+
missing: "missing";
|
|
205
|
+
}>;
|
|
206
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
207
|
+
mode: import("zod").ZodLiteral<"client_credentials">;
|
|
208
|
+
credentials: import("zod").ZodEnum<{
|
|
209
|
+
present: "present";
|
|
210
|
+
missing: "missing";
|
|
211
|
+
}>;
|
|
212
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
213
|
+
mode: import("zod").ZodLiteral<"oauth">;
|
|
214
|
+
state: import("zod").ZodEnum<{
|
|
215
|
+
"consent-required": "consent-required";
|
|
216
|
+
"consent-pending": "consent-pending";
|
|
217
|
+
authorized: "authorized";
|
|
218
|
+
expired: "expired";
|
|
219
|
+
}>;
|
|
220
|
+
}, import("zod/v4/core").$strip>], "mode"> | undefined, "SERVER_NOT_FOUND", string>;
|
|
221
|
+
startOAuth: FragnoSvelteMutator<NonGetHTTPMethod, "/servers/:slug/auth/start", import("zod").ZodObject<{
|
|
222
|
+
scope: import("zod").ZodOptional<import("zod").ZodString>;
|
|
223
|
+
clientId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
224
|
+
clientSecret: import("zod").ZodOptional<import("zod").ZodString>;
|
|
225
|
+
discardTokens: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
226
|
+
}, import("zod/v4/core").$strip> | undefined, import("zod").ZodObject<{
|
|
227
|
+
authorizationUrl: import("zod").ZodString;
|
|
228
|
+
state: import("zod").ZodString;
|
|
229
|
+
}, import("zod/v4/core").$strip> | undefined, "SERVER_NOT_FOUND" | "INVALID_OAUTH_REDIRECT_URI" | "OAUTH_REDIRECT_URI_NOT_ALLOWED" | "OAUTH_ERROR", string>;
|
|
230
|
+
deleteAuth: FragnoSvelteMutator<NonGetHTTPMethod, "/servers/:slug/auth", import("@standard-schema/spec").StandardSchemaV1<unknown, unknown> | undefined, import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
231
|
+
mode: import("zod").ZodLiteral<"none">;
|
|
232
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
233
|
+
mode: import("zod").ZodLiteral<"bearer">;
|
|
234
|
+
credentials: import("zod").ZodEnum<{
|
|
235
|
+
present: "present";
|
|
236
|
+
missing: "missing";
|
|
237
|
+
}>;
|
|
238
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
239
|
+
mode: import("zod").ZodLiteral<"client_credentials">;
|
|
240
|
+
credentials: import("zod").ZodEnum<{
|
|
241
|
+
present: "present";
|
|
242
|
+
missing: "missing";
|
|
243
|
+
}>;
|
|
244
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
245
|
+
mode: import("zod").ZodLiteral<"oauth">;
|
|
246
|
+
state: import("zod").ZodEnum<{
|
|
247
|
+
"consent-required": "consent-required";
|
|
248
|
+
"consent-pending": "consent-pending";
|
|
249
|
+
authorized: "authorized";
|
|
250
|
+
expired: "expired";
|
|
251
|
+
}>;
|
|
252
|
+
}, import("zod/v4/core").$strip>], "mode"> | undefined, "SERVER_NOT_FOUND", string>;
|
|
253
|
+
};
|
|
254
|
+
//#endregion
|
|
255
|
+
export {};
|
|
256
|
+
//# sourceMappingURL=svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svelte.d.ts","names":["_$_fragno_dev_core_svelte0.FragnoSvelteHook","_$_fragno_dev_core_api0.NonGetHTTPMethod","_$_fragno_dev_core_svelte0.FragnoSvelteMutator"],"sources":["../../../../fragno/dist/client/client.svelte.d.ts","../../../src/client/svelte.ts"],"mappings":";;;;;KASK,iBAAiB,wBAAwB,sBAAsB,sBAAsB,kBAAkB,2BAA2B,oCAAoC;EACzK,OAAO,8BAA8B,gBAAgB,mBAAmB;EACxE,QAAQ,gBAAgB,2BAA2B,mBAAmB;;EAEtE,MAAM,SAAS,QAAQ;EACvB,SAAS;EACT,OAAO,SAAS,yBAAyB;;KAEtC,oBAAoB,iBAAiB,kBAAkB,sBAAsB,qBAAqB,8BAA8B,sBAAsB,8BAA8B,2BAA2B;EAClN,SAAS;IACP,OAAO,QAAQ;IACf,OAAO,8BAA8B,gBAAgB,mBAAmB;IACxE,QAAQ,gBAAgB,2BAA2B,mBAAmB;QAClE,QAAQ,QAAQ;EACtB,SAAS;EACT,OAAO,SAAS,yBAAyB;EACzC,MAAM,SAAS,QAAQ;;;;wBCpBT,wBAAwB,SAAQ;cAAAA"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { a as isStore, i as isMutatorHook, n as createMcpFragmentClients, o as atom, r as isGetHook } from "../src-B6dHZXqB.js";
|
|
2
|
+
import { onDestroy } from "svelte";
|
|
3
|
+
import { get, writable } from "svelte/store";
|
|
4
|
+
//#region ../fragno/dist/client/client.svelte.js
|
|
5
|
+
function isReadable(value) {
|
|
6
|
+
return typeof value === "object" && value !== null && "subscribe" in value;
|
|
7
|
+
}
|
|
8
|
+
function isCallable(value) {
|
|
9
|
+
return typeof value === "function";
|
|
10
|
+
}
|
|
11
|
+
function readableToAtom(value) {
|
|
12
|
+
const a = /* @__PURE__ */ atom(get(value));
|
|
13
|
+
value.subscribe((newVal) => {
|
|
14
|
+
a.set(newVal);
|
|
15
|
+
});
|
|
16
|
+
return a;
|
|
17
|
+
}
|
|
18
|
+
function runeToAtom(value) {
|
|
19
|
+
const a = /* @__PURE__ */ atom(value());
|
|
20
|
+
$effect(() => {
|
|
21
|
+
a.set(value());
|
|
22
|
+
});
|
|
23
|
+
return a;
|
|
24
|
+
}
|
|
25
|
+
function createSvelteHook(hook) {
|
|
26
|
+
return ({ path, query } = {}) => {
|
|
27
|
+
const pathParams = {};
|
|
28
|
+
const queryParams = {};
|
|
29
|
+
for (const [key, value] of Object.entries(path ?? {})) {
|
|
30
|
+
const v = value;
|
|
31
|
+
if (isCallable(v)) pathParams[key] = runeToAtom(v);
|
|
32
|
+
else pathParams[key] = isReadable(v) ? readableToAtom(v) : v;
|
|
33
|
+
}
|
|
34
|
+
for (const [key, value] of Object.entries(query ?? {})) {
|
|
35
|
+
const v = value;
|
|
36
|
+
if (isCallable(v)) queryParams[key] = runeToAtom(v);
|
|
37
|
+
else queryParams[key] = isReadable(v) ? readableToAtom(v) : v;
|
|
38
|
+
}
|
|
39
|
+
const store = hook.store({
|
|
40
|
+
path: pathParams,
|
|
41
|
+
query: queryParams
|
|
42
|
+
});
|
|
43
|
+
const data = writable(void 0);
|
|
44
|
+
const loading = writable(false);
|
|
45
|
+
const error = writable(void 0);
|
|
46
|
+
const unsubscribe = store.subscribe((updatedStoreValue) => {
|
|
47
|
+
data.set(updatedStoreValue.data);
|
|
48
|
+
loading.set(updatedStoreValue.loading);
|
|
49
|
+
error.set(updatedStoreValue.error);
|
|
50
|
+
});
|
|
51
|
+
onDestroy(() => {
|
|
52
|
+
unsubscribe();
|
|
53
|
+
});
|
|
54
|
+
return {
|
|
55
|
+
data,
|
|
56
|
+
loading,
|
|
57
|
+
error
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function createSvelteMutator(hook) {
|
|
62
|
+
return () => {
|
|
63
|
+
const data = writable(void 0);
|
|
64
|
+
const loading = writable(void 0);
|
|
65
|
+
const error = writable(void 0);
|
|
66
|
+
const unsubscribe = hook.mutatorStore.subscribe((storeValue) => {
|
|
67
|
+
data.set(storeValue.data);
|
|
68
|
+
loading.set(storeValue.loading);
|
|
69
|
+
error.set(storeValue.error);
|
|
70
|
+
});
|
|
71
|
+
onDestroy(() => {
|
|
72
|
+
unsubscribe();
|
|
73
|
+
});
|
|
74
|
+
const mutate = async (args) => {
|
|
75
|
+
const { body, path, query } = args;
|
|
76
|
+
const pathParams = {};
|
|
77
|
+
const queryParams = {};
|
|
78
|
+
for (const [key, value] of Object.entries(path ?? {})) {
|
|
79
|
+
const v = value;
|
|
80
|
+
pathParams[key] = isReadable(v) ? readableToAtom(v) : v;
|
|
81
|
+
}
|
|
82
|
+
for (const [key, value] of Object.entries(query ?? {})) {
|
|
83
|
+
const v = value;
|
|
84
|
+
queryParams[key] = isReadable(v) ? readableToAtom(v) : v;
|
|
85
|
+
}
|
|
86
|
+
return hook.mutatorStore.mutate({
|
|
87
|
+
body,
|
|
88
|
+
path: pathParams,
|
|
89
|
+
query: queryParams
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
return {
|
|
93
|
+
mutate,
|
|
94
|
+
loading,
|
|
95
|
+
error,
|
|
96
|
+
data
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
function createSvelteStore(hook) {
|
|
101
|
+
if ("obj" in hook) return hook.obj;
|
|
102
|
+
return (...args) => {
|
|
103
|
+
const value = hook.factory(...args);
|
|
104
|
+
const disposer = value[Symbol.dispose];
|
|
105
|
+
if (typeof disposer === "function") onDestroy(() => {
|
|
106
|
+
disposer.call(value);
|
|
107
|
+
});
|
|
108
|
+
return value;
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function useFragno(clientObj) {
|
|
112
|
+
const result = {};
|
|
113
|
+
for (const key in clientObj) {
|
|
114
|
+
if (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;
|
|
115
|
+
const hook = clientObj[key];
|
|
116
|
+
if (isGetHook(hook)) result[key] = createSvelteHook(hook);
|
|
117
|
+
else if (isMutatorHook(hook)) result[key] = createSvelteMutator(hook);
|
|
118
|
+
else if (isStore(hook)) result[key] = createSvelteStore(hook);
|
|
119
|
+
else result[key] = hook;
|
|
120
|
+
}
|
|
121
|
+
return result;
|
|
122
|
+
}
|
|
123
|
+
//#endregion
|
|
124
|
+
//#region src/client/svelte.ts
|
|
125
|
+
function createMcpFragmentClient(config = {}) {
|
|
126
|
+
return useFragno(createMcpFragmentClients(config));
|
|
127
|
+
}
|
|
128
|
+
//#endregion
|
|
129
|
+
export { createMcpFragmentClient };
|
|
130
|
+
|
|
131
|
+
//# sourceMappingURL=svelte.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svelte.js","names":["isGetHook","isMutatorHook","isStore","atom","onDestroy","get","writable","isReadable","value","isCallable","readableToAtom","a","subscribe","newVal","set","runeToAtom","$effect","createSvelteHook","hook","path","query","pathParams","queryParams","key","Object","entries","v","store","data","loading","error","unsubscribe","updatedStoreValue","createSvelteMutator","mutatorStore","storeValue","mutate","args","body","createSvelteStore","obj","factory","disposer","Symbol","dispose","call","useFragno","clientObj","result","prototype","hasOwnProperty","FragnoPublicClientConfig","useFragno","createMcpFragmentClients","createMcpFragmentClient","config"],"sources":["../../../../fragno/dist/client/client.svelte.js","../../../src/client/svelte.ts"],"sourcesContent":["import { isGetHook, isMutatorHook, isStore } from \"./client.js\";\nimport { atom } from \"nanostores\";\nimport { onDestroy } from \"svelte\";\nimport { get, writable } from \"svelte/store\";\n//#region src/client/client.svelte.ts\nfunction isReadable(value) {\n\treturn typeof value === \"object\" && value !== null && \"subscribe\" in value;\n}\nfunction isCallable(value) {\n\treturn typeof value === \"function\";\n}\nfunction readableToAtom(value) {\n\tconst a = atom(get(value));\n\tvalue.subscribe((newVal) => {\n\t\ta.set(newVal);\n\t});\n\treturn a;\n}\nfunction runeToAtom(value) {\n\tconst a = atom(value());\n\t$effect(() => {\n\t\ta.set(value());\n\t});\n\treturn a;\n}\nfunction createSvelteHook(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst pathParams = {};\n\t\tconst queryParams = {};\n\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\tconst v = value;\n\t\t\tif (isCallable(v)) pathParams[key] = runeToAtom(v);\n\t\t\telse pathParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t}\n\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\tconst v = value;\n\t\t\tif (isCallable(v)) queryParams[key] = runeToAtom(v);\n\t\t\telse queryParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t}\n\t\tconst store = hook.store({\n\t\t\tpath: pathParams,\n\t\t\tquery: queryParams\n\t\t});\n\t\tconst data = writable(void 0);\n\t\tconst loading = writable(false);\n\t\tconst error = writable(void 0);\n\t\tconst unsubscribe = store.subscribe((updatedStoreValue) => {\n\t\t\tdata.set(updatedStoreValue.data);\n\t\t\tloading.set(updatedStoreValue.loading);\n\t\t\terror.set(updatedStoreValue.error);\n\t\t});\n\t\tonDestroy(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\treturn {\n\t\t\tdata,\n\t\t\tloading,\n\t\t\terror\n\t\t};\n\t};\n}\nfunction createSvelteMutator(hook) {\n\treturn () => {\n\t\tconst data = writable(void 0);\n\t\tconst loading = writable(void 0);\n\t\tconst error = writable(void 0);\n\t\tconst unsubscribe = hook.mutatorStore.subscribe((storeValue) => {\n\t\t\tdata.set(storeValue.data);\n\t\t\tloading.set(storeValue.loading);\n\t\t\terror.set(storeValue.error);\n\t\t});\n\t\tonDestroy(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\tconst mutate = async (args) => {\n\t\t\tconst { body, path, query } = args;\n\t\t\tconst pathParams = {};\n\t\t\tconst queryParams = {};\n\t\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tpathParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t\t}\n\t\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tqueryParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t\t}\n\t\t\treturn hook.mutatorStore.mutate({\n\t\t\t\tbody,\n\t\t\t\tpath: pathParams,\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t};\n\t\treturn {\n\t\t\tmutate,\n\t\t\tloading,\n\t\t\terror,\n\t\t\tdata\n\t\t};\n\t};\n}\nfunction createSvelteStore(hook) {\n\tif (\"obj\" in hook) return hook.obj;\n\treturn ((...args) => {\n\t\tconst value = hook.factory(...args);\n\t\tconst disposer = value[Symbol.dispose];\n\t\tif (typeof disposer === \"function\") onDestroy(() => {\n\t\t\tdisposer.call(value);\n\t\t});\n\t\treturn value;\n\t});\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createSvelteHook(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createSvelteMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createSvelteStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\n//#endregion\nexport { createSvelteStore, readableToAtom, runeToAtom, useFragno };\n\n//# sourceMappingURL=client.svelte.js.map","import type { FragnoPublicClientConfig } from \"@fragno-dev/core/client\";\nimport { useFragno } from \"@fragno-dev/core/svelte\";\n\nimport { createMcpFragmentClients } from \"..\";\n\nexport function createMcpFragmentClient(config: FragnoPublicClientConfig = {}) {\n return useFragno(createMcpFragmentClients(config));\n}\n"],"mappings":"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"}
|