@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,32 @@
1
+ ---
2
+ title: "Command-line arguments"
3
+ generated: true
4
+ source: "examples/cli-args"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ ---
10
+
11
+ # Command-line arguments
12
+
13
+ Read arguments, inspect collections, and return a process exit status.
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
+
21
+
22
+ ## Try this project
23
+
24
+ From a repository checkout with August installed:
25
+
26
+ ```sh
27
+ aug check examples/cli-args
28
+ aug spec examples/cli-args
29
+ aug run examples/cli-args
30
+ ```
31
+
32
+ [Browse all examples](../index.md)
@@ -0,0 +1,107 @@
1
+ ---
2
+ title: "main.aug · Command-line arguments"
3
+ generated: true
4
+ source: "examples/cli-args/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
+ [Command-line arguments](index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](main.md)
19
+
20
+ :::
21
+
22
+ ::::: example-compare
23
+
24
+ :::: example-code
25
+
26
+ ## Code {#code}
27
+
28
+ ::: code-group
29
+
30
+ ```aug [Indentation]
31
+ try:
32
+ args = arguments()
33
+ print(value=args.length())
34
+ if args.length() > 0:
35
+ print(value=args.get(index=0))
36
+ numbers = List<int>(1, 2)
37
+ borrow numbers:
38
+ numbers.append(value=3)
39
+ print(value=numbers.get(index=2))
40
+ catch IndexError error:
41
+ print(value="unexpected index failure")
42
+ ```
43
+
44
+ ```aug [Braces]
45
+ try {
46
+ args = arguments()
47
+ print(value=args.length())
48
+ if args.length() > 0 {
49
+ print(value=args.get(index=0))
50
+ }
51
+ numbers = List<int>(1, 2)
52
+ borrow numbers {
53
+ numbers.append(value=3)
54
+ }
55
+ print(value=numbers.get(index=2))
56
+ }
57
+ catch IndexError error {
58
+ print(value="unexpected index failure")
59
+ }
60
+ ```
61
+
62
+ :::
63
+
64
+ ::::
65
+
66
+ :::: example-spec
67
+
68
+ ## Compiled specification {#specification}
69
+
70
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
71
+
72
+ ### In this file
73
+
74
+ - Run startup operations with checked error recovery.
75
+
76
+ ### Startup, in source order
77
+
78
+ - Try these operations:
79
+ - Set `args` to call `arguments`.
80
+ - Call `print` with `value` = call `length` on `args`.
81
+ - If call `length` on `args` is greater than `0`:
82
+ - Call `print` with `value` = call `get` on `args` with `index` = `0`.
83
+ - Set `numbers` to a list of `int` containing `1`, `2`.
84
+ - Grant exclusive mutable access to `numbers` for this block, then end the borrow:
85
+ - Call `append` on `numbers` with `value` = `3`.
86
+ - Call `print` with `value` = call `get` on `numbers` with `index` = `2`.
87
+ - If they fail with `IndexError`, name the failure `error` and recover:
88
+ - Call `print` with `value` = `"unexpected index failure"`.
89
+
90
+ ### Built-in operations used by this file
91
+
92
+ - `List<int>.append` (`value`: `int`) → `void`: Append an element with exclusive mutable access. Read-only and owned aliases cannot be stored here. Changes the receiver.
93
+ - `List<int>.get` (`index`: `int`) → `int`: Read a zero-based position. An invalid index raises checked IndexError. Reference results grant reading. Can fail with `IndexError`.
94
+ - `List<string>.get` (`index`: `int`) → `string`: Read a zero-based position. An invalid index raises checked IndexError. Reference results grant reading. Can fail with `IndexError`.
95
+ - `List<string>.length` (no inputs) → `int`: Read the number of elements.
96
+ - `arguments` (no inputs) → `List<string>`: Composition arguments. Other callables receive the Arguments capability.
97
+ - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
98
+
99
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
100
+
101
+ ### Shared language rules
102
+
103
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
104
+
105
+ ::::
106
+
107
+ :::::
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: "Lists, tuples, sets, and maps"
3
+ generated: true
4
+ source: "examples/collections"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ ---
10
+
11
+ # Lists, tuples, sets, and maps
12
+
13
+ Create typed collections and update them through checked mutable access.
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
+
21
+
22
+ ## Try this project
23
+
24
+ From a repository checkout with August installed:
25
+
26
+ ```sh
27
+ aug check examples/collections
28
+ aug spec examples/collections
29
+ aug run examples/collections
30
+ ```
31
+
32
+ [Browse all examples](../index.md)
@@ -0,0 +1,118 @@
1
+ ---
2
+ title: "main.aug · Lists, tuples, sets, and maps"
3
+ generated: true
4
+ source: "examples/collections/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
+ [Lists, tuples, sets, and maps](index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](main.md)
19
+
20
+ :::
21
+
22
+ ::::: example-compare
23
+
24
+ :::: example-code
25
+
26
+ ## Code {#code}
27
+
28
+ ::: code-group
29
+
30
+ ```aug [Indentation]
31
+ try:
32
+ numbers = List<int>(2, 4)
33
+ borrow numbers:
34
+ numbers.append(value=6)
35
+ print(value=numbers.length())
36
+ print(value=numbers.get(index=1))
37
+ scores = Map<string, int>()
38
+ borrow scores:
39
+ scores.set(value=42, key="ada")
40
+ print(value=scores.contains(key="ada"))
41
+ print(value=scores.get(key="ada"))
42
+ print(value=scores.length())
43
+ catch IndexError error:
44
+ print(value="unexpected index failure")
45
+ ```
46
+
47
+ ```aug [Braces]
48
+ try {
49
+ numbers = List<int>(2, 4)
50
+ borrow numbers {
51
+ numbers.append(value=6)
52
+ }
53
+ print(value=numbers.length())
54
+ print(value=numbers.get(index=1))
55
+ scores = Map<string, int>()
56
+ borrow scores {
57
+ scores.set(value=42, key="ada")
58
+ }
59
+ print(value=scores.contains(key="ada"))
60
+ print(value=scores.get(key="ada"))
61
+ print(value=scores.length())
62
+ }
63
+ catch IndexError error {
64
+ print(value="unexpected index failure")
65
+ }
66
+ ```
67
+
68
+ :::
69
+
70
+ ::::
71
+
72
+ :::: example-spec
73
+
74
+ ## Compiled specification {#specification}
75
+
76
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
77
+
78
+ ### In this file
79
+
80
+ - Run startup operations with checked error recovery.
81
+
82
+ ### Startup, in source order
83
+
84
+ - Try these operations:
85
+ - Set `numbers` to a list of `int` containing `2`, `4`.
86
+ - Grant exclusive mutable access to `numbers` for this block, then end the borrow:
87
+ - Call `append` on `numbers` with `value` = `6`.
88
+ - Call `print` with `value` = call `length` on `numbers`.
89
+ - Call `print` with `value` = call `get` on `numbers` with `index` = `1`.
90
+ - Set `scores` to an empty map from `string` to `int`.
91
+ - Grant exclusive mutable access to `scores` for this block, then end the borrow:
92
+ - Call `set` on `scores` with `value` = `42`; `key` = `"ada"`.
93
+ - Call `print` with `value` = call `contains` on `scores` with `key` = `"ada"`.
94
+ - Call `print` with `value` = call `get` on `scores` with `key` = `"ada"`.
95
+ - Call `print` with `value` = call `length` on `scores`.
96
+ - If they fail with `IndexError`, name the failure `error` and recover:
97
+ - Call `print` with `value` = `"unexpected index failure"`.
98
+
99
+ ### Built-in operations used by this file
100
+
101
+ - `List<int>.append` (`value`: `int`) → `void`: Append an element with exclusive mutable access. Read-only and owned aliases cannot be stored here. Changes the receiver.
102
+ - `List<int>.get` (`index`: `int`) → `int`: Read a zero-based position. An invalid index raises checked IndexError. Reference results grant reading. Can fail with `IndexError`.
103
+ - `List<int>.length` (no inputs) → `int`: Read the number of elements.
104
+ - `Map<string, int>.contains` (`key`: `string`) → `bool`: Check for a key, including entries whose value is null.
105
+ - `Map<string, int>.get` (`key`: `string`) → `optional int`: Read a value by key; an absent key returns null. contains distinguishes an absent key from a stored null.
106
+ - `Map<string, int>.length` (no inputs) → `int`: Read the number of elements.
107
+ - `Map<string, int>.set` (`key`: `string`, `value`: `int`) → `void`: Insert or replace an entry with exclusive mutable access. Changes the receiver.
108
+ - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
109
+
110
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
111
+
112
+ ### Shared language rules
113
+
114
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
115
+
116
+ ::::
117
+
118
+ :::::
@@ -0,0 +1,34 @@
1
+ ---
2
+ title: "Map and Set benchmark"
3
+ generated: true
4
+ source: "benchmarks/collections"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ ---
10
+
11
+ # Map and Set benchmark
12
+
13
+ Insert, find, and iterate over 20,000 collection entries.
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
+
21
+
22
+ ## Try this project
23
+
24
+ From a repository checkout with August installed:
25
+
26
+ ```sh
27
+ aug check benchmarks/collections
28
+ aug spec benchmarks/collections
29
+ aug run benchmarks/collections
30
+ ```
31
+
32
+ See [the performance page](../../performance.md) for measurements, input sizes, and reproduction steps.
33
+
34
+ [Browse all examples](../index.md)
@@ -0,0 +1,115 @@
1
+ ---
2
+ title: "main.aug · Map and Set benchmark"
3
+ generated: true
4
+ source: "benchmarks/collections/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
+ [Map and Set benchmark](index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](main.md)
19
+
20
+ :::
21
+
22
+ ::::: example-compare
23
+
24
+ :::: example-code
25
+
26
+ ## Code {#code}
27
+
28
+ ::: code-group
29
+
30
+ ```aug [Indentation]
31
+ own Map<int,int> values = {}
32
+ own Set<int> unique = {}
33
+ int index = 0
34
+ while index < 20000:
35
+ values.set(key=index, value=index * 3)
36
+ unique.add(value=index)
37
+ index = index + 1
38
+ int checksum = 0
39
+ for (key, value) in values:
40
+ if unique.contains(value=key):
41
+ checksum = checksum + value
42
+ print(value=checksum)
43
+ print(value=values.length() == unique.length())
44
+ ```
45
+
46
+ ```aug [Braces]
47
+ own Map<int,int> values = {}
48
+ own Set<int> unique = {}
49
+ int index = 0
50
+ while index < 20000 {
51
+ values.set(key=index, value=index * 3)
52
+ unique.add(value=index)
53
+ index = index + 1
54
+ }
55
+ int checksum = 0
56
+ for (key, value) in values {
57
+ if unique.contains(value=key) {
58
+ checksum = checksum + value
59
+ }
60
+ }
61
+ print(value=checksum)
62
+ print(value=values.length() == unique.length())
63
+ ```
64
+
65
+ :::
66
+
67
+ ::::
68
+
69
+ :::: example-spec
70
+
71
+ ## Compiled specification {#specification}
72
+
73
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
74
+
75
+ ### In this file
76
+
77
+ - Run 8 other startup steps in source order.
78
+
79
+ ### Startup, in source order
80
+
81
+ - Set `values` of type `Map<int,int>` to a context-typed empty collection with no items.
82
+ - This variable owns the value.
83
+ - Set `unique` of type `Set<int>` to a context-typed empty collection with no items.
84
+ - This variable owns the value.
85
+ - Set `index` of type `int` to `0`.
86
+ - While `index` is less than `20000`, repeat:
87
+ - Call `set` on `values` with `key` = `index`; `value` = (`index` times `3`).
88
+ - Call `add` on `unique` with `value` = `index`.
89
+ - Set `index` to `index` plus `1`.
90
+ - Check the condition again before the next iteration.
91
+ - Set `checksum` of type `int` to `0`.
92
+ - For each `key` and `value` in a snapshot of `values`, in iteration order:
93
+ - If call `contains` on `unique` with `value` = `key` is true:
94
+ - Set `checksum` to `checksum` plus `value`.
95
+ - Call `print` with `value` = `checksum`.
96
+ - Call `print` with `value` = (call `length` on `values` equals call `length` on `unique`).
97
+
98
+ ### Built-in operations used by this file
99
+
100
+ - `Map<int, int>.length` (no inputs) → `int`: Read the number of elements.
101
+ - `Map<int, int>.set` (`key`: `int`, `value`: `int`) → `void`: Insert or replace an entry with exclusive mutable access. Changes the receiver.
102
+ - `Set<int>.add` (`value`: `int`) → `void`: Insert a unique element with exclusive mutable access. Changes the receiver.
103
+ - `Set<int>.contains` (`value`: `int`) → `bool`: Test structural or identity equality with a stored element.
104
+ - `Set<int>.length` (no inputs) → `int`: Read the number of elements.
105
+ - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
106
+
107
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
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,34 @@
1
+ ---
2
+ title: "CPU benchmark"
3
+ generated: true
4
+ source: "benchmarks/cpu"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ ---
10
+
11
+ # CPU benchmark
12
+
13
+ Two million dependent integer steps with a checked result.
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
+
21
+
22
+ ## Try this project
23
+
24
+ From a repository checkout with August installed:
25
+
26
+ ```sh
27
+ aug check benchmarks/cpu
28
+ aug spec benchmarks/cpu
29
+ aug run benchmarks/cpu
30
+ ```
31
+
32
+ See [the performance page](../../performance.md) for measurements, input sizes, and reproduction steps.
33
+
34
+ [Browse all examples](../index.md)
@@ -0,0 +1,90 @@
1
+ ---
2
+ title: "main.aug · CPU benchmark"
3
+ generated: true
4
+ source: "benchmarks/cpu/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
+ [CPU benchmark](index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](main.md)
19
+
20
+ :::
21
+
22
+ ::::: example-compare
23
+
24
+ :::: example-code
25
+
26
+ ## Code {#code}
27
+
28
+ ::: code-group
29
+
30
+ ```aug [Indentation]
31
+ // A loop-carried dependency prevents removal of the computation.
32
+ int state = 123
33
+ int index = 0
34
+ while index < 2000000:
35
+ int product = state * 48271
36
+ state = product - product / 2147483647 * 2147483647
37
+ index = index + 1
38
+ print(value=state)
39
+ ```
40
+
41
+ ```aug [Braces]
42
+ // A loop-carried dependency prevents removal of the computation.
43
+ int state = 123
44
+ int index = 0
45
+ while index < 2000000 {
46
+ int product = state * 48271
47
+ state = product - product / 2147483647 * 2147483647
48
+ index = index + 1
49
+ }
50
+ print(value=state)
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
+ - Run 4 other startup steps in source order.
66
+
67
+ ### Startup, in source order
68
+
69
+ - Set `state` of type `int` to `123`.
70
+ - Set `index` of type `int` to `0`.
71
+ - While `index` is less than `2000000`, repeat:
72
+ - Set `product` of type `int` to `state` times `48271`.
73
+ - Set `state` to `product` minus ((`product` divided by `2147483647`) times `2147483647`).
74
+ - Set `index` to `index` plus `1`.
75
+ - Check the condition again before the next iteration.
76
+ - Call `print` with `value` = `state`.
77
+
78
+ ### Built-in operations used by this file
79
+
80
+ - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
81
+
82
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
83
+
84
+ ### Shared language rules
85
+
86
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
87
+
88
+ ::::
89
+
90
+ :::::