@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,14 @@
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
+ "counters.aug.md",
7
+ "domain/app.aug.md",
8
+ "domain/export.aug.md",
9
+ "domain/models.aug.md",
10
+ "domain/numbers.aug.md",
11
+ "main.aug.md"
12
+ ],
13
+ "digest": "17b8a92022fe0e3becdd73b3eb31493a9cebe7ddeb63b1e76596c612ed728d88"
14
+ }
@@ -0,0 +1,22 @@
1
+ /** Reading state has no mutation effect. */
2
+ interface State:
3
+ read() returns int
4
+ _Initial() implements State:
5
+ read() returns int:
6
+ return 0
7
+ _Updated(int count) implements State:
8
+ read() returns int:
9
+ return count
10
+ /** A mutable counter with an explicit transition contract. */
11
+ interface Counter:
12
+ increment() changes self
13
+ value() returns int
14
+ _Counter(resolve mutable State initial to _state) implements Counter:
15
+ increment() changes self:
16
+ _state to _Updated(count=_state.read() + 1)
17
+ value() returns int:
18
+ return _state.read()
19
+ /** The complete counter composition; its mutable state belongs to each scope. */
20
+ composition Counters:
21
+ implement State with _Initial
22
+ implement Counter with _Counter scoped mutable
@@ -0,0 +1,177 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `counters.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
+ - [`State`](counters.aug.md#symbol-State) is an interface.
10
+ - [`_Initial`](counters.aug.md#symbol-_Initial) is a class implementing `State`.
11
+ - [`_Updated`](counters.aug.md#symbol-_Updated) is a class implementing `State`.
12
+ - [`Counter`](counters.aug.md#symbol-Counter) is an interface.
13
+ - [`_Counter`](counters.aug.md#symbol-_Counter) is a class implementing `Counter`.
14
+ - [`Counters`](counters.aug.md#symbol-Counters) declares 2 providers.
15
+
16
+ <a id="symbol-State"></a>
17
+
18
+ ## `State`
19
+
20
+ [source](counters.aug#L2)
21
+
22
+ Interface.
23
+
24
+ **Author documentation**
25
+
26
+ Reading state has no mutation effect.
27
+
28
+ <a id="symbol-State.read"></a>
29
+
30
+ ### `State.read`
31
+
32
+ [source](counters.aug#L3)
33
+
34
+ Returns: `int`.
35
+
36
+ Interface contract. A selected implementation supplies the behavior.
37
+
38
+ <a id="symbol-Counter"></a>
39
+
40
+ ## `Counter`
41
+
42
+ [source](counters.aug#L11)
43
+
44
+ Interface.
45
+
46
+ **Author documentation**
47
+
48
+ A mutable counter with an explicit transition contract.
49
+
50
+ <a id="symbol-Counter.increment"></a>
51
+
52
+ ### `Counter.increment`
53
+
54
+ [source](counters.aug#L12)
55
+
56
+ Returns: no value.
57
+
58
+ May change: `self`.
59
+
60
+ Interface contract. A selected implementation supplies the behavior.
61
+
62
+ <a id="symbol-Counter.value"></a>
63
+
64
+ ### `Counter.value`
65
+
66
+ [source](counters.aug#L13)
67
+
68
+ Returns: `int`.
69
+
70
+ Interface contract. A selected implementation supplies the behavior.
71
+
72
+ <a id="symbol-Counters"></a>
73
+
74
+ ## `Counters`
75
+
76
+ [source](counters.aug#L20)
77
+
78
+ **Author documentation**
79
+
80
+ The complete counter composition; its mutable state belongs to each scope.
81
+
82
+ This composition declares these providers before startup:
83
+
84
+ - Provide [`_Initial`](counters.aug.md#symbol-_Initial) when `State` is requested. Reuse one instance.
85
+ - Provide [`_Counter`](counters.aug.md#symbol-_Counter) when `Counter` is requested. Reuse one instance per explicit scope. Permit explicit shared mutation. Required dependencies: `State`.
86
+
87
+ <a id="symbol-_Initial"></a>
88
+
89
+ ## `_Initial`
90
+
91
+ [source](counters.aug#L4)
92
+
93
+ Behavioral class, private to this file.
94
+
95
+ Satisfies [`State`](counters.aug.md#symbol-State).
96
+
97
+ <a id="symbol-_Initial.read"></a>
98
+
99
+ ### `_Initial.read`
100
+
101
+ [source](counters.aug#L5)
102
+
103
+ Returns: `int`.
104
+
105
+ **What it does**
106
+
107
+ - Return `0`.
108
+
109
+ <a id="symbol-_Updated"></a>
110
+
111
+ ## `_Updated`
112
+
113
+ [source](counters.aug#L7)
114
+
115
+ Behavioral class, private to this file.
116
+
117
+ Satisfies [`State`](counters.aug.md#symbol-State).
118
+
119
+ **Inputs**
120
+
121
+ - `count` (`int`) — required labeled input — stored as `count` and read-only after initialization.
122
+
123
+ <a id="symbol-_Updated.read"></a>
124
+
125
+ ### `_Updated.read`
126
+
127
+ [source](counters.aug#L8)
128
+
129
+ Returns: `int`.
130
+
131
+ **What it does**
132
+
133
+ - Return `count`.
134
+
135
+ <a id="symbol-_Counter"></a>
136
+
137
+ ## `_Counter`
138
+
139
+ [source](counters.aug#L14)
140
+
141
+ Behavioral class, private to this file.
142
+
143
+ Satisfies [`Counter`](counters.aug.md#symbol-Counter).
144
+
145
+ **Inputs**
146
+
147
+ - `initial` ([`State`](counters.aug.md#symbol-State)) — injected; callers omit it — stored as `_state` (private) and mutable.
148
+
149
+ <a id="symbol-_Counter.increment"></a>
150
+
151
+ ### `_Counter.increment`
152
+
153
+ [source](counters.aug#L15)
154
+
155
+ Returns: no value.
156
+
157
+ May change: `self`.
158
+
159
+ **What it does**
160
+
161
+ - Set `_state` to call [`_Updated`](counters.aug.md#symbol-_Updated) with `count` = (call [`State.read`](counters.aug.md#symbol-State.read) on `_state` plus `1`).
162
+
163
+ <a id="symbol-_Counter.value"></a>
164
+
165
+ ### `_Counter.value`
166
+
167
+ [source](counters.aug#L17)
168
+
169
+ Returns: `int`.
170
+
171
+ **What it does**
172
+
173
+ - Return call [`State.read`](counters.aug.md#symbol-State.read) on `_state`.
174
+
175
+ ## Shared language rules
176
+
177
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1,12 @@
1
+ import Console from august.io
2
+ import Fruit from models
3
+ /** The application's explicit startup operation. */
4
+ interface Application:
5
+ /** Writes the fruit names through the selected console. */
6
+ start() uses Console.write
7
+ /** Construction stores dependencies; start performs the visible external work. */
8
+ ApplicationImpl(resolve Console console) implements Application:
9
+ start() uses console.write:
10
+ fruit to [Fruit(code=1, name="apple"), Fruit(name="pear", code=2)]
11
+ for item in fruit:
12
+ console.write(value=item.name)
@@ -0,0 +1,97 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `app.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
+ - [`Application`](app.aug.md#symbol-Application) is an interface.
10
+ - [`ApplicationImpl`](app.aug.md#symbol-ApplicationImpl) is a class implementing `Application`.
11
+
12
+ <a id="symbol-Application"></a>
13
+
14
+ ## `Application`
15
+
16
+ [source](app.aug#L4)
17
+
18
+ Interface.
19
+
20
+ **Author documentation**
21
+
22
+ The application's explicit startup operation.
23
+
24
+ <a id="symbol-Application.start"></a>
25
+
26
+ ### `Application.start`
27
+
28
+ [source](app.aug#L6)
29
+
30
+ Returns: no value.
31
+
32
+ Capabilities: [`Console.write`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
33
+
34
+ Interface contract. A selected implementation supplies the behavior.
35
+
36
+ **Author documentation**
37
+
38
+ Writes the fruit names through the selected console.
39
+
40
+ <a id="symbol-ApplicationImpl"></a>
41
+
42
+ ## `ApplicationImpl`
43
+
44
+ [source](app.aug#L8)
45
+
46
+ Behavioral class.
47
+
48
+ Satisfies [`Application`](app.aug.md#symbol-Application).
49
+
50
+ **Author documentation**
51
+
52
+ Construction stores dependencies; start performs the visible external work.
53
+
54
+ **Inputs**
55
+
56
+ - `console` ([`Console`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it — stored as `console` and read-only after initialization.
57
+
58
+ <a id="symbol-ApplicationImpl.start"></a>
59
+
60
+ ### `ApplicationImpl.start`
61
+
62
+ [source](app.aug#L9)
63
+
64
+ Returns: no value.
65
+
66
+ Capabilities: [`console.write`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
67
+
68
+ **What it does**
69
+
70
+ - Set `fruit` to a list containing call [`Fruit`](models.aug.md#symbol-Fruit) with `code` = `1`; `name` = `"apple"`, call [`Fruit`](models.aug.md#symbol-Fruit) with `name` = `"pear"`; `code` = `2`.
71
+ - For each `item` in a snapshot of `fruit`, in iteration order:
72
+ - Call [`Console.write`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write) on `console` with `value` = `name` of `item`.
73
+
74
+ **Author documentation**
75
+
76
+ Writes the fruit names through the selected console.
77
+
78
+ ## Dependencies used by this file
79
+
80
+ Only referenced types and operations appear here. Each name links to its complete specification.
81
+
82
+ ### [`Console`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)
83
+
84
+ Capability interface from `august.io`.
85
+
86
+ - [`Console.write`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
87
+
88
+ ### [`Fruit`](models.aug.md#symbol-Fruit)
89
+
90
+ Record from `models`.
91
+
92
+ - Construct with `code`: `int`, `name`: `string` → [`Fruit`](models.aug.md#symbol-Fruit).
93
+ - Read `name` (`string`).
94
+
95
+ ## Shared language rules
96
+
97
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1,5 @@
1
+ export Application from app
2
+ export ApplicationImpl from app
3
+ export Fruit from models
4
+ export double from numbers
5
+ export RangeError from numbers
@@ -0,0 +1,25 @@
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 `Application` from this folder.
10
+ - Export `ApplicationImpl` from this folder.
11
+ - Export `Fruit` from this folder.
12
+ - Export `double` from this folder.
13
+ - Export `RangeError` from this folder.
14
+
15
+ ## Folder exports
16
+
17
+ - Export the declaration `Application` from [`app.aug`](app.aug.md#symbol-Application).
18
+ - Export the declaration `ApplicationImpl` from [`app.aug`](app.aug.md#symbol-ApplicationImpl).
19
+ - Export the declaration `Fruit` from [`models.aug`](models.aug.md#symbol-Fruit).
20
+ - Export the declaration `double` from [`numbers.aug`](numbers.aug.md#symbol-double).
21
+ - Export the declaration `RangeError` from [`numbers.aug`](numbers.aug.md#symbol-RangeError).
22
+
23
+ ## Shared language rules
24
+
25
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
@@ -0,0 +1,2 @@
1
+ /** Immutable fruit data, with public construction labels and structural equality. */
2
+ record Fruit(int code, string name)
@@ -0,0 +1,30 @@
1
+ <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
+
3
+ # `models.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
+ - [`Fruit`](models.aug.md#symbol-Fruit) is an immutable record.
10
+
11
+ <a id="symbol-Fruit"></a>
12
+
13
+ ## `Fruit`
14
+
15
+ [source](models.aug#L2)
16
+
17
+ Immutable record.
18
+
19
+ **Author documentation**
20
+
21
+ Immutable fruit data, with public construction labels and structural equality.
22
+
23
+ **Inputs**
24
+
25
+ - `code` (`int`) — required labeled input — stored as `code` and read-only after initialization.
26
+ - `name` (`string`) — required labeled input — stored as `name` and read-only after initialization.
27
+
28
+ ## Shared language rules
29
+
30
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.