sxng-cli 1.1.8 β 1.2.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 +74 -35
- package/dist/commands/extract.d.ts +0 -1
- package/dist/commands/extract.d.ts.map +1 -1
- package/dist/commands/extract.js +30 -26
- package/dist/commands/extract.js.map +1 -1
- package/dist/commands/graph-add.d.ts.map +1 -1
- package/dist/commands/graph-add.js +20 -3
- package/dist/commands/graph-add.js.map +1 -1
- package/dist/commands/graph-obfuscate.js +2 -2
- package/dist/commands/graph-obfuscate.js.map +1 -1
- package/dist/commands/query-graph.d.ts.map +1 -1
- package/dist/commands/query-graph.js +3 -3
- package/dist/commands/query-graph.js.map +1 -1
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +2 -3
- package/dist/commands/session.js.map +1 -1
- package/dist/deep/quality-assess.d.ts +6 -6
- package/dist/deep/quality-assess.d.ts.map +1 -1
- package/dist/deep/quality-assess.js +13 -18
- package/dist/deep/quality-assess.js.map +1 -1
- package/dist/deep/recovery-analysis.d.ts.map +1 -1
- package/dist/deep/recovery-analysis.js +4 -6
- package/dist/deep/recovery-analysis.js.map +1 -1
- package/dist/deep/session.d.ts +26 -3
- package/dist/deep/session.d.ts.map +1 -1
- package/dist/deep/session.js +93 -12
- package/dist/deep/session.js.map +1 -1
- package/dist/runCli.d.ts.map +1 -1
- package/dist/runCli.js +72 -72
- package/dist/runCli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -26,15 +26,14 @@
|
|
|
26
26
|
|
|
27
27
|
- π **Multi-Engine Search** β Search across Google, Bing, DuckDuckGo, GitHub, StackOverflow, and 30+ engines simultaneously
|
|
28
28
|
- π **Dynamic Discovery** β Auto-fetches available engines and categories from your SearXNG server
|
|
29
|
-
- π **Multiple Formats** β Markdown (LLM-optimized)
|
|
30
|
-
- π§ **Deep Search** β Multi-round iterative research with session accumulation and
|
|
31
|
-
- π **Content Extraction** β Extract full article content from
|
|
32
|
-
- ποΈ **Session Management** β Accumulate search results across
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
- π **Proxy Support** β HTTP/HTTPS proxy configuration
|
|
29
|
+
- π **Multiple Formats** β Markdown (LLM-optimized) or JSON output
|
|
30
|
+
- π§ **Deep Search** β Multi-round iterative research with session accumulation, quality assessment, and recovery strategies
|
|
31
|
+
- π **Content Extraction** β Extract full article content from URLs or session results, with Obscura (JS rendering) and Jina Reader fallbacks
|
|
32
|
+
- ποΈ **Session Management** β Accumulate search results across rounds with deduplication; pending β approve β graph injection workflow
|
|
33
|
+
- β **Quality Assessment** β 4 independent indicators: content depth, entity richness, source diversity, novelty
|
|
34
|
+
- πΈοΈ **Knowledge Graph** β Structural (queryβresultβdomain) + semantic (entity relations) graph layers
|
|
35
|
+
- π **Query Redundancy Check** β Jaccard similarity + SimHash to avoid repeated queries
|
|
36
|
+
- π‘ **Agent-First Design** β Outputs structured analysis data (quality, suggestions, recovery) for LLM Agent decision-making
|
|
38
37
|
|
|
39
38
|
## π¦ Installation
|
|
40
39
|
|
|
@@ -106,15 +105,28 @@ obscura --version
|
|
|
106
105
|
| `sxng <query>` | Perform a web search |
|
|
107
106
|
| `sxng --queries "q1,q2"` | Multi-query search with RRF fusion |
|
|
108
107
|
| `sxng extract --urls <urls>` | Extract content from web pages |
|
|
109
|
-
| `sxng extract --
|
|
108
|
+
| `sxng extract --session <name>` | Extract session results and merge content |
|
|
109
|
+
| `sxng extract --obscura` | JS-rendering fallback for SPA pages |
|
|
110
|
+
| `sxng extract --jina` | Jina Reader fallback for complex pages |
|
|
110
111
|
| `sxng --session new` | Create deep search session |
|
|
112
|
+
| `sxng --session <name> --quality` | Assess result quality, list pending results |
|
|
113
|
+
| `sxng --session <name> --quality --approve "0,1"` | Approve pending results by index |
|
|
114
|
+
| `sxng suggest-queries <session>` | Get query suggestion data for Agent |
|
|
115
|
+
| `sxng strategy-info <session>` | Check current search stage |
|
|
116
|
+
| `sxng recovery-analysis <session>` | Get recovery strategies for poor quality |
|
|
117
|
+
| `sxng session-report <session>` | Full session analysis report |
|
|
111
118
|
| `sxng session-list` | List all sessions |
|
|
112
|
-
| `sxng session-delete <
|
|
113
|
-
| `sxng graph-
|
|
114
|
-
| `sxng
|
|
119
|
+
| `sxng session-delete <name>` | Delete a session |
|
|
120
|
+
| `sxng graph-preprocess <session>` | TF-IDF + co-occurrence analysis |
|
|
121
|
+
| `sxng graph-add <session>` | Add entities/edges to knowledge graph |
|
|
122
|
+
| `sxng graph-search <session>` | Discover entities by keyword |
|
|
123
|
+
| `sxng graph-explore <session>` | View entity relations |
|
|
124
|
+
| `sxng graph-drill <session>` | Follow specific relations |
|
|
125
|
+
| `sxng graph-traverse <session>` | Traverse reasoning paths |
|
|
126
|
+
| `sxng graph-obfuscate <session>` | List obfuscation candidates |
|
|
115
127
|
| `sxng --health` | Check SearXNG server health |
|
|
116
|
-
| `sxng --engines-list` | List available search engines
|
|
117
|
-
| `sxng --categories-list` | List available categories
|
|
128
|
+
| `sxng --engines-list` | List available search engines |
|
|
129
|
+
| `sxng --categories-list` | List available categories |
|
|
118
130
|
|
|
119
131
|
### Search Options
|
|
120
132
|
|
|
@@ -126,11 +138,16 @@ obscura --version
|
|
|
126
138
|
| `-p, --page <n>` | Page number for pagination |
|
|
127
139
|
| `--lang <code>` | Language code (e.g., `en`, `zh`, `ja`) |
|
|
128
140
|
| `--time <range>` | Time range: `day`, `week`, `month`, `year`, `all` |
|
|
129
|
-
| `-f, --format <fmt>` | Output format: `md
|
|
141
|
+
| `-f, --format <fmt>` | Output format: `md` (default) or `json` |
|
|
130
142
|
| `--queries <list>` | Multi-query with RRF fusion (e.g., `q1,q2,q3`) |
|
|
131
143
|
| `--session <session-name>` | Session directory or `new` for deep search |
|
|
132
144
|
| `--owner <session-name>` | Session owner identifier |
|
|
133
145
|
| `--desc <text>` | Session description |
|
|
146
|
+
| `--redundancy <action>` | Query redundancy check: `warn`, `adjust`, `skip` |
|
|
147
|
+
| `--quality` | Assess result quality (requires --session) |
|
|
148
|
+
| `--approve <indices>` | Approve pending results by comma-separated indices |
|
|
149
|
+
| `--threshold-override <json>` | Override quality thresholds (JSON) |
|
|
150
|
+
| `--merge <file>` | Merge new results with previous search JSON |
|
|
134
151
|
|
|
135
152
|
### Examples
|
|
136
153
|
|
|
@@ -197,19 +214,29 @@ Create `sxng.config.json`:
|
|
|
197
214
|
|
|
198
215
|
## π§ Deep Search
|
|
199
216
|
|
|
200
|
-
Deep search enables multi-round iterative research with session accumulation
|
|
217
|
+
Deep search enables multi-round iterative research with session accumulation, quality assessment, agent-controlled graph injection, and recovery strategies.
|
|
218
|
+
|
|
219
|
+
### Workflow
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
Search β Extract β Preprocess β Build Graph β Quality Assess β Approve β (Loop or Explore)
|
|
223
|
+
```
|
|
201
224
|
|
|
202
225
|
### Quick Example
|
|
203
226
|
|
|
204
227
|
```bash
|
|
205
|
-
# Create a session and search
|
|
206
|
-
sxng --session new --owner "
|
|
228
|
+
# 1. Create a session and search
|
|
229
|
+
sxng --session new --owner "agent-1" --desc "Rust async study" "rust async ecosystem"
|
|
230
|
+
# Outputs session path, e.g. .sxng/sessions/ds_1712345678_abcdef
|
|
207
231
|
|
|
208
|
-
# Extract content from results
|
|
209
|
-
sxng extract --session
|
|
232
|
+
# 2. Extract content from results
|
|
233
|
+
sxng extract --session ds_1712345678_abcdef
|
|
210
234
|
|
|
211
|
-
#
|
|
212
|
-
sxng graph-
|
|
235
|
+
# 3. Preprocess for entity discovery (TF-IDF + co-occurrence)
|
|
236
|
+
sxng graph-preprocess ds_1712345678_abcdef
|
|
237
|
+
|
|
238
|
+
# 4. Add entities to knowledge graph
|
|
239
|
+
sxng graph-add ds_1712345678_abcdef --data '{
|
|
213
240
|
"entities": [
|
|
214
241
|
{"label": "tokio", "entityType": "runtime", "score": 0.95},
|
|
215
242
|
{"label": "async-std", "entityType": "runtime", "score": 0.85}
|
|
@@ -219,11 +246,14 @@ sxng graph-add <session-name> --data '{
|
|
|
219
246
|
]
|
|
220
247
|
}'
|
|
221
248
|
|
|
222
|
-
#
|
|
223
|
-
sxng
|
|
249
|
+
# 5. Assess quality β results are pending until approved
|
|
250
|
+
sxng --session ds_1712345678_abcdef --quality
|
|
251
|
+
|
|
252
|
+
# 6. Approve pending results by index (injects into graph)
|
|
253
|
+
sxng --session ds_1712345678_abcdef --quality --approve "0,1,2,3"
|
|
224
254
|
|
|
225
|
-
# Continue research
|
|
226
|
-
sxng --session
|
|
255
|
+
# 7. Continue research with redundancy check
|
|
256
|
+
sxng --session ds_1712345678_abcdef --queries "tokio vs async-std,benchmark 2026" --redundancy warn
|
|
227
257
|
```
|
|
228
258
|
|
|
229
259
|
### Session Management
|
|
@@ -237,19 +267,28 @@ sxng --session <session-name> --queries "tokio vs async-std,benchmark 2024"
|
|
|
237
267
|
| `sxng session-delete --older <hours>` | Delete old sessions |
|
|
238
268
|
|
|
239
269
|
**Session Path Resolution:**
|
|
240
|
-
- Pure name (e.g., `my-session`) β
|
|
270
|
+
- Pure name (e.g., `my-session`) β `.sxng/sessions/my-session`
|
|
241
271
|
- Full path (e.g., `/custom/path/session`) β used as-is
|
|
242
|
-
- `new` β auto-generate unique name under
|
|
272
|
+
- `new` β auto-generate unique name under `.sxng/sessions/`
|
|
243
273
|
|
|
244
274
|
### Knowledge Graph
|
|
245
275
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
-
|
|
249
|
-
|
|
276
|
+
Two layers:
|
|
277
|
+
|
|
278
|
+
**Structural** (auto-built):
|
|
279
|
+
| Prefix | Type | Example |
|
|
280
|
+
|--------|------|---------|
|
|
281
|
+
| `q:` | Query node | `q:rust_async` |
|
|
282
|
+
| `r:` | Result node | `r:https://example.com/page` |
|
|
283
|
+
| `d:` | Domain node | `d:github_com` |
|
|
284
|
+
|
|
285
|
+
**Semantic** (via `graph-add`):
|
|
286
|
+
| Prefix | Type | Example |
|
|
287
|
+
|--------|------|---------|
|
|
288
|
+
| `e:` | Entity node | `e:tokio` |
|
|
289
|
+
| `p:` | Path node | `p:chain_001` |
|
|
250
290
|
|
|
251
|
-
|
|
252
|
-
- `e:` β Entity nodes with type and score
|
|
291
|
+
Graph navigation commands: `graph-search` (discover entities), `graph-explore` (view relations), `graph-drill` (follow specific relations), `graph-traverse` (traverse reasoning paths).
|
|
253
292
|
|
|
254
293
|
## π Links
|
|
255
294
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/commands/extract.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAoB,MAAM,sBAAsB,CAAC;AAK1E,MAAM,WAAW,cAAc;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/commands/extract.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAoB,MAAM,sBAAsB,CAAC;AAK1E,MAAM,WAAW,cAAc;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD,wBAAsB,UAAU,CAC5B,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,cAAc,GACxB,OAAO,CAAC,MAAM,CAAC,CAyGjB"}
|
package/dist/commands/extract.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Extract subcommand - content extraction from URLs or search results
|
|
3
3
|
*/
|
|
4
4
|
import { createSuccessEnvelope, createErrorEnvelope } from '../protocol.js';
|
|
5
|
-
import { readFileSync } from 'fs';
|
|
6
5
|
import { loadSessionResults, mergeExtractedContent, resolveSessionPath } from '../deep/session.js';
|
|
6
|
+
import { SimHash } from '../deep/simhash.js';
|
|
7
7
|
export async function runExtract(extractor, options) {
|
|
8
8
|
let urls = [];
|
|
9
9
|
// Resolve session path if provided
|
|
@@ -23,41 +23,45 @@ export async function runExtract(extractor, options) {
|
|
|
23
23
|
}
|
|
24
24
|
urls = results.map(r => r.url).filter(u => typeof u === 'string' && u.length > 0);
|
|
25
25
|
}
|
|
26
|
-
else if (options.fromJson) {
|
|
27
|
-
try {
|
|
28
|
-
const raw = readFileSync(options.fromJson, 'utf-8');
|
|
29
|
-
const parsed = JSON.parse(raw);
|
|
30
|
-
// Handle envelope format
|
|
31
|
-
let data = parsed;
|
|
32
|
-
if (parsed.status === 'ok' && parsed.data) {
|
|
33
|
-
data = parsed.data;
|
|
34
|
-
}
|
|
35
|
-
// Extract URLs from results array
|
|
36
|
-
const results = data.results || [];
|
|
37
|
-
urls = results
|
|
38
|
-
.map((r) => r.url)
|
|
39
|
-
.filter((u) => typeof u === 'string' && u.length > 0);
|
|
40
|
-
}
|
|
41
|
-
catch (error) {
|
|
42
|
-
const envelope = createErrorEnvelope('FILE_READ_FAILED', `Failed to read or parse file: ${options.fromJson}`, { hint: 'Ensure the file exists and contains valid JSON with a results array' });
|
|
43
|
-
console.log(JSON.stringify(envelope, null, 2));
|
|
44
|
-
return 1;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
26
|
else {
|
|
48
|
-
const envelope = createErrorEnvelope('MISSING_INPUT', 'No URLs or input file provided for extraction', { hint: 'Use: sxng extract --urls "url1,url2" or sxng extract --
|
|
27
|
+
const envelope = createErrorEnvelope('MISSING_INPUT', 'No URLs or input file provided for extraction', { hint: 'Use: sxng extract --urls "url1,url2" or sxng extract --session <session>' });
|
|
49
28
|
console.log(JSON.stringify(envelope, null, 2));
|
|
50
29
|
return 1;
|
|
51
30
|
}
|
|
52
31
|
if (urls.length === 0) {
|
|
53
|
-
const envelope = createErrorEnvelope('NO_URLS', 'No URLs found to extract', { hint: 'Provide URLs directly or ensure the
|
|
32
|
+
const envelope = createErrorEnvelope('NO_URLS', 'No URLs found to extract', { hint: 'Provide URLs directly or ensure the session contains results with URLs' });
|
|
54
33
|
console.log(JSON.stringify(envelope, null, 2));
|
|
55
34
|
return 1;
|
|
56
35
|
}
|
|
57
36
|
try {
|
|
58
37
|
const contents = await extractor.extractBatch(urls);
|
|
59
|
-
|
|
60
|
-
const
|
|
38
|
+
// Deduplicate extracted content by first 500 chars using SimHash
|
|
39
|
+
const simhash = new SimHash();
|
|
40
|
+
const seenHashes = [];
|
|
41
|
+
const extracted = [];
|
|
42
|
+
const failed = [];
|
|
43
|
+
for (const c of contents) {
|
|
44
|
+
if (c.error || c.content.length <= 100) {
|
|
45
|
+
failed.push(c.url);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
const prefix = c.content.slice(0, 500);
|
|
49
|
+
const h = simhash.hash(prefix);
|
|
50
|
+
let isDuplicate = false;
|
|
51
|
+
for (const existing of seenHashes) {
|
|
52
|
+
if (simhash.similarity(h, existing) >= 0.85) {
|
|
53
|
+
isDuplicate = true;
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (!isDuplicate) {
|
|
58
|
+
extracted.push(c);
|
|
59
|
+
seenHashes.push(h);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
failed.push(c.url);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
61
65
|
// Merge extracted content into session if --session provided
|
|
62
66
|
let sessionMerge = null;
|
|
63
67
|
if (options.session) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/commands/extract.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/commands/extract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-add.d.ts","sourceRoot":"","sources":["../../src/commands/graph-add.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"graph-add.d.ts","sourceRoot":"","sources":["../../src/commands/graph-add.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4BH,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CAChB;AA2BD,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA+K3E"}
|
|
@@ -7,17 +7,18 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { readFileSync, writeFileSync, existsSync, statSync } from 'fs';
|
|
9
9
|
import { join } from 'path';
|
|
10
|
-
import { homedir } from 'os';
|
|
11
10
|
import { deserializeGraph, serializeGraph, graphStats, entityId, resultId } from '../deep/graph.js';
|
|
12
11
|
import { DirectedGraph } from 'graphology';
|
|
13
12
|
import { createSuccessEnvelope, createErrorEnvelope } from '../protocol.js';
|
|
13
|
+
import { getDefaultSessionRoot } from './session.js';
|
|
14
|
+
import { appendSessionResults, resolveSessionPath } from '../deep/session.js';
|
|
14
15
|
/** Resolve graph file path β if directory (session), use graph.json inside it.
|
|
15
|
-
* Pure name (no separators) is resolved to
|
|
16
|
+
* Pure name (no separators) is resolved to the default session root.
|
|
16
17
|
*/
|
|
17
18
|
function resolveGraphFile(path) {
|
|
18
19
|
// Pure name without path separators: resolve to default sessions dir
|
|
19
20
|
if (!path.includes('/') && !path.includes('\\')) {
|
|
20
|
-
path = join(
|
|
21
|
+
path = join(getDefaultSessionRoot(), path);
|
|
21
22
|
}
|
|
22
23
|
try {
|
|
23
24
|
if (statSync(path).isDirectory()) {
|
|
@@ -152,10 +153,26 @@ export async function runGraphAdd(options) {
|
|
|
152
153
|
console.log(JSON.stringify(envelope, null, 2));
|
|
153
154
|
return 1;
|
|
154
155
|
}
|
|
156
|
+
// Also write external results to results.json if this is a session directory
|
|
157
|
+
let sessionResultsAdded = 0;
|
|
158
|
+
if (parsed.results && parsed.results.length > 0) {
|
|
159
|
+
const sessionDir = resolveSessionPath(options.graphFile);
|
|
160
|
+
if (sessionDir) {
|
|
161
|
+
const externalResults = parsed.results.map(r => ({
|
|
162
|
+
url: r.url,
|
|
163
|
+
title: r.title,
|
|
164
|
+
source: r.source || 'external',
|
|
165
|
+
rank: r.rank,
|
|
166
|
+
}));
|
|
167
|
+
const result = appendSessionResults(sessionDir, externalResults);
|
|
168
|
+
sessionResultsAdded = result.added;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
155
171
|
const envelope = createSuccessEnvelope({
|
|
156
172
|
entitiesAdded,
|
|
157
173
|
resultsAdded,
|
|
158
174
|
edgesAdded,
|
|
175
|
+
sessionResultsAdded,
|
|
159
176
|
skippedEdges,
|
|
160
177
|
stats,
|
|
161
178
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-add.js","sourceRoot":"","sources":["../../src/commands/graph-add.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"graph-add.js","sourceRoot":"","sources":["../../src/commands/graph-add.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { readFileSync, writeFileSync, existsSync, statSync } from 'fs';
|
|
10
10
|
import { join } from 'path';
|
|
11
|
-
import { homedir } from 'os';
|
|
12
11
|
import { deserializeGraph, serializeGraph, graphStats } from '../deep/graph.js';
|
|
13
12
|
import { runGraphObfuscate } from '../deep/graph-obfuscate.js';
|
|
14
13
|
import { createSuccessEnvelope, createErrorEnvelope } from '../protocol.js';
|
|
14
|
+
import { getDefaultSessionRoot } from './session.js';
|
|
15
15
|
function resolveGraphFile(path) {
|
|
16
16
|
if (!path.includes('/') && !path.includes('\\')) {
|
|
17
|
-
path = join(
|
|
17
|
+
path = join(getDefaultSessionRoot(), path);
|
|
18
18
|
}
|
|
19
19
|
try {
|
|
20
20
|
if (statSync(path).isDirectory()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-obfuscate.js","sourceRoot":"","sources":["../../src/commands/graph-obfuscate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"graph-obfuscate.js","sourceRoot":"","sources":["../../src/commands/graph-obfuscate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-graph.d.ts","sourceRoot":"","sources":["../../src/commands/query-graph.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"query-graph.d.ts","sourceRoot":"","sources":["../../src/commands/query-graph.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAe,gBAAgB,EAAkB,MAAM,2BAA2B,CAAC;AAsC1F,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA+M/E"}
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { readFileSync, statSync } from 'fs';
|
|
5
5
|
import { join } from 'path';
|
|
6
|
-
import { homedir } from 'os';
|
|
7
6
|
import { deserializeGraph, bfsSubgraph, serializeGraph, graphStats } from '../deep/graph.js';
|
|
8
7
|
import { createSuccessEnvelope, createErrorEnvelope } from '../protocol.js';
|
|
9
8
|
import { sampleGraph } from '../deep/graph-sampling.js';
|
|
9
|
+
import { getDefaultSessionRoot } from './session.js';
|
|
10
10
|
/** Resolve graph file path β if directory (session), use graph.json inside it.
|
|
11
|
-
* Pure name (no separators) is resolved to
|
|
11
|
+
* Pure name (no separators) is resolved to the default session root.
|
|
12
12
|
*/
|
|
13
13
|
function resolveGraphFile(path) {
|
|
14
14
|
// Pure name without path separators: resolve to default sessions dir
|
|
15
15
|
if (!path.includes('/') && !path.includes('\\')) {
|
|
16
|
-
path = join(
|
|
16
|
+
path = join(getDefaultSessionRoot(), path);
|
|
17
17
|
}
|
|
18
18
|
try {
|
|
19
19
|
if (statSync(path).isDirectory()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-graph.js","sourceRoot":"","sources":["../../src/commands/query-graph.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAc,QAAQ,EAAE,MAAM,IAAI,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"query-graph.js","sourceRoot":"","sources":["../../src/commands/query-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qCAAqC;AACrC,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,6BAA6B;AAC7B,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAQtE;AAED,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC,CAqDD;AAED,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBtE;AAED,8DAA8D;AAC9D,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyD9G"}
|
package/dist/commands/session.js
CHANGED
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
* Session management subcommands - list, delete
|
|
3
3
|
*/
|
|
4
4
|
import { readFileSync, readdirSync, rmSync, statSync } from 'fs';
|
|
5
|
-
import { join } from 'path';
|
|
5
|
+
import { join, resolve } from 'path';
|
|
6
6
|
import { createSuccessEnvelope } from '../protocol.js';
|
|
7
|
-
import { homedir } from 'os';
|
|
8
7
|
/** Default session root directory */
|
|
9
8
|
export function getDefaultSessionRoot() {
|
|
10
|
-
return
|
|
9
|
+
return resolve('.sxng', 'sessions');
|
|
11
10
|
}
|
|
12
11
|
/** Load session meta.json */
|
|
13
12
|
export function loadSessionMeta(sessionDir) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* - acceptable: β€2 indicators fail
|
|
10
10
|
* - poor: β₯3 indicators fail
|
|
11
11
|
*
|
|
12
|
-
* Novelty uses SimHash similarity < 0.
|
|
12
|
+
* Novelty uses SimHash similarity < 0.75 as "not similar" threshold
|
|
13
13
|
* (paired with dedup threshold of 0.85).
|
|
14
14
|
*/
|
|
15
15
|
import { DirectedGraph } from 'graphology';
|
|
@@ -21,7 +21,6 @@ export interface IndicatorResult {
|
|
|
21
21
|
pass: boolean;
|
|
22
22
|
}
|
|
23
23
|
export interface QualityBreakdown {
|
|
24
|
-
resultCount: IndicatorResult;
|
|
25
24
|
contentDepth: IndicatorResult;
|
|
26
25
|
entityRichness: IndicatorResult;
|
|
27
26
|
sourceDiversity: IndicatorResult;
|
|
@@ -33,13 +32,14 @@ export interface QualityScore {
|
|
|
33
32
|
failedIndicators: string[];
|
|
34
33
|
}
|
|
35
34
|
export interface QualityThresholds {
|
|
36
|
-
resultCount: number;
|
|
37
35
|
contentDepth: number;
|
|
38
36
|
entityRichness: number;
|
|
39
37
|
sourceDiversity: number;
|
|
40
38
|
novelty: number;
|
|
41
39
|
}
|
|
42
|
-
/** Assess the quality of
|
|
43
|
-
* All indicators use independent thresholds β no weighted sum.
|
|
44
|
-
|
|
40
|
+
/** Assess the quality of results against session context.
|
|
41
|
+
* All indicators use independent thresholds β no weighted sum.
|
|
42
|
+
* Note: resultCount is intentionally excluded β Agent decides how many results to keep.
|
|
43
|
+
*/
|
|
44
|
+
export declare function assessResultQuality(results: SessionResult[], sessionResults: SessionResult[], graph: DirectedGraph<GraphNodeAttrs, GraphEdgeAttrs>, thresholds?: Partial<QualityThresholds>): QualityScore;
|
|
45
45
|
//# sourceMappingURL=quality-assess.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality-assess.d.ts","sourceRoot":"","sources":["../../src/deep/quality-assess.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5D,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC7B,
|
|
1
|
+
{"version":3,"file":"quality-assess.d.ts","sourceRoot":"","sources":["../../src/deep/quality-assess.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5D,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC7B,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;IACxC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACnB;AAiGD;;;GAGG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,aAAa,EAAE,EACxB,cAAc,EAAE,aAAa,EAAE,EAC/B,KAAK,EAAE,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC,EACpD,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACxC,YAAY,CAwBd"}
|