@prisma-next/extension-paradedb 0.5.0-dev.9 → 0.5.0

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.
@@ -1,110 +1,13 @@
1
- import { IndexDef } from "@prisma-next/contract-authoring";
1
+ import * as _$_prisma_next_sql_contract_index_types0 from "@prisma-next/sql-contract/index-types";
2
2
 
3
- //#region src/core/constants.d.ts
4
-
5
- /**
6
- * Built-in ParadeDB tokenizer IDs.
7
- * These correspond to the `pdb.*` casting syntax in `CREATE INDEX ... USING bm25`.
8
- */
9
- type TokenizerId = 'unicode_words' | 'simple' | 'ngram' | 'icu' | 'regex_pattern' | 'source_code' | 'literal' | 'literal_normalized' | 'whitespace' | 'chinese_compatible' | 'jieba' | 'lindera';
10
- //#endregion
11
3
  //#region src/types/index-types.d.ts
12
- /**
13
- * BM25 field config for a table column.
14
- */
15
- type Bm25ColumnFieldConfig = {
16
- readonly column: string;
17
- readonly expression?: never;
18
- readonly tokenizer?: string;
19
- readonly tokenizerParams?: Record<string, unknown>;
20
- readonly alias?: string;
21
- };
22
- /**
23
- * BM25 field config for a SQL expression.
24
- */
25
- type Bm25ExpressionFieldConfig = {
26
- readonly expression: string;
27
- readonly column?: never;
28
- readonly alias: string;
29
- readonly tokenizer?: string;
30
- readonly tokenizerParams?: Record<string, unknown>;
31
- };
32
- /**
33
- * BM25 field config union.
34
- */
35
- type Bm25FieldConfig = Bm25ColumnFieldConfig | Bm25ExpressionFieldConfig;
36
- /**
37
- * BM25 index configuration payload stored in `IndexDef.config`.
38
- */
39
- type Bm25IndexConfig = {
40
- readonly keyField: string;
41
- readonly fields: readonly Bm25FieldConfig[];
42
- };
43
- /**
44
- * Options for a BM25 text field (text, varchar columns).
45
- */
46
- type Bm25TextFieldOptions = {
47
- readonly tokenizer?: TokenizerId | (string & {});
48
- readonly stemmer?: string;
49
- readonly alias?: string;
50
- readonly remove_emojis?: boolean;
51
- };
52
- /**
53
- * Options for a BM25 JSON field (json, jsonb columns).
54
- */
55
- type Bm25JsonFieldOptions = {
56
- readonly tokenizer?: TokenizerId | (string & {});
57
- readonly alias?: string;
58
- /** Ngram-specific params when tokenizer is 'ngram'. */
59
- readonly min?: number;
60
- readonly max?: number;
61
- };
62
- /**
63
- * Options for a BM25 expression-based field.
64
- */
65
- type Bm25ExpressionFieldOptions = {
66
- readonly alias: string;
67
- readonly tokenizer?: TokenizerId | (string & {});
68
- readonly min?: number;
69
- readonly max?: number;
70
- readonly stemmer?: string;
71
- readonly pattern?: string;
72
- };
73
- /**
74
- * Options for constructing a BM25 index definition.
75
- */
76
- type Bm25IndexOptions = {
77
- readonly keyField: string;
78
- readonly fields: readonly Bm25FieldConfig[];
79
- readonly name?: string;
80
- };
81
- /**
82
- * Typed BM25 field builders.
83
- * These produce `Bm25FieldConfig` objects for use in `bm25Index()`.
84
- */
85
- declare const bm25: {
86
- /** Text field with optional tokenizer config. */
87
- readonly text: (column: string, opts?: Bm25TextFieldOptions) => Bm25FieldConfig;
88
- /** Numeric field (filterable, sortable in BM25). */
89
- readonly numeric: (column: string) => Bm25FieldConfig;
90
- /** Boolean field. */
91
- readonly boolean: (column: string) => Bm25FieldConfig;
92
- /** JSON/JSONB field with optional tokenizer config. */
93
- readonly json: (column: string, opts?: Bm25JsonFieldOptions) => Bm25FieldConfig;
94
- /** Datetime (timestamp/date) field. */
95
- readonly datetime: (column: string) => Bm25FieldConfig;
96
- /** Range field. */
97
- readonly range: (column: string) => Bm25FieldConfig;
98
- /** Raw SQL expression field. `alias` is required. */
99
- readonly expression: (sql: string, opts: Bm25ExpressionFieldOptions) => Bm25FieldConfig;
100
- };
101
- /**
102
- * Creates a generic index definition with a ParadeDB BM25 payload.
103
- *
104
- * `columns` only includes real table columns so core index validation remains
105
- * target-agnostic. Expression fields stay in extension-owned `config.fields`.
106
- */
107
- declare function bm25Index(opts: Bm25IndexOptions): IndexDef;
4
+ declare const paradedbIndexTypes: _$_prisma_next_sql_contract_index_types0.IndexTypeBuilder<Record<never, never> & Record<"bm25", {
5
+ readonly options: {
6
+ key_field: string;
7
+ };
8
+ }>>;
9
+ type IndexTypes = typeof paradedbIndexTypes.IndexTypes;
10
+ type Bm25IndexOptions = IndexTypes['bm25']['options'];
108
11
  //#endregion
