@pithy-sh/core 0.1.2 → 0.1.4
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/dist/address/address.d.ts +57 -0
- package/dist/address/address.d.ts.map +1 -0
- package/dist/address/address.js +71 -0
- package/dist/audit/auditEvent.d.ts +89 -0
- package/dist/audit/auditEvent.d.ts.map +1 -0
- package/dist/audit/auditEvent.js +69 -0
- package/dist/audit/recorder.d.ts +18 -0
- package/dist/audit/recorder.d.ts.map +1 -0
- package/dist/audit/recorder.js +8 -0
- package/dist/capability/bindings.d.ts +62 -0
- package/dist/capability/bindings.d.ts.map +1 -0
- package/dist/capability/bindings.js +97 -0
- package/dist/capability/capability.d.ts +501 -0
- package/dist/capability/capability.d.ts.map +1 -0
- package/dist/capability/capability.js +16 -0
- package/dist/capability/client.d.ts +70 -0
- package/dist/capability/client.d.ts.map +1 -0
- package/dist/capability/client.js +86 -0
- package/dist/capability/compose.d.ts +25 -0
- package/dist/capability/compose.d.ts.map +1 -0
- package/dist/capability/compose.js +54 -0
- package/dist/capability/composition.d.ts +26 -0
- package/dist/capability/composition.d.ts.map +1 -0
- package/dist/capability/composition.js +84 -0
- package/dist/capability/config.d.ts +7 -0
- package/dist/capability/config.d.ts.map +1 -0
- package/dist/capability/config.js +14 -0
- package/dist/capability/devSecret.d.ts +32 -0
- package/dist/capability/devSecret.d.ts.map +1 -0
- package/dist/capability/devSecret.js +28 -0
- package/dist/capability/manifest.d.ts +298 -0
- package/dist/capability/manifest.d.ts.map +1 -0
- package/dist/capability/manifest.js +356 -0
- package/dist/capability/secretOrigin.d.ts +121 -0
- package/dist/capability/secretOrigin.d.ts.map +1 -0
- package/dist/capability/secretOrigin.js +134 -0
- package/dist/capability/settings.d.ts +119 -0
- package/dist/capability/settings.d.ts.map +1 -0
- package/dist/capability/settings.js +66 -0
- package/dist/capability/validateBindings.d.ts +4 -0
- package/dist/capability/validateBindings.d.ts.map +1 -0
- package/dist/capability/validateBindings.js +34 -0
- package/dist/capability/vanishingKey.d.ts +31 -0
- package/dist/capability/vanishingKey.d.ts.map +1 -0
- package/dist/capability/vanishingKey.js +79 -0
- package/dist/controlPlane/audit/actions.d.ts +70 -0
- package/dist/controlPlane/audit/actions.d.ts.map +1 -0
- package/dist/controlPlane/audit/actions.js +76 -0
- package/dist/controlPlane/capability.d.ts +47 -0
- package/dist/controlPlane/capability.d.ts.map +1 -0
- package/dist/controlPlane/capability.js +138 -0
- package/dist/controlPlane/config/config.d.ts +19 -0
- package/dist/controlPlane/config/config.d.ts.map +1 -0
- package/dist/controlPlane/config/config.js +85 -0
- package/dist/controlPlane/context.d.ts +27 -0
- package/dist/controlPlane/context.d.ts.map +1 -0
- package/dist/controlPlane/context.js +29 -0
- package/dist/controlPlane/data/connection.d.ts +79 -0
- package/dist/controlPlane/data/connection.d.ts.map +1 -0
- package/dist/controlPlane/data/connection.js +55 -0
- package/dist/controlPlane/data/keyLifecycle.d.ts +62 -0
- package/dist/controlPlane/data/keyLifecycle.d.ts.map +1 -0
- package/dist/controlPlane/data/keyLifecycle.js +126 -0
- package/dist/controlPlane/data/replay.d.ts +18 -0
- package/dist/controlPlane/data/replay.d.ts.map +1 -0
- package/dist/controlPlane/data/replay.js +20 -0
- package/dist/controlPlane/data/tables.d.ts +34 -0
- package/dist/controlPlane/data/tables.d.ts.map +1 -0
- package/dist/controlPlane/data/tables.js +37 -0
- package/dist/controlPlane/discovery/adminRoute.d.ts +313 -0
- package/dist/controlPlane/discovery/adminRoute.d.ts.map +1 -0
- package/dist/controlPlane/discovery/adminRoute.js +136 -0
- package/dist/controlPlane/discovery/configuration.d.ts +108 -0
- package/dist/controlPlane/discovery/configuration.d.ts.map +1 -0
- package/dist/controlPlane/discovery/configuration.js +187 -0
- package/dist/controlPlane/discovery/drift.d.ts +64 -0
- package/dist/controlPlane/discovery/drift.d.ts.map +1 -0
- package/dist/controlPlane/discovery/drift.js +58 -0
- package/dist/controlPlane/discovery/health.d.ts +99 -0
- package/dist/controlPlane/discovery/health.d.ts.map +1 -0
- package/dist/controlPlane/discovery/health.js +151 -0
- package/dist/controlPlane/discovery/healthSummary.d.ts +236 -0
- package/dist/controlPlane/discovery/healthSummary.d.ts.map +1 -0
- package/dist/controlPlane/discovery/healthSummary.js +278 -0
- package/dist/controlPlane/error/errors.d.ts +67 -0
- package/dist/controlPlane/error/errors.d.ts.map +1 -0
- package/dist/controlPlane/error/errors.js +79 -0
- package/dist/controlPlane/http/cors.d.ts +112 -0
- package/dist/controlPlane/http/cors.d.ts.map +1 -0
- package/dist/controlPlane/http/cors.js +192 -0
- package/dist/controlPlane/http/guard.d.ts +77 -0
- package/dist/controlPlane/http/guard.d.ts.map +1 -0
- package/dist/controlPlane/http/guard.js +142 -0
- package/dist/controlPlane/http/handlers.d.ts +179 -0
- package/dist/controlPlane/http/handlers.d.ts.map +1 -0
- package/dist/controlPlane/http/handlers.js +245 -0
- package/dist/controlPlane/http/responses.d.ts +99 -0
- package/dist/controlPlane/http/responses.d.ts.map +1 -0
- package/dist/controlPlane/http/responses.js +63 -0
- package/dist/controlPlane/http/routes.d.ts +40 -0
- package/dist/controlPlane/http/routes.d.ts.map +1 -0
- package/dist/controlPlane/http/routes.js +83 -0
- package/dist/controlPlane/http/schemas.d.ts +39 -0
- package/dist/controlPlane/http/schemas.d.ts.map +1 -0
- package/dist/controlPlane/http/schemas.js +31 -0
- package/dist/controlPlane/http/verify.d.ts +84 -0
- package/dist/controlPlane/http/verify.d.ts.map +1 -0
- package/dist/controlPlane/http/verify.js +65 -0
- package/dist/controlPlane/migrations/0001_init.d.ts +51 -0
- package/dist/controlPlane/migrations/0001_init.d.ts.map +1 -0
- package/dist/controlPlane/migrations/0001_init.js +65 -0
- package/dist/controlPlane/replay/d1Guard.d.ts +29 -0
- package/dist/controlPlane/replay/d1Guard.d.ts.map +1 -0
- package/dist/controlPlane/replay/d1Guard.js +39 -0
- package/dist/controlPlane/replay/guard.d.ts +52 -0
- package/dist/controlPlane/replay/guard.d.ts.map +1 -0
- package/dist/controlPlane/replay/guard.js +0 -0
- package/dist/controlPlane/replay/kvGuard.d.ts +99 -0
- package/dist/controlPlane/replay/kvGuard.d.ts.map +1 -0
- package/dist/controlPlane/replay/kvGuard.js +101 -0
- package/dist/controlPlane/scope/scope.d.ts +68 -0
- package/dist/controlPlane/scope/scope.d.ts.map +1 -0
- package/dist/controlPlane/scope/scope.js +63 -0
- package/dist/controlPlane/token/base64url.d.ts +10 -0
- package/dist/controlPlane/token/base64url.d.ts.map +1 -0
- package/dist/controlPlane/token/base64url.js +48 -0
- package/dist/controlPlane/token/claims.d.ts +83 -0
- package/dist/controlPlane/token/claims.d.ts.map +1 -0
- package/dist/controlPlane/token/claims.js +86 -0
- package/dist/controlPlane/token/digest.d.ts +44 -0
- package/dist/controlPlane/token/digest.d.ts.map +1 -0
- package/dist/controlPlane/token/digest.js +56 -0
- package/dist/controlPlane/token/jws.d.ts +52 -0
- package/dist/controlPlane/token/jws.d.ts.map +1 -0
- package/dist/controlPlane/token/jws.js +65 -0
- package/dist/controlPlane/token/mint.d.ts +56 -0
- package/dist/controlPlane/token/mint.d.ts.map +1 -0
- package/dist/controlPlane/token/mint.js +55 -0
- package/dist/controlPlane/wire.d.ts +122 -0
- package/dist/controlPlane/wire.d.ts.map +1 -0
- package/dist/controlPlane/wire.js +123 -0
- package/dist/createBackend.d.ts +58 -0
- package/dist/createBackend.d.ts.map +1 -0
- package/dist/createBackend.js +170 -0
- package/dist/createEntrypoint.d.ts +53 -0
- package/dist/createEntrypoint.d.ts.map +1 -0
- package/dist/createEntrypoint.js +52 -0
- package/dist/data/boundParameters.d.ts +83 -0
- package/dist/data/boundParameters.d.ts.map +1 -0
- package/dist/data/boundParameters.js +162 -0
- package/dist/data/codecs.d.ts +34 -0
- package/dist/data/codecs.d.ts.map +1 -0
- package/dist/data/codecs.js +135 -0
- package/dist/data/cursor.d.ts +81 -0
- package/dist/data/cursor.d.ts.map +1 -0
- package/dist/data/cursor.js +104 -0
- package/dist/data/databases.d.ts +55 -0
- package/dist/data/databases.d.ts.map +1 -0
- package/dist/data/databases.js +32 -0
- package/dist/data/db.d.ts +42 -0
- package/dist/data/db.d.ts.map +1 -0
- package/dist/data/db.js +24 -0
- package/dist/data/withD1Retry.d.ts +91 -0
- package/dist/data/withD1Retry.d.ts.map +1 -0
- package/dist/data/withD1Retry.js +152 -0
- package/dist/entitlement/entitlement.d.ts +118 -0
- package/dist/entitlement/entitlement.d.ts.map +1 -0
- package/dist/entitlement/entitlement.js +59 -0
- package/dist/entitlement/gateScan.d.ts +26 -0
- package/dist/entitlement/gateScan.d.ts.map +1 -0
- package/dist/entitlement/gateScan.js +96 -0
- package/dist/entitlement/require.d.ts +12 -0
- package/dist/entitlement/require.d.ts.map +1 -0
- package/dist/entitlement/require.js +123 -0
- package/dist/env/ambient.d.ts +52 -0
- package/dist/env/ambient.d.ts.map +1 -0
- package/dist/env/ambient.js +35 -0
- package/dist/env/ci.d.ts +36 -0
- package/dist/env/ci.d.ts.map +1 -0
- package/dist/env/ci.js +40 -0
- package/dist/env/stem.d.ts +23 -0
- package/dist/env/stem.d.ts.map +1 -0
- package/dist/env/stem.js +29 -0
- package/dist/error/cause.d.ts +143 -0
- package/dist/error/cause.d.ts.map +1 -0
- package/dist/error/cause.js +192 -0
- package/dist/error/client.d.ts +35 -0
- package/dist/error/client.d.ts.map +1 -0
- package/dist/error/client.js +38 -0
- package/dist/error/extend.d.ts +101 -0
- package/dist/error/extend.d.ts.map +1 -0
- package/dist/error/extend.js +76 -0
- package/dist/error/http.d.ts +1516 -0
- package/dist/error/http.d.ts.map +1 -0
- package/dist/error/http.js +72 -0
- package/dist/error/payload.d.ts +3034 -0
- package/dist/error/payload.d.ts.map +1 -0
- package/dist/error/payload.js +1110 -0
- package/dist/error/pithyError.d.ts +154 -0
- package/dist/error/pithyError.d.ts.map +1 -0
- package/dist/error/pithyError.js +197 -0
- package/dist/error/terminal.d.ts +28 -0
- package/dist/error/terminal.d.ts.map +1 -0
- package/dist/error/terminal.js +33 -0
- package/dist/http/authContext.d.ts +21 -0
- package/dist/http/authContext.d.ts.map +1 -0
- package/dist/http/authContext.js +23 -0
- package/dist/http/routeContract.d.ts +39 -0
- package/dist/http/routeContract.d.ts.map +1 -0
- package/dist/http/routeContract.js +82 -0
- package/dist/http/sameOrigin.d.ts +47 -0
- package/dist/http/sameOrigin.d.ts.map +1 -0
- package/dist/http/sameOrigin.js +24 -0
- package/dist/http/signedWebhook.d.ts +225 -0
- package/dist/http/signedWebhook.d.ts.map +1 -0
- package/dist/http/signedWebhook.js +247 -0
- package/dist/http/validation.d.ts +37 -0
- package/dist/http/validation.d.ts.map +1 -0
- package/dist/http/validation.js +14 -0
- package/dist/http/verification.d.ts +10 -0
- package/dist/http/verification.d.ts.map +1 -0
- package/dist/http/verification.js +17 -0
- package/dist/i18n/acceptLanguage.d.ts +22 -0
- package/dist/i18n/acceptLanguage.d.ts.map +1 -0
- package/dist/i18n/acceptLanguage.js +55 -0
- package/dist/i18n/catalog.d.ts +39 -0
- package/dist/i18n/catalog.d.ts.map +1 -0
- package/dist/i18n/catalog.js +57 -0
- package/dist/i18n/locale.d.ts +74 -0
- package/dist/i18n/locale.d.ts.map +1 -0
- package/dist/i18n/locale.js +109 -0
- package/dist/i18n/localeMarker.d.ts +29 -0
- package/dist/i18n/localeMarker.d.ts.map +1 -0
- package/dist/i18n/localeMarker.js +112 -0
- package/dist/i18n/match.d.ts +26 -0
- package/dist/i18n/match.d.ts.map +1 -0
- package/dist/i18n/match.js +88 -0
- package/dist/i18n/registry.d.ts +25 -0
- package/dist/i18n/registry.d.ts.map +1 -0
- package/dist/i18n/registry.js +51 -0
- package/dist/i18n/translator.d.ts +107 -0
- package/dist/i18n/translator.d.ts.map +1 -0
- package/dist/i18n/translator.js +80 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/kv/kv.d.ts +166 -0
- package/dist/kv/kv.d.ts.map +1 -0
- package/dist/kv/kv.js +261 -0
- package/dist/kv/namespaces.d.ts +58 -0
- package/dist/kv/namespaces.d.ts.map +1 -0
- package/dist/kv/namespaces.js +40 -0
- package/dist/logger/local.d.ts +41 -0
- package/dist/logger/local.d.ts.map +1 -0
- package/dist/logger/local.js +45 -0
- package/dist/logger/logger.d.ts +56 -0
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +83 -0
- package/dist/logger/record.d.ts +919 -0
- package/dist/logger/record.d.ts.map +1 -0
- package/dist/logger/record.js +79 -0
- package/dist/logger/worker.d.ts +74 -0
- package/dist/logger/worker.d.ts.map +1 -0
- package/dist/logger/worker.js +54 -0
- package/dist/migrations/batch.d.ts +10 -0
- package/dist/migrations/batch.d.ts.map +1 -0
- package/dist/migrations/batch.js +193 -0
- package/dist/migrations/bookkeeping.d.ts +24 -0
- package/dist/migrations/bookkeeping.d.ts.map +1 -0
- package/dist/migrations/bookkeeping.js +57 -0
- package/dist/migrations/owner.d.ts +41 -0
- package/dist/migrations/owner.d.ts.map +1 -0
- package/dist/migrations/owner.js +105 -0
- package/dist/migrations/registry.d.ts +36 -0
- package/dist/migrations/registry.d.ts.map +1 -0
- package/dist/migrations/registry.js +70 -0
- package/dist/migrations/runner.d.ts +67 -0
- package/dist/migrations/runner.d.ts.map +1 -0
- package/dist/migrations/runner.js +218 -0
- package/dist/naming/domains.d.ts +108 -0
- package/dist/naming/domains.d.ts.map +1 -0
- package/dist/naming/domains.js +156 -0
- package/dist/naming/environment.d.ts +118 -0
- package/dist/naming/environment.d.ts.map +1 -0
- package/dist/naming/environment.js +190 -0
- package/dist/naming/feature.d.ts +68 -0
- package/dist/naming/feature.d.ts.map +1 -0
- package/dist/naming/feature.js +106 -0
- package/dist/naming/limits.d.ts +229 -0
- package/dist/naming/limits.d.ts.map +1 -0
- package/dist/naming/limits.js +187 -0
- package/dist/naming/provisionScope.d.ts +91 -0
- package/dist/naming/provisionScope.d.ts.map +1 -0
- package/dist/naming/provisionScope.js +65 -0
- package/dist/naming/resource.d.ts +169 -0
- package/dist/naming/resource.d.ts.map +1 -0
- package/dist/naming/resource.js +220 -0
- package/dist/naming/resourceNames.d.ts +83 -0
- package/dist/naming/resourceNames.d.ts.map +1 -0
- package/dist/naming/resourceNames.js +102 -0
- package/dist/naming/segment.d.ts +29 -0
- package/dist/naming/segment.d.ts.map +1 -0
- package/dist/naming/segment.js +31 -0
- package/dist/projection/asRead.d.ts +72 -0
- package/dist/projection/asRead.d.ts.map +1 -0
- package/dist/projection/asRead.js +169 -0
- package/dist/projection/published.d.ts +95 -0
- package/dist/projection/published.d.ts.map +1 -0
- package/dist/projection/published.js +114 -0
- package/dist/schema/describedness.d.ts +55 -0
- package/dist/schema/describedness.d.ts.map +1 -0
- package/dist/schema/describedness.js +180 -0
- package/dist/seed/compose.d.ts +41 -0
- package/dist/seed/compose.d.ts.map +1 -0
- package/dist/seed/compose.js +51 -0
- package/dist/seed/devLogin.d.ts +50 -0
- package/dist/seed/devLogin.d.ts.map +1 -0
- package/dist/seed/devLogin.js +52 -0
- package/dist/seed/exampleIdentities.d.ts +58 -0
- package/dist/seed/exampleIdentities.d.ts.map +1 -0
- package/dist/seed/exampleIdentities.js +26 -0
- package/dist/seed/metadata.d.ts +20 -0
- package/dist/seed/metadata.d.ts.map +1 -0
- package/dist/seed/metadata.js +27 -0
- package/dist/seed/seed.d.ts +264 -0
- package/dist/seed/seed.d.ts.map +1 -0
- package/dist/seed/seed.js +37 -0
- package/dist/seed/seededRows.d.ts +26 -0
- package/dist/seed/seededRows.d.ts.map +1 -0
- package/dist/seed/seededRows.js +20 -0
- package/dist/seed/writeD1.d.ts +43 -0
- package/dist/seed/writeD1.d.ts.map +1 -0
- package/dist/seed/writeD1.js +73 -0
- package/dist/seed/writeKv.d.ts +29 -0
- package/dist/seed/writeKv.d.ts.map +1 -0
- package/dist/seed/writeKv.js +63 -0
- package/dist/semver/semver.d.ts +62 -0
- package/dist/semver/semver.d.ts.map +1 -0
- package/dist/semver/semver.js +137 -0
- package/dist/text/comments.d.ts +62 -0
- package/dist/text/comments.d.ts.map +1 -0
- package/dist/text/comments.js +161 -0
- package/dist/version.generated.d.ts +5 -0
- package/dist/version.generated.d.ts.map +1 -0
- package/dist/version.generated.js +7 -0
- package/dist/worker/health.d.ts +39 -0
- package/dist/worker/health.d.ts.map +1 -0
- package/dist/worker/health.js +41 -0
- package/dist/worker/identity.d.ts +191 -0
- package/dist/worker/identity.d.ts.map +1 -0
- package/dist/worker/identity.js +162 -0
- package/dist/workflow/bindings.d.ts +41 -0
- package/dist/workflow/bindings.d.ts.map +1 -0
- package/dist/workflow/bindings.js +53 -0
- package/dist/workflow/dispatch.d.ts +98 -0
- package/dist/workflow/dispatch.d.ts.map +1 -0
- package/dist/workflow/dispatch.js +148 -0
- package/dist/workflow/dispatchRoute.d.ts +80 -0
- package/dist/workflow/dispatchRoute.d.ts.map +1 -0
- package/dist/workflow/dispatchRoute.js +134 -0
- package/dist/workflow/faults.d.ts +97 -0
- package/dist/workflow/faults.d.ts.map +1 -0
- package/dist/workflow/faults.js +111 -0
- package/dist/workflow/host.d.ts +176 -0
- package/dist/workflow/host.d.ts.map +1 -0
- package/dist/workflow/host.js +116 -0
- package/dist/workflow/hostEntry.d.ts +50 -0
- package/dist/workflow/hostEntry.d.ts.map +1 -0
- package/dist/workflow/hostEntry.js +24 -0
- package/dist/workflow/hostEnv.d.ts +143 -0
- package/dist/workflow/hostEnv.d.ts.map +1 -0
- package/dist/workflow/hostEnv.js +170 -0
- package/dist/workflow/loopback.d.ts +52 -0
- package/dist/workflow/loopback.d.ts.map +1 -0
- package/dist/workflow/loopback.js +76 -0
- package/dist/workflow/naming.d.ts +79 -0
- package/dist/workflow/naming.d.ts.map +1 -0
- package/dist/workflow/naming.js +138 -0
- package/dist/workflow/register.d.ts +19 -0
- package/dist/workflow/register.d.ts.map +1 -0
- package/dist/workflow/register.js +40 -0
- package/dist/workflow/schemas.d.ts +44 -0
- package/dist/workflow/schemas.d.ts.map +1 -0
- package/dist/workflow/schemas.js +43 -0
- package/dist/workflow/spec.d.ts +81 -0
- package/dist/workflow/spec.d.ts.map +1 -0
- package/dist/workflow/spec.js +0 -0
- package/dist/workflow/stepMessage.d.ts +122 -0
- package/dist/workflow/stepMessage.d.ts.map +1 -0
- package/dist/workflow/stepMessage.js +152 -0
- package/package.json +20 -9
- package/src/capability/manifest.ts +21 -0
- package/src/version.generated.ts +1 -1
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* What a manifest states as an option's rendered value: a JSON value other than `null`, nested freely,
|
|
4
|
+
* and printable as source without Biome wanting it back a different way.
|
|
5
|
+
*
|
|
6
|
+
* A scalar is what an option normally is, and every `--set` override still coerces to one — the CLI
|
|
7
|
+
* takes strings from a flag or a prompt, and neither can carry an object.
|
|
8
|
+
*
|
|
9
|
+
* Objects and arrays are here for the options a scalar cannot express: one the capability's config type
|
|
10
|
+
* **requires** and whose contents only the adopter can write. `SecretsConfig` requires a `registry`; a
|
|
11
|
+
* manifest could not state one, so `pithy add secrets` rendered every option but that and left a
|
|
12
|
+
* `pithy.config.ts` failing `tsc` with TS2741 on a project nobody had touched yet (#161).
|
|
13
|
+
*
|
|
14
|
+
* #161 admitted only the **empty** literal, which is right for a registry — an empty registry is a legal
|
|
15
|
+
* registry. It is wrong everywhere the collection is required to be non-empty. `ledger.currencies`,
|
|
16
|
+
* `leaderboard.boards` and `multiplayer.games` each carry `.min(1)` with a message saying why, so an
|
|
17
|
+
* empty seed typechecks and then throws `too_small` on the first config load — and `pithy upgrade`
|
|
18
|
+
* reports that as "Could not load pithy.config.ts", naming the wrong cause (#168). So a default may now
|
|
19
|
+
* be a **complete, minimal, working example**: one currency, one board, one game. The option's
|
|
20
|
+
* `describe`, rendered as the comment directly above it, is what tells the adopter to replace it.
|
|
21
|
+
*
|
|
22
|
+
* `null` stays out. `typeof null === "object"`, and the CLI reads exactly that to decide an option is
|
|
23
|
+
* hand-written and therefore not settable from `--set` or a prompt; a null default would be mistaken for
|
|
24
|
+
* a collection nobody can fill.
|
|
25
|
+
*
|
|
26
|
+
* The recursion is this widening's cost, paid in the open. Every shape admitted here has to come back
|
|
27
|
+
* out as the TypeScript Biome prints — see {@link renderConfigValue}.
|
|
28
|
+
*
|
|
29
|
+
* **The schema is narrower than the type, deliberately.** TypeScript cannot say "a string with no double
|
|
30
|
+
* quote in it", so the two characters {@link renderConfigValue} cannot print as Biome would are refused
|
|
31
|
+
* here instead, at the one door a manifest comes through. The alternative was to teach the renderer
|
|
32
|
+
* Biome's quote-preference heuristic and its numeric-literal normalizer, and then keep both in step with
|
|
33
|
+
* a formatter that is free to change either — for inputs no worked example should carry. A manifest
|
|
34
|
+
* default is an *example*; one that needs a quote inside a string is already too clever (#171).
|
|
35
|
+
*/
|
|
36
|
+
export type ConfigOptionValue = string | number | boolean | ConfigOptionValue[] | {
|
|
37
|
+
[key: string]: ConfigOptionValue;
|
|
38
|
+
};
|
|
39
|
+
export declare const ConfigOptionValue: z.ZodType<ConfigOptionValue>;
|
|
40
|
+
/**
|
|
41
|
+
* Render a manifest default as TypeScript source, on one line.
|
|
42
|
+
*
|
|
43
|
+
* `pithy add` writes this straight into the adopter's `pithy.config.ts`, which the scaffold's own
|
|
44
|
+
* `biome check` then reads — so *valid* TypeScript is not the bar. It has to be the TypeScript Biome
|
|
45
|
+
* would have printed. `JSON.stringify` is not: it quotes every key, and Biome's `quoteProperties`
|
|
46
|
+
* default rewrites `{"code":"chips"}` to `{ code: "chips" }`, failing the lint gate on a project the
|
|
47
|
+
* adopter has not touched. This prints Biome's shape directly — bare keys wherever they are legal,
|
|
48
|
+
* spaces inside braces, `, ` between entries, `{}` and `[]` for the empty literals #161 relies on.
|
|
49
|
+
*
|
|
50
|
+
* **Total over what {@link ConfigOptionValue} *parses*, which is narrower than what it types.** The two
|
|
51
|
+
* shapes the schema refuses — a string carrying `"` or `${`, a number no plain decimal spells — are
|
|
52
|
+
* refused here too, with a `ValidationError`. A manifest cannot reach that path, since every manifest is
|
|
53
|
+
* parsed before it is rendered; `pithy add --set` can, because a flag's string goes straight through. A
|
|
54
|
+
* refusal at the command beats a config file that fails the adopter's first `bun run lint`.
|
|
55
|
+
*
|
|
56
|
+
* One line, always. Biome breaks any literal past {@link CONFIG_LINE_WIDTH}, and a broken literal is a
|
|
57
|
+
* `biome check` failure on a project the adopter has not touched — #161 and #168 both. That rule used to
|
|
58
|
+
* be this sentence and nothing else, with multiplayer's seed sitting at 98 columns of 120; it is now a
|
|
59
|
+
* test over every shipped manifest default, rendered by {@link renderConfigOptionLine} at the indent the
|
|
60
|
+
* writers really use (#171).
|
|
61
|
+
*/
|
|
62
|
+
export declare function renderConfigValue(value: ConfigOptionValue): string;
|
|
63
|
+
/**
|
|
64
|
+
* The column Biome wraps at — `formatter.lineWidth` in the `biome.jsonc` that `pithy init` scaffolds.
|
|
65
|
+
*
|
|
66
|
+
* A line of exactly this width survives untouched; one character more and Biome explodes the literal
|
|
67
|
+
* across a dozen lines, so `biome check` fails on a file the adopter never opened. Measured by running
|
|
68
|
+
* Biome over generated lines of 118 through 122 columns, not read off a docs page.
|
|
69
|
+
*/
|
|
70
|
+
export declare const CONFIG_LINE_WIDTH = 120;
|
|
71
|
+
/**
|
|
72
|
+
* The indent both writers render an option line at in a scaffolded project: the managed-region marker
|
|
73
|
+
* sits four columns in, and an option sits two further.
|
|
74
|
+
*
|
|
75
|
+
* Each writer takes its real indent from the file it is editing, so an adopter who nested `capabilities`
|
|
76
|
+
* deeper gets a longer line than this. This is the scaffold's indent, and the scaffold is what the width
|
|
77
|
+
* rule is measured against — a default that does not fit here fits nowhere.
|
|
78
|
+
*/
|
|
79
|
+
export declare const CONFIG_OPTION_INDENT = " ";
|
|
80
|
+
/**
|
|
81
|
+
* The one line both writers put in `pithy.config.ts` for one option.
|
|
82
|
+
*
|
|
83
|
+
* `pithy add` renders a whole registration and `pithy upgrade` splices keys into an existing one, but the
|
|
84
|
+
* line itself is this — so neither command can drift from the other by rendering a default its own way.
|
|
85
|
+
* That drift was real and shipped: `upgrade` called `JSON.stringify` where `add` called
|
|
86
|
+
* {@link renderConfigValue}, so one manifest produced `{"code":"chips"}` from one command and
|
|
87
|
+
* `{ code: "chips" }` from the other, and only the second survived `biome check` (#171).
|
|
88
|
+
*
|
|
89
|
+
* The comment above the line is not measured against {@link CONFIG_LINE_WIDTH}: Biome never reflows a
|
|
90
|
+
* comment, so an option's `describe` may run as long as it needs to.
|
|
91
|
+
*/
|
|
92
|
+
/**
|
|
93
|
+
* What a writer has decided to put on the right of an option line: a value, or one of the scaffold's
|
|
94
|
+
* constants referenced by name.
|
|
95
|
+
*
|
|
96
|
+
* A marker object rather than a string, because a string would be indistinguishable from a value that
|
|
97
|
+
* happens to spell an identifier — and the difference is quotes, which is the difference between an
|
|
98
|
+
* origin that follows the environment and one written down. Constructed by the CLI from
|
|
99
|
+
* `ConfigOption.constant` after it has checked the target config declares it; never parsed from a
|
|
100
|
+
* manifest, which states only the key.
|
|
101
|
+
*/
|
|
102
|
+
export interface ConfigConstantRef {
|
|
103
|
+
/** The constant to render, by key into {@link CONFIG_CONSTANTS}. */
|
|
104
|
+
readonly constant: ConfigConstant;
|
|
105
|
+
}
|
|
106
|
+
export declare function renderConfigOptionLine(key: string, value: ConfigOptionValue | ConfigConstantRef, indent: string): string;
|
|
107
|
+
/**
|
|
108
|
+
* The comment line both writers put above an option: its `describe`, verbatim, as a `//` comment.
|
|
109
|
+
*
|
|
110
|
+
* The rationale is the whole reason the generated config documents itself, and it comes out of a manifest
|
|
111
|
+
* read from `node_modules` — third-party text reaching generated source. Both writers used to build this
|
|
112
|
+
* line themselves, which is the arrangement that let `pithy add` and `pithy upgrade` disagree about the
|
|
113
|
+
* line *below* it (#171); they now share this, so a rule stated here holds for both.
|
|
114
|
+
*
|
|
115
|
+
* Total over what {@link ConfigOption} parses, exactly as {@link renderConfigOptionLine} is: a manifest
|
|
116
|
+
* cannot reach the throw, because every manifest is parsed before it is rendered.
|
|
117
|
+
*/
|
|
118
|
+
export declare function renderConfigOptionComment(describe: string, indent: string): string;
|
|
119
|
+
/**
|
|
120
|
+
* The one import line a capability's wiring is written as.
|
|
121
|
+
*
|
|
122
|
+
* Both halves are interpolated raw, and both used to be `z.string().min(1)`: `pithy add` wrote
|
|
123
|
+
* `import { audit }) ; evil( } from "@pithy-sh/audit/src/index";` from a manifest that parsed, and
|
|
124
|
+
* reported `Done.` (#183). The line has one producer now, for the same reason
|
|
125
|
+
* {@link renderConfigOptionLine} does — a rule stated at one call site is a rule the next call site does
|
|
126
|
+
* not have.
|
|
127
|
+
*
|
|
128
|
+
* Total over what {@link CapabilityManifest} parses. A parsed manifest cannot reach either throw; the
|
|
129
|
+
* fork path `pithy add --eject` composes can, which is why the specifier is checked rather than assumed.
|
|
130
|
+
*/
|
|
131
|
+
export declare function renderCapabilityImport(name: string, specifier: string): string;
|
|
132
|
+
/** What {@link renderCapabilityRegistration} writes one registration from. */
|
|
133
|
+
export interface CapabilityRegistration {
|
|
134
|
+
/** The capability's name — written bare as the call, so a bare identifier and nothing else. */
|
|
135
|
+
name: string;
|
|
136
|
+
/** The indent the call sits at, taken by each writer from the file it is editing. */
|
|
137
|
+
indent: string;
|
|
138
|
+
/**
|
|
139
|
+
* The option lines already rendered by {@link renderConfigOptionComment} and
|
|
140
|
+
* {@link renderConfigOptionLine}, in order. Empty renders the one-liner form.
|
|
141
|
+
*/
|
|
142
|
+
optionLines?: readonly string[];
|
|
143
|
+
/**
|
|
144
|
+
* Whether the registration ends with the array's separating comma. `pithy add` writes a whole entry and
|
|
145
|
+
* needs it; `pithy upgrade` splices a block over an existing `name()` whose comma is already in the file.
|
|
146
|
+
*/
|
|
147
|
+
trailingComma?: boolean;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The registration both writers put in `pithy.config.ts` for one capability — `auth(),` with no options,
|
|
151
|
+
* the block form with them.
|
|
152
|
+
*
|
|
153
|
+
* The name is the only thing here that comes from a manifest, and it is the thing that reached generated
|
|
154
|
+
* source unchecked (#183). One producer, so the rule holds for `pithy add`'s whole-entry write and for
|
|
155
|
+
* `pithy upgrade`'s conversion of a one-liner into a block alike.
|
|
156
|
+
*/
|
|
157
|
+
export declare function renderCapabilityRegistration({ name, indent, optionLines, trailingComma, }: CapabilityRegistration): string;
|
|
158
|
+
/**
|
|
159
|
+
* One configurable option a capability exposes. `pithy add` renders each as
|
|
160
|
+
* `cap({ key: default })` in `pithy.config.ts`, with `describe` as the comment
|
|
161
|
+
* above it — the self-documenting config surface (docs/CLI.md §Config). The
|
|
162
|
+
* mount-point model rides on options like this (e.g. `basePath`), so handlers
|
|
163
|
+
* stay in the package and the user owns the wiring.
|
|
164
|
+
*
|
|
165
|
+
* **Every option the capability's config type requires belongs here.** The manifest is the only thing
|
|
166
|
+
* `pithy add` reads, so an option it omits is an option the generated config omits — see
|
|
167
|
+
* {@link ConfigOptionValue} for the one that got away.
|
|
168
|
+
*
|
|
169
|
+
* **All three fields are narrowed to what the renderer can print, not just the value.** #171 held
|
|
170
|
+
* `default` to shapes Biome prints unchanged and left `key` and `describe` as `z.string().min(1)`, so a
|
|
171
|
+
* manifest could still state `content-type` — rendered `content-type: "x",`, which is not TypeScript at
|
|
172
|
+
* all — or a `describe` with a newline in it, whose second line landed in `pithy.config.ts` as bare code.
|
|
173
|
+
* A manifest is third-party data read from `node_modules`, and an option key is that data interpolated
|
|
174
|
+
* into generated source; `}) ; evil(` is the shape that makes the point. Narrowing here is what lets
|
|
175
|
+
* {@link renderConfigOptionLine} and {@link renderConfigOptionComment} guarantee the whole line rather
|
|
176
|
+
* than its right-hand side (#174).
|
|
177
|
+
*/
|
|
178
|
+
/**
|
|
179
|
+
* The constants a scaffolded `pithy.config.ts` defines, that a manifest option may name instead of
|
|
180
|
+
* stating a literal — identifier by key, so the manifest carries a **name from a closed set** and never
|
|
181
|
+
* an expression.
|
|
182
|
+
*
|
|
183
|
+
* That is the whole security argument, and it is the same one #183 settled for a capability's name: a
|
|
184
|
+
* manifest is third-party data read out of `node_modules` and written into the adopter's TypeScript, so
|
|
185
|
+
* anything it states unquoted must come from a list this package controls. An `expression` field would
|
|
186
|
+
* put arbitrary code in the adopter's config on the strength of a package they installed.
|
|
187
|
+
*
|
|
188
|
+
* One entry today. `PUBLIC_ORIGIN` is the Worker's address for the environment it composes in, derived
|
|
189
|
+
* by `originFor(compositionEnvironment(), DOMAINS)` in the scaffolded config — the line that exists so no
|
|
190
|
+
* capability ever asks an adopter to write an origin down again.
|
|
191
|
+
*/
|
|
192
|
+
export declare const CONFIG_CONSTANTS: {
|
|
193
|
+
readonly publicOrigin: "PUBLIC_ORIGIN";
|
|
194
|
+
};
|
|
195
|
+
/** Which scaffolded constant an option's value is, by key. */
|
|
196
|
+
export declare const ConfigConstant: z.ZodEnum<{
|
|
197
|
+
publicOrigin: "publicOrigin";
|
|
198
|
+
}>;
|
|
199
|
+
export type ConfigConstant = z.infer<typeof ConfigConstant>;
|
|
200
|
+
export declare const ConfigOption: z.ZodObject<{
|
|
201
|
+
key: z.ZodString;
|
|
202
|
+
default: z.ZodOptional<z.ZodType<ConfigOptionValue, unknown, z.core.$ZodTypeInternals<ConfigOptionValue, unknown>>>;
|
|
203
|
+
choices: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
204
|
+
choicesNeedingCode: z.ZodOptional<z.ZodPipe<z.ZodCustom<Record<string, string>, Record<string, string>>, z.ZodType<Record<string, string>, Record<string, string>, z.core.$ZodTypeInternals<Record<string, string>, Record<string, string>>>>>;
|
|
205
|
+
constant: z.ZodOptional<z.ZodEnum<{
|
|
206
|
+
publicOrigin: "publicOrigin";
|
|
207
|
+
}>>;
|
|
208
|
+
describe: z.ZodString;
|
|
209
|
+
}, z.core.$strip>;
|
|
210
|
+
export type ConfigOption = z.infer<typeof ConfigOption>;
|
|
211
|
+
/**
|
|
212
|
+
* Declarative, CLI-facing description of a capability. Lives at `pithy.manifest.json` in
|
|
213
|
+
* each capability package; read by `pithy add`/`upgrade` to wire bindings into
|
|
214
|
+
* `wrangler.jsonc` and scaffold config — without executing the package. Plain data, so
|
|
215
|
+
* it's a validated Zod object. `requiredBindings` reuse the `BindingSpec` contract, so a
|
|
216
|
+
* manifest's bindings are normalized (and rejected) exactly like a capability's own.
|
|
217
|
+
*
|
|
218
|
+
* **The invariant, stated here rather than at the writers: every string a manifest states that reaches
|
|
219
|
+
* generated source is constrained to what the renderer can print.** Three rounds got there one field at a
|
|
220
|
+
* time — #171 narrowed an option's `default`, #174 its `key` and `describe`, #183 the capability's own
|
|
221
|
+
* `name` and `package` — because each time the rule lived at the call site that had just been fixed. It
|
|
222
|
+
* lives here now, and `manifest.test.ts` walks this schema and fails the build on a string field that is
|
|
223
|
+
* neither constrained nor declared prose the CLI only ever prints.
|
|
224
|
+
*/
|
|
225
|
+
export declare const CapabilityManifest: z.ZodObject<{
|
|
226
|
+
name: z.ZodString;
|
|
227
|
+
package: z.ZodString;
|
|
228
|
+
requiredBindings: z.ZodArray<z.ZodObject<{
|
|
229
|
+
type: z.ZodUnion<readonly [z.ZodLiteral<"d1">, z.ZodLiteral<"kv">, z.ZodLiteral<"r2">, z.ZodLiteral<"ai">, z.ZodLiteral<"vectorize">, z.ZodLiteral<"queue">, z.ZodLiteral<"ratelimit">, z.ZodLiteral<"email">, z.ZodLiteral<"secret">, z.ZodLiteral<"workflow">, z.ZodLiteral<"service">, z.ZodLiteral<"durable_object">]>;
|
|
230
|
+
name: z.ZodString;
|
|
231
|
+
optional: z.ZodDefault<z.ZodBoolean>;
|
|
232
|
+
className: z.ZodOptional<z.ZodString>;
|
|
233
|
+
classModule: z.ZodOptional<z.ZodString>;
|
|
234
|
+
job: z.ZodOptional<z.ZodString>;
|
|
235
|
+
service: z.ZodOptional<z.ZodString>;
|
|
236
|
+
remote: z.ZodOptional<z.ZodBoolean>;
|
|
237
|
+
}, z.core.$strip>>;
|
|
238
|
+
peerCapabilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
239
|
+
optionalCapabilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
240
|
+
migrationNamespace: z.ZodOptional<z.ZodString>;
|
|
241
|
+
devSecrets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
242
|
+
name: z.ZodString;
|
|
243
|
+
devValue: z.ZodEnum<{
|
|
244
|
+
random: "random";
|
|
245
|
+
}>;
|
|
246
|
+
}, z.core.$strip>>>;
|
|
247
|
+
secrets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
248
|
+
name: z.ZodString;
|
|
249
|
+
origin: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
250
|
+
kind: z.ZodLiteral<"minted">;
|
|
251
|
+
recipe: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
252
|
+
kind: z.ZodLiteral<"random">;
|
|
253
|
+
bytes: z.ZodInt;
|
|
254
|
+
encoding: z.ZodEnum<{
|
|
255
|
+
base64: "base64";
|
|
256
|
+
base64url: "base64url";
|
|
257
|
+
hex: "hex";
|
|
258
|
+
}>;
|
|
259
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
260
|
+
kind: z.ZodLiteral<"encryptionConfig">;
|
|
261
|
+
}, z.core.$strip>], "kind">;
|
|
262
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
263
|
+
kind: z.ZodLiteral<"helped">;
|
|
264
|
+
issuer: z.ZodType<"apple" | "atlassian" | "cloudflare" | "facebook" | "github" | "gitlab" | "google" | "lemonSqueezy" | "microsoft" | "other" | "paddle" | "project" | "stripe", unknown, z.core.$ZodTypeInternals<"apple" | "atlassian" | "cloudflare" | "facebook" | "github" | "gitlab" | "google" | "lemonSqueezy" | "microsoft" | "other" | "paddle" | "project" | "stripe", unknown>>;
|
|
265
|
+
needs: z.ZodPipe<z.ZodCustom<Partial<Record<string, string[]>>, Partial<Record<string, string[]>>>, z.ZodType<Partial<Record<string, string[]>>, Partial<Record<string, string[]>>, z.core.$ZodTypeInternals<Partial<Record<string, string[]>>, Partial<Record<string, string[]>>>>>;
|
|
266
|
+
documentation: z.ZodOptional<z.ZodURL>;
|
|
267
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
268
|
+
kind: z.ZodLiteral<"obtained">;
|
|
269
|
+
issuer: z.ZodType<"apple" | "atlassian" | "cloudflare" | "facebook" | "github" | "gitlab" | "google" | "lemonSqueezy" | "microsoft" | "other" | "paddle" | "project" | "stripe", unknown, z.core.$ZodTypeInternals<"apple" | "atlassian" | "cloudflare" | "facebook" | "github" | "gitlab" | "google" | "lemonSqueezy" | "microsoft" | "other" | "paddle" | "project" | "stripe", unknown>>;
|
|
270
|
+
documentation: z.ZodURL;
|
|
271
|
+
}, z.core.$strip>], "kind">;
|
|
272
|
+
rotation: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
273
|
+
kind: z.ZodLiteral<"local">;
|
|
274
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
275
|
+
kind: z.ZodLiteral<"provider">;
|
|
276
|
+
issuer: z.ZodType<"apple" | "atlassian" | "cloudflare" | "facebook" | "github" | "gitlab" | "google" | "lemonSqueezy" | "microsoft" | "other" | "paddle" | "project" | "stripe", unknown, z.core.$ZodTypeInternals<"apple" | "atlassian" | "cloudflare" | "facebook" | "github" | "gitlab" | "google" | "lemonSqueezy" | "microsoft" | "other" | "paddle" | "project" | "stripe", unknown>>;
|
|
277
|
+
documentation: z.ZodOptional<z.ZodURL>;
|
|
278
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
279
|
+
kind: z.ZodLiteral<"manual">;
|
|
280
|
+
issuer: z.ZodType<"apple" | "atlassian" | "cloudflare" | "facebook" | "github" | "gitlab" | "google" | "lemonSqueezy" | "microsoft" | "other" | "paddle" | "project" | "stripe", unknown, z.core.$ZodTypeInternals<"apple" | "atlassian" | "cloudflare" | "facebook" | "github" | "gitlab" | "google" | "lemonSqueezy" | "microsoft" | "other" | "paddle" | "project" | "stripe", unknown>>;
|
|
281
|
+
documentation: z.ZodURL;
|
|
282
|
+
}, z.core.$strip>], "kind">;
|
|
283
|
+
}, z.core.$strip>>>;
|
|
284
|
+
scaffold: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
285
|
+
configOptions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
286
|
+
key: z.ZodString;
|
|
287
|
+
default: z.ZodOptional<z.ZodType<ConfigOptionValue, unknown, z.core.$ZodTypeInternals<ConfigOptionValue, unknown>>>;
|
|
288
|
+
choices: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
289
|
+
choicesNeedingCode: z.ZodOptional<z.ZodPipe<z.ZodCustom<Record<string, string>, Record<string, string>>, z.ZodType<Record<string, string>, Record<string, string>, z.core.$ZodTypeInternals<Record<string, string>, Record<string, string>>>>>;
|
|
290
|
+
constant: z.ZodOptional<z.ZodEnum<{
|
|
291
|
+
publicOrigin: "publicOrigin";
|
|
292
|
+
}>>;
|
|
293
|
+
describe: z.ZodString;
|
|
294
|
+
}, z.core.$strip>>>;
|
|
295
|
+
whenToEnable: z.ZodOptional<z.ZodString>;
|
|
296
|
+
}, z.core.$strip>;
|
|
297
|
+
export type CapabilityManifest = z.infer<typeof CapabilityManifest>;
|
|
298
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/capability/manifest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgDxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,iBAAiB,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAA;CAAE,CAAC;AAEvH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAUgD,CAAC;AA6D5G;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CASlE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;CACnC;AAOD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,EAC5C,MAAM,EAAE,MAAM,GACb,MAAM,CAaR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CASlF;AAwDD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAU9E;AAED,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,IAAI,EACJ,MAAM,EACN,WAAgB,EAChB,aAAoB,GACrB,EAAE,sBAAsB,GAAG,MAAM,CAKjC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB;aAAK,YAAY,EAAE,eAAe;CAAW,CAAC;AAE3E,8DAA8D;AAC9D,eAAO,MAAM,cAAc;;EAEuF,CAAC;AACnH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,YAAY;;;;;;;;;iBA4EoE,CAAC;AAC9F,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiE0D,CAAC;AAC1F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|