@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,316 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `contracts.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
+ - [`Console`](contracts.aug.md#symbol-Console) is a capability interface.
10
+ - [`SystemConsole`](contracts.aug.md#symbol-SystemConsole) is a class implementing `Console`.
11
+ - [`FileReader`](contracts.aug.md#symbol-FileReader) is a capability interface.
12
+ - [`FileWriter`](contracts.aug.md#symbol-FileWriter) is a capability interface.
13
+ - [`LocalFiles`](contracts.aug.md#symbol-LocalFiles) is a class implementing `FileReader`, `FileWriter`.
14
+ - [`Arguments`](contracts.aug.md#symbol-Arguments) is a capability interface.
15
+ - [`ProcessArguments`](contracts.aug.md#symbol-ProcessArguments) is a class implementing `Arguments`.
16
+
17
+ <a id="symbol-Console"></a>
18
+
19
+ ## `Console`
20
+
21
+ [source](contracts.aug#L3)
22
+
23
+ Capability interface.
24
+
25
+ **Author documentation**
26
+
27
+ Permission to write to a console, provided by an explicitly selected adapter.
28
+
29
+ <a id="symbol-Console.write"></a>
30
+
31
+ ### `Console.write`
32
+
33
+ [source](contracts.aug#L5)
34
+
35
+ Type parameters: `T`.
36
+
37
+ **Inputs**
38
+
39
+ - `value` (`T`) — required labeled input.
40
+
41
+ Returns: no value.
42
+
43
+ Capabilities: [`Console.write`](contracts.aug.md#symbol-Console.write).
44
+
45
+ Interface contract. A selected implementation supplies the behavior.
46
+
47
+ **Author documentation**
48
+
49
+ Write one line of text.
50
+
51
+ **Parameters**
52
+ - `value`: Text to display.
53
+
54
+ <a id="symbol-SystemConsole"></a>
55
+
56
+ ## `SystemConsole`
57
+
58
+ [source](contracts.aug#L8)
59
+
60
+ Behavioral class.
61
+
62
+ Satisfies [`Console`](contracts.aug.md#symbol-Console).
63
+
64
+ **Author documentation**
65
+
66
+ The native standard-output adapter. Construction performs no output.
67
+
68
+ <a id="symbol-SystemConsole.write"></a>
69
+
70
+ ### `SystemConsole.write`
71
+
72
+ [source](contracts.aug#L9)
73
+
74
+ Type parameters: `T`.
75
+
76
+ **Inputs**
77
+
78
+ - `value` (`T`) — required labeled input.
79
+
80
+ Returns: no value.
81
+
82
+ Capabilities: [`Console.write`](contracts.aug.md#symbol-Console.write).
83
+
84
+ **What it does**
85
+
86
+ - Call `print` with `value` = `value`.
87
+
88
+ **Author documentation**
89
+
90
+ Write one line of text.
91
+
92
+ **Parameters**
93
+ - `value`: Text to display.
94
+
95
+ <a id="symbol-FileReader"></a>
96
+
97
+ ## `FileReader`
98
+
99
+ [source](contracts.aug#L13)
100
+
101
+ Capability interface.
102
+
103
+ **Author documentation**
104
+
105
+ Read UTF-8 text through an explicitly selected filesystem adapter.
106
+
107
+ <a id="symbol-FileReader.read"></a>
108
+
109
+ ### `FileReader.read`
110
+
111
+ [source](contracts.aug#L15)
112
+
113
+ **Inputs**
114
+
115
+ - `path` (`string`) — required labeled input.
116
+
117
+ Returns: `string`.
118
+
119
+ Capabilities: [`FileReader.read`](contracts.aug.md#symbol-FileReader.read).
120
+
121
+ Can fail with `FileError`. Callers must catch or propagate these errors.
122
+
123
+ Interface contract. A selected implementation supplies the behavior.
124
+
125
+ **Author documentation**
126
+
127
+ Read text.
128
+
129
+ **Parameters**
130
+ - `path`: File path.
131
+
132
+ **Throws**
133
+ - `FileError`: The file could not be read.
134
+
135
+ <a id="symbol-FileWriter"></a>
136
+
137
+ ## `FileWriter`
138
+
139
+ [source](contracts.aug#L18)
140
+
141
+ Capability interface.
142
+
143
+ **Author documentation**
144
+
145
+ Write UTF-8 text through an explicitly selected filesystem adapter.
146
+
147
+ <a id="symbol-FileWriter.write"></a>
148
+
149
+ ### `FileWriter.write`
150
+
151
+ [source](contracts.aug#L20)
152
+
153
+ **Inputs**
154
+
155
+ - `path` (`string`) — required labeled input.
156
+ - `content` (`string`) — required labeled input.
157
+
158
+ Returns: no value.
159
+
160
+ Capabilities: [`FileWriter.write`](contracts.aug.md#symbol-FileWriter.write).
161
+
162
+ Can fail with `FileError`. Callers must catch or propagate these errors.
163
+
164
+ Interface contract. A selected implementation supplies the behavior.
165
+
166
+ **Author documentation**
167
+
168
+ Write text.
169
+
170
+ **Parameters**
171
+ - `path`: File path.
172
+ - `content`: Text.
173
+
174
+ **Throws**
175
+ - `FileError`: Writing failed.
176
+
177
+ <a id="symbol-LocalFiles"></a>
178
+
179
+ ## `LocalFiles`
180
+
181
+ [source](contracts.aug#L23)
182
+
183
+ Behavioral class.
184
+
185
+ Satisfies [`FileReader`](contracts.aug.md#symbol-FileReader), [`FileWriter`](contracts.aug.md#symbol-FileWriter).
186
+
187
+ **Author documentation**
188
+
189
+ Native files. Operations are explicit; construction opens no files.
190
+
191
+ <a id="symbol-LocalFiles.read"></a>
192
+
193
+ ### `LocalFiles.read`
194
+
195
+ [source](contracts.aug#L24)
196
+
197
+ **Inputs**
198
+
199
+ - `path` (`string`) — required labeled input.
200
+
201
+ Returns: `string`.
202
+
203
+ Capabilities: [`FileReader.read`](contracts.aug.md#symbol-FileReader.read).
204
+
205
+ Can fail with `FileError`. Callers must catch or propagate these errors.
206
+
207
+ **What it does**
208
+
209
+ - Return call `read_file` with `path` = `path`.
210
+
211
+ **Author documentation**
212
+
213
+ Read text.
214
+
215
+ **Parameters**
216
+ - `path`: File path.
217
+
218
+ **Throws**
219
+ - `FileError`: The file could not be read.
220
+
221
+ <a id="symbol-LocalFiles.write"></a>
222
+
223
+ ### `LocalFiles.write`
224
+
225
+ [source](contracts.aug#L26)
226
+
227
+ **Inputs**
228
+
229
+ - `path` (`string`) — required labeled input.
230
+ - `content` (`string`) — required labeled input.
231
+
232
+ Returns: no value.
233
+
234
+ Capabilities: [`FileWriter.write`](contracts.aug.md#symbol-FileWriter.write).
235
+
236
+ Can fail with `FileError`. Callers must catch or propagate these errors.
237
+
238
+ **What it does**
239
+
240
+ - Call `write_file` with `path` = `path`; `content` = `content`.
241
+
242
+ **Author documentation**
243
+
244
+ Write text.
245
+
246
+ **Parameters**
247
+ - `path`: File path.
248
+ - `content`: Text.
249
+
250
+ **Throws**
251
+ - `FileError`: Writing failed.
252
+
253
+ <a id="symbol-Arguments"></a>
254
+
255
+ ## `Arguments`
256
+
257
+ [source](contracts.aug#L30)
258
+
259
+ Capability interface.
260
+
261
+ **Author documentation**
262
+
263
+ Read command-line input through an explicit dependency.
264
+
265
+ <a id="symbol-Arguments.read"></a>
266
+
267
+ ### `Arguments.read`
268
+
269
+ [source](contracts.aug#L31)
270
+
271
+ Returns: `List<string>`.
272
+
273
+ Capabilities: [`Arguments.read`](contracts.aug.md#symbol-Arguments.read).
274
+
275
+ Interface contract. A selected implementation supplies the behavior.
276
+
277
+ <a id="symbol-ProcessArguments"></a>
278
+
279
+ ## `ProcessArguments`
280
+
281
+ [source](contracts.aug#L34)
282
+
283
+ Behavioral class.
284
+
285
+ Satisfies [`Arguments`](contracts.aug.md#symbol-Arguments).
286
+
287
+ **Author documentation**
288
+
289
+ Native command-line arguments.
290
+
291
+ <a id="symbol-ProcessArguments.read"></a>
292
+
293
+ ### `ProcessArguments.read`
294
+
295
+ [source](contracts.aug#L35)
296
+
297
+ Returns: `List<string>`.
298
+
299
+ Capabilities: [`Arguments.read`](contracts.aug.md#symbol-Arguments.read).
300
+
301
+ **What it does**
302
+
303
+ - Return call `arguments`.
304
+
305
+ ## Built-in operations used by this file
306
+
307
+ - `arguments` (no inputs) → `List<string>`: Composition arguments. Other callables receive the Arguments capability.
308
+ - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
309
+ - `read_file` (`path`: `string`) → `string`: Root-only UTF-8 text input. Other callables receive FileReader. Invalid Unicode and NUL raise FileError. Can fail with `FileError`.
310
+ - `write_file` (`path`: `string`, `content`: `string`) → `void`: Root-only UTF-8 text output. Other callables receive FileWriter. Can fail with `FileError`.
311
+
312
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
313
+
314
+ ## Shared language rules
315
+
316
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1,10 @@
1
+ {
2
+ "format": 1,
3
+ "files": [
4
+ ".aug-spec/august/0.19.0/io/contracts.aug",
5
+ ".aug-spec/august/0.19.0/io/contracts.aug.md",
6
+ "main.aug.md",
7
+ "types.aug.md"
8
+ ],
9
+ "digest": "b17af6b6608d47ed145c9647c531e9a58d8300656c50b63e31de9574fa62244a"
10
+ }
@@ -0,0 +1,9 @@
1
+ import Console and SystemConsole from august.io
2
+ implement Console with SystemConsole
3
+ import Repository from types
4
+ import NumberRepository from types
5
+ import Program from types
6
+ implement Repository<int> with NumberRepository
7
+ implement app with Program
8
+ resolve app to program
9
+ program.start()
@@ -0,0 +1,49 @@
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
+ - Register 3 dependency providers before startup.
10
+ - Run 2 other startup steps in source order.
11
+
12
+ ## Dependency providers
13
+
14
+ Register these providers before startup. Their declaration order does not set initialization order; shared instances initialize in dependency order.
15
+
16
+ - Provide [`SystemConsole`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-SystemConsole) when `Console` is requested. Reuse one instance.
17
+ - Provide [`NumberRepository`](types.aug.md#symbol-NumberRepository) when `Repository<int>` is requested. Reuse one instance.
18
+ - Provide [`Program`](types.aug.md#symbol-Program) when `app` is requested. Reuse one instance. Required dependencies: `Repository<int>`.
19
+
20
+ ## Startup, in source order
21
+
22
+ - Set `program` to the instance provided for `app`.
23
+ - Call [`Program.start`](types.aug.md#symbol-Program.start) on `program`; inject `console` from `Console`.
24
+
25
+ ## Dependencies used by this file
26
+
27
+ Only referenced types and operations appear here. Each name links to its complete specification.
28
+
29
+ ### [`SystemConsole`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-SystemConsole)
30
+
31
+ Class from `august.io`.
32
+
33
+ Used as a type or provider.
34
+
35
+ ### [`NumberRepository`](types.aug.md#symbol-NumberRepository)
36
+
37
+ Class from `types`.
38
+
39
+ Used as a type or provider.
40
+
41
+ ### [`Program`](types.aug.md#symbol-Program)
42
+
43
+ Class from `types`.
44
+
45
+ - [`Program.start`](types.aug.md#symbol-Program.start) (no caller inputs) → `void`; inject `console`: [`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console); uses [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
46
+
47
+ ## Shared language rules
48
+
49
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1,17 @@
1
+ import Console from august.io
2
+ interface Repository<T> {
3
+ get() returns T
4
+ }
5
+ NumberRepository() implements Repository<int> {
6
+ get() returns int {
7
+ return 7
8
+ }
9
+ }
10
+ Program(resolve Repository<int> repository) implements IProgram {
11
+ start(resolve Console console) uses Console.write {
12
+ console.write(value=repository.get())
13
+ }
14
+ }
15
+ interface IProgram {
16
+ start(resolve Console console) uses Console.write
17
+ }
@@ -0,0 +1,124 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `types.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
+ - [`Repository`](types.aug.md#symbol-Repository) is an interface.
10
+ - [`NumberRepository`](types.aug.md#symbol-NumberRepository) is a class implementing `Repository<int>`.
11
+ - [`Program`](types.aug.md#symbol-Program) is a class implementing `IProgram`.
12
+ - [`IProgram`](types.aug.md#symbol-IProgram) is an interface.
13
+
14
+ <a id="symbol-Repository"></a>
15
+
16
+ ## `Repository`
17
+
18
+ [source](types.aug#L2)
19
+
20
+ Interface.
21
+
22
+ Type parameters: `T`.
23
+
24
+ <a id="symbol-Repository.get"></a>
25
+
26
+ ### `Repository.get`
27
+
28
+ [source](types.aug#L3)
29
+
30
+ Returns: `T`.
31
+
32
+ Interface contract. A selected implementation supplies the behavior.
33
+
34
+ <a id="symbol-NumberRepository"></a>
35
+
36
+ ## `NumberRepository`
37
+
38
+ [source](types.aug#L5)
39
+
40
+ Behavioral class.
41
+
42
+ Satisfies [`Repository`](types.aug.md#symbol-Repository).
43
+
44
+ <a id="symbol-NumberRepository.get"></a>
45
+
46
+ ### `NumberRepository.get`
47
+
48
+ [source](types.aug#L6)
49
+
50
+ Returns: `int`.
51
+
52
+ **What it does**
53
+
54
+ - Return `7`.
55
+
56
+ <a id="symbol-Program"></a>
57
+
58
+ ## `Program`
59
+
60
+ [source](types.aug#L10)
61
+
62
+ Behavioral class.
63
+
64
+ Satisfies [`IProgram`](types.aug.md#symbol-IProgram).
65
+
66
+ **Inputs**
67
+
68
+ - `repository` ([`Repository<int>`](types.aug.md#symbol-Repository)) — injected; callers omit it — stored as `repository` and read-only after initialization.
69
+
70
+ <a id="symbol-Program.start"></a>
71
+
72
+ ### `Program.start`
73
+
74
+ [source](types.aug#L11)
75
+
76
+ **Inputs**
77
+
78
+ - `console` ([`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
79
+
80
+ Returns: no value.
81
+
82
+ Capabilities: [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
83
+
84
+ **What it does**
85
+
86
+ - Call [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write) on `console` with `value` = call [`Repository.get`](types.aug.md#symbol-Repository.get) on `repository`.
87
+
88
+ <a id="symbol-IProgram"></a>
89
+
90
+ ## `IProgram`
91
+
92
+ [source](types.aug#L15)
93
+
94
+ Interface.
95
+
96
+ <a id="symbol-IProgram.start"></a>
97
+
98
+ ### `IProgram.start`
99
+
100
+ [source](types.aug#L16)
101
+
102
+ **Inputs**
103
+
104
+ - `console` ([`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
105
+
106
+ Returns: no value.
107
+
108
+ Capabilities: [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
109
+
110
+ Interface contract. A selected implementation supplies the behavior.
111
+
112
+ ## Dependencies used by this file
113
+
114
+ Only referenced types and operations appear here. Each name links to its complete specification.
115
+
116
+ ### [`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)
117
+
118
+ Capability interface from `august.io`.
119
+
120
+ - [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
121
+
122
+ ## Shared language rules
123
+
124
+ 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
+ "main.aug.md",
5
+ "types.aug.md"
6
+ ],
7
+ "digest": "48c09c80b967fb33cac28f4e8ea6ebfb7ad51c57a08e7e0ded24cc2336c1f7aa"
8
+ }
@@ -0,0 +1,9 @@
1
+ import Formatter from types
2
+ import TextFormatter from types
3
+ import Box from types
4
+ implement Formatter with TextFormatter
5
+ resolve Formatter to formatter
6
+ print(value=formatter.title())
7
+ print(value=formatter.format<int>(value=42))
8
+ box = Box<string>(value="inside a generic box")
9
+ print(value=box.get())
@@ -0,0 +1,58 @@
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
+ - Register 1 dependency provider before startup.
10
+ - Run 5 other startup steps in source order.
11
+
12
+ ## Dependency providers
13
+
14
+ Register these providers before startup. Their declaration order does not set initialization order; shared instances initialize in dependency order.
15
+
16
+ - Provide [`TextFormatter`](types.aug.md#symbol-TextFormatter) when `Formatter` is requested. Reuse one instance.
17
+
18
+ ## Startup, in source order
19
+
20
+ - Set `formatter` to the instance provided for `Formatter`.
21
+ - Call `print` with `value` = call [`Formatter.title`](types.aug.md#symbol-Formatter.title) on `formatter`.
22
+ - Call `print` with `value` = call [`Formatter.format`](types.aug.md#symbol-Formatter.format) on `formatter` with type arguments `int` with `value` = `42`.
23
+ - Set `box` to call [`Box`](types.aug.md#symbol-Box) with type arguments `string` with `value` = `"inside a generic box"`.
24
+ - Call `print` with `value` = call [`Box.get`](types.aug.md#symbol-Box.get) on `box`.
25
+
26
+ ## Dependencies used by this file
27
+
28
+ Only referenced types and operations appear here. Each name links to its complete specification.
29
+
30
+ ### [`Box`](types.aug.md#symbol-Box)
31
+
32
+ Class from `types`.
33
+
34
+ - Construct with `value`: `T` → [`Box`](types.aug.md#symbol-Box).
35
+ - [`Box.get`](types.aug.md#symbol-Box.get) (no caller inputs) → `T`.
36
+
37
+ ### [`Formatter`](types.aug.md#symbol-Formatter)
38
+
39
+ Interface from `types`.
40
+
41
+ - [`Formatter.format`](types.aug.md#symbol-Formatter.format)<`T`> (`value`: `T`) → `string`.
42
+ - [`Formatter.title`](types.aug.md#symbol-Formatter.title) (no caller inputs) → `string`.
43
+
44
+ ### [`TextFormatter`](types.aug.md#symbol-TextFormatter)
45
+
46
+ Class from `types`.
47
+
48
+ Used as a type or provider.
49
+
50
+ ## Built-in operations used by this file
51
+
52
+ - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
53
+
54
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
55
+
56
+ ## Shared language rules
57
+
58
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1,19 @@
1
+ interface Formatter {
2
+ format<T>(T value) returns string
3
+ title() returns string {
4
+ return "formatted"
5
+ }
6
+ }
7
+ TextFormatter() implements Formatter {
8
+ format<T>(T value) returns string {
9
+ return "generic method called"
10
+ }
11
+ }
12
+ Box<T>(T value) implements IBox<T> {
13
+ get() returns T {
14
+ return value
15
+ }
16
+ }
17
+ interface IBox<T> {
18
+ get() returns T
19
+ }