@nicia-ai/typegraph 0.1.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.
Files changed (131) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +47 -0
  3. package/dist/ast-BVyihVbP.d.cts +564 -0
  4. package/dist/ast-BVyihVbP.d.ts +564 -0
  5. package/dist/backend/drizzle/index.cjs +41 -0
  6. package/dist/backend/drizzle/index.cjs.map +1 -0
  7. package/dist/backend/drizzle/index.d.cts +12 -0
  8. package/dist/backend/drizzle/index.d.ts +12 -0
  9. package/dist/backend/drizzle/index.js +12 -0
  10. package/dist/backend/drizzle/index.js.map +1 -0
  11. package/dist/backend/drizzle/postgres.cjs +27 -0
  12. package/dist/backend/drizzle/postgres.cjs.map +1 -0
  13. package/dist/backend/drizzle/postgres.d.cts +37 -0
  14. package/dist/backend/drizzle/postgres.d.ts +37 -0
  15. package/dist/backend/drizzle/postgres.js +10 -0
  16. package/dist/backend/drizzle/postgres.js.map +1 -0
  17. package/dist/backend/drizzle/schema/postgres.cjs +40 -0
  18. package/dist/backend/drizzle/schema/postgres.cjs.map +1 -0
  19. package/dist/backend/drizzle/schema/postgres.d.cts +2419 -0
  20. package/dist/backend/drizzle/schema/postgres.d.ts +2419 -0
  21. package/dist/backend/drizzle/schema/postgres.js +7 -0
  22. package/dist/backend/drizzle/schema/postgres.js.map +1 -0
  23. package/dist/backend/drizzle/schema/sqlite.cjs +40 -0
  24. package/dist/backend/drizzle/schema/sqlite.cjs.map +1 -0
  25. package/dist/backend/drizzle/schema/sqlite.d.cts +2647 -0
  26. package/dist/backend/drizzle/schema/sqlite.d.ts +2647 -0
  27. package/dist/backend/drizzle/schema/sqlite.js +7 -0
  28. package/dist/backend/drizzle/schema/sqlite.js.map +1 -0
  29. package/dist/backend/drizzle/sqlite.cjs +27 -0
  30. package/dist/backend/drizzle/sqlite.cjs.map +1 -0
  31. package/dist/backend/drizzle/sqlite.d.cts +36 -0
  32. package/dist/backend/drizzle/sqlite.d.ts +36 -0
  33. package/dist/backend/drizzle/sqlite.js +10 -0
  34. package/dist/backend/drizzle/sqlite.js.map +1 -0
  35. package/dist/backend/postgres/index.cjs +53 -0
  36. package/dist/backend/postgres/index.cjs.map +1 -0
  37. package/dist/backend/postgres/index.d.cts +12 -0
  38. package/dist/backend/postgres/index.d.ts +12 -0
  39. package/dist/backend/postgres/index.js +12 -0
  40. package/dist/backend/postgres/index.js.map +1 -0
  41. package/dist/backend/sqlite/index.cjs +117 -0
  42. package/dist/backend/sqlite/index.cjs.map +1 -0
  43. package/dist/backend/sqlite/index.d.cts +71 -0
  44. package/dist/backend/sqlite/index.d.ts +71 -0
  45. package/dist/backend/sqlite/index.js +78 -0
  46. package/dist/backend/sqlite/index.js.map +1 -0
  47. package/dist/chunk-2QHQ2C4P.js +146 -0
  48. package/dist/chunk-2QHQ2C4P.js.map +1 -0
  49. package/dist/chunk-3A5TKOEJ.js +306 -0
  50. package/dist/chunk-3A5TKOEJ.js.map +1 -0
  51. package/dist/chunk-4PIEL2VO.js +162 -0
  52. package/dist/chunk-4PIEL2VO.js.map +1 -0
  53. package/dist/chunk-536PH5FT.js +342 -0
  54. package/dist/chunk-536PH5FT.js.map +1 -0
  55. package/dist/chunk-DBFCKELK.cjs +156 -0
  56. package/dist/chunk-DBFCKELK.cjs.map +1 -0
  57. package/dist/chunk-DDM2FZRJ.cjs +1143 -0
  58. package/dist/chunk-DDM2FZRJ.cjs.map +1 -0
  59. package/dist/chunk-DGUM43GV.js +10 -0
  60. package/dist/chunk-DGUM43GV.js.map +1 -0
  61. package/dist/chunk-F32HCHYA.cjs +680 -0
  62. package/dist/chunk-F32HCHYA.cjs.map +1 -0
  63. package/dist/chunk-IIAT36MI.js +353 -0
  64. package/dist/chunk-IIAT36MI.js.map +1 -0
  65. package/dist/chunk-JDAET5LO.js +236 -0
  66. package/dist/chunk-JDAET5LO.js.map +1 -0
  67. package/dist/chunk-JEQ2X3Z6.cjs +12 -0
  68. package/dist/chunk-JEQ2X3Z6.cjs.map +1 -0
  69. package/dist/chunk-JKTO7TW3.js +299 -0
  70. package/dist/chunk-JKTO7TW3.js.map +1 -0
  71. package/dist/chunk-K7SQ3SWP.js +497 -0
  72. package/dist/chunk-K7SQ3SWP.js.map +1 -0
  73. package/dist/chunk-L642L24T.js +142 -0
  74. package/dist/chunk-L642L24T.js.map +1 -0
  75. package/dist/chunk-MFVCSNIY.cjs +308 -0
  76. package/dist/chunk-MFVCSNIY.cjs.map +1 -0
  77. package/dist/chunk-MNO33ASC.cjs +240 -0
  78. package/dist/chunk-MNO33ASC.cjs.map +1 -0
  79. package/dist/chunk-N4AOJ3VF.cjs +154 -0
  80. package/dist/chunk-N4AOJ3VF.cjs.map +1 -0
  81. package/dist/chunk-P5CNM325.cjs +508 -0
  82. package/dist/chunk-P5CNM325.cjs.map +1 -0
  83. package/dist/chunk-RYT4H46I.js +646 -0
  84. package/dist/chunk-RYT4H46I.js.map +1 -0
  85. package/dist/chunk-SV5H3XM5.cjs +321 -0
  86. package/dist/chunk-SV5H3XM5.cjs.map +1 -0
  87. package/dist/chunk-TXHKFLWX.cjs +344 -0
  88. package/dist/chunk-TXHKFLWX.cjs.map +1 -0
  89. package/dist/chunk-UJAGXJDG.cjs +170 -0
  90. package/dist/chunk-UJAGXJDG.cjs.map +1 -0
  91. package/dist/chunk-VXRVGFCI.js +1128 -0
  92. package/dist/chunk-VXRVGFCI.js.map +1 -0
  93. package/dist/chunk-YM5AL65Y.cjs +357 -0
  94. package/dist/chunk-YM5AL65Y.cjs.map +1 -0
  95. package/dist/index.cjs +8334 -0
  96. package/dist/index.cjs.map +1 -0
  97. package/dist/index.d.cts +1365 -0
  98. package/dist/index.d.ts +1365 -0
  99. package/dist/index.js +8105 -0
  100. package/dist/index.js.map +1 -0
  101. package/dist/indexes/index.cjs +67 -0
  102. package/dist/indexes/index.cjs.map +1 -0
  103. package/dist/indexes/index.d.cts +62 -0
  104. package/dist/indexes/index.d.ts +62 -0
  105. package/dist/indexes/index.js +6 -0
  106. package/dist/indexes/index.js.map +1 -0
  107. package/dist/interchange/index.cjs +612 -0
  108. package/dist/interchange/index.cjs.map +1 -0
  109. package/dist/interchange/index.d.cts +288 -0
  110. package/dist/interchange/index.d.ts +288 -0
  111. package/dist/interchange/index.js +598 -0
  112. package/dist/interchange/index.js.map +1 -0
  113. package/dist/profiler/index.cjs +793 -0
  114. package/dist/profiler/index.cjs.map +1 -0
  115. package/dist/profiler/index.d.cts +283 -0
  116. package/dist/profiler/index.d.ts +283 -0
  117. package/dist/profiler/index.js +785 -0
  118. package/dist/profiler/index.js.map +1 -0
  119. package/dist/store-60Lcfi0w.d.ts +2263 -0
  120. package/dist/store-Bifii8MZ.d.cts +2263 -0
  121. package/dist/test-helpers-BjyRYJZX.d.ts +22 -0
  122. package/dist/test-helpers-NoQXhleQ.d.cts +22 -0
  123. package/dist/types-BRzHlhKC.d.cts +14 -0
  124. package/dist/types-BRzHlhKC.d.ts +14 -0
  125. package/dist/types-BrSfFSpW.d.cts +158 -0
  126. package/dist/types-CX4cLd7M.d.ts +152 -0
  127. package/dist/types-CjZ7g_7v.d.ts +442 -0
  128. package/dist/types-DDOSfrih.d.cts +442 -0
  129. package/dist/types-D_3mEv2y.d.ts +158 -0
  130. package/dist/types-a5rAxC92.d.cts +152 -0
  131. package/package.json +201 -0
