@smthrs/std 0.0.0-stage → 1.0.0-rc.4

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 (555) hide show
  1. package/CHANGELOG.md +130 -0
  2. package/LICENSE +21 -0
  3. package/README.md +152 -2
  4. package/dist/cjs/ApplyPatch.d.ts +174 -0
  5. package/dist/cjs/ApplyPatch.d.ts.map +1 -0
  6. package/dist/cjs/ApplyPatch.js +309 -0
  7. package/dist/cjs/ApplyPatch.js.map +7 -0
  8. package/dist/cjs/Bash.d.ts +380 -0
  9. package/dist/cjs/Bash.d.ts.map +1 -0
  10. package/dist/cjs/Bash.js +332 -0
  11. package/dist/cjs/Bash.js.map +7 -0
  12. package/dist/cjs/Checkpoints.d.ts +279 -0
  13. package/dist/cjs/Checkpoints.d.ts.map +1 -0
  14. package/dist/cjs/Checkpoints.js +145 -0
  15. package/dist/cjs/Checkpoints.js.map +7 -0
  16. package/dist/cjs/Container.d.ts +132 -0
  17. package/dist/cjs/Container.d.ts.map +1 -0
  18. package/dist/cjs/Container.js +113 -0
  19. package/dist/cjs/Container.js.map +7 -0
  20. package/dist/cjs/Edit.d.ts +203 -0
  21. package/dist/cjs/Edit.d.ts.map +1 -0
  22. package/dist/cjs/Edit.js +258 -0
  23. package/dist/cjs/Edit.js.map +7 -0
  24. package/dist/cjs/ExaWebSearch.d.ts +22 -0
  25. package/dist/cjs/ExaWebSearch.d.ts.map +1 -0
  26. package/dist/cjs/ExaWebSearch.js +138 -0
  27. package/dist/cjs/ExaWebSearch.js.map +7 -0
  28. package/dist/cjs/Explore.d.ts +328 -0
  29. package/dist/cjs/Explore.d.ts.map +1 -0
  30. package/dist/cjs/Explore.js +90 -0
  31. package/dist/cjs/Explore.js.map +7 -0
  32. package/dist/cjs/Fetch.d.ts +130 -0
  33. package/dist/cjs/Fetch.d.ts.map +1 -0
  34. package/dist/cjs/Fetch.js +64 -0
  35. package/dist/cjs/Fetch.js.map +7 -0
  36. package/dist/cjs/Glob.d.ts +204 -0
  37. package/dist/cjs/Glob.d.ts.map +1 -0
  38. package/dist/cjs/Glob.js +94 -0
  39. package/dist/cjs/Glob.js.map +7 -0
  40. package/dist/cjs/Grep.d.ts +347 -0
  41. package/dist/cjs/Grep.d.ts.map +1 -0
  42. package/dist/cjs/Grep.js +181 -0
  43. package/dist/cjs/Grep.js.map +7 -0
  44. package/dist/cjs/HttpPost.d.ts +130 -0
  45. package/dist/cjs/HttpPost.d.ts.map +1 -0
  46. package/dist/cjs/HttpPost.js +72 -0
  47. package/dist/cjs/HttpPost.js.map +7 -0
  48. package/dist/cjs/LanguageServer.d.ts +90 -0
  49. package/dist/cjs/LanguageServer.d.ts.map +1 -0
  50. package/dist/cjs/LanguageServer.js +60 -0
  51. package/dist/cjs/LanguageServer.js.map +7 -0
  52. package/dist/cjs/Ls.d.ts +164 -0
  53. package/dist/cjs/Ls.d.ts.map +1 -0
  54. package/dist/cjs/Ls.js +136 -0
  55. package/dist/cjs/Ls.js.map +7 -0
  56. package/dist/cjs/Lsp.d.ts +125 -0
  57. package/dist/cjs/Lsp.d.ts.map +1 -0
  58. package/dist/cjs/Lsp.js +137 -0
  59. package/dist/cjs/Lsp.js.map +7 -0
  60. package/dist/cjs/Manifest.d.ts +918 -0
  61. package/dist/cjs/Manifest.d.ts.map +1 -0
  62. package/dist/cjs/Manifest.js +144 -0
  63. package/dist/cjs/Manifest.js.map +7 -0
  64. package/dist/cjs/NativeSearch.d.ts +38 -0
  65. package/dist/cjs/NativeSearch.d.ts.map +1 -0
  66. package/dist/cjs/NativeSearch.js +326 -0
  67. package/dist/cjs/NativeSearch.js.map +7 -0
  68. package/dist/cjs/NodeLanguageServer.d.ts +128 -0
  69. package/dist/cjs/NodeLanguageServer.d.ts.map +1 -0
  70. package/dist/cjs/NodeLanguageServer.js +796 -0
  71. package/dist/cjs/NodeLanguageServer.js.map +7 -0
  72. package/dist/cjs/PortableSearch.d.ts +24 -0
  73. package/dist/cjs/PortableSearch.d.ts.map +1 -0
  74. package/dist/cjs/PortableSearch.js +233 -0
  75. package/dist/cjs/PortableSearch.js.map +7 -0
  76. package/dist/cjs/Probe.d.ts +193 -0
  77. package/dist/cjs/Probe.d.ts.map +1 -0
  78. package/dist/cjs/Probe.js +134 -0
  79. package/dist/cjs/Probe.js.map +7 -0
  80. package/dist/cjs/Read.d.ts +189 -0
  81. package/dist/cjs/Read.d.ts.map +1 -0
  82. package/dist/cjs/Read.js +223 -0
  83. package/dist/cjs/Read.js.map +7 -0
  84. package/dist/cjs/Relocate.d.ts +73 -0
  85. package/dist/cjs/Relocate.d.ts.map +1 -0
  86. package/dist/cjs/Relocate.js +72 -0
  87. package/dist/cjs/Relocate.js.map +7 -0
  88. package/dist/cjs/Search.d.ts +163 -0
  89. package/dist/cjs/Search.d.ts.map +1 -0
  90. package/dist/cjs/Search.js +51 -0
  91. package/dist/cjs/Search.js.map +7 -0
  92. package/dist/cjs/SearchConformance.d.ts +115 -0
  93. package/dist/cjs/SearchConformance.d.ts.map +1 -0
  94. package/dist/cjs/SearchConformance.js +172 -0
  95. package/dist/cjs/SearchConformance.js.map +7 -0
  96. package/dist/cjs/SearchContract.d.ts +114 -0
  97. package/dist/cjs/SearchContract.d.ts.map +1 -0
  98. package/dist/cjs/SearchContract.js +339 -0
  99. package/dist/cjs/SearchContract.js.map +7 -0
  100. package/dist/cjs/ShellCommand.d.ts +164 -0
  101. package/dist/cjs/ShellCommand.d.ts.map +1 -0
  102. package/dist/cjs/ShellCommand.js +102 -0
  103. package/dist/cjs/ShellCommand.js.map +7 -0
  104. package/dist/cjs/StdError.d.ts +55 -0
  105. package/dist/cjs/StdError.d.ts.map +1 -0
  106. package/dist/cjs/StdError.js +74 -0
  107. package/dist/cjs/StdError.js.map +7 -0
  108. package/dist/cjs/TestRun.d.ts +311 -0
  109. package/dist/cjs/TestRun.d.ts.map +1 -0
  110. package/dist/cjs/TestRun.js +228 -0
  111. package/dist/cjs/TestRun.js.map +7 -0
  112. package/dist/cjs/TestRunner.d.ts +102 -0
  113. package/dist/cjs/TestRunner.d.ts.map +1 -0
  114. package/dist/cjs/TestRunner.js +54 -0
  115. package/dist/cjs/TestRunner.js.map +7 -0
  116. package/dist/cjs/TreeFingerprint.d.ts +140 -0
  117. package/dist/cjs/TreeFingerprint.d.ts.map +1 -0
  118. package/dist/cjs/TreeFingerprint.js +87 -0
  119. package/dist/cjs/TreeFingerprint.js.map +7 -0
  120. package/dist/cjs/UpdatePlan.d.ts +152 -0
  121. package/dist/cjs/UpdatePlan.d.ts.map +1 -0
  122. package/dist/cjs/UpdatePlan.js +87 -0
  123. package/dist/cjs/UpdatePlan.js.map +7 -0
  124. package/dist/cjs/WebFetch.d.ts +134 -0
  125. package/dist/cjs/WebFetch.d.ts.map +1 -0
  126. package/dist/cjs/WebFetch.js +140 -0
  127. package/dist/cjs/WebFetch.js.map +7 -0
  128. package/dist/cjs/WebSearch.d.ts +181 -0
  129. package/dist/cjs/WebSearch.d.ts.map +1 -0
  130. package/dist/cjs/WebSearch.js +86 -0
  131. package/dist/cjs/WebSearch.js.map +7 -0
  132. package/dist/cjs/Write.d.ts +147 -0
  133. package/dist/cjs/Write.d.ts.map +1 -0
  134. package/dist/cjs/Write.js +122 -0
  135. package/dist/cjs/Write.js.map +7 -0
  136. package/dist/cjs/index.d.ts +127 -0
  137. package/dist/cjs/index.d.ts.map +1 -0
  138. package/dist/cjs/index.js +99 -0
  139. package/dist/cjs/index.js.map +7 -0
  140. package/dist/cjs/internal/ApplyPatch.d.ts +145 -0
  141. package/dist/cjs/internal/ApplyPatch.d.ts.map +1 -0
  142. package/dist/cjs/internal/ApplyPatch.js +462 -0
  143. package/dist/cjs/internal/ApplyPatch.js.map +7 -0
  144. package/dist/cjs/internal/CodexText.d.ts +73 -0
  145. package/dist/cjs/internal/CodexText.d.ts.map +1 -0
  146. package/dist/cjs/internal/CodexText.js +108 -0
  147. package/dist/cjs/internal/CodexText.js.map +7 -0
  148. package/dist/cjs/internal/Declaration.d.ts +49 -0
  149. package/dist/cjs/internal/Declaration.d.ts.map +1 -0
  150. package/dist/cjs/internal/Declaration.js +46 -0
  151. package/dist/cjs/internal/Declaration.js.map +7 -0
  152. package/dist/cjs/internal/Diagnostics.d.ts +77 -0
  153. package/dist/cjs/internal/Diagnostics.d.ts.map +1 -0
  154. package/dist/cjs/internal/Diagnostics.js +89 -0
  155. package/dist/cjs/internal/Diagnostics.js.map +7 -0
  156. package/dist/cjs/internal/EnvelopePrecheck.d.ts +67 -0
  157. package/dist/cjs/internal/EnvelopePrecheck.d.ts.map +1 -0
  158. package/dist/cjs/internal/EnvelopePrecheck.js +124 -0
  159. package/dist/cjs/internal/EnvelopePrecheck.js.map +7 -0
  160. package/dist/cjs/internal/Exec.d.ts +139 -0
  161. package/dist/cjs/internal/Exec.d.ts.map +1 -0
  162. package/dist/cjs/internal/Exec.js +158 -0
  163. package/dist/cjs/internal/Exec.js.map +7 -0
  164. package/dist/cjs/internal/FileMutation.d.ts +109 -0
  165. package/dist/cjs/internal/FileMutation.d.ts.map +1 -0
  166. package/dist/cjs/internal/FileMutation.js +116 -0
  167. package/dist/cjs/internal/FileMutation.js.map +7 -0
  168. package/dist/cjs/internal/FsFailure.d.ts +38 -0
  169. package/dist/cjs/internal/FsFailure.d.ts.map +1 -0
  170. package/dist/cjs/internal/FsFailure.js +40 -0
  171. package/dist/cjs/internal/FsFailure.js.map +7 -0
  172. package/dist/cjs/internal/GitWorktree.d.ts +108 -0
  173. package/dist/cjs/internal/GitWorktree.d.ts.map +1 -0
  174. package/dist/cjs/internal/GitWorktree.js +276 -0
  175. package/dist/cjs/internal/GitWorktree.js.map +7 -0
  176. package/dist/cjs/internal/Grouping.d.ts +51 -0
  177. package/dist/cjs/internal/Grouping.d.ts.map +1 -0
  178. package/dist/cjs/internal/Grouping.js +83 -0
  179. package/dist/cjs/internal/Grouping.js.map +7 -0
  180. package/dist/cjs/internal/Html.d.ts +20 -0
  181. package/dist/cjs/internal/Html.d.ts.map +1 -0
  182. package/dist/cjs/internal/Html.js +81 -0
  183. package/dist/cjs/internal/Html.js.map +7 -0
  184. package/dist/cjs/internal/Http.d.ts +95 -0
  185. package/dist/cjs/internal/Http.d.ts.map +1 -0
  186. package/dist/cjs/internal/Http.js +153 -0
  187. package/dist/cjs/internal/Http.js.map +7 -0
  188. package/dist/cjs/internal/HttpNetwork.d.ts +27 -0
  189. package/dist/cjs/internal/HttpNetwork.d.ts.map +1 -0
  190. package/dist/cjs/internal/HttpNetwork.js +146 -0
  191. package/dist/cjs/internal/HttpNetwork.js.map +7 -0
  192. package/dist/cjs/internal/Ignore.d.ts +37 -0
  193. package/dist/cjs/internal/Ignore.d.ts.map +1 -0
  194. package/dist/cjs/internal/Ignore.js +100 -0
  195. package/dist/cjs/internal/Ignore.js.map +7 -0
  196. package/dist/cjs/internal/LinearRegex.d.ts +19 -0
  197. package/dist/cjs/internal/LinearRegex.d.ts.map +1 -0
  198. package/dist/cjs/internal/LinearRegex.js +166 -0
  199. package/dist/cjs/internal/LinearRegex.js.map +7 -0
  200. package/dist/cjs/internal/Match.d.ts +85 -0
  201. package/dist/cjs/internal/Match.d.ts.map +1 -0
  202. package/dist/cjs/internal/Match.js +99 -0
  203. package/dist/cjs/internal/Match.js.map +7 -0
  204. package/dist/cjs/internal/Paths.d.ts +23 -0
  205. package/dist/cjs/internal/Paths.d.ts.map +1 -0
  206. package/dist/cjs/internal/Paths.js +52 -0
  207. package/dist/cjs/internal/Paths.js.map +7 -0
  208. package/dist/cjs/internal/Preserve.d.ts +25 -0
  209. package/dist/cjs/internal/Preserve.d.ts.map +1 -0
  210. package/dist/cjs/internal/Preserve.js +88 -0
  211. package/dist/cjs/internal/Preserve.js.map +7 -0
  212. package/dist/cjs/internal/Prune.d.ts +35 -0
  213. package/dist/cjs/internal/Prune.d.ts.map +1 -0
  214. package/dist/cjs/internal/Prune.js +54 -0
  215. package/dist/cjs/internal/Prune.js.map +7 -0
  216. package/dist/cjs/internal/SearchContract.d.ts +63 -0
  217. package/dist/cjs/internal/SearchContract.d.ts.map +1 -0
  218. package/dist/cjs/internal/SearchContract.js +46 -0
  219. package/dist/cjs/internal/SearchContract.js.map +7 -0
  220. package/dist/cjs/internal/Symbols.d.ts +39 -0
  221. package/dist/cjs/internal/Symbols.d.ts.map +1 -0
  222. package/dist/cjs/internal/Symbols.js +59 -0
  223. package/dist/cjs/internal/Symbols.js.map +7 -0
  224. package/dist/cjs/internal/TestReport.d.ts +52 -0
  225. package/dist/cjs/internal/TestReport.d.ts.map +1 -0
  226. package/dist/cjs/internal/TestReport.js +131 -0
  227. package/dist/cjs/internal/TestReport.js.map +7 -0
  228. package/dist/cjs/internal/Text.d.ts +114 -0
  229. package/dist/cjs/internal/Text.d.ts.map +1 -0
  230. package/dist/cjs/internal/Text.js +82 -0
  231. package/dist/cjs/internal/Text.js.map +7 -0
  232. package/dist/cjs/internal/Url.d.ts +13 -0
  233. package/dist/cjs/internal/Url.d.ts.map +1 -0
  234. package/dist/cjs/internal/Url.js +35 -0
  235. package/dist/cjs/internal/Url.js.map +7 -0
  236. package/dist/cjs/internal/Walk.d.ts +72 -0
  237. package/dist/cjs/internal/Walk.d.ts.map +1 -0
  238. package/dist/cjs/internal/Walk.js +108 -0
  239. package/dist/cjs/internal/Walk.js.map +7 -0
  240. package/dist/cjs/package.json +1 -0
  241. package/dist/esm/ApplyPatch.d.ts +174 -0
  242. package/dist/esm/ApplyPatch.d.ts.map +1 -0
  243. package/dist/esm/ApplyPatch.js +346 -0
  244. package/dist/esm/ApplyPatch.js.map +1 -0
  245. package/dist/esm/Bash.d.ts +380 -0
  246. package/dist/esm/Bash.d.ts.map +1 -0
  247. package/dist/esm/Bash.js +505 -0
  248. package/dist/esm/Bash.js.map +1 -0
  249. package/dist/esm/Checkpoints.d.ts +279 -0
  250. package/dist/esm/Checkpoints.d.ts.map +1 -0
  251. package/dist/esm/Checkpoints.js +298 -0
  252. package/dist/esm/Checkpoints.js.map +1 -0
  253. package/dist/esm/Container.d.ts +132 -0
  254. package/dist/esm/Container.d.ts.map +1 -0
  255. package/dist/esm/Container.js +151 -0
  256. package/dist/esm/Container.js.map +1 -0
  257. package/dist/esm/Edit.d.ts +203 -0
  258. package/dist/esm/Edit.d.ts.map +1 -0
  259. package/dist/esm/Edit.js +296 -0
  260. package/dist/esm/Edit.js.map +1 -0
  261. package/dist/esm/ExaWebSearch.d.ts +22 -0
  262. package/dist/esm/ExaWebSearch.d.ts.map +1 -0
  263. package/dist/esm/ExaWebSearch.js +107 -0
  264. package/dist/esm/ExaWebSearch.js.map +1 -0
  265. package/dist/esm/Explore.d.ts +328 -0
  266. package/dist/esm/Explore.d.ts.map +1 -0
  267. package/dist/esm/Explore.js +106 -0
  268. package/dist/esm/Explore.js.map +1 -0
  269. package/dist/esm/Fetch.d.ts +130 -0
  270. package/dist/esm/Fetch.d.ts.map +1 -0
  271. package/dist/esm/Fetch.js +91 -0
  272. package/dist/esm/Fetch.js.map +1 -0
  273. package/dist/esm/Glob.d.ts +204 -0
  274. package/dist/esm/Glob.d.ts.map +1 -0
  275. package/dist/esm/Glob.js +177 -0
  276. package/dist/esm/Glob.js.map +1 -0
  277. package/dist/esm/Grep.d.ts +347 -0
  278. package/dist/esm/Grep.d.ts.map +1 -0
  279. package/dist/esm/Grep.js +289 -0
  280. package/dist/esm/Grep.js.map +1 -0
  281. package/dist/esm/HttpPost.d.ts +130 -0
  282. package/dist/esm/HttpPost.d.ts.map +1 -0
  283. package/dist/esm/HttpPost.js +89 -0
  284. package/dist/esm/HttpPost.js.map +1 -0
  285. package/dist/esm/LanguageServer.d.ts +90 -0
  286. package/dist/esm/LanguageServer.d.ts.map +1 -0
  287. package/dist/esm/LanguageServer.js +57 -0
  288. package/dist/esm/LanguageServer.js.map +1 -0
  289. package/dist/esm/Ls.d.ts +164 -0
  290. package/dist/esm/Ls.d.ts.map +1 -0
  291. package/dist/esm/Ls.js +178 -0
  292. package/dist/esm/Ls.js.map +1 -0
  293. package/dist/esm/Lsp.d.ts +125 -0
  294. package/dist/esm/Lsp.d.ts.map +1 -0
  295. package/dist/esm/Lsp.js +165 -0
  296. package/dist/esm/Lsp.js.map +1 -0
  297. package/dist/esm/Manifest.d.ts +918 -0
  298. package/dist/esm/Manifest.d.ts.map +1 -0
  299. package/dist/esm/Manifest.js +153 -0
  300. package/dist/esm/Manifest.js.map +1 -0
  301. package/dist/esm/NativeSearch.d.ts +38 -0
  302. package/dist/esm/NativeSearch.d.ts.map +1 -0
  303. package/dist/esm/NativeSearch.js +378 -0
  304. package/dist/esm/NativeSearch.js.map +1 -0
  305. package/dist/esm/NodeLanguageServer.d.ts +128 -0
  306. package/dist/esm/NodeLanguageServer.d.ts.map +1 -0
  307. package/dist/esm/NodeLanguageServer.js +843 -0
  308. package/dist/esm/NodeLanguageServer.js.map +1 -0
  309. package/dist/esm/PortableSearch.d.ts +24 -0
  310. package/dist/esm/PortableSearch.d.ts.map +1 -0
  311. package/dist/esm/PortableSearch.js +240 -0
  312. package/dist/esm/PortableSearch.js.map +1 -0
  313. package/dist/esm/Probe.d.ts +193 -0
  314. package/dist/esm/Probe.d.ts.map +1 -0
  315. package/dist/esm/Probe.js +225 -0
  316. package/dist/esm/Probe.js.map +1 -0
  317. package/dist/esm/Read.d.ts +189 -0
  318. package/dist/esm/Read.d.ts.map +1 -0
  319. package/dist/esm/Read.js +300 -0
  320. package/dist/esm/Read.js.map +1 -0
  321. package/dist/esm/Relocate.d.ts +73 -0
  322. package/dist/esm/Relocate.d.ts.map +1 -0
  323. package/dist/esm/Relocate.js +153 -0
  324. package/dist/esm/Relocate.js.map +1 -0
  325. package/dist/esm/Search.d.ts +163 -0
  326. package/dist/esm/Search.d.ts.map +1 -0
  327. package/dist/esm/Search.js +47 -0
  328. package/dist/esm/Search.js.map +1 -0
  329. package/dist/esm/SearchConformance.d.ts +115 -0
  330. package/dist/esm/SearchConformance.d.ts.map +1 -0
  331. package/dist/esm/SearchConformance.js +193 -0
  332. package/dist/esm/SearchConformance.js.map +1 -0
  333. package/dist/esm/SearchContract.d.ts +114 -0
  334. package/dist/esm/SearchContract.d.ts.map +1 -0
  335. package/dist/esm/SearchContract.js +461 -0
  336. package/dist/esm/SearchContract.js.map +1 -0
  337. package/dist/esm/ShellCommand.d.ts +164 -0
  338. package/dist/esm/ShellCommand.d.ts.map +1 -0
  339. package/dist/esm/ShellCommand.js +159 -0
  340. package/dist/esm/ShellCommand.js.map +1 -0
  341. package/dist/esm/StdError.d.ts +55 -0
  342. package/dist/esm/StdError.d.ts.map +1 -0
  343. package/dist/esm/StdError.js +71 -0
  344. package/dist/esm/StdError.js.map +1 -0
  345. package/dist/esm/TestRun.d.ts +311 -0
  346. package/dist/esm/TestRun.d.ts.map +1 -0
  347. package/dist/esm/TestRun.js +316 -0
  348. package/dist/esm/TestRun.js.map +1 -0
  349. package/dist/esm/TestRunner.d.ts +102 -0
  350. package/dist/esm/TestRunner.d.ts.map +1 -0
  351. package/dist/esm/TestRunner.js +68 -0
  352. package/dist/esm/TestRunner.js.map +1 -0
  353. package/dist/esm/TreeFingerprint.d.ts +140 -0
  354. package/dist/esm/TreeFingerprint.d.ts.map +1 -0
  355. package/dist/esm/TreeFingerprint.js +170 -0
  356. package/dist/esm/TreeFingerprint.js.map +1 -0
  357. package/dist/esm/UpdatePlan.d.ts +152 -0
  358. package/dist/esm/UpdatePlan.d.ts.map +1 -0
  359. package/dist/esm/UpdatePlan.js +129 -0
  360. package/dist/esm/UpdatePlan.js.map +1 -0
  361. package/dist/esm/WebFetch.d.ts +134 -0
  362. package/dist/esm/WebFetch.d.ts.map +1 -0
  363. package/dist/esm/WebFetch.js +151 -0
  364. package/dist/esm/WebFetch.js.map +1 -0
  365. package/dist/esm/WebSearch.d.ts +181 -0
  366. package/dist/esm/WebSearch.d.ts.map +1 -0
  367. package/dist/esm/WebSearch.js +134 -0
  368. package/dist/esm/WebSearch.js.map +1 -0
  369. package/dist/esm/Write.d.ts +147 -0
  370. package/dist/esm/Write.d.ts.map +1 -0
  371. package/dist/esm/Write.js +144 -0
  372. package/dist/esm/Write.js.map +1 -0
  373. package/dist/esm/index.d.ts +127 -0
  374. package/dist/esm/index.d.ts.map +1 -0
  375. package/dist/esm/index.js +127 -0
  376. package/dist/esm/index.js.map +1 -0
  377. package/dist/esm/internal/ApplyPatch.d.ts +145 -0
  378. package/dist/esm/internal/ApplyPatch.d.ts.map +1 -0
  379. package/dist/esm/internal/ApplyPatch.js +489 -0
  380. package/dist/esm/internal/ApplyPatch.js.map +1 -0
  381. package/dist/esm/internal/CodexText.d.ts +73 -0
  382. package/dist/esm/internal/CodexText.d.ts.map +1 -0
  383. package/dist/esm/internal/CodexText.js +156 -0
  384. package/dist/esm/internal/CodexText.js.map +1 -0
  385. package/dist/esm/internal/Declaration.d.ts +49 -0
  386. package/dist/esm/internal/Declaration.d.ts.map +1 -0
  387. package/dist/esm/internal/Declaration.js +42 -0
  388. package/dist/esm/internal/Declaration.js.map +1 -0
  389. package/dist/esm/internal/Diagnostics.d.ts +77 -0
  390. package/dist/esm/internal/Diagnostics.d.ts.map +1 -0
  391. package/dist/esm/internal/Diagnostics.js +99 -0
  392. package/dist/esm/internal/Diagnostics.js.map +1 -0
  393. package/dist/esm/internal/EnvelopePrecheck.d.ts +67 -0
  394. package/dist/esm/internal/EnvelopePrecheck.d.ts.map +1 -0
  395. package/dist/esm/internal/EnvelopePrecheck.js +167 -0
  396. package/dist/esm/internal/EnvelopePrecheck.js.map +1 -0
  397. package/dist/esm/internal/Exec.d.ts +139 -0
  398. package/dist/esm/internal/Exec.d.ts.map +1 -0
  399. package/dist/esm/internal/Exec.js +193 -0
  400. package/dist/esm/internal/Exec.js.map +1 -0
  401. package/dist/esm/internal/FileMutation.d.ts +109 -0
  402. package/dist/esm/internal/FileMutation.d.ts.map +1 -0
  403. package/dist/esm/internal/FileMutation.js +123 -0
  404. package/dist/esm/internal/FileMutation.js.map +1 -0
  405. package/dist/esm/internal/FsFailure.d.ts +38 -0
  406. package/dist/esm/internal/FsFailure.d.ts.map +1 -0
  407. package/dist/esm/internal/FsFailure.js +39 -0
  408. package/dist/esm/internal/FsFailure.js.map +1 -0
  409. package/dist/esm/internal/GitWorktree.d.ts +108 -0
  410. package/dist/esm/internal/GitWorktree.d.ts.map +1 -0
  411. package/dist/esm/internal/GitWorktree.js +352 -0
  412. package/dist/esm/internal/GitWorktree.js.map +1 -0
  413. package/dist/esm/internal/Grouping.d.ts +51 -0
  414. package/dist/esm/internal/Grouping.d.ts.map +1 -0
  415. package/dist/esm/internal/Grouping.js +99 -0
  416. package/dist/esm/internal/Grouping.js.map +1 -0
  417. package/dist/esm/internal/Html.d.ts +20 -0
  418. package/dist/esm/internal/Html.d.ts.map +1 -0
  419. package/dist/esm/internal/Html.js +70 -0
  420. package/dist/esm/internal/Html.js.map +1 -0
  421. package/dist/esm/internal/Http.d.ts +95 -0
  422. package/dist/esm/internal/Http.d.ts.map +1 -0
  423. package/dist/esm/internal/Http.js +154 -0
  424. package/dist/esm/internal/Http.js.map +1 -0
  425. package/dist/esm/internal/HttpNetwork.d.ts +27 -0
  426. package/dist/esm/internal/HttpNetwork.d.ts.map +1 -0
  427. package/dist/esm/internal/HttpNetwork.js +114 -0
  428. package/dist/esm/internal/HttpNetwork.js.map +1 -0
  429. package/dist/esm/internal/Ignore.d.ts +37 -0
  430. package/dist/esm/internal/Ignore.d.ts.map +1 -0
  431. package/dist/esm/internal/Ignore.js +128 -0
  432. package/dist/esm/internal/Ignore.js.map +1 -0
  433. package/dist/esm/internal/LinearRegex.d.ts +19 -0
  434. package/dist/esm/internal/LinearRegex.d.ts.map +1 -0
  435. package/dist/esm/internal/LinearRegex.js +176 -0
  436. package/dist/esm/internal/LinearRegex.js.map +1 -0
  437. package/dist/esm/internal/Match.d.ts +85 -0
  438. package/dist/esm/internal/Match.d.ts.map +1 -0
  439. package/dist/esm/internal/Match.js +142 -0
  440. package/dist/esm/internal/Match.js.map +1 -0
  441. package/dist/esm/internal/Paths.d.ts +23 -0
  442. package/dist/esm/internal/Paths.d.ts.map +1 -0
  443. package/dist/esm/internal/Paths.js +40 -0
  444. package/dist/esm/internal/Paths.js.map +1 -0
  445. package/dist/esm/internal/Preserve.d.ts +25 -0
  446. package/dist/esm/internal/Preserve.d.ts.map +1 -0
  447. package/dist/esm/internal/Preserve.js +70 -0
  448. package/dist/esm/internal/Preserve.js.map +1 -0
  449. package/dist/esm/internal/Prune.d.ts +35 -0
  450. package/dist/esm/internal/Prune.d.ts.map +1 -0
  451. package/dist/esm/internal/Prune.js +60 -0
  452. package/dist/esm/internal/Prune.js.map +1 -0
  453. package/dist/esm/internal/SearchContract.d.ts +63 -0
  454. package/dist/esm/internal/SearchContract.d.ts.map +1 -0
  455. package/dist/esm/internal/SearchContract.js +66 -0
  456. package/dist/esm/internal/SearchContract.js.map +1 -0
  457. package/dist/esm/internal/Symbols.d.ts +39 -0
  458. package/dist/esm/internal/Symbols.d.ts.map +1 -0
  459. package/dist/esm/internal/Symbols.js +79 -0
  460. package/dist/esm/internal/Symbols.js.map +1 -0
  461. package/dist/esm/internal/TestReport.d.ts +52 -0
  462. package/dist/esm/internal/TestReport.d.ts.map +1 -0
  463. package/dist/esm/internal/TestReport.js +172 -0
  464. package/dist/esm/internal/TestReport.js.map +1 -0
  465. package/dist/esm/internal/Text.d.ts +114 -0
  466. package/dist/esm/internal/Text.d.ts.map +1 -0
  467. package/dist/esm/internal/Text.js +130 -0
  468. package/dist/esm/internal/Text.js.map +1 -0
  469. package/dist/esm/internal/Url.d.ts +13 -0
  470. package/dist/esm/internal/Url.d.ts.map +1 -0
  471. package/dist/esm/internal/Url.js +27 -0
  472. package/dist/esm/internal/Url.js.map +1 -0
  473. package/dist/esm/internal/Walk.d.ts +72 -0
  474. package/dist/esm/internal/Walk.d.ts.map +1 -0
  475. package/dist/esm/internal/Walk.js +126 -0
  476. package/dist/esm/internal/Walk.js.map +1 -0
  477. package/docs/README.md +117 -0
  478. package/docs/api.md +472 -0
  479. package/docs/concepts/effects-and-capabilities.md +136 -0
  480. package/docs/concepts/flows-and-handlers.md +115 -0
  481. package/docs/concepts/limits-and-disclosure.md +102 -0
  482. package/docs/concepts/search-contract.md +182 -0
  483. package/docs/guides/bind-the-standard-flows.md +114 -0
  484. package/docs/guides/implement-a-search-peer.md +133 -0
  485. package/docs/guides/pin-a-checkpoint.md +141 -0
  486. package/docs/guides/query-a-language-server.md +257 -0
  487. package/docs/guides/reach-the-network.md +141 -0
  488. package/docs/guides/read-and-edit-a-file.md +240 -0
  489. package/docs/guides/run-a-shell-command.md +215 -0
  490. package/docs/guides/run-the-test-suite.md +154 -0
  491. package/docs/guides/search-a-workspace.md +148 -0
  492. package/docs/installation.md +111 -0
  493. package/docs/quickstart.md +125 -0
  494. package/docs/reference/flows.md +556 -0
  495. package/docs/troubleshooting.md +322 -0
  496. package/package.json +439 -3
  497. package/src/ApplyPatch.ts +458 -0
  498. package/src/Bash.ts +607 -0
  499. package/src/Checkpoints.ts +422 -0
  500. package/src/Container.ts +212 -0
  501. package/src/Edit.ts +366 -0
  502. package/src/ExaWebSearch.ts +145 -0
  503. package/src/Explore.ts +139 -0
  504. package/src/Fetch.ts +117 -0
  505. package/src/Glob.ts +200 -0
  506. package/src/Grep.ts +320 -0
  507. package/src/HttpPost.ts +120 -0
  508. package/src/LanguageServer.ts +110 -0
  509. package/src/Ls.ts +228 -0
  510. package/src/Lsp.ts +184 -0
  511. package/src/Manifest.ts +162 -0
  512. package/src/NativeSearch.ts +457 -0
  513. package/src/NodeLanguageServer.ts +1148 -0
  514. package/src/PortableSearch.ts +264 -0
  515. package/src/Probe.ts +284 -0
  516. package/src/Read.ts +359 -0
  517. package/src/Relocate.ts +166 -0
  518. package/src/Search.ts +185 -0
  519. package/src/SearchConformance.ts +288 -0
  520. package/src/SearchContract.ts +489 -0
  521. package/src/ShellCommand.ts +201 -0
  522. package/src/StdError.ts +80 -0
  523. package/src/TestRun.ts +401 -0
  524. package/src/TestRunner.ts +119 -0
  525. package/src/TreeFingerprint.ts +200 -0
  526. package/src/UpdatePlan.ts +171 -0
  527. package/src/WebFetch.ts +194 -0
  528. package/src/WebSearch.ts +165 -0
  529. package/src/Write.ts +195 -0
  530. package/src/index.ts +154 -0
  531. package/src/internal/ApplyPatch.ts +601 -0
  532. package/src/internal/CodexText.ts +182 -0
  533. package/src/internal/Declaration.ts +60 -0
  534. package/src/internal/Diagnostics.ts +134 -0
  535. package/src/internal/EnvelopePrecheck.ts +233 -0
  536. package/src/internal/Exec.ts +314 -0
  537. package/src/internal/FileMutation.ts +231 -0
  538. package/src/internal/FsFailure.ts +51 -0
  539. package/src/internal/GitWorktree.ts +491 -0
  540. package/src/internal/Grouping.ts +106 -0
  541. package/src/internal/Html.ts +87 -0
  542. package/src/internal/Http.ts +209 -0
  543. package/src/internal/HttpNetwork.ts +153 -0
  544. package/src/internal/Ignore.ts +135 -0
  545. package/src/internal/LinearRegex.ts +173 -0
  546. package/src/internal/Match.ts +172 -0
  547. package/src/internal/Paths.ts +42 -0
  548. package/src/internal/Preserve.ts +108 -0
  549. package/src/internal/Prune.ts +62 -0
  550. package/src/internal/SearchContract.ts +77 -0
  551. package/src/internal/Symbols.ts +88 -0
  552. package/src/internal/TestReport.ts +194 -0
  553. package/src/internal/Text.ts +170 -0
  554. package/src/internal/Url.ts +23 -0
  555. package/src/internal/Walk.ts +176 -0
