sensemaking 0.7.2 → 0.8.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 +61 -41
- package/dist/cjs/cli/check.js +386 -0
- package/dist/cjs/cli/check.js.map +1 -0
- package/dist/cjs/{commands → cli}/find.js +3 -4
- package/dist/cjs/cli/find.js.map +1 -0
- package/dist/cjs/cli/index.js.map +1 -0
- package/dist/cjs/{commands → cli}/init.js +3 -0
- package/dist/cjs/cli/init.js.map +1 -0
- package/dist/cjs/{commands → cli}/map.js +2 -2
- package/dist/cjs/cli/map.js.map +1 -0
- package/dist/cjs/{commands → cli}/named.d.cts +1 -1
- package/dist/cjs/{commands → cli}/named.d.ts +1 -1
- package/dist/cjs/cli/named.js +209 -0
- package/dist/cjs/cli/named.js.map +1 -0
- package/dist/cjs/{commands → cli}/peek.js +2 -2
- package/dist/cjs/cli/peek.js.map +1 -0
- package/dist/cjs/cli/query.js.map +1 -0
- package/dist/cjs/cli/rebuild.js.map +1 -0
- package/dist/cjs/{commands → cli}/shared.d.cts +1 -0
- package/dist/{esm/commands → cjs/cli}/shared.d.ts +1 -0
- package/dist/cjs/{commands → cli}/shared.js +9 -0
- package/dist/cjs/cli/shared.js.map +1 -0
- package/dist/cjs/{commands → cli}/status.js +7 -1
- package/dist/cjs/cli/status.js.map +1 -0
- package/dist/cjs/cli/watch.js.map +1 -0
- package/dist/cjs/cli.js +22 -17
- package/dist/cjs/cli.js.map +1 -1
- package/dist/{esm/verbs.d.ts → cjs/commands.d.cts} +5 -4
- package/dist/cjs/{verbs.d.cts → commands.d.ts} +5 -4
- package/dist/cjs/{verbs.js → commands.js} +246 -21
- package/dist/cjs/commands.js.map +1 -0
- package/dist/cjs/config.d.cts +7 -1
- package/dist/cjs/config.d.ts +7 -1
- package/dist/cjs/config.js +75 -24
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/db.d.cts +1 -1
- package/dist/cjs/db.d.ts +1 -1
- package/dist/cjs/db.js +88 -17
- package/dist/cjs/db.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 +7 -1
- package/dist/cjs/features/embed.js.map +1 -1
- package/dist/cjs/features/links.js +201 -24
- package/dist/cjs/features/links.js.map +1 -1
- package/dist/cjs/features/rank.js +8 -1
- package/dist/cjs/features/rank.js.map +1 -1
- package/dist/cjs/features/types.d.cts +10 -3
- package/dist/cjs/features/types.d.ts +10 -3
- package/dist/cjs/index.d.cts +3 -3
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +4 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/output.d.cts +1 -0
- package/dist/cjs/output.d.ts +1 -0
- package/dist/cjs/output.js +2 -1
- package/dist/cjs/output.js.map +1 -1
- package/dist/cjs/progress.d.cts +5 -0
- package/dist/cjs/progress.d.ts +5 -0
- package/dist/cjs/progress.js +54 -0
- package/dist/cjs/progress.js.map +1 -0
- package/dist/cjs/scan.d.cts +1 -0
- package/dist/cjs/scan.d.ts +1 -0
- package/dist/cjs/scan.js +3 -2
- package/dist/cjs/scan.js.map +1 -1
- package/dist/esm/{commands → cli}/check.js +43 -3
- package/dist/esm/cli/check.js.map +1 -0
- package/dist/esm/{commands → cli}/find.js +3 -4
- package/dist/esm/cli/find.js.map +1 -0
- package/dist/esm/cli/index.js.map +1 -0
- package/dist/esm/{commands → cli}/init.js +3 -0
- package/dist/esm/cli/init.js.map +1 -0
- package/dist/esm/{commands → cli}/map.js +1 -1
- package/dist/esm/cli/map.js.map +1 -0
- package/dist/esm/{commands → cli}/named.d.ts +1 -1
- package/dist/esm/cli/named.js +33 -0
- package/dist/esm/cli/named.js.map +1 -0
- package/dist/esm/{commands → cli}/peek.js +1 -1
- package/dist/esm/cli/peek.js.map +1 -0
- package/dist/esm/cli/query.js.map +1 -0
- package/dist/esm/cli/rebuild.js.map +1 -0
- package/dist/{cjs/commands → esm/cli}/shared.d.ts +1 -0
- package/dist/esm/{commands → cli}/shared.js +9 -0
- package/dist/esm/cli/shared.js.map +1 -0
- package/dist/esm/{commands → cli}/status.js +7 -1
- package/dist/esm/cli/status.js.map +1 -0
- package/dist/esm/cli/types.js.map +1 -0
- package/dist/esm/cli/watch.js.map +1 -0
- package/dist/esm/cli.js +8 -6
- package/dist/esm/cli.js.map +1 -1
- package/dist/{cjs/verbs.d.ts → esm/commands.d.ts} +5 -4
- package/dist/esm/{verbs.js → commands.js} +165 -21
- package/dist/esm/commands.js.map +1 -0
- package/dist/esm/config.d.ts +7 -1
- package/dist/esm/config.js +38 -4
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/db.d.ts +1 -1
- package/dist/esm/db.js +78 -16
- package/dist/esm/db.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 +6 -0
- package/dist/esm/features/embed.js.map +1 -1
- package/dist/esm/features/links.js +130 -20
- package/dist/esm/features/links.js.map +1 -1
- package/dist/esm/features/rank.js +8 -1
- package/dist/esm/features/rank.js.map +1 -1
- package/dist/esm/features/types.d.ts +10 -3
- package/dist/esm/features/types.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/output.d.ts +1 -0
- package/dist/esm/output.js +2 -1
- package/dist/esm/output.js.map +1 -1
- package/dist/esm/progress.d.ts +5 -0
- package/dist/esm/progress.js +44 -0
- package/dist/esm/progress.js.map +1 -0
- package/dist/esm/scan.d.ts +1 -0
- package/dist/esm/scan.js +5 -2
- package/dist/esm/scan.js.map +1 -1
- package/package.json +6 -2
- package/schema.json +19 -4
- package/skills/sense/EXAMPLES.md +9 -7
- package/skills/sense/SKILL.md +43 -27
- package/skills/sense-setup/SKILL.md +16 -2
- package/dist/cjs/commands/check.js +0 -143
- package/dist/cjs/commands/check.js.map +0 -1
- package/dist/cjs/commands/find.js.map +0 -1
- package/dist/cjs/commands/index.js.map +0 -1
- package/dist/cjs/commands/init.js.map +0 -1
- package/dist/cjs/commands/map.js.map +0 -1
- package/dist/cjs/commands/named.js +0 -23
- package/dist/cjs/commands/named.js.map +0 -1
- package/dist/cjs/commands/peek.js.map +0 -1
- package/dist/cjs/commands/query.js.map +0 -1
- package/dist/cjs/commands/rebuild.js.map +0 -1
- package/dist/cjs/commands/shared.js.map +0 -1
- package/dist/cjs/commands/status.js.map +0 -1
- package/dist/cjs/commands/watch.js.map +0 -1
- package/dist/cjs/verbs.js.map +0 -1
- package/dist/esm/commands/check.js.map +0 -1
- package/dist/esm/commands/find.js.map +0 -1
- package/dist/esm/commands/index.js.map +0 -1
- package/dist/esm/commands/init.js.map +0 -1
- package/dist/esm/commands/map.js.map +0 -1
- package/dist/esm/commands/named.js +0 -12
- package/dist/esm/commands/named.js.map +0 -1
- package/dist/esm/commands/peek.js.map +0 -1
- package/dist/esm/commands/query.js.map +0 -1
- package/dist/esm/commands/rebuild.js.map +0 -1
- package/dist/esm/commands/shared.js.map +0 -1
- package/dist/esm/commands/status.js.map +0 -1
- package/dist/esm/commands/types.js.map +0 -1
- package/dist/esm/commands/watch.js.map +0 -1
- package/dist/esm/verbs.js.map +0 -1
- /package/dist/cjs/{commands → cli}/check.d.cts +0 -0
- /package/dist/cjs/{commands → cli}/check.d.ts +0 -0
- /package/dist/cjs/{commands → cli}/find.d.cts +0 -0
- /package/dist/cjs/{commands → cli}/find.d.ts +0 -0
- /package/dist/cjs/{commands → cli}/index.d.cts +0 -0
- /package/dist/cjs/{commands → cli}/index.d.ts +0 -0
- /package/dist/cjs/{commands → cli}/index.js +0 -0
- /package/dist/cjs/{commands → cli}/init.d.cts +0 -0
- /package/dist/cjs/{commands → cli}/init.d.ts +0 -0
- /package/dist/cjs/{commands → cli}/map.d.cts +0 -0
- /package/dist/cjs/{commands → cli}/map.d.ts +0 -0
- /package/dist/cjs/{commands → cli}/peek.d.cts +0 -0
- /package/dist/cjs/{commands → cli}/peek.d.ts +0 -0
- /package/dist/cjs/{commands → cli}/query.d.cts +0 -0
- /package/dist/cjs/{commands → cli}/query.d.ts +0 -0
- /package/dist/cjs/{commands → cli}/query.js +0 -0
- /package/dist/cjs/{commands → cli}/rebuild.d.cts +0 -0
- /package/dist/cjs/{commands → cli}/rebuild.d.ts +0 -0
- /package/dist/cjs/{commands → cli}/rebuild.js +0 -0
- /package/dist/cjs/{commands → cli}/status.d.cts +0 -0
- /package/dist/cjs/{commands → cli}/status.d.ts +0 -0
- /package/dist/cjs/{commands → cli}/types.d.cts +0 -0
- /package/dist/cjs/{commands → cli}/types.d.ts +0 -0
- /package/dist/cjs/{commands → cli}/types.js +0 -0
- /package/dist/cjs/{commands → cli}/types.js.map +0 -0
- /package/dist/cjs/{commands → cli}/watch.d.cts +0 -0
- /package/dist/cjs/{commands → cli}/watch.d.ts +0 -0
- /package/dist/cjs/{commands → cli}/watch.js +0 -0
- /package/dist/esm/{commands → cli}/check.d.ts +0 -0
- /package/dist/esm/{commands → cli}/find.d.ts +0 -0
- /package/dist/esm/{commands → cli}/index.d.ts +0 -0
- /package/dist/esm/{commands → cli}/index.js +0 -0
- /package/dist/esm/{commands → cli}/init.d.ts +0 -0
- /package/dist/esm/{commands → cli}/map.d.ts +0 -0
- /package/dist/esm/{commands → cli}/peek.d.ts +0 -0
- /package/dist/esm/{commands → cli}/query.d.ts +0 -0
- /package/dist/esm/{commands → cli}/query.js +0 -0
- /package/dist/esm/{commands → cli}/rebuild.d.ts +0 -0
- /package/dist/esm/{commands → cli}/rebuild.js +0 -0
- /package/dist/esm/{commands → cli}/status.d.ts +0 -0
- /package/dist/esm/{commands → cli}/types.d.ts +0 -0
- /package/dist/esm/{commands → cli}/types.js +0 -0
- /package/dist/esm/{commands → cli}/watch.d.ts +0 -0
- /package/dist/esm/{commands → cli}/watch.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Ctx } from './types.js';
|
|
2
|
-
export default function named(ctx: Ctx, queryName: string, params: string[]): void
|
|
2
|
+
export default function named(ctx: Ctx, queryName: string, params: string[]): Promise<void>;
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, // Fallback when the first positional is not a command: a named query from config, either a
|
|
6
|
+
// SQL string (run as-is) or a saved find (run through the `find` command's own machinery).
|
|
7
|
+
"default", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function() {
|
|
10
|
+
return named;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _commandsts = require("../commands.js");
|
|
14
|
+
var _outputts = require("../output.js");
|
|
15
|
+
var _sharedts = require("./shared.js");
|
|
16
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
17
|
+
try {
|
|
18
|
+
var info = gen[key](arg);
|
|
19
|
+
var value = info.value;
|
|
20
|
+
} catch (error) {
|
|
21
|
+
reject(error);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (info.done) {
|
|
25
|
+
resolve(value);
|
|
26
|
+
} else {
|
|
27
|
+
Promise.resolve(value).then(_next, _throw);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function _async_to_generator(fn) {
|
|
31
|
+
return function() {
|
|
32
|
+
var self = this, args = arguments;
|
|
33
|
+
return new Promise(function(resolve, reject) {
|
|
34
|
+
var gen = fn.apply(self, args);
|
|
35
|
+
function _next(value) {
|
|
36
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
37
|
+
}
|
|
38
|
+
function _throw(err) {
|
|
39
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
40
|
+
}
|
|
41
|
+
_next(undefined);
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function _ts_generator(thisArg, body) {
|
|
46
|
+
var f, y, t, _ = {
|
|
47
|
+
label: 0,
|
|
48
|
+
sent: function() {
|
|
49
|
+
if (t[0] & 1) throw t[1];
|
|
50
|
+
return t[1];
|
|
51
|
+
},
|
|
52
|
+
trys: [],
|
|
53
|
+
ops: []
|
|
54
|
+
}, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
|
|
55
|
+
return d(g, "next", {
|
|
56
|
+
value: verb(0)
|
|
57
|
+
}), d(g, "throw", {
|
|
58
|
+
value: verb(1)
|
|
59
|
+
}), d(g, "return", {
|
|
60
|
+
value: verb(2)
|
|
61
|
+
}), typeof Symbol === "function" && d(g, Symbol.iterator, {
|
|
62
|
+
value: function() {
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
}), g;
|
|
66
|
+
function verb(n) {
|
|
67
|
+
return function(v) {
|
|
68
|
+
return step([
|
|
69
|
+
n,
|
|
70
|
+
v
|
|
71
|
+
]);
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function step(op) {
|
|
75
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
76
|
+
while(g && (g = 0, op[0] && (_ = 0)), _)try {
|
|
77
|
+
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;
|
|
78
|
+
if (y = 0, t) op = [
|
|
79
|
+
op[0] & 2,
|
|
80
|
+
t.value
|
|
81
|
+
];
|
|
82
|
+
switch(op[0]){
|
|
83
|
+
case 0:
|
|
84
|
+
case 1:
|
|
85
|
+
t = op;
|
|
86
|
+
break;
|
|
87
|
+
case 4:
|
|
88
|
+
_.label++;
|
|
89
|
+
return {
|
|
90
|
+
value: op[1],
|
|
91
|
+
done: false
|
|
92
|
+
};
|
|
93
|
+
case 5:
|
|
94
|
+
_.label++;
|
|
95
|
+
y = op[1];
|
|
96
|
+
op = [
|
|
97
|
+
0
|
|
98
|
+
];
|
|
99
|
+
continue;
|
|
100
|
+
case 7:
|
|
101
|
+
op = _.ops.pop();
|
|
102
|
+
_.trys.pop();
|
|
103
|
+
continue;
|
|
104
|
+
default:
|
|
105
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
106
|
+
_ = 0;
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
110
|
+
_.label = op[1];
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
114
|
+
_.label = t[1];
|
|
115
|
+
t = op;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
if (t && _.label < t[2]) {
|
|
119
|
+
_.label = t[2];
|
|
120
|
+
_.ops.push(op);
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
if (t[2]) _.ops.pop();
|
|
124
|
+
_.trys.pop();
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
op = body.call(thisArg, _);
|
|
128
|
+
} catch (e) {
|
|
129
|
+
op = [
|
|
130
|
+
6,
|
|
131
|
+
e
|
|
132
|
+
];
|
|
133
|
+
y = 0;
|
|
134
|
+
} finally{
|
|
135
|
+
f = t = 0;
|
|
136
|
+
}
|
|
137
|
+
if (op[0] & 5) throw op[1];
|
|
138
|
+
return {
|
|
139
|
+
value: op[0] ? op[1] : void 0,
|
|
140
|
+
done: true
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function named(ctx, queryName, params) {
|
|
145
|
+
return _async_to_generator(function() {
|
|
146
|
+
var _parseK, _ctx_values_where, cfg, entry, k, where, semantic;
|
|
147
|
+
return _ts_generator(this, function(_state) {
|
|
148
|
+
switch(_state.label){
|
|
149
|
+
case 0:
|
|
150
|
+
cfg = ctx.resolveConfig();
|
|
151
|
+
entry = cfg.queries[queryName];
|
|
152
|
+
if (entry === undefined) {
|
|
153
|
+
console.error('unknown query: "'.concat(queryName, '"'));
|
|
154
|
+
console.error("valid queries: ".concat(Object.keys(cfg.queries).sort().join(', ')));
|
|
155
|
+
process.exit(2);
|
|
156
|
+
}
|
|
157
|
+
if (typeof entry === 'string') {
|
|
158
|
+
(0, _sharedts.runSql)(cfg, entry, params, ctx.format, 'query "'.concat(queryName, '"'));
|
|
159
|
+
return [
|
|
160
|
+
2
|
|
161
|
+
];
|
|
162
|
+
}
|
|
163
|
+
// A saved find's terms are fixed in config; there is nowhere for a positional to bind.
|
|
164
|
+
if (params.length > 0) {
|
|
165
|
+
ctx.usageError('"'.concat(queryName, '" is a saved find and takes no positional parameters; edit its "find" in sense.config.json, or use "').concat(ctx.name, ' find" directly'));
|
|
166
|
+
}
|
|
167
|
+
k = (_parseK = (0, _sharedts.parseK)(ctx)) !== null && _parseK !== void 0 ? _parseK : entry.k;
|
|
168
|
+
where = (_ctx_values_where = ctx.values.where) !== null && _ctx_values_where !== void 0 ? _ctx_values_where : entry.where;
|
|
169
|
+
// --semantic upgrades a saved find the same way --where/--k override; absent means the
|
|
170
|
+
// saved value (the flag has no default, so absent is distinguishable from false).
|
|
171
|
+
semantic = ctx.values.semantic === true || entry.semantic;
|
|
172
|
+
return [
|
|
173
|
+
4,
|
|
174
|
+
(0, _sharedts.withDb)(ctx, function(db, resolvedCfg) {
|
|
175
|
+
return _async_to_generator(function() {
|
|
176
|
+
return _ts_generator(this, function(_state) {
|
|
177
|
+
switch(_state.label){
|
|
178
|
+
case 0:
|
|
179
|
+
return [
|
|
180
|
+
4,
|
|
181
|
+
(0, _commandsts.find)(db, resolvedCfg, entry.find, {
|
|
182
|
+
k: k,
|
|
183
|
+
where: where,
|
|
184
|
+
semantic: semantic
|
|
185
|
+
})
|
|
186
|
+
];
|
|
187
|
+
case 1:
|
|
188
|
+
return [
|
|
189
|
+
2,
|
|
190
|
+
_outputts.printRows.apply(void 0, [
|
|
191
|
+
_state.sent(),
|
|
192
|
+
ctx.format
|
|
193
|
+
])
|
|
194
|
+
];
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
})();
|
|
198
|
+
})
|
|
199
|
+
];
|
|
200
|
+
case 1:
|
|
201
|
+
_state.sent();
|
|
202
|
+
return [
|
|
203
|
+
2
|
|
204
|
+
];
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
})();
|
|
208
|
+
}
|
|
209
|
+
/* 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/OpenSource/ai/sensemaking/src/cli/named.ts"],"sourcesContent":["import { find } from '../commands.ts';\nimport { printRows } from '../output.ts';\nimport { parseK, runSql, withDb } from './shared.ts';\nimport type { Ctx } from './types.ts';\n\n// Fallback when the first positional is not a command: a named query from config, either a\n// SQL string (run as-is) or a saved find (run through the `find` command's own machinery).\nexport default async function named(ctx: Ctx, queryName: string, params: string[]): Promise<void> {\n const cfg = ctx.resolveConfig();\n const entry = cfg.queries[queryName];\n if (entry === undefined) {\n console.error(`unknown query: \"${queryName}\"`);\n console.error(`valid queries: ${Object.keys(cfg.queries).sort().join(', ')}`);\n process.exit(2);\n }\n\n if (typeof entry === 'string') {\n runSql(cfg, entry, params, ctx.format, `query \"${queryName}\"`);\n return;\n }\n\n // A saved find's terms are fixed in config; there is nowhere for a positional to bind.\n if (params.length > 0) {\n ctx.usageError(`\"${queryName}\" is a saved find and takes no positional parameters; edit its \"find\" in sense.config.json, or use \"${ctx.name} find\" directly`);\n }\n const k = parseK(ctx) ?? entry.k;\n const where = ctx.values.where ?? entry.where;\n // --semantic upgrades a saved find the same way --where/--k override; absent means the\n // saved value (the flag has no default, so absent is distinguishable from false).\n const semantic = ctx.values.semantic === true || entry.semantic;\n await withDb(ctx, async (db, resolvedCfg) => printRows(await find(db, resolvedCfg, entry.find, { k, where, semantic }), ctx.format));\n}\n"],"names":["named","ctx","queryName","params","parseK","cfg","entry","k","where","semantic","resolveConfig","queries","undefined","console","error","Object","keys","sort","join","process","exit","runSql","format","length","usageError","name","values","withDb","db","resolvedCfg","find","printRows"],"mappings":";;;;+BAKA,2FAA2F;AAC3F,2FAA2F;AAC3F;;;eAA8BA;;;0BAPT;wBACK;wBACa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKxB,SAAeA,MAAMC,GAAQ,EAAEC,SAAiB,EAAEC,MAAgB;;YAkBrEC,SACIH,mBAlBRI,KACAC,OAgBAC,GACAC,OAGAC;;;;oBArBAJ,MAAMJ,IAAIS,aAAa;oBACvBJ,QAAQD,IAAIM,OAAO,CAACT,UAAU;oBACpC,IAAII,UAAUM,WAAW;wBACvBC,QAAQC,KAAK,CAAC,AAAC,mBAA4B,OAAVZ,WAAU;wBAC3CW,QAAQC,KAAK,CAAC,AAAC,kBAA4D,OAA3CC,OAAOC,IAAI,CAACX,IAAIM,OAAO,EAAEM,IAAI,GAAGC,IAAI,CAAC;wBACrEC,QAAQC,IAAI,CAAC;oBACf;oBAEA,IAAI,OAAOd,UAAU,UAAU;wBAC7Be,IAAAA,gBAAM,EAAChB,KAAKC,OAAOH,QAAQF,IAAIqB,MAAM,EAAE,AAAC,UAAmB,OAAVpB,WAAU;wBAC3D;;;oBACF;oBAEA,uFAAuF;oBACvF,IAAIC,OAAOoB,MAAM,GAAG,GAAG;wBACrBtB,IAAIuB,UAAU,CAAC,AAAC,IAAmHvB,OAAhHC,WAAU,wGAA+G,OAATD,IAAIwB,IAAI,EAAC;oBAC9I;oBACMlB,KAAIH,UAAAA,IAAAA,gBAAM,EAACH,kBAAPG,qBAAAA,UAAeE,MAAMC,CAAC;oBAC1BC,SAAQP,oBAAAA,IAAIyB,MAAM,CAAClB,KAAK,cAAhBP,+BAAAA,oBAAoBK,MAAME,KAAK;oBAC7C,uFAAuF;oBACvF,kFAAkF;oBAC5EC,WAAWR,IAAIyB,MAAM,CAACjB,QAAQ,KAAK,QAAQH,MAAMG,QAAQ;oBAC/D;;wBAAMkB,IAAAA,gBAAM,EAAC1B,KAAK,SAAO2B,IAAIC;;;;;4CAA0B;;gDAAMC,IAAAA,gBAAI,EAACF,IAAIC,aAAavB,MAAMwB,IAAI,EAAE;oDAAEvB,GAAAA;oDAAGC,OAAAA;oDAAOC,UAAAA;gDAAS;;;;;gDAAvEsB,mBAAS;oDAAC;oDAAiE9B,IAAIqB,MAAM;;;;;;;;;oBAAlI;;;;;;IACF"}
|
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _commandsts = require("../commands.js");
|
|
11
12
|
var _outputts = require("../output.js");
|
|
12
|
-
var _verbsts = require("../verbs.js");
|
|
13
13
|
var _sharedts = require("./shared.js");
|
|
14
14
|
function _array_like_to_array(arr, len) {
|
|
15
15
|
if (len == null || len > arr.length) len = arr.length;
|
|
@@ -61,7 +61,7 @@ var peekCmd = function peekCmd(ctx) {
|
|
|
61
61
|
var _ctx_rest = _sliced_to_array(ctx.rest, 1), pathArg = _ctx_rest[0];
|
|
62
62
|
if (!pathArg) ctx.usageError("usage: ".concat(ctx.name, " peek <path>"));
|
|
63
63
|
return (0, _sharedts.withDb)(ctx, function(db, cfg) {
|
|
64
|
-
var result = (0,
|
|
64
|
+
var result = (0, _commandsts.peek)(db, cfg, pathArg);
|
|
65
65
|
console.log(ctx.format === 'json' ? JSON.stringify(result, null, 2) : (0, _outputts.renderPeek)(result));
|
|
66
66
|
});
|
|
67
67
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/sensemaking/src/cli/peek.ts"],"sourcesContent":["import { peek } from '../commands.ts';\nimport { renderPeek } from '../output.ts';\nimport { withDb } from './shared.ts';\nimport type { Command } from './types.ts';\n\nconst peekCmd: Command = (ctx) => {\n const [pathArg] = ctx.rest;\n if (!pathArg) ctx.usageError(`usage: ${ctx.name} peek <path>`);\n return withDb(ctx, (db, cfg) => {\n const result = peek(db, cfg, pathArg);\n console.log(ctx.format === 'json' ? JSON.stringify(result, null, 2) : renderPeek(result));\n });\n};\nexport default peekCmd;\n"],"names":["peekCmd","ctx","rest","pathArg","usageError","name","withDb","db","cfg","result","peek","console","log","format","JSON","stringify","renderPeek"],"mappings":";;;;+BAaA;;;eAAA;;;0BAbqB;wBACM;wBACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGvB,IAAMA,UAAmB,iBAACC;IACxB,IAAkBA,6BAAAA,IAAIC,IAAI,MAAnBC,UAAWF;IAClB,IAAI,CAACE,SAASF,IAAIG,UAAU,CAAC,AAAC,UAAkB,OAATH,IAAII,IAAI,EAAC;IAChD,OAAOC,IAAAA,gBAAM,EAACL,KAAK,SAACM,IAAIC;QACtB,IAAMC,SAASC,IAAAA,gBAAI,EAACH,IAAIC,KAAKL;QAC7BQ,QAAQC,GAAG,CAACX,IAAIY,MAAM,KAAK,SAASC,KAAKC,SAAS,CAACN,QAAQ,MAAM,KAAKO,IAAAA,oBAAU,EAACP;IACnF;AACF;IACA,WAAeT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/sensemaking/src/cli/query.ts"],"sourcesContent":["import { runSql } from './shared.ts';\nimport type { Command } from './types.ts';\n\nconst query: Command = (ctx) => {\n const [sql, ...params] = ctx.rest;\n if (!sql) ctx.usageError(`usage: ${ctx.name} query \"<sql>\" [params...]`);\n runSql(ctx.resolveConfig(), sql, params, ctx.format, 'ad-hoc query');\n};\nexport default query;\n"],"names":["query","ctx","rest","sql","params","usageError","name","runSql","resolveConfig","format"],"mappings":";;;;+BAQA;;;eAAA;;;wBARuB;;;;;;;;;;;;;;;;;;;;;;;;;;AAGvB,IAAMA,QAAiB,eAACC;IACtB,IAAyBA,sBAAAA,IAAIC,IAAI,GAA1BC,MAAkBF,cAAb,AAAGG,SAAUH,gBAAb;IACZ,IAAI,CAACE,KAAKF,IAAII,UAAU,CAAC,AAAC,UAAkB,OAATJ,IAAIK,IAAI,EAAC;IAC5CC,IAAAA,gBAAM,EAACN,IAAIO,aAAa,IAAIL,KAAKC,QAAQH,IAAIQ,MAAM,EAAE;AACvD;IACA,WAAeT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/sensemaking/src/cli/rebuild.ts"],"sourcesContent":["import { docCount, rebuild } from '../db.ts';\nimport { printWarnings } from './shared.ts';\nimport type { Command } from './types.ts';\n\nconst rebuildCmd: Command = (ctx) => {\n const result = rebuild(ctx.resolveConfig());\n printWarnings(result.warnings);\n console.log(`rebuilt: ${docCount(result.db)} docs`);\n result.db.close();\n};\nexport default rebuildCmd;\n"],"names":["rebuildCmd","ctx","result","rebuild","resolveConfig","printWarnings","warnings","console","log","docCount","db","close"],"mappings":";;;;+BAUA;;;eAAA;;;oBAVkC;wBACJ;AAG9B,IAAMA,aAAsB,oBAACC;IAC3B,IAAMC,SAASC,IAAAA,aAAO,EAACF,IAAIG,aAAa;IACxCC,IAAAA,uBAAa,EAACH,OAAOI,QAAQ;IAC7BC,QAAQC,GAAG,CAAC,AAAC,YAA+B,OAApBC,IAAAA,cAAQ,EAACP,OAAOQ,EAAE,GAAE;IAC5CR,OAAOQ,EAAE,CAACC,KAAK;AACjB;IACA,WAAeX"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ResolvedConfig } from '../config.js';
|
|
2
2
|
import type { OpenResult } from '../db.js';
|
|
3
3
|
import type { Ctx } from './types.js';
|
|
4
|
+
export declare function parseK(ctx: Ctx): number | undefined;
|
|
4
5
|
export declare function printWarnings(warnings: string[]): void;
|
|
5
6
|
export declare function withDb(ctx: Ctx, fn: (db: OpenResult['db'], cfg: ResolvedConfig) => void | Promise<void>): Promise<void>;
|
|
6
7
|
export declare function runSql(cfg: ResolvedConfig, sql: string, params: string[], format: 'table' | 'json', label: string): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ResolvedConfig } from '../config.js';
|
|
2
2
|
import type { OpenResult } from '../db.js';
|
|
3
3
|
import type { Ctx } from './types.js';
|
|
4
|
+
export declare function parseK(ctx: Ctx): number | undefined;
|
|
4
5
|
export declare function printWarnings(warnings: string[]): void;
|
|
5
6
|
export declare function withDb(ctx: Ctx, fn: (db: OpenResult['db'], cfg: ResolvedConfig) => void | Promise<void>): Promise<void>;
|
|
6
7
|
export declare function runSql(cfg: ResolvedConfig, sql: string, params: string[], format: 'table' | 'json', label: string): void;
|
|
@@ -9,6 +9,9 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
+
get parseK () {
|
|
13
|
+
return parseK;
|
|
14
|
+
},
|
|
12
15
|
get printWarnings () {
|
|
13
16
|
return printWarnings;
|
|
14
17
|
},
|
|
@@ -175,6 +178,12 @@ function _ts_generator(thisArg, body) {
|
|
|
175
178
|
};
|
|
176
179
|
}
|
|
177
180
|
}
|
|
181
|
+
function parseK(ctx) {
|
|
182
|
+
if (ctx.values.k === undefined) return undefined;
|
|
183
|
+
var k = Number(ctx.values.k);
|
|
184
|
+
if (!Number.isInteger(k) || k <= 0) ctx.usageError('--k expects a positive integer, got "'.concat(ctx.values.k, '"'));
|
|
185
|
+
return k;
|
|
186
|
+
}
|
|
178
187
|
function printWarnings(warnings) {
|
|
179
188
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
180
189
|
try {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/sensemaking/src/cli/shared.ts"],"sourcesContent":["import type { ResolvedConfig } from '../config.ts';\nimport type { OpenResult } from '../db.ts';\nimport { open } from '../db.ts';\nimport type { Row } from '../output.ts';\nimport { printRows } from '../output.ts';\nimport { searchError } from '../search-error.ts';\nimport type { Ctx } from './types.ts';\n\n// --k must be a positive integer: SQLite reads a bound LIMIT of -1 as \"unlimited\" and 0 as\n// \"nothing\", and parseInt would silently truncate \"5.9\" -- all three are caller mistakes\n// worth a usage error, matching the config-level SavedFind validation.\nexport function parseK(ctx: Ctx): number | undefined {\n if (ctx.values.k === undefined) return undefined;\n const k = Number(ctx.values.k);\n if (!Number.isInteger(k) || k <= 0) ctx.usageError(`--k expects a positive integer, got \"${ctx.values.k}\"`);\n return k;\n}\n\n// Shared open-query-close envelope for commands that touch the tree.\n\nexport function printWarnings(warnings: string[]): void {\n for (const w of warnings) console.warn(w);\n}\n\nexport async function withDb(ctx: Ctx, fn: (db: OpenResult['db'], cfg: ResolvedConfig) => void | Promise<void>): Promise<void> {\n const cfg = ctx.resolveConfig();\n const { db, warnings } = open(cfg);\n printWarnings(warnings);\n try {\n await fn(db, cfg);\n } finally {\n db.close();\n }\n}\n\n// An unbound `?` silently binds NULL, so mismatched param counts fail loudly instead.\nexport function runSql(cfg: ResolvedConfig, sql: string, params: string[], format: 'table' | 'json', label: string): void {\n const placeholderCount = (sql.match(/\\?/g) ?? []).length;\n if (params.length !== placeholderCount) {\n console.error(`${label} expects ${placeholderCount} parameter(s), got ${params.length}`);\n process.exit(2);\n }\n const { db, warnings } = open(cfg);\n printWarnings(warnings);\n let rows: Row[];\n try {\n rows = db.prepare(sql).all(...params) as Row[];\n } catch (err) {\n db.close();\n // A saved query or ad-hoc SQL can carry `content MATCH ?` too, so the same FTS5\n // punctuation trap applies -- the bound parameters are the search terms there. SQL\n // without MATCH gets its error verbatim; search advice on a plain typo would mislead.\n if (/\\bMATCH\\b/i.test(sql)) throw searchError(err as Error, params.join(' '));\n throw err;\n }\n printRows(rows, format);\n db.close();\n}\n"],"names":["parseK","printWarnings","runSql","withDb","ctx","values","k","undefined","Number","isInteger","usageError","warnings","w","console","warn","fn","cfg","open","db","resolveConfig","close","sql","params","format","label","placeholderCount","match","length","error","process","exit","rows","prepare","all","err","test","searchError","join","printRows"],"mappings":";;;;;;;;;;;QAWgBA;eAAAA;;QASAC;eAAAA;;QAgBAC;eAAAA;;QAZMC;eAAAA;;;oBAtBD;wBAEK;6BACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMrB,SAASH,OAAOI,GAAQ;IAC7B,IAAIA,IAAIC,MAAM,CAACC,CAAC,KAAKC,WAAW,OAAOA;IACvC,IAAMD,IAAIE,OAAOJ,IAAIC,MAAM,CAACC,CAAC;IAC7B,IAAI,CAACE,OAAOC,SAAS,CAACH,MAAMA,KAAK,GAAGF,IAAIM,UAAU,CAAC,AAAC,wCAAoD,OAAbN,IAAIC,MAAM,CAACC,CAAC,EAAC;IACxG,OAAOA;AACT;AAIO,SAASL,cAAcU,QAAkB;QACzC,kCAAA,2BAAA;;QAAL,QAAK,YAAWA,6BAAX,SAAA,6BAAA,QAAA,yBAAA;YAAA,IAAMC,IAAN;YAAqBC,QAAQC,IAAI,CAACF;;;QAAlC;QAAA;;;iBAAA,6BAAA;gBAAA;;;gBAAA;sBAAA;;;;AACP;AAEO,SAAeT,OAAOC,GAAQ,EAAEW,EAAuE;;YACtGC,KACmBC,OAAjBC,IAAIP;;;;oBADNK,MAAMZ,IAAIe,aAAa;oBACJF,QAAAA,IAAAA,UAAI,EAACD,MAAtBE,KAAiBD,MAAjBC,IAAIP,WAAaM,MAAbN;oBACZV,cAAcU;;;;;;;;;oBAEZ;;wBAAMI,GAAGG,IAAIF;;;oBAAb;;;;;;oBAEAE,GAAGE,KAAK;;;;;;;;;;IAEZ;;AAGO,SAASlB,OAAOc,GAAmB,EAAEK,GAAW,EAAEC,MAAgB,EAAEC,MAAwB,EAAEC,KAAa;QACtFH;IAA1B,IAAMI,mBAAmB,EAACJ,aAAAA,IAAIK,KAAK,CAAC,oBAAVL,wBAAAA,aAAoB,EAAE,EAAEM,MAAM;IACxD,IAAIL,OAAOK,MAAM,KAAKF,kBAAkB;QACtCZ,QAAQe,KAAK,CAAC,AAAC,GAAmBH,OAAjBD,OAAM,aAAiDF,OAAtCG,kBAAiB,uBAAmC,OAAdH,OAAOK,MAAM;QACrFE,QAAQC,IAAI,CAAC;IACf;IACA,IAAyBb,QAAAA,IAAAA,UAAI,EAACD,MAAtBE,KAAiBD,MAAjBC,IAAIP,WAAaM,MAAbN;IACZV,cAAcU;IACd,IAAIoB;IACJ,IAAI;YACKb;QAAPa,OAAOb,CAAAA,cAAAA,GAAGc,OAAO,CAACX,MAAKY,GAAG,OAAnBf,aAAoB,qBAAGI;IAChC,EAAE,OAAOY,KAAK;QACZhB,GAAGE,KAAK;QACR,gFAAgF;QAChF,mFAAmF;QACnF,sFAAsF;QACtF,IAAI,aAAae,IAAI,CAACd,MAAM,MAAMe,IAAAA,0BAAW,EAACF,KAAcZ,OAAOe,IAAI,CAAC;QACxE,MAAMH;IACR;IACAI,IAAAA,mBAAS,EAACP,MAAMR;IAChBL,GAAGE,KAAK;AACV"}
|
|
@@ -60,6 +60,10 @@ var status = function status(ctx) {
|
|
|
60
60
|
var e = (0, _configts.embedConfig)(cfg);
|
|
61
61
|
var vectors = e ? vectorState(db) : null;
|
|
62
62
|
var heartbeat = (0, _dbts.getMeta)(db, 'watch_heartbeat');
|
|
63
|
+
// Derived at open() (F): 3x the largest reconcile this cache has ever held its write
|
|
64
|
+
// transaction for, floored at 30s -- read back from the connection rather than
|
|
65
|
+
// recomputed here, so this always reports what open() actually set.
|
|
66
|
+
var busyTimeoutMs = db.prepare('PRAGMA busy_timeout').get().timeout;
|
|
63
67
|
var result = {
|
|
64
68
|
db: dbPath,
|
|
65
69
|
docs: (0, _dbts.docCount)(db),
|
|
@@ -70,7 +74,8 @@ var status = function status(ctx) {
|
|
|
70
74
|
model: e.model
|
|
71
75
|
}, vectors !== null && vectors !== void 0 ? vectors : {}) : null,
|
|
72
76
|
findDefaultWhere: (_ref = (_cfg_defaults = cfg.defaults) === null || _cfg_defaults === void 0 ? void 0 : (_cfg_defaults_find = _cfg_defaults.find) === null || _cfg_defaults_find === void 0 ? void 0 : _cfg_defaults_find.where) !== null && _ref !== void 0 ? _ref : null,
|
|
73
|
-
watcherHeartbeatSecondsAgo: heartbeat ? Math.round((Date.now() - Date.parse(heartbeat)) / 1000) : null
|
|
77
|
+
watcherHeartbeatSecondsAgo: heartbeat ? Math.round((Date.now() - Date.parse(heartbeat)) / 1000) : null,
|
|
78
|
+
busyTimeoutMs: busyTimeoutMs
|
|
74
79
|
};
|
|
75
80
|
if (ctx.format === 'json') {
|
|
76
81
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -84,6 +89,7 @@ var status = function status(ctx) {
|
|
|
84
89
|
if (e) console.log("embed: ".concat(e.type, " ").concat(e.model).concat(vectors ? " (vectors: ".concat(vectors.embedded, " embedded, ").concat(vectors.pending, " pending — embedded on first --semantic query)") : ''));
|
|
85
90
|
if (result.findDefaultWhere) console.log("find default scope: ".concat(result.findDefaultWhere, " (--where replaces it)"));
|
|
86
91
|
console.log(result.watcherHeartbeatSecondsAgo === null ? 'watcher: no watcher' : "watcher: last heartbeat ".concat(result.watcherHeartbeatSecondsAgo, "s ago"));
|
|
92
|
+
console.log("busy_timeout: ".concat(result.busyTimeoutMs, "ms (derived: 3x the largest reconcile this cache has recorded, floored at 30000ms)"));
|
|
87
93
|
}
|
|
88
94
|
db.close();
|
|
89
95
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/sensemaking/src/cli/status.ts"],"sourcesContent":["import { embedConfig, featureStates } from '../config.ts';\nimport { docCount, getMeta, open } from '../db.ts';\nimport { printWarnings } from './shared.ts';\nimport type { Command } from './types.ts';\n\n// Vectors are computed on the first semantic query, not at reconcile, so a tree can be\n// embed-enabled with nothing embedded yet -- reported here because a fast `rebuild` on an\n// embed tree otherwise reads as \"the feature isn't on\".\nfunction vectorState(db: ReturnType<typeof open>['db']): { embedded: number; pending: number } | null {\n try {\n const row = db.prepare('SELECT COUNT(vector) AS embedded, COUNT(*) - COUNT(vector) AS pending FROM embeddings').get() as { embedded: number; pending: number };\n return row;\n } catch {\n return null;\n }\n}\n\nconst status: Command = (ctx) => {\n const cfg = ctx.resolveConfig();\n const { db, dbPath, warnings } = open(cfg);\n printWarnings(warnings);\n\n const features = featureStates(cfg);\n const e = embedConfig(cfg);\n const vectors = e ? vectorState(db) : null;\n const heartbeat = getMeta(db, 'watch_heartbeat');\n // Derived at open() (F): 3x the largest reconcile this cache has ever held its write\n // transaction for, floored at 30s -- read back from the connection rather than\n // recomputed here, so this always reports what open() actually set.\n const busyTimeoutMs = (db.prepare('PRAGMA busy_timeout').get() as { timeout: number }).timeout;\n const result = {\n db: dbPath,\n docs: docCount(db),\n features: features.on,\n featuresOff: features.off,\n embed: e ? { type: e.type, model: e.model, ...(vectors ?? {}) } : null,\n findDefaultWhere: cfg.defaults?.find?.where ?? null,\n watcherHeartbeatSecondsAgo: heartbeat ? Math.round((Date.now() - Date.parse(heartbeat)) / 1000) : null,\n busyTimeoutMs,\n };\n\n if (ctx.format === 'json') {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`db: ${result.db}`);\n console.log(`docs: ${result.docs}`);\n const off = features.off.length > 0 ? ` · off: ${features.off.map((name) => `${name} (features.${name})`).join(', ')}` : '';\n console.log(`features: ${features.on.join(', ')}${off}`);\n if (e) console.log(`embed: ${e.type} ${e.model}${vectors ? ` (vectors: ${vectors.embedded} embedded, ${vectors.pending} pending — embedded on first --semantic query)` : ''}`);\n if (result.findDefaultWhere) console.log(`find default scope: ${result.findDefaultWhere} (--where replaces it)`);\n console.log(result.watcherHeartbeatSecondsAgo === null ? 'watcher: no watcher' : `watcher: last heartbeat ${result.watcherHeartbeatSecondsAgo}s ago`);\n console.log(`busy_timeout: ${result.busyTimeoutMs}ms (derived: 3x the largest reconcile this cache has recorded, floored at 30000ms)`);\n }\n db.close();\n};\nexport default status;\n"],"names":["vectorState","db","row","prepare","get","status","ctx","cfg","resolveConfig","open","dbPath","warnings","printWarnings","features","featureStates","e","embedConfig","vectors","heartbeat","getMeta","busyTimeoutMs","timeout","result","docs","docCount","on","featuresOff","off","embed","type","model","findDefaultWhere","defaults","find","where","watcherHeartbeatSecondsAgo","Math","round","Date","now","parse","format","console","log","JSON","stringify","length","map","name","join","embedded","pending","close"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/sensemaking/src/cli/watch.ts"],"sourcesContent":["import type { WatchEvent } from '../watch.ts';\nimport { runWatch } from '../watch.ts';\nimport { printWarnings } from './shared.ts';\nimport type { Command } from './types.ts';\n\nconst watch: Command = async (ctx) => {\n await runWatch(ctx.resolveConfig(), {\n force: ctx.values.force,\n onEvent: (event: WatchEvent) => {\n if (event.type === 'started') {\n console.log(`${ctx.name} watch: watching ${event.baseDir}`);\n console.log(`${ctx.name} watch: db ${event.dbPath}`);\n } else if (event.type === 'reconciled') {\n printWarnings(event.warnings);\n if (event.parsed > 0) console.log(`${ctx.name} watch: reconciled, ${event.parsed} file(s) reparsed (${event.total} total)`);\n } else {\n console.error(`${ctx.name} watch: reconcile error: ${event.message}`);\n }\n },\n });\n};\nexport default watch;\n"],"names":["watch","ctx","runWatch","resolveConfig","force","values","onEvent","event","type","console","log","name","baseDir","dbPath","printWarnings","warnings","parsed","total","error","message"],"mappings":";;;;+BAqBA;;;eAAA;;;uBApByB;wBACK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAG9B,IAAMA,QAAiB,eAAOC;;;;;oBAC5B;;wBAAMC,IAAAA,iBAAQ,EAACD,IAAIE,aAAa,IAAI;4BAClCC,OAAOH,IAAII,MAAM,CAACD,KAAK;4BACvBE,SAAS,SAATA,QAAUC;gCACR,IAAIA,MAAMC,IAAI,KAAK,WAAW;oCAC5BC,QAAQC,GAAG,CAAC,AAAC,GAA8BH,OAA5BN,IAAIU,IAAI,EAAC,qBAAiC,OAAdJ,MAAMK,OAAO;oCACxDH,QAAQC,GAAG,CAAC,AAAC,GAAwBH,OAAtBN,IAAIU,IAAI,EAAC,eAA0B,OAAbJ,MAAMM,MAAM;gCACnD,OAAO,IAAIN,MAAMC,IAAI,KAAK,cAAc;oCACtCM,IAAAA,uBAAa,EAACP,MAAMQ,QAAQ;oCAC5B,IAAIR,MAAMS,MAAM,GAAG,GAAGP,QAAQC,GAAG,CAAC,AAAC,GAAiCH,OAA/BN,IAAIU,IAAI,EAAC,wBAAwDJ,OAAlCA,MAAMS,MAAM,EAAC,uBAAiC,OAAZT,MAAMU,KAAK,EAAC;gCACpH,OAAO;oCACLR,QAAQS,KAAK,CAAC,AAAC,GAAsCX,OAApCN,IAAIU,IAAI,EAAC,6BAAyC,OAAdJ,MAAMY,OAAO;gCACpE;4BACF;wBACF;;;oBAbA;;;;;;IAcF;;IACA,WAAenB"}
|
package/dist/cjs/cli.js
CHANGED
|
@@ -11,7 +11,7 @@ Object.defineProperty(exports, // Thrown errors -> exit 1 with the message verba
|
|
|
11
11
|
});
|
|
12
12
|
var _nodemodule = require("node:module");
|
|
13
13
|
var _nodeutil = require("node:util");
|
|
14
|
-
var _indexts = require("./
|
|
14
|
+
var _indexts = require("./cli/index.js");
|
|
15
15
|
var _configts = require("./config.js");
|
|
16
16
|
function _array_like_to_array(arr, len) {
|
|
17
17
|
if (len == null || len > arr.length) len = arr.length;
|
|
@@ -207,7 +207,7 @@ function _ts_generator(thisArg, body) {
|
|
|
207
207
|
};
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
-
// Parsing and dispatch only. Commands live in src/
|
|
210
|
+
// Parsing and dispatch only. Commands live in src/cli/, one file each, lazy-loaded --
|
|
211
211
|
// nothing tree- or dependency-heavy may be imported at the top of this file.
|
|
212
212
|
// Works from dist/cjs and dist/esm alike: walk up past the dist type-marker package.json.
|
|
213
213
|
function packageVersion() {
|
|
@@ -230,7 +230,7 @@ function usage(name) {
|
|
|
230
230
|
}
|
|
231
231
|
function cli(argv, name) {
|
|
232
232
|
return _async_to_generator(function() {
|
|
233
|
-
var values, positionals, ref, ctx, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, queryName, _positionals, first, params, load, err;
|
|
233
|
+
var values, positionals, ref, ctx, queries, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, queryName, _positionals, first, params, load, err;
|
|
234
234
|
return _ts_generator(this, function(_state) {
|
|
235
235
|
switch(_state.label){
|
|
236
236
|
case 0:
|
|
@@ -253,8 +253,7 @@ function cli(argv, name) {
|
|
|
253
253
|
type: 'string'
|
|
254
254
|
},
|
|
255
255
|
semantic: {
|
|
256
|
-
type: 'boolean'
|
|
257
|
-
default: false
|
|
256
|
+
type: 'boolean'
|
|
258
257
|
},
|
|
259
258
|
list: {
|
|
260
259
|
type: 'boolean',
|
|
@@ -318,16 +317,17 @@ function cli(argv, name) {
|
|
|
318
317
|
case 1:
|
|
319
318
|
_state.trys.push([
|
|
320
319
|
1,
|
|
321
|
-
|
|
320
|
+
8,
|
|
322
321
|
,
|
|
323
|
-
|
|
322
|
+
9
|
|
324
323
|
]);
|
|
325
324
|
if (values.list) {
|
|
325
|
+
queries = ctx.resolveConfig().queries;
|
|
326
326
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
327
327
|
try {
|
|
328
|
-
for(_iterator = Object.keys(
|
|
328
|
+
for(_iterator = Object.keys(queries).sort()[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
329
329
|
queryName = _step.value;
|
|
330
|
-
console.log(queryName);
|
|
330
|
+
console.log(typeof queries[queryName] === 'string' ? queryName : "".concat(queryName, " (find)"));
|
|
331
331
|
}
|
|
332
332
|
} catch (err) {
|
|
333
333
|
_didIteratorError = true;
|
|
@@ -370,32 +370,37 @@ function cli(argv, name) {
|
|
|
370
370
|
_state.sent();
|
|
371
371
|
return [
|
|
372
372
|
3,
|
|
373
|
-
|
|
373
|
+
7
|
|
374
374
|
];
|
|
375
375
|
case 4:
|
|
376
376
|
return [
|
|
377
377
|
4,
|
|
378
378
|
Promise.resolve().then(function() {
|
|
379
|
-
return /*#__PURE__*/ _interop_require_wildcard(require("./
|
|
379
|
+
return /*#__PURE__*/ _interop_require_wildcard(require("./cli/named.js"));
|
|
380
380
|
})
|
|
381
381
|
];
|
|
382
382
|
case 5:
|
|
383
|
-
|
|
384
|
-
|
|
383
|
+
return [
|
|
384
|
+
4,
|
|
385
|
+
_state.sent().default(ctx, first, params)
|
|
386
|
+
];
|
|
385
387
|
case 6:
|
|
388
|
+
_state.sent();
|
|
389
|
+
_state.label = 7;
|
|
390
|
+
case 7:
|
|
386
391
|
return [
|
|
387
392
|
3,
|
|
388
|
-
|
|
393
|
+
9
|
|
389
394
|
];
|
|
390
|
-
case
|
|
395
|
+
case 8:
|
|
391
396
|
err = _state.sent();
|
|
392
397
|
console.error(err.message);
|
|
393
398
|
process.exit(1);
|
|
394
399
|
return [
|
|
395
400
|
3,
|
|
396
|
-
|
|
401
|
+
9
|
|
397
402
|
];
|
|
398
|
-
case
|
|
403
|
+
case 9:
|
|
399
404
|
return [
|
|
400
405
|
2
|
|
401
406
|
];
|
package/dist/cjs/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/sensemaking/src/cli.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { parseArgs } from 'node:util';\nimport { COMMANDS } from './
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/sensemaking/src/cli.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { parseArgs } from 'node:util';\nimport { COMMANDS } from './cli/index.ts';\nimport type { Ctx } from './cli/types.ts';\nimport { loadConfig, SUPPORTED_CONFIG_VERSION } from './config.ts';\n\n// Parsing and dispatch only. Commands live in src/cli/, one file each, lazy-loaded --\n// nothing tree- or dependency-heavy may be imported at the top of this file.\n\n// Works from dist/cjs and dist/esm alike: walk up past the dist type-marker package.json.\nfunction packageVersion(): string {\n const load = createRequire(import.meta.url);\n for (const rel of ['../package.json', '../../package.json', '../../../package.json']) {\n try {\n const pkg = load(rel) as { name?: string; version?: string };\n if (pkg.name === 'sensemaking' && pkg.version) return pkg.version;\n } catch {}\n }\n return 'unknown';\n}\n\nfunction usage(name: string): string {\n return (\n `usage: ${name} <name> [params...] [--format table|json] [--config path]\\n` +\n ` ${name} query \"<sql>\" [params...]\\n` +\n ` ${name} find \"<terms>\" [--where \"<sql>\"] [--k n] [--semantic]\\n` +\n ` ${name} map\\n` +\n ` ${name} peek <path>\\n` +\n ` ${name} --list\\n` +\n ` ${name} init\\n` +\n ` ${name} watch [--force]\\n` +\n ` ${name} status\\n` +\n ` ${name} check\\n` +\n ` ${name} rebuild\\n` +\n ` ${name} --version`\n );\n}\n\n// Thrown errors -> exit 1 with the message verbatim; usage errors exit 2 directly.\nexport default async function cli(argv: string[], name: string): Promise<void> {\n let values: Record<string, string | boolean | undefined>;\n let positionals: string[];\n try {\n ({ values, positionals } = parseArgs({\n args: argv,\n options: {\n format: { type: 'string', default: 'table' },\n config: { type: 'string' },\n where: { type: 'string' },\n k: { type: 'string' },\n semantic: { type: 'boolean' },\n list: { type: 'boolean', default: false },\n force: { type: 'boolean', default: false },\n version: { type: 'boolean', default: false, short: 'v' },\n help: { type: 'boolean', default: false, short: 'h' },\n },\n allowPositionals: true,\n }));\n } catch (err) {\n console.error((err as Error).message);\n console.error(usage(name));\n process.exit(2);\n }\n\n if (values.version) {\n console.log(`v${packageVersion()}`);\n return;\n }\n if (values.help) {\n console.log(usage(name));\n return;\n }\n\n const ctx: Ctx = {\n name,\n rest: positionals.slice(1),\n format: values.format === 'json' ? 'json' : 'table',\n values: values as Ctx['values'],\n resolveConfig() {\n const cfg = loadConfig(values.config as string | undefined);\n if (cfg.migratedFrom !== undefined) {\n console.warn(`${name}: migrated ${cfg.configPath} from config version ${cfg.migratedFrom} to ${SUPPORTED_CONFIG_VERSION}`);\n }\n if (cfg.unknownKeys !== undefined) {\n console.warn(`${name}: ${cfg.configPath} sets ${cfg.unknownKeys.join(', ')}, which this build does not read (no effect); see schema.json for the keys it does`);\n }\n return cfg;\n },\n usageError(message) {\n console.error(message);\n process.exit(2);\n },\n };\n\n try {\n if (values.list) {\n const queries = ctx.resolveConfig().queries;\n for (const queryName of Object.keys(queries).sort()) {\n console.log(typeof queries[queryName] === 'string' ? queryName : `${queryName} (find)`);\n }\n return;\n }\n\n const [first, ...params] = positionals;\n if (!first) {\n console.error(usage(name));\n process.exit(2);\n }\n\n const load = COMMANDS[first];\n if (load) await (await load()).default(ctx);\n else await (await import('./cli/named.ts')).default(ctx, first, params);\n } catch (err) {\n console.error((err as Error).message);\n process.exit(1);\n }\n}\n"],"names":["cli","packageVersion","load","createRequire","rel","pkg","name","version","usage","argv","values","positionals","ctx","queries","queryName","first","params","err","parseArgs","args","options","format","type","default","config","where","k","semantic","list","force","short","help","allowPositionals","console","error","message","process","exit","log","rest","slice","resolveConfig","cfg","loadConfig","migratedFrom","undefined","warn","configPath","SUPPORTED_CONFIG_VERSION","unknownKeys","join","usageError","Object","keys","sort","COMMANDS"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { DatabaseSync } from 'node:sqlite';
|
|
2
|
-
import type {
|
|
2
|
+
import type { FeatureName, ResolvedConfig } from './config.js';
|
|
3
3
|
import type { Row } from './output.js';
|
|
4
4
|
export interface FindOptions {
|
|
5
5
|
k?: number;
|
|
6
6
|
where?: string;
|
|
7
7
|
semantic?: boolean;
|
|
8
8
|
}
|
|
9
|
-
export declare function find(db: DatabaseSync, cfg:
|
|
9
|
+
export declare function find(db: DatabaseSync, cfg: ResolvedConfig, terms: string, opts?: FindOptions): Promise<Row[]>;
|
|
10
10
|
export interface TreeMap {
|
|
11
11
|
docs: {
|
|
12
12
|
count: number;
|
|
@@ -21,7 +21,7 @@ export interface TreeMap {
|
|
|
21
21
|
hubs: Row[];
|
|
22
22
|
recent: Row[];
|
|
23
23
|
}
|
|
24
|
-
export declare function mapTree(db: DatabaseSync, cfg:
|
|
24
|
+
export declare function mapTree(db: DatabaseSync, cfg: ResolvedConfig): TreeMap;
|
|
25
25
|
export interface Peek {
|
|
26
26
|
path: string;
|
|
27
27
|
tokens: number;
|
|
@@ -30,9 +30,10 @@ export interface Peek {
|
|
|
30
30
|
outbound: string[];
|
|
31
31
|
backlinks: string[];
|
|
32
32
|
unresolved: string[];
|
|
33
|
+
sectionsTotal: number;
|
|
33
34
|
outboundTotal: number;
|
|
34
35
|
backlinksTotal: number;
|
|
35
36
|
unresolvedTotal: number;
|
|
36
37
|
off: FeatureName[];
|
|
37
38
|
}
|
|
38
|
-
export declare function peek(db: DatabaseSync, cfg:
|
|
39
|
+
export declare function peek(db: DatabaseSync, cfg: ResolvedConfig, pathArg: string): Peek;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { DatabaseSync } from 'node:sqlite';
|
|
2
|
-
import type {
|
|
2
|
+
import type { FeatureName, ResolvedConfig } from './config.js';
|
|
3
3
|
import type { Row } from './output.js';
|
|
4
4
|
export interface FindOptions {
|
|
5
5
|
k?: number;
|
|
6
6
|
where?: string;
|
|
7
7
|
semantic?: boolean;
|
|
8
8
|
}
|
|
9
|
-
export declare function find(db: DatabaseSync, cfg:
|
|
9
|
+
export declare function find(db: DatabaseSync, cfg: ResolvedConfig, terms: string, opts?: FindOptions): Promise<Row[]>;
|
|
10
10
|
export interface TreeMap {
|
|
11
11
|
docs: {
|
|
12
12
|
count: number;
|
|
@@ -21,7 +21,7 @@ export interface TreeMap {
|
|
|
21
21
|
hubs: Row[];
|
|
22
22
|
recent: Row[];
|
|
23
23
|
}
|
|
24
|
-
export declare function mapTree(db: DatabaseSync, cfg:
|
|
24
|
+
export declare function mapTree(db: DatabaseSync, cfg: ResolvedConfig): TreeMap;
|
|
25
25
|
export interface Peek {
|
|
26
26
|
path: string;
|
|
27
27
|
tokens: number;
|
|
@@ -30,9 +30,10 @@ export interface Peek {
|
|
|
30
30
|
outbound: string[];
|
|
31
31
|
backlinks: string[];
|
|
32
32
|
unresolved: string[];
|
|
33
|
+
sectionsTotal: number;
|
|
33
34
|
outboundTotal: number;
|
|
34
35
|
backlinksTotal: number;
|
|
35
36
|
unresolvedTotal: number;
|
|
36
37
|
off: FeatureName[];
|
|
37
38
|
}
|
|
38
|
-
export declare function peek(db: DatabaseSync, cfg:
|
|
39
|
+
export declare function peek(db: DatabaseSync, cfg: ResolvedConfig, pathArg: string): Peek;
|