feat(stack): export operation classes returned by public methods#502
Conversation
Export the operation classes returned by the encryption and DynamoDB clients (plus EncryptedQuery and EncryptedFromSchema) so they are part of the public API and appear in the generated TypeDoc reference. This makes the TSDoc {@link} cross-references and method return types resolve to real pages instead of failing to resolve or pointing at undocumented symbols.
- encryption: Encrypt/EncryptQuery/Decrypt/Bulk*/*Model* operation classes
- dynamodb: model operation classes
- types: EncryptedQuery, EncryptedFromSchema
- EncryptQueryOperation / BatchEncryptQueryOperation are no longer @internal, for consistency with the other operations (they are returned from encryptQuery)
- add type-only imports for {@link} resolution; fix the init reference and a buildEncryptConfig @param name
🦋 Changeset detectedLatest commit: 6e7ae4e The changes in this PR will be included in the next version bump. This PR includes changesets to release 5 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (8)
💤 Files with no reviewable changes (2)
📝 WalkthroughWalkthroughThis PR widens the public API surface by exporting operation result classes returned from encryption and DynamoDB client methods, removes internal markers from query operations, and adds supporting type imports to resolve TypeScript type references and TSDoc documentation links. ChangesOperation type exports and documentation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Configure the stack TypeDoc build so the operation-class and helper cross-references resolve instead of warning: - map @byteslice/result's Result to its npm page (externalSymbolLinkMappings) - add errors/index.ts as an entry point so EncryptionError is documented - list deliberately-internal referenced types (brands, zod schemas, *WithLockContext operation variants) under intentionallyNotExported Pairs with cipherstash/stack#502, which exports the operation classes those links target. Together they take the stack reference build from 54 warnings to 0.
Why
The docs deploy (TypeDoc reference, built by
cipherstash/docs) emits a large batch of warnings for@cipherstash/stack. The bulk of them are TSDoc{@link}cross-references and method return types that point at operation classes / types that aren't part of the documented public surface, so TypeDoc can't link them.This PR fixes the stack-side half: the symbols those comments reference are now genuinely public, so the links resolve to real reference pages. The companion docs-repo PR handles the build-config half (external-symbol mappings, the
errorsentry point, and silencing genuinely-internal referenced types).What changed
@cipherstash/stack/encryption:EncryptOperation,EncryptQueryOperation,BatchEncryptQueryOperation,DecryptOperation,EncryptModelOperation,DecryptModelOperation,BulkEncryptOperation,BulkDecryptOperation,BulkEncryptModelsOperation,BulkDecryptModelsOperation@cipherstash/stack/dynamodb:EncryptModelOperation,DecryptModelOperation,BulkEncryptModelsOperation,BulkDecryptModelsOperation@cipherstash/stack/types:EncryptedQuery,EncryptedFromSchemaEncryptQueryOperation/BatchEncryptQueryOperationare no longer@internal— they're returned fromencryptQuery, so they're now public for consistency with the other operations. The*WithLockContextvariants stay internal.LockContextand theencryptedTable/Column/Fieldhelpers, reworded theEncryptionClient.initreference (it's@internal), and correctedbuildEncryptConfig's@paramname.Notes
Summary by CodeRabbit
New Features
Documentation