@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,2193 @@
1
+ /**
2
+ * Defines the shared parameter model for CLI arguments and flags.
3
+ *
4
+ * A `Param<Kind, A>` describes how to consume parsed command-line input and
5
+ * return a typed value. The `Kind` decides whether the parameter reads
6
+ * positional arguments or named flags. `Argument` and `Flag` build on this
7
+ * module to share parsing structure, primitive constructors, help metadata,
8
+ * aliases, defaults, prompts, configuration fallbacks, validation, schema
9
+ * decoding, fallback parameters, and traversal helpers.
10
+ *
11
+ * @since 4.0.0
12
+ */
13
+ import * as Config from "../../Config.ts"
14
+ import * as Effect from "../../Effect.ts"
15
+ import type * as FileSystem from "../../FileSystem.ts"
16
+ import { dual, identity } from "../../Function.ts"
17
+ import * as Option from "../../Option.ts"
18
+ import type * as Path from "../../Path.ts"
19
+ import { type Pipeable, pipeArguments } from "../../Pipeable.ts"
20
+ import * as Predicate from "../../Predicate.ts"
21
+ import type * as Redacted from "../../Redacted.ts"
22
+ import * as Result from "../../Result.ts"
23
+ import * as Schema from "../../Schema.ts"
24
+ import type * as Terminal from "../../Terminal.ts"
25
+ import type { Covariant } from "../../Types.ts"
26
+ import type { ChildProcessSpawner } from "../process/ChildProcessSpawner.ts"
27
+ import * as CliError from "./CliError.ts"
28
+ import * as Primitive from "./Primitive.ts"
29
+ import * as Prompt from "./Prompt.ts"
30
+
31
+ const TypeId = "~effect/cli/Param"
32
+
33
+ /**
34
+ * Polymorphic CLI parameter shared by `Argument` and `Flag`.
35
+ *
36
+ * **Details**
37
+ *
38
+ * A parameter knows whether it consumes positional arguments or flags and
39
+ * parses a `ParsedArgs` value into its typed result.
40
+ *
41
+ * @category models
42
+ * @since 4.0.0
43
+ */
44
+ export interface Param<Kind extends ParamKind, out A> extends Param.Variance<A> {
45
+ readonly _tag: "Single" | "Map" | "Transform" | "Optional" | "Variadic"
46
+ readonly kind: Kind
47
+ readonly parse: Parse<A>
48
+ }
49
+
50
+ /**
51
+ * Discriminator for whether a `Param` parses positional arguments or
52
+ * command-line flags.
53
+ *
54
+ * @category models
55
+ * @since 4.0.0
56
+ */
57
+ export type ParamKind = "argument" | "flag"
58
+
59
+ /**
60
+ * Services that parameter parsing can require, such as filesystem, path,
61
+ * terminal, and child-process support.
62
+ *
63
+ * @category models
64
+ * @since 4.0.0
65
+ */
66
+ export type Environment = FileSystem.FileSystem | Path.Path | Terminal.Terminal | ChildProcessSpawner
67
+
68
+ /**
69
+ * Defines the kind discriminator for positional argument parameters.
70
+ *
71
+ * **When to use**
72
+ *
73
+ * Use to build low-level `Param` constructors or type positions for positional
74
+ * argument parameters.
75
+ *
76
+ * @see {@link flagKind} for the named flag parameter discriminator
77
+ * @see {@link ParamKind} for the full parameter kind union
78
+ *
79
+ * @category constants
80
+ * @since 4.0.0
81
+ */
82
+ export const argumentKind: "argument" = "argument" as const
83
+
84
+ /**
85
+ * Defines the kind discriminator for flag parameters.
86
+ *
87
+ * **When to use**
88
+ *
89
+ * Use to build low-level `Param` constructors or type positions for named flag
90
+ * parameters.
91
+ *
92
+ * @see {@link argumentKind} for the positional argument parameter discriminator
93
+ *
94
+ * @category constants
95
+ * @since 4.0.0
96
+ */
97
+ export const flagKind: "flag" = "flag" as const
98
+
99
+ /**
100
+ * Represents any parameter.
101
+ *
102
+ * @category models
103
+ * @since 4.0.0
104
+ */
105
+ export type Any = Param<ParamKind, unknown>
106
+
107
+ /**
108
+ * Represents any positional argument parameter.
109
+ *
110
+ * @category models
111
+ * @since 4.0.0
112
+ */
113
+ export type AnyArgument = Param<typeof argumentKind, unknown>
114
+
115
+ /**
116
+ * Represents any flag parameter.
117
+ *
118
+ * @category models
119
+ * @since 4.0.0
120
+ */
121
+ export type AnyFlag = Param<typeof flagKind, unknown>
122
+
123
+ /**
124
+ * Function type used by parameters to parse currently available flags and
125
+ * positional arguments.
126
+ *
127
+ * **Details**
128
+ *
129
+ * It returns the remaining positional arguments together with the parsed value,
130
+ * or fails with a `CliError` while requiring the CLI parsing environment.
131
+ *
132
+ * @category models
133
+ * @since 4.0.0
134
+ */
135
+ export type Parse<A> = (args: ParsedArgs) => Effect.Effect<
136
+ readonly [leftover: ReadonlyArray<string>, value: A],
137
+ CliError.CliError,
138
+ Environment
139
+ >
140
+
141
+ /**
142
+ * Namespace containing type-level utilities attached to the `Param` interface.
143
+ *
144
+ * @since 4.0.0
145
+ */
146
+ export declare namespace Param {
147
+ /**
148
+ * Variance and pipeability marker carried by every `Param` value.
149
+ *
150
+ * @category models
151
+ * @since 4.0.0
152
+ */
153
+ export interface Variance<out A> extends Pipeable {
154
+ readonly [TypeId]: {
155
+ readonly _A: Covariant<A>
156
+ }
157
+ }
158
+ }
159
+
160
+ /**
161
+ * Map of flag names to their provided string values.
162
+ * Multiple occurrences of a flag produce multiple values.
163
+ *
164
+ * @category models
165
+ * @since 4.0.0
166
+ */
167
+ export type Flags = Record<string, ReadonlyArray<string>>
168
+
169
+ /**
170
+ * Input context passed to `Param.parse` implementations.
171
+ * - `flags`: already-collected flag values by canonical flag name
172
+ * - `arguments`: remaining positional arguments to be consumed
173
+ *
174
+ * @category models
175
+ * @since 4.0.0
176
+ */
177
+ export interface ParsedArgs {
178
+ readonly flags: Flags
179
+ readonly arguments: ReadonlyArray<string>
180
+ }
181
+
182
+ /**
183
+ * Represents a fallback prompt that can either be provided directly or
184
+ * computed effectfully when the parameter is missing.
185
+ *
186
+ * @category models
187
+ * @since 4.0.0
188
+ */
189
+ export type FallbackPrompt<A> =
190
+ | Prompt.Prompt<A>
191
+ | Effect.Effect<Prompt.Prompt<A>, CliError.CliError, Environment>
192
+
193
+ /**
194
+ * Leaf parameter that reads one named argument or flag with a primitive parser.
195
+ *
196
+ * **Details**
197
+ *
198
+ * Single parameters carry the user-facing name, aliases, description, primitive
199
+ * type, and optional metavar/type name used in help output.
200
+ *
201
+ * @category models
202
+ * @since 4.0.0
203
+ */
204
+ export interface Single<Kind extends ParamKind, out A> extends Param<Kind, A> {
205
+ readonly _tag: "Single"
206
+ readonly kind: Kind
207
+ readonly name: string
208
+ readonly description: Option.Option<string>
209
+ readonly aliases: ReadonlyArray<string>
210
+ readonly primitiveType: Primitive.Primitive<A>
211
+ readonly typeName?: string | undefined
212
+ readonly hidden: boolean
213
+ }
214
+
215
+ /**
216
+ * Parameter node that maps the successfully parsed value of another parameter
217
+ * with a pure function.
218
+ *
219
+ * @category models
220
+ * @since 4.0.0
221
+ */
222
+ export interface Map<Kind extends ParamKind, in out A, out B> extends Param<Kind, B> {
223
+ readonly _tag: "Map"
224
+ readonly kind: Kind
225
+ readonly param: Param<Kind, A>
226
+ readonly f: (value: A) => B
227
+ }
228
+
229
+ /**
230
+ * Parameter node that rewrites another parameter's parser, allowing effectful
231
+ * validation, fallback behavior, or error translation while preserving the same
232
+ * parameter kind.
233
+ *
234
+ * @category models
235
+ * @since 4.0.0
236
+ */
237
+ export interface Transform<Kind extends ParamKind, in out A, out B> extends Param<Kind, B> {
238
+ readonly _tag: "Transform"
239
+ readonly kind: Kind
240
+ readonly param: Param<Kind, A>
241
+ readonly f: (parse: Parse<A>) => Parse<B>
242
+ }
243
+
244
+ /**
245
+ * Parameter node that turns a missing argument or flag into `Option.none()` and
246
+ * a present parsed value into `Option.some(value)`.
247
+ *
248
+ * @category models
249
+ * @since 4.0.0
250
+ */
251
+ export interface Optional<Kind extends ParamKind, A> extends Param<Kind, Option.Option<A>> {
252
+ readonly _tag: "Optional"
253
+ readonly kind: Kind
254
+ readonly param: Param<Kind, A>
255
+ }
256
+
257
+ /**
258
+ * Parameter node that parses another parameter zero or more times and returns
259
+ * all parsed values as an array, respecting optional minimum and maximum
260
+ * occurrence bounds.
261
+ *
262
+ * @category models
263
+ * @since 4.0.0
264
+ */
265
+ export interface Variadic<Kind extends ParamKind, A> extends Param<Kind, ReadonlyArray<A>> {
266
+ readonly _tag: "Variadic"
267
+ readonly kind: Kind
268
+ readonly param: Param<Kind, A>
269
+ readonly min: Option.Option<number>
270
+ readonly max: Option.Option<number>
271
+ }
272
+
273
+ const Proto = {
274
+ [TypeId]: {
275
+ _A: identity
276
+ },
277
+ pipe() {
278
+ return pipeArguments(this, arguments)
279
+ }
280
+ }
281
+
282
+ /**
283
+ * Type guard to check if a value is a Param.
284
+ *
285
+ * **Example** (Checking for params)
286
+ *
287
+ * ```ts
288
+ * import { Param } from "effect/unstable/cli"
289
+ *
290
+ * // @internal - this module is not exported publicly
291
+ *
292
+ * const maybeParam = Param.string(Param.flagKind, "name")
293
+ *
294
+ * if (Param.isParam(maybeParam)) {
295
+ * console.log("This is a Param")
296
+ * }
297
+ * ```
298
+ *
299
+ * @category refinements
300
+ * @since 4.0.0
301
+ */
302
+ export const isParam = (u: unknown): u is Param<any, ParamKind> => Predicate.hasProperty(u, TypeId)
303
+
304
+ /**
305
+ * Type guard to check if a param is a Single param (not composed).
306
+ *
307
+ * **Example** (Checking for single params)
308
+ *
309
+ * ```ts
310
+ * import { Param } from "effect/unstable/cli"
311
+ *
312
+ * // @internal - this module is not exported publicly
313
+ *
314
+ * const nameParam = Param.string(Param.flagKind, "name")
315
+ * const optionalParam = Param.optional(nameParam)
316
+ *
317
+ * console.log(Param.isSingle(nameParam)) // true
318
+ * console.log(Param.isSingle(optionalParam)) // false
319
+ * ```
320
+ *
321
+ * @category refinements
322
+ * @since 4.0.0
323
+ */
324
+ export const isSingle = <const Kind extends ParamKind, A>(
325
+ param: Param<Kind, A>
326
+ ): param is Single<Kind, A> => Predicate.isTagged(param, "Single")
327
+
328
+ /**
329
+ * Type guard to check if a Single param is a flag (not an argument).
330
+ *
331
+ * @internal
332
+ */
333
+ export const isFlagParam = <A>(
334
+ single: Single<ParamKind, A>
335
+ ): single is Single<typeof flagKind, A> => single.kind === "flag"
336
+
337
+ /**
338
+ * Constructs a leaf `Single` parameter from its kind, name, primitive parser,
339
+ * and optional help metadata.
340
+ *
341
+ * **Details**
342
+ *
343
+ * The returned parser reads either one positional argument or the named flag,
344
+ * depending on `kind`.
345
+ *
346
+ * @category constructors
347
+ * @since 4.0.0
348
+ */
349
+ export const makeSingle = <const Kind extends ParamKind, A>(params: {
350
+ readonly kind: Kind
351
+ readonly name: string
352
+ readonly primitiveType: Primitive.Primitive<A>
353
+ readonly typeName?: string | undefined
354
+ readonly description?: Option.Option<string> | undefined
355
+ readonly aliases?: ReadonlyArray<string> | undefined
356
+ readonly hidden?: boolean | undefined
357
+ }): Single<Kind, A> => {
358
+ const parse: Parse<A> = (args) =>
359
+ params.kind === argumentKind
360
+ ? parsePositional(params.name, params.primitiveType, args)
361
+ : parseFlag(params.name, params.primitiveType, args)
362
+ return Object.assign(Object.create(Proto), {
363
+ _tag: "Single",
364
+ ...params,
365
+ description: params.description ?? Option.none(),
366
+ aliases: params.aliases ?? [],
367
+ hidden: params.hidden ?? false,
368
+ parse
369
+ })
370
+ }
371
+
372
+ /**
373
+ * Creates a string parameter.
374
+ *
375
+ * **Example** (Creating string parameters)
376
+ *
377
+ * ```ts
378
+ * import { Param } from "effect/unstable/cli"
379
+ *
380
+ * // @internal - this module is not exported publicly
381
+ *
382
+ * // Create a string flag
383
+ * const nameFlag = Param.string(Param.flagKind, "name")
384
+ *
385
+ * // Create a string argument
386
+ * const fileArg = Param.string(Param.argumentKind, "file")
387
+ *
388
+ * // Usage in CLI: --name "John Doe" or as positional argument
389
+ * ```
390
+ *
391
+ * @category constructors
392
+ * @since 4.0.0
393
+ */
394
+ export const string = <const Kind extends ParamKind>(
395
+ kind: Kind,
396
+ name: string
397
+ ): Param<Kind, string> =>
398
+ makeSingle({
399
+ name,
400
+ primitiveType: Primitive.string,
401
+ kind
402
+ })
403
+
404
+ /**
405
+ * Creates a boolean parameter.
406
+ *
407
+ * **Example** (Creating boolean parameters)
408
+ *
409
+ * ```ts
410
+ * import { Param } from "effect/unstable/cli"
411
+ *
412
+ * // @internal - this module is not exported publicly
413
+ *
414
+ * // Create a boolean flag
415
+ * const verboseFlag = Param.boolean(Param.flagKind, "verbose")
416
+ *
417
+ * // Create a boolean argument
418
+ * const enableArg = Param.boolean(Param.argumentKind, "enable")
419
+ *
420
+ * // Usage in CLI: --verbose (defaults to true when present, false when absent)
421
+ * // or as positional: true/false
422
+ * ```
423
+ *
424
+ * @category constructors
425
+ * @since 4.0.0
426
+ */
427
+ export const boolean = <const Kind extends ParamKind>(
428
+ kind: Kind,
429
+ name: string
430
+ ): Param<Kind, boolean> =>
431
+ makeSingle({
432
+ name,
433
+ primitiveType: Primitive.boolean,
434
+ kind
435
+ })
436
+
437
+ /**
438
+ * Creates an integer parameter.
439
+ *
440
+ * **Example** (Creating integer parameters)
441
+ *
442
+ * ```ts
443
+ * import { Param } from "effect/unstable/cli"
444
+ *
445
+ * // @internal - this module is not exported publicly
446
+ *
447
+ * // Create an integer flag
448
+ * const portFlag = Param.integer(Param.flagKind, "port")
449
+ *
450
+ * // Create an integer argument
451
+ * const countArg = Param.integer(Param.argumentKind, "count")
452
+ *
453
+ * // Usage in CLI: --port 8080 or as positional argument: 42
454
+ * ```
455
+ *
456
+ * @category constructors
457
+ * @since 4.0.0
458
+ */
459
+ export const integer = <const Kind extends ParamKind>(
460
+ kind: Kind,
461
+ name: string
462
+ ): Param<Kind, number> =>
463
+ makeSingle({
464
+ name,
465
+ primitiveType: Primitive.integer,
466
+ kind
467
+ })
468
+
469
+ /**
470
+ * Creates a floating-point number parameter.
471
+ *
472
+ * **Example** (Creating float parameters)
473
+ *
474
+ * ```ts
475
+ * import { Param } from "effect/unstable/cli"
476
+ *
477
+ * // @internal - this module is not exported publicly
478
+ *
479
+ * // Create a float flag
480
+ * const rateFlag = Param.float(Param.flagKind, "rate")
481
+ *
482
+ * // Create a float argument
483
+ * const thresholdArg = Param.float(Param.argumentKind, "threshold")
484
+ *
485
+ * // Usage in CLI: --rate 0.95 or as positional argument: 3.14159
486
+ * ```
487
+ *
488
+ * @category constructors
489
+ * @since 4.0.0
490
+ */
491
+ export const float = <const Kind extends ParamKind>(
492
+ kind: Kind,
493
+ name: string
494
+ ): Param<Kind, number> =>
495
+ makeSingle({
496
+ name,
497
+ primitiveType: Primitive.float,
498
+ kind
499
+ })
500
+
501
+ /**
502
+ * Creates a date parameter that parses ISO date strings.
503
+ *
504
+ * **Example** (Creating date parameters)
505
+ *
506
+ * ```ts
507
+ * import { Param } from "effect/unstable/cli"
508
+ *
509
+ * // @internal - this module is not exported publicly
510
+ *
511
+ * // Create a date flag
512
+ * const startFlag = Param.date(Param.flagKind, "start-date")
513
+ *
514
+ * // Create a date argument
515
+ * const dueDateArg = Param.date(Param.argumentKind, "due-date")
516
+ *
517
+ * // Usage in CLI: --start-date "2023-12-25" or as positional: "2023-01-01"
518
+ * // Parses to JavaScript Date object
519
+ * ```
520
+ *
521
+ * @category constructors
522
+ * @since 4.0.0
523
+ */
524
+ export const date = <const Kind extends ParamKind>(
525
+ kind: Kind,
526
+ name: string
527
+ ): Param<Kind, Date> =>
528
+ makeSingle({
529
+ name,
530
+ primitiveType: Primitive.date,
531
+ kind
532
+ })
533
+
534
+ /**
535
+ * Constructs command-line params that represent a choice between several
536
+ * inputs. The input will be mapped to it's associated value during parsing.
537
+ *
538
+ * **Example** (Creating valued choices)
539
+ *
540
+ * ```ts
541
+ * import { Param } from "effect/unstable/cli"
542
+ *
543
+ * // @internal - this module is not exported publicly
544
+ *
545
+ * type Animal = Dog | Cat
546
+ *
547
+ * interface Dog {
548
+ * readonly _tag: "Dog"
549
+ * }
550
+ *
551
+ * interface Cat {
552
+ * readonly _tag: "Cat"
553
+ * }
554
+ *
555
+ * const animal = Param.choiceWithValue(Param.flagKind, "animal", [
556
+ * ["dog", { _tag: "Dog" }],
557
+ * ["cat", { _tag: "Cat" }]
558
+ * ])
559
+ * ```
560
+ *
561
+ * @category constructors
562
+ * @since 4.0.0
563
+ */
564
+ export const choiceWithValue = <
565
+ const Kind extends ParamKind,
566
+ const Choices extends ReadonlyArray<readonly [string, any]>
567
+ >(kind: Kind, name: string, choices: Choices): Param<Kind, Choices[number][1]> =>
568
+ makeSingle({
569
+ name,
570
+ primitiveType: Primitive.choice(choices),
571
+ kind
572
+ })
573
+
574
+ /**
575
+ * Constructs command-line params that represent a choice between several
576
+ * string inputs.
577
+ *
578
+ * **Example** (Creating string choices)
579
+ *
580
+ * ```ts
581
+ * import { Param } from "effect/unstable/cli"
582
+ *
583
+ * // @internal - this module is not exported publicly
584
+ *
585
+ * const logLevel = Param.choice(Param.flagKind, "log-level", [
586
+ * "debug",
587
+ * "info",
588
+ * "warn",
589
+ * "error"
590
+ * ])
591
+ * ```
592
+ *
593
+ * @category constructors
594
+ * @since 4.0.0
595
+ */
596
+ export const choice = <
597
+ const Kind extends ParamKind,
598
+ const Choices extends ReadonlyArray<string>
599
+ >(kind: Kind, name: string, choices: Choices): Param<Kind, Choices[number]> => {
600
+ const mappedChoices = choices.map((value) => [value, value] as const)
601
+ return choiceWithValue(kind, name, mappedChoices)
602
+ }
603
+
604
+ /**
605
+ * Creates a path parameter that accepts file or directory paths.
606
+ *
607
+ * **Example** (Creating path parameters)
608
+ *
609
+ * ```ts
610
+ * import { Param } from "effect/unstable/cli"
611
+ *
612
+ * // @internal - this module is not exported publicly
613
+ *
614
+ * // Basic path parameter
615
+ * const outputPath = Param.path(Param.flagKind, "output")
616
+ *
617
+ * // Path that must exist
618
+ * const inputPath = Param.path(Param.flagKind, "input", { mustExist: true })
619
+ *
620
+ * // File-only path
621
+ * const configFile = Param.path(Param.flagKind, "config", {
622
+ * pathType: "file",
623
+ * mustExist: true,
624
+ * typeName: "config-file"
625
+ * })
626
+ * ```
627
+ *
628
+ * @category constructors
629
+ * @since 4.0.0
630
+ */
631
+ export const path = <Kind extends ParamKind>(
632
+ kind: Kind,
633
+ name: string,
634
+ options?: {
635
+ readonly pathType?: Primitive.PathType | undefined
636
+ readonly mustExist?: boolean | undefined
637
+ readonly typeName?: string | undefined
638
+ }
639
+ ): Param<Kind, string> =>
640
+ makeSingle({
641
+ name,
642
+ kind,
643
+ primitiveType: Primitive.path(options?.pathType ?? "either", options?.mustExist),
644
+ typeName: options?.typeName
645
+ })
646
+
647
+ /**
648
+ * Creates a directory path parameter.
649
+ *
650
+ * **Details**
651
+ *
652
+ * This is a convenience function that creates a path parameter with the
653
+ * `pathType` set to `"directory"` and a default type name of `"directory"`.
654
+ *
655
+ * **Example** (Creating directory parameters)
656
+ *
657
+ * ```ts
658
+ * import { Param } from "effect/unstable/cli"
659
+ *
660
+ * // @internal - this module is not exported publicly
661
+ *
662
+ * // Basic directory parameter
663
+ * const outputDir = Param.directory(Param.flagKind, "output-dir")
664
+ *
665
+ * // Directory that must exist
666
+ * const sourceDir = Param.directory(Param.flagKind, "source", { mustExist: true })
667
+ *
668
+ * // Usage: --output-dir /path/to/dir --source /existing/dir
669
+ * ```
670
+ *
671
+ * @category constructors
672
+ * @since 4.0.0
673
+ */
674
+ export const directory = <Kind extends ParamKind>(
675
+ kind: Kind,
676
+ name: string,
677
+ options?: {
678
+ readonly mustExist?: boolean | undefined
679
+ }
680
+ ): Param<Kind, string> =>
681
+ path(kind, name, {
682
+ pathType: "directory",
683
+ typeName: "directory",
684
+ mustExist: options?.mustExist
685
+ })
686
+
687
+ /**
688
+ * Creates a file path parameter.
689
+ *
690
+ * **Details**
691
+ *
692
+ * This is a convenience function that creates a path parameter with a
693
+ * `pathType` set to `"file"` and a default type name of `"file"`.
694
+ *
695
+ * **Example** (Creating file parameters)
696
+ *
697
+ * ```ts
698
+ * import { Param } from "effect/unstable/cli"
699
+ *
700
+ * // @internal - this module is not exported publicly
701
+ *
702
+ * // Basic file parameter
703
+ * const outputFile = Param.file(Param.flagKind, "output")
704
+ *
705
+ * // File that must exist
706
+ * const inputFile = Param.file(Param.flagKind, "input", { mustExist: true })
707
+ *
708
+ * // Usage: --output result.txt --input existing-file.txt
709
+ * ```
710
+ *
711
+ * @category constructors
712
+ * @since 4.0.0
713
+ */
714
+ export const file = <Kind extends ParamKind>(
715
+ kind: Kind,
716
+ name: string,
717
+ options?: {
718
+ readonly mustExist?: boolean | undefined
719
+ }
720
+ ): Param<Kind, string> =>
721
+ path(kind, name, {
722
+ pathType: "file",
723
+ typeName: "file",
724
+ mustExist: options?.mustExist
725
+ })
726
+
727
+ /**
728
+ * Creates a redacted parameter for sensitive data like passwords.
729
+ * The value is masked in help output and logging.
730
+ *
731
+ * **Example** (Creating redacted parameters)
732
+ *
733
+ * ```ts
734
+ * import { Param } from "effect/unstable/cli"
735
+ *
736
+ * // @internal - this module is not exported publicly
737
+ *
738
+ * // Create a password parameter
739
+ * const password = Param.redacted(Param.flagKind, "password")
740
+ *
741
+ * // Create an API key argument
742
+ * const apiKey = Param.redacted(Param.argumentKind, "api-key")
743
+ *
744
+ * // Usage: --password (value will be hidden in help/logs)
745
+ * ```
746
+ *
747
+ * @category constructors
748
+ * @since 4.0.0
749
+ */
750
+ export const redacted = <Kind extends ParamKind>(
751
+ kind: Kind,
752
+ name: string
753
+ ): Param<Kind, Redacted.Redacted<string>> =>
754
+ makeSingle({
755
+ name,
756
+ primitiveType: Primitive.redacted,
757
+ kind
758
+ })
759
+
760
+ /**
761
+ * Creates a parameter that reads and returns file content as a string.
762
+ *
763
+ * **Example** (Reading file text)
764
+ *
765
+ * ```ts
766
+ * import { Param } from "effect/unstable/cli"
767
+ *
768
+ * // @internal - this module is not exported publicly
769
+ *
770
+ * // Read a config file as string
771
+ * const configContent = Param.fileText(Param.flagKind, "config")
772
+ *
773
+ * // Read a template file as argument
774
+ * const templateContent = Param.fileText(Param.argumentKind, "template")
775
+ *
776
+ * // Usage: --config config.txt (reads file content into string)
777
+ * ```
778
+ *
779
+ * @category constructors
780
+ * @since 4.0.0
781
+ */
782
+ export const fileText = <Kind extends ParamKind>(kind: Kind, name: string): Param<Kind, string> =>
783
+ makeSingle({
784
+ name,
785
+ primitiveType: Primitive.fileText,
786
+ kind
787
+ })
788
+
789
+ /**
790
+ * Creates a param that reads and parses the content of the specified file.
791
+ *
792
+ * **Details**
793
+ *
794
+ * The parser that is utilized will depend on the specified `format`, or the
795
+ * extension of the file passed on the command-line if no `format` is specified.
796
+ *
797
+ * **Example** (Parsing file contents)
798
+ *
799
+ * ```ts
800
+ * import { Param } from "effect/unstable/cli"
801
+ *
802
+ * // @internal - this module is not exported publicly
803
+ *
804
+ * // Will use the extension of the file passed on the command line to determine
805
+ * // the parser to use
806
+ * const config = Param.fileParse(Param.flagKind, "config")
807
+ *
808
+ * // Will use the JSON parser
809
+ * const jsonConfig = Param.fileParse(Param.flagKind, "json-config", {
810
+ * format: "json"
811
+ * })
812
+ * ```
813
+ *
814
+ * @category constructors
815
+ * @since 4.0.0
816
+ */
817
+ export const fileParse = <Kind extends ParamKind>(
818
+ kind: Kind,
819
+ name: string,
820
+ options?: Primitive.FileParseOptions | undefined
821
+ ): Param<Kind, unknown> =>
822
+ makeSingle({
823
+ name,
824
+ primitiveType: Primitive.fileParse(options),
825
+ kind
826
+ })
827
+
828
+ /**
829
+ * Creates a parameter that reads and validates file content using a schema.
830
+ *
831
+ * **Example** (Validating file contents)
832
+ *
833
+ * ```ts
834
+ * import { Schema } from "effect"
835
+ * import { Param } from "effect/unstable/cli"
836
+ * // @internal - this module is not exported publicly
837
+ *
838
+ * // Parse JSON config file
839
+ * const configSchema = Schema.Struct({
840
+ * port: Schema.Number,
841
+ * host: Schema.String
842
+ * })
843
+ *
844
+ * const config = Param.fileSchema(Param.flagKind, "config", configSchema, {
845
+ * format: "json"
846
+ * })
847
+ *
848
+ * // Parse YAML file
849
+ * const yamlConfig = Param.fileSchema(Param.flagKind, "config", configSchema, {
850
+ * format: "yaml"
851
+ * })
852
+ *
853
+ * // Usage: --config config.json (reads and validates file content)
854
+ * ```
855
+ *
856
+ * @category constructors
857
+ * @since 4.0.0
858
+ */
859
+ export const fileSchema = <Kind extends ParamKind, A>(
860
+ kind: Kind,
861
+ name: string,
862
+ schema: Schema.Decoder<A>,
863
+ options?: Primitive.FileSchemaOptions | undefined
864
+ ): Param<Kind, A> =>
865
+ makeSingle({
866
+ name,
867
+ primitiveType: Primitive.fileSchema(schema, options),
868
+ kind
869
+ })
870
+
871
+ /**
872
+ * Creates a param that parses key=value pairs.
873
+ *
874
+ * **When to use**
875
+ *
876
+ * Use when you need command-line options or arguments that collect `key=value`
877
+ * configuration entries.
878
+ *
879
+ * **Details**
880
+ *
881
+ * Requires at least one key=value pair. The parsed pairs are merged into a
882
+ * single record object.
883
+ *
884
+ * **Example** (Parsing key-value pairs)
885
+ *
886
+ * ```ts
887
+ * import { Param } from "effect/unstable/cli"
888
+ *
889
+ * // @internal - this module is not exported publicly
890
+ *
891
+ * const env = Param.keyValuePair(Param.flagKind, "env")
892
+ * // --env FOO=bar --env BAZ=qux will parse to { FOO: "bar", BAZ: "qux" }
893
+ *
894
+ * const props = Param.keyValuePair(Param.flagKind, "property")
895
+ * // --property name=value --property debug=true
896
+ * ```
897
+ *
898
+ * @category constructors
899
+ * @since 4.0.0
900
+ */
901
+ export const keyValuePair = <Kind extends ParamKind>(
902
+ kind: Kind,
903
+ name: string
904
+ ): Param<Kind, Record<string, string>> =>
905
+ map(
906
+ variadic(
907
+ makeSingle({
908
+ name,
909
+ primitiveType: Primitive.keyValuePair,
910
+ kind
911
+ }),
912
+ { min: 1 }
913
+ ),
914
+ (objects) => Object.assign({}, ...objects)
915
+ )
916
+
917
+ /**
918
+ * Creates an empty sentinel parameter that always fails to parse.
919
+ *
920
+ * **When to use**
921
+ *
922
+ * Use when you need an empty CLI parameter sentinel for optional parameter
923
+ * construction or internal combinators.
924
+ *
925
+ * **Example** (Creating sentinel parameters)
926
+ *
927
+ * ```ts
928
+ * import { Param } from "effect/unstable/cli"
929
+ *
930
+ * // @internal - this module is not exported publicly
931
+ *
932
+ * const disabledDebugParam = Param.none(Param.flagKind)
933
+ *
934
+ * const makeDebugParam = (enableDebug: boolean) =>
935
+ * enableDebug ? Param.string(Param.flagKind, "debug") : disabledDebugParam
936
+ *
937
+ * console.log(makeDebugParam(true) === disabledDebugParam) // false
938
+ * console.log(makeDebugParam(false) === disabledDebugParam) // true
939
+ * ```
940
+ *
941
+ * @category constructors
942
+ * @since 4.0.0
943
+ */
944
+ export const none = <Kind extends ParamKind>(kind: Kind): Param<Kind, never> =>
945
+ makeSingle({
946
+ name: "__none__",
947
+ primitiveType: Primitive.none,
948
+ kind
949
+ })
950
+
951
+ const FLAG_DASH_REGEXP = /^-+/
952
+
953
+ /**
954
+ * Adds an alias to an option.
955
+ *
956
+ * **When to use**
957
+ *
958
+ * Use when you need a CLI parameter to accept an alternate name, such as "-f"
959
+ * for "--force".
960
+ *
961
+ * **Details**
962
+ *
963
+ * This works on any param structure by recursively finding the underlying
964
+ * `Single` node and applying the alias there.
965
+ *
966
+ * **Example** (Adding parameter aliases)
967
+ *
968
+ * ```ts
969
+ * import { Param } from "effect/unstable/cli"
970
+ *
971
+ * // @internal - this module is not exported publicly
972
+ *
973
+ * const force = Param.boolean(Param.flagKind, "force").pipe(
974
+ * Param.withAlias("-f"),
975
+ * Param.withAlias("-F")
976
+ * )
977
+ *
978
+ * // Also works on composed params:
979
+ * const count = Param.integer(Param.flagKind, "count").pipe(
980
+ * Param.optional,
981
+ * Param.withAlias("-c") // finds the underlying Single and adds alias
982
+ * )
983
+ * ```
984
+ *
985
+ * @category combinators
986
+ * @since 4.0.0
987
+ */
988
+ export const withAlias: {
989
+ <Kind extends ParamKind, A>(alias: string): (self: Param<Kind, A>) => Param<Kind, A>
990
+ <Kind extends ParamKind, A>(self: Param<Kind, A>, alias: string): Param<Kind, A>
991
+ } = dual(2, <Kind extends ParamKind, A>(self: Param<Kind, A>, alias: string) => {
992
+ return transformSingle(self, <X>(single: Single<Kind, X>) =>
993
+ makeSingle({
994
+ ...single,
995
+ aliases: [...single.aliases, alias.replace(FLAG_DASH_REGEXP, "")]
996
+ }))
997
+ })
998
+
999
+ /**
1000
+ * Adds a description to an option for help text.
1001
+ *
1002
+ * **Details**
1003
+ *
1004
+ * Descriptions provide users with information about what the option does
1005
+ * when they view help documentation.
1006
+ *
1007
+ * **Example** (Adding help descriptions)
1008
+ *
1009
+ * ```ts
1010
+ * import { Param } from "effect/unstable/cli"
1011
+ *
1012
+ * // @internal - this module is not exported publicly
1013
+ *
1014
+ * const verbose = Param.boolean(Param.flagKind, "verbose").pipe(
1015
+ * Param.withAlias("-v"),
1016
+ * Param.withDescription("Enable verbose output")
1017
+ * )
1018
+ * ```
1019
+ *
1020
+ * @category combinators
1021
+ * @since 4.0.0
1022
+ */
1023
+ export const withDescription: {
1024
+ <Kind extends ParamKind, A>(description: string): (self: Param<Kind, A>) => Param<Kind, A>
1025
+ <Kind extends ParamKind, A>(self: Param<Kind, A>, description: string): Param<Kind, A>
1026
+ } = dual(2, <Kind extends ParamKind, A>(self: Param<Kind, A>, description: string) => {
1027
+ return transformSingle(self, <X>(single: Single<Kind, X>) =>
1028
+ makeSingle({
1029
+ ...single,
1030
+ description: Option.some(description)
1031
+ }))
1032
+ })
1033
+
1034
+ /**
1035
+ * Hides a parameter from generated help output and completions while keeping
1036
+ * it parseable on the command line.
1037
+ *
1038
+ * **When to use**
1039
+ *
1040
+ * Use when experimental, internal, or deprecated flags should be accepted but
1041
+ * not advertised.
1042
+ *
1043
+ * **Example** (Hiding a flag from help)
1044
+ *
1045
+ * ```ts
1046
+ * import { Param } from "effect/unstable/cli"
1047
+ *
1048
+ * // @internal - this module is not exported publicly
1049
+ *
1050
+ * const experimental = Param.boolean(Param.flagKind, "experimental-foo").pipe(
1051
+ * Param.withHidden
1052
+ * )
1053
+ * ```
1054
+ *
1055
+ * @category metadata
1056
+ * @since 4.0.0
1057
+ */
1058
+ export const withHidden = <Kind extends ParamKind, A>(self: Param<Kind, A>): Param<Kind, A> =>
1059
+ transformSingle(self, <X>(single: Single<Kind, X>) =>
1060
+ makeSingle({
1061
+ ...single,
1062
+ hidden: true
1063
+ }))
1064
+
1065
+ /**
1066
+ * Transforms the parsed value of an option using a mapping function.
1067
+ *
1068
+ * **Example** (Mapping parsed values)
1069
+ *
1070
+ * ```ts
1071
+ * import { Param } from "effect/unstable/cli"
1072
+ *
1073
+ * // @internal - this module is not exported publicly
1074
+ *
1075
+ * const port = Param.integer(Param.flagKind, "port").pipe(
1076
+ * Param.map((n) => ({ port: n, url: `http://localhost:${n}` }))
1077
+ * )
1078
+ * ```
1079
+ *
1080
+ * @category combinators
1081
+ * @since 4.0.0
1082
+ */
1083
+ export const map: {
1084
+ <A, B>(f: (a: A) => B): <Kind extends ParamKind>(self: Param<Kind, A>) => Param<Kind, B>
1085
+ <Kind extends ParamKind, A, B>(self: Param<Kind, A>, f: (a: A) => B): Param<Kind, B>
1086
+ } = dual(2, <Kind extends ParamKind, A, B>(self: Param<Kind, A>, f: (a: A) => B) => {
1087
+ const parse: Parse<B> = (args: ParsedArgs) =>
1088
+ Effect.map(
1089
+ self.parse(args),
1090
+ ([operands, value]) => [operands, f(value)] as const
1091
+ )
1092
+ return Object.assign(Object.create(Proto), {
1093
+ _tag: "Map",
1094
+ kind: self.kind,
1095
+ param: self,
1096
+ f,
1097
+ parse
1098
+ })
1099
+ })
1100
+
1101
+ const transform = <Kind extends ParamKind, A, B>(
1102
+ self: Param<Kind, A>,
1103
+ f: (parse: Parse<A>) => Parse<B>
1104
+ ) =>
1105
+ Object.assign(Object.create(Proto), {
1106
+ _tag: "Transform",
1107
+ kind: self.kind,
1108
+ param: self,
1109
+ f,
1110
+ parse: f(self.parse)
1111
+ })
1112
+
1113
+ /**
1114
+ * Transforms the parsed value of an option using an effectful mapping function.
1115
+ *
1116
+ * **Example** (Mapping parsed values effectfully)
1117
+ *
1118
+ * ```ts
1119
+ * import { Effect } from "effect"
1120
+ * import { CliError, Param } from "effect/unstable/cli"
1121
+ *
1122
+ * // @internal - this module is not exported publicly
1123
+ *
1124
+ * const validatedEmail = Param.string(Param.flagKind, "email").pipe(
1125
+ * Param.mapEffect((email) =>
1126
+ * email.includes("@")
1127
+ * ? Effect.succeed(email)
1128
+ * : Effect.fail(
1129
+ * new CliError.InvalidValue({
1130
+ * option: "email",
1131
+ * value: email,
1132
+ * expected: "valid email format",
1133
+ * kind: "flag"
1134
+ * })
1135
+ * )
1136
+ * )
1137
+ * )
1138
+ * ```
1139
+ *
1140
+ * @category combinators
1141
+ * @since 4.0.0
1142
+ */
1143
+ export const mapEffect: {
1144
+ <A, B>(
1145
+ f: (a: A) => Effect.Effect<B, CliError.CliError, Environment>
1146
+ ): <Kind extends ParamKind>(self: Param<Kind, A>) => Param<Kind, B>
1147
+ <Kind extends ParamKind, A, B>(
1148
+ self: Param<Kind, A>,
1149
+ f: (a: A) => Effect.Effect<B, CliError.CliError, Environment>
1150
+ ): Param<Kind, B>
1151
+ } = dual(2, <Kind extends ParamKind, A, B>(
1152
+ self: Param<Kind, A>,
1153
+ f: (a: A) => Effect.Effect<B, CliError.CliError, Environment>
1154
+ ) =>
1155
+ transform(
1156
+ self,
1157
+ (parse: Parse<A>) => (args: ParsedArgs) =>
1158
+ Effect.flatMap(parse(args), ([leftover, a]) =>
1159
+ f(a).pipe(
1160
+ Effect.map((b) => [leftover, b] as const)
1161
+ ))
1162
+ ))
1163
+
1164
+ /**
1165
+ * Transforms the parsed value of an option using a function that may throw,
1166
+ * converting any thrown errors into failure messages.
1167
+ *
1168
+ * **Example** (Mapping thrown errors)
1169
+ *
1170
+ * ```ts
1171
+ * import { Param } from "effect/unstable/cli"
1172
+ *
1173
+ * // @internal - this module is not exported publicly
1174
+ *
1175
+ * const parsedJson = Param.string(Param.flagKind, "config").pipe(
1176
+ * Param.mapTryCatch(
1177
+ * (str) => JSON.parse(str),
1178
+ * (error) =>
1179
+ * `Invalid JSON: ${error instanceof Error ? error.message : String(error)}`
1180
+ * )
1181
+ * )
1182
+ * ```
1183
+ *
1184
+ * @category combinators
1185
+ * @since 4.0.0
1186
+ */
1187
+ export const mapTryCatch: {
1188
+ <A, B>(
1189
+ f: (a: A) => B,
1190
+ onError: (error: unknown) => string
1191
+ ): <Kind extends ParamKind>(self: Param<Kind, A>) => Param<Kind, B>
1192
+ <Kind extends ParamKind, A, B>(
1193
+ self: Param<Kind, A>,
1194
+ f: (a: A) => B,
1195
+ onError: (error: unknown) => string
1196
+ ): Param<Kind, B>
1197
+ } = dual(3, <Kind extends ParamKind, A, B>(
1198
+ self: Param<Kind, A>,
1199
+ f: (a: A) => B,
1200
+ onError: (error: unknown) => string
1201
+ ) => {
1202
+ const single = getUnderlyingSingleOrThrow(self)
1203
+
1204
+ return transform(
1205
+ self,
1206
+ (parse: Parse<A>) => (args: ParsedArgs) =>
1207
+ Effect.flatMap(parse(args), ([leftover, a]) =>
1208
+ Effect.try({
1209
+ try: () => f(a),
1210
+ catch: (error) => onError(error)
1211
+ }).pipe(
1212
+ Effect.mapError(
1213
+ (error) =>
1214
+ new CliError.InvalidValue({
1215
+ option: single.name,
1216
+ value: String(a),
1217
+ expected: error,
1218
+ kind: single.kind
1219
+ })
1220
+ ),
1221
+ Effect.map((b) => [leftover, b] as const)
1222
+ ))
1223
+ )
1224
+ })
1225
+
1226
+ /**
1227
+ * Makes a flag or positional argument optional.
1228
+ *
1229
+ * **Details**
1230
+ *
1231
+ * When the parameter is absent, parsing succeeds with `Option.none()` instead
1232
+ * of failing with a missing option or missing argument error. When present, the
1233
+ * parsed value is wrapped in `Option.some()`.
1234
+ *
1235
+ * **Example** (Making parameters optional)
1236
+ *
1237
+ * ```ts
1238
+ * import { Param } from "effect/unstable/cli"
1239
+ *
1240
+ * // Create an optional port option
1241
+ * // - When not provided: returns Option.none()
1242
+ * // - When provided: returns Option.some(parsedValue)
1243
+ * const port = Param.optional(Param.integer(Param.flagKind, "port"))
1244
+ * ```
1245
+ *
1246
+ * @category combinators
1247
+ * @since 4.0.0
1248
+ */
1249
+ export const optional = <Kind extends ParamKind, A>(
1250
+ param: Param<Kind, A>
1251
+ ): Param<Kind, Option.Option<A>> => {
1252
+ const parse: Parse<Option.Option<A>> = Effect.fnUntraced(function*(args) {
1253
+ const single = getUnderlyingSingleOrThrow(param)
1254
+
1255
+ // Handle boolean params that are explicitly marked as optional (i.e. the
1256
+ // end user wants to return `Option.none()` instead of `false` when the
1257
+ // flag (or its negated variant) are not present on the command line
1258
+ if (
1259
+ isFlagParam(single) &&
1260
+ Primitive.isBoolean(single.primitiveType) &&
1261
+ ![single.name, ...single.aliases].some((name) => (args.flags[name] ?? []).length > 0)
1262
+ ) {
1263
+ return [args.arguments, Option.none()] as const
1264
+ }
1265
+
1266
+ return yield* param.parse(args).pipe(
1267
+ Effect.map(([leftover, value]) => [leftover, Option.some(value)] as const),
1268
+ // Catch both MissingOption (for flags) and MissingArgument (for positional arguments)
1269
+ Effect.catchTags({
1270
+ MissingOption: () => Effect.succeed([args.arguments, Option.none()] as const),
1271
+ MissingArgument: () => Effect.succeed([args.arguments, Option.none()] as const)
1272
+ })
1273
+ )
1274
+ })
1275
+ return Object.assign(Object.create(Proto), {
1276
+ _tag: "Optional",
1277
+ kind: param.kind,
1278
+ param,
1279
+ parse
1280
+ })
1281
+ }
1282
+
1283
+ /**
1284
+ * Makes a flag or positional argument optional by supplying a fallback value.
1285
+ *
1286
+ * **Details**
1287
+ *
1288
+ * The fallback may be a pure value or an effect. It is used only when the
1289
+ * parameter is absent; provided values are parsed normally.
1290
+ *
1291
+ * **Example** (Providing default values)
1292
+ *
1293
+ * ```ts
1294
+ * import { Param } from "effect/unstable/cli"
1295
+ *
1296
+ * // @internal - this module is not exported publicly
1297
+ *
1298
+ * // Using the pipe operator to make an option optional
1299
+ * const port = Param.integer(Param.flagKind, "port").pipe(
1300
+ * Param.withDefault(8080)
1301
+ * )
1302
+ *
1303
+ * // Can also be used with other combinators
1304
+ * const verbose = Param.boolean(Param.flagKind, "verbose").pipe(
1305
+ * Param.withAlias("-v"),
1306
+ * Param.withDescription("Enable verbose output"),
1307
+ * Param.withDefault(false)
1308
+ * )
1309
+ * ```
1310
+ *
1311
+ * @category combinators
1312
+ * @since 4.0.0
1313
+ */
1314
+ export const withDefault: {
1315
+ <const B>(
1316
+ defaultValue: B | Effect.Effect<B, CliError.CliError, Environment>
1317
+ ): <Kind extends ParamKind, A>(self: Param<Kind, A>) => Param<Kind, A | B>
1318
+ <Kind extends ParamKind, A, const B>(
1319
+ self: Param<Kind, A>,
1320
+ defaultValue: B | Effect.Effect<B, CliError.CliError, Environment>
1321
+ ): Param<Kind, A | B>
1322
+ } = dual(2, <Kind extends ParamKind, A, const B>(
1323
+ self: Param<Kind, A>,
1324
+ defaultValue: B | Effect.Effect<B, CliError.CliError, Environment>
1325
+ ): Param<Kind, A | B> => {
1326
+ if (!Effect.isEffect(defaultValue)) {
1327
+ return map(optional(self), Option.getOrElse(() => defaultValue))
1328
+ }
1329
+ return mapEffect(
1330
+ optional(self as Param<Kind, A | B>),
1331
+ Option.match({
1332
+ onNone: () => defaultValue,
1333
+ onSome: Effect.succeed
1334
+ })
1335
+ )
1336
+ })
1337
+
1338
+ /**
1339
+ * Adds a fallback config that is loaded when a required parameter is missing.
1340
+ *
1341
+ * **When to use**
1342
+ *
1343
+ * Use when you need config to provide a fallback source for required flags or
1344
+ * arguments that are absent from CLI input.
1345
+ *
1346
+ * **Details**
1347
+ *
1348
+ * Provided CLI values win. Config is loaded only after a missing option or
1349
+ * missing argument error.
1350
+ *
1351
+ * **Gotchas**
1352
+ *
1353
+ * Missing config preserves the original missing-parameter error. Config parse
1354
+ * failure becomes `CliError.InvalidValue`.
1355
+ *
1356
+ * @see {@link withDefault} for a pure default value
1357
+ * @see {@link withFallbackPrompt} for prompting interactively when input is missing
1358
+ *
1359
+ * @category combinators
1360
+ * @since 4.0.0
1361
+ */
1362
+ export const withFallbackConfig: {
1363
+ <B>(config: Config.Config<B>): <Kind extends ParamKind, A>(self: Param<Kind, A>) => Param<Kind, A | B>
1364
+ <Kind extends ParamKind, A, B>(self: Param<Kind, A>, config: Config.Config<B>): Param<Kind, A | B>
1365
+ } = dual(2, <Kind extends ParamKind, A, B>(
1366
+ self: Param<Kind, A>,
1367
+ config: Config.Config<B>
1368
+ ): Param<Kind, A | B> => {
1369
+ const toInvalidValue = (
1370
+ error: CliError.MissingOption | CliError.MissingArgument,
1371
+ configError: Config.ConfigError
1372
+ ): CliError.InvalidValue =>
1373
+ new CliError.InvalidValue({
1374
+ option: error._tag === "MissingOption" ? error.option : error.argument,
1375
+ value: "config",
1376
+ expected: configError.message,
1377
+ kind: error._tag === "MissingOption" ? "flag" : "argument"
1378
+ })
1379
+ const runConfig = (error: CliError.MissingOption | CliError.MissingArgument, args: ParsedArgs) =>
1380
+ Config.option(config).pipe(
1381
+ Effect.mapError((configError) => toInvalidValue(error, configError)),
1382
+ Effect.flatMap(Option.match({
1383
+ onNone: () => Effect.fail(error),
1384
+ onSome: (value) => Effect.succeed([args.arguments, value as A | B] as const)
1385
+ }))
1386
+ )
1387
+ return transform(
1388
+ self,
1389
+ (parse) => (args) =>
1390
+ parse(args).pipe(
1391
+ Effect.catchTag(["MissingOption", "MissingArgument"], (error) => runConfig(error, args))
1392
+ )
1393
+ )
1394
+ })
1395
+
1396
+ /**
1397
+ * Adds a fallback prompt that is shown when a required parameter is missing.
1398
+ *
1399
+ * **When to use**
1400
+ *
1401
+ * Use when a CLI should ask interactively for a missing required flag or
1402
+ * argument.
1403
+ *
1404
+ * **Details**
1405
+ *
1406
+ * `FallbackPrompt` accepts either a `Prompt` or an effect that builds one.
1407
+ * Effectful prompt creation is lazy and runs only when the fallback is needed.
1408
+ *
1409
+ * **Gotchas**
1410
+ *
1411
+ * This only handles missing options and missing arguments. Invalid values do not
1412
+ * prompt, and prompt cancellation re-fails with the original missing error.
1413
+ *
1414
+ * @see {@link FallbackPrompt} for accepted fallback prompt forms
1415
+ * @see {@link withFallbackConfig} for loading a fallback from config
1416
+ * @see {@link withDefault} for a pure default value
1417
+ *
1418
+ * @category combinators
1419
+ * @since 4.0.0
1420
+ */
1421
+ export const withFallbackPrompt: {
1422
+ <B>(prompt: FallbackPrompt<B>): <Kind extends ParamKind, A>(self: Param<Kind, A>) => Param<Kind, A | B>
1423
+ <Kind extends ParamKind, A, B>(self: Param<Kind, A>, prompt: FallbackPrompt<B>): Param<Kind, A | B>
1424
+ } = dual(2, <Kind extends ParamKind, A, B>(
1425
+ self: Param<Kind, A>,
1426
+ prompt: FallbackPrompt<B>
1427
+ ): Param<Kind, A | B> => {
1428
+ const runPrompt = (error: CliError.MissingOption | CliError.MissingArgument, args: ParsedArgs) =>
1429
+ Effect.flatMap(Prompt.isPrompt(prompt) ? Effect.succeed(prompt) : prompt, Prompt.run).pipe(
1430
+ Effect.map((value) => [args.arguments, value as A | B] as const),
1431
+ Effect.catchTag("QuitError", () => Effect.fail(error))
1432
+ )
1433
+ return transform(
1434
+ self,
1435
+ (parse) => (args) =>
1436
+ parse(args).pipe(
1437
+ Effect.catchTag(["MissingOption", "MissingArgument"], (error) => runPrompt(error, args))
1438
+ )
1439
+ )
1440
+ })
1441
+
1442
+ /**
1443
+ * Represent options which can be used to configure variadic parameters.
1444
+ *
1445
+ * @category options
1446
+ * @since 4.0.0
1447
+ */
1448
+ export type VariadicParamOptions = {
1449
+ /**
1450
+ * The minimum number of times the parameter can be specified.
1451
+ */
1452
+ readonly min?: number | undefined
1453
+ /**
1454
+ * The maximum number of times the parameter can be specified.
1455
+ */
1456
+ readonly max?: number | undefined
1457
+ }
1458
+
1459
+ /**
1460
+ * Creates a variadic parameter that can be specified multiple times.
1461
+ *
1462
+ * **Details**
1463
+ *
1464
+ * This is the base combinator for creating parameters that accept multiple values.
1465
+ * The `min` and `max` parameters are optional. When they are not provided, the
1466
+ * parameter can be specified any number of times, from 0 to infinity.
1467
+ *
1468
+ * **Example** (Accepting multiple values)
1469
+ *
1470
+ * ```ts
1471
+ * import { Param } from "effect/unstable/cli"
1472
+ *
1473
+ * // @internal - this module is not exported publicly
1474
+ *
1475
+ * // Basic variadic parameter (0 to infinity)
1476
+ * const tags = Param.variadic(Param.string(Param.flagKind, "tag"))
1477
+ *
1478
+ * // Variadic with minimum count
1479
+ * const inputs = Param.variadic(
1480
+ * Param.string(Param.flagKind, "input"),
1481
+ * { min: 1 } // at least 1 required
1482
+ * )
1483
+ *
1484
+ * // Variadic with both min and max
1485
+ * const limited = Param.variadic(Param.string(Param.flagKind, "item"), {
1486
+ * min: 2, // at least 2 times
1487
+ * max: 2 // at most 2 times
1488
+ * })
1489
+ * ```
1490
+ *
1491
+ * @category combinators
1492
+ * @since 4.0.0
1493
+ */
1494
+ export const variadic = <Kind extends ParamKind, A>(
1495
+ self: Param<Kind, A>,
1496
+ options?: VariadicParamOptions | undefined
1497
+ ): Param<Kind, ReadonlyArray<A>> => {
1498
+ const single = getUnderlyingSingleOrThrow(self)
1499
+ const parse: Parse<ReadonlyArray<A>> = (args) => {
1500
+ if (single.kind === "argument") {
1501
+ return parsePositionalVariadic(self, single, args, options)
1502
+ } else {
1503
+ return parseOptionVariadic(self, single, args, options)
1504
+ }
1505
+ }
1506
+ return Object.assign(Object.create(Proto), {
1507
+ _tag: "Variadic",
1508
+ kind: self.kind,
1509
+ param: self,
1510
+ min: Option.fromUndefinedOr(options?.min),
1511
+ max: Option.fromUndefinedOr(options?.max),
1512
+ parse
1513
+ })
1514
+ }
1515
+
1516
+ /**
1517
+ * Wraps an option to allow it to be specified multiple times within a range.
1518
+ *
1519
+ * **Details**
1520
+ *
1521
+ * This combinator transforms an option to accept between `min` and `max`
1522
+ * occurrences on the command line, returning an array of all provided values.
1523
+ *
1524
+ * **Example** (Bounding repeated values)
1525
+ *
1526
+ * ```ts
1527
+ * import { Param } from "effect/unstable/cli"
1528
+ *
1529
+ * // @internal - this module is not exported publicly
1530
+ *
1531
+ * // Allow 1-3 file inputs
1532
+ * const files = Param.string(Param.flagKind, "file").pipe(
1533
+ * Param.between(1, 3),
1534
+ * Param.withAlias("-f")
1535
+ * )
1536
+ *
1537
+ * // Parse: --file a.txt --file b.txt
1538
+ * // Result: ["a.txt", "b.txt"]
1539
+ *
1540
+ * // Allow 0 or more tags
1541
+ * const tags = Param.string(Param.flagKind, "tag").pipe(
1542
+ * Param.between(0, Number.MAX_SAFE_INTEGER)
1543
+ * )
1544
+ *
1545
+ * // Parse: --tag dev --tag staging --tag v1.0
1546
+ * // Result: ["dev", "staging", "v1.0"]
1547
+ * ```
1548
+ *
1549
+ * @category combinators
1550
+ * @since 4.0.0
1551
+ */
1552
+ export const between: {
1553
+ <A>(min: number, max: number): <Kind extends ParamKind>(self: Param<Kind, A>) => Param<Kind, ReadonlyArray<A>>
1554
+ <Kind extends ParamKind, A>(self: Param<Kind, A>, min: number, max: number): Param<Kind, ReadonlyArray<A>>
1555
+ } = dual(3, <Kind extends ParamKind, A>(self: Param<Kind, A>, min: number, max: number) => {
1556
+ if (min < 0) {
1557
+ throw new Error("between: min must be non-negative")
1558
+ }
1559
+ if (max < min) {
1560
+ throw new Error("between: max must be greater than or equal to min")
1561
+ }
1562
+
1563
+ return variadic(self, { min, max })
1564
+ })
1565
+
1566
+ /**
1567
+ * Wraps an option to allow it to be specified at most `max` times.
1568
+ *
1569
+ * **Details**
1570
+ *
1571
+ * This combinator transforms an option to accept between 0 and `max`
1572
+ * occurrences on the command line, returning an array of all provided values.
1573
+ *
1574
+ * **Example** (Limiting repeated values)
1575
+ *
1576
+ * ```ts
1577
+ * import { Param } from "effect/unstable/cli"
1578
+ *
1579
+ * // @internal - this module is not exported publicly
1580
+ *
1581
+ * // Allow at most 3 warning suppressions
1582
+ * const suppressions = Param.string(Param.flagKind, "suppress").pipe(
1583
+ * Param.atMost(3)
1584
+ * )
1585
+ *
1586
+ * // Parse: --suppress warning1 --suppress warning2
1587
+ * // Result: ["warning1", "warning2"]
1588
+ * ```
1589
+ *
1590
+ * @category combinators
1591
+ * @since 4.0.0
1592
+ */
1593
+ export const atMost: {
1594
+ <A>(max: number): <Kind extends ParamKind>(self: Param<Kind, A>) => Param<Kind, ReadonlyArray<A>>
1595
+ <Kind extends ParamKind, A>(self: Param<Kind, A>, max: number): Param<Kind, ReadonlyArray<A>>
1596
+ } = dual(2, <Kind extends ParamKind, A>(self: Param<Kind, A>, max: number) => {
1597
+ if (max < 0) {
1598
+ throw new Error("atMost: max must be non-negative")
1599
+ }
1600
+ return variadic(self, { max })
1601
+ })
1602
+
1603
+ /**
1604
+ * Wraps an option to require it to be specified at least `min` times.
1605
+ *
1606
+ * **Details**
1607
+ *
1608
+ * This combinator transforms an option to accept at least `min`
1609
+ * occurrences on the command line, returning an array of all provided values.
1610
+ *
1611
+ * **Example** (Requiring repeated values)
1612
+ *
1613
+ * ```ts
1614
+ * import { Param } from "effect/unstable/cli"
1615
+ *
1616
+ * // @internal - this module is not exported publicly
1617
+ *
1618
+ * // Require at least 2 input files
1619
+ * const inputs = Param.string(Param.flagKind, "input").pipe(
1620
+ * Param.atLeast(2),
1621
+ * Param.withAlias("-i")
1622
+ * )
1623
+ *
1624
+ * // Parse: --input file1.txt --input file2.txt --input file3.txt
1625
+ * // Result: ["file1.txt", "file2.txt", "file3.txt"]
1626
+ * ```
1627
+ *
1628
+ * @category combinators
1629
+ * @since 4.0.0
1630
+ */
1631
+ export const atLeast: {
1632
+ <A>(min: number): <Kind extends ParamKind>(self: Param<Kind, A>) => Param<Kind, ReadonlyArray<A>>
1633
+ <Kind extends ParamKind, A>(self: Param<Kind, A>, min: number): Param<Kind, ReadonlyArray<A>>
1634
+ } = dual(2, <Kind extends ParamKind, A>(self: Param<Kind, A>, min: number) => {
1635
+ if (min < 0) {
1636
+ throw new Error("atLeast: min must be non-negative")
1637
+ }
1638
+ return variadic(self, { min })
1639
+ })
1640
+
1641
+ /**
1642
+ * Filters and transforms parsed values, failing with a custom error message
1643
+ * if the filter function returns `Option.none()`.
1644
+ *
1645
+ * **When to use**
1646
+ *
1647
+ * Use when you need validation and transformation in a single parameter
1648
+ * combinator.
1649
+ *
1650
+ * **Example** (Filtering and transforming values)
1651
+ *
1652
+ * ```ts
1653
+ * import { Option } from "effect"
1654
+ * import { Param } from "effect/unstable/cli"
1655
+ * // @internal - this module is not exported publicly
1656
+ *
1657
+ * const positiveInt = Param.integer(Param.flagKind, "count").pipe(
1658
+ * Param.filterMap(
1659
+ * (n) => n > 0 ? Option.some(n) : Option.none(),
1660
+ * (n) => `Expected positive integer, got ${n}`
1661
+ * )
1662
+ * )
1663
+ * ```
1664
+ *
1665
+ * @category combinators
1666
+ * @since 4.0.0
1667
+ */
1668
+ export const filterMap: {
1669
+ <A, B>(
1670
+ filter: (a: A) => Option.Option<B>,
1671
+ onNone: (a: A) => string
1672
+ ): <Kind extends ParamKind>(self: Param<Kind, A>) => Param<Kind, B>
1673
+ <Kind extends ParamKind, A, B>(
1674
+ self: Param<Kind, A>,
1675
+ filter: (a: A) => Option.Option<B>,
1676
+ onNone: (a: A) => string
1677
+ ): Param<Kind, B>
1678
+ } = dual(3, <Kind extends ParamKind, A, B>(
1679
+ self: Param<Kind, A>,
1680
+ filter: (a: A) => Option.Option<B>,
1681
+ onNone: (a: A) => string
1682
+ ) =>
1683
+ mapEffect(
1684
+ self,
1685
+ Effect.fnUntraced(function*(a) {
1686
+ const result = filter(a)
1687
+ if (Option.isSome(result)) {
1688
+ return result.value
1689
+ }
1690
+ const single = getUnderlyingSingleOrThrow(self)
1691
+ return yield* new CliError.InvalidValue({
1692
+ option: single.name,
1693
+ value: String(a),
1694
+ expected: onNone(a),
1695
+ kind: single.kind
1696
+ })
1697
+ })
1698
+ ))
1699
+
1700
+ /**
1701
+ * Filters parsed values, failing with a custom error message if the predicate returns false.
1702
+ *
1703
+ * **Example** (Filtering parsed values)
1704
+ *
1705
+ * ```ts
1706
+ * import { Param } from "effect/unstable/cli"
1707
+ *
1708
+ * // @internal - this module is not exported publicly
1709
+ *
1710
+ * const evenNumber = Param.integer(Param.flagKind, "num").pipe(
1711
+ * Param.filter(
1712
+ * (n) => n % 2 === 0,
1713
+ * (n) => `Expected even number, got ${n}`
1714
+ * )
1715
+ * )
1716
+ * ```
1717
+ *
1718
+ * @category combinators
1719
+ * @since 4.0.0
1720
+ */
1721
+ export const filter: {
1722
+ <A>(
1723
+ predicate: Predicate.Predicate<A>,
1724
+ onFalse: (a: A) => string
1725
+ ): <Kind extends ParamKind>(self: Param<Kind, A>) => Param<Kind, A>
1726
+ <Kind extends ParamKind, A>(
1727
+ self: Param<Kind, A>,
1728
+ predicate: Predicate.Predicate<A>,
1729
+ onFalse: (a: A) => string
1730
+ ): Param<Kind, A>
1731
+ } = dual(3, <Kind extends ParamKind, A>(
1732
+ self: Param<Kind, A>,
1733
+ predicate: Predicate.Predicate<A>,
1734
+ onFalse: (a: A) => string
1735
+ ) => filterMap(self, Option.liftPredicate(predicate), onFalse))
1736
+
1737
+ /**
1738
+ * Sets a custom metavar (placeholder name) for the param in help documentation.
1739
+ *
1740
+ * **Details**
1741
+ *
1742
+ * The metavar is displayed in usage text to indicate what value the user should provide.
1743
+ * For example, `--output FILE` shows `FILE` as the metavar.
1744
+ *
1745
+ * **Example** (Setting metavars)
1746
+ *
1747
+ * ```ts
1748
+ * import { Param } from "effect/unstable/cli"
1749
+ *
1750
+ * // @internal - this module is not exported publicly
1751
+ *
1752
+ * const port = Param.integer(Param.flagKind, "port").pipe(
1753
+ * Param.withMetavar("PORT"),
1754
+ * Param.filter(
1755
+ * (p) => p >= 1 && p <= 65535,
1756
+ * () => "Port must be between 1 and 65535"
1757
+ * )
1758
+ * )
1759
+ * ```
1760
+ *
1761
+ * @category metadata
1762
+ * @since 4.0.0
1763
+ */
1764
+ export const withMetavar: {
1765
+ <K extends ParamKind>(metavar: string): <A>(self: Param<K, A>) => Param<K, A>
1766
+ <K extends ParamKind, A>(self: Param<K, A>, metavar: string): Param<K, A>
1767
+ } = dual(2, <K extends ParamKind, A>(
1768
+ self: Param<K, A>,
1769
+ metavar: string
1770
+ ) =>
1771
+ transformSingle(self, (single) =>
1772
+ makeSingle({
1773
+ ...single,
1774
+ typeName: metavar
1775
+ })))
1776
+
1777
+ /**
1778
+ * Validates parsed values against a Schema, providing detailed error messages.
1779
+ *
1780
+ * **Example** (Validating with schemas)
1781
+ *
1782
+ * ```ts
1783
+ * import { Schema } from "effect"
1784
+ * import { Param } from "effect/unstable/cli"
1785
+ * // @internal - this module is not exported publicly
1786
+ *
1787
+ * const isEmail = Schema.isPattern(/^[^\s@]+@[^\s@]+\.[^\s@]+$/)
1788
+ *
1789
+ * const Email = Schema.String.pipe(
1790
+ * Schema.check(isEmail)
1791
+ * )
1792
+ *
1793
+ * const email = Param.string(Param.flagKind, "email").pipe(
1794
+ * Param.withSchema(Email)
1795
+ * )
1796
+ * ```
1797
+ *
1798
+ * @category combinators
1799
+ * @since 4.0.0
1800
+ */
1801
+ export const withSchema: {
1802
+ <A, B>(schema: Schema.Codec<B, A>): <Kind extends ParamKind>(self: Param<Kind, A>) => Param<Kind, B>
1803
+ <Kind extends ParamKind, A, B>(self: Param<Kind, A>, schema: Schema.Codec<B, A>): Param<Kind, B>
1804
+ } = dual(2, <Kind extends ParamKind, A, B>(
1805
+ self: Param<Kind, A>,
1806
+ schema: Schema.Codec<B, A>
1807
+ ) => {
1808
+ const decodeParam = Schema.decodeUnknownEffect(schema)
1809
+ return mapEffect(self, (value) =>
1810
+ Effect.mapError(decodeParam(value), (error) => {
1811
+ const single = getUnderlyingSingleOrThrow(self)
1812
+ return new CliError.InvalidValue({
1813
+ option: single.name,
1814
+ value: String(value),
1815
+ expected: `Schema validation failed: ${error.message}`,
1816
+ kind: single.kind
1817
+ })
1818
+ }))
1819
+ })
1820
+
1821
+ /**
1822
+ * Provides a fallback param to use if this param fails to parse.
1823
+ *
1824
+ * **Example** (Falling back to another parameter)
1825
+ *
1826
+ * ```ts
1827
+ * import { Param } from "effect/unstable/cli"
1828
+ *
1829
+ * // @internal - this module is not exported publicly
1830
+ *
1831
+ * const config = Param.file(Param.flagKind, "config").pipe(
1832
+ * Param.orElse(() => Param.string(Param.flagKind, "config-url"))
1833
+ * )
1834
+ * ```
1835
+ *
1836
+ * @category combinators
1837
+ * @since 4.0.0
1838
+ */
1839
+ export const orElse: {
1840
+ <B, Kind extends ParamKind>(
1841
+ orElse: (error: CliError.CliError) => Param<Kind, B>
1842
+ ): <A>(self: Param<Kind, A>) => Param<Kind, A | B>
1843
+ <Kind extends ParamKind, A, B>(
1844
+ self: Param<Kind, A>,
1845
+ orElse: (error: CliError.CliError) => Param<Kind, B>
1846
+ ): Param<Kind, A | B>
1847
+ } = dual(2, <Kind extends ParamKind, A, B>(
1848
+ self: Param<Kind, A>,
1849
+ orElse: (error: CliError.CliError) => Param<Kind, B>
1850
+ ) =>
1851
+ transform(
1852
+ self,
1853
+ (parse: Parse<A>): Parse<A | B> => (args: ParsedArgs) => Effect.catch(parse(args), (err) => orElse(err).parse(args))
1854
+ ))
1855
+
1856
+ /**
1857
+ * Provides a fallback param and returns a `Result` indicating which param
1858
+ * succeeded.
1859
+ *
1860
+ * **Details**
1861
+ *
1862
+ * The original param's value is returned as `Result.succeed`, while the
1863
+ * fallback param's value is returned as `Result.fail`.
1864
+ *
1865
+ * **Example** (Returning fallback results)
1866
+ *
1867
+ * ```ts
1868
+ * import { Param } from "effect/unstable/cli"
1869
+ *
1870
+ * // @internal - this module is not exported publicly
1871
+ *
1872
+ * const configSource = Param.file(Param.flagKind, "config").pipe(
1873
+ * Param.orElseResult(() => Param.string(Param.flagKind, "config-url"))
1874
+ * )
1875
+ * // Returns Result<string, string>
1876
+ * ```
1877
+ *
1878
+ * @category combinators
1879
+ * @since 4.0.0
1880
+ */
1881
+ export const orElseResult: {
1882
+ <Kind extends ParamKind, B>(
1883
+ orElse: (error: CliError.CliError) => Param<Kind, B>
1884
+ ): <A>(self: Param<Kind, A>) => Param<Kind, Result.Result<A, B>>
1885
+ <Kind extends ParamKind, A, B>(
1886
+ self: Param<Kind, A>,
1887
+ orElse: (error: CliError.CliError) => Param<Kind, B>
1888
+ ): Param<Kind, Result.Result<A, B>>
1889
+ } = dual(2, <Kind extends ParamKind, A, B>(
1890
+ self: Param<Kind, A>,
1891
+ orElse: (error: CliError.CliError) => Param<Kind, B>
1892
+ ) => {
1893
+ return transform(
1894
+ self,
1895
+ (parse: Parse<A>): Parse<Result.Result<A, B>> => (args: ParsedArgs) =>
1896
+ Effect.catch(
1897
+ Effect.map(parse(args), ([leftover, value]) => [leftover, Result.succeed(value)] as const),
1898
+ (err) =>
1899
+ Effect.map(
1900
+ orElse(err).parse(args),
1901
+ ([leftover, value]) => [leftover, Result.fail(value)] as const
1902
+ )
1903
+ )
1904
+ )
1905
+ })
1906
+
1907
+ // =============================================================================
1908
+ // Parsing Utilities
1909
+ // =============================================================================
1910
+
1911
+ const parsePositional: <A>(
1912
+ name: string,
1913
+ primitiveType: Primitive.Primitive<A>,
1914
+ args: ParsedArgs
1915
+ ) => Effect.Effect<
1916
+ readonly [leftover: ReadonlyArray<string>, value: A],
1917
+ CliError.CliError,
1918
+ Environment
1919
+ > = Effect.fnUntraced(function*(name, primitiveType, args) {
1920
+ if (args.arguments.length === 0) {
1921
+ return yield* new CliError.MissingArgument({ argument: name })
1922
+ }
1923
+
1924
+ const arg = args.arguments[0]
1925
+ const value = yield* Effect.mapError(
1926
+ primitiveType.parse(arg),
1927
+ (error) =>
1928
+ new CliError.InvalidValue({
1929
+ option: name,
1930
+ value: arg,
1931
+ expected: error,
1932
+ kind: "argument"
1933
+ })
1934
+ )
1935
+
1936
+ return [args.arguments.slice(1), value] as const
1937
+ })
1938
+
1939
+ const parseFlag: <A>(
1940
+ name: string,
1941
+ primitiveType: Primitive.Primitive<A>,
1942
+ args: ParsedArgs
1943
+ ) => Effect.Effect<
1944
+ readonly [remainingOperands: ReadonlyArray<string>, value: A],
1945
+ CliError.CliError,
1946
+ Environment
1947
+ > = Effect.fnUntraced(function*(name, primitiveType, args) {
1948
+ const providedValues = args.flags[name]
1949
+
1950
+ if (providedValues === undefined || providedValues.length === 0) {
1951
+ // Option not provided (empty array due to initialization)
1952
+ if (Primitive.isBoolean(primitiveType)) {
1953
+ // Boolean params default to false when not present
1954
+ return [args.arguments, false as any] as const
1955
+ } else {
1956
+ return yield* new CliError.MissingOption({ option: name })
1957
+ }
1958
+ }
1959
+
1960
+ // Parse the first value (later we can handle multiple)
1961
+ const arg = providedValues[0]
1962
+ const value = yield* Effect.mapError(
1963
+ primitiveType.parse(arg),
1964
+ (error) =>
1965
+ new CliError.InvalidValue({
1966
+ option: name,
1967
+ value: arg,
1968
+ expected: error,
1969
+ kind: "flag"
1970
+ })
1971
+ )
1972
+
1973
+ return [args.arguments, value] as const
1974
+ })
1975
+
1976
+ const parsePositionalVariadic: <Kind extends ParamKind, A>(
1977
+ self: Param<Kind, A>,
1978
+ single: Single<Kind, A>,
1979
+ args: ParsedArgs,
1980
+ options?: VariadicParamOptions | undefined
1981
+ ) => Effect.Effect<
1982
+ readonly [remainingOperands: ReadonlyArray<string>, value: ReadonlyArray<A>],
1983
+ CliError.CliError,
1984
+ Environment
1985
+ > = Effect.fnUntraced(function*<A, Kind extends ParamKind>(
1986
+ self: Param<Kind, A>,
1987
+ single: Single<Kind, A>,
1988
+ args: ParsedArgs,
1989
+ options?: VariadicParamOptions | undefined
1990
+ ) {
1991
+ const results: Array<A> = []
1992
+ const minValue = options?.min ?? 0
1993
+ const maxValue = options?.max ?? Number.POSITIVE_INFINITY
1994
+
1995
+ let count = 0
1996
+ let currentArgs = args.arguments
1997
+ while (currentArgs.length > 0 && count < maxValue) {
1998
+ const [remainingArgs, value] = yield* self.parse({
1999
+ flags: args.flags,
2000
+ arguments: currentArgs
2001
+ })
2002
+ results.push(value)
2003
+ currentArgs = remainingArgs
2004
+ count++
2005
+ }
2006
+
2007
+ if (count < minValue) {
2008
+ return yield* new CliError.InvalidValue({
2009
+ option: single.name,
2010
+ value: `${count} values`,
2011
+ expected: `at least ${minValue} value${minValue === 1 ? "" : "s"}`,
2012
+ kind: single.kind
2013
+ })
2014
+ }
2015
+
2016
+ return [currentArgs, results] as const
2017
+ })
2018
+
2019
+ const parseOptionVariadic: <Kind extends ParamKind, A>(
2020
+ self: Param<Kind, A>,
2021
+ single: Single<Kind, A>,
2022
+ args: ParsedArgs,
2023
+ options?: VariadicParamOptions | undefined
2024
+ ) => Effect.Effect<
2025
+ readonly [remainingOperands: ReadonlyArray<string>, value: ReadonlyArray<A>],
2026
+ CliError.CliError,
2027
+ Environment
2028
+ > = Effect.fnUntraced(function*<A, Kind extends ParamKind>(
2029
+ self: Param<Kind, A>,
2030
+ single: Single<Kind, A>,
2031
+ args: ParsedArgs,
2032
+ options?: VariadicParamOptions | undefined
2033
+ ) {
2034
+ const results: Array<A> = []
2035
+ const names = [single.name, ...single.aliases]
2036
+ const values = names.flatMap((name) => args.flags[name] ?? [])
2037
+ const count = values.length
2038
+
2039
+ // Validate count constraints
2040
+ if (Predicate.isNotUndefined(options?.min) && count < options.min) {
2041
+ return yield* count === 0
2042
+ ? new CliError.MissingOption({ option: single.name })
2043
+ : new CliError.InvalidValue({
2044
+ option: single.name,
2045
+ value: `${count} occurrences`,
2046
+ expected: `at least ${options.min} value${options.min === 1 ? "" : "s"}`,
2047
+ kind: single.kind
2048
+ })
2049
+ }
2050
+
2051
+ if (Predicate.isNotUndefined(options?.max) && count > options.max) {
2052
+ return yield* new CliError.InvalidValue({
2053
+ option: single.name,
2054
+ value: `${count} occurrences`,
2055
+ expected: `at most ${options.max} value${options.max === 1 ? "" : "s"}`,
2056
+ kind: single.kind
2057
+ })
2058
+ }
2059
+
2060
+ // Parse each value individually
2061
+ for (const value of values) {
2062
+ const [, parsedValue] = yield* self.parse({
2063
+ flags: { [single.name]: [value] },
2064
+ arguments: []
2065
+ })
2066
+ results.push(parsedValue)
2067
+ }
2068
+
2069
+ return [args.arguments, results] as const
2070
+ })
2071
+
2072
+ type AnyParam<Kind extends ParamKind, A> =
2073
+ | Single<Kind, A>
2074
+ | Map<Kind, any, A>
2075
+ | Transform<Kind, any, A>
2076
+ | Optional<Kind, A>
2077
+ | Variadic<Kind, A>
2078
+
2079
+ /**
2080
+ * Type-safe param matcher that handles the unsafe casting internally.
2081
+ * This provides a clean API for pattern matching on param types while
2082
+ * maintaining type safety at the call site.
2083
+ */
2084
+ const matchParam = <Kind extends ParamKind, A, R>(
2085
+ param: Param<Kind, A>,
2086
+ patterns: {
2087
+ Single: (single: Single<Kind, A>) => R
2088
+ Map: <X>(mapped: Map<Kind, X, A>) => R
2089
+ Transform: <X>(mapped: Transform<Kind, X, A>) => R
2090
+ Optional: <X>(optional: Optional<Kind, X>) => R
2091
+ Variadic: <X>(variadic: Variadic<Kind, X>) => R
2092
+ }
2093
+ ): R => {
2094
+ const p = param as AnyParam<Kind, A>
2095
+ switch (p._tag) {
2096
+ case "Single":
2097
+ return patterns.Single(p)
2098
+ case "Map":
2099
+ return patterns.Map(p)
2100
+ case "Transform":
2101
+ return patterns.Transform(p)
2102
+ case "Optional":
2103
+ return patterns.Optional(p)
2104
+ case "Variadic":
2105
+ return patterns.Variadic(p)
2106
+ }
2107
+ }
2108
+
2109
+ /**
2110
+ * Recursively transforms a param by applying a function to any `Single` nodes.
2111
+ * This is used internally by combinators like `withAlias` to traverse the param tree.
2112
+ */
2113
+ const transformSingle = <Kind extends ParamKind, A>(
2114
+ param: Param<Kind, A>,
2115
+ f: <X>(single: Single<Kind, X>) => Single<Kind, X>
2116
+ ): Param<Kind, A> => {
2117
+ return matchParam(param, {
2118
+ Single: (single) => f(single),
2119
+ Map: (mapped) => map(transformSingle(mapped.param, f), mapped.f),
2120
+ Transform: (mapped) => transform(transformSingle(mapped.param, f), mapped.f),
2121
+ Optional: (p) => optional(transformSingle(p.param, f)) as Param<Kind, A>,
2122
+ Variadic: (p) =>
2123
+ variadic(transformSingle(p.param, f), {
2124
+ min: Option.getOrUndefined(p.min),
2125
+ max: Option.getOrUndefined(p.max)
2126
+ }) as Param<Kind, A>
2127
+ })
2128
+ }
2129
+
2130
+ /**
2131
+ * Extracts all Single params from a potentially nested param structure.
2132
+ * This handles all param combinators including Map, Transform, Optional, and Variadic.
2133
+ *
2134
+ * @internal
2135
+ */
2136
+ export const extractSingleParams = <Kind extends ParamKind, A>(
2137
+ param: Param<Kind, A>
2138
+ ): Array<Single<Kind, unknown>> => {
2139
+ return matchParam(param, {
2140
+ Single: (single) => [single as Single<Kind, unknown>],
2141
+ Map: (mapped) => extractSingleParams(mapped.param),
2142
+ Transform: (mapped) => extractSingleParams(mapped.param),
2143
+ Optional: (optional) => extractSingleParams(optional.param),
2144
+ Variadic: (variadic) => extractSingleParams(variadic.param)
2145
+ })
2146
+ }
2147
+
2148
+ /**
2149
+ * Gets the underlying Single param from a potentially nested param structure.
2150
+ * Throws an error if there are no singles or multiple singles found.
2151
+ *
2152
+ * @internal
2153
+ */
2154
+ export const getUnderlyingSingleOrThrow = <Kind extends ParamKind, A>(
2155
+ param: Param<Kind, A>
2156
+ ): Single<Kind, A> => {
2157
+ const singles = extractSingleParams(param)
2158
+
2159
+ if (singles.length === 0) {
2160
+ throw new Error("No Single param found in param structure")
2161
+ }
2162
+
2163
+ if (singles.length > 1) {
2164
+ throw new Error(
2165
+ `Multiple Single params found: ${singles.map((s) => s.name).join(", ")}`
2166
+ )
2167
+ }
2168
+
2169
+ return singles[0] as Single<Kind, A>
2170
+ }
2171
+
2172
+ /**
2173
+ * Gets param metadata by traversing the structure.
2174
+ *
2175
+ * @internal
2176
+ */
2177
+ export const getParamMetadata = <Kind extends ParamKind, A>(
2178
+ param: Param<Kind, A>
2179
+ ): { isOptional: boolean; isVariadic: boolean } => {
2180
+ return matchParam(param, {
2181
+ Single: () => ({ isOptional: false, isVariadic: false }),
2182
+ Map: (mapped) => getParamMetadata(mapped.param),
2183
+ Transform: (mapped) => getParamMetadata(mapped.param),
2184
+ Optional: (optional) => ({
2185
+ ...getParamMetadata(optional.param),
2186
+ isOptional: true
2187
+ }),
2188
+ Variadic: (variadic) => ({
2189
+ ...getParamMetadata(variadic.param),
2190
+ isVariadic: true
2191
+ })
2192
+ })
2193
+ }