@greenpandastudios/aug-cli 0.19.0

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 (414) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/THIRD_PARTY_NOTICES.md +18 -0
  4. package/bin/aug.mjs +3 -0
  5. package/docs/api/crypto.md +351 -0
  6. package/docs/api/io.md +207 -0
  7. package/docs/api/json.md +21 -0
  8. package/docs/api/memory.md +109 -0
  9. package/docs/api/time.md +54 -0
  10. package/docs/api/web.md +184 -0
  11. package/docs/assets/benchmarks/execution.svg +2978 -0
  12. package/docs/assets/benchmarks/http.svg +1674 -0
  13. package/docs/assets/benchmarks/improvements.svg +2315 -0
  14. package/docs/assets/benchmarks/memory.svg +1891 -0
  15. package/docs/benchmark-baseline.json +1087 -0
  16. package/docs/benchmark-results.json +91123 -0
  17. package/docs/benchmarks.json +38 -0
  18. package/docs/compatibility.md +42 -0
  19. package/docs/concurrency-implementation.md +18 -0
  20. package/docs/diagnostics.md +97 -0
  21. package/docs/docker.md +35 -0
  22. package/docs/example-projects.json +26 -0
  23. package/docs/examples/approved-design/counters.md +253 -0
  24. package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +395 -0
  25. package/docs/examples/approved-design/domain/app.md +165 -0
  26. package/docs/examples/approved-design/domain/export.md +83 -0
  27. package/docs/examples/approved-design/domain/models.md +80 -0
  28. package/docs/examples/approved-design/domain/numbers.md +248 -0
  29. package/docs/examples/approved-design/index.md +39 -0
  30. package/docs/examples/approved-design/main-yaml.md +24 -0
  31. package/docs/examples/approved-design/main.md +215 -0
  32. package/docs/examples/benchmark/index.md +33 -0
  33. package/docs/examples/benchmark/main-yaml.md +17 -0
  34. package/docs/examples/benchmark/main.md +117 -0
  35. package/docs/examples/cli-args/index.md +32 -0
  36. package/docs/examples/cli-args/main.md +107 -0
  37. package/docs/examples/collections/index.md +32 -0
  38. package/docs/examples/collections/main.md +118 -0
  39. package/docs/examples/collections-benchmark/index.md +34 -0
  40. package/docs/examples/collections-benchmark/main.md +115 -0
  41. package/docs/examples/cpu-benchmark/index.md +34 -0
  42. package/docs/examples/cpu-benchmark/main.md +90 -0
  43. package/docs/examples/developer-workflow/calculator.md +357 -0
  44. package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +395 -0
  45. package/docs/examples/developer-workflow/index.md +37 -0
  46. package/docs/examples/developer-workflow/logging/console.md +124 -0
  47. package/docs/examples/developer-workflow/logging/export.md +70 -0
  48. package/docs/examples/developer-workflow/logging/logger.md +111 -0
  49. package/docs/examples/developer-workflow/main.md +172 -0
  50. package/docs/examples/drop/index.md +33 -0
  51. package/docs/examples/drop/main.md +85 -0
  52. package/docs/examples/drop/resource.md +95 -0
  53. package/docs/examples/errors/errors.md +85 -0
  54. package/docs/examples/errors/index.md +33 -0
  55. package/docs/examples/errors/main.md +92 -0
  56. package/docs/examples/ffi/index.md +33 -0
  57. package/docs/examples/ffi/main.md +75 -0
  58. package/docs/examples/ffi/native.md +93 -0
  59. package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +395 -0
  60. package/docs/examples/generic-di/index.md +33 -0
  61. package/docs/examples/generic-di/main.md +111 -0
  62. package/docs/examples/generic-di/types.md +180 -0
  63. package/docs/examples/generics/index.md +33 -0
  64. package/docs/examples/generics/main.md +120 -0
  65. package/docs/examples/generics/types.md +189 -0
  66. package/docs/examples/hello/app/export.md +67 -0
  67. package/docs/examples/hello/app/greeter.md +190 -0
  68. package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +395 -0
  69. package/docs/examples/hello/index.md +37 -0
  70. package/docs/examples/hello/logging/console.md +121 -0
  71. package/docs/examples/hello/logging/export.md +71 -0
  72. package/docs/examples/hello/logging/logger.md +120 -0
  73. package/docs/examples/hello/main.md +115 -0
  74. package/docs/examples/http-benchmark/index.md +35 -0
  75. package/docs/examples/http-benchmark/main.md +79 -0
  76. package/docs/examples/http-benchmark/routes.md +88 -0
  77. package/docs/examples/index.md +60 -0
  78. package/docs/examples/interceptors/app.md +250 -0
  79. package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +395 -0
  80. package/docs/examples/interceptors/index.md +35 -0
  81. package/docs/examples/interceptors/interceptors.md +284 -0
  82. package/docs/examples/interceptors/logging.md +155 -0
  83. package/docs/examples/interceptors/main.md +162 -0
  84. package/docs/examples/json-benchmark/data.md +71 -0
  85. package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +103 -0
  86. package/docs/examples/json-benchmark/index.md +35 -0
  87. package/docs/examples/json-benchmark/main.md +131 -0
  88. package/docs/examples/new-syntax/console.md +118 -0
  89. package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +395 -0
  90. package/docs/examples/new-syntax/greeter.md +145 -0
  91. package/docs/examples/new-syntax/index.md +36 -0
  92. package/docs/examples/new-syntax/logger.md +111 -0
  93. package/docs/examples/new-syntax/main.md +135 -0
  94. package/docs/examples/new-syntax/math.md +79 -0
  95. package/docs/examples/oidc-login/client/contracts.md +151 -0
  96. package/docs/examples/oidc-login/client/endpoints.md +263 -0
  97. package/docs/examples/oidc-login/client/export.md +107 -0
  98. package/docs/examples/oidc-login/client/login.md +515 -0
  99. package/docs/examples/oidc-login/client/logout.md +249 -0
  100. package/docs/examples/oidc-login/client/protocol.md +595 -0
  101. package/docs/examples/oidc-login/client/session.md +297 -0
  102. package/docs/examples/oidc-login/client/views.md +144 -0
  103. package/docs/examples/oidc-login/common/export.md +115 -0
  104. package/docs/examples/oidc-login/common/headers.md +162 -0
  105. package/docs/examples/oidc-login/common/keys.md +336 -0
  106. package/docs/examples/oidc-login/common/settings.md +116 -0
  107. package/docs/examples/oidc-login/common/views.md +103 -0
  108. package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +925 -0
  109. package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +434 -0
  110. package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +103 -0
  111. package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +374 -0
  112. package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +150 -0
  113. package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +532 -0
  114. package/docs/examples/oidc-login/index.md +57 -0
  115. package/docs/examples/oidc-login/main-yaml.md +28 -0
  116. package/docs/examples/oidc-login/main.md +283 -0
  117. package/docs/examples/oidc-login/provider/authorization.md +457 -0
  118. package/docs/examples/oidc-login/provider/contracts.md +267 -0
  119. package/docs/examples/oidc-login/provider/credentials.md +148 -0
  120. package/docs/examples/oidc-login/provider/discovery.md +215 -0
  121. package/docs/examples/oidc-login/provider/export.md +131 -0
  122. package/docs/examples/oidc-login/provider/token.md +364 -0
  123. package/docs/examples/oidc-login/provider/userinfo.md +228 -0
  124. package/docs/examples/oidc-login/provider/views.md +137 -0
  125. package/docs/examples/ownership/counter.md +140 -0
  126. package/docs/examples/ownership/index.md +33 -0
  127. package/docs/examples/ownership/main.md +90 -0
  128. package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +395 -0
  129. package/docs/examples/ownership-transfer/index.md +33 -0
  130. package/docs/examples/ownership-transfer/main.md +125 -0
  131. package/docs/examples/ownership-transfer/resource.md +150 -0
  132. package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +117 -0
  133. package/docs/examples/packages-app/index.md +34 -0
  134. package/docs/examples/packages-app/main-yaml.md +18 -0
  135. package/docs/examples/packages-app/main.md +80 -0
  136. package/docs/examples/packages-math/aug-package-json.md +24 -0
  137. package/docs/examples/packages-math/index.md +36 -0
  138. package/docs/examples/packages-math/package-json.md +25 -0
  139. package/docs/examples/packages-math/src/arithmetic.md +121 -0
  140. package/docs/examples/packages-math/src/export.md +63 -0
  141. package/docs/examples/startup-benchmark/index.md +34 -0
  142. package/docs/examples/startup-benchmark/main.md +68 -0
  143. package/docs/examples/visibility/counter.md +142 -0
  144. package/docs/examples/visibility/index.md +33 -0
  145. package/docs/examples/visibility/main.md +96 -0
  146. package/docs/examples.json +47 -0
  147. package/docs/getting-started.md +5 -0
  148. package/docs/grammar.md +136 -0
  149. package/docs/implementation-map.md +106 -0
  150. package/docs/index.md +46 -0
  151. package/docs/language-conformance.md +30 -0
  152. package/docs/language-constructs.md +1461 -0
  153. package/docs/language-design-audit.md +147 -0
  154. package/docs/maintaining-docs.md +43 -0
  155. package/docs/packages.md +184 -0
  156. package/docs/performance.md +535 -0
  157. package/docs/production-readiness.md +39 -0
  158. package/docs/reference.md +361 -0
  159. package/docs/release-review.md +23 -0
  160. package/docs/releasing.md +79 -0
  161. package/docs/roadmap.md +13 -0
  162. package/docs/specifications.md +86 -0
  163. package/docs/testing.md +120 -0
  164. package/docs/tooling.md +197 -0
  165. package/docs/web-implementation-plan.md +39 -0
  166. package/docs/web-library-gaps.md +27 -0
  167. package/docs/web.md +197 -0
  168. package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  169. package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  170. package/examples/approved-design/.aug-spec/manifest.json +14 -0
  171. package/examples/approved-design/counters.aug +22 -0
  172. package/examples/approved-design/counters.aug.md +177 -0
  173. package/examples/approved-design/domain/app.aug +12 -0
  174. package/examples/approved-design/domain/app.aug.md +97 -0
  175. package/examples/approved-design/domain/export.aug +5 -0
  176. package/examples/approved-design/domain/export.aug.md +25 -0
  177. package/examples/approved-design/domain/models.aug +2 -0
  178. package/examples/approved-design/domain/models.aug.md +30 -0
  179. package/examples/approved-design/domain/numbers.aug +29 -0
  180. package/examples/approved-design/domain/numbers.aug.md +141 -0
  181. package/examples/approved-design/main.aug +26 -0
  182. package/examples/approved-design/main.aug.md +108 -0
  183. package/examples/approved-design/main.yaml +8 -0
  184. package/examples/benchmark/.aug-spec/manifest.json +7 -0
  185. package/examples/benchmark/main.aug +17 -0
  186. package/examples/benchmark/main.aug.md +43 -0
  187. package/examples/benchmark/main.yaml +1 -0
  188. package/examples/cli-args/.aug-spec/manifest.json +7 -0
  189. package/examples/cli-args/main.aug +15 -0
  190. package/examples/cli-args/main.aug.md +38 -0
  191. package/examples/collections/.aug-spec/manifest.json +7 -0
  192. package/examples/collections/main.aug +18 -0
  193. package/examples/collections/main.aug.md +43 -0
  194. package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  195. package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  196. package/examples/developer-workflow/.aug-spec/manifest.json +13 -0
  197. package/examples/developer-workflow/calculator.aug +55 -0
  198. package/examples/developer-workflow/calculator.aug.md +228 -0
  199. package/examples/developer-workflow/logging/console.aug +8 -0
  200. package/examples/developer-workflow/logging/console.aug.md +67 -0
  201. package/examples/developer-workflow/logging/export.aug +2 -0
  202. package/examples/developer-workflow/logging/export.aug.md +19 -0
  203. package/examples/developer-workflow/logging/logger.aug +6 -0
  204. package/examples/developer-workflow/logging/logger.aug.md +57 -0
  205. package/examples/developer-workflow/main.aug +25 -0
  206. package/examples/developer-workflow/main.aug.md +79 -0
  207. package/examples/drop/.aug-spec/manifest.json +8 -0
  208. package/examples/drop/main.aug +3 -0
  209. package/examples/drop/main.aug.md +35 -0
  210. package/examples/drop/resource.aug +8 -0
  211. package/examples/drop/resource.aug.md +44 -0
  212. package/examples/errors/.aug-spec/manifest.json +8 -0
  213. package/examples/errors/errors.aug +6 -0
  214. package/examples/errors/errors.aug.md +33 -0
  215. package/examples/errors/main.aug +7 -0
  216. package/examples/errors/main.aug.md +36 -0
  217. package/examples/ffi/.aug-spec/manifest.json +8 -0
  218. package/examples/ffi/main.aug +2 -0
  219. package/examples/ffi/main.aug.md +27 -0
  220. package/examples/ffi/native.aug +6 -0
  221. package/examples/ffi/native.aug.md +43 -0
  222. package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  223. package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  224. package/examples/generic-di/.aug-spec/manifest.json +10 -0
  225. package/examples/generic-di/main.aug +9 -0
  226. package/examples/generic-di/main.aug.md +49 -0
  227. package/examples/generic-di/types.aug +17 -0
  228. package/examples/generic-di/types.aug.md +124 -0
  229. package/examples/generics/.aug-spec/manifest.json +8 -0
  230. package/examples/generics/main.aug +9 -0
  231. package/examples/generics/main.aug.md +58 -0
  232. package/examples/generics/types.aug +19 -0
  233. package/examples/generics/types.aug.md +132 -0
  234. package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  235. package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  236. package/examples/hello/.aug-spec/manifest.json +14 -0
  237. package/examples/hello/app/export.aug +1 -0
  238. package/examples/hello/app/export.aug.md +17 -0
  239. package/examples/hello/app/greeter.aug +22 -0
  240. package/examples/hello/app/greeter.aug.md +109 -0
  241. package/examples/hello/logging/console.aug +7 -0
  242. package/examples/hello/logging/console.aug.md +65 -0
  243. package/examples/hello/logging/export.aug +2 -0
  244. package/examples/hello/logging/export.aug.md +19 -0
  245. package/examples/hello/logging/logger.aug +9 -0
  246. package/examples/hello/logging/logger.aug.md +59 -0
  247. package/examples/hello/main.aug +9 -0
  248. package/examples/hello/main.aug.md +49 -0
  249. package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  250. package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  251. package/examples/interceptors/.aug-spec/manifest.json +12 -0
  252. package/examples/interceptors/app.aug +28 -0
  253. package/examples/interceptors/app.aug.md +162 -0
  254. package/examples/interceptors/interceptors.aug +40 -0
  255. package/examples/interceptors/interceptors.aug.md +180 -0
  256. package/examples/interceptors/logging.aug +12 -0
  257. package/examples/interceptors/logging.aug.md +96 -0
  258. package/examples/interceptors/main.aug +22 -0
  259. package/examples/interceptors/main.aug.md +76 -0
  260. package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  261. package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  262. package/examples/new-syntax/.aug-spec/manifest.json +13 -0
  263. package/examples/new-syntax/console.aug +7 -0
  264. package/examples/new-syntax/console.aug.md +63 -0
  265. package/examples/new-syntax/greeter.aug +10 -0
  266. package/examples/new-syntax/greeter.aug.md +89 -0
  267. package/examples/new-syntax/logger.aug +6 -0
  268. package/examples/new-syntax/logger.aug.md +57 -0
  269. package/examples/new-syntax/main.aug +12 -0
  270. package/examples/new-syntax/main.aug.md +64 -0
  271. package/examples/new-syntax/math.aug +3 -0
  272. package/examples/new-syntax/math.aug.md +29 -0
  273. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug +73 -0
  274. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +791 -0
  275. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug +68 -0
  276. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +266 -0
  277. package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug +6 -0
  278. package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +55 -0
  279. package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug +45 -0
  280. package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +250 -0
  281. package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug +11 -0
  282. package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +96 -0
  283. package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug +58 -0
  284. package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +420 -0
  285. package/examples/oidc-login/.aug-spec/manifest.json +40 -0
  286. package/examples/oidc-login/README.md +29 -0
  287. package/examples/oidc-login/client/contracts.aug +7 -0
  288. package/examples/oidc-login/client/contracts.aug.md +80 -0
  289. package/examples/oidc-login/client/endpoints.aug +21 -0
  290. package/examples/oidc-login/client/endpoints.aug.md +161 -0
  291. package/examples/oidc-login/client/export.aug +7 -0
  292. package/examples/oidc-login/client/export.aug.md +29 -0
  293. package/examples/oidc-login/client/login.aug +58 -0
  294. package/examples/oidc-login/client/login.aug.md +331 -0
  295. package/examples/oidc-login/client/logout.aug +18 -0
  296. package/examples/oidc-login/client/logout.aug.md +150 -0
  297. package/examples/oidc-login/client/protocol.aug +106 -0
  298. package/examples/oidc-login/client/protocol.aug.md +326 -0
  299. package/examples/oidc-login/client/session.aug +34 -0
  300. package/examples/oidc-login/client/session.aug.md +155 -0
  301. package/examples/oidc-login/client/views.aug +21 -0
  302. package/examples/oidc-login/client/views.aug.md +68 -0
  303. package/examples/oidc-login/common/export.aug +9 -0
  304. package/examples/oidc-login/common/export.aug.md +33 -0
  305. package/examples/oidc-login/common/headers.aug +11 -0
  306. package/examples/oidc-login/common/headers.aug.md +79 -0
  307. package/examples/oidc-login/common/keys.aug +37 -0
  308. package/examples/oidc-login/common/keys.aug.md +207 -0
  309. package/examples/oidc-login/common/settings.aug +4 -0
  310. package/examples/oidc-login/common/settings.aug.md +47 -0
  311. package/examples/oidc-login/common/views.aug +16 -0
  312. package/examples/oidc-login/common/views.aug.md +34 -0
  313. package/examples/oidc-login/main.aug +39 -0
  314. package/examples/oidc-login/main.aug.md +166 -0
  315. package/examples/oidc-login/main.yaml +12 -0
  316. package/examples/oidc-login/provider/authorization.aug +59 -0
  317. package/examples/oidc-login/provider/authorization.aug.md +264 -0
  318. package/examples/oidc-login/provider/contracts.aug +15 -0
  319. package/examples/oidc-login/provider/contracts.aug.md +193 -0
  320. package/examples/oidc-login/provider/credentials.aug +10 -0
  321. package/examples/oidc-login/provider/credentials.aug.md +64 -0
  322. package/examples/oidc-login/provider/discovery.aug +13 -0
  323. package/examples/oidc-login/provider/discovery.aug.md +133 -0
  324. package/examples/oidc-login/provider/export.aug +13 -0
  325. package/examples/oidc-login/provider/export.aug.md +41 -0
  326. package/examples/oidc-login/provider/token.aug +37 -0
  327. package/examples/oidc-login/provider/token.aug.md +223 -0
  328. package/examples/oidc-login/provider/userinfo.aug +26 -0
  329. package/examples/oidc-login/provider/userinfo.aug.md +104 -0
  330. package/examples/oidc-login/provider/views.aug +18 -0
  331. package/examples/oidc-login/provider/views.aug.md +63 -0
  332. package/examples/ownership/.aug-spec/manifest.json +8 -0
  333. package/examples/ownership/counter.aug +14 -0
  334. package/examples/ownership/counter.aug.md +85 -0
  335. package/examples/ownership/main.aug +4 -0
  336. package/examples/ownership/main.aug.md +38 -0
  337. package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  338. package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  339. package/examples/ownership-transfer/.aug-spec/manifest.json +10 -0
  340. package/examples/ownership-transfer/main.aug +9 -0
  341. package/examples/ownership-transfer/main.aug.md +63 -0
  342. package/examples/ownership-transfer/resource.aug +16 -0
  343. package/examples/ownership-transfer/resource.aug.md +89 -0
  344. package/examples/packages/README.md +15 -0
  345. package/examples/packages/app/.aug-spec/manifest.json +9 -0
  346. package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +9 -0
  347. package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +63 -0
  348. package/examples/packages/app/main.aug +2 -0
  349. package/examples/packages/app/main.aug.md +33 -0
  350. package/examples/packages/app/main.yaml +2 -0
  351. package/examples/packages/math/.aug-spec/manifest.json +8 -0
  352. package/examples/packages/math/README.md +3 -0
  353. package/examples/packages/math/aug-package.json +8 -0
  354. package/examples/packages/math/package.json +9 -0
  355. package/examples/packages/math/src/arithmetic.aug +8 -0
  356. package/examples/packages/math/src/arithmetic.aug.md +63 -0
  357. package/examples/packages/math/src/export.aug +1 -0
  358. package/examples/packages/math/src/export.aug.md +17 -0
  359. package/examples/visibility/.aug-spec/manifest.json +8 -0
  360. package/examples/visibility/counter.aug +14 -0
  361. package/examples/visibility/counter.aug.md +87 -0
  362. package/examples/visibility/main.aug +7 -0
  363. package/examples/visibility/main.aug.md +39 -0
  364. package/package.json +50 -0
  365. package/runtime/aug_crypto.c +121 -0
  366. package/runtime/aug_html.c +93 -0
  367. package/runtime/aug_http.c +829 -0
  368. package/runtime/aug_json.c +165 -0
  369. package/runtime/aug_runtime.c +792 -0
  370. package/runtime/aug_runtime.h +245 -0
  371. package/runtime/aug_tasks.c +172 -0
  372. package/runtime/aug_time.c +5 -0
  373. package/runtime/aug_values.c +80 -0
  374. package/scripts/bootstrap-native.mjs +121 -0
  375. package/scripts/native-dependencies.lock.json +65 -0
  376. package/scripts/native-home.mjs +11 -0
  377. package/src/actions.js +109 -0
  378. package/src/ast.js +19 -0
  379. package/src/builtins.js +93 -0
  380. package/src/checker.js +2896 -0
  381. package/src/cli.js +344 -0
  382. package/src/codegen.js +1159 -0
  383. package/src/config.js +149 -0
  384. package/src/continuation.js +110 -0
  385. package/src/di.js +24 -0
  386. package/src/documentation.js +27 -0
  387. package/src/editor.js +782 -0
  388. package/src/effects.js +29 -0
  389. package/src/fixes.js +222 -0
  390. package/src/formatter.js +296 -0
  391. package/src/freshness.js +154 -0
  392. package/src/help.js +212 -0
  393. package/src/html.js +27 -0
  394. package/src/http-policies.js +90 -0
  395. package/src/inference.js +16 -0
  396. package/src/interceptors.js +70 -0
  397. package/src/javadoc.js +67 -0
  398. package/src/lexer.js +199 -0
  399. package/src/libraries.js +31 -0
  400. package/src/lsp.js +180 -0
  401. package/src/native.js +144 -0
  402. package/src/navigation.js +162 -0
  403. package/src/openapi.js +220 -0
  404. package/src/ownership.js +232 -0
  405. package/src/package-manager.js +299 -0
  406. package/src/parser.js +1155 -0
  407. package/src/policies.js +130 -0
  408. package/src/project-init.js +19 -0
  409. package/src/project.js +292 -0
  410. package/src/schemas.js +62 -0
  411. package/src/semantic.js +255 -0
  412. package/src/spec.js +738 -0
  413. package/src/testing.js +186 -0
  414. package/src/types.js +10 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 AugScript contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # August CLI
