effect 4.0.0-beta.27 → 4.0.0-beta.29

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 (208) hide show
  1. package/dist/Brand.d.ts +1 -1
  2. package/dist/Brand.d.ts.map +1 -1
  3. package/dist/Brand.js +1 -1
  4. package/dist/Brand.js.map +1 -1
  5. package/dist/ConfigProvider.d.ts +1 -1
  6. package/dist/Cron.d.ts +1 -1
  7. package/dist/Data.d.ts +1 -1
  8. package/dist/Data.d.ts.map +1 -1
  9. package/dist/Data.js.map +1 -1
  10. package/dist/Effect.d.ts +300 -184
  11. package/dist/Effect.d.ts.map +1 -1
  12. package/dist/Effect.js +99 -61
  13. package/dist/Effect.js.map +1 -1
  14. package/dist/Encoding.d.ts +1 -1
  15. package/dist/Exit.d.ts +24 -12
  16. package/dist/Exit.d.ts.map +1 -1
  17. package/dist/Exit.js +8 -4
  18. package/dist/Exit.js.map +1 -1
  19. package/dist/Fiber.d.ts +1 -0
  20. package/dist/Fiber.d.ts.map +1 -1
  21. package/dist/Fiber.js.map +1 -1
  22. package/dist/Function.d.ts +1 -9
  23. package/dist/Function.d.ts.map +1 -1
  24. package/dist/Function.js +2 -10
  25. package/dist/Function.js.map +1 -1
  26. package/dist/Graph.d.ts +1 -1
  27. package/dist/Newtype.d.ts +291 -0
  28. package/dist/Newtype.d.ts.map +1 -0
  29. package/dist/Newtype.js +161 -0
  30. package/dist/Newtype.js.map +1 -0
  31. package/dist/PlatformError.d.ts +2 -2
  32. package/dist/References.d.ts +6 -1
  33. package/dist/References.d.ts.map +1 -1
  34. package/dist/References.js +6 -1
  35. package/dist/References.js.map +1 -1
  36. package/dist/RequestResolver.d.ts +19 -19
  37. package/dist/RequestResolver.js +10 -10
  38. package/dist/RequestResolver.js.map +1 -1
  39. package/dist/Schedule.d.ts +142 -80
  40. package/dist/Schedule.d.ts.map +1 -1
  41. package/dist/Schedule.js +58 -32
  42. package/dist/Schedule.js.map +1 -1
  43. package/dist/Scheduler.d.ts +9 -0
  44. package/dist/Scheduler.d.ts.map +1 -1
  45. package/dist/Scheduler.js +11 -0
  46. package/dist/Scheduler.js.map +1 -1
  47. package/dist/Schema.d.ts +1 -1
  48. package/dist/Schema.d.ts.map +1 -1
  49. package/dist/Schema.js +3 -1
  50. package/dist/Schema.js.map +1 -1
  51. package/dist/SchemaAST.d.ts.map +1 -1
  52. package/dist/SchemaAST.js +1 -1
  53. package/dist/SchemaAST.js.map +1 -1
  54. package/dist/Stdio.d.ts +6 -2
  55. package/dist/Stdio.d.ts.map +1 -1
  56. package/dist/Stdio.js +2 -2
  57. package/dist/Stdio.js.map +1 -1
  58. package/dist/Stream.d.ts +8 -4
  59. package/dist/Stream.d.ts.map +1 -1
  60. package/dist/Stream.js +8 -4
  61. package/dist/Stream.js.map +1 -1
  62. package/dist/Types.d.ts +1 -22
  63. package/dist/Types.d.ts.map +1 -1
  64. package/dist/index.d.ts +71 -3
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +71 -3
  67. package/dist/index.js.map +1 -1
  68. package/dist/internal/effect.js +3 -1
  69. package/dist/internal/effect.js.map +1 -1
  70. package/dist/unstable/ai/LanguageModel.d.ts +12 -28
  71. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  72. package/dist/unstable/ai/LanguageModel.js +4 -18
  73. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  74. package/dist/unstable/ai/McpSchema.d.ts +20 -1
  75. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  76. package/dist/unstable/ai/McpSchema.js +8 -0
  77. package/dist/unstable/ai/McpSchema.js.map +1 -1
  78. package/dist/unstable/ai/McpServer.d.ts +65 -12
  79. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  80. package/dist/unstable/ai/McpServer.js +159 -45
  81. package/dist/unstable/ai/McpServer.js.map +1 -1
  82. package/dist/unstable/ai/Toolkit.d.ts +1 -1
  83. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  84. package/dist/unstable/ai/Toolkit.js +4 -11
  85. package/dist/unstable/ai/Toolkit.js.map +1 -1
  86. package/dist/unstable/ai/internal/codec-transformer.js +0 -5
  87. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  88. package/dist/unstable/cli/Prompt.js +35 -8
  89. package/dist/unstable/cli/Prompt.js.map +1 -1
  90. package/dist/unstable/cluster/Message.d.ts +5 -5
  91. package/dist/unstable/cluster/Reply.d.ts +3 -3
  92. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  93. package/dist/unstable/encoding/Ndjson.d.ts +1 -1
  94. package/dist/unstable/encoding/Sse.d.ts +1 -1
  95. package/dist/unstable/eventlog/EventJournal.d.ts +1 -1
  96. package/dist/unstable/eventlog/EventLogRemote.d.ts +1 -1
  97. package/dist/unstable/http/Cookies.d.ts +45 -1
  98. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  99. package/dist/unstable/http/Cookies.js +22 -0
  100. package/dist/unstable/http/Cookies.js.map +1 -1
  101. package/dist/unstable/http/HttpBody.d.ts +1 -1
  102. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  103. package/dist/unstable/http/HttpClient.js +3 -7
  104. package/dist/unstable/http/HttpClient.js.map +1 -1
  105. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  106. package/dist/unstable/http/HttpClientRequest.d.ts +5 -0
  107. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  108. package/dist/unstable/http/HttpClientRequest.js +21 -17
  109. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  110. package/dist/unstable/http/HttpEffect.d.ts +7 -0
  111. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  112. package/dist/unstable/http/HttpEffect.js +6 -0
  113. package/dist/unstable/http/HttpEffect.js.map +1 -1
  114. package/dist/unstable/http/HttpServerError.d.ts +6 -6
  115. package/dist/unstable/http/HttpServerRequest.d.ts +11 -0
  116. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  117. package/dist/unstable/http/HttpServerRequest.js +291 -1
  118. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  119. package/dist/unstable/http/HttpServerResponse.d.ts +47 -1
  120. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  121. package/dist/unstable/http/HttpServerResponse.js +227 -0
  122. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  123. package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
  124. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
  125. package/dist/unstable/http/HttpStaticServer.js +353 -0
  126. package/dist/unstable/http/HttpStaticServer.js.map +1 -0
  127. package/dist/unstable/http/Multipart.d.ts +1 -1
  128. package/dist/unstable/http/UrlParams.d.ts +1 -1
  129. package/dist/unstable/http/index.d.ts +4 -0
  130. package/dist/unstable/http/index.d.ts.map +1 -1
  131. package/dist/unstable/http/index.js +4 -0
  132. package/dist/unstable/http/index.js.map +1 -1
  133. package/dist/unstable/httpapi/HttpApiGroup.d.ts +1 -0
  134. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  135. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  136. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  137. package/dist/unstable/reactivity/Atom.d.ts +7 -2
  138. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  139. package/dist/unstable/reactivity/Atom.js +33 -15
  140. package/dist/unstable/reactivity/Atom.js.map +1 -1
  141. package/dist/unstable/reactivity/AtomHttpApi.d.ts +4 -6
  142. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  143. package/dist/unstable/reactivity/AtomHttpApi.js +39 -9
  144. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  145. package/dist/unstable/reactivity/AtomRegistry.js +26 -2
  146. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  147. package/dist/unstable/reactivity/AtomRpc.d.ts +8 -8
  148. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  149. package/dist/unstable/reactivity/AtomRpc.js +46 -20
  150. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  151. package/dist/unstable/rpc/Rpc.d.ts +1 -1
  152. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  153. package/dist/unstable/rpc/Rpc.js.map +1 -1
  154. package/dist/unstable/rpc/RpcMiddleware.d.ts +5 -5
  155. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  156. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  157. package/dist/unstable/rpc/RpcServer.js +2 -2
  158. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  159. package/dist/unstable/rpc/Utils.js +1 -1
  160. package/dist/unstable/rpc/Utils.js.map +1 -1
  161. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  162. package/dist/unstable/sql/Migrator.d.ts +1 -1
  163. package/dist/unstable/sql/SqlResolver.js +2 -2
  164. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  165. package/dist/unstable/workflow/Workflow.d.ts +1 -1
  166. package/package.json +1 -1
  167. package/src/Brand.ts +1 -1
  168. package/src/Data.ts +1 -2
  169. package/src/Effect.ts +300 -184
  170. package/src/Exit.ts +24 -12
  171. package/src/Fiber.ts +1 -0
  172. package/src/Function.ts +2 -10
  173. package/src/Newtype.ts +308 -0
  174. package/src/References.ts +6 -1
  175. package/src/RequestResolver.ts +20 -20
  176. package/src/Schedule.ts +142 -80
  177. package/src/Scheduler.ts +12 -0
  178. package/src/Schema.ts +4 -2
  179. package/src/SchemaAST.ts +1 -4
  180. package/src/Stdio.ts +8 -4
  181. package/src/Stream.ts +8 -4
  182. package/src/Types.ts +1 -23
  183. package/src/index.ts +72 -3
  184. package/src/internal/effect.ts +3 -0
  185. package/src/unstable/ai/LanguageModel.ts +16 -37
  186. package/src/unstable/ai/McpSchema.ts +14 -0
  187. package/src/unstable/ai/McpServer.ts +224 -53
  188. package/src/unstable/ai/Toolkit.ts +5 -14
  189. package/src/unstable/ai/internal/codec-transformer.ts +0 -7
  190. package/src/unstable/cli/Prompt.ts +31 -9
  191. package/src/unstable/http/Cookies.ts +84 -0
  192. package/src/unstable/http/HttpClient.ts +5 -6
  193. package/src/unstable/http/HttpClientRequest.ts +21 -17
  194. package/src/unstable/http/HttpEffect.ts +8 -0
  195. package/src/unstable/http/HttpServerRequest.ts +388 -1
  196. package/src/unstable/http/HttpServerResponse.ts +328 -1
  197. package/src/unstable/http/HttpStaticServer.ts +456 -0
  198. package/src/unstable/http/index.ts +5 -0
  199. package/src/unstable/httpapi/HttpApiGroup.ts +1 -0
  200. package/src/unstable/reactivity/Atom.ts +62 -35
  201. package/src/unstable/reactivity/AtomHttpApi.ts +45 -11
  202. package/src/unstable/reactivity/AtomRegistry.ts +30 -2
  203. package/src/unstable/reactivity/AtomRpc.ts +48 -17
  204. package/src/unstable/rpc/Rpc.ts +1 -3
  205. package/src/unstable/rpc/RpcMiddleware.ts +12 -6
  206. package/src/unstable/rpc/RpcServer.ts +2 -2
  207. package/src/unstable/rpc/Utils.ts +1 -1
  208. package/src/unstable/sql/SqlResolver.ts +2 -2