@@ -0,0 +1,165 @@
1
+ /**
2
+ * The `websearch` flow and the provider seam it runs through.
3
+ *
4
+ * The flow is provider-neutral: it hands the query to the bound
5
+ * {@link WebSearch} service and returns normalized results. A host binds a
6
+ * provider such as `ExaWebSearch.layer`; {@link layerNoop} fails every search
7
+ * with `provider_unavailable`.
8
+ *
9
+ * @since 1.0.0
10
+ */
11
+
12
+ import { Context, Effect, Layer, Schema } from "effect"
13
+ import { capability, envelope } from "./internal/Declaration.ts"
14
+ import * as StdError from "./StdError.ts"
15
+
16
+ /**
17
+ * The registry name of the `websearch` flow.
18
+ *
19
+ * @category identifiers
20
+ * @since 1.0.0
21
+ */
22
+ export const name = "websearch"
23
+ /**
24
+ * The one-line description the model sees for the `websearch` flow.
25
+ *
26
+ * @category descriptions
27
+ * @since 1.0.0
28
+ */
29
+ export const description = "Search the web through a configured provider and return normalized results."
30
+ /**
31
+ * What the `websearch` flow accepts.
32
+ *
33
+ * @category schemas
34
+ * @since 1.0.0
35
+ */
36
+ export const Input = Schema.Struct({
37
+ query: Schema.NonEmptyString.annotate({ description: "Search query" }),
38
+ numResults: Schema.optional(Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 20 }))).annotate({
39
+ description: "Maximum number of results, from 1 through 20; defaults to 8"
40
+ }),
41
+ freshness: Schema.optional(Schema.Literals(["day", "week", "month", "year"])).annotate({
42
+ description: "Optional age limit for published results"
43
+ })
44
+ })
45
+ /**
46
+ * Decoded input accepted by the `websearch` flow.
47
+ *
48
+ * @category models
49
+ * @since 1.0.0
50
+ */
51
+ export type Input = typeof Input.Type
52
+ /**
53
+ * One search hit, normalized across providers.
54
+ *
55
+ * @category schemas
56
+ * @since 1.0.0
57
+ */
58
+ export const Result = Schema.Struct({
59
+ title: Schema.String.annotate({ description: "Result title" }),
60
+ url: Schema.String.annotate({ description: "Absolute result URL" }),
61
+ snippet: Schema.String.annotate({ description: "Provider-normalized result excerpt" }),
62
+ publishedAt: Schema.optional(Schema.String).annotate({
63
+ description: "Provider publication timestamp when available"
64
+ })
65
+ })
66
+ /**
67
+ * What the `websearch` flow returns.
68
+ *
69
+ * @category schemas
70
+ * @since 1.0.0
71
+ */
72
+ export const Output = Schema.Struct({ results: Schema.Array(Result) })
73
+ /**
74
+ * Decoded output returned by the `websearch` flow.
75
+ *
76
+ * @category models
77
+ * @since 1.0.0
78
+ */
79
+ export type Output = typeof Output.Type
80
+ /**
81
+ * The declared effect envelope of the `websearch` flow, before any input is known.
82
+ *
83
+ * @category effects
84
+ * @since 1.0.0
85
+ */
86
+ export const effects = envelope({ tier: "sealed", mode: "expected", reads: [], writes: [] })
87
+ /**
88
+ * Narrows {@link effects} to what this particular input actually touches.
89
+ *
90
+ * @category effects
91
+ * @since 1.0.0
92
+ */
93
+ export const effectsFor = (_input: typeof Input.Type) => effects
94
+ /**
95
+ * The authority the `websearch` flow requires.
96
+ *
97
+ * @category capabilities
98
+ * @since 1.0.0
99
+ */
100
+ export const capabilities = [capability("net:post", "*")]
101
+ /**
102
+ * The `websearch` flow declaration: schemas, capabilities, and effects, with the
103
+ * implementation attached separately.
104
+ *
105
+ * @category flows
106
+ * @since 1.0.0
107
+ */
108
+ export const flow = { name, description, input: Input, output: Output, capabilities, effects } as const
109
+
110
+ /**
111
+ * The provider seam a web search is served through.
112
+ *
113
+ * @category services
114
+ * @since 1.0.0
115
+ */
116
+ export interface WebSearch {
117
+ readonly search: (input: typeof Input.Type) => Effect.Effect<typeof Output.Type, StdError.StdError>
118
+ }
119
+ /**
120
+ * The {@link WebSearch} service tag.
121
+ *
122
+ * @category services
123
+ * @since 1.0.0
124
+ */
125
+ export const WebSearch: Context.Service<WebSearch, WebSearch> = Context.Service("@smthrs/std/WebSearch")
126
+ /**
127
+ * Builds a {@link WebSearch} from an implementation of its one method.
128
+ *
129
+ * @category constructors
130
+ * @since 1.0.0
131
+ */
132
+ export const make = (service: WebSearch): WebSearch => WebSearch.of(service)
133
+ /**
134
+ * A {@link WebSearch} that fails every search with `provider_unavailable`,
135
+ * for an environment with no provider configured.
136
+ *
137
+ * @category constructors
138
+ * @since 1.0.0
139
+ */
140
+ export const makeNoop = (): WebSearch =>
141
+ make({
142
+ search: () =>
143
+ Effect.fail(
144
+ new StdError.StdError({ code: "provider_unavailable", message: "No web search provider is configured" })
145
+ )
146
+ })
147
+ /**
148
+ * Provides {@link makeNoop}.
149
+ *
150
+ * @category layers
151
+ * @since 1.0.0
152
+ */
153
+ export const layerNoop: Layer.Layer<WebSearch> = Layer.succeed(WebSearch, makeNoop())
154
+ /**
155
+ * Runs the `websearch` flow: searches the web through the configured provider.
156
+ *
157
+ * @category handlers
158
+ * @since 1.0.0
159
+ */
160
+ export const run = Effect.fn("WebSearch.run")(function*(
161
+ input: typeof Input.Type
162
+ ): Effect.fn.Return<typeof Output.Type, StdError.StdError, WebSearch> {
163
+ const provider = yield* WebSearch
164
+ return yield* provider.search(input)
165
+ })
package/src/Write.ts ADDED
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Write flow declaration and portable handler.
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+
7
+ import * as Path from "@smthrs/kernel/Path"
8
+ import * as Effect from "effect/Effect"
9
+ import * as FileSystem from "effect/FileSystem"
10
+ import * as Schema from "effect/Schema"
11
+ import { capability, envelope } from "./internal/Declaration.ts"
12
+ import * as Diagnostics from "./internal/Diagnostics.ts"
13
+ import * as FileMutation from "./internal/FileMutation.ts"
14
+ import * as FsFailure from "./internal/FsFailure.ts"
15
+ import * as Preserve from "./internal/Preserve.ts"
16
+ import * as StdError from "./StdError.ts"
17
+
18
+ /**
19
+ * Registry name for the write flow.
20
+ *
21
+ * @category identifiers
22
+ * @since 1.0.0
23
+ */
24
+ export const name = "write"
25
+
26
+ /**
27
+ * Model-facing description of the write flow.
28
+ *
29
+ * @category descriptions
30
+ * @since 1.0.0
31
+ */
32
+ export const description =
33
+ "Write UTF-8 text to a path, replacing any existing file; parent directories are created. Prefer edit for targeted changes."
34
+
35
+ /**
36
+ * Input schema for the write flow.
37
+ *
38
+ * @category schemas
39
+ * @since 1.0.0
40
+ */
41
+ export const Input = Schema.Struct({
42
+ path: Schema.String.annotate({ description: "Path of the file to write" }),
43
+ content: Schema.String.annotate({ description: "Complete UTF-8 file contents" })
44
+ })
45
+
46
+ /**
47
+ * Decoded input accepted by the `write` flow.
48
+ *
49
+ * @category models
50
+ * @since 1.0.0
51
+ */
52
+ export type Input = typeof Input.Type
53
+
54
+ /**
55
+ * Output schema for the write flow.
56
+ *
57
+ * @category schemas
58
+ * @since 1.0.0
59
+ */
60
+ export const Output = Schema.Struct({
61
+ path: Schema.String.annotate({ description: "Path that was written" }),
62
+ bytesWritten: Schema.Number.annotate({ description: "Number of UTF-8 bytes written" }),
63
+ created: Schema.Boolean.annotate({ description: "Whether the file did not previously exist" })
64
+ })
65
+
66
+ /**
67
+ * Decoded output returned by the `write` flow.
68
+ *
69
+ * @category models
70
+ * @since 1.0.0
71
+ */
72
+ export type Output = typeof Output.Type
73
+
74
+ /**
75
+ * Static conservative effect envelope for the write flow.
76
+ *
77
+ * @category effects
78
+ * @since 1.0.0
79
+ */
80
+ export const effects = envelope({ tier: "compensable", mode: "hermetic", reads: ["/**"], writes: ["/**"] })
81
+
82
+ /**
83
+ * Narrows the write effect envelope to one input path.
84
+ *
85
+ * @category effects
86
+ * @since 1.0.0
87
+ */
88
+ export const effectsFor = (input: typeof Input.Type) =>
89
+ envelope({ tier: "compensable", mode: "hermetic", reads: [input.path], writes: [input.path] })
90
+
91
+ /**
92
+ * Capabilities required by the write flow.
93
+ *
94
+ * @category capabilities
95
+ * @since 1.0.0
96
+ */
97
+ export const capabilities = [capability("fs:read", "/**"), capability("fs:write", "/**")]
98
+
99
+ /**
100
+ * Declaration-only write flow.
101
+ *
102
+ * @category flows
103
+ * @since 1.0.0
104
+ */
105
+ export const flow = { name, description, input: Input, output: Output, capabilities, effects } as const
106
+
107
+ /**
108
+ * What a call to this flow does, for a reader of a run.
109
+ *
110
+ * Display metadata only. `@smthrs/registry` `Descriptor.FlowActivity` is the
111
+ * governing vocabulary and `StandardFlows` binds this value onto the flow's
112
+ * descriptor, where the binding site checks it. `declarationDigest` excludes
113
+ * it, so declaring it cannot invalidate a call identity or a cached prompt.
114
+ *
115
+ * @category presentation
116
+ * @since 1.0.0-rc.0
117
+ */
118
+ export const activity = "writes" as const
119
+
120
+ /**
121
+ * How one recorded call to this flow reads: the verb for each settlement, the
122
+ * input field that is its subject, and the measured output fields a one-line
123
+ * summary may count.
124
+ *
125
+ * Display metadata only, governed by `@smthrs/registry`
126
+ * `Descriptor.CallPresentation` and checked where `StandardFlows` binds it.
127
+ *
128
+ * @category presentation
129
+ * @since 1.0.0-rc.0
130
+ */
131
+ export const presentation = {
132
+ verb: { pending: "writing", success: "wrote", failure: "failed to write" },
133
+ subject: "path",
134
+ result: "write"
135
+ } as const
136
+
137
+ const writeError = (path: string, message: string): StdError.StdError =>
138
+ new StdError.StdError({ code: "command_failed", message, path })
139
+
140
+ /**
141
+ * Replaces a file's contents through the permission-aware kernel filesystem.
142
+ *
143
+ * @category handlers
144
+ * @since 1.0.0
145
+ */
146
+ export const run = Effect.fn("Write.run")(function*(
147
+ input: typeof Input.Type
148
+ ): Effect.fn.Return<typeof Output.Type, StdError.StdError, FileSystem.FileSystem | Path.Path> {
149
+ const fileSystem = yield* FileSystem.FileSystem
150
+ const path = yield* Path.Path
151
+ yield* FileMutation.validate(fileSystem, [input.path])
152
+ if (!FileMutation.isVersioned(fileSystem)) {
153
+ yield* fileSystem.makeDirectory(path.dirname(input.path), { recursive: true }).pipe(
154
+ Effect.mapError(
155
+ FsFailure.denied(
156
+ input.path,
157
+ () => writeError(input.path, `Could not create the parent directory of ${input.path}`)
158
+ )
159
+ )
160
+ )
161
+ }
162
+ return yield* Effect.scoped(Effect.gen(function*() {
163
+ const mutation = yield* FileMutation.acquire(fileSystem, [input.path], path)
164
+ const existed = yield* fileSystem.exists(input.path).pipe(Effect.orElseSucceed(() => false))
165
+ if (existed) {
166
+ const info = yield* fileSystem.stat(input.path).pipe(
167
+ Effect.mapError(
168
+ FsFailure.denied(input.path, () => writeError(input.path, `Could not inspect ${input.path} before writing`))
169
+ )
170
+ )
171
+ if (info.type === "Directory") {
172
+ return yield* Effect.fail(writeError(input.path, `Cannot write a file over directory ${input.path}`))
173
+ }
174
+ }
175
+ yield* mutation.commit(
176
+ [{
177
+ path: input.path,
178
+ content: new TextEncoder().encode(input.content)
179
+ }],
180
+ Preserve.writeFileString(fileSystem, input.path, input.content).pipe(
181
+ Effect.mapError((error) =>
182
+ error.reason.method === "chmod"
183
+ ? writeError(input.path, `Could not preserve the mode of ${input.path} before replacement by chmod`)
184
+ : FsFailure.denied(input.path, () => writeError(input.path, `Could not write ${input.path}`))(error)
185
+ )
186
+ )
187
+ )
188
+ yield* Diagnostics.sync(path.resolve(input.path), input.content)
189
+ return {
190
+ path: input.path,
191
+ bytesWritten: new TextEncoder().encode(input.content).byteLength,
192
+ created: !existed
193
+ }
194
+ }))
195
+ })
package/src/index.ts ADDED
@@ -0,0 +1,154 @@
1
+ /**
2
+ * `@smthrs/std`: the standard coding tools expressed as flows, the host
3
+ * services they bind, and the one error they share.
4
+ *
5
+ * @since 1.0.0
6
+ */
7
+
8
+ /**
9
+ * @category flows
10
+ * @since 1.0.0
11
+ */
12
+ export * as Read from "./Read.ts"
13
+
14
+ /**
15
+ * @category flows
16
+ * @since 1.0.0
17
+ */
18
+ export * as Write from "./Write.ts"
19
+
20
+ /**
21
+ * @category flows
22
+ * @since 1.0.0
23
+ */
24
+ export * as Edit from "./Edit.ts"
25
+
26
+ /**
27
+ * @category flows
28
+ * @since 1.0.0
29
+ */
30
+ export * as Ls from "./Ls.ts"
31
+
32
+ /**
33
+ * @category flows
34
+ * @since 1.0.0
35
+ */
36
+ export * as Glob from "./Glob.ts"
37
+
38
+ /**
39
+ * @category flows
40
+ * @since 1.0.0
41
+ */
42
+ export * as Grep from "./Grep.ts"
43
+
44
+ /** @category services @since 1.0.0 */
45
+ export * as Search from "./Search.ts"
46
+
47
+ /** @category services @since 1.0.0 */
48
+ export * as SearchContract from "./SearchContract.ts"
49
+
50
+ /** @category conformance @since 1.0.0 */
51
+ export * as SearchConformance from "./SearchConformance.ts"
52
+
53
+ /** @category layers @since 1.0.0 */
54
+ export * as PortableSearch from "./PortableSearch.ts"
55
+
56
+ /** @category layers @since 1.0.0 */
57
+ export * as NativeSearch from "./NativeSearch.ts"
58
+
59
+ /**
60
+ * @category flows
61
+ * @since 1.0.0
62
+ */
63
+ export * as Bash from "./Bash.ts"
64
+
65
+ /** @category services @since 1.0.0 */
66
+ export * as Container from "./Container.ts"
67
+
68
+ /**
69
+ * @category measurement
70
+ * @since 1.0.0
71
+ */
72
+ export * as TreeFingerprint from "./TreeFingerprint.ts"
73
+
74
+ /** @category services @since 1.0.0 */
75
+ export * as Checkpoints from "./Checkpoints.ts"
76
+
77
+ /** @category conversions @since 1.0.0 */
78
+ export * as Relocate from "./Relocate.ts"
79
+
80
+ /**
81
+ * @category flows
82
+ * @since 1.0.0
83
+ */
84
+ export * as TestRun from "./TestRun.ts"
85
+
86
+ /** @category services @since 1.0.0 */
87
+ export * as TestRunner from "./TestRunner.ts"
88
+
89
+ /**
90
+ * @category classification
91
+ * @since 1.0.0
92
+ */
93
+ export * as Probe from "./Probe.ts"
94
+
95
+ /**
96
+ * @category flows
97
+ * @since 1.0.0
98
+ */
99
+ export * as ApplyPatch from "./ApplyPatch.ts"
100
+
101
+ /**
102
+ * @category flows
103
+ * @since 1.0.0
104
+ */
105
+ export * as ShellCommand from "./ShellCommand.ts"
106
+
107
+ /**
108
+ * @category flows
109
+ * @since 1.0.0
110
+ */
111
+ export * as UpdatePlan from "./UpdatePlan.ts"
112
+
113
+ /**
114
+ * @category flows
115
+ * @since 1.0.0
116
+ */
117
+ export * as Fetch from "./Fetch.ts"
118
+
119
+ /**
120
+ * @category flows
121
+ * @since 1.0.0
122
+ */
123
+ export * as HttpPost from "./HttpPost.ts"
124
+
125
+ /**
126
+ * @category flows
127
+ * @since 1.0.0
128
+ */
129
+ export * as Explore from "./Explore.ts"
130
+
131
+ /** @category flows @since 1.0.0 */
132
+ export * as WebFetch from "./WebFetch.ts"
133
+ /** @category flows @since 1.0.0 */
134
+ export * as WebSearch from "./WebSearch.ts"
135
+ /** @category services @since 1.0.0 */
136
+ export * as ExaWebSearch from "./ExaWebSearch.ts"
137
+ /** @category services @since 1.0.0 */
138
+ export * as LanguageServer from "./LanguageServer.ts"
139
+ /** @category layers @since 1.0.0 */
140
+ export * as NodeLanguageServer from "./NodeLanguageServer.ts"
141
+ /** @category flows @since 1.0.0 */
142
+ export * as Lsp from "./Lsp.ts"
143
+
144
+ /**
145
+ * @category registries
146
+ * @since 1.0.0
147
+ */
148
+ export * as Manifest from "./Manifest.ts"
149
+
150
+ /**
151
+ * @category errors
152
+ * @since 1.0.0
153
+ */
154
+ export * as StdError from "./StdError.ts"