109
- export { type Bm25ColumnFieldConfig, type Bm25ExpressionFieldConfig, type Bm25ExpressionFieldOptions, type Bm25FieldConfig, type Bm25IndexConfig, type Bm25IndexOptions, type Bm25JsonFieldOptions, type Bm25TextFieldOptions, type TokenizerId, bm25, bm25Index };
12
+ export { type Bm25IndexOptions, type IndexTypes, paradedbIndexTypes };
110
13
  //# sourceMappingURL=index-types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-types.d.mts","names":[],"sources":["../src/core/constants.ts","../src/types/index-types.ts"],"sourcesContent":[],"mappings":";;;;;;;ACMA;AAWY,KDRA,WAAA,GCQA,eAAyB,GAKR,QAAM,GAAA,OAAA,GAAA,KAAA,GAAA,eAAA,GAAA,aAAA,GAAA,SAAA,GAAA,oBAAA,GAAA,YAAA,GAAA,oBAAA,GAAA,OAAA,GAAA,SAAA;;;;ADbnC;;KCHY,qBAAA;;EAAA,SAAA,UAAA,CAAA,EAAA,KAAqB;EAWrB,SAAA,SAAA,CAAA,EAAA,MAAA;EAWA,SAAA,eAAe,CAAA,EAlBE,MAkBC,CAAA,MAAA,EAAA,OAAA,CAAA;EAKlB,SAAA,KAAA,CAAA,EAAA,MAAe;AAQ3B,CAAA;AAUA;AAWA;AAiBA;AAUa,KAxED,yBAAA,GA+HF;EArDoB,SAAA,UAAA,EAAA,MAAA;EAAuB,SAAA,MAAA,CAAA,EAAA,KAAA;EAY1B,SAAA,KAAA,EAAA,MAAA;EAKA,SAAA,SAAA,CAAA,EAAA,MAAA;EAKG,SAAA,eAAA,CAAA,EA3FD,MA2FC,CAAA,MAAA,EAAA,OAAA,CAAA;CAAuB;;;;AAmBQ,KAxGjD,eAAA,GAAkB,qBAwG+B,GAxGP,yBAwGO;;AAoB7D;;KAvHY,eAAA;;4BAEgB;;;;;KAMhB,oBAAA;uBACW;;;;;;;;KASX,oBAAA;uBACW;;;;;;;;;KAUX,0BAAA;;uBAEW;;;;;;;;;KAeX,gBAAA;;4BAEgB;;;;;;;cAQf;;yCAEiB,yBAAuB;;wCAY1B;;wCAKA;;yCAKG,yBAAuB;;yCASzB;;sCAKH;;2CAKO,+BAA6B;;;;;;;;iBAoB7C,SAAA,OAAgB,mBAAmB"}
