@sayoriqwq/effect-harness 0.0.1

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 (2055) hide show
  1. package/HARNESS.md +34 -0
  2. package/README.md +113 -0
  3. package/dist/bin/effect-harness.d.ts +2 -0
  4. package/dist/bin/effect-harness.js +39 -0
  5. package/dist/bin/effect-harness.js.map +1 -0
  6. package/dist/src/cli/Main.d.ts +6 -0
  7. package/dist/src/cli/Main.js +141 -0
  8. package/dist/src/cli/Main.js.map +1 -0
  9. package/dist/src/harness/CraftSkills.d.ts +14 -0
  10. package/dist/src/harness/CraftSkills.js +164 -0
  11. package/dist/src/harness/CraftSkills.js.map +1 -0
  12. package/dist/src/harness/Errors.d.ts +24 -0
  13. package/dist/src/harness/Errors.js +26 -0
  14. package/dist/src/harness/Errors.js.map +1 -0
  15. package/dist/src/harness/GuardrailRules.d.ts +6 -0
  16. package/dist/src/harness/GuardrailRules.js +303 -0
  17. package/dist/src/harness/GuardrailRules.js.map +1 -0
  18. package/dist/src/harness/Guardrails.d.ts +10 -0
  19. package/dist/src/harness/Guardrails.js +69 -0
  20. package/dist/src/harness/Guardrails.js.map +1 -0
  21. package/dist/src/harness/Init.d.ts +9 -0
  22. package/dist/src/harness/Init.js +234 -0
  23. package/dist/src/harness/Init.js.map +1 -0
  24. package/dist/src/harness/Model.d.ts +44 -0
  25. package/dist/src/harness/Model.js +169 -0
  26. package/dist/src/harness/Model.js.map +1 -0
  27. package/dist/src/harness/ModuleSources.d.ts +5 -0
  28. package/dist/src/harness/ModuleSources.js +47 -0
  29. package/dist/src/harness/ModuleSources.js.map +1 -0
  30. package/dist/src/harness/PnpmWorkspace.d.ts +2 -0
  31. package/dist/src/harness/PnpmWorkspace.js +23 -0
  32. package/dist/src/harness/PnpmWorkspace.js.map +1 -0
  33. package/dist/src/harness/Publish.d.ts +53 -0
  34. package/dist/src/harness/Publish.js +282 -0
  35. package/dist/src/harness/Publish.js.map +1 -0
  36. package/dist/src/harness/SelfVerify.d.ts +4 -0
  37. package/dist/src/harness/SelfVerify.js +56 -0
  38. package/dist/src/harness/SelfVerify.js.map +1 -0
  39. package/dist/src/harness/SourcePin.d.ts +12 -0
  40. package/dist/src/harness/SourcePin.js +320 -0
  41. package/dist/src/harness/SourcePin.js.map +1 -0
  42. package/dist/src/harness/Status.d.ts +12 -0
  43. package/dist/src/harness/Status.js +88 -0
  44. package/dist/src/harness/Status.js.map +1 -0
  45. package/dist/src/harness/TargetVerify.d.ts +8 -0
  46. package/dist/src/harness/TargetVerify.js +432 -0
  47. package/dist/src/harness/TargetVerify.js.map +1 -0
  48. package/dist/src/harness/TestContract.d.ts +6 -0
  49. package/dist/src/harness/TestContract.js +45 -0
  50. package/dist/src/harness/TestContract.js.map +1 -0
  51. package/dist/src/platform/Json.d.ts +8 -0
  52. package/dist/src/platform/Json.js +35 -0
  53. package/dist/src/platform/Json.js.map +1 -0
  54. package/dist/src/platform/ManagedFiles.d.ts +8 -0
  55. package/dist/src/platform/ManagedFiles.js +59 -0
  56. package/dist/src/platform/ManagedFiles.js.map +1 -0
  57. package/dist/src/platform/Process.d.ts +8 -0
  58. package/dist/src/platform/Process.js +80 -0
  59. package/dist/src/platform/Process.js.map +1 -0
  60. package/guide/default-capabilities.md +38 -0
  61. package/guide/index.md +49 -0
  62. package/guide/setup.md +64 -0
  63. package/harness/default-capabilities.md +32 -0
  64. package/harness/exposure.md +46 -0
  65. package/harness/feedback/index.md +60 -0
  66. package/harness/index.md +22 -0
  67. package/harness/official-inventory.md +85 -0
  68. package/harness/runtime/codex/AGENTS.fragment.md +28 -0
  69. package/harness/runtime/codex/agents/effect-worker.md +26 -0
  70. package/harness/runtime/codex/skills/effect-code/SKILL.md +72 -0
  71. package/harness/runtime/codex/skills/effect-code/agents/openai.yaml +4 -0
  72. package/harness/runtime/codex/skills/effect-feedback/SKILL.md +66 -0
  73. package/harness/runtime/codex/skills/effect-feedback/agents/openai.yaml +4 -0
  74. package/harness/source.md +52 -0
  75. package/harness/target-agent-contract.md +205 -0
  76. package/package.json +68 -0
  77. package/repos/craft-skills.manifest.json +34 -0
  78. package/repos/effect/.agents/skills/grill-me/SKILL.md +43 -0
  79. package/repos/effect/.agents/skills/jsdocs/SKILL.md +203 -0
  80. package/repos/effect/.agents/skills/scratchpad/SKILL.md +44 -0
  81. package/repos/effect/.agents/skills/scratchpad/agents/openai.yaml +7 -0
  82. package/repos/effect/.agents/skills/scratchpad/scripts/extract-example.mjs +260 -0
  83. package/repos/effect/.changeset/add-bigdecimal-sumall-multiplyall.md +5 -0
  84. package/repos/effect/.changeset/add-chunk-schema.md +5 -0
  85. package/repos/effect/.changeset/add-command-hidden.md +19 -0
  86. package/repos/effect/.changeset/add-config-nested.md +5 -0
  87. package/repos/effect/.changeset/add-flag-hidden.md +15 -0
  88. package/repos/effect/.changeset/add-from-string-schemas.md +5 -0
  89. package/repos/effect/.changeset/add-headers-remove-many.md +5 -0
  90. package/repos/effect/.changeset/add-indexeddb-kvs-layer.md +5 -0
  91. package/repos/effect/.changeset/add-make-msgpack.md +5 -0
  92. package/repos/effect/.changeset/add-make-option.md +5 -0
  93. package/repos/effect/.changeset/add-missing-tx-modules.md +11 -0
  94. package/repos/effect/.changeset/add-newtype-module.md +5 -0
  95. package/repos/effect/.changeset/add-scalar-show-operation-id.md +5 -0
  96. package/repos/effect/.changeset/add-schedule-tap.md +5 -0
  97. package/repos/effect/.changeset/add-schema-annotate-encoded.md +5 -0
  98. package/repos/effect/.changeset/add-schema-array-ensure.md +5 -0
  99. package/repos/effect/.changeset/add-schema-bigdecimal.md +5 -0
  100. package/repos/effect/.changeset/add-schema-datetime.md +5 -0
  101. package/repos/effect/.changeset/add-schema-option-from-optional-nullor.md +5 -0
  102. package/repos/effect/.changeset/add-schema-option-from-undefined-nullish.md +5 -0
  103. package/repos/effect/.changeset/add-schema-string-encoding.md +5 -0
  104. package/repos/effect/.changeset/add-sql-pglite.md +5 -0
  105. package/repos/effect/.changeset/add-standard-jsdoc-rule.md +5 -0
  106. package/repos/effect/.changeset/add-stream-broadcastn.md +5 -0
  107. package/repos/effect/.changeset/add-unstable-encoding-export.md +5 -0
  108. package/repos/effect/.changeset/afraid-cobras-like.md +5 -0
  109. package/repos/effect/.changeset/ai-openai-config-field-leak.md +6 -0
  110. package/repos/effect/.changeset/ai-openai-file-nullable-fields.md +5 -0
  111. package/repos/effect/.changeset/anthropic-4-6-structured-output.md +5 -0
  112. package/repos/effect/.changeset/asyncresult-exhaustive.md +5 -0
  113. package/repos/effect/.changeset/atom-stream-error-type.md +5 -0
  114. package/repos/effect/.changeset/beige-paths-sort.md +5 -0
  115. package/repos/effect/.changeset/better-apples-nail.md +5 -0
  116. package/repos/effect/.changeset/better-rocks-arrive.md +5 -0
  117. package/repos/effect/.changeset/big-pans-look.md +5 -0
  118. package/repos/effect/.changeset/blue-dingos-greet.md +5 -0
  119. package/repos/effect/.changeset/blue-ligers-cheat.md +5 -0
  120. package/repos/effect/.changeset/blue-onions-smile.md +5 -0
  121. package/repos/effect/.changeset/blue-ravens-type.md +5 -0
  122. package/repos/effect/.changeset/blue-trams-kiss.md +7 -0
  123. package/repos/effect/.changeset/bold-chairs-yawn.md +5 -0
  124. package/repos/effect/.changeset/bold-planets-shout.md +30 -0
  125. package/repos/effect/.changeset/breezy-meals-see.md +5 -0
  126. package/repos/effect/.changeset/bright-bugs-bow.md +5 -0
  127. package/repos/effect/.changeset/bright-canyons-clean.md +5 -0
  128. package/repos/effect/.changeset/bright-dogs-fail.md +5 -0
  129. package/repos/effect/.changeset/bright-flags-stand.md +5 -0
  130. package/repos/effect/.changeset/bright-laws-teach.md +5 -0
  131. package/repos/effect/.changeset/bright-lemons-dance.md +5 -0
  132. package/repos/effect/.changeset/bright-planes-smash.md +5 -0
  133. package/repos/effect/.changeset/bright-rats-attend.md +5 -0
  134. package/repos/effect/.changeset/bright-toes-rush.md +5 -0
  135. package/repos/effect/.changeset/bumpy-boxes-teach.md +5 -0
  136. package/repos/effect/.changeset/busy-lions-sneeze.md +5 -0
  137. package/repos/effect/.changeset/busy-maps-attend.md +7 -0
  138. package/repos/effect/.changeset/calm-buckets-own.md +5 -0
  139. package/repos/effect/.changeset/calm-carrots-march.md +7 -0
  140. package/repos/effect/.changeset/calm-cars-rest.md +5 -0
  141. package/repos/effect/.changeset/calm-panthers-nail.md +5 -0
  142. package/repos/effect/.changeset/calm-seas-smile.md +5 -0
  143. package/repos/effect/.changeset/calm-squids-hug.md +5 -0
  144. package/repos/effect/.changeset/chatty-poets-type.md +5 -0
  145. package/repos/effect/.changeset/chilled-mice-wash.md +5 -0
  146. package/repos/effect/.changeset/chilly-pumas-rule.md +5 -0
  147. package/repos/effect/.changeset/chubby-buckets-feel.md +5 -0
  148. package/repos/effect/.changeset/chubby-parents-flow.md +5 -0
  149. package/repos/effect/.changeset/chubby-planets-fall.md +5 -0
  150. package/repos/effect/.changeset/clean-balloons-tan.md +5 -0
  151. package/repos/effect/.changeset/clean-bulldogs-care.md +5 -0
  152. package/repos/effect/.changeset/clean-dryers-sneeze.md +5 -0
  153. package/repos/effect/.changeset/clean-geese-work.md +5 -0
  154. package/repos/effect/.changeset/clean-goats-wave.md +5 -0
  155. package/repos/effect/.changeset/clean-needles-shake.md +23 -0
  156. package/repos/effect/.changeset/clean-tires-guess.md +5 -0
  157. package/repos/effect/.changeset/clear-spies-boil.md +5 -0
  158. package/repos/effect/.changeset/cli-help-choices.md +5 -0
  159. package/repos/effect/.changeset/cold-knives-lie.md +35 -0
  160. package/repos/effect/.changeset/cold-rooms-show.md +5 -0
  161. package/repos/effect/.changeset/cold-sloths-wave.md +5 -0
  162. package/repos/effect/.changeset/compact-json-schema-enum.md +25 -0
  163. package/repos/effect/.changeset/config-withdefault-eager.md +7 -0
  164. package/repos/effect/.changeset/config.json +24 -0
  165. package/repos/effect/.changeset/consolidate-encoding.md +5 -0
  166. package/repos/effect/.changeset/consolidate-sql-error.md +16 -0
  167. package/repos/effect/.changeset/crisp-seas-warn.md +5 -0
  168. package/repos/effect/.changeset/cuddly-rooms-bet.md +5 -0
  169. package/repos/effect/.changeset/curly-poems-talk.md +5 -0
  170. package/repos/effect/.changeset/curly-spies-relax.md +5 -0
  171. package/repos/effect/.changeset/curvy-apples-float.md +5 -0
  172. package/repos/effect/.changeset/custom-http-security-openapi-generator.md +5 -0
  173. package/repos/effect/.changeset/cute-heads-thank.md +5 -0
  174. package/repos/effect/.changeset/cyan-loops-grow.md +5 -0
  175. package/repos/effect/.changeset/cyan-radios-switch.md +5 -0
  176. package/repos/effect/.changeset/deep-rivers-spend.md +5 -0
  177. package/repos/effect/.changeset/dirty-lamps-trade.md +5 -0
  178. package/repos/effect/.changeset/dirty-laws-wear.md +5 -0
  179. package/repos/effect/.changeset/duration-temporal-object-input.md +7 -0
  180. package/repos/effect/.changeset/eager-coats-cheat.md +5 -0
  181. package/repos/effect/.changeset/early-birds-dream.md +5 -0
  182. package/repos/effect/.changeset/early-donuts-argue.md +5 -0
  183. package/repos/effect/.changeset/early-peaches-check.md +6 -0
  184. package/repos/effect/.changeset/eff-691-default-logger-ordering.md +5 -0
  185. package/repos/effect/.changeset/eff-693-rpcgroup-handler-deps.md +5 -0
  186. package/repos/effect/.changeset/eff-694-cli-completions-module.md +5 -0
  187. package/repos/effect/.changeset/eff-695-layer-mock-dual-api.md +5 -0
  188. package/repos/effect/.changeset/eff-697-rpcserialization-json-array-decode.md +5 -0
  189. package/repos/effect/.changeset/eff-698-rpcserialization-unreachable-branch.md +5 -0
  190. package/repos/effect/.changeset/eff-700-httpapi-middleware-errors.md +12 -0
  191. package/repos/effect/.changeset/eff-701-httpapierror-respondable.md +5 -0
  192. package/repos/effect/.changeset/eff-704-stream-merge-predicate.md +5 -0
  193. package/repos/effect/.changeset/eff-705-layer-tap-apis.md +5 -0
  194. package/repos/effect/.changeset/eff-706-servicemap-mutate.md +6 -0
  195. package/repos/effect/.changeset/eff-716-response-id-tracker-map.md +5 -0
  196. package/repos/effect/.changeset/eff-717-openai-socket-cancel.md +5 -0
  197. package/repos/effect/.changeset/eff-718-embedding-model-surface.md +13 -0
  198. package/repos/effect/.changeset/eff-725-fix-catch-jsdoc.md +5 -0
  199. package/repos/effect/.changeset/eff-726-model-dimensions.md +7 -0
  200. package/repos/effect/.changeset/eff-727-cli-help-alignment.md +5 -0
  201. package/repos/effect/.changeset/eff-730-language-model-incremental-fallback.md +5 -0
  202. package/repos/effect/.changeset/eff-736-cached-with-ttl.md +5 -0
  203. package/repos/effect/.changeset/eff-738-cron-prev.md +5 -0
  204. package/repos/effect/.changeset/eff-739-openai-function-call-done.md +5 -0
  205. package/repos/effect/.changeset/eff-740-missing-summary-parts.md +5 -0
  206. package/repos/effect/.changeset/eff-742-http-client-request-web.md +5 -0
  207. package/repos/effect/.changeset/eff-744-sqlite-migrator-lock.md +5 -0
  208. package/repos/effect/.changeset/eff-746-fixed-iteration-catchup.md +5 -0
  209. package/repos/effect/.changeset/eff-747-unify-effect.md +5 -0
  210. package/repos/effect/.changeset/eff-754-url-builder-any.md +6 -0
  211. package/repos/effect/.changeset/eff-755-references-core.md +5 -0
  212. package/repos/effect/.changeset/eff-769-select-text-highlight.md +5 -0
  213. package/repos/effect/.changeset/eff-774-mutable-list-append-all-empty-array.md +5 -0
  214. package/repos/effect/.changeset/eff-777-schema-make-effect.md +5 -0
  215. package/repos/effect/.changeset/eff-778-http-middleware-path-logger.md +5 -0
  216. package/repos/effect/.changeset/eff-779-keyvaluestore-layer-sql.md +5 -0
  217. package/repos/effect/.changeset/eff-780-layer-unify.md +5 -0
  218. package/repos/effect/.changeset/eff-781-fix-stream-toqueue-types.md +5 -0
  219. package/repos/effect/.changeset/eff-782-httpapi-status-literals.md +5 -0
  220. package/repos/effect/.changeset/eff-783-atom-http-api-errors.md +5 -0
  221. package/repos/effect/.changeset/eff-819-cluster-workflow-shard-groups.md +5 -0
  222. package/repos/effect/.changeset/eight-turkeys-own.md +7 -0
  223. package/repos/effect/.changeset/eighty-lies-deny.md +5 -0
  224. package/repos/effect/.changeset/eighty-poets-draw.md +9 -0
  225. package/repos/effect/.changeset/eighty-swans-scream.md +5 -0
  226. package/repos/effect/.changeset/eighty-teeth-sniff.md +5 -0
  227. package/repos/effect/.changeset/eleven-apes-share.md +5 -0
  228. package/repos/effect/.changeset/eleven-numbers-bake.md +5 -0
  229. package/repos/effect/.changeset/empty-gifts-beg.md +5 -0
  230. package/repos/effect/.changeset/empty-http-rpc-client.md +5 -0
  231. package/repos/effect/.changeset/eventlog-unencrypted.md +5 -0
  232. package/repos/effect/.changeset/expand-schema-filter-output.md +24 -0
  233. package/repos/effect/.changeset/export-schema-encode-keys-interface.md +7 -0
  234. package/repos/effect/.changeset/extract-semaphore-latch.md +10 -0
  235. package/repos/effect/.changeset/fair-bees-relax.md +5 -0
  236. package/repos/effect/.changeset/fair-buttons-share.md +7 -0
  237. package/repos/effect/.changeset/fair-cooks-stop.md +5 -0
  238. package/repos/effect/.changeset/fair-cups-train.md +5 -0
  239. package/repos/effect/.changeset/fair-dryers-speak.md +5 -0
  240. package/repos/effect/.changeset/fair-forks-shake.md +5 -0
  241. package/repos/effect/.changeset/fair-pandas-prove.md +5 -0
  242. package/repos/effect/.changeset/fair-pants-float.md +5 -0
  243. package/repos/effect/.changeset/fair-poems-visit.md +5 -0
  244. package/repos/effect/.changeset/famous-wolves-lead.md +5 -0
  245. package/repos/effect/.changeset/fancy-glasses-grow.md +5 -0
  246. package/repos/effect/.changeset/fast-times-camp.md +5 -0
  247. package/repos/effect/.changeset/few-birds-matter.md +5 -0
  248. package/repos/effect/.changeset/few-cougars-dig.md +5 -0
  249. package/repos/effect/.changeset/few-foxes-grin.md +5 -0
  250. package/repos/effect/.changeset/few-mirrors-pull.md +14 -0
  251. package/repos/effect/.changeset/few-socks-poke.md +5 -0
  252. package/repos/effect/.changeset/fiber-runtime-start-metrics.md +5 -0
  253. package/repos/effect/.changeset/fiery-jokes-care.md +5 -0
  254. package/repos/effect/.changeset/fiery-mammals-call.md +5 -0
  255. package/repos/effect/.changeset/fine-walls-decide.md +5 -0
  256. package/repos/effect/.changeset/first-success-of.md +5 -0
  257. package/repos/effect/.changeset/five-parents-relax.md +5 -0
  258. package/repos/effect/.changeset/five-worms-rhyme.md +5 -0
  259. package/repos/effect/.changeset/fix-1332.md +5 -0
  260. package/repos/effect/.changeset/fix-1917.md +11 -0
  261. package/repos/effect/.changeset/fix-1927.md +5 -0
  262. package/repos/effect/.changeset/fix-1940.md +7 -0
  263. package/repos/effect/.changeset/fix-1947.md +7 -0
  264. package/repos/effect/.changeset/fix-2002.md +5 -0
  265. package/repos/effect/.changeset/fix-2012.md +5 -0
  266. package/repos/effect/.changeset/fix-2015.md +5 -0
  267. package/repos/effect/.changeset/fix-2260.md +5 -0
  268. package/repos/effect/.changeset/fix-2268.md +5 -0
  269. package/repos/effect/.changeset/fix-2271.md +5 -0
  270. package/repos/effect/.changeset/fix-2384.md +7 -0
  271. package/repos/effect/.changeset/fix-ai-empty-params-structured-output.md +5 -0
  272. package/repos/effect/.changeset/fix-ai-text-toolkit-typing.md +5 -0
  273. package/repos/effect/.changeset/fix-catch-orelse-error-erasure.md +5 -0
  274. package/repos/effect/.changeset/fix-class-constructor-defaults.md +5 -0
  275. package/repos/effect/.changeset/fix-cli-mixed-global-flag-context.md +7 -0
  276. package/repos/effect/.changeset/fix-config-withDefault.md +5 -0
  277. package/repos/effect/.changeset/fix-config-withdefault-filter.md +7 -0
  278. package/repos/effect/.changeset/fix-datetime-gmt.md +5 -0
  279. package/repos/effect/.changeset/fix-devtools-flush-on-teardown.md +10 -0
  280. package/repos/effect/.changeset/fix-duration-symmetric-rounding.md +5 -0
  281. package/repos/effect/.changeset/fix-entity-manager-defect-replay.md +5 -0
  282. package/repos/effect/.changeset/fix-entity-proxy-rpc-handler-context.md +5 -0
  283. package/repos/effect/.changeset/fix-entity-proxy-server-path-params.md +5 -0
  284. package/repos/effect/.changeset/fix-from-readable-stream-cancel-defect.md +5 -0
  285. package/repos/effect/.changeset/fix-graph-undirected-traversal.md +5 -0
  286. package/repos/effect/.changeset/fix-has-interrupts-only-empty.md +5 -0
  287. package/repos/effect/.changeset/fix-hashmap-bit31-ordering.md +5 -0
  288. package/repos/effect/.changeset/fix-headers-proto-enumerability.md +5 -0
  289. package/repos/effect/.changeset/fix-http-incoming-message-parse-options.md +5 -0
  290. package/repos/effect/.changeset/fix-httpapi-endpoint-error-inference.md +5 -0
  291. package/repos/effect/.changeset/fix-httpapi-schema-types.md +5 -0
  292. package/repos/effect/.changeset/fix-httpapi-security-middleware-cache.md +5 -0
  293. package/repos/effect/.changeset/fix-is-json-dag.md +7 -0
  294. package/repos/effect/.changeset/fix-json-schema-anyof-oneof-siblings.md +5 -0
  295. package/repos/effect/.changeset/fix-json-schema-import-json.md +5 -0
  296. package/repos/effect/.changeset/fix-keepalive-blocked-timers.md +5 -0
  297. package/repos/effect/.changeset/fix-mcp-param-name-resolution.md +5 -0
  298. package/repos/effect/.changeset/fix-mermaid-escape-special-chars.md +5 -0
  299. package/repos/effect/.changeset/fix-mutable-list-filter-length.md +5 -0
  300. package/repos/effect/.changeset/fix-object-keyword-json-schema.md +5 -0
  301. package/repos/effect/.changeset/fix-openai-mcp-tool-names.md +5 -0
  302. package/repos/effect/.changeset/fix-openapi-generator-form-urlencoded.md +5 -0
  303. package/repos/effect/.changeset/fix-openapi-generator-swagger2openapi.md +5 -0
  304. package/repos/effect/.changeset/fix-openapi-preserve-multiple-response-content-types.md +5 -0
  305. package/repos/effect/.changeset/fix-openrouter-sparse-array.md +5 -0
  306. package/repos/effect/.changeset/fix-otel-logger-clock-skew.md +7 -0
  307. package/repos/effect/.changeset/fix-otel-logger-severity-number.md +20 -0
  308. package/repos/effect/.changeset/fix-queue-collect-duplication.md +5 -0
  309. package/repos/effect/.changeset/fix-random-string-seeds.md +5 -0
  310. package/repos/effect/.changeset/fix-ratelimiter-tokenbucket-redis-ttl.md +5 -0
  311. package/repos/effect/.changeset/fix-remainder-scientific-notation.md +5 -0
  312. package/repos/effect/.changeset/fix-request-resolver-pending-batches-leak.md +5 -0
  313. package/repos/effect/.changeset/fix-retry-transient-autocomplete.md +5 -0
  314. package/repos/effect/.changeset/fix-rpc-http-requestids-finalizer.md +5 -0
  315. package/repos/effect/.changeset/fix-rpc-json-id-edges.md +5 -0
  316. package/repos/effect/.changeset/fix-schedule-fixed-double-exec.md +9 -0
  317. package/repos/effect/.changeset/fix-schedule-reduce-sync-state.md +5 -0
  318. package/repos/effect/.changeset/fix-schema-arbitrary-exclusive-bounds.md +5 -0
  319. package/repos/effect/.changeset/fix-schema-defect-message.md +5 -0
  320. package/repos/effect/.changeset/fix-schema-encode-keys-property-keys.md +5 -0
  321. package/repos/effect/.changeset/fix-schema-encodekeys-class.md +5 -0
  322. package/repos/effect/.changeset/fix-schema-encodekeys-struct.md +5 -0
  323. package/repos/effect/.changeset/fix-schema-identifier-expected-message.md +5 -0
  324. package/repos/effect/.changeset/fix-schema-is-uuid.md +5 -0
  325. package/repos/effect/.changeset/fix-schema-option-non-schema-failures.md +17 -0
  326. package/repos/effect/.changeset/fix-schema-parser-checks.md +9 -0
  327. package/repos/effect/.changeset/fix-searchparam-initial-decode.md +5 -0
  328. package/repos/effect/.changeset/fix-serializable-wire-transfer.md +7 -0
  329. package/repos/effect/.changeset/fix-stream-grouped-within-flush.md +5 -0
  330. package/repos/effect/.changeset/fix-stream-run-for-each-while.md +5 -0
  331. package/repos/effect/.changeset/fix-stream-scan-effect.md +5 -0
  332. package/repos/effect/.changeset/fix-stream-scoped-scope.md +5 -0
  333. package/repos/effect/.changeset/fix-strip-approval-artifacts-multi-round.md +13 -0
  334. package/repos/effect/.changeset/fix-struct-utility-types-simplify.md +5 -0
  335. package/repos/effect/.changeset/fix-structwithrest-index-signatures.md +6 -0
  336. package/repos/effect/.changeset/fix-tagged-union-class-sentinels.md +5 -0
  337. package/repos/effect/.changeset/fix-tagged-union-match-unify.md +6 -0
  338. package/repos/effect/.changeset/fix-to-tagged-union-isanyof-custom-tags.md +10 -0
  339. package/repos/effect/.changeset/fix-tuple-with-rest-post-rest-index-drift.md +5 -0
  340. package/repos/effect/.changeset/fix-tuple-with-rest-post-rest-validation.md +5 -0
  341. package/repos/effect/.changeset/fix-types-voidifempty.md +5 -0
  342. package/repos/effect/.changeset/fix-void-response-encoding.md +5 -0
  343. package/repos/effect/.changeset/fix-workflow-proxy-rpc-handler-context.md +5 -0
  344. package/repos/effect/.changeset/flat-chicken-remain.md +5 -0
  345. package/repos/effect/.changeset/floppy-cows-spend.md +5 -0
  346. package/repos/effect/.changeset/floppy-items-admire.md +5 -0
  347. package/repos/effect/.changeset/floppy-pigs-kiss.md +5 -0
  348. package/repos/effect/.changeset/fluffy-meals-matter.md +5 -0
  349. package/repos/effect/.changeset/fluffy-pumas-push.md +5 -0
  350. package/repos/effect/.changeset/forked-memo-maps.md +6 -0
  351. package/repos/effect/.changeset/forty-hounds-cheer.md +5 -0
  352. package/repos/effect/.changeset/forty-otters-cry.md +5 -0
  353. package/repos/effect/.changeset/forty-rings-film.md +7 -0
  354. package/repos/effect/.changeset/forty-signs-stay.md +5 -0
  355. package/repos/effect/.changeset/forty-swans-divide.md +5 -0
  356. package/repos/effect/.changeset/forty-trees-pay.md +5 -0
  357. package/repos/effect/.changeset/four-papayas-bow.md +5 -0
  358. package/repos/effect/.changeset/four-points-repeat.md +5 -0
  359. package/repos/effect/.changeset/fresh-cats-smash.md +5 -0
  360. package/repos/effect/.changeset/fresh-emus-cheat.md +5 -0
  361. package/repos/effect/.changeset/fresh-monkeys-smoke.md +9 -0
  362. package/repos/effect/.changeset/fruity-houses-learn.md +6 -0
  363. package/repos/effect/.changeset/full-adults-double.md +5 -0
  364. package/repos/effect/.changeset/funny-crabs-hang.md +6 -0
  365. package/repos/effect/.changeset/funny-forks-move.md +5 -0
  366. package/repos/effect/.changeset/fuzzy-camels-hunt.md +5 -0
  367. package/repos/effect/.changeset/fuzzy-dodos-help.md +5 -0
  368. package/repos/effect/.changeset/fuzzy-lions-perform.md +5 -0
  369. package/repos/effect/.changeset/fuzzy-planets-sneeze.md +5 -0
  370. package/repos/effect/.changeset/gold-meteors-move.md +5 -0
  371. package/repos/effect/.changeset/gold-readers-hug.md +5 -0
  372. package/repos/effect/.changeset/gold-rings-start.md +5 -0
  373. package/repos/effect/.changeset/good-tools-work.md +7 -0
  374. package/repos/effect/.changeset/graph-algorithm-fixes.md +5 -0
  375. package/repos/effect/.changeset/great-trains-mate.md +5 -0
  376. package/repos/effect/.changeset/great-trams-report.md +5 -0
  377. package/repos/effect/.changeset/green-beds-unref.md +7 -0
  378. package/repos/effect/.changeset/green-chips-wash.md +5 -0
  379. package/repos/effect/.changeset/green-moons-smile.md +5 -0
  380. package/repos/effect/.changeset/green-pugs-play.md +5 -0
  381. package/repos/effect/.changeset/green-rings-prove.md +5 -0
  382. package/repos/effect/.changeset/happy-mirrors-dream.md +5 -0
  383. package/repos/effect/.changeset/heavy-loops-cut.md +5 -0
  384. package/repos/effect/.changeset/heavy-trams-fix.md +5 -0
  385. package/repos/effect/.changeset/hip-socks-travel.md +5 -0
  386. package/repos/effect/.changeset/honest-pens-thank.md +5 -0
  387. package/repos/effect/.changeset/honest-rivers-notice.md +5 -0
  388. package/repos/effect/.changeset/hot-taxis-fry.md +5 -0
  389. package/repos/effect/.changeset/httpapi-endpoint-relax-constraints.md +5 -0
  390. package/repos/effect/.changeset/httpapi-schema-service-types.md +6 -0
  391. package/repos/effect/.changeset/huge-moons-rhyme.md +5 -0
  392. package/repos/effect/.changeset/humble-pigs-dig.md +5 -0
  393. package/repos/effect/.changeset/icy-flies-cross.md +5 -0
  394. package/repos/effect/.changeset/itchy-radios-poke.md +5 -0
  395. package/repos/effect/.changeset/itchy-results-bet.md +5 -0
  396. package/repos/effect/.changeset/itchy-shrimps-deny.md +5 -0
  397. package/repos/effect/.changeset/itchy-toes-promise.md +5 -0
  398. package/repos/effect/.changeset/k8s-last-transition-null.md +5 -0
  399. package/repos/effect/.changeset/khaki-cats-learn.md +5 -0
  400. package/repos/effect/.changeset/khaki-melons-appear.md +5 -0
  401. package/repos/effect/.changeset/kind-hounds-float.md +5 -0
  402. package/repos/effect/.changeset/kind-windows-fall.md +5 -0
  403. package/repos/effect/.changeset/late-hotels-rule.md +5 -0
  404. package/repos/effect/.changeset/late-lamps-care.md +5 -0
  405. package/repos/effect/.changeset/late-rivers-applaud.md +5 -0
  406. package/repos/effect/.changeset/layer-map-dynamic-idle-ttl.md +5 -0
  407. package/repos/effect/.changeset/lazy-queens-rush.md +5 -0
  408. package/repos/effect/.changeset/lazy-recursive-forward-refs.md +5 -0
  409. package/repos/effect/.changeset/lazy-timers-exist.md +5 -0
  410. package/repos/effect/.changeset/legal-pants-drop.md +5 -0
  411. package/repos/effect/.changeset/lemon-taxis-sin.md +5 -0
  412. package/repos/effect/.changeset/light-kids-sneeze.md +5 -0
  413. package/repos/effect/.changeset/little-dryers-allow.md +7 -0
  414. package/repos/effect/.changeset/long-cameras-think.md +5 -0
  415. package/repos/effect/.changeset/lovely-cobras-change.md +5 -0
  416. package/repos/effect/.changeset/lovely-frogs-rescue.md +5 -0
  417. package/repos/effect/.changeset/lucky-buttons-jump.md +5 -0
  418. package/repos/effect/.changeset/lucky-phones-listen.md +5 -0
  419. package/repos/effect/.changeset/lucky-worms-type.md +5 -0
  420. package/repos/effect/.changeset/mean-dingos-share.md +5 -0
  421. package/repos/effect/.changeset/mean-trains-smash.md +5 -0
  422. package/repos/effect/.changeset/metal-parts-yell.md +5 -0
  423. package/repos/effect/.changeset/mighty-games-matter.md +5 -0
  424. package/repos/effect/.changeset/modern-uuid-guid-filter.md +5 -0
  425. package/repos/effect/.changeset/nasty-geese-grow.md +5 -0
  426. package/repos/effect/.changeset/neat-goats-wave.md +5 -0
  427. package/repos/effect/.changeset/neat-kings-chew.md +5 -0
  428. package/repos/effect/.changeset/neat-lions-rest.md +5 -0
  429. package/repos/effect/.changeset/neat-snails-wash.md +5 -0
  430. package/repos/effect/.changeset/neat-taxis-notice.md +5 -0
  431. package/repos/effect/.changeset/new-dogs-swim.md +5 -0
  432. package/repos/effect/.changeset/new-toes-stop.md +5 -0
  433. package/repos/effect/.changeset/ninety-geese-exist.md +5 -0
  434. package/repos/effect/.changeset/odd-boats-think.md +5 -0
  435. package/repos/effect/.changeset/odd-bulldogs-sleep.md +5 -0
  436. package/repos/effect/.changeset/odd-fans-glow.md +5 -0
  437. package/repos/effect/.changeset/odd-forks-talk.md +5 -0
  438. package/repos/effect/.changeset/odd-laws-draw.md +5 -0
  439. package/repos/effect/.changeset/odd-owls-smoke.md +5 -0
  440. package/repos/effect/.changeset/odd-socks-boil.md +5 -0
  441. package/repos/effect/.changeset/odd-suns-dance.md +5 -0
  442. package/repos/effect/.changeset/old-brooms-cry.md +5 -0
  443. package/repos/effect/.changeset/old-facts-stand.md +5 -0
  444. package/repos/effect/.changeset/old-mirrors-float.md +5 -0
  445. package/repos/effect/.changeset/olive-poems-visit.md +5 -0
  446. package/repos/effect/.changeset/open-hotels-remain.md +5 -0
  447. package/repos/effect/.changeset/openai-compat-nullable-tool-name.md +7 -0
  448. package/repos/effect/.changeset/openai-compat-reasoning.md +5 -0
  449. package/repos/effect/.changeset/otel-resource-env-precedence.md +5 -0
  450. package/repos/effect/.changeset/perfect-buckets-tickle.md +5 -0
  451. package/repos/effect/.changeset/petite-months-allow.md +6 -0
  452. package/repos/effect/.changeset/platform-crypto-service.md +9 -0
  453. package/repos/effect/.changeset/platform-node-shared-barrel.md +5 -0
  454. package/repos/effect/.changeset/plenty-moons-pull.md +5 -0
  455. package/repos/effect/.changeset/polite-brooms-tickle.md +5 -0
  456. package/repos/effect/.changeset/polite-pigs-speak.md +5 -0
  457. package/repos/effect/.changeset/polite-tables-kneel.md +5 -0
  458. package/repos/effect/.changeset/port-react-hydration.md +8 -0
  459. package/repos/effect/.changeset/pre.json +588 -0
  460. package/repos/effect/.changeset/public-deer-ring.md +5 -0
  461. package/repos/effect/.changeset/public-jeans-stop.md +5 -0
  462. package/repos/effect/.changeset/pubsub-publish-false.md +5 -0
  463. package/repos/effect/.changeset/puny-pens-clap.md +6 -0
  464. package/repos/effect/.changeset/purple-bars-prove.md +5 -0
  465. package/repos/effect/.changeset/purple-schools-float.md +5 -0
  466. package/repos/effect/.changeset/purple-turtles-draw.md +5 -0
  467. package/repos/effect/.changeset/quick-dragons-fix.md +5 -0
  468. package/repos/effect/.changeset/quick-falcons-travel.md +5 -0
  469. package/repos/effect/.changeset/quick-geese-relax.md +5 -0
  470. package/repos/effect/.changeset/quick-lamps-dig.md +5 -0
  471. package/repos/effect/.changeset/quick-lizards-fall.md +5 -0
  472. package/repos/effect/.changeset/quick-trees-join.md +5 -0
  473. package/repos/effect/.changeset/quiet-carpets-grin.md +5 -0
  474. package/repos/effect/.changeset/quiet-files-hunt.md +5 -0
  475. package/repos/effect/.changeset/quiet-lamps-jam.md +5 -0
  476. package/repos/effect/.changeset/quiet-radios-wave.md +5 -0
  477. package/repos/effect/.changeset/quiet-redis-scripts.md +5 -0
  478. package/repos/effect/.changeset/ready-olives-divide.md +5 -0
  479. package/repos/effect/.changeset/real-trains-ring.md +5 -0
  480. package/repos/effect/.changeset/red-pigs-repair.md +5 -0
  481. package/repos/effect/.changeset/redacted-representation-options.md +7 -0
  482. package/repos/effect/.changeset/refactor-cli-global-flags.md +27 -0
  483. package/repos/effect/.changeset/refactor-config-provider.md +23 -0
  484. package/repos/effect/.changeset/refactor-representation-references.md +5 -0
  485. package/repos/effect/.changeset/remove-effect-transactionwith.md +5 -0
  486. package/repos/effect/.changeset/remove-http-span-counter.md +5 -0
  487. package/repos/effect/.changeset/remove-nullor.md +5 -0
  488. package/repos/effect/.changeset/remove-openapi-fromapi-options.md +7 -0
  489. package/repos/effect/.changeset/remove-types-mergerecord.md +5 -0
  490. package/repos/effect/.changeset/remove-unused-utils-apis.md +5 -0
  491. package/repos/effect/.changeset/rename-rebuild-out.md +5 -0
  492. package/repos/effect/.changeset/restore-schema-parse-options.md +5 -0
  493. package/repos/effect/.changeset/rich-dots-push.md +5 -0
  494. package/repos/effect/.changeset/rich-hoops-nail.md +5 -0
  495. package/repos/effect/.changeset/rich-sloths-draw.md +5 -0
  496. package/repos/effect/.changeset/ripe-lies-battle.md +5 -0
  497. package/repos/effect/.changeset/rpc-middleware-provides-fix.md +5 -0
  498. package/repos/effect/.changeset/scalar-custom-fetch.md +5 -0
  499. package/repos/effect/.changeset/schema-as-class.md +17 -0
  500. package/repos/effect/.changeset/schema-asserts-signature.md +5 -0
  501. package/repos/effect/.changeset/schema-clean-up-additionalProperties.md +7 -0
  502. package/repos/effect/.changeset/schema-datetime-utc-from-string.md +5 -0
  503. package/repos/effect/.changeset/schema-decoding-defaults-services.md +7 -0
  504. package/repos/effect/.changeset/schema-defaults-issue-channel.md +7 -0
  505. package/repos/effect/.changeset/schema-dollar-prefix.md +5 -0
  506. package/repos/effect/.changeset/schema-missing-self-generic.md +5 -0
  507. package/repos/effect/.changeset/schema-ordered-arbitrary-constraints.md +12 -0
  508. package/repos/effect/.changeset/schema-parser-adapter-errors.md +5 -0
  509. package/repos/effect/.changeset/schema-refactor-toCodecJson.md +5 -0
  510. package/repos/effect/.changeset/schema-remove-annotate-in.md +5 -0
  511. package/repos/effect/.changeset/schema-rename-makeUnsafe-to-make.md +7 -0
  512. package/repos/effect/.changeset/schema-rename-parser-makeUnsafe.md +5 -0
  513. package/repos/effect/.changeset/schema-result-combinators.md +5 -0
  514. package/repos/effect/.changeset/schema-struct-simplify.md +5 -0
  515. package/repos/effect/.changeset/seven-mugs-marry.md +5 -0
  516. package/repos/effect/.changeset/shaggy-birds-stay.md +5 -0
  517. package/repos/effect/.changeset/shaggy-cities-push.md +5 -0
  518. package/repos/effect/.changeset/shaggy-numbers-accept.md +5 -0
  519. package/repos/effect/.changeset/sharp-emus-applaud.md +5 -0
  520. package/repos/effect/.changeset/sharp-goats-wink.md +5 -0
  521. package/repos/effect/.changeset/sharp-pandas-care.md +5 -0
  522. package/repos/effect/.changeset/sharp-peas-march.md +5 -0
  523. package/repos/effect/.changeset/sharp-rules-draw.md +5 -0
  524. package/repos/effect/.changeset/sharp-singers-sort.md +5 -0
  525. package/repos/effect/.changeset/shiny-trains-hug.md +5 -0
  526. package/repos/effect/.changeset/short-cows-relate.md +5 -0
  527. package/repos/effect/.changeset/short-foxes-admire.md +5 -0
  528. package/repos/effect/.changeset/shy-cycles-flow.md +5 -0
  529. package/repos/effect/.changeset/shy-geckos-sniff.md +30 -0
  530. package/repos/effect/.changeset/silent-geckos-matter.md +5 -0
  531. package/repos/effect/.changeset/silent-needles-design.md +6 -0
  532. package/repos/effect/.changeset/silent-plants-matter.md +8 -0
  533. package/repos/effect/.changeset/silent-spoons-stare.md +5 -0
  534. package/repos/effect/.changeset/silly-loops-tickle.md +5 -0
  535. package/repos/effect/.changeset/silver-bulk-indexeddb.md +5 -0
  536. package/repos/effect/.changeset/silver-emus-smoke.md +5 -0
  537. package/repos/effect/.changeset/silver-kings-poke.md +5 -0
  538. package/repos/effect/.changeset/silver-snails-sqlite.md +17 -0
  539. package/repos/effect/.changeset/silver-wings-watch.md +5 -0
  540. package/repos/effect/.changeset/six-cups-taste.md +5 -0
  541. package/repos/effect/.changeset/sixty-mails-shout.md +5 -0
  542. package/repos/effect/.changeset/sixty-socks-yell.md +5 -0
  543. package/repos/effect/.changeset/slimy-planets-divide.md +5 -0
  544. package/repos/effect/.changeset/slimy-turtles-juggle.md +5 -0
  545. package/repos/effect/.changeset/slow-beans-battle.md +28 -0
  546. package/repos/effect/.changeset/slow-berries-enjoy.md +5 -0
  547. package/repos/effect/.changeset/small-bugs-hunt.md +5 -0
  548. package/repos/effect/.changeset/small-crabs-care.md +9 -0
  549. package/repos/effect/.changeset/small-pets-sit.md +6 -0
  550. package/repos/effect/.changeset/smart-ducks-jump.md +6 -0
  551. package/repos/effect/.changeset/smart-pillows-buy.md +6 -0
  552. package/repos/effect/.changeset/smart-timers-fly.md +5 -0
  553. package/repos/effect/.changeset/smart-tips-sort.md +5 -0
  554. package/repos/effect/.changeset/social-pumas-prove.md +5 -0
  555. package/repos/effect/.changeset/soft-comics-wink.md +5 -0
  556. package/repos/effect/.changeset/soft-delete-sqlmodel.md +5 -0
  557. package/repos/effect/.changeset/soft-seals-allow.md +5 -0
  558. package/repos/effect/.changeset/solid-cougars-attack.md +5 -0
  559. package/repos/effect/.changeset/solid-doors-ring.md +5 -0
  560. package/repos/effect/.changeset/solid-items-tease.md +5 -0
  561. package/repos/effect/.changeset/solid-towns-smoke.md +5 -0
  562. package/repos/effect/.changeset/sour-canyons-rescue.md +5 -0
  563. package/repos/effect/.changeset/sparkly-bears-act.md +5 -0
  564. package/repos/effect/.changeset/sparkly-coins-sit.md +5 -0
  565. package/repos/effect/.changeset/spotty-comics-fry.md +5 -0
  566. package/repos/effect/.changeset/sql-migrator-mjs-mts.md +5 -0
  567. package/repos/effect/.changeset/stale-dots-tell.md +5 -0
  568. package/repos/effect/.changeset/stale-snakes-know.md +5 -0
  569. package/repos/effect/.changeset/strict-areas-end.md +5 -0
  570. package/repos/effect/.changeset/strict-buckets-hug.md +8 -0
  571. package/repos/effect/.changeset/strip-resolved-approvals.md +5 -0
  572. package/repos/effect/.changeset/strong-balloons-tickle.md +5 -0
  573. package/repos/effect/.changeset/strong-bees-queue.md +5 -0
  574. package/repos/effect/.changeset/struct-record.md +5 -0
  575. package/repos/effect/.changeset/sunny-ads-hang.md +5 -0
  576. package/repos/effect/.changeset/sunny-bikes-sleep.md +5 -0
  577. package/repos/effect/.changeset/sunny-rooms-invent.md +5 -0
  578. package/repos/effect/.changeset/sweet-donuts-bet.md +5 -0
  579. package/repos/effect/.changeset/sweet-hotels-give.md +5 -0
  580. package/repos/effect/.changeset/sweet-views-learn.md +5 -0
  581. package/repos/effect/.changeset/swift-spiders-unpack.md +5 -0
  582. package/repos/effect/.changeset/swift-symbols-stand.md +5 -0
  583. package/repos/effect/.changeset/tagged-error-class-optional-empty-props.md +5 -0
  584. package/repos/effect/.changeset/tall-hairs-return.md +5 -0
  585. package/repos/effect/.changeset/tall-mails-listen.md +5 -0
  586. package/repos/effect/.changeset/tall-queens-cheer.md +5 -0
  587. package/repos/effect/.changeset/tall-wombats-wave.md +5 -0
  588. package/repos/effect/.changeset/tangy-colts-lose.md +5 -0
  589. package/repos/effect/.changeset/tasty-comics-send.md +5 -0
  590. package/repos/effect/.changeset/ten-kings-fry.md +5 -0
  591. package/repos/effect/.changeset/thick-pandas-wait.md +5 -0
  592. package/repos/effect/.changeset/thin-ducks-wonder.md +5 -0
  593. package/repos/effect/.changeset/thirty-ducks-go.md +5 -0
  594. package/repos/effect/.changeset/thirty-pans-love.md +5 -0
  595. package/repos/effect/.changeset/three-corners-sort.md +5 -0
  596. package/repos/effect/.changeset/three-ravens-jam.md +5 -0
  597. package/repos/effect/.changeset/three-tomatoes-wave.md +5 -0
  598. package/repos/effect/.changeset/tidy-foxes-own.md +5 -0
  599. package/repos/effect/.changeset/tidy-icons-glow.md +5 -0
  600. package/repos/effect/.changeset/tidy-stacks-encode.md +5 -0
  601. package/repos/effect/.changeset/tidy-stars-drive.md +5 -0
  602. package/repos/effect/.changeset/tiny-buckets-wave.md +5 -0
  603. package/repos/effect/.changeset/tiny-lilies-flash.md +5 -0
  604. package/repos/effect/.changeset/tiny-rabbits-smile.md +5 -0
  605. package/repos/effect/.changeset/tocodecjson-return-json-type.md +10 -0
  606. package/repos/effect/.changeset/tool-get-json-schema-tests.md +5 -0
  607. package/repos/effect/.changeset/true-actors-battle.md +5 -0
  608. package/repos/effect/.changeset/twenty-buttons-cheer.md +5 -0
  609. package/repos/effect/.changeset/two-roses-double.md +5 -0
  610. package/repos/effect/.changeset/unify-error-defect-stack-options.md +23 -0
  611. package/repos/effect/.changeset/update-schema-arbitrary-report.md +22 -0
  612. package/repos/effect/.changeset/upset-colts-stick.md +5 -0
  613. package/repos/effect/.changeset/vast-bananas-send.md +5 -0
  614. package/repos/effect/.changeset/vast-deserts-travel.md +5 -0
  615. package/repos/effect/.changeset/violet-peaches-feel.md +5 -0
  616. package/repos/effect/.changeset/vitest-layer-top-level-options.md +5 -0
  617. package/repos/effect/.changeset/wacky-grapes-poke.md +5 -0
  618. package/repos/effect/.changeset/wacky-rice-add.md +5 -0
  619. package/repos/effect/.changeset/warm-dolls-brake.md +5 -0
  620. package/repos/effect/.changeset/warm-friends-tie.md +5 -0
  621. package/repos/effect/.changeset/warm-snails-shop.md +7 -0
  622. package/repos/effect/.changeset/wet-news-invent.md +5 -0
  623. package/repos/effect/.changeset/wild-readers-clean.md +5 -0
  624. package/repos/effect/.changeset/wild-suns-bearer-space.md +5 -0
  625. package/repos/effect/.changeset/wise-ants-wave.md +6 -0
  626. package/repos/effect/.changeset/wise-flags-shift.md +22 -0
  627. package/repos/effect/.changeset/wise-oranges-stay.md +5 -0
  628. package/repos/effect/.changeset/witty-lobsters-share.md +5 -0
  629. package/repos/effect/.changeset/yellow-adults-study.md +5 -0
  630. package/repos/effect/.changeset/yellow-clocks-dance.md +5 -0
  631. package/repos/effect/.changeset/yellow-dingos-jump.md +5 -0
  632. package/repos/effect/.changeset/young-doors-change.md +5 -0
  633. package/repos/effect/.envrc +1 -0
  634. package/repos/effect/.github/actions/setup/action.yaml +33 -0
  635. package/repos/effect/.github/workflows/ai-codegen.yml +66 -0
  636. package/repos/effect/.github/workflows/bundle-comment.yml +72 -0
  637. package/repos/effect/.github/workflows/check.yml +195 -0
  638. package/repos/effect/.github/workflows/release.yml +47 -0
  639. package/repos/effect/.github/workflows/snapshot.yml +34 -0
  640. package/repos/effect/.oxlintrc.json +25 -0
  641. package/repos/effect/.patterns/effect.md +102 -0
  642. package/repos/effect/.patterns/jsdoc.md +53 -0
  643. package/repos/effect/.patterns/testing.md +44 -0
  644. package/repos/effect/.specs/README.md +2 -0
  645. package/repos/effect/.vscode/extensions.json +6 -0
  646. package/repos/effect/.vscode/settings.json +44 -0
  647. package/repos/effect/AGENTS.md +139 -0
  648. package/repos/effect/LICENSE +21 -0
  649. package/repos/effect/LLMS.md +343 -0
  650. package/repos/effect/MIGRATION.md +83 -0
  651. package/repos/effect/README.md +3 -0
  652. package/repos/effect/TODOS.md +28 -0
  653. package/repos/effect/ai-docs/README.md +44 -0
  654. package/repos/effect/ai-docs/package.json +36 -0
  655. package/repos/effect/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
  656. package/repos/effect/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
  657. package/repos/effect/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
  658. package/repos/effect/ai-docs/src/01_effect/01_basics/index.md +5 -0
  659. package/repos/effect/ai-docs/src/01_effect/02_services/01_service.ts +45 -0
  660. package/repos/effect/ai-docs/src/01_effect/02_services/10_reference.ts +10 -0
  661. package/repos/effect/ai-docs/src/01_effect/02_services/20_layer-composition.ts +70 -0
  662. package/repos/effect/ai-docs/src/01_effect/02_services/20_layer-unwrap.ts +66 -0
  663. package/repos/effect/ai-docs/src/01_effect/02_services/index.md +5 -0
  664. package/repos/effect/ai-docs/src/01_effect/03_errors/01_error-handling.ts +30 -0
  665. package/repos/effect/ai-docs/src/01_effect/03_errors/10_catch-tags.ts +24 -0
  666. package/repos/effect/ai-docs/src/01_effect/03_errors/20_reason-errors.ts +64 -0
  667. package/repos/effect/ai-docs/src/01_effect/03_errors/index.md +1 -0
  668. package/repos/effect/ai-docs/src/01_effect/04_resources/10_acquire-release.ts +105 -0
  669. package/repos/effect/ai-docs/src/01_effect/04_resources/20_layer-side-effects.ts +31 -0
  670. package/repos/effect/ai-docs/src/01_effect/04_resources/30_layer-map.ts +86 -0
  671. package/repos/effect/ai-docs/src/01_effect/04_resources/index.md +3 -0
  672. package/repos/effect/ai-docs/src/01_effect/05_running/10_run-main.ts +30 -0
  673. package/repos/effect/ai-docs/src/01_effect/05_running/20_layer-launch.ts +27 -0
  674. package/repos/effect/ai-docs/src/01_effect/05_running/index.md +1 -0
  675. package/repos/effect/ai-docs/src/01_effect/06_pubsub/10_pubsub.ts +56 -0
  676. package/repos/effect/ai-docs/src/01_effect/06_pubsub/index.md +3 -0
  677. package/repos/effect/ai-docs/src/02_stream/10_creating-streams.ts +103 -0
  678. package/repos/effect/ai-docs/src/02_stream/20_consuming-streams.ts +137 -0
  679. package/repos/effect/ai-docs/src/02_stream/30_encoding.ts +165 -0
  680. package/repos/effect/ai-docs/src/02_stream/index.md +4 -0
  681. package/repos/effect/ai-docs/src/03_integration/10_managed-runtime.ts +129 -0
  682. package/repos/effect/ai-docs/src/03_integration/index.md +5 -0
  683. package/repos/effect/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
  684. package/repos/effect/ai-docs/src/05_batching/index.md +3 -0
  685. package/repos/effect/ai-docs/src/06_schedule/10_schedules.ts +102 -0
  686. package/repos/effect/ai-docs/src/06_schedule/index.md +3 -0
  687. package/repos/effect/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
  688. package/repos/effect/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
  689. package/repos/effect/ai-docs/src/07_datetime/index.md +5 -0
  690. package/repos/effect/ai-docs/src/08_observability/10_logging.ts +66 -0
  691. package/repos/effect/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
  692. package/repos/effect/ai-docs/src/08_observability/index.md +7 -0
  693. package/repos/effect/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
  694. package/repos/effect/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
  695. package/repos/effect/ai-docs/src/09_testing/index.md +1 -0
  696. package/repos/effect/ai-docs/src/50_http-client/10_basics.ts +102 -0
  697. package/repos/effect/ai-docs/src/50_http-client/index.md +3 -0
  698. package/repos/effect/ai-docs/src/51_http-server/10_basics.ts +116 -0
  699. package/repos/effect/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
  700. package/repos/effect/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
  701. package/repos/effect/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
  702. package/repos/effect/ai-docs/src/51_http-server/fixtures/api/Users.ts +91 -0
  703. package/repos/effect/ai-docs/src/51_http-server/fixtures/domain/User.ts +12 -0
  704. package/repos/effect/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
  705. package/repos/effect/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +36 -0
  706. package/repos/effect/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +71 -0
  707. package/repos/effect/ai-docs/src/51_http-server/fixtures/server/Users.ts +62 -0
  708. package/repos/effect/ai-docs/src/51_http-server/index.md +3 -0
  709. package/repos/effect/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
  710. package/repos/effect/ai-docs/src/60_child-process/index.md +3 -0
  711. package/repos/effect/ai-docs/src/70_cli/10_basics.ts +136 -0
  712. package/repos/effect/ai-docs/src/70_cli/index.md +5 -0
  713. package/repos/effect/ai-docs/src/71_ai/10_language-model.ts +156 -0
  714. package/repos/effect/ai-docs/src/71_ai/20_tools.ts +226 -0
  715. package/repos/effect/ai-docs/src/71_ai/30_chat.ts +158 -0
  716. package/repos/effect/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
  717. package/repos/effect/ai-docs/src/71_ai/index.md +5 -0
  718. package/repos/effect/ai-docs/src/80_cluster/10_entities.ts +97 -0
  719. package/repos/effect/ai-docs/src/80_cluster/index.md +4 -0
  720. package/repos/effect/ai-docs/src/index.md +12 -0
  721. package/repos/effect/ai-docs/tsconfig.json +24 -0
  722. package/repos/effect/cookbooks/schedule.md +3507 -0
  723. package/repos/effect/deno.json +33 -0
  724. package/repos/effect/docker-compose.yaml +18 -0
  725. package/repos/effect/dprint.json +32 -0
  726. package/repos/effect/flake.lock +27 -0
  727. package/repos/effect/flake.nix +24 -0
  728. package/repos/effect/jsdocs.config.json +16 -0
  729. package/repos/effect/migration/cause.md +163 -0
  730. package/repos/effect/migration/equality.md +72 -0
  731. package/repos/effect/migration/error-handling.md +106 -0
  732. package/repos/effect/migration/fiber-keep-alive.md +74 -0
  733. package/repos/effect/migration/fiberref.md +109 -0
  734. package/repos/effect/migration/forking.md +94 -0
  735. package/repos/effect/migration/generators.md +32 -0
  736. package/repos/effect/migration/layer-memoization.md +98 -0
  737. package/repos/effect/migration/runtime.md +88 -0
  738. package/repos/effect/migration/schema.md +1032 -0
  739. package/repos/effect/migration/scope.md +50 -0
  740. package/repos/effect/migration/services.md +235 -0
  741. package/repos/effect/migration/v3-to-v4.md +421 -0
  742. package/repos/effect/migration/yieldable.md +173 -0
  743. package/repos/effect/package.json +104 -0
  744. package/repos/effect/packages/ai/anthropic/CHANGELOG.md +611 -0
  745. package/repos/effect/packages/ai/anthropic/codegen.yml +63 -0
  746. package/repos/effect/packages/ai/anthropic/docgen.json +26 -0
  747. package/repos/effect/packages/ai/anthropic/package.json +67 -0
  748. package/repos/effect/packages/ai/anthropic/src/AnthropicClient.ts +432 -0
  749. package/repos/effect/packages/ai/anthropic/src/AnthropicConfig.ts +84 -0
  750. package/repos/effect/packages/ai/anthropic/src/AnthropicError.ts +212 -0
  751. package/repos/effect/packages/ai/anthropic/src/AnthropicLanguageModel.ts +3098 -0
  752. package/repos/effect/packages/ai/anthropic/src/AnthropicTelemetry.ts +132 -0
  753. package/repos/effect/packages/ai/anthropic/src/AnthropicTool.ts +2512 -0
  754. package/repos/effect/packages/ai/anthropic/src/Generated.ts +12600 -0
  755. package/repos/effect/packages/ai/anthropic/src/index.ts +40 -0
  756. package/repos/effect/packages/ai/anthropic/src/internal/errors.ts +370 -0
  757. package/repos/effect/packages/ai/anthropic/src/internal/utilities.ts +26 -0
  758. package/repos/effect/packages/ai/anthropic/test/AnthropicLanguageModel.test.ts +300 -0
  759. package/repos/effect/packages/ai/anthropic/tsconfig.json +8 -0
  760. package/repos/effect/packages/ai/anthropic/vitest.config.ts +6 -0
  761. package/repos/effect/packages/ai/openai/CHANGELOG.md +668 -0
  762. package/repos/effect/packages/ai/openai/codegen.yaml +41 -0
  763. package/repos/effect/packages/ai/openai/docgen.json +24 -0
  764. package/repos/effect/packages/ai/openai/package.json +67 -0
  765. package/repos/effect/packages/ai/openai/src/Generated.ts +35774 -0
  766. package/repos/effect/packages/ai/openai/src/OpenAiClient.ts +730 -0
  767. package/repos/effect/packages/ai/openai/src/OpenAiClientGenerated.ts +202 -0
  768. package/repos/effect/packages/ai/openai/src/OpenAiConfig.ts +93 -0
  769. package/repos/effect/packages/ai/openai/src/OpenAiEmbeddingModel.ts +258 -0
  770. package/repos/effect/packages/ai/openai/src/OpenAiError.ts +242 -0
  771. package/repos/effect/packages/ai/openai/src/OpenAiLanguageModel.ts +3133 -0
  772. package/repos/effect/packages/ai/openai/src/OpenAiSchema.ts +1286 -0
  773. package/repos/effect/packages/ai/openai/src/OpenAiTelemetry.ts +162 -0
  774. package/repos/effect/packages/ai/openai/src/OpenAiTool.ts +342 -0
  775. package/repos/effect/packages/ai/openai/src/index.ts +55 -0
  776. package/repos/effect/packages/ai/openai/src/internal/errors.ts +349 -0
  777. package/repos/effect/packages/ai/openai/src/internal/utilities.ts +33 -0
  778. package/repos/effect/packages/ai/openai/test/OpenAiClient.test.ts +798 -0
  779. package/repos/effect/packages/ai/openai/test/OpenAiEmbeddingModel.test.ts +289 -0
  780. package/repos/effect/packages/ai/openai/test/OpenAiLanguageModel.test.ts +1528 -0
  781. package/repos/effect/packages/ai/openai/test/OpenAiSchema.test.ts +273 -0
  782. package/repos/effect/packages/ai/openai/tsconfig.json +8 -0
  783. package/repos/effect/packages/ai/openai/vitest.config.ts +6 -0
  784. package/repos/effect/packages/ai/openai-compat/CHANGELOG.md +626 -0
  785. package/repos/effect/packages/ai/openai-compat/docgen.json +24 -0
  786. package/repos/effect/packages/ai/openai-compat/package.json +69 -0
  787. package/repos/effect/packages/ai/openai-compat/src/OpenAiClient.ts +1221 -0
  788. package/repos/effect/packages/ai/openai-compat/src/OpenAiConfig.ts +87 -0
  789. package/repos/effect/packages/ai/openai-compat/src/OpenAiEmbeddingModel.ts +254 -0
  790. package/repos/effect/packages/ai/openai-compat/src/OpenAiError.ts +178 -0
  791. package/repos/effect/packages/ai/openai-compat/src/OpenAiLanguageModel.ts +1951 -0
  792. package/repos/effect/packages/ai/openai-compat/src/OpenAiTelemetry.ts +164 -0
  793. package/repos/effect/packages/ai/openai-compat/src/index.ts +35 -0
  794. package/repos/effect/packages/ai/openai-compat/src/internal/errors.ts +327 -0
  795. package/repos/effect/packages/ai/openai-compat/src/internal/utilities.ts +33 -0
  796. package/repos/effect/packages/ai/openai-compat/test/OpenAiClient.test.ts +474 -0
  797. package/repos/effect/packages/ai/openai-compat/test/OpenAiEmbeddingModel.test.ts +216 -0
  798. package/repos/effect/packages/ai/openai-compat/test/OpenAiLanguageModel.test.ts +1505 -0
  799. package/repos/effect/packages/ai/openai-compat/tsconfig.json +8 -0
  800. package/repos/effect/packages/ai/openai-compat/vitest.config.ts +6 -0
  801. package/repos/effect/packages/ai/openrouter/CHANGELOG.md +607 -0
  802. package/repos/effect/packages/ai/openrouter/codegen.yml +35 -0
  803. package/repos/effect/packages/ai/openrouter/docgen.json +24 -0
  804. package/repos/effect/packages/ai/openrouter/package.json +67 -0
  805. package/repos/effect/packages/ai/openrouter/src/Generated.ts +10028 -0
  806. package/repos/effect/packages/ai/openrouter/src/OpenRouterClient.ts +357 -0
  807. package/repos/effect/packages/ai/openrouter/src/OpenRouterConfig.ts +99 -0
  808. package/repos/effect/packages/ai/openrouter/src/OpenRouterError.ts +225 -0
  809. package/repos/effect/packages/ai/openrouter/src/OpenRouterLanguageModel.ts +1796 -0
  810. package/repos/effect/packages/ai/openrouter/src/index.ts +30 -0
  811. package/repos/effect/packages/ai/openrouter/src/internal/errors.ts +375 -0
  812. package/repos/effect/packages/ai/openrouter/src/internal/utilities.ts +92 -0
  813. package/repos/effect/packages/ai/openrouter/tsconfig.json +10 -0
  814. package/repos/effect/packages/ai/openrouter/vitest.config.ts +6 -0
  815. package/repos/effect/packages/atom/react/CHANGELOG.md +599 -0
  816. package/repos/effect/packages/atom/react/LICENSE +21 -0
  817. package/repos/effect/packages/atom/react/README.md +7 -0
  818. package/repos/effect/packages/atom/react/docgen.json +25 -0
  819. package/repos/effect/packages/atom/react/package.json +79 -0
  820. package/repos/effect/packages/atom/react/src/Hooks.ts +476 -0
  821. package/repos/effect/packages/atom/react/src/ReactHydration.ts +109 -0
  822. package/repos/effect/packages/atom/react/src/RegistryContext.ts +108 -0
  823. package/repos/effect/packages/atom/react/src/ScopedAtom.ts +151 -0
  824. package/repos/effect/packages/atom/react/src/index.ts +23 -0
  825. package/repos/effect/packages/atom/react/test/index.test.tsx +650 -0
  826. package/repos/effect/packages/atom/react/tsconfig.json +8 -0
  827. package/repos/effect/packages/atom/react/vitest.config.ts +9 -0
  828. package/repos/effect/packages/atom/react/vitest.setup.ts +8 -0
  829. package/repos/effect/packages/atom/solid/CHANGELOG.md +595 -0
  830. package/repos/effect/packages/atom/solid/LICENSE +21 -0
  831. package/repos/effect/packages/atom/solid/README.md +7 -0
  832. package/repos/effect/packages/atom/solid/docgen.json +26 -0
  833. package/repos/effect/packages/atom/solid/package.json +72 -0
  834. package/repos/effect/packages/atom/solid/src/Hooks.ts +359 -0
  835. package/repos/effect/packages/atom/solid/src/RegistryContext.ts +80 -0
  836. package/repos/effect/packages/atom/solid/src/index.ts +13 -0
  837. package/repos/effect/packages/atom/solid/test/index.test.tsx +296 -0
  838. package/repos/effect/packages/atom/solid/tsconfig.json +8 -0
  839. package/repos/effect/packages/atom/solid/vitest.config.ts +15 -0
  840. package/repos/effect/packages/atom/solid/vitest.setup.ts +8 -0
  841. package/repos/effect/packages/atom/vue/CHANGELOG.md +593 -0
  842. package/repos/effect/packages/atom/vue/LICENSE +21 -0
  843. package/repos/effect/packages/atom/vue/README.md +7 -0
  844. package/repos/effect/packages/atom/vue/docgen.json +24 -0
  845. package/repos/effect/packages/atom/vue/package.json +68 -0
  846. package/repos/effect/packages/atom/vue/src/index.ts +211 -0
  847. package/repos/effect/packages/atom/vue/test/index.test.ts +5 -0
  848. package/repos/effect/packages/atom/vue/tsconfig.json +14 -0
  849. package/repos/effect/packages/atom/vue/vitest.config.ts +8 -0
  850. package/repos/effect/packages/effect/CHANGELOG.md +1607 -0
  851. package/repos/effect/packages/effect/CONFIG.md +690 -0
  852. package/repos/effect/packages/effect/HTTPAPI.md +3213 -0
  853. package/repos/effect/packages/effect/LICENSE +21 -0
  854. package/repos/effect/packages/effect/MCP.md +369 -0
  855. package/repos/effect/packages/effect/OPTIC.md +620 -0
  856. package/repos/effect/packages/effect/README.md +53 -0
  857. package/repos/effect/packages/effect/SCHEMA.md +7284 -0
  858. package/repos/effect/packages/effect/benchmark/schema/Enums.ts +40 -0
  859. package/repos/effect/packages/effect/benchmark/schema/Optic.ts +79 -0
  860. package/repos/effect/packages/effect/benchmark/schema/array.ts +74 -0
  861. package/repos/effect/packages/effect/benchmark/schema/filter.ts +74 -0
  862. package/repos/effect/packages/effect/benchmark/schema/object.ts +82 -0
  863. package/repos/effect/packages/effect/benchmark/schema/tagged-union.ts +69 -0
  864. package/repos/effect/packages/effect/benchmark/schema/transformation.ts +91 -0
  865. package/repos/effect/packages/effect/benchmark/stream/splitLines.ts +46 -0
  866. package/repos/effect/packages/effect/docgen.json +38 -0
  867. package/repos/effect/packages/effect/package.json +127 -0
  868. package/repos/effect/packages/effect/src/Array.ts +4908 -0
  869. package/repos/effect/packages/effect/src/BigDecimal.ts +1943 -0
  870. package/repos/effect/packages/effect/src/BigInt.ts +1029 -0
  871. package/repos/effect/packages/effect/src/Boolean.ts +481 -0
  872. package/repos/effect/packages/effect/src/Brand.ts +318 -0
  873. package/repos/effect/packages/effect/src/Cache.ts +1295 -0
  874. package/repos/effect/packages/effect/src/Cause.ts +1939 -0
  875. package/repos/effect/packages/effect/src/Channel.ts +8615 -0
  876. package/repos/effect/packages/effect/src/ChannelSchema.ts +308 -0
  877. package/repos/effect/packages/effect/src/Chunk.ts +2976 -0
  878. package/repos/effect/packages/effect/src/Clock.ts +194 -0
  879. package/repos/effect/packages/effect/src/Combiner.ts +316 -0
  880. package/repos/effect/packages/effect/src/Config.ts +1416 -0
  881. package/repos/effect/packages/effect/src/ConfigProvider.ts +1159 -0
  882. package/repos/effect/packages/effect/src/Console.ts +653 -0
  883. package/repos/effect/packages/effect/src/Context.ts +1339 -0
  884. package/repos/effect/packages/effect/src/Cron.ts +1212 -0
  885. package/repos/effect/packages/effect/src/Crypto.ts +318 -0
  886. package/repos/effect/packages/effect/src/Data.ts +774 -0
  887. package/repos/effect/packages/effect/src/DateTime.ts +2922 -0
  888. package/repos/effect/packages/effect/src/Deferred.ts +917 -0
  889. package/repos/effect/packages/effect/src/Differ.ts +32 -0
  890. package/repos/effect/packages/effect/src/Duration.ts +1827 -0
  891. package/repos/effect/packages/effect/src/Effect.ts +15347 -0
  892. package/repos/effect/packages/effect/src/Effectable.ts +68 -0
  893. package/repos/effect/packages/effect/src/Encoding.ts +1046 -0
  894. package/repos/effect/packages/effect/src/Equal.ts +550 -0
  895. package/repos/effect/packages/effect/src/Equivalence.ts +870 -0
  896. package/repos/effect/packages/effect/src/ErrorReporter.ts +543 -0
  897. package/repos/effect/packages/effect/src/ExecutionPlan.ts +416 -0
  898. package/repos/effect/packages/effect/src/Exit.ts +1085 -0
  899. package/repos/effect/packages/effect/src/Fiber.ts +632 -0
  900. package/repos/effect/packages/effect/src/FiberHandle.ts +815 -0
  901. package/repos/effect/packages/effect/src/FiberMap.ts +1030 -0
  902. package/repos/effect/packages/effect/src/FiberSet.ts +713 -0
  903. package/repos/effect/packages/effect/src/FileSystem.ts +1394 -0
  904. package/repos/effect/packages/effect/src/Filter.ts +827 -0
  905. package/repos/effect/packages/effect/src/Formatter.ts +319 -0
  906. package/repos/effect/packages/effect/src/Function.ts +1415 -0
  907. package/repos/effect/packages/effect/src/Graph.ts +4892 -0
  908. package/repos/effect/packages/effect/src/HKT.ts +213 -0
  909. package/repos/effect/packages/effect/src/Hash.ts +539 -0
  910. package/repos/effect/packages/effect/src/HashMap.ts +1236 -0
  911. package/repos/effect/packages/effect/src/HashRing.ts +426 -0
  912. package/repos/effect/packages/effect/src/HashSet.ts +605 -0
  913. package/repos/effect/packages/effect/src/Inspectable.ts +329 -0
  914. package/repos/effect/packages/effect/src/Iterable.ts +2483 -0
  915. package/repos/effect/packages/effect/src/JsonPatch.ts +469 -0
  916. package/repos/effect/packages/effect/src/JsonPointer.ts +80 -0
  917. package/repos/effect/packages/effect/src/JsonSchema.ts +948 -0
  918. package/repos/effect/packages/effect/src/Latch.ts +373 -0
  919. package/repos/effect/packages/effect/src/Layer.ts +2773 -0
  920. package/repos/effect/packages/effect/src/LayerMap.ts +468 -0
  921. package/repos/effect/packages/effect/src/LogLevel.ts +412 -0
  922. package/repos/effect/packages/effect/src/Logger.ts +1284 -0
  923. package/repos/effect/packages/effect/src/ManagedRuntime.ts +381 -0
  924. package/repos/effect/packages/effect/src/Match.ts +2606 -0
  925. package/repos/effect/packages/effect/src/Metric.ts +4058 -0
  926. package/repos/effect/packages/effect/src/MutableHashMap.ts +845 -0
  927. package/repos/effect/packages/effect/src/MutableHashSet.ts +422 -0
  928. package/repos/effect/packages/effect/src/MutableList.ts +967 -0
  929. package/repos/effect/packages/effect/src/MutableRef.ts +822 -0
  930. package/repos/effect/packages/effect/src/Newtype.ts +319 -0
  931. package/repos/effect/packages/effect/src/NonEmptyIterable.ts +221 -0
  932. package/repos/effect/packages/effect/src/Number.ts +860 -0
  933. package/repos/effect/packages/effect/src/Optic.ts +1701 -0
  934. package/repos/effect/packages/effect/src/Option.ts +2664 -0
  935. package/repos/effect/packages/effect/src/Order.ts +982 -0
  936. package/repos/effect/packages/effect/src/Ordering.ts +182 -0
  937. package/repos/effect/packages/effect/src/PartitionedSemaphore.ts +561 -0
  938. package/repos/effect/packages/effect/src/Path.ts +870 -0
  939. package/repos/effect/packages/effect/src/Pipeable.ts +674 -0
  940. package/repos/effect/packages/effect/src/PlatformError.ts +221 -0
  941. package/repos/effect/packages/effect/src/Pool.ts +699 -0
  942. package/repos/effect/packages/effect/src/Predicate.ts +1872 -0
  943. package/repos/effect/packages/effect/src/PrimaryKey.ts +123 -0
  944. package/repos/effect/packages/effect/src/PubSub.ts +2797 -0
  945. package/repos/effect/packages/effect/src/Pull.ts +376 -0
  946. package/repos/effect/packages/effect/src/Queue.ts +1962 -0
  947. package/repos/effect/packages/effect/src/Random.ts +549 -0
  948. package/repos/effect/packages/effect/src/RcMap.ts +612 -0
  949. package/repos/effect/packages/effect/src/RcRef.ts +225 -0
  950. package/repos/effect/packages/effect/src/Record.ts +1563 -0
  951. package/repos/effect/packages/effect/src/Redactable.ts +168 -0
  952. package/repos/effect/packages/effect/src/Redacted.ts +314 -0
  953. package/repos/effect/packages/effect/src/Reducer.ts +178 -0
  954. package/repos/effect/packages/effect/src/Ref.ts +801 -0
  955. package/repos/effect/packages/effect/src/References.ts +786 -0
  956. package/repos/effect/packages/effect/src/RegExp.ts +82 -0
  957. package/repos/effect/packages/effect/src/Request.ts +598 -0
  958. package/repos/effect/packages/effect/src/RequestResolver.ts +1249 -0
  959. package/repos/effect/packages/effect/src/Resource.ts +184 -0
  960. package/repos/effect/packages/effect/src/Result.ts +1939 -0
  961. package/repos/effect/packages/effect/src/Runtime.ts +432 -0
  962. package/repos/effect/packages/effect/src/Schedule.ts +3564 -0
  963. package/repos/effect/packages/effect/src/Scheduler.ts +285 -0
  964. package/repos/effect/packages/effect/src/Schema.ts +14653 -0
  965. package/repos/effect/packages/effect/src/SchemaAST.ts +3903 -0
  966. package/repos/effect/packages/effect/src/SchemaGetter.ts +1870 -0
  967. package/repos/effect/packages/effect/src/SchemaIssue.ts +1176 -0
  968. package/repos/effect/packages/effect/src/SchemaParser.ts +1105 -0
  969. package/repos/effect/packages/effect/src/SchemaRepresentation.ts +3944 -0
  970. package/repos/effect/packages/effect/src/SchemaTransformation.ts +1818 -0
  971. package/repos/effect/packages/effect/src/SchemaUtils.ts +51 -0
  972. package/repos/effect/packages/effect/src/Scope.ts +572 -0
  973. package/repos/effect/packages/effect/src/ScopedCache.ts +820 -0
  974. package/repos/effect/packages/effect/src/ScopedRef.ts +192 -0
  975. package/repos/effect/packages/effect/src/Semaphore.ts +517 -0
  976. package/repos/effect/packages/effect/src/Sink.ts +2174 -0
  977. package/repos/effect/packages/effect/src/Stdio.ts +143 -0
  978. package/repos/effect/packages/effect/src/Stream.ts +11722 -0
  979. package/repos/effect/packages/effect/src/String.ts +1427 -0
  980. package/repos/effect/packages/effect/src/Struct.ts +979 -0
  981. package/repos/effect/packages/effect/src/SubscriptionRef.ts +1021 -0
  982. package/repos/effect/packages/effect/src/Symbol.ts +31 -0
  983. package/repos/effect/packages/effect/src/SynchronizedRef.ts +668 -0
  984. package/repos/effect/packages/effect/src/Take.ts +46 -0
  985. package/repos/effect/packages/effect/src/Terminal.ts +188 -0
  986. package/repos/effect/packages/effect/src/Tracer.ts +683 -0
  987. package/repos/effect/packages/effect/src/Trie.ts +953 -0
  988. package/repos/effect/packages/effect/src/Tuple.ts +737 -0
  989. package/repos/effect/packages/effect/src/TxChunk.ts +822 -0
  990. package/repos/effect/packages/effect/src/TxDeferred.ts +319 -0
  991. package/repos/effect/packages/effect/src/TxHashMap.ts +2165 -0
  992. package/repos/effect/packages/effect/src/TxHashSet.ts +908 -0
  993. package/repos/effect/packages/effect/src/TxPriorityQueue.ts +567 -0
  994. package/repos/effect/packages/effect/src/TxPubSub.ts +684 -0
  995. package/repos/effect/packages/effect/src/TxQueue.ts +1488 -0
  996. package/repos/effect/packages/effect/src/TxReentrantLock.ts +655 -0
  997. package/repos/effect/packages/effect/src/TxRef.ts +282 -0
  998. package/repos/effect/packages/effect/src/TxSemaphore.ts +707 -0
  999. package/repos/effect/packages/effect/src/TxSubscriptionRef.ts +518 -0
  1000. package/repos/effect/packages/effect/src/Types.ts +1121 -0
  1001. package/repos/effect/packages/effect/src/UndefinedOr.ts +239 -0
  1002. package/repos/effect/packages/effect/src/Unify.ts +314 -0
  1003. package/repos/effect/packages/effect/src/Utils.ts +221 -0
  1004. package/repos/effect/packages/effect/src/index.ts +712 -0
  1005. package/repos/effect/packages/effect/src/internal/array.ts +8 -0
  1006. package/repos/effect/packages/effect/src/internal/concurrency.ts +52 -0
  1007. package/repos/effect/packages/effect/src/internal/core.ts +666 -0
  1008. package/repos/effect/packages/effect/src/internal/dateTime.ts +1264 -0
  1009. package/repos/effect/packages/effect/src/internal/doNotation.ts +117 -0
  1010. package/repos/effect/packages/effect/src/internal/effect.ts +6427 -0
  1011. package/repos/effect/packages/effect/src/internal/equal.ts +28 -0
  1012. package/repos/effect/packages/effect/src/internal/errors.ts +9 -0
  1013. package/repos/effect/packages/effect/src/internal/executionPlan.ts +120 -0
  1014. package/repos/effect/packages/effect/src/internal/hashMap.ts +1309 -0
  1015. package/repos/effect/packages/effect/src/internal/hashSet.ts +190 -0
  1016. package/repos/effect/packages/effect/src/internal/layer.ts +88 -0
  1017. package/repos/effect/packages/effect/src/internal/matcher.ts +637 -0
  1018. package/repos/effect/packages/effect/src/internal/metric.ts +2 -0
  1019. package/repos/effect/packages/effect/src/internal/option.ts +98 -0
  1020. package/repos/effect/packages/effect/src/internal/random.ts +20 -0
  1021. package/repos/effect/packages/effect/src/internal/rcRef.ts +189 -0
  1022. package/repos/effect/packages/effect/src/internal/record.ts +18 -0
  1023. package/repos/effect/packages/effect/src/internal/redacted.ts +19 -0
  1024. package/repos/effect/packages/effect/src/internal/references.ts +72 -0
  1025. package/repos/effect/packages/effect/src/internal/request.ts +205 -0
  1026. package/repos/effect/packages/effect/src/internal/result.ts +112 -0
  1027. package/repos/effect/packages/effect/src/internal/schedule.ts +248 -0
  1028. package/repos/effect/packages/effect/src/internal/schema/annotations.ts +37 -0
  1029. package/repos/effect/packages/effect/src/internal/schema/arbitrary.ts +894 -0
  1030. package/repos/effect/packages/effect/src/internal/schema/cause.ts +26 -0
  1031. package/repos/effect/packages/effect/src/internal/schema/equivalence.ts +154 -0
  1032. package/repos/effect/packages/effect/src/internal/schema/representation.ts +799 -0
  1033. package/repos/effect/packages/effect/src/internal/schema/schema.ts +128 -0
  1034. package/repos/effect/packages/effect/src/internal/stream.ts +28 -0
  1035. package/repos/effect/packages/effect/src/internal/tracer.ts +41 -0
  1036. package/repos/effect/packages/effect/src/internal/trie.ts +733 -0
  1037. package/repos/effect/packages/effect/src/internal/version.ts +2 -0
  1038. package/repos/effect/packages/effect/src/testing/FastCheck.ts +89 -0
  1039. package/repos/effect/packages/effect/src/testing/TestClock.ts +547 -0
  1040. package/repos/effect/packages/effect/src/testing/TestConsole.ts +369 -0
  1041. package/repos/effect/packages/effect/src/testing/TestSchema.ts +567 -0
  1042. package/repos/effect/packages/effect/src/testing/index.ts +25 -0
  1043. package/repos/effect/packages/effect/src/unstable/ai/AiError.ts +1629 -0
  1044. package/repos/effect/packages/effect/src/unstable/ai/AnthropicStructuredOutput.ts +407 -0
  1045. package/repos/effect/packages/effect/src/unstable/ai/Chat.ts +931 -0
  1046. package/repos/effect/packages/effect/src/unstable/ai/EmbeddingModel.ts +269 -0
  1047. package/repos/effect/packages/effect/src/unstable/ai/IdGenerator.ts +300 -0
  1048. package/repos/effect/packages/effect/src/unstable/ai/LanguageModel.ts +2221 -0
  1049. package/repos/effect/packages/effect/src/unstable/ai/McpSchema.ts +2527 -0
  1050. package/repos/effect/packages/effect/src/unstable/ai/McpServer.ts +1468 -0
  1051. package/repos/effect/packages/effect/src/unstable/ai/Model.ts +166 -0
  1052. package/repos/effect/packages/effect/src/unstable/ai/OpenAiStructuredOutput.ts +476 -0
  1053. package/repos/effect/packages/effect/src/unstable/ai/Prompt.ts +2234 -0
  1054. package/repos/effect/packages/effect/src/unstable/ai/Response.ts +2582 -0
  1055. package/repos/effect/packages/effect/src/unstable/ai/ResponseIdTracker.ts +139 -0
  1056. package/repos/effect/packages/effect/src/unstable/ai/Telemetry.ts +515 -0
  1057. package/repos/effect/packages/effect/src/unstable/ai/Tokenizer.ts +176 -0
  1058. package/repos/effect/packages/effect/src/unstable/ai/Tool.ts +2003 -0
  1059. package/repos/effect/packages/effect/src/unstable/ai/Toolkit.ts +554 -0
  1060. package/repos/effect/packages/effect/src/unstable/ai/index.ts +90 -0
  1061. package/repos/effect/packages/effect/src/unstable/ai/internal/codec-transformer.ts +13 -0
  1062. package/repos/effect/packages/effect/src/unstable/cli/Argument.ts +749 -0
  1063. package/repos/effect/packages/effect/src/unstable/cli/CliError.ts +549 -0
  1064. package/repos/effect/packages/effect/src/unstable/cli/CliOutput.ts +607 -0
  1065. package/repos/effect/packages/effect/src/unstable/cli/Command.ts +1610 -0
  1066. package/repos/effect/packages/effect/src/unstable/cli/Completions.ts +123 -0
  1067. package/repos/effect/packages/effect/src/unstable/cli/Flag.ts +986 -0
  1068. package/repos/effect/packages/effect/src/unstable/cli/GlobalFlag.ts +295 -0
  1069. package/repos/effect/packages/effect/src/unstable/cli/HelpDoc.ts +323 -0
  1070. package/repos/effect/packages/effect/src/unstable/cli/Param.ts +2193 -0
  1071. package/repos/effect/packages/effect/src/unstable/cli/Primitive.ts +766 -0
  1072. package/repos/effect/packages/effect/src/unstable/cli/Prompt.ts +3852 -0
  1073. package/repos/effect/packages/effect/src/unstable/cli/SEMANTICS.md +157 -0
  1074. package/repos/effect/packages/effect/src/unstable/cli/index.ts +60 -0
  1075. package/repos/effect/packages/effect/src/unstable/cli/internal/ansi.ts +152 -0
  1076. package/repos/effect/packages/effect/src/unstable/cli/internal/auto-suggest.ts +41 -0
  1077. package/repos/effect/packages/effect/src/unstable/cli/internal/command.ts +340 -0
  1078. package/repos/effect/packages/effect/src/unstable/cli/internal/completions/bash.ts +222 -0
  1079. package/repos/effect/packages/effect/src/unstable/cli/internal/completions/descriptor.ts +133 -0
  1080. package/repos/effect/packages/effect/src/unstable/cli/internal/completions/fish.ts +253 -0
  1081. package/repos/effect/packages/effect/src/unstable/cli/internal/completions/zsh.ts +220 -0
  1082. package/repos/effect/packages/effect/src/unstable/cli/internal/config.ts +272 -0
  1083. package/repos/effect/packages/effect/src/unstable/cli/internal/help.ts +181 -0
  1084. package/repos/effect/packages/effect/src/unstable/cli/internal/lexer.ts +70 -0
  1085. package/repos/effect/packages/effect/src/unstable/cli/internal/parser.ts +932 -0
  1086. package/repos/effect/packages/effect/src/unstable/cluster/ClusterCron.ts +163 -0
  1087. package/repos/effect/packages/effect/src/unstable/cluster/ClusterError.ts +238 -0
  1088. package/repos/effect/packages/effect/src/unstable/cluster/ClusterMetrics.ts +112 -0
  1089. package/repos/effect/packages/effect/src/unstable/cluster/ClusterSchema.ts +170 -0
  1090. package/repos/effect/packages/effect/src/unstable/cluster/ClusterWorkflowEngine.ts +778 -0
  1091. package/repos/effect/packages/effect/src/unstable/cluster/DeliverAt.ts +58 -0
  1092. package/repos/effect/packages/effect/src/unstable/cluster/Entity.ts +779 -0
  1093. package/repos/effect/packages/effect/src/unstable/cluster/EntityAddress.ts +93 -0
  1094. package/repos/effect/packages/effect/src/unstable/cluster/EntityId.ts +50 -0
  1095. package/repos/effect/packages/effect/src/unstable/cluster/EntityProxy.ts +263 -0
  1096. package/repos/effect/packages/effect/src/unstable/cluster/EntityProxyServer.ts +149 -0
  1097. package/repos/effect/packages/effect/src/unstable/cluster/EntityResource.ts +184 -0
  1098. package/repos/effect/packages/effect/src/unstable/cluster/EntityType.ts +52 -0
  1099. package/repos/effect/packages/effect/src/unstable/cluster/Envelope.ts +433 -0
  1100. package/repos/effect/packages/effect/src/unstable/cluster/HttpRunner.ts +345 -0
  1101. package/repos/effect/packages/effect/src/unstable/cluster/K8sHttpClient.ts +297 -0
  1102. package/repos/effect/packages/effect/src/unstable/cluster/MachineId.ts +54 -0
  1103. package/repos/effect/packages/effect/src/unstable/cluster/Message.ts +314 -0
  1104. package/repos/effect/packages/effect/src/unstable/cluster/MessageStorage.ts +1072 -0
  1105. package/repos/effect/packages/effect/src/unstable/cluster/Reply.ts +455 -0
  1106. package/repos/effect/packages/effect/src/unstable/cluster/Runner.ts +129 -0
  1107. package/repos/effect/packages/effect/src/unstable/cluster/RunnerAddress.ts +112 -0
  1108. package/repos/effect/packages/effect/src/unstable/cluster/RunnerHealth.ts +145 -0
  1109. package/repos/effect/packages/effect/src/unstable/cluster/RunnerServer.ts +220 -0
  1110. package/repos/effect/packages/effect/src/unstable/cluster/RunnerStorage.ts +243 -0
  1111. package/repos/effect/packages/effect/src/unstable/cluster/Runners.ts +690 -0
  1112. package/repos/effect/packages/effect/src/unstable/cluster/ShardId.ts +178 -0
  1113. package/repos/effect/packages/effect/src/unstable/cluster/Sharding.ts +1488 -0
  1114. package/repos/effect/packages/effect/src/unstable/cluster/ShardingConfig.ts +367 -0
  1115. package/repos/effect/packages/effect/src/unstable/cluster/ShardingRegistrationEvent.ts +76 -0
  1116. package/repos/effect/packages/effect/src/unstable/cluster/SingleRunner.ts +75 -0
  1117. package/repos/effect/packages/effect/src/unstable/cluster/Singleton.ts +56 -0
  1118. package/repos/effect/packages/effect/src/unstable/cluster/SingletonAddress.ts +49 -0
  1119. package/repos/effect/packages/effect/src/unstable/cluster/Snowflake.ts +282 -0
  1120. package/repos/effect/packages/effect/src/unstable/cluster/SocketRunner.ts +96 -0
  1121. package/repos/effect/packages/effect/src/unstable/cluster/SqlMessageStorage.ts +1045 -0
  1122. package/repos/effect/packages/effect/src/unstable/cluster/SqlRunnerStorage.ts +700 -0
  1123. package/repos/effect/packages/effect/src/unstable/cluster/TestRunner.ts +36 -0
  1124. package/repos/effect/packages/effect/src/unstable/cluster/index.ts +195 -0
  1125. package/repos/effect/packages/effect/src/unstable/cluster/internal/entityManager.ts +678 -0
  1126. package/repos/effect/packages/effect/src/unstable/cluster/internal/entityReaper.ts +58 -0
  1127. package/repos/effect/packages/effect/src/unstable/cluster/internal/hash.ts +23 -0
  1128. package/repos/effect/packages/effect/src/unstable/cluster/internal/interruptors.ts +2 -0
  1129. package/repos/effect/packages/effect/src/unstable/cluster/internal/resourceMap.ts +100 -0
  1130. package/repos/effect/packages/effect/src/unstable/cluster/internal/resourceRef.ts +99 -0
  1131. package/repos/effect/packages/effect/src/unstable/devtools/DevTools.ts +68 -0
  1132. package/repos/effect/packages/effect/src/unstable/devtools/DevToolsClient.ts +236 -0
  1133. package/repos/effect/packages/effect/src/unstable/devtools/DevToolsSchema.ts +558 -0
  1134. package/repos/effect/packages/effect/src/unstable/devtools/DevToolsServer.ts +94 -0
  1135. package/repos/effect/packages/effect/src/unstable/devtools/index.ts +25 -0
  1136. package/repos/effect/packages/effect/src/unstable/encoding/Msgpack.ts +383 -0
  1137. package/repos/effect/packages/effect/src/unstable/encoding/Ndjson.ts +602 -0
  1138. package/repos/effect/packages/effect/src/unstable/encoding/Sse.ts +593 -0
  1139. package/repos/effect/packages/effect/src/unstable/encoding/index.ts +20 -0
  1140. package/repos/effect/packages/effect/src/unstable/eventlog/Event.ts +447 -0
  1141. package/repos/effect/packages/effect/src/unstable/eventlog/EventGroup.ts +193 -0
  1142. package/repos/effect/packages/effect/src/unstable/eventlog/EventJournal.ts +795 -0
  1143. package/repos/effect/packages/effect/src/unstable/eventlog/EventLog.ts +1030 -0
  1144. package/repos/effect/packages/effect/src/unstable/eventlog/EventLogEncryption.ts +169 -0
  1145. package/repos/effect/packages/effect/src/unstable/eventlog/EventLogMessage.ts +354 -0
  1146. package/repos/effect/packages/effect/src/unstable/eventlog/EventLogRemote.ts +377 -0
  1147. package/repos/effect/packages/effect/src/unstable/eventlog/EventLogServer.ts +242 -0
  1148. package/repos/effect/packages/effect/src/unstable/eventlog/EventLogServerEncrypted.ts +268 -0
  1149. package/repos/effect/packages/effect/src/unstable/eventlog/EventLogServerUnencrypted.ts +898 -0
  1150. package/repos/effect/packages/effect/src/unstable/eventlog/EventLogSessionAuth.ts +524 -0
  1151. package/repos/effect/packages/effect/src/unstable/eventlog/SqlEventJournal.ts +353 -0
  1152. package/repos/effect/packages/effect/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +343 -0
  1153. package/repos/effect/packages/effect/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +527 -0
  1154. package/repos/effect/packages/effect/src/unstable/eventlog/index.ts +75 -0
  1155. package/repos/effect/packages/effect/src/unstable/eventlog/internal/identityRootSecretDerivation.ts +153 -0
  1156. package/repos/effect/packages/effect/src/unstable/http/Cookies.ts +952 -0
  1157. package/repos/effect/packages/effect/src/unstable/http/Etag.ts +141 -0
  1158. package/repos/effect/packages/effect/src/unstable/http/FetchHttpClient.ts +123 -0
  1159. package/repos/effect/packages/effect/src/unstable/http/FindMyWay.ts +15 -0
  1160. package/repos/effect/packages/effect/src/unstable/http/Headers.ts +438 -0
  1161. package/repos/effect/packages/effect/src/unstable/http/HttpBody.ts +545 -0
  1162. package/repos/effect/packages/effect/src/unstable/http/HttpClient.ts +1630 -0
  1163. package/repos/effect/packages/effect/src/unstable/http/HttpClientError.ts +328 -0
  1164. package/repos/effect/packages/effect/src/unstable/http/HttpClientRequest.ts +968 -0
  1165. package/repos/effect/packages/effect/src/unstable/http/HttpClientResponse.ts +408 -0
  1166. package/repos/effect/packages/effect/src/unstable/http/HttpEffect.ts +400 -0
  1167. package/repos/effect/packages/effect/src/unstable/http/HttpIncomingMessage.ts +153 -0
  1168. package/repos/effect/packages/effect/src/unstable/http/HttpMethod.ts +124 -0
  1169. package/repos/effect/packages/effect/src/unstable/http/HttpMiddleware.ts +394 -0
  1170. package/repos/effect/packages/effect/src/unstable/http/HttpPlatform.ts +165 -0
  1171. package/repos/effect/packages/effect/src/unstable/http/HttpRouter.ts +1341 -0
  1172. package/repos/effect/packages/effect/src/unstable/http/HttpServer.ts +329 -0
  1173. package/repos/effect/packages/effect/src/unstable/http/HttpServerError.ts +374 -0
  1174. package/repos/effect/packages/effect/src/unstable/http/HttpServerRequest.ts +1081 -0
  1175. package/repos/effect/packages/effect/src/unstable/http/HttpServerRespondable.ts +115 -0
  1176. package/repos/effect/packages/effect/src/unstable/http/HttpServerResponse.ts +1381 -0
  1177. package/repos/effect/packages/effect/src/unstable/http/HttpStaticServer.ts +464 -0
  1178. package/repos/effect/packages/effect/src/unstable/http/HttpTraceContext.ts +160 -0
  1179. package/repos/effect/packages/effect/src/unstable/http/Multipart.ts +830 -0
  1180. package/repos/effect/packages/effect/src/unstable/http/Multipasta/HeadersParser.ts +14 -0
  1181. package/repos/effect/packages/effect/src/unstable/http/Multipasta/Node.ts +14 -0
  1182. package/repos/effect/packages/effect/src/unstable/http/Multipasta/Search.ts +14 -0
  1183. package/repos/effect/packages/effect/src/unstable/http/Multipasta/Web.ts +14 -0
  1184. package/repos/effect/packages/effect/src/unstable/http/Multipasta.ts +15 -0
  1185. package/repos/effect/packages/effect/src/unstable/http/Template.ts +262 -0
  1186. package/repos/effect/packages/effect/src/unstable/http/Url.ts +330 -0
  1187. package/repos/effect/packages/effect/src/unstable/http/UrlParams.ts +678 -0
  1188. package/repos/effect/packages/effect/src/unstable/http/index.ts +145 -0
  1189. package/repos/effect/packages/effect/src/unstable/http/internal/preResponseHandler.ts +15 -0
  1190. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApi.ts +316 -0
  1191. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApiBuilder.ts +1015 -0
  1192. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApiClient.ts +1005 -0
  1193. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApiEndpoint.ts +1545 -0
  1194. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApiError.ts +443 -0
  1195. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApiGroup.ts +381 -0
  1196. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApiMiddleware.ts +478 -0
  1197. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApiScalar.ts +267 -0
  1198. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApiSchema.ts +733 -0
  1199. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApiSecurity.ts +244 -0
  1200. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApiSwagger.ts +68 -0
  1201. package/repos/effect/packages/effect/src/unstable/httpapi/HttpApiTest.ts +112 -0
  1202. package/repos/effect/packages/effect/src/unstable/httpapi/OpenApi.ts +1098 -0
  1203. package/repos/effect/packages/effect/src/unstable/httpapi/index.ts +70 -0
  1204. package/repos/effect/packages/effect/src/unstable/httpapi/internal/html.ts +18 -0
  1205. package/repos/effect/packages/effect/src/unstable/httpapi/internal/httpApiScalar.ts +5 -0
  1206. package/repos/effect/packages/effect/src/unstable/httpapi/internal/httpApiSwagger.ts +9 -0
  1207. package/repos/effect/packages/effect/src/unstable/observability/Otlp.ts +172 -0
  1208. package/repos/effect/packages/effect/src/unstable/observability/OtlpExporter.ts +149 -0
  1209. package/repos/effect/packages/effect/src/unstable/observability/OtlpLogger.ts +340 -0
  1210. package/repos/effect/packages/effect/src/unstable/observability/OtlpMetrics.ts +826 -0
  1211. package/repos/effect/packages/effect/src/unstable/observability/OtlpResource.ts +288 -0
  1212. package/repos/effect/packages/effect/src/unstable/observability/OtlpSerialization.ts +66 -0
  1213. package/repos/effect/packages/effect/src/unstable/observability/OtlpTracer.ts +442 -0
  1214. package/repos/effect/packages/effect/src/unstable/observability/PrometheusMetrics.ts +468 -0
  1215. package/repos/effect/packages/effect/src/unstable/observability/index.ts +45 -0
  1216. package/repos/effect/packages/effect/src/unstable/observability/internal/otlpEnv.ts +39 -0
  1217. package/repos/effect/packages/effect/src/unstable/observability/internal/otlpProtobuf.ts +779 -0
  1218. package/repos/effect/packages/effect/src/unstable/observability/internal/protobuf.ts +262 -0
  1219. package/repos/effect/packages/effect/src/unstable/persistence/KeyValueStore.ts +864 -0
  1220. package/repos/effect/packages/effect/src/unstable/persistence/Persistable.ts +252 -0
  1221. package/repos/effect/packages/effect/src/unstable/persistence/PersistedCache.ts +111 -0
  1222. package/repos/effect/packages/effect/src/unstable/persistence/PersistedQueue.ts +1196 -0
  1223. package/repos/effect/packages/effect/src/unstable/persistence/Persistence.ts +1071 -0
  1224. package/repos/effect/packages/effect/src/unstable/persistence/RateLimiter.ts +748 -0
  1225. package/repos/effect/packages/effect/src/unstable/persistence/Redis.ts +188 -0
  1226. package/repos/effect/packages/effect/src/unstable/persistence/index.ts +40 -0
  1227. package/repos/effect/packages/effect/src/unstable/process/ChildProcess.ts +1036 -0
  1228. package/repos/effect/packages/effect/src/unstable/process/ChildProcessSpawner.ts +285 -0
  1229. package/repos/effect/packages/effect/src/unstable/process/index.ts +15 -0
  1230. package/repos/effect/packages/effect/src/unstable/reactivity/AsyncResult.ts +1081 -0
  1231. package/repos/effect/packages/effect/src/unstable/reactivity/Atom.ts +2520 -0
  1232. package/repos/effect/packages/effect/src/unstable/reactivity/AtomHttpApi.ts +352 -0
  1233. package/repos/effect/packages/effect/src/unstable/reactivity/AtomRef.ts +352 -0
  1234. package/repos/effect/packages/effect/src/unstable/reactivity/AtomRegistry.ts +1127 -0
  1235. package/repos/effect/packages/effect/src/unstable/reactivity/AtomRpc.ts +305 -0
  1236. package/repos/effect/packages/effect/src/unstable/reactivity/Hydration.ts +155 -0
  1237. package/repos/effect/packages/effect/src/unstable/reactivity/Reactivity.ts +348 -0
  1238. package/repos/effect/packages/effect/src/unstable/reactivity/index.ts +45 -0
  1239. package/repos/effect/packages/effect/src/unstable/rpc/Rpc.ts +1255 -0
  1240. package/repos/effect/packages/effect/src/unstable/rpc/RpcClient.ts +1370 -0
  1241. package/repos/effect/packages/effect/src/unstable/rpc/RpcClientError.ts +57 -0
  1242. package/repos/effect/packages/effect/src/unstable/rpc/RpcGroup.ts +409 -0
  1243. package/repos/effect/packages/effect/src/unstable/rpc/RpcMessage.ts +402 -0
  1244. package/repos/effect/packages/effect/src/unstable/rpc/RpcMiddleware.ts +344 -0
  1245. package/repos/effect/packages/effect/src/unstable/rpc/RpcSchema.ts +97 -0
  1246. package/repos/effect/packages/effect/src/unstable/rpc/RpcSerialization.ts +546 -0
  1247. package/repos/effect/packages/effect/src/unstable/rpc/RpcServer.ts +1492 -0
  1248. package/repos/effect/packages/effect/src/unstable/rpc/RpcTest.ts +56 -0
  1249. package/repos/effect/packages/effect/src/unstable/rpc/RpcWorker.ts +118 -0
  1250. package/repos/effect/packages/effect/src/unstable/rpc/Utils.ts +120 -0
  1251. package/repos/effect/packages/effect/src/unstable/rpc/index.ts +65 -0
  1252. package/repos/effect/packages/effect/src/unstable/schema/Model.ts +862 -0
  1253. package/repos/effect/packages/effect/src/unstable/schema/VariantSchema.ts +604 -0
  1254. package/repos/effect/packages/effect/src/unstable/schema/index.ts +15 -0
  1255. package/repos/effect/packages/effect/src/unstable/socket/Socket.ts +911 -0
  1256. package/repos/effect/packages/effect/src/unstable/socket/SocketServer.ts +147 -0
  1257. package/repos/effect/packages/effect/src/unstable/socket/index.ts +15 -0
  1258. package/repos/effect/packages/effect/src/unstable/sql/Migrator.ts +440 -0
  1259. package/repos/effect/packages/effect/src/unstable/sql/SqlClient.ts +342 -0
  1260. package/repos/effect/packages/effect/src/unstable/sql/SqlConnection.ts +83 -0
  1261. package/repos/effect/packages/effect/src/unstable/sql/SqlError.ts +590 -0
  1262. package/repos/effect/packages/effect/src/unstable/sql/SqlModel.ts +359 -0
  1263. package/repos/effect/packages/effect/src/unstable/sql/SqlResolver.ts +380 -0
  1264. package/repos/effect/packages/effect/src/unstable/sql/SqlSchema.ts +172 -0
  1265. package/repos/effect/packages/effect/src/unstable/sql/SqlStream.ts +81 -0
  1266. package/repos/effect/packages/effect/src/unstable/sql/Statement.ts +1500 -0
  1267. package/repos/effect/packages/effect/src/unstable/sql/index.ts +50 -0
  1268. package/repos/effect/packages/effect/src/unstable/workers/Transferable.ts +191 -0
  1269. package/repos/effect/packages/effect/src/unstable/workers/Worker.ts +245 -0
  1270. package/repos/effect/packages/effect/src/unstable/workers/WorkerError.ts +148 -0
  1271. package/repos/effect/packages/effect/src/unstable/workers/WorkerRunner.ts +57 -0
  1272. package/repos/effect/packages/effect/src/unstable/workers/index.ts +25 -0
  1273. package/repos/effect/packages/effect/src/unstable/workflow/Activity.ts +322 -0
  1274. package/repos/effect/packages/effect/src/unstable/workflow/DurableClock.ts +117 -0
  1275. package/repos/effect/packages/effect/src/unstable/workflow/DurableDeferred.ts +653 -0
  1276. package/repos/effect/packages/effect/src/unstable/workflow/DurableQueue.ts +360 -0
  1277. package/repos/effect/packages/effect/src/unstable/workflow/Workflow.ts +898 -0
  1278. package/repos/effect/packages/effect/src/unstable/workflow/WorkflowEngine.ts +759 -0
  1279. package/repos/effect/packages/effect/src/unstable/workflow/WorkflowProxy.ts +212 -0
  1280. package/repos/effect/packages/effect/src/unstable/workflow/WorkflowProxyServer.ts +151 -0
  1281. package/repos/effect/packages/effect/src/unstable/workflow/index.ts +45 -0
  1282. package/repos/effect/packages/effect/src/unstable/workflow/internal/crypto.ts +15 -0
  1283. package/repos/effect/packages/effect/test/Array.test.ts +1579 -0
  1284. package/repos/effect/packages/effect/test/AtomRef.test.ts +27 -0
  1285. package/repos/effect/packages/effect/test/BigDecimal.test.ts +525 -0
  1286. package/repos/effect/packages/effect/test/BigInt.test.ts +57 -0
  1287. package/repos/effect/packages/effect/test/Boolean.test.ts +289 -0
  1288. package/repos/effect/packages/effect/test/Brand.test.ts +160 -0
  1289. package/repos/effect/packages/effect/test/Cache.test.ts +1423 -0
  1290. package/repos/effect/packages/effect/test/Cause.test.ts +834 -0
  1291. package/repos/effect/packages/effect/test/Channel.test.ts +556 -0
  1292. package/repos/effect/packages/effect/test/Chunk.test.ts +874 -0
  1293. package/repos/effect/packages/effect/test/Combiner.test.ts +42 -0
  1294. package/repos/effect/packages/effect/test/Config.test.ts +1416 -0
  1295. package/repos/effect/packages/effect/test/ConfigProvider.test.ts +726 -0
  1296. package/repos/effect/packages/effect/test/Cron.test.ts +401 -0
  1297. package/repos/effect/packages/effect/test/Crypto.test.ts +86 -0
  1298. package/repos/effect/packages/effect/test/Data.test.ts +269 -0
  1299. package/repos/effect/packages/effect/test/DateTime.test.ts +953 -0
  1300. package/repos/effect/packages/effect/test/Deferred.test.ts +165 -0
  1301. package/repos/effect/packages/effect/test/Duration.test.ts +679 -0
  1302. package/repos/effect/packages/effect/test/Effect.test.ts +2658 -0
  1303. package/repos/effect/packages/effect/test/EffectEager.test.ts +678 -0
  1304. package/repos/effect/packages/effect/test/EffectKeepAlive.test.ts +71 -0
  1305. package/repos/effect/packages/effect/test/Equal.test.ts +1278 -0
  1306. package/repos/effect/packages/effect/test/Equivalence.test.ts +170 -0
  1307. package/repos/effect/packages/effect/test/ExecutionPlan.test.ts +117 -0
  1308. package/repos/effect/packages/effect/test/Exit.test.ts +12 -0
  1309. package/repos/effect/packages/effect/test/Fiber.test.ts +9 -0
  1310. package/repos/effect/packages/effect/test/FiberHandle.test.ts +146 -0
  1311. package/repos/effect/packages/effect/test/FiberMap.test.ts +171 -0
  1312. package/repos/effect/packages/effect/test/FiberSet.test.ts +119 -0
  1313. package/repos/effect/packages/effect/test/Formatter.test.ts +247 -0
  1314. package/repos/effect/packages/effect/test/Function.test.ts +333 -0
  1315. package/repos/effect/packages/effect/test/Graph.test.ts +3505 -0
  1316. package/repos/effect/packages/effect/test/HashMap.test.ts +618 -0
  1317. package/repos/effect/packages/effect/test/HashSet.test.ts +298 -0
  1318. package/repos/effect/packages/effect/test/HttpClient.test.ts +131 -0
  1319. package/repos/effect/packages/effect/test/Iterable.test.ts +486 -0
  1320. package/repos/effect/packages/effect/test/JsonPatch.test.ts +948 -0
  1321. package/repos/effect/packages/effect/test/JsonPointer.test.ts +353 -0
  1322. package/repos/effect/packages/effect/test/JsonSchema.test.ts +1253 -0
  1323. package/repos/effect/packages/effect/test/Latch.test.ts +21 -0
  1324. package/repos/effect/packages/effect/test/Layer.test.ts +648 -0
  1325. package/repos/effect/packages/effect/test/LayerMap.test.ts +98 -0
  1326. package/repos/effect/packages/effect/test/LogLevel.test.ts +28 -0
  1327. package/repos/effect/packages/effect/test/Logger.test.ts +154 -0
  1328. package/repos/effect/packages/effect/test/ManagedRuntime.test.ts +58 -0
  1329. package/repos/effect/packages/effect/test/Match.test.ts +27 -0
  1330. package/repos/effect/packages/effect/test/Metric.test.ts +682 -0
  1331. package/repos/effect/packages/effect/test/Migrator.test.ts +69 -0
  1332. package/repos/effect/packages/effect/test/MutableHashMap.test.ts +309 -0
  1333. package/repos/effect/packages/effect/test/MutableHashSet.test.ts +10 -0
  1334. package/repos/effect/packages/effect/test/MutableList.test.ts +58 -0
  1335. package/repos/effect/packages/effect/test/Newtype.test.ts +90 -0
  1336. package/repos/effect/packages/effect/test/Number.test.ts +422 -0
  1337. package/repos/effect/packages/effect/test/Optic.test.ts +452 -0
  1338. package/repos/effect/packages/effect/test/Option.test.ts +564 -0
  1339. package/repos/effect/packages/effect/test/Order.test.ts +163 -0
  1340. package/repos/effect/packages/effect/test/Ordering.test.ts +18 -0
  1341. package/repos/effect/packages/effect/test/PartitionedSemaphore.test.ts +74 -0
  1342. package/repos/effect/packages/effect/test/Pathfinding.test.ts +426 -0
  1343. package/repos/effect/packages/effect/test/Pool.test.ts +422 -0
  1344. package/repos/effect/packages/effect/test/Predicate.test.ts +555 -0
  1345. package/repos/effect/packages/effect/test/PubSub.test.ts +538 -0
  1346. package/repos/effect/packages/effect/test/Queue.test.ts +317 -0
  1347. package/repos/effect/packages/effect/test/Random.test.ts +238 -0
  1348. package/repos/effect/packages/effect/test/RcMap.test.ts +237 -0
  1349. package/repos/effect/packages/effect/test/RcRef.test.ts +97 -0
  1350. package/repos/effect/packages/effect/test/Record.test.ts +395 -0
  1351. package/repos/effect/packages/effect/test/Redacted.test.ts +59 -0
  1352. package/repos/effect/packages/effect/test/Reducer.test.ts +12 -0
  1353. package/repos/effect/packages/effect/test/Ref.test.ts +187 -0
  1354. package/repos/effect/packages/effect/test/Request.test.ts +305 -0
  1355. package/repos/effect/packages/effect/test/Resource.test.ts +59 -0
  1356. package/repos/effect/packages/effect/test/Result.test.ts +517 -0
  1357. package/repos/effect/packages/effect/test/Schedule.test.ts +395 -0
  1358. package/repos/effect/packages/effect/test/Scheduler.test.ts +70 -0
  1359. package/repos/effect/packages/effect/test/Scope.test.ts +19 -0
  1360. package/repos/effect/packages/effect/test/ScopedCache.test.ts +2316 -0
  1361. package/repos/effect/packages/effect/test/ScopedRef.test.ts +80 -0
  1362. package/repos/effect/packages/effect/test/Semaphore.test.ts +469 -0
  1363. package/repos/effect/packages/effect/test/Sink.test.ts +230 -0
  1364. package/repos/effect/packages/effect/test/Stream.test.ts +4712 -0
  1365. package/repos/effect/packages/effect/test/String.test.ts +690 -0
  1366. package/repos/effect/packages/effect/test/Struct.test.ts +216 -0
  1367. package/repos/effect/packages/effect/test/SubscriptionRef.test.ts +90 -0
  1368. package/repos/effect/packages/effect/test/Symbol.test.ts +50 -0
  1369. package/repos/effect/packages/effect/test/SynchronizedRef.test.ts +105 -0
  1370. package/repos/effect/packages/effect/test/TestClock.test.ts +71 -0
  1371. package/repos/effect/packages/effect/test/Tracer.test.ts +410 -0
  1372. package/repos/effect/packages/effect/test/Trie.test.ts +531 -0
  1373. package/repos/effect/packages/effect/test/Tuple.test.ts +127 -0
  1374. package/repos/effect/packages/effect/test/TxChunk.test.ts +342 -0
  1375. package/repos/effect/packages/effect/test/TxDeferred.test.ts +197 -0
  1376. package/repos/effect/packages/effect/test/TxHashMap.test.ts +963 -0
  1377. package/repos/effect/packages/effect/test/TxHashSet.test.ts +442 -0
  1378. package/repos/effect/packages/effect/test/TxPriorityQueue.test.ts +187 -0
  1379. package/repos/effect/packages/effect/test/TxPubSub.test.ts +391 -0
  1380. package/repos/effect/packages/effect/test/TxQueue.test.ts +1260 -0
  1381. package/repos/effect/packages/effect/test/TxReentrantLock.test.ts +413 -0
  1382. package/repos/effect/packages/effect/test/TxSemaphore.test.ts +283 -0
  1383. package/repos/effect/packages/effect/test/TxSubscriptionRef.test.ts +197 -0
  1384. package/repos/effect/packages/effect/test/UndefinedOr.test.ts +65 -0
  1385. package/repos/effect/packages/effect/test/cluster/ClusterWorkflowEngine.test.ts +652 -0
  1386. package/repos/effect/packages/effect/test/cluster/Entity.test.ts +81 -0
  1387. package/repos/effect/packages/effect/test/cluster/K8sHttpClient.test.ts +34 -0
  1388. package/repos/effect/packages/effect/test/cluster/MessageStorage.test.ts +196 -0
  1389. package/repos/effect/packages/effect/test/cluster/Sharding.test.ts +578 -0
  1390. package/repos/effect/packages/effect/test/cluster/TestEntity.ts +132 -0
  1391. package/repos/effect/packages/effect/test/reactivity/AsyncResult.test.ts +41 -0
  1392. package/repos/effect/packages/effect/test/reactivity/Atom.test.ts +2551 -0
  1393. package/repos/effect/packages/effect/test/reactivity/AtomHttpApi.test.ts +86 -0
  1394. package/repos/effect/packages/effect/test/reactivity/AtomRpc.test.ts +70 -0
  1395. package/repos/effect/packages/effect/test/rpc/Rpc.test.ts +73 -0
  1396. package/repos/effect/packages/effect/test/rpc/RpcClient.test.ts +58 -0
  1397. package/repos/effect/packages/effect/test/rpc/RpcSerialization.test.ts +171 -0
  1398. package/repos/effect/packages/effect/test/schema/HMR.test.ts +72 -0
  1399. package/repos/effect/packages/effect/test/schema/Schema.test.ts +9133 -0
  1400. package/repos/effect/packages/effect/test/schema/SchemaAST.test.ts +280 -0
  1401. package/repos/effect/packages/effect/test/schema/SchemaGetter.test.ts +383 -0
  1402. package/repos/effect/packages/effect/test/schema/SchemaIssue.test.ts +9 -0
  1403. package/repos/effect/packages/effect/test/schema/SchemaParser.test.ts +323 -0
  1404. package/repos/effect/packages/effect/test/schema/fixtures/HMR-Class.ts +5 -0
  1405. package/repos/effect/packages/effect/test/schema/fixtures/HMR-sanity-check.ts +3 -0
  1406. package/repos/effect/packages/effect/test/schema/representation/fromASTs.test.ts +820 -0
  1407. package/repos/effect/packages/effect/test/schema/representation/fromJsonSchemaDocument.test.ts +2137 -0
  1408. package/repos/effect/packages/effect/test/schema/representation/toCodeDocument.test.ts +2089 -0
  1409. package/repos/effect/packages/effect/test/schema/representation/toJsonSchemaMultiDocument.test.ts +39 -0
  1410. package/repos/effect/packages/effect/test/schema/representation/toSchema.test.ts +506 -0
  1411. package/repos/effect/packages/effect/test/schema/toArbitrary.test.ts +1693 -0
  1412. package/repos/effect/packages/effect/test/schema/toCodec.test.ts +3149 -0
  1413. package/repos/effect/packages/effect/test/schema/toDifferJsonPatch.test.ts +239 -0
  1414. package/repos/effect/packages/effect/test/schema/toEquivalence.test.ts +519 -0
  1415. package/repos/effect/packages/effect/test/schema/toFormatter.test.ts +565 -0
  1416. package/repos/effect/packages/effect/test/schema/toIso.test.ts +394 -0
  1417. package/repos/effect/packages/effect/test/schema/toJsonSchemaDocument.test.ts +3630 -0
  1418. package/repos/effect/packages/effect/test/schema/toStandardJSONSchemaV1.test.ts +126 -0
  1419. package/repos/effect/packages/effect/test/schema/toStandardSchemaV1.test.ts +495 -0
  1420. package/repos/effect/packages/effect/test/schema/v3-v4.test.ts +250 -0
  1421. package/repos/effect/packages/effect/test/testing/TestSchema.test.ts +78 -0
  1422. package/repos/effect/packages/effect/test/unstable/ai/AiError.test.ts +823 -0
  1423. package/repos/effect/packages/effect/test/unstable/ai/AnthropicStructuredOutput.test.ts +593 -0
  1424. package/repos/effect/packages/effect/test/unstable/ai/Chat.test.ts +147 -0
  1425. package/repos/effect/packages/effect/test/unstable/ai/EmbeddingModel.test.ts +185 -0
  1426. package/repos/effect/packages/effect/test/unstable/ai/LanguageModel.test.ts +1714 -0
  1427. package/repos/effect/packages/effect/test/unstable/ai/LanguageModelTrackerLifecycle.test.ts +413 -0
  1428. package/repos/effect/packages/effect/test/unstable/ai/McpServer.test.ts +82 -0
  1429. package/repos/effect/packages/effect/test/unstable/ai/Model.test.ts +16 -0
  1430. package/repos/effect/packages/effect/test/unstable/ai/OpenAiStructuredOutput.test.ts +723 -0
  1431. package/repos/effect/packages/effect/test/unstable/ai/Prompt.test.ts +346 -0
  1432. package/repos/effect/packages/effect/test/unstable/ai/ResponseIdTracker.test.ts +424 -0
  1433. package/repos/effect/packages/effect/test/unstable/ai/Tool.test.ts +1264 -0
  1434. package/repos/effect/packages/effect/test/unstable/ai/utils.ts +68 -0
  1435. package/repos/effect/packages/effect/test/unstable/cli/Arguments.test.ts +390 -0
  1436. package/repos/effect/packages/effect/test/unstable/cli/Command.test.ts +1801 -0
  1437. package/repos/effect/packages/effect/test/unstable/cli/Errors.test.ts +150 -0
  1438. package/repos/effect/packages/effect/test/unstable/cli/Help.test.ts +572 -0
  1439. package/repos/effect/packages/effect/test/unstable/cli/LogLevel.test.ts +202 -0
  1440. package/repos/effect/packages/effect/test/unstable/cli/Param.test.ts +391 -0
  1441. package/repos/effect/packages/effect/test/unstable/cli/Primitive.test.ts +321 -0
  1442. package/repos/effect/packages/effect/test/unstable/cli/Prompt.test.ts +597 -0
  1443. package/repos/effect/packages/effect/test/unstable/cli/completions/completions.test.ts +656 -0
  1444. package/repos/effect/packages/effect/test/unstable/cli/completions/descriptor.test.ts +245 -0
  1445. package/repos/effect/packages/effect/test/unstable/cli/fixtures/ComprehensiveCli.ts +422 -0
  1446. package/repos/effect/packages/effect/test/unstable/cli/services/MockTerminal.ts +135 -0
  1447. package/repos/effect/packages/effect/test/unstable/cli/services/TestActions.ts +36 -0
  1448. package/repos/effect/packages/effect/test/unstable/encoding/Ndjson.test.ts +18 -0
  1449. package/repos/effect/packages/effect/test/unstable/encoding/Sse.test.ts +62 -0
  1450. package/repos/effect/packages/effect/test/unstable/eventlog/EventJournal.test.ts +25 -0
  1451. package/repos/effect/packages/effect/test/unstable/eventlog/EventLog.test.ts +104 -0
  1452. package/repos/effect/packages/effect/test/unstable/eventlog/EventLogIdentityDerivation.test.ts +85 -0
  1453. package/repos/effect/packages/effect/test/unstable/eventlog/EventLogRemote.test.ts +176 -0
  1454. package/repos/effect/packages/effect/test/unstable/eventlog/EventLogSessionAuth.test.ts +130 -0
  1455. package/repos/effect/packages/effect/test/unstable/eventlog/SqlEventLogServerUnencryptedStorageTest.ts +169 -0
  1456. package/repos/effect/packages/effect/test/unstable/http/Cookies.test.ts +80 -0
  1457. package/repos/effect/packages/effect/test/unstable/http/Headers.test.ts +73 -0
  1458. package/repos/effect/packages/effect/test/unstable/http/HttpClient.test.ts +306 -0
  1459. package/repos/effect/packages/effect/test/unstable/http/HttpClientRequest.test.ts +164 -0
  1460. package/repos/effect/packages/effect/test/unstable/http/HttpEffect.test.ts +254 -0
  1461. package/repos/effect/packages/effect/test/unstable/http/HttpMiddleware.test.ts +57 -0
  1462. package/repos/effect/packages/effect/test/unstable/http/HttpServerError.test.ts +121 -0
  1463. package/repos/effect/packages/effect/test/unstable/http/HttpServerRequest.test.ts +157 -0
  1464. package/repos/effect/packages/effect/test/unstable/http/HttpServerResponse.test.ts +76 -0
  1465. package/repos/effect/packages/effect/test/unstable/http/Multipart.test.ts +69 -0
  1466. package/repos/effect/packages/effect/test/unstable/http/Url.test.ts +98 -0
  1467. package/repos/effect/packages/effect/test/unstable/http/UrlParams.test.ts +30 -0
  1468. package/repos/effect/packages/effect/test/unstable/httpapi/HttpApiBuilder.test.ts +186 -0
  1469. package/repos/effect/packages/effect/test/unstable/httpapi/HttpApiClient.test.ts +446 -0
  1470. package/repos/effect/packages/effect/test/unstable/httpapi/HttpApiEndpoint.test.ts +160 -0
  1471. package/repos/effect/packages/effect/test/unstable/httpapi/HttpApiSchema.test.ts +108 -0
  1472. package/repos/effect/packages/effect/test/unstable/httpapi/HttpApiSecurity.test.ts +41 -0
  1473. package/repos/effect/packages/effect/test/unstable/httpapi/OpenApi.test.ts +39 -0
  1474. package/repos/effect/packages/effect/test/unstable/observability/OtlpConfig.test.ts +151 -0
  1475. package/repos/effect/packages/effect/test/unstable/observability/OtlpExporter.test.ts +108 -0
  1476. package/repos/effect/packages/effect/test/unstable/observability/OtlpMetrics.test.ts +518 -0
  1477. package/repos/effect/packages/effect/test/unstable/observability/OtlpResource.test.ts +84 -0
  1478. package/repos/effect/packages/effect/test/unstable/observability/PrometheusMetrics.test.ts +417 -0
  1479. package/repos/effect/packages/effect/test/unstable/persistence/KeyValueStore.test.ts +164 -0
  1480. package/repos/effect/packages/effect/test/unstable/persistence/KeyValueStoreTest.ts +85 -0
  1481. package/repos/effect/packages/effect/test/unstable/persistence/PersistedCache.test.ts +4 -0
  1482. package/repos/effect/packages/effect/test/unstable/persistence/PersistedCacheTest.ts +111 -0
  1483. package/repos/effect/packages/effect/test/unstable/persistence/PersistedQueue.test.ts +4 -0
  1484. package/repos/effect/packages/effect/test/unstable/persistence/PersistedQueueTest.ts +106 -0
  1485. package/repos/effect/packages/effect/test/unstable/persistence/RateLimiter.test.ts +145 -0
  1486. package/repos/effect/packages/effect/test/unstable/persistence/Redis.test.ts +43 -0
  1487. package/repos/effect/packages/effect/test/unstable/process/ChildProcess.test.ts +352 -0
  1488. package/repos/effect/packages/effect/test/unstable/schema/VariantSchema.test.ts +72 -0
  1489. package/repos/effect/packages/effect/test/unstable/sql/SqlError.test.ts +228 -0
  1490. package/repos/effect/packages/effect/test/unstable/sql/SqlSchema.test.ts +168 -0
  1491. package/repos/effect/packages/effect/test/unstable/workers/WorkerError.test.ts +90 -0
  1492. package/repos/effect/packages/effect/test/unstable/workflow/DurableQueue.test.ts +105 -0
  1493. package/repos/effect/packages/effect/test/unstable/workflow/WorkflowEngine.test.ts +60 -0
  1494. package/repos/effect/packages/effect/test/utils/assert.ts +182 -0
  1495. package/repos/effect/packages/effect/test/utils/chunkCoordination.ts +36 -0
  1496. package/repos/effect/packages/effect/test/utils/counter.ts +54 -0
  1497. package/repos/effect/packages/effect/tsconfig.json +8 -0
  1498. package/repos/effect/packages/effect/typetest/AiError.tst.ts +49 -0
  1499. package/repos/effect/packages/effect/typetest/Array.tst.ts +1289 -0
  1500. package/repos/effect/packages/effect/typetest/Brand.tst.ts +51 -0
  1501. package/repos/effect/packages/effect/typetest/Channel.tst.ts +112 -0
  1502. package/repos/effect/packages/effect/typetest/Config.tst.ts +31 -0
  1503. package/repos/effect/packages/effect/typetest/Data.tst.ts +121 -0
  1504. package/repos/effect/packages/effect/typetest/Effect.tst.ts +976 -0
  1505. package/repos/effect/packages/effect/typetest/Equivalence.tst.ts +19 -0
  1506. package/repos/effect/packages/effect/typetest/Newtype.tst.ts +72 -0
  1507. package/repos/effect/packages/effect/typetest/Optic.tst.ts +130 -0
  1508. package/repos/effect/packages/effect/typetest/Option.tst.ts +72 -0
  1509. package/repos/effect/packages/effect/typetest/Order.tst.ts +19 -0
  1510. package/repos/effect/packages/effect/typetest/Predicate.tst.ts +251 -0
  1511. package/repos/effect/packages/effect/typetest/Result.tst.ts +353 -0
  1512. package/repos/effect/packages/effect/typetest/Schedule.tst.ts +21 -0
  1513. package/repos/effect/packages/effect/typetest/Stream.tst.ts +197 -0
  1514. package/repos/effect/packages/effect/typetest/Struct.tst.ts +422 -0
  1515. package/repos/effect/packages/effect/typetest/Tuple.tst.ts +177 -0
  1516. package/repos/effect/packages/effect/typetest/Types.tst.ts +364 -0
  1517. package/repos/effect/packages/effect/typetest/VariantSchema.tst.ts +76 -0
  1518. package/repos/effect/packages/effect/typetest/schema/Array.tst.ts +46 -0
  1519. package/repos/effect/packages/effect/typetest/schema/Literals.tst.ts +58 -0
  1520. package/repos/effect/packages/effect/typetest/schema/Record.tst.ts +145 -0
  1521. package/repos/effect/packages/effect/typetest/schema/Schema.tst.ts +1854 -0
  1522. package/repos/effect/packages/effect/typetest/schema/Struct.tst.ts +745 -0
  1523. package/repos/effect/packages/effect/typetest/schema/Tuple.tst.ts +199 -0
  1524. package/repos/effect/packages/effect/typetest/schema/Union.tst.ts +198 -0
  1525. package/repos/effect/packages/effect/typetest/schema/api.tst.ts +276 -0
  1526. package/repos/effect/packages/effect/typetest/schema/toArbitrary.tst.ts +65 -0
  1527. package/repos/effect/packages/effect/typetest/schema/toIso.tst.ts +282 -0
  1528. package/repos/effect/packages/effect/typetest/unstable/ai/LanguageModel.tst.ts +191 -0
  1529. package/repos/effect/packages/effect/typetest/unstable/ai/Tool.tst.ts +33 -0
  1530. package/repos/effect/packages/effect/typetest/unstable/cli/Command.tst.ts +124 -0
  1531. package/repos/effect/packages/effect/typetest/unstable/cli/Param.tst.ts +20 -0
  1532. package/repos/effect/packages/effect/typetest/unstable/cli/Prompt.tst.ts +97 -0
  1533. package/repos/effect/packages/effect/typetest/unstable/encoding/Ndjson.tst.ts +24 -0
  1534. package/repos/effect/packages/effect/typetest/unstable/http/HttpClient.tst.ts +143 -0
  1535. package/repos/effect/packages/effect/typetest/unstable/httpapi/HttpApiBuilder.tst.ts +98 -0
  1536. package/repos/effect/packages/effect/typetest/unstable/httpapi/HttpApiClient.tst.ts +677 -0
  1537. package/repos/effect/packages/effect/typetest/unstable/httpapi/HttpApiEndpoint.tst.ts +466 -0
  1538. package/repos/effect/packages/effect/typetest/unstable/httpapi/HttpApiMiddleware.tst.ts +90 -0
  1539. package/repos/effect/packages/effect/typetest/unstable/httpapi/HttpApiSchema.tst.ts +135 -0
  1540. package/repos/effect/packages/effect/typetest/unstable/reactivity/AsyncResult.tst.ts +65 -0
  1541. package/repos/effect/packages/effect/typetest/unstable/reactivity/AtomHttpApi.tst.ts +63 -0
  1542. package/repos/effect/packages/effect/typetest/unstable/rpc/Rpc.tst.ts +74 -0
  1543. package/repos/effect/packages/effect/typetest/unstable/rpc/RpcGroup.tst.ts +61 -0
  1544. package/repos/effect/packages/effect/typetest/unstable/rpc/RpcMiddleware.tst.ts +41 -0
  1545. package/repos/effect/packages/effect/typetest/unstable/rpc/RpcServer.tst.ts +26 -0
  1546. package/repos/effect/packages/effect/typetest/unstable/sql/SqlSchema.tst.ts +75 -0
  1547. package/repos/effect/packages/effect/typetest/unstable/workflow/Workflow.tst.ts +16 -0
  1548. package/repos/effect/packages/effect/vitest.config.ts +11 -0
  1549. package/repos/effect/packages/opentelemetry/CHANGELOG.md +620 -0
  1550. package/repos/effect/packages/opentelemetry/LICENSE +21 -0
  1551. package/repos/effect/packages/opentelemetry/README.md +5 -0
  1552. package/repos/effect/packages/opentelemetry/docgen.json +30 -0
  1553. package/repos/effect/packages/opentelemetry/package.json +126 -0
  1554. package/repos/effect/packages/opentelemetry/src/Logger.ts +193 -0
  1555. package/repos/effect/packages/opentelemetry/src/Metrics.ts +138 -0
  1556. package/repos/effect/packages/opentelemetry/src/NodeSdk.ts +162 -0
  1557. package/repos/effect/packages/opentelemetry/src/Resource.ts +147 -0
  1558. package/repos/effect/packages/opentelemetry/src/Tracer.ts +594 -0
  1559. package/repos/effect/packages/opentelemetry/src/WebSdk.ts +140 -0
  1560. package/repos/effect/packages/opentelemetry/src/index.ts +35 -0
  1561. package/repos/effect/packages/opentelemetry/src/internal/attributes.ts +28 -0
  1562. package/repos/effect/packages/opentelemetry/src/internal/metrics.ts +463 -0
  1563. package/repos/effect/packages/opentelemetry/src/internal/utilities.ts +5 -0
  1564. package/repos/effect/packages/opentelemetry/test/Logger.test.ts +122 -0
  1565. package/repos/effect/packages/opentelemetry/test/Metrics.test.ts +339 -0
  1566. package/repos/effect/packages/opentelemetry/test/Tracer.test.ts +167 -0
  1567. package/repos/effect/packages/opentelemetry/tsconfig.json +8 -0
  1568. package/repos/effect/packages/opentelemetry/vitest.config.ts +6 -0
  1569. package/repos/effect/packages/platform-browser/CHANGELOG.md +637 -0
  1570. package/repos/effect/packages/platform-browser/LICENSE +21 -0
  1571. package/repos/effect/packages/platform-browser/README.md +1 -0
  1572. package/repos/effect/packages/platform-browser/docgen.json +21 -0
  1573. package/repos/effect/packages/platform-browser/package.json +74 -0
  1574. package/repos/effect/packages/platform-browser/src/BrowserCrypto.ts +97 -0
  1575. package/repos/effect/packages/platform-browser/src/BrowserHttpClient.ts +430 -0
  1576. package/repos/effect/packages/platform-browser/src/BrowserKeyValueStore.ts +177 -0
  1577. package/repos/effect/packages/platform-browser/src/BrowserPersistence.ts +334 -0
  1578. package/repos/effect/packages/platform-browser/src/BrowserRuntime.ts +53 -0
  1579. package/repos/effect/packages/platform-browser/src/BrowserSocket.ts +52 -0
  1580. package/repos/effect/packages/platform-browser/src/BrowserStream.ts +56 -0
  1581. package/repos/effect/packages/platform-browser/src/BrowserWorker.ts +98 -0
  1582. package/repos/effect/packages/platform-browser/src/BrowserWorkerRunner.ts +199 -0
  1583. package/repos/effect/packages/platform-browser/src/Clipboard.ts +143 -0
  1584. package/repos/effect/packages/platform-browser/src/Geolocation.ts +233 -0
  1585. package/repos/effect/packages/platform-browser/src/IndexedDb.ts +113 -0
  1586. package/repos/effect/packages/platform-browser/src/IndexedDbDatabase.ts +648 -0
  1587. package/repos/effect/packages/platform-browser/src/IndexedDbQueryBuilder.ts +2032 -0
  1588. package/repos/effect/packages/platform-browser/src/IndexedDbTable.ts +260 -0
  1589. package/repos/effect/packages/platform-browser/src/IndexedDbVersion.ts +138 -0
  1590. package/repos/effect/packages/platform-browser/src/Permissions.ts +146 -0
  1591. package/repos/effect/packages/platform-browser/src/index.ts +90 -0
  1592. package/repos/effect/packages/platform-browser/test/BrowserCrypto.test.ts +74 -0
  1593. package/repos/effect/packages/platform-browser/test/BrowserHttpClient.test.ts +91 -0
  1594. package/repos/effect/packages/platform-browser/test/BrowserKeyValueStore.test.ts +23 -0
  1595. package/repos/effect/packages/platform-browser/test/BrowserPersistence.test.ts +209 -0
  1596. package/repos/effect/packages/platform-browser/test/BrowserPersistencePersistedCache.test.ts +29 -0
  1597. package/repos/effect/packages/platform-browser/test/IndexedDbDatabase.test.ts +253 -0
  1598. package/repos/effect/packages/platform-browser/test/IndexedDbQueryBuilder.test.ts +1459 -0
  1599. package/repos/effect/packages/platform-browser/test/IndexedDbTable.test.ts +101 -0
  1600. package/repos/effect/packages/platform-browser/test/IndexedDbVersion.test.ts +50 -0
  1601. package/repos/effect/packages/platform-browser/test/Permissions.test.ts +12 -0
  1602. package/repos/effect/packages/platform-browser/test/RpcWorker.test.ts +19 -0
  1603. package/repos/effect/packages/platform-browser/test/fixtures/rpc-e2e.ts +141 -0
  1604. package/repos/effect/packages/platform-browser/test/fixtures/rpc-schemas.ts +157 -0
  1605. package/repos/effect/packages/platform-browser/test/fixtures/rpc-worker.ts +12 -0
  1606. package/repos/effect/packages/platform-browser/tsconfig.json +8 -0
  1607. package/repos/effect/packages/platform-browser/vitest.config.ts +17 -0
  1608. package/repos/effect/packages/platform-browser/vitest.setup.ts +5 -0
  1609. package/repos/effect/packages/platform-bun/CHANGELOG.md +691 -0
  1610. package/repos/effect/packages/platform-bun/LICENSE +21 -0
  1611. package/repos/effect/packages/platform-bun/README.md +7 -0
  1612. package/repos/effect/packages/platform-bun/docgen.json +20 -0
  1613. package/repos/effect/packages/platform-bun/package.json +73 -0
  1614. package/repos/effect/packages/platform-bun/src/BunChildProcessSpawner.ts +6 -0
  1615. package/repos/effect/packages/platform-bun/src/BunClusterHttp.ts +174 -0
  1616. package/repos/effect/packages/platform-bun/src/BunClusterSocket.ts +153 -0
  1617. package/repos/effect/packages/platform-bun/src/BunCrypto.ts +24 -0
  1618. package/repos/effect/packages/platform-bun/src/BunFileSystem.ts +20 -0
  1619. package/repos/effect/packages/platform-bun/src/BunHttpClient.ts +9 -0
  1620. package/repos/effect/packages/platform-bun/src/BunHttpPlatform.ts +50 -0
  1621. package/repos/effect/packages/platform-bun/src/BunHttpServer.ts +600 -0
  1622. package/repos/effect/packages/platform-bun/src/BunHttpServerRequest.ts +19 -0
  1623. package/repos/effect/packages/platform-bun/src/BunMultipart.ts +54 -0
  1624. package/repos/effect/packages/platform-bun/src/BunPath.ts +37 -0
  1625. package/repos/effect/packages/platform-bun/src/BunRedis.ts +88 -0
  1626. package/repos/effect/packages/platform-bun/src/BunRuntime.ts +52 -0
  1627. package/repos/effect/packages/platform-bun/src/BunServices.ts +49 -0
  1628. package/repos/effect/packages/platform-bun/src/BunSink.ts +8 -0
  1629. package/repos/effect/packages/platform-bun/src/BunSocket.ts +54 -0
  1630. package/repos/effect/packages/platform-bun/src/BunSocketServer.ts +8 -0
  1631. package/repos/effect/packages/platform-bun/src/BunStdio.ts +22 -0
  1632. package/repos/effect/packages/platform-bun/src/BunStream.ts +68 -0
  1633. package/repos/effect/packages/platform-bun/src/BunTerminal.ts +32 -0
  1634. package/repos/effect/packages/platform-bun/src/BunWorker.ts +92 -0
  1635. package/repos/effect/packages/platform-bun/src/BunWorkerRunner.ts +113 -0
  1636. package/repos/effect/packages/platform-bun/src/index.ts +115 -0
  1637. package/repos/effect/packages/platform-bun/tsconfig.json +12 -0
  1638. package/repos/effect/packages/platform-node/CHANGELOG.md +695 -0
  1639. package/repos/effect/packages/platform-node/LICENSE +21 -0
  1640. package/repos/effect/packages/platform-node/README.md +7 -0
  1641. package/repos/effect/packages/platform-node/docgen.json +24 -0
  1642. package/repos/effect/packages/platform-node/package.json +82 -0
  1643. package/repos/effect/packages/platform-node/src/Mime.ts +25 -0
  1644. package/repos/effect/packages/platform-node/src/NodeChildProcessSpawner.ts +6 -0
  1645. package/repos/effect/packages/platform-node/src/NodeClusterHttp.ts +155 -0
  1646. package/repos/effect/packages/platform-node/src/NodeClusterSocket.ts +176 -0
  1647. package/repos/effect/packages/platform-node/src/NodeCrypto.ts +24 -0
  1648. package/repos/effect/packages/platform-node/src/NodeFileSystem.ts +21 -0
  1649. package/repos/effect/packages/platform-node/src/NodeHttpClient.ts +664 -0
  1650. package/repos/effect/packages/platform-node/src/NodeHttpIncomingMessage.ts +141 -0
  1651. package/repos/effect/packages/platform-node/src/NodeHttpPlatform.ts +70 -0
  1652. package/repos/effect/packages/platform-node/src/NodeHttpServer.ts +646 -0
  1653. package/repos/effect/packages/platform-node/src/NodeHttpServerRequest.ts +33 -0
  1654. package/repos/effect/packages/platform-node/src/NodeMultipart.ts +183 -0
  1655. package/repos/effect/packages/platform-node/src/NodePath.ts +40 -0
  1656. package/repos/effect/packages/platform-node/src/NodeRedis.ts +92 -0
  1657. package/repos/effect/packages/platform-node/src/NodeRuntime.ts +53 -0
  1658. package/repos/effect/packages/platform-node/src/NodeServices.ts +50 -0
  1659. package/repos/effect/packages/platform-node/src/NodeSink.ts +8 -0
  1660. package/repos/effect/packages/platform-node/src/NodeSocket.ts +72 -0
  1661. package/repos/effect/packages/platform-node/src/NodeSocketServer.ts +8 -0
  1662. package/repos/effect/packages/platform-node/src/NodeStdio.ts +22 -0
  1663. package/repos/effect/packages/platform-node/src/NodeStream.ts +8 -0
  1664. package/repos/effect/packages/platform-node/src/NodeTerminal.ts +32 -0
  1665. package/repos/effect/packages/platform-node/src/NodeWorker.ts +121 -0
  1666. package/repos/effect/packages/platform-node/src/NodeWorkerRunner.ts +110 -0
  1667. package/repos/effect/packages/platform-node/src/Undici.ts +29 -0
  1668. package/repos/effect/packages/platform-node/src/index.ts +130 -0
  1669. package/repos/effect/packages/platform-node/test/HttpApi.test.ts +1831 -0
  1670. package/repos/effect/packages/platform-node/test/HttpStaticServer.test.ts +253 -0
  1671. package/repos/effect/packages/platform-node/test/HttpStaticServerConditional.test.ts +296 -0
  1672. package/repos/effect/packages/platform-node/test/NodeCrypto.test.ts +59 -0
  1673. package/repos/effect/packages/platform-node/test/NodeHttpClient.test.ts +157 -0
  1674. package/repos/effect/packages/platform-node/test/NodeHttpPlatform.test.ts +51 -0
  1675. package/repos/effect/packages/platform-node/test/NodeHttpServer.test.ts +598 -0
  1676. package/repos/effect/packages/platform-node/test/NodeRedis.test.ts +31 -0
  1677. package/repos/effect/packages/platform-node/test/NodeSocket.test.ts +153 -0
  1678. package/repos/effect/packages/platform-node/test/OpenApi.test.ts +1573 -0
  1679. package/repos/effect/packages/platform-node/test/RpcServer.test.ts +213 -0
  1680. package/repos/effect/packages/platform-node/test/__snapshots__/HttpApi.test.ts.snap +715 -0
  1681. package/repos/effect/packages/platform-node/test/cluster/MessageStorageTest.ts +196 -0
  1682. package/repos/effect/packages/platform-node/test/cluster/SocketRunner.test.ts +120 -0
  1683. package/repos/effect/packages/platform-node/test/cluster/SqlMessageStorage.test.ts +222 -0
  1684. package/repos/effect/packages/platform-node/test/cluster/SqlRunnerStorage.test.ts +101 -0
  1685. package/repos/effect/packages/platform-node/test/fixtures/http-static-server/conditional.txt +1 -0
  1686. package/repos/effect/packages/platform-node/test/fixtures/http-static-server/custom/home.html +1 -0
  1687. package/repos/effect/packages/platform-node/test/fixtures/http-static-server/file.binx +1 -0
  1688. package/repos/effect/packages/platform-node/test/fixtures/http-static-server/guide/index.html +1 -0
  1689. package/repos/effect/packages/platform-node/test/fixtures/http-static-server/hello.txt +1 -0
  1690. package/repos/effect/packages/platform-node/test/fixtures/http-static-server/index.html +1 -0
  1691. package/repos/effect/packages/platform-node/test/fixtures/http-static-server/range.txt +1 -0
  1692. package/repos/effect/packages/platform-node/test/fixtures/http-static-server-outside.txt +1 -0
  1693. package/repos/effect/packages/platform-node/test/fixtures/mysql2-utils.ts +64 -0
  1694. package/repos/effect/packages/platform-node/test/fixtures/pg-utils.ts +39 -0
  1695. package/repos/effect/packages/platform-node/test/fixtures/rpc-e2e.ts +149 -0
  1696. package/repos/effect/packages/platform-node/test/fixtures/rpc-schemas.ts +175 -0
  1697. package/repos/effect/packages/platform-node/test/fixtures/text.txt +1 -0
  1698. package/repos/effect/packages/platform-node/tsconfig.json +12 -0
  1699. package/repos/effect/packages/platform-node/vitest.config.ts +6 -0
  1700. package/repos/effect/packages/platform-node-shared/CHANGELOG.md +617 -0
  1701. package/repos/effect/packages/platform-node-shared/LICENSE +21 -0
  1702. package/repos/effect/packages/platform-node-shared/README.md +7 -0
  1703. package/repos/effect/packages/platform-node-shared/docgen.json +38 -0
  1704. package/repos/effect/packages/platform-node-shared/package.json +76 -0
  1705. package/repos/effect/packages/platform-node-shared/src/NodeChildProcessSpawner.ts +713 -0
  1706. package/repos/effect/packages/platform-node-shared/src/NodeClusterSocket.ts +70 -0
  1707. package/repos/effect/packages/platform-node-shared/src/NodeCrypto.ts +60 -0
  1708. package/repos/effect/packages/platform-node-shared/src/NodeFileSystem.ts +652 -0
  1709. package/repos/effect/packages/platform-node-shared/src/NodePath.ts +80 -0
  1710. package/repos/effect/packages/platform-node-shared/src/NodeRuntime.ts +59 -0
  1711. package/repos/effect/packages/platform-node-shared/src/NodeSink.ts +116 -0
  1712. package/repos/effect/packages/platform-node-shared/src/NodeSocket.ts +269 -0
  1713. package/repos/effect/packages/platform-node-shared/src/NodeSocketServer.ts +301 -0
  1714. package/repos/effect/packages/platform-node-shared/src/NodeStdio.ts +67 -0
  1715. package/repos/effect/packages/platform-node-shared/src/NodeStream.ts +445 -0
  1716. package/repos/effect/packages/platform-node-shared/src/NodeTerminal.ts +129 -0
  1717. package/repos/effect/packages/platform-node-shared/src/index.ts +65 -0
  1718. package/repos/effect/packages/platform-node-shared/src/internal/utils.ts +51 -0
  1719. package/repos/effect/packages/platform-node-shared/test/NodeChildProcessSpawner.test.ts +1069 -0
  1720. package/repos/effect/packages/platform-node-shared/test/NodeFileSystem.test.ts +214 -0
  1721. package/repos/effect/packages/platform-node-shared/test/NodeSink.test.ts +153 -0
  1722. package/repos/effect/packages/platform-node-shared/test/NodeStream.test.ts +173 -0
  1723. package/repos/effect/packages/platform-node-shared/test/fixtures/bash/no-permissions.sh +3 -0
  1724. package/repos/effect/packages/platform-node-shared/test/fixtures/bash/parent-exits-early.sh +31 -0
  1725. package/repos/effect/packages/platform-node-shared/test/fixtures/bash/spawn-children.sh +32 -0
  1726. package/repos/effect/packages/platform-node-shared/test/fixtures/config/SHOUTING +1 -0
  1727. package/repos/effect/packages/platform-node-shared/test/fixtures/config/integer +1 -0
  1728. package/repos/effect/packages/platform-node-shared/test/fixtures/config/nested/config +1 -0
  1729. package/repos/effect/packages/platform-node-shared/test/fixtures/config/secret +1 -0
  1730. package/repos/effect/packages/platform-node-shared/test/fixtures/helloworld.tar.gz +0 -0
  1731. package/repos/effect/packages/platform-node-shared/test/fixtures/text.txt +1 -0
  1732. package/repos/effect/packages/platform-node-shared/tsconfig.json +11 -0
  1733. package/repos/effect/packages/platform-node-shared/vitest.config.ts +6 -0
  1734. package/repos/effect/packages/sql/clickhouse/CHANGELOG.md +681 -0
  1735. package/repos/effect/packages/sql/clickhouse/LICENSE +21 -0
  1736. package/repos/effect/packages/sql/clickhouse/README.md +7 -0
  1737. package/repos/effect/packages/sql/clickhouse/docgen.json +24 -0
  1738. package/repos/effect/packages/sql/clickhouse/package.json +72 -0
  1739. package/repos/effect/packages/sql/clickhouse/src/ClickhouseClient.ts +546 -0
  1740. package/repos/effect/packages/sql/clickhouse/src/ClickhouseMigrator.ts +51 -0
  1741. package/repos/effect/packages/sql/clickhouse/src/index.ts +15 -0
  1742. package/repos/effect/packages/sql/clickhouse/test/Client.test.ts +6 -0
  1743. package/repos/effect/packages/sql/clickhouse/test/SqlErrorClassification.test.ts +75 -0
  1744. package/repos/effect/packages/sql/clickhouse/tsconfig.json +12 -0
  1745. package/repos/effect/packages/sql/clickhouse/vitest.config.ts +6 -0
  1746. package/repos/effect/packages/sql/d1/CHANGELOG.md +597 -0
  1747. package/repos/effect/packages/sql/d1/LICENSE +21 -0
  1748. package/repos/effect/packages/sql/d1/README.md +7 -0
  1749. package/repos/effect/packages/sql/d1/docgen.json +24 -0
  1750. package/repos/effect/packages/sql/d1/package.json +75 -0
  1751. package/repos/effect/packages/sql/d1/src/D1Client.ts +249 -0
  1752. package/repos/effect/packages/sql/d1/src/index.ts +10 -0
  1753. package/repos/effect/packages/sql/d1/test/Client.test.ts +65 -0
  1754. package/repos/effect/packages/sql/d1/test/Resolver.test.ts +176 -0
  1755. package/repos/effect/packages/sql/d1/test/utils.ts +38 -0
  1756. package/repos/effect/packages/sql/d1/tsconfig.json +8 -0
  1757. package/repos/effect/packages/sql/d1/vitest.config.ts +6 -0
  1758. package/repos/effect/packages/sql/libsql/CHANGELOG.md +601 -0
  1759. package/repos/effect/packages/sql/libsql/LICENSE +21 -0
  1760. package/repos/effect/packages/sql/libsql/README.md +7 -0
  1761. package/repos/effect/packages/sql/libsql/docgen.json +24 -0
  1762. package/repos/effect/packages/sql/libsql/package.json +73 -0
  1763. package/repos/effect/packages/sql/libsql/src/LibsqlClient.ts +381 -0
  1764. package/repos/effect/packages/sql/libsql/src/LibsqlMigrator.ts +46 -0
  1765. package/repos/effect/packages/sql/libsql/src/index.ts +15 -0
  1766. package/repos/effect/packages/sql/libsql/test/Client.test.ts +106 -0
  1767. package/repos/effect/packages/sql/libsql/test/Resolver.test.ts +177 -0
  1768. package/repos/effect/packages/sql/libsql/test/util.ts +54 -0
  1769. package/repos/effect/packages/sql/libsql/tsconfig.json +9 -0
  1770. package/repos/effect/packages/sql/libsql/vitest.config.ts +6 -0
  1771. package/repos/effect/packages/sql/mssql/CHANGELOG.md +601 -0
  1772. package/repos/effect/packages/sql/mssql/LICENSE +21 -0
  1773. package/repos/effect/packages/sql/mssql/README.md +7 -0
  1774. package/repos/effect/packages/sql/mssql/docgen.json +24 -0
  1775. package/repos/effect/packages/sql/mssql/package.json +70 -0
  1776. package/repos/effect/packages/sql/mssql/src/MssqlClient.ts +732 -0
  1777. package/repos/effect/packages/sql/mssql/src/MssqlMigrator.ts +45 -0
  1778. package/repos/effect/packages/sql/mssql/src/Parameter.ts +64 -0
  1779. package/repos/effect/packages/sql/mssql/src/Procedure.ts +213 -0
  1780. package/repos/effect/packages/sql/mssql/src/index.ts +32 -0
  1781. package/repos/effect/packages/sql/mssql/test/Client.test.ts +91 -0
  1782. package/repos/effect/packages/sql/mssql/test/SqlErrorClassification.test.ts +206 -0
  1783. package/repos/effect/packages/sql/mssql/tsconfig.json +8 -0
  1784. package/repos/effect/packages/sql/mssql/vitest.config.ts +6 -0
  1785. package/repos/effect/packages/sql/mysql2/CHANGELOG.md +603 -0
  1786. package/repos/effect/packages/sql/mysql2/LICENSE +21 -0
  1787. package/repos/effect/packages/sql/mysql2/README.md +7 -0
  1788. package/repos/effect/packages/sql/mysql2/docgen.json +24 -0
  1789. package/repos/effect/packages/sql/mysql2/package.json +71 -0
  1790. package/repos/effect/packages/sql/mysql2/src/MysqlClient.ts +517 -0
  1791. package/repos/effect/packages/sql/mysql2/src/MysqlMigrator.ts +102 -0
  1792. package/repos/effect/packages/sql/mysql2/src/index.ts +15 -0
  1793. package/repos/effect/packages/sql/mysql2/test/Client.test.ts +34 -0
  1794. package/repos/effect/packages/sql/mysql2/test/KeyValueStore.test.ts +16 -0
  1795. package/repos/effect/packages/sql/mysql2/test/Model.test.ts +227 -0
  1796. package/repos/effect/packages/sql/mysql2/test/MysqlClient.test.ts +35 -0
  1797. package/repos/effect/packages/sql/mysql2/test/Persistence.test.ts +22 -0
  1798. package/repos/effect/packages/sql/mysql2/test/SqlErrorClassification.test.ts +133 -0
  1799. package/repos/effect/packages/sql/mysql2/test/SqlEventLogServerUnencrypted.test.ts +7 -0
  1800. package/repos/effect/packages/sql/mysql2/test/utils.ts +64 -0
  1801. package/repos/effect/packages/sql/mysql2/tsconfig.json +9 -0
  1802. package/repos/effect/packages/sql/mysql2/vitest.config.ts +6 -0
  1803. package/repos/effect/packages/sql/pg/CHANGELOG.md +3432 -0
  1804. package/repos/effect/packages/sql/pg/LICENSE +21 -0
  1805. package/repos/effect/packages/sql/pg/README.md +7 -0
  1806. package/repos/effect/packages/sql/pg/docgen.json +24 -0
  1807. package/repos/effect/packages/sql/pg/package.json +77 -0
  1808. package/repos/effect/packages/sql/pg/src/PgClient.ts +947 -0
  1809. package/repos/effect/packages/sql/pg/src/PgMigrator.ts +120 -0
  1810. package/repos/effect/packages/sql/pg/src/index.ts +15 -0
  1811. package/repos/effect/packages/sql/pg/test/Client.test.ts +373 -0
  1812. package/repos/effect/packages/sql/pg/test/KeyValueStore.test.ts +16 -0
  1813. package/repos/effect/packages/sql/pg/test/Persistence.test.ts +20 -0
  1814. package/repos/effect/packages/sql/pg/test/SqlErrorClassification.test.ts +81 -0
  1815. package/repos/effect/packages/sql/pg/test/SqlEventLogServerUnencrypted.test.ts +7 -0
  1816. package/repos/effect/packages/sql/pg/test/TransactionAcquire.test.ts +52 -0
  1817. package/repos/effect/packages/sql/pg/test/utils.ts +49 -0
  1818. package/repos/effect/packages/sql/pg/tsconfig.json +9 -0
  1819. package/repos/effect/packages/sql/pg/vitest.config.ts +6 -0
  1820. package/repos/effect/packages/sql/pglite/CHANGELOG.md +198 -0
  1821. package/repos/effect/packages/sql/pglite/LICENSE +21 -0
  1822. package/repos/effect/packages/sql/pglite/README.md +7 -0
  1823. package/repos/effect/packages/sql/pglite/docgen.json +24 -0
  1824. package/repos/effect/packages/sql/pglite/package.json +74 -0
  1825. package/repos/effect/packages/sql/pglite/src/PgliteClient.ts +503 -0
  1826. package/repos/effect/packages/sql/pglite/src/PgliteMigrator.ts +44 -0
  1827. package/repos/effect/packages/sql/pglite/src/index.ts +15 -0
  1828. package/repos/effect/packages/sql/pglite/test/Client.test.ts +149 -0
  1829. package/repos/effect/packages/sql/pglite/test/Migrator.test.ts +45 -0
  1830. package/repos/effect/packages/sql/pglite/test/SqlErrorClassification.test.ts +56 -0
  1831. package/repos/effect/packages/sql/pglite/test/Transaction.test.ts +62 -0
  1832. package/repos/effect/packages/sql/pglite/tsconfig.json +8 -0
  1833. package/repos/effect/packages/sql/pglite/vitest.config.ts +6 -0
  1834. package/repos/effect/packages/sql/sqlite-bun/CHANGELOG.md +601 -0
  1835. package/repos/effect/packages/sql/sqlite-bun/LICENSE +21 -0
  1836. package/repos/effect/packages/sql/sqlite-bun/README.md +7 -0
  1837. package/repos/effect/packages/sql/sqlite-bun/docgen.json +24 -0
  1838. package/repos/effect/packages/sql/sqlite-bun/package.json +69 -0
  1839. package/repos/effect/packages/sql/sqlite-bun/src/SqliteClient.ts +262 -0
  1840. package/repos/effect/packages/sql/sqlite-bun/src/SqliteMigrator.ts +90 -0
  1841. package/repos/effect/packages/sql/sqlite-bun/src/index.ts +15 -0
  1842. package/repos/effect/packages/sql/sqlite-bun/test/Client.test.ts +6 -0
  1843. package/repos/effect/packages/sql/sqlite-bun/tsconfig.json +11 -0
  1844. package/repos/effect/packages/sql/sqlite-bun/vitest.config.ts +6 -0
  1845. package/repos/effect/packages/sql/sqlite-do/CHANGELOG.md +601 -0
  1846. package/repos/effect/packages/sql/sqlite-do/LICENSE +21 -0
  1847. package/repos/effect/packages/sql/sqlite-do/README.md +7 -0
  1848. package/repos/effect/packages/sql/sqlite-do/docgen.json +24 -0
  1849. package/repos/effect/packages/sql/sqlite-do/package.json +68 -0
  1850. package/repos/effect/packages/sql/sqlite-do/src/SqliteClient.ts +249 -0
  1851. package/repos/effect/packages/sql/sqlite-do/src/SqliteMigrator.ts +45 -0
  1852. package/repos/effect/packages/sql/sqlite-do/src/index.ts +15 -0
  1853. package/repos/effect/packages/sql/sqlite-do/test/Client.test.ts +24 -0
  1854. package/repos/effect/packages/sql/sqlite-do/tsconfig.json +8 -0
  1855. package/repos/effect/packages/sql/sqlite-do/vitest.config.ts +6 -0
  1856. package/repos/effect/packages/sql/sqlite-node/CHANGELOG.md +3415 -0
  1857. package/repos/effect/packages/sql/sqlite-node/LICENSE +21 -0
  1858. package/repos/effect/packages/sql/sqlite-node/README.md +7 -0
  1859. package/repos/effect/packages/sql/sqlite-node/docgen.json +24 -0
  1860. package/repos/effect/packages/sql/sqlite-node/package.json +72 -0
  1861. package/repos/effect/packages/sql/sqlite-node/src/SqliteClient.ts +312 -0
  1862. package/repos/effect/packages/sql/sqlite-node/src/SqliteMigrator.ts +90 -0
  1863. package/repos/effect/packages/sql/sqlite-node/src/index.ts +15 -0
  1864. package/repos/effect/packages/sql/sqlite-node/test/Client.test.ts +75 -0
  1865. package/repos/effect/packages/sql/sqlite-node/test/KeyValueStore.test.ts +29 -0
  1866. package/repos/effect/packages/sql/sqlite-node/test/Persistence.test.ts +109 -0
  1867. package/repos/effect/packages/sql/sqlite-node/test/Resolver.test.ts +183 -0
  1868. package/repos/effect/packages/sql/sqlite-node/test/SqlEventJournal.test.ts +84 -0
  1869. package/repos/effect/packages/sql/sqlite-node/test/SqlEventLogServerEncrypted.test.ts +249 -0
  1870. package/repos/effect/packages/sql/sqlite-node/test/SqlEventLogServerUnencrypted.test.ts +110 -0
  1871. package/repos/effect/packages/sql/sqlite-node/test/SqliteMigrator.test.ts +48 -0
  1872. package/repos/effect/packages/sql/sqlite-node/tsconfig.json +8 -0
  1873. package/repos/effect/packages/sql/sqlite-node/vitest.config.ts +6 -0
  1874. package/repos/effect/packages/sql/sqlite-react-native/CHANGELOG.md +601 -0
  1875. package/repos/effect/packages/sql/sqlite-react-native/LICENSE +21 -0
  1876. package/repos/effect/packages/sql/sqlite-react-native/README.md +7 -0
  1877. package/repos/effect/packages/sql/sqlite-react-native/docgen.json +24 -0
  1878. package/repos/effect/packages/sql/sqlite-react-native/package.json +69 -0
  1879. package/repos/effect/packages/sql/sqlite-react-native/src/SqliteClient.ts +354 -0
  1880. package/repos/effect/packages/sql/sqlite-react-native/src/SqliteMigrator.ts +55 -0
  1881. package/repos/effect/packages/sql/sqlite-react-native/src/index.ts +15 -0
  1882. package/repos/effect/packages/sql/sqlite-react-native/test/Client.test.ts +6 -0
  1883. package/repos/effect/packages/sql/sqlite-react-native/tsconfig.json +8 -0
  1884. package/repos/effect/packages/sql/sqlite-react-native/vitest.config.ts +6 -0
  1885. package/repos/effect/packages/sql/sqlite-wasm/CHANGELOG.md +601 -0
  1886. package/repos/effect/packages/sql/sqlite-wasm/LICENSE +21 -0
  1887. package/repos/effect/packages/sql/sqlite-wasm/README.md +7 -0
  1888. package/repos/effect/packages/sql/sqlite-wasm/docgen.json +24 -0
  1889. package/repos/effect/packages/sql/sqlite-wasm/package.json +69 -0
  1890. package/repos/effect/packages/sql/sqlite-wasm/src/OpfsWorker.ts +118 -0
  1891. package/repos/effect/packages/sql/sqlite-wasm/src/SqliteClient.ts +551 -0
  1892. package/repos/effect/packages/sql/sqlite-wasm/src/SqliteMigrator.ts +55 -0
  1893. package/repos/effect/packages/sql/sqlite-wasm/src/index.ts +14 -0
  1894. package/repos/effect/packages/sql/sqlite-wasm/src/internal/opfsWorker.ts +7 -0
  1895. package/repos/effect/packages/sql/sqlite-wasm/src/sqlite-wasm.d.ts +47 -0
  1896. package/repos/effect/packages/sql/sqlite-wasm/test/Client.test.ts +6 -0
  1897. package/repos/effect/packages/sql/sqlite-wasm/tsconfig.json +8 -0
  1898. package/repos/effect/packages/sql/sqlite-wasm/vitest.config.ts +6 -0
  1899. package/repos/effect/packages/tools/ai-codegen/codegen.schema.json +92 -0
  1900. package/repos/effect/packages/tools/ai-codegen/docgen.json +4 -0
  1901. package/repos/effect/packages/tools/ai-codegen/package.json +61 -0
  1902. package/repos/effect/packages/tools/ai-codegen/src/Config.ts +292 -0
  1903. package/repos/effect/packages/tools/ai-codegen/src/Discovery.ts +197 -0
  1904. package/repos/effect/packages/tools/ai-codegen/src/Generator.ts +183 -0
  1905. package/repos/effect/packages/tools/ai-codegen/src/Glob.ts +56 -0
  1906. package/repos/effect/packages/tools/ai-codegen/src/PostProcess.ts +157 -0
  1907. package/repos/effect/packages/tools/ai-codegen/src/SpecFetcher.ts +154 -0
  1908. package/repos/effect/packages/tools/ai-codegen/src/bin.ts +10 -0
  1909. package/repos/effect/packages/tools/ai-codegen/src/main.ts +237 -0
  1910. package/repos/effect/packages/tools/ai-codegen/tsconfig.json +15 -0
  1911. package/repos/effect/packages/tools/ai-docgen/docgen.json +4 -0
  1912. package/repos/effect/packages/tools/ai-docgen/package.json +60 -0
  1913. package/repos/effect/packages/tools/ai-docgen/src/Glob.ts +48 -0
  1914. package/repos/effect/packages/tools/ai-docgen/src/main.ts +186 -0
  1915. package/repos/effect/packages/tools/ai-docgen/tsconfig.json +14 -0
  1916. package/repos/effect/packages/tools/bundle/docgen.json +4 -0
  1917. package/repos/effect/packages/tools/bundle/fixtures/basic.ts +3 -0
  1918. package/repos/effect/packages/tools/bundle/fixtures/batching.ts +25 -0
  1919. package/repos/effect/packages/tools/bundle/fixtures/brand.ts +5 -0
  1920. package/repos/effect/packages/tools/bundle/fixtures/cache.ts +10 -0
  1921. package/repos/effect/packages/tools/bundle/fixtures/config.ts +13 -0
  1922. package/repos/effect/packages/tools/bundle/fixtures/differ.ts +9 -0
  1923. package/repos/effect/packages/tools/bundle/fixtures/http-client.ts +12 -0
  1924. package/repos/effect/packages/tools/bundle/fixtures/logger.ts +5 -0
  1925. package/repos/effect/packages/tools/bundle/fixtures/metric.ts +13 -0
  1926. package/repos/effect/packages/tools/bundle/fixtures/optic.ts +6 -0
  1927. package/repos/effect/packages/tools/bundle/fixtures/pubsub.ts +22 -0
  1928. package/repos/effect/packages/tools/bundle/fixtures/queue.ts +18 -0
  1929. package/repos/effect/packages/tools/bundle/fixtures/schedule.ts +9 -0
  1930. package/repos/effect/packages/tools/bundle/fixtures/schema-fromJsonSchemaDocument.ts +16 -0
  1931. package/repos/effect/packages/tools/bundle/fixtures/schema-representation-roundtrip.ts +16 -0
  1932. package/repos/effect/packages/tools/bundle/fixtures/schema-string-transformation.ts +20 -0
  1933. package/repos/effect/packages/tools/bundle/fixtures/schema-string.ts +8 -0
  1934. package/repos/effect/packages/tools/bundle/fixtures/schema-template-literal.ts +8 -0
  1935. package/repos/effect/packages/tools/bundle/fixtures/schema-toArbitraryLazy.ts +9 -0
  1936. package/repos/effect/packages/tools/bundle/fixtures/schema-toCodeDocument.ts +12 -0
  1937. package/repos/effect/packages/tools/bundle/fixtures/schema-toCodecJson.ts +9 -0
  1938. package/repos/effect/packages/tools/bundle/fixtures/schema-toEquivalence.ts +9 -0
  1939. package/repos/effect/packages/tools/bundle/fixtures/schema-toFormatter.ts +9 -0
  1940. package/repos/effect/packages/tools/bundle/fixtures/schema-toJsonSchemaDocument.ts +9 -0
  1941. package/repos/effect/packages/tools/bundle/fixtures/schema-toRepresentation.ts +9 -0
  1942. package/repos/effect/packages/tools/bundle/fixtures/schema.ts +12 -0
  1943. package/repos/effect/packages/tools/bundle/fixtures/stm.ts +21 -0
  1944. package/repos/effect/packages/tools/bundle/fixtures/stream.ts +7 -0
  1945. package/repos/effect/packages/tools/bundle/package.json +52 -0
  1946. package/repos/effect/packages/tools/bundle/src/Cli.ts +104 -0
  1947. package/repos/effect/packages/tools/bundle/src/Fixtures.ts +51 -0
  1948. package/repos/effect/packages/tools/bundle/src/Plugins.ts +131 -0
  1949. package/repos/effect/packages/tools/bundle/src/Reporter.ts +200 -0
  1950. package/repos/effect/packages/tools/bundle/src/Rollup.ts +179 -0
  1951. package/repos/effect/packages/tools/bundle/src/bin.ts +23 -0
  1952. package/repos/effect/packages/tools/bundle/tsconfig.fixtures.json +13 -0
  1953. package/repos/effect/packages/tools/bundle/tsconfig.json +9 -0
  1954. package/repos/effect/packages/tools/bundle/tsconfig.src.json +13 -0
  1955. package/repos/effect/packages/tools/jsdocs/docgen.json +4 -0
  1956. package/repos/effect/packages/tools/jsdocs/package.json +64 -0
  1957. package/repos/effect/packages/tools/jsdocs/src/Jsdocs.ts +3303 -0
  1958. package/repos/effect/packages/tools/jsdocs/src/bin.ts +23 -0
  1959. package/repos/effect/packages/tools/jsdocs/test/jsdocs.test.ts +979 -0
  1960. package/repos/effect/packages/tools/jsdocs/tsconfig.json +8 -0
  1961. package/repos/effect/packages/tools/jsdocs/vitest.config.ts +6 -0
  1962. package/repos/effect/packages/tools/openapi-generator/CHANGELOG.md +691 -0
  1963. package/repos/effect/packages/tools/openapi-generator/LICENSE +21 -0
  1964. package/repos/effect/packages/tools/openapi-generator/docgen.json +4 -0
  1965. package/repos/effect/packages/tools/openapi-generator/package.json +78 -0
  1966. package/repos/effect/packages/tools/openapi-generator/src/HttpApiTransformer.ts +552 -0
  1967. package/repos/effect/packages/tools/openapi-generator/src/JsonSchemaGenerator.ts +319 -0
  1968. package/repos/effect/packages/tools/openapi-generator/src/OpenApiGenerator.ts +1201 -0
  1969. package/repos/effect/packages/tools/openapi-generator/src/OpenApiPatch.ts +539 -0
  1970. package/repos/effect/packages/tools/openapi-generator/src/OpenApiTransformer.ts +1019 -0
  1971. package/repos/effect/packages/tools/openapi-generator/src/ParsedOperation.ts +277 -0
  1972. package/repos/effect/packages/tools/openapi-generator/src/Utils.ts +111 -0
  1973. package/repos/effect/packages/tools/openapi-generator/src/bin.ts +10 -0
  1974. package/repos/effect/packages/tools/openapi-generator/src/main.ts +116 -0
  1975. package/repos/effect/packages/tools/openapi-generator/test/JsonSchemaGenerator.test.ts +173 -0
  1976. package/repos/effect/packages/tools/openapi-generator/test/OpenApiGenerator.test.ts +2130 -0
  1977. package/repos/effect/packages/tools/openapi-generator/test/OpenApiGeneratorCli.test.ts +147 -0
  1978. package/repos/effect/packages/tools/openapi-generator/test/OpenApiPatch.test.ts +380 -0
  1979. package/repos/effect/packages/tools/openapi-generator/test/Utils.test.ts +33 -0
  1980. package/repos/effect/packages/tools/openapi-generator/test/fixtures/cli-basic-spec.json +35 -0
  1981. package/repos/effect/packages/tools/openapi-generator/test/fixtures/cli-warning-spec.json +57 -0
  1982. package/repos/effect/packages/tools/openapi-generator/test/fixtures/patches/invalid-op.json +7 -0
  1983. package/repos/effect/packages/tools/openapi-generator/test/fixtures/patches/missing-path.json +6 -0
  1984. package/repos/effect/packages/tools/openapi-generator/test/fixtures/patches/missing-value.json +6 -0
  1985. package/repos/effect/packages/tools/openapi-generator/test/fixtures/patches/valid-add.json +8 -0
  1986. package/repos/effect/packages/tools/openapi-generator/test/fixtures/patches/valid-multiple.json +17 -0
  1987. package/repos/effect/packages/tools/openapi-generator/test/fixtures/patches/valid-patch.yaml +6 -0
  1988. package/repos/effect/packages/tools/openapi-generator/test/fixtures/patches/valid-remove.json +6 -0
  1989. package/repos/effect/packages/tools/openapi-generator/test/fixtures/patches/valid-replace.json +7 -0
  1990. package/repos/effect/packages/tools/openapi-generator/tsconfig.json +9 -0
  1991. package/repos/effect/packages/tools/openapi-generator/vitest.config.ts +6 -0
  1992. package/repos/effect/packages/tools/oxc/docgen.json +4 -0
  1993. package/repos/effect/packages/tools/oxc/oxlintrc.json +83 -0
  1994. package/repos/effect/packages/tools/oxc/package.json +72 -0
  1995. package/repos/effect/packages/tools/oxc/src/oxlint/index.ts +18 -0
  1996. package/repos/effect/packages/tools/oxc/src/oxlint/rules/jsdocs.ts +108 -0
  1997. package/repos/effect/packages/tools/oxc/src/oxlint/rules/no-bigint-literals.ts +25 -0
  1998. package/repos/effect/packages/tools/oxc/src/oxlint/rules/no-import-from-barrel-package.ts +144 -0
  1999. package/repos/effect/packages/tools/oxc/src/oxlint/rules/no-js-extension-imports.ts +73 -0
  2000. package/repos/effect/packages/tools/oxc/src/oxlint/rules/no-opaque-instance-fields.ts +92 -0
  2001. package/repos/effect/packages/tools/oxc/test/jsdocs.test.ts +75 -0
  2002. package/repos/effect/packages/tools/oxc/test/no-import-from-barrel-package.test.ts +182 -0
  2003. package/repos/effect/packages/tools/oxc/test/no-js-extension-imports.test.ts +120 -0
  2004. package/repos/effect/packages/tools/oxc/test/no-opaque-instance-fields.test.ts +276 -0
  2005. package/repos/effect/packages/tools/oxc/test/utils.ts +61 -0
  2006. package/repos/effect/packages/tools/oxc/tsconfig.json +8 -0
  2007. package/repos/effect/packages/tools/oxc/vitest.config.ts +6 -0
  2008. package/repos/effect/packages/tools/utils/docgen.json +4 -0
  2009. package/repos/effect/packages/tools/utils/package.json +59 -0
  2010. package/repos/effect/packages/tools/utils/src/Codegen.ts +214 -0
  2011. package/repos/effect/packages/tools/utils/src/Glob.ts +61 -0
  2012. package/repos/effect/packages/tools/utils/src/bin.ts +16 -0
  2013. package/repos/effect/packages/tools/utils/src/commands/codegen.ts +44 -0
  2014. package/repos/effect/packages/tools/utils/tsconfig.json +9 -0
  2015. package/repos/effect/packages/vitest/CHANGELOG.md +601 -0
  2016. package/repos/effect/packages/vitest/LICENSE +21 -0
  2017. package/repos/effect/packages/vitest/README.md +320 -0
  2018. package/repos/effect/packages/vitest/docgen.json +24 -0
  2019. package/repos/effect/packages/vitest/package.json +60 -0
  2020. package/repos/effect/packages/vitest/src/index.ts +259 -0
  2021. package/repos/effect/packages/vitest/src/internal/internal.ts +374 -0
  2022. package/repos/effect/packages/vitest/src/utils.ts +321 -0
  2023. package/repos/effect/packages/vitest/test/index.test.ts +222 -0
  2024. package/repos/effect/packages/vitest/test/isolation.test.ts +105 -0
  2025. package/repos/effect/packages/vitest/test/nested-isolation.test.ts +212 -0
  2026. package/repos/effect/packages/vitest/tsconfig.json +11 -0
  2027. package/repos/effect/packages/vitest/typetest/index.tst.ts +56 -0
  2028. package/repos/effect/packages/vitest/vitest.config.ts +6 -0
  2029. package/repos/effect/patches/@changesets__assemble-release-plan.patch +26 -0
  2030. package/repos/effect/patches/@changesets__get-github-info.patch +44 -0
  2031. package/repos/effect/pnpm-lock.yaml +13483 -0
  2032. package/repos/effect/pnpm-workspace.yaml +10 -0
  2033. package/repos/effect/scripts/bundle-compare.sh +42 -0
  2034. package/repos/effect/scripts/check-cookbook-schedule.ts +390 -0
  2035. package/repos/effect/scripts/circular.mjs +26 -0
  2036. package/repos/effect/scripts/clean.mjs +19 -0
  2037. package/repos/effect/scripts/codemod.mjs +22 -0
  2038. package/repos/effect/scripts/codemods/jsdoc.ts +79 -0
  2039. package/repos/effect/scripts/docs.mjs +64 -0
  2040. package/repos/effect/scripts/package-scalar.mjs +14 -0
  2041. package/repos/effect/scripts/package-swagger.mjs +23 -0
  2042. package/repos/effect/scripts/package.json +22 -0
  2043. package/repos/effect/scripts/tsconfig.json +18 -0
  2044. package/repos/effect/scripts/version.mjs +9 -0
  2045. package/repos/effect/scripts/version.template.txt +2 -0
  2046. package/repos/effect/scripts/worktree-setup.sh +27 -0
  2047. package/repos/effect/stats.txt +30 -0
  2048. package/repos/effect/tsconfig.base.json +46 -0
  2049. package/repos/effect/tsconfig.json +128 -0
  2050. package/repos/effect/tsconfig.packages.json +39 -0
  2051. package/repos/effect/tstyche.json +7 -0
  2052. package/repos/effect/vitest.config.ts +31 -0
  2053. package/repos/effect/vitest.setup.ts +4 -0
  2054. package/repos/effect/vitest.shared.ts +61 -0
  2055. package/repos/effect.subtree.json +16 -0
