@greenpandastudios/aug-cli 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/THIRD_PARTY_NOTICES.md +18 -0
  4. package/bin/aug.mjs +3 -0
  5. package/docs/api/crypto.md +351 -0
  6. package/docs/api/io.md +207 -0
  7. package/docs/api/json.md +21 -0
  8. package/docs/api/memory.md +109 -0
  9. package/docs/api/time.md +54 -0
  10. package/docs/api/web.md +184 -0
  11. package/docs/assets/benchmarks/execution.svg +2978 -0
  12. package/docs/assets/benchmarks/http.svg +1674 -0
  13. package/docs/assets/benchmarks/improvements.svg +2315 -0
  14. package/docs/assets/benchmarks/memory.svg +1891 -0
  15. package/docs/benchmark-baseline.json +1087 -0
  16. package/docs/benchmark-results.json +91123 -0
  17. package/docs/benchmarks.json +38 -0
  18. package/docs/compatibility.md +42 -0
  19. package/docs/concurrency-implementation.md +18 -0
  20. package/docs/diagnostics.md +97 -0
  21. package/docs/docker.md +35 -0
  22. package/docs/example-projects.json +26 -0
  23. package/docs/examples/approved-design/counters.md +253 -0
  24. package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +395 -0
  25. package/docs/examples/approved-design/domain/app.md +165 -0
  26. package/docs/examples/approved-design/domain/export.md +83 -0
  27. package/docs/examples/approved-design/domain/models.md +80 -0
  28. package/docs/examples/approved-design/domain/numbers.md +248 -0
  29. package/docs/examples/approved-design/index.md +39 -0
  30. package/docs/examples/approved-design/main-yaml.md +24 -0
  31. package/docs/examples/approved-design/main.md +215 -0
  32. package/docs/examples/benchmark/index.md +33 -0
  33. package/docs/examples/benchmark/main-yaml.md +17 -0
  34. package/docs/examples/benchmark/main.md +117 -0
  35. package/docs/examples/cli-args/index.md +32 -0
  36. package/docs/examples/cli-args/main.md +107 -0
  37. package/docs/examples/collections/index.md +32 -0
  38. package/docs/examples/collections/main.md +118 -0
  39. package/docs/examples/collections-benchmark/index.md +34 -0
  40. package/docs/examples/collections-benchmark/main.md +115 -0
  41. package/docs/examples/cpu-benchmark/index.md +34 -0
  42. package/docs/examples/cpu-benchmark/main.md +90 -0
  43. package/docs/examples/developer-workflow/calculator.md +357 -0
  44. package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +395 -0
  45. package/docs/examples/developer-workflow/index.md +37 -0
  46. package/docs/examples/developer-workflow/logging/console.md +124 -0
  47. package/docs/examples/developer-workflow/logging/export.md +70 -0
  48. package/docs/examples/developer-workflow/logging/logger.md +111 -0
  49. package/docs/examples/developer-workflow/main.md +172 -0
  50. package/docs/examples/drop/index.md +33 -0
  51. package/docs/examples/drop/main.md +85 -0
  52. package/docs/examples/drop/resource.md +95 -0
  53. package/docs/examples/errors/errors.md +85 -0
  54. package/docs/examples/errors/index.md +33 -0
  55. package/docs/examples/errors/main.md +92 -0
  56. package/docs/examples/ffi/index.md +33 -0
  57. package/docs/examples/ffi/main.md +75 -0
  58. package/docs/examples/ffi/native.md +93 -0
  59. package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +395 -0
  60. package/docs/examples/generic-di/index.md +33 -0
  61. package/docs/examples/generic-di/main.md +111 -0
  62. package/docs/examples/generic-di/types.md +180 -0
  63. package/docs/examples/generics/index.md +33 -0
  64. package/docs/examples/generics/main.md +120 -0
  65. package/docs/examples/generics/types.md +189 -0
  66. package/docs/examples/hello/app/export.md +67 -0
  67. package/docs/examples/hello/app/greeter.md +190 -0
  68. package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +395 -0
  69. package/docs/examples/hello/index.md +37 -0
  70. package/docs/examples/hello/logging/console.md +121 -0
  71. package/docs/examples/hello/logging/export.md +71 -0
  72. package/docs/examples/hello/logging/logger.md +120 -0
  73. package/docs/examples/hello/main.md +115 -0
  74. package/docs/examples/http-benchmark/index.md +35 -0
  75. package/docs/examples/http-benchmark/main.md +79 -0
  76. package/docs/examples/http-benchmark/routes.md +88 -0
  77. package/docs/examples/index.md +60 -0
  78. package/docs/examples/interceptors/app.md +250 -0
  79. package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +395 -0
  80. package/docs/examples/interceptors/index.md +35 -0
  81. package/docs/examples/interceptors/interceptors.md +284 -0
  82. package/docs/examples/interceptors/logging.md +155 -0
  83. package/docs/examples/interceptors/main.md +162 -0
  84. package/docs/examples/json-benchmark/data.md +71 -0
  85. package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +103 -0
  86. package/docs/examples/json-benchmark/index.md +35 -0
  87. package/docs/examples/json-benchmark/main.md +131 -0
  88. package/docs/examples/new-syntax/console.md +118 -0
  89. package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +395 -0
  90. package/docs/examples/new-syntax/greeter.md +145 -0
  91. package/docs/examples/new-syntax/index.md +36 -0
  92. package/docs/examples/new-syntax/logger.md +111 -0
  93. package/docs/examples/new-syntax/main.md +135 -0
  94. package/docs/examples/new-syntax/math.md +79 -0
  95. package/docs/examples/oidc-login/client/contracts.md +151 -0
  96. package/docs/examples/oidc-login/client/endpoints.md +263 -0
  97. package/docs/examples/oidc-login/client/export.md +107 -0
  98. package/docs/examples/oidc-login/client/login.md +515 -0
  99. package/docs/examples/oidc-login/client/logout.md +249 -0
  100. package/docs/examples/oidc-login/client/protocol.md +595 -0
  101. package/docs/examples/oidc-login/client/session.md +297 -0
  102. package/docs/examples/oidc-login/client/views.md +144 -0
  103. package/docs/examples/oidc-login/common/export.md +115 -0
  104. package/docs/examples/oidc-login/common/headers.md +162 -0
  105. package/docs/examples/oidc-login/common/keys.md +336 -0
  106. package/docs/examples/oidc-login/common/settings.md +116 -0
  107. package/docs/examples/oidc-login/common/views.md +103 -0
  108. package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +925 -0
  109. package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +434 -0
  110. package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +103 -0
  111. package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +374 -0
  112. package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +150 -0
  113. package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +532 -0
  114. package/docs/examples/oidc-login/index.md +57 -0
  115. package/docs/examples/oidc-login/main-yaml.md +28 -0
  116. package/docs/examples/oidc-login/main.md +283 -0
  117. package/docs/examples/oidc-login/provider/authorization.md +457 -0
  118. package/docs/examples/oidc-login/provider/contracts.md +267 -0
  119. package/docs/examples/oidc-login/provider/credentials.md +148 -0
  120. package/docs/examples/oidc-login/provider/discovery.md +215 -0
  121. package/docs/examples/oidc-login/provider/export.md +131 -0
  122. package/docs/examples/oidc-login/provider/token.md +364 -0
  123. package/docs/examples/oidc-login/provider/userinfo.md +228 -0
  124. package/docs/examples/oidc-login/provider/views.md +137 -0
  125. package/docs/examples/ownership/counter.md +140 -0
  126. package/docs/examples/ownership/index.md +33 -0
  127. package/docs/examples/ownership/main.md +90 -0
  128. package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +395 -0
  129. package/docs/examples/ownership-transfer/index.md +33 -0
  130. package/docs/examples/ownership-transfer/main.md +125 -0
  131. package/docs/examples/ownership-transfer/resource.md +150 -0
  132. package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +117 -0
  133. package/docs/examples/packages-app/index.md +34 -0
  134. package/docs/examples/packages-app/main-yaml.md +18 -0
  135. package/docs/examples/packages-app/main.md +80 -0
  136. package/docs/examples/packages-math/aug-package-json.md +24 -0
  137. package/docs/examples/packages-math/index.md +36 -0
  138. package/docs/examples/packages-math/package-json.md +25 -0
  139. package/docs/examples/packages-math/src/arithmetic.md +121 -0
  140. package/docs/examples/packages-math/src/export.md +63 -0
  141. package/docs/examples/startup-benchmark/index.md +34 -0
  142. package/docs/examples/startup-benchmark/main.md +68 -0
  143. package/docs/examples/visibility/counter.md +142 -0
  144. package/docs/examples/visibility/index.md +33 -0
  145. package/docs/examples/visibility/main.md +96 -0
  146. package/docs/examples.json +47 -0
  147. package/docs/getting-started.md +5 -0
  148. package/docs/grammar.md +136 -0
  149. package/docs/implementation-map.md +106 -0
  150. package/docs/index.md +46 -0
  151. package/docs/language-conformance.md +30 -0
  152. package/docs/language-constructs.md +1461 -0
  153. package/docs/language-design-audit.md +147 -0
  154. package/docs/maintaining-docs.md +43 -0
  155. package/docs/packages.md +184 -0
  156. package/docs/performance.md +535 -0
  157. package/docs/production-readiness.md +39 -0
  158. package/docs/reference.md +361 -0
  159. package/docs/release-review.md +23 -0
  160. package/docs/releasing.md +79 -0
  161. package/docs/roadmap.md +13 -0
  162. package/docs/specifications.md +86 -0
  163. package/docs/testing.md +120 -0
  164. package/docs/tooling.md +197 -0
  165. package/docs/web-implementation-plan.md +39 -0
  166. package/docs/web-library-gaps.md +27 -0
  167. package/docs/web.md +197 -0
  168. package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  169. package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  170. package/examples/approved-design/.aug-spec/manifest.json +14 -0
  171. package/examples/approved-design/counters.aug +22 -0
  172. package/examples/approved-design/counters.aug.md +177 -0
  173. package/examples/approved-design/domain/app.aug +12 -0
  174. package/examples/approved-design/domain/app.aug.md +97 -0
  175. package/examples/approved-design/domain/export.aug +5 -0
  176. package/examples/approved-design/domain/export.aug.md +25 -0
  177. package/examples/approved-design/domain/models.aug +2 -0
  178. package/examples/approved-design/domain/models.aug.md +30 -0
  179. package/examples/approved-design/domain/numbers.aug +29 -0
  180. package/examples/approved-design/domain/numbers.aug.md +141 -0
  181. package/examples/approved-design/main.aug +26 -0
  182. package/examples/approved-design/main.aug.md +108 -0
  183. package/examples/approved-design/main.yaml +8 -0
  184. package/examples/benchmark/.aug-spec/manifest.json +7 -0
  185. package/examples/benchmark/main.aug +17 -0
  186. package/examples/benchmark/main.aug.md +43 -0
  187. package/examples/benchmark/main.yaml +1 -0
  188. package/examples/cli-args/.aug-spec/manifest.json +7 -0
  189. package/examples/cli-args/main.aug +15 -0
  190. package/examples/cli-args/main.aug.md +38 -0
  191. package/examples/collections/.aug-spec/manifest.json +7 -0
  192. package/examples/collections/main.aug +18 -0
  193. package/examples/collections/main.aug.md +43 -0
  194. package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  195. package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  196. package/examples/developer-workflow/.aug-spec/manifest.json +13 -0
  197. package/examples/developer-workflow/calculator.aug +55 -0
  198. package/examples/developer-workflow/calculator.aug.md +228 -0
  199. package/examples/developer-workflow/logging/console.aug +8 -0
  200. package/examples/developer-workflow/logging/console.aug.md +67 -0
  201. package/examples/developer-workflow/logging/export.aug +2 -0
  202. package/examples/developer-workflow/logging/export.aug.md +19 -0
  203. package/examples/developer-workflow/logging/logger.aug +6 -0
  204. package/examples/developer-workflow/logging/logger.aug.md +57 -0
  205. package/examples/developer-workflow/main.aug +25 -0
  206. package/examples/developer-workflow/main.aug.md +79 -0
  207. package/examples/drop/.aug-spec/manifest.json +8 -0
  208. package/examples/drop/main.aug +3 -0
  209. package/examples/drop/main.aug.md +35 -0
  210. package/examples/drop/resource.aug +8 -0
  211. package/examples/drop/resource.aug.md +44 -0
  212. package/examples/errors/.aug-spec/manifest.json +8 -0
  213. package/examples/errors/errors.aug +6 -0
  214. package/examples/errors/errors.aug.md +33 -0
  215. package/examples/errors/main.aug +7 -0
  216. package/examples/errors/main.aug.md +36 -0
  217. package/examples/ffi/.aug-spec/manifest.json +8 -0
  218. package/examples/ffi/main.aug +2 -0
  219. package/examples/ffi/main.aug.md +27 -0
  220. package/examples/ffi/native.aug +6 -0
  221. package/examples/ffi/native.aug.md +43 -0
  222. package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  223. package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  224. package/examples/generic-di/.aug-spec/manifest.json +10 -0
  225. package/examples/generic-di/main.aug +9 -0
  226. package/examples/generic-di/main.aug.md +49 -0
  227. package/examples/generic-di/types.aug +17 -0
  228. package/examples/generic-di/types.aug.md +124 -0
  229. package/examples/generics/.aug-spec/manifest.json +8 -0
  230. package/examples/generics/main.aug +9 -0
  231. package/examples/generics/main.aug.md +58 -0
  232. package/examples/generics/types.aug +19 -0
  233. package/examples/generics/types.aug.md +132 -0
  234. package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  235. package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  236. package/examples/hello/.aug-spec/manifest.json +14 -0
  237. package/examples/hello/app/export.aug +1 -0
  238. package/examples/hello/app/export.aug.md +17 -0
  239. package/examples/hello/app/greeter.aug +22 -0
  240. package/examples/hello/app/greeter.aug.md +109 -0
  241. package/examples/hello/logging/console.aug +7 -0
  242. package/examples/hello/logging/console.aug.md +65 -0
  243. package/examples/hello/logging/export.aug +2 -0
  244. package/examples/hello/logging/export.aug.md +19 -0
  245. package/examples/hello/logging/logger.aug +9 -0
  246. package/examples/hello/logging/logger.aug.md +59 -0
  247. package/examples/hello/main.aug +9 -0
  248. package/examples/hello/main.aug.md +49 -0
  249. package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  250. package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  251. package/examples/interceptors/.aug-spec/manifest.json +12 -0
  252. package/examples/interceptors/app.aug +28 -0
  253. package/examples/interceptors/app.aug.md +162 -0
  254. package/examples/interceptors/interceptors.aug +40 -0
  255. package/examples/interceptors/interceptors.aug.md +180 -0
  256. package/examples/interceptors/logging.aug +12 -0
  257. package/examples/interceptors/logging.aug.md +96 -0
  258. package/examples/interceptors/main.aug +22 -0
  259. package/examples/interceptors/main.aug.md +76 -0
  260. package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  261. package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  262. package/examples/new-syntax/.aug-spec/manifest.json +13 -0
  263. package/examples/new-syntax/console.aug +7 -0
  264. package/examples/new-syntax/console.aug.md +63 -0
  265. package/examples/new-syntax/greeter.aug +10 -0
  266. package/examples/new-syntax/greeter.aug.md +89 -0
  267. package/examples/new-syntax/logger.aug +6 -0
  268. package/examples/new-syntax/logger.aug.md +57 -0
  269. package/examples/new-syntax/main.aug +12 -0
  270. package/examples/new-syntax/main.aug.md +64 -0
  271. package/examples/new-syntax/math.aug +3 -0
  272. package/examples/new-syntax/math.aug.md +29 -0
  273. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug +73 -0
  274. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +791 -0
  275. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug +68 -0
  276. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +266 -0
  277. package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug +6 -0
  278. package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +55 -0
  279. package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug +45 -0
  280. package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +250 -0
  281. package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug +11 -0
  282. package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +96 -0
  283. package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug +58 -0
  284. package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +420 -0
  285. package/examples/oidc-login/.aug-spec/manifest.json +40 -0
  286. package/examples/oidc-login/README.md +29 -0
  287. package/examples/oidc-login/client/contracts.aug +7 -0
  288. package/examples/oidc-login/client/contracts.aug.md +80 -0
  289. package/examples/oidc-login/client/endpoints.aug +21 -0
  290. package/examples/oidc-login/client/endpoints.aug.md +161 -0
  291. package/examples/oidc-login/client/export.aug +7 -0
  292. package/examples/oidc-login/client/export.aug.md +29 -0
  293. package/examples/oidc-login/client/login.aug +58 -0
  294. package/examples/oidc-login/client/login.aug.md +331 -0
  295. package/examples/oidc-login/client/logout.aug +18 -0
  296. package/examples/oidc-login/client/logout.aug.md +150 -0
  297. package/examples/oidc-login/client/protocol.aug +106 -0
  298. package/examples/oidc-login/client/protocol.aug.md +326 -0
  299. package/examples/oidc-login/client/session.aug +34 -0
  300. package/examples/oidc-login/client/session.aug.md +155 -0
  301. package/examples/oidc-login/client/views.aug +21 -0
  302. package/examples/oidc-login/client/views.aug.md +68 -0
  303. package/examples/oidc-login/common/export.aug +9 -0
  304. package/examples/oidc-login/common/export.aug.md +33 -0
  305. package/examples/oidc-login/common/headers.aug +11 -0
  306. package/examples/oidc-login/common/headers.aug.md +79 -0
  307. package/examples/oidc-login/common/keys.aug +37 -0
  308. package/examples/oidc-login/common/keys.aug.md +207 -0
  309. package/examples/oidc-login/common/settings.aug +4 -0
  310. package/examples/oidc-login/common/settings.aug.md +47 -0
  311. package/examples/oidc-login/common/views.aug +16 -0
  312. package/examples/oidc-login/common/views.aug.md +34 -0
  313. package/examples/oidc-login/main.aug +39 -0
  314. package/examples/oidc-login/main.aug.md +166 -0
  315. package/examples/oidc-login/main.yaml +12 -0
  316. package/examples/oidc-login/provider/authorization.aug +59 -0
  317. package/examples/oidc-login/provider/authorization.aug.md +264 -0
  318. package/examples/oidc-login/provider/contracts.aug +15 -0
  319. package/examples/oidc-login/provider/contracts.aug.md +193 -0
  320. package/examples/oidc-login/provider/credentials.aug +10 -0
  321. package/examples/oidc-login/provider/credentials.aug.md +64 -0
  322. package/examples/oidc-login/provider/discovery.aug +13 -0
  323. package/examples/oidc-login/provider/discovery.aug.md +133 -0
  324. package/examples/oidc-login/provider/export.aug +13 -0
  325. package/examples/oidc-login/provider/export.aug.md +41 -0
  326. package/examples/oidc-login/provider/token.aug +37 -0
  327. package/examples/oidc-login/provider/token.aug.md +223 -0
  328. package/examples/oidc-login/provider/userinfo.aug +26 -0
  329. package/examples/oidc-login/provider/userinfo.aug.md +104 -0
  330. package/examples/oidc-login/provider/views.aug +18 -0
  331. package/examples/oidc-login/provider/views.aug.md +63 -0
  332. package/examples/ownership/.aug-spec/manifest.json +8 -0
  333. package/examples/ownership/counter.aug +14 -0
  334. package/examples/ownership/counter.aug.md +85 -0
  335. package/examples/ownership/main.aug +4 -0
  336. package/examples/ownership/main.aug.md +38 -0
  337. package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  338. package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  339. package/examples/ownership-transfer/.aug-spec/manifest.json +10 -0
  340. package/examples/ownership-transfer/main.aug +9 -0
  341. package/examples/ownership-transfer/main.aug.md +63 -0
  342. package/examples/ownership-transfer/resource.aug +16 -0
  343. package/examples/ownership-transfer/resource.aug.md +89 -0
  344. package/examples/packages/README.md +15 -0
  345. package/examples/packages/app/.aug-spec/manifest.json +9 -0
  346. package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +9 -0
  347. package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +63 -0
  348. package/examples/packages/app/main.aug +2 -0
  349. package/examples/packages/app/main.aug.md +33 -0
  350. package/examples/packages/app/main.yaml +2 -0
  351. package/examples/packages/math/.aug-spec/manifest.json +8 -0
  352. package/examples/packages/math/README.md +3 -0
  353. package/examples/packages/math/aug-package.json +8 -0
  354. package/examples/packages/math/package.json +9 -0
  355. package/examples/packages/math/src/arithmetic.aug +8 -0
  356. package/examples/packages/math/src/arithmetic.aug.md +63 -0
  357. package/examples/packages/math/src/export.aug +1 -0
  358. package/examples/packages/math/src/export.aug.md +17 -0
  359. package/examples/visibility/.aug-spec/manifest.json +8 -0
  360. package/examples/visibility/counter.aug +14 -0
  361. package/examples/visibility/counter.aug.md +87 -0
  362. package/examples/visibility/main.aug +7 -0
  363. package/examples/visibility/main.aug.md +39 -0
  364. package/package.json +50 -0
  365. package/runtime/aug_crypto.c +121 -0
  366. package/runtime/aug_html.c +93 -0
  367. package/runtime/aug_http.c +829 -0
  368. package/runtime/aug_json.c +165 -0
  369. package/runtime/aug_runtime.c +792 -0
  370. package/runtime/aug_runtime.h +245 -0
  371. package/runtime/aug_tasks.c +172 -0
  372. package/runtime/aug_time.c +5 -0
  373. package/runtime/aug_values.c +80 -0
  374. package/scripts/bootstrap-native.mjs +121 -0
  375. package/scripts/native-dependencies.lock.json +65 -0
  376. package/scripts/native-home.mjs +11 -0
  377. package/src/actions.js +109 -0
  378. package/src/ast.js +19 -0
  379. package/src/builtins.js +93 -0
  380. package/src/checker.js +2896 -0
  381. package/src/cli.js +344 -0
  382. package/src/codegen.js +1159 -0
  383. package/src/config.js +149 -0
  384. package/src/continuation.js +110 -0
  385. package/src/di.js +24 -0
  386. package/src/documentation.js +27 -0
  387. package/src/editor.js +782 -0
  388. package/src/effects.js +29 -0
  389. package/src/fixes.js +222 -0
  390. package/src/formatter.js +296 -0
  391. package/src/freshness.js +154 -0
  392. package/src/help.js +212 -0
  393. package/src/html.js +27 -0
  394. package/src/http-policies.js +90 -0
  395. package/src/inference.js +16 -0
  396. package/src/interceptors.js +70 -0
  397. package/src/javadoc.js +67 -0
  398. package/src/lexer.js +199 -0
  399. package/src/libraries.js +31 -0
  400. package/src/lsp.js +180 -0
  401. package/src/native.js +144 -0
  402. package/src/navigation.js +162 -0
  403. package/src/openapi.js +220 -0
  404. package/src/ownership.js +232 -0
  405. package/src/package-manager.js +299 -0
  406. package/src/parser.js +1155 -0
  407. package/src/policies.js +130 -0
  408. package/src/project-init.js +19 -0
  409. package/src/project.js +292 -0
  410. package/src/schemas.js +62 -0
  411. package/src/semantic.js +255 -0
  412. package/src/spec.js +738 -0
  413. package/src/testing.js +186 -0
  414. package/src/types.js +10 -0