2
+
3
+ `@greenpandastudios/aug-cli` installs `aug` and `aug-cli` (compiler, project starter, native builds, tests and language server) and `aug-native` (explicit native dependency bootstrap).
4
+
5
+ Requires Node.js 24+ and a C11 compiler. The CLI installs matching standard, web and crypto packages. Source imports remain `august.io`, `august.web`, and `august.crypto`.
6
+
7
+ ```sh
8
+ npx @greenpandastudios/aug-cli@next init hello-august
9
+ ```
10
+
11
+ The starter refuses a nonempty directory. It includes `main.aug`, an interface and implementation with a same-file test, and a README. Early npm releases use `@next`; publication status is tracked in the installation guide. Native builds support macOS and Linux.
12
+
13
+ See [installation](https://github.com/GreenPandaStudios/augscript/blob/main/docs/packages.md), [the language wiki](https://GreenPandaStudios.github.io/augscript/) and [the repository](https://github.com/GreenPandaStudios/augscript). Guides and examples are included in this package.
@@ -0,0 +1,18 @@
1
+ # Native dependency sources
2
+
3
+ August's compiler/runtime code is MIT licensed. Native dependencies are downloaded explicitly by `aug-native` or `scripts/bootstrap-native.mjs`; their source archives, headers and binaries are not included in these source/npm/VSIX artifacts. Versions and archive checksums are pinned in `scripts/native-dependencies.lock.json`.
4
+
5
+ | Dependency | Official source and license information |
6
+ | --- | --- |
7
+ | CMake | [Kitware CMake](https://github.com/Kitware/CMake), `Copyright.txt` |
8
+ | GMP | [GNU GMP](https://gmplib.org/manual/Copying), LGPL 3 or later or GPL 2 or later; `COPYING` and `COPYING.LESSERv3` in its source archive |
9
+ | Nettle | [GNU Nettle](https://www.lysator.liu.se/~nisse/nettle/), LGPL 3 or later or GPL 2 or later; source archive license files |
10
+ | GnuTLS | [GnuTLS](https://www.gnutls.org/), LGPL 2.1 or later core; `COPYING` and `COPYING.LESSERv2` in its source archive |
11
+ | libtasn1, included by GnuTLS build | [GNU libtasn1](https://www.gnu.org/software/libtasn1/), LGPL 2.1 or later; inspect bundled source license files |
12
+ | libunistring, included by GnuTLS build | [GNU libunistring](https://www.gnu.org/software/libunistring/manual/html_node/Licenses.html), LGPL 3 or later or GPL 2 or later; inspect bundled source license files |
13
+ | libwebsockets | [libwebsockets](https://github.com/warmcat/libwebsockets/blob/main/LICENSE), MIT core with additional notices for selected bundled files; `LICENSE` |
14
+ | yyjson | [yyjson](https://github.com/ibireme/yyjson/blob/master/LICENSE), MIT |
15
+ | minicoro | [minicoro](https://github.com/edubart/minicoro/blob/main/LICENSE), public domain or MIT No Attribution |
16
+ | zlib | Host system library; [zlib](https://zlib.net/zlib_license.html) |
17
+
18
+ Applications built using web/crypto link native libraries from the selected dependency prefix. Redistributors of compiled applications must preserve the notices and satisfy the licenses of the libraries they include. The release process currently distributes compiler/library source packages and VSIX rather than prebuilt native dependency bundles.
package/bin/aug.mjs ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { main } from '../src/cli.js';
3
+ process.exitCode = await main(process.argv.slice(2));
@@ -0,0 +1,351 @@
1
+ ---
2
+ generated: true
3
+ source: src/stdlib/crypto
4
+ editLink: false
5
+ ---
6
+
7
+ # august.crypto
8
+
9
+ Public declarations exported by this module. Import names explicitly from `august.crypto`. Built-in wire/value types are described in [language constructs](../language-constructs.md).
10
+
11
+ - [Crypto](#api-Crypto)
12
+ - [GnuTlsCrypto](#api-GnuTlsCrypto)
13
+ - [JwtError](#api-JwtError)
14
+ - [RsaJwk](#api-RsaJwk)
15
+ - [RsaJwks](#api-RsaJwks)
16
+ - [rsaJwk](#api-rsaJwk)
17
+ - [importJwk](#api-importJwk)
18
+ - [signJwt](#api-signJwt)
19
+ - [verifyJwt](#api-verifyJwt)
20
+
21
+ ## Crypto {#api-Crypto}
22
+
23
+ ```text
24
+ capability Crypto
25
+ ```
26
+
27
+ Explicit permission for native cryptographic operations. Keys and bytes are immutable.
28
+
29
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L2)
30
+
31
+ ### Crypto.random
32
+
33
+ ```text
34
+ random(int size) returns Bytes uses Crypto.random unless CryptoError
35
+ ```
36
+
37
+ Generate unpredictable bytes with the operating-system-backed GnuTLS RNG.
38
+
39
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L4)
40
+
41
+ ### Crypto.sha256
42
+
43
+ ```text
44
+ sha256(Bytes input) returns Bytes uses Crypto.sha256 unless CryptoError
45
+ ```
46
+
47
+ Hash the complete input using SHA-256.
48
+
49
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L6)
50
+
51
+ ### Crypto.generateRsa
52
+
53
+ ```text
54
+ generateRsa() returns RsaPrivateKey uses Crypto.generateRsa unless CryptoError
55
+ ```
56
+
57
+ Create a fresh 3072-bit RSA private key. Private material is opaque and scrubbed on reclamation.
58
+
59
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L8)
60
+
61
+ ### Crypto.publicRsa
62
+
63
+ ```text
64
+ publicRsa(RsaPrivateKey key) returns RsaPublicKey uses Crypto.publicRsa unless CryptoError
65
+ ```
66
+
67
+ Export the corresponding public key as an opaque immutable value.
68
+
69
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L10)
70
+
71
+ ### Crypto.signRsa
72
+
73
+ ```text
74
+ signRsa(RsaPrivateKey key, Bytes input) returns Bytes uses Crypto.signRsa unless CryptoError
75
+ ```
76
+
77
+ Sign bytes using RSASSA-PKCS1-v1_5 with SHA-256 (JOSE RS256).
78
+
79
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L12)
80
+
81
+ ### Crypto.verifyRsa
82
+
83
+ ```text
84
+ verifyRsa(RsaPublicKey publicKey, Bytes input, Bytes signature) returns bool uses Crypto.verifyRsa unless CryptoError
85
+ ```
86
+
87
+ Verify only RS256. Invalid signatures return false; invalid keys raise CryptoError.
88
+
89
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L14)
90
+
91
+ ### Crypto.decodeBase64url
92
+
93
+ ```text
94
+ decodeBase64url(string input) returns Bytes uses Crypto.decodeBase64url unless CryptoError
95
+ ```
96
+
97
+ Decode canonical unpadded URL-safe base64, rejecting invalid characters and unused bits.
98
+
99
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L16)
100
+
101
+ ### Crypto.equal
102
+
103
+ ```text
104
+ equal(Bytes left, Bytes right) returns bool uses Crypto.equal
105
+ ```
106
+
107
+ Compare bytes without early exit on their contents. Length remains observable.
108
+
109
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L18)
110
+
111
+ ### Crypto.exportRsa
112
+
113
+ ```text
114
+ exportRsa(RsaPublicKey publicKey) returns Tuple<Bytes, Bytes> uses Crypto.exportRsa unless CryptoError
115
+ ```
116
+
117
+ Export unsigned big-endian modulus and exponent for an RSA JWK.
118
+
119
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L20)
120
+
121
+ ### Crypto.importRsa
122
+
123
+ ```text
124
+ importRsa(Bytes modulus, Bytes exponent) returns RsaPublicKey uses Crypto.importRsa unless CryptoError
125
+ ```
126
+
127
+ Import canonical public RSA parameters. Keys must have 2048 to 8192 bits.
128
+
129
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L22)
130
+
131
+ ### Crypto.passwordHash
132
+
133
+ ```text
134
+ passwordHash(Bytes password, Bytes salt, int iterations) returns Bytes uses Crypto.passwordHash unless CryptoError
135
+ ```
136
+
137
+ PBKDF2-HMAC-SHA256, producing 32 bytes. Use a unique 16–64 byte salt; supported work factors are 100,000–2,000,000.
138
+
139
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L24)
140
+
141
+ ## GnuTlsCrypto {#api-GnuTlsCrypto}
142
+
143
+ ```text
144
+ GnuTlsCrypto() implements Crypto
145
+ ```
146
+
147
+ GnuTLS-backed capability adapter. Its constructor performs no I/O or key generation.
148
+
149
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L39)
150
+
151
+ ### GnuTlsCrypto.random
152
+
153
+ ```text
154
+ random(int size) returns Bytes unless CryptoError
155
+ ```
156
+
157
+ Generate unpredictable bytes with the operating-system-backed GnuTLS RNG.
158
+
159
+ Inferred capabilities: `Crypto.random`.
160
+
161
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L40)
162
+
163
+ ### GnuTlsCrypto.sha256
164
+
165
+ ```text
166
+ sha256(Bytes input) returns Bytes unless CryptoError
167
+ ```
168
+
169
+ Hash the complete input using SHA-256.
170
+
171
+ Inferred capabilities: `Crypto.sha256`.
172
+
173
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L43)
174
+
175
+ ### GnuTlsCrypto.generateRsa
176
+
177
+ ```text
178
+ generateRsa() returns RsaPrivateKey unless CryptoError
179
+ ```
180
+
181
+ Create a fresh 3072-bit RSA private key. Private material is opaque and scrubbed on reclamation.
182
+
183
+ Inferred capabilities: `Crypto.generateRsa`.
184
+
185
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L46)
186
+
187
+ ### GnuTlsCrypto.publicRsa
188
+
189
+ ```text
190
+ publicRsa(RsaPrivateKey key) returns RsaPublicKey unless CryptoError
191
+ ```
192
+
193
+ Export the corresponding public key as an opaque immutable value.
194
+
195
+ Inferred capabilities: `Crypto.publicRsa`.
196
+
197
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L49)
198
+
199
+ ### GnuTlsCrypto.signRsa
200
+
201
+ ```text
202
+ signRsa(RsaPrivateKey key, Bytes input) returns Bytes unless CryptoError
203
+ ```
204
+
205
+ Sign bytes using RSASSA-PKCS1-v1_5 with SHA-256 (JOSE RS256).
206
+
207
+ Inferred capabilities: `Crypto.signRsa`.
208
+
209
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L52)
210
+
211
+ ### GnuTlsCrypto.verifyRsa
212
+
213
+ ```text
214
+ verifyRsa(RsaPublicKey publicKey, Bytes input, Bytes signature) returns bool unless CryptoError
215
+ ```
216
+
217
+ Verify only RS256. Invalid signatures return false; invalid keys raise CryptoError.
218
+
219
+ Inferred capabilities: `Crypto.verifyRsa`.
220
+
221
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L55)
222
+
223
+ ### GnuTlsCrypto.decodeBase64url
224
+
225
+ ```text
226
+ decodeBase64url(string input) returns Bytes unless CryptoError
227
+ ```
228
+
229
+ Decode canonical unpadded URL-safe base64, rejecting invalid characters and unused bits.
230
+
231
+ Inferred capabilities: `Crypto.decodeBase64url`.
232
+
233
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L58)
234
+
235
+ ### GnuTlsCrypto.equal
236
+
237
+ ```text
238
+ equal(Bytes left, Bytes right) returns bool
239
+ ```
240
+
241
+ Compare bytes without early exit on their contents. Length remains observable.
242
+
243
+ Inferred capabilities: `Crypto.equal`.
244
+
245
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L61)
246
+
247
+ ### GnuTlsCrypto.exportRsa
248
+
249
+ ```text
250
+ exportRsa(RsaPublicKey publicKey) returns Tuple<Bytes, Bytes> unless CryptoError
251
+ ```
252
+
253
+ Export unsigned big-endian modulus and exponent for an RSA JWK.
254
+
255
+ Inferred capabilities: `Crypto.exportRsa`.
256
+
257
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L64)
258
+
259
+ ### GnuTlsCrypto.importRsa
260
+
261
+ ```text
262
+ importRsa(Bytes modulus, Bytes exponent) returns RsaPublicKey unless CryptoError
263
+ ```
264
+
265
+ Import canonical public RSA parameters. Keys must have 2048 to 8192 bits.
266
+
267
+ Inferred capabilities: `Crypto.importRsa`.
268
+
269
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L67)
270
+
271
+ ### GnuTlsCrypto.passwordHash
272
+
273
+ ```text
274
+ passwordHash(Bytes password, Bytes salt, int iterations) returns Bytes unless CryptoError
275
+ ```
276
+
277
+ PBKDF2-HMAC-SHA256, producing 32 bytes. Use a unique 16–64 byte salt; supported work factors are 100,000–2,000,000.
278
+
279
+ Inferred capabilities: `Crypto.passwordHash`.
280
+
281
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/contracts.aug#L70)
282
+
283
+ ## JwtError {#api-JwtError}
284
+
285
+ ```text
286
+ JwtError() implements Error
287
+ ```
288
+
289
+ A failed JOSE validation reveals no unverified claims.
290
+
291
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/jose.aug#L5)
292
+
293
+ ## RsaJwk {#api-RsaJwk}
294
+
295
+ ```text
296
+ record RsaJwk(string kty, string kid, string alg, string use, string n, string e)
297
+ ```
298
+
299
+ Public signing-key metadata in RFC 7517 / RFC 7518 form.
300
+
301
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/jose.aug#L10)
302
+
303
+ ## RsaJwks {#api-RsaJwks}
304
+
305
+ ```text
306
+ record RsaJwks(List<RsaJwk> keys)
307
+ ```
308
+
309
+ The signature defines this public contract.
310
+
311
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/jose.aug#L11)
312
+
313
+ ## rsaJwk {#api-rsaJwk}
314
+
315
+ ```text
316
+ rsaJwk(RsaPublicKey publicKey, string kid, resolve Crypto crypto) returns RsaJwk uses crypto.exportRsa unless CryptoError
317
+ ```
318
+
319
+ Export public parameters. Private key material never enters the JSON document.
320
+
321
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/jose.aug#L14)
322
+
323
+ ## importJwk {#api-importJwk}
324
+
325
+ ```text
326
+ importJwk(RsaJwk jwk, resolve Crypto crypto) returns RsaPublicKey uses crypto.decodeBase64url and crypto.importRsa unless JwtError
327
+ ```
328
+
329
+ Import only an RSA signing key for RS256. The transport caller selects the trusted JWKS URL.
330
+
331
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/jose.aug#L19)
332
+
333
+ ## signJwt {#api-signJwt}
334
+
335
+ ```text
336
+ signJwt(RsaPrivateKey key, Json claims, string kid, string tokenType, resolve Crypto crypto) returns string uses crypto.signRsa unless JwtError
337
+ ```
338
+
339
+ Sign immutable JSON with an explicit key id and token type. Claims are validated by the protocol that consumes the token.
340
+
341
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/jose.aug#L30)
342
+
343
+ ## verifyJwt {#api-verifyJwt}
344
+
345
+ ```text
346
+ verifyJwt(string token, RsaPublicKey publicKey, string kid, string tokenType, resolve Crypto crypto) returns Json uses crypto.decodeBase64url and crypto.verifyRsa unless JwtError
347
+ ```
348
+
349
+ Verify the signature and configured algorithm, key id, and type before exposing the JSON payload. Never follows token-supplied URLs.
350
+
351
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/crypto/jose.aug#L43)
package/docs/api/io.md ADDED
@@ -0,0 +1,207 @@
1
+ ---
2
+ generated: true
3
+ source: src/stdlib/io
4
+ editLink: false
5
+ ---
6
+
7
+ # august.io
8
+
9
+ Public declarations exported by this module. Import names explicitly from `august.io`. Built-in wire/value types are described in [language constructs](../language-constructs.md).
10
+
11
+ - [Console](#api-Console)
12
+ - [SystemConsole](#api-SystemConsole)
13
+ - [FileReader](#api-FileReader)
14
+ - [FileWriter](#api-FileWriter)
15
+ - [LocalFiles](#api-LocalFiles)
16
+ - [Arguments](#api-Arguments)
17
+ - [ProcessArguments](#api-ProcessArguments)
18
+
19
+ ## Console {#api-Console}
20
+
21
+ ```text
22
+ capability Console
23
+ ```
24
+
25
+ Permission to write to a console, provided by an explicitly selected adapter.
26
+
27
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L2)
28
+
29
+ ### Console.write
30
+
31
+ ```text
32
+ write<T>(T value) uses Console.write
33
+ ```
34
+
35
+ Write one line of text.
36
+
37
+ **Parameters**
38
+ - `value`: Text to display.
39
+
40
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L4)
41
+
42
+ ## SystemConsole {#api-SystemConsole}
43
+
44
+ ```text
45
+ SystemConsole() implements Console
46
+ ```
47
+
48
+ The native standard-output adapter. Construction performs no output.
49
+
50
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L7)
51
+
52
+ ### SystemConsole.write
53
+
54
+ ```text
55
+ write<T>(T value)
56
+ ```
57
+
58
+ Write one line of text.
59
+
60
+ **Parameters**
61
+ - `value`: Text to display.
62
+
63
+ Inferred capabilities: `Console.write`.
64
+
65
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L8)
66
+
67
+ ## FileReader {#api-FileReader}
68
+
69
+ ```text
70
+ capability FileReader
71
+ ```
72
+
73
+ Read UTF-8 text through an explicitly selected filesystem adapter.
74
+
75
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L12)
76
+
77
+ ### FileReader.read
78
+
79
+ ```text
80
+ read(string path) returns string uses FileReader.read unless FileError
81
+ ```
82
+
83
+ Read text.
84
+
85
+ **Parameters**
86
+ - `path`: File path.
87
+
88
+ **Throws**
89
+ - `FileError`: The file could not be read.
90
+
91
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L14)
92
+
93
+ ## FileWriter {#api-FileWriter}
94
+
95
+ ```text
96
+ capability FileWriter
97
+ ```
98
+
99
+ Write UTF-8 text through an explicitly selected filesystem adapter.
100
+
101
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L17)
102
+
103
+ ### FileWriter.write
104
+
105
+ ```text
106
+ write(string path, string content) uses FileWriter.write unless FileError
107
+ ```
108
+
109
+ Write text.
110
+
111
+ **Parameters**
112
+ - `path`: File path.
113
+ - `content`: Text.
114
+
115
+ **Throws**
116
+ - `FileError`: Writing failed.
117
+
118
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L19)
119
+
120
+ ## LocalFiles {#api-LocalFiles}
121
+
122
+ ```text
123
+ LocalFiles() implements FileReader, FileWriter
124
+ ```
125
+
126
+ Native files. Operations are explicit; construction opens no files.
127
+
128
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L22)
129
+
130
+ ### LocalFiles.read
131
+
132
+ ```text
133
+ read(string path) returns string unless FileError
134
+ ```
135
+
136
+ Read text.
137
+
138
+ **Parameters**
139
+ - `path`: File path.
140
+
141
+ **Throws**
142
+ - `FileError`: The file could not be read.
143
+
144
+ Inferred capabilities: `FileReader.read`.
145
+
146
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L23)
147
+
148
+ ### LocalFiles.write
149
+
150
+ ```text
151
+ write(string path, string content) unless FileError
152
+ ```
153
+
154
+ Write text.
155
+
156
+ **Parameters**
157
+ - `path`: File path.
158
+ - `content`: Text.
159
+
160
+ **Throws**
161
+ - `FileError`: Writing failed.
162
+
163
+ Inferred capabilities: `FileWriter.write`.
164
+
165
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L25)
166
+
167
+ ## Arguments {#api-Arguments}
168
+
169
+ ```text
170
+ capability Arguments
171
+ ```
172
+
173
+ Read command-line input through an explicit dependency.
174
+
175
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L29)
176
+
177
+ ### Arguments.read
178
+
179
+ ```text
180
+ read() returns List<string> uses Arguments.read
181
+ ```
182
+
183
+ The signature declares inputs, result, effects and checked errors.
184
+
185
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L30)
186
+
187
+ ## ProcessArguments {#api-ProcessArguments}
188
+
189
+ ```text
190
+ ProcessArguments() implements Arguments
191
+ ```
192
+
193
+ Native command-line arguments.
194
+
195
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L33)
196
+
197
+ ### ProcessArguments.read
198
+
199
+ ```text
200
+ read() returns List<string>
201
+ ```
202
+
203
+ The signature declares inputs, result, effects and checked errors.
204
+
205
+ Inferred capabilities: `Arguments.read`.
206
+
207
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/io/contracts.aug#L34)
@@ -0,0 +1,21 @@
1
+ ---
2
+ generated: true
3
+ source: src/stdlib/json
4
+ editLink: false
5
+ ---
6
+
7
+ # august.json
8
+
9
+ Public declarations exported by this module. Import names explicitly from `august.json`. Built-in wire/value types are described in [language constructs](../language-constructs.md).
10
+
11
+ - [parse](#api-parse)
12
+
13
+ ## parse {#api-parse}
14
+
15
+ ```text
16
+ parse(string input) returns Json unless JsonError
17
+ ```
18
+
19
+ Parse strict UTF-8 JSON. Duplicate keys, invalid Unicode, oversized integers, and nesting beyond 64 levels raise JsonError.
20
+
21
+ [Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/json/contracts.aug#L3)