sensemaking 0.27.1 → 0.28.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/bin/cli.js +16 -7
- package/dist/cjs/cli/constants.d.cts +2 -0
- package/dist/cjs/cli/constants.d.ts +2 -0
- package/dist/cjs/cli/constants.js +21 -0
- package/dist/cjs/cli/constants.js.map +1 -0
- package/dist/cjs/cli/named.js +2 -1
- package/dist/cjs/cli/named.js.map +1 -1
- package/dist/cjs/cli/shared.js +5 -4
- package/dist/cjs/cli/shared.js.map +1 -1
- package/dist/cjs/cli.js +10 -9
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/embed/query.js.map +1 -1
- package/dist/cjs/store/duckdb/engine.d.cts +11 -0
- package/dist/cjs/store/duckdb/engine.d.ts +11 -0
- package/dist/cjs/store/duckdb/engine.js +193 -0
- package/dist/cjs/store/duckdb/engine.js.map +1 -0
- package/dist/cjs/store/duckdb/lexical.js +34 -20
- package/dist/cjs/store/duckdb/lexical.js.map +1 -1
- package/dist/cjs/store/duckdb/native.d.cts +5 -2
- package/dist/cjs/store/duckdb/native.d.ts +5 -2
- package/dist/cjs/store/duckdb/native.js +157 -13
- package/dist/cjs/store/duckdb/native.js.map +1 -1
- package/dist/cjs/store/duckdb/open.js +151 -3
- package/dist/cjs/store/duckdb/open.js.map +1 -1
- package/dist/cjs/store/duckdb/ordered-bm25.d.cts +3 -3
- package/dist/cjs/store/duckdb/ordered-bm25.d.ts +3 -3
- package/dist/cjs/store/duckdb/ordered-bm25.js +4 -8
- package/dist/cjs/store/duckdb/ordered-bm25.js.map +1 -1
- package/dist/cjs/store/engine.d.cts +28 -0
- package/dist/cjs/store/engine.d.ts +28 -0
- package/dist/cjs/store/engine.js +362 -0
- package/dist/cjs/store/engine.js.map +1 -0
- package/dist/cjs/store/native.d.cts +8 -5
- package/dist/cjs/store/native.d.ts +8 -5
- package/dist/cjs/store/native.js +78 -73
- package/dist/cjs/store/native.js.map +1 -1
- package/dist/cjs/store/open.js +100 -40
- package/dist/cjs/store/open.js.map +1 -1
- package/dist/cjs/store/sqlite/engine.d.cts +12 -0
- package/dist/cjs/store/sqlite/engine.d.ts +12 -0
- package/dist/cjs/store/sqlite/engine.js +53 -0
- package/dist/cjs/store/sqlite/engine.js.map +1 -0
- package/dist/cjs/store/sqlite/lexical.js +3 -4
- package/dist/cjs/store/sqlite/lexical.js.map +1 -1
- package/dist/cjs/store/sqlite/open.js +119 -6
- package/dist/cjs/store/sqlite/open.js.map +1 -1
- package/dist/cjs/store/turso/engine.d.cts +9 -0
- package/dist/cjs/store/turso/engine.d.ts +9 -0
- package/dist/cjs/store/turso/engine.js +189 -0
- package/dist/cjs/store/turso/engine.js.map +1 -0
- package/dist/cjs/store/turso/lexical.js +16 -11
- package/dist/cjs/store/turso/lexical.js.map +1 -1
- package/dist/cjs/store/turso/native.d.cts +5 -1
- package/dist/cjs/store/turso/native.d.ts +5 -1
- package/dist/cjs/store/turso/native.js +157 -8
- package/dist/cjs/store/turso/native.js.map +1 -1
- package/dist/cjs/store/turso/open.js +172 -27
- package/dist/cjs/store/turso/open.js.map +1 -1
- package/dist/cjs/store/turso/reconcile.d.cts +0 -1
- package/dist/cjs/store/turso/reconcile.d.ts +0 -1
- package/dist/cjs/store/turso/reconcile.js +22 -23
- package/dist/cjs/store/turso/reconcile.js.map +1 -1
- package/dist/cjs/store/types.d.cts +2 -0
- package/dist/cjs/store/types.d.ts +2 -0
- package/dist/cjs/store/types.js.map +1 -1
- package/dist/esm/cli/constants.d.ts +2 -0
- package/dist/esm/cli/constants.js +2 -0
- package/dist/esm/cli/constants.js.map +1 -0
- package/dist/esm/cli/named.js +2 -1
- package/dist/esm/cli/named.js.map +1 -1
- package/dist/esm/cli/shared.js +6 -5
- package/dist/esm/cli/shared.js.map +1 -1
- package/dist/esm/cli.js +10 -9
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/embed/query.js +1 -1
- package/dist/esm/embed/query.js.map +1 -1
- package/dist/esm/store/duckdb/engine.d.ts +11 -0
- package/dist/esm/store/duckdb/engine.js +18 -0
- package/dist/esm/store/duckdb/engine.js.map +1 -0
- package/dist/esm/store/duckdb/lexical.js +11 -11
- package/dist/esm/store/duckdb/lexical.js.map +1 -1
- package/dist/esm/store/duckdb/native.d.ts +5 -2
- package/dist/esm/store/duckdb/native.js +16 -12
- package/dist/esm/store/duckdb/native.js.map +1 -1
- package/dist/esm/store/duckdb/open.js +40 -2
- package/dist/esm/store/duckdb/open.js.map +1 -1
- package/dist/esm/store/duckdb/ordered-bm25.d.ts +3 -3
- package/dist/esm/store/duckdb/ordered-bm25.js +4 -9
- package/dist/esm/store/duckdb/ordered-bm25.js.map +1 -1
- package/dist/esm/store/engine.d.ts +28 -0
- package/dist/esm/store/engine.js +85 -0
- package/dist/esm/store/engine.js.map +1 -0
- package/dist/esm/store/native.d.ts +8 -5
- package/dist/esm/store/native.js +59 -57
- package/dist/esm/store/native.js.map +1 -1
- package/dist/esm/store/open.js +24 -7
- package/dist/esm/store/open.js.map +1 -1
- package/dist/esm/store/sqlite/engine.d.ts +12 -0
- package/dist/esm/store/sqlite/engine.js +16 -0
- package/dist/esm/store/sqlite/engine.js.map +1 -0
- package/dist/esm/store/sqlite/lexical.js +2 -3
- package/dist/esm/store/sqlite/lexical.js.map +1 -1
- package/dist/esm/store/sqlite/open.js +38 -7
- package/dist/esm/store/sqlite/open.js.map +1 -1
- package/dist/esm/store/turso/engine.d.ts +9 -0
- package/dist/esm/store/turso/engine.js +14 -0
- package/dist/esm/store/turso/engine.js.map +1 -0
- package/dist/esm/store/turso/lexical.js +9 -9
- package/dist/esm/store/turso/lexical.js.map +1 -1
- package/dist/esm/store/turso/native.d.ts +5 -1
- package/dist/esm/store/turso/native.js +16 -10
- package/dist/esm/store/turso/native.js.map +1 -1
- package/dist/esm/store/turso/open.js +44 -3
- package/dist/esm/store/turso/open.js.map +1 -1
- package/dist/esm/store/turso/reconcile.d.ts +0 -1
- package/dist/esm/store/turso/reconcile.js +3 -8
- package/dist/esm/store/turso/reconcile.js.map +1 -1
- package/dist/esm/store/types.d.ts +2 -0
- package/dist/esm/store/types.js.map +1 -1
- package/package.json +21 -6
- package/skills/sense/SKILL.md +1 -1
- package/skills/sense/references/stores/duckdb.md +1 -1
- package/skills/sense/references/stores/sqlite.md +1 -1
- package/skills/sense/references/stores/turso.md +1 -1
- package/skills/sense-setup/references/stores/duckdb.md +1 -1
- package/skills/sense-setup/references/stores/sqlite.md +1 -1
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get ENGINE_CHECK_DOCS () {
|
|
13
|
+
return ENGINE_CHECK_DOCS;
|
|
14
|
+
},
|
|
15
|
+
get ENGINE_CHECK_QUERIES () {
|
|
16
|
+
return ENGINE_CHECK_QUERIES;
|
|
17
|
+
},
|
|
18
|
+
get ENGINE_IDENTITY_META_KEY () {
|
|
19
|
+
return ENGINE_IDENTITY_META_KEY;
|
|
20
|
+
},
|
|
21
|
+
get checkEngine () {
|
|
22
|
+
return checkEngine;
|
|
23
|
+
},
|
|
24
|
+
get engineCheckFailed () {
|
|
25
|
+
return engineCheckFailed;
|
|
26
|
+
},
|
|
27
|
+
get engineIdentity () {
|
|
28
|
+
return engineIdentity;
|
|
29
|
+
},
|
|
30
|
+
get npmRemedy () {
|
|
31
|
+
return npmRemedy;
|
|
32
|
+
},
|
|
33
|
+
get selectBuilders () {
|
|
34
|
+
return selectBuilders;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
var _semver = /*#__PURE__*/ _interop_require_default(require("semver"));
|
|
38
|
+
var _errorsts = require("../errors.js");
|
|
39
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
40
|
+
try {
|
|
41
|
+
var info = gen[key](arg);
|
|
42
|
+
var value = info.value;
|
|
43
|
+
} catch (error) {
|
|
44
|
+
reject(error);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (info.done) resolve(value);
|
|
48
|
+
else Promise.resolve(value).then(_next, _throw);
|
|
49
|
+
}
|
|
50
|
+
function _async_to_generator(fn) {
|
|
51
|
+
return function() {
|
|
52
|
+
var self = this, args = arguments;
|
|
53
|
+
return new Promise(function(resolve, reject) {
|
|
54
|
+
var gen = fn.apply(self, args);
|
|
55
|
+
function _next(value) {
|
|
56
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
57
|
+
}
|
|
58
|
+
function _throw(err) {
|
|
59
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
60
|
+
}
|
|
61
|
+
_next(undefined);
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function _define_property(obj, key, value) {
|
|
66
|
+
if (key in obj) {
|
|
67
|
+
Object.defineProperty(obj, key, {
|
|
68
|
+
value: value,
|
|
69
|
+
enumerable: true,
|
|
70
|
+
configurable: true,
|
|
71
|
+
writable: true
|
|
72
|
+
});
|
|
73
|
+
} else obj[key] = value;
|
|
74
|
+
return obj;
|
|
75
|
+
}
|
|
76
|
+
function _interop_require_default(obj) {
|
|
77
|
+
return obj && obj.__esModule ? obj : {
|
|
78
|
+
default: obj
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function _object_spread(target) {
|
|
82
|
+
for(var i = 1; i < arguments.length; i++){
|
|
83
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
84
|
+
var ownKeys = Object.keys(source);
|
|
85
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
86
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
87
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
ownKeys.forEach(function(key) {
|
|
91
|
+
_define_property(target, key, source[key]);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
return target;
|
|
95
|
+
}
|
|
96
|
+
function _ts_generator(thisArg, body) {
|
|
97
|
+
var f, y, t, _ = {
|
|
98
|
+
label: 0,
|
|
99
|
+
sent: function() {
|
|
100
|
+
if (t[0] & 1) throw t[1];
|
|
101
|
+
return t[1];
|
|
102
|
+
},
|
|
103
|
+
trys: [],
|
|
104
|
+
ops: []
|
|
105
|
+
}, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
|
|
106
|
+
return d(g, "next", {
|
|
107
|
+
value: verb(0)
|
|
108
|
+
}), d(g, "throw", {
|
|
109
|
+
value: verb(1)
|
|
110
|
+
}), d(g, "return", {
|
|
111
|
+
value: verb(2)
|
|
112
|
+
}), typeof Symbol === "function" && d(g, Symbol.iterator, {
|
|
113
|
+
value: function() {
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
}), g;
|
|
117
|
+
function verb(n) {
|
|
118
|
+
return function(v) {
|
|
119
|
+
return step([
|
|
120
|
+
n,
|
|
121
|
+
v
|
|
122
|
+
]);
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
function step(op) {
|
|
126
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
127
|
+
while(g && (g = 0, op[0] && (_ = 0)), _)try {
|
|
128
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
129
|
+
if (y = 0, t) op = [
|
|
130
|
+
op[0] & 2,
|
|
131
|
+
t.value
|
|
132
|
+
];
|
|
133
|
+
switch(op[0]){
|
|
134
|
+
case 0:
|
|
135
|
+
case 1:
|
|
136
|
+
t = op;
|
|
137
|
+
break;
|
|
138
|
+
case 4:
|
|
139
|
+
_.label++;
|
|
140
|
+
return {
|
|
141
|
+
value: op[1],
|
|
142
|
+
done: false
|
|
143
|
+
};
|
|
144
|
+
case 5:
|
|
145
|
+
_.label++;
|
|
146
|
+
y = op[1];
|
|
147
|
+
op = [
|
|
148
|
+
0
|
|
149
|
+
];
|
|
150
|
+
continue;
|
|
151
|
+
case 7:
|
|
152
|
+
op = _.ops.pop();
|
|
153
|
+
_.trys.pop();
|
|
154
|
+
continue;
|
|
155
|
+
default:
|
|
156
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
157
|
+
_ = 0;
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
161
|
+
_.label = op[1];
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
165
|
+
_.label = t[1];
|
|
166
|
+
t = op;
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
169
|
+
if (t && _.label < t[2]) {
|
|
170
|
+
_.label = t[2];
|
|
171
|
+
_.ops.push(op);
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
if (t[2]) _.ops.pop();
|
|
175
|
+
_.trys.pop();
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
op = body.call(thisArg, _);
|
|
179
|
+
} catch (e) {
|
|
180
|
+
op = [
|
|
181
|
+
6,
|
|
182
|
+
e
|
|
183
|
+
];
|
|
184
|
+
y = 0;
|
|
185
|
+
} finally{
|
|
186
|
+
f = t = 0;
|
|
187
|
+
}
|
|
188
|
+
if (op[0] & 5) throw op[1];
|
|
189
|
+
return {
|
|
190
|
+
value: op[0] ? op[1] : void 0,
|
|
191
|
+
done: true
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
var ENGINE_IDENTITY_META_KEY = 'engine_identity';
|
|
196
|
+
function engineIdentity(pkg, version) {
|
|
197
|
+
return "".concat(pkg, "@").concat(version !== null && version !== void 0 ? version : 'unknown');
|
|
198
|
+
}
|
|
199
|
+
function selectBuilders(defaults, patches, version) {
|
|
200
|
+
var selected = defaults;
|
|
201
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
202
|
+
try {
|
|
203
|
+
for(var _iterator = patches[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
204
|
+
var patch = _step.value;
|
|
205
|
+
if (version !== undefined && _semver.default.satisfies(version, patch.range, {
|
|
206
|
+
includePrerelease: true
|
|
207
|
+
})) selected = _object_spread({}, selected, patch.builders);
|
|
208
|
+
}
|
|
209
|
+
} catch (err) {
|
|
210
|
+
_didIteratorError = true;
|
|
211
|
+
_iteratorError = err;
|
|
212
|
+
} finally{
|
|
213
|
+
try {
|
|
214
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
215
|
+
_iterator.return();
|
|
216
|
+
}
|
|
217
|
+
} finally{
|
|
218
|
+
if (_didIteratorError) {
|
|
219
|
+
throw _iteratorError;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return selected;
|
|
224
|
+
}
|
|
225
|
+
var ENGINE_CHECK_DOCS = [
|
|
226
|
+
{
|
|
227
|
+
path: 'b-text.md',
|
|
228
|
+
title: 'Garden',
|
|
229
|
+
summary: '',
|
|
230
|
+
text: 'The dog runs past two cats.'
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
path: 'c-cjk.md',
|
|
234
|
+
title: 'Kitchen',
|
|
235
|
+
summary: '',
|
|
236
|
+
text: '日本語のメモ'
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
path: 'z-title.md',
|
|
240
|
+
title: 'Running dogs',
|
|
241
|
+
summary: '',
|
|
242
|
+
text: 'A note about pets.'
|
|
243
|
+
}
|
|
244
|
+
];
|
|
245
|
+
var ENGINE_CHECK_QUERIES = [
|
|
246
|
+
{
|
|
247
|
+
terms: 'run',
|
|
248
|
+
paths: [
|
|
249
|
+
'z-title.md',
|
|
250
|
+
'b-text.md'
|
|
251
|
+
]
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
terms: 'dog cat',
|
|
255
|
+
paths: [
|
|
256
|
+
'b-text.md'
|
|
257
|
+
]
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
terms: '日本',
|
|
261
|
+
paths: [
|
|
262
|
+
'c-cjk.md'
|
|
263
|
+
]
|
|
264
|
+
}
|
|
265
|
+
];
|
|
266
|
+
function npmRemedy(pkg, range) {
|
|
267
|
+
return "run `npm install ".concat(pkg, "@").concat(range, "` for a tested version (tested ").concat(range, ")");
|
|
268
|
+
}
|
|
269
|
+
function checkEngine(store, identity, remedy, query) {
|
|
270
|
+
return _async_to_generator(function() {
|
|
271
|
+
var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, expected, paths, err1, err;
|
|
272
|
+
return _ts_generator(this, function(_state) {
|
|
273
|
+
switch(_state.label){
|
|
274
|
+
case 0:
|
|
275
|
+
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
276
|
+
_state.label = 1;
|
|
277
|
+
case 1:
|
|
278
|
+
_state.trys.push([
|
|
279
|
+
1,
|
|
280
|
+
9,
|
|
281
|
+
10,
|
|
282
|
+
11
|
|
283
|
+
]);
|
|
284
|
+
_iterator = ENGINE_CHECK_QUERIES[Symbol.iterator]();
|
|
285
|
+
_state.label = 2;
|
|
286
|
+
case 2:
|
|
287
|
+
if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
|
|
288
|
+
3,
|
|
289
|
+
8
|
|
290
|
+
];
|
|
291
|
+
expected = _step.value;
|
|
292
|
+
paths = void 0;
|
|
293
|
+
_state.label = 3;
|
|
294
|
+
case 3:
|
|
295
|
+
_state.trys.push([
|
|
296
|
+
3,
|
|
297
|
+
5,
|
|
298
|
+
,
|
|
299
|
+
6
|
|
300
|
+
]);
|
|
301
|
+
return [
|
|
302
|
+
4,
|
|
303
|
+
query(expected.terms)
|
|
304
|
+
];
|
|
305
|
+
case 4:
|
|
306
|
+
paths = _state.sent();
|
|
307
|
+
return [
|
|
308
|
+
3,
|
|
309
|
+
6
|
|
310
|
+
];
|
|
311
|
+
case 5:
|
|
312
|
+
err1 = _state.sent();
|
|
313
|
+
throw engineCheckFailed(store, identity, remedy, 'searching "'.concat(expected.terms, '" failed (').concat(err1.message, ")"));
|
|
314
|
+
case 6:
|
|
315
|
+
if (paths.join('\n') !== expected.paths.join('\n')) {
|
|
316
|
+
throw engineCheckFailed(store, identity, remedy, 'searching "'.concat(expected.terms, '" returned [').concat(paths.join(', '), "], expected [").concat(expected.paths.join(', '), "]"));
|
|
317
|
+
}
|
|
318
|
+
_state.label = 7;
|
|
319
|
+
case 7:
|
|
320
|
+
_iteratorNormalCompletion = true;
|
|
321
|
+
return [
|
|
322
|
+
3,
|
|
323
|
+
2
|
|
324
|
+
];
|
|
325
|
+
case 8:
|
|
326
|
+
return [
|
|
327
|
+
3,
|
|
328
|
+
11
|
|
329
|
+
];
|
|
330
|
+
case 9:
|
|
331
|
+
err = _state.sent();
|
|
332
|
+
_didIteratorError = true;
|
|
333
|
+
_iteratorError = err;
|
|
334
|
+
return [
|
|
335
|
+
3,
|
|
336
|
+
11
|
|
337
|
+
];
|
|
338
|
+
case 10:
|
|
339
|
+
try {
|
|
340
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
341
|
+
_iterator.return();
|
|
342
|
+
}
|
|
343
|
+
} finally{
|
|
344
|
+
if (_didIteratorError) {
|
|
345
|
+
throw _iteratorError;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
return [
|
|
349
|
+
7
|
|
350
|
+
];
|
|
351
|
+
case 11:
|
|
352
|
+
return [
|
|
353
|
+
2
|
|
354
|
+
];
|
|
355
|
+
}
|
|
356
|
+
});
|
|
357
|
+
})();
|
|
358
|
+
}
|
|
359
|
+
function engineCheckFailed(store, identity, remedy, failure) {
|
|
360
|
+
return new _errorsts.SenseError('STORE_CAPABILITY_MISSING', 'store "'.concat(store, '" cannot use ').concat(identity, ": ").concat(failure, "; ").concat(remedy));
|
|
361
|
+
}
|
|
362
|
+
/* 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; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/open-source/ai/sensemaking/src/store/engine.ts"],"sourcesContent":["import semver from 'semver';\nimport { SenseError } from '../errors.ts';\n\n// Which native engine built a derived index. A different engine rebuilds the cache, as a schema change does:\n// native index formats and scoring belong to the engine, not to sensemaking's schema.\nexport const ENGINE_IDENTITY_META_KEY = 'engine_identity';\n\nexport function engineIdentity(pkg: string, version: string | undefined): string {\n return `${pkg}@${version ?? 'unknown'}`;\n}\n\n/**\n * One version-specific replacement of a store's SQL builders. `range` matches the engine version (the npm package's,\n * or Node's bundled SQLite for sqlite), prereleases included since every `@duckdb/node-api` release is one;\n * `reason` names the observed difference.\n */\nexport interface EnginePatch<Builders> {\n range: string;\n reason: string;\n builders: Partial<Builders>;\n}\n\n// Later patches win where ranges overlap, so a narrower fix is listed after the broader one it refines.\nexport function selectBuilders<Builders extends object>(defaults: Builders, patches: readonly EnginePatch<Builders>[], version: string | undefined): Builders {\n let selected = defaults;\n for (const patch of patches) {\n if (version !== undefined && semver.satisfies(version, patch.range, { includePrerelease: true })) selected = { ...selected, ...patch.builders };\n }\n return selected;\n}\n\nexport interface EngineCheckDoc {\n path: string;\n title: string;\n summary: string;\n text: string;\n}\n\n// Expected results every store must reproduce. The title match sorts last by path, so an engine whose scores\n// collapse to zero (Turso's fts_score silent mode) or lose field weights reorders 'run' and fails the check.\nexport const ENGINE_CHECK_DOCS: readonly EngineCheckDoc[] = [\n { path: 'b-text.md', title: 'Garden', summary: '', text: 'The dog runs past two cats.' },\n { path: 'c-cjk.md', title: 'Kitchen', summary: '', text: '日本語のメモ' },\n { path: 'z-title.md', title: 'Running dogs', summary: '', text: 'A note about pets.' },\n];\n\nexport const ENGINE_CHECK_QUERIES: ReadonlyArray<{ terms: string; paths: string[] }> = [\n { terms: 'run', paths: ['z-title.md', 'b-text.md'] },\n { terms: 'dog cat', paths: ['b-text.md'] },\n { terms: '日本', paths: ['c-cjk.md'] },\n];\n\n// What to do when an npm-installed engine fails: get a version from the tested range.\nexport function npmRemedy(pkg: string, range: string): string {\n return `run \\`npm install ${pkg}@${range}\\` for a tested version (tested ${range})`;\n}\n\n// Runs the store's real lexical query over ENGINE_CHECK_DOCS; any thrown error or wrong result fails the engine.\nexport async function checkEngine(store: string, identity: string, remedy: string, query: (terms: string) => Promise<string[]>): Promise<void> {\n for (const expected of ENGINE_CHECK_QUERIES) {\n let paths: string[];\n try {\n paths = await query(expected.terms);\n } catch (err) {\n throw engineCheckFailed(store, identity, remedy, `searching \"${expected.terms}\" failed (${(err as Error).message})`);\n }\n if (paths.join('\\n') !== expected.paths.join('\\n')) {\n throw engineCheckFailed(store, identity, remedy, `searching \"${expected.terms}\" returned [${paths.join(', ')}], expected [${expected.paths.join(', ')}]`);\n }\n }\n}\n\nexport function engineCheckFailed(store: string, identity: string, remedy: string, failure: string): SenseError {\n return new SenseError('STORE_CAPABILITY_MISSING', `store \"${store}\" cannot use ${identity}: ${failure}; ${remedy}`);\n}\n"],"names":["ENGINE_CHECK_DOCS","ENGINE_CHECK_QUERIES","ENGINE_IDENTITY_META_KEY","checkEngine","engineCheckFailed","engineIdentity","npmRemedy","selectBuilders","pkg","version","defaults","patches","selected","patch","undefined","semver","satisfies","range","includePrerelease","builders","path","title","summary","text","terms","paths","store","identity","remedy","query","expected","err","message","join","failure","SenseError"],"mappings":"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"}
|
|
@@ -2,10 +2,13 @@ export interface NativeDescriptor {
|
|
|
2
2
|
store: string;
|
|
3
3
|
pkg: string;
|
|
4
4
|
sizeHint: string;
|
|
5
|
-
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
/** The tested semver range: sensemaking's own `peerDependencies` entry for `pkg` (see `peerRange`). */
|
|
6
|
+
range: string;
|
|
7
|
+
}
|
|
8
|
+
export interface NativeModule<T> {
|
|
9
|
+
api: T;
|
|
10
|
+
version: string | undefined;
|
|
9
11
|
}
|
|
10
12
|
export declare function packageNodeModules(): string;
|
|
11
|
-
export declare function
|
|
13
|
+
export declare function peerRange(pkg: string): string;
|
|
14
|
+
export declare function loadOrInstall<T>(descriptor: NativeDescriptor, nodeModulesPath: string, importName?: string): Promise<NativeModule<T>>;
|
|
@@ -2,10 +2,13 @@ export interface NativeDescriptor {
|
|
|
2
2
|
store: string;
|
|
3
3
|
pkg: string;
|
|
4
4
|
sizeHint: string;
|
|
5
|
-
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
/** The tested semver range: sensemaking's own `peerDependencies` entry for `pkg` (see `peerRange`). */
|
|
6
|
+
range: string;
|
|
7
|
+
}
|
|
8
|
+
export interface NativeModule<T> {
|
|
9
|
+
api: T;
|
|
10
|
+
version: string | undefined;
|
|
9
11
|
}
|
|
10
12
|
export declare function packageNodeModules(): string;
|
|
11
|
-
export declare function
|
|
13
|
+
export declare function peerRange(pkg: string): string;
|
|
14
|
+
export declare function loadOrInstall<T>(descriptor: NativeDescriptor, nodeModulesPath: string, importName?: string): Promise<NativeModule<T>>;
|
package/dist/cjs/store/native.js
CHANGED
|
@@ -14,12 +14,16 @@ _export(exports, {
|
|
|
14
14
|
},
|
|
15
15
|
get packageNodeModules () {
|
|
16
16
|
return packageNodeModules;
|
|
17
|
+
},
|
|
18
|
+
get peerRange () {
|
|
19
|
+
return peerRange;
|
|
17
20
|
}
|
|
18
21
|
});
|
|
19
22
|
var _nodefs = require("node:fs");
|
|
20
23
|
var _nodemodule = /*#__PURE__*/ _interop_require_default(require("node:module"));
|
|
21
24
|
var _nodepath = require("node:path");
|
|
22
25
|
var _nodeurl = require("node:url");
|
|
26
|
+
var _semver = /*#__PURE__*/ _interop_require_default(require("semver"));
|
|
23
27
|
var _errorsts = require("../errors.js");
|
|
24
28
|
function _array_like_to_array(arr, len) {
|
|
25
29
|
if (len == null || len > arr.length) len = arr.length;
|
|
@@ -212,19 +216,33 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
212
216
|
// ~110MB), so it is required lazily inside the gated branch below, not for every store/index.ts load.
|
|
213
217
|
var _require = typeof require === 'undefined' ? _nodemodule.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
|
|
214
218
|
var _dirname = (0, _nodepath.dirname)(typeof __filename !== 'undefined' ? __filename : (0, _nodeurl.fileURLToPath)(require("url").pathToFileURL(__filename).toString()));
|
|
215
|
-
|
|
219
|
+
// Walks up from this file's own directory rather than a fixed dot-count: it sits at a
|
|
220
|
+
// different depth under src/ than under built dist/{cjs,esm}/store output.
|
|
221
|
+
function packageRoot() {
|
|
216
222
|
var dir = _dirname;
|
|
217
223
|
for(;;){
|
|
218
224
|
var candidate = (0, _nodepath.join)(dir, 'package.json');
|
|
219
225
|
if ((0, _nodefs.existsSync)(candidate)) {
|
|
220
|
-
var
|
|
221
|
-
if (
|
|
226
|
+
var manifest = JSON.parse((0, _nodefs.readFileSync)(candidate, 'utf8'));
|
|
227
|
+
if (manifest.name === 'sensemaking') return {
|
|
228
|
+
dir: dir,
|
|
229
|
+
manifest: manifest
|
|
230
|
+
};
|
|
222
231
|
}
|
|
223
232
|
var parent = (0, _nodepath.dirname)(dir);
|
|
224
233
|
if (parent === dir) throw new Error('could not locate the sensemaking package root to install a native dependency into');
|
|
225
234
|
dir = parent;
|
|
226
235
|
}
|
|
227
236
|
}
|
|
237
|
+
function packageNodeModules() {
|
|
238
|
+
return (0, _nodepath.join)(packageRoot().dir, 'node_modules');
|
|
239
|
+
}
|
|
240
|
+
function peerRange(pkg) {
|
|
241
|
+
var _packageRoot_manifest_peerDependencies;
|
|
242
|
+
var range = (_packageRoot_manifest_peerDependencies = packageRoot().manifest.peerDependencies) === null || _packageRoot_manifest_peerDependencies === void 0 ? void 0 : _packageRoot_manifest_peerDependencies[pkg];
|
|
243
|
+
if (!range) throw new Error("sensemaking's package.json declares no peerDependencies entry for ".concat(pkg));
|
|
244
|
+
return range;
|
|
245
|
+
}
|
|
228
246
|
var installing = new Map();
|
|
229
247
|
// De-dupes concurrent installs: since the install is async, concurrent callers await the same
|
|
230
248
|
// in-flight promise, keyed by specifier and target. A failed install is not cached, so a later call retries.
|
|
@@ -241,6 +259,13 @@ function installOnce(specifier, nodeModulesPath) {
|
|
|
241
259
|
}
|
|
242
260
|
return promise;
|
|
243
261
|
}
|
|
262
|
+
function readPackageMetadata(pkgDir) {
|
|
263
|
+
try {
|
|
264
|
+
return JSON.parse((0, _nodefs.readFileSync)((0, _nodepath.join)(pkgDir, 'package.json'), 'utf8'));
|
|
265
|
+
} catch (unused) {
|
|
266
|
+
return undefined;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
244
269
|
// Node caches a bare specifier's resolution, including a "not found" miss, for the process
|
|
245
270
|
// lifetime; use the installed entry directly, as a URL for ESM and a path for CJS.
|
|
246
271
|
function resolveEntrySpecifier(importName, nodeModulesPath) {
|
|
@@ -253,32 +278,12 @@ function resolveEntrySpecifier(importName, nodeModulesPath) {
|
|
|
253
278
|
var entryPath = (0, _nodepath.join)(pkgDir, entry);
|
|
254
279
|
return typeof require === 'undefined' ? (0, _nodeurl.pathToFileURL)(entryPath).href : entryPath;
|
|
255
280
|
}
|
|
256
|
-
function
|
|
257
|
-
try {
|
|
258
|
-
return JSON.parse((0, _nodefs.readFileSync)((0, _nodepath.join)(pkgDir, 'package.json'), 'utf8'));
|
|
259
|
-
} catch (unused) {
|
|
260
|
-
return undefined;
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
function targetPackageMetadata(importName, nodeModulesPath) {
|
|
264
|
-
var pkgDir = _nodepath.join.apply(void 0, [
|
|
265
|
-
nodeModulesPath
|
|
266
|
-
].concat(_to_consumable_array(importName.split('/'))));
|
|
267
|
-
return {
|
|
268
|
-
exists: (0, _nodefs.existsSync)(pkgDir),
|
|
269
|
-
metadata: readPackageMetadata(pkgDir)
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
function resolvedPackageMetadata(importName) {
|
|
281
|
+
function resolvedVersion(importName) {
|
|
273
282
|
try {
|
|
274
283
|
var dir = (0, _nodepath.dirname)(_require.resolve(importName));
|
|
275
284
|
for(;;){
|
|
276
|
-
var
|
|
277
|
-
if ((0
|
|
278
|
-
var pkg = readPackageMetadata(dir);
|
|
279
|
-
if (!pkg) return undefined;
|
|
280
|
-
if (pkg.name === importName) return pkg;
|
|
281
|
-
}
|
|
285
|
+
var pkg = readPackageMetadata(dir);
|
|
286
|
+
if ((pkg === null || pkg === void 0 ? void 0 : pkg.name) === importName) return pkg.version;
|
|
282
287
|
var parent = (0, _nodepath.dirname)(dir);
|
|
283
288
|
if (parent === dir) return undefined;
|
|
284
289
|
dir = parent;
|
|
@@ -287,35 +292,26 @@ function resolvedPackageMetadata(importName) {
|
|
|
287
292
|
return undefined;
|
|
288
293
|
}
|
|
289
294
|
}
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
return new _errorsts.SenseError('STORE_DEPENDENCY_MISSING', 'store "'.concat(descriptor.store, '" needs ').concat(installSpec, ", but ").concat(detail, "; refusing to overwrite it -- run `npm install ").concat(installSpec, "` yourself and try again"));
|
|
295
|
-
}
|
|
296
|
-
function assertExpectedVersion(descriptor, metadata) {
|
|
297
|
-
if (!descriptor.version) return;
|
|
298
|
-
if (!(metadata === null || metadata === void 0 ? void 0 : metadata.version) || metadata.version !== descriptor.version) throw versionContractError(descriptor, metadata === null || metadata === void 0 ? void 0 : metadata.version);
|
|
295
|
+
// Any installed version is used; one outside the tested range is reported, not refused (the store's engine check decides).
|
|
296
|
+
function reportVersion(descriptor, version) {
|
|
297
|
+
if (version && _semver.default.satisfies(version, descriptor.range)) return;
|
|
298
|
+
console.error('sense: store "'.concat(descriptor.store, '" using ').concat(descriptor.pkg, "@").concat(version !== null && version !== void 0 ? version : 'unknown version', " (tested ").concat(descriptor.range, ")"));
|
|
299
299
|
}
|
|
300
300
|
function loadOrInstall(_0, _1) {
|
|
301
301
|
return _async_to_generator(function(descriptor, nodeModulesPath) {
|
|
302
|
-
var importName,
|
|
302
|
+
var importName, api, version, unused, spec, installSpec, installErr, _readPackageMetadata, api1, version1, loadErr;
|
|
303
303
|
var _arguments = arguments;
|
|
304
304
|
return _ts_generator(this, function(_state) {
|
|
305
305
|
switch(_state.label){
|
|
306
306
|
case 0:
|
|
307
307
|
importName = _arguments.length > 2 && _arguments[2] !== void 0 ? _arguments[2] : descriptor.pkg;
|
|
308
|
-
if (descriptor.version) {
|
|
309
|
-
target = targetPackageMetadata(importName, nodeModulesPath);
|
|
310
|
-
if (target.exists) assertExpectedVersion(descriptor, target.metadata);
|
|
311
|
-
}
|
|
312
308
|
_state.label = 1;
|
|
313
309
|
case 1:
|
|
314
310
|
_state.trys.push([
|
|
315
311
|
1,
|
|
316
312
|
3,
|
|
317
313
|
,
|
|
318
|
-
|
|
314
|
+
4
|
|
319
315
|
]);
|
|
320
316
|
return [
|
|
321
317
|
4,
|
|
@@ -324,43 +320,53 @@ function loadOrInstall(_0, _1) {
|
|
|
324
320
|
})
|
|
325
321
|
];
|
|
326
322
|
case 2:
|
|
327
|
-
|
|
323
|
+
api = _state.sent();
|
|
324
|
+
version = resolvedVersion(importName);
|
|
325
|
+
reportVersion(descriptor, version);
|
|
328
326
|
return [
|
|
329
|
-
|
|
330
|
-
|
|
327
|
+
2,
|
|
328
|
+
{
|
|
329
|
+
api: api,
|
|
330
|
+
version: version
|
|
331
|
+
}
|
|
331
332
|
];
|
|
332
333
|
case 3:
|
|
333
334
|
unused = _state.sent();
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
335
|
+
return [
|
|
336
|
+
3,
|
|
337
|
+
4
|
|
338
|
+
];
|
|
338
339
|
case 4:
|
|
340
|
+
spec = "".concat(descriptor.pkg, "@").concat(descriptor.range);
|
|
341
|
+
installSpec = "".concat(importName, "@").concat(descriptor.range);
|
|
342
|
+
console.error('sense: store "'.concat(descriptor.store, '" needs ').concat(spec, "; installing it now (one-time download, ").concat(descriptor.sizeHint, ")..."));
|
|
343
|
+
_state.label = 5;
|
|
344
|
+
case 5:
|
|
339
345
|
_state.trys.push([
|
|
340
|
-
|
|
341
|
-
|
|
346
|
+
5,
|
|
347
|
+
7,
|
|
342
348
|
,
|
|
343
|
-
|
|
349
|
+
8
|
|
344
350
|
]);
|
|
345
351
|
return [
|
|
346
352
|
4,
|
|
347
353
|
installOnce(installSpec, nodeModulesPath)
|
|
348
354
|
];
|
|
349
|
-
case
|
|
355
|
+
case 6:
|
|
350
356
|
_state.sent();
|
|
351
357
|
return [
|
|
352
358
|
3,
|
|
353
|
-
|
|
359
|
+
8
|
|
354
360
|
];
|
|
355
|
-
case 6:
|
|
356
|
-
installErr = _state.sent();
|
|
357
|
-
throw new _errorsts.SenseError('STORE_DEPENDENCY_MISSING', 'store "'.concat(descriptor.store, '" needs ').concat(displaySpec, ", and installing it automatically failed (").concat(installErr.message, "); this can happen offline, in a sandboxed environment, or when node_modules is read-only or owned by another user (e.g. under a global install) -- run `npm install ").concat(displaySpec, "` yourself and try again"));
|
|
358
361
|
case 7:
|
|
362
|
+
installErr = _state.sent();
|
|
363
|
+
throw new _errorsts.SenseError('STORE_DEPENDENCY_MISSING', 'store "'.concat(descriptor.store, '" needs ').concat(spec, ", and installing it automatically failed (").concat(installErr.message, "); this can happen offline, in a sandboxed environment, or when node_modules is read-only or owned by another user (e.g. under a global install) -- run `npm install ").concat(spec, "` yourself and try again"));
|
|
364
|
+
case 8:
|
|
359
365
|
_state.trys.push([
|
|
360
|
-
|
|
361
|
-
|
|
366
|
+
8,
|
|
367
|
+
10,
|
|
362
368
|
,
|
|
363
|
-
|
|
369
|
+
11
|
|
364
370
|
]);
|
|
365
371
|
return [
|
|
366
372
|
4,
|
|
@@ -368,26 +374,25 @@ function loadOrInstall(_0, _1) {
|
|
|
368
374
|
return /*#__PURE__*/ _interop_require_wildcard(require(p));
|
|
369
375
|
})
|
|
370
376
|
];
|
|
371
|
-
case
|
|
372
|
-
|
|
373
|
-
|
|
377
|
+
case 9:
|
|
378
|
+
api1 = _state.sent();
|
|
379
|
+
version1 = (_readPackageMetadata = readPackageMetadata(_nodepath.join.apply(void 0, [
|
|
380
|
+
nodeModulesPath
|
|
381
|
+
].concat(_to_consumable_array(importName.split('/')))))) === null || _readPackageMetadata === void 0 ? void 0 : _readPackageMetadata.version;
|
|
382
|
+
reportVersion(descriptor, version1);
|
|
374
383
|
return [
|
|
375
384
|
2,
|
|
376
|
-
|
|
385
|
+
{
|
|
386
|
+
api: api1,
|
|
387
|
+
version: version1
|
|
388
|
+
}
|
|
377
389
|
];
|
|
378
|
-
case 9:
|
|
379
|
-
loadErr = _state.sent();
|
|
380
|
-
throw new _errorsts.SenseError('STORE_DEPENDENCY_MISSING', 'store "'.concat(descriptor.store, '" installed ').concat(displaySpec, " but it could not be loaded (").concat(loadErr.message, "); it may not be available for this platform (").concat(process.platform, "-").concat(process.arch, ") -- run `npm install ").concat(displaySpec, "` to see the underlying error"));
|
|
381
390
|
case 10:
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
11
|
|
385
|
-
];
|
|
391
|
+
loadErr = _state.sent();
|
|
392
|
+
throw new _errorsts.SenseError('STORE_DEPENDENCY_MISSING', 'store "'.concat(descriptor.store, '" installed ').concat(spec, " but it could not be loaded (").concat(loadErr.message, "); it may not be available for this platform (").concat(process.platform, "-").concat(process.arch, ") -- run `npm install ").concat(spec, "` to see the underlying error"));
|
|
386
393
|
case 11:
|
|
387
|
-
if (descriptor.version) assertExpectedVersion(descriptor, resolvedPackageMetadata(importName));
|
|
388
394
|
return [
|
|
389
|
-
2
|
|
390
|
-
loaded
|
|
395
|
+
2
|
|
391
396
|
];
|
|
392
397
|
}
|
|
393
398
|
});
|