@@ -0,0 +1,162 @@
1
+ ---
2
+ title: "common/headers.aug · OpenID Connect login application"
3
+ generated: true
4
+ source: "examples/oidc-login/common/headers.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `common/headers.aug`
13
+
14
+ [OpenID Connect login application](../index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](../main.md)
19
+ - [`client/contracts.aug`](../client/contracts.md)
20
+ - [`client/endpoints.aug`](../client/endpoints.md)
21
+ - [`client/export.aug`](../client/export.md)
22
+ - [`client/login.aug`](../client/login.md)
23
+ - [`client/logout.aug`](../client/logout.md)
24
+ - [`client/protocol.aug`](../client/protocol.md)
25
+ - [`client/session.aug`](../client/session.md)
26
+ - [`client/views.aug`](../client/views.md)
27
+ - [`common/export.aug`](export.md)
28
+ - [`common/headers.aug`](headers.md)
29
+ - [`common/keys.aug`](keys.md)
30
+ - [`common/settings.aug`](settings.md)
31
+ - [`common/views.aug`](views.md)
32
+ - [`provider/authorization.aug`](../provider/authorization.md)
33
+ - [`provider/contracts.aug`](../provider/contracts.md)
34
+ - [`provider/credentials.aug`](../provider/credentials.md)
35
+ - [`provider/discovery.aug`](../provider/discovery.md)
36
+ - [`provider/export.aug`](../provider/export.md)
37
+ - [`provider/token.aug`](../provider/token.md)
38
+ - [`provider/userinfo.aug`](../provider/userinfo.md)
39
+ - [`provider/views.aug`](../provider/views.md)
40
+
41
+ :::
42
+
43
+ ::::: example-compare
44
+
45
+ :::: example-code
46
+
47
+ ## Code {#code}
48
+
49
+ ::: code-group
50
+
51
+ ```aug [Indentation]
52
+ /** Responses containing identity data are never cached or embedded by another site. */
53
+ securityHeaders() returns Headers unless HttpError:
54
+ return Headers().with(name="cache-control", value="no-store").with(name="pragma", value="no-cache").with(name="x-content-type-options", value="nosniff").with(name="referrer-policy", value="no-referrer").with(name="content-security-policy", value="default-src 'self'; style-src 'unsafe-inline'; script-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'")
55
+ /** Add a checked cookie without losing duplicate Set-Cookie response fields. */
56
+ withCookie(Headers headers, string name, string value, string path, int maxAge, bool secure) returns Headers unless HttpError:
57
+ result = headers
58
+ for content in cookie(name, value, path, maxAge, secure).all(name="set-cookie"):
59
+ result = result.with(name="set-cookie", value=content)
60
+ return result
61
+ import cookie from august.web
62
+ ```
63
+
64
+ ```aug [Braces]
65
+ /** Responses containing identity data are never cached or embedded by another site. */
66
+ securityHeaders() returns Headers unless HttpError {
67
+ return Headers().with(name="cache-control", value="no-store").with(name="pragma", value="no-cache").with(name="x-content-type-options", value="nosniff").with(name="referrer-policy", value="no-referrer").with(name="content-security-policy", value="default-src 'self'; style-src 'unsafe-inline'; script-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'")
68
+ }
69
+ /** Add a checked cookie without losing duplicate Set-Cookie response fields. */
70
+ withCookie(Headers headers, string name, string value, string path, int maxAge, bool secure) returns Headers unless HttpError {
71
+ result = headers
72
+ for content in cookie(name, value, path, maxAge, secure).all(name="set-cookie") {
73
+ result = result.with(name="set-cookie", value=content)
74
+ }
75
+ return result
76
+ }
77
+ import cookie from august.web
78
+ ```
79
+
80
+ :::
81
+
82
+ ::::
83
+
84
+ :::: example-spec
85
+
86
+ ## Compiled specification {#specification}
87
+
88
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
89
+
90
+ ### In this file
91
+
92
+ - [`securityHeaders`](headers.md#symbol-securityHeaders) is a function returning `Headers`.
93
+ - [`withCookie`](headers.md#symbol-withCookie) is a function returning `Headers`.
94
+
95
+ ### `securityHeaders` {#symbol-securityHeaders}
96
+
97
+ [source](headers.md#code)
98
+
99
+ Returns: `Headers`.
100
+
101
+ Can fail with `HttpError`. Callers must catch or propagate these errors.
102
+
103
+ **What it does**
104
+
105
+ - Return call `with` on call `with` on call `with` on call `with` on call `with` on call `Headers` with `name` = `"cache-control"`; `value` = `"no-store"` with `name` = `"pragma"`; `value` = `"no-cache"` with `name` = `"x-content-type-options"`; `value` = `"nosniff"` with `name` = `"referrer-policy"`; `value` = `"no-referrer"` with `name` = `"content-security-policy"`; `value` = `"default-src 'self'; style-src 'unsafe-inline'; script-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'"`.
106
+
107
+ **Author documentation**
108
+
109
+ Responses containing identity data are never cached or embedded by another site.
110
+
111
+ ### `withCookie` {#symbol-withCookie}
112
+
113
+ [source](headers.md#code)
114
+
115
+ **Inputs**
116
+
117
+ - `headers` (`Headers`) — required labeled input.
118
+ - `name` (`string`) — required labeled input.
119
+ - `value` (`string`) — required labeled input.
120
+ - `path` (`string`) — required labeled input.
121
+ - `maxAge` (`int`) — required labeled input.
122
+ - `secure` (`bool`) — required labeled input.
123
+
124
+ Returns: `Headers`.
125
+
126
+ Can fail with `HttpError`. Callers must catch or propagate these errors.
127
+
128
+ **What it does**
129
+
130
+ - Set `result` to `headers`.
131
+ - For each `content` in a snapshot of call `all` on call [`cookie`](../dependencies/august/0.19.0/web/contracts.md#symbol-cookie) with `name` = `name`; `value` = `value`; `path` = `path`; `maxAge` = `maxAge`; `secure` = `secure` with `name` = `"set-cookie"`, in iteration order:
132
+ - Set `result` to call `with` on `result` with `name` = `"set-cookie"`; `value` = `content`.
133
+ - Return `result`.
134
+
135
+ **Author documentation**
136
+
137
+ Add a checked cookie without losing duplicate Set-Cookie response fields.
138
+
139
+ ### Dependencies used by this file
140
+
141
+ Only referenced types and operations appear here. Each name links to its complete specification.
142
+
143
+ #### [`cookie`](../dependencies/august/0.19.0/web/contracts.md#symbol-cookie)
144
+
145
+ Function from `august.web`.
146
+
147
+ - [`cookie`](../dependencies/august/0.19.0/web/contracts.md#symbol-cookie) (`name`: `string`, `value`: `string`, `path`: `string`, `maxAge`: `int`, `secure`: `bool`) → `Headers`; can fail with `HttpError`.
148
+
149
+ ### Built-in operations used by this file
150
+
151
+ - `Headers.all` (`name`: `string`) → `List<string>`: Read every value of this header in wire order.
152
+ - `Headers.with` (`name`: `string`, `value`: `string`) → `Headers`: Return new headers with one additional validated field. Header names ignore case; duplicate values remain separate. Can fail with `HttpError`.
153
+
154
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
155
+
156
+ ### Shared language rules
157
+
158
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
159
+
160
+ ::::
161
+
162
+ :::::
@@ -0,0 +1,336 @@
1
+ ---
2
+ title: "common/keys.aug · OpenID Connect login application"
3
+ generated: true
4
+ source: "examples/oidc-login/common/keys.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `common/keys.aug`
13
+
14
+ [OpenID Connect login application](../index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](../main.md)
19
+ - [`client/contracts.aug`](../client/contracts.md)
20
+ - [`client/endpoints.aug`](../client/endpoints.md)
21
+ - [`client/export.aug`](../client/export.md)
22
+ - [`client/login.aug`](../client/login.md)
23
+ - [`client/logout.aug`](../client/logout.md)
24
+ - [`client/protocol.aug`](../client/protocol.md)
25
+ - [`client/session.aug`](../client/session.md)
26
+ - [`client/views.aug`](../client/views.md)
27
+ - [`common/export.aug`](export.md)
28
+ - [`common/headers.aug`](headers.md)
29
+ - [`common/keys.aug`](keys.md)
30
+ - [`common/settings.aug`](settings.md)
31
+ - [`common/views.aug`](views.md)
32
+ - [`provider/authorization.aug`](../provider/authorization.md)
33
+ - [`provider/contracts.aug`](../provider/contracts.md)
34
+ - [`provider/credentials.aug`](../provider/credentials.md)
35
+ - [`provider/discovery.aug`](../provider/discovery.md)
36
+ - [`provider/export.aug`](../provider/export.md)
37
+ - [`provider/token.aug`](../provider/token.md)
38
+ - [`provider/userinfo.aug`](../provider/userinfo.md)
39
+ - [`provider/views.aug`](../provider/views.md)
40
+
41
+ :::
42
+
43
+ ::::: example-compare
44
+
45
+ :::: example-code
46
+
47
+ ## Code {#code}
48
+
49
+ ::: code-group
50
+
51
+ ```aug [Indentation]
52
+ import Crypto from august.crypto
53
+ KeyError() implements Error:
54
+ pass
55
+ /** Keys are initialized explicitly in main and expose distinct provider and session roles. */
56
+ capability SigningKeys:
57
+ configure(RsaPrivateKey provider, RsaPrivateKey session) uses SigningKeys.configure unless KeyError
58
+ provider() returns RsaPrivateKey uses SigningKeys.provider unless KeyError
59
+ session() returns RsaPrivateKey uses SigningKeys.session unless KeyError
60
+ MemorySigningKeys() implements SigningKeys:
61
+ Shared<Map<string,RsaPrivateKey>> _keys = Shared(value=Map<string, RsaPrivateKey>())
62
+ configure(RsaPrivateKey provider, RsaPrivateKey session) uses SigningKeys.configure unless KeyError:
63
+ lock _keys as keys:
64
+ if keys.length() != 0:
65
+ throw KeyError()
66
+ keys.set(key="provider", value=provider)
67
+ keys.set(key="session", value=session)
68
+ provider() returns RsaPrivateKey uses SigningKeys.provider unless KeyError:
69
+ lock _keys as keys:
70
+ match keys.get(key="provider"):
71
+ when null:
72
+ throw KeyError()
73
+ when some key:
74
+ return key
75
+ session() returns RsaPrivateKey uses SigningKeys.session unless KeyError:
76
+ lock _keys as keys:
77
+ match keys.get(key="session"):
78
+ when null:
79
+ throw KeyError()
80
+ when some key:
81
+ return key
82
+ initializeKeys(resolve Crypto crypto, resolve SigningKeys keys) uses crypto.generateRsa and keys.configure unless CryptoError and KeyError:
83
+ provider = crypto.generateRsa()
84
+ session = crypto.generateRsa()
85
+ keys.configure(provider, session)
86
+ ```
87
+
88
+ ```aug [Braces]
89
+ import Crypto from august.crypto
90
+ KeyError() implements Error {
91
+ pass
92
+ }
93
+ /** Keys are initialized explicitly in main and expose distinct provider and session roles. */
94
+ capability SigningKeys {
95
+ configure(RsaPrivateKey provider, RsaPrivateKey session) uses SigningKeys.configure unless KeyError
96
+ provider() returns RsaPrivateKey uses SigningKeys.provider unless KeyError
97
+ session() returns RsaPrivateKey uses SigningKeys.session unless KeyError
98
+ }
99
+ MemorySigningKeys() implements SigningKeys {
100
+ Shared<Map<string,RsaPrivateKey>> _keys = Shared(value=Map<string, RsaPrivateKey>())
101
+ configure(RsaPrivateKey provider, RsaPrivateKey session) uses SigningKeys.configure unless KeyError {
102
+ lock _keys as keys {
103
+ if keys.length() != 0 {
104
+ throw KeyError()
105
+ }
106
+ keys.set(key="provider", value=provider)
107
+ keys.set(key="session", value=session)
108
+ }
109
+ }
110
+ provider() returns RsaPrivateKey uses SigningKeys.provider unless KeyError {
111
+ lock _keys as keys {
112
+ match keys.get(key="provider") {
113
+ when null {
114
+ throw KeyError()
115
+ }
116
+ when some key {
117
+ return key
118
+ }
119
+ }
120
+ }
121
+ }
122
+ session() returns RsaPrivateKey uses SigningKeys.session unless KeyError {
123
+ lock _keys as keys {
124
+ match keys.get(key="session") {
125
+ when null {
126
+ throw KeyError()
127
+ }
128
+ when some key {
129
+ return key
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
135
+ initializeKeys(resolve Crypto crypto, resolve SigningKeys keys) uses crypto.generateRsa and keys.configure unless CryptoError and KeyError {
136
+ provider = crypto.generateRsa()
137
+ session = crypto.generateRsa()
138
+ keys.configure(provider, session)
139
+ }
140
+ ```
141
+
142
+ :::
143
+
144
+ ::::
145
+
146
+ :::: example-spec
147
+
148
+ ## Compiled specification {#specification}
149
+
150
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
151
+
152
+ ### In this file
153
+
154
+ - [`KeyError`](keys.md#symbol-KeyError) is a class implementing `Error`.
155
+ - [`SigningKeys`](keys.md#symbol-SigningKeys) is a capability interface.
156
+ - [`MemorySigningKeys`](keys.md#symbol-MemorySigningKeys) is a class implementing `SigningKeys`.
157
+ - [`initializeKeys`](keys.md#symbol-initializeKeys) is a function.
158
+
159
+ ### `KeyError` {#symbol-KeyError}
160
+
161
+ [source](keys.md#code)
162
+
163
+ Behavioral class.
164
+
165
+ Satisfies `Error`.
166
+
167
+ ### `SigningKeys` {#symbol-SigningKeys}
168
+
169
+ [source](keys.md#code)
170
+
171
+ Capability interface.
172
+
173
+ **Author documentation**
174
+
175
+ Keys are initialized explicitly in main and expose distinct provider and session roles.
176
+
177
+ #### `SigningKeys.configure` {#symbol-SigningKeys.configure}
178
+
179
+ [source](keys.md#code)
180
+
181
+ **Inputs**
182
+
183
+ - `provider` (`RsaPrivateKey`) — required labeled input.
184
+ - `session` (`RsaPrivateKey`) — required labeled input.
185
+
186
+ Returns: no value.
187
+
188
+ Capabilities: [`SigningKeys.configure`](keys.md#symbol-SigningKeys.configure).
189
+
190
+ Can fail with `KeyError`. Callers must catch or propagate these errors.
191
+
192
+ Interface contract. A selected implementation supplies the behavior.
193
+
194
+ #### `SigningKeys.provider` {#symbol-SigningKeys.provider}
195
+
196
+ [source](keys.md#code)
197
+
198
+ Returns: `RsaPrivateKey`.
199
+
200
+ Capabilities: [`SigningKeys.provider`](keys.md#symbol-SigningKeys.provider).
201
+
202
+ Can fail with `KeyError`. Callers must catch or propagate these errors.
203
+
204
+ Interface contract. A selected implementation supplies the behavior.
205
+
206
+ #### `SigningKeys.session` {#symbol-SigningKeys.session}
207
+
208
+ [source](keys.md#code)
209
+
210
+ Returns: `RsaPrivateKey`.
211
+
212
+ Capabilities: [`SigningKeys.session`](keys.md#symbol-SigningKeys.session).
213
+
214
+ Can fail with `KeyError`. Callers must catch or propagate these errors.
215
+
216
+ Interface contract. A selected implementation supplies the behavior.
217
+
218
+ ### `MemorySigningKeys` {#symbol-MemorySigningKeys}
219
+
220
+ [source](keys.md#code)
221
+
222
+ Behavioral class.
223
+
224
+ Satisfies [`SigningKeys`](keys.md#symbol-SigningKeys).
225
+
226
+ **Field initialization**
227
+
228
+ - Initialize `_keys` of type `Shared<Map<string,RsaPrivateKey>>` to call `Shared` with `value` = an empty map from `string` to `RsaPrivateKey`. Read-only storage, private to this class.
229
+
230
+ #### `MemorySigningKeys.configure` {#symbol-MemorySigningKeys.configure}
231
+
232
+ [source](keys.md#code)
233
+
234
+ **Inputs**
235
+
236
+ - `provider` (`RsaPrivateKey`) — required labeled input.
237
+ - `session` (`RsaPrivateKey`) — required labeled input.
238
+
239
+ Returns: no value.
240
+
241
+ Capabilities: [`SigningKeys.configure`](keys.md#symbol-SigningKeys.configure).
242
+
243
+ Can fail with `KeyError`. Callers must catch or propagate these errors.
244
+
245
+ **What it does**
246
+
247
+ - Lock `_keys`, expose its mutable value as `keys`, and release the lock on every exit:
248
+ - If call `length` on `keys` does not equal `0`:
249
+ - Fail with call [`KeyError`](keys.md#symbol-KeyError). Transfer control to a matching catch or propagate the failure.
250
+ - Call `set` on `keys` with `key` = `"provider"`; `value` = `provider`.
251
+ - Call `set` on `keys` with `key` = `"session"`; `value` = `session`.
252
+
253
+ #### `MemorySigningKeys.provider` {#symbol-MemorySigningKeys.provider}
254
+
255
+ [source](keys.md#code)
256
+
257
+ Returns: `RsaPrivateKey`.
258
+
259
+ Capabilities: [`SigningKeys.provider`](keys.md#symbol-SigningKeys.provider).
260
+
261
+ Can fail with `KeyError`. Callers must catch or propagate these errors.
262
+
263
+ **What it does**
264
+
265
+ - Lock `_keys`, expose its mutable value as `keys`, and release the lock on every exit:
266
+ - Select the matching case for call `get` on `keys` with `key` = `"provider"`:
267
+ - A null value, including omitted optional input:
268
+ - Fail with call [`KeyError`](keys.md#symbol-KeyError). Transfer control to a matching catch or propagate the failure.
269
+ - A present, non-null value, named `key`:
270
+ - Return `key`.
271
+
272
+ #### `MemorySigningKeys.session` {#symbol-MemorySigningKeys.session}
273
+
274
+ [source](keys.md#code)
275
+
276
+ Returns: `RsaPrivateKey`.
277
+
278
+ Capabilities: [`SigningKeys.session`](keys.md#symbol-SigningKeys.session).
279
+
280
+ Can fail with `KeyError`. Callers must catch or propagate these errors.
281
+
282
+ **What it does**
283
+
284
+ - Lock `_keys`, expose its mutable value as `keys`, and release the lock on every exit:
285
+ - Select the matching case for call `get` on `keys` with `key` = `"session"`:
286
+ - A null value, including omitted optional input:
287
+ - Fail with call [`KeyError`](keys.md#symbol-KeyError). Transfer control to a matching catch or propagate the failure.
288
+ - A present, non-null value, named `key`:
289
+ - Return `key`.
290
+
291
+ ### `initializeKeys` {#symbol-initializeKeys}
292
+
293
+ [source](keys.md#code)
294
+
295
+ **Inputs**
296
+
297
+ - `crypto` ([`Crypto`](../dependencies/august/0.19.0/crypto/contracts.md#symbol-Crypto)) — injected; callers omit it.
298
+ - `keys` ([`SigningKeys`](keys.md#symbol-SigningKeys)) — injected; callers omit it.
299
+
300
+ Returns: no value.
301
+
302
+ Capabilities: [`crypto.generateRsa`](../dependencies/august/0.19.0/crypto/contracts.md#symbol-Crypto.generateRsa), [`keys.configure`](keys.md#symbol-SigningKeys.configure).
303
+
304
+ Can fail with `CryptoError`, `KeyError`. Callers must catch or propagate these errors.
305
+
306
+ **What it does**
307
+
308
+ - Set `provider` to call [`Crypto.generateRsa`](../dependencies/august/0.19.0/crypto/contracts.md#symbol-Crypto.generateRsa) on `crypto`.
309
+ - Set `session` to call [`Crypto.generateRsa`](../dependencies/august/0.19.0/crypto/contracts.md#symbol-Crypto.generateRsa) on `crypto`.
310
+ - Call [`SigningKeys.configure`](keys.md#symbol-SigningKeys.configure) on `keys` with `provider` = `provider`; `session` = `session`.
311
+
312
+ ### Dependencies used by this file
313
+
314
+ Only referenced types and operations appear here. Each name links to its complete specification.
315
+
316
+ #### [`Crypto`](../dependencies/august/0.19.0/crypto/contracts.md#symbol-Crypto)
317
+
318
+ Capability interface from `august.crypto`.
319
+
320
+ - [`Crypto.generateRsa`](../dependencies/august/0.19.0/crypto/contracts.md#symbol-Crypto.generateRsa) (no caller inputs) → `RsaPrivateKey`; can fail with `CryptoError`.
321
+
322
+ ### Built-in operations used by this file
323
+
324
+ - `Map<string, RsaPrivateKey>.get` (`key`: `string`) → `optional RsaPrivateKey`: Read a value by key; an absent key returns null. contains distinguishes an absent key from a stored null.
325
+ - `Map<string, RsaPrivateKey>.length` (no inputs) → `int`: Read the number of elements.
326
+ - `Map<string, RsaPrivateKey>.set` (`key`: `string`, `value`: `RsaPrivateKey`) → `void`: Insert or replace an entry with exclusive mutable access. Changes the receiver.
327
+
328
+ [Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
329
+
330
+ ### Shared language rules
331
+
332
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
333
+
334
+ ::::
335
+
336
+ :::::
@@ -0,0 +1,116 @@
1
+ ---
2
+ title: "common/settings.aug · OpenID Connect login application"
3
+ generated: true
4
+ source: "examples/oidc-login/common/settings.aug"
5
+ editLink: false
6
+ prev: false
7
+ next: false
8
+ outline: [2, 3]
9
+ pageClass: aug-example-page
10
+ ---
11
+
12
+ # `common/settings.aug`
13
+
14
+ [OpenID Connect login application](../index.md) · Source and specification
15
+
16
+ ::: details Files in this project
17
+
18
+ - [`main.aug`](../main.md)
19
+ - [`client/contracts.aug`](../client/contracts.md)
20
+ - [`client/endpoints.aug`](../client/endpoints.md)
21
+ - [`client/export.aug`](../client/export.md)
22
+ - [`client/login.aug`](../client/login.md)
23
+ - [`client/logout.aug`](../client/logout.md)
24
+ - [`client/protocol.aug`](../client/protocol.md)
25
+ - [`client/session.aug`](../client/session.md)
26
+ - [`client/views.aug`](../client/views.md)
27
+ - [`common/export.aug`](export.md)
28
+ - [`common/headers.aug`](headers.md)
29
+ - [`common/keys.aug`](keys.md)
30
+ - [`common/settings.aug`](settings.md)
31
+ - [`common/views.aug`](views.md)
32
+ - [`provider/authorization.aug`](../provider/authorization.md)
33
+ - [`provider/contracts.aug`](../provider/contracts.md)
34
+ - [`provider/credentials.aug`](../provider/credentials.md)
35
+ - [`provider/discovery.aug`](../provider/discovery.md)
36
+ - [`provider/export.aug`](../provider/export.md)
37
+ - [`provider/token.aug`](../provider/token.md)
38
+ - [`provider/userinfo.aug`](../provider/userinfo.md)
39
+ - [`provider/views.aug`](../provider/views.md)
40
+
41
+ :::
42
+
43
+ ::::: example-compare
44
+
45
+ :::: example-code
46
+
47
+ ## Code {#code}
48
+
49
+ ::: code-group
50
+
51
+ ```aug [Indentation]
52
+ /** Explicit loopback development settings. The provider accepts one registered client and its exact callback URI. */
53
+ record Settings(string baseUrl, string issuer, string clientId, string callback, int sessionSeconds, bool secureCookies)
54
+ settings() returns Settings:
55
+ return Settings(baseUrl="http://127.0.0.1:8787", issuer="http://127.0.0.1:8787/provider", clientId="august-login-app", callback="http://127.0.0.1:8787/login/callback", sessionSeconds=900, secureCookies=false)
56
+ ```
57
+
58
+ ```aug [Braces]
59
+ /** Explicit loopback development settings. The provider accepts one registered client and its exact callback URI. */
60
+ record Settings(string baseUrl, string issuer, string clientId, string callback, int sessionSeconds, bool secureCookies)
61
+ settings() returns Settings {
62
+ return Settings(baseUrl="http://127.0.0.1:8787", issuer="http://127.0.0.1:8787/provider", clientId="august-login-app", callback="http://127.0.0.1:8787/login/callback", sessionSeconds=900, secureCookies=false)
63
+ }
64
+ ```
65
+
66
+ :::
67
+
68
+ ::::
69
+
70
+ :::: example-spec
71
+
72
+ ## Compiled specification {#specification}
73
+
74
+ August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
75
+
76
+ ### In this file
77
+
78
+ - [`Settings`](settings.md#symbol-Settings) is an immutable record.
79
+ - [`settings`](settings.md#symbol-settings) is a function returning `Settings`.
80
+
81
+ ### `Settings` {#symbol-Settings}
82
+
83
+ [source](settings.md#code)
84
+
85
+ Immutable record.
86
+
87
+ **Author documentation**
88
+
89
+ Explicit loopback development settings. The provider accepts one registered client and its exact callback URI.
90
+
91
+ **Inputs**
92
+
93
+ - `baseUrl` (`string`) — required labeled input — stored as `baseUrl` and read-only after initialization.
94
+ - `issuer` (`string`) — required labeled input — stored as `issuer` and read-only after initialization.
95
+ - `clientId` (`string`) — required labeled input — stored as `clientId` and read-only after initialization.
96
+ - `callback` (`string`) — required labeled input — stored as `callback` and read-only after initialization.
97
+ - `sessionSeconds` (`int`) — required labeled input — stored as `sessionSeconds` and read-only after initialization.
98
+ - `secureCookies` (`bool`) — required labeled input — stored as `secureCookies` and read-only after initialization.
99
+
100
+ ### `settings` {#symbol-settings}
101
+
102
+ [source](settings.md#code)
103
+
104
+ Returns: [`Settings`](settings.md#symbol-Settings).
105
+
106
+ **What it does**
107
+
108
+ - Return call [`Settings`](settings.md#symbol-Settings) with `baseUrl` = `"http://127.0.0.1:8787"`; `issuer` = `"http://127.0.0.1:8787/provider"`; `clientId` = `"august-login-app"`; `callback` = `"http://127.0.0.1:8787/login/callback"`; `sessionSeconds` = `900`; `secureCookies` = `false`.
109
+
110
+ ### Shared language rules
111
+
112
+ See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
113
+
114
+ ::::
115
+
116
+ :::::