1
+ {"version":3,"file":"index-types.d.mts","names":[],"sources":["../src/types/index-types.ts"],"mappings":";;;cAGa,kBAAA,EAAkB,wCAAA,CAAA,gBAAA,CAAA,MAAA,iBAAA,MAAA;EAAA;;;;KAOnB,UAAA,UAAoB,kBAAA,CAAmB,UAAA;AAAA,KACvC,gBAAA,GAAmB,UAAA"}
@@ -1,84 +1,2 @@
1
- //#region src/types/index-types.ts
2
- /**
3
- * Typed BM25 field builders.
4
- * These produce `Bm25FieldConfig` objects for use in `bm25Index()`.
5
- */
6
- const bm25 = {
7
- text(column, opts) {
8
- return {
9
- column,
10
- ...buildTokenizerConfig(opts?.tokenizer, {
11
- stemmer: opts?.stemmer,
12
- remove_emojis: opts?.remove_emojis
13
- }),
14
- ...opts?.alias !== void 0 && { alias: opts.alias }
15
- };
16
- },
17
- numeric(column) {
18
- return { column };
19
- },
20
- boolean(column) {
21
- return { column };
22
- },
23
- json(column, opts) {
24
- return {
25
- column,
26
- ...buildTokenizerConfig(opts?.tokenizer, {
27
- min: opts?.min,
28
- max: opts?.max
29
- }),
30
- ...opts?.alias !== void 0 && { alias: opts.alias }
31
- };
32
- },
33
- datetime(column) {
34
- return { column };
35
- },
36
- range(column) {
37
- return { column };
38
- },
39
- expression(sql, opts) {
40
- return {
41
- expression: sql,
42
- alias: opts.alias,
43
- ...buildTokenizerConfig(opts.tokenizer, {
44
- min: opts.min,
45
- max: opts.max,
46
- stemmer: opts.stemmer,
47
- pattern: opts.pattern
48
- })
49
- };
50
- }
51
- };
52
- /**
53
- * Creates a generic index definition with a ParadeDB BM25 payload.
54
- *
55
- * `columns` only includes real table columns so core index validation remains
56
- * target-agnostic. Expression fields stay in extension-owned `config.fields`.
57
- */
58
- function bm25Index(opts) {
59
- return {
60
- columns: opts.fields.flatMap((field) => "column" in field ? [field.column] : []),
61
- ...opts.name !== void 0 && { name: opts.name },
62
- using: "bm25",
63
- config: {
64
- keyField: opts.keyField,
65
- fields: opts.fields
66
- }
67
- };
68
- }
69
- /**
70
- * Builds `{ tokenizer, tokenizerParams? }` from a tokenizer ID and a bag of params.
71
- * Filters out undefined values and omits `tokenizerParams` when empty.
72
- */
73
- function buildTokenizerConfig(tokenizer, params) {
74
- if (!tokenizer) return {};
75
- const filtered = Object.fromEntries(Object.entries(params).filter(([, v]) => v !== void 0));
76
- return {
77
- tokenizer,
78
- ...Object.keys(filtered).length > 0 && { tokenizerParams: filtered }
79
- };
80
- }
81
-
82
- //#endregion
83
- export { bm25, bm25Index };
84
- //# sourceMappingURL=index-types.mjs.map
1
+ import { t as paradedbIndexTypes } from "./index-types-BWFfNqUb.mjs";
2
+ export { paradedbIndexTypes };
@@ -0,0 +1,135 @@
1
+ import { AnyExpression } from "@prisma-next/sql-relational-core/ast";
2
+ import { CodecExpression, Expression } from "@prisma-next/sql-relational-core/expression";
3
+ import { SqlQueryOperationTypes } from "@prisma-next/sql-contract/types";
4
+
5
+ //#region src/core/proximity-chain.d.ts
6
+ type ProximityTerm = unknown;
7
+ interface ProximityWithinOptions {
8
+ readonly ordered?: boolean;
9
+ }
10
+ interface ProximityStep {
11
+ readonly distance: number;
12
+ readonly term: ProximityTerm;
13
+ readonly ordered: boolean;
14
+ }
15
+ declare class ParadeDbProximityChain implements Expression<{
16
+ codecId: 'pg/text@1';
17
+ nullable: false;
18
+ }> {
19
+ readonly returnType: {
20
+ readonly codecId: "pg/text@1";
21
+ readonly nullable: false;
22
+ };
23
+ private readonly start;
24
+ private readonly steps;
25
+ constructor(start: ProximityTerm, steps?: readonly ProximityStep[]);
26
+ within(distance: number, term: ProximityTerm, options?: ProximityWithinOptions): ParadeDbProximityChain;
27
+ buildAst(): AnyExpression;
28
+ }
29
+ //#endregion
30
+ //#region src/types/operation-types.d.ts
31
+ type CodecTypesBase = Record<string, {
32
+ readonly input: unknown;
33
+ readonly output: unknown;
34
+ }>;
35
+ type QueryOperationTypes<CT extends CodecTypesBase> = SqlQueryOperationTypes<CT, {
36
+ readonly paradeDbMatch: {
37
+ readonly self: {
38
+ readonly codecId: 'pg/text@1';
39
+ };
40
+ readonly impl: (self: CodecExpression<'pg/text@1', boolean, CT>, query: CodecExpression<'pg/text@1', boolean, CT>) => Expression<{
41
+ codecId: 'pg/bool@1';
42
+ nullable: false;
43
+ }>;
44
+ };
45
+ readonly paradeDbMatchAny: {
46
+ readonly self: {
47
+ readonly codecId: 'pg/text@1';
48
+ };
49
+ readonly impl: (self: CodecExpression<'pg/text@1', boolean, CT>, query: CodecExpression<'pg/text@1', boolean, CT>) => Expression<{
50
+ codecId: 'pg/bool@1';
51
+ nullable: false;
52
+ }>;
53
+ };
54
+ readonly paradeDbMatchAll: {
55
+ readonly self: {
56
+ readonly codecId: 'pg/text@1';
57
+ };
58
+ readonly impl: (self: CodecExpression<'pg/text@1', boolean, CT>, query: CodecExpression<'pg/text@1', boolean, CT>) => Expression<{
59
+ codecId: 'pg/bool@1';
60
+ nullable: false;
61
+ }>;
62
+ };
63
+ readonly paradeDbTerm: {
64
+ readonly self: {
65
+ readonly codecId: 'pg/text@1';
66
+ };
67
+ readonly impl: (self: CodecExpression<'pg/text@1', boolean, CT>, query: CodecExpression<'pg/text@1', boolean, CT>) => Expression<{
68
+ codecId: 'pg/bool@1';
69
+ nullable: false;
70
+ }>;
71
+ };
72
+ readonly paradeDbPhrase: {
73
+ readonly self: {
74
+ readonly codecId: 'pg/text@1';
75
+ };
76
+ readonly impl: (self: CodecExpression<'pg/text@1', boolean, CT>, query: CodecExpression<'pg/text@1', boolean, CT>) => Expression<{
77
+ codecId: 'pg/bool@1';
78
+ nullable: false;
79
+ }>;
80
+ };
81
+ readonly paradeDbScore: {
82
+ readonly self: {
83
+ readonly codecId: 'pg/int4@1';
84
+ };
85
+ readonly impl: (self: CodecExpression<'pg/int4@1', boolean, CT>) => Expression<{
86
+ codecId: 'pg/float4@1';
87
+ nullable: false;
88
+ }>;
89
+ };
90
+ readonly paradeDbFuzzy: {
91
+ readonly self: {
92
+ readonly codecId: 'pg/text@1';
93
+ };
94
+ readonly impl: (self: CodecExpression<'pg/text@1', boolean, CT>, distance: number) => Expression<{
95
+ codecId: 'pg/text@1';
96
+ nullable: false;
97
+ }>;
98
+ };
99
+ readonly paradeDbBoost: {
100
+ readonly self: {
101
+ readonly codecId: 'pg/text@1';
102
+ };
103
+ readonly impl: (self: CodecExpression<'pg/text@1', boolean, CT>, weight: number) => Expression<{
104
+ codecId: 'pg/text@1';
105
+ nullable: false;
106
+ }>;
107
+ };
108
+ readonly paradeDbConst: {
109
+ readonly self: {
110
+ readonly codecId: 'pg/text@1';
111
+ };
112
+ readonly impl: (self: CodecExpression<'pg/text@1', boolean, CT>, value: number) => Expression<{
113
+ codecId: 'pg/text@1';
114
+ nullable: false;
115
+ }>;
116
+ };
117
+ readonly paradeDbSlop: {
118
+ readonly self: {
119
+ readonly codecId: 'pg/text@1';
120
+ };
121
+ readonly impl: (self: CodecExpression<'pg/text@1', boolean, CT>, slop: number) => Expression<{
122
+ codecId: 'pg/text@1';
123
+ nullable: false;
124
+ }>;
125
+ };
126
+ readonly paradeDbProximity: {
127
+ readonly self: {
128
+ readonly codecId: 'pg/text@1';
129
+ };
130
+ readonly impl: (start: CodecExpression<'pg/text@1', boolean, CT>) => ParadeDbProximityChain;
131
+ };
132
+ }>;
133
+ //#endregion
134
+ export { QueryOperationTypes as t };
135
+ //# sourceMappingURL=operation-types-DXmTJ7jd.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-types-DXmTJ7jd.d.mts","names":[],"sources":["../src/core/proximity-chain.ts","../src/types/operation-types.ts"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { t as QueryOperationTypes } from "./operation-types-DXmTJ7jd.mjs";
2
+ export { type QueryOperationTypes };
@@ -0,0 +1 @@
1
+ export {};
package/dist/pack.d.mts CHANGED
@@ -1,3 +1,5 @@
1
+ import * as _$_prisma_next_sql_contract_index_types0 from "@prisma-next/sql-contract/index-types";
2
+
1
3
  //#region src/exports/pack.d.ts
