Skip to content

feat(aws): broad patches from AWS fan-out - #369

Merged
sam-goodwin merged 65 commits into
mainfrom
claude/aws-factory-wave-1a
Jul 18, 2026
Merged

feat(aws): broad patches from AWS fan-out#369
sam-goodwin merged 65 commits into
mainfrom
claude/aws-factory-wave-1a

Conversation

@sam-goodwin

@sam-goodwin sam-goodwin commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Every SDK gap surfaced by the alchemy AWS resource-factory run (alchemy-run/alchemy#797), fixed at the source. Started as Wave 1A and accreted the full run: protocol/core capabilities (SigV2 auth, Smithy hostPrefix, syntheticErrors, rest-xml member-wrapped lists, eventstream + rest-json fixes, a generator fix for per-op @http derivation on shared input shapes), a hand-written simpledb module, the Presign module, and per-service typed-error/schema patches from every live-test wave — through the final convergence loop (typed Amplify front-door TimeoutException).

The sections below document the original Wave 1A scope:

Schema & error patches (per-service)

  • sqs: Successful/Failed optional on SendMessageBatchResult, DeleteMessageBatchResult, ChangeMessageVisibilityBatchResult — the JSON protocol omits empty lists; the required members crashed response decoding inside deployed Lambdas (SchemaError: Missing key ["Failed"])
  • cloudwatch: typed describeAlarmContributors wire error (ValidationException with empty message when an alarm has no contributor data)
  • rds: typed createDBInstance rejection for cluster-member instances given VpcSecurityGroupIds
  • ec2: typed UnauthorizedOperation (EC2's generic authz failure, previously an UnknownAwsError)
  • cloudflare/workers: restore RouteScriptNotFound (code 10019) on createRoute — the patch entry was lost in a spec bump and packages/alchemy already handles the tag

Paginator fix (aws + core)

Empty-string terminal tokens (NextToken: "" from SSM/CloudWatch-Logs-style APIs) were treated as live tokens, re-requesting the first page forever. Both aws/src/client/api.ts (isTerminalPageToken) and core/src/pagination.ts (isTerminalToken, token + cursor modes) now stop on any falsy token, matching aws-sdk-js-v3. Unit tests cover empty-string, absent, and object (DynamoDB LastEvaluatedKey) tokens.

ValidationException message

The common AWS ValidationException declared no fields, so real AWS validation messages were invisible. It now carries optional message, reason, fieldList.

New: @distilled.cloud/aws/Presign

SigV4 query-string presigning over the same aws4fetch signer + Credentials/Region services the client uses:

import * as Presign from "@distilled.cloud/aws/Presign";

const url = yield* Presign.presignS3Url({
  method: "PUT",
  bucket, key,
  expiresIn: 300,
  contentType: "text/plain",
});

presignUrl is the generic low-level form (any service/host/path); presignS3Url handles virtual-hosted vs path-style. Deterministic via injectable datetime; 9 pure unit tests plus a live alchemy round-trip (real presigned PUT/GET against S3, content-type mismatch 403, expiry rejection).

Two pre-existing unrelated test failures (core test/server-retry-hint-cap.test.ts, aws test/protocols/rest-xml.test.ts responseAlgorithms) verified present without these changes.

🤖 Generated with Claude Code

sam-goodwin and others added 2 commits July 9, 2026 17:03
…ValidationException fixes

- sqs: Successful/Failed optional on all three batch results (JSON protocol omits empty lists)
- cloudwatch: typed describeAlarmContributors ValidationException
- rds: typed createDBInstance cluster-member VpcSecurityGroupIds rejection
- ec2: typed UnauthorizedOperation
- cloudflare/workers: restore RouteScriptNotFound (10019) on createRoute
- paginators (aws + core): empty-string tokens are terminal (infinite first-page loop) + unit tests
- ValidationException: optional message/reason/fieldList
- new @distilled.cloud/aws/Presign: SigV4 query-string presigning (presignUrl + presignS3Url) + unit tests

Found live by the alchemy AWS resource-factory Wave 1A.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…MailFromAttributes patch

- generator extracts smithy.api#endpoint into operation metadata (endpointHostPrefix); api.ts applies it with {label} substitution, skipped for custom Endpoint overrides
- sfn regenerated: StartSyncExecution/TestState now target sync-states.*
- sesv2: GetEmailIdentityResponse.MailFromAttributes members optional (wire omits MailFromDomain when not configured)

Found live by alchemy AWS factory Wave 1B.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sam-goodwin sam-goodwin changed the title feat(aws): wave-1A error/schema patches, Presign module, paginator + ValidationException fixes feat(aws): factory waves 1A-1B — error/schema patches, Presign, paginator/ValidationException fixes, smithy hostPrefix Jul 10, 2026
sam-goodwin and others added 2 commits July 9, 2026 19:26
…to unknown)

The event schema arrives via untyped AST annotations as Schema<unknown>,
whose decoding-services slot is unknown; generated event schemas carry no
decode services, so the effect is annotated service-free.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…lists, route-53 schema patches

- patches/{sdkId}.json gains per-operation syntheticErrors: typed error classes derived from a base wire error + message predicate (exact | includes | matches), matched before the base-code lookup; orphaned patch operation keys now fail generation
- applied to xray: SamplingRuleNotFound / SamplingRuleAlreadyExists / GroupNotFound / GroupAlreadyExists (X-Ray discriminates these solely by InvalidRequestException.Message)
- rest-xml deserializer handles Smithy's default <member>-wrapped non-flattened lists (found by Route53 live tests)
- route-53 response-schema patches (CreateHostedZoneResponse.DelegationSet et al)
- removed two dead ec2 patch keys ahead of hard-fail orphan detection

Found live by alchemy AWS factory Wave 1D.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sam-goodwin sam-goodwin changed the title feat(aws): factory waves 1A-1B — error/schema patches, Presign, paginator/ValidationException fixes, smithy hostPrefix feat(aws): factory waves 1A-1D — patches, Presign, paginator/ValidationException, hostPrefix, syntheticErrors, rest-xml Jul 10, 2026
sam-goodwin and others added 4 commits July 10, 2026 07:52
- batch: ClientException syntheticErrors (not-found vs being-modified discrimination)
- apprunner: lowercase enum members for AutoScalingConfigurationStatus + VpcConnectorStatus
- servicediscovery: data- endpoint hostPrefix on DiscoverInstances; SOA.TTL + DnsConfig.DnsRecords optional

Found live by alchemy AWS factory Phase 2 Wave 2A.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ave-5)