@@ -0,0 +1,2922 @@
1
+ /**
2
+ * Works with absolute instants, UTC date-times, zoned date-times, and time
3
+ * zones.
4
+ *
5
+ * A `DateTime` always represents an absolute point in time with epoch
6
+ * milliseconds. It may also carry a `TimeZone` for calendar parts, formatting,
7
+ * and zone-aware transformations. This module includes constructors, time-zone
8
+ * helpers, comparisons, date arithmetic, current-time effects, and formatting
9
+ * functions.
10
+ *
11
+ * @since 3.6.0
12
+ */
13
+ import type { IllegalArgumentError } from "./Cause.ts"
14
+ import * as Context from "./Context.ts"
15
+ import type * as Duration from "./Duration.ts"
16
+ import * as Effect from "./Effect.ts"
17
+ import type * as Equ from "./Equivalence.ts"
18
+ import { dual, flow, type LazyArg } from "./Function.ts"
19
+ import type { Inspectable } from "./Inspectable.ts"
20
+ import * as Internal from "./internal/dateTime.ts"
21
+ import { provideService } from "./internal/effect.ts"
22
+ import * as Layer from "./Layer.ts"
23
+ import type * as Option from "./Option.ts"
24
+ import type * as order from "./Order.ts"
25
+ import type { Pipeable } from "./Pipeable.ts"
26
+
27
+ const TypeId = Internal.TypeId
28
+ const TimeZoneTypeId = Internal.TimeZoneTypeId
29
+
30
+ /**
31
+ * A `DateTime` represents a point in time. It can optionally have a time zone
32
+ * associated with it.
33
+ *
34
+ * @category models
35
+ * @since 3.6.0
36
+ */
37
+ export type DateTime = Utc | Zoned
38
+
39
+ /**
40
+ * Represents a `DateTime` stored as an absolute UTC instant with no associated
41
+ * time zone.
42
+ *
43
+ * **Details**
44
+ *
45
+ * Use `DateTime.isUtc` to narrow a `DateTime` to this variant.
46
+ *
47
+ * @category models
48
+ * @since 3.6.0
49
+ */
50
+ export interface Utc extends DateTime.Proto {
51
+ readonly _tag: "Utc"
52
+ readonly epochMilliseconds: number
53
+ partsUtc: DateTime.PartsWithWeekday | undefined
54
+ }
55
+
56
+ /**
57
+ * Represents a `DateTime` with an associated `TimeZone`.
58
+ *
59
+ * **Details**
60
+ *
61
+ * A zoned value still represents an absolute instant through
62
+ * `epochMilliseconds`, while the time zone is used for wall-clock parts,
63
+ * formatting, and zone-aware transformations.
64
+ *
65
+ * @category models
66
+ * @since 3.6.0
67
+ */
68
+ export interface Zoned extends DateTime.Proto {
69
+ readonly _tag: "Zoned"
70
+ readonly epochMilliseconds: number
71
+ readonly zone: TimeZone
72
+ adjustedEpochMilliseconds: number | undefined
73
+ partsAdjusted: DateTime.PartsWithWeekday | undefined
74
+ partsUtc: DateTime.PartsWithWeekday | undefined
75
+ }
76
+
77
+ /**
78
+ * Companion namespace containing the public helper types used by `DateTime`
79
+ * constructors, parts APIs, formatting, and date/time arithmetic.
80
+ *
81
+ * @since 3.6.0
82
+ */
83
+ export declare namespace DateTime {
84
+ /**
85
+ * Input accepted by `DateTime.make`, `DateTime.makeUnsafe`, and the zoned
86
+ * constructors.
87
+ *
88
+ * **Details**
89
+ *
90
+ * Includes existing `DateTime` values, partial date parts, epoch-millisecond
91
+ * objects, epoch milliseconds, JavaScript `Date` instances, and parseable date
92
+ * strings.
93
+ *
94
+ * @category models
95
+ * @since 3.6.0
96
+ */
97
+ export type Input = DateTime | Partial<Parts> | Instant | InstantWithZone | Date | number | string
98
+
99
+ /**
100
+ * Type-level helper used by constructors to preserve a zoned input.
101
+ *
102
+ * **Details**
103
+ *
104
+ * When the input type is `DateTime.Zoned`, the result type is
105
+ * `DateTime.Zoned`; otherwise the result type is `DateTime.Utc`.
106
+ *
107
+ * @category models
108
+ * @since 3.6.0
109
+ */
110
+ export type PreserveZone<A extends DateTime.Input> = A extends Zoned ? Zoned : Utc
111
+
112
+ /**
113
+ * Date and time unit name accepted by `DateTime` rounding and arithmetic
114
+ * APIs.
115
+ *
116
+ * **Details**
117
+ *
118
+ * Includes both singular units, such as `"day"`, and plural units, such as
119
+ * `"days"`.
120
+ *
121
+ * @category models
122
+ * @since 3.6.0
123
+ */
124
+ export type Unit = UnitSingular | UnitPlural
125
+
126
+ /**
127
+ * Singular date and time unit names used by rounding APIs such as
128
+ * `DateTime.startOf`, `DateTime.endOf`, and `DateTime.nearest`.
129
+ *
130
+ * @category models
131
+ * @since 3.6.0
132
+ */
133
+ export type UnitSingular =
134
+ | "millisecond"
135
+ | "second"
136
+ | "minute"
137
+ | "hour"
138
+ | "day"
139
+ | "week"
140
+ | "month"
141
+ | "year"
142
+
143
+ /**
144
+ * Plural date and time unit names used by `DateTime.PartsForMath` for
145
+ * amount-based arithmetic.
146
+ *
147
+ * @category models
148
+ * @since 3.6.0
149
+ */
150
+ export type UnitPlural =
151
+ | "milliseconds"
152
+ | "seconds"
153
+ | "minutes"
154
+ | "hours"
155
+ | "days"
156
+ | "weeks"
157
+ | "months"
158
+ | "years"
159
+
160
+ /**
161
+ * Calendar and time components of a `DateTime`, including the weekday.
162
+ *
163
+ * **Details**
164
+ *
165
+ * `month` is one-based (`1` for January through `12` for December), and
166
+ * `weekDay` follows JavaScript `Date#getUTCDay` numbering (`0` for Sunday
167
+ * through `6` for Saturday).
168
+ *
169
+ * @category models
170
+ * @since 3.6.0
171
+ */
172
+ export interface PartsWithWeekday {
173
+ readonly millisecond: number
174
+ readonly second: number
175
+ readonly minute: number
176
+ readonly hour: number
177
+ readonly day: number
178
+ readonly weekDay: number
179
+ readonly month: number
180
+ readonly year: number
181
+ }
182
+
183
+ /**
184
+ * Calendar and time components of a `DateTime`, without weekday information.
185
+ *
186
+ * **Details**
187
+ *
188
+ * `month` is one-based (`1` for January through `12` for December).
189
+ *
190
+ * @category models
191
+ * @since 3.6.0
192
+ */
193
+ export interface Parts {
194
+ readonly millisecond: number
195
+ readonly second: number
196
+ readonly minute: number
197
+ readonly hour: number
198
+ readonly day: number
199
+ readonly month: number
200
+ readonly year: number
201
+ }
202
+
203
+ /**
204
+ * Plural amount fields accepted by `DateTime.add` and `DateTime.subtract`.
205
+ *
206
+ * **Details**
207
+ *
208
+ * Each field represents the number of units to add or subtract for that part.
209
+ *
210
+ * @category models
211
+ * @since 3.6.0
212
+ */
213
+ export interface PartsForMath {
214
+ readonly milliseconds: number
215
+ readonly seconds: number
216
+ readonly minutes: number
217
+ readonly hours: number
218
+ readonly days: number
219
+ readonly weeks: number
220
+ readonly months: number
221
+ readonly years: number
222
+ }
223
+
224
+ /**
225
+ * Object input representing an absolute instant as milliseconds since the Unix
226
+ * epoch.
227
+ *
228
+ * @category models
229
+ * @since 4.0.0
230
+ */
231
+ export interface Instant {
232
+ readonly epochMilliseconds: number
233
+ }
234
+
235
+ /**
236
+ * Object input representing an absolute instant plus a time zone identifier.
237
+ *
238
+ * **Details**
239
+ *
240
+ * `DateTime.makeZoned` and `DateTime.makeZonedUnsafe` use `timeZoneId` when
241
+ * no explicit `timeZone` option is supplied.
242
+ *
243
+ * @category models
244
+ * @since 4.0.0
245
+ */
246
+ export interface InstantWithZone {
247
+ readonly timeZoneId: string
248
+ readonly epochMilliseconds: number
249
+ }
250
+
251
+ /**
252
+ * Shared protocol implemented by all `DateTime` values.
253
+ *
254
+ * **Details**
255
+ *
256
+ * Provides the `DateTime` type identifier along with pipe and inspection
257
+ * support.
258
+ *
259
+ * @category models
260
+ * @since 3.6.0
261
+ */
262
+ export interface Proto extends Pipeable, Inspectable {
263
+ readonly [TypeId]: typeof TypeId
264
+ }
265
+ }
266
+
267
+ /**
268
+ * Represents a time zone used by `DateTime.Zoned`.
269
+ *
270
+ * **Details**
271
+ *
272
+ * A `TimeZone` is either a fixed offset from UTC or a named IANA time zone.
273
+ *
274
+ * @category models
275
+ * @since 3.6.0
276
+ */
277
+ export type TimeZone = TimeZone.Offset | TimeZone.Named
278
+
279
+ /**
280
+ * Companion namespace containing the public variant and protocol types for
281
+ * `TimeZone`.
282
+ *
283
+ * @since 3.6.0
284
+ */
285
+ export declare namespace TimeZone {
286
+ /**
287
+ * Shared protocol implemented by all `TimeZone` values.
288
+ *
289
+ * **Details**
290
+ *
291
+ * Provides the `TimeZone` type identifier and inspection support.
292
+ *
293
+ * @category models
294
+ * @since 3.6.0
295
+ */
296
+ export interface Proto extends Inspectable {
297
+ readonly [TimeZoneTypeId]: typeof TimeZoneTypeId
298
+ }
299
+
300
+ /**
301
+ * Fixed-offset time zone.
302
+ *
303
+ * **Details**
304
+ *
305
+ * The `offset` is measured in milliseconds from UTC. Positive offsets are
306
+ * ahead of UTC, and negative offsets are behind UTC.
307
+ *
308
+ * @category models
309
+ * @since 3.6.0
310
+ */
311
+ export interface Offset extends Proto {
312
+ readonly _tag: "Offset"
313
+ readonly offset: number
314
+ }
315
+
316
+ /**
317
+ * Named IANA time zone.
318
+ *
319
+ * **Details**
320
+ *
321
+ * The `id` field contains the resolved time zone identifier, such as
322
+ * `"Europe/London"` or `"America/New_York"`.
323
+ *
324
+ * @category models
325
+ * @since 3.6.0
326
+ */
327
+ export interface Named extends Proto {
328
+ readonly _tag: "Named"
329
+ readonly id: string
330
+ /** @internal */
331
+ readonly format: Intl.DateTimeFormat
332
+ }
333
+ }
334
+
335
+ /**
336
+ * A `Disambiguation` is used to resolve ambiguities when a `DateTime` is
337
+ * ambiguous, such as during a daylight saving time transition.
338
+ *
339
+ * **Details**
340
+ *
341
+ * For more information, see the [Temporal documentation](https://tc39.es/proposal-temporal/docs/timezone.html#ambiguity-due-to-dst-or-other-time-zone-offset-changes)
342
+ *
343
+ * - `"compatible"`: (default) Behavior matching Temporal API and legacy JavaScript Date and moment.js.
344
+ * For repeated times, chooses the earlier occurrence. For gap times, chooses the later interpretation.
345
+ *
346
+ * - `"earlier"`: For repeated times, always choose the earlier occurrence.
347
+ * For gap times, choose the time before the gap.
348
+ *
349
+ * - `"later"`: For repeated times, always choose the later occurrence.
350
+ * For gap times, choose the time after the gap.
351
+ *
352
+ * - `"reject"`: Throw an `RangeError` when encountering ambiguous or non-existent times.
353
+ *
354
+ * **Example** (Resolving ambiguous local times)
355
+ *
356
+ * ```ts
357
+ * import { DateTime } from "effect"
358
+ *
359
+ * // Fall-back example: 01:30 on Nov 2, 2025 in New York happens twice
360
+ * const ambiguousTime = { year: 2025, month: 11, day: 2, hours: 1, minutes: 30 }
361
+ * const timeZone = DateTime.zoneMakeNamedUnsafe("America/New_York")
362
+ *
363
+ * DateTime.makeZoned(ambiguousTime, {
364
+ * timeZone,
365
+ * adjustForTimeZone: true,
366
+ * disambiguation: "earlier"
367
+ * })
368
+ * // Earlier occurrence (DST time): 2025-11-02T05:30:00.000Z
369
+ *
370
+ * DateTime.makeZoned(ambiguousTime, {
371
+ * timeZone,
372
+ * adjustForTimeZone: true,
373
+ * disambiguation: "later"
374
+ * })
375
+ * // Later occurrence (standard time): 2025-11-02T06:30:00.000Z
376
+ *
377
+ * // Gap example: 02:30 on Mar 9, 2025 in New York doesn't exist
378
+ * const gapTime = { year: 2025, month: 3, day: 9, hours: 2, minutes: 30 }
379
+ *
380
+ * DateTime.makeZoned(gapTime, {
381
+ * timeZone,
382
+ * adjustForTimeZone: true,
383
+ * disambiguation: "earlier"
384
+ * })
385
+ * // Time before gap: 2025-03-09T06:30:00.000Z (01:30 EST)
386
+ *
387
+ * DateTime.makeZoned(gapTime, {
388
+ * timeZone,
389
+ * adjustForTimeZone: true,
390
+ * disambiguation: "later"
391
+ * })
392
+ * // Time after gap: 2025-03-09T07:30:00.000Z (03:30 EDT)
393
+ * ```
394
+ *
395
+ * @category models
396
+ * @since 3.18.0
397
+ */
398
+ export type Disambiguation = "compatible" | "earlier" | "later" | "reject"
399
+
400
+ // =============================================================================
401
+ // guards
402
+ // =============================================================================
403
+
404
+ /**
405
+ * Checks whether a value is a `DateTime`.
406
+ *
407
+ * **When to use**
408
+ *
409
+ * Use to narrow an unknown value before treating it as a `DateTime`.
410
+ *
411
+ * @see {@link isUtc} for narrowing a known `DateTime` to UTC
412
+ * @see {@link isZoned} for narrowing a known `DateTime` to zoned
413
+ *
414
+ * @category guards
415
+ * @since 3.6.0
416
+ */
417
+ export const isDateTime: (u: unknown) => u is DateTime = Internal.isDateTime
418
+
419
+ /**
420
+ * Checks whether a value is a `TimeZone`.
421
+ *
422
+ * **When to use**
423
+ *
424
+ * Use to narrow unknown input to any `TimeZone` before passing it to APIs that
425
+ * accept either fixed-offset or named time zones.
426
+ *
427
+ * @see {@link isTimeZoneOffset} for narrowing to fixed-offset time zones
428
+ * @see {@link isTimeZoneNamed} for narrowing to named time zones
429
+ *
430
+ * @category guards
431
+ * @since 3.6.0
432
+ */
433
+ export const isTimeZone: (u: unknown) => u is TimeZone = Internal.isTimeZone
434
+
435
+ /**
436
+ * Checks whether a value is an offset-based `TimeZone`.
437
+ *
438
+ * **When to use**
439
+ *
440
+ * Use when you need to narrow an unknown or union `TimeZone` value to the
441
+ * fixed-offset variant before reading its offset in milliseconds.
442
+ *
443
+ * @see {@link isTimeZone} for checking either time zone variant
444
+ * @see {@link isTimeZoneNamed} for narrowing to named time zones
445
+ *
446
+ * @category guards
447
+ * @since 3.6.0
448
+ */
449
+ export const isTimeZoneOffset: (u: unknown) => u is TimeZone.Offset = Internal.isTimeZoneOffset
450
+
451
+ /**
452
+ * Checks whether a value is a named `TimeZone` (IANA time zone).
453
+ *
454
+ * **When to use**
455
+ *
456
+ * Use to narrow an unknown value to the `TimeZone.Named` variant before
457
+ * reading named-zone fields such as `id`.
458
+ *
459
+ * @see {@link isTimeZone} for checking either time zone variant
460
+ * @see {@link isTimeZoneOffset} for narrowing to fixed-offset time zones
461
+ *
462
+ * @category guards
463
+ * @since 3.6.0
464
+ */
465
+ export const isTimeZoneNamed: (u: unknown) => u is TimeZone.Named = Internal.isTimeZoneNamed
466
+
467
+ /**
468
+ * Checks whether a `DateTime` is a UTC `DateTime` (no time zone information).
469
+ *
470
+ * **When to use**
471
+ *
472
+ * Use to narrow a `DateTime` before passing it to code that requires a UTC
473
+ * value without an associated time zone.
474
+ *
475
+ * @see {@link isZoned} for narrowing to zoned date-times
476
+ * @see {@link match} for handling both UTC and zoned cases
477
+ *
478
+ * @category guards
479
+ * @since 3.6.0
480
+ */
481
+ export const isUtc: (self: DateTime) => self is Utc = Internal.isUtc
482
+
483
+ /**
484
+ * Checks whether a `DateTime` is a zoned `DateTime` (has time zone information).
485
+ *
486
+ * **When to use**
487
+ *
488
+ * Use to narrow a known `DateTime` before reading its zone or passing it to
489
+ * APIs that require `DateTime.Zoned`.
490
+ *
491
+ * @see {@link isUtc} for narrowing to UTC date-times
492
+ * @see {@link match} for handling both UTC and zoned cases
493
+ *
494
+ * @category guards
495
+ * @since 3.6.0
496
+ */
497
+ export const isZoned: (self: DateTime) => self is Zoned = Internal.isZoned
498
+
499
+ // =============================================================================
500
+ // instances
501
+ // =============================================================================
502
+
503
+ /**
504
+ * Provides an `Equivalence` for comparing two `DateTime` values for equality.
505
+ *
506
+ * **Details**
507
+ *
508
+ * Two `DateTime` values are considered equivalent if they represent the same
509
+ * point in time, regardless of their time zone.
510
+ *
511
+ * **Example** (Comparing DateTime values for equivalence)
512
+ *
513
+ * ```ts
514
+ * import { DateTime } from "effect"
515
+ *
516
+ * const utc = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
517
+ * const zoned = DateTime.makeZonedUnsafe("2024-01-01T12:00:00Z", {
518
+ * timeZone: "Europe/London"
519
+ * })
520
+ *
521
+ * console.log(DateTime.Equivalence(utc, zoned)) // true
522
+ * ```
523
+ *
524
+ * @category instances
525
+ * @since 3.6.0
526
+ */
527
+ export const Equivalence: Equ.Equivalence<DateTime> = Internal.Equivalence
528
+
529
+ /**
530
+ * Provides an `Order` for comparing and sorting `DateTime` values.
531
+ *
532
+ * **Details**
533
+ *
534
+ * `DateTime` values are ordered by their epoch milliseconds, so earlier times
535
+ * come before later times regardless of time zone.
536
+ *
537
+ * **Example** (Sorting DateTime values chronologically)
538
+ *
539
+ * ```ts
540
+ * import { Array, DateTime } from "effect"
541
+ *
542
+ * const dates = [
543
+ * DateTime.makeUnsafe("2024-03-01"),
544
+ * DateTime.makeUnsafe("2024-01-01"),
545
+ * DateTime.makeUnsafe("2024-02-01")
546
+ * ]
547
+ *
548
+ * const sorted = Array.sort(dates, DateTime.Order)
549
+ * // Results in chronological order: 2024-01-01, 2024-02-01, 2024-03-01
550
+ * ```
551
+ *
552
+ * @category instances
553
+ * @since 3.6.0
554
+ */
555
+ export const Order: order.Order<DateTime> = Internal.Order
556
+
557
+ /**
558
+ * Returns a `DateTime` constrained between a minimum and maximum value.
559
+ *
560
+ * **Details**
561
+ *
562
+ * If the `DateTime` is before the minimum, the minimum is returned.
563
+ * If the `DateTime` is after the maximum, the maximum is returned.
564
+ * Otherwise, the original `DateTime` is returned.
565
+ *
566
+ * **Example** (Clamping DateTime values)
567
+ *
568
+ * ```ts
569
+ * import { DateTime } from "effect"
570
+ *
571
+ * const min = DateTime.makeUnsafe("2024-01-01")
572
+ * const max = DateTime.makeUnsafe("2024-12-31")
573
+ * const date = DateTime.makeUnsafe("2025-06-15")
574
+ *
575
+ * const clamped = DateTime.clamp(date, { minimum: min, maximum: max })
576
+ * // clamped equals max (2024-12-31)
577
+ * ```
578
+ *
579
+ * @category ordering
580
+ * @since 3.6.0
581
+ */
582
+ export const clamp: {
583
+ <Min extends DateTime, Max extends DateTime>(
584
+ options: { readonly minimum: Min; readonly maximum: Max }
585
+ ): <A extends DateTime>(self: A) => A | Min | Max
586
+ <A extends DateTime, Min extends DateTime, Max extends DateTime>(
587
+ self: A,
588
+ options: { readonly minimum: Min; readonly maximum: Max }
589
+ ): A | Min | Max
590
+ } = Internal.clamp
591
+
592
+ // =============================================================================
593
+ // constructors
594
+ // =============================================================================
595
+
596
+ /**
597
+ * Create a `DateTime` from a `Date`.
598
+ *
599
+ * **Details**
600
+ *
601
+ * If the `Date` is invalid, an `IllegalArgumentError` will be thrown.
602
+ *
603
+ * **Example** (Creating DateTime values from Dates)
604
+ *
605
+ * ```ts
606
+ * import { DateTime } from "effect"
607
+ *
608
+ * const date = new Date("2024-01-01T12:00:00Z")
609
+ * const dateTime = DateTime.fromDateUnsafe(date)
610
+ *
611
+ * console.log(DateTime.formatIso(dateTime)) // "2024-01-01T12:00:00.000Z"
612
+ * ```
613
+ *
614
+ * @category constructors
615
+ * @since 4.0.0
616
+ */
617
+ export const fromDateUnsafe: (date: Date) => Utc = Internal.fromDateUnsafe
618
+
619
+ /**
620
+ * Create a `DateTime` from supported input values.
621
+ *
622
+ * **When to use**
623
+ *
624
+ * Use when creating a `DateTime` from trusted input and construction failures
625
+ * should throw an `IllegalArgumentError` instead of returning `Option.none`.
626
+ *
627
+ * **Details**
628
+ *
629
+ * - A `DateTime`
630
+ * - A `Date` instance (invalid dates will throw an `IllegalArgumentError`)
631
+ * - The `number` of milliseconds since the Unix epoch
632
+ * - An object with the parts of a date
633
+ * - A `string` that can be parsed by `Date.parse`
634
+ *
635
+ * **Example** (Creating DateTime values unsafely)
636
+ *
637
+ * ```ts
638
+ * import { DateTime } from "effect"
639
+ *
640
+ * // from Date
641
+ * const fromDate = DateTime.makeUnsafe(new Date("2024-01-01T12:00:00Z"))
642
+ * console.log(DateTime.formatIso(fromDate)) // "2024-01-01T12:00:00.000Z"
643
+ *
644
+ * // from parts
645
+ * const fromParts = DateTime.makeUnsafe({ year: 2024 })
646
+ * console.log(DateTime.formatIso(fromParts)) // "2024-01-01T00:00:00.000Z"
647
+ *
648
+ * // from string
649
+ * const fromString = DateTime.makeUnsafe("2024-01-01")
650
+ * console.log(DateTime.formatIso(fromString)) // "2024-01-01T00:00:00.000Z"
651
+ * ```
652
+ *
653
+ * @category constructors
654
+ * @since 4.0.0
655
+ */
656
+ export const makeUnsafe: <A extends DateTime.Input>(input: A) => DateTime.PreserveZone<A> = Internal.makeUnsafe
657
+
658
+ /**
659
+ * Create a `DateTime.Zoned` using `DateTime.makeUnsafe` and a time zone.
660
+ *
661
+ * **When to use**
662
+ *
663
+ * Use when the date/time input and zone options are trusted and invalid or
664
+ * rejected ambiguous times should throw instead of returning `Option.none`.
665
+ *
666
+ * **Details**
667
+ *
668
+ * The input is treated as UTC and then the time zone is attached, unless
669
+ * `adjustForTimeZone` is set to `true`. In that case, the input is treated as
670
+ * already in the time zone.
671
+ *
672
+ * When `adjustForTimeZone` is true and ambiguous times occur during DST transitions,
673
+ * the `disambiguation` option controls how to resolve the ambiguity:
674
+ * - `compatible` (default): Choose earlier time for repeated times, later for gaps
675
+ * - `earlier`: Always choose the earlier of two possible times
676
+ * - `later`: Always choose the later of two possible times
677
+ * - `reject`: Throw an error when ambiguous times are encountered
678
+ *
679
+ * **Example** (Creating zoned DateTime values unsafely)
680
+ *
681
+ * ```ts
682
+ * import { DateTime } from "effect"
683
+ *
684
+ * const zoned = DateTime.makeZonedUnsafe("2024-06-15T14:30:00Z", {
685
+ * timeZone: "Europe/London"
686
+ * })
687
+ *
688
+ * console.log(DateTime.formatIsoZoned(zoned)) // "2024-06-15T15:30:00.000+01:00[Europe/London]"
689
+ * ```
690
+ *
691
+ * @category constructors
692
+ * @since 4.0.0
693
+ */
694
+ export const makeZonedUnsafe: (input: DateTime.Input, options?: {
695
+ readonly timeZone?: number | string | TimeZone | undefined
696
+ readonly adjustForTimeZone?: boolean | undefined
697
+ readonly disambiguation?: Disambiguation | undefined
698
+ }) => Zoned = Internal.makeZonedUnsafe
699
+
700
+ /**
701
+ * Creates a `DateTime.Zoned` safely from an input and a time zone.
702
+ *
703
+ * **Details**
704
+ *
705
+ * By default, the input is interpreted as a UTC instant and the time zone is
706
+ * attached without changing that instant. When `adjustForTimeZone` is `true`,
707
+ * the input is interpreted as wall-clock time in the target zone.
708
+ *
709
+ * When `adjustForTimeZone` is `true`, `disambiguation` controls
710
+ * daylight-saving gaps and repeated times:
711
+ *
712
+ * - `"compatible"` (default): chooses the earlier occurrence for repeated
713
+ * times and the later interpretation for gaps
714
+ * - `"earlier"`: chooses the earlier possible instant
715
+ * - `"later"`: chooses the later possible instant
716
+ * - `"reject"`: rejects ambiguous or nonexistent wall-clock times
717
+ *
718
+ * Returns `Some` when construction succeeds, or `None` when the input, time
719
+ * zone, or disambiguation cannot be resolved.
720
+ *
721
+ * **Example** (Creating optional zoned DateTime values)
722
+ *
723
+ * ```ts
724
+ * import { DateTime } from "effect"
725
+ *
726
+ * const result = DateTime.makeZoned("2024-06-15T14:30:00Z", {
727
+ * timeZone: "Europe/London"
728
+ * })
729
+ *
730
+ * console.log(result._tag) // "Some"
731
+ * if (result._tag === "Some") {
732
+ * console.log(DateTime.formatIsoZoned(result.value)) // "2024-06-15T15:30:00.000+01:00[Europe/London]"
733
+ * }
734
+ * ```
735
+ *
736
+ * @category constructors
737
+ * @since 3.6.0
738
+ */
739
+ export const makeZoned: (
740
+ input: DateTime.Input,
741
+ options?: {
742
+ readonly timeZone?: number | string | TimeZone | undefined
743
+ readonly adjustForTimeZone?: boolean | undefined
744
+ readonly disambiguation?: Disambiguation | undefined
745
+ }
746
+ ) => Option.Option<Zoned> = Internal.makeZoned
747
+
748
+ /**
749
+ * Creates a `DateTime` safely from supported input values.
750
+ *
751
+ * **Details**
752
+ *
753
+ * - A `DateTime`
754
+ * - A JavaScript `Date`
755
+ * - The number of milliseconds since the Unix epoch
756
+ * - An object with date and time parts
757
+ * - A string that can be parsed as a date
758
+ *
759
+ * Returns `Some` with the constructed `DateTime` when the input is valid, or
760
+ * `None` when construction would fail, including invalid `Date` instances or
761
+ * unparseable strings.
762
+ *
763
+ * **Example** (Creating optional DateTime values)
764
+ *
765
+ * ```ts
766
+ * import { DateTime } from "effect"
767
+ *
768
+ * // from Date
769
+ * const fromDate = DateTime.make(new Date("2024-01-01T12:00:00Z"))
770
+ * console.log(fromDate._tag) // "Some"
771
+ *
772
+ * // from parts
773
+ * const fromParts = DateTime.make({ year: 2024 })
774
+ * console.log(fromParts._tag) // "Some"
775
+ *
776
+ * // from string
777
+ * const fromString = DateTime.make("2024-01-01")
778
+ * console.log(fromString._tag) // "Some"
779
+ *
780
+ * const invalid = DateTime.make("not a date")
781
+ * console.log(invalid._tag) // "None"
782
+ * ```
783
+ *
784
+ * @category constructors
785
+ * @since 3.6.0
786
+ */
787
+ export const make: <A extends DateTime.Input>(input: A) => Option.Option<DateTime.PreserveZone<A>> = Internal.make
788
+
789
+ /**
790
+ * Parses an ISO zoned date-time string into a `DateTime.Zoned` safely.
791
+ *
792
+ * **Details**
793
+ *
794
+ * Accepts named-zone strings such as
795
+ * `YYYY-MM-DDTHH:mm:ss.sss+HH:MM[Time/Zone]` and offset-only strings such as
796
+ * `YYYY-MM-DDTHH:mm:ss.sss+HH:MM`. Returns `None` when the input cannot be
797
+ * parsed.
798
+ *
799
+ * **Example** (Parsing zoned DateTime strings)
800
+ *
801
+ * ```ts
802
+ * import { DateTime } from "effect"
803
+ *
804
+ * const result1 = DateTime.makeZonedFromString(
805
+ * "2024-01-01T12:00:00+02:00[Europe/Berlin]"
806
+ * )
807
+ * console.log(result1._tag === "Some") // true
808
+ *
809
+ * const result2 = DateTime.makeZonedFromString("2024-01-01T12:00:00Z")
810
+ * console.log(result2._tag === "Some") // true
811
+ *
812
+ * const invalid = DateTime.makeZonedFromString("invalid")
813
+ * console.log(invalid._tag === "None") // true
814
+ * ```
815
+ *
816
+ * @category constructors
817
+ * @since 3.6.0
818
+ */
819
+ export const makeZonedFromString: (input: string) => Option.Option<Zoned> = Internal.makeZonedFromString
820
+
821
+ /**
822
+ * Gets the current time using the `Clock` service and convert it to a `DateTime`.
823
+ *
824
+ * **Example** (Getting the current DateTime)
825
+ *
826
+ * ```ts
827
+ * import { DateTime, Effect } from "effect"
828
+ *
829
+ * Effect.gen(function*() {
830
+ * const now = yield* DateTime.nowAsDate
831
+ * console.log(now instanceof Date) // true
832
+ * })
833
+ * ```
834
+ *
835
+ * @category constructors
836
+ * @since 3.6.0
837
+ */
838
+ export const now: Effect.Effect<Utc> = Internal.now
839
+
840
+ /**
841
+ * Gets the current time from the `Clock` service and returns it as a
842
+ * JavaScript `Date`.
843
+ *
844
+ * **Example** (Getting the current Date)
845
+ *
846
+ * ```ts
847
+ * import { DateTime, Effect } from "effect"
848
+ *
849
+ * Effect.gen(function*() {
850
+ * const now = yield* DateTime.now
851
+ * })
852
+ * ```
853
+ *
854
+ * @category constructors
855
+ * @since 3.14.0
856
+ */
857
+ export const nowAsDate: Effect.Effect<Date> = Internal.nowAsDate
858
+
859
+ /**
860
+ * Gets the current time using `Date.now`.
861
+ *
862
+ * **When to use**
863
+ *
864
+ * Use when synchronous wall-clock access outside an Effect program is
865
+ * acceptable and testability through the `Clock` service is not needed.
866
+ *
867
+ * **Details**
868
+ *
869
+ * This is a synchronous version of `now` that directly uses `Date.now()`
870
+ * instead of the Effect `Clock` service.
871
+ *
872
+ * **Example** (Getting the current DateTime unsafely)
873
+ *
874
+ * ```ts
875
+ * import { DateTime } from "effect"
876
+ *
877
+ * const now = DateTime.nowUnsafe()
878
+ * console.log(DateTime.formatIso(now))
879
+ * ```
880
+ *
881
+ * @category constructors
882
+ * @since 4.0.0
883
+ */
884
+ export const nowUnsafe: LazyArg<Utc> = Internal.nowUnsafe
885
+
886
+ // =============================================================================
887
+ // time zones
888
+ // =============================================================================
889
+
890
+ /**
891
+ * Converts a `DateTime` to a UTC `DateTime`.
892
+ *
893
+ * **When to use**
894
+ *
895
+ * Use to represent the same instant in UTC instead of its current time zone.
896
+ *
897
+ * **Details**
898
+ *
899
+ * The returned value keeps the same epoch milliseconds and changes only the
900
+ * `DateTime` representation to UTC.
901
+ *
902
+ * **Example** (Converting DateTime values to UTC)
903
+ *
904
+ * ```ts
905
+ * import { DateTime } from "effect"
906
+ *
907
+ * const now = DateTime.makeZonedUnsafe({ year: 2024 }, {
908
+ * timeZone: "Europe/London"
909
+ * })
910
+ *
911
+ * // set as UTC
912
+ * const utc: DateTime.Utc = DateTime.toUtc(now)
913
+ * ```
914
+ *
915
+ * @category time zones
916
+ * @since 3.13.0
917
+ */
918
+ export const toUtc: (self: DateTime) => Utc = Internal.toUtc
919
+
920
+ /**
921
+ * Sets the time zone of a `DateTime`, returning a new `DateTime.Zoned`.
922
+ *
923
+ * **Example** (Setting time zones)
924
+ *
925
+ * ```ts
926
+ * import { DateTime, Effect } from "effect"
927
+ *
928
+ * Effect.gen(function*() {
929
+ * const now = yield* DateTime.now
930
+ * const zone = DateTime.zoneMakeNamedUnsafe("Europe/London")
931
+ *
932
+ * // set the time zone
933
+ * const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
934
+ * })
935
+ * ```
936
+ *
937
+ * @category time zones
938
+ * @since 3.6.0
939
+ */
940
+ export const setZone: {
941
+ (zone: TimeZone, options?: {
942
+ readonly adjustForTimeZone?: boolean | undefined
943
+ readonly disambiguation?: Disambiguation | undefined
944
+ }): (self: DateTime) => Zoned
945
+ (self: DateTime, zone: TimeZone, options?: {
946
+ readonly adjustForTimeZone?: boolean | undefined
947
+ readonly disambiguation?: Disambiguation | undefined
948
+ }): Zoned
949
+ } = Internal.setZone
950
+
951
+ /**
952
+ * Adds a fixed offset time zone to a `DateTime`.
953
+ *
954
+ * **Details**
955
+ *
956
+ * The offset is in milliseconds.
957
+ *
958
+ * **Example** (Setting fixed-offset time zones)
959
+ *
960
+ * ```ts
961
+ * import { DateTime, Effect } from "effect"
962
+ *
963
+ * Effect.gen(function*() {
964
+ * const now = yield* DateTime.now
965
+ *
966
+ * // set the offset time zone in milliseconds
967
+ * const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
968
+ * })
969
+ * ```
970
+ *
971
+ * @category time zones
972
+ * @since 3.6.0
973
+ */
974
+ export const setZoneOffset: {
975
+ (offset: number, options?: {
976
+ readonly adjustForTimeZone?: boolean | undefined
977
+ readonly disambiguation?: Disambiguation | undefined
978
+ }): (self: DateTime) => Zoned
979
+ (self: DateTime, offset: number, options?: {
980
+ readonly adjustForTimeZone?: boolean | undefined
981
+ readonly disambiguation?: Disambiguation | undefined
982
+ }): Zoned
983
+ } = Internal.setZoneOffset
984
+
985
+ /**
986
+ * Attempts to create a named time zone from an IANA time zone identifier.
987
+ *
988
+ * **When to use**
989
+ *
990
+ * Use when the IANA zone id is trusted and invalid zones should throw instead
991
+ * of returning `Option.none` or failing in `Effect`.
992
+ *
993
+ * **Details**
994
+ *
995
+ * If the time zone is invalid, an `IllegalArgumentError` will be thrown.
996
+ *
997
+ * **Example** (Creating named time zones unsafely)
998
+ *
999
+ * ```ts
1000
+ * import { DateTime } from "effect"
1001
+ *
1002
+ * const londonZone = DateTime.zoneMakeNamedUnsafe("Europe/London")
1003
+ * console.log(DateTime.zoneToString(londonZone)) // "Europe/London"
1004
+ *
1005
+ * const tokyoZone = DateTime.zoneMakeNamedUnsafe("Asia/Tokyo")
1006
+ * console.log(DateTime.zoneToString(tokyoZone)) // "Asia/Tokyo"
1007
+ *
1008
+ * // This would throw an IllegalArgumentError:
1009
+ * // DateTime.zoneMakeNamedUnsafe("Invalid/Zone")
1010
+ * ```
1011
+ *
1012
+ * @category time zones
1013
+ * @since 4.0.0
1014
+ */
1015
+ export const zoneMakeNamedUnsafe: (zoneId: string) => TimeZone.Named = Internal.zoneMakeNamedUnsafe
1016
+
1017
+ /**
1018
+ * Create a fixed offset time zone.
1019
+ *
1020
+ * **Details**
1021
+ *
1022
+ * The offset is specified in milliseconds from UTC. Positive values are
1023
+ * ahead of UTC, negative values are behind UTC.
1024
+ *
1025
+ * **Example** (Creating fixed-offset time zones)
1026
+ *
1027
+ * ```ts
1028
+ * import { DateTime } from "effect"
1029
+ *
1030
+ * // Create a time zone with +3 hours offset
1031
+ * const zone = DateTime.zoneMakeOffset(3 * 60 * 60 * 1000)
1032
+ *
1033
+ * const dt = DateTime.makeZonedUnsafe("2024-01-01T12:00:00Z", {
1034
+ * timeZone: zone
1035
+ * })
1036
+ * ```
1037
+ *
1038
+ * @category time zones
1039
+ * @since 3.6.0
1040
+ */
1041
+ export const zoneMakeOffset: (offset: number) => TimeZone.Offset = Internal.zoneMakeOffset
1042
+
1043
+ /**
1044
+ * Creates a named time zone safely from an IANA time zone identifier.
1045
+ *
1046
+ * **Details**
1047
+ *
1048
+ * If the time zone is invalid, `None` will be returned.
1049
+ *
1050
+ * **Example** (Creating optional named time zones)
1051
+ *
1052
+ * ```ts
1053
+ * import { DateTime } from "effect"
1054
+ *
1055
+ * const validZone = DateTime.zoneMakeNamed("Europe/London")
1056
+ * console.log(validZone._tag === "Some") // true
1057
+ *
1058
+ * const invalidZone = DateTime.zoneMakeNamed("Invalid/Zone")
1059
+ * console.log(invalidZone._tag === "None") // true
1060
+ * ```
1061
+ *
1062
+ * @category time zones
1063
+ * @since 3.6.0
1064
+ */
1065
+ export const zoneMakeNamed: (zoneId: string) => Option.Option<TimeZone.Named> = Internal.zoneMakeNamed
1066
+
1067
+ /**
1068
+ * Creates a named time zone effectfully from an IANA time zone identifier.
1069
+ *
1070
+ * **When to use**
1071
+ *
1072
+ * Use when invalid IANA zone ids should fail in the Effect error channel
1073
+ * instead of returning `Option.none` or throwing.
1074
+ *
1075
+ * **Example** (Creating named time zones effectfully)
1076
+ *
1077
+ * ```ts
1078
+ * import { DateTime, Effect } from "effect"
1079
+ *
1080
+ * const program = Effect.gen(function*() {
1081
+ * const zone = yield* DateTime.zoneMakeNamedEffect("Europe/London")
1082
+ * const now = yield* DateTime.now
1083
+ * return DateTime.setZone(now, zone)
1084
+ * })
1085
+ * ```
1086
+ *
1087
+ * @category time zones
1088
+ * @since 3.6.0
1089
+ */
1090
+ export const zoneMakeNamedEffect: (zoneId: string) => Effect.Effect<TimeZone.Named, IllegalArgumentError> =
1091
+ Internal.zoneMakeNamedEffect
1092
+
1093
+ /**
1094
+ * Create a named time zone from the system's local time zone.
1095
+ *
1096
+ * **Details**
1097
+ *
1098
+ * This uses the system's configured time zone, which may vary depending
1099
+ * on the runtime environment.
1100
+ *
1101
+ * **Example** (Creating local time zones)
1102
+ *
1103
+ * ```ts
1104
+ * import { DateTime } from "effect"
1105
+ *
1106
+ * const localZone = DateTime.zoneMakeLocal()
1107
+ * console.log(DateTime.zoneToString(localZone)) // Output depends on system time zone
1108
+ * ```
1109
+ *
1110
+ * @category time zones
1111
+ * @since 3.6.0
1112
+ */
1113
+ export const zoneMakeLocal: () => TimeZone.Named = Internal.zoneMakeLocal
1114
+
1115
+ /**
1116
+ * Tries to parse a `TimeZone` from a string safely.
1117
+ *
1118
+ * **Details**
1119
+ *
1120
+ * Supports both IANA time zone identifiers and offset formats like "+03:00".
1121
+ *
1122
+ * **Example** (Parsing time zones)
1123
+ *
1124
+ * ```ts
1125
+ * import { DateTime } from "effect"
1126
+ *
1127
+ * const namedZone = DateTime.zoneFromString("Europe/London")
1128
+ * const offsetZone = DateTime.zoneFromString("+03:00")
1129
+ * const invalid = DateTime.zoneFromString("invalid")
1130
+ *
1131
+ * console.log(namedZone._tag === "Some") // true
1132
+ * console.log(offsetZone._tag === "Some") // true
1133
+ * console.log(invalid._tag === "None") // true
1134
+ * ```
1135
+ *
1136
+ * @category time zones
1137
+ * @since 3.6.0
1138
+ */
1139
+ export const zoneFromString: (zone: string) => Option.Option<TimeZone> = Internal.zoneFromString
1140
+
1141
+ /**
1142
+ * Formats a `TimeZone` as a string.
1143
+ *
1144
+ * **Example** (Formatting time zones)
1145
+ *
1146
+ * ```ts
1147
+ * import { DateTime } from "effect"
1148
+ *
1149
+ * // Outputs "+03:00"
1150
+ * DateTime.zoneToString(DateTime.zoneMakeOffset(3 * 60 * 60 * 1000))
1151
+ *
1152
+ * // Outputs "Europe/London"
1153
+ * DateTime.zoneToString(DateTime.zoneMakeNamedUnsafe("Europe/London"))
1154
+ * ```
1155
+ *
1156
+ * @category time zones
1157
+ * @since 3.6.0
1158
+ */
1159
+ export const zoneToString: (self: TimeZone) => string = Internal.zoneToString
1160
+
1161
+ /**
1162
+ * Sets the time zone of a `DateTime` safely from an IANA time zone identifier. If the
1163
+ * time zone is invalid, `None` will be returned.
1164
+ *
1165
+ * **Example** (Setting named time zones safely)
1166
+ *
1167
+ * ```ts
1168
+ * import { DateTime, Effect } from "effect"
1169
+ *
1170
+ * Effect.gen(function*() {
1171
+ * const now = yield* DateTime.now
1172
+ * // set the time zone, returns an Option
1173
+ * DateTime.setZoneNamed(now, "Europe/London")
1174
+ * })
1175
+ * ```
1176
+ *
1177
+ * @category time zones
1178
+ * @since 3.6.0
1179
+ */
1180
+ export const setZoneNamed: {
1181
+ (zoneId: string, options?: {
1182
+ readonly adjustForTimeZone?: boolean | undefined
1183
+ readonly disambiguation?: Disambiguation | undefined
1184
+ }): (self: DateTime) => Option.Option<Zoned>
1185
+ (self: DateTime, zoneId: string, options?: {
1186
+ readonly adjustForTimeZone?: boolean | undefined
1187
+ readonly disambiguation?: Disambiguation | undefined
1188
+ }): Option.Option<Zoned>
1189
+ } = Internal.setZoneNamed
1190
+
1191
+ /**
1192
+ * Sets the time zone of a `DateTime` from an IANA time zone identifier. If the
1193
+ * time zone is invalid, an `IllegalArgumentError` will be thrown.
1194
+ *
1195
+ * **Example** (Setting named time zones unsafely)
1196
+ *
1197
+ * ```ts
1198
+ * import { DateTime, Effect } from "effect"
1199
+ *
1200
+ * Effect.gen(function*() {
1201
+ * const now = yield* DateTime.now
1202
+ * // set the time zone
1203
+ * DateTime.setZoneNamedUnsafe(now, "Europe/London")
1204
+ * })
1205
+ * ```
1206
+ *
1207
+ * @category time zones
1208
+ * @since 4.0.0
1209
+ */
1210
+ export const setZoneNamedUnsafe: {
1211
+ (zoneId: string, options?: {
1212
+ readonly adjustForTimeZone?: boolean | undefined
1213
+ readonly disambiguation?: Disambiguation | undefined
1214
+ }): (self: DateTime) => Zoned
1215
+ (self: DateTime, zoneId: string, options?: {
1216
+ readonly adjustForTimeZone?: boolean | undefined
1217
+ readonly disambiguation?: Disambiguation | undefined
1218
+ }): Zoned
1219
+ } = Internal.setZoneNamedUnsafe
1220
+
1221
+ // =============================================================================
1222
+ // comparisons
1223
+ // =============================================================================
1224
+
1225
+ /**
1226
+ * Computes the difference between two `DateTime` values, returning a
1227
+ * `Duration` representing the amount of time between them.
1228
+ *
1229
+ * **Details**
1230
+ *
1231
+ * If `other` is *after* `self`, the result will be a positive `Duration`. If
1232
+ * `other` is *before* `self`, the result will be a negative `Duration`. If they
1233
+ * are equal, the result will be a `Duration` of zero.
1234
+ *
1235
+ * **Example** (Measuring distance between DateTime values)
1236
+ *
1237
+ * ```ts
1238
+ * import { DateTime, Effect } from "effect"
1239
+ *
1240
+ * Effect.gen(function*() {
1241
+ * const now = yield* DateTime.now
1242
+ * const other = DateTime.add(now, { minutes: 1 })
1243
+ *
1244
+ * // returns Duration.minutes(1)
1245
+ * DateTime.distance(now, other)
1246
+ * })
1247
+ * ```
1248
+ *
1249
+ * @category comparisons
1250
+ * @since 3.6.0
1251
+ */
1252
+ export const distance: {
1253
+ (other: DateTime): (self: DateTime) => Duration.Duration
1254
+ (self: DateTime, other: DateTime): Duration.Duration
1255
+ } = Internal.distance
1256
+
1257
+ /**
1258
+ * Returns the earlier of two `DateTime` values.
1259
+ *
1260
+ * **Example** (Selecting the earlier DateTime)
1261
+ *
1262
+ * ```ts
1263
+ * import { DateTime } from "effect"
1264
+ *
1265
+ * const date1 = DateTime.makeUnsafe("2024-01-01")
1266
+ * const date2 = DateTime.makeUnsafe("2024-02-01")
1267
+ *
1268
+ * const earlier = DateTime.min(date1, date2)
1269
+ * // earlier equals date1 (2024-01-01)
1270
+ * ```
1271
+ *
1272
+ * @category comparisons
1273
+ * @since 3.6.0
1274
+ */
1275
+ export const min: {
1276
+ <That extends DateTime>(that: That): <Self extends DateTime>(self: Self) => Self | That
1277
+ <Self extends DateTime, That extends DateTime>(self: Self, that: That): Self | That
1278
+ } = Internal.min
1279
+
1280
+ /**
1281
+ * Returns the later of two `DateTime` values.
1282
+ *
1283
+ * **Example** (Selecting the later DateTime)
1284
+ *
1285
+ * ```ts
1286
+ * import { DateTime } from "effect"
1287
+ *
1288
+ * const date1 = DateTime.makeUnsafe("2024-01-01")
1289
+ * const date2 = DateTime.makeUnsafe("2024-02-01")
1290
+ *
1291
+ * const later = DateTime.max(date1, date2)
1292
+ * // later equals date2 (2024-02-01)
1293
+ * ```
1294
+ *
1295
+ * @category comparisons
1296
+ * @since 3.6.0
1297
+ */
1298
+ export const max: {
1299
+ <That extends DateTime>(that: That): <Self extends DateTime>(self: Self) => Self | That
1300
+ <Self extends DateTime, That extends DateTime>(self: Self, that: That): Self | That
1301
+ } = Internal.max
1302
+
1303
+ /**
1304
+ * Checks whether the first `DateTime` is after the second `DateTime`.
1305
+ *
1306
+ * **Example** (Checking whether a DateTime is later)
1307
+ *
1308
+ * ```ts
1309
+ * import { DateTime } from "effect"
1310
+ *
1311
+ * const date1 = DateTime.makeUnsafe("2024-02-01")
1312
+ * const date2 = DateTime.makeUnsafe("2024-01-01")
1313
+ *
1314
+ * console.log(DateTime.isGreaterThan(date1, date2)) // true
1315
+ * console.log(DateTime.isGreaterThan(date2, date1)) // false
1316
+ * ```
1317
+ *
1318
+ * @category comparisons
1319
+ * @since 4.0.0
1320
+ */
1321
+ export const isGreaterThan: {
1322
+ (that: DateTime): (self: DateTime) => boolean
1323
+ (self: DateTime, that: DateTime): boolean
1324
+ } = Internal.isGreaterThan
1325
+
1326
+ /**
1327
+ * Checks whether the first `DateTime` is after or equal to the second `DateTime`.
1328
+ *
1329
+ * **Example** (Checking whether a DateTime is later or equal)
1330
+ *
1331
+ * ```ts
1332
+ * import { DateTime } from "effect"
1333
+ *
1334
+ * const date1 = DateTime.makeUnsafe("2024-01-01")
1335
+ * const date2 = DateTime.makeUnsafe("2024-01-01")
1336
+ * const date3 = DateTime.makeUnsafe("2024-02-01")
1337
+ *
1338
+ * console.log(DateTime.isGreaterThanOrEqualTo(date1, date2)) // true
1339
+ * console.log(DateTime.isGreaterThanOrEqualTo(date3, date1)) // true
1340
+ * console.log(DateTime.isGreaterThanOrEqualTo(date1, date3)) // false
1341
+ * ```
1342
+ *
1343
+ * @category comparisons
1344
+ * @since 4.0.0
1345
+ */
1346
+ export const isGreaterThanOrEqualTo: {
1347
+ (that: DateTime): (self: DateTime) => boolean
1348
+ (self: DateTime, that: DateTime): boolean
1349
+ } = Internal.isGreaterThanOrEqualTo
1350
+
1351
+ /**
1352
+ * Checks whether the first `DateTime` is before the second `DateTime`.
1353
+ *
1354
+ * **Example** (Checking whether a DateTime is earlier)
1355
+ *
1356
+ * ```ts
1357
+ * import { DateTime } from "effect"
1358
+ *
1359
+ * const date1 = DateTime.makeUnsafe("2024-01-01")
1360
+ * const date2 = DateTime.makeUnsafe("2024-02-01")
1361
+ *
1362
+ * console.log(DateTime.isLessThan(date1, date2)) // true
1363
+ * console.log(DateTime.isLessThan(date2, date1)) // false
1364
+ * ```
1365
+ *
1366
+ * @category comparisons
1367
+ * @since 4.0.0
1368
+ */
1369
+ export const isLessThan: {
1370
+ (that: DateTime): (self: DateTime) => boolean
1371
+ (self: DateTime, that: DateTime): boolean
1372
+ } = Internal.isLessThan
1373
+
1374
+ /**
1375
+ * Checks whether the first `DateTime` is before or equal to the second `DateTime`.
1376
+ *
1377
+ * **Example** (Checking whether a DateTime is earlier or equal)
1378
+ *
1379
+ * ```ts
1380
+ * import { DateTime } from "effect"
1381
+ *
1382
+ * const date1 = DateTime.makeUnsafe("2024-01-01")
1383
+ * const date2 = DateTime.makeUnsafe("2024-01-01")
1384
+ * const date3 = DateTime.makeUnsafe("2024-02-01")
1385
+ *
1386
+ * console.log(DateTime.isLessThanOrEqualTo(date1, date2)) // true
1387
+ * console.log(DateTime.isLessThanOrEqualTo(date1, date3)) // true
1388
+ * console.log(DateTime.isLessThanOrEqualTo(date3, date1)) // false
1389
+ * ```
1390
+ *
1391
+ * @category comparisons
1392
+ * @since 4.0.0
1393
+ */
1394
+ export const isLessThanOrEqualTo: {
1395
+ (that: DateTime): (self: DateTime) => boolean
1396
+ (self: DateTime, that: DateTime): boolean
1397
+ } = Internal.isLessThanOrEqualTo
1398
+
1399
+ /**
1400
+ * Checks whether a `DateTime` is between two other `DateTime` values (inclusive).
1401
+ *
1402
+ * **Example** (Checking whether a DateTime is within bounds)
1403
+ *
1404
+ * ```ts
1405
+ * import { DateTime } from "effect"
1406
+ *
1407
+ * const min = DateTime.makeUnsafe("2024-01-01")
1408
+ * const max = DateTime.makeUnsafe("2024-12-31")
1409
+ * const date = DateTime.makeUnsafe("2024-06-15")
1410
+ *
1411
+ * console.log(DateTime.between(date, { minimum: min, maximum: max })) // true
1412
+ * ```
1413
+ *
1414
+ * @category comparisons
1415
+ * @since 3.6.0
1416
+ */
1417
+ export const between: {
1418
+ (options: { minimum: DateTime; maximum: DateTime }): (self: DateTime) => boolean
1419
+ (self: DateTime, options: { minimum: DateTime; maximum: DateTime }): boolean
1420
+ } = Internal.between
1421
+
1422
+ /**
1423
+ * Checks effectfully if a `DateTime` is in the future compared to the current time.
1424
+ *
1425
+ * **Details**
1426
+ *
1427
+ * This is an effectful operation that uses the current time from the `Clock` service.
1428
+ *
1429
+ * **Example** (Checking future DateTime values effectfully)
1430
+ *
1431
+ * ```ts
1432
+ * import { DateTime, Effect } from "effect"
1433
+ *
1434
+ * const program = Effect.gen(function*() {
1435
+ * const futureDate = DateTime.add(yield* DateTime.now, { hours: 1 })
1436
+ * const isFuture = yield* DateTime.isFuture(futureDate)
1437
+ * console.log(isFuture) // true
1438
+ * })
1439
+ * ```
1440
+ *
1441
+ * @category comparisons
1442
+ * @since 3.6.0
1443
+ */
1444
+ export const isFuture: (self: DateTime) => Effect.Effect<boolean> = Internal.isFuture
1445
+
1446
+ /**
1447
+ * Checks synchronously if a `DateTime` is in the future compared to the current time.
1448
+ *
1449
+ * **When to use**
1450
+ *
1451
+ * Use when checking whether a `DateTime` is in the future with a synchronous
1452
+ * live-clock read and `Clock`-based testability is not needed.
1453
+ *
1454
+ * **Details**
1455
+ *
1456
+ * This is a synchronous version that uses `Date.now()` directly.
1457
+ *
1458
+ * **Example** (Checking future DateTime values unsafely)
1459
+ *
1460
+ * ```ts
1461
+ * import { DateTime } from "effect"
1462
+ *
1463
+ * const now = DateTime.nowUnsafe()
1464
+ * const futureDate = DateTime.add(now, { hours: 1 })
1465
+ *
1466
+ * console.log(DateTime.isFutureUnsafe(futureDate)) // true
1467
+ * console.log(DateTime.isFutureUnsafe(now)) // false
1468
+ * ```
1469
+ *
1470
+ * @category comparisons
1471
+ * @since 4.0.0
1472
+ */
1473
+ export const isFutureUnsafe: (self: DateTime) => boolean = Internal.isFutureUnsafe
1474
+
1475
+ /**
1476
+ * Checks effectfully if a `DateTime` is in the past compared to the current time.
1477
+ *
1478
+ * **Details**
1479
+ *
1480
+ * This is an effectful operation that uses the current time from the `Clock` service.
1481
+ *
1482
+ * **Example** (Checking past DateTime values effectfully)
1483
+ *
1484
+ * ```ts
1485
+ * import { DateTime, Effect } from "effect"
1486
+ *
1487
+ * const program = Effect.gen(function*() {
1488
+ * const pastDate = DateTime.subtract(yield* DateTime.now, { hours: 1 })
1489
+ * const isPast = yield* DateTime.isPast(pastDate)
1490
+ * console.log(isPast) // true
1491
+ * })
1492
+ * ```
1493
+ *
1494
+ * @category comparisons
1495
+ * @since 3.6.0
1496
+ */
1497
+ export const isPast: (self: DateTime) => Effect.Effect<boolean> = Internal.isPast
1498
+
1499
+ /**
1500
+ * Checks synchronously if a `DateTime` is in the past compared to the current time.
1501
+ *
1502
+ * **When to use**
1503
+ *
1504
+ * Use when checking whether a `DateTime` is in the past with a synchronous
1505
+ * live-clock read and `Clock`-based testability is not needed.
1506
+ *
1507
+ * **Details**
1508
+ *
1509
+ * This is a synchronous version that uses `Date.now()` directly.
1510
+ *
1511
+ * **Example** (Checking past DateTime values unsafely)
1512
+ *
1513
+ * ```ts
1514
+ * import { DateTime } from "effect"
1515
+ *
1516
+ * const now = DateTime.nowUnsafe()
1517
+ * const pastDate = DateTime.subtract(now, { hours: 1 })
1518
+ *
1519
+ * console.log(DateTime.isPastUnsafe(pastDate)) // true
1520
+ * console.log(DateTime.isPastUnsafe(now)) // false
1521
+ * ```
1522
+ *
1523
+ * @category comparisons
1524
+ * @since 4.0.0
1525
+ */
1526
+ export const isPastUnsafe: (self: DateTime) => boolean = Internal.isPastUnsafe
1527
+
1528
+ // =============================================================================
1529
+ // conversions
1530
+ // =============================================================================
1531
+
1532
+ /**
1533
+ * Gets the UTC `Date` of a `DateTime`.
1534
+ *
1535
+ * **Details**
1536
+ *
1537
+ * This always returns the UTC representation, ignoring any time zone information.
1538
+ *
1539
+ * **Example** (Converting DateTime values to UTC Dates)
1540
+ *
1541
+ * ```ts
1542
+ * import { DateTime } from "effect"
1543
+ *
1544
+ * const dt = DateTime.makeZonedUnsafe("2024-01-01T12:00:00Z", {
1545
+ * timeZone: "Europe/London"
1546
+ * })
1547
+ *
1548
+ * const utcDate = DateTime.toDateUtc(dt)
1549
+ * console.log(utcDate.toISOString()) // "2024-01-01T12:00:00.000Z"
1550
+ * ```
1551
+ *
1552
+ * @category converting
1553
+ * @since 3.6.0
1554
+ */
1555
+ export const toDateUtc: (self: DateTime) => Date = Internal.toDateUtc
1556
+
1557
+ /**
1558
+ * Converts a `DateTime` to a `Date`, applying the time zone first.
1559
+ *
1560
+ * **Details**
1561
+ *
1562
+ * For `DateTime.Zoned`, this adjusts for the time zone before converting.
1563
+ * For `DateTime.Utc`, this is equivalent to `toDateUtc`.
1564
+ *
1565
+ * **Example** (Converting DateTime values to Dates)
1566
+ *
1567
+ * ```ts
1568
+ * import { DateTime } from "effect"
1569
+ *
1570
+ * const utc = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
1571
+ * const zoned = DateTime.makeZonedUnsafe("2024-01-01T12:00:00Z", {
1572
+ * timeZone: "Europe/London"
1573
+ * })
1574
+ *
1575
+ * console.log(DateTime.toDate(utc).toISOString())
1576
+ * console.log(DateTime.toDate(zoned).toISOString())
1577
+ * ```
1578
+ *
1579
+ * @category converting
1580
+ * @since 3.6.0
1581
+ */
1582
+ export const toDate: (self: DateTime) => Date = Internal.toDate
1583
+
1584
+ /**
1585
+ * Computes the time zone offset of a `DateTime.Zoned` in milliseconds.
1586
+ *
1587
+ * **Details**
1588
+ *
1589
+ * Returns the offset from UTC in milliseconds. Positive values indicate
1590
+ * time zones ahead of UTC, negative values indicate time zones behind UTC.
1591
+ *
1592
+ * **Example** (Reading zoned offsets)
1593
+ *
1594
+ * ```ts
1595
+ * import { DateTime } from "effect"
1596
+ *
1597
+ * const zoned = DateTime.makeZonedUnsafe("2024-01-01T12:00:00Z", {
1598
+ * timeZone: "Europe/London"
1599
+ * })
1600
+ *
1601
+ * const offset = DateTime.zonedOffset(zoned)
1602
+ * console.log(offset) // 0 (London is UTC+0 in winter)
1603
+ * ```
1604
+ *
1605
+ * @category converting
1606
+ * @since 3.6.0
1607
+ */
1608
+ export const zonedOffset: (self: Zoned) => number = Internal.zonedOffset
1609
+
1610
+ /**
1611
+ * Formats the time zone offset of a `DateTime.Zoned` as an ISO string.
1612
+ *
1613
+ * **Details**
1614
+ *
1615
+ * The offset is formatted as "±HH:MM".
1616
+ *
1617
+ * **Example** (Formatting zoned offsets)
1618
+ *
1619
+ * ```ts
1620
+ * import { DateTime } from "effect"
1621
+ *
1622
+ * const zoned = DateTime.makeZonedUnsafe("2024-01-01T12:00:00Z", {
1623
+ * timeZone: DateTime.zoneMakeOffset(3 * 60 * 60 * 1000) // +3 hours
1624
+ * })
1625
+ *
1626
+ * const offsetString = DateTime.zonedOffsetIso(zoned)
1627
+ * console.log(offsetString) // "+03:00"
1628
+ * ```
1629
+ *
1630
+ * @category converting
1631
+ * @since 3.6.0
1632
+ */
1633
+ export const zonedOffsetIso: (self: Zoned) => string = Internal.zonedOffsetIso
1634
+
1635
+ /**
1636
+ * Gets the milliseconds since the Unix epoch of a `DateTime`.
1637
+ *
1638
+ * **Details**
1639
+ *
1640
+ * This returns the UTC timestamp regardless of any time zone information.
1641
+ *
1642
+ * **Example** (Reading epoch milliseconds)
1643
+ *
1644
+ * ```ts
1645
+ * import { DateTime } from "effect"
1646
+ *
1647
+ * const dt = DateTime.makeUnsafe("2024-01-01T00:00:00Z")
1648
+ * const epochMillis = DateTime.toEpochMillis(dt)
1649
+ *
1650
+ * console.log(epochMillis) // 1704067200000
1651
+ * ```
1652
+ *
1653
+ * @category converting
1654
+ * @since 3.6.0
1655
+ */
1656
+ export const toEpochMillis: (self: DateTime) => number = Internal.toEpochMillis
1657
+
1658
+ /**
1659
+ * Removes the time aspect of a `DateTime`, first adjusting for the time
1660
+ * zone. It will return a `DateTime.Utc` only containing the date.
1661
+ *
1662
+ * **Example** (Removing time components)
1663
+ *
1664
+ * ```ts
1665
+ * import { DateTime } from "effect"
1666
+ *
1667
+ * // returns "2024-01-01T00:00:00Z"
1668
+ * DateTime.makeZonedUnsafe("2024-01-01T05:00:00Z", {
1669
+ * timeZone: "Pacific/Auckland",
1670
+ * adjustForTimeZone: true
1671
+ * }).pipe(
1672
+ * DateTime.removeTime,
1673
+ * DateTime.formatIso
1674
+ * )
1675
+ * ```
1676
+ *
1677
+ * @category converting
1678
+ * @since 3.6.0
1679
+ */
1680
+ export const removeTime: (self: DateTime) => Utc = Internal.removeTime
1681
+
1682
+ // =============================================================================
1683
+ // parts
1684
+ // =============================================================================
1685
+
1686
+ /**
1687
+ * Gets the time-zone-adjusted parts of a `DateTime` as an object.
1688
+ *
1689
+ * **Details**
1690
+ *
1691
+ * The parts will be time zone adjusted if the `DateTime` is zoned.
1692
+ *
1693
+ * **Example** (Reading DateTime parts)
1694
+ *
1695
+ * ```ts
1696
+ * import { DateTime } from "effect"
1697
+ *
1698
+ * const dt = DateTime.makeUnsafe("2024-01-01T12:30:45.123Z")
1699
+ * const parts = DateTime.toParts(dt)
1700
+ *
1701
+ * console.log(parts)
1702
+ * // {
1703
+ * // year: 2024,
1704
+ * // month: 1,
1705
+ * // day: 1,
1706
+ * // hours: 12,
1707
+ * // minutes: 30,
1708
+ * // seconds: 45,
1709
+ * // millis: 123,
1710
+ * // weekDay: 1 // Monday
1711
+ * // }
1712
+ * ```
1713
+ *
1714
+ * @category parts
1715
+ * @since 3.6.0
1716
+ */
1717
+ export const toParts: (self: DateTime) => DateTime.PartsWithWeekday = Internal.toParts
1718
+
1719
+ /**
1720
+ * Gets the UTC parts of a `DateTime` as an object.
1721
+ *
1722
+ * **Details**
1723
+ *
1724
+ * The parts will always be in UTC, ignoring any time zone information.
1725
+ *
1726
+ * **Example** (Reading UTC DateTime parts)
1727
+ *
1728
+ * ```ts
1729
+ * import { DateTime } from "effect"
1730
+ *
1731
+ * const zoned = DateTime.makeZonedUnsafe("2024-01-01T12:30:45.123Z", {
1732
+ * timeZone: "Europe/London"
1733
+ * })
1734
+ * const parts = DateTime.toPartsUtc(zoned)
1735
+ *
1736
+ * console.log(parts)
1737
+ * // Always returns UTC parts regardless of time zone
1738
+ * ```
1739
+ *
1740
+ * @category parts
1741
+ * @since 3.6.0
1742
+ */
1743
+ export const toPartsUtc: (self: DateTime) => DateTime.PartsWithWeekday = Internal.toPartsUtc
1744
+
1745
+ /**
1746
+ * Gets one UTC part of a `DateTime` as a number.
1747
+ *
1748
+ * **Details**
1749
+ *
1750
+ * The part will be in the UTC time zone.
1751
+ *
1752
+ * **Example** (Reading UTC DateTime parts by key)
1753
+ *
1754
+ * ```ts
1755
+ * import { DateTime } from "effect"
1756
+ *
1757
+ * const dateTime = DateTime.makeUnsafe({ year: 2024 })
1758
+ * const year = DateTime.getPartUtc(dateTime, "year")
1759
+ * console.log(year) // 2024
1760
+ * ```
1761
+ *
1762
+ * @category parts
1763
+ * @since 3.6.0
1764
+ */
1765
+ export const getPartUtc: {
1766
+ (part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number
1767
+ (self: DateTime, part: keyof DateTime.PartsWithWeekday): number
1768
+ } = Internal.getPartUtc
1769
+
1770
+ /**
1771
+ * Gets one time-zone-adjusted part of a `DateTime` as a number.
1772
+ *
1773
+ * **Details**
1774
+ *
1775
+ * The part will be time zone adjusted.
1776
+ *
1777
+ * **Example** (Reading DateTime parts by key)
1778
+ *
1779
+ * ```ts
1780
+ * import { DateTime } from "effect"
1781
+ *
1782
+ * const dateTime = DateTime.makeZonedUnsafe({ year: 2024 }, {
1783
+ * timeZone: "Europe/London"
1784
+ * })
1785
+ * const year = DateTime.getPart(dateTime, "year")
1786
+ * console.log(year) // 2024
1787
+ * ```
1788
+ *
1789
+ * @category parts
1790
+ * @since 3.6.0
1791
+ */
1792
+ export const getPart: {
1793
+ (part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number
1794
+ (self: DateTime, part: keyof DateTime.PartsWithWeekday): number
1795
+ } = Internal.getPart
1796
+
1797
+ /**
1798
+ * Sets time-zone-adjusted parts on a `DateTime`.
1799
+ *
1800
+ * **Details**
1801
+ *
1802
+ * The date will be time zone adjusted for `DateTime.Zoned`.
1803
+ *
1804
+ * **Example** (Updating DateTime parts)
1805
+ *
1806
+ * ```ts
1807
+ * import { DateTime } from "effect"
1808
+ *
1809
+ * const dt = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
1810
+ * const updated = DateTime.setParts(dt, {
1811
+ * year: 2025,
1812
+ * month: 6,
1813
+ * day: 15
1814
+ * })
1815
+ *
1816
+ * console.log(DateTime.formatIso(updated)) // "2025-06-15T12:00:00.000Z"
1817
+ * ```
1818
+ *
1819
+ * @category parts
1820
+ * @since 3.6.0
1821
+ */
1822
+ export const setParts: {
1823
+ (parts: Partial<DateTime.PartsWithWeekday>): <A extends DateTime>(self: A) => A
1824
+ <A extends DateTime>(self: A, parts: Partial<DateTime.PartsWithWeekday>): A
1825
+ } = Internal.setParts
1826
+
1827
+ /**
1828
+ * Sets UTC parts on a `DateTime`.
1829
+ *
1830
+ * **Details**
1831
+ *
1832
+ * The parts are always interpreted as UTC, ignoring any time zone information.
1833
+ *
1834
+ * **Example** (Updating UTC DateTime parts)
1835
+ *
1836
+ * ```ts
1837
+ * import { DateTime } from "effect"
1838
+ *
1839
+ * const dt = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
1840
+ * const updated = DateTime.setPartsUtc(dt, {
1841
+ * year: 2025,
1842
+ * hour: 18
1843
+ * })
1844
+ *
1845
+ * console.log(DateTime.formatIso(updated)) // "2025-01-01T18:00:00.000Z"
1846
+ * ```
1847
+ *
1848
+ * @category parts
1849
+ * @since 3.6.0
1850
+ */
1851
+ export const setPartsUtc: {
1852
+ (parts: Partial<DateTime.PartsWithWeekday>): <A extends DateTime>(self: A) => A
1853
+ <A extends DateTime>(self: A, parts: Partial<DateTime.PartsWithWeekday>): A
1854
+ } = Internal.setPartsUtc
1855
+
1856
+ // =============================================================================
1857
+ // current time zone
1858
+ // =============================================================================
1859
+
1860
+ /**
1861
+ * Context service that supplies the ambient `TimeZone` for APIs that work in
1862
+ * the current zone, such as `DateTime.setZoneCurrent` and
1863
+ * `DateTime.nowInCurrentZone`.
1864
+ *
1865
+ * **Details**
1866
+ *
1867
+ * Provide it with `DateTime.withCurrentZone`, one of the `withCurrentZone*`
1868
+ * helpers, or one of the `layerCurrentZone*` layers.
1869
+ *
1870
+ * **Example** (Accessing the current time zone service)
1871
+ *
1872
+ * ```ts
1873
+ * import { DateTime, Effect } from "effect"
1874
+ *
1875
+ * const program = Effect.gen(function*() {
1876
+ * // Access the current time zone service
1877
+ * const zone = yield* DateTime.CurrentTimeZone
1878
+ * console.log(DateTime.zoneToString(zone))
1879
+ * })
1880
+ *
1881
+ * // Provide a time zone
1882
+ * const layer = DateTime.layerCurrentZoneNamed("Europe/London")
1883
+ * Effect.provide(program, layer)
1884
+ * ```
1885
+ *
1886
+ * @category current time zone
1887
+ * @since 3.11.0
1888
+ */
1889
+ export class CurrentTimeZone extends Context.Service<CurrentTimeZone, TimeZone>()(
1890
+ "effect/DateTime/CurrentTimeZone"
1891
+ ) {}
1892
+
1893
+ /**
1894
+ * Sets the time zone of a `DateTime` to the current time zone, which is
1895
+ * determined by the `CurrentTimeZone` service.
1896
+ *
1897
+ * **Example** (Setting the current time zone)
1898
+ *
1899
+ * ```ts
1900
+ * import { DateTime, Effect } from "effect"
1901
+ *
1902
+ * Effect.gen(function*() {
1903
+ * const now = yield* DateTime.now
1904
+ *
1905
+ * // set the time zone to "Europe/London"
1906
+ * const zoned = yield* DateTime.setZoneCurrent(now)
1907
+ * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
1908
+ * ```
1909
+ *
1910
+ * @category current time zone
1911
+ * @since 3.6.0
1912
+ */
1913
+ export const setZoneCurrent = (self: DateTime): Effect.Effect<Zoned, never, CurrentTimeZone> =>
1914
+ Effect.map(CurrentTimeZone, (zone) => setZone(self, zone))
1915
+
1916
+ /**
1917
+ * Provides the `CurrentTimeZone` to an effect.
1918
+ *
1919
+ * **Example** (Providing the current time zone)
1920
+ *
1921
+ * ```ts
1922
+ * import { DateTime, Effect } from "effect"
1923
+ *
1924
+ * const zone = DateTime.zoneMakeNamedUnsafe("Europe/London")
1925
+ *
1926
+ * Effect.gen(function*() {
1927
+ * const now = yield* DateTime.nowInCurrentZone
1928
+ * }).pipe(DateTime.withCurrentZone(zone))
1929
+ * ```
1930
+ *
1931
+ * @category current time zone
1932
+ * @since 3.6.0
1933
+ */
1934
+ export const withCurrentZone: {
1935
+ (value: TimeZone): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
1936
+ <A, E, R>(self: Effect.Effect<A, E, R>, value: TimeZone): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
1937
+ } = provideService(CurrentTimeZone)
1938
+
1939
+ /**
1940
+ * Provides the `CurrentTimeZone` to an effect, using the system's local time
1941
+ * zone.
1942
+ *
1943
+ * **Example** (Providing the local time zone)
1944
+ *
1945
+ * ```ts
1946
+ * import { DateTime, Effect } from "effect"
1947
+ *
1948
+ * Effect.gen(function*() {
1949
+ * // will use the system's local time zone
1950
+ * const now = yield* DateTime.nowInCurrentZone
1951
+ * }).pipe(DateTime.withCurrentZoneLocal)
1952
+ * ```
1953
+ *
1954
+ * @category current time zone
1955
+ * @since 3.6.0
1956
+ */
1957
+ export const withCurrentZoneLocal = <A, E, R>(
1958
+ effect: Effect.Effect<A, E, R>
1959
+ ): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>> =>
1960
+ Effect.provideServiceEffect(effect, CurrentTimeZone, Effect.sync(zoneMakeLocal))
1961
+
1962
+ /**
1963
+ * Provides the `CurrentTimeZone` to an effect, using an offset.
1964
+ *
1965
+ * **Example** (Providing a fixed-offset time zone)
1966
+ *
1967
+ * ```ts
1968
+ * import { DateTime, Effect } from "effect"
1969
+ *
1970
+ * Effect.gen(function*() {
1971
+ * const zone = yield* DateTime.CurrentTimeZone
1972
+ * console.log(DateTime.zoneToString(zone)) // "+03:00"
1973
+ * }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
1974
+ * ```
1975
+ *
1976
+ * @category current time zone
1977
+ * @since 3.6.0
1978
+ */
1979
+ export const withCurrentZoneOffset: {
1980
+ (offset: number): <A, E, R>(
1981
+ effect: Effect.Effect<A, E, R>
1982
+ ) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
1983
+ <A, E, R>(effect: Effect.Effect<A, E, R>, offset: number): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
1984
+ } = dual(
1985
+ 2,
1986
+ <A, E, R>(effect: Effect.Effect<A, E, R>, offset: number): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>> =>
1987
+ Effect.provideService(effect, CurrentTimeZone, zoneMakeOffset(offset))
1988
+ )
1989
+
1990
+ /**
1991
+ * Provides the `CurrentTimeZone` to an effect using an IANA time zone
1992
+ * identifier.
1993
+ *
1994
+ * **Details**
1995
+ *
1996
+ * If the time zone is invalid, it will fail with an `IllegalArgumentError`.
1997
+ *
1998
+ * **Example** (Providing a named time zone)
1999
+ *
2000
+ * ```ts
2001
+ * import { DateTime, Effect } from "effect"
2002
+ *
2003
+ * Effect.gen(function*() {
2004
+ * // will use the "Europe/London" time zone
2005
+ * const now = yield* DateTime.nowInCurrentZone
2006
+ * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
2007
+ * ```
2008
+ *
2009
+ * @category current time zone
2010
+ * @since 3.6.0
2011
+ */
2012
+ export const withCurrentZoneNamed: {
2013
+ (zone: string): <A, E, R>(
2014
+ effect: Effect.Effect<A, E, R>
2015
+ ) => Effect.Effect<A, E | IllegalArgumentError, Exclude<R, CurrentTimeZone>>
2016
+ <A, E, R>(
2017
+ effect: Effect.Effect<A, E, R>,
2018
+ zone: string
2019
+ ): Effect.Effect<A, E | IllegalArgumentError, Exclude<R, CurrentTimeZone>>
2020
+ } = dual(
2021
+ 2,
2022
+ <A, E, R>(
2023
+ effect: Effect.Effect<A, E, R>,
2024
+ zone: string
2025
+ ): Effect.Effect<A, E | IllegalArgumentError, Exclude<R, CurrentTimeZone>> =>
2026
+ Effect.provideServiceEffect(effect, CurrentTimeZone, zoneMakeNamedEffect(zone))
2027
+ )
2028
+
2029
+ /**
2030
+ * Gets the current time as a `DateTime.Zoned`, using the `CurrentTimeZone`.
2031
+ *
2032
+ * **Example** (Getting the current time in the current zone)
2033
+ *
2034
+ * ```ts
2035
+ * import { DateTime, Effect } from "effect"
2036
+ *
2037
+ * Effect.gen(function*() {
2038
+ * // will use the "Europe/London" time zone
2039
+ * const now = yield* DateTime.nowInCurrentZone
2040
+ * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
2041
+ * ```
2042
+ *
2043
+ * @category current time zone
2044
+ * @since 3.6.0
2045
+ */
2046
+ export const nowInCurrentZone: Effect.Effect<Zoned, never, CurrentTimeZone> = Effect.flatMap(now, setZoneCurrent)
2047
+
2048
+ // =============================================================================
2049
+ // mapping
2050
+ // =============================================================================
2051
+
2052
+ /**
2053
+ * Modifies a `DateTime` with a mutable local `Date` copy.
2054
+ *
2055
+ * **When to use**
2056
+ *
2057
+ * Use to adjust calendar fields in the `DateTime`'s own time zone with an
2058
+ * existing `Date` mutation API.
2059
+ *
2060
+ * **Details**
2061
+ *
2062
+ * The `Date` will first have the time zone applied if possible, and then be
2063
+ * converted back to a `DateTime` within the same time zone.
2064
+ *
2065
+ * Supports `disambiguation` when the new wall clock time is ambiguous.
2066
+ *
2067
+ * **Example** (Mutating DateTime values with Dates)
2068
+ *
2069
+ * ```ts
2070
+ * import { DateTime } from "effect"
2071
+ *
2072
+ * const dt = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
2073
+ *
2074
+ * const modified = DateTime.mutate(dt, (date) => {
2075
+ * date.setHours(15) // Set to 3 PM
2076
+ * date.setMinutes(30) // Set to 30 minutes
2077
+ * })
2078
+ *
2079
+ * console.log(DateTime.formatIso(modified)) // "2024-01-01T15:30:00.000Z"
2080
+ * ```
2081
+ *
2082
+ * @category mapping
2083
+ * @since 3.6.0
2084
+ */
2085
+ export const mutate: {
2086
+ (
2087
+ f: (date: Date) => void,
2088
+ options?: {
2089
+ readonly disambiguation?: Disambiguation | undefined
2090
+ }
2091
+ ): <A extends DateTime>(self: A) => A
2092
+ <A extends DateTime>(
2093
+ self: A,
2094
+ f: (date: Date) => void,
2095
+ options?: {
2096
+ readonly disambiguation?: Disambiguation | undefined
2097
+ }
2098
+ ): A
2099
+ } = Internal.mutate
2100
+
2101
+ /**
2102
+ * Modifies a `DateTime` with a mutable UTC `Date` copy.
2103
+ *
2104
+ * **When to use**
2105
+ *
2106
+ * Use to adjust the instant with an existing `Date` mutation API that works on
2107
+ * UTC calendar fields.
2108
+ *
2109
+ * **Example** (Mutating DateTime values with UTC Dates)
2110
+ *
2111
+ * ```ts
2112
+ * import { DateTime } from "effect"
2113
+ *
2114
+ * const dt = DateTime.makeZonedUnsafe("2024-01-01T12:00:00Z", {
2115
+ * timeZone: "Europe/London"
2116
+ * })
2117
+ *
2118
+ * const modified = DateTime.mutateUtc(dt, (date) => {
2119
+ * date.setUTCHours(18) // Set UTC time to 6 PM
2120
+ * })
2121
+ *
2122
+ * console.log(DateTime.formatIso(modified)) // "2024-01-01T18:00:00.000Z"
2123
+ * ```
2124
+ *
2125
+ * @category mapping
2126
+ * @since 3.6.0
2127
+ */
2128
+ export const mutateUtc: {
2129
+ (f: (date: Date) => void): <A extends DateTime>(self: A) => A
2130
+ <A extends DateTime>(self: A, f: (date: Date) => void): A
2131
+ } = Internal.mutateUtc
2132
+
2133
+ /**
2134
+ * Transforms a `DateTime` by applying a function to the number of milliseconds
2135
+ * since the Unix epoch.
2136
+ *
2137
+ * **Example** (Mapping epoch milliseconds)
2138
+ *
2139
+ * ```ts
2140
+ * import { DateTime } from "effect"
2141
+ *
2142
+ * // add 10 milliseconds
2143
+ * DateTime.makeUnsafe(0).pipe(
2144
+ * DateTime.mapEpochMillis((millis) => millis + 10)
2145
+ * )
2146
+ * ```
2147
+ *
2148
+ * @category mapping
2149
+ * @since 3.6.0
2150
+ */
2151
+ export const mapEpochMillis: {
2152
+ (f: (millis: number) => number): <A extends DateTime>(self: A) => A
2153
+ <A extends DateTime>(self: A, f: (millis: number) => number): A
2154
+ } = Internal.mapEpochMillis
2155
+
2156
+ /**
2157
+ * Applies a function to a JavaScript `Date` representing the `DateTime` and
2158
+ * returns the function's result.
2159
+ *
2160
+ * **Details**
2161
+ *
2162
+ * The callback receives the time-zone-adjusted wall-clock date for
2163
+ * `DateTime.Zoned` values. Use `DateTime.withDateUtc` when the callback should
2164
+ * receive the UTC instant.
2165
+ *
2166
+ * **Example** (Applying time zone adjusted Dates)
2167
+ *
2168
+ * ```ts
2169
+ * import { DateTime } from "effect"
2170
+ *
2171
+ * // get the time zone adjusted date in milliseconds
2172
+ * DateTime.makeZonedUnsafe(0, { timeZone: "Europe/London" }).pipe(
2173
+ * DateTime.withDate((date) => date.getTime())
2174
+ * )
2175
+ * ```
2176
+ *
2177
+ * @category mapping
2178
+ * @since 3.6.0
2179
+ */
2180
+ export const withDate: {
2181
+ <A>(f: (date: Date) => A): (self: DateTime) => A
2182
+ <A>(self: DateTime, f: (date: Date) => A): A
2183
+ } = Internal.withDate
2184
+
2185
+ /**
2186
+ * Applies a function to a JavaScript `Date` representing the `DateTime`'s UTC
2187
+ * instant and returns the function's result.
2188
+ *
2189
+ * **Details**
2190
+ *
2191
+ * This ignores any associated time zone. Use `DateTime.withDate` when the
2192
+ * callback should receive the time-zone-adjusted wall-clock date.
2193
+ *
2194
+ * **Example** (Applying UTC Dates)
2195
+ *
2196
+ * ```ts
2197
+ * import { DateTime } from "effect"
2198
+ *
2199
+ * // get the date in milliseconds
2200
+ * DateTime.makeUnsafe(0).pipe(
2201
+ * DateTime.withDateUtc((date) => date.getTime())
2202
+ * )
2203
+ * ```
2204
+ *
2205
+ * @category mapping
2206
+ * @since 3.6.0
2207
+ */
2208
+ export const withDateUtc: {
2209
+ <A>(f: (date: Date) => A): (self: DateTime) => A
2210
+ <A>(self: DateTime, f: (date: Date) => A): A
2211
+ } = Internal.withDateUtc
2212
+
2213
+ /**
2214
+ * Pattern match on a `DateTime` to handle `Utc` and `Zoned` cases differently.
2215
+ *
2216
+ * **Example** (Pattern matching DateTime variants)
2217
+ *
2218
+ * ```ts
2219
+ * import { DateTime } from "effect"
2220
+ *
2221
+ * const dt1 = DateTime.makeUnsafe("2024-01-01T12:00:00Z") // Utc
2222
+ * const dt2 = DateTime.makeZonedUnsafe("2024-06-15T14:30:00Z", {
2223
+ * timeZone: "Europe/London"
2224
+ * }) // Zoned
2225
+ *
2226
+ * const result1 = DateTime.match(dt1, {
2227
+ * onUtc: (utc) => `UTC: ${DateTime.formatIso(utc)}`,
2228
+ * onZoned: (zoned) => `Zoned: ${DateTime.formatIsoZoned(zoned)}`
2229
+ * })
2230
+ *
2231
+ * const result2 = DateTime.match(dt2, {
2232
+ * onUtc: (utc) => `UTC: ${DateTime.formatIso(utc)}`,
2233
+ * onZoned: (zoned) => `Zoned: ${DateTime.formatIsoZoned(zoned)}`
2234
+ * })
2235
+ *
2236
+ * console.log(result1) // "UTC: 2024-01-01T12:00:00.000Z"
2237
+ * console.log(result2) // "Zoned: 2024-06-15T15:30:00.000+01:00[Europe/London]"
2238
+ * ```
2239
+ *
2240
+ * @category mapping
2241
+ * @since 3.6.0
2242
+ */
2243
+ export const match: {
2244
+ <A, B>(options: {
2245
+ readonly onUtc: (_: Utc) => A
2246
+ readonly onZoned: (_: Zoned) => B
2247
+ }): (self: DateTime) => A | B
2248
+ <A, B>(self: DateTime, options: {
2249
+ readonly onUtc: (_: Utc) => A
2250
+ readonly onZoned: (_: Zoned) => B
2251
+ }): A | B
2252
+ } = Internal.match
2253
+
2254
+ // =============================================================================
2255
+ // math
2256
+ // =============================================================================
2257
+
2258
+ /**
2259
+ * Adds the given `Duration` to a `DateTime`.
2260
+ *
2261
+ * **When to use**
2262
+ *
2263
+ * Use to move a `DateTime` by an elapsed duration such as minutes, seconds, or
2264
+ * milliseconds.
2265
+ *
2266
+ * **Details**
2267
+ *
2268
+ * The duration is converted to milliseconds and added to the epoch
2269
+ * milliseconds. Zoned values keep their original time zone.
2270
+ *
2271
+ * **Gotchas**
2272
+ *
2273
+ * This is elapsed-time arithmetic, not calendar-aware local date arithmetic.
2274
+ * Use `add` when adding days, weeks, months, or years should account for the
2275
+ * date/time zone rules.
2276
+ *
2277
+ * **Example** (Adding durations)
2278
+ *
2279
+ * ```ts
2280
+ * import { DateTime } from "effect"
2281
+ *
2282
+ * // add 5 minutes
2283
+ * DateTime.makeUnsafe(0).pipe(
2284
+ * DateTime.addDuration("5 minutes")
2285
+ * )
2286
+ * ```
2287
+ *
2288
+ * @see {@link add} for calendar-aware date/time part arithmetic
2289
+ * @see {@link subtractDuration} for subtracting an elapsed duration
2290
+ *
2291
+ * @category math
2292
+ * @since 3.6.0
2293
+ */
2294
+ export const addDuration: {
2295
+ (duration: Duration.Input): <A extends DateTime>(self: A) => A
2296
+ <A extends DateTime>(self: A, duration: Duration.Input): A
2297
+ } = Internal.addDuration
2298
+
2299
+ /**
2300
+ * Subtracts the given `Duration` from a `DateTime`.
2301
+ *
2302
+ * **Example** (Subtracting durations)
2303
+ *
2304
+ * ```ts
2305
+ * import { DateTime } from "effect"
2306
+ *
2307
+ * // subtract 5 minutes
2308
+ * DateTime.makeUnsafe(0).pipe(
2309
+ * DateTime.subtractDuration("5 minutes")
2310
+ * )
2311
+ * ```
2312
+ *
2313
+ * @category math
2314
+ * @since 3.6.0
2315
+ */
2316
+ export const subtractDuration: {
2317
+ (duration: Duration.Input): <A extends DateTime>(self: A) => A
2318
+ <A extends DateTime>(self: A, duration: Duration.Input): A
2319
+ } = Internal.subtractDuration
2320
+
2321
+ /**
2322
+ * Adds the given `amount` of `unit` to a `DateTime`.
2323
+ *
2324
+ * **Details**
2325
+ *
2326
+ * The time zone is taken into account when adding days, weeks, months, and
2327
+ * years.
2328
+ *
2329
+ * **Example** (Adding date and time parts)
2330
+ *
2331
+ * ```ts
2332
+ * import { DateTime } from "effect"
2333
+ *
2334
+ * // add 5 minutes
2335
+ * DateTime.makeUnsafe(0).pipe(
2336
+ * DateTime.add({ minutes: 5 })
2337
+ * )
2338
+ * ```
2339
+ *
2340
+ * @category math
2341
+ * @since 3.6.0
2342
+ */
2343
+ export const add: {
2344
+ (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => A
2345
+ <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): A
2346
+ } = Internal.add
2347
+
2348
+ /**
2349
+ * Subtracts the given `amount` of `unit` from a `DateTime`.
2350
+ *
2351
+ * **Example** (Subtracting date and time parts)
2352
+ *
2353
+ * ```ts
2354
+ * import { DateTime } from "effect"
2355
+ *
2356
+ * // subtract 5 minutes
2357
+ * DateTime.makeUnsafe(0).pipe(
2358
+ * DateTime.subtract({ minutes: 5 })
2359
+ * )
2360
+ * ```
2361
+ *
2362
+ * @category math
2363
+ * @since 3.6.0
2364
+ */
2365
+ export const subtract: {
2366
+ (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => A
2367
+ <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): A
2368
+ } = Internal.subtract
2369
+
2370
+ /**
2371
+ * Converts a `DateTime` to the start of the given `part`.
2372
+ *
2373
+ * **Details**
2374
+ *
2375
+ * If the part is `week`, the `weekStartsOn` option can be used to specify the
2376
+ * day of the week that the week starts on. The default is 0 (Sunday).
2377
+ *
2378
+ * **Example** (Rounding down DateTime values)
2379
+ *
2380
+ * ```ts
2381
+ * import { DateTime } from "effect"
2382
+ *
2383
+ * // returns "2024-01-01T00:00:00Z"
2384
+ * DateTime.makeUnsafe("2024-01-01T12:00:00Z").pipe(
2385
+ * DateTime.startOf("day"),
2386
+ * DateTime.formatIso
2387
+ * )
2388
+ * ```
2389
+ *
2390
+ * @category math
2391
+ * @since 3.6.0
2392
+ */
2393
+ export const startOf: {
2394
+ (
2395
+ part: DateTime.UnitSingular,
2396
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2397
+ ): <A extends DateTime>(self: A) => A
2398
+ <A extends DateTime>(
2399
+ self: A,
2400
+ part: DateTime.UnitSingular,
2401
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2402
+ ): A
2403
+ } = Internal.startOf
2404
+
2405
+ /**
2406
+ * Converts a `DateTime` to the end of the given `part`.
2407
+ *
2408
+ * **Details**
2409
+ *
2410
+ * If the part is `week`, the `weekStartsOn` option can be used to specify the
2411
+ * day of the week that the week starts on. The default is 0 (Sunday).
2412
+ *
2413
+ * **Example** (Rounding up DateTime values)
2414
+ *
2415
+ * ```ts
2416
+ * import { DateTime } from "effect"
2417
+ *
2418
+ * // returns "2024-01-01T23:59:59.999Z"
2419
+ * DateTime.makeUnsafe("2024-01-01T12:00:00Z").pipe(
2420
+ * DateTime.endOf("day"),
2421
+ * DateTime.formatIso
2422
+ * )
2423
+ * ```
2424
+ *
2425
+ * @category math
2426
+ * @since 3.6.0
2427
+ */
2428
+ export const endOf: {
2429
+ (
2430
+ part: DateTime.UnitSingular,
2431
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2432
+ ): <A extends DateTime>(self: A) => A
2433
+ <A extends DateTime>(
2434
+ self: A,
2435
+ part: DateTime.UnitSingular,
2436
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2437
+ ): A
2438
+ } = Internal.endOf
2439
+
2440
+ /**
2441
+ * Converts a `DateTime` to the nearest given `part`.
2442
+ *
2443
+ * **Details**
2444
+ *
2445
+ * If the part is `week`, the `weekStartsOn` option can be used to specify the
2446
+ * day of the week that the week starts on. The default is 0 (Sunday).
2447
+ *
2448
+ * **Example** (Rounding DateTime values to nearest units)
2449
+ *
2450
+ * ```ts
2451
+ * import { DateTime } from "effect"
2452
+ *
2453
+ * // returns "2024-01-02T00:00:00Z"
2454
+ * DateTime.makeUnsafe("2024-01-01T12:01:00Z").pipe(
2455
+ * DateTime.nearest("day"),
2456
+ * DateTime.formatIso
2457
+ * )
2458
+ * ```
2459
+ *
2460
+ * @category math
2461
+ * @since 3.6.0
2462
+ */
2463
+ export const nearest: {
2464
+ (
2465
+ part: DateTime.UnitSingular,
2466
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2467
+ ): <A extends DateTime>(self: A) => A
2468
+ <A extends DateTime>(
2469
+ self: A,
2470
+ part: DateTime.UnitSingular,
2471
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2472
+ ): A
2473
+ } = Internal.nearest
2474
+
2475
+ // =============================================================================
2476
+ // formatting
2477
+ // =============================================================================
2478
+
2479
+ /**
2480
+ * Formats a `DateTime` with `Intl.DateTimeFormat`.
2481
+ *
2482
+ * **Details**
2483
+ *
2484
+ * Unless a `timeZone` option is supplied, UTC values are formatted in UTC and
2485
+ * zoned values are formatted in their named zone or fixed-offset zone.
2486
+ *
2487
+ * Fixed-offset zones depend on runtime support for offset `timeZone`
2488
+ * identifiers. When unsupported, formatting falls back to UTC with the
2489
+ * `DateTime` adjusted to the offset.
2490
+ *
2491
+ * **Example** (Formatting DateTime values with Intl options)
2492
+ *
2493
+ * ```ts
2494
+ * import { DateTime } from "effect"
2495
+ *
2496
+ * const dt = DateTime.makeZonedUnsafe("2024-06-15T14:30:00Z", {
2497
+ * timeZone: "Europe/London"
2498
+ * })
2499
+ *
2500
+ * const formatted = DateTime.format(dt, {
2501
+ * dateStyle: "full",
2502
+ * timeStyle: "short",
2503
+ * locale: "en-US"
2504
+ * })
2505
+ *
2506
+ * console.log(formatted) // "Saturday, June 15, 2024 at 3:30 PM"
2507
+ * ```
2508
+ *
2509
+ * @category formatting
2510
+ * @since 3.6.0
2511
+ */
2512
+ export const format: {
2513
+ (
2514
+ options?:
2515
+ | Intl.DateTimeFormatOptions & {
2516
+ readonly locale?: string | undefined
2517
+ }
2518
+ | undefined
2519
+ ): (self: DateTime) => string
2520
+ (
2521
+ self: DateTime,
2522
+ options?:
2523
+ | Intl.DateTimeFormatOptions & {
2524
+ readonly locale?: string | undefined
2525
+ }
2526
+ | undefined
2527
+ ): string
2528
+ } = Internal.format
2529
+
2530
+ /**
2531
+ * Formats a `DateTime` with `Intl.DateTimeFormat` using the system local time
2532
+ * zone and locale.
2533
+ *
2534
+ * **Example** (Formatting DateTime values locally)
2535
+ *
2536
+ * ```ts
2537
+ * import { DateTime } from "effect"
2538
+ *
2539
+ * const dt = DateTime.makeUnsafe("2024-06-15T14:30:00Z")
2540
+ *
2541
+ * // Uses system local time zone and locale
2542
+ * const local = DateTime.formatLocal(dt, {
2543
+ * year: "numeric",
2544
+ * month: "long",
2545
+ * day: "numeric",
2546
+ * hour: "2-digit",
2547
+ * minute: "2-digit"
2548
+ * })
2549
+ *
2550
+ * console.log(local) // Output depends on system locale/timezone
2551
+ * ```
2552
+ *
2553
+ * @category formatting
2554
+ * @since 3.6.0
2555
+ */
2556
+ export const formatLocal: {
2557
+ (
2558
+ options?:
2559
+ | Intl.DateTimeFormatOptions & {
2560
+ readonly locale?: string | undefined
2561
+ }
2562
+ | undefined
2563
+ ): (self: DateTime) => string
2564
+ (
2565
+ self: DateTime,
2566
+ options?:
2567
+ | Intl.DateTimeFormatOptions & {
2568
+ readonly locale?: string | undefined
2569
+ }
2570
+ | undefined
2571
+ ): string
2572
+ } = Internal.formatLocal
2573
+
2574
+ /**
2575
+ * Formats a `DateTime` with `Intl.DateTimeFormat` using the UTC time zone.
2576
+ *
2577
+ * **Details**
2578
+ *
2579
+ * This forces the time zone to be UTC.
2580
+ *
2581
+ * **Example** (Formatting DateTime values in UTC)
2582
+ *
2583
+ * ```ts
2584
+ * import { DateTime } from "effect"
2585
+ *
2586
+ * const dt = DateTime.makeZonedUnsafe("2024-06-15T14:30:00Z", {
2587
+ * timeZone: "Europe/London"
2588
+ * })
2589
+ *
2590
+ * // Force UTC formatting regardless of time zone
2591
+ * const utcFormatted = DateTime.formatUtc(dt, {
2592
+ * year: "numeric",
2593
+ * month: "2-digit",
2594
+ * day: "2-digit",
2595
+ * hour: "2-digit",
2596
+ * minute: "2-digit",
2597
+ * timeZoneName: "short"
2598
+ * })
2599
+ *
2600
+ * console.log(utcFormatted) // "06/15/2024, 02:30 PM UTC"
2601
+ * ```
2602
+ *
2603
+ * @category formatting
2604
+ * @since 3.6.0
2605
+ */
2606
+ export const formatUtc: {
2607
+ (
2608
+ options?:
2609
+ | Intl.DateTimeFormatOptions & {
2610
+ readonly locale?: string | undefined
2611
+ }
2612
+ | undefined
2613
+ ): (self: DateTime) => string
2614
+ (
2615
+ self: DateTime,
2616
+ options?:
2617
+ | Intl.DateTimeFormatOptions & {
2618
+ readonly locale?: string | undefined
2619
+ }
2620
+ | undefined
2621
+ ): string
2622
+ } = Internal.formatUtc
2623
+
2624
+ /**
2625
+ * Formats a `DateTime` as a string using the `Intl.DateTimeFormat` API.
2626
+ *
2627
+ * **When to use**
2628
+ *
2629
+ * Use when you already have an `Intl.DateTimeFormat` and want it to control the
2630
+ * locale, time zone, and formatting options.
2631
+ *
2632
+ * **Details**
2633
+ *
2634
+ * The formatter receives the `DateTime` epoch milliseconds. Any time zone
2635
+ * conversion comes from the supplied formatter.
2636
+ *
2637
+ * **Example** (Formatting DateTime values with custom formatters)
2638
+ *
2639
+ * ```ts
2640
+ * import { DateTime } from "effect"
2641
+ *
2642
+ * const dt = DateTime.makeUnsafe("2024-06-15T14:30:00Z")
2643
+ *
2644
+ * // Create a custom formatter
2645
+ * const formatter = new Intl.DateTimeFormat("de-DE", {
2646
+ * year: "numeric",
2647
+ * month: "long",
2648
+ * day: "numeric",
2649
+ * hour: "2-digit",
2650
+ * minute: "2-digit",
2651
+ * timeZone: "Europe/Berlin"
2652
+ * })
2653
+ *
2654
+ * const formatted = DateTime.formatIntl(dt, formatter)
2655
+ * console.log(formatted.length > 0) // true
2656
+ * ```
2657
+ *
2658
+ * @see {@link formatUtc} for formatting with options forced to UTC
2659
+ * @see {@link formatIso} for stable ISO formatting
2660
+ *
2661
+ * @category formatting
2662
+ * @since 3.6.0
2663
+ */
2664
+ export const formatIntl: {
2665
+ (format: Intl.DateTimeFormat): (self: DateTime) => string
2666
+ (self: DateTime, format: Intl.DateTimeFormat): string
2667
+ } = Internal.formatIntl
2668
+
2669
+ /**
2670
+ * Formats a `DateTime` as a UTC ISO string.
2671
+ *
2672
+ * **Details**
2673
+ *
2674
+ * Always returns the UTC representation in ISO 8601 format, ignoring any time zone.
2675
+ *
2676
+ * **Example** (Formatting DateTime values as ISO strings)
2677
+ *
2678
+ * ```ts
2679
+ * import { DateTime } from "effect"
2680
+ *
2681
+ * const dt = DateTime.makeUnsafe("2024-01-01T12:30:45.123Z")
2682
+ * console.log(DateTime.formatIso(dt)) // "2024-01-01T12:30:45.123Z"
2683
+ *
2684
+ * const zoned = DateTime.makeZonedUnsafe("2024-01-01T12:30:45.123Z", {
2685
+ * timeZone: "Europe/London"
2686
+ * })
2687
+ * console.log(DateTime.formatIso(zoned)) // "2024-01-01T12:30:45.123Z"
2688
+ * ```
2689
+ *
2690
+ * @category formatting
2691
+ * @since 3.6.0
2692
+ */
2693
+ export const formatIso: (self: DateTime) => string = Internal.formatIso
2694
+
2695
+ /**
2696
+ * Formats a `DateTime` as a time zone adjusted ISO date string.
2697
+ *
2698
+ * **Details**
2699
+ *
2700
+ * Returns only the date part (YYYY-MM-DD) after applying time zone adjustments.
2701
+ *
2702
+ * **Example** (Formatting DateTime values as ISO dates)
2703
+ *
2704
+ * ```ts
2705
+ * import { DateTime } from "effect"
2706
+ *
2707
+ * const dt = DateTime.makeUnsafe("2024-01-01T23:30:00Z")
2708
+ * console.log(DateTime.formatIsoDate(dt)) // "2024-01-01"
2709
+ *
2710
+ * const zoned = DateTime.makeZonedUnsafe("2024-01-01T23:30:00Z", {
2711
+ * timeZone: "Pacific/Auckland" // UTC+12/13
2712
+ * })
2713
+ * console.log(DateTime.formatIsoDate(zoned)) // "2024-01-02" (next day in Auckland)
2714
+ * ```
2715
+ *
2716
+ * @category formatting
2717
+ * @since 3.6.0
2718
+ */
2719
+ export const formatIsoDate: (self: DateTime) => string = Internal.formatIsoDate
2720
+
2721
+ /**
2722
+ * Formats a `DateTime` as a UTC ISO date string.
2723
+ *
2724
+ * **Details**
2725
+ *
2726
+ * Returns only the date part (YYYY-MM-DD) in UTC, ignoring any time zone.
2727
+ *
2728
+ * **Example** (Formatting DateTime values as UTC ISO dates)
2729
+ *
2730
+ * ```ts
2731
+ * import { DateTime } from "effect"
2732
+ *
2733
+ * const dt = DateTime.makeUnsafe("2024-01-01T23:30:00Z")
2734
+ * console.log(DateTime.formatIsoDateUtc(dt)) // "2024-01-01"
2735
+ *
2736
+ * const zoned = DateTime.makeZonedUnsafe("2024-01-01T23:30:00Z", {
2737
+ * timeZone: "Pacific/Auckland"
2738
+ * })
2739
+ * console.log(DateTime.formatIsoDateUtc(zoned)) // "2024-01-01" (always UTC)
2740
+ * ```
2741
+ *
2742
+ * @category formatting
2743
+ * @since 3.6.0
2744
+ */
2745
+ export const formatIsoDateUtc: (self: DateTime) => string = Internal.formatIsoDateUtc
2746
+
2747
+ /**
2748
+ * Formats a `DateTime.Zoned` as an ISO string with an offset.
2749
+ *
2750
+ * **Details**
2751
+ *
2752
+ * For `DateTime.Utc`, returns the same as `formatIso`. For `DateTime.Zoned`,
2753
+ * includes the time zone offset in the format.
2754
+ *
2755
+ * **Example** (Formatting DateTime values with offsets)
2756
+ *
2757
+ * ```ts
2758
+ * import { DateTime } from "effect"
2759
+ *
2760
+ * const utc = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
2761
+ * console.log(DateTime.formatIsoOffset(utc)) // "2024-01-01T12:00:00.000Z"
2762
+ *
2763
+ * const zoned = DateTime.makeZonedUnsafe("2024-01-01T12:00:00Z", {
2764
+ * timeZone: DateTime.zoneMakeOffset(3 * 60 * 60 * 1000)
2765
+ * })
2766
+ * console.log(DateTime.formatIsoOffset(zoned)) // "2024-01-01T15:00:00.000+03:00"
2767
+ * ```
2768
+ *
2769
+ * @category formatting
2770
+ * @since 3.6.0
2771
+ */
2772
+ export const formatIsoOffset: (self: DateTime) => string = Internal.formatIsoOffset
2773
+
2774
+ /**
2775
+ * Formats a `DateTime.Zoned` as a string.
2776
+ *
2777
+ * **Details**
2778
+ *
2779
+ * It uses the format: `YYYY-MM-DDTHH:mm:ss.sss+HH:MM[Time/Zone]`.
2780
+ *
2781
+ * **Example** (Formatting zoned DateTime values)
2782
+ *
2783
+ * ```ts
2784
+ * import { DateTime } from "effect"
2785
+ *
2786
+ * const zoned = DateTime.makeZonedUnsafe("2024-06-15T14:30:45.123Z", {
2787
+ * timeZone: "Europe/London"
2788
+ * })
2789
+ *
2790
+ * const formatted = DateTime.formatIsoZoned(zoned)
2791
+ * console.log(formatted) // "2024-06-15T15:30:45.123+01:00[Europe/London]"
2792
+ *
2793
+ * const offsetZone = DateTime.makeZonedUnsafe("2024-06-15T14:30:45.123Z", {
2794
+ * timeZone: DateTime.zoneMakeOffset(3 * 60 * 60 * 1000)
2795
+ * })
2796
+ *
2797
+ * const offsetFormatted = DateTime.formatIsoZoned(offsetZone)
2798
+ * console.log(offsetFormatted) // "2024-06-15T17:30:45.123+03:00"
2799
+ * ```
2800
+ *
2801
+ * @category formatting
2802
+ * @since 3.6.0
2803
+ */
2804
+ export const formatIsoZoned: (self: Zoned) => string = Internal.formatIsoZoned
2805
+
2806
+ /**
2807
+ * Create a Layer from the given time zone.
2808
+ *
2809
+ * **Details**
2810
+ *
2811
+ * This layer provides the `CurrentTimeZone` service with the specified time zone.
2812
+ *
2813
+ * **Example** (Providing current time zone layers)
2814
+ *
2815
+ * ```ts
2816
+ * import { DateTime, Effect } from "effect"
2817
+ *
2818
+ * const zone = DateTime.zoneMakeNamedUnsafe("Europe/London")
2819
+ * const layer = DateTime.layerCurrentZone(zone)
2820
+ *
2821
+ * const program = Effect.gen(function*() {
2822
+ * const now = yield* DateTime.nowInCurrentZone
2823
+ * return DateTime.formatIsoZoned(now)
2824
+ * })
2825
+ *
2826
+ * // Use the layer to provide the time zone
2827
+ * Effect.provide(program, layer)
2828
+ * ```
2829
+ *
2830
+ * @category current time zone
2831
+ * @since 3.6.0
2832
+ */
2833
+ export const layerCurrentZone: (resource: NoInfer<TimeZone>) => Layer.Layer<CurrentTimeZone> = Layer.succeed(
2834
+ CurrentTimeZone
2835
+ )
2836
+
2837
+ /**
2838
+ * Create a Layer from the given time zone offset.
2839
+ *
2840
+ * **Details**
2841
+ *
2842
+ * This layer provides the `CurrentTimeZone` service with a fixed offset time zone.
2843
+ *
2844
+ * **Example** (Providing fixed-offset time zone layers)
2845
+ *
2846
+ * ```ts
2847
+ * import { DateTime, Effect } from "effect"
2848
+ *
2849
+ * // Create a layer for UTC+3
2850
+ * const layer = DateTime.layerCurrentZoneOffset(3 * 60 * 60 * 1000)
2851
+ *
2852
+ * const program = Effect.gen(function*() {
2853
+ * const now = yield* DateTime.nowInCurrentZone
2854
+ * return DateTime.formatIsoZoned(now)
2855
+ * })
2856
+ *
2857
+ * Effect.provide(program, layer)
2858
+ * ```
2859
+ *
2860
+ * @category current time zone
2861
+ * @since 3.6.0
2862
+ */
2863
+ export const layerCurrentZoneOffset = (offset: number): Layer.Layer<CurrentTimeZone> =>
2864
+ Layer.succeed(CurrentTimeZone)(Internal.zoneMakeOffset(offset))
2865
+
2866
+ /**
2867
+ * Create a Layer from the given IANA time zone identifier.
2868
+ *
2869
+ * **Details**
2870
+ *
2871
+ * This layer provides the `CurrentTimeZone` service with a named time zone.
2872
+ * If the time zone identifier is invalid, the layer will fail.
2873
+ *
2874
+ * **Example** (Providing named time zone layers)
2875
+ *
2876
+ * ```ts
2877
+ * import { DateTime, Effect } from "effect"
2878
+ *
2879
+ * const layer = DateTime.layerCurrentZoneNamed("Europe/London")
2880
+ *
2881
+ * const program = Effect.gen(function*() {
2882
+ * const now = yield* DateTime.nowInCurrentZone
2883
+ * return DateTime.formatIsoZoned(now)
2884
+ * })
2885
+ *
2886
+ * Effect.provide(program, layer)
2887
+ * ```
2888
+ *
2889
+ * @category current time zone
2890
+ * @since 3.6.0
2891
+ */
2892
+ export const layerCurrentZoneNamed: (zoneId: string) => Layer.Layer<
2893
+ CurrentTimeZone,
2894
+ IllegalArgumentError
2895
+ > = flow(Internal.zoneMakeNamedEffect, Layer.effect(CurrentTimeZone))
2896
+
2897
+ /**
2898
+ * Create a Layer from the system's local time zone.
2899
+ *
2900
+ * **Details**
2901
+ *
2902
+ * This layer provides the `CurrentTimeZone` service using the system's
2903
+ * configured local time zone.
2904
+ *
2905
+ * **Example** (Providing local time zone layers)
2906
+ *
2907
+ * ```ts
2908
+ * import { DateTime, Effect } from "effect"
2909
+ *
2910
+ * const program = Effect.gen(function*() {
2911
+ * const now = yield* DateTime.nowInCurrentZone
2912
+ * return DateTime.formatIsoZoned(now)
2913
+ * })
2914
+ *
2915
+ * // Use the system's local time zone
2916
+ * Effect.provide(program, DateTime.layerCurrentZoneLocal)
2917
+ * ```
2918
+ *
2919
+ * @category current time zone
2920
+ * @since 3.6.0
2921
+ */
2922
+ export const layerCurrentZoneLocal: Layer.Layer<CurrentTimeZone> = Layer.sync(CurrentTimeZone)(zoneMakeLocal)