@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
@@ -0,0 +1,121 @@
1
+ ---
2
+ title: "logging/console.aug · Hello world with dependencies"
3
+ generated: true
4
+ source: "examples/hello/logging/console.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `logging/console.aug`
13
+
14
+ [Hello world with dependencies](../index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](../main.md)
19
+ - [`app/export.aug`](../app/export.md)
20
+ - [`app/greeter.aug`](../app/greeter.md)
21
+ - [`logging/console.aug`](console.md)
22
+ - [`logging/export.aug`](export.md)
23
+ - [`logging/logger.aug`](logger.md)
24
+
25
+ :::
26
+
27
+ ::::: example-compare
28
+
29
+ :::: example-code
30
+
31
+ ## Code {#code}
32
+
33
+ ::: code-group
34
+
35
+ ```aug [Indentation]
36
+ import Console from august.io
37
+ import Logger from logger
38
+ ConsoleLogger() implements Logger:
39
+ log(resolve Console console, string message) uses Console.write:
40
+ console.write(value=message)
41
+ ```
42
+
43
+ ```aug [Braces]
44
+ import Console from august.io
45
+ import Logger from logger
46
+ ConsoleLogger() implements Logger {
47
+ log(resolve Console console, string message) uses Console.write {
48
+ console.write(value=message)
49
+ }
50
+ }
51
+ ```
52
+
53
+ :::
54
+
55
+ ::::
56
+
57
+ :::: example-spec
58
+
59
+ ## Compiled specification {#specification}
60
+
61
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
62
+
63
+ ### In this file
64
+
65
+ - [`ConsoleLogger`](console.md#symbol-ConsoleLogger) is a class implementing `Logger`.
66
+
67
+ ### `ConsoleLogger` {#symbol-ConsoleLogger}
68
+
69
+ [source](console.md#code)
70
+
71
+ Behavioral class.
72
+
73
+ Satisfies [`Logger`](logger.md#symbol-Logger).
74
+
75
+ #### `ConsoleLogger.log` {#symbol-ConsoleLogger.log}
76
+
77
+ [source](console.md#code)
78
+
79
+ **Inputs**
80
+
81
+ - `console` ([`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
82
+ - `message` (`string`) — required labeled input.
83
+
84
+ Returns: no value.
85
+
86
+ Capabilities: [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
87
+
88
+ **What it does**
89
+
90
+ - Call [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write) on `console` with `value` = `message`.
91
+
92
+ **Author documentation**
93
+
94
+ Writes one message.
95
+
96
+ **Parameters**
97
+ - `message`: Text to write.
98
+
99
+ ### Dependencies used by this file
100
+
101
+ Only referenced types and operations appear here. Each name links to its complete specification.
102
+
103
+ #### [`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)
104
+
105
+ Capability interface from `august.io`.
106
+
107
+ - [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
108
+
109
+ #### [`Logger`](logger.md#symbol-Logger)
110
+
111
+ Interface from `logger`.
112
+
113
+ Used as a type or provider.
114
+
115
+ ### Shared language rules
116
+
117
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
118
+
119
+ ::::
120
+
121
+ :::::
@@ -0,0 +1,71 @@
1
+ ---
2
+ title: "logging/export.aug · Hello world with dependencies"
3
+ generated: true
4
+ source: "examples/hello/logging/export.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `logging/export.aug`
13
+
14
+ [Hello world with dependencies](../index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](../main.md)
19
+ - [`app/export.aug`](../app/export.md)
20
+ - [`app/greeter.aug`](../app/greeter.md)
21
+ - [`logging/console.aug`](console.md)
22
+ - [`logging/export.aug`](export.md)
23
+ - [`logging/logger.aug`](logger.md)
24
+
25
+ :::
26
+
27
+ ::::: example-compare
28
+
29
+ :::: example-code
30
+
31
+ ## Code {#code}
32
+
33
+ ::: code-group
34
+
35
+ ```aug [Indentation]
36
+ export Logger from logger
37
+ export ConsoleLogger from console
38
+ ```
39
+
40
+ ```aug [Braces]
41
+ export Logger from logger
42
+ export ConsoleLogger from console
43
+ ```
44
+
45
+ :::
46
+
47
+ ::::
48
+
49
+ :::: example-spec
50
+
51
+ ## Compiled specification {#specification}
52
+
53
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
54
+
55
+ ### In this file
56
+
57
+ - Export `Logger` from this folder.
58
+ - Export `ConsoleLogger` from this folder.
59
+
60
+ ### Folder exports
61
+
62
+ - Export the declaration `Logger` from [`logger.aug`](logger.md#symbol-Logger).
63
+ - Export the declaration `ConsoleLogger` from [`console.aug`](console.md#symbol-ConsoleLogger).
64
+
65
+ ### Shared language rules
66
+
67
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
68
+
69
+ ::::
70
+
71
+ :::::
@@ -0,0 +1,120 @@
1
+ ---
2
+ title: "logging/logger.aug · Hello world with dependencies"
3
+ generated: true
4
+ source: "examples/hello/logging/logger.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `logging/logger.aug`
13
+
14
+ [Hello world with dependencies](../index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](../main.md)
19
+ - [`app/export.aug`](../app/export.md)
20
+ - [`app/greeter.aug`](../app/greeter.md)
21
+ - [`logging/console.aug`](console.md)
22
+ - [`logging/export.aug`](export.md)
23
+ - [`logging/logger.aug`](logger.md)
24
+
25
+ :::
26
+
27
+ ::::: example-compare
28
+
29
+ :::: example-code
30
+
31
+ ## Code {#code}
32
+
33
+ ::: code-group
34
+
35
+ ```aug [Indentation]
36
+ import Console from august.io
37
+ /** Writes messages to an application log. */
38
+ interface Logger:
39
+ /**
40
+ * Writes one message.
41
+ * @param message Text to write.
42
+ */
43
+ log(resolve Console console, string message) uses Console.write
44
+ ```
45
+
46
+ ```aug [Braces]
47
+ import Console from august.io
48
+ /** Writes messages to an application log. */
49
+ interface Logger {
50
+ /**
51
+ * Writes one message.
52
+ * @param message Text to write.
53
+ */
54
+ log(resolve Console console, string message) uses Console.write
55
+ }
56
+ ```
57
+
58
+ :::
59
+
60
+ ::::
61
+
62
+ :::: example-spec
63
+
64
+ ## Compiled specification {#specification}
65
+
66
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
67
+
68
+ ### In this file
69
+
70
+ - [`Logger`](logger.md#symbol-Logger) is an interface.
71
+
72
+ ### `Logger` {#symbol-Logger}
73
+
74
+ [source](logger.md#code)
75
+
76
+ Interface.
77
+
78
+ **Author documentation**
79
+
80
+ Writes messages to an application log.
81
+
82
+ #### `Logger.log` {#symbol-Logger.log}
83
+
84
+ [source](logger.md#code)
85
+
86
+ **Inputs**
87
+
88
+ - `console` ([`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
89
+ - `message` (`string`) — required labeled input.
90
+
91
+ Returns: no value.
92
+
93
+ Capabilities: [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
94
+
95
+ Interface contract. A selected implementation supplies the behavior.
96
+
97
+ **Author documentation**
98
+
99
+ Writes one message.
100
+
101
+ **Parameters**
102
+ - `message`: Text to write.
103
+
104
+ ### Dependencies used by this file
105
+
106
+ Only referenced types and operations appear here. Each name links to its complete specification.
107
+
108
+ #### [`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)
109
+
110
+ Capability interface from `august.io`.
111
+
112
+ - [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
113
+
114
+ ### Shared language rules
115
+
116
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
117
+
118
+ ::::
119
+
120
+ :::::
@@ -0,0 +1,115 @@
1
+ ---
2
+ title: "main.aug · Hello world with dependencies"
3
+ generated: true
4
+ source: "examples/hello/main.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `main.aug`
13
+
14
+ [Hello world with dependencies](index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](main.md)
19
+ - [`app/export.aug`](app/export.md)
20
+ - [`app/greeter.aug`](app/greeter.md)
21
+ - [`logging/console.aug`](logging/console.md)
22
+ - [`logging/export.aug`](logging/export.md)
23
+ - [`logging/logger.aug`](logging/logger.md)
24
+
25
+ :::
26
+
27
+ ::::: example-compare
28
+
29
+ :::: example-code
30
+
31
+ ## Code {#code}
32
+
33
+ ::: code-group
34
+
35
+ ```aug [Indentation]
36
+ import Console and SystemConsole from august.io
37
+ implement Console with SystemConsole
38
+ import Logger from logging
39
+ import ConsoleLogger from logging
40
+ import Greeter from app
41
+ implement Logger with ConsoleLogger
42
+ implement app with Greeter
43
+ resolve app to greeter
44
+ greeter.greet(name="AugScript")
45
+ ```
46
+
47
+ ```aug [Braces]
48
+ import Console and SystemConsole from august.io
49
+ implement Console with SystemConsole
50
+ import Logger from logging
51
+ import ConsoleLogger from logging
52
+ import Greeter from app
53
+ implement Logger with ConsoleLogger
54
+ implement app with Greeter
55
+ resolve app to greeter
56
+ greeter.greet(name="AugScript")
57
+ ```
58
+
59
+ :::
60
+
61
+ ::::
62
+
63
+ :::: example-spec
64
+
65
+ ## Compiled specification {#specification}
66
+
67
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
68
+
69
+ ### In this file
70
+
71
+ - Register 3 dependency providers before startup.
72
+ - Run 2 other startup steps in source order.
73
+
74
+ ### Dependency providers
75
+
76
+ Register these providers before startup. Their declaration order does not set initialization order; shared instances initialize in dependency order.
77
+
78
+ - Provide [`SystemConsole`](dependencies/august/0.19.0/io/contracts.md#symbol-SystemConsole) when `Console` is requested. Reuse one instance.
79
+ - Provide [`ConsoleLogger`](logging/console.md#symbol-ConsoleLogger) when `Logger` is requested. Reuse one instance.
80
+ - Provide [`Greeter`](app/greeter.md#symbol-Greeter) when `app` is requested. Reuse one instance. Required dependencies: `Logger`.
81
+
82
+ ### Startup, in source order
83
+
84
+ - Set `greeter` to the instance provided for `app`.
85
+ - Call [`Greeter.greet`](app/greeter.md#symbol-Greeter.greet) on `greeter` with `name` = `"AugScript"`; inject `console` from `Console`.
86
+
87
+ ### Dependencies used by this file
88
+
89
+ Only referenced types and operations appear here. Each name links to its complete specification.
90
+
91
+ #### [`SystemConsole`](dependencies/august/0.19.0/io/contracts.md#symbol-SystemConsole)
92
+
93
+ Class from `august.io`.
94
+
95
+ Used as a type or provider.
96
+
97
+ #### [`Greeter`](app/greeter.md#symbol-Greeter)
98
+
99
+ Class from `app`.
100
+
101
+ - [`Greeter.greet`](app/greeter.md#symbol-Greeter.greet) (`name`: `string`) → `void`; inject `console`: [`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console); uses [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
102
+
103
+ #### [`ConsoleLogger`](logging/console.md#symbol-ConsoleLogger)
104
+
105
+ Class from `logging`.
106
+
107
+ Used as a type or provider.
108
+
109
+ ### Shared language rules
110
+
111
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
112
+
113
+ ::::
114
+
115
+ :::::
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: "HTTP benchmark"
3
+ generated: true
4
+ source: "benchmarks/http"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ ---
10
+
11
+ # HTTP benchmark
12
+
13
+ Serve the typed JSON endpoint used in the throughput measurements.
14
+
15
+ Read a file below to see its highlighted source and the Markdown produced by `aug spec`. Choose **Indentation** or **Braces** above the code. Both views describe the same checked program; your choice is kept when you open another file.
16
+
17
+ ## Project files
18
+
19
+ - [`main.aug`](main.md)
20
+ - [`routes.aug`](routes.md)
21
+
22
+
23
+ ## Try this project
24
+
25
+ From a repository checkout with August installed:
26
+
27
+ ```sh
28
+ aug check benchmarks/http
29
+ aug spec benchmarks/http
30
+ aug run benchmarks/http
31
+ ```
32
+
33
+ See [the performance page](../../performance.md) for measurements, input sizes, and reproduction steps.
34
+
35
+ [Browse all examples](../index.md)
@@ -0,0 +1,79 @@
1
+ ---
2
+ title: "main.aug · HTTP benchmark"
3
+ generated: true
4
+ source: "benchmarks/http/main.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `main.aug`
13
+
14
+ [HTTP benchmark](index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](main.md)
19
+ - [`routes.aug`](routes.md)
20
+
21
+ :::
22
+
23
+ ::::: example-compare
24
+
25
+ :::: example-code
26
+
27
+ ## Code {#code}
28
+
29
+ ::: code-group
30
+
31
+ ```aug [Indentation]
32
+ import reply from routes
33
+ serve reply on port 0
34
+ ```
35
+
36
+ ```aug [Braces]
37
+ import reply from routes
38
+ serve reply on port 0
39
+ ```
40
+
41
+ :::
42
+
43
+ ::::
44
+
45
+ :::: example-spec
46
+
47
+ ## Compiled specification {#specification}
48
+
49
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
50
+
51
+ ### In this file
52
+
53
+ - Serve 1 HTTP route.
54
+
55
+ ### HTTP configuration
56
+
57
+ Listen on `127.0.0.1`. Limit request bodies to 1048576 bytes and buffered responses to 4194304 bytes.
58
+
59
+ ### Startup, in source order
60
+
61
+ - Serve [`reply`](routes.md#symbol-reply) on port `0`.
62
+
63
+ ### Dependencies used by this file
64
+
65
+ Only referenced types and operations appear here. Each name links to its complete specification.
66
+
67
+ #### [`reply`](routes.md#symbol-reply)
68
+
69
+ Function from `routes`.
70
+
71
+ - [`reply`](routes.md#symbol-reply) (no caller inputs) → [`Reply`](routes.md#symbol-Reply).
72
+
73
+ ### Shared language rules
74
+
75
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
76
+
77
+ ::::
78
+
79
+ :::::
@@ -0,0 +1,88 @@
1
+ ---
2
+ title: "routes.aug · HTTP benchmark"
3
+ generated: true
4
+ source: "benchmarks/http/routes.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `routes.aug`
13
+
14
+ [HTTP benchmark](index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](main.md)
19
+ - [`routes.aug`](routes.md)
20
+
21
+ :::
22
+
23
+ ::::: example-compare
24
+
25
+ :::: example-code
26
+
27
+ ## Code {#code}
28
+
29
+ ::: code-group
30
+
31
+ ```aug [Indentation]
32
+ record Reply(int id, string message)
33
+ endpoint GET "/bench" as reply() returns Reply:
34
+ return Reply(id=7, message="hello")
35
+ ```
36
+
37
+ ```aug [Braces]
38
+ record Reply(int id, string message)
39
+ endpoint GET "/bench" as reply() returns Reply {
40
+ return Reply(id=7, message="hello")
41
+ }
42
+ ```
43
+
44
+ :::
45
+
46
+ ::::
47
+
48
+ :::: example-spec
49
+
50
+ ## Compiled specification {#specification}
51
+
52
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
53
+
54
+ ### In this file
55
+
56
+ - [`Reply`](routes.md#symbol-Reply) is an immutable record.
57
+ - [`reply`](routes.md#symbol-reply) handles `GET` `/bench` returning `Reply`.
58
+
59
+ ### `Reply` {#symbol-Reply}
60
+
61
+ [source](routes.md#code)
62
+
63
+ Immutable record.
64
+
65
+ **Inputs**
66
+
67
+ - `id` (`int`) — required labeled input — stored as `id` and read-only after initialization.
68
+ - `message` (`string`) — required labeled input — stored as `message` and read-only after initialization.
69
+
70
+ ### `reply` {#symbol-reply}
71
+
72
+ [source](routes.md#code)
73
+
74
+ Returns: [`Reply`](routes.md#symbol-Reply).
75
+
76
+ HTTP route: `GET` `/bench`. Use status 200 when the handler returns a body; a returned HttpResponse can set its own status. An unhandled request failure returns status 500 and cancels its request tasks.
77
+
78
+ **What it does**
79
+
80
+ - Return call [`Reply`](routes.md#symbol-Reply) with `id` = `7`; `message` = `"hello"`.
81
+
82
+ ### Shared language rules
83
+
84
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
85
+
86
+ ::::
87
+
88
+ :::::
@@ -0,0 +1,60 @@
1
+ ---
2
+ title: "Example projects"
3
+ generated: true
4
+ source: "examples and benchmarks"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ ---
10
+
11
+ # Example projects
12
+
13
+ Browse complete August projects here in the wiki. Each source file includes formatted code in **Indentation** and **Braces** styles and its actual compiled specification. Dependency links open the matching version’s source and explanation in this wiki.
14
+
15
+ Start with [Hello world with dependencies](hello/index.md), then try [a small tested application](developer-workflow/index.md). The [OpenID Connect application](oidc-login/index.md) shows a larger project with server-rendered pages and HTTP handlers.
16
+
17
+ ## Start here
18
+
19
+ - [Hello world with dependencies](hello/index.md) — A greeter, a logger, narrow folder exports, and explicit application bindings.
20
+ - [Labeled calls and injection](new-syntax/index.md) — Constructor injection, named inputs, ordinary functions, and same-file tests.
21
+ - [A small tested application](developer-workflow/index.md) — A calculator module with logging, fixtures, groups, and parameterized tests.
22
+ - [Command-line arguments](cli-args/index.md) — Read arguments, inspect collections, and return a process exit status.
23
+
24
+ ## Values and errors
25
+
26
+ - [Lists, tuples, sets, and maps](collections/index.md) — Create typed collections and update them through checked mutable access.
27
+ - [Generic contracts](generics/index.md) — Write reusable records, interfaces, classes, and functions with type parameters.
28
+ - [Generic dependency injection](generic-di/index.md) — Bind a generic interface and resolve a class that uses it.
29
+ - [Checked failures](errors/index.md) — Declare errors with unless, catch them, and run cleanup.
30
+
31
+ ## State and lifetime
32
+
33
+ - [Read access and mutable borrows](ownership/index.md) — Share a reference for reading and grant explicit access for mutation.
34
+ - [Move ownership](ownership-transfer/index.md) — Transfer an owned resource between labeled calls.
35
+ - [Resource cleanup](drop/index.md) — Release an owned resource when its lifetime ends.
36
+ - [Private state and helpers](visibility/index.md) — Keep underscore-prefixed implementation details inside their scope.
37
+
38
+ ## Modules and packages
39
+
40
+ - [Modules and composition](approved-design/index.md) — Combine domain modules, generic values, explicit capabilities, and scoped providers.
41
+ - [Function and constructor middleware](interceptors/index.md) — Layer interceptors, map inputs, and keep logging dependencies explicit.
42
+ - [Create a package](packages-math/index.md) — Publish a small arithmetic library through export.aug and test its public surface.
43
+ - [Use a package](packages-app/index.md) — Install the neighboring arithmetic package and import it through a local alias.
44
+
45
+ ## Native applications
46
+
47
+ - [A native C boundary](ffi/index.md) — Declare a C operation and call it inside an unsafe block.
48
+ - [A finite benchmark](benchmark/index.md) — Measure a deterministic arithmetic workload with aug bench.
49
+
50
+ ## Web applications
51
+
52
+ - [OpenID Connect login application](oidc-login/index.md) — A login page, provider, client, session JWT, and logout flow in one August project.
53
+
54
+ ## Measured programs
55
+
56
+ - [Startup benchmark](startup-benchmark/index.md) — The small program used to measure process startup.
57
+ - [CPU benchmark](cpu-benchmark/index.md) — Two million dependent integer steps with a checked result.
58
+ - [Map and Set benchmark](collections-benchmark/index.md) — Insert, find, and iterate over 20,000 collection entries.
59
+ - [JSON benchmark](json-benchmark/index.md) — Parse, decode, and serialize a typed record 5,000 times.
60
+ - [HTTP benchmark](http-benchmark/index.md) — Serve the typed JSON endpoint used in the throughput measurements.