Error/schema/syntheticError patches + regenerated services across EKS, EC2,
Athena, Glue, Bedrock-agent, Inspector2, IoT, Macie2, Timestream, AMP, MWAA,
QuickSight, DataSync, Amplify, VerifiedPermissions, etc. Wave 5 was interrupted
mid-flight; some services are partially regenerated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…d tags, location/timestream schemas)

- ec2: InvalidDhcpOptionsID.NotFound / InvalidFlowLogId.NotFound / InvalidVpcPeeringConnectionId.NotFound added to their describe ops
- location: 64 endpointHostPrefix entries (cp.* control-plane endpoints) + Describe*/List* Description optionality
- geo-routes: optional list members on Route*LegDetails
- iot/timestream/etc. patches from wave 5 completion

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Patches (24 new) and regenerated services (27) for the AWS T2 coverage
waves: acm-pca, aiops, auditmanager, chatbot, cloudtrail, config-service,
controltower, cost-explorer, cost-and-usage-report-service, databrew,
datazone, docdb-elastic, emr, internetmonitor, kendra, kinesis-video,
lakeformation, license-manager, resource-groups, resource-explorer-2,
rolesanywhere, s3-control, securitylake, shield, signer, ssm-contacts,
ssm-incidents, synthetics, and others — adding resource-specific typed
error tags and synthetic message-matched errors verified against the live
APIs.

