You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(prisma-next)!: drop Encrypted prefix from v3 PSL constructors; cipherstashFromStackV3 -> cipherstashFromStack
Aligns the EQL v3 authoring surface with the stack / Drizzle types.* catalog
(the cipherstash. namespace already disambiguates):
- v3 PSL column constructors drop the Encrypted prefix, at the single
derivation seam (contract-authoring.ts v3PascalName): EncryptedTextSearch
-> TextSearch, EncryptedDoubleOrd -> DoubleOrd, EncryptedBoolean -> Boolean,
EncryptedJson -> Json, etc.
- v3 one-call setup: cipherstashFromStackV3 -> cipherstashFromStack (v3 is the
default); the v2 setup fn becomes cipherstashFromStackV2.
Deliberately unchanged:
- runtime value envelopes (EncryptedString/Number/BigInt/Date/Boolean/Json) —
a separate write-side surface; Dan asked to leave them as-is.
- the cipherstash.*V2 legacy column constructors.
- generated contract.json + codec ids (they key off codecIds, not constructor
names — so no contract regeneration needed, which sidesteps the broken
on this branch).
- the eql* query operators.
- camelCase TS-authoring exports (encryptedTextSearch, …) keep their prefix for
now — a follow-up will align them (kept v3CamelName unchanged to avoid
desyncing the static exports).
Namespace stays cipherstash (not eql): it is the extension's vendor identity
(CIPHERSTASH_SPACE_ID, woven through every cipherstash/eql-v3/* codec id and
cipherstash:* invariant) — switching it would re-identify the whole extension.
Updated: example schema.prisma + db.ts + e2e, both READMEs, the
stash-prisma-next skill, and the authoring/psl-interpretation tests. Verified:
package builds clean, bundling-isolation 12/12, authoring/psl/column-types/
from-stack suites green, code:check clean. (Pre-existing env failures — live
tests, properties, migration-v3 — are missing-devdep/DB issues, not this change.)
Stacked on #683. v2 name per Dan; namespace + scope calls documented above.
Claude-Session: https://claude.ai/code/session_01MxTTPaPP16m6br7Hoab94w
📖 See the [Prisma Next encryption docs](https://cipherstash.com/docs/stack/cipherstash/encryption/prisma-next) for the full operator reference, security model, and known limitations.
17
17
@@ -22,7 +22,7 @@ A single `User` model with one column per plaintext family, exercised end-to-end
22
22
|`docker-compose.yml`| Local Postgres 16 on port 54338. |
23
23
|`prisma/schema.prisma`| Application schema (one `User` model exercising six cipherstash v3 domains). |
24
24
|`prisma-next.config.ts`| Wires `cipherstash` into `extensionPacks`. |
25
-
|`src/db.ts`| One-call setup via `cipherstashFromStackV3({ contractJson })`. |
25
+
|`src/db.ts`| One-call setup via `cipherstashFromStack({ contractJson })`. |
26
26
|`src/index.ts`| The demo flow. |
27
27
|`src/prisma/contract.*`| Emitted by `pnpm emit`. |
28
28
|`migrations/`| Emitted by `pnpm migration:plan` (app space + the cipherstash EQL bundle baselines). |
0 commit comments