@greenpandastudios/aug-cli 0.19.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/compatibility.md +3 -3
- package/docs/contributing-benchmarks.md +38 -0
- package/docs/dev-containers.md +95 -0
- package/docs/diagnostics.md +15 -5
- package/docs/docker.md +174 -12
- package/docs/editor.md +35 -0
- package/docs/example-projects.json +206 -24
- package/docs/examples/approved-design/counters.md +34 -126
- package/docs/examples/approved-design/dependencies/august/0.20.1/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/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.20.1/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/ffi/index.md +6 -5
- package/docs/examples/ffi/main.md +6 -20
- package/docs/examples/ffi/native.md +8 -34
- package/docs/examples/generic-di/dependencies/august/0.20.1/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.20.1/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 +46 -29
- package/docs/examples/interceptors/app.md +20 -139
- package/docs/examples/interceptors/dependencies/august/0.20.1/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/new-syntax/console.md +10 -52
- package/docs/examples/new-syntax/dependencies/august/0.20.1/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.20.1/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/startup-benchmark/index.md +6 -5
- package/docs/examples/startup-benchmark/main.md +5 -17
- 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 +6 -4
- package/docs/guides/change-a-module.md +64 -0
- package/docs/guides/index.md +27 -0
- package/docs/index.md +51 -29
- package/docs/language-conformance.md +1 -1
- package/docs/language-constructs.md +22 -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/packages.md +72 -126
- package/docs/performance.md +13 -41
- package/docs/production-readiness.md +5 -4
- package/docs/public/downloads/approved-design.zip +0 -0
- package/docs/public/downloads/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.zip +0 -0
- package/docs/public/downloads/ffi.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/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/startup-benchmark.zip +0 -0
- package/docs/public/downloads/visibility.zip +0 -0
- package/docs/public/downloads/weather-api.zip +0 -0
- package/docs/reference.md +23 -17
- package/docs/releasing.md +29 -15
- package/docs/research/code-to-natural-language.md +108 -0
- package/docs/research/ecosystem-workflow.md +41 -0
- package/docs/research/wiki-editorial-design.md +71 -0
- package/docs/roadmap.md +1 -1
- package/docs/specifications.md +27 -11
- package/docs/testing.md +19 -5
- package/docs/tooling.md +25 -12
- package/docs/weather-api.md +65 -0
- package/docs/web.md +50 -18
- package/docs/writing-docs.md +49 -0
- package/examples/{hello/.aug-spec/august/0.19.0 → approved-design/.aug-spec/august/0.20.1}/io/contracts.aug +4 -3
- package/examples/approved-design/.aug-spec/august/0.20.1/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.20.1}/io/contracts.aug +4 -3
- package/examples/developer-workflow/.aug-spec/august/0.20.1/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.20.1}/io/contracts.aug +4 -3
- package/examples/generic-di/.aug-spec/august/0.20.1/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.20.1}/io/contracts.aug +4 -3
- package/examples/hello/.aug-spec/august/0.20.1/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.20.1/io/contracts.aug +37 -0
- package/examples/interceptors/.aug-spec/august/0.20.1/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/new-syntax/.aug-spec/august/0.20.1/io/contracts.aug +37 -0
- package/examples/new-syntax/.aug-spec/august/0.20.1/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.20.1/io/contracts.aug +37 -0
- package/examples/ownership-transfer/.aug-spec/august/0.20.1/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/package.json +3 -4
- package/scripts/bootstrap-native.mjs +181 -106
- package/scripts/native-setup.mjs +98 -0
- package/scripts/native-toolchain.mjs +28 -0
- package/src/builtins.js +1 -1
- package/src/checker.js +259 -72
- package/src/cli.js +114 -20
- package/src/codegen.js +1 -1
- package/src/config.js +1 -1
- package/src/contracts.js +10 -0
- package/src/editor.js +71 -16
- package/src/fixes.js +90 -2
- package/src/formatter.js +19 -8
- package/src/git-packages.js +110 -0
- package/src/help.js +24 -23
- package/src/http-contracts.js +14 -0
- package/src/http-policies.js +5 -5
- package/src/libraries.js +1 -1
- package/src/lsp.js +14 -5
- package/src/native.js +19 -13
- package/src/navigation.js +4 -2
- package/src/openapi.js +5 -4
- package/src/package-locking.js +45 -0
- package/src/package-manager.js +251 -67
- package/src/parser.js +13 -5
- package/src/policies.js +3 -3
- package/src/project-init.js +78 -4
- package/src/project.js +9 -7
- package/src/semantic.js +46 -2
- package/src/snippets.js +59 -0
- package/src/spec-hints.js +56 -0
- package/src/spec-tree.js +241 -0
- package/src/spec.js +626 -303
- 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,89 +1,30 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `resource.aug`
|
|
4
|
-
|
|
5
|
-
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
-
|
|
7
|
-
## In this file
|
|
8
|
-
|
|
9
|
-
- [`Resource`](resource.aug.md#symbol-Resource) is a class implementing `IResource`.
|
|
10
|
-
- [`IResource`](resource.aug.md#symbol-IResource) is an interface.
|
|
11
|
-
- [`make`](resource.aug.md#symbol-make) is a function returning `Resource`.
|
|
12
|
-
- [`consume`](resource.aug.md#symbol-consume) is a function.
|
|
3
|
+
# `resource.aug`
|
|
13
4
|
|
|
14
5
|
<a id="symbol-Resource"></a>
|
|
6
|
+
## `Resource` · class · [source](resource.aug#L3)
|
|
15
7
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
[source](resource.aug#L2)
|
|
19
|
-
|
|
20
|
-
Behavioral class.
|
|
21
|
-
|
|
22
|
-
Satisfies [`IResource`](resource.aug.md#symbol-IResource).
|
|
8
|
+
It implements [`IResource`](resource.aug.md#symbol-IResource).
|
|
23
9
|
|
|
24
10
|
<a id="symbol-Resource.drop"></a>
|
|
11
|
+
### `Resource.drop` · [source](resource.aug#L4)
|
|
25
12
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
[source](resource.aug#L3)
|
|
29
|
-
|
|
30
|
-
Returns: no value.
|
|
31
|
-
|
|
32
|
-
**What it does**
|
|
33
|
-
|
|
34
|
-
- Continue without another operation.
|
|
13
|
+
It continues without an operation.
|
|
35
14
|
|
|
36
15
|
<a id="symbol-IResource"></a>
|
|
37
|
-
|
|
38
|
-
## `IResource`
|
|
39
|
-
|
|
40
|
-
[source](resource.aug#L7)
|
|
41
|
-
|
|
42
|
-
Interface.
|
|
16
|
+
## `IResource` · interface · [source](resource.aug#L8)
|
|
43
17
|
|
|
44
18
|
<a id="symbol-make"></a>
|
|
19
|
+
## `make` · [source](resource.aug#L11)
|
|
45
20
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
[source](resource.aug#L10)
|
|
49
|
-
|
|
50
|
-
Returns: ownership of [`Resource`](resource.aug.md#symbol-Resource).
|
|
51
|
-
|
|
52
|
-
**What it does**
|
|
53
|
-
|
|
54
|
-
- Set `value` of type [`Resource`](resource.aug.md#symbol-Resource) to call [`Resource`](resource.aug.md#symbol-Resource).
|
|
55
|
-
- This variable owns the value.
|
|
56
|
-
- Return `value`.
|
|
21
|
+
It returns ownership of [`Resource`](resource.aug.md#symbol-Resource). It sets `value` of type [`Resource`](resource.aug.md#symbol-Resource) to a [`Resource`](resource.aug.md#symbol-Resource). `value` of type [`Resource`](resource.aug.md#symbol-Resource) owns this value. It returns `value`.
|
|
57
22
|
|
|
58
23
|
<a id="symbol-consume"></a>
|
|
24
|
+
## `consume` · [source](resource.aug#L15)
|
|
59
25
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
[source](resource.aug#L14)
|
|
63
|
-
|
|
64
|
-
**Inputs**
|
|
65
|
-
|
|
66
|
-
- `console` ([`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
|
|
67
|
-
- `value` ([`Resource`](resource.aug.md#symbol-Resource)) — required labeled input — transfers ownership.
|
|
68
|
-
|
|
69
|
-
Returns: no value.
|
|
70
|
-
|
|
71
|
-
Capabilities: [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
|
|
72
|
-
|
|
73
|
-
**What it does**
|
|
74
|
-
|
|
75
|
-
- Call [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write) on `console` with `value` = `"consumed"`.
|
|
76
|
-
|
|
77
|
-
## Dependencies used by this file
|
|
78
|
-
|
|
79
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
80
|
-
|
|
81
|
-
### [`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)
|
|
82
|
-
|
|
83
|
-
Capability interface from `august.io`.
|
|
84
|
-
|
|
85
|
-
- [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
|
|
26
|
+
It takes `value` as [`Resource`](resource.aug.md#symbol-Resource) with ownership transferred. It gets `console` ([`Console`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console)) from dependency injection. It passes `"consumed"` to [`console.write`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console.write).
|
|
86
27
|
|
|
87
|
-
##
|
|
28
|
+
## Dependencies
|
|
88
29
|
|
|
89
|
-
|
|
30
|
+
It uses [`Console`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console) ([`write`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console.write)) from `august.io`.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Generated by aug spec. This is a copy of the installed dependency source.
|
|
2
|
+
// aug-spec: "arithmetic.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
2
3
|
/** Add two integers. @param left First value. @param right Second value. @return Their sum. */
|
|
3
|
-
add(int left, int right)
|
|
4
|
+
add(int left, int right) :
|
|
4
5
|
return left + right
|
|
5
6
|
|
|
6
7
|
test add:
|
|
@@ -1,63 +1,21 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `arithmetic.aug`
|
|
4
|
-
|
|
5
|
-
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
-
|
|
7
|
-
## In this file
|
|
8
|
-
|
|
9
|
-
- [`add`](arithmetic.aug.md#symbol-add) is a function returning `int`.
|
|
10
|
-
- [`test add`](arithmetic.aug.md#symbol-test%20add) is a same-file test suite.
|
|
3
|
+
# `arithmetic.aug`
|
|
11
4
|
|
|
12
5
|
<a id="symbol-add"></a>
|
|
6
|
+
## `add` · [source](arithmetic.aug#L4)
|
|
13
7
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
[source](arithmetic.aug#L3)
|
|
17
|
-
|
|
18
|
-
**Inputs**
|
|
19
|
-
|
|
20
|
-
- `left` (`int`) — required labeled input.
|
|
21
|
-
- `right` (`int`) — required labeled input.
|
|
22
|
-
|
|
23
|
-
Returns: `int`.
|
|
24
|
-
|
|
25
|
-
**What it does**
|
|
26
|
-
|
|
27
|
-
- Return `left` plus `right`.
|
|
28
|
-
|
|
29
|
-
**Author documentation**
|
|
30
|
-
|
|
31
|
-
Add two integers.
|
|
32
|
-
|
|
33
|
-
**Returns** Their sum.
|
|
34
|
-
|
|
35
|
-
**Parameters**
|
|
36
|
-
- `left`: First value.
|
|
37
|
-
- `right`: Second value.
|
|
8
|
+
Add two integers. It takes `left` as an integer (First value) and `right` as an integer (Second value). It returns `int` — Their sum. It returns `left` plus `right`.
|
|
38
9
|
|
|
39
10
|
<a id="symbol-test add"></a>
|
|
11
|
+
## `test add` · [source](arithmetic.aug#L7)
|
|
40
12
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
[source](arithmetic.aug#L6)
|
|
44
|
-
|
|
45
|
-
Same-file function tests for [`add`](arithmetic.aug.md#symbol-add). Each case gets isolated setup and dependency bindings.
|
|
46
|
-
|
|
47
|
-
### Group `addition`
|
|
48
|
-
|
|
49
|
-
#### `adds_two_integers`
|
|
50
|
-
|
|
51
|
-
[source](arithmetic.aug#L8)
|
|
52
|
-
|
|
53
|
-
- Call `assert` with (call [`add`](arithmetic.aug.md#symbol-add) with `left` = `2`; `right` = `3` equals `5`).
|
|
54
|
-
|
|
55
|
-
## Built-in operations used by this file
|
|
13
|
+
Tests [`add`](arithmetic.aug.md#symbol-add). Each case gets fresh setup and dependencies.
|
|
56
14
|
|
|
57
|
-
|
|
15
|
+
### `addition`
|
|
58
16
|
|
|
59
|
-
|
|
17
|
+
#### `adds_two_integers` · [source](arithmetic.aug#L9)
|
|
60
18
|
|
|
61
|
-
|
|
19
|
+
The test requires [`add`](arithmetic.aug.md#symbol-add) with `left` `2` and `right` `3` equals `5`.
|
|
62
20
|
|
|
63
|
-
|
|
21
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
@@ -1,33 +1,13 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `main.aug`
|
|
3
|
+
# `main.aug`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Startup
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
It prints [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add) with `left` `20` and `right` `22`.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## Dependencies
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
It uses [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add) from `math`.
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
|
|
15
|
-
## Dependencies used by this file
|
|
16
|
-
|
|
17
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
18
|
-
|
|
19
|
-
### [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add)
|
|
20
|
-
|
|
21
|
-
Function from `math`.
|
|
22
|
-
|
|
23
|
-
- [`add`](.aug-spec/packages/%40example/aug-math/0.1.0/arithmetic.aug.md#symbol-add) (`left`: `int`, `right`: `int`) → `int`.
|
|
24
|
-
|
|
25
|
-
## Built-in operations used by this file
|
|
26
|
-
|
|
27
|
-
- `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
|
|
28
|
-
|
|
29
|
-
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
30
|
-
|
|
31
|
-
## Shared language rules
|
|
32
|
-
|
|
33
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
13
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
// aug-spec: "arithmetic.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
1
2
|
/** Add two integers. @param left First value. @param right Second value. @return Their sum. */
|
|
2
|
-
add(int left, int right)
|
|
3
|
+
add(int left, int right) :
|
|
3
4
|
return left + right
|
|
4
5
|
|
|
5
6
|
test add:
|
|
@@ -1,63 +1,21 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `arithmetic.aug`
|
|
4
|
-
|
|
5
|
-
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
-
|
|
7
|
-
## In this file
|
|
8
|
-
|
|
9
|
-
- [`add`](arithmetic.aug.md#symbol-add) is a function returning `int`.
|
|
10
|
-
- [`test add`](arithmetic.aug.md#symbol-test%20add) is a same-file test suite.
|
|
3
|
+
# `arithmetic.aug`
|
|
11
4
|
|
|
12
5
|
<a id="symbol-add"></a>
|
|
6
|
+
## `add` · [source](arithmetic.aug#L3)
|
|
13
7
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
[source](arithmetic.aug#L2)
|
|
17
|
-
|
|
18
|
-
**Inputs**
|
|
19
|
-
|
|
20
|
-
- `left` (`int`) — required labeled input.
|
|
21
|
-
- `right` (`int`) — required labeled input.
|
|
22
|
-
|
|
23
|
-
Returns: `int`.
|
|
24
|
-
|
|
25
|
-
**What it does**
|
|
26
|
-
|
|
27
|
-
- Return `left` plus `right`.
|
|
28
|
-
|
|
29
|
-
**Author documentation**
|
|
30
|
-
|
|
31
|
-
Add two integers.
|
|
32
|
-
|
|
33
|
-
**Returns** Their sum.
|
|
34
|
-
|
|
35
|
-
**Parameters**
|
|
36
|
-
- `left`: First value.
|
|
37
|
-
- `right`: Second value.
|
|
8
|
+
Add two integers. It takes `left` as an integer (First value) and `right` as an integer (Second value). It returns `int` — Their sum. It returns `left` plus `right`.
|
|
38
9
|
|
|
39
10
|
<a id="symbol-test add"></a>
|
|
11
|
+
## `test add` · [source](arithmetic.aug#L6)
|
|
40
12
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
[source](arithmetic.aug#L5)
|
|
44
|
-
|
|
45
|
-
Same-file function tests for [`add`](arithmetic.aug.md#symbol-add). Each case gets isolated setup and dependency bindings.
|
|
46
|
-
|
|
47
|
-
### Group `addition`
|
|
48
|
-
|
|
49
|
-
#### `adds_two_integers`
|
|
50
|
-
|
|
51
|
-
[source](arithmetic.aug#L7)
|
|
52
|
-
|
|
53
|
-
- Call `assert` with (call [`add`](arithmetic.aug.md#symbol-add) with `left` = `2`; `right` = `3` equals `5`).
|
|
54
|
-
|
|
55
|
-
## Built-in operations used by this file
|
|
13
|
+
Tests [`add`](arithmetic.aug.md#symbol-add). Each case gets fresh setup and dependencies.
|
|
56
14
|
|
|
57
|
-
|
|
15
|
+
### `addition`
|
|
58
16
|
|
|
59
|
-
|
|
17
|
+
#### `adds_two_integers` · [source](arithmetic.aug#L8)
|
|
60
18
|
|
|
61
|
-
|
|
19
|
+
The test requires [`add`](arithmetic.aug.md#symbol-add) with `left` `2` and `right` `3` equals `5`.
|
|
62
20
|
|
|
63
|
-
|
|
21
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `export.aug`
|
|
3
|
+
# `export.aug`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Exports
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- Export `add` from this folder.
|
|
10
|
-
|
|
11
|
-
## Folder exports
|
|
12
|
-
|
|
13
|
-
- Export the declaration `add` from [`arithmetic.aug`](arithmetic.aug.md#symbol-add).
|
|
14
|
-
|
|
15
|
-
## Shared language rules
|
|
16
|
-
|
|
17
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
7
|
+
Export the declaration `add` from [`arithmetic.aug`](arithmetic.aug.md#symbol-add).
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
// aug-spec: "counter.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
1
2
|
interface ICounter {
|
|
2
3
|
label() returns string
|
|
3
4
|
}
|
|
4
5
|
Counter(mutable int value) implements ICounter {
|
|
5
|
-
_label()
|
|
6
|
+
_label() {
|
|
6
7
|
return _prefix()
|
|
7
8
|
}
|
|
8
|
-
label()
|
|
9
|
+
label() {
|
|
9
10
|
return self._label()
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
|
-
_prefix()
|
|
13
|
+
_prefix() {
|
|
13
14
|
return "count"
|
|
14
15
|
}
|
|
@@ -1,87 +1,31 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `counter.aug`
|
|
4
|
-
|
|
5
|
-
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
-
|
|
7
|
-
## In this file
|
|
8
|
-
|
|
9
|
-
- [`ICounter`](counter.aug.md#symbol-ICounter) is an interface.
|
|
10
|
-
- [`Counter`](counter.aug.md#symbol-Counter) is a class implementing `ICounter`.
|
|
11
|
-
- [`_prefix`](counter.aug.md#symbol-_prefix) is a function returning `string`.
|
|
3
|
+
# `counter.aug`
|
|
12
4
|
|
|
13
5
|
<a id="symbol-ICounter"></a>
|
|
14
|
-
|
|
15
|
-
## `ICounter`
|
|
16
|
-
|
|
17
|
-
[source](counter.aug#L1)
|
|
18
|
-
|
|
19
|
-
Interface.
|
|
6
|
+
## `ICounter` · interface · [source](counter.aug#L2)
|
|
20
7
|
|
|
21
8
|
<a id="symbol-ICounter.label"></a>
|
|
9
|
+
### `ICounter.label` · [source](counter.aug#L3)
|
|
22
10
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
[source](counter.aug#L2)
|
|
26
|
-
|
|
27
|
-
Returns: `string`.
|
|
28
|
-
|
|
29
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
11
|
+
It returns `string`.
|
|
30
12
|
|
|
31
13
|
<a id="symbol-Counter"></a>
|
|
14
|
+
## `Counter` · class · [source](counter.aug#L5)
|
|
32
15
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
[source](counter.aug#L4)
|
|
36
|
-
|
|
37
|
-
Behavioral class.
|
|
38
|
-
|
|
39
|
-
Satisfies [`ICounter`](counter.aug.md#symbol-ICounter).
|
|
40
|
-
|
|
41
|
-
**Inputs**
|
|
42
|
-
|
|
43
|
-
- `value` (`int`) — required labeled input — stored as `value` and mutable.
|
|
16
|
+
It implements [`ICounter`](counter.aug.md#symbol-ICounter). It takes `value` as an integer, kept mutable.
|
|
44
17
|
|
|
45
18
|
<a id="symbol-Counter._label"></a>
|
|
19
|
+
### `Counter._label` · [source](counter.aug#L6)
|
|
46
20
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
[source](counter.aug#L5)
|
|
50
|
-
|
|
51
|
-
Private to its defining scope.
|
|
52
|
-
|
|
53
|
-
Returns: `string`.
|
|
54
|
-
|
|
55
|
-
**What it does**
|
|
56
|
-
|
|
57
|
-
- Return call [`_prefix`](counter.aug.md#symbol-_prefix).
|
|
21
|
+
It is private to its defining scope. It returns [`_prefix`](counter.aug.md#symbol-_prefix).
|
|
58
22
|
|
|
59
23
|
<a id="symbol-Counter.label"></a>
|
|
24
|
+
### `Counter.label` · [source](counter.aug#L9)
|
|
60
25
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
[source](counter.aug#L8)
|
|
64
|
-
|
|
65
|
-
Returns: `string`.
|
|
66
|
-
|
|
67
|
-
**What it does**
|
|
68
|
-
|
|
69
|
-
- Return call [`Counter._label`](counter.aug.md#symbol-Counter._label) on `self`.
|
|
26
|
+
It returns [`self._label`](counter.aug.md#symbol-Counter._label).
|
|
70
27
|
|
|
71
28
|
<a id="symbol-_prefix"></a>
|
|
29
|
+
## `_prefix` · [source](counter.aug#L13)
|
|
72
30
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
[source](counter.aug#L12)
|
|
76
|
-
|
|
77
|
-
Private to its defining scope.
|
|
78
|
-
|
|
79
|
-
Returns: `string`.
|
|
80
|
-
|
|
81
|
-
**What it does**
|
|
82
|
-
|
|
83
|
-
- Return `"count"`.
|
|
84
|
-
|
|
85
|
-
## Shared language rules
|
|
86
|
-
|
|
87
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
31
|
+
It is private to its defining scope. It returns `"count"`.
|
|
@@ -1,39 +1,13 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `main.aug`
|
|
3
|
+
# `main.aug`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Startup
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
It sets `counter` to a [`Counter`](counter.aug.md#symbol-Counter) with `value` `1`. It prints [`counter.label`](counter.aug.md#symbol-Counter.label). With temporary permission to change `counter`, it sets `counter.value` to `2`. It prints `counter.value`.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## Dependencies
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
It uses [`Counter`](counter.aug.md#symbol-Counter) ([`label`](counter.aug.md#symbol-Counter.label) and `value`) from `counter`.
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
- Call `print` with `value` = call [`Counter.label`](counter.aug.md#symbol-Counter.label) on `counter`.
|
|
15
|
-
- Grant exclusive mutable access to `counter` for this block, then end the borrow:
|
|
16
|
-
- Set `value` of `counter` to `2`.
|
|
17
|
-
- Call `print` with `value` = `value` of `counter`.
|
|
18
|
-
|
|
19
|
-
## Dependencies used by this file
|
|
20
|
-
|
|
21
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
22
|
-
|
|
23
|
-
### [`Counter`](counter.aug.md#symbol-Counter)
|
|
24
|
-
|
|
25
|
-
Class from `counter`.
|
|
26
|
-
|
|
27
|
-
- Construct with `value`: `int` → [`Counter`](counter.aug.md#symbol-Counter).
|
|
28
|
-
- Read `value` (`int`); its owner can change it.
|
|
29
|
-
- [`Counter.label`](counter.aug.md#symbol-Counter.label) (no caller inputs) → `string`.
|
|
30
|
-
|
|
31
|
-
## Built-in operations used by this file
|
|
32
|
-
|
|
33
|
-
- `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
|
|
34
|
-
|
|
35
|
-
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
36
|
-
|
|
37
|
-
## Shared language rules
|
|
38
|
-
|
|
39
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
13
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Working on this August project
|
|
2
|
+
|
|
3
|
+
Start in main.aug. It shows the imports, dependency bindings, and application startup.
|
|
4
|
+
Read the adjacent .aug.md specification before changing a source file. Generate missing
|
|
5
|
+
or stale explanations with aug spec; they describe checked behavior and link dependencies.
|
|
6
|
+
|
|
7
|
+
Keep tests in the file that declares the behavior. Run aug check, aug test, and aug spec
|
|
8
|
+
after a change, and use aug run to compile and run the application. Run prepares required
|
|
9
|
+
source packages and native libraries. Commit aug.lock.json; do not edit .aug-packages.
|
|
10
|
+
|
|
11
|
+
Use labeled inputs, narrow export.aug files, and underscore-prefixed private helpers.
|
|
12
|
+
Leave return types, effects, and errors to inference when an executable body provides
|
|
13
|
+
the answer. Bodyless interfaces still declare their contracts. Use borrow for mutation,
|
|
14
|
+
and keep unsafe native calls inside small adapters. Explain intent in Javadoc when it
|
|
15
|
+
is not evident from the code. Follow the existing indentation or brace style.
|
|
16
|
+
|
|
17
|
+
Language guide: https://greenpandastudios.github.io/augscript/
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# weather-api
|
|
2
|
+
|
|
3
|
+
A simulated weather API in August. Its endpoint, JSON record, and tests live in forecasts.aug.
|
|
4
|
+
|
|
5
|
+
Run the server:
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
aug run
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Open http://127.0.0.1:8787/weatherforecast for five forecasts, or http://127.0.0.1:8787/docs for the OpenAPI viewer. These are fixed examples, not live weather observations.
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
curl http://127.0.0.1:8787/weatherforecast
|
|
15
|
+
aug test
|
|
16
|
+
aug spec
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Guide: https://greenpandastudios.github.io/augscript/weather-api
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// aug-spec: "forecasts.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
2
|
+
/** The JSON shape returned by the forecast endpoint. Temperatures use whole degrees. */
|
|
3
|
+
record WeatherForecast(string date, int temperatureC, int temperatureF, string summary)
|
|
4
|
+
|
|
5
|
+
/** Return five simulated forecasts. Fixed data keeps the example and its tests reproducible. */
|
|
6
|
+
endpoint GET "/weatherforecast" as weatherForecast():
|
|
7
|
+
return [
|
|
8
|
+
WeatherForecast(
|
|
9
|
+
date="2026-01-01",
|
|
10
|
+
temperatureC=0,
|
|
11
|
+
temperatureF=32,
|
|
12
|
+
summary="Freezing"
|
|
13
|
+
),
|
|
14
|
+
WeatherForecast(
|
|
15
|
+
date="2026-01-02",
|
|
16
|
+
temperatureC=10,
|
|
17
|
+
temperatureF=50,
|
|
18
|
+
summary="Cool"
|
|
19
|
+
),
|
|
20
|
+
WeatherForecast(
|
|
21
|
+
date="2026-01-03",
|
|
22
|
+
temperatureC=20,
|
|
23
|
+
temperatureF=68,
|
|
24
|
+
summary="Mild"
|
|
25
|
+
),
|
|
26
|
+
WeatherForecast(
|
|
27
|
+
date="2026-01-04",
|
|
28
|
+
temperatureC=30,
|
|
29
|
+
temperatureF=86,
|
|
30
|
+
summary="Warm"
|
|
31
|
+
),
|
|
32
|
+
WeatherForecast(
|
|
33
|
+
date="2026-01-05",
|
|
34
|
+
temperatureC=35,
|
|
35
|
+
temperatureF=95,
|
|
36
|
+
summary="Hot"
|
|
37
|
+
)
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
test endpoint weatherForecast client:
|
|
41
|
+
when forecasts:
|
|
42
|
+
it returns_json:
|
|
43
|
+
response = client.request(method="GET", path="/weatherforecast")
|
|
44
|
+
assert(condition=response.status == 200)
|
|
45
|
+
it rejects_other_methods:
|
|
46
|
+
response = client.request(method="POST", path="/weatherforecast")
|
|
47
|
+
assert(condition=response.status == 405)
|