Generator/runtime fixes:
- generate.ts: derive a per-op `${Op}Request` schema when an input shape is
  shared across operations with conflicting @http traits (was silently
  baking one op's method/URI into the shared schema, so deletes issued GETs)
- api.ts: Unit-input operations keep their @http trait (were falling back to
  POST /); rest-json.ts: send explicit `{}` body when the input has
  body-capable members; error.ts: strip comma-joined x-amzn-errortype headers

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sam-goodwin sam-goodwin changed the title feat(aws): factory waves 1A-1D — patches, Presign, paginator/ValidationException, hostPrefix, syntheticErrors, rest-xml feat(aws): broad patches from AWS fan-out Jul 11, 2026
sam-goodwin and others added 6 commits July 10, 2026 18:32
…ices

Core client work:
- SigV2 auth support (traits.ts AwsAuthSigv2 + api.ts HMAC-SHA256 SigV2 signing
  branch) — classic SimpleDB is the last SigV2-only AWS service; hand-written
  simpledb service module (no Smithy model exists for the classic Query API)
- aws-query.ts: fallback for SimpleDB's legacy <Response><Errors> error wrapper
- rest-json.ts + util/stream.ts: geo-maps/places/routes data-plane fixes
- generate.ts + traits.ts + response-parser.ts + rest-json.ts: iot-managed-
  integrations (newer service) protocol coverage

Patches + regenerated services for E1/E2: ivs(+realtime/chat), imagebuilder,
mediatailor, medialive, iotsitewise, lex-models-v2, bedrock-agentcore(+control),
sagemaker(+featurestore-runtime), qbusiness, route-53-domains, omics, repostspace
— resource-specific typed error tags + synthetic message-matched errors verified
against the live APIs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- response-parser.ts + rest-json.ts core fixes for deadline/finspace
  response shapes
- deadline: ResourceNotFoundException on delete ops; regenerated
- finspace(+finspace-data): regenerated for the kdb/environment API
- patches for mailmanager (reverted — deletes are natively idempotent) and
  deadline

Services: devops-guru, mailmanager, healthlake, finspace, deadline, qapps,
mwaa-serverless, socialmessaging, s3files.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds getAttributes/putAttributes/deleteAttributes/batchPut/batchDelete/select
+ 12 typed errors (flattened Attribute.N / Item.N wire shapes) to the
hand-written simpledb module (no Smithy model exists — never regenerate).
Backs the new AWS.SimpleDB per-operation bindings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- cloudfront: FunctionConfig.Comment optional (omitted in listFunctions for comment-less functions)
- rds: InvalidParameterValue/InvalidParameterCombination on createDBCluster/modifyDBCluster (non-retryable validation)
- s3tables: GetTableResponse.modifiedBy optional (omitted on fresh tables)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- wafv2: WAFUnavailableEntityException on disassociateWebACL
- s3: BucketHasAccessPointsAttached on deleteBucket (was UnknownAwsError)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
# Conflicts:
#	packages/cloudflare/patches/workers/createRoute.json
#	packages/cloudflare/src/services/workers.ts
@alchemy-version-bot

alchemy-version-bot Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Install the packages built from this commit:

@distilled.cloud/core

bun add @distilled.cloud/core@https://pkg.distilled.cloud/core/6ed69ca

@distilled.cloud/aws

bun add @distilled.cloud/aws@https://pkg.distilled.cloud/aws/6ed69ca

@distilled.cloud/axiom

bun add @distilled.cloud/axiom@https://pkg.distilled.cloud/axiom/6ed69ca

@distilled.cloud/azure

bun add @distilled.cloud/azure@https://pkg.distilled.cloud/azure/6ed69ca

@distilled.cloud/cloudflare

bun add @distilled.cloud/cloudflare@https://pkg.distilled.cloud/cloudflare/6ed69ca

@distilled.cloud/coinbase

bun add @distilled.cloud/coinbase@https://pkg.distilled.cloud/coinbase/6ed69ca

@distilled.cloud/expo-eas

bun add @distilled.cloud/expo-eas@https://pkg.distilled.cloud/expo-eas/6ed69ca

@distilled.cloud/fly-io

bun add @distilled.cloud/fly-io@https://pkg.distilled.cloud/fly-io/6ed69ca

@distilled.cloud/gcp

bun add @distilled.cloud/gcp@https://pkg.distilled.cloud/gcp/6ed69ca

@distilled.cloud/kubernetes

bun add @distilled.cloud/kubernetes@https://pkg.distilled.cloud/kubernetes/6ed69ca

@distilled.cloud/mongodb-atlas

bun add @distilled.cloud/mongodb-atlas@https://pkg.distilled.cloud/mongodb-atlas/6ed69ca

@distilled.cloud/neon

bun add @distilled.cloud/neon@https://pkg.distilled.cloud/neon/6ed69ca

@distilled.cloud/planetscale

bun add @distilled.cloud/planetscale@https://pkg.distilled.cloud/planetscale/6ed69ca

@distilled.cloud/posthog

bun add @distilled.cloud/posthog@https://pkg.distilled.cloud/posthog/6ed69ca

@distilled.cloud/prisma-postgres

bun add @distilled.cloud/prisma-postgres@https://pkg.distilled.cloud/prisma-postgres/6ed69ca

@distilled.cloud/stripe

bun add @distilled.cloud/stripe@https://pkg.distilled.cloud/stripe/6ed69ca

@distilled.cloud/supabase

bun add @distilled.cloud/supabase@https://pkg.distilled.cloud/supabase/6ed69ca

@distilled.cloud/turso

bun add @distilled.cloud/turso@https://pkg.distilled.cloud/turso/6ed69ca

@distilled.cloud/typesense

bun add @distilled.cloud/typesense@https://pkg.distilled.cloud/typesense/6ed69ca

@distilled.cloud/workos

bun add @distilled.cloud/workos@https://pkg.distilled.cloud/workos/6ed69ca

sam-goodwin and others added 12 commits July 14, 2026 22:58
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Typed-error / schema patches:
- ivs

Regenerated: ivs

Snapshot 2026-07-15 09:50

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Typed-error / schema patches:
- fsx

Regenerated: frauddetector, fsx

Snapshot 2026-07-15 09:58

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
sam-goodwin and others added 26 commits July 15, 2026 12:44
Typed-error / schema patches:
- quicksight

Regenerated: quicksight

Snapshot 2026-07-15 12:44

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Regenerated: rum

Snapshot 2026-07-15 12:59

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Typed-error / schema patches:
- redshift-serverless

Regenerated: redshift-serverless

Snapshot 2026-07-15 13:02

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… repostspace, route-53-domains

Typed-error / schema patches:
- redshift-serverless
- repostspace
- route-53-domains

Regenerated: redshift-serverless, repostspace, route-53-domains

Snapshot 2026-07-15 13:14

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Typed-error / schema patches:
- resource-groups
- s3

Regenerated: resource-groups, s3

Snapshot 2026-07-15 13:32

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Typed-error / schema patches:
- s3

Regenerated: s3

Snapshot 2026-07-15 13:47

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…acts

Typed-error / schema patches:
- s3-control
- ssm-contacts

Regenerated: s3-control, ssm-contacts

Snapshot 2026-07-15 14:02

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Typed-error / schema patches:
- securitylake

Regenerated: securitylake

Snapshot 2026-07-15 14:18

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Typed-error / schema patches:
- schemas

Regenerated: schemas

Snapshot 2026-07-15 14:33

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ialmessaging

Typed-error / schema patches:
- service-catalog
- socialmessaging

Regenerated: service-catalog, socialmessaging

Snapshot 2026-07-15 14:48

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Typed-error / schema patches:
- verifiedpermissions

Regenerated: verifiedpermissions

Snapshot 2026-07-15 15:03

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Typed-error / schema patches:
- signer

Regenerated: signer

Snapshot 2026-07-15 15:33

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…n, lakeformation, license-manager, notifications

Typed-error / schema patches:
- amp
- entityresolution
- lakeformation
- license-manager
- notifications

Regenerated: amp, entityresolution, lakeformation, license-manager, notifications

Snapshot 2026-07-15 16:19

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Snapshot 2026-07-15 18:34

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…-lattice

Typed-error / schema patches:
- socialmessaging
- vpc-lattice

Regenerated: socialmessaging, vpc-lattice

Snapshot 2026-07-15 19:19

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ve-1a

# Conflicts:
#	packages/aws/src/services/amplify.ts
#	packages/aws/src/services/appflow.ts
#	packages/aws/src/services/application-signals.ts
#	packages/aws/src/services/apprunner.ts
#	packages/aws/src/services/bedrock-agentcore-control.ts
#	packages/aws/src/services/chatbot.ts
#	packages/aws/src/services/codepipeline.ts
#	packages/aws/src/services/comprehend.ts
#	packages/aws/src/services/datazone.ts
#	packages/aws/src/services/docdb.ts
#	packages/aws/src/services/elasticache.ts
#	packages/aws/src/services/emr-containers.ts
#	packages/aws/src/services/emr.ts
#	packages/aws/src/services/entityresolution.ts
#	packages/aws/src/services/eventbridge.ts
#	packages/aws/src/services/firehose.ts
#	packages/aws/src/services/frauddetector.ts
#	packages/aws/src/services/geo-routes.ts
#	packages/aws/src/services/imagebuilder.ts
#	packages/aws/src/services/inspector2.ts
#	packages/aws/src/services/iot-managed-integrations.ts
#	packages/aws/src/services/iot-wireless.ts
#	packages/aws/src/services/iotfleetwise.ts
#	packages/aws/src/services/license-manager.ts
#	packages/aws/src/services/location.ts
#	packages/aws/src/services/macie2.ts
#	packages/aws/src/services/mailmanager.ts
#	packages/aws/src/services/mq.ts
#	packages/aws/src/services/neptune.ts
#	packages/aws/src/services/quicksight.ts
#	packages/aws/src/services/repostspace.ts
#	packages/aws/src/services/resource-explorer-2.ts
#	packages/aws/src/services/resource-groups.ts
#	packages/aws/src/services/rolesanywhere.ts
#	packages/aws/src/services/route-53.ts
#	packages/aws/src/services/s3.ts
#	packages/aws/src/services/servicediscovery.ts
#	packages/aws/src/services/signer.ts
#	packages/aws/src/services/socialmessaging.ts
#	packages/aws/src/services/sqs.ts
#	packages/aws/src/services/verifiedpermissions.ts
Type retryable Deadline and AppRegistry failures surfaced by live AWS coverage. Hash buffered streaming payloads for API Gateway Management, Bedrock Runtime, IoT Data, IoT Wireless, and Lambda Invoke, with focused signer regressions.
Model IVS playback-key deletion internal failures and Omics analytics rate limits so consumers can apply bounded typed retries instead of receiving UnknownAwsError.
Amplify's control plane sits behind API Gateway, which times out slow
calls with HTTP 504, x-amzn-errortype TimeoutException, body 'Endpoint
request timed out' — previously an UnknownAwsError. Add the typed tag
(optional message) to all 37 amplify operations. Deliberately no
errorCategories: auto-retrying at the client would blindly re-run the
non-idempotent CreateApp; the alchemy provider owns the observe-then-
retry loop instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The previous format commit was made with oxfmt 0.58.0 hoisted from the
outer alchemy workspace (catalog: latest); this repo's lockfile and CI
pin 0.36.0, which rejects 0.58 output (e.g. parens around constructor
return types), failing ci-aws/azure/gcp/posthog/... Reverts the 87
skewed files to 0.36 canon. tsc and oxlint unaffected.

Note: any local `bun run check` inside this repo from within the
alchemy checkout resolves the hoisted 0.58 binary and will disagree —
use bunx oxfmt@0.36.0 until the two repos align versions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sam-goodwin
sam-goodwin merged commit a945d87 into main Jul 18, 2026
36 of 44 checks passed
@sam-goodwin
sam-goodwin deleted the claude/aws-factory-wave-1a branch July 18, 2026 05:41
Mkassabov added a commit that referenced this pull request Jul 20, 2026
From v0 main (bb54823..c9a7779), everything applicable:

#369 (broad AWS fan-out): full machinery delta — synthetic errors
(message-matcher-carved tags, spec-schema + response-parser + generator
support), legacy SigV2 for SimpleDB (signed-body request built in
AwsProtocol.encode; core executes it), smithy.api#endpoint
hostPrefix (label substitution + double-prefix guard; carried through
core OperationConfig as endpointHostPrefix), streaming-input
UNSIGNED-PAYLOAD with the service denylist, S3 Control/Glacier payload
SHA-256 precompute, the new Presign module + export, union
overrides / sensitive / errorHttpStatus spec-patch capabilities, and
the complete aws patches dir (which includes #383's ec2 duplicate
security-group synthetic errors — 16 typed variants emitted).

#374: single /*@__PURE__*/ annotation (Rolldown 1.1+ treats
/*#__PURE__*/ as unknown) — both generators, all services re-emitted.