@@ -0,0 +1,152 @@
1
+ import { z } from 'zod';
2
+ import { A as AnyEdgeType, E as EdgeType, J as JsonPointer, V as ValueType, a as JsonPointerFor, b as JsonPointerSegmentsFor, N as NodeType } from './ast-BVyihVbP.cjs';
3
+
4
+ type IndexScope =
5
+ /**
6
+ * Prefix index keys with `(graph_id, kind)` (nodes) or `(graph_id, kind)` (edges).
7
+ *
8
+ * This matches TypeGraph queries which always filter on `graph_id` and `kind`
9
+ * (often as `IN (...)` due to ontology expansion).
10
+ */
11
+ "graphAndKind"
12
+ /**
13
+ * Prefix index keys with `graph_id` only.
14
+ */
15
+ | "graph"
16
+ /**
17
+ * Do not prefix index keys with TypeGraph system columns.
18
+ */
19
+ | "none";
20
+ type IndexWhereOp = "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "in" | "notIn";
21
+ type IndexWhereExpression = Readonly<{
22
+ __type: "index_where_and";
23
+ predicates: readonly IndexWhereExpression[];
24
+ }> | Readonly<{
25
+ __type: "index_where_or";
26
+ predicates: readonly IndexWhereExpression[];
27
+ }> | Readonly<{
28
+ __type: "index_where_not";
29
+ predicate: IndexWhereExpression;
30
+ }> | Readonly<{
31
+ __type: "index_where_comparison";
32
+ left: IndexWhereOperand;
33
+ op: IndexWhereOp;
34
+ right: IndexWhereLiteral | readonly IndexWhereLiteral[];
35
+ }> | Readonly<{
36
+ __type: "index_where_null_check";
37
+ operand: IndexWhereOperand;
38
+ op: "isNull" | "isNotNull";
39
+ }>;
40
+ type IndexWhereOperand = Readonly<{
41
+ __type: "index_operand_system";
42
+ column: SystemColumnName;
43
+ valueType: ValueType | undefined;
44
+ }> | Readonly<{
45
+ __type: "index_operand_prop";
46
+ field: string;
47
+ valueType: ValueType | undefined;
48
+ }>;
49
+ type IndexWhereLiteral = Readonly<{
50
+ __type: "index_where_literal";
51
+ value: string | number | boolean;
52
+ valueType: ValueType;
53
+ }>;
54
+ type IndexWhereComparableValue<T> = NonNullable<T> extends string ? string : NonNullable<T> extends number ? number : NonNullable<T> extends boolean ? boolean : NonNullable<T> extends Date ? Date | string : never;
55
+ type IndexWhereFieldBuilder<T> = Readonly<{
56
+ eq: (value: IndexWhereComparableValue<T>) => IndexWhereExpression;
57
+ neq: (value: IndexWhereComparableValue<T>) => IndexWhereExpression;
58
+ gt: (value: IndexWhereComparableValue<T>) => IndexWhereExpression;
59
+ gte: (value: IndexWhereComparableValue<T>) => IndexWhereExpression;
60
+ lt: (value: IndexWhereComparableValue<T>) => IndexWhereExpression;
61
+ lte: (value: IndexWhereComparableValue<T>) => IndexWhereExpression;
62
+ in: (values: readonly IndexWhereComparableValue<T>[]) => IndexWhereExpression;
63
+ notIn: (values: readonly IndexWhereComparableValue<T>[]) => IndexWhereExpression;
64
+ isNull: () => IndexWhereExpression;
65
+ isNotNull: () => IndexWhereExpression;
66
+ }>;
67
+ type NodeIndexWhereBuilder<N extends NodeType> = Readonly<{
68
+ graphId: IndexWhereFieldBuilder<string>;
69
+ kind: IndexWhereFieldBuilder<string>;
70
+ id: IndexWhereFieldBuilder<string>;
71
+ deletedAt: IndexWhereFieldBuilder<string | undefined>;
72
+ validFrom: IndexWhereFieldBuilder<string | undefined>;
73
+ validTo: IndexWhereFieldBuilder<string | undefined>;
74
+ createdAt: IndexWhereFieldBuilder<string>;
75
+ updatedAt: IndexWhereFieldBuilder<string>;
76
+ version: IndexWhereFieldBuilder<number>;
77
+ } & {
78
+ [K in keyof z.infer<N["schema"]>]-?: IndexWhereFieldBuilder<z.infer<N["schema"]>[K]>;
79
+ }>;
80
+ type EdgeIndexWhereBuilder<E extends AnyEdgeType> = Readonly<{
81
+ graphId: IndexWhereFieldBuilder<string>;
82
+ kind: IndexWhereFieldBuilder<string>;
83
+ id: IndexWhereFieldBuilder<string>;
84
+ fromKind: IndexWhereFieldBuilder<string>;
85
+ fromId: IndexWhereFieldBuilder<string>;
86
+ toKind: IndexWhereFieldBuilder<string>;
87
+ toId: IndexWhereFieldBuilder<string>;
88
+ deletedAt: IndexWhereFieldBuilder<string | undefined>;
89
+ validFrom: IndexWhereFieldBuilder<string | undefined>;
90
+ validTo: IndexWhereFieldBuilder<string | undefined>;
91
+ createdAt: IndexWhereFieldBuilder<string>;
92
+ updatedAt: IndexWhereFieldBuilder<string>;
93
+ } & {
94
+ [K in keyof z.infer<E["schema"]>]-?: IndexWhereFieldBuilder<z.infer<E["schema"]>[K]>;
95
+ }>;
96
+ type IndexWhereInput<Builder> = IndexWhereExpression | ((where: Builder) => IndexWhereExpression);
97
+ type NonEmptyJsonPointerFor<T> = Exclude<JsonPointerFor<T>, "">;
98
+ type NonEmptyJsonPointerSegmentsFor<T> = Exclude<JsonPointerSegmentsFor<T>, readonly []>;
99
+ type IndexFieldInput<T> = (keyof T & string) | NonEmptyJsonPointerFor<T> | NonEmptyJsonPointerSegmentsFor<T> | JsonPointer;
100
+ type NodeIndexConfig<N extends NodeType> = Readonly<{
101
+ fields: readonly IndexFieldInput<z.infer<N["schema"]>>[];
102
+ coveringFields?: readonly IndexFieldInput<z.infer<N["schema"]>>[] | undefined;
103
+ unique?: boolean | undefined;
104
+ name?: string | undefined;
105
+ scope?: IndexScope | undefined;
106
+ where?: IndexWhereInput<NodeIndexWhereBuilder<N>> | undefined;
107
+ }>;
108
+ type EdgeIndexDirection = "out" | "in" | "none";
109
+ type EdgeIndexConfig<E extends AnyEdgeType> = Readonly<{
110
+ fields: readonly IndexFieldInput<z.infer<E["schema"]>>[];
111
+ coveringFields?: readonly IndexFieldInput<z.infer<E["schema"]>>[] | undefined;
112
+ unique?: boolean | undefined;
113
+ name?: string | undefined;
114
+ scope?: IndexScope | undefined;
115
+ /**
116
+ * Optional direction hint to prefix edge indexes with the join key that
117
+ * TypeGraph traversal queries use (`from_id` for out, `to_id` for in).
118
+ */
119
+ direction?: EdgeIndexDirection | undefined;
120
+ where?: IndexWhereInput<EdgeIndexWhereBuilder<E>> | undefined;
121
+ }>;
122
+ type NodeIndex<N extends NodeType = NodeType> = Readonly<{
123
+ __type: "typegraph_node_index";
124
+ node: N;
125
+ nodeKind: N["name"];
126
+ fields: readonly JsonPointer[];
127
+ fieldValueTypes: readonly (ValueType | undefined)[];
128
+ coveringFields: readonly JsonPointer[];
129
+ coveringFieldValueTypes: readonly (ValueType | undefined)[];
130
+ unique: boolean;
131
+ scope: IndexScope;
132
+ where: IndexWhereExpression | undefined;
133
+ name: string;
134
+ }>;
135
+ type EdgeIndex<E extends AnyEdgeType = EdgeType> = Readonly<{
136
+ __type: "typegraph_edge_index";
137
+ edge: E;
138
+ edgeKind: E["name"];
139
+ fields: readonly JsonPointer[];
140
+ fieldValueTypes: readonly (ValueType | undefined)[];
141
+ coveringFields: readonly JsonPointer[];
142
+ coveringFieldValueTypes: readonly (ValueType | undefined)[];
143
+ unique: boolean;
144
+ scope: IndexScope;
145
+ direction: EdgeIndexDirection;
146
+ where: IndexWhereExpression | undefined;
147
+ name: string;
148
+ }>;
149
+ type TypeGraphIndex = NodeIndex | EdgeIndex;
150
+ type SystemColumnName = "graph_id" | "kind" | "id" | "from_kind" | "from_id" | "to_kind" | "to_id" | "deleted_at" | "valid_from" | "valid_to" | "created_at" | "updated_at" | "version";
151
+
152
+ export type { EdgeIndex as E, IndexWhereExpression as I, NodeIndex as N, SystemColumnName as S, TypeGraphIndex as T, EdgeIndexConfig as a, NodeIndexConfig as b, EdgeIndexDirection as c, EdgeIndexWhereBuilder as d, IndexScope as e, IndexWhereFieldBuilder as f, IndexWhereInput as g, NodeIndexWhereBuilder as h };
package/package.json ADDED
@@ -0,0 +1,201 @@
1
+ {
2
+ "name": "@nicia-ai/typegraph",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript-first embedded knowledge graph library with ontological reasoning",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": {
12
+ "types": "./dist/index.d.ts",
13
+ "default": "./dist/index.js"
14
+ },
15
+ "require": {
16
+ "types": "./dist/index.d.cts",
17
+ "default": "./dist/index.cjs"
18
+ }
19
+ },
20
+ "./interchange": {
21
+ "import": {
22
+ "types": "./dist/interchange/index.d.ts",
23
+ "default": "./dist/interchange/index.js"
24
+ },
25
+ "require": {
26
+ "types": "./dist/interchange/index.d.cts",
27
+ "default": "./dist/interchange/index.cjs"
28
+ }
29
+ },
30
+ "./profiler": {
31
+ "import": {
32
+ "types": "./dist/profiler/index.d.ts",
33
+ "default": "./dist/profiler/index.js"
34
+ },
35
+ "require": {
36
+ "types": "./dist/profiler/index.d.cts",
37
+ "default": "./dist/profiler/index.cjs"
38
+ }
39
+ },
40
+ "./indexes": {
41
+ "import": {
42
+ "types": "./dist/indexes/index.d.ts",
43
+ "default": "./dist/indexes/index.js"
44
+ },
45
+ "require": {
46
+ "types": "./dist/indexes/index.d.cts",
47
+ "default": "./dist/indexes/index.cjs"
48
+ }
49
+ },
50
+ "./sqlite": {
51
+ "import": {
52
+ "types": "./dist/backend/sqlite/index.d.ts",
53
+ "default": "./dist/backend/sqlite/index.js"
54
+ },
55
+ "require": {
56
+ "types": "./dist/backend/sqlite/index.d.cts",
57
+ "default": "./dist/backend/sqlite/index.cjs"
58
+ }
59
+ },
60
+ "./postgres": {
61
+ "import": {
62
+ "types": "./dist/backend/postgres/index.d.ts",
63
+ "default": "./dist/backend/postgres/index.js"
64
+ },
65
+ "require": {
66
+ "types": "./dist/backend/postgres/index.d.cts",
67
+ "default": "./dist/backend/postgres/index.cjs"
68
+ }
69
+ },
70
+ "./drizzle": {
71
+ "import": {
72
+ "types": "./dist/backend/drizzle/index.d.ts",
73
+ "default": "./dist/backend/drizzle/index.js"
74
+ },
75
+ "require": {
76
+ "types": "./dist/backend/drizzle/index.d.cts",
77
+ "default": "./dist/backend/drizzle/index.cjs"
78
+ }
79
+ },
80
+ "./drizzle/sqlite": {
81
+ "import": {
82
+ "types": "./dist/backend/drizzle/sqlite.d.ts",
83
+ "default": "./dist/backend/drizzle/sqlite.js"
84
+ },
85
+ "require": {
86
+ "types": "./dist/backend/drizzle/sqlite.d.cts",
87
+ "default": "./dist/backend/drizzle/sqlite.cjs"
88
+ }
89
+ },
90
+ "./drizzle/postgres": {
91
+ "import": {
92
+ "types": "./dist/backend/drizzle/postgres.d.ts",
93
+ "default": "./dist/backend/drizzle/postgres.js"
94
+ },
95
+ "require": {
96
+ "types": "./dist/backend/drizzle/postgres.d.cts",
97
+ "default": "./dist/backend/drizzle/postgres.cjs"
98
+ }
99
+ },
100
+ "./drizzle/schema/sqlite": {
101
+ "import": {
102
+ "types": "./dist/backend/drizzle/schema/sqlite.d.ts",
103
+ "default": "./dist/backend/drizzle/schema/sqlite.js"
104
+ },
105
+ "require": {
106
+ "types": "./dist/backend/drizzle/schema/sqlite.d.cts",
107
+ "default": "./dist/backend/drizzle/schema/sqlite.cjs"
108
+ }
109
+ },
110
+ "./drizzle/schema/postgres": {
111
+ "import": {
112
+ "types": "./dist/backend/drizzle/schema/postgres.d.ts",
113
+ "default": "./dist/backend/drizzle/schema/postgres.js"
114
+ },
115
+ "require": {
116
+ "types": "./dist/backend/drizzle/schema/postgres.d.cts",
117
+ "default": "./dist/backend/drizzle/schema/postgres.cjs"
118
+ }
119
+ }
120
+ },
121
+ "files": [
122
+ "dist",
123
+ "README.md",
124
+ "LICENSE"
125
+ ],
126
+ "sideEffects": false,
127
+ "keywords": [
128
+ "graph",
129
+ "knowledge-graph",
130
+ "typescript",
131
+ "sqlite",
132
+ "drizzle",
133
+ "zod",
134
+ "ontology",
135
+ "semantic"
136
+ ],
137
+ "author": "Nicia AI, Inc.",
138
+ "license": "MIT",
139
+ "repository": {
140
+ "type": "git",
141
+ "url": "git+https://github.com/nicia-ai/typegraph.git",
142
+ "directory": "packages/typegraph"
143
+ },
144
+ "bugs": {
145
+ "url": "https://github.com/nicia-ai/typegraph/issues"
146
+ },
147
+ "homepage": "https://typegraph.dev",
148
+ "publishConfig": {
149
+ "access": "public"
150
+ },
151
+ "engines": {
152
+ "node": ">=22"
153
+ },
154
+ "peerDependencies": {
155
+ "better-sqlite3": ">=9.0.0",
156
+ "drizzle-orm": ">=0.35.0",
157
+ "zod": "^4.0.0"
158
+ },
159
+ "peerDependenciesMeta": {
160
+ "better-sqlite3": {
161
+ "optional": true
162
+ }
163
+ },
164
+ "dependencies": {
165
+ "nanoid": "^5.1.6"
166
+ },
167
+ "devDependencies": {
168
+ "@stryker-mutator/core": "^9.5.1",
169
+ "@stryker-mutator/vitest-runner": "^9.5.1",
170
+ "@types/better-sqlite3": "^7.6.13",
171
+ "@types/node": "^24.10.11",
172
+ "@types/pg": "^8.16.0",
173
+ "@vitest/coverage-v8": "^4.0.18",
174
+ "better-sqlite3": "^12.6.2",
175
+ "drizzle-orm": "^0.45.1",
176
+ "eslint": "^9.39.2",
177
+ "fast-check": "^4.5.3",
178
+ "pg": "^8.18.0",
179
+ "sqlite-vec": "0.1.7-alpha.2",
180
+ "tsup": "^8.5.1",
181
+ "typescript": "^5.9.3",
182
+ "vitest": "^4.0.18",
183
+ "zod": "^4.3.6",
184
+ "@typegraph/eslint-config": "0.1.0"
185
+ },
186
+ "scripts": {
187
+ "dev": "tsup --watch",
188
+ "build": "tsup",
189
+ "lint": "eslint .",
190
+ "typecheck": "tsc --noEmit --skipLibCheck",
191
+ "pretest": "node --import tsx scripts/ensure-native-sqlite.ts",
192
+ "test": "vitest run",
193
+ "pretest:unit": "node --import tsx scripts/ensure-native-sqlite.ts",
194
+ "test:unit": "vitest run",
195
+ "pretest:property": "node --import tsx scripts/ensure-native-sqlite.ts",
196
+ "test:property": "vitest run tests/property",
197
+ "test:postgres": "./scripts/test-postgres.sh",
198
+ "test:coverage": "vitest run --coverage",
199
+ "test:mutation": "stryker run"
200
+ }
201
+ }