@greenpandastudios/aug-cli 0.19.0 → 0.21.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 (628) 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/assets/benchmarks/execution.svg +774 -637
  12. package/docs/assets/benchmarks/http.svg +278 -249
  13. package/docs/assets/benchmarks/improvements.svg +66 -66
  14. package/docs/assets/benchmarks/kernels-mobile.svg +1 -0
  15. package/docs/assets/benchmarks/kernels.svg +1 -0
  16. package/docs/assets/benchmarks/memory.svg +153 -153
  17. package/docs/benchmark-results.json +227089 -90363
  18. package/docs/compatibility.md +8 -8
  19. package/docs/contributing-benchmarks.md +68 -0
  20. package/docs/dev-containers.md +88 -0
  21. package/docs/dgx-consumers.json +122 -0
  22. package/docs/dgx-gyms.json +784 -0
  23. package/docs/dgx-kernels.json +1170 -0
  24. package/docs/dgx-performance.json +227849 -0
  25. package/docs/dgx-spark.md +64 -0
  26. package/docs/diagnostics.md +15 -5
  27. package/docs/docker.md +173 -12
  28. package/docs/editor.md +35 -0
  29. package/docs/example-projects.json +238 -24
  30. package/docs/examples/approved-design/counters.md +34 -126
  31. package/docs/examples/approved-design/dependencies/august/0.21.0/io/contracts.md +178 -0
  32. package/docs/examples/approved-design/domain/app.md +13 -77
  33. package/docs/examples/approved-design/domain/export.md +5 -19
  34. package/docs/examples/approved-design/domain/models.md +4 -23
  35. package/docs/examples/approved-design/domain/numbers.md +24 -114
  36. package/docs/examples/approved-design/index.md +16 -7
  37. package/docs/examples/approved-design/main.md +19 -96
  38. package/docs/examples/benchmark/index.md +6 -5
  39. package/docs/examples/benchmark/main.md +7 -35
  40. package/docs/examples/calls-benchmark/index.md +36 -0
  41. package/docs/examples/calls-benchmark/main.md +78 -0
  42. package/docs/examples/calls-benchmark/operations.md +60 -0
  43. package/docs/examples/cli-args/index.md +6 -5
  44. package/docs/examples/cli-args/main.md +6 -31
  45. package/docs/examples/collections/index.md +6 -5
  46. package/docs/examples/collections/main.md +7 -35
  47. package/docs/examples/collections-benchmark/index.md +6 -5
  48. package/docs/examples/collections-benchmark/main.md +7 -35
  49. package/docs/examples/cpu-benchmark/index.md +6 -5
  50. package/docs/examples/cpu-benchmark/main.md +5 -24
  51. package/docs/examples/developer-workflow/calculator.md +39 -186
  52. package/docs/examples/developer-workflow/dependencies/august/0.21.0/io/contracts.md +178 -0
  53. package/docs/examples/developer-workflow/index.md +16 -7
  54. package/docs/examples/developer-workflow/logging/console.md +10 -56
  55. package/docs/examples/developer-workflow/logging/export.md +4 -14
  56. package/docs/examples/developer-workflow/logging/logger.md +7 -43
  57. package/docs/examples/developer-workflow/main.md +17 -69
  58. package/docs/examples/drop/index.md +6 -5
  59. package/docs/examples/drop/main.md +7 -27
  60. package/docs/examples/drop/resource.md +7 -30
  61. package/docs/examples/errors/errors.md +7 -27
  62. package/docs/examples/errors/index.md +6 -5
  63. package/docs/examples/errors/main.md +7 -28
  64. package/docs/examples/errors-benchmark/index.md +36 -0
  65. package/docs/examples/errors-benchmark/main.md +92 -0
  66. package/docs/examples/errors-benchmark/operations.md +65 -0
  67. package/docs/examples/ffi/index.md +6 -5
  68. package/docs/examples/ffi/main.md +6 -20
  69. package/docs/examples/ffi/native.md +8 -34
  70. package/docs/examples/float-benchmark/index.md +35 -0
  71. package/docs/examples/float-benchmark/main.md +75 -0
  72. package/docs/examples/generic-di/dependencies/august/0.21.0/io/contracts.md +178 -0
  73. package/docs/examples/generic-di/index.md +6 -5
  74. package/docs/examples/generic-di/main.md +9 -39
  75. package/docs/examples/generic-di/types.md +23 -92
  76. package/docs/examples/generics/index.md +6 -5
  77. package/docs/examples/generics/main.md +10 -47
  78. package/docs/examples/generics/types.md +25 -100
  79. package/docs/examples/hello/app/export.md +4 -12
  80. package/docs/examples/hello/app/greeter.md +13 -91
  81. package/docs/examples/hello/dependencies/august/0.21.0/io/contracts.md +178 -0
  82. package/docs/examples/hello/index.md +17 -6
  83. package/docs/examples/hello/logging/console.md +10 -54
  84. package/docs/examples/hello/logging/export.md +4 -14
  85. package/docs/examples/hello/logging/logger.md +7 -45
  86. package/docs/examples/hello/main.md +9 -39
  87. package/docs/examples/http-benchmark/index.md +6 -5
  88. package/docs/examples/http-benchmark/main.md +6 -20
  89. package/docs/examples/http-benchmark/routes.md +9 -31
  90. package/docs/examples/index.md +63 -29
  91. package/docs/examples/interceptors/app.md +20 -139
  92. package/docs/examples/interceptors/dependencies/august/0.21.0/io/contracts.md +178 -0
  93. package/docs/examples/interceptors/index.md +6 -5
  94. package/docs/examples/interceptors/interceptors.md +24 -148
  95. package/docs/examples/interceptors/logging.md +13 -76
  96. package/docs/examples/interceptors/main.md +10 -65
  97. package/docs/examples/json-benchmark/data.md +4 -20
  98. package/docs/examples/json-benchmark/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
  99. package/docs/examples/json-benchmark/index.md +7 -5
  100. package/docs/examples/json-benchmark/main-yaml.md +20 -0
  101. package/docs/examples/json-benchmark/main.md +10 -49
  102. package/docs/examples/list-benchmark/index.md +35 -0
  103. package/docs/examples/list-benchmark/main.md +78 -0
  104. package/docs/examples/map-churn-benchmark/index.md +35 -0
  105. package/docs/examples/map-churn-benchmark/main.md +106 -0
  106. package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/api.md +104 -0
  107. package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.md +54 -0
  108. package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/native.abi-json.md +48 -0
  109. package/docs/examples/native-blake3/hashing.md +93 -0
  110. package/docs/examples/native-blake3/index.md +38 -0
  111. package/docs/examples/native-blake3/main.md +73 -0
  112. package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/api.md +406 -0
  113. package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.md +51 -0
  114. package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.md +63 -0
  115. package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/native.abi-json.md +161 -0
  116. package/docs/examples/native-pytorch/index.md +38 -0
  117. package/docs/examples/native-pytorch/main.md +73 -0
  118. package/docs/examples/native-pytorch/tensors.md +123 -0
  119. package/docs/examples/native-sqlite/database.md +116 -0
  120. package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/api.md +284 -0
  121. package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.md +51 -0
  122. package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.md +75 -0
  123. package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/native.abi-json.md +119 -0
  124. package/docs/examples/native-sqlite/index.md +38 -0
  125. package/docs/examples/native-sqlite/main.md +73 -0
  126. package/docs/examples/native-zlib/compression.md +99 -0
  127. package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/api.md +153 -0
  128. package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.md +54 -0
  129. package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/native.abi-json.md +76 -0
  130. package/docs/examples/native-zlib/index.md +38 -0
  131. package/docs/examples/native-zlib/main.md +78 -0
  132. package/docs/examples/new-syntax/console.md +10 -52
  133. package/docs/examples/new-syntax/dependencies/august/0.21.0/io/contracts.md +178 -0
  134. package/docs/examples/new-syntax/greeter.md +13 -71
  135. package/docs/examples/new-syntax/index.md +6 -5
  136. package/docs/examples/new-syntax/logger.md +7 -43
  137. package/docs/examples/new-syntax/main.md +10 -53
  138. package/docs/examples/new-syntax/math.md +6 -24
  139. package/docs/examples/oidc-login/client/contracts.md +10 -61
  140. package/docs/examples/oidc-login/client/endpoints.md +32 -154
  141. package/docs/examples/oidc-login/client/export.md +5 -23
  142. package/docs/examples/oidc-login/client/login.md +234 -344
  143. package/docs/examples/oidc-login/client/logout.md +38 -143
  144. package/docs/examples/oidc-login/client/protocol.md +183 -304
  145. package/docs/examples/oidc-login/client/session.md +41 -149
  146. package/docs/examples/oidc-login/client/views.md +13 -58
  147. package/docs/examples/oidc-login/common/export.md +6 -26
  148. package/docs/examples/oidc-login/common/headers.md +42 -72
  149. package/docs/examples/oidc-login/common/keys.md +40 -164
  150. package/docs/examples/oidc-login/common/settings.md +24 -40
  151. package/docs/examples/oidc-login/common/views.md +7 -28
  152. package/docs/examples/oidc-login/dependencies/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.md +205 -0
  153. package/docs/examples/oidc-login/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
  154. package/docs/examples/oidc-login/dependencies/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +267 -0
  155. package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.md +415 -0
  156. package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.md +271 -0
  157. package/docs/examples/oidc-login/dependencies/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +89 -0
  158. package/docs/examples/oidc-login/index.md +8 -7
  159. package/docs/examples/oidc-login/main-yaml.md +7 -0
  160. package/docs/examples/oidc-login/main.md +26 -153
  161. package/docs/examples/oidc-login/provider/authorization.md +232 -275
  162. package/docs/examples/oidc-login/provider/contracts.md +24 -146
  163. package/docs/examples/oidc-login/provider/credentials.md +24 -57
  164. package/docs/examples/oidc-login/provider/discovery.md +48 -122
  165. package/docs/examples/oidc-login/provider/export.md +11 -37
  166. package/docs/examples/oidc-login/provider/token.md +159 -237
  167. package/docs/examples/oidc-login/provider/userinfo.md +47 -102
  168. package/docs/examples/oidc-login/provider/views.md +13 -53
  169. package/docs/examples/ownership/counter.md +17 -63
  170. package/docs/examples/ownership/index.md +6 -5
  171. package/docs/examples/ownership/main.md +7 -30
  172. package/docs/examples/ownership-transfer/dependencies/august/0.21.0/io/contracts.md +178 -0
  173. package/docs/examples/ownership-transfer/index.md +6 -5
  174. package/docs/examples/ownership-transfer/main.md +10 -52
  175. package/docs/examples/ownership-transfer/resource.md +15 -67
  176. package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +12 -50
  177. package/docs/examples/packages-app/index.md +7 -6
  178. package/docs/examples/packages-app/main.md +7 -25
  179. package/docs/examples/packages-math/aug-package-json.md +1 -1
  180. package/docs/examples/packages-math/index.md +7 -6
  181. package/docs/examples/packages-math/src/arithmetic.md +12 -50
  182. package/docs/examples/packages-math/src/export.md +4 -12
  183. package/docs/examples/records-benchmark/data.md +55 -0
  184. package/docs/examples/records-benchmark/index.md +36 -0
  185. package/docs/examples/records-benchmark/main.md +85 -0
  186. package/docs/examples/startup-benchmark/index.md +6 -5
  187. package/docs/examples/startup-benchmark/main.md +5 -17
  188. package/docs/examples/strings-benchmark/index.md +35 -0
  189. package/docs/examples/strings-benchmark/main.md +76 -0
  190. package/docs/examples/tasks-benchmark/index.md +36 -0
  191. package/docs/examples/tasks-benchmark/main.md +89 -0
  192. package/docs/examples/tasks-benchmark/operations.md +58 -0
  193. package/docs/examples/visibility/counter.md +19 -67
  194. package/docs/examples/visibility/index.md +6 -5
  195. package/docs/examples/visibility/main.md +7 -31
  196. package/docs/examples/weather-api/forecasts.md +168 -0
  197. package/docs/examples/weather-api/index.md +42 -0
  198. package/docs/examples/weather-api/main-yaml.md +21 -0
  199. package/docs/examples/weather-api/main.md +65 -0
  200. package/docs/examples.json +10 -0
  201. package/docs/getting-started.md +105 -2
  202. package/docs/grammar.md +7 -5
  203. package/docs/guides/change-a-module.md +64 -0
  204. package/docs/guides/index.md +27 -0
  205. package/docs/gym-results.json +784 -0
  206. package/docs/implementation-map.md +6 -0
  207. package/docs/index.md +51 -29
  208. package/docs/kernel-results.json +1170 -0
  209. package/docs/language-conformance.md +7 -1
  210. package/docs/language-constructs.md +30 -22
  211. package/docs/language-design-audit.md +1 -1
  212. package/docs/learn/data-and-errors.md +77 -0
  213. package/docs/learn/index.md +30 -0
  214. package/docs/learn/modules-and-dependencies.md +73 -0
  215. package/docs/learn/state-and-tests.md +71 -0
  216. package/docs/learn/values-and-functions.md +62 -0
  217. package/docs/lesson-failures.json +8 -0
  218. package/docs/maintaining-docs.md +16 -4
  219. package/docs/native-implementation.md +276 -0
  220. package/docs/native-interop-llvm-plan.md +342 -0
  221. package/docs/native-package-examples.md +684 -0
  222. package/docs/native-packages.md +179 -0
  223. package/docs/packages.md +72 -126
  224. package/docs/performance.md +61 -68
  225. package/docs/production-readiness.md +16 -5
  226. package/docs/public/downloads/approved-design.zip +0 -0
  227. package/docs/public/downloads/benchmark.zip +0 -0
  228. package/docs/public/downloads/calls-benchmark.zip +0 -0
  229. package/docs/public/downloads/cli-args.zip +0 -0
  230. package/docs/public/downloads/collections-benchmark.zip +0 -0
  231. package/docs/public/downloads/collections.zip +0 -0
  232. package/docs/public/downloads/cpu-benchmark.zip +0 -0
  233. package/docs/public/downloads/developer-workflow.zip +0 -0
  234. package/docs/public/downloads/drop.zip +0 -0
  235. package/docs/public/downloads/errors-benchmark.zip +0 -0
  236. package/docs/public/downloads/errors.zip +0 -0
  237. package/docs/public/downloads/ffi.zip +0 -0
  238. package/docs/public/downloads/float-benchmark.zip +0 -0
  239. package/docs/public/downloads/generic-di.zip +0 -0
  240. package/docs/public/downloads/generics.zip +0 -0
  241. package/docs/public/downloads/hello.zip +0 -0
  242. package/docs/public/downloads/http-benchmark.zip +0 -0
  243. package/docs/public/downloads/interceptors.zip +0 -0
  244. package/docs/public/downloads/json-benchmark.zip +0 -0
  245. package/docs/public/downloads/list-benchmark.zip +0 -0
  246. package/docs/public/downloads/map-churn-benchmark.zip +0 -0
  247. package/docs/public/downloads/native-blake3.zip +0 -0
  248. package/docs/public/downloads/native-pytorch.zip +0 -0
  249. package/docs/public/downloads/native-sqlite.zip +0 -0
  250. package/docs/public/downloads/native-zlib.zip +0 -0
  251. package/docs/public/downloads/new-syntax.zip +0 -0
  252. package/docs/public/downloads/oidc-login.zip +0 -0
  253. package/docs/public/downloads/ownership-transfer.zip +0 -0
  254. package/docs/public/downloads/ownership.zip +0 -0
  255. package/docs/public/downloads/packages-app.zip +0 -0
  256. package/docs/public/downloads/packages-math.zip +0 -0
  257. package/docs/public/downloads/records-benchmark.zip +0 -0
  258. package/docs/public/downloads/startup-benchmark.zip +0 -0
  259. package/docs/public/downloads/strings-benchmark.zip +0 -0
  260. package/docs/public/downloads/tasks-benchmark.zip +0 -0
  261. package/docs/public/downloads/visibility.zip +0 -0
  262. package/docs/public/downloads/weather-api.zip +0 -0
  263. package/docs/qualification-results.md +66 -0
  264. package/docs/reference.md +47 -17
  265. package/docs/releasing.md +105 -16
  266. package/docs/research/code-to-natural-language.md +108 -0
  267. package/docs/research/ecosystem-workflow.md +41 -0
  268. package/docs/research/libtorch-native-qualification.md +115 -0
  269. package/docs/research/native-interop-llvm.md +197 -0
  270. package/docs/research/qualification-methods.md +15 -0
  271. package/docs/research/wiki-editorial-design.md +71 -0
  272. package/docs/roadmap.md +2 -1
  273. package/docs/safety-gyms.md +41 -0
  274. package/docs/specifications.md +27 -11
  275. package/docs/testing.md +19 -5
  276. package/docs/tooling.md +36 -22
  277. package/docs/weather-api.md +65 -0
  278. package/docs/web-library-gaps.md +1 -1
  279. package/docs/web.md +54 -18
  280. package/docs/writing-docs.md +49 -0
  281. package/examples/{hello/.aug-spec/august/0.19.0 → approved-design/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
  282. package/examples/approved-design/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
  283. package/examples/approved-design/.aug-spec/manifest.json +3 -3
  284. package/examples/approved-design/counters.aug +5 -4
  285. package/examples/approved-design/counters.aug.md +25 -132
  286. package/examples/approved-design/domain/app.aug +2 -1
  287. package/examples/approved-design/domain/app.aug.md +10 -80
  288. package/examples/approved-design/domain/export.aug +1 -0
  289. package/examples/approved-design/domain/export.aug.md +4 -20
  290. package/examples/approved-design/domain/models.aug +1 -0
  291. package/examples/approved-design/domain/models.aug.md +3 -25
  292. package/examples/approved-design/domain/numbers.aug +3 -2
  293. package/examples/approved-design/domain/numbers.aug.md +19 -116
  294. package/examples/approved-design/main.aug +1 -0
  295. package/examples/approved-design/main.aug.md +12 -95
  296. package/examples/benchmark/.aug-spec/manifest.json +1 -1
  297. package/examples/benchmark/main.aug +1 -0
  298. package/examples/benchmark/main.aug.md +6 -36
  299. package/examples/cli-args/.aug-spec/manifest.json +1 -1
  300. package/examples/cli-args/main.aug +1 -0
  301. package/examples/cli-args/main.aug.md +5 -32
  302. package/examples/collections/.aug-spec/manifest.json +1 -1
  303. package/examples/collections/main.aug +1 -0
  304. package/examples/collections/main.aug.md +6 -36
  305. package/examples/{generic-di/.aug-spec/august/0.19.0 → developer-workflow/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
  306. package/examples/developer-workflow/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
  307. package/examples/developer-workflow/.aug-spec/manifest.json +3 -3
  308. package/examples/developer-workflow/calculator.aug +3 -2
  309. package/examples/developer-workflow/calculator.aug.md +28 -189
  310. package/examples/developer-workflow/logging/console.aug +2 -1
  311. package/examples/developer-workflow/logging/console.aug.md +7 -57
  312. package/examples/developer-workflow/logging/export.aug +1 -0
  313. package/examples/developer-workflow/logging/export.aug.md +3 -15
  314. package/examples/developer-workflow/logging/logger.aug +1 -0
  315. package/examples/developer-workflow/logging/logger.aug.md +6 -46
  316. package/examples/developer-workflow/main.aug +1 -0
  317. package/examples/developer-workflow/main.aug.md +10 -68
  318. package/examples/drop/.aug-spec/manifest.json +1 -1
  319. package/examples/drop/main.aug +1 -0
  320. package/examples/drop/main.aug.md +6 -28
  321. package/examples/drop/resource.aug +1 -0
  322. package/examples/drop/resource.aug.md +6 -34
  323. package/examples/errors/.aug-spec/manifest.json +1 -1
  324. package/examples/errors/errors.aug +2 -1
  325. package/examples/errors/errors.aug.md +4 -27
  326. package/examples/errors/main.aug +1 -0
  327. package/examples/errors/main.aug.md +6 -29
  328. package/examples/ffi/.aug-spec/manifest.json +1 -1
  329. package/examples/ffi/main.aug +1 -0
  330. package/examples/ffi/main.aug.md +5 -21
  331. package/examples/ffi/native.aug +2 -1
  332. package/examples/ffi/native.aug.md +5 -35
  333. package/examples/{approved-design/.aug-spec/august/0.19.0 → generic-di/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
  334. package/examples/generic-di/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
  335. package/examples/generic-di/.aug-spec/manifest.json +3 -3
  336. package/examples/generic-di/main.aug +1 -0
  337. package/examples/generic-di/main.aug.md +8 -40
  338. package/examples/generic-di/types.aug +3 -2
  339. package/examples/generic-di/types.aug.md +18 -97
  340. package/examples/generics/.aug-spec/manifest.json +1 -1
  341. package/examples/generics/main.aug +1 -0
  342. package/examples/generics/main.aug.md +9 -48
  343. package/examples/generics/types.aug +4 -3
  344. package/examples/generics/types.aug.md +18 -104
  345. package/examples/{developer-workflow/.aug-spec/august/0.19.0 → hello/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
  346. package/examples/hello/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
  347. package/examples/hello/.aug-spec/manifest.json +3 -3
  348. package/examples/hello/app/export.aug +1 -0
  349. package/examples/hello/app/export.aug.md +3 -13
  350. package/examples/hello/app/greeter.aug +2 -1
  351. package/examples/hello/app/greeter.aug.md +10 -94
  352. package/examples/hello/logging/console.aug +2 -1
  353. package/examples/hello/logging/console.aug.md +7 -55
  354. package/examples/hello/logging/export.aug +1 -0
  355. package/examples/hello/logging/export.aug.md +3 -15
  356. package/examples/hello/logging/logger.aug +1 -0
  357. package/examples/hello/logging/logger.aug.md +6 -48
  358. package/examples/hello/main.aug +1 -0
  359. package/examples/hello/main.aug.md +8 -40
  360. package/examples/interceptors/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
  361. package/examples/interceptors/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
  362. package/examples/interceptors/.aug-spec/manifest.json +3 -3
  363. package/examples/interceptors/app.aug +3 -2
  364. package/examples/interceptors/app.aug.md +15 -141
  365. package/examples/interceptors/interceptors.aug +3 -2
  366. package/examples/interceptors/interceptors.aug.md +19 -152
  367. package/examples/interceptors/logging.aug +2 -1
  368. package/examples/interceptors/logging.aug.md +10 -79
  369. package/examples/interceptors/main.aug +1 -0
  370. package/examples/interceptors/main.aug.md +9 -66
  371. package/examples/native-blake3/.aug-spec/manifest.json +16 -0
  372. package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.1/native.abi.json +29 -0
  373. package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/api.aug +14 -0
  374. package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/api.aug.md +34 -0
  375. package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.aug +4 -0
  376. package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.aug.md +8 -0
  377. package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/native.abi.json +29 -0
  378. package/examples/native-blake3/AGENTS.md +5 -0
  379. package/examples/native-blake3/aug.lock.json +253 -0
  380. package/examples/native-blake3/hashing.aug +11 -0
  381. package/examples/native-blake3/hashing.aug.md +25 -0
  382. package/examples/native-blake3/main.aug +8 -0
  383. package/examples/native-blake3/main.aug.md +13 -0
  384. package/examples/native-pytorch/.aug-spec/manifest.json +18 -0
  385. package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.1/native.abi.json +142 -0
  386. package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.3/native.abi.json +142 -0
  387. package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/api.aug +101 -0
  388. package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/api.aug.md +160 -0
  389. package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.aug +3 -0
  390. package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.aug.md +8 -0
  391. package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.aug +6 -0
  392. package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.aug.md +13 -0
  393. package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/native.abi.json +142 -0
  394. package/examples/native-pytorch/AGENTS.md +5 -0
  395. package/examples/native-pytorch/aug.lock.json +309 -0
  396. package/examples/native-pytorch/main.aug +8 -0
  397. package/examples/native-pytorch/main.aug.md +13 -0
  398. package/examples/native-pytorch/tensors.aug +23 -0
  399. package/examples/native-pytorch/tensors.aug.md +35 -0
  400. package/examples/native-sqlite/.aug-spec/manifest.json +18 -0
  401. package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.2/native.abi.json +100 -0
  402. package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/api.aug +48 -0
  403. package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/api.aug.md +91 -0
  404. package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.aug +3 -0
  405. package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.aug.md +8 -0
  406. package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.aug +8 -0
  407. package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.aug.md +22 -0
  408. package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/native.abi.json +100 -0
  409. package/examples/native-sqlite/AGENTS.md +5 -0
  410. package/examples/native-sqlite/aug.lock.json +236 -0
  411. package/examples/native-sqlite/database.aug +15 -0
  412. package/examples/native-sqlite/database.aug.md +27 -0
  413. package/examples/native-sqlite/main.aug +8 -0
  414. package/examples/native-sqlite/main.aug.md +13 -0
  415. package/examples/native-zlib/.aug-spec/manifest.json +16 -0
  416. package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.1/native.abi.json +57 -0
  417. package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/api.aug +29 -0
  418. package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/api.aug.md +54 -0
  419. package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.aug +4 -0
  420. package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.aug.md +8 -0
  421. package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/native.abi.json +57 -0
  422. package/examples/native-zlib/AGENTS.md +5 -0
  423. package/examples/native-zlib/aug.lock.json +236 -0
  424. package/examples/native-zlib/compression.aug +15 -0
  425. package/examples/native-zlib/compression.aug.md +27 -0
  426. package/examples/native-zlib/main.aug +10 -0
  427. package/examples/native-zlib/main.aug.md +13 -0
  428. package/examples/new-syntax/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
  429. package/examples/new-syntax/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
  430. package/examples/new-syntax/.aug-spec/manifest.json +3 -3
  431. package/examples/new-syntax/console.aug +2 -1
  432. package/examples/new-syntax/console.aug.md +7 -53
  433. package/examples/new-syntax/greeter.aug +2 -1
  434. package/examples/new-syntax/greeter.aug.md +10 -74
  435. package/examples/new-syntax/logger.aug +1 -0
  436. package/examples/new-syntax/logger.aug.md +6 -46
  437. package/examples/new-syntax/main.aug +1 -0
  438. package/examples/new-syntax/main.aug.md +9 -54
  439. package/examples/new-syntax/math.aug +2 -1
  440. package/examples/new-syntax/math.aug.md +3 -24
  441. package/examples/oidc-login/.aug-spec/manifest.json +13 -13
  442. package/examples/oidc-login/.aug-spec/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.aug.md +71 -0
  443. package/examples/oidc-login/.aug-spec/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +17 -0
  444. package/examples/oidc-login/.aug-spec/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +125 -0
  445. package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/contracts.aug +12 -11
  446. package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.aug.md +244 -0
  447. package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/jose.aug +6 -5
  448. package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.aug.md +71 -0
  449. package/examples/oidc-login/.aug-spec/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +30 -0
  450. package/examples/oidc-login/aug.lock.json +100 -0
  451. package/examples/oidc-login/client/contracts.aug +1 -0
  452. package/examples/oidc-login/client/contracts.aug.md +9 -66
  453. package/examples/oidc-login/client/endpoints.aug +6 -5
  454. package/examples/oidc-login/client/endpoints.aug.md +13 -145
  455. package/examples/oidc-login/client/export.aug +1 -0
  456. package/examples/oidc-login/client/export.aug.md +4 -24
  457. package/examples/oidc-login/client/login.aug +7 -6
  458. package/examples/oidc-login/client/login.aug.md +25 -303
  459. package/examples/oidc-login/client/logout.aug +5 -4
  460. package/examples/oidc-login/client/logout.aug.md +13 -135
  461. package/examples/oidc-login/client/protocol.aug +7 -6
  462. package/examples/oidc-login/client/protocol.aug.md +36 -283
  463. package/examples/oidc-login/client/session.aug +5 -4
  464. package/examples/oidc-login/client/session.aug.md +12 -139
  465. package/examples/oidc-login/client/views.aug +3 -2
  466. package/examples/oidc-login/client/views.aug.md +8 -57
  467. package/examples/oidc-login/common/export.aug +1 -0
  468. package/examples/oidc-login/common/export.aug.md +5 -27
  469. package/examples/oidc-login/common/headers.aug +4 -3
  470. package/examples/oidc-login/common/headers.aug.md +9 -67
  471. package/examples/oidc-login/common/keys.aug +6 -5
  472. package/examples/oidc-login/common/keys.aug.md +29 -165
  473. package/examples/oidc-login/common/settings.aug +2 -1
  474. package/examples/oidc-login/common/settings.aug.md +5 -39
  475. package/examples/oidc-login/common/views.aug +2 -1
  476. package/examples/oidc-login/common/views.aug.md +4 -28
  477. package/examples/oidc-login/main.aug +6 -16
  478. package/examples/oidc-login/main.aug.md +17 -146
  479. package/examples/oidc-login/main.yaml +7 -0
  480. package/examples/oidc-login/provider/authorization.aug +7 -6
  481. package/examples/oidc-login/provider/authorization.aug.md +23 -238
  482. package/examples/oidc-login/provider/contracts.aug +1 -0
  483. package/examples/oidc-login/provider/contracts.aug.md +23 -158
  484. package/examples/oidc-login/provider/credentials.aug +3 -2
  485. package/examples/oidc-login/provider/credentials.aug.md +9 -53
  486. package/examples/oidc-login/provider/discovery.aug +4 -3
  487. package/examples/oidc-login/provider/discovery.aug.md +11 -118
  488. package/examples/oidc-login/provider/export.aug +1 -0
  489. package/examples/oidc-login/provider/export.aug.md +6 -34
  490. package/examples/oidc-login/provider/token.aug +6 -5
  491. package/examples/oidc-login/provider/token.aug.md +16 -204
  492. package/examples/oidc-login/provider/userinfo.aug +4 -3
  493. package/examples/oidc-login/provider/userinfo.aug.md +10 -92
  494. package/examples/oidc-login/provider/views.aug +3 -2
  495. package/examples/oidc-login/provider/views.aug.md +8 -52
  496. package/examples/ownership/.aug-spec/manifest.json +1 -1
  497. package/examples/ownership/counter.aug +3 -2
  498. package/examples/ownership/counter.aug.md +12 -66
  499. package/examples/ownership/main.aug +1 -0
  500. package/examples/ownership/main.aug.md +6 -31
  501. package/examples/ownership-transfer/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
  502. package/examples/ownership-transfer/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
  503. package/examples/ownership-transfer/.aug-spec/manifest.json +3 -3
  504. package/examples/ownership-transfer/main.aug +1 -0
  505. package/examples/ownership-transfer/main.aug.md +9 -53
  506. package/examples/ownership-transfer/resource.aug +2 -1
  507. package/examples/ownership-transfer/resource.aug.md +12 -71
  508. package/examples/packages/app/.aug-spec/manifest.json +1 -1
  509. package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +2 -1
  510. package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +9 -51
  511. package/examples/packages/app/main.aug +1 -0
  512. package/examples/packages/app/main.aug.md +6 -26
  513. package/examples/packages/math/.aug-spec/manifest.json +1 -1
  514. package/examples/packages/math/aug-package.json +1 -1
  515. package/examples/packages/math/src/arithmetic.aug +2 -1
  516. package/examples/packages/math/src/arithmetic.aug.md +9 -51
  517. package/examples/packages/math/src/export.aug +1 -0
  518. package/examples/packages/math/src/export.aug.md +3 -13
  519. package/examples/visibility/.aug-spec/manifest.json +1 -1
  520. package/examples/visibility/counter.aug +4 -3
  521. package/examples/visibility/counter.aug.md +12 -68
  522. package/examples/visibility/main.aug +1 -0
  523. package/examples/visibility/main.aug.md +6 -32
  524. package/examples/weather-api/.aug-spec/manifest.json +8 -0
  525. package/examples/weather-api/AGENTS.md +17 -0
  526. package/examples/weather-api/README.md +19 -0
  527. package/examples/weather-api/forecasts.aug +47 -0
  528. package/examples/weather-api/forecasts.aug.md +32 -0
  529. package/examples/weather-api/main.aug +4 -0
  530. package/examples/weather-api/main.aug.md +15 -0
  531. package/examples/weather-api/main.yaml +5 -0
  532. package/examples/weather-api/weather.http +5 -0
  533. package/native/compiler-packs.json +43 -0
  534. package/package.json +4 -4
  535. package/runtime/aug_http.c +48 -21
  536. package/runtime/aug_http_ir.c +30 -0
  537. package/runtime/aug_http_ir.h +18 -0
  538. package/runtime/aug_ir.c +209 -0
  539. package/runtime/aug_ir.h +89 -0
  540. package/runtime/aug_json.c +6 -1
  541. package/runtime/aug_runtime.c +82 -16
  542. package/runtime/aug_runtime.h +16 -2
  543. package/runtime/aug_tasks.c +38 -7
  544. package/runtime/aug_values.c +12 -6
  545. package/scripts/bootstrap-native.mjs +184 -106
  546. package/scripts/native-setup.mjs +98 -0
  547. package/scripts/native-toolchain.mjs +28 -0
  548. package/src/ast.js +1 -1
  549. package/src/builtins.js +1 -1
  550. package/src/checker.js +369 -100
  551. package/src/cli.js +198 -26
  552. package/src/codegen.js +32 -7
  553. package/src/compiler-packs.js +66 -0
  554. package/src/config.js +3 -3
  555. package/src/contracts.js +10 -0
  556. package/src/editor.js +86 -22
  557. package/src/fixes.js +90 -2
  558. package/src/formatter.js +23 -10
  559. package/src/git-http.js +137 -0
  560. package/src/git-packages.js +118 -0
  561. package/src/help.js +33 -24
  562. package/src/http-contracts.js +14 -0
  563. package/src/http-policies.js +5 -5
  564. package/src/ir-types.js +5 -0
  565. package/src/ir-verify.js +277 -0
  566. package/src/ir.js +962 -0
  567. package/src/libraries.js +1 -1
  568. package/src/llvm-debug.js +101 -0
  569. package/src/llvm-native.js +152 -0
  570. package/src/llvm-platform.js +20 -0
  571. package/src/llvm.js +781 -0
  572. package/src/lsp.js +14 -5
  573. package/src/native-artifacts.js +207 -0
  574. package/src/native-bindings.js +189 -0
  575. package/src/native-contracts.js +295 -0
  576. package/src/native-declarations.js +68 -0
  577. package/src/native-facts.js +63 -0
  578. package/src/native.js +19 -13
  579. package/src/navigation.js +4 -2
  580. package/src/openapi.js +5 -4
  581. package/src/package-locking.js +88 -0
  582. package/src/package-manager.js +267 -68
  583. package/src/parser.js +32 -6
  584. package/src/policies.js +3 -3
  585. package/src/project-init.js +78 -4
  586. package/src/project.js +11 -9
  587. package/src/runtime-abi.js +23 -0
  588. package/src/runtime-adapters.js +18 -0
  589. package/src/schemas.js +24 -17
  590. package/src/semantic.js +54 -5
  591. package/src/snippets.js +60 -0
  592. package/src/spec-hints.js +56 -0
  593. package/src/spec-tree.js +241 -0
  594. package/src/spec.js +669 -305
  595. package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +0 -395
  596. package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +0 -395
  597. package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +0 -395
  598. package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +0 -395
  599. package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +0 -395
  600. package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +0 -103
  601. package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +0 -395
  602. package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +0 -925
  603. package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +0 -434
  604. package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +0 -103
  605. package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +0 -374
  606. package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +0 -150
  607. package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +0 -532
  608. package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +0 -395
  609. package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  610. package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  611. package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  612. package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  613. package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
  614. package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  615. package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
  616. package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  617. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +0 -791
  618. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +0 -266
  619. package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +0 -55
  620. package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +0 -250
  621. package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +0 -96
  622. package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +0 -420
  623. package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
  624. package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
  625. /package/examples/oidc-login/.aug-spec/{august/0.19.0/memory → packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/store.aug +0 -0
  626. /package/examples/oidc-login/.aug-spec/{august/0.19.0/json → packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
  627. /package/examples/oidc-login/.aug-spec/{august/0.19.0/web → packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
  628. /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,791 +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
- - [`Crypto`](contracts.aug.md#symbol-Crypto) is a capability interface.
10
- - [`_aug_crypto_random`](contracts.aug.md#symbol-_aug_crypto_random) is a function returning `Bytes`.
11
- - [`_aug_crypto_sha256`](contracts.aug.md#symbol-_aug_crypto_sha256) is a function returning `Bytes`.
12
- - [`_aug_crypto_generate_rsa`](contracts.aug.md#symbol-_aug_crypto_generate_rsa) is a function returning `RsaPrivateKey`.
13
- - [`_aug_crypto_public_rsa`](contracts.aug.md#symbol-_aug_crypto_public_rsa) is a function returning `RsaPublicKey`.
14
- - [`_aug_crypto_sign_rsa`](contracts.aug.md#symbol-_aug_crypto_sign_rsa) is a function returning `Bytes`.
15
- - [`_aug_crypto_verify_rsa`](contracts.aug.md#symbol-_aug_crypto_verify_rsa) is a function returning `bool`.
16
- - [`_aug_crypto_decode_base64url`](contracts.aug.md#symbol-_aug_crypto_decode_base64url) is a function returning `Bytes`.
17
- - [`_aug_crypto_equal`](contracts.aug.md#symbol-_aug_crypto_equal) is a function returning `bool`.
18
- - [`_aug_crypto_export_rsa`](contracts.aug.md#symbol-_aug_crypto_export_rsa) is a function returning `Tuple<Bytes,Bytes>`.
19
- - [`_aug_crypto_import_rsa`](contracts.aug.md#symbol-_aug_crypto_import_rsa) is a function returning `RsaPublicKey`.
20
- - [`_aug_crypto_password_hash`](contracts.aug.md#symbol-_aug_crypto_password_hash) is a function returning `Bytes`.
21
- - [`GnuTlsCrypto`](contracts.aug.md#symbol-GnuTlsCrypto) is a class implementing `Crypto`.
22
-
23
- <a id="symbol-Crypto"></a>
24
-
25
- ## `Crypto`
26
-
27
- [source](contracts.aug#L3)
28
-
29
- Capability interface.
30
-
31
- **Author documentation**
32
-
33
- Explicit permission for native cryptographic operations. Keys and bytes are immutable.
34
-
35
- <a id="symbol-Crypto.random"></a>
36
-
37
- ### `Crypto.random`
38
-
39
- [source](contracts.aug#L5)
40
-
41
- **Inputs**
42
-
43
- - `size` (`int`) — required labeled input.
44
-
45
- Returns: `Bytes`.
46
-
47
- Capabilities: [`Crypto.random`](contracts.aug.md#symbol-Crypto.random).
48
-
49
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
50
-
51
- Interface contract. A selected implementation supplies the behavior.
52
-
53
- **Author documentation**
54
-
55
- Generate unpredictable bytes with the operating-system-backed GnuTLS RNG.
56
-
57
- <a id="symbol-Crypto.sha256"></a>
58
-
59
- ### `Crypto.sha256`
60
-
61
- [source](contracts.aug#L7)
62
-
63
- **Inputs**
64
-
65
- - `input` (`Bytes`) — required labeled input.
66
-
67
- Returns: `Bytes`.
68
-
69
- Capabilities: [`Crypto.sha256`](contracts.aug.md#symbol-Crypto.sha256).
70
-
71
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
72
-
73
- Interface contract. A selected implementation supplies the behavior.
74
-
75
- **Author documentation**
76
-
77
- Hash the complete input using SHA-256.
78
-
79
- <a id="symbol-Crypto.generateRsa"></a>
80
-
81
- ### `Crypto.generateRsa`
82
-
83
- [source](contracts.aug#L9)
84
-
85
- Returns: `RsaPrivateKey`.
86
-
87
- Capabilities: [`Crypto.generateRsa`](contracts.aug.md#symbol-Crypto.generateRsa).
88
-
89
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
90
-
91
- Interface contract. A selected implementation supplies the behavior.
92
-
93
- **Author documentation**
94
-
95
- Create a fresh 3072-bit RSA private key. Private material is opaque and scrubbed on reclamation.
96
-
97
- <a id="symbol-Crypto.publicRsa"></a>
98
-
99
- ### `Crypto.publicRsa`
100
-
101
- [source](contracts.aug#L11)
102
-
103
- **Inputs**
104
-
105
- - `key` (`RsaPrivateKey`) — required labeled input.
106
-
107
- Returns: `RsaPublicKey`.
108
-
109
- Capabilities: [`Crypto.publicRsa`](contracts.aug.md#symbol-Crypto.publicRsa).
110
-
111
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
112
-
113
- Interface contract. A selected implementation supplies the behavior.
114
-
115
- **Author documentation**
116
-
117
- Export the corresponding public key as an opaque immutable value.
118
-
119
- <a id="symbol-Crypto.signRsa"></a>
120
-
121
- ### `Crypto.signRsa`
122
-
123
- [source](contracts.aug#L13)
124
-
125
- **Inputs**
126
-
127
- - `key` (`RsaPrivateKey`) — required labeled input.
128
- - `input` (`Bytes`) — required labeled input.
129
-
130
- Returns: `Bytes`.
131
-
132
- Capabilities: [`Crypto.signRsa`](contracts.aug.md#symbol-Crypto.signRsa).
133
-
134
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
135
-
136
- Interface contract. A selected implementation supplies the behavior.
137
-
138
- **Author documentation**
139
-
140
- Sign bytes using RSASSA-PKCS1-v1_5 with SHA-256 (JOSE RS256).
141
-
142
- <a id="symbol-Crypto.verifyRsa"></a>
143
-
144
- ### `Crypto.verifyRsa`
145
-
146
- [source](contracts.aug#L15)
147
-
148
- **Inputs**
149
-
150
- - `publicKey` (`RsaPublicKey`) — required labeled input.
151
- - `input` (`Bytes`) — required labeled input.
152
- - `signature` (`Bytes`) — required labeled input.
153
-
154
- Returns: `bool`.
155
-
156
- Capabilities: [`Crypto.verifyRsa`](contracts.aug.md#symbol-Crypto.verifyRsa).
157
-
158
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
159
-
160
- Interface contract. A selected implementation supplies the behavior.
161
-
162
- **Author documentation**
163
-
164
- Verify only RS256. Invalid signatures return false; invalid keys raise CryptoError.
165
-
166
- <a id="symbol-Crypto.decodeBase64url"></a>
167
-
168
- ### `Crypto.decodeBase64url`
169
-
170
- [source](contracts.aug#L17)
171
-
172
- **Inputs**
173
-
174
- - `input` (`string`) — required labeled input.
175
-
176
- Returns: `Bytes`.
177
-
178
- Capabilities: [`Crypto.decodeBase64url`](contracts.aug.md#symbol-Crypto.decodeBase64url).
179
-
180
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
181
-
182
- Interface contract. A selected implementation supplies the behavior.
183
-
184
- **Author documentation**
185
-
186
- Decode canonical unpadded URL-safe base64, rejecting invalid characters and unused bits.
187
-
188
- <a id="symbol-Crypto.equal"></a>
189
-
190
- ### `Crypto.equal`
191
-
192
- [source](contracts.aug#L19)
193
-
194
- **Inputs**
195
-
196
- - `left` (`Bytes`) — required labeled input.
197
- - `right` (`Bytes`) — required labeled input.
198
-
199
- Returns: `bool`.
200
-
201
- Capabilities: [`Crypto.equal`](contracts.aug.md#symbol-Crypto.equal).
202
-
203
- Interface contract. A selected implementation supplies the behavior.
204
-
205
- **Author documentation**
206
-
207
- Compare bytes without early exit on their contents. Length remains observable.
208
-
209
- <a id="symbol-Crypto.exportRsa"></a>
210
-
211
- ### `Crypto.exportRsa`
212
-
213
- [source](contracts.aug#L21)
214
-
215
- **Inputs**
216
-
217
- - `publicKey` (`RsaPublicKey`) — required labeled input.
218
-
219
- Returns: `Tuple<Bytes,Bytes>`.
220
-
221
- Capabilities: [`Crypto.exportRsa`](contracts.aug.md#symbol-Crypto.exportRsa).
222
-
223
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
224
-
225
- Interface contract. A selected implementation supplies the behavior.
226
-
227
- **Author documentation**
228
-
229
- Export unsigned big-endian modulus and exponent for an RSA JWK.
230
-
231
- <a id="symbol-Crypto.importRsa"></a>
232
-
233
- ### `Crypto.importRsa`
234
-
235
- [source](contracts.aug#L23)
236
-
237
- **Inputs**
238
-
239
- - `modulus` (`Bytes`) — required labeled input.
240
- - `exponent` (`Bytes`) — required labeled input.
241
-
242
- Returns: `RsaPublicKey`.
243
-
244
- Capabilities: [`Crypto.importRsa`](contracts.aug.md#symbol-Crypto.importRsa).
245
-
246
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
247
-
248
- Interface contract. A selected implementation supplies the behavior.
249
-
250
- **Author documentation**
251
-
252
- Import canonical public RSA parameters. Keys must have 2048 to 8192 bits.
253
-
254
- <a id="symbol-Crypto.passwordHash"></a>
255
-
256
- ### `Crypto.passwordHash`
257
-
258
- [source](contracts.aug#L25)
259
-
260
- **Inputs**
261
-
262
- - `password` (`Bytes`) — required labeled input.
263
- - `salt` (`Bytes`) — required labeled input.
264
- - `iterations` (`int`) — required labeled input.
265
-
266
- Returns: `Bytes`.
267
-
268
- Capabilities: [`Crypto.passwordHash`](contracts.aug.md#symbol-Crypto.passwordHash).
269
-
270
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
271
-
272
- Interface contract. A selected implementation supplies the behavior.
273
-
274
- **Author documentation**
275
-
276
- PBKDF2-HMAC-SHA256, producing 32 bytes. Use a unique 16–64 byte salt; supported work factors are 100,000–2,000,000.
277
-
278
- <a id="symbol-GnuTlsCrypto"></a>
279
-
280
- ## `GnuTlsCrypto`
281
-
282
- [source](contracts.aug#L40)
283
-
284
- Behavioral class.
285
-
286
- Satisfies [`Crypto`](contracts.aug.md#symbol-Crypto).
287
-
288
- **Author documentation**
289
-
290
- GnuTLS-backed capability adapter. Its constructor performs no I/O or key generation.
291
-
292
- <a id="symbol-GnuTlsCrypto.random"></a>
293
-
294
- ### `GnuTlsCrypto.random`
295
-
296
- [source](contracts.aug#L41)
297
-
298
- **Inputs**
299
-
300
- - `size` (`int`) — required labeled input.
301
-
302
- Returns: `Bytes`.
303
-
304
- Capabilities: [`Crypto.random`](contracts.aug.md#symbol-Crypto.random).
305
-
306
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
307
-
308
- **What it does**
309
-
310
- - Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
311
- - Return call [`_aug_crypto_random`](contracts.aug.md#symbol-_aug_crypto_random) with `size` = `size`.
312
-
313
- **Author documentation**
314
-
315
- Generate unpredictable bytes with the operating-system-backed GnuTLS RNG.
316
-
317
- <a id="symbol-GnuTlsCrypto.sha256"></a>
318
-
319
- ### `GnuTlsCrypto.sha256`
320
-
321
- [source](contracts.aug#L44)
322
-
323
- **Inputs**
324
-
325
- - `input` (`Bytes`) — required labeled input.
326
-
327
- Returns: `Bytes`.
328
-
329
- Capabilities: [`Crypto.sha256`](contracts.aug.md#symbol-Crypto.sha256).
330
-
331
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
332
-
333
- **What it does**
334
-
335
- - Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
336
- - Return call [`_aug_crypto_sha256`](contracts.aug.md#symbol-_aug_crypto_sha256) with `input` = `input`.
337
-
338
- **Author documentation**
339
-
340
- Hash the complete input using SHA-256.
341
-
342
- <a id="symbol-GnuTlsCrypto.generateRsa"></a>
343
-
344
- ### `GnuTlsCrypto.generateRsa`
345
-
346
- [source](contracts.aug#L47)
347
-
348
- Returns: `RsaPrivateKey`.
349
-
350
- Capabilities: [`Crypto.generateRsa`](contracts.aug.md#symbol-Crypto.generateRsa).
351
-
352
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
353
-
354
- **What it does**
355
-
356
- - Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
357
- - Return call [`_aug_crypto_generate_rsa`](contracts.aug.md#symbol-_aug_crypto_generate_rsa).
358
-
359
- **Author documentation**
360
-
361
- Create a fresh 3072-bit RSA private key. Private material is opaque and scrubbed on reclamation.
362
-
363
- <a id="symbol-GnuTlsCrypto.publicRsa"></a>
364
-
365
- ### `GnuTlsCrypto.publicRsa`
366
-
367
- [source](contracts.aug#L50)
368
-
369
- **Inputs**
370
-
371
- - `key` (`RsaPrivateKey`) — required labeled input.
372
-
373
- Returns: `RsaPublicKey`.
374
-
375
- Capabilities: [`Crypto.publicRsa`](contracts.aug.md#symbol-Crypto.publicRsa).
376
-
377
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
378
-
379
- **What it does**
380
-
381
- - Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
382
- - Return call [`_aug_crypto_public_rsa`](contracts.aug.md#symbol-_aug_crypto_public_rsa) with `key` = `key`.
383
-
384
- **Author documentation**
385
-
386
- Export the corresponding public key as an opaque immutable value.
387
-
388
- <a id="symbol-GnuTlsCrypto.signRsa"></a>
389
-
390
- ### `GnuTlsCrypto.signRsa`
391
-
392
- [source](contracts.aug#L53)
393
-
394
- **Inputs**
395
-
396
- - `key` (`RsaPrivateKey`) — required labeled input.
397
- - `input` (`Bytes`) — required labeled input.
398
-
399
- Returns: `Bytes`.
400
-
401
- Capabilities: [`Crypto.signRsa`](contracts.aug.md#symbol-Crypto.signRsa).
402
-
403
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
404
-
405
- **What it does**
406
-
407
- - Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
408
- - Return call [`_aug_crypto_sign_rsa`](contracts.aug.md#symbol-_aug_crypto_sign_rsa) with `key` = `key`; `input` = `input`.
409
-
410
- **Author documentation**
411
-
412
- Sign bytes using RSASSA-PKCS1-v1_5 with SHA-256 (JOSE RS256).
413
-
414
- <a id="symbol-GnuTlsCrypto.verifyRsa"></a>
415
-
416
- ### `GnuTlsCrypto.verifyRsa`
417
-
418
- [source](contracts.aug#L56)
419
-
420
- **Inputs**
421
-
422
- - `publicKey` (`RsaPublicKey`) — required labeled input.
423
- - `input` (`Bytes`) — required labeled input.
424
- - `signature` (`Bytes`) — required labeled input.
425
-
426
- Returns: `bool`.
427
-
428
- Capabilities: [`Crypto.verifyRsa`](contracts.aug.md#symbol-Crypto.verifyRsa).
429
-
430
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
431
-
432
- **What it does**
433
-
434
- - Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
435
- - Return call [`_aug_crypto_verify_rsa`](contracts.aug.md#symbol-_aug_crypto_verify_rsa) with `publicKey` = `publicKey`; `input` = `input`; `signature` = `signature`.
436
-
437
- **Author documentation**
438
-
439
- Verify only RS256. Invalid signatures return false; invalid keys raise CryptoError.
440
-
441
- <a id="symbol-GnuTlsCrypto.decodeBase64url"></a>
442
-
443
- ### `GnuTlsCrypto.decodeBase64url`
444
-
445
- [source](contracts.aug#L59)
446
-
447
- **Inputs**
448
-
449
- - `input` (`string`) — required labeled input.
450
-
451
- Returns: `Bytes`.
452
-
453
- Capabilities: [`Crypto.decodeBase64url`](contracts.aug.md#symbol-Crypto.decodeBase64url).
454
-
455
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
456
-
457
- **What it does**
458
-
459
- - Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
460
- - Return call [`_aug_crypto_decode_base64url`](contracts.aug.md#symbol-_aug_crypto_decode_base64url) with `input` = `input`.
461
-
462
- **Author documentation**
463
-
464
- Decode canonical unpadded URL-safe base64, rejecting invalid characters and unused bits.
465
-
466
- <a id="symbol-GnuTlsCrypto.equal"></a>
467
-
468
- ### `GnuTlsCrypto.equal`
469
-
470
- [source](contracts.aug#L62)
471
-
472
- **Inputs**
473
-
474
- - `left` (`Bytes`) — required labeled input.
475
- - `right` (`Bytes`) — required labeled input.
476
-
477
- Returns: `bool`.
478
-
479
- Capabilities: [`Crypto.equal`](contracts.aug.md#symbol-Crypto.equal).
480
-
481
- **What it does**
482
-
483
- - Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
484
- - Return call [`_aug_crypto_equal`](contracts.aug.md#symbol-_aug_crypto_equal) with `left` = `left`; `right` = `right`.
485
-
486
- **Author documentation**
487
-
488
- Compare bytes without early exit on their contents. Length remains observable.
489
-
490
- <a id="symbol-GnuTlsCrypto.exportRsa"></a>
491
-
492
- ### `GnuTlsCrypto.exportRsa`
493
-
494
- [source](contracts.aug#L65)
495
-
496
- **Inputs**
497
-
498
- - `publicKey` (`RsaPublicKey`) — required labeled input.
499
-
500
- Returns: `Tuple<Bytes,Bytes>`.
501
-
502
- Capabilities: [`Crypto.exportRsa`](contracts.aug.md#symbol-Crypto.exportRsa).
503
-
504
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
505
-
506
- **What it does**
507
-
508
- - Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
509
- - Return call [`_aug_crypto_export_rsa`](contracts.aug.md#symbol-_aug_crypto_export_rsa) with `publicKey` = `publicKey`.
510
-
511
- **Author documentation**
512
-
513
- Export unsigned big-endian modulus and exponent for an RSA JWK.
514
-
515
- <a id="symbol-GnuTlsCrypto.importRsa"></a>
516
-
517
- ### `GnuTlsCrypto.importRsa`
518
-
519
- [source](contracts.aug#L68)
520
-
521
- **Inputs**
522
-
523
- - `modulus` (`Bytes`) — required labeled input.
524
- - `exponent` (`Bytes`) — required labeled input.
525
-
526
- Returns: `RsaPublicKey`.
527
-
528
- Capabilities: [`Crypto.importRsa`](contracts.aug.md#symbol-Crypto.importRsa).
529
-
530
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
531
-
532
- **What it does**
533
-
534
- - Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
535
- - Return call [`_aug_crypto_import_rsa`](contracts.aug.md#symbol-_aug_crypto_import_rsa) with `modulus` = `modulus`; `exponent` = `exponent`.
536
-
537
- **Author documentation**
538
-
539
- Import canonical public RSA parameters. Keys must have 2048 to 8192 bits.
540
-
541
- <a id="symbol-GnuTlsCrypto.passwordHash"></a>
542
-
543
- ### `GnuTlsCrypto.passwordHash`
544
-
545
- [source](contracts.aug#L71)
546
-
547
- **Inputs**
548
-
549
- - `password` (`Bytes`) — required labeled input.
550
- - `salt` (`Bytes`) — required labeled input.
551
- - `iterations` (`int`) — required labeled input.
552
-
553
- Returns: `Bytes`.
554
-
555
- Capabilities: [`Crypto.passwordHash`](contracts.aug.md#symbol-Crypto.passwordHash).
556
-
557
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
558
-
559
- **What it does**
560
-
561
- - Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
562
- - Return call [`_aug_crypto_password_hash`](contracts.aug.md#symbol-_aug_crypto_password_hash) with `password` = `password`; `salt` = `salt`; `iterations` = `iterations`.
563
-
564
- **Author documentation**
565
-
566
- PBKDF2-HMAC-SHA256, producing 32 bytes. Use a unique 16–64 byte salt; supported work factors are 100,000–2,000,000.
567
-
568
- <a id="symbol-_aug_crypto_random"></a>
569
-
570
- ## `_aug_crypto_random`
571
-
572
- [source](contracts.aug#L27)
573
-
574
- Private to its defining scope.
575
-
576
- **Inputs**
577
-
578
- - `size` (`int`) — required labeled input.
579
-
580
- Returns: `Bytes`.
581
-
582
- Capabilities: [`Crypto.random`](contracts.aug.md#symbol-Crypto.random).
583
-
584
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
585
-
586
- Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
587
-
588
- <a id="symbol-_aug_crypto_sha256"></a>
589
-
590
- ## `_aug_crypto_sha256`
591
-
592
- [source](contracts.aug#L28)
593
-
594
- Private to its defining scope.
595
-
596
- **Inputs**
597
-
598
- - `input` (`Bytes`) — required labeled input.
599
-
600
- Returns: `Bytes`.
601
-
602
- Capabilities: [`Crypto.sha256`](contracts.aug.md#symbol-Crypto.sha256).
603
-
604
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
605
-
606
- Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
607
-
608
- <a id="symbol-_aug_crypto_generate_rsa"></a>
609
-
610
- ## `_aug_crypto_generate_rsa`
611
-
612
- [source](contracts.aug#L29)
613
-
614
- Private to its defining scope.
615
-
616
- Returns: `RsaPrivateKey`.
617
-
618
- Capabilities: [`Crypto.generateRsa`](contracts.aug.md#symbol-Crypto.generateRsa).
619
-
620
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
621
-
622
- Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
623
-
624
- <a id="symbol-_aug_crypto_public_rsa"></a>
625
-
626
- ## `_aug_crypto_public_rsa`
627
-
628
- [source](contracts.aug#L30)
629
-
630
- Private to its defining scope.
631
-
632
- **Inputs**
633
-
634
- - `key` (`RsaPrivateKey`) — required labeled input.
635
-
636
- Returns: `RsaPublicKey`.
637
-
638
- Capabilities: [`Crypto.publicRsa`](contracts.aug.md#symbol-Crypto.publicRsa).
639
-
640
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
641
-
642
- Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
643
-
644
- <a id="symbol-_aug_crypto_sign_rsa"></a>
645
-
646
- ## `_aug_crypto_sign_rsa`
647
-
648
- [source](contracts.aug#L31)
649
-
650
- Private to its defining scope.
651
-
652
- **Inputs**
653
-
654
- - `key` (`RsaPrivateKey`) — required labeled input.
655
- - `input` (`Bytes`) — required labeled input.
656
-
657
- Returns: `Bytes`.
658
-
659
- Capabilities: [`Crypto.signRsa`](contracts.aug.md#symbol-Crypto.signRsa).
660
-
661
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
662
-
663
- Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
664
-
665
- <a id="symbol-_aug_crypto_verify_rsa"></a>
666
-
667
- ## `_aug_crypto_verify_rsa`
668
-
669
- [source](contracts.aug#L32)
670
-
671
- Private to its defining scope.
672
-
673
- **Inputs**
674
-
675
- - `publicKey` (`RsaPublicKey`) — required labeled input.
676
- - `input` (`Bytes`) — required labeled input.
677
- - `signature` (`Bytes`) — required labeled input.
678
-
679
- Returns: `bool`.
680
-
681
- Capabilities: [`Crypto.verifyRsa`](contracts.aug.md#symbol-Crypto.verifyRsa).
682
-
683
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
684
-
685
- Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
686
-
687
- <a id="symbol-_aug_crypto_decode_base64url"></a>
688
-
689
- ## `_aug_crypto_decode_base64url`
690
-
691
- [source](contracts.aug#L33)
692
-
693
- Private to its defining scope.
694
-
695
- **Inputs**
696
-
697
- - `input` (`string`) — required labeled input.
698
-
699
- Returns: `Bytes`.
700
-
701
- Capabilities: [`Crypto.decodeBase64url`](contracts.aug.md#symbol-Crypto.decodeBase64url).
702
-
703
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
704
-
705
- Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
706
-
707
- <a id="symbol-_aug_crypto_equal"></a>
708
-
709
- ## `_aug_crypto_equal`
710
-
711
- [source](contracts.aug#L34)
712
-
713
- Private to its defining scope.
714
-
715
- **Inputs**
716
-
717
- - `left` (`Bytes`) — required labeled input.
718
- - `right` (`Bytes`) — required labeled input.
719
-
720
- Returns: `bool`.
721
-
722
- Capabilities: [`Crypto.equal`](contracts.aug.md#symbol-Crypto.equal).
723
-
724
- Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
725
-
726
- <a id="symbol-_aug_crypto_export_rsa"></a>
727
-
728
- ## `_aug_crypto_export_rsa`
729
-
730
- [source](contracts.aug#L35)
731
-
732
- Private to its defining scope.
733
-
734
- **Inputs**
735
-
736
- - `publicKey` (`RsaPublicKey`) — required labeled input.
737
-
738
- Returns: `Tuple<Bytes,Bytes>`.
739
-
740
- Capabilities: [`Crypto.exportRsa`](contracts.aug.md#symbol-Crypto.exportRsa).
741
-
742
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
743
-
744
- Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
745
-
746
- <a id="symbol-_aug_crypto_import_rsa"></a>
747
-
748
- ## `_aug_crypto_import_rsa`
749
-
750
- [source](contracts.aug#L36)
751
-
752
- Private to its defining scope.
753
-
754
- **Inputs**
755
-
756
- - `modulus` (`Bytes`) — required labeled input.
757
- - `exponent` (`Bytes`) — required labeled input.
758
-
759
- Returns: `RsaPublicKey`.
760
-
761
- Capabilities: [`Crypto.importRsa`](contracts.aug.md#symbol-Crypto.importRsa).
762
-
763
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
764
-
765
- Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
766
-
767
- <a id="symbol-_aug_crypto_password_hash"></a>
768
-
769
- ## `_aug_crypto_password_hash`
770
-
771
- [source](contracts.aug#L37)
772
-
773
- Private to its defining scope.
774
-
775
- **Inputs**
776
-
777
- - `password` (`Bytes`) — required labeled input.
778
- - `salt` (`Bytes`) — required labeled input.
779
- - `iterations` (`int`) — required labeled input.
780
-
781
- Returns: `Bytes`.
782
-
783
- Capabilities: [`Crypto.passwordHash`](contracts.aug.md#symbol-Crypto.passwordHash).
784
-
785
- Can fail with `CryptoError`. Callers must catch or propagate these errors.
786
-
787
- Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
788
-
789
- ## Shared language rules
790
-
791
- See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.