#379: core pagination isTerminalToken (empty-string continuation
tokens end pagination instead of looping); bodyMediaType on core's
HttpTrait + raw-body path in protocol-http; Vectorize insert/upsert
gain their previously-unmodeled application/x-ndjson body via manual
patches; D1 params retyped string[] -> unknown[] (JSON values).

#368: workers createRoute error 10019 typed as RouteScriptNotFound.

#380 (rulesets status_code) not ported: v1's docs-derived model
already types every status_code as a number — the string bug was in
v0's openapi source. Planetscale/stripe PRs N/A (no such v1 packages);
the typescript-7 migration is not taken (v1 stays on tsgo).

Verified: typecheck + offline wire sanity across all four families.
Mkassabov added a commit that referenced this pull request Jul 21, 2026
… seam

AWS never published a Smithy model for classic SimpleDB (2009-04-15 —
it exists only in SDK v2/botocore), so v0 shipped it as a hand-written
module and the model-driven regenerations here silently never produced
it; alchemy main's SimpleDB providers (#797) import
@distilled.cloud/aws/simpledb and every test file failed to load.
Ported v0's live-verified module to the v1 emission style (core
API.make + AwsProtocol + Retry, single PURE) — exercises the SigV2
signing path ported in #369. The barrel is directory-derived, so the
file self-includes on regeneration and, having no model, is never
overwritten; its header marks it hand-written.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant