@askdkc/kiokuko 0.1.9 → 0.1.11
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.ja.md +8 -0
- package/README.ko.md +8 -0
- package/README.md +11 -0
- package/README.zh-CN.md +8 -0
- package/dist/akinator/service.d.ts.map +1 -1
- package/dist/akinator/service.js +2 -1
- package/dist/akinator/service.js.map +1 -1
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +11 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor.d.ts +5 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +57 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +11 -5
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +37 -10
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/setup.d.ts +1 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +1 -0
- package/dist/commands/setup.js.map +1 -1
- package/dist/context/broker.d.ts.map +1 -1
- package/dist/context/broker.js +7 -3
- package/dist/context/broker.js.map +1 -1
- package/dist/context/delivery.d.ts.map +1 -1
- package/dist/context/delivery.js +12 -8
- package/dist/context/delivery.js.map +1 -1
- package/dist/knowledge/sources.js +1 -1
- package/dist/knowledge/sources.js.map +1 -1
- package/dist/ledger/archive.d.ts.map +1 -1
- package/dist/ledger/archive.js +14 -6
- package/dist/ledger/archive.js.map +1 -1
- package/dist/ledger/maintenance.js +4 -4
- package/dist/ledger/maintenance.js.map +1 -1
- package/dist/ledger/promotion.d.ts.map +1 -1
- package/dist/ledger/promotion.js +6 -4
- package/dist/ledger/promotion.js.map +1 -1
- package/dist/memory/curator.d.ts.map +1 -1
- package/dist/memory/curator.js +6 -5
- package/dist/memory/curator.js.map +1 -1
- package/dist/memory/entries.d.ts.map +1 -1
- package/dist/memory/entries.js +72 -31
- package/dist/memory/entries.js.map +1 -1
- package/dist/memory/hybrid-retrieval.d.ts.map +1 -1
- package/dist/memory/hybrid-retrieval.js +11 -5
- package/dist/memory/hybrid-retrieval.js.map +1 -1
- package/dist/memory/lifecycle.js +6 -6
- package/dist/memory/lifecycle.js.map +1 -1
- package/dist/memory/rebuild-search.d.ts.map +1 -1
- package/dist/memory/rebuild-search.js +26 -7
- package/dist/memory/rebuild-search.js.map +1 -1
- package/dist/memory/retrieval.d.ts.map +1 -1
- package/dist/memory/retrieval.js +9 -7
- package/dist/memory/retrieval.js.map +1 -1
- package/dist/memory/revisions.d.ts +44 -0
- package/dist/memory/revisions.d.ts.map +1 -0
- package/dist/memory/revisions.js +122 -0
- package/dist/memory/revisions.js.map +1 -0
- package/dist/memory/structured-memory.d.ts +2 -0
- package/dist/memory/structured-memory.d.ts.map +1 -1
- package/dist/memory/structured-memory.js +28 -0
- package/dist/memory/structured-memory.js.map +1 -1
- package/dist/setup/client-detection.d.ts +4 -0
- package/dist/setup/client-detection.d.ts.map +1 -0
- package/dist/setup/client-detection.js +66 -0
- package/dist/setup/client-detection.js.map +1 -0
- package/dist/web/server.js +7 -7
- package/dist/web/server.js.map +1 -1
- package/migrations/001_initial.sql +51 -17
- package/migrations/002_fts.sql +13 -57
- package/migrations/004_agent_gateway.sql +4 -2
- package/migrations/005_hybrid_search.sql +16 -61
- package/migrations/007_akinator_reasoning.sql +4 -3
- package/package.json +1 -1
package/migrations/002_fts.sql
CHANGED
|
@@ -6,61 +6,17 @@ CREATE VIRTUAL TABLE entries_fts USING fts5(
|
|
|
6
6
|
tokenize='unicode61 remove_diacritics 2'
|
|
7
7
|
);
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
new.rowid,
|
|
13
|
-
new.title,
|
|
14
|
-
new.body,
|
|
15
|
-
COALESCE(new.summary, ''),
|
|
16
|
-
COALESCE((SELECT group_concat(tag, ' ') FROM tags WHERE entry_id = new.id), '')
|
|
17
|
-
);
|
|
18
|
-
END;
|
|
19
|
-
|
|
20
|
-
CREATE TRIGGER entries_fts_ad AFTER DELETE ON entries BEGIN
|
|
21
|
-
DELETE FROM entries_fts WHERE rowid = old.rowid;
|
|
22
|
-
END;
|
|
23
|
-
|
|
24
|
-
CREATE TRIGGER entries_fts_au AFTER UPDATE ON entries BEGIN
|
|
25
|
-
DELETE FROM entries_fts WHERE rowid = old.rowid;
|
|
26
|
-
INSERT INTO entries_fts(rowid, title, body, summary, tags_text)
|
|
27
|
-
VALUES (
|
|
28
|
-
new.rowid,
|
|
29
|
-
new.title,
|
|
30
|
-
new.body,
|
|
31
|
-
COALESCE(new.summary, ''),
|
|
32
|
-
COALESCE((SELECT group_concat(tag, ' ') FROM tags WHERE entry_id = new.id), '')
|
|
33
|
-
);
|
|
34
|
-
END;
|
|
35
|
-
|
|
36
|
-
CREATE TRIGGER tags_fts_ai AFTER INSERT ON tags BEGIN
|
|
37
|
-
DELETE FROM entries_fts WHERE rowid = (SELECT rowid FROM entries WHERE id = new.entry_id);
|
|
38
|
-
INSERT INTO entries_fts(rowid, title, body, summary, tags_text)
|
|
39
|
-
SELECT entries.rowid, entries.title, entries.body, COALESCE(entries.summary, ''),
|
|
40
|
-
COALESCE((SELECT group_concat(tag, ' ') FROM tags WHERE entry_id = entries.id), '')
|
|
41
|
-
FROM entries WHERE entries.id = new.entry_id;
|
|
42
|
-
END;
|
|
43
|
-
|
|
44
|
-
CREATE TRIGGER tags_fts_ad AFTER DELETE ON tags BEGIN
|
|
45
|
-
DELETE FROM entries_fts WHERE rowid = (SELECT rowid FROM entries WHERE id = old.entry_id);
|
|
46
|
-
INSERT INTO entries_fts(rowid, title, body, summary, tags_text)
|
|
47
|
-
SELECT entries.rowid, entries.title, entries.body, COALESCE(entries.summary, ''),
|
|
48
|
-
COALESCE((SELECT group_concat(tag, ' ') FROM tags WHERE entry_id = entries.id), '')
|
|
49
|
-
FROM entries WHERE entries.id = old.entry_id;
|
|
50
|
-
END;
|
|
51
|
-
|
|
52
|
-
CREATE TRIGGER tags_fts_au AFTER UPDATE OF tag ON tags BEGIN
|
|
53
|
-
DELETE FROM entries_fts WHERE rowid = (SELECT rowid FROM entries WHERE id = old.entry_id);
|
|
54
|
-
INSERT INTO entries_fts(rowid, title, body, summary, tags_text)
|
|
55
|
-
SELECT entries.rowid, entries.title, entries.body, COALESCE(entries.summary, ''),
|
|
56
|
-
COALESCE((SELECT group_concat(tag, ' ') FROM tags WHERE entry_id = entries.id), '')
|
|
57
|
-
FROM entries WHERE entries.id = new.entry_id;
|
|
58
|
-
END;
|
|
59
|
-
|
|
9
|
+
-- FTS is an application-controlled projection of the current revision. There
|
|
10
|
+
-- are deliberately no triggers on entries or tags: historical revisions must
|
|
11
|
+
-- never become searchable and projection refreshes must be explicit.
|
|
60
12
|
INSERT INTO entries_fts(rowid, title, body, summary, tags_text)
|
|
61
|
-
SELECT
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
COALESCE(
|
|
65
|
-
COALESCE((SELECT group_concat(tag, ' ')
|
|
66
|
-
FROM
|
|
13
|
+
SELECT e.rowid,
|
|
14
|
+
r.title,
|
|
15
|
+
r.body,
|
|
16
|
+
COALESCE(r.summary, ''),
|
|
17
|
+
COALESCE((SELECT group_concat(tag, ' ')
|
|
18
|
+
FROM entry_revision_tags
|
|
19
|
+
WHERE entry_id = e.id AND revision = e.current_revision), '')
|
|
20
|
+
FROM entries AS e
|
|
21
|
+
JOIN entry_revisions AS r
|
|
22
|
+
ON r.entry_id = e.id AND r.revision = e.current_revision;
|
|
@@ -165,12 +165,14 @@ CREATE INDEX idx_context_deliveries_run_created_at
|
|
|
165
165
|
|
|
166
166
|
CREATE TABLE context_delivery_entries (
|
|
167
167
|
delivery_id TEXT NOT NULL REFERENCES context_deliveries(delivery_id) ON DELETE CASCADE,
|
|
168
|
-
entry_id TEXT NOT NULL
|
|
168
|
+
entry_id TEXT NOT NULL,
|
|
169
169
|
entry_revision INTEGER NOT NULL CHECK (entry_revision > 0),
|
|
170
170
|
rank INTEGER NOT NULL CHECK (rank > 0),
|
|
171
171
|
score_components_json TEXT NOT NULL,
|
|
172
172
|
selection_reason_json TEXT NOT NULL,
|
|
173
|
-
PRIMARY KEY (delivery_id, entry_id)
|
|
173
|
+
PRIMARY KEY (delivery_id, entry_id),
|
|
174
|
+
FOREIGN KEY (entry_id, entry_revision)
|
|
175
|
+
REFERENCES entry_revisions(entry_id, revision)
|
|
174
176
|
);
|
|
175
177
|
|
|
176
178
|
CREATE INDEX idx_context_delivery_entries_entry
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
--
|
|
2
|
-
--
|
|
3
|
-
-- lexical search path.
|
|
1
|
+
-- Current-revision hybrid-search projections. Historical revisions are never
|
|
2
|
+
-- indexed; application code refreshes these projections after each mutation.
|
|
4
3
|
CREATE VIRTUAL TABLE entries_trigram USING fts5(
|
|
5
4
|
title,
|
|
6
5
|
body,
|
|
@@ -22,64 +21,20 @@ CREATE TABLE entry_search_signals (
|
|
|
22
21
|
CREATE INDEX idx_entry_search_signals_lookup
|
|
23
22
|
ON entry_search_signals(signal_type, normalized_value);
|
|
24
23
|
|
|
25
|
-
CREATE TRIGGER entries_trigram_ai AFTER INSERT ON entries BEGIN
|
|
26
|
-
INSERT INTO entries_trigram(rowid, title, body, summary, tags_text)
|
|
27
|
-
VALUES (
|
|
28
|
-
new.rowid,
|
|
29
|
-
new.title,
|
|
30
|
-
new.body,
|
|
31
|
-
COALESCE(new.summary, ''),
|
|
32
|
-
COALESCE((SELECT group_concat(tag, ' ') FROM tags WHERE entry_id = new.id), '')
|
|
33
|
-
);
|
|
34
|
-
END;
|
|
35
|
-
|
|
36
|
-
CREATE TRIGGER entries_trigram_ad AFTER DELETE ON entries BEGIN
|
|
37
|
-
DELETE FROM entries_trigram WHERE rowid = old.rowid;
|
|
38
|
-
END;
|
|
39
|
-
|
|
40
|
-
CREATE TRIGGER entries_trigram_au AFTER UPDATE ON entries BEGIN
|
|
41
|
-
DELETE FROM entries_trigram WHERE rowid = old.rowid;
|
|
42
|
-
INSERT INTO entries_trigram(rowid, title, body, summary, tags_text)
|
|
43
|
-
VALUES (
|
|
44
|
-
new.rowid,
|
|
45
|
-
new.title,
|
|
46
|
-
new.body,
|
|
47
|
-
COALESCE(new.summary, ''),
|
|
48
|
-
COALESCE((SELECT group_concat(tag, ' ') FROM tags WHERE entry_id = new.id), '')
|
|
49
|
-
);
|
|
50
|
-
END;
|
|
51
|
-
|
|
52
|
-
CREATE TRIGGER tags_trigram_ai AFTER INSERT ON tags BEGIN
|
|
53
|
-
DELETE FROM entries_trigram WHERE rowid = (SELECT rowid FROM entries WHERE id = new.entry_id);
|
|
54
|
-
INSERT INTO entries_trigram(rowid, title, body, summary, tags_text)
|
|
55
|
-
SELECT entries.rowid, entries.title, entries.body, COALESCE(entries.summary, ''),
|
|
56
|
-
COALESCE((SELECT group_concat(tag, ' ') FROM tags WHERE entry_id = entries.id), '')
|
|
57
|
-
FROM entries WHERE entries.id = new.entry_id;
|
|
58
|
-
END;
|
|
59
|
-
|
|
60
|
-
CREATE TRIGGER tags_trigram_ad AFTER DELETE ON tags BEGIN
|
|
61
|
-
DELETE FROM entries_trigram WHERE rowid = (SELECT rowid FROM entries WHERE id = old.entry_id);
|
|
62
|
-
INSERT INTO entries_trigram(rowid, title, body, summary, tags_text)
|
|
63
|
-
SELECT entries.rowid, entries.title, entries.body, COALESCE(entries.summary, ''),
|
|
64
|
-
COALESCE((SELECT group_concat(tag, ' ') FROM tags WHERE entry_id = entries.id), '')
|
|
65
|
-
FROM entries WHERE entries.id = old.entry_id;
|
|
66
|
-
END;
|
|
67
|
-
|
|
68
|
-
CREATE TRIGGER tags_trigram_au AFTER UPDATE OF tag ON tags BEGIN
|
|
69
|
-
DELETE FROM entries_trigram WHERE rowid = (SELECT rowid FROM entries WHERE id = old.entry_id);
|
|
70
|
-
INSERT INTO entries_trigram(rowid, title, body, summary, tags_text)
|
|
71
|
-
SELECT entries.rowid, entries.title, entries.body, COALESCE(entries.summary, ''),
|
|
72
|
-
COALESCE((SELECT group_concat(tag, ' ') FROM tags WHERE entry_id = entries.id), '')
|
|
73
|
-
FROM entries WHERE entries.id = new.entry_id;
|
|
74
|
-
END;
|
|
75
|
-
|
|
76
24
|
INSERT INTO entries_trigram(rowid, title, body, summary, tags_text)
|
|
77
|
-
SELECT
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
COALESCE(
|
|
81
|
-
COALESCE((SELECT group_concat(tag, ' ')
|
|
82
|
-
FROM
|
|
25
|
+
SELECT e.rowid,
|
|
26
|
+
r.title,
|
|
27
|
+
r.body,
|
|
28
|
+
COALESCE(r.summary, ''),
|
|
29
|
+
COALESCE((SELECT group_concat(tag, ' ')
|
|
30
|
+
FROM entry_revision_tags
|
|
31
|
+
WHERE entry_id = e.id AND revision = e.current_revision), '')
|
|
32
|
+
FROM entries AS e
|
|
33
|
+
JOIN entry_revisions AS r
|
|
34
|
+
ON r.entry_id = e.id AND r.revision = e.current_revision;
|
|
83
35
|
|
|
84
36
|
INSERT INTO entry_search_signals(entry_id, signal_type, normalized_value)
|
|
85
|
-
SELECT entry_id, 'tag', lower(trim(tag))
|
|
37
|
+
SELECT t.entry_id, 'tag', lower(trim(t.tag))
|
|
38
|
+
FROM entry_revision_tags AS t
|
|
39
|
+
JOIN entries AS e ON e.id = t.entry_id AND e.current_revision = t.revision
|
|
40
|
+
WHERE length(trim(t.tag)) > 0;
|
|
@@ -50,9 +50,10 @@ BEGIN
|
|
|
50
50
|
AND a.workspace = NEW.workspace
|
|
51
51
|
) OR NOT EXISTS (
|
|
52
52
|
SELECT 1
|
|
53
|
-
|
|
53
|
+
FROM entries AS e
|
|
54
|
+
JOIN entry_revisions AS er
|
|
55
|
+
ON er.entry_id = e.id AND er.revision = NEW.entry_revision
|
|
54
56
|
WHERE e.id = NEW.entry_id
|
|
55
|
-
AND
|
|
56
|
-
AND e.workspace IN (NEW.workspace, 'global')
|
|
57
|
+
AND er.workspace IN (NEW.workspace, 'global')
|
|
57
58
|
);
|
|
58
59
|
END;
|