@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,395 +0,0 @@
1
- ---
2
- title: "august/0.19.0/io/contracts.aug · Move ownership"
3
- generated: true
4
- source: "examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug"
5
- editLink: false
6
- prev: false
7
- next: false
8
- outline: [2, 3]
9
- search: false
10
- pageClass: aug-example-page
11
- ---
12
-
13
- # `august/0.19.0/io/contracts.aug`
14
-
15
- [Move ownership](../../../../index.md) · Dependency source and specification
16
-
17
- This is the exact dependency version used by this example.
18
-
19
- ::::: example-compare
20
-
21
- :::: example-code
22
-
23
- ## Code {#code}
24
-
25
- ::: code-group
26
-
27
- ```aug [Indentation]
28
- /** Permission to write to a console, provided by an explicitly selected adapter. */
29
- capability Console:
30
- /** Write one line of text. @param value Text to display. */
31
- write<T>(T value) uses Console.write
32
- /** The native standard-output adapter. Construction performs no output. */
33
- SystemConsole() implements Console:
34
- write<T>(T value):
35
- print(value=value)
36
- /** Read UTF-8 text through an explicitly selected filesystem adapter. */
37
- capability FileReader:
38
- /** Read text. @param path File path. @throws FileError The file could not be read. */
39
- read(string path) returns string uses FileReader.read unless FileError
40
- /** Write UTF-8 text through an explicitly selected filesystem adapter. */
41
- capability FileWriter:
42
- /** Write text. @param path File path. @param content Text. @throws FileError Writing failed. */
43
- write(string path, string content) uses FileWriter.write unless FileError
44
- /** Native files. Operations are explicit; construction opens no files. */
45
- LocalFiles() implements FileReader, FileWriter:
46
- read(string path) returns string unless FileError:
47
- return read_file(path=path)
48
- write(string path, string content) unless FileError:
49
- write_file(path=path, content=content)
50
- /** Read command-line input through an explicit dependency. */
51
- capability Arguments:
52
- read() returns List<string> uses Arguments.read
53
- /** Native command-line arguments. */
54
- ProcessArguments() implements Arguments:
55
- read() returns List<string>:
56
- return arguments()
57
- ```
58
-
59
- ```aug [Braces]
60
- /** Permission to write to a console, provided by an explicitly selected adapter. */
61
- capability Console {
62
- /** Write one line of text. @param value Text to display. */
63
- write<T>(T value) uses Console.write
64
- }
65
- /** The native standard-output adapter. Construction performs no output. */
66
- SystemConsole() implements Console {
67
- write<T>(T value) {
68
- print(value=value)
69
- }
70
- }
71
- /** Read UTF-8 text through an explicitly selected filesystem adapter. */
72
- capability FileReader {
73
- /** Read text. @param path File path. @throws FileError The file could not be read. */
74
- read(string path) returns string uses FileReader.read unless FileError
75
- }
76
- /** Write UTF-8 text through an explicitly selected filesystem adapter. */
77
- capability FileWriter {
78
- /** Write text. @param path File path. @param content Text. @throws FileError Writing failed. */
79
- write(string path, string content) uses FileWriter.write unless FileError
80
- }
81
- /** Native files. Operations are explicit; construction opens no files. */
82
- LocalFiles() implements FileReader, FileWriter {
83
- read(string path) returns string unless FileError {
84
- return read_file(path=path)
85
- }
86
- write(string path, string content) unless FileError {
87
- write_file(path=path, content=content)
88
- }
89
- }
90
- /** Read command-line input through an explicit dependency. */
91
- capability Arguments {
92
- read() returns List<string> uses Arguments.read
93
- }
94
- /** Native command-line arguments. */
95
- ProcessArguments() implements Arguments {
96
- read() returns List<string> {
97
- return arguments()
98
- }
99
- }
100
- ```
101
-
102
- :::
103
-
104
- ::::
105
-
106
- :::: example-spec
107
-
108
- ## Compiled specification {#specification}
109
-
110
- August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
111
-
112
- ### In this file
113
-
114
- - [`Console`](contracts.md#symbol-Console) is a capability interface.
115
- - [`SystemConsole`](contracts.md#symbol-SystemConsole) is a class implementing `Console`.
116
- - [`FileReader`](contracts.md#symbol-FileReader) is a capability interface.
117
- - [`FileWriter`](contracts.md#symbol-FileWriter) is a capability interface.
118
- - [`LocalFiles`](contracts.md#symbol-LocalFiles) is a class implementing `FileReader`, `FileWriter`.
119
- - [`Arguments`](contracts.md#symbol-Arguments) is a capability interface.
120
- - [`ProcessArguments`](contracts.md#symbol-ProcessArguments) is a class implementing `Arguments`.
121
-
122
- ### `Console` {#symbol-Console}
123
-
124
- [source](contracts.md#code)
125
-
126
- Capability interface.
127
-
128
- **Author documentation**
129
-
130
- Permission to write to a console, provided by an explicitly selected adapter.
131
-
132
- #### `Console.write` {#symbol-Console.write}
133
-
134
- [source](contracts.md#code)
135
-
136
- Type parameters: `T`.
137
-
138
- **Inputs**
139
-
140
- - `value` (`T`) — required labeled input.
141
-
142
- Returns: no value.
143
-
144
- Capabilities: [`Console.write`](contracts.md#symbol-Console.write).
145
-
146
- Interface contract. A selected implementation supplies the behavior.
147
-
148
- **Author documentation**
149
-
150
- Write one line of text.
151
-
152
- **Parameters**
153
- - `value`: Text to display.
154
-
155
- ### `SystemConsole` {#symbol-SystemConsole}
156
-
157
- [source](contracts.md#code)
158
-
159
- Behavioral class.
160
-
161
- Satisfies [`Console`](contracts.md#symbol-Console).
162
-
163
- **Author documentation**
164
-
165
- The native standard-output adapter. Construction performs no output.
166
-
167
- #### `SystemConsole.write` {#symbol-SystemConsole.write}
168
-
169
- [source](contracts.md#code)
170
-
171
- Type parameters: `T`.
172
-
173
- **Inputs**
174
-
175
- - `value` (`T`) — required labeled input.
176
-
177
- Returns: no value.
178
-
179
- Capabilities: [`Console.write`](contracts.md#symbol-Console.write).
180
-
181
- **What it does**
182
-
183
- - Call `print` with `value` = `value`.
184
-
185
- **Author documentation**
186
-
187
- Write one line of text.
188
-
189
- **Parameters**
190
- - `value`: Text to display.
191
-
192
- ### `FileReader` {#symbol-FileReader}
193
-
194
- [source](contracts.md#code)
195
-
196
- Capability interface.
197
-
198
- **Author documentation**
199
-
200
- Read UTF-8 text through an explicitly selected filesystem adapter.
201
-
202
- #### `FileReader.read` {#symbol-FileReader.read}
203
-
204
- [source](contracts.md#code)
205
-
206
- **Inputs**
207
-
208
- - `path` (`string`) — required labeled input.
209
-
210
- Returns: `string`.
211
-
212
- Capabilities: [`FileReader.read`](contracts.md#symbol-FileReader.read).
213
-
214
- Can fail with `FileError`. Callers must catch or propagate these errors.
215
-
216
- Interface contract. A selected implementation supplies the behavior.
217
-
218
- **Author documentation**
219
-
220
- Read text.
221
-
222
- **Parameters**
223
- - `path`: File path.
224
-
225
- **Throws**
226
- - `FileError`: The file could not be read.
227
-
228
- ### `FileWriter` {#symbol-FileWriter}
229
-
230
- [source](contracts.md#code)
231
-
232
- Capability interface.
233
-
234
- **Author documentation**
235
-
236
- Write UTF-8 text through an explicitly selected filesystem adapter.
237
-
238
- #### `FileWriter.write` {#symbol-FileWriter.write}
239
-
240
- [source](contracts.md#code)
241
-
242
- **Inputs**
243
-
244
- - `path` (`string`) — required labeled input.
245
- - `content` (`string`) — required labeled input.
246
-
247
- Returns: no value.
248
-
249
- Capabilities: [`FileWriter.write`](contracts.md#symbol-FileWriter.write).
250
-
251
- Can fail with `FileError`. Callers must catch or propagate these errors.
252
-
253
- Interface contract. A selected implementation supplies the behavior.
254
-
255
- **Author documentation**
256
-
257
- Write text.
258
-
259
- **Parameters**
260
- - `path`: File path.
261
- - `content`: Text.
262
-
263
- **Throws**
264
- - `FileError`: Writing failed.
265
-
266
- ### `LocalFiles` {#symbol-LocalFiles}
267
-
268
- [source](contracts.md#code)
269
-
270
- Behavioral class.
271
-
272
- Satisfies [`FileReader`](contracts.md#symbol-FileReader), [`FileWriter`](contracts.md#symbol-FileWriter).
273
-
274
- **Author documentation**
275
-
276
- Native files. Operations are explicit; construction opens no files.
277
-
278
- #### `LocalFiles.read` {#symbol-LocalFiles.read}
279
-
280
- [source](contracts.md#code)
281
-
282
- **Inputs**
283
-
284
- - `path` (`string`) — required labeled input.
285
-
286
- Returns: `string`.
287
-
288
- Capabilities: [`FileReader.read`](contracts.md#symbol-FileReader.read).
289
-
290
- Can fail with `FileError`. Callers must catch or propagate these errors.
291
-
292
- **What it does**
293
-
294
- - Return call `read_file` with `path` = `path`.
295
-
296
- **Author documentation**
297
-
298
- Read text.
299
-
300
- **Parameters**
301
- - `path`: File path.
302
-
303
- **Throws**
304
- - `FileError`: The file could not be read.
305
-
306
- #### `LocalFiles.write` {#symbol-LocalFiles.write}
307
-
308
- [source](contracts.md#code)
309
-
310
- **Inputs**
311
-
312
- - `path` (`string`) — required labeled input.
313
- - `content` (`string`) — required labeled input.
314
-
315
- Returns: no value.
316
-
317
- Capabilities: [`FileWriter.write`](contracts.md#symbol-FileWriter.write).
318
-
319
- Can fail with `FileError`. Callers must catch or propagate these errors.
320
-
321
- **What it does**
322
-
323
- - Call `write_file` with `path` = `path`; `content` = `content`.
324
-
325
- **Author documentation**
326
-
327
- Write text.
328
-
329
- **Parameters**
330
- - `path`: File path.
331
- - `content`: Text.
332
-
333
- **Throws**
334
- - `FileError`: Writing failed.
335
-
336
- ### `Arguments` {#symbol-Arguments}
337
-
338
- [source](contracts.md#code)
339
-
340
- Capability interface.
341
-
342
- **Author documentation**
343
-
344
- Read command-line input through an explicit dependency.
345
-
346
- #### `Arguments.read` {#symbol-Arguments.read}
347
-
348
- [source](contracts.md#code)
349
-
350
- Returns: `List<string>`.
351
-
352
- Capabilities: [`Arguments.read`](contracts.md#symbol-Arguments.read).
353
-
354
- Interface contract. A selected implementation supplies the behavior.
355
-
356
- ### `ProcessArguments` {#symbol-ProcessArguments}
357
-
358
- [source](contracts.md#code)
359
-
360
- Behavioral class.
361
-
362
- Satisfies [`Arguments`](contracts.md#symbol-Arguments).
363
-
364
- **Author documentation**
365
-
366
- Native command-line arguments.
367
-
368
- #### `ProcessArguments.read` {#symbol-ProcessArguments.read}
369
-
370
- [source](contracts.md#code)
371
-
372
- Returns: `List<string>`.
373
-
374
- Capabilities: [`Arguments.read`](contracts.md#symbol-Arguments.read).
375
-
376
- **What it does**
377
-
378
- - Return call `arguments`.
379
-
380
- ### Built-in operations used by this file
381
-
382
- - `arguments` (no inputs) → `List<string>`: Composition arguments. Other callables receive the Arguments capability.
383
- - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
384
- - `read_file` (`path`: `string`) → `string`: Root-only UTF-8 text input. Other callables receive FileReader. Invalid Unicode and NUL raise FileError. Can fail with `FileError`.
385
- - `write_file` (`path`: `string`, `content`: `string`) → `void`: Root-only UTF-8 text output. Other callables receive FileWriter. Can fail with `FileError`.
386
-
387
- [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
388
-
389
- ### Shared language rules
390
-
391
- See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
392
-
393
- ::::
394
-
395
- :::::
@@ -1,316 +0,0 @@
1
- <!-- Generated by aug spec. Edit the August source, then regenerate. -->
2
-
3
- # `contracts.aug` specification
4
-
5
- August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
6
-
7
- ## In this file
8
-
9
- - [`Console`](contracts.aug.md#symbol-Console) is a capability interface.
10
- - [`SystemConsole`](contracts.aug.md#symbol-SystemConsole) is a class implementing `Console`.
11
- - [`FileReader`](contracts.aug.md#symbol-FileReader) is a capability interface.
12
- - [`FileWriter`](contracts.aug.md#symbol-FileWriter) is a capability interface.
13
- - [`LocalFiles`](contracts.aug.md#symbol-LocalFiles) is a class implementing `FileReader`, `FileWriter`.
14
- - [`Arguments`](contracts.aug.md#symbol-Arguments) is a capability interface.
15
- - [`ProcessArguments`](contracts.aug.md#symbol-ProcessArguments) is a class implementing `Arguments`.
16
-
17
- <a id="symbol-Console"></a>
18
-
19
- ## `Console`
20
-
21
- [source](contracts.aug#L3)
22
-
23
- Capability interface.
24
-
25
- **Author documentation**
26
-
27
- Permission to write to a console, provided by an explicitly selected adapter.
28
-
29
- <a id="symbol-Console.write"></a>
30
-
31
- ### `Console.write`
32
-
33
- [source](contracts.aug#L5)
34
-
35
- Type parameters: `T`.
36
-
37
- **Inputs**
38
-
39
- - `value` (`T`) — required labeled input.
40
-
41
- Returns: no value.
42
-
43
- Capabilities: [`Console.write`](contracts.aug.md#symbol-Console.write).
44
-
45
- Interface contract. A selected implementation supplies the behavior.
46
-
47
- **Author documentation**
48
-
49
- Write one line of text.
50
-
51
- **Parameters**
52
- - `value`: Text to display.
53
-
54
- <a id="symbol-SystemConsole"></a>
55
-
56
- ## `SystemConsole`
57
-
58
- [source](contracts.aug#L8)
59
-
60
- Behavioral class.
61
-
62
- Satisfies [`Console`](contracts.aug.md#symbol-Console).
63
-
64
- **Author documentation**
65
-
66
- The native standard-output adapter. Construction performs no output.
67
-
68
- <a id="symbol-SystemConsole.write"></a>
69
-
70
- ### `SystemConsole.write`
71
-
72
- [source](contracts.aug#L9)
73
-
74
- Type parameters: `T`.
75
-
76
- **Inputs**
77
-
78
- - `value` (`T`) — required labeled input.
79
-
80
- Returns: no value.
81
-
82
- Capabilities: [`Console.write`](contracts.aug.md#symbol-Console.write).
83
-
84
- **What it does**
85
-
86
- - Call `print` with `value` = `value`.
87
-
88
- **Author documentation**
89
-
90
- Write one line of text.
91
-
92
- **Parameters**
93
- - `value`: Text to display.
94
-
95
- <a id="symbol-FileReader"></a>
96
-
97
- ## `FileReader`
98
-
99
- [source](contracts.aug#L13)
100
-
101
- Capability interface.
102
-
103
- **Author documentation**
104
-
105
- Read UTF-8 text through an explicitly selected filesystem adapter.
106
-
107
- <a id="symbol-FileReader.read"></a>
108
-
109
- ### `FileReader.read`
110
-
111
- [source](contracts.aug#L15)
112
-
113
- **Inputs**
114
-
115
- - `path` (`string`) — required labeled input.
116
-
117
- Returns: `string`.
118
-
119
- Capabilities: [`FileReader.read`](contracts.aug.md#symbol-FileReader.read).
120
-
121
- Can fail with `FileError`. Callers must catch or propagate these errors.
122
-
123
- Interface contract. A selected implementation supplies the behavior.
124
-
125
- **Author documentation**
126
-
127
- Read text.
128
-
129
- **Parameters**
130
- - `path`: File path.
131
-
132
- **Throws**
133
- - `FileError`: The file could not be read.
134
-
135
- <a id="symbol-FileWriter"></a>
136
-
137
- ## `FileWriter`
138
-
139
- [source](contracts.aug#L18)
140
-
141
- Capability interface.
142
-
143
- **Author documentation**
144
-
145
- Write UTF-8 text through an explicitly selected filesystem adapter.
146
-
147
- <a id="symbol-FileWriter.write"></a>
148
-
149
- ### `FileWriter.write`
150
-
151
- [source](contracts.aug#L20)
152
-
153
- **Inputs**
154
-
155
- - `path` (`string`) — required labeled input.
156
- - `content` (`string`) — required labeled input.
157
-
158
- Returns: no value.
159
-
160
- Capabilities: [`FileWriter.write`](contracts.aug.md#symbol-FileWriter.write).
161
-
162
- Can fail with `FileError`. Callers must catch or propagate these errors.
163
-
164
- Interface contract. A selected implementation supplies the behavior.
165
-
166
- **Author documentation**
167
-
168
- Write text.
169
-
170
- **Parameters**
171
- - `path`: File path.
172
- - `content`: Text.
173
-
174
- **Throws**
175
- - `FileError`: Writing failed.
176
-
177
- <a id="symbol-LocalFiles"></a>
178
-
179
- ## `LocalFiles`
180
-
181
- [source](contracts.aug#L23)
182
-
183
- Behavioral class.
184
-
185
- Satisfies [`FileReader`](contracts.aug.md#symbol-FileReader), [`FileWriter`](contracts.aug.md#symbol-FileWriter).
186
-
187
- **Author documentation**
188
-
189
- Native files. Operations are explicit; construction opens no files.
190
-
191
- <a id="symbol-LocalFiles.read"></a>
192
-
193
- ### `LocalFiles.read`
194
-
195
- [source](contracts.aug#L24)
196
-
197
- **Inputs**
198
-
199
- - `path` (`string`) — required labeled input.
200
-
201
- Returns: `string`.
202
-
203
- Capabilities: [`FileReader.read`](contracts.aug.md#symbol-FileReader.read).
204
-
205
- Can fail with `FileError`. Callers must catch or propagate these errors.
206
-
207
- **What it does**
208
-
209
- - Return call `read_file` with `path` = `path`.
210
-
211
- **Author documentation**
212
-
213
- Read text.
214
-
215
- **Parameters**
216
- - `path`: File path.
217
-
218
- **Throws**
219
- - `FileError`: The file could not be read.
220
-
221
- <a id="symbol-LocalFiles.write"></a>
222
-
223
- ### `LocalFiles.write`
224
-
225
- [source](contracts.aug#L26)
226
-
227
- **Inputs**
228
-
229
- - `path` (`string`) — required labeled input.
230
- - `content` (`string`) — required labeled input.
231
-
232
- Returns: no value.
233
-
234
- Capabilities: [`FileWriter.write`](contracts.aug.md#symbol-FileWriter.write).
235
-
236
- Can fail with `FileError`. Callers must catch or propagate these errors.
237
-
238
- **What it does**
239
-
240
- - Call `write_file` with `path` = `path`; `content` = `content`.
241
-
242
- **Author documentation**
243
-
244
- Write text.
245
-
246
- **Parameters**
247
- - `path`: File path.
248
- - `content`: Text.
249
-
250
- **Throws**
251
- - `FileError`: Writing failed.
252
-
253
- <a id="symbol-Arguments"></a>
254
-
255
- ## `Arguments`
256
-
257
- [source](contracts.aug#L30)
258
-
259
- Capability interface.
260
-
261
- **Author documentation**
262
-
263
- Read command-line input through an explicit dependency.
264
-
265
- <a id="symbol-Arguments.read"></a>
266
-
267
- ### `Arguments.read`
268
-
269
- [source](contracts.aug#L31)
270
-
271
- Returns: `List<string>`.
272
-
273
- Capabilities: [`Arguments.read`](contracts.aug.md#symbol-Arguments.read).
274
-
275
- Interface contract. A selected implementation supplies the behavior.
276
-
277
- <a id="symbol-ProcessArguments"></a>
278
-
279
- ## `ProcessArguments`
280
-
281
- [source](contracts.aug#L34)
282
-
283
- Behavioral class.
284
-
285
- Satisfies [`Arguments`](contracts.aug.md#symbol-Arguments).
286
-
287
- **Author documentation**
288
-
289
- Native command-line arguments.
290
-
291
- <a id="symbol-ProcessArguments.read"></a>
292
-
293
- ### `ProcessArguments.read`
294
-
295
- [source](contracts.aug#L35)
296
-
297
- Returns: `List<string>`.
298
-
299
- Capabilities: [`Arguments.read`](contracts.aug.md#symbol-Arguments.read).
300
-
301
- **What it does**
302
-
303
- - Return call `arguments`.
304
-
305
- ## Built-in operations used by this file
306
-
307
- - `arguments` (no inputs) → `List<string>`: Composition arguments. Other callables receive the Arguments capability.
308
- - `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
309
- - `read_file` (`path`: `string`) → `string`: Root-only UTF-8 text input. Other callables receive FileReader. Invalid Unicode and NUL raise FileError. Can fail with `FileError`.
310
- - `write_file` (`path`: `string`, `content`: `string`) → `void`: Root-only UTF-8 text output. Other callables receive FileWriter. Can fail with `FileError`.
311
-
312
- [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
313
-
314
- ## Shared language rules
315
-
316
- See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.