@@ -4,38 +4,57 @@ import * as Queue from "../../Queue.ts";
4
4
  import * as Schema from "../../Schema.ts";
5
5
  import * as ServiceMap from "../../ServiceMap.ts";
6
6
  import type { Stdio } from "../../Stdio.ts";
7
- import type * as HttpRouter from "../http/HttpRouter.ts";
7
+ import * as HttpRouter from "../http/HttpRouter.ts";
8
8
  import * as RpcClient from "../rpc/RpcClient.ts";
9
9
  import type * as RpcGroup from "../rpc/RpcGroup.ts";
10
10
  import * as RpcMessage from "../rpc/RpcMessage.ts";
11
11
  import * as RpcServer from "../rpc/RpcServer.ts";
12
12
  import { CallToolResult, CompleteResult, ElicitationDeclined, GetPromptResult, InternalError, InvalidParams, McpServerClient, Prompt, Resource, ResourceTemplate, ServerNotificationRpcs, Tool as McpTool } from "./McpSchema.ts";
13
- import type { CallTool, Complete, GetPrompt, Param, PromptMessage, ReadResourceResult } from "./McpSchema.ts";
13
+ import type { CallTool, ClientCapabilities, Complete, GetPrompt, Param, PromptMessage, ReadResourceResult } from "./McpSchema.ts";
14
14
  import * as Tool from "./Tool.ts";
