effect 4.0.0-rc.109 → 4.0.0-rc.110

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 (166) hide show
  1. package/ai-docs/src/70_cli/10_basics.ts +4 -2
  2. package/dist/Effect.d.ts +27 -2
  3. package/dist/Effect.d.ts.map +1 -1
  4. package/dist/Effect.js +25 -0
  5. package/dist/Effect.js.map +1 -1
  6. package/dist/Encoding.d.ts +17 -0
  7. package/dist/Encoding.d.ts.map +1 -1
  8. package/dist/Encoding.js +30 -3
  9. package/dist/Encoding.js.map +1 -1
  10. package/dist/Graph.d.ts +823 -65
  11. package/dist/Graph.d.ts.map +1 -1
  12. package/dist/Graph.js +2448 -575
  13. package/dist/Graph.js.map +1 -1
  14. package/dist/PubSub.d.ts.map +1 -1
  15. package/dist/PubSub.js +4 -1
  16. package/dist/PubSub.js.map +1 -1
  17. package/dist/Schedule.d.ts +2 -0
  18. package/dist/Schedule.d.ts.map +1 -1
  19. package/dist/Schedule.js.map +1 -1
  20. package/dist/Schema.d.ts +68 -0
  21. package/dist/Schema.d.ts.map +1 -1
  22. package/dist/Schema.js +159 -0
  23. package/dist/Schema.js.map +1 -1
  24. package/dist/Tracer.d.ts.map +1 -1
  25. package/dist/Tracer.js +3 -13
  26. package/dist/Tracer.js.map +1 -1
  27. package/dist/internal/effect.js +10 -5
  28. package/dist/internal/effect.js.map +1 -1
  29. package/dist/internal/graph.d.ts +2 -0
  30. package/dist/internal/graph.d.ts.map +1 -0
  31. package/dist/internal/graph.js +163 -0
  32. package/dist/internal/graph.js.map +1 -0
  33. package/dist/internal/graphCsr.d.ts +2 -0
  34. package/dist/internal/graphCsr.d.ts.map +1 -0
  35. package/dist/internal/graphCsr.js +197 -0
  36. package/dist/internal/graphCsr.js.map +1 -0
  37. package/dist/unstable/ai/McpProtocol.d.ts +8 -1
  38. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -1
  39. package/dist/unstable/ai/McpProtocol.js +8 -0
  40. package/dist/unstable/ai/McpProtocol.js.map +1 -1
  41. package/dist/unstable/ai/McpSchema.d.ts +622 -119
  42. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  43. package/dist/unstable/ai/McpSchema.js +356 -20
  44. package/dist/unstable/ai/McpSchema.js.map +1 -1
  45. package/dist/unstable/ai/McpServer.d.ts +25 -3
  46. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  47. package/dist/unstable/ai/McpServer.js +34 -10
  48. package/dist/unstable/ai/McpServer.js.map +1 -1
  49. package/dist/unstable/ai/internal/mcpCore.js.map +1 -1
  50. package/dist/unstable/ai/internal/mcpProtocol/v2024_11_05.js +1 -1
  51. package/dist/unstable/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
  52. package/dist/unstable/ai/internal/mcpProtocol/v2025_03_26.js +1 -1
  53. package/dist/unstable/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
  54. package/dist/unstable/ai/internal/mcpProtocol/v2025_06_18.js +6 -2
  55. package/dist/unstable/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
  56. package/dist/unstable/ai/internal/mcpProtocol/v2025_11_25.d.ts +2 -0
  57. package/dist/unstable/ai/internal/mcpProtocol/v2025_11_25.d.ts.map +1 -0
  58. package/dist/unstable/ai/internal/mcpProtocol/v2025_11_25.js +313 -0
  59. package/dist/unstable/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -0
  60. package/dist/unstable/ai/internal/mcpProtocol.js +6 -1
  61. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -1
  62. package/dist/unstable/ai/internal/mcpSchema/v2025_11_25.d.ts +3641 -0
  63. package/dist/unstable/ai/internal/mcpSchema/v2025_11_25.d.ts.map +1 -0
  64. package/dist/unstable/ai/internal/mcpSchema/v2025_11_25.js +341 -0
  65. package/dist/unstable/ai/internal/mcpSchema/v2025_11_25.js.map +1 -0
  66. package/dist/unstable/cli/Command.d.ts +25 -13
  67. package/dist/unstable/cli/Command.d.ts.map +1 -1
  68. package/dist/unstable/cli/Command.js +6 -3
  69. package/dist/unstable/cli/Command.js.map +1 -1
  70. package/dist/unstable/cli/Flag.d.ts +1 -0
  71. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  72. package/dist/unstable/cli/Flag.js +1 -0
  73. package/dist/unstable/cli/Flag.js.map +1 -1
  74. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  75. package/dist/unstable/cli/GlobalFlag.js +3 -3
  76. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  77. package/dist/unstable/cli/Param.d.ts +3 -2
  78. package/dist/unstable/cli/Param.d.ts.map +1 -1
  79. package/dist/unstable/cli/Param.js +7 -18
  80. package/dist/unstable/cli/Param.js.map +1 -1
  81. package/dist/unstable/cli/Prompt.d.ts +29 -0
  82. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  83. package/dist/unstable/cli/Prompt.js +36 -25
  84. package/dist/unstable/cli/Prompt.js.map +1 -1
  85. package/dist/unstable/cli/internal/completions/zsh.js +8 -2
  86. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  87. package/dist/unstable/cli/internal/config.js +1 -1
  88. package/dist/unstable/http/Headers.d.ts +13 -0
  89. package/dist/unstable/http/Headers.d.ts.map +1 -1
  90. package/dist/unstable/http/Headers.js +25 -0
  91. package/dist/unstable/http/Headers.js.map +1 -1
  92. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  93. package/dist/unstable/http/HttpClient.js +4 -6
  94. package/dist/unstable/http/HttpClient.js.map +1 -1
  95. package/dist/unstable/http/HttpClientResponse.d.ts +1 -1
  96. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  97. package/dist/unstable/http/HttpClientResponse.js +3 -2
  98. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  99. package/dist/unstable/http/HttpIncomingMessage.d.ts +10 -1
  100. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  101. package/dist/unstable/http/HttpIncomingMessage.js +2 -1
  102. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  103. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  104. package/dist/unstable/http/HttpMiddleware.js +32 -18
  105. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  106. package/dist/unstable/http/HttpRouter.d.ts +2 -1
  107. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  108. package/dist/unstable/http/HttpRouter.js +3 -1
  109. package/dist/unstable/http/HttpRouter.js.map +1 -1
  110. package/dist/unstable/http/HttpServerRequest.d.ts +2 -2
  111. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  112. package/dist/unstable/http/HttpServerRequest.js +1 -1
  113. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  114. package/dist/unstable/http/Multipart.d.ts +2 -1
  115. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  116. package/dist/unstable/http/Multipart.js +1 -1
  117. package/dist/unstable/http/Multipart.js.map +1 -1
  118. package/dist/unstable/http/UrlParams.d.ts +2 -1
  119. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  120. package/dist/unstable/http/UrlParams.js +1 -1
  121. package/dist/unstable/http/UrlParams.js.map +1 -1
  122. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  123. package/dist/unstable/observability/OtlpTracer.js +3 -10
  124. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  125. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  126. package/dist/unstable/persistence/PersistedQueue.js +10 -7
  127. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  128. package/package.json +1 -1
  129. package/src/Effect.ts +33 -3
  130. package/src/Encoding.ts +34 -263
  131. package/src/Graph.ts +3179 -710
  132. package/src/PubSub.ts +6 -1
  133. package/src/Schedule.ts +13 -0
  134. package/src/Schema.ts +280 -0
  135. package/src/Tracer.ts +3 -14
  136. package/src/internal/effect.ts +19 -8
  137. package/src/internal/graph.ts +209 -0
  138. package/src/internal/graphCsr.ts +273 -0
  139. package/src/unstable/ai/McpProtocol.ts +10 -1
  140. package/src/unstable/ai/McpSchema.ts +420 -20
  141. package/src/unstable/ai/McpServer.ts +60 -14
  142. package/src/unstable/ai/internal/mcpCore.ts +2 -4
  143. package/src/unstable/ai/internal/mcpProtocol/v2024_11_05.ts +1 -1
  144. package/src/unstable/ai/internal/mcpProtocol/v2025_03_26.ts +1 -1
  145. package/src/unstable/ai/internal/mcpProtocol/v2025_06_18.ts +8 -5
  146. package/src/unstable/ai/internal/mcpProtocol/v2025_11_25.ts +417 -0
  147. package/src/unstable/ai/internal/mcpProtocol.ts +15 -1
  148. package/src/unstable/ai/internal/mcpSchema/v2025_11_25.ts +481 -0
  149. package/src/unstable/cli/Command.ts +25 -13
  150. package/src/unstable/cli/Flag.ts +1 -0
  151. package/src/unstable/cli/GlobalFlag.ts +6 -3
  152. package/src/unstable/cli/Param.ts +5 -21
  153. package/src/unstable/cli/Prompt.ts +66 -25
  154. package/src/unstable/cli/internal/completions/zsh.ts +8 -2
  155. package/src/unstable/cli/internal/config.ts +1 -1
  156. package/src/unstable/http/Headers.ts +29 -0
  157. package/src/unstable/http/HttpClient.ts +10 -6
  158. package/src/unstable/http/HttpClientResponse.ts +4 -3
  159. package/src/unstable/http/HttpIncomingMessage.ts +21 -2
  160. package/src/unstable/http/HttpMiddleware.ts +38 -18
  161. package/src/unstable/http/HttpRouter.ts +4 -2
  162. package/src/unstable/http/HttpServerRequest.ts +3 -3
  163. package/src/unstable/http/Multipart.ts +5 -2
  164. package/src/unstable/http/UrlParams.ts +3 -2
  165. package/src/unstable/observability/OtlpTracer.ts +3 -11
  166. package/src/unstable/persistence/PersistedQueue.ts +10 -6