2
4
  declare const paradedbPack: {
3
5
  readonly kind: "extension";
@@ -10,6 +12,20 @@ declare const paradedbPack: {
10
12
  readonly 'paradedb/bm25': true;
11
13
  };
12
14
  };
15
+ readonly indexTypes: _$_prisma_next_sql_contract_index_types0.IndexTypeBuilder<Record<never, never> & Record<"bm25", {
16
+ readonly options: {
17
+ key_field: string;
18
+ };
19
+ }>>;
20
+ readonly types: {
21
+ readonly queryOperationTypes: {
22
+ readonly import: {
23
+ readonly package: "@prisma-next/extension-paradedb/operation-types";
24
+ readonly named: "QueryOperationTypes";
25
+ readonly alias: "ParadeDbQueryOperationTypes";
26
+ };
27
+ };
28
+ };
13
29
  };
14
30
  //#endregion
15
31
  export { paradedbPack as default };
@@ -1 +1 @@
1
- {"version":3,"file":"pack.d.mts","names":[],"sources":["../src/exports/pack.ts"],"sourcesContent":[],"mappings":";cAEM;EAAA,SAAA,IAAA,EAA+B,WAAA"}
1
+ {"version":3,"file":"pack.d.mts","names":[],"sources":["../src/exports/pack.ts"],"mappings":";;;cAEM,YAAA;EAAA"}
package/dist/pack.mjs CHANGED
@@ -1,9 +1,7 @@
1
- import { t as paradedbPackMeta } from "./descriptor-meta-BTFnIGJ6.mjs";
2
-
1
+ import { t as paradedbPackMeta } from "./descriptor-meta-CmokJ02r.mjs";
3
2
  //#region src/exports/pack.ts
