@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.
- package/README.md +9 -6
- package/THIRD_PARTY_NOTICES.md +4 -0
- package/bin/aug.mjs +12 -2
- package/docs/about.md +27 -0
- package/docs/api/crypto.md +103 -69
- package/docs/api/io.md +35 -33
- package/docs/api/json.md +3 -3
- package/docs/api/memory.md +23 -19
- package/docs/api/time.md +10 -9
- package/docs/api/web.md +33 -38
- package/docs/assets/benchmarks/execution.svg +774 -637
- package/docs/assets/benchmarks/http.svg +278 -249
- package/docs/assets/benchmarks/improvements.svg +66 -66
- package/docs/assets/benchmarks/kernels-mobile.svg +1 -0
- package/docs/assets/benchmarks/kernels.svg +1 -0
- package/docs/assets/benchmarks/memory.svg +153 -153
- package/docs/benchmark-results.json +227089 -90363
- package/docs/compatibility.md +8 -8
- package/docs/contributing-benchmarks.md +68 -0
- package/docs/dev-containers.md +88 -0
- package/docs/dgx-consumers.json +122 -0
- package/docs/dgx-gyms.json +784 -0
- package/docs/dgx-kernels.json +1170 -0
- package/docs/dgx-performance.json +227849 -0
- package/docs/dgx-spark.md +64 -0
- package/docs/diagnostics.md +15 -5
- package/docs/docker.md +173 -12
- package/docs/editor.md +35 -0
- package/docs/example-projects.json +238 -24
- package/docs/examples/approved-design/counters.md +34 -126
- package/docs/examples/approved-design/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/approved-design/domain/app.md +13 -77
- package/docs/examples/approved-design/domain/export.md +5 -19
- package/docs/examples/approved-design/domain/models.md +4 -23
- package/docs/examples/approved-design/domain/numbers.md +24 -114
- package/docs/examples/approved-design/index.md +16 -7
- package/docs/examples/approved-design/main.md +19 -96
- package/docs/examples/benchmark/index.md +6 -5
- package/docs/examples/benchmark/main.md +7 -35
- package/docs/examples/calls-benchmark/index.md +36 -0
- package/docs/examples/calls-benchmark/main.md +78 -0
- package/docs/examples/calls-benchmark/operations.md +60 -0
- package/docs/examples/cli-args/index.md +6 -5
- package/docs/examples/cli-args/main.md +6 -31
- package/docs/examples/collections/index.md +6 -5
- package/docs/examples/collections/main.md +7 -35
- package/docs/examples/collections-benchmark/index.md +6 -5
- package/docs/examples/collections-benchmark/main.md +7 -35
- package/docs/examples/cpu-benchmark/index.md +6 -5
- package/docs/examples/cpu-benchmark/main.md +5 -24
- package/docs/examples/developer-workflow/calculator.md +39 -186
- package/docs/examples/developer-workflow/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/developer-workflow/index.md +16 -7
- package/docs/examples/developer-workflow/logging/console.md +10 -56
- package/docs/examples/developer-workflow/logging/export.md +4 -14
- package/docs/examples/developer-workflow/logging/logger.md +7 -43
- package/docs/examples/developer-workflow/main.md +17 -69
- package/docs/examples/drop/index.md +6 -5
- package/docs/examples/drop/main.md +7 -27
- package/docs/examples/drop/resource.md +7 -30
- package/docs/examples/errors/errors.md +7 -27
- package/docs/examples/errors/index.md +6 -5
- package/docs/examples/errors/main.md +7 -28
- package/docs/examples/errors-benchmark/index.md +36 -0
- package/docs/examples/errors-benchmark/main.md +92 -0
- package/docs/examples/errors-benchmark/operations.md +65 -0
- package/docs/examples/ffi/index.md +6 -5
- package/docs/examples/ffi/main.md +6 -20
- package/docs/examples/ffi/native.md +8 -34
- package/docs/examples/float-benchmark/index.md +35 -0
- package/docs/examples/float-benchmark/main.md +75 -0
- package/docs/examples/generic-di/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/generic-di/index.md +6 -5
- package/docs/examples/generic-di/main.md +9 -39
- package/docs/examples/generic-di/types.md +23 -92
- package/docs/examples/generics/index.md +6 -5
- package/docs/examples/generics/main.md +10 -47
- package/docs/examples/generics/types.md +25 -100
- package/docs/examples/hello/app/export.md +4 -12
- package/docs/examples/hello/app/greeter.md +13 -91
- package/docs/examples/hello/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/hello/index.md +17 -6
- package/docs/examples/hello/logging/console.md +10 -54
- package/docs/examples/hello/logging/export.md +4 -14
- package/docs/examples/hello/logging/logger.md +7 -45
- package/docs/examples/hello/main.md +9 -39
- package/docs/examples/http-benchmark/index.md +6 -5
- package/docs/examples/http-benchmark/main.md +6 -20
- package/docs/examples/http-benchmark/routes.md +9 -31
- package/docs/examples/index.md +63 -29
- package/docs/examples/interceptors/app.md +20 -139
- package/docs/examples/interceptors/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/interceptors/index.md +6 -5
- package/docs/examples/interceptors/interceptors.md +24 -148
- package/docs/examples/interceptors/logging.md +13 -76
- package/docs/examples/interceptors/main.md +10 -65
- package/docs/examples/json-benchmark/data.md +4 -20
- package/docs/examples/json-benchmark/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
- package/docs/examples/json-benchmark/index.md +7 -5
- package/docs/examples/json-benchmark/main-yaml.md +20 -0
- package/docs/examples/json-benchmark/main.md +10 -49
- package/docs/examples/list-benchmark/index.md +35 -0
- package/docs/examples/list-benchmark/main.md +78 -0
- package/docs/examples/map-churn-benchmark/index.md +35 -0
- package/docs/examples/map-churn-benchmark/main.md +106 -0
- package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/api.md +104 -0
- package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.md +54 -0
- package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/native.abi-json.md +48 -0
- package/docs/examples/native-blake3/hashing.md +93 -0
- package/docs/examples/native-blake3/index.md +38 -0
- package/docs/examples/native-blake3/main.md +73 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/api.md +406 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.md +51 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.md +63 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/native.abi-json.md +161 -0
- package/docs/examples/native-pytorch/index.md +38 -0
- package/docs/examples/native-pytorch/main.md +73 -0
- package/docs/examples/native-pytorch/tensors.md +123 -0
- package/docs/examples/native-sqlite/database.md +116 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/api.md +284 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.md +51 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.md +75 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/native.abi-json.md +119 -0
- package/docs/examples/native-sqlite/index.md +38 -0
- package/docs/examples/native-sqlite/main.md +73 -0
- package/docs/examples/native-zlib/compression.md +99 -0
- package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/api.md +153 -0
- package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.md +54 -0
- package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/native.abi-json.md +76 -0
- package/docs/examples/native-zlib/index.md +38 -0
- package/docs/examples/native-zlib/main.md +78 -0
- package/docs/examples/new-syntax/console.md +10 -52
- package/docs/examples/new-syntax/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/new-syntax/greeter.md +13 -71
- package/docs/examples/new-syntax/index.md +6 -5
- package/docs/examples/new-syntax/logger.md +7 -43
- package/docs/examples/new-syntax/main.md +10 -53
- package/docs/examples/new-syntax/math.md +6 -24
- package/docs/examples/oidc-login/client/contracts.md +10 -61
- package/docs/examples/oidc-login/client/endpoints.md +32 -154
- package/docs/examples/oidc-login/client/export.md +5 -23
- package/docs/examples/oidc-login/client/login.md +234 -344
- package/docs/examples/oidc-login/client/logout.md +38 -143
- package/docs/examples/oidc-login/client/protocol.md +183 -304
- package/docs/examples/oidc-login/client/session.md +41 -149
- package/docs/examples/oidc-login/client/views.md +13 -58
- package/docs/examples/oidc-login/common/export.md +6 -26
- package/docs/examples/oidc-login/common/headers.md +42 -72
- package/docs/examples/oidc-login/common/keys.md +40 -164
- package/docs/examples/oidc-login/common/settings.md +24 -40
- package/docs/examples/oidc-login/common/views.md +7 -28
- package/docs/examples/oidc-login/dependencies/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.md +205 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +267 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.md +415 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.md +271 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +89 -0
- package/docs/examples/oidc-login/index.md +8 -7
- package/docs/examples/oidc-login/main-yaml.md +7 -0
- package/docs/examples/oidc-login/main.md +26 -153
- package/docs/examples/oidc-login/provider/authorization.md +232 -275
- package/docs/examples/oidc-login/provider/contracts.md +24 -146
- package/docs/examples/oidc-login/provider/credentials.md +24 -57
- package/docs/examples/oidc-login/provider/discovery.md +48 -122
- package/docs/examples/oidc-login/provider/export.md +11 -37
- package/docs/examples/oidc-login/provider/token.md +159 -237
- package/docs/examples/oidc-login/provider/userinfo.md +47 -102
- package/docs/examples/oidc-login/provider/views.md +13 -53
- package/docs/examples/ownership/counter.md +17 -63
- package/docs/examples/ownership/index.md +6 -5
- package/docs/examples/ownership/main.md +7 -30
- package/docs/examples/ownership-transfer/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/ownership-transfer/index.md +6 -5
- package/docs/examples/ownership-transfer/main.md +10 -52
- package/docs/examples/ownership-transfer/resource.md +15 -67
- package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +12 -50
- package/docs/examples/packages-app/index.md +7 -6
- package/docs/examples/packages-app/main.md +7 -25
- package/docs/examples/packages-math/aug-package-json.md +1 -1
- package/docs/examples/packages-math/index.md +7 -6
- package/docs/examples/packages-math/src/arithmetic.md +12 -50
- package/docs/examples/packages-math/src/export.md +4 -12
- package/docs/examples/records-benchmark/data.md +55 -0
- package/docs/examples/records-benchmark/index.md +36 -0
- package/docs/examples/records-benchmark/main.md +85 -0
- package/docs/examples/startup-benchmark/index.md +6 -5
- package/docs/examples/startup-benchmark/main.md +5 -17
- package/docs/examples/strings-benchmark/index.md +35 -0
- package/docs/examples/strings-benchmark/main.md +76 -0
- package/docs/examples/tasks-benchmark/index.md +36 -0
- package/docs/examples/tasks-benchmark/main.md +89 -0
- package/docs/examples/tasks-benchmark/operations.md +58 -0
- package/docs/examples/visibility/counter.md +19 -67
- package/docs/examples/visibility/index.md +6 -5
- package/docs/examples/visibility/main.md +7 -31
- package/docs/examples/weather-api/forecasts.md +168 -0
- package/docs/examples/weather-api/index.md +42 -0
- package/docs/examples/weather-api/main-yaml.md +21 -0
- package/docs/examples/weather-api/main.md +65 -0
- package/docs/examples.json +10 -0
- package/docs/getting-started.md +105 -2
- package/docs/grammar.md +7 -5
- package/docs/guides/change-a-module.md +64 -0
- package/docs/guides/index.md +27 -0
- package/docs/gym-results.json +784 -0
- package/docs/implementation-map.md +6 -0
- package/docs/index.md +51 -29
- package/docs/kernel-results.json +1170 -0
- package/docs/language-conformance.md +7 -1
- package/docs/language-constructs.md +30 -22
- package/docs/language-design-audit.md +1 -1
- package/docs/learn/data-and-errors.md +77 -0
- package/docs/learn/index.md +30 -0
- package/docs/learn/modules-and-dependencies.md +73 -0
- package/docs/learn/state-and-tests.md +71 -0
- package/docs/learn/values-and-functions.md +62 -0
- package/docs/lesson-failures.json +8 -0
- package/docs/maintaining-docs.md +16 -4
- package/docs/native-implementation.md +276 -0
- package/docs/native-interop-llvm-plan.md +342 -0
- package/docs/native-package-examples.md +684 -0
- package/docs/native-packages.md +179 -0
- package/docs/packages.md +72 -126
- package/docs/performance.md +61 -68
- package/docs/production-readiness.md +16 -5
- package/docs/public/downloads/approved-design.zip +0 -0
- package/docs/public/downloads/benchmark.zip +0 -0
- package/docs/public/downloads/calls-benchmark.zip +0 -0
- package/docs/public/downloads/cli-args.zip +0 -0
- package/docs/public/downloads/collections-benchmark.zip +0 -0
- package/docs/public/downloads/collections.zip +0 -0
- package/docs/public/downloads/cpu-benchmark.zip +0 -0
- package/docs/public/downloads/developer-workflow.zip +0 -0
- package/docs/public/downloads/drop.zip +0 -0
- package/docs/public/downloads/errors-benchmark.zip +0 -0
- package/docs/public/downloads/errors.zip +0 -0
- package/docs/public/downloads/ffi.zip +0 -0
- package/docs/public/downloads/float-benchmark.zip +0 -0
- package/docs/public/downloads/generic-di.zip +0 -0
- package/docs/public/downloads/generics.zip +0 -0
- package/docs/public/downloads/hello.zip +0 -0
- package/docs/public/downloads/http-benchmark.zip +0 -0
- package/docs/public/downloads/interceptors.zip +0 -0
- package/docs/public/downloads/json-benchmark.zip +0 -0
- package/docs/public/downloads/list-benchmark.zip +0 -0
- package/docs/public/downloads/map-churn-benchmark.zip +0 -0
- package/docs/public/downloads/native-blake3.zip +0 -0
- package/docs/public/downloads/native-pytorch.zip +0 -0
- package/docs/public/downloads/native-sqlite.zip +0 -0
- package/docs/public/downloads/native-zlib.zip +0 -0
- package/docs/public/downloads/new-syntax.zip +0 -0
- package/docs/public/downloads/oidc-login.zip +0 -0
- package/docs/public/downloads/ownership-transfer.zip +0 -0
- package/docs/public/downloads/ownership.zip +0 -0
- package/docs/public/downloads/packages-app.zip +0 -0
- package/docs/public/downloads/packages-math.zip +0 -0
- package/docs/public/downloads/records-benchmark.zip +0 -0
- package/docs/public/downloads/startup-benchmark.zip +0 -0
- package/docs/public/downloads/strings-benchmark.zip +0 -0
- package/docs/public/downloads/tasks-benchmark.zip +0 -0
- package/docs/public/downloads/visibility.zip +0 -0
- package/docs/public/downloads/weather-api.zip +0 -0
- package/docs/qualification-results.md +66 -0
- package/docs/reference.md +47 -17
- package/docs/releasing.md +105 -16
- package/docs/research/code-to-natural-language.md +108 -0
- package/docs/research/ecosystem-workflow.md +41 -0
- package/docs/research/libtorch-native-qualification.md +115 -0
- package/docs/research/native-interop-llvm.md +197 -0
- package/docs/research/qualification-methods.md +15 -0
- package/docs/research/wiki-editorial-design.md +71 -0
- package/docs/roadmap.md +2 -1
- package/docs/safety-gyms.md +41 -0
- package/docs/specifications.md +27 -11
- package/docs/testing.md +19 -5
- package/docs/tooling.md +36 -22
- package/docs/weather-api.md +65 -0
- package/docs/web-library-gaps.md +1 -1
- package/docs/web.md +54 -18
- package/docs/writing-docs.md +49 -0
- package/examples/{hello/.aug-spec/august/0.19.0 → approved-design/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/approved-design/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/approved-design/.aug-spec/manifest.json +3 -3
- package/examples/approved-design/counters.aug +5 -4
- package/examples/approved-design/counters.aug.md +25 -132
- package/examples/approved-design/domain/app.aug +2 -1
- package/examples/approved-design/domain/app.aug.md +10 -80
- package/examples/approved-design/domain/export.aug +1 -0
- package/examples/approved-design/domain/export.aug.md +4 -20
- package/examples/approved-design/domain/models.aug +1 -0
- package/examples/approved-design/domain/models.aug.md +3 -25
- package/examples/approved-design/domain/numbers.aug +3 -2
- package/examples/approved-design/domain/numbers.aug.md +19 -116
- package/examples/approved-design/main.aug +1 -0
- package/examples/approved-design/main.aug.md +12 -95
- package/examples/benchmark/.aug-spec/manifest.json +1 -1
- package/examples/benchmark/main.aug +1 -0
- package/examples/benchmark/main.aug.md +6 -36
- package/examples/cli-args/.aug-spec/manifest.json +1 -1
- package/examples/cli-args/main.aug +1 -0
- package/examples/cli-args/main.aug.md +5 -32
- package/examples/collections/.aug-spec/manifest.json +1 -1
- package/examples/collections/main.aug +1 -0
- package/examples/collections/main.aug.md +6 -36
- package/examples/{generic-di/.aug-spec/august/0.19.0 → developer-workflow/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/developer-workflow/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/developer-workflow/.aug-spec/manifest.json +3 -3
- package/examples/developer-workflow/calculator.aug +3 -2
- package/examples/developer-workflow/calculator.aug.md +28 -189
- package/examples/developer-workflow/logging/console.aug +2 -1
- package/examples/developer-workflow/logging/console.aug.md +7 -57
- package/examples/developer-workflow/logging/export.aug +1 -0
- package/examples/developer-workflow/logging/export.aug.md +3 -15
- package/examples/developer-workflow/logging/logger.aug +1 -0
- package/examples/developer-workflow/logging/logger.aug.md +6 -46
- package/examples/developer-workflow/main.aug +1 -0
- package/examples/developer-workflow/main.aug.md +10 -68
- package/examples/drop/.aug-spec/manifest.json +1 -1
- package/examples/drop/main.aug +1 -0
- package/examples/drop/main.aug.md +6 -28
- package/examples/drop/resource.aug +1 -0
- package/examples/drop/resource.aug.md +6 -34
- package/examples/errors/.aug-spec/manifest.json +1 -1
- package/examples/errors/errors.aug +2 -1
- package/examples/errors/errors.aug.md +4 -27
- package/examples/errors/main.aug +1 -0
- package/examples/errors/main.aug.md +6 -29
- package/examples/ffi/.aug-spec/manifest.json +1 -1
- package/examples/ffi/main.aug +1 -0
- package/examples/ffi/main.aug.md +5 -21
- package/examples/ffi/native.aug +2 -1
- package/examples/ffi/native.aug.md +5 -35
- package/examples/{approved-design/.aug-spec/august/0.19.0 → generic-di/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/generic-di/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/generic-di/.aug-spec/manifest.json +3 -3
- package/examples/generic-di/main.aug +1 -0
- package/examples/generic-di/main.aug.md +8 -40
- package/examples/generic-di/types.aug +3 -2
- package/examples/generic-di/types.aug.md +18 -97
- package/examples/generics/.aug-spec/manifest.json +1 -1
- package/examples/generics/main.aug +1 -0
- package/examples/generics/main.aug.md +9 -48
- package/examples/generics/types.aug +4 -3
- package/examples/generics/types.aug.md +18 -104
- package/examples/{developer-workflow/.aug-spec/august/0.19.0 → hello/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/hello/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/hello/.aug-spec/manifest.json +3 -3
- package/examples/hello/app/export.aug +1 -0
- package/examples/hello/app/export.aug.md +3 -13
- package/examples/hello/app/greeter.aug +2 -1
- package/examples/hello/app/greeter.aug.md +10 -94
- package/examples/hello/logging/console.aug +2 -1
- package/examples/hello/logging/console.aug.md +7 -55
- package/examples/hello/logging/export.aug +1 -0
- package/examples/hello/logging/export.aug.md +3 -15
- package/examples/hello/logging/logger.aug +1 -0
- package/examples/hello/logging/logger.aug.md +6 -48
- package/examples/hello/main.aug +1 -0
- package/examples/hello/main.aug.md +8 -40
- package/examples/interceptors/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
- package/examples/interceptors/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/interceptors/.aug-spec/manifest.json +3 -3
- package/examples/interceptors/app.aug +3 -2
- package/examples/interceptors/app.aug.md +15 -141
- package/examples/interceptors/interceptors.aug +3 -2
- package/examples/interceptors/interceptors.aug.md +19 -152
- package/examples/interceptors/logging.aug +2 -1
- package/examples/interceptors/logging.aug.md +10 -79
- package/examples/interceptors/main.aug +1 -0
- package/examples/interceptors/main.aug.md +9 -66
- package/examples/native-blake3/.aug-spec/manifest.json +16 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.1/native.abi.json +29 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/api.aug +14 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/api.aug.md +34 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.aug +4 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.aug.md +8 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/native.abi.json +29 -0
- package/examples/native-blake3/AGENTS.md +5 -0
- package/examples/native-blake3/aug.lock.json +253 -0
- package/examples/native-blake3/hashing.aug +11 -0
- package/examples/native-blake3/hashing.aug.md +25 -0
- package/examples/native-blake3/main.aug +8 -0
- package/examples/native-blake3/main.aug.md +13 -0
- package/examples/native-pytorch/.aug-spec/manifest.json +18 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.1/native.abi.json +142 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.3/native.abi.json +142 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/api.aug +101 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/api.aug.md +160 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.aug +3 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.aug.md +8 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.aug +6 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.aug.md +13 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/native.abi.json +142 -0
- package/examples/native-pytorch/AGENTS.md +5 -0
- package/examples/native-pytorch/aug.lock.json +309 -0
- package/examples/native-pytorch/main.aug +8 -0
- package/examples/native-pytorch/main.aug.md +13 -0
- package/examples/native-pytorch/tensors.aug +23 -0
- package/examples/native-pytorch/tensors.aug.md +35 -0
- package/examples/native-sqlite/.aug-spec/manifest.json +18 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.2/native.abi.json +100 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/api.aug +48 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/api.aug.md +91 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.aug +3 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.aug.md +8 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.aug +8 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.aug.md +22 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/native.abi.json +100 -0
- package/examples/native-sqlite/AGENTS.md +5 -0
- package/examples/native-sqlite/aug.lock.json +236 -0
- package/examples/native-sqlite/database.aug +15 -0
- package/examples/native-sqlite/database.aug.md +27 -0
- package/examples/native-sqlite/main.aug +8 -0
- package/examples/native-sqlite/main.aug.md +13 -0
- package/examples/native-zlib/.aug-spec/manifest.json +16 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.1/native.abi.json +57 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/api.aug +29 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/api.aug.md +54 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.aug +4 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.aug.md +8 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/native.abi.json +57 -0
- package/examples/native-zlib/AGENTS.md +5 -0
- package/examples/native-zlib/aug.lock.json +236 -0
- package/examples/native-zlib/compression.aug +15 -0
- package/examples/native-zlib/compression.aug.md +27 -0
- package/examples/native-zlib/main.aug +10 -0
- package/examples/native-zlib/main.aug.md +13 -0
- package/examples/new-syntax/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
- package/examples/new-syntax/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/new-syntax/.aug-spec/manifest.json +3 -3
- package/examples/new-syntax/console.aug +2 -1
- package/examples/new-syntax/console.aug.md +7 -53
- package/examples/new-syntax/greeter.aug +2 -1
- package/examples/new-syntax/greeter.aug.md +10 -74
- package/examples/new-syntax/logger.aug +1 -0
- package/examples/new-syntax/logger.aug.md +6 -46
- package/examples/new-syntax/main.aug +1 -0
- package/examples/new-syntax/main.aug.md +9 -54
- package/examples/new-syntax/math.aug +2 -1
- package/examples/new-syntax/math.aug.md +3 -24
- package/examples/oidc-login/.aug-spec/manifest.json +13 -13
- package/examples/oidc-login/.aug-spec/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.aug.md +71 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +17 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +125 -0
- package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/contracts.aug +12 -11
- package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.aug.md +244 -0
- package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/jose.aug +6 -5
- package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.aug.md +71 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +30 -0
- package/examples/oidc-login/aug.lock.json +100 -0
- package/examples/oidc-login/client/contracts.aug +1 -0
- package/examples/oidc-login/client/contracts.aug.md +9 -66
- package/examples/oidc-login/client/endpoints.aug +6 -5
- package/examples/oidc-login/client/endpoints.aug.md +13 -145
- package/examples/oidc-login/client/export.aug +1 -0
- package/examples/oidc-login/client/export.aug.md +4 -24
- package/examples/oidc-login/client/login.aug +7 -6
- package/examples/oidc-login/client/login.aug.md +25 -303
- package/examples/oidc-login/client/logout.aug +5 -4
- package/examples/oidc-login/client/logout.aug.md +13 -135
- package/examples/oidc-login/client/protocol.aug +7 -6
- package/examples/oidc-login/client/protocol.aug.md +36 -283
- package/examples/oidc-login/client/session.aug +5 -4
- package/examples/oidc-login/client/session.aug.md +12 -139
- package/examples/oidc-login/client/views.aug +3 -2
- package/examples/oidc-login/client/views.aug.md +8 -57
- package/examples/oidc-login/common/export.aug +1 -0
- package/examples/oidc-login/common/export.aug.md +5 -27
- package/examples/oidc-login/common/headers.aug +4 -3
- package/examples/oidc-login/common/headers.aug.md +9 -67
- package/examples/oidc-login/common/keys.aug +6 -5
- package/examples/oidc-login/common/keys.aug.md +29 -165
- package/examples/oidc-login/common/settings.aug +2 -1
- package/examples/oidc-login/common/settings.aug.md +5 -39
- package/examples/oidc-login/common/views.aug +2 -1
- package/examples/oidc-login/common/views.aug.md +4 -28
- package/examples/oidc-login/main.aug +6 -16
- package/examples/oidc-login/main.aug.md +17 -146
- package/examples/oidc-login/main.yaml +7 -0
- package/examples/oidc-login/provider/authorization.aug +7 -6
- package/examples/oidc-login/provider/authorization.aug.md +23 -238
- package/examples/oidc-login/provider/contracts.aug +1 -0
- package/examples/oidc-login/provider/contracts.aug.md +23 -158
- package/examples/oidc-login/provider/credentials.aug +3 -2
- package/examples/oidc-login/provider/credentials.aug.md +9 -53
- package/examples/oidc-login/provider/discovery.aug +4 -3
- package/examples/oidc-login/provider/discovery.aug.md +11 -118
- package/examples/oidc-login/provider/export.aug +1 -0
- package/examples/oidc-login/provider/export.aug.md +6 -34
- package/examples/oidc-login/provider/token.aug +6 -5
- package/examples/oidc-login/provider/token.aug.md +16 -204
- package/examples/oidc-login/provider/userinfo.aug +4 -3
- package/examples/oidc-login/provider/userinfo.aug.md +10 -92
- package/examples/oidc-login/provider/views.aug +3 -2
- package/examples/oidc-login/provider/views.aug.md +8 -52
- package/examples/ownership/.aug-spec/manifest.json +1 -1
- package/examples/ownership/counter.aug +3 -2
- package/examples/ownership/counter.aug.md +12 -66
- package/examples/ownership/main.aug +1 -0
- package/examples/ownership/main.aug.md +6 -31
- package/examples/ownership-transfer/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
- package/examples/ownership-transfer/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/ownership-transfer/.aug-spec/manifest.json +3 -3
- package/examples/ownership-transfer/main.aug +1 -0
- package/examples/ownership-transfer/main.aug.md +9 -53
- package/examples/ownership-transfer/resource.aug +2 -1
- package/examples/ownership-transfer/resource.aug.md +12 -71
- package/examples/packages/app/.aug-spec/manifest.json +1 -1
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +2 -1
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +9 -51
- package/examples/packages/app/main.aug +1 -0
- package/examples/packages/app/main.aug.md +6 -26
- package/examples/packages/math/.aug-spec/manifest.json +1 -1
- package/examples/packages/math/aug-package.json +1 -1
- package/examples/packages/math/src/arithmetic.aug +2 -1
- package/examples/packages/math/src/arithmetic.aug.md +9 -51
- package/examples/packages/math/src/export.aug +1 -0
- package/examples/packages/math/src/export.aug.md +3 -13
- package/examples/visibility/.aug-spec/manifest.json +1 -1
- package/examples/visibility/counter.aug +4 -3
- package/examples/visibility/counter.aug.md +12 -68
- package/examples/visibility/main.aug +1 -0
- package/examples/visibility/main.aug.md +6 -32
- package/examples/weather-api/.aug-spec/manifest.json +8 -0
- package/examples/weather-api/AGENTS.md +17 -0
- package/examples/weather-api/README.md +19 -0
- package/examples/weather-api/forecasts.aug +47 -0
- package/examples/weather-api/forecasts.aug.md +32 -0
- package/examples/weather-api/main.aug +4 -0
- package/examples/weather-api/main.aug.md +15 -0
- package/examples/weather-api/main.yaml +5 -0
- package/examples/weather-api/weather.http +5 -0
- package/native/compiler-packs.json +43 -0
- package/package.json +4 -4
- package/runtime/aug_http.c +48 -21
- package/runtime/aug_http_ir.c +30 -0
- package/runtime/aug_http_ir.h +18 -0
- package/runtime/aug_ir.c +209 -0
- package/runtime/aug_ir.h +89 -0
- package/runtime/aug_json.c +6 -1
- package/runtime/aug_runtime.c +82 -16
- package/runtime/aug_runtime.h +16 -2
- package/runtime/aug_tasks.c +38 -7
- package/runtime/aug_values.c +12 -6
- package/scripts/bootstrap-native.mjs +184 -106
- package/scripts/native-setup.mjs +98 -0
- package/scripts/native-toolchain.mjs +28 -0
- package/src/ast.js +1 -1
- package/src/builtins.js +1 -1
- package/src/checker.js +369 -100
- package/src/cli.js +198 -26
- package/src/codegen.js +32 -7
- package/src/compiler-packs.js +66 -0
- package/src/config.js +3 -3
- package/src/contracts.js +10 -0
- package/src/editor.js +86 -22
- package/src/fixes.js +90 -2
- package/src/formatter.js +23 -10
- package/src/git-http.js +137 -0
- package/src/git-packages.js +118 -0
- package/src/help.js +33 -24
- package/src/http-contracts.js +14 -0
- package/src/http-policies.js +5 -5
- package/src/ir-types.js +5 -0
- package/src/ir-verify.js +277 -0
- package/src/ir.js +962 -0
- package/src/libraries.js +1 -1
- package/src/llvm-debug.js +101 -0
- package/src/llvm-native.js +152 -0
- package/src/llvm-platform.js +20 -0
- package/src/llvm.js +781 -0
- package/src/lsp.js +14 -5
- package/src/native-artifacts.js +207 -0
- package/src/native-bindings.js +189 -0
- package/src/native-contracts.js +295 -0
- package/src/native-declarations.js +68 -0
- package/src/native-facts.js +63 -0
- package/src/native.js +19 -13
- package/src/navigation.js +4 -2
- package/src/openapi.js +5 -4
- package/src/package-locking.js +88 -0
- package/src/package-manager.js +267 -68
- package/src/parser.js +32 -6
- package/src/policies.js +3 -3
- package/src/project-init.js +78 -4
- package/src/project.js +11 -9
- package/src/runtime-abi.js +23 -0
- package/src/runtime-adapters.js +18 -0
- package/src/schemas.js +24 -17
- package/src/semantic.js +54 -5
- package/src/snippets.js +60 -0
- package/src/spec-hints.js +56 -0
- package/src/spec-tree.js +241 -0
- package/src/spec.js +669 -305
- package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +0 -103
- package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +0 -925
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +0 -434
- package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +0 -103
- package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +0 -374
- package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +0 -150
- package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +0 -532
- package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +0 -791
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +0 -266
- package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +0 -55
- package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +0 -250
- package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +0 -96
- package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +0 -420
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/memory → packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/store.aug +0 -0
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/json → packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/web → packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
- /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,532 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "august/0.19.0/web/contracts.aug · OpenID Connect login application"
|
|
3
|
-
generated: true
|
|
4
|
-
source: "examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug"
|
|
5
|
-
editLink: false
|
|
6
|
-
prev: false
|
|
7
|
-
next: false
|
|
8
|
-
outline: [2, 3]
|
|
9
|
-
search: false
|
|
10
|
-
pageClass: aug-example-page
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# `august/0.19.0/web/contracts.aug`
|
|
14
|
-
|
|
15
|
-
[OpenID Connect login application](../../../../index.md) · Dependency source and specification
|
|
16
|
-
|
|
17
|
-
This is the exact dependency version used by this example.
|
|
18
|
-
|
|
19
|
-
::::: example-compare
|
|
20
|
-
|
|
21
|
-
:::: example-code
|
|
22
|
-
|
|
23
|
-
## Code {#code}
|
|
24
|
-
|
|
25
|
-
::: code-group
|
|
26
|
-
|
|
27
|
-
```aug [Indentation]
|
|
28
|
-
/** Immutable identity returned by an explicitly injected authentication adapter. */
|
|
29
|
-
record Principal(string subject, List<string> permissions)
|
|
30
|
-
/** Verify the request's credentials. null means unauthenticated; adapter failures raise HttpError. */
|
|
31
|
-
capability Authentication:
|
|
32
|
-
authenticate(HttpRequest request) returns optional Principal uses Authentication.authenticate unless HttpError
|
|
33
|
-
/** Decide whether a verified identity has one named permission. */
|
|
34
|
-
capability Authorization:
|
|
35
|
-
authorize(Principal identity, string permission) returns bool uses Authorization.authorize unless HttpError
|
|
36
|
-
/** Observe a completed HTTP exchange, including failures and disconnects. */
|
|
37
|
-
capability RequestLogger:
|
|
38
|
-
complete(string method, string path, int status, int milliseconds) uses RequestLogger.complete
|
|
39
|
-
extern C value _aug_http_log(string method, string path, int status, int milliseconds) uses RequestLogger.complete
|
|
40
|
-
/** Emit escaped JSON request metadata to standard error. Credentials and query strings are excluded. */
|
|
41
|
-
WebRequestLogger() implements RequestLogger:
|
|
42
|
-
complete(string method, string path, int status, int milliseconds):
|
|
43
|
-
unsafe:
|
|
44
|
-
_aug_http_log(method, path, status, milliseconds)
|
|
45
|
-
/** An explicit outbound network capability. TLS verifies the peer and redirects are returned to the caller. */
|
|
46
|
-
capability HttpClient:
|
|
47
|
-
/** Perform an HTTP request with bounded bytes. Inside a task, waiting suspends the task's C stack. */
|
|
48
|
-
request(string method, string url, optional Headers headers, optional Bytes body) returns HttpResponse<Bytes> uses HttpClient.request unless HttpError
|
|
49
|
-
extern C value _aug_http_request(string method, string url, optional Headers headers, optional Bytes body) returns HttpResponse<Bytes> uses HttpClient.request unless HttpError
|
|
50
|
-
/** Native libwebsockets transport. No socket is opened by construction. */
|
|
51
|
-
WebHttpClient() implements HttpClient:
|
|
52
|
-
request(string method, string url, optional Headers headers, optional Bytes body) returns HttpResponse<Bytes> unless HttpError:
|
|
53
|
-
unsafe:
|
|
54
|
-
return _aug_http_request(method=method, url=url, headers=headers, body=body)
|
|
55
|
-
/** Return a redirect with an explicit status. Location is checked as a header value. */
|
|
56
|
-
redirect(string location, optional int status) returns HttpResponse<string> unless HttpError:
|
|
57
|
-
code = 303
|
|
58
|
-
match status:
|
|
59
|
-
when null:
|
|
60
|
-
pass
|
|
61
|
-
when some value:
|
|
62
|
-
code = value
|
|
63
|
-
headers = Headers().with(name="location", value=location)
|
|
64
|
-
return HttpResponse(body="", status=code, headers=headers)
|
|
65
|
-
extern C value pure _aug_http_url_encode(string input) returns string unless HttpError
|
|
66
|
-
/** Encode a UTF-8 value as one URL query or form component using RFC 3986 unreserved characters. */
|
|
67
|
-
urlEncode(string input) returns string unless HttpError:
|
|
68
|
-
unsafe:
|
|
69
|
-
return _aug_http_url_encode(input)
|
|
70
|
-
extern C value pure _aug_http_cookie(string name, string value, string path, int maxAge, bool secure) returns Headers unless HttpError
|
|
71
|
-
/** Construct an HttpOnly, SameSite=Lax session cookie. Secure defaults are chosen explicitly at the call site. Values and paths reject delimiters and controls. maxAge=0 clears the cookie. */
|
|
72
|
-
cookie(string name, string value, string path, int maxAge, bool secure) returns Headers unless HttpError:
|
|
73
|
-
unsafe:
|
|
74
|
-
return _aug_http_cookie(name, value, path, maxAge, secure)
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
```aug [Braces]
|
|
78
|
-
/** Immutable identity returned by an explicitly injected authentication adapter. */
|
|
79
|
-
record Principal(string subject, List<string> permissions)
|
|
80
|
-
/** Verify the request's credentials. null means unauthenticated; adapter failures raise HttpError. */
|
|
81
|
-
capability Authentication {
|
|
82
|
-
authenticate(HttpRequest request) returns optional Principal uses Authentication.authenticate unless HttpError
|
|
83
|
-
}
|
|
84
|
-
/** Decide whether a verified identity has one named permission. */
|
|
85
|
-
capability Authorization {
|
|
86
|
-
authorize(Principal identity, string permission) returns bool uses Authorization.authorize unless HttpError
|
|
87
|
-
}
|
|
88
|
-
/** Observe a completed HTTP exchange, including failures and disconnects. */
|
|
89
|
-
capability RequestLogger {
|
|
90
|
-
complete(string method, string path, int status, int milliseconds) uses RequestLogger.complete
|
|
91
|
-
}
|
|
92
|
-
extern C value _aug_http_log(string method, string path, int status, int milliseconds) uses RequestLogger.complete
|
|
93
|
-
/** Emit escaped JSON request metadata to standard error. Credentials and query strings are excluded. */
|
|
94
|
-
WebRequestLogger() implements RequestLogger {
|
|
95
|
-
complete(string method, string path, int status, int milliseconds) {
|
|
96
|
-
unsafe {
|
|
97
|
-
_aug_http_log(method, path, status, milliseconds)
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/** An explicit outbound network capability. TLS verifies the peer and redirects are returned to the caller. */
|
|
102
|
-
capability HttpClient {
|
|
103
|
-
/** Perform an HTTP request with bounded bytes. Inside a task, waiting suspends the task's C stack. */
|
|
104
|
-
request(string method, string url, optional Headers headers, optional Bytes body) returns HttpResponse<Bytes> uses HttpClient.request unless HttpError
|
|
105
|
-
}
|
|
106
|
-
extern C value _aug_http_request(string method, string url, optional Headers headers, optional Bytes body) returns HttpResponse<Bytes> uses HttpClient.request unless HttpError
|
|
107
|
-
/** Native libwebsockets transport. No socket is opened by construction. */
|
|
108
|
-
WebHttpClient() implements HttpClient {
|
|
109
|
-
request(string method, string url, optional Headers headers, optional Bytes body) returns HttpResponse<Bytes> unless HttpError {
|
|
110
|
-
unsafe {
|
|
111
|
-
return _aug_http_request(method=method, url=url, headers=headers, body=body)
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
/** Return a redirect with an explicit status. Location is checked as a header value. */
|
|
116
|
-
redirect(string location, optional int status) returns HttpResponse<string> unless HttpError {
|
|
117
|
-
code = 303
|
|
118
|
-
match status {
|
|
119
|
-
when null {
|
|
120
|
-
pass
|
|
121
|
-
}
|
|
122
|
-
when some value {
|
|
123
|
-
code = value
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
headers = Headers().with(name="location", value=location)
|
|
127
|
-
return HttpResponse(body="", status=code, headers=headers)
|
|
128
|
-
}
|
|
129
|
-
extern C value pure _aug_http_url_encode(string input) returns string unless HttpError
|
|
130
|
-
/** Encode a UTF-8 value as one URL query or form component using RFC 3986 unreserved characters. */
|
|
131
|
-
urlEncode(string input) returns string unless HttpError {
|
|
132
|
-
unsafe {
|
|
133
|
-
return _aug_http_url_encode(input)
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
extern C value pure _aug_http_cookie(string name, string value, string path, int maxAge, bool secure) returns Headers unless HttpError
|
|
137
|
-
/** Construct an HttpOnly, SameSite=Lax session cookie. Secure defaults are chosen explicitly at the call site. Values and paths reject delimiters and controls. maxAge=0 clears the cookie. */
|
|
138
|
-
cookie(string name, string value, string path, int maxAge, bool secure) returns Headers unless HttpError {
|
|
139
|
-
unsafe {
|
|
140
|
-
return _aug_http_cookie(name, value, path, maxAge, secure)
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
:::
|
|
146
|
-
|
|
147
|
-
::::
|
|
148
|
-
|
|
149
|
-
:::: example-spec
|
|
150
|
-
|
|
151
|
-
## Compiled specification {#specification}
|
|
152
|
-
|
|
153
|
-
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
154
|
-
|
|
155
|
-
### In this file
|
|
156
|
-
|
|
157
|
-
- [`Principal`](contracts.md#symbol-Principal) is an immutable record.
|
|
158
|
-
- [`Authentication`](contracts.md#symbol-Authentication) is a capability interface.
|
|
159
|
-
- [`Authorization`](contracts.md#symbol-Authorization) is a capability interface.
|
|
160
|
-
- [`RequestLogger`](contracts.md#symbol-RequestLogger) is a capability interface.
|
|
161
|
-
- [`_aug_http_log`](contracts.md#symbol-_aug_http_log) is a function.
|
|
162
|
-
- [`WebRequestLogger`](contracts.md#symbol-WebRequestLogger) is a class implementing `RequestLogger`.
|
|
163
|
-
- [`HttpClient`](contracts.md#symbol-HttpClient) is a capability interface.
|
|
164
|
-
- [`_aug_http_request`](contracts.md#symbol-_aug_http_request) is a function returning `HttpResponse<Bytes>`.
|
|
165
|
-
- [`WebHttpClient`](contracts.md#symbol-WebHttpClient) is a class implementing `HttpClient`.
|
|
166
|
-
- [`redirect`](contracts.md#symbol-redirect) is a function returning `HttpResponse<string>`.
|
|
167
|
-
- [`_aug_http_url_encode`](contracts.md#symbol-_aug_http_url_encode) is a function returning `string`.
|
|
168
|
-
- [`urlEncode`](contracts.md#symbol-urlEncode) is a function returning `string`.
|
|
169
|
-
- [`_aug_http_cookie`](contracts.md#symbol-_aug_http_cookie) is a function returning `Headers`.
|
|
170
|
-
- [`cookie`](contracts.md#symbol-cookie) is a function returning `Headers`.
|
|
171
|
-
|
|
172
|
-
### `Principal` {#symbol-Principal}
|
|
173
|
-
|
|
174
|
-
[source](contracts.md#code)
|
|
175
|
-
|
|
176
|
-
Immutable record.
|
|
177
|
-
|
|
178
|
-
**Author documentation**
|
|
179
|
-
|
|
180
|
-
Immutable identity returned by an explicitly injected authentication adapter.
|
|
181
|
-
|
|
182
|
-
**Inputs**
|
|
183
|
-
|
|
184
|
-
- `subject` (`string`) — required labeled input — stored as `subject` and read-only after initialization.
|
|
185
|
-
- `permissions` (`List<string>`) — required labeled input — stored as `permissions` and read-only after initialization.
|
|
186
|
-
|
|
187
|
-
### `Authentication` {#symbol-Authentication}
|
|
188
|
-
|
|
189
|
-
[source](contracts.md#code)
|
|
190
|
-
|
|
191
|
-
Capability interface.
|
|
192
|
-
|
|
193
|
-
**Author documentation**
|
|
194
|
-
|
|
195
|
-
Verify the request's credentials. null means unauthenticated; adapter failures raise HttpError.
|
|
196
|
-
|
|
197
|
-
#### `Authentication.authenticate` {#symbol-Authentication.authenticate}
|
|
198
|
-
|
|
199
|
-
[source](contracts.md#code)
|
|
200
|
-
|
|
201
|
-
**Inputs**
|
|
202
|
-
|
|
203
|
-
- `request` (`HttpRequest`) — required labeled input.
|
|
204
|
-
|
|
205
|
-
Returns: [`optional Principal`](contracts.md#symbol-Principal).
|
|
206
|
-
|
|
207
|
-
Capabilities: [`Authentication.authenticate`](contracts.md#symbol-Authentication.authenticate).
|
|
208
|
-
|
|
209
|
-
Can fail with `HttpError`. Callers must catch or propagate these errors.
|
|
210
|
-
|
|
211
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
212
|
-
|
|
213
|
-
### `Authorization` {#symbol-Authorization}
|
|
214
|
-
|
|
215
|
-
[source](contracts.md#code)
|
|
216
|
-
|
|
217
|
-
Capability interface.
|
|
218
|
-
|
|
219
|
-
**Author documentation**
|
|
220
|
-
|
|
221
|
-
Decide whether a verified identity has one named permission.
|
|
222
|
-
|
|
223
|
-
#### `Authorization.authorize` {#symbol-Authorization.authorize}
|
|
224
|
-
|
|
225
|
-
[source](contracts.md#code)
|
|
226
|
-
|
|
227
|
-
**Inputs**
|
|
228
|
-
|
|
229
|
-
- `identity` ([`Principal`](contracts.md#symbol-Principal)) — required labeled input.
|
|
230
|
-
- `permission` (`string`) — required labeled input.
|
|
231
|
-
|
|
232
|
-
Returns: `bool`.
|
|
233
|
-
|
|
234
|
-
Capabilities: [`Authorization.authorize`](contracts.md#symbol-Authorization.authorize).
|
|
235
|
-
|
|
236
|
-
Can fail with `HttpError`. Callers must catch or propagate these errors.
|
|
237
|
-
|
|
238
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
239
|
-
|
|
240
|
-
### `RequestLogger` {#symbol-RequestLogger}
|
|
241
|
-
|
|
242
|
-
[source](contracts.md#code)
|
|
243
|
-
|
|
244
|
-
Capability interface.
|
|
245
|
-
|
|
246
|
-
**Author documentation**
|
|
247
|
-
|
|
248
|
-
Observe a completed HTTP exchange, including failures and disconnects.
|
|
249
|
-
|
|
250
|
-
#### `RequestLogger.complete` {#symbol-RequestLogger.complete}
|
|
251
|
-
|
|
252
|
-
[source](contracts.md#code)
|
|
253
|
-
|
|
254
|
-
**Inputs**
|
|
255
|
-
|
|
256
|
-
- `method` (`string`) — required labeled input.
|
|
257
|
-
- `path` (`string`) — required labeled input.
|
|
258
|
-
- `status` (`int`) — required labeled input.
|
|
259
|
-
- `milliseconds` (`int`) — required labeled input.
|
|
260
|
-
|
|
261
|
-
Returns: no value.
|
|
262
|
-
|
|
263
|
-
Capabilities: [`RequestLogger.complete`](contracts.md#symbol-RequestLogger.complete).
|
|
264
|
-
|
|
265
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
266
|
-
|
|
267
|
-
### `WebRequestLogger` {#symbol-WebRequestLogger}
|
|
268
|
-
|
|
269
|
-
[source](contracts.md#code)
|
|
270
|
-
|
|
271
|
-
Behavioral class.
|
|
272
|
-
|
|
273
|
-
Satisfies [`RequestLogger`](contracts.md#symbol-RequestLogger).
|
|
274
|
-
|
|
275
|
-
**Author documentation**
|
|
276
|
-
|
|
277
|
-
Emit escaped JSON request metadata to standard error. Credentials and query strings are excluded.
|
|
278
|
-
|
|
279
|
-
#### `WebRequestLogger.complete` {#symbol-WebRequestLogger.complete}
|
|
280
|
-
|
|
281
|
-
[source](contracts.md#code)
|
|
282
|
-
|
|
283
|
-
**Inputs**
|
|
284
|
-
|
|
285
|
-
- `method` (`string`) — required labeled input.
|
|
286
|
-
- `path` (`string`) — required labeled input.
|
|
287
|
-
- `status` (`int`) — required labeled input.
|
|
288
|
-
- `milliseconds` (`int`) — required labeled input.
|
|
289
|
-
|
|
290
|
-
Returns: no value.
|
|
291
|
-
|
|
292
|
-
Capabilities: [`RequestLogger.complete`](contracts.md#symbol-RequestLogger.complete).
|
|
293
|
-
|
|
294
|
-
**What it does**
|
|
295
|
-
|
|
296
|
-
- Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
|
|
297
|
-
- Call [`_aug_http_log`](contracts.md#symbol-_aug_http_log) with `method` = `method`; `path` = `path`; `status` = `status`; `milliseconds` = `milliseconds`.
|
|
298
|
-
|
|
299
|
-
### `HttpClient` {#symbol-HttpClient}
|
|
300
|
-
|
|
301
|
-
[source](contracts.md#code)
|
|
302
|
-
|
|
303
|
-
Capability interface.
|
|
304
|
-
|
|
305
|
-
**Author documentation**
|
|
306
|
-
|
|
307
|
-
An explicit outbound network capability. TLS verifies the peer and redirects are returned to the caller.
|
|
308
|
-
|
|
309
|
-
#### `HttpClient.request` {#symbol-HttpClient.request}
|
|
310
|
-
|
|
311
|
-
[source](contracts.md#code)
|
|
312
|
-
|
|
313
|
-
**Inputs**
|
|
314
|
-
|
|
315
|
-
- `method` (`string`) — required labeled input.
|
|
316
|
-
- `url` (`string`) — required labeled input.
|
|
317
|
-
- `headers` (`optional Headers`) — optional labeled input; omission becomes null.
|
|
318
|
-
- `body` (`optional Bytes`) — optional labeled input; omission becomes null.
|
|
319
|
-
|
|
320
|
-
Returns: `HttpResponse<Bytes>`.
|
|
321
|
-
|
|
322
|
-
Capabilities: [`HttpClient.request`](contracts.md#symbol-HttpClient.request).
|
|
323
|
-
|
|
324
|
-
Can fail with `HttpError`. Callers must catch or propagate these errors.
|
|
325
|
-
|
|
326
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
327
|
-
|
|
328
|
-
**Author documentation**
|
|
329
|
-
|
|
330
|
-
Perform an HTTP request with bounded bytes. Inside a task, waiting suspends the task's C stack.
|
|
331
|
-
|
|
332
|
-
### `WebHttpClient` {#symbol-WebHttpClient}
|
|
333
|
-
|
|
334
|
-
[source](contracts.md#code)
|
|
335
|
-
|
|
336
|
-
Behavioral class.
|
|
337
|
-
|
|
338
|
-
Satisfies [`HttpClient`](contracts.md#symbol-HttpClient).
|
|
339
|
-
|
|
340
|
-
**Author documentation**
|
|
341
|
-
|
|
342
|
-
Native libwebsockets transport. No socket is opened by construction.
|
|
343
|
-
|
|
344
|
-
#### `WebHttpClient.request` {#symbol-WebHttpClient.request}
|
|
345
|
-
|
|
346
|
-
[source](contracts.md#code)
|
|
347
|
-
|
|
348
|
-
**Inputs**
|
|
349
|
-
|
|
350
|
-
- `method` (`string`) — required labeled input.
|
|
351
|
-
- `url` (`string`) — required labeled input.
|
|
352
|
-
- `headers` (`optional Headers`) — optional labeled input; omission becomes null.
|
|
353
|
-
- `body` (`optional Bytes`) — optional labeled input; omission becomes null.
|
|
354
|
-
|
|
355
|
-
Returns: `HttpResponse<Bytes>`.
|
|
356
|
-
|
|
357
|
-
Capabilities: [`HttpClient.request`](contracts.md#symbol-HttpClient.request).
|
|
358
|
-
|
|
359
|
-
Can fail with `HttpError`. Callers must catch or propagate these errors.
|
|
360
|
-
|
|
361
|
-
**What it does**
|
|
362
|
-
|
|
363
|
-
- Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
|
|
364
|
-
- Return call [`_aug_http_request`](contracts.md#symbol-_aug_http_request) with `method` = `method`; `url` = `url`; `headers` = `headers`; `body` = `body`.
|
|
365
|
-
|
|
366
|
-
**Author documentation**
|
|
367
|
-
|
|
368
|
-
Perform an HTTP request with bounded bytes. Inside a task, waiting suspends the task's C stack.
|
|
369
|
-
|
|
370
|
-
### `redirect` {#symbol-redirect}
|
|
371
|
-
|
|
372
|
-
[source](contracts.md#code)
|
|
373
|
-
|
|
374
|
-
**Inputs**
|
|
375
|
-
|
|
376
|
-
- `location` (`string`) — required labeled input.
|
|
377
|
-
- `status` (`optional int`) — optional labeled input; omission becomes null.
|
|
378
|
-
|
|
379
|
-
Returns: `HttpResponse<string>`.
|
|
380
|
-
|
|
381
|
-
Can fail with `HttpError`. Callers must catch or propagate these errors.
|
|
382
|
-
|
|
383
|
-
**What it does**
|
|
384
|
-
|
|
385
|
-
- Set `code` to `303`.
|
|
386
|
-
- Select the matching case for `status`:
|
|
387
|
-
- A null value, including omitted optional input:
|
|
388
|
-
- Continue without another operation.
|
|
389
|
-
- A present, non-null value, named `value`:
|
|
390
|
-
- Set `code` to `value`.
|
|
391
|
-
- Set `headers` to call `with` on call `Headers` with `name` = `"location"`; `value` = `location`.
|
|
392
|
-
- Return call `HttpResponse` with `body` = `""`; `status` = `code`; `headers` = `headers`.
|
|
393
|
-
|
|
394
|
-
**Author documentation**
|
|
395
|
-
|
|
396
|
-
Return a redirect with an explicit status. Location is checked as a header value.
|
|
397
|
-
|
|
398
|
-
### `urlEncode` {#symbol-urlEncode}
|
|
399
|
-
|
|
400
|
-
[source](contracts.md#code)
|
|
401
|
-
|
|
402
|
-
**Inputs**
|
|
403
|
-
|
|
404
|
-
- `input` (`string`) — required labeled input.
|
|
405
|
-
|
|
406
|
-
Returns: `string`.
|
|
407
|
-
|
|
408
|
-
Can fail with `HttpError`. Callers must catch or propagate these errors.
|
|
409
|
-
|
|
410
|
-
**What it does**
|
|
411
|
-
|
|
412
|
-
- Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
|
|
413
|
-
- Return call [`_aug_http_url_encode`](contracts.md#symbol-_aug_http_url_encode) with `input` = `input`.
|
|
414
|
-
|
|
415
|
-
**Author documentation**
|
|
416
|
-
|
|
417
|
-
Encode a UTF-8 value as one URL query or form component using RFC 3986 unreserved characters.
|
|
418
|
-
|
|
419
|
-
### `cookie` {#symbol-cookie}
|
|
420
|
-
|
|
421
|
-
[source](contracts.md#code)
|
|
422
|
-
|
|
423
|
-
**Inputs**
|
|
424
|
-
|
|
425
|
-
- `name` (`string`) — required labeled input.
|
|
426
|
-
- `value` (`string`) — required labeled input.
|
|
427
|
-
- `path` (`string`) — required labeled input.
|
|
428
|
-
- `maxAge` (`int`) — required labeled input.
|
|
429
|
-
- `secure` (`bool`) — required labeled input.
|
|
430
|
-
|
|
431
|
-
Returns: `Headers`.
|
|
432
|
-
|
|
433
|
-
Can fail with `HttpError`. Callers must catch or propagate these errors.
|
|
434
|
-
|
|
435
|
-
**What it does**
|
|
436
|
-
|
|
437
|
-
- Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
|
|
438
|
-
- Return call [`_aug_http_cookie`](contracts.md#symbol-_aug_http_cookie) with `name` = `name`; `value` = `value`; `path` = `path`; `maxAge` = `maxAge`; `secure` = `secure`.
|
|
439
|
-
|
|
440
|
-
**Author documentation**
|
|
441
|
-
|
|
442
|
-
Construct an HttpOnly, SameSite=Lax session cookie. Secure defaults are chosen explicitly at the call site. Values and paths reject delimiters and controls. maxAge=0 clears the cookie.
|
|
443
|
-
|
|
444
|
-
### `_aug_http_log` {#symbol-_aug_http_log}
|
|
445
|
-
|
|
446
|
-
[source](contracts.md#code)
|
|
447
|
-
|
|
448
|
-
Private to its defining scope.
|
|
449
|
-
|
|
450
|
-
**Inputs**
|
|
451
|
-
|
|
452
|
-
- `method` (`string`) — required labeled input.
|
|
453
|
-
- `path` (`string`) — required labeled input.
|
|
454
|
-
- `status` (`int`) — required labeled input.
|
|
455
|
-
- `milliseconds` (`int`) — required labeled input.
|
|
456
|
-
|
|
457
|
-
Returns: no value.
|
|
458
|
-
|
|
459
|
-
Capabilities: [`RequestLogger.complete`](contracts.md#symbol-RequestLogger.complete).
|
|
460
|
-
|
|
461
|
-
Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
|
|
462
|
-
|
|
463
|
-
### `_aug_http_request` {#symbol-_aug_http_request}
|
|
464
|
-
|
|
465
|
-
[source](contracts.md#code)
|
|
466
|
-
|
|
467
|
-
Private to its defining scope.
|
|
468
|
-
|
|
469
|
-
**Inputs**
|
|
470
|
-
|
|
471
|
-
- `method` (`string`) — required labeled input.
|
|
472
|
-
- `url` (`string`) — required labeled input.
|
|
473
|
-
- `headers` (`optional Headers`) — optional labeled input; omission becomes null.
|
|
474
|
-
- `body` (`optional Bytes`) — optional labeled input; omission becomes null.
|
|
475
|
-
|
|
476
|
-
Returns: `HttpResponse<Bytes>`.
|
|
477
|
-
|
|
478
|
-
Capabilities: [`HttpClient.request`](contracts.md#symbol-HttpClient.request).
|
|
479
|
-
|
|
480
|
-
Can fail with `HttpError`. Callers must catch or propagate these errors.
|
|
481
|
-
|
|
482
|
-
Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
|
|
483
|
-
|
|
484
|
-
### `_aug_http_url_encode` {#symbol-_aug_http_url_encode}
|
|
485
|
-
|
|
486
|
-
[source](contracts.md#code)
|
|
487
|
-
|
|
488
|
-
Private to its defining scope.
|
|
489
|
-
|
|
490
|
-
**Inputs**
|
|
491
|
-
|
|
492
|
-
- `input` (`string`) — required labeled input.
|
|
493
|
-
|
|
494
|
-
Returns: `string`.
|
|
495
|
-
|
|
496
|
-
Can fail with `HttpError`. Callers must catch or propagate these errors.
|
|
497
|
-
|
|
498
|
-
Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
|
|
499
|
-
|
|
500
|
-
### `_aug_http_cookie` {#symbol-_aug_http_cookie}
|
|
501
|
-
|
|
502
|
-
[source](contracts.md#code)
|
|
503
|
-
|
|
504
|
-
Private to its defining scope.
|
|
505
|
-
|
|
506
|
-
**Inputs**
|
|
507
|
-
|
|
508
|
-
- `name` (`string`) — required labeled input.
|
|
509
|
-
- `value` (`string`) — required labeled input.
|
|
510
|
-
- `path` (`string`) — required labeled input.
|
|
511
|
-
- `maxAge` (`int`) — required labeled input.
|
|
512
|
-
- `secure` (`bool`) — required labeled input.
|
|
513
|
-
|
|
514
|
-
Returns: `Headers`.
|
|
515
|
-
|
|
516
|
-
Can fail with `HttpError`. Callers must catch or propagate these errors.
|
|
517
|
-
|
|
518
|
-
Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
|
|
519
|
-
|
|
520
|
-
### Built-in operations used by this file
|
|
521
|
-
|
|
522
|
-
- `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`.
|
|
523
|
-
|
|
524
|
-
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
525
|
-
|
|
526
|
-
### Shared language rules
|
|
527
|
-
|
|
528
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
529
|
-
|
|
530
|
-
::::
|
|
531
|
-
|
|
532
|
-
:::::
|