@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,284 @@
1
+ ---
2
+ title: "interceptors.aug · Function and constructor middleware"
3
+ generated: true
4
+ source: "examples/interceptors/interceptors.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `interceptors.aug`
13
+
14
+ [Function and constructor middleware](index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](main.md)
19
+ - [`app.aug`](app.md)
20
+ - [`interceptors.aug`](interceptors.md)
21
+ - [`logging.aug`](logging.md)
22
+
23
+ :::
24
+
25
+ ::::: example-compare
26
+
27
+ :::: example-code
28
+
29
+ ## Code {#code}
30
+
31
+ ::: code-group
32
+
33
+ ```aug [Indentation]
34
+ import Console from august.io
35
+ import Logger from logging
36
+ /** Raised when a numeric input fails validation. */
37
+ ValidationError(string message) implements Error:
38
+ pass
39
+ /**
40
+ * Logs before and after a successful call.
41
+ * Generic T is inferred from the annotated function or constructor.
42
+ * @param logger Shared application logger, injected for each fresh instance.
43
+ */
44
+ interceptor Audit<T>(resolve Logger logger):
45
+ /** Wrap a call without changing its result. */
46
+ around(resolve Console console) returns T uses Console.write:
47
+ logger.log(message="before")
48
+ T result = next()
49
+ logger.log(message="after")
50
+ return result
51
+ /** Rejects negative numbers before the target executes. */
52
+ interceptor Positive<T>():
53
+ /**
54
+ * @param y The target argument selected by a mapping such as y=x.
55
+ * @throws ValidationError When the selected value is negative.
56
+ */
57
+ around(int y) returns T unless ValidationError:
58
+ if y < 0:
59
+ throw ValidationError(message="value must be nonnegative")
60
+ return next()
61
+ /** Adds one to the selected input before forwarding the call. */
62
+ interceptor AddOne<T>():
63
+ /** @param y The input to increment. */
64
+ around(int y) returns T:
65
+ return next(y=y + 1)
66
+ ```
67
+
68
+ ```aug [Braces]
69
+ import Console from august.io
70
+ import Logger from logging
71
+ /** Raised when a numeric input fails validation. */
72
+ ValidationError(string message) implements Error {
73
+ pass
74
+ }
75
+ /**
76
+ * Logs before and after a successful call.
77
+ * Generic T is inferred from the annotated function or constructor.
78
+ * @param logger Shared application logger, injected for each fresh instance.
79
+ */
80
+ interceptor Audit<T>(resolve Logger logger) {
81
+ /** Wrap a call without changing its result. */
82
+ around(resolve Console console) returns T uses Console.write {
83
+ logger.log(message="before")
84
+ T result = next()
85
+ logger.log(message="after")
86
+ return result
87
+ }
88
+ }
89
+ /** Rejects negative numbers before the target executes. */
90
+ interceptor Positive<T>() {
91
+ /**
92
+ * @param y The target argument selected by a mapping such as y=x.
93
+ * @throws ValidationError When the selected value is negative.
94
+ */
95
+ around(int y) returns T unless ValidationError {
96
+ if y < 0 {
97
+ throw ValidationError(message="value must be nonnegative")
98
+ }
99
+ return next()
100
+ }
101
+ }
102
+ /** Adds one to the selected input before forwarding the call. */
103
+ interceptor AddOne<T>() {
104
+ /** @param y The input to increment. */
105
+ around(int y) returns T {
106
+ return next(y=y + 1)
107
+ }
108
+ }
109
+ ```
110
+
111
+ :::
112
+
113
+ ::::
114
+
115
+ :::: example-spec
116
+
117
+ ## Compiled specification {#specification}
118
+
119
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
120
+
121
+ ### In this file
122
+
123
+ - [`ValidationError`](interceptors.md#symbol-ValidationError) is a class implementing `Error`.
124
+ - [`Audit`](interceptors.md#symbol-Audit) is an interceptor.
125
+ - [`Positive`](interceptors.md#symbol-Positive) is an interceptor.
126
+ - [`AddOne`](interceptors.md#symbol-AddOne) is an interceptor.
127
+
128
+ ### `ValidationError` {#symbol-ValidationError}
129
+
130
+ [source](interceptors.md#code)
131
+
132
+ Behavioral class.
133
+
134
+ Satisfies `Error`.
135
+
136
+ **Author documentation**
137
+
138
+ Raised when a numeric input fails validation.
139
+
140
+ **Inputs**
141
+
142
+ - `message` (`string`) — required labeled input — stored as `message` and read-only after initialization.
143
+
144
+ ### `Audit` {#symbol-Audit}
145
+
146
+ [source](interceptors.md#code)
147
+
148
+ Function or constructor middleware.
149
+
150
+ Type parameters: `T`.
151
+
152
+ **Author documentation**
153
+
154
+ Logs before and after a successful call.
155
+ Generic T is inferred from the annotated function or constructor.
156
+
157
+ **Parameters**
158
+ - `logger`: Shared application logger, injected for each fresh instance.
159
+
160
+ **Inputs**
161
+
162
+ - `logger` ([`Logger`](logging.md#symbol-Logger)) — injected; callers omit it — stored as `logger` and read-only after initialization.
163
+
164
+ Create a fresh interceptor for each invocation. Its around operation can delegate once, change selected inputs, or short-circuit with a compatible result or failure.
165
+
166
+ #### `Audit.around` {#symbol-Audit.around}
167
+
168
+ [source](interceptors.md#code)
169
+
170
+ **Inputs**
171
+
172
+ - `console` ([`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
173
+
174
+ Returns: `T`.
175
+
176
+ Capabilities: [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
177
+
178
+ **What it does**
179
+
180
+ - Call [`Logger.log`](logging.md#symbol-Logger.log) on `logger` with `message` = `"before"`; inject `console` from `console`.
181
+ - Set `result` of type `T` to call `next`.
182
+ - Call [`Logger.log`](logging.md#symbol-Logger.log) on `logger` with `message` = `"after"`; inject `console` from `console`.
183
+ - Return `result`.
184
+
185
+ **Author documentation**
186
+
187
+ Wrap a call without changing its result.
188
+
189
+ ### `Positive` {#symbol-Positive}
190
+
191
+ [source](interceptors.md#code)
192
+
193
+ Function or constructor middleware.
194
+
195
+ Type parameters: `T`.
196
+
197
+ **Author documentation**
198
+
199
+ Rejects negative numbers before the target executes.
200
+
201
+ Create a fresh interceptor for each invocation. Its around operation can delegate once, change selected inputs, or short-circuit with a compatible result or failure.
202
+
203
+ #### `Positive.around` {#symbol-Positive.around}
204
+
205
+ [source](interceptors.md#code)
206
+
207
+ **Inputs**
208
+
209
+ - `y` (`int`) — required labeled input.
210
+
211
+ Returns: `T`.
212
+
213
+ Can fail with `ValidationError`. Callers must catch or propagate these errors.
214
+
215
+ **What it does**
216
+
217
+ - If `y` is less than `0`:
218
+ - Fail with call [`ValidationError`](interceptors.md#symbol-ValidationError) with `message` = `"value must be nonnegative"`. Transfer control to a matching catch or propagate the failure.
219
+ - Return call `next`.
220
+
221
+ **Author documentation**
222
+
223
+ **Parameters**
224
+ - `y`: The target argument selected by a mapping such as y=x.
225
+
226
+ **Throws**
227
+ - `ValidationError`: When the selected value is negative.
228
+
229
+ ### `AddOne` {#symbol-AddOne}
230
+
231
+ [source](interceptors.md#code)
232
+
233
+ Function or constructor middleware.
234
+
235
+ Type parameters: `T`.
236
+
237
+ **Author documentation**
238
+
239
+ Adds one to the selected input before forwarding the call.
240
+
241
+ Create a fresh interceptor for each invocation. Its around operation can delegate once, change selected inputs, or short-circuit with a compatible result or failure.
242
+
243
+ #### `AddOne.around` {#symbol-AddOne.around}
244
+
245
+ [source](interceptors.md#code)
246
+
247
+ **Inputs**
248
+
249
+ - `y` (`int`) — required labeled input.
250
+
251
+ Returns: `T`.
252
+
253
+ **What it does**
254
+
255
+ - Return call `next` with `y` = (`y` plus `1`).
256
+
257
+ **Author documentation**
258
+
259
+ **Parameters**
260
+ - `y`: The input to increment.
261
+
262
+ ### Dependencies used by this file
263
+
264
+ Only referenced types and operations appear here. Each name links to its complete specification.
265
+
266
+ #### [`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console)
267
+
268
+ Capability interface from `august.io`.
269
+
270
+ - [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
271
+
272
+ #### [`Logger`](logging.md#symbol-Logger)
273
+
274
+ Interface from `logging`.
275
+
276
+ - [`Logger.log`](logging.md#symbol-Logger.log) (`message`: `string`) → `void`; inject `console`: [`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console); uses [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
277
+
278
+ ### Shared language rules
279
+
280
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
281
+
282
+ ::::
283
+
284
+ :::::
@@ -0,0 +1,155 @@
1
+ ---
2
+ title: "logging.aug · Function and constructor middleware"
3
+ generated: true
4
+ source: "examples/interceptors/logging.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `logging.aug`
13
+
14
+ [Function and constructor middleware](index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](main.md)
19
+ - [`app.aug`](app.md)
20
+ - [`interceptors.aug`](interceptors.md)
21
+ - [`logging.aug`](logging.md)
22
+
23
+ :::
24
+
25
+ ::::: example-compare
26
+
27
+ :::: example-code
28
+
29
+ ## Code {#code}
30
+
31
+ ::: code-group
32
+
33
+ ```aug [Indentation]
34
+ import Console from august.io
35
+ /** Writes a message to the application log. */
36
+ interface Logger:
37
+ /** @param message Text to display. */
38
+ log(resolve Console console, string message) uses Console.write
39
+ /** Console logger shared by interceptor instances and the application. */
40
+ ConsoleLogger() implements Logger:
41
+ log(resolve Console console, string message) uses Console.write:
42
+ console.write(value=message)
43
+ ```
44
+
45
+ ```aug [Braces]
46
+ import Console from august.io
47
+ /** Writes a message to the application log. */
48
+ interface Logger {
49
+ /** @param message Text to display. */
50
+ log(resolve Console console, string message) uses Console.write
51
+ }
52
+ /** Console logger shared by interceptor instances and the application. */
53
+ ConsoleLogger() implements Logger {
54
+ log(resolve Console console, string message) uses Console.write {
55
+ console.write(value=message)
56
+ }
57
+ }
58
+ ```
59
+
60
+ :::
61
+
62
+ ::::
63
+
64
+ :::: example-spec
65
+
66
+ ## Compiled specification {#specification}
67
+
68
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
69
+
70
+ ### In this file
71
+
72
+ - [`Logger`](logging.md#symbol-Logger) is an interface.
73
+ - [`ConsoleLogger`](logging.md#symbol-ConsoleLogger) is a class implementing `Logger`.
74
+
75
+ ### `Logger` {#symbol-Logger}
76
+
77
+ [source](logging.md#code)
78
+
79
+ Interface.
80
+
81
+ **Author documentation**
82
+
83
+ Writes a message to the application log.
84
+
85
+ #### `Logger.log` {#symbol-Logger.log}
86
+
87
+ [source](logging.md#code)
88
+
89
+ **Inputs**
90
+
91
+ - `console` ([`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
92
+ - `message` (`string`) — required labeled input.
93
+
94
+ Returns: no value.
95
+
96
+ Capabilities: [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
97
+
98
+ Interface contract. A selected implementation supplies the behavior.
99
+
100
+ **Author documentation**
101
+
102
+ **Parameters**
103
+ - `message`: Text to display.
104
+
105
+ ### `ConsoleLogger` {#symbol-ConsoleLogger}
106
+
107
+ [source](logging.md#code)
108
+
109
+ Behavioral class.
110
+
111
+ Satisfies [`Logger`](logging.md#symbol-Logger).
112
+
113
+ **Author documentation**
114
+
115
+ Console logger shared by interceptor instances and the application.
116
+
117
+ #### `ConsoleLogger.log` {#symbol-ConsoleLogger.log}
118
+
119
+ [source](logging.md#code)
120
+
121
+ **Inputs**
122
+
123
+ - `console` ([`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
124
+ - `message` (`string`) — required labeled input.
125
+
126
+ Returns: no value.
127
+
128
+ Capabilities: [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
129
+
130
+ **What it does**
131
+
132
+ - Call [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write) on `console` with `value` = `message`.
133
+
134
+ **Author documentation**
135
+
136
+ **Parameters**
137
+ - `message`: Text to display.
138
+
139
+ ### Dependencies used by this file
140
+
141
+ Only referenced types and operations appear here. Each name links to its complete specification.
142
+
143
+ #### [`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console)
144
+
145
+ Capability interface from `august.io`.
146
+
147
+ - [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
148
+
149
+ ### Shared language rules
150
+
151
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
152
+
153
+ ::::
154
+
155
+ :::::
@@ -0,0 +1,162 @@
1
+ ---
2
+ title: "main.aug · Function and constructor middleware"
3
+ generated: true
4
+ source: "examples/interceptors/main.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `main.aug`
13
+
14
+ [Function and constructor middleware](index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](main.md)
19
+ - [`app.aug`](app.md)
20
+ - [`interceptors.aug`](interceptors.md)
21
+ - [`logging.aug`](logging.md)
22
+
23
+ :::
24
+
25
+ ::::: example-compare
26
+
27
+ :::: example-code
28
+
29
+ ## Code {#code}
30
+
31
+ ::: code-group
32
+
33
+ ```aug [Indentation]
34
+ import Console and SystemConsole from august.io
35
+ implement Console with SystemConsole
36
+ import Logger from logging
37
+ import ConsoleLogger from logging
38
+ import Greeter from app
39
+ import describe from app
40
+ import ValidationError from interceptors
41
+ implement Logger with ConsoleLogger
42
+ try:
43
+ print(value=describe(label="value", x=6))
44
+ catch ValidationError error:
45
+ print(value="rejected")
46
+ greeter = Greeter(name="AugScript")
47
+ print(value=greeter.greet())
48
+ try:
49
+ describe(x=-1, label="invalid")
50
+ catch ValidationError error:
51
+ print(value="rejected")
52
+ ```
53
+
54
+ ```aug [Braces]
55
+ import Console and SystemConsole from august.io
56
+ implement Console with SystemConsole
57
+ import Logger from logging
58
+ import ConsoleLogger from logging
59
+ import Greeter from app
60
+ import describe from app
61
+ import ValidationError from interceptors
62
+ implement Logger with ConsoleLogger
63
+ try {
64
+ print(value=describe(label="value", x=6))
65
+ }
66
+ catch ValidationError error {
67
+ print(value="rejected")
68
+ }
69
+ greeter = Greeter(name="AugScript")
70
+ print(value=greeter.greet())
71
+ try {
72
+ describe(x=-1, label="invalid")
73
+ }
74
+ catch ValidationError error {
75
+ print(value="rejected")
76
+ }
77
+ ```
78
+
79
+ :::
80
+
81
+ ::::
82
+
83
+ :::: example-spec
84
+
85
+ ## Compiled specification {#specification}
86
+
87
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
88
+
89
+ ### In this file
90
+
91
+ - Register 2 dependency providers before startup.
92
+ - Run startup operations with checked error recovery.
93
+ - Run 2 other startup steps in source order.
94
+
95
+ ### Dependency providers
96
+
97
+ Register these providers before startup. Their declaration order does not set initialization order; shared instances initialize in dependency order.
98
+
99
+ - Provide [`SystemConsole`](dependencies/august/0.19.0/io/contracts.md#symbol-SystemConsole) when `Console` is requested. Reuse one instance.
100
+ - Provide [`ConsoleLogger`](logging.md#symbol-ConsoleLogger) when `Logger` is requested. Reuse one instance.
101
+
102
+ ### Startup, in source order
103
+
104
+ - Try these operations:
105
+ - Call `print` with `value` = call [`describe`](app.md#symbol-describe) with `label` = `"value"`; `x` = `6`; inject `logger` from `Logger`, `console` from `Console`.
106
+ - If they fail with [`ValidationError`](interceptors.md#symbol-ValidationError), name the failure `error` and recover:
107
+ - Call `print` with `value` = `"rejected"`.
108
+ - Set `greeter` to call [`Greeter`](app.md#symbol-Greeter) with `name` = `"AugScript"`; inject `_logger` from `Logger`.
109
+ - Call `print` with `value` = call [`Greeter.greet`](app.md#symbol-Greeter.greet) on `greeter`; inject `logger` from `Logger`, `console` from `Console`.
110
+ - Try these operations:
111
+ - Call [`describe`](app.md#symbol-describe) with `x` = `-1`; `label` = `"invalid"`; inject `logger` from `Logger`, `console` from `Console`.
112
+ - If they fail with [`ValidationError`](interceptors.md#symbol-ValidationError), name the failure `error` and recover:
113
+ - Call `print` with `value` = `"rejected"`.
114
+
115
+ ### Dependencies used by this file
116
+
117
+ Only referenced types and operations appear here. Each name links to its complete specification.
118
+
119
+ #### [`SystemConsole`](dependencies/august/0.19.0/io/contracts.md#symbol-SystemConsole)
120
+
121
+ Class from `august.io`.
122
+
123
+ Used as a type or provider.
124
+
125
+ #### [`Greeter`](app.md#symbol-Greeter)
126
+
127
+ Class from `app`.
128
+
129
+ - Construct with `name`: `string` → [`Greeter`](app.md#symbol-Greeter).
130
+ - [`Greeter.greet`](app.md#symbol-Greeter.greet) (no caller inputs) → `string`; inject `logger`: [`Logger`](logging.md#symbol-Logger), `console`: [`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console); uses [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
131
+
132
+ #### [`describe`](app.md#symbol-describe)
133
+
134
+ Function from `app`.
135
+
136
+ - [`describe`](app.md#symbol-describe) (`x`: `int`, `label`: `string`) → `string`; inject `logger`: [`Logger`](logging.md#symbol-Logger), `console`: [`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console); uses [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write); can fail with `ValidationError`.
137
+
138
+ #### [`ValidationError`](interceptors.md#symbol-ValidationError)
139
+
140
+ Class from `interceptors`.
141
+
142
+ Used as a type or provider.
143
+
144
+ #### [`ConsoleLogger`](logging.md#symbol-ConsoleLogger)
145
+
146
+ Class from `logging`.
147
+
148
+ Used as a type or provider.
149
+
150
+ ### Built-in operations used by this file
151
+
152
+ - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
153
+
154
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
155
+
156
+ ### Shared language rules
157
+
158
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
159
+
160
+ ::::
161
+
162
+ :::::
@@ -0,0 +1,71 @@
1
+ ---
2
+ title: "data.aug · JSON benchmark"
3
+ generated: true
4
+ source: "benchmarks/json/data.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `data.aug`
13
+
14
+ [JSON benchmark](index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](main.md)
19
+ - [`data.aug`](data.md)
20
+
21
+ :::
22
+
23
+ ::::: example-compare
24
+
25
+ :::: example-code
26
+
27
+ ## Code {#code}
28
+
29
+ ::: code-group
30
+
31
+ ```aug [Indentation]
32
+ record Payload(int id, string message, List<int> values)
33
+ ```
34
+
35
+ ```aug [Braces]
36
+ record Payload(int id, string message, List<int> values)
37
+ ```
38
+
39
+ :::
40
+
41
+ ::::
42
+
43
+ :::: example-spec
44
+
45
+ ## Compiled specification {#specification}
46
+
47
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
48
+
49
+ ### In this file
50
+
51
+ - [`Payload`](data.md#symbol-Payload) is an immutable record.
52
+
53
+ ### `Payload` {#symbol-Payload}
54
+
55
+ [source](data.md#code)
56
+
57
+ Immutable record.
58
+
59
+ **Inputs**
60
+
61
+ - `id` (`int`) — required labeled input — stored as `id` and read-only after initialization.
62
+ - `message` (`string`) — required labeled input — stored as `message` and read-only after initialization.
63
+ - `values` (`List<int>`) — required labeled input — stored as `values` and read-only after initialization.
64
+
65
+ ### Shared language rules
66
+
67
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
68
+
69
+ ::::
70
+
71
+ :::::