4
3
  const paradedbPack = paradedbPackMeta;
5
- var pack_default = paradedbPack;
6
-
7
4
  //#endregion
8
- export { pack_default as default };
5
+ export { paradedbPack as default };
6
+
9
7
  //# sourceMappingURL=pack.mjs.map
package/dist/pack.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pack.mjs","names":[],"sources":["../src/exports/pack.ts"],"sourcesContent":["import { paradedbPackMeta } from '../core/descriptor-meta';\n\nconst paradedbPack = paradedbPackMeta;\n\nexport default paradedbPack;\n"],"mappings":";;;AAEA,MAAM,eAAe;AAErB,mBAAe"}
1
+ {"version":3,"file":"pack.mjs","names":[],"sources":["../src/exports/pack.ts"],"sourcesContent":["import { paradedbPackMeta } from '../core/descriptor-meta';\n\nconst paradedbPack = paradedbPackMeta;\n\nexport default paradedbPack;\n"],"mappings":";;AAEA,MAAM,eAAe"}
@@ -0,0 +1,7 @@
1
+ import { SqlRuntimeExtensionDescriptor } from "@prisma-next/sql-runtime";
2
+
3
+ //#region src/exports/runtime.d.ts
4
+ declare const paradedbRuntimeDescriptor: SqlRuntimeExtensionDescriptor<'postgres'>;
5
+ //#endregion
6
+ export { paradedbRuntimeDescriptor as default };
7
+ //# sourceMappingURL=runtime.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.mts","names":[],"sources":["../src/exports/runtime.ts"],"mappings":";;;cAGM,yBAAA,EAA2B,6BAAA"}
@@ -0,0 +1,21 @@
1
+ import { n as paradedbQueryOperations, t as paradedbPackMeta } from "./descriptor-meta-CmokJ02r.mjs";
2
+ //#region src/exports/runtime.ts
3
+ const paradedbRuntimeDescriptor = {
4
+ kind: "extension",
5
+ id: paradedbPackMeta.id,
6
+ version: paradedbPackMeta.version,
7
+ familyId: "sql",
8
+ targetId: "postgres",
9
+ codecs: () => [],
10
+ queryOperations: () => paradedbQueryOperations(),
11
+ create() {
12
+ return {
13
+ familyId: "sql",
14
+ targetId: "postgres"
15
+ };
16
+ }
17
+ };
18
+ //#endregion
19
+ export { paradedbRuntimeDescriptor as default };
20
+
21
+ //# sourceMappingURL=runtime.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.mjs","names":[],"sources":["../src/exports/runtime.ts"],"sourcesContent":["import type { SqlRuntimeExtensionDescriptor } from '@prisma-next/sql-runtime';\nimport { paradedbPackMeta, paradedbQueryOperations } from '../core/descriptor-meta';\n\nconst paradedbRuntimeDescriptor: SqlRuntimeExtensionDescriptor<'postgres'> = {\n kind: 'extension' as const,\n id: paradedbPackMeta.id,\n version: paradedbPackMeta.version,\n familyId: 'sql' as const,\n targetId: 'postgres' as const,\n codecs: () => [],\n queryOperations: () => paradedbQueryOperations(),\n create() {\n return {\n familyId: 'sql' as const,\n targetId: 'postgres' as const,\n };\n },\n};\n\nexport default paradedbRuntimeDescriptor;\n"],"mappings":";;AAGA,MAAM,4BAAuE;CAC3E,MAAM;CACN,IAAI,iBAAiB;CACrB,SAAS,iBAAiB;CAC1B,UAAU;CACV,UAAU;CACV,cAAc,EAAE;CAChB,uBAAuB,yBAAyB;CAChD,SAAS;EACP,OAAO;GACL,UAAU;GACV,UAAU;GACX;;CAEJ"}
package/package.json CHANGED
@@ -1,18 +1,30 @@
1
1
  {
2
2
  "name": "@prisma-next/extension-paradedb",
3
- "version": "0.5.0-dev.9",
3
+ "version": "0.5.0",
4
+ "license": "Apache-2.0",
4
5
  "type": "module",
5
6
  "sideEffects": false,
6
7
  "dependencies": {
7
- "@prisma-next/contract": "0.5.0-dev.9",
8
- "@prisma-next/contract-authoring": "0.5.0-dev.9"
8
+ "arktype": "^2.1.25",
9
+ "@prisma-next/contract": "0.5.0",
10
+ "@prisma-next/contract-authoring": "0.5.0",
11
+ "@prisma-next/family-sql": "0.5.0",
12
+ "@prisma-next/sql-contract": "0.5.0",
13
+ "@prisma-next/sql-operations": "0.5.0",
14
+ "@prisma-next/sql-relational-core": "0.5.0",
15
+ "@prisma-next/framework-components": "0.5.0",
16
+ "@prisma-next/sql-runtime": "0.5.0"
9
17
  },
10
18
  "devDependencies": {
11
- "tsdown": "0.18.4",
19
+ "tsdown": "0.22.0",
12
20
  "typescript": "5.9.3",
13
- "vitest": "4.0.17",
14
- "@prisma-next/tsdown": "0.0.0",
15
- "@prisma-next/tsconfig": "0.0.0"
21
+ "vitest": "4.1.5",
22
+ "@prisma-next/adapter-postgres": "0.5.0",
23
+ "@prisma-next/operations": "0.5.0",
24
+ "@prisma-next/sql-contract-ts": "0.5.0",
25
+ "@prisma-next/test-utils": "0.0.1",
26
+ "@prisma-next/tsconfig": "0.0.0",
27
+ "@prisma-next/tsdown": "0.0.0"
16
28
  },
17
29
  "files": [
18
30
  "dist",
@@ -21,7 +33,9 @@
21
33
  "exports": {
22
34
  "./control": "./dist/control.mjs",
23
35
  "./index-types": "./dist/index-types.mjs",
36
+ "./operation-types": "./dist/operation-types.mjs",
24
37
  "./pack": "./dist/pack.mjs",
38
+ "./runtime": "./dist/runtime.mjs",
25
39
  "./package.json": "./package.json"
26
40
  },
27
41
  "repository": {
@@ -2,21 +2,3 @@
2
2
  * Extension ID for ParadeDB pg_search.
3
3
  */
4
4
  export const PARADEDB_EXTENSION_ID = 'paradedb' as const;
5
-
6
- /**
7
- * Built-in ParadeDB tokenizer IDs.
8
- * These correspond to the `pdb.*` casting syntax in `CREATE INDEX ... USING bm25`.
9
- */
10
- export type TokenizerId =
11
- | 'unicode_words'
12
- | 'simple'
13
- | 'ngram'
14
- | 'icu'
15
- | 'regex_pattern'
16
- | 'source_code'
17
- | 'literal'
18
- | 'literal_normalized'
19
- | 'whitespace'
20
- | 'chinese_compatible'
21
- | 'jieba'
22
- | 'lindera';