@greenpandastudios/aug-cli 0.19.0 → 0.20.1

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 (459) hide show
  1. package/README.md +9 -6
  2. package/THIRD_PARTY_NOTICES.md +4 -0
  3. package/bin/aug.mjs +12 -2
  4. package/docs/about.md +27 -0
  5. package/docs/api/crypto.md +103 -69
  6. package/docs/api/io.md +35 -33
  7. package/docs/api/json.md +3 -3
  8. package/docs/api/memory.md +23 -19
  9. package/docs/api/time.md +10 -9
  10. package/docs/api/web.md +33 -38
  11. package/docs/compatibility.md +3 -3
  12. package/docs/contributing-benchmarks.md +38 -0
  13. package/docs/dev-containers.md +95 -0
  14. package/docs/diagnostics.md +15 -5
  15. package/docs/docker.md +174 -12
  16. package/docs/editor.md +35 -0
  17. package/docs/example-projects.json +206 -24
  18. package/docs/examples/approved-design/counters.md +34 -126
  19. package/docs/examples/approved-design/dependencies/august/0.20.1/io/contracts.md +178 -0
  20. package/docs/examples/approved-design/domain/app.md +13 -77
  21. package/docs/examples/approved-design/domain/export.md +5 -19
  22. package/docs/examples/approved-design/domain/models.md +4 -23
  23. package/docs/examples/approved-design/domain/numbers.md +24 -114
  24. package/docs/examples/approved-design/index.md +16 -7
  25. package/docs/examples/approved-design/main.md +19 -96
  26. package/docs/examples/benchmark/index.md +6 -5
  27. package/docs/examples/benchmark/main.md +7 -35
  28. package/docs/examples/cli-args/index.md +6 -5
  29. package/docs/examples/cli-args/main.md +6 -31
  30. package/docs/examples/collections/index.md +6 -5
  31. package/docs/examples/collections/main.md +7 -35
  32. package/docs/examples/collections-benchmark/index.md +6 -5
  33. package/docs/examples/collections-benchmark/main.md +7 -35
  34. package/docs/examples/cpu-benchmark/index.md +6 -5
  35. package/docs/examples/cpu-benchmark/main.md +5 -24
  36. package/docs/examples/developer-workflow/calculator.md +39 -186
  37. package/docs/examples/developer-workflow/dependencies/august/0.20.1/io/contracts.md +178 -0
  38. package/docs/examples/developer-workflow/index.md +16 -7
  39. package/docs/examples/developer-workflow/logging/console.md +10 -56
  40. package/docs/examples/developer-workflow/logging/export.md +4 -14
  41. package/docs/examples/developer-workflow/logging/logger.md +7 -43
  42. package/docs/examples/developer-workflow/main.md +17 -69
  43. package/docs/examples/drop/index.md +6 -5
  44. package/docs/examples/drop/main.md +7 -27
  45. package/docs/examples/drop/resource.md +7 -30
  46. package/docs/examples/errors/errors.md +7 -27
  47. package/docs/examples/errors/index.md +6 -5
  48. package/docs/examples/errors/main.md +7 -28
  49. package/docs/examples/ffi/index.md +6 -5
  50. package/docs/examples/ffi/main.md +6 -20
  51. package/docs/examples/ffi/native.md +8 -34
  52. package/docs/examples/generic-di/dependencies/august/0.20.1/io/contracts.md +178 -0
  53. package/docs/examples/generic-di/index.md +6 -5
  54. package/docs/examples/generic-di/main.md +9 -39
  55. package/docs/examples/generic-di/types.md +23 -92
  56. package/docs/examples/generics/index.md +6 -5
  57. package/docs/examples/generics/main.md +10 -47
  58. package/docs/examples/generics/types.md +25 -100
  59. package/docs/examples/hello/app/export.md +4 -12
  60. package/docs/examples/hello/app/greeter.md +13 -91
  61. package/docs/examples/hello/dependencies/august/0.20.1/io/contracts.md +178 -0
  62. package/docs/examples/hello/index.md +17 -6
  63. package/docs/examples/hello/logging/console.md +10 -54
  64. package/docs/examples/hello/logging/export.md +4 -14
  65. package/docs/examples/hello/logging/logger.md +7 -45
  66. package/docs/examples/hello/main.md +9 -39
  67. package/docs/examples/http-benchmark/index.md +6 -5
  68. package/docs/examples/http-benchmark/main.md +6 -20
  69. package/docs/examples/http-benchmark/routes.md +9 -31
  70. package/docs/examples/index.md +46 -29
  71. package/docs/examples/interceptors/app.md +20 -139
  72. package/docs/examples/interceptors/dependencies/august/0.20.1/io/contracts.md +178 -0
  73. package/docs/examples/interceptors/index.md +6 -5
  74. package/docs/examples/interceptors/interceptors.md +24 -148
  75. package/docs/examples/interceptors/logging.md +13 -76
  76. package/docs/examples/interceptors/main.md +10 -65
  77. package/docs/examples/json-benchmark/data.md +4 -20
  78. package/docs/examples/json-benchmark/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
  79. package/docs/examples/json-benchmark/index.md +7 -5
  80. package/docs/examples/json-benchmark/main-yaml.md +20 -0
  81. package/docs/examples/json-benchmark/main.md +10 -49
  82. package/docs/examples/new-syntax/console.md +10 -52
  83. package/docs/examples/new-syntax/dependencies/august/0.20.1/io/contracts.md +178 -0
  84. package/docs/examples/new-syntax/greeter.md +13 -71
  85. package/docs/examples/new-syntax/index.md +6 -5
  86. package/docs/examples/new-syntax/logger.md +7 -43
  87. package/docs/examples/new-syntax/main.md +10 -53
  88. package/docs/examples/new-syntax/math.md +6 -24
  89. package/docs/examples/oidc-login/client/contracts.md +10 -61
  90. package/docs/examples/oidc-login/client/endpoints.md +32 -154
  91. package/docs/examples/oidc-login/client/export.md +5 -23
  92. package/docs/examples/oidc-login/client/login.md +234 -344
  93. package/docs/examples/oidc-login/client/logout.md +38 -143
  94. package/docs/examples/oidc-login/client/protocol.md +183 -304
  95. package/docs/examples/oidc-login/client/session.md +41 -149
  96. package/docs/examples/oidc-login/client/views.md +13 -58
  97. package/docs/examples/oidc-login/common/export.md +6 -26
  98. package/docs/examples/oidc-login/common/headers.md +42 -72
  99. package/docs/examples/oidc-login/common/keys.md +40 -164
  100. package/docs/examples/oidc-login/common/settings.md +24 -40
  101. package/docs/examples/oidc-login/common/views.md +7 -28
  102. package/docs/examples/oidc-login/dependencies/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.md +205 -0
  103. package/docs/examples/oidc-login/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
  104. package/docs/examples/oidc-login/dependencies/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +267 -0
  105. package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.md +415 -0
  106. package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.md +271 -0
  107. package/docs/examples/oidc-login/dependencies/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +89 -0
  108. package/docs/examples/oidc-login/index.md +8 -7
  109. package/docs/examples/oidc-login/main-yaml.md +7 -0
  110. package/docs/examples/oidc-login/main.md +26 -153
  111. package/docs/examples/oidc-login/provider/authorization.md +232 -275
  112. package/docs/examples/oidc-login/provider/contracts.md +24 -146
  113. package/docs/examples/oidc-login/provider/credentials.md +24 -57
  114. package/docs/examples/oidc-login/provider/discovery.md +48 -122
  115. package/docs/examples/oidc-login/provider/export.md +11 -37
  116. package/docs/examples/oidc-login/provider/token.md +159 -237
  117. package/docs/examples/oidc-login/provider/userinfo.md +47 -102
  118. package/docs/examples/oidc-login/provider/views.md +13 -53
  119. package/docs/examples/ownership/counter.md +17 -63
  120. package/docs/examples/ownership/index.md +6 -5
  121. package/docs/examples/ownership/main.md +7 -30
  122. package/docs/examples/ownership-transfer/dependencies/august/0.20.1/io/contracts.md +178 -0
  123. package/docs/examples/ownership-transfer/index.md +6 -5
  124. package/docs/examples/ownership-transfer/main.md +10 -52
  125. package/docs/examples/ownership-transfer/resource.md +15 -67
  126. package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +12 -50
  127. package/docs/examples/packages-app/index.md +7 -6
  128. package/docs/examples/packages-app/main.md +7 -25
  129. package/docs/examples/packages-math/aug-package-json.md +1 -1
  130. package/docs/examples/packages-math/index.md +7 -6
  131. package/docs/examples/packages-math/src/arithmetic.md +12 -50
  132. package/docs/examples/packages-math/src/export.md +4 -12
  133. package/docs/examples/startup-benchmark/index.md +6 -5
  134. package/docs/examples/startup-benchmark/main.md +5 -17
  135. package/docs/examples/visibility/counter.md +19 -67
  136. package/docs/examples/visibility/index.md +6 -5
  137. package/docs/examples/visibility/main.md +7 -31
  138. package/docs/examples/weather-api/forecasts.md +168 -0
  139. package/docs/examples/weather-api/index.md +42 -0
  140. package/docs/examples/weather-api/main-yaml.md +21 -0
  141. package/docs/examples/weather-api/main.md +65 -0
  142. package/docs/examples.json +10 -0
  143. package/docs/getting-started.md +105 -2
  144. package/docs/grammar.md +6 -4
  145. package/docs/guides/change-a-module.md +64 -0
  146. package/docs/guides/index.md +27 -0
  147. package/docs/index.md +51 -29
  148. package/docs/language-conformance.md +1 -1
  149. package/docs/language-constructs.md +22 -22
  150. package/docs/language-design-audit.md +1 -1
  151. package/docs/learn/data-and-errors.md +77 -0
  152. package/docs/learn/index.md +30 -0
  153. package/docs/learn/modules-and-dependencies.md +73 -0
  154. package/docs/learn/state-and-tests.md +71 -0
  155. package/docs/learn/values-and-functions.md +62 -0
  156. package/docs/lesson-failures.json +8 -0
  157. package/docs/maintaining-docs.md +16 -4
  158. package/docs/packages.md +72 -126
  159. package/docs/performance.md +13 -41
  160. package/docs/production-readiness.md +5 -4
  161. package/docs/public/downloads/approved-design.zip +0 -0
  162. package/docs/public/downloads/benchmark.zip +0 -0
  163. package/docs/public/downloads/cli-args.zip +0 -0
  164. package/docs/public/downloads/collections-benchmark.zip +0 -0
  165. package/docs/public/downloads/collections.zip +0 -0
  166. package/docs/public/downloads/cpu-benchmark.zip +0 -0
  167. package/docs/public/downloads/developer-workflow.zip +0 -0
  168. package/docs/public/downloads/drop.zip +0 -0
  169. package/docs/public/downloads/errors.zip +0 -0
  170. package/docs/public/downloads/ffi.zip +0 -0
  171. package/docs/public/downloads/generic-di.zip +0 -0
  172. package/docs/public/downloads/generics.zip +0 -0
  173. package/docs/public/downloads/hello.zip +0 -0
  174. package/docs/public/downloads/http-benchmark.zip +0 -0
  175. package/docs/public/downloads/interceptors.zip +0 -0
  176. package/docs/public/downloads/json-benchmark.zip +0 -0
  177. package/docs/public/downloads/new-syntax.zip +0 -0
  178. package/docs/public/downloads/oidc-login.zip +0 -0
  179. package/docs/public/downloads/ownership-transfer.zip +0 -0
  180. package/docs/public/downloads/ownership.zip +0 -0
  181. package/docs/public/downloads/packages-app.zip +0 -0
  182. package/docs/public/downloads/packages-math.zip +0 -0
  183. package/docs/public/downloads/startup-benchmark.zip +0 -0
  184. package/docs/public/downloads/visibility.zip +0 -0
  185. package/docs/public/downloads/weather-api.zip +0 -0
  186. package/docs/reference.md +23 -17
  187. package/docs/releasing.md +29 -15
  188. package/docs/research/code-to-natural-language.md +108 -0
  189. package/docs/research/ecosystem-workflow.md +41 -0
  190. package/docs/research/wiki-editorial-design.md +71 -0
  191. package/docs/roadmap.md +1 -1
  192. package/docs/specifications.md +27 -11
  193. package/docs/testing.md +19 -5
  194. package/docs/tooling.md +25 -12
  195. package/docs/weather-api.md +65 -0
  196. package/docs/web.md +50 -18
  197. package/docs/writing-docs.md +49 -0
  198. package/examples/{hello/.aug-spec/august/0.19.0 → approved-design/.aug-spec/august/0.20.1}/io/contracts.aug +4 -3
  199. package/examples/approved-design/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
  200. package/examples/approved-design/.aug-spec/manifest.json +3 -3
  201. package/examples/approved-design/counters.aug +5 -4
  202. package/examples/approved-design/counters.aug.md +25 -132
  203. package/examples/approved-design/domain/app.aug +2 -1
  204. package/examples/approved-design/domain/app.aug.md +10 -80
  205. package/examples/approved-design/domain/export.aug +1 -0
  206. package/examples/approved-design/domain/export.aug.md +4 -20
  207. package/examples/approved-design/domain/models.aug +1 -0
  208. package/examples/approved-design/domain/models.aug.md +3 -25
  209. package/examples/approved-design/domain/numbers.aug +3 -2
  210. package/examples/approved-design/domain/numbers.aug.md +19 -116
  211. package/examples/approved-design/main.aug +1 -0
  212. package/examples/approved-design/main.aug.md +12 -95
  213. package/examples/benchmark/.aug-spec/manifest.json +1 -1
  214. package/examples/benchmark/main.aug +1 -0
  215. package/examples/benchmark/main.aug.md +6 -36
  216. package/examples/cli-args/.aug-spec/manifest.json +1 -1
  217. package/examples/cli-args/main.aug +1 -0
  218. package/examples/cli-args/main.aug.md +5 -32
  219. package/examples/collections/.aug-spec/manifest.json +1 -1
  220. package/examples/collections/main.aug +1 -0
  221. package/examples/collections/main.aug.md +6 -36
  222. package/examples/{generic-di/.aug-spec/august/0.19.0 → developer-workflow/.aug-spec/august/0.20.1}/io/contracts.aug +4 -3
  223. package/examples/developer-workflow/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
  224. package/examples/developer-workflow/.aug-spec/manifest.json +3 -3
  225. package/examples/developer-workflow/calculator.aug +3 -2
  226. package/examples/developer-workflow/calculator.aug.md +28 -189
  227. package/examples/developer-workflow/logging/console.aug +2 -1
  228. package/examples/developer-workflow/logging/console.aug.md +7 -57
  229. package/examples/developer-workflow/logging/export.aug +1 -0
  230. package/examples/developer-workflow/logging/export.aug.md +3 -15
  231. package/examples/developer-workflow/logging/logger.aug +1 -0
  232. package/examples/developer-workflow/logging/logger.aug.md +6 -46
  233. package/examples/developer-workflow/main.aug +1 -0
  234. package/examples/developer-workflow/main.aug.md +10 -68
  235. package/examples/drop/.aug-spec/manifest.json +1 -1
  236. package/examples/drop/main.aug +1 -0
  237. package/examples/drop/main.aug.md +6 -28
  238. package/examples/drop/resource.aug +1 -0
  239. package/examples/drop/resource.aug.md +6 -34
  240. package/examples/errors/.aug-spec/manifest.json +1 -1
  241. package/examples/errors/errors.aug +2 -1
  242. package/examples/errors/errors.aug.md +4 -27
  243. package/examples/errors/main.aug +1 -0
  244. package/examples/errors/main.aug.md +6 -29
  245. package/examples/ffi/.aug-spec/manifest.json +1 -1
  246. package/examples/ffi/main.aug +1 -0
  247. package/examples/ffi/main.aug.md +5 -21
  248. package/examples/ffi/native.aug +2 -1
  249. package/examples/ffi/native.aug.md +5 -35
  250. package/examples/{approved-design/.aug-spec/august/0.19.0 → generic-di/.aug-spec/august/0.20.1}/io/contracts.aug +4 -3
  251. package/examples/generic-di/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
  252. package/examples/generic-di/.aug-spec/manifest.json +3 -3
  253. package/examples/generic-di/main.aug +1 -0
  254. package/examples/generic-di/main.aug.md +8 -40
  255. package/examples/generic-di/types.aug +3 -2
  256. package/examples/generic-di/types.aug.md +18 -97
  257. package/examples/generics/.aug-spec/manifest.json +1 -1
  258. package/examples/generics/main.aug +1 -0
  259. package/examples/generics/main.aug.md +9 -48
  260. package/examples/generics/types.aug +4 -3
  261. package/examples/generics/types.aug.md +18 -104
  262. package/examples/{developer-workflow/.aug-spec/august/0.19.0 → hello/.aug-spec/august/0.20.1}/io/contracts.aug +4 -3
  263. package/examples/hello/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
  264. package/examples/hello/.aug-spec/manifest.json +3 -3
  265. package/examples/hello/app/export.aug +1 -0
  266. package/examples/hello/app/export.aug.md +3 -13
  267. package/examples/hello/app/greeter.aug +2 -1
  268. package/examples/hello/app/greeter.aug.md +10 -94
  269. package/examples/hello/logging/console.aug +2 -1
  270. package/examples/hello/logging/console.aug.md +7 -55
  271. package/examples/hello/logging/export.aug +1 -0
  272. package/examples/hello/logging/export.aug.md +3 -15
  273. package/examples/hello/logging/logger.aug +1 -0
  274. package/examples/hello/logging/logger.aug.md +6 -48
  275. package/examples/hello/main.aug +1 -0
  276. package/examples/hello/main.aug.md +8 -40
  277. package/examples/interceptors/.aug-spec/august/0.20.1/io/contracts.aug +37 -0
  278. package/examples/interceptors/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
  279. package/examples/interceptors/.aug-spec/manifest.json +3 -3
  280. package/examples/interceptors/app.aug +3 -2
  281. package/examples/interceptors/app.aug.md +15 -141
  282. package/examples/interceptors/interceptors.aug +3 -2
  283. package/examples/interceptors/interceptors.aug.md +19 -152
  284. package/examples/interceptors/logging.aug +2 -1
  285. package/examples/interceptors/logging.aug.md +10 -79
  286. package/examples/interceptors/main.aug +1 -0
  287. package/examples/interceptors/main.aug.md +9 -66
  288. package/examples/new-syntax/.aug-spec/august/0.20.1/io/contracts.aug +37 -0
  289. package/examples/new-syntax/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
  290. package/examples/new-syntax/.aug-spec/manifest.json +3 -3
  291. package/examples/new-syntax/console.aug +2 -1
  292. package/examples/new-syntax/console.aug.md +7 -53
  293. package/examples/new-syntax/greeter.aug +2 -1
  294. package/examples/new-syntax/greeter.aug.md +10 -74
  295. package/examples/new-syntax/logger.aug +1 -0
  296. package/examples/new-syntax/logger.aug.md +6 -46
  297. package/examples/new-syntax/main.aug +1 -0
  298. package/examples/new-syntax/main.aug.md +9 -54
  299. package/examples/new-syntax/math.aug +2 -1
  300. package/examples/new-syntax/math.aug.md +3 -24
  301. package/examples/oidc-login/.aug-spec/manifest.json +13 -13
  302. package/examples/oidc-login/.aug-spec/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.aug.md +71 -0
  303. package/examples/oidc-login/.aug-spec/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +17 -0
  304. package/examples/oidc-login/.aug-spec/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +125 -0
  305. package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/contracts.aug +12 -11
  306. package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.aug.md +244 -0
  307. package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/jose.aug +6 -5
  308. package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.aug.md +71 -0
  309. package/examples/oidc-login/.aug-spec/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +30 -0
  310. package/examples/oidc-login/aug.lock.json +100 -0
  311. package/examples/oidc-login/client/contracts.aug +1 -0
  312. package/examples/oidc-login/client/contracts.aug.md +9 -66
  313. package/examples/oidc-login/client/endpoints.aug +6 -5
  314. package/examples/oidc-login/client/endpoints.aug.md +13 -145
  315. package/examples/oidc-login/client/export.aug +1 -0
  316. package/examples/oidc-login/client/export.aug.md +4 -24
  317. package/examples/oidc-login/client/login.aug +7 -6
  318. package/examples/oidc-login/client/login.aug.md +25 -303
  319. package/examples/oidc-login/client/logout.aug +5 -4
  320. package/examples/oidc-login/client/logout.aug.md +13 -135
  321. package/examples/oidc-login/client/protocol.aug +7 -6
  322. package/examples/oidc-login/client/protocol.aug.md +36 -283
  323. package/examples/oidc-login/client/session.aug +5 -4
  324. package/examples/oidc-login/client/session.aug.md +12 -139
  325. package/examples/oidc-login/client/views.aug +3 -2
  326. package/examples/oidc-login/client/views.aug.md +8 -57
  327. package/examples/oidc-login/common/export.aug +1 -0
  328. package/examples/oidc-login/common/export.aug.md +5 -27
  329. package/examples/oidc-login/common/headers.aug +4 -3
  330. package/examples/oidc-login/common/headers.aug.md +9 -67
  331. package/examples/oidc-login/common/keys.aug +6 -5
  332. package/examples/oidc-login/common/keys.aug.md +29 -165
  333. package/examples/oidc-login/common/settings.aug +2 -1
  334. package/examples/oidc-login/common/settings.aug.md +5 -39
  335. package/examples/oidc-login/common/views.aug +2 -1
  336. package/examples/oidc-login/common/views.aug.md +4 -28
  337. package/examples/oidc-login/main.aug +6 -16
  338. package/examples/oidc-login/main.aug.md +17 -146
  339. package/examples/oidc-login/main.yaml +7 -0
  340. package/examples/oidc-login/provider/authorization.aug +7 -6
  341. package/examples/oidc-login/provider/authorization.aug.md +23 -238
  342. package/examples/oidc-login/provider/contracts.aug +1 -0
  343. package/examples/oidc-login/provider/contracts.aug.md +23 -158
  344. package/examples/oidc-login/provider/credentials.aug +3 -2
  345. package/examples/oidc-login/provider/credentials.aug.md +9 -53
  346. package/examples/oidc-login/provider/discovery.aug +4 -3
  347. package/examples/oidc-login/provider/discovery.aug.md +11 -118
  348. package/examples/oidc-login/provider/export.aug +1 -0
  349. package/examples/oidc-login/provider/export.aug.md +6 -34
  350. package/examples/oidc-login/provider/token.aug +6 -5
  351. package/examples/oidc-login/provider/token.aug.md +16 -204
  352. package/examples/oidc-login/provider/userinfo.aug +4 -3
  353. package/examples/oidc-login/provider/userinfo.aug.md +10 -92
  354. package/examples/oidc-login/provider/views.aug +3 -2
  355. package/examples/oidc-login/provider/views.aug.md +8 -52
  356. package/examples/ownership/.aug-spec/manifest.json +1 -1
  357. package/examples/ownership/counter.aug +3 -2
  358. package/examples/ownership/counter.aug.md +12 -66
  359. package/examples/ownership/main.aug +1 -0
  360. package/examples/ownership/main.aug.md +6 -31
  361. package/examples/ownership-transfer/.aug-spec/august/0.20.1/io/contracts.aug +37 -0
  362. package/examples/ownership-transfer/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
  363. package/examples/ownership-transfer/.aug-spec/manifest.json +3 -3
  364. package/examples/ownership-transfer/main.aug +1 -0
  365. package/examples/ownership-transfer/main.aug.md +9 -53
  366. package/examples/ownership-transfer/resource.aug +2 -1
  367. package/examples/ownership-transfer/resource.aug.md +12 -71
  368. package/examples/packages/app/.aug-spec/manifest.json +1 -1
  369. package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +2 -1
  370. package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +9 -51
  371. package/examples/packages/app/main.aug +1 -0
  372. package/examples/packages/app/main.aug.md +6 -26
  373. package/examples/packages/math/.aug-spec/manifest.json +1 -1
  374. package/examples/packages/math/aug-package.json +1 -1
  375. package/examples/packages/math/src/arithmetic.aug +2 -1
  376. package/examples/packages/math/src/arithmetic.aug.md +9 -51
  377. package/examples/packages/math/src/export.aug +1 -0
  378. package/examples/packages/math/src/export.aug.md +3 -13
  379. package/examples/visibility/.aug-spec/manifest.json +1 -1
  380. package/examples/visibility/counter.aug +4 -3
  381. package/examples/visibility/counter.aug.md +12 -68
  382. package/examples/visibility/main.aug +1 -0
  383. package/examples/visibility/main.aug.md +6 -32
  384. package/examples/weather-api/.aug-spec/manifest.json +8 -0
  385. package/examples/weather-api/AGENTS.md +17 -0
  386. package/examples/weather-api/README.md +19 -0
  387. package/examples/weather-api/forecasts.aug +47 -0
  388. package/examples/weather-api/forecasts.aug.md +32 -0
  389. package/examples/weather-api/main.aug +4 -0
  390. package/examples/weather-api/main.aug.md +15 -0
  391. package/examples/weather-api/main.yaml +5 -0
  392. package/examples/weather-api/weather.http +5 -0
  393. package/package.json +3 -4
  394. package/scripts/bootstrap-native.mjs +181 -106
  395. package/scripts/native-setup.mjs +98 -0
  396. package/scripts/native-toolchain.mjs +28 -0
  397. package/src/builtins.js +1 -1
  398. package/src/checker.js +259 -72
  399. package/src/cli.js +114 -20
  400. package/src/codegen.js +1 -1
  401. package/src/config.js +1 -1
  402. package/src/contracts.js +10 -0
  403. package/src/editor.js +71 -16
  404. package/src/fixes.js +90 -2
  405. package/src/formatter.js +19 -8
  406. package/src/git-packages.js +110 -0
  407. package/src/help.js +24 -23
  408. package/src/http-contracts.js +14 -0
  409. package/src/http-policies.js +5 -5
  410. package/src/libraries.js +1 -1
  411. package/src/lsp.js +14 -5
  412. package/src/native.js +19 -13
  413. package/src/navigation.js +4 -2
  414. package/src/openapi.js +5 -4
  415. package/src/package-locking.js +45 -0
  416. package/src/package-manager.js +251 -67
  417. package/src/parser.js +13 -5
  418. package/src/policies.js +3 -3
  419. package/src/project-init.js +78 -4
  420. package/src/project.js +9 -7
  421. package/src/semantic.js +46 -2
  422. package/src/snippets.js +59 -0
  423. package/src/spec-hints.js +56 -0
  424. package/src/spec-tree.js +241 -0
  425. package/src/spec.js +626 -303
  426. package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +0 -395
  427. package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +0 -395
  428. package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +0 -395
  429. package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +0 -395
  430. package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +0 -395
  431. package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +0 -103
  432. package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +0 -395
  433. package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +0 -925
  434. package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +0 -434
  435. package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +0 -103
  436. package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +0 -374
  437. package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +0 -150
  438. package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +0 -532
  439. package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +0 -395
  440. package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  441. package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  442. package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  443. package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  444. package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
  445. package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  446. package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
  447. package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  448. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +0 -791
  449. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +0 -266
  450. package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +0 -55
  451. package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +0 -250
  452. package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +0 -96
  453. package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +0 -420
  454. package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
  455. package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  456. /package/examples/oidc-login/.aug-spec/{august/0.19.0/memory → packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/store.aug +0 -0
  457. /package/examples/oidc-login/.aug-spec/{august/0.19.0/json → packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
  458. /package/examples/oidc-login/.aug-spec/{august/0.19.0/web → packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
  459. /package/examples/oidc-login/.aug-spec/{august/0.19.0/time → packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
@@ -1,89 +1,30 @@
1
1
  <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
2
 
3
- # `resource.aug` specification
4
-
5
- August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
-
7
- ## In this file
8
-
9
- - [`Resource`](resource.aug.md#symbol-Resource) is a class implementing `IResource`.
10
- - [`IResource`](resource.aug.md#symbol-IResource) is an interface.
11
- - [`make`](resource.aug.md#symbol-make) is a function returning `Resource`.
12
- - [`consume`](resource.aug.md#symbol-consume) is a function.
3
+ # `resource.aug`
13
4
 
14
5
  <a id="symbol-Resource"></a>
6
+ ## `Resource` · class · [source](resource.aug#L3)
15
7
 
16
- ## `Resource`
17
-
18
- [source](resource.aug#L2)
19
-
20
- Behavioral class.
21
-
22
- Satisfies [`IResource`](resource.aug.md#symbol-IResource).
8
+ It implements [`IResource`](resource.aug.md#symbol-IResource).
23
9
 
24
10
  <a id="symbol-Resource.drop"></a>
11
+ ### `Resource.drop` · [source](resource.aug#L4)
25
12
 
26
- ### `Resource.drop`
27
-
28
- [source](resource.aug#L3)
29
-
30
- Returns: no value.
31
-
32
- **What it does**
33
-
34
- - Continue without another operation.
13
+ It continues without an operation.
35
14
 
36
15
  <a id="symbol-IResource"></a>
37
-
38
- ## `IResource`
39
-
40
- [source](resource.aug#L7)
41
-
42
- Interface.
16
+ ## `IResource` · interface · [source](resource.aug#L8)
43
17
 
44
18
  <a id="symbol-make"></a>
19
+ ## `make` · [source](resource.aug#L11)
45
20
 
46
- ## `make`
47
-
48
- [source](resource.aug#L10)
49
-
50
- Returns: ownership of [`Resource`](resource.aug.md#symbol-Resource).
51
-
52
- **What it does**
53
-
54
- - Set `value` of type [`Resource`](resource.aug.md#symbol-Resource) to call [`Resource`](resource.aug.md#symbol-Resource).
55
- - This variable owns the value.
56
- - Return `value`.
21
+ It returns ownership of [`Resource`](resource.aug.md#symbol-Resource). It sets `value` of type [`Resource`](resource.aug.md#symbol-Resource) to a [`Resource`](resource.aug.md#symbol-Resource). `value` of type [`Resource`](resource.aug.md#symbol-Resource) owns this value. It returns `value`.
57
22
 
58
23
  <a id="symbol-consume"></a>
24
+ ## `consume` · [source](resource.aug#L15)
59
25
 
60
- ## `consume`
61
-
62
- [source](resource.aug#L14)
63
-
64
- **Inputs**
65
-
66
- - `console` ([`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
67
- - `value` ([`Resource`](resource.aug.md#symbol-Resource)) — required labeled input — transfers ownership.
68
-
69
- Returns: no value.
70
-
71
- Capabilities: [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
72
-
73
- **What it does**
74
-
75
- - Call [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write) on `console` with `value` = `"consumed"`.
76
-
77
- ## Dependencies used by this file
78
-
79
- Only referenced types and operations appear here. Each name links to its complete specification.
80
-
81
- ### [`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)
82
-
83
- Capability interface from `august.io`.
84
-
85
- - [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
26
+ It takes `value` as [`Resource`](resource.aug.md#symbol-Resource) with ownership transferred. It gets `console` ([`Console`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console)) from dependency injection. It passes `"consumed"` to [`console.write`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console.write).
86
27
 
87
- ## Shared language rules
28
+ ## Dependencies
88
29
 
89
- See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
30
+ It uses [`Console`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console) ([`write`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console.write)) from `august.io`.
@@ -5,5 +5,5 @@
5
5
  ".aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md",
6
6
  "main.aug.md"
7
7
  ],
8
- "digest": "07fb73723b85a1925de6fcddbb4f26d2d0913f6f5a0d30c351b2c972e627c234"
8
+ "digest": "c9e2bd5b1eebfa1e89e7a757f0c5dc39370705c62d5fdeada8273bc6bcde3448"
9
9
  }
@@ -1,6 +1,7 @@
1
1
  // Generated by aug spec. This is a copy of the installed dependency source.
2
+ // aug-spec: "arithmetic.aug.md" explains this file. Read it before changes; refresh with aug spec.
2
3
  /** Add two integers. @param left First value. @param right Second value. @return Their sum. */
3
- add(int left, int right) returns int:
4
+ add(int left, int right) :
4
5
  return left + right
5
6
 
6
7
  test add:
@@ -1,63 +1,21 @@
1
1
  <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
2
 
3
- # `arithmetic.aug` specification
4
-
5
- August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
-
7
- ## In this file
8
-
9
- - [`add`](arithmetic.aug.md#symbol-add) is a function returning `int`.
10
- - [`test add`](arithmetic.aug.md#symbol-test%20add) is a same-file test suite.
3
+ # `arithmetic.aug`
11
4
 
12
5
  <a id="symbol-add"></a>
6
+ ## `add` · [source](arithmetic.aug#L4)
13
7
 
14
- ## `add`
15
-
16
- [source](arithmetic.aug#L3)
17
-
18
- **Inputs**
19
-
20
- - `left` (`int`) — required labeled input.
21
- - `right` (`int`) — required labeled input.
22
-
23
- Returns: `int`.
24
-
25
- **What it does**
26
-
27
- - Return `left` plus `right`.
28
-
29
- **Author documentation**
30
-
31
- Add two integers.
32
-
33
- **Returns** Their sum.
34
-
35
- **Parameters**
36
- - `left`: First value.
37
- - `right`: Second value.
8
+ Add two integers. It takes `left` as an integer (First value) and `right` as an integer (Second value). It returns `int` — Their sum. It returns `left` plus `right`.
38
9
 
39
10
  <a id="symbol-test add"></a>
11
+ ## `test add` · [source](arithmetic.aug#L7)
40
12
 
41
- ## `test add`
42
-
43
- [source](arithmetic.aug#L6)
44
-
45
- Same-file function tests for [`add`](arithmetic.aug.md#symbol-add). Each case gets isolated setup and dependency bindings.
46
-
47
- ### Group `addition`
48
-
49
- #### `adds_two_integers`
50
-
51
- [source](arithmetic.aug#L8)
52
-
53
- - Call `assert` with (call [`add`](arithmetic.aug.md#symbol-add) with `left` = `2`; `right` = `3` equals `5`).
54
-
55
- ## Built-in operations used by this file
13
+ Tests [`add`](arithmetic.aug.md#symbol-add). Each case gets fresh setup and dependencies.
56
14
 
57
- - `assert` (`condition`: `bool`) → `void`: Assert a bool in a test case or its setup. Catching an assertion failure cannot make the case pass; every case must execute an assertion.
15
+ ### `addition`
58
16
 
59
- [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
17
+ #### `adds_two_integers` · [source](arithmetic.aug#L9)
60
18
 
61
- ## Shared language rules
19
+ The test requires [`add`](arithmetic.aug.md#symbol-add) with `left` `2` and `right` `3` equals `5`.
62
20
 
63
- See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
21
+ Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
@@ -1,2 +1,3 @@
1
+ // aug-spec: "main.aug.md" explains this file. Read it before changes; refresh with aug spec.
1
2
  import add from math
2
3
  print(value=add(left=20, right=22))
@@ -1,33 +1,13 @@
1
1
  <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
2
 
3
- # `main.aug` specification
3
+ # `main.aug`
4
4
 
5
- August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
5
+ ## Startup
6
6
 
7
- ## In this file
7
+ It prints [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add) with `left` `20` and `right` `22`.
8
8
 
9
- - Run 1 other startup step in source order.
9
+ ## Dependencies
10
10
 
11
- ## Startup, in source order
11
+ It uses [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add) from `math`.
12
12
 
13
- - Call `print` with `value` = call [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add) with `left` = `20`; `right` = `22`.
14
-
15
- ## Dependencies used by this file
16
-
17
- Only referenced types and operations appear here. Each name links to its complete specification.
18
-
19
- ### [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add)
20
-
21
- Function from `math`.
22
-
23
- - [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add) (`left`: `int`, `right`: `int`) → `int`.
24
-
25
- ## Built-in operations used by this file
26
-
27
- - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
28
-
29
- [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
30
-
31
- ## Shared language rules
32
-
33
- See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
13
+ Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
@@ -4,5 +4,5 @@
4
4
  "src/arithmetic.aug.md",
5
5
  "src/export.aug.md"
6
6
  ],
7
- "digest": "2958866ecd2fe09820dc207135c3c8deae7bd2c9ab4c5999b496e34a97713b70"
7
+ "digest": "33e22d8c37a90b5d3259affe917ecc7c01a05aed72f713e7c9078616b2dc461a"
8
8
  }
@@ -2,7 +2,7 @@
2
2
  "format": 1,
3
3
  "name": "@example/aug-math",
4
4
  "version": "0.1.0",
5
- "compiler": "0.19.0",
5
+ "compiler": "0.20.1",
6
6
  "source": "src",
7
7
  "dependencies": {}
8
8
  }
@@ -1,5 +1,6 @@
1
+ // aug-spec: "arithmetic.aug.md" explains this file. Read it before changes; refresh with aug spec.
1
2
  /** Add two integers. @param left First value. @param right Second value. @return Their sum. */
2
- add(int left, int right) returns int:
3
+ add(int left, int right) :
3
4
  return left + right
4
5
 
5
6
  test add:
@@ -1,63 +1,21 @@
1
1
  <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
2
 
3
- # `arithmetic.aug` specification
4
-
5
- August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
-
7
- ## In this file
8
-
9
- - [`add`](arithmetic.aug.md#symbol-add) is a function returning `int`.
10
- - [`test add`](arithmetic.aug.md#symbol-test%20add) is a same-file test suite.
3
+ # `arithmetic.aug`
11
4
 
12
5
  <a id="symbol-add"></a>
6
+ ## `add` · [source](arithmetic.aug#L3)
13
7
 
14
- ## `add`
15
-
16
- [source](arithmetic.aug#L2)
17
-
18
- **Inputs**
19
-
20
- - `left` (`int`) — required labeled input.
21
- - `right` (`int`) — required labeled input.
22
-
23
- Returns: `int`.
24
-
25
- **What it does**
26
-
27
- - Return `left` plus `right`.
28
-
29
- **Author documentation**
30
-
31
- Add two integers.
32
-
33
- **Returns** Their sum.
34
-
35
- **Parameters**
36
- - `left`: First value.
37
- - `right`: Second value.
8
+ Add two integers. It takes `left` as an integer (First value) and `right` as an integer (Second value). It returns `int` — Their sum. It returns `left` plus `right`.
38
9
 
39
10
  <a id="symbol-test add"></a>
11
+ ## `test add` · [source](arithmetic.aug#L6)
40
12
 
41
- ## `test add`
42
-
43
- [source](arithmetic.aug#L5)
44
-
45
- Same-file function tests for [`add`](arithmetic.aug.md#symbol-add). Each case gets isolated setup and dependency bindings.
46
-
47
- ### Group `addition`
48
-
49
- #### `adds_two_integers`
50
-
51
- [source](arithmetic.aug#L7)
52
-
53
- - Call `assert` with (call [`add`](arithmetic.aug.md#symbol-add) with `left` = `2`; `right` = `3` equals `5`).
54
-
55
- ## Built-in operations used by this file
13
+ Tests [`add`](arithmetic.aug.md#symbol-add). Each case gets fresh setup and dependencies.
56
14
 
57
- - `assert` (`condition`: `bool`) → `void`: Assert a bool in a test case or its setup. Catching an assertion failure cannot make the case pass; every case must execute an assertion.
15
+ ### `addition`
58
16
 
59
- [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
17
+ #### `adds_two_integers` · [source](arithmetic.aug#L8)
60
18
 
61
- ## Shared language rules
19
+ The test requires [`add`](arithmetic.aug.md#symbol-add) with `left` `2` and `right` `3` equals `5`.
62
20
 
63
- See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
21
+ Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
@@ -1 +1,2 @@
1
+ // aug-spec: "export.aug.md" explains this file. Read it before changes; refresh with aug spec.
1
2
  export add from arithmetic
@@ -1,17 +1,7 @@
1
1
  <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
2
 
3
- # `export.aug` specification
3
+ # `export.aug`
4
4
 
5
- August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
5
+ ## Exports
6
6
 
7
- ## In this file
8
-
9
- - Export `add` from this folder.
10
-
11
- ## Folder exports
12
-
13
- - Export the declaration `add` from [`arithmetic.aug`](arithmetic.aug.md#symbol-add).
14
-
15
- ## Shared language rules
16
-
17
- See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
7
+ Export the declaration `add` from [`arithmetic.aug`](arithmetic.aug.md#symbol-add).
@@ -4,5 +4,5 @@
4
4
  "counter.aug.md",
5
5
  "main.aug.md"
6
6
  ],
7
- "digest": "e1db6169882af7977c15c64a4c1739515c33d6bc940bff9ed10e45895831eb50"
7
+ "digest": "8da3308d21d6b02bf732832776769f237640b30ef679b02f4c29af326a7abe68"
8
8
  }
@@ -1,14 +1,15 @@
1
+ // aug-spec: "counter.aug.md" explains this file. Read it before changes; refresh with aug spec.
1
2
  interface ICounter {
2
3
  label() returns string
3
4
  }
4
5
  Counter(mutable int value) implements ICounter {
5
- _label() returns string {
6
+ _label() {
6
7
  return _prefix()
7
8
  }
8
- label() returns string {
9
+ label() {
9
10
  return self._label()
10
11
  }
11
12
  }
12
- _prefix() returns string {
13
+ _prefix() {
13
14
  return "count"
14
15
  }
@@ -1,87 +1,31 @@
1
1
  <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
2
 
3
- # `counter.aug` specification
4
-
5
- August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
-
7
- ## In this file
8
-
9
- - [`ICounter`](counter.aug.md#symbol-ICounter) is an interface.
10
- - [`Counter`](counter.aug.md#symbol-Counter) is a class implementing `ICounter`.
11
- - [`_prefix`](counter.aug.md#symbol-_prefix) is a function returning `string`.
3
+ # `counter.aug`
12
4
 
13
5
  <a id="symbol-ICounter"></a>
14
-
15
- ## `ICounter`
16
-
17
- [source](counter.aug#L1)
18
-
19
- Interface.
6
+ ## `ICounter` · interface · [source](counter.aug#L2)
20
7
 
21
8
  <a id="symbol-ICounter.label"></a>
9
+ ### `ICounter.label` · [source](counter.aug#L3)
22
10
 
23
- ### `ICounter.label`
24
-
25
- [source](counter.aug#L2)
26
-
27
- Returns: `string`.
28
-
29
- Interface contract. A selected implementation supplies the behavior.
11
+ It returns `string`.
30
12
 
31
13
  <a id="symbol-Counter"></a>
14
+ ## `Counter` · class · [source](counter.aug#L5)
32
15
 
33
- ## `Counter`
34
-
35
- [source](counter.aug#L4)
36
-
37
- Behavioral class.
38
-
39
- Satisfies [`ICounter`](counter.aug.md#symbol-ICounter).
40
-
41
- **Inputs**
42
-
43
- - `value` (`int`) — required labeled input — stored as `value` and mutable.
16
+ It implements [`ICounter`](counter.aug.md#symbol-ICounter). It takes `value` as an integer, kept mutable.
44
17
 
45
18
  <a id="symbol-Counter._label"></a>
19
+ ### `Counter._label` · [source](counter.aug#L6)
46
20
 
47
- ### `Counter._label`
48
-
49
- [source](counter.aug#L5)
50
-
51
- Private to its defining scope.
52
-
53
- Returns: `string`.
54
-
55
- **What it does**
56
-
57
- - Return call [`_prefix`](counter.aug.md#symbol-_prefix).
21
+ It is private to its defining scope. It returns [`_prefix`](counter.aug.md#symbol-_prefix).
58
22
 
59
23
  <a id="symbol-Counter.label"></a>
24
+ ### `Counter.label` · [source](counter.aug#L9)
60
25
 
61
- ### `Counter.label`
62
-
63
- [source](counter.aug#L8)
64
-
65
- Returns: `string`.
66
-
67
- **What it does**
68
-
69
- - Return call [`Counter._label`](counter.aug.md#symbol-Counter._label) on `self`.
26
+ It returns [`self._label`](counter.aug.md#symbol-Counter._label).
70
27
 
71
28
  <a id="symbol-_prefix"></a>
29
+ ## `_prefix` · [source](counter.aug#L13)
72
30
 
73
- ## `_prefix`
74
-
75
- [source](counter.aug#L12)
76
-
77
- Private to its defining scope.
78
-
79
- Returns: `string`.
80
-
81
- **What it does**
82
-
83
- - Return `"count"`.
84
-
85
- ## Shared language rules
86
-
87
- See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
31
+ It is private to its defining scope. It returns `"count"`.
@@ -1,3 +1,4 @@
1
+ // aug-spec: "main.aug.md" explains this file. Read it before changes; refresh with aug spec.
1
2
  import Counter from counter
2
3
  counter = Counter(value=1)
3
4
  print(value=counter.label())
@@ -1,39 +1,13 @@
1
1
  <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
2
 
3
- # `main.aug` specification
3
+ # `main.aug`
4
4
 
5
- August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
5
+ ## Startup
6
6
 
7
- ## In this file
7
+ It sets `counter` to a [`Counter`](counter.aug.md#symbol-Counter) with `value` `1`. It prints [`counter.label`](counter.aug.md#symbol-Counter.label). With temporary permission to change `counter`, it sets `counter.value` to `2`. It prints `counter.value`.
8
8
 
9
- - Run 4 other startup steps in source order.
9
+ ## Dependencies
10
10
 
11
- ## Startup, in source order
11
+ It uses [`Counter`](counter.aug.md#symbol-Counter) ([`label`](counter.aug.md#symbol-Counter.label) and `value`) from `counter`.
12
12
 
13
- - Set `counter` to call [`Counter`](counter.aug.md#symbol-Counter) with `value` = `1`.
14
- - Call `print` with `value` = call [`Counter.label`](counter.aug.md#symbol-Counter.label) on `counter`.
15
- - Grant exclusive mutable access to `counter` for this block, then end the borrow:
16
- - Set `value` of `counter` to `2`.
17
- - Call `print` with `value` = `value` of `counter`.
18
-
19
- ## Dependencies used by this file
20
-
21
- Only referenced types and operations appear here. Each name links to its complete specification.
22
-
23
- ### [`Counter`](counter.aug.md#symbol-Counter)
24
-
25
- Class from `counter`.
26
-
27
- - Construct with `value`: `int` → [`Counter`](counter.aug.md#symbol-Counter).
28
- - Read `value` (`int`); its owner can change it.
29
- - [`Counter.label`](counter.aug.md#symbol-Counter.label) (no caller inputs) → `string`.
30
-
31
- ## Built-in operations used by this file
32
-
33
- - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
34
-
35
- [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
36
-
37
- ## Shared language rules
38
-
39
- See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
13
+ Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
@@ -0,0 +1,8 @@
1
+ {
2
+ "format": 1,
3
+ "files": [
4
+ "forecasts.aug.md",
5
+ "main.aug.md"
6
+ ],
7
+ "digest": "4cf5cab0ad2829b1364139fef04e639e2d0cc43e590b357b2e2dffde68a711eb"
8
+ }
@@ -0,0 +1,17 @@
1
+ # Working on this August project
2
+
3
+ Start in main.aug. It shows the imports, dependency bindings, and application startup.
4
+ Read the adjacent .aug.md specification before changing a source file. Generate missing
5
+ or stale explanations with aug spec; they describe checked behavior and link dependencies.
6
+
7
+ Keep tests in the file that declares the behavior. Run aug check, aug test, and aug spec
8
+ after a change, and use aug run to compile and run the application. Run prepares required
9
+ source packages and native libraries. Commit aug.lock.json; do not edit .aug-packages.
10
+
11
+ Use labeled inputs, narrow export.aug files, and underscore-prefixed private helpers.
12
+ Leave return types, effects, and errors to inference when an executable body provides
13
+ the answer. Bodyless interfaces still declare their contracts. Use borrow for mutation,
14
+ and keep unsafe native calls inside small adapters. Explain intent in Javadoc when it
15
+ is not evident from the code. Follow the existing indentation or brace style.
16
+
17
+ Language guide: https://greenpandastudios.github.io/augscript/
@@ -0,0 +1,19 @@
1
+ # weather-api
2
+
3
+ A simulated weather API in August. Its endpoint, JSON record, and tests live in forecasts.aug.
4
+
5
+ Run the server:
6
+
7
+ ```sh
8
+ aug run
9
+ ```
10
+
11
+ Open http://127.0.0.1:8787/weatherforecast for five forecasts, or http://127.0.0.1:8787/docs for the OpenAPI viewer. These are fixed examples, not live weather observations.
12
+
13
+ ```sh
14
+ curl http://127.0.0.1:8787/weatherforecast
15
+ aug test
16
+ aug spec
17
+ ```
18
+
19
+ Guide: https://greenpandastudios.github.io/augscript/weather-api
@@ -0,0 +1,47 @@
1
+ // aug-spec: "forecasts.aug.md" explains this file. Read it before changes; refresh with aug spec.
2
+ /** The JSON shape returned by the forecast endpoint. Temperatures use whole degrees. */
3
+ record WeatherForecast(string date, int temperatureC, int temperatureF, string summary)
4
+
5
+ /** Return five simulated forecasts. Fixed data keeps the example and its tests reproducible. */
6
+ endpoint GET "/weatherforecast" as weatherForecast():
7
+ return [
8
+ WeatherForecast(
9
+ date="2026-01-01",
10
+ temperatureC=0,
11
+ temperatureF=32,
12
+ summary="Freezing"
13
+ ),
14
+ WeatherForecast(
15
+ date="2026-01-02",
16
+ temperatureC=10,
17
+ temperatureF=50,
18
+ summary="Cool"
19
+ ),
20
+ WeatherForecast(
21
+ date="2026-01-03",
22
+ temperatureC=20,
23
+ temperatureF=68,
24
+ summary="Mild"
25
+ ),
26
+ WeatherForecast(
27
+ date="2026-01-04",
28
+ temperatureC=30,
29
+ temperatureF=86,
30
+ summary="Warm"
31
+ ),
32
+ WeatherForecast(
33
+ date="2026-01-05",
34
+ temperatureC=35,
35
+ temperatureF=95,
36
+ summary="Hot"
37
+ )
38
+ ]
39
+
40
+ test endpoint weatherForecast client:
41
+ when forecasts:
42
+ it returns_json:
43
+ response = client.request(method="GET", path="/weatherforecast")
44
+ assert(condition=response.status == 200)
45
+ it rejects_other_methods:
46
+ response = client.request(method="POST", path="/weatherforecast")
47
+ assert(condition=response.status == 405)