15
15
  import type * as Toolkit from "./Toolkit.ts";
16
16
  declare const McpServer_base: ServiceMap.ServiceClass<McpServer, "effect/ai/McpServer", {
17
17
  readonly notifications: RpcClient.RpcClient<RpcGroup.Rpcs<typeof ServerNotificationRpcs>>;
18
18
  readonly notificationsQueue: Queue.Dequeue<RpcMessage.Request<any>>;
19
19
  readonly initializedClients: Set<number>;
20
- readonly tools: ReadonlyArray<McpTool>;
20
+ readonly tools: ReadonlyArray<{
21
+ readonly tool: McpTool;
22
+ readonly annotations: ServiceMap.ServiceMap<never>;
23
+ }>;
21
24
  readonly addTool: (options: {
22
25
  readonly tool: McpTool;
26
+ readonly annotations: ServiceMap.ServiceMap<never>;
23
27
  readonly handle: (payload: any) => Effect.Effect<CallToolResult, never, McpServerClient>;
24
28
  }) => Effect.Effect<void>;
25
29
  readonly callTool: (requests: typeof CallTool.payloadSchema.Type) => Effect.Effect<CallToolResult, InternalError | InvalidParams, McpServerClient>;
26
- readonly resources: ReadonlyArray<Resource>;
27
- readonly addResource: (resource: Resource, handle: Effect.Effect<typeof ReadResourceResult.Type, InternalError, McpServerClient>) => Effect.Effect<void>;
28
- readonly resourceTemplates: ReadonlyArray<ResourceTemplate>;
30
+ readonly resources: ReadonlyArray<{
31
+ readonly resource: Resource;
32
+ readonly annotations: ServiceMap.ServiceMap<never>;
33
+ }>;
34
+ readonly addResource: (options: {
35
+ readonly resource: Resource;
36
+ readonly annotations: ServiceMap.ServiceMap<never>;
37
+ readonly handle: Effect.Effect<typeof ReadResourceResult.Type, InternalError, McpServerClient>;
38
+ }) => Effect.Effect<void>;
39
+ readonly resourceTemplates: ReadonlyArray<{
40
+ readonly template: ResourceTemplate;
41
+ readonly annotations: ServiceMap.ServiceMap<never>;
42
+ }>;
29
43
  readonly addResourceTemplate: (options: {
30
44
  readonly template: ResourceTemplate;
45
+ readonly annotations: ServiceMap.ServiceMap<never>;
31
46
  readonly routerPath: string;
32
47
  readonly completions: Record<string, (input: string) => Effect.Effect<CompleteResult, InternalError>>;
33
48
  readonly handle: (uri: string, params: Array<string>) => Effect.Effect<typeof ReadResourceResult.Type, InvalidParams | InternalError, McpServerClient>;
34
49
  }) => Effect.Effect<void>;
35
50
  readonly findResource: (uri: string) => Effect.Effect<typeof ReadResourceResult.Type, InvalidParams | InternalError, McpServerClient>;
36
- readonly prompts: ReadonlyArray<Prompt>;
51
+ readonly prompts: ReadonlyArray<{
52
+ readonly prompt: Prompt;
53
+ readonly annotations: ServiceMap.ServiceMap<never>;
54
+ }>;
37
55
  readonly addPrompt: (options: {
38
56
  readonly prompt: Prompt;
57
+ readonly annotations: ServiceMap.ServiceMap<never>;
39
58
  readonly completions: Record<string, (input: string) => Effect.Effect<CompleteResult, InternalError, McpServerClient>>;
40
59
  readonly handle: (params: Record<string, string>) => Effect.Effect<GetPromptResult, InternalError | InvalidParams, McpServerClient>;
41
60
  }) => Effect.Effect<void>;
@@ -54,25 +73,44 @@ export declare class McpServer extends McpServer_base {
54
73
  readonly notifications: RpcClient.RpcClient<RpcGroup.Rpcs<typeof ServerNotificationRpcs>>;
55
74
  readonly notificationsQueue: Queue.Dequeue<RpcMessage.Request<any>>;
56
75
  readonly initializedClients: Set<number>;
57
- readonly tools: ReadonlyArray<McpTool>;
76
+ readonly tools: ReadonlyArray<{
77
+ readonly tool: McpTool;
78
+ readonly annotations: ServiceMap.ServiceMap<never>;
79
+ }>;
58
80
  readonly addTool: (options: {
59
81
  readonly tool: McpTool;
82
+ readonly annotations: ServiceMap.ServiceMap<never>;
60
83
  readonly handle: (payload: any) => Effect.Effect<CallToolResult, never, McpServerClient>;
61
84
  }) => Effect.Effect<void>;
62
85
  readonly callTool: (requests: typeof CallTool.payloadSchema.Type) => Effect.Effect<CallToolResult, InternalError | InvalidParams, McpServerClient>;
63
- readonly resources: ReadonlyArray<Resource>;
64
- readonly addResource: (resource: Resource, handle: Effect.Effect<typeof ReadResourceResult.Type, InternalError, McpServerClient>) => Effect.Effect<void>;
65
- readonly resourceTemplates: ReadonlyArray<ResourceTemplate>;
86
+ readonly resources: ReadonlyArray<{
87
+ readonly resource: Resource;
88
+ readonly annotations: ServiceMap.ServiceMap<never>;
89
+ }>;
90
+ readonly addResource: (options: {
91
+ readonly resource: Resource;
92
+ readonly annotations: ServiceMap.ServiceMap<never>;
93
+ readonly handle: Effect.Effect<typeof ReadResourceResult.Type, InternalError, McpServerClient>;
94
+ }) => Effect.Effect<void>;
95
+ readonly resourceTemplates: ReadonlyArray<{
96
+ readonly template: ResourceTemplate;
97
+ readonly annotations: ServiceMap.ServiceMap<never>;
98
+ }>;
66
99
  readonly addResourceTemplate: (options: {
67
100
  readonly template: ResourceTemplate;
101
+ readonly annotations: ServiceMap.ServiceMap<never>;
68
102
  readonly routerPath: string;
69
103
  readonly completions: Record<string, (input: string) => Effect.Effect<CompleteResult, InternalError>>;
70
104
  readonly handle: (uri: string, params: Array<string>) => Effect.Effect<typeof ReadResourceResult.Type, InvalidParams | InternalError, McpServerClient>;
71
105
  }) => Effect.Effect<void>;
72
106
  readonly findResource: (uri: string) => Effect.Effect<typeof ReadResourceResult.Type, InvalidParams | InternalError, McpServerClient>;
73
- readonly prompts: ReadonlyArray<Prompt>;
107
+ readonly prompts: ReadonlyArray<{
108
+ readonly prompt: Prompt;
109
+ readonly annotations: ServiceMap.ServiceMap<never>;
110
+ }>;
74
111
  readonly addPrompt: (options: {
75
112
  readonly prompt: Prompt;
113
+ readonly annotations: ServiceMap.ServiceMap<never>;
76
114
  readonly completions: Record<string, (input: string) => Effect.Effect<CompleteResult, InternalError, McpServerClient>>;
77
115
  readonly handle: (params: Record<string, string>) => Effect.Effect<GetPromptResult, InternalError | InvalidParams, McpServerClient>;
78
116
  }) => Effect.Effect<void>;
@@ -91,6 +129,7 @@ export declare class McpServer extends McpServer_base {
91
129
  export declare const run: (options: {
92
130
  readonly name: string;
93
131
  readonly version: string;
132
+ readonly extensions?: Record<`${string}/${string}`, unknown> | undefined;
94
133
  }) => Effect.Effect<never, never, McpServer | RpcServer.Protocol>;
95
134
  /**
96
135
  * @since 4.0.0
@@ -99,6 +138,7 @@ export declare const run: (options: {
99
138
  export declare const layer: (options: {
100
139
  readonly name: string;
101
140
  readonly version: string;
141
+ readonly extensions?: Record<`${string}/${string}`, unknown> | undefined;
102
142
  }) => Layer.Layer<McpServer | McpServerClient, never, RpcServer.Protocol>;
103
143
  /**
104
144
  * Run the McpServer, using stdio for input and output.
@@ -160,6 +200,7 @@ export declare const layer: (options: {
160
200
  export declare const layerStdio: (options: {
161
201
  readonly name: string;
162
202
  readonly version: string;
203
+ readonly extensions?: Record<`${string}/${string}`, unknown> | undefined;
163
204
  }) => Layer.Layer<McpServer | McpServerClient, never, Stdio>;
164
205
  /**
165
206
  * Run the `McpServer`, registering a router with a `HttpRouter`
@@ -171,6 +212,7 @@ export declare const layerHttp: (options: {
171
212
  readonly name: string;
172
213
  readonly version: string;
173
214
  readonly path: HttpRouter.PathInput;
215
+ readonly extensions?: Record<`${string}/${string}`, unknown> | undefined;
174
216
  }) => Layer.Layer<McpServer | McpServerClient, never, HttpRouter.HttpRouter>;
175
217
  /**
176
218
  * Register a `Toolkit` with the `McpServer`.
@@ -219,6 +261,7 @@ export declare const registerResource: {
219
261
  readonly audience?: ReadonlyArray<"user" | "assistant"> | undefined;
220
262
  readonly priority?: number | undefined;
221
263
  readonly content: Effect.Effect<typeof ReadResourceResult.Type | string | Uint8Array, E, R>;
264
+ readonly annotations?: ServiceMap.ServiceMap<never> | undefined;
222
265
  }): Effect.Effect<void, never, Exclude<R, McpServerClient> | McpServer>;
223
266
  /**
224
267
  * Register a resource with the McpServer.
@@ -236,6 +279,7 @@ export declare const registerResource: {
236
279
  readonly content: (uri: string, ...params: {
237
280
  readonly [K in keyof Schemas]: Schemas[K]["Type"];
238
281
  }) => Effect.Effect<typeof ReadResourceResult.Type | string | Uint8Array, E, R>;
282
+ readonly annotations?: ServiceMap.ServiceMap<never> | undefined;
239
283
  }) => Effect.Effect<void, never, Exclude<Schemas[number]["DecodingServices"] | Schemas[number]["EncodingServices"] | R | (Completions[keyof Completions] extends (input: string) => infer Ret ? Ret extends Effect.Effect<infer _A, infer _E, infer _R> ? _R : never : never), McpServerClient> | McpServer>;
240
284
  };
241
285
  /**
@@ -290,6 +334,7 @@ export declare const registerPrompt: <E, R, Params extends Schema.Struct.Fields
290
334
  readonly parameters?: Params | undefined;
291
335
  readonly completion?: ValidateCompletions<Completions, Extract<keyof Params, string>> | undefined;
292
336
  readonly content: (params: Params) => Effect.Effect<Array<typeof PromptMessage.Type> | string, E, R>;
337
+ readonly annotations?: ServiceMap.ServiceMap<never> | undefined;
293
338
  }) => Effect.Effect<void, never, Exclude<Schema.Struct.DecodingServices<Params> | R, McpServerClient> | McpServer>;
294
339
  /**
295
340
  * Register a prompt with the McpServer.
@@ -303,6 +348,7 @@ export declare const prompt: <E, R, Params extends Schema.Struct.Fields = {}, co
303
348
  readonly parameters?: Params | undefined;
304
349
  readonly completion?: ValidateCompletions<Completions, Extract<keyof Params, string>> | undefined;
305
350
  readonly content: (params: Schema.Struct.Type<Params>) => Effect.Effect<Array<typeof PromptMessage.Type> | string, E, R>;
351
+ readonly annotations?: ServiceMap.ServiceMap<never> | undefined;
306
352
  }) => Layer.Layer<never, never, Exclude<Schema.Struct.DecodingServices<Params> | R, McpServerClient>>;
307
353
  /**
308
354
  * Create an elicitation request
@@ -314,5 +360,12 @@ export declare const elicit: <S extends Schema.Encoder<Record<string, unknown>,
314
360
  readonly message: string;
315
361
  readonly schema: S;
316
362
  }) => Effect.Effect<S["Type"], ElicitationDeclined, McpServerClient | S["DecodingServices"]>;
363
+ /**
364
+ * Access the current client's capabilities.
365
+ *
366
+ * @since 4.0.0
367
+ * @category capabilities
368
+ */
369
+ export declare const clientCapabilities: Effect.Effect<ClientCapabilities, never, McpServerClient>;
317
370
  export {};
318
371
  //# sourceMappingURL=McpServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"McpServer.d.ts","sourceRoot":"","sources":["../../../src/unstable/ai/McpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpServer.d.ts","sourceRoot":"","sources":["../../../src/unstable/ai/McpServer.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import * as Arr from "../../Array.js";
5
5
  import * as Cause from "../../Cause.js";
6
6
  import * as Effect from "../../Effect.js";
7
7
  import * as Exit from "../../Exit.js";
8
+ import * as Fiber from "../../Fiber.js";
8
9
  import * as Layer from "../../Layer.js";
9
10
  import * as Option from "../../Option.js";
10
11
  import * as Queue from "../../Queue.js";
@@ -17,11 +18,15 @@ import * as Sink from "../../Sink.js";
17
18
  import * as Stream from "../../Stream.js";
18
19
  import * as FindMyWay from "../http/FindMyWay.js";
19
20
  import * as Headers from "../http/Headers.js";
21
+ import { appendPreResponseHandlerUnsafe } from "../http/HttpEffect.js";
22
+ import * as HttpRouter from "../http/HttpRouter.js";
23
+ import * as HttpServerRequest from "../http/HttpServerRequest.js";
24
+ import * as HttpServerResponse from "../http/HttpServerResponse.js";
20
25
  import * as RpcClient from "../rpc/RpcClient.js";
21
26
  import * as RpcMessage from "../rpc/RpcMessage.js";
22
27
  import * as RpcSerialization from "../rpc/RpcSerialization.js";
23
28
  import * as RpcServer from "../rpc/RpcServer.js";
24
- import { CallToolResult, ClientNotificationRpcs, ClientRpcs, CompleteResult, Elicit, ElicitationDeclined, GetPromptResult, InternalError, InvalidParams, isParam, ListPromptsResult, ListResourcesResult, ListResourceTemplatesResult, ListToolsResult, McpServerClient, McpServerClientMiddleware, Prompt, Resource, ResourceTemplate, ServerNotificationRpcs, ServerRequestRpcs, TextContent, Tool as McpTool } from "./McpSchema.js";
29
+ import { CallToolResult, ClientNotificationRpcs, ClientRpcs, CompleteResult, Elicit, ElicitationDeclined, EnabledWhen, GetPromptResult, InternalError, InvalidParams, isParam, ListPromptsResult, ListResourcesResult, ListResourceTemplatesResult, ListToolsResult, McpServerClient, McpServerClientMiddleware, Prompt, Resource, ResourceTemplate, ServerNotificationRpcs, ServerRequestRpcs, TextContent, Tool as McpTool } from "./McpSchema.js";
25
30
  import * as Tool from "./Tool.js";
26
31
  /**
27
32
  * @since 4.0.0
@@ -75,7 +80,7 @@ export class McpServer extends /*#__PURE__*/ServiceMap.Service()("effect/ai/McpS
75
80
  return tools;
76
81
  },
77
82
  addTool: options => Effect.suspend(() => {
78
- tools.push(options.tool);
83
+ tools.push(options);
79
84
  toolMap.set(options.tool.name, options.handle);
80
85
  return notifications.client["notifications/tools/list_changed"]({});
81
86
  }),
@@ -94,21 +99,25 @@ export class McpServer extends /*#__PURE__*/ServiceMap.Service()("effect/ai/McpS
94
99
  get resourceTemplates() {
95
100
  return resourceTemplates;
96
101
  },
97
- addResource: (resource, effect) => Effect.suspend(() => {
98
- resources.push(resource);
99
- matcher.add(resource.uri, {
102
+ addResource: options => Effect.suspend(() => {
103
+ resources.push(options);
104
+ matcher.add(options.resource.uri, {
100
105
  _tag: "Resource",
101
- effect
106
+ effect: options.handle
102
107
  });
103
108
  return notifications.client["notifications/resources/list_changed"]({});
104
109
  }),
105
110
  addResourceTemplate: ({
111
+ annotations,
106
112
  completions,
107
113
  handle,
108
114
  routerPath,
109
115
  template
110
116
  }) => Effect.suspend(() => {
111
- resourceTemplates.push(template);
117
+ resourceTemplates.push({
118
+ template,
119
+ annotations
120
+ });
112
121
  matcher.add(routerPath, {
113
122
  _tag: "ResourceTemplate",
114
123
  handle
@@ -137,7 +146,7 @@ export class McpServer extends /*#__PURE__*/ServiceMap.Service()("effect/ai/McpS
137
146
  return prompts;
138
147
  },
139
148
  addPrompt: options => Effect.suspend(() => {
140
- prompts.push(options.prompt);
149
+ prompts.push(options);
141
150
  promptMap.set(options.prompt.name, options.handle);
142
151
  for (const [param, handle] of Object.entries(options.completions)) {
143
152
  completionsMap.set(`ref/prompt/${options.prompt.name}/${param}`, handle);
@@ -171,14 +180,20 @@ export class McpServer extends /*#__PURE__*/ServiceMap.Service()("effect/ai/McpS
171
180
  }
172
181
  const LATEST_PROTOCOL_VERSION = "2025-06-18";
173
182
  const SUPPORTED_PROTOCOL_VERSIONS = [LATEST_PROTOCOL_VERSION, "2025-03-26", "2024-11-05", "2024-10-07"];
183
+ const mcpSessionIdHeader = "mcp-session-id";
184
+ const mcpProtocolVersionHeader = "mcp-protocol-version";
174
185
  /**
175
186
  * @since 4.0.0
176
187
  * @category constructors
177
188
  */
178
189
  export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
179
190
  const protocol = yield* RpcServer.Protocol;
180
- const handlers = yield* Layer.build(layerHandlers(options));
181
191
  const server = yield* McpServer;
192
+ const isHttp = Option.isSome(yield* Effect.serviceOption(HttpRouter.HttpRouter));
193
+ const clientSessions = new Map();
194
+ const handlers = yield* Layer.build(layerHandlers(options, {
195
+ clientSessions
196
+ }));
182
197
  const clients = yield* RcMap.make({
183
198
  lookup: Effect.fnUntraced(function* (clientId) {
184
199
  let write;
@@ -209,13 +224,23 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
209
224
  idleTimeToLive: 10000
210
225
  });
211
226
  const clientMiddleware = McpServerClientMiddleware.of((effect, {
212
- clientId
213
- }) => Effect.provideService(effect, McpServerClient, McpServerClient.of({
214
227
  clientId,
215
- getClient: RcMap.get(clients, clientId).pipe(Effect.map(({
216
- client
217
- }) => client))
218
- })));
228
+ headers,
229
+ rpc
230
+ }) => {
231
+ const initializePayload = getInitializedClient(clientSessions, clientId, headers);
232
+ const isInitialize = rpc._tag === "initialize";
233
+ if (!isInitialize && !initializePayload) {
234
+ return Effect.die(new Error(`Mcp-Session-Id does not exist`));
235
+ }
236
+ return Effect.provideService(effect, McpServerClient, McpServerClient.of({
237
+ clientId,
238
+ initializePayload: initializePayload,
239
+ getClient: RcMap.get(clients, clientId).pipe(Effect.map(({
240
+ client
241
+ }) => client))
242
+ }));
243
+ });
219
244
  const patchedProtocol = RpcServer.Protocol.of({
220
245
  ...protocol,
221
246
  run: f => protocol.run((clientId, request_) => {
@@ -223,6 +248,14 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
223
248
  switch (request._tag) {
224
249
  case "Request":
225
250
  {
251
+ if (isHttp) {
252
+ const fiber = Fiber.getCurrent();
253
+ const httpRequest = ServiceMap.getUnsafe(fiber.services, HttpServerRequest.HttpServerRequest);
254
+ const client = getInitializedClient(clientSessions, clientId, httpRequest.headers);
255
+ if (client) {
256
+ appendPreResponseHandlerUnsafe(httpRequest, (_, res) => Effect.succeed(HttpServerResponse.setHeader(res, mcpProtocolVersionHeader, client.protocolVersion)));
257
+ }
258
+ }
226
259
  const rpc = ClientNotificationRpcs.requests.get(request.tag);
227
260
  if (rpc) {
228
261
  if (request.tag === "notifications/cancelled") {
@@ -266,7 +299,7 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
266
299
  payload: encoded
267
300
  };
268
301
  const clientIds = yield* patchedProtocol.clientIds;
269
- for (const clientId of server.initializedClients) {
302
+ for (const clientId of server.initializedClients.keys()) {
270
303
  if (!clientIds.has(clientId)) {
271
304
  server.initializedClients.delete(clientId);
272
305
  continue;
@@ -360,7 +393,8 @@ export const registerToolkit = /*#__PURE__*/Effect.fnUntraced(function* (toolkit
360
393
  const built = yield* toolkit;
361
394
  const services = yield* Effect.services();
362
395
  for (const tool of Object.values(built.tools)) {
363
- const toolMeta = ServiceMap.getOrUndefined(tool.annotations, Tool.Meta);
396
+ const annotations = tool.annotations;
397
+ const toolMeta = ServiceMap.getOrUndefined(annotations, Tool.Meta);
364
398
  const mcpTool = new McpTool({
365
399
  name: tool.name,
366
400
  description: Tool.getDescription(tool),
@@ -378,6 +412,7 @@ export const registerToolkit = /*#__PURE__*/Effect.fnUntraced(function* (toolkit
378
412
  });
379
413
  yield* registry.addTool({
380
414
  tool: mcpTool,
415
+ annotations,
381
416
  handle(payload) {
382
417
  return built.handle(tool.name, payload).pipe(Stream.unwrap, Stream.run(Sink.last()), Effect.flatMap(Effect.fromOption), Effect.provideServices(services), Effect.matchCause({
383
418
  onFailure: cause => new CallToolResult({
@@ -419,15 +454,19 @@ export const registerResource = function () {
419
454
  return Effect.gen(function* () {
420
455
  const services = yield* Effect.services();
421
456
  const registry = yield* McpServer;
422
- yield* registry.addResource(new Resource({
423
- ...options,
424
- annotations: options
425
- }), options.content.pipe(Effect.provideServices(services), Effect.map(content => resolveResourceContent(options.uri, content)), Effect.catchCause(cause => {
426
- const prettyError = Cause.prettyErrors(cause)[0];
427
- return Effect.fail(new InternalError({
428
- message: prettyError.message
429
- }));
430
- })));
457
+ yield* registry.addResource({
458
+ resource: new Resource({
459
+ ...options,
460
+ annotations: options
461
+ }),
462
+ handle: options.content.pipe(Effect.provideServices(services), Effect.map(content => resolveResourceContent(options.uri, content)), Effect.catchCause(cause => {
463
+ const prettyError = Cause.prettyErrors(cause)[0];
464
+ return Effect.fail(new InternalError({
465
+ message: prettyError.message
466
+ }));
467
+ })),
468
+ annotations: options.annotations ?? ServiceMap.empty()
469
+ });
431
470
  });
432
471
  }
433
472
  const {
@@ -466,6 +505,7 @@ export const registerResource = function () {
466
505
  template,
467
506
  routerPath,
468
507
  completions,
508
+ annotations: options.annotations ?? ServiceMap.empty(),
469
509
  handle: (uri, params) => decode(params).pipe(Effect.mapError(error => new InvalidParams({
470
510
  message: error.message
471
511
  })), Effect.flatMap(params => options.content(uri, ...params).pipe(Effect.map(content => resolveResourceContent(uri, content)), Effect.catchCause(cause => {
@@ -536,6 +576,7 @@ export const registerPrompt = options => {
536
576
  yield* registry.addPrompt({
537
577
  prompt,
538
578
  completions,
579
+ annotations: options.annotations ?? ServiceMap.empty(),
539
580
  handle: params => decode(params).pipe(Effect.mapError(error => new InvalidParams({
540
581
  message: error.message
541
582
  })), Effect.flatMap(params => options.content(params)), Effect.map(messages => {
@@ -596,6 +637,13 @@ export const elicit = /*#__PURE__*/Effect.fnUntraced(function* (options) {
596
637
  });
597
638
  }
598
639
  }, Effect.scoped);
640
+ /**
641
+ * Access the current client's capabilities.
642
+ *
643
+ * @since 4.0.0
644
+ * @category capabilities
645
+ */
646
+ export const clientCapabilities = /*#__PURE__*/McpServerClient.useSync(_ => _.initializePayload.capabilities);
599
647
  // -----------------------------------------------------------------------------
600
648
  // Internal
601
649
  // -----------------------------------------------------------------------------
@@ -641,7 +689,7 @@ const compileUriTemplate = (segments, ...schemas) => {
641
689
  params
642
690
  };
643
691
  };
644
- const layerHandlers = serverInfo => ClientRpcs.toLayer(Effect.gen(function* () {
692
+ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(function* () {
645
693
  const server = yield* McpServer;
646
694
  let currentLogLevel = yield* CurrentLogLevel;
647
695
  return ClientRpcs.of({
@@ -650,7 +698,13 @@ const layerHandlers = serverInfo => ClientRpcs.toLayer(Effect.gen(function* () {
650
698
  initialize(params, {
651
699
  clientId
652
700
  }) {
653
- const requestedVersion = params.protocolVersion;
701
+ const requestedVersion = SUPPORTED_PROTOCOL_VERSIONS.includes(params.protocolVersion) ? params.protocolVersion : LATEST_PROTOCOL_VERSION;
702
+ if (requestedVersion !== params.protocolVersion) {
703
+ params = {
704
+ ...params,
705
+ protocolVersion: requestedVersion
706
+ };
707
+ }
654
708
  const capabilities = {
655
709
  completions: {}
656
710
  };
@@ -670,11 +724,26 @@ const layerHandlers = serverInfo => ClientRpcs.toLayer(Effect.gen(function* () {
670
724
  listChanged: true
671
725
  };
672
726
  }
673
- server.initializedClients.add(clientId);
674
- return Effect.succeed({
675
- capabilities,
676
- serverInfo,
677
- protocolVersion: SUPPORTED_PROTOCOL_VERSIONS.includes(requestedVersion) ? requestedVersion : LATEST_PROTOCOL_VERSION
727
+ if (serverInfo.extensions) {
728
+ capabilities.extensions = serverInfo.extensions;
729
+ }
730
+ return Effect.withFiber(fiber => {
731
+ const httpRequest = ServiceMap.getOrUndefined(fiber.services, HttpServerRequest.HttpServerRequest);
732
+ if (httpRequest) {
733
+ const sessionId = crypto.randomUUID();
734
+ options.clientSessions.set(sessionId, params);
735
+ appendPreResponseHandlerUnsafe(httpRequest, (_req, res) => Effect.succeed(HttpServerResponse.setHeaders(res, {
736
+ [mcpSessionIdHeader]: sessionId,
737
+ [mcpProtocolVersionHeader]: requestedVersion
738
+ })));
739
+ } else {
740
+ options.clientSessions.set(String(clientId), params);
741
+ }
742
+ return Effect.succeed({
743
+ capabilities,
744
+ serverInfo,
745
+ protocolVersion: requestedVersion
746
+ });
678
747
  });
679
748
  },
680
749
  "completion/complete": r => server.completion(r).pipe(Effect.provideService(CurrentLogLevel, currentLogLevel)),
@@ -703,24 +772,48 @@ const layerHandlers = serverInfo => ClientRpcs.toLayer(Effect.gen(function* () {
703
772
  }
704
773
  }),
705
774
  "prompts/get": r => server.getPromptResult(r).pipe(Effect.provideService(CurrentLogLevel, currentLogLevel)),
706
- "prompts/list": () => Effect.sync(() => new ListPromptsResult({
707
- prompts: server.prompts
708
- })),
709
- "resources/list": () => Effect.sync(() => new ListResourcesResult({
710
- resources: server.resources
711
- })),
775
+ "prompts/list": (_, {
776
+ clientId,
777
+ headers
778
+ }) => Effect.sync(() => {
779
+ const client = getInitializedClient(options.clientSessions, clientId, headers);
780
+ return new ListPromptsResult({
781
+ prompts: filterByClient(client, server.prompts, "prompt")
782
+ });
783
+ }),
784
+ "resources/list": (_, {
785
+ clientId,
786
+ headers
787
+ }) => Effect.sync(() => {
788
+ const client = getInitializedClient(options.clientSessions, clientId, headers);
789
+ return new ListResourcesResult({
790
+ resources: filterByClient(client, server.resources, "resource")
791
+ });
792
+ }),
712
793
  "resources/read": ({
713
794
  uri
714
795
  }) => server.findResource(uri).pipe(Effect.provideService(CurrentLogLevel, currentLogLevel)),
715
796
  "resources/subscribe": () => InternalError.notImplemented.asEffect(),
716
797
  "resources/unsubscribe": () => InternalError.notImplemented.asEffect(),
717
- "resources/templates/list": () => Effect.sync(() => new ListResourceTemplatesResult({
718
- resourceTemplates: server.resourceTemplates
719
- })),
798
+ "resources/templates/list": (_, {
799
+ clientId,
800
+ headers
801
+ }) => Effect.sync(() => {
802
+ const client = getInitializedClient(options.clientSessions, clientId, headers);
803
+ return new ListResourceTemplatesResult({
804
+ resourceTemplates: filterByClient(client, server.resourceTemplates, "template")
805
+ });
806
+ }),
720
807
  "tools/call": r => server.callTool(r).pipe(Effect.provideService(CurrentLogLevel, currentLogLevel)),
721
- "tools/list": () => Effect.sync(() => new ListToolsResult({
722
- tools: server.tools
723
- })),
808
+ "tools/list": (_, {
809
+ clientId,
810
+ headers
811
+ }) => Effect.sync(() => {
812
+ const client = getInitializedClient(options.clientSessions, clientId, headers);
813
+ return new ListToolsResult({
814
+ tools: filterByClient(client, server.tools, "tool")
815
+ });
816
+ }),
724
817
  // Notifications
725
818
  "notifications/cancelled": _ => Effect.void,
726
819
  "notifications/initialized": _ => Effect.void,
@@ -746,4 +839,25 @@ const resolveResourceContent = (uri, content) => {
746
839
  }
747
840
  return content;
748
841
  };
842
+ const filterByClient = (client, items, prop) => {
843
+ if (!client) {
844
+ return items.map(item => item[prop]);
845
+ }
846
+ const out = Arr.empty();
847
+ for (let i = 0; i < items.length; i++) {
848
+ const item = items[i];
849
+ const enabledWhen = ServiceMap.getOrUndefined(item.annotations, EnabledWhen);
850
+ if (!enabledWhen || enabledWhen(client)) {
851
+ out.push(item[prop]);
852
+ }
853
+ }
854
+ return out;
855
+ };
856
+ const getInitializedClient = (sessions, clientId, headers) => {
857
+ const sessionId = headers[mcpSessionIdHeader];
858
+ if (sessionId === undefined) {
859
+ return sessions.get(String(clientId));
860
+ }
861
+ return sessions.get(sessionId);
862
+ };
749
863
  //# sourceMappingURL=McpServer.js.map