Summary
The @cipherstash/prisma-next EQL v3 authoring surface is out of step with the stack / Drizzle types.* catalog. The cipherstash. namespace already disambiguates, so the redundant Encrypted/encrypted prefixes on the v3 constructors and factories are noise, and the v3 setup function carries a V3 suffix even though v3 is the default.
Desired API
- PSL column constructors drop
Encrypted — cipherstash.EncryptedTextSearch() → cipherstash.TextSearch(), EncryptedDoubleOrd() → DoubleOrd(), EncryptedBoolean() → Boolean(), EncryptedJson() → Json(), etc.
cipherstashFromStackV3 → cipherstashFromStack (v3 is the default); the v2 setup fn becomes cipherstashFromStackV2.
- camelCase TS-authoring exports drop
encrypted in lockstep — encryptedTextSearch → textSearch, encryptedDoubleOrd → doubleOrd, etc. The *V2 factories keep their names.
Deliberately unchanged
- Runtime value envelopes (
EncryptedString/EncryptedNumber/…) — a separate write-side surface.
- The
cipherstash.*V2 legacy constructors and encrypted*V2 factories.
- Generated
contract.json + codec ids (they key off codec ids, not constructor names — no regeneration needed).
- The
eql* query operators.
- Namespace stays
cipherstash (the extension's vendor identity), not eql.
Resolution
Done in #685 — rename applied at the single derivation seam (contract-authoring.ts v3PascalName/v3CamelName), with docs/README/skill updated. Breaking change under rc convention. Follows up on the #683 review.
Summary
The
@cipherstash/prisma-nextEQL v3 authoring surface is out of step with the stack / Drizzletypes.*catalog. Thecipherstash.namespace already disambiguates, so the redundantEncrypted/encryptedprefixes on the v3 constructors and factories are noise, and the v3 setup function carries aV3suffix even though v3 is the default.Desired API
Encrypted—cipherstash.EncryptedTextSearch()→cipherstash.TextSearch(),EncryptedDoubleOrd()→DoubleOrd(),EncryptedBoolean()→Boolean(),EncryptedJson()→Json(), etc.cipherstashFromStackV3→cipherstashFromStack(v3 is the default); the v2 setup fn becomescipherstashFromStackV2.encryptedin lockstep —encryptedTextSearch→textSearch,encryptedDoubleOrd→doubleOrd, etc. The*V2factories keep their names.Deliberately unchanged
EncryptedString/EncryptedNumber/…) — a separate write-side surface.cipherstash.*V2legacy constructors andencrypted*V2factories.contract.json+ codec ids (they key off codec ids, not constructor names — no regeneration needed).eql*query operators.cipherstash(the extension's vendor identity), noteql.Resolution
Done in #685 — rename applied at the single derivation seam (
contract-authoring.tsv3PascalName/v3CamelName), with docs/README/skill updated. Breaking change under rc convention. Follows up on the #683 review.