@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,89 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `resource.aug` specification
4
+
5
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
+
7
+ ## In this file
8
+
9
+ - [`Resource`](resource.aug.md#symbol-Resource) is a class implementing `IResource`.
10
+ - [`IResource`](resource.aug.md#symbol-IResource) is an interface.
11
+ - [`make`](resource.aug.md#symbol-make) is a function returning `Resource`.
12
+ - [`consume`](resource.aug.md#symbol-consume) is a function.
13
+
14
+ <a id="symbol-Resource"></a>
15
+
16
+ ## `Resource`
17
+
18
+ [source](resource.aug#L2)
19
+
20
+ Behavioral class.
21
+
22
+ Satisfies [`IResource`](resource.aug.md#symbol-IResource).
23
+
24
+ <a id="symbol-Resource.drop"></a>
25
+
26
+ ### `Resource.drop`
27
+
28
+ [source](resource.aug#L3)
29
+
30
+ Returns: no value.
31
+
32
+ **What it does**
33
+
34
+ - Continue without another operation.
35
+
36
+ <a id="symbol-IResource"></a>
37
+
38
+ ## `IResource`
39
+
40
+ [source](resource.aug#L7)
41
+
42
+ Interface.
43
+
44
+ <a id="symbol-make"></a>
45
+
46
+ ## `make`
47
+
48
+ [source](resource.aug#L10)
49
+
50
+ Returns: ownership of [`Resource`](resource.aug.md#symbol-Resource).
51
+
52
+ **What it does**
53
+
54
+ - Set `value` of type [`Resource`](resource.aug.md#symbol-Resource) to call [`Resource`](resource.aug.md#symbol-Resource).
55
+ - This variable owns the value.
56
+ - Return `value`.
57
+
58
+ <a id="symbol-consume"></a>
59
+
60
+ ## `consume`
61
+
62
+ [source](resource.aug#L14)
63
+
64
+ **Inputs**
65
+
66
+ - `console` ([`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
67
+ - `value` ([`Resource`](resource.aug.md#symbol-Resource)) — required labeled input — transfers ownership.
68
+
69
+ Returns: no value.
70
+
71
+ Capabilities: [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
72
+
73
+ **What it does**
74
+
75
+ - Call [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write) on `console` with `value` = `"consumed"`.
76
+
77
+ ## Dependencies used by this file
78
+
79
+ Only referenced types and operations appear here. Each name links to its complete specification.
80
+
81
+ ### [`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)
82
+
83
+ Capability interface from `august.io`.
84
+
85
+ - [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
86
+
87
+ ## Shared language rules
88
+
89
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1,15 @@
1
+ # Author and consume an August package
2
+
3
+ From the repository root:
4
+
5
+ ```sh
6
+ node bin/aug.mjs check examples/packages/math
7
+ node bin/aug.mjs test examples/packages/math
8
+ node bin/aug.mjs package pack examples/packages/math
9
+ node bin/aug.mjs install examples/packages/app --offline
10
+ node bin/aug.mjs run examples/packages/app
11
+ ```
12
+
13
+ The application prints `42`. It imports the library through the `math` alias in `main.yaml` and sees only `math/src/export.aug`. Installation copies a snapshot into `.aug-packages`; reinstall after editing the local library. Commit the generated `app/aug.lock.json` when adopting this pattern in your own project; this teaching example intentionally creates its lock on your host.
14
+
15
+ To create your own library, use `aug package init my-library --name @your-npm-name/my-library`. Test it and pack it, then publish the resulting `.tgz` with npm if you own that namespace. Consumers use an exact `npm:@your-npm-name/my-library@0.1.0` specification and keep the same August import spelling. See [the package guide](../../docs/packages.md).
@@ -0,0 +1,9 @@
1
+ {
2
+ "format": 1,
3
+ "files": [
4
+ ".aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug",
5
+ ".aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md",
6
+ "main.aug.md"
7
+ ],
8
+ "digest": "07fb73723b85a1925de6fcddbb4f26d2d0913f6f5a0d30c351b2c972e627c234"
9
+ }
@@ -0,0 +1,9 @@
1
+ // Generated by aug spec. This is a copy of the installed dependency source.
2
+ /** Add two integers. @param left First value. @param right Second value. @return Their sum. */
3
+ add(int left, int right) returns int:
4
+ return left + right
5
+
6
+ test add:
7
+ when addition:
8
+ it adds_two_integers:
9
+ assert(add(left=2, right=3) == 5)
@@ -0,0 +1,63 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `arithmetic.aug` specification
4
+
5
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
+
7
+ ## In this file
8
+
9
+ - [`add`](arithmetic.aug.md#symbol-add) is a function returning `int`.
10
+ - [`test add`](arithmetic.aug.md#symbol-test%20add) is a same-file test suite.
11
+
12
+ <a id="symbol-add"></a>
13
+
14
+ ## `add`
15
+
16
+ [source](arithmetic.aug#L3)
17
+
18
+ **Inputs**
19
+
20
+ - `left` (`int`) — required labeled input.
21
+ - `right` (`int`) — required labeled input.
22
+
23
+ Returns: `int`.
24
+
25
+ **What it does**
26
+
27
+ - Return `left` plus `right`.
28
+
29
+ **Author documentation**
30
+
31
+ Add two integers.
32
+
33
+ **Returns** Their sum.
34
+
35
+ **Parameters**
36
+ - `left`: First value.
37
+ - `right`: Second value.
38
+
39
+ <a id="symbol-test add"></a>
40
+
41
+ ## `test add`
42
+
43
+ [source](arithmetic.aug#L6)
44
+
45
+ Same-file function tests for [`add`](arithmetic.aug.md#symbol-add). Each case gets isolated setup and dependency bindings.
46
+
47
+ ### Group `addition`
48
+
49
+ #### `adds_two_integers`
50
+
51
+ [source](arithmetic.aug#L8)
52
+
53
+ - Call `assert` with (call [`add`](arithmetic.aug.md#symbol-add) with `left` = `2`; `right` = `3` equals `5`).
54
+
55
+ ## Built-in operations used by this file
56
+
57
+ - `assert` (`condition`: `bool`) → `void`: Assert a bool in a test case or its setup. Catching an assertion failure cannot make the case pass; every case must execute an assertion.
58
+
59
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
60
+
61
+ ## Shared language rules
62
+
63
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1,2 @@
1
+ import add from math
2
+ print(value=add(left=20, right=22))
@@ -0,0 +1,33 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `main.aug` specification
4
+
5
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
+
7
+ ## In this file
8
+
9
+ - Run 1 other startup step in source order.
10
+
11
+ ## Startup, in source order
12
+
13
+ - Call `print` with `value` = call [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add) with `left` = `20`; `right` = `22`.
14
+
15
+ ## Dependencies used by this file
16
+
17
+ Only referenced types and operations appear here. Each name links to its complete specification.
18
+
19
+ ### [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add)
20
+
21
+ Function from `math`.
22
+
23
+ - [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add) (`left`: `int`, `right`: `int`) → `int`.
24
+
25
+ ## Built-in operations used by this file
26
+
27
+ - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
28
+
29
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
30
+
31
+ ## Shared language rules
32
+
33
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1,2 @@
1
+ packages:
2
+ math: "../math"
@@ -0,0 +1,8 @@
1
+ {
2
+ "format": 1,
3
+ "files": [
4
+ "src/arithmetic.aug.md",
5
+ "src/export.aug.md"
6
+ ],
7
+ "digest": "2958866ecd2fe09820dc207135c3c8deae7bd2c9ab4c5999b496e34a97713b70"
8
+ }
@@ -0,0 +1,3 @@
1
+ # Math package
2
+
3
+ A standalone source library. `src/export.aug` is the public surface; Javadoc and tests live beside `add`. This example is local and is not published to npm.
@@ -0,0 +1,8 @@
1
+ {
2
+ "format": 1,
3
+ "name": "@example/aug-math",
4
+ "version": "0.1.0",
5
+ "compiler": "0.19.0",
6
+ "source": "src",
7
+ "dependencies": {}
8
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "@example/aug-math",
3
+ "version": "0.1.0",
4
+ "description": "An August package authoring example",
5
+ "license": "MIT",
6
+ "files": ["src", "aug-package.json", "README.md"],
7
+ "exports": { "./aug-package.json": "./aug-package.json" },
8
+ "dependencies": {}
9
+ }
@@ -0,0 +1,8 @@
1
+ /** Add two integers. @param left First value. @param right Second value. @return Their sum. */
2
+ add(int left, int right) returns int:
3
+ return left + right
4
+
5
+ test add:
6
+ when addition:
7
+ it adds_two_integers:
8
+ assert(add(left=2, right=3) == 5)
@@ -0,0 +1,63 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `arithmetic.aug` specification
4
+
5
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
+
7
+ ## In this file
8
+
9
+ - [`add`](arithmetic.aug.md#symbol-add) is a function returning `int`.
10
+ - [`test add`](arithmetic.aug.md#symbol-test%20add) is a same-file test suite.
11
+
12
+ <a id="symbol-add"></a>
13
+
14
+ ## `add`
15
+
16
+ [source](arithmetic.aug#L2)
17
+
18
+ **Inputs**
19
+
20
+ - `left` (`int`) — required labeled input.
21
+ - `right` (`int`) — required labeled input.
22
+
23
+ Returns: `int`.
24
+
25
+ **What it does**
26
+
27
+ - Return `left` plus `right`.
28
+
29
+ **Author documentation**
30
+
31
+ Add two integers.
32
+
33
+ **Returns** Their sum.
34
+
35
+ **Parameters**
36
+ - `left`: First value.
37
+ - `right`: Second value.
38
+
39
+ <a id="symbol-test add"></a>
40
+
41
+ ## `test add`
42
+
43
+ [source](arithmetic.aug#L5)
44
+
45
+ Same-file function tests for [`add`](arithmetic.aug.md#symbol-add). Each case gets isolated setup and dependency bindings.
46
+
47
+ ### Group `addition`
48
+
49
+ #### `adds_two_integers`
50
+
51
+ [source](arithmetic.aug#L7)
52
+
53
+ - Call `assert` with (call [`add`](arithmetic.aug.md#symbol-add) with `left` = `2`; `right` = `3` equals `5`).
54
+
55
+ ## Built-in operations used by this file
56
+
57
+ - `assert` (`condition`: `bool`) → `void`: Assert a bool in a test case or its setup. Catching an assertion failure cannot make the case pass; every case must execute an assertion.
58
+
59
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
60
+
61
+ ## Shared language rules
62
+
63
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1 @@
1
+ export add from arithmetic
@@ -0,0 +1,17 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `export.aug` specification
4
+
5
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
+
7
+ ## In this file
8
+
9
+ - Export `add` from this folder.
10
+
11
+ ## Folder exports
12
+
13
+ - Export the declaration `add` from [`arithmetic.aug`](arithmetic.aug.md#symbol-add).
14
+
15
+ ## Shared language rules
16
+
17
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1,8 @@
1
+ {
2
+ "format": 1,
3
+ "files": [
4
+ "counter.aug.md",
5
+ "main.aug.md"
6
+ ],
7
+ "digest": "e1db6169882af7977c15c64a4c1739515c33d6bc940bff9ed10e45895831eb50"
8
+ }
@@ -0,0 +1,14 @@
1
+ interface ICounter {
2
+ label() returns string
3
+ }
4
+ Counter(mutable int value) implements ICounter {
5
+ _label() returns string {
6
+ return _prefix()
7
+ }
8
+ label() returns string {
9
+ return self._label()
10
+ }
11
+ }
12
+ _prefix() returns string {
13
+ return "count"
14
+ }
@@ -0,0 +1,87 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `counter.aug` specification
4
+
5
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
+
7
+ ## In this file
8
+
9
+ - [`ICounter`](counter.aug.md#symbol-ICounter) is an interface.
10
+ - [`Counter`](counter.aug.md#symbol-Counter) is a class implementing `ICounter`.
11
+ - [`_prefix`](counter.aug.md#symbol-_prefix) is a function returning `string`.
12
+
13
+ <a id="symbol-ICounter"></a>
14
+
15
+ ## `ICounter`
16
+
17
+ [source](counter.aug#L1)
18
+
19
+ Interface.
20
+
21
+ <a id="symbol-ICounter.label"></a>
22
+
23
+ ### `ICounter.label`
24
+
25
+ [source](counter.aug#L2)
26
+
27
+ Returns: `string`.
28
+
29
+ Interface contract. A selected implementation supplies the behavior.
30
+
31
+ <a id="symbol-Counter"></a>
32
+
33
+ ## `Counter`
34
+
35
+ [source](counter.aug#L4)
36
+
37
+ Behavioral class.
38
+
39
+ Satisfies [`ICounter`](counter.aug.md#symbol-ICounter).
40
+
41
+ **Inputs**
42
+
43
+ - `value` (`int`) — required labeled input — stored as `value` and mutable.
44
+
45
+ <a id="symbol-Counter._label"></a>
46
+
47
+ ### `Counter._label`
48
+
49
+ [source](counter.aug#L5)
50
+
51
+ Private to its defining scope.
52
+
53
+ Returns: `string`.
54
+
55
+ **What it does**
56
+
57
+ - Return call [`_prefix`](counter.aug.md#symbol-_prefix).
58
+
59
+ <a id="symbol-Counter.label"></a>
60
+
61
+ ### `Counter.label`
62
+
63
+ [source](counter.aug#L8)
64
+
65
+ Returns: `string`.
66
+
67
+ **What it does**
68
+
69
+ - Return call [`Counter._label`](counter.aug.md#symbol-Counter._label) on `self`.
70
+
71
+ <a id="symbol-_prefix"></a>
72
+
73
+ ## `_prefix`
74
+
75
+ [source](counter.aug#L12)
76
+
77
+ Private to its defining scope.
78
+
79
+ Returns: `string`.
80
+
81
+ **What it does**
82
+
83
+ - Return `"count"`.
84
+
85
+ ## Shared language rules
86
+
87
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1,7 @@
1
+ import Counter from counter
2
+ counter = Counter(value=1)
3
+ print(value=counter.label())
4
+ borrow counter {
5
+ counter.value = 2
6
+ }
7
+ print(value=counter.value)
@@ -0,0 +1,39 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `main.aug` specification
4
+
5
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
+
7
+ ## In this file
8
+
9
+ - Run 4 other startup steps in source order.
10
+
11
+ ## Startup, in source order
12
+
13
+ - Set `counter` to call [`Counter`](counter.aug.md#symbol-Counter) with `value` = `1`.
14
+ - Call `print` with `value` = call [`Counter.label`](counter.aug.md#symbol-Counter.label) on `counter`.
15
+ - Grant exclusive mutable access to `counter` for this block, then end the borrow:
16
+ - Set `value` of `counter` to `2`.
17
+ - Call `print` with `value` = `value` of `counter`.
18
+
19
+ ## Dependencies used by this file
20
+
21
+ Only referenced types and operations appear here. Each name links to its complete specification.
22
+
23
+ ### [`Counter`](counter.aug.md#symbol-Counter)
24
+
25
+ Class from `counter`.
26
+
27
+ - Construct with `value`: `int` → [`Counter`](counter.aug.md#symbol-Counter).
28
+ - Read `value` (`int`); its owner can change it.
29
+ - [`Counter.label`](counter.aug.md#symbol-Counter.label) (no caller inputs) → `string`.
30
+
31
+ ## Built-in operations used by this file
32
+
33
+ - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
34
+
35
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
36
+
37
+ ## Shared language rules
38
+
39
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@greenpandastudios/aug-cli",
3
+ "version": "0.19.0",
4
+ "description": "August compiler, native build CLI, tests and language server",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "engines": {
8
+ "node": ">=24"
9
+ },
10
+ "bin": {
11
+ "aug-cli": "bin/aug.mjs",
12
+ "aug": "bin/aug.mjs",
13
+ "aug-native": "scripts/bootstrap-native.mjs"
14
+ },
15
+ "files": [
16
+ "bin",
17
+ "src",
18
+ "runtime",
19
+ "scripts",
20
+ "docs",
21
+ "examples",
22
+ "LICENSE",
23
+ "THIRD_PARTY_NOTICES.md"
24
+ ],
25
+ "dependencies": {
26
+ "@greenpandastudios/aug-stdlib": "0.19.0",
27
+ "@greenpandastudios/aug-web": "0.19.0",
28
+ "@greenpandastudios/aug-crypto": "0.19.0"
29
+ },
30
+ "publishConfig": {
31
+ "access": "public",
32
+ "tag": "next"
33
+ },
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "https://github.com/GreenPandaStudios/augscript.git",
37
+ "directory": "packages/cli"
38
+ },
39
+ "homepage": "https://GreenPandaStudios.github.io/augscript/",
40
+ "bugs": {
41
+ "url": "https://github.com/GreenPandaStudios/augscript/issues"
42
+ },
43
+ "keywords": [
44
+ "august",
45
+ "augscript",
46
+ "compiler",
47
+ "language",
48
+ "llm"
49
+ ]
50
+ }