@@ -23,7 +23,8 @@ const tasks = Command.make("tasks").pipe(
23
23
  workspace,
24
24
  verbose: Flag.boolean("verbose").pipe(
25
25
  Flag.withAlias("v"),
26
- Flag.withDescription("Print diagnostic output")
26
+ Flag.withDescription("Print diagnostic output"),
27
+ Flag.withDefault(false)
27
28
  )
28
29
  }),
29
30
  Command.withDescription("Track and manage tasks")
@@ -92,7 +93,8 @@ const list = Command.make(
92
93
  Flag.withDefault("open")
93
94
  ),
94
95
  json: Flag.boolean("json").pipe(
95
- Flag.withDescription("Print machine-readable output")
96
+ Flag.withDescription("Print machine-readable output"),
97
+ Flag.withDefault(false)
96
98
  )
97
99
  },
98
100
  Effect.fn(function*({ status, json }) {
package/dist/Effect.d.ts CHANGED
@@ -999,10 +999,10 @@ export declare const forEach: {
999
999
  * @category sequencing
1000
1000
  * @since 2.0.0
1001
1001
  */
1002
- <B, E, R, S extends Iterable<any>, const Discard extends boolean = false>(f: (a: Arr.ReadonlyArray.Infer<S>, i: number) => Effect<B, E, R>, options?: {
1002
+ <A, B, E, R, S extends Iterable<A> = Iterable<A>, const Discard extends boolean = false>(f: (a: A, i: number) => Effect<B, E, R>, options?: {
1003
1003
  readonly concurrency?: Concurrency | undefined;
1004
1004
  readonly discard?: Discard | undefined;
1005
- } | undefined): (self: S) => Effect<Discard extends false ? Arr.ReadonlyArray.With<S, B> : void, E, R>;
1005
+ } | undefined): (self: [S] extends [never] ? Iterable<A> : S) => Effect<Discard extends false ? Arr.ReadonlyArray.With<S, B> : void, E, R>;
1006
1006
  /**
1007
1007
  * Executes an effectful operation for each element in an `Iterable`.
1008
1008
  *
@@ -1072,6 +1072,31 @@ export declare const forEach: {
1072
1072
  readonly discard?: Discard | undefined;
1073
1073
  } | undefined): Effect<Discard extends false ? Arr.ReadonlyArray.With<S, B> : void, E, R>;
1074
1074
  };
1075
+ /**
1076
+ * Returns the first element of the iterable produced by an effect, or fails
1077
+ * with `NoSuchElementError` if the iterable is empty.
1078
+ *
1079
+ * **When to use**
1080
+ *
1081
+ * Use when an effect produces a collection that must contain at least one
1082
+ * element and absence should be represented in the typed error channel.
1083
+ *
1084
+ * **Example** (Getting the first element)
1085
+ *
1086
+ * ```ts import.meta.vitest
1087
+ * import { Effect, Option } from "effect"
1088
+ *
1089
+ * const first = await Effect.runPromise(Effect.head(Effect.succeed([1, 2, 3])))
1090
+ * first // => 1
1091
+ *
1092
+ * const empty = Effect.head(Effect.succeed([] as Array<number>)).pipe(Effect.catchNoSuchElement)
1093
+ * await Effect.runPromise(empty) // => Option.none()
1094
+ * ```
1095
+ *
1096
+ * @category getters
1097
+ * @since 2.0.0
1098
+ */
1099
+ export declare const head: <A, E, R>(self: Effect<Iterable<A>, E, R>) => Effect<A, E | Cause.NoSuchElementError, R>;
1075
1100
  /**
1076
1101
  * Executes a body effect repeatedly while a condition holds true.
1077
1102
  *