sensemaking 0.24.7 → 0.25.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.
- package/README.md +20 -11
- package/dist/cjs/cli/build.d.cts +3 -0
- package/dist/cjs/cli/build.d.ts +3 -0
- package/dist/cjs/cli/build.js +195 -0
- package/dist/cjs/cli/build.js.map +1 -0
- package/dist/cjs/cli/index.d.cts +7 -6
- package/dist/cjs/cli/index.d.ts +7 -6
- package/dist/cjs/cli/index.js +12 -6
- package/dist/cjs/cli/index.js.map +1 -1
- package/dist/cjs/cli/init.js +2 -2
- package/dist/cjs/cli/init.js.map +1 -1
- package/dist/cjs/cli/map.js +7 -2
- package/dist/cjs/cli/map.js.map +1 -1
- package/dist/cjs/cli/named.js +63 -21
- package/dist/cjs/cli/named.js.map +1 -1
- package/dist/cjs/cli/path.js +7 -2
- package/dist/cjs/cli/path.js.map +1 -1
- package/dist/cjs/cli/peek.js +7 -2
- package/dist/cjs/cli/peek.js.map +1 -1
- package/dist/cjs/cli/related.js +55 -6
- package/dist/cjs/cli/related.js.map +1 -1
- package/dist/cjs/cli/search.js +54 -15
- package/dist/cjs/cli/search.js.map +1 -1
- package/dist/cjs/cli/shared.d.cts +9 -3
- package/dist/cjs/cli/shared.d.ts +9 -3
- package/dist/cjs/cli/shared.js +109 -74
- package/dist/cjs/cli/shared.js.map +1 -1
- package/dist/cjs/cli/sql.js +8 -3
- package/dist/cjs/cli/sql.js.map +1 -1
- package/dist/cjs/cli/status.js +142 -50
- package/dist/cjs/cli/status.js.map +1 -1
- package/dist/cjs/cli/types.d.cts +4 -2
- package/dist/cjs/cli/types.d.ts +4 -2
- package/dist/cjs/cli.js +10 -4
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/commands/map.js +10 -6
- package/dist/cjs/commands/map.js.map +1 -1
- package/dist/cjs/commands/peek.js +10 -6
- package/dist/cjs/commands/peek.js.map +1 -1
- package/dist/cjs/commands/related.d.cts +1 -0
- package/dist/cjs/commands/related.d.ts +1 -0
- package/dist/cjs/commands/related.js +56 -21
- package/dist/cjs/commands/related.js.map +1 -1
- package/dist/cjs/commands/scope.js +1 -1
- package/dist/cjs/commands/scope.js.map +1 -1
- package/dist/cjs/commands/search.js +102 -84
- package/dist/cjs/commands/search.js.map +1 -1
- package/dist/cjs/config/index.d.cts +1 -1
- package/dist/cjs/config/index.d.ts +1 -1
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/config/load.d.cts +6 -1
- package/dist/cjs/config/load.d.ts +6 -1
- package/dist/cjs/config/load.js +38 -1
- package/dist/cjs/config/load.js.map +1 -1
- package/dist/cjs/config/types.d.cts +2 -1
- package/dist/cjs/config/types.d.ts +2 -1
- package/dist/cjs/config/types.js +1 -1
- package/dist/cjs/config/types.js.map +1 -1
- package/dist/cjs/config/validate.js +20 -0
- package/dist/cjs/config/validate.js.map +1 -1
- package/dist/cjs/embed/query.d.cts +2 -1
- package/dist/cjs/embed/query.d.ts +2 -1
- package/dist/cjs/embed/query.js +186 -109
- package/dist/cjs/embed/query.js.map +1 -1
- package/dist/cjs/errors.d.cts +1 -1
- package/dist/cjs/errors.d.ts +1 -1
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/features/embed.js.map +1 -1
- package/dist/cjs/graph/traverse.js +11 -6
- package/dist/cjs/graph/traverse.js.map +1 -1
- package/dist/cjs/index.d.cts +3 -3
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/atomic-write.js +20 -6
- package/dist/cjs/lib/atomic-write.js.map +1 -1
- package/dist/cjs/lib/serial-query.d.cts +1 -0
- package/dist/cjs/lib/serial-query.d.ts +1 -0
- package/dist/cjs/lib/serial-query.js +22 -0
- package/dist/cjs/lib/serial-query.js.map +1 -0
- package/dist/cjs/scan/index.d.cts +5 -0
- package/dist/cjs/scan/index.d.ts +5 -0
- package/dist/cjs/scan/index.js +12 -4
- package/dist/cjs/scan/index.js.map +1 -1
- package/dist/cjs/scan/pool.d.cts +5 -0
- package/dist/cjs/scan/pool.d.ts +5 -0
- package/dist/cjs/scan/pool.js +167 -55
- package/dist/cjs/scan/pool.js.map +1 -1
- package/dist/cjs/store/builder.d.cts +6 -1
- package/dist/cjs/store/builder.d.ts +6 -1
- package/dist/cjs/store/builder.js +135 -5
- package/dist/cjs/store/builder.js.map +1 -1
- package/dist/cjs/store/duckdb/lexical.d.cts +2 -0
- package/dist/cjs/store/duckdb/lexical.d.ts +2 -0
- package/dist/cjs/store/duckdb/lexical.js +139 -7
- package/dist/cjs/store/duckdb/lexical.js.map +1 -1
- package/dist/cjs/store/duckdb/open.d.cts +3 -3
- package/dist/cjs/store/duckdb/open.d.ts +3 -3
- package/dist/cjs/store/duckdb/open.js +53 -41
- package/dist/cjs/store/duckdb/open.js.map +1 -1
- package/dist/cjs/store/duckdb/reconcile.js +2 -2
- package/dist/cjs/store/duckdb/reconcile.js.map +1 -1
- package/dist/cjs/store/index.d.cts +23 -4
- package/dist/cjs/store/index.d.ts +23 -4
- package/dist/cjs/store/index.js +224 -15
- package/dist/cjs/store/index.js.map +1 -1
- package/dist/cjs/store/open.d.cts +9 -1
- package/dist/cjs/store/open.d.ts +9 -1
- package/dist/cjs/store/open.js +479 -128
- package/dist/cjs/store/open.js.map +1 -1
- package/dist/cjs/store/reconcile.js +93 -63
- package/dist/cjs/store/reconcile.js.map +1 -1
- package/dist/cjs/store/sqlite/open.d.cts +3 -3
- package/dist/cjs/store/sqlite/open.d.ts +3 -3
- package/dist/cjs/store/sqlite/open.js +44 -36
- package/dist/cjs/store/sqlite/open.js.map +1 -1
- package/dist/cjs/store/turso/open.d.cts +3 -3
- package/dist/cjs/store/turso/open.d.ts +3 -3
- package/dist/cjs/store/turso/open.js +83 -66
- package/dist/cjs/store/turso/open.js.map +1 -1
- package/dist/cjs/store/turso/store.d.cts +3 -1
- package/dist/cjs/store/turso/store.d.ts +3 -1
- package/dist/cjs/store/turso/store.js +46 -31
- package/dist/cjs/store/turso/store.js.map +1 -1
- package/dist/cjs/store/types.d.cts +12 -3
- package/dist/cjs/store/types.d.ts +12 -3
- package/dist/cjs/store/types.js.map +1 -1
- package/dist/cjs/watch.js +155 -35
- package/dist/cjs/watch.js.map +1 -1
- package/dist/esm/cli/build.d.ts +3 -0
- package/dist/esm/cli/build.js +18 -0
- package/dist/esm/cli/build.js.map +1 -0
- package/dist/esm/cli/index.d.ts +7 -6
- package/dist/esm/cli/index.js +8 -6
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/init.js +2 -2
- package/dist/esm/cli/init.js.map +1 -1
- package/dist/esm/cli/map.js +8 -2
- package/dist/esm/cli/map.js.map +1 -1
- package/dist/esm/cli/named.js +38 -14
- package/dist/esm/cli/named.js.map +1 -1
- package/dist/esm/cli/path.js +8 -2
- package/dist/esm/cli/path.js.map +1 -1
- package/dist/esm/cli/peek.js +8 -2
- package/dist/esm/cli/peek.js.map +1 -1
- package/dist/esm/cli/related.js +21 -3
- package/dist/esm/cli/related.js.map +1 -1
- package/dist/esm/cli/search.js +28 -7
- package/dist/esm/cli/search.js.map +1 -1
- package/dist/esm/cli/shared.d.ts +9 -3
- package/dist/esm/cli/shared.js +44 -24
- package/dist/esm/cli/shared.js.map +1 -1
- package/dist/esm/cli/sql.js +8 -2
- package/dist/esm/cli/sql.js.map +1 -1
- package/dist/esm/cli/status.js +166 -111
- package/dist/esm/cli/status.js.map +1 -1
- package/dist/esm/cli/types.d.ts +4 -2
- package/dist/esm/cli/types.js.map +1 -1
- package/dist/esm/cli.js +9 -4
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/commands/map.js +5 -1
- package/dist/esm/commands/map.js.map +1 -1
- package/dist/esm/commands/peek.js +5 -1
- package/dist/esm/commands/peek.js.map +1 -1
- package/dist/esm/commands/related.d.ts +1 -0
- package/dist/esm/commands/related.js +19 -10
- package/dist/esm/commands/related.js.map +1 -1
- package/dist/esm/commands/scope.js +1 -1
- package/dist/esm/commands/scope.js.map +1 -1
- package/dist/esm/commands/search.js +11 -10
- package/dist/esm/commands/search.js.map +1 -1
- package/dist/esm/config/index.d.ts +1 -1
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/load.d.ts +6 -1
- package/dist/esm/config/load.js +32 -3
- package/dist/esm/config/load.js.map +1 -1
- package/dist/esm/config/types.d.ts +2 -1
- package/dist/esm/config/types.js +1 -1
- package/dist/esm/config/types.js.map +1 -1
- package/dist/esm/config/validate.js +20 -0
- package/dist/esm/config/validate.js.map +1 -1
- package/dist/esm/embed/query.d.ts +2 -1
- package/dist/esm/embed/query.js +40 -34
- package/dist/esm/embed/query.js.map +1 -1
- package/dist/esm/errors.d.ts +1 -1
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/features/embed.js.map +1 -1
- package/dist/esm/graph/traverse.js +5 -1
- package/dist/esm/graph/traverse.js.map +1 -1
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/atomic-write.js +14 -6
- package/dist/esm/lib/atomic-write.js.map +1 -1
- package/dist/esm/lib/serial-query.d.ts +1 -0
- package/dist/esm/lib/serial-query.js +13 -0
- package/dist/esm/lib/serial-query.js.map +1 -0
- package/dist/esm/scan/index.d.ts +5 -0
- package/dist/esm/scan/index.js +7 -3
- package/dist/esm/scan/index.js.map +1 -1
- package/dist/esm/scan/pool.d.ts +5 -0
- package/dist/esm/scan/pool.js +41 -16
- package/dist/esm/scan/pool.js.map +1 -1
- package/dist/esm/store/builder.d.ts +6 -1
- package/dist/esm/store/builder.js +19 -0
- package/dist/esm/store/builder.js.map +1 -1
- package/dist/esm/store/duckdb/lexical.d.ts +2 -0
- package/dist/esm/store/duckdb/lexical.js +32 -4
- package/dist/esm/store/duckdb/lexical.js.map +1 -1
- package/dist/esm/store/duckdb/open.d.ts +3 -3
- package/dist/esm/store/duckdb/open.js +13 -6
- package/dist/esm/store/duckdb/open.js.map +1 -1
- package/dist/esm/store/duckdb/reconcile.js +2 -2
- package/dist/esm/store/duckdb/reconcile.js.map +1 -1
- package/dist/esm/store/index.d.ts +23 -4
- package/dist/esm/store/index.js +80 -15
- package/dist/esm/store/index.js.map +1 -1
- package/dist/esm/store/open.d.ts +9 -1
- package/dist/esm/store/open.js +175 -84
- package/dist/esm/store/open.js.map +1 -1
- package/dist/esm/store/reconcile.js +12 -0
- package/dist/esm/store/reconcile.js.map +1 -1
- package/dist/esm/store/sqlite/open.d.ts +3 -3
- package/dist/esm/store/sqlite/open.js +9 -6
- package/dist/esm/store/sqlite/open.js.map +1 -1
- package/dist/esm/store/turso/open.d.ts +3 -3
- package/dist/esm/store/turso/open.js +14 -10
- package/dist/esm/store/turso/open.js.map +1 -1
- package/dist/esm/store/turso/store.d.ts +3 -1
- package/dist/esm/store/turso/store.js +5 -1
- package/dist/esm/store/turso/store.js.map +1 -1
- package/dist/esm/store/types.d.ts +12 -3
- package/dist/esm/store/types.js.map +1 -1
- package/dist/esm/watch.js +57 -19
- package/dist/esm/watch.js.map +1 -1
- package/package.json +1 -1
- package/schema.json +7 -2
- package/skills/sense/SKILL.md +3 -3
- package/skills/sense-bases/SKILL.md +1 -2
- package/skills/sense-setup/SKILL.md +1 -1
- package/skills/sense-setup/references/embeddings.md +1 -1
- package/skills/sense-setup/references/store-benchmarks.md +6 -6
package/dist/cjs/store/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// Rows -> a backing store: registry +
|
|
2
|
-
// beyond frontmatter + content lives in src/features/.
|
|
1
|
+
// Rows -> a backing store: registry + the public open/build boundary. Parsing lives in scan.ts;
|
|
2
|
+
// everything beyond frontmatter + content lives in src/features/.
|
|
3
3
|
"use strict";
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
@@ -20,6 +20,9 @@ _export(exports, {
|
|
|
20
20
|
get SCHEMA_VERSION () {
|
|
21
21
|
return _opents1.SCHEMA_VERSION;
|
|
22
22
|
},
|
|
23
|
+
get buildIndex () {
|
|
24
|
+
return buildIndex;
|
|
25
|
+
},
|
|
23
26
|
get clearCache () {
|
|
24
27
|
return _cachets.clearCache;
|
|
25
28
|
},
|
|
@@ -29,22 +32,31 @@ _export(exports, {
|
|
|
29
32
|
get getMeta () {
|
|
30
33
|
return _sharedts.getMeta;
|
|
31
34
|
},
|
|
35
|
+
get lexicalReadiness () {
|
|
36
|
+
return lexicalReadiness;
|
|
37
|
+
},
|
|
32
38
|
get openStore () {
|
|
33
39
|
return openStore;
|
|
34
40
|
},
|
|
41
|
+
get openStoreFor () {
|
|
42
|
+
return openStoreFor;
|
|
43
|
+
},
|
|
35
44
|
get setMeta () {
|
|
36
45
|
return _sharedts.setMeta;
|
|
46
|
+
},
|
|
47
|
+
get storeFilename () {
|
|
48
|
+
return storeFilename;
|
|
37
49
|
}
|
|
38
50
|
});
|
|
39
51
|
var _indexts = require("../config/index.js");
|
|
40
52
|
var _errorsts = require("../errors.js");
|
|
53
|
+
var _cachets = require("./cache.js");
|
|
41
54
|
var _opents = require("./duckdb/open.js");
|
|
42
55
|
var _storets = require("./duckdb/store.js");
|
|
43
56
|
var _opents1 = require("./sqlite/open.js");
|
|
44
57
|
var _storets1 = require("./sqlite/store.js");
|
|
45
58
|
var _opents2 = require("./turso/open.js");
|
|
46
59
|
var _storets2 = require("./turso/store.js");
|
|
47
|
-
var _cachets = require("./cache.js");
|
|
48
60
|
var _opents3 = require("./open.js");
|
|
49
61
|
var _sharedts = require("./shared.js");
|
|
50
62
|
var _typests = require("./types.js");
|
|
@@ -74,6 +86,48 @@ function _async_to_generator(fn) {
|
|
|
74
86
|
});
|
|
75
87
|
};
|
|
76
88
|
}
|
|
89
|
+
function _instanceof(left, right) {
|
|
90
|
+
"@swc/helpers - instanceof";
|
|
91
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
92
|
+
return !!right[Symbol.hasInstance](left);
|
|
93
|
+
} else return left instanceof right;
|
|
94
|
+
}
|
|
95
|
+
function _object_without_properties(source, excluded) {
|
|
96
|
+
if (source == null) return {};
|
|
97
|
+
var target = {}, sourceKeys, key, i;
|
|
98
|
+
if (typeof Reflect !== "undefined" && Reflect.ownKeys) {
|
|
99
|
+
sourceKeys = Reflect.ownKeys(Object(source));
|
|
100
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
101
|
+
key = sourceKeys[i];
|
|
102
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
103
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
104
|
+
target[key] = source[key];
|
|
105
|
+
}
|
|
106
|
+
return target;
|
|
107
|
+
}
|
|
108
|
+
target = _object_without_properties_loose(source, excluded);
|
|
109
|
+
if (Object.getOwnPropertySymbols) {
|
|
110
|
+
sourceKeys = Object.getOwnPropertySymbols(source);
|
|
111
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
112
|
+
key = sourceKeys[i];
|
|
113
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
114
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
115
|
+
target[key] = source[key];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return target;
|
|
119
|
+
}
|
|
120
|
+
function _object_without_properties_loose(source, excluded) {
|
|
121
|
+
if (source == null) return {};
|
|
122
|
+
var target = {}, sourceKeys = Object.getOwnPropertyNames(source), key, i;
|
|
123
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
124
|
+
key = sourceKeys[i];
|
|
125
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
126
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
127
|
+
target[key] = source[key];
|
|
128
|
+
}
|
|
129
|
+
return target;
|
|
130
|
+
}
|
|
77
131
|
function _ts_generator(thisArg, body) {
|
|
78
132
|
var f, y, t, _ = {
|
|
79
133
|
label: 0,
|
|
@@ -173,19 +227,20 @@ function _ts_generator(thisArg, body) {
|
|
|
173
227
|
};
|
|
174
228
|
}
|
|
175
229
|
}
|
|
176
|
-
// Capabilities are checked against the registry entry before opening (no wasted connect/reconcile
|
|
177
|
-
// work for a config that cannot be satisfied), then the store itself opens.
|
|
178
230
|
var REGISTRY = {
|
|
179
231
|
sqlite: {
|
|
180
232
|
capabilities: _storets1.CAPABILITIES,
|
|
233
|
+
filename: _opents1.DB_FILENAME,
|
|
181
234
|
open: _opents1.openSqlite
|
|
182
235
|
},
|
|
183
236
|
duckdb: {
|
|
184
237
|
capabilities: _storets.CAPABILITIES,
|
|
238
|
+
filename: _opents.DB_FILENAME,
|
|
185
239
|
open: _opents.openDuckdb
|
|
186
240
|
},
|
|
187
241
|
turso: {
|
|
188
242
|
capabilities: _storets2.CAPABILITIES,
|
|
243
|
+
filename: _opents2.DB_FILENAME,
|
|
189
244
|
open: _opents2.openTurso
|
|
190
245
|
}
|
|
191
246
|
};
|
|
@@ -194,22 +249,176 @@ function entryFor(name) {
|
|
|
194
249
|
if (!entry) throw new _errorsts.SenseError('STORE_UNKNOWN', 'unknown backing store "'.concat(name, '"; available: ').concat(Object.keys(REGISTRY).join(', ')));
|
|
195
250
|
return entry;
|
|
196
251
|
}
|
|
197
|
-
function
|
|
252
|
+
function requirementsFor(cfg) {
|
|
253
|
+
var requirements = new Set([
|
|
254
|
+
'core',
|
|
255
|
+
'lexical'
|
|
256
|
+
]);
|
|
257
|
+
if ((0, _indexts.anyPresetEmbeds)(cfg)) requirements.add('vectors');
|
|
258
|
+
return requirements;
|
|
259
|
+
}
|
|
260
|
+
function validateRequirements(cfg, entry, requirements) {
|
|
261
|
+
if (requirements.has('vectors') && (0, _indexts.anyPresetEmbeds)(cfg) && !entry.capabilities.has('vectors')) {
|
|
262
|
+
var name = (0, _indexts.storeName)(cfg);
|
|
263
|
+
throw new _errorsts.SenseError('STORE_CAPABILITY_MISSING', 'store "'.concat(name, '" does not implement "vectors" in this build, but this config\'s "embed" block is in use by at least one preset; remove or narrow it, or set "store" to a store that supports vectors (sqlite)'));
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
function openStoreFor(cfg, options) {
|
|
198
267
|
return _async_to_generator(function() {
|
|
199
|
-
var
|
|
268
|
+
var _options_requirements, entry;
|
|
200
269
|
return _ts_generator(this, function(_state) {
|
|
201
|
-
|
|
202
|
-
entry =
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
if ((0, _indexts.anyPresetEmbeds)(cfg) && !entry.capabilities.has('vectors')) {
|
|
206
|
-
throw new _errorsts.SenseError('STORE_CAPABILITY_MISSING', 'store "'.concat(name, '" does not implement "vectors" in this build, but this config\'s "embed" block is in use by at least one preset; remove or narrow it, or set "store" to a store that supports vectors (sqlite)'));
|
|
207
|
-
}
|
|
270
|
+
entry = entryFor((0, _indexts.storeName)(cfg));
|
|
271
|
+
validateRequirements(cfg, entry, (_options_requirements = options.requirements) !== null && _options_requirements !== void 0 ? _options_requirements : new Set([
|
|
272
|
+
'core'
|
|
273
|
+
]));
|
|
208
274
|
return [
|
|
209
275
|
2,
|
|
210
|
-
entry.open(cfg)
|
|
276
|
+
entry.open(cfg, options)
|
|
211
277
|
];
|
|
212
278
|
});
|
|
213
279
|
})();
|
|
214
280
|
}
|
|
281
|
+
function openStore(_0) {
|
|
282
|
+
return _async_to_generator(function(cfg) {
|
|
283
|
+
var options, buildEnabled;
|
|
284
|
+
var _arguments = arguments;
|
|
285
|
+
return _ts_generator(this, function(_state) {
|
|
286
|
+
options = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : {};
|
|
287
|
+
buildEnabled = options.build !== false;
|
|
288
|
+
return [
|
|
289
|
+
2,
|
|
290
|
+
openStoreFor(cfg, {
|
|
291
|
+
build: buildEnabled,
|
|
292
|
+
requirements: buildEnabled ? requirementsFor(cfg) : new Set([
|
|
293
|
+
'core'
|
|
294
|
+
])
|
|
295
|
+
})
|
|
296
|
+
];
|
|
297
|
+
});
|
|
298
|
+
}).apply(this, arguments);
|
|
299
|
+
}
|
|
300
|
+
function lexicalReadiness(cfg) {
|
|
301
|
+
return _async_to_generator(function() {
|
|
302
|
+
var opened, err;
|
|
303
|
+
return _ts_generator(this, function(_state) {
|
|
304
|
+
switch(_state.label){
|
|
305
|
+
case 0:
|
|
306
|
+
_state.trys.push([
|
|
307
|
+
0,
|
|
308
|
+
2,
|
|
309
|
+
,
|
|
310
|
+
3
|
|
311
|
+
]);
|
|
312
|
+
return [
|
|
313
|
+
4,
|
|
314
|
+
openStoreFor(cfg, {
|
|
315
|
+
build: false,
|
|
316
|
+
requirements: new Set([
|
|
317
|
+
'core',
|
|
318
|
+
'lexical'
|
|
319
|
+
])
|
|
320
|
+
})
|
|
321
|
+
];
|
|
322
|
+
case 1:
|
|
323
|
+
opened = _state.sent();
|
|
324
|
+
return [
|
|
325
|
+
3,
|
|
326
|
+
3
|
|
327
|
+
];
|
|
328
|
+
case 2:
|
|
329
|
+
err = _state.sent();
|
|
330
|
+
if (_instanceof(err, _errorsts.SenseError) && err.code === 'INDEX_NOT_READY') return [
|
|
331
|
+
2,
|
|
332
|
+
{
|
|
333
|
+
ready: false,
|
|
334
|
+
error: err.message
|
|
335
|
+
}
|
|
336
|
+
];
|
|
337
|
+
throw err;
|
|
338
|
+
case 3:
|
|
339
|
+
_state.trys.push([
|
|
340
|
+
3,
|
|
341
|
+
,
|
|
342
|
+
4,
|
|
343
|
+
6
|
|
344
|
+
]);
|
|
345
|
+
return [
|
|
346
|
+
2,
|
|
347
|
+
{
|
|
348
|
+
ready: true,
|
|
349
|
+
error: null
|
|
350
|
+
}
|
|
351
|
+
];
|
|
352
|
+
case 4:
|
|
353
|
+
return [
|
|
354
|
+
4,
|
|
355
|
+
opened.store.close()
|
|
356
|
+
];
|
|
357
|
+
case 5:
|
|
358
|
+
_state.sent();
|
|
359
|
+
return [
|
|
360
|
+
7
|
|
361
|
+
];
|
|
362
|
+
case 6:
|
|
363
|
+
return [
|
|
364
|
+
2
|
|
365
|
+
];
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
})();
|
|
369
|
+
}
|
|
370
|
+
function buildIndex(_0) {
|
|
371
|
+
return _async_to_generator(function(cfg) {
|
|
372
|
+
var options, opened, _store, result;
|
|
373
|
+
var _arguments = arguments;
|
|
374
|
+
return _ts_generator(this, function(_state) {
|
|
375
|
+
switch(_state.label){
|
|
376
|
+
case 0:
|
|
377
|
+
options = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : {};
|
|
378
|
+
if (options.force) (0, _cachets.clearCache)(cfg);
|
|
379
|
+
return [
|
|
380
|
+
4,
|
|
381
|
+
openStoreFor(cfg, {
|
|
382
|
+
build: true,
|
|
383
|
+
requirements: requirementsFor(cfg)
|
|
384
|
+
})
|
|
385
|
+
];
|
|
386
|
+
case 1:
|
|
387
|
+
opened = _state.sent();
|
|
388
|
+
_state.label = 2;
|
|
389
|
+
case 2:
|
|
390
|
+
_state.trys.push([
|
|
391
|
+
2,
|
|
392
|
+
,
|
|
393
|
+
3,
|
|
394
|
+
5
|
|
395
|
+
]);
|
|
396
|
+
_store = opened.store, result = _object_without_properties(opened, [
|
|
397
|
+
"store"
|
|
398
|
+
]);
|
|
399
|
+
return [
|
|
400
|
+
2,
|
|
401
|
+
result
|
|
402
|
+
];
|
|
403
|
+
case 3:
|
|
404
|
+
return [
|
|
405
|
+
4,
|
|
406
|
+
opened.store.close()
|
|
407
|
+
];
|
|
408
|
+
case 4:
|
|
409
|
+
_state.sent();
|
|
410
|
+
return [
|
|
411
|
+
7
|
|
412
|
+
];
|
|
413
|
+
case 5:
|
|
414
|
+
return [
|
|
415
|
+
2
|
|
416
|
+
];
|
|
417
|
+
}
|
|
418
|
+
});
|
|
419
|
+
}).apply(this, arguments);
|
|
420
|
+
}
|
|
421
|
+
function storeFilename(cfg) {
|
|
422
|
+
return entryFor((0, _indexts.storeName)(cfg)).filename;
|
|
423
|
+
}
|
|
215
424
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/sensemaking/src/store/index.ts"],"sourcesContent":["// Rows -> a backing store: registry +
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/sensemaking/src/store/index.ts"],"sourcesContent":["// Rows -> a backing store: registry + the public open/build boundary. Parsing lives in scan.ts;\n// everything beyond frontmatter + content lives in src/features/.\n\nimport type { ResolvedConfig, StoreName } from '../config/index.ts';\nimport { anyPresetEmbeds, storeName } from '../config/index.ts';\nimport { SenseError } from '../errors.ts';\nimport { clearCache } from './cache.ts';\nimport { DB_FILENAME as DUCKDB_FILENAME, openDuckdb } from './duckdb/open.ts';\nimport { CAPABILITIES as DUCKDB_CAPABILITIES } from './duckdb/store.ts';\nimport type { BuildRequirement, InternalOpenOptions, OpenOptions, OpenResult } from './open.ts';\nimport { openSqlite, DB_FILENAME as SQLITE_FILENAME } from './sqlite/open.ts';\nimport { CAPABILITIES as SQLITE_CAPABILITIES } from './sqlite/store.ts';\nimport type { Stages } from './stages.ts';\nimport { openTurso, DB_FILENAME as TURSO_FILENAME } from './turso/open.ts';\nimport { CAPABILITIES as TURSO_CAPABILITIES } from './turso/store.ts';\nimport type { Capability } from './types.ts';\n\ninterface StoreEntry {\n capabilities: ReadonlySet<Capability>;\n filename: string;\n open: (cfg: ResolvedConfig, options?: InternalOpenOptions) => Promise<OpenResult>;\n}\n\nconst REGISTRY: Record<StoreName, StoreEntry> = {\n sqlite: { capabilities: SQLITE_CAPABILITIES, filename: SQLITE_FILENAME, open: openSqlite },\n duckdb: { capabilities: DUCKDB_CAPABILITIES, filename: DUCKDB_FILENAME, open: openDuckdb },\n turso: { capabilities: TURSO_CAPABILITIES, filename: TURSO_FILENAME, open: openTurso },\n};\n\nfunction entryFor(name: StoreName): StoreEntry {\n const entry = REGISTRY[name];\n if (!entry) throw new SenseError('STORE_UNKNOWN', `unknown backing store \"${name}\"; available: ${Object.keys(REGISTRY).join(', ')}`);\n return entry;\n}\n\nfunction requirementsFor(cfg: ResolvedConfig): Set<BuildRequirement> {\n const requirements = new Set<BuildRequirement>(['core', 'lexical']);\n if (anyPresetEmbeds(cfg)) requirements.add('vectors');\n return requirements;\n}\n\nfunction validateRequirements(cfg: ResolvedConfig, entry: StoreEntry, requirements: ReadonlySet<BuildRequirement>): void {\n if (requirements.has('vectors') && anyPresetEmbeds(cfg) && !entry.capabilities.has('vectors')) {\n const name = storeName(cfg);\n throw new SenseError('STORE_CAPABILITY_MISSING', `store \"${name}\" does not implement \"vectors\" in this build, but this config's \"embed\" block is in use by at least one preset; remove or narrow it, or set \"store\" to a store that supports vectors (sqlite)`);\n }\n}\n\nexport async function openStoreFor(cfg: ResolvedConfig, options: InternalOpenOptions): Promise<OpenResult> {\n const entry = entryFor(storeName(cfg));\n validateRequirements(cfg, entry, options.requirements ?? new Set<BuildRequirement>(['core']));\n return entry.open(cfg, options);\n}\n\nexport async function openStore(cfg: ResolvedConfig, options: OpenOptions = {}): Promise<OpenResult> {\n const buildEnabled = options.build !== false;\n return openStoreFor(cfg, {\n build: buildEnabled,\n requirements: buildEnabled ? requirementsFor(cfg) : new Set<BuildRequirement>(['core']),\n });\n}\n\nexport async function lexicalReadiness(cfg: ResolvedConfig): Promise<{ ready: boolean; error: string | null }> {\n let opened: OpenResult;\n try {\n opened = await openStoreFor(cfg, { build: false, requirements: new Set<BuildRequirement>(['core', 'lexical']) });\n } catch (err) {\n if (err instanceof SenseError && err.code === 'INDEX_NOT_READY') return { ready: false, error: err.message };\n throw err;\n }\n try {\n return { ready: true, error: null };\n } finally {\n await opened.store.close();\n }\n}\n\nexport interface BuildOptions {\n force?: boolean;\n}\n\nexport interface BuildResult {\n cfg: ResolvedConfig;\n dbPath: string;\n parsed: number;\n warnings: string[];\n stages: Stages;\n}\n\nexport async function buildIndex(cfg: ResolvedConfig, options: BuildOptions = {}): Promise<BuildResult> {\n if (options.force) clearCache(cfg);\n const opened = await openStoreFor(cfg, { build: true, requirements: requirementsFor(cfg) });\n try {\n const { store: _store, ...result } = opened;\n return result;\n } finally {\n await opened.store.close();\n }\n}\n\nexport function storeFilename(cfg: ResolvedConfig): string {\n return entryFor(storeName(cfg)).filename;\n}\n\nexport type { OpenOptions, OpenResult } from './open.ts';\nexport { docCount } from './open.ts';\nexport { getMeta, setMeta } from './shared.ts';\nexport { DB_FILENAME, SCHEMA_VERSION } from './sqlite/open.ts';\nexport type { Stages } from './stages.ts';\nexport type { Capability, Connection, DocumentStore, LexicalHit, LexicalIndex, LexicalQueryOptions, RawStatement, RunResult, SqlSession, Statement, Store, VectorCandidate, VectorSimilar, VectorStore, VectorWriteRow } from './types.ts';\nexport { CAPABILITY_NAMES } from './types.ts';\nexport { clearCache };\n"],"names":["CAPABILITY_NAMES","DB_FILENAME","SCHEMA_VERSION","buildIndex","clearCache","docCount","getMeta","lexicalReadiness","openStore","openStoreFor","setMeta","storeFilename","REGISTRY","sqlite","capabilities","SQLITE_CAPABILITIES","filename","SQLITE_FILENAME","open","openSqlite","duckdb","DUCKDB_CAPABILITIES","DUCKDB_FILENAME","openDuckdb","turso","TURSO_CAPABILITIES","TURSO_FILENAME","openTurso","entryFor","name","entry","SenseError","Object","keys","join","requirementsFor","cfg","requirements","Set","anyPresetEmbeds","add","validateRequirements","has","storeName","options","buildEnabled","build","opened","err","code","ready","error","message","store","close","_store","result","force"],"mappings":"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"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import type { ResolvedConfig } from '../config/index.js';
|
|
2
2
|
import type { Stages } from './stages.js';
|
|
3
3
|
import type { OpenDialect, Store } from './types.js';
|
|
4
|
+
export type BuildRequirement = 'core' | 'lexical' | 'vectors';
|
|
5
|
+
export interface OpenOptions {
|
|
6
|
+
build?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface InternalOpenOptions extends OpenOptions {
|
|
9
|
+
requirements?: ReadonlySet<BuildRequirement>;
|
|
10
|
+
}
|
|
4
11
|
export interface OpenResult {
|
|
5
12
|
store: Store;
|
|
6
13
|
cfg: ResolvedConfig;
|
|
@@ -9,5 +16,6 @@ export interface OpenResult {
|
|
|
9
16
|
warnings: string[];
|
|
10
17
|
stages: Stages;
|
|
11
18
|
}
|
|
12
|
-
export declare function
|
|
19
|
+
export declare function prepareDocumentEmbeddings(store: Store, cfg: ResolvedConfig, allowed?: ReadonlySet<string>): Promise<void>;
|
|
20
|
+
export declare function openWithDialect<Handle>(input: ResolvedConfig, dialect: OpenDialect<Handle>, options?: InternalOpenOptions): Promise<OpenResult>;
|
|
13
21
|
export declare function docCount(store: Store): Promise<number>;
|
package/dist/cjs/store/open.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import type { ResolvedConfig } from '../config/index.js';
|
|
2
2
|
import type { Stages } from './stages.js';
|
|
3
3
|
import type { OpenDialect, Store } from './types.js';
|
|
4
|
+
export type BuildRequirement = 'core' | 'lexical' | 'vectors';
|
|
5
|
+
export interface OpenOptions {
|
|
6
|
+
build?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface InternalOpenOptions extends OpenOptions {
|
|
9
|
+
requirements?: ReadonlySet<BuildRequirement>;
|
|
10
|
+
}
|
|
4
11
|
export interface OpenResult {
|
|
5
12
|
store: Store;
|
|
6
13
|
cfg: ResolvedConfig;
|
|
@@ -9,5 +16,6 @@ export interface OpenResult {
|
|
|
9
16
|
warnings: string[];
|
|
10
17
|
stages: Stages;
|
|
11
18
|
}
|
|
12
|
-
export declare function
|
|
19
|
+
export declare function prepareDocumentEmbeddings(store: Store, cfg: ResolvedConfig, allowed?: ReadonlySet<string>): Promise<void>;
|
|
20
|
+
export declare function openWithDialect<Handle>(input: ResolvedConfig, dialect: OpenDialect<Handle>, options?: InternalOpenOptions): Promise<OpenResult>;
|
|
13
21
|
export declare function docCount(store: Store): Promise<number>;
|