@greenpandastudios/aug-cli 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +13 -0
- package/THIRD_PARTY_NOTICES.md +18 -0
- package/bin/aug.mjs +3 -0
- package/docs/api/crypto.md +351 -0
- package/docs/api/io.md +207 -0
- package/docs/api/json.md +21 -0
- package/docs/api/memory.md +109 -0
- package/docs/api/time.md +54 -0
- package/docs/api/web.md +184 -0
- package/docs/assets/benchmarks/execution.svg +2978 -0
- package/docs/assets/benchmarks/http.svg +1674 -0
- package/docs/assets/benchmarks/improvements.svg +2315 -0
- package/docs/assets/benchmarks/memory.svg +1891 -0
- package/docs/benchmark-baseline.json +1087 -0
- package/docs/benchmark-results.json +91123 -0
- package/docs/benchmarks.json +38 -0
- package/docs/compatibility.md +42 -0
- package/docs/concurrency-implementation.md +18 -0
- package/docs/diagnostics.md +97 -0
- package/docs/docker.md +35 -0
- package/docs/example-projects.json +26 -0
- package/docs/examples/approved-design/counters.md +253 -0
- package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/approved-design/domain/app.md +165 -0
- package/docs/examples/approved-design/domain/export.md +83 -0
- package/docs/examples/approved-design/domain/models.md +80 -0
- package/docs/examples/approved-design/domain/numbers.md +248 -0
- package/docs/examples/approved-design/index.md +39 -0
- package/docs/examples/approved-design/main-yaml.md +24 -0
- package/docs/examples/approved-design/main.md +215 -0
- package/docs/examples/benchmark/index.md +33 -0
- package/docs/examples/benchmark/main-yaml.md +17 -0
- package/docs/examples/benchmark/main.md +117 -0
- package/docs/examples/cli-args/index.md +32 -0
- package/docs/examples/cli-args/main.md +107 -0
- package/docs/examples/collections/index.md +32 -0
- package/docs/examples/collections/main.md +118 -0
- package/docs/examples/collections-benchmark/index.md +34 -0
- package/docs/examples/collections-benchmark/main.md +115 -0
- package/docs/examples/cpu-benchmark/index.md +34 -0
- package/docs/examples/cpu-benchmark/main.md +90 -0
- package/docs/examples/developer-workflow/calculator.md +357 -0
- package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/developer-workflow/index.md +37 -0
- package/docs/examples/developer-workflow/logging/console.md +124 -0
- package/docs/examples/developer-workflow/logging/export.md +70 -0
- package/docs/examples/developer-workflow/logging/logger.md +111 -0
- package/docs/examples/developer-workflow/main.md +172 -0
- package/docs/examples/drop/index.md +33 -0
- package/docs/examples/drop/main.md +85 -0
- package/docs/examples/drop/resource.md +95 -0
- package/docs/examples/errors/errors.md +85 -0
- package/docs/examples/errors/index.md +33 -0
- package/docs/examples/errors/main.md +92 -0
- package/docs/examples/ffi/index.md +33 -0
- package/docs/examples/ffi/main.md +75 -0
- package/docs/examples/ffi/native.md +93 -0
- package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/generic-di/index.md +33 -0
- package/docs/examples/generic-di/main.md +111 -0
- package/docs/examples/generic-di/types.md +180 -0
- package/docs/examples/generics/index.md +33 -0
- package/docs/examples/generics/main.md +120 -0
- package/docs/examples/generics/types.md +189 -0
- package/docs/examples/hello/app/export.md +67 -0
- package/docs/examples/hello/app/greeter.md +190 -0
- package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/hello/index.md +37 -0
- package/docs/examples/hello/logging/console.md +121 -0
- package/docs/examples/hello/logging/export.md +71 -0
- package/docs/examples/hello/logging/logger.md +120 -0
- package/docs/examples/hello/main.md +115 -0
- package/docs/examples/http-benchmark/index.md +35 -0
- package/docs/examples/http-benchmark/main.md +79 -0
- package/docs/examples/http-benchmark/routes.md +88 -0
- package/docs/examples/index.md +60 -0
- package/docs/examples/interceptors/app.md +250 -0
- package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/interceptors/index.md +35 -0
- package/docs/examples/interceptors/interceptors.md +284 -0
- package/docs/examples/interceptors/logging.md +155 -0
- package/docs/examples/interceptors/main.md +162 -0
- package/docs/examples/json-benchmark/data.md +71 -0
- package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +103 -0
- package/docs/examples/json-benchmark/index.md +35 -0
- package/docs/examples/json-benchmark/main.md +131 -0
- package/docs/examples/new-syntax/console.md +118 -0
- package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/new-syntax/greeter.md +145 -0
- package/docs/examples/new-syntax/index.md +36 -0
- package/docs/examples/new-syntax/logger.md +111 -0
- package/docs/examples/new-syntax/main.md +135 -0
- package/docs/examples/new-syntax/math.md +79 -0
- package/docs/examples/oidc-login/client/contracts.md +151 -0
- package/docs/examples/oidc-login/client/endpoints.md +263 -0
- package/docs/examples/oidc-login/client/export.md +107 -0
- package/docs/examples/oidc-login/client/login.md +515 -0
- package/docs/examples/oidc-login/client/logout.md +249 -0
- package/docs/examples/oidc-login/client/protocol.md +595 -0
- package/docs/examples/oidc-login/client/session.md +297 -0
- package/docs/examples/oidc-login/client/views.md +144 -0
- package/docs/examples/oidc-login/common/export.md +115 -0
- package/docs/examples/oidc-login/common/headers.md +162 -0
- package/docs/examples/oidc-login/common/keys.md +336 -0
- package/docs/examples/oidc-login/common/settings.md +116 -0
- package/docs/examples/oidc-login/common/views.md +103 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +925 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +434 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +103 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +374 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +150 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +532 -0
- package/docs/examples/oidc-login/index.md +57 -0
- package/docs/examples/oidc-login/main-yaml.md +28 -0
- package/docs/examples/oidc-login/main.md +283 -0
- package/docs/examples/oidc-login/provider/authorization.md +457 -0
- package/docs/examples/oidc-login/provider/contracts.md +267 -0
- package/docs/examples/oidc-login/provider/credentials.md +148 -0
- package/docs/examples/oidc-login/provider/discovery.md +215 -0
- package/docs/examples/oidc-login/provider/export.md +131 -0
- package/docs/examples/oidc-login/provider/token.md +364 -0
- package/docs/examples/oidc-login/provider/userinfo.md +228 -0
- package/docs/examples/oidc-login/provider/views.md +137 -0
- package/docs/examples/ownership/counter.md +140 -0
- package/docs/examples/ownership/index.md +33 -0
- package/docs/examples/ownership/main.md +90 -0
- package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/ownership-transfer/index.md +33 -0
- package/docs/examples/ownership-transfer/main.md +125 -0
- package/docs/examples/ownership-transfer/resource.md +150 -0
- package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +117 -0
- package/docs/examples/packages-app/index.md +34 -0
- package/docs/examples/packages-app/main-yaml.md +18 -0
- package/docs/examples/packages-app/main.md +80 -0
- package/docs/examples/packages-math/aug-package-json.md +24 -0
- package/docs/examples/packages-math/index.md +36 -0
- package/docs/examples/packages-math/package-json.md +25 -0
- package/docs/examples/packages-math/src/arithmetic.md +121 -0
- package/docs/examples/packages-math/src/export.md +63 -0
- package/docs/examples/startup-benchmark/index.md +34 -0
- package/docs/examples/startup-benchmark/main.md +68 -0
- package/docs/examples/visibility/counter.md +142 -0
- package/docs/examples/visibility/index.md +33 -0
- package/docs/examples/visibility/main.md +96 -0
- package/docs/examples.json +47 -0
- package/docs/getting-started.md +5 -0
- package/docs/grammar.md +136 -0
- package/docs/implementation-map.md +106 -0
- package/docs/index.md +46 -0
- package/docs/language-conformance.md +30 -0
- package/docs/language-constructs.md +1461 -0
- package/docs/language-design-audit.md +147 -0
- package/docs/maintaining-docs.md +43 -0
- package/docs/packages.md +184 -0
- package/docs/performance.md +535 -0
- package/docs/production-readiness.md +39 -0
- package/docs/reference.md +361 -0
- package/docs/release-review.md +23 -0
- package/docs/releasing.md +79 -0
- package/docs/roadmap.md +13 -0
- package/docs/specifications.md +86 -0
- package/docs/testing.md +120 -0
- package/docs/tooling.md +197 -0
- package/docs/web-implementation-plan.md +39 -0
- package/docs/web-library-gaps.md +27 -0
- package/docs/web.md +197 -0
- package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/approved-design/.aug-spec/manifest.json +14 -0
- package/examples/approved-design/counters.aug +22 -0
- package/examples/approved-design/counters.aug.md +177 -0
- package/examples/approved-design/domain/app.aug +12 -0
- package/examples/approved-design/domain/app.aug.md +97 -0
- package/examples/approved-design/domain/export.aug +5 -0
- package/examples/approved-design/domain/export.aug.md +25 -0
- package/examples/approved-design/domain/models.aug +2 -0
- package/examples/approved-design/domain/models.aug.md +30 -0
- package/examples/approved-design/domain/numbers.aug +29 -0
- package/examples/approved-design/domain/numbers.aug.md +141 -0
- package/examples/approved-design/main.aug +26 -0
- package/examples/approved-design/main.aug.md +108 -0
- package/examples/approved-design/main.yaml +8 -0
- package/examples/benchmark/.aug-spec/manifest.json +7 -0
- package/examples/benchmark/main.aug +17 -0
- package/examples/benchmark/main.aug.md +43 -0
- package/examples/benchmark/main.yaml +1 -0
- package/examples/cli-args/.aug-spec/manifest.json +7 -0
- package/examples/cli-args/main.aug +15 -0
- package/examples/cli-args/main.aug.md +38 -0
- package/examples/collections/.aug-spec/manifest.json +7 -0
- package/examples/collections/main.aug +18 -0
- package/examples/collections/main.aug.md +43 -0
- package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/developer-workflow/.aug-spec/manifest.json +13 -0
- package/examples/developer-workflow/calculator.aug +55 -0
- package/examples/developer-workflow/calculator.aug.md +228 -0
- package/examples/developer-workflow/logging/console.aug +8 -0
- package/examples/developer-workflow/logging/console.aug.md +67 -0
- package/examples/developer-workflow/logging/export.aug +2 -0
- package/examples/developer-workflow/logging/export.aug.md +19 -0
- package/examples/developer-workflow/logging/logger.aug +6 -0
- package/examples/developer-workflow/logging/logger.aug.md +57 -0
- package/examples/developer-workflow/main.aug +25 -0
- package/examples/developer-workflow/main.aug.md +79 -0
- package/examples/drop/.aug-spec/manifest.json +8 -0
- package/examples/drop/main.aug +3 -0
- package/examples/drop/main.aug.md +35 -0
- package/examples/drop/resource.aug +8 -0
- package/examples/drop/resource.aug.md +44 -0
- package/examples/errors/.aug-spec/manifest.json +8 -0
- package/examples/errors/errors.aug +6 -0
- package/examples/errors/errors.aug.md +33 -0
- package/examples/errors/main.aug +7 -0
- package/examples/errors/main.aug.md +36 -0
- package/examples/ffi/.aug-spec/manifest.json +8 -0
- package/examples/ffi/main.aug +2 -0
- package/examples/ffi/main.aug.md +27 -0
- package/examples/ffi/native.aug +6 -0
- package/examples/ffi/native.aug.md +43 -0
- package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/generic-di/.aug-spec/manifest.json +10 -0
- package/examples/generic-di/main.aug +9 -0
- package/examples/generic-di/main.aug.md +49 -0
- package/examples/generic-di/types.aug +17 -0
- package/examples/generic-di/types.aug.md +124 -0
- package/examples/generics/.aug-spec/manifest.json +8 -0
- package/examples/generics/main.aug +9 -0
- package/examples/generics/main.aug.md +58 -0
- package/examples/generics/types.aug +19 -0
- package/examples/generics/types.aug.md +132 -0
- package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/hello/.aug-spec/manifest.json +14 -0
- package/examples/hello/app/export.aug +1 -0
- package/examples/hello/app/export.aug.md +17 -0
- package/examples/hello/app/greeter.aug +22 -0
- package/examples/hello/app/greeter.aug.md +109 -0
- package/examples/hello/logging/console.aug +7 -0
- package/examples/hello/logging/console.aug.md +65 -0
- package/examples/hello/logging/export.aug +2 -0
- package/examples/hello/logging/export.aug.md +19 -0
- package/examples/hello/logging/logger.aug +9 -0
- package/examples/hello/logging/logger.aug.md +59 -0
- package/examples/hello/main.aug +9 -0
- package/examples/hello/main.aug.md +49 -0
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/interceptors/.aug-spec/manifest.json +12 -0
- package/examples/interceptors/app.aug +28 -0
- package/examples/interceptors/app.aug.md +162 -0
- package/examples/interceptors/interceptors.aug +40 -0
- package/examples/interceptors/interceptors.aug.md +180 -0
- package/examples/interceptors/logging.aug +12 -0
- package/examples/interceptors/logging.aug.md +96 -0
- package/examples/interceptors/main.aug +22 -0
- package/examples/interceptors/main.aug.md +76 -0
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/new-syntax/.aug-spec/manifest.json +13 -0
- package/examples/new-syntax/console.aug +7 -0
- package/examples/new-syntax/console.aug.md +63 -0
- package/examples/new-syntax/greeter.aug +10 -0
- package/examples/new-syntax/greeter.aug.md +89 -0
- package/examples/new-syntax/logger.aug +6 -0
- package/examples/new-syntax/logger.aug.md +57 -0
- package/examples/new-syntax/main.aug +12 -0
- package/examples/new-syntax/main.aug.md +64 -0
- package/examples/new-syntax/math.aug +3 -0
- package/examples/new-syntax/math.aug.md +29 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug +73 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +791 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug +68 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +266 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug +6 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +55 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug +45 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +250 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug +11 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +96 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug +58 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +420 -0
- package/examples/oidc-login/.aug-spec/manifest.json +40 -0
- package/examples/oidc-login/README.md +29 -0
- package/examples/oidc-login/client/contracts.aug +7 -0
- package/examples/oidc-login/client/contracts.aug.md +80 -0
- package/examples/oidc-login/client/endpoints.aug +21 -0
- package/examples/oidc-login/client/endpoints.aug.md +161 -0
- package/examples/oidc-login/client/export.aug +7 -0
- package/examples/oidc-login/client/export.aug.md +29 -0
- package/examples/oidc-login/client/login.aug +58 -0
- package/examples/oidc-login/client/login.aug.md +331 -0
- package/examples/oidc-login/client/logout.aug +18 -0
- package/examples/oidc-login/client/logout.aug.md +150 -0
- package/examples/oidc-login/client/protocol.aug +106 -0
- package/examples/oidc-login/client/protocol.aug.md +326 -0
- package/examples/oidc-login/client/session.aug +34 -0
- package/examples/oidc-login/client/session.aug.md +155 -0
- package/examples/oidc-login/client/views.aug +21 -0
- package/examples/oidc-login/client/views.aug.md +68 -0
- package/examples/oidc-login/common/export.aug +9 -0
- package/examples/oidc-login/common/export.aug.md +33 -0
- package/examples/oidc-login/common/headers.aug +11 -0
- package/examples/oidc-login/common/headers.aug.md +79 -0
- package/examples/oidc-login/common/keys.aug +37 -0
- package/examples/oidc-login/common/keys.aug.md +207 -0
- package/examples/oidc-login/common/settings.aug +4 -0
- package/examples/oidc-login/common/settings.aug.md +47 -0
- package/examples/oidc-login/common/views.aug +16 -0
- package/examples/oidc-login/common/views.aug.md +34 -0
- package/examples/oidc-login/main.aug +39 -0
- package/examples/oidc-login/main.aug.md +166 -0
- package/examples/oidc-login/main.yaml +12 -0
- package/examples/oidc-login/provider/authorization.aug +59 -0
- package/examples/oidc-login/provider/authorization.aug.md +264 -0
- package/examples/oidc-login/provider/contracts.aug +15 -0
- package/examples/oidc-login/provider/contracts.aug.md +193 -0
- package/examples/oidc-login/provider/credentials.aug +10 -0
- package/examples/oidc-login/provider/credentials.aug.md +64 -0
- package/examples/oidc-login/provider/discovery.aug +13 -0
- package/examples/oidc-login/provider/discovery.aug.md +133 -0
- package/examples/oidc-login/provider/export.aug +13 -0
- package/examples/oidc-login/provider/export.aug.md +41 -0
- package/examples/oidc-login/provider/token.aug +37 -0
- package/examples/oidc-login/provider/token.aug.md +223 -0
- package/examples/oidc-login/provider/userinfo.aug +26 -0
- package/examples/oidc-login/provider/userinfo.aug.md +104 -0
- package/examples/oidc-login/provider/views.aug +18 -0
- package/examples/oidc-login/provider/views.aug.md +63 -0
- package/examples/ownership/.aug-spec/manifest.json +8 -0
- package/examples/ownership/counter.aug +14 -0
- package/examples/ownership/counter.aug.md +85 -0
- package/examples/ownership/main.aug +4 -0
- package/examples/ownership/main.aug.md +38 -0
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/ownership-transfer/.aug-spec/manifest.json +10 -0
- package/examples/ownership-transfer/main.aug +9 -0
- package/examples/ownership-transfer/main.aug.md +63 -0
- package/examples/ownership-transfer/resource.aug +16 -0
- package/examples/ownership-transfer/resource.aug.md +89 -0
- package/examples/packages/README.md +15 -0
- package/examples/packages/app/.aug-spec/manifest.json +9 -0
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +9 -0
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +63 -0
- package/examples/packages/app/main.aug +2 -0
- package/examples/packages/app/main.aug.md +33 -0
- package/examples/packages/app/main.yaml +2 -0
- package/examples/packages/math/.aug-spec/manifest.json +8 -0
- package/examples/packages/math/README.md +3 -0
- package/examples/packages/math/aug-package.json +8 -0
- package/examples/packages/math/package.json +9 -0
- package/examples/packages/math/src/arithmetic.aug +8 -0
- package/examples/packages/math/src/arithmetic.aug.md +63 -0
- package/examples/packages/math/src/export.aug +1 -0
- package/examples/packages/math/src/export.aug.md +17 -0
- package/examples/visibility/.aug-spec/manifest.json +8 -0
- package/examples/visibility/counter.aug +14 -0
- package/examples/visibility/counter.aug.md +87 -0
- package/examples/visibility/main.aug +7 -0
- package/examples/visibility/main.aug.md +39 -0
- package/package.json +50 -0
- package/runtime/aug_crypto.c +121 -0
- package/runtime/aug_html.c +93 -0
- package/runtime/aug_http.c +829 -0
- package/runtime/aug_json.c +165 -0
- package/runtime/aug_runtime.c +792 -0
- package/runtime/aug_runtime.h +245 -0
- package/runtime/aug_tasks.c +172 -0
- package/runtime/aug_time.c +5 -0
- package/runtime/aug_values.c +80 -0
- package/scripts/bootstrap-native.mjs +121 -0
- package/scripts/native-dependencies.lock.json +65 -0
- package/scripts/native-home.mjs +11 -0
- package/src/actions.js +109 -0
- package/src/ast.js +19 -0
- package/src/builtins.js +93 -0
- package/src/checker.js +2896 -0
- package/src/cli.js +344 -0
- package/src/codegen.js +1159 -0
- package/src/config.js +149 -0
- package/src/continuation.js +110 -0
- package/src/di.js +24 -0
- package/src/documentation.js +27 -0
- package/src/editor.js +782 -0
- package/src/effects.js +29 -0
- package/src/fixes.js +222 -0
- package/src/formatter.js +296 -0
- package/src/freshness.js +154 -0
- package/src/help.js +212 -0
- package/src/html.js +27 -0
- package/src/http-policies.js +90 -0
- package/src/inference.js +16 -0
- package/src/interceptors.js +70 -0
- package/src/javadoc.js +67 -0
- package/src/lexer.js +199 -0
- package/src/libraries.js +31 -0
- package/src/lsp.js +180 -0
- package/src/native.js +144 -0
- package/src/navigation.js +162 -0
- package/src/openapi.js +220 -0
- package/src/ownership.js +232 -0
- package/src/package-manager.js +299 -0
- package/src/parser.js +1155 -0
- package/src/policies.js +130 -0
- package/src/project-init.js +19 -0
- package/src/project.js +292 -0
- package/src/schemas.js +62 -0
- package/src/semantic.js +255 -0
- package/src/spec.js +738 -0
- package/src/testing.js +186 -0
- package/src/types.js +10 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
generated: true
|
|
3
|
+
source: src/stdlib/memory
|
|
4
|
+
editLink: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# august.memory
|
|
8
|
+
|
|
9
|
+
Public declarations exported by this module. Import names explicitly from `august.memory`. Built-in wire/value types are described in [language constructs](../language-constructs.md).
|
|
10
|
+
|
|
11
|
+
- [StoreFull](#api-StoreFull)
|
|
12
|
+
- [ExpiringStore](#api-ExpiringStore)
|
|
13
|
+
- [MemoryStore](#api-MemoryStore)
|
|
14
|
+
|
|
15
|
+
## StoreFull {#api-StoreFull}
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
StoreFull() implements Error
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The bounded store could not accept another live entry.
|
|
22
|
+
|
|
23
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/memory/store.aug#L2)
|
|
24
|
+
|
|
25
|
+
## ExpiringStore {#api-ExpiringStore}
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
capability ExpiringStore<T implements Data>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
A bounded, expiring capability for immutable values. Each generic DI binding has its own table.
|
|
32
|
+
|
|
33
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/memory/store.aug#L7)
|
|
34
|
+
|
|
35
|
+
### ExpiringStore.put
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
put(string key, T value, int expires, int now) uses ExpiringStore.put unless StoreFull
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Remove expired entries, then store at most 512 live entries. Time is supplied by the caller.
|
|
42
|
+
|
|
43
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/memory/store.aug#L9)
|
|
44
|
+
|
|
45
|
+
### ExpiringStore.take
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
take(string key, int now) returns optional T uses ExpiringStore.take
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Atomically remove a value. Expired or absent entries return null.
|
|
52
|
+
|
|
53
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/memory/store.aug#L11)
|
|
54
|
+
|
|
55
|
+
### ExpiringStore.get
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
get(string key, int now) returns optional T uses ExpiringStore.get
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Read a live value without consuming it.
|
|
62
|
+
|
|
63
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/memory/store.aug#L13)
|
|
64
|
+
|
|
65
|
+
## MemoryStore {#api-MemoryStore}
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
MemoryStore<T implements Data>() implements ExpiringStore<T>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
A synchronized table with short critical sections and no I/O while locked.
|
|
72
|
+
|
|
73
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/memory/store.aug#L16)
|
|
74
|
+
|
|
75
|
+
### MemoryStore.put
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
put(string key, T value, int expires, int now) unless StoreFull
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Remove expired entries, then store at most 512 live entries. Time is supplied by the caller.
|
|
82
|
+
|
|
83
|
+
Inferred capabilities: `ExpiringStore<T>.put`.
|
|
84
|
+
|
|
85
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/memory/store.aug#L18)
|
|
86
|
+
|
|
87
|
+
### MemoryStore.take
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
take(string key, int now) returns optional T
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Atomically remove a value. Expired or absent entries return null.
|
|
94
|
+
|
|
95
|
+
Inferred capabilities: `ExpiringStore<T>.take`.
|
|
96
|
+
|
|
97
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/memory/store.aug#L27)
|
|
98
|
+
|
|
99
|
+
### MemoryStore.get
|
|
100
|
+
|
|
101
|
+
```text
|
|
102
|
+
get(string key, int now) returns optional T
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Read a live value without consuming it.
|
|
106
|
+
|
|
107
|
+
Inferred capabilities: `ExpiringStore<T>.get`.
|
|
108
|
+
|
|
109
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/memory/store.aug#L36)
|
package/docs/api/time.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
generated: true
|
|
3
|
+
source: src/stdlib/time
|
|
4
|
+
editLink: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# august.time
|
|
8
|
+
|
|
9
|
+
Public declarations exported by this module. Import names explicitly from `august.time`. Built-in wire/value types are described in [language constructs](../language-constructs.md).
|
|
10
|
+
|
|
11
|
+
- [Clock](#api-Clock)
|
|
12
|
+
- [SystemClock](#api-SystemClock)
|
|
13
|
+
|
|
14
|
+
## Clock {#api-Clock}
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
capability Clock
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
An explicit clock dependency makes time-based behavior replaceable in tests.
|
|
21
|
+
|
|
22
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/time/contracts.aug#L2)
|
|
23
|
+
|
|
24
|
+
### Clock.now
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
now() returns int uses Clock.now unless TimeError
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Read whole Unix seconds in UTC.
|
|
31
|
+
|
|
32
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/time/contracts.aug#L4)
|
|
33
|
+
|
|
34
|
+
## SystemClock {#api-SystemClock}
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
SystemClock() implements Clock
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Operating-system wall clock.
|
|
41
|
+
|
|
42
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/time/contracts.aug#L7)
|
|
43
|
+
|
|
44
|
+
### SystemClock.now
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
now() returns int unless TimeError
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Read whole Unix seconds in UTC.
|
|
51
|
+
|
|
52
|
+
Inferred capabilities: `Clock.now`.
|
|
53
|
+
|
|
54
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/time/contracts.aug#L8)
|
package/docs/api/web.md
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
generated: true
|
|
3
|
+
source: src/stdlib/web
|
|
4
|
+
editLink: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# august.web
|
|
8
|
+
|
|
9
|
+
Public declarations exported by this module. Import names explicitly from `august.web`. Built-in wire/value types are described in [language constructs](../language-constructs.md).
|
|
10
|
+
|
|
11
|
+
- [Principal](#api-Principal)
|
|
12
|
+
- [Authentication](#api-Authentication)
|
|
13
|
+
- [Authorization](#api-Authorization)
|
|
14
|
+
- [RequestLogger](#api-RequestLogger)
|
|
15
|
+
- [WebRequestLogger](#api-WebRequestLogger)
|
|
16
|
+
- [HttpClient](#api-HttpClient)
|
|
17
|
+
- [WebHttpClient](#api-WebHttpClient)
|
|
18
|
+
- [redirect](#api-redirect)
|
|
19
|
+
- [urlEncode](#api-urlEncode)
|
|
20
|
+
- [cookie](#api-cookie)
|
|
21
|
+
|
|
22
|
+
## Principal {#api-Principal}
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
record Principal(string subject, List<string> permissions)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Immutable identity returned by an explicitly injected authentication adapter.
|
|
29
|
+
|
|
30
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L2)
|
|
31
|
+
|
|
32
|
+
## Authentication {#api-Authentication}
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
capability Authentication
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Verify the request's credentials. null means unauthenticated; adapter failures raise HttpError.
|
|
39
|
+
|
|
40
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L5)
|
|
41
|
+
|
|
42
|
+
### Authentication.authenticate
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
authenticate(HttpRequest request) returns optional Principal uses Authentication.authenticate unless HttpError
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The signature declares inputs, result, effects and checked errors.
|
|
49
|
+
|
|
50
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L6)
|
|
51
|
+
|
|
52
|
+
## Authorization {#api-Authorization}
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
capability Authorization
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Decide whether a verified identity has one named permission.
|
|
59
|
+
|
|
60
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L9)
|
|
61
|
+
|
|
62
|
+
### Authorization.authorize
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
authorize(Principal identity, string permission) returns bool uses Authorization.authorize unless HttpError
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
The signature declares inputs, result, effects and checked errors.
|
|
69
|
+
|
|
70
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L10)
|
|
71
|
+
|
|
72
|
+
## RequestLogger {#api-RequestLogger}
|
|
73
|
+
|
|
74
|
+
```text
|
|
75
|
+
capability RequestLogger
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Observe a completed HTTP exchange, including failures and disconnects.
|
|
79
|
+
|
|
80
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L13)
|
|
81
|
+
|
|
82
|
+
### RequestLogger.complete
|
|
83
|
+
|
|
84
|
+
```text
|
|
85
|
+
complete(string method, string path, int status, int milliseconds) uses RequestLogger.complete
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The signature declares inputs, result, effects and checked errors.
|
|
89
|
+
|
|
90
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L14)
|
|
91
|
+
|
|
92
|
+
## WebRequestLogger {#api-WebRequestLogger}
|
|
93
|
+
|
|
94
|
+
```text
|
|
95
|
+
WebRequestLogger() implements RequestLogger
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Emit escaped JSON request metadata to standard error. Credentials and query strings are excluded.
|
|
99
|
+
|
|
100
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L18)
|
|
101
|
+
|
|
102
|
+
### WebRequestLogger.complete
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
complete(string method, string path, int status, int milliseconds)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
The signature declares inputs, result, effects and checked errors.
|
|
109
|
+
|
|
110
|
+
Inferred capabilities: `RequestLogger.complete`.
|
|
111
|
+
|
|
112
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L19)
|
|
113
|
+
|
|
114
|
+
## HttpClient {#api-HttpClient}
|
|
115
|
+
|
|
116
|
+
```text
|
|
117
|
+
capability HttpClient
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
An explicit outbound network capability. TLS verifies the peer and redirects are returned to the caller.
|
|
121
|
+
|
|
122
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L24)
|
|
123
|
+
|
|
124
|
+
### HttpClient.request
|
|
125
|
+
|
|
126
|
+
```text
|
|
127
|
+
request(string method, string url, optional Headers headers, optional Bytes body) returns HttpResponse<Bytes> uses HttpClient.request unless HttpError
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Perform an HTTP request with bounded bytes. Inside a task, waiting suspends the task's C stack.
|
|
131
|
+
|
|
132
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L26)
|
|
133
|
+
|
|
134
|
+
## WebHttpClient {#api-WebHttpClient}
|
|
135
|
+
|
|
136
|
+
```text
|
|
137
|
+
WebHttpClient() implements HttpClient
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Native libwebsockets transport. No socket is opened by construction.
|
|
141
|
+
|
|
142
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L31)
|
|
143
|
+
|
|
144
|
+
### WebHttpClient.request
|
|
145
|
+
|
|
146
|
+
```text
|
|
147
|
+
request(string method, string url, optional Headers headers, optional Bytes body) returns HttpResponse<Bytes> unless HttpError
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Perform an HTTP request with bounded bytes. Inside a task, waiting suspends the task's C stack.
|
|
151
|
+
|
|
152
|
+
Inferred capabilities: `HttpClient.request`.
|
|
153
|
+
|
|
154
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L32)
|
|
155
|
+
|
|
156
|
+
## redirect {#api-redirect}
|
|
157
|
+
|
|
158
|
+
```text
|
|
159
|
+
redirect(string location, optional int status) returns HttpResponse<string> unless HttpError
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Return a redirect with an explicit status. Location is checked as a header value.
|
|
163
|
+
|
|
164
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L37)
|
|
165
|
+
|
|
166
|
+
## urlEncode {#api-urlEncode}
|
|
167
|
+
|
|
168
|
+
```text
|
|
169
|
+
urlEncode(string input) returns string unless HttpError
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Encode a UTF-8 value as one URL query or form component using RFC 3986 unreserved characters.
|
|
173
|
+
|
|
174
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L49)
|
|
175
|
+
|
|
176
|
+
## cookie {#api-cookie}
|
|
177
|
+
|
|
178
|
+
```text
|
|
179
|
+
cookie(string name, string value, string path, int maxAge, bool secure) returns Headers unless HttpError
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
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.
|
|
183
|
+
|
|
184
|
+
[Source](https://github.com/GreenPandaStudios/augscript/blob/main/src/stdlib/web/contracts.aug#L55)
|