watashi-db 0.0.5
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/LICENSE +21 -0
- package/README.md +239 -0
- package/cowork-plugin/.claude-plugin/plugin.json +12 -0
- package/cowork-plugin/.mcp.json +8 -0
- package/cowork-plugin/agents/memory-keeper.md +48 -0
- package/cowork-plugin/skills/reflect/SKILL.md +58 -0
- package/cowork-plugin/skills/remember/SKILL.md +54 -0
- package/cowork-plugin/skills/session-start/SKILL.md +38 -0
- package/dist/constants.d.ts +9 -0
- package/dist/constants.js +43 -0
- package/dist/constants.js.map +1 -0
- package/dist/database/connection.d.ts +16 -0
- package/dist/database/connection.js +42 -0
- package/dist/database/connection.js.map +1 -0
- package/dist/database/queries.d.ts +227 -0
- package/dist/database/queries.js +730 -0
- package/dist/database/queries.js.map +1 -0
- package/dist/database/schema.d.ts +6 -0
- package/dist/database/schema.js +335 -0
- package/dist/database/schema.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +57 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/bootstrap-prompts.d.ts +6 -0
- package/dist/prompts/bootstrap-prompts.js +69 -0
- package/dist/prompts/bootstrap-prompts.js.map +1 -0
- package/dist/provenance.d.ts +29 -0
- package/dist/provenance.js +33 -0
- package/dist/provenance.js.map +1 -0
- package/dist/resources/context-resources.d.ts +6 -0
- package/dist/resources/context-resources.js +102 -0
- package/dist/resources/context-resources.js.map +1 -0
- package/dist/tools/claim-tools.d.ts +6 -0
- package/dist/tools/claim-tools.js +176 -0
- package/dist/tools/claim-tools.js.map +1 -0
- package/dist/tools/decision-tools.d.ts +6 -0
- package/dist/tools/decision-tools.js +117 -0
- package/dist/tools/decision-tools.js.map +1 -0
- package/dist/tools/episode-tools.d.ts +7 -0
- package/dist/tools/episode-tools.js +128 -0
- package/dist/tools/episode-tools.js.map +1 -0
- package/dist/tools/export-tools.d.ts +6 -0
- package/dist/tools/export-tools.js +104 -0
- package/dist/tools/export-tools.js.map +1 -0
- package/dist/tools/profile-tools.d.ts +6 -0
- package/dist/tools/profile-tools.js +108 -0
- package/dist/tools/profile-tools.js.map +1 -0
- package/dist/tools/query-tools.d.ts +6 -0
- package/dist/tools/query-tools.js +96 -0
- package/dist/tools/query-tools.js.map +1 -0
- package/dist/types.d.ts +444 -0
- package/dist/types.js +191 -0
- package/dist/types.js.map +1 -0
- package/package.json +47 -0
- package/watashi-db-cowork-plugin.zip +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/database/queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
// スキーマバージョン管理
|
|
2
|
+
// 2026-02-11 修正: V2追加(L2 Core v0対応)
|
|
3
|
+
// 元の実装: SCHEMA_VERSION = 1(初期SPO三つ組 + FTS5 + decisions + claim_history)
|
|
4
|
+
// 2026-02-11 修正: V3追加(Provenance自動付与対応)
|
|
5
|
+
// 元の実装: SCHEMA_VERSION = 2
|
|
6
|
+
// 2026-02-13 修正: V4追加(Episodeモデル対応)
|
|
7
|
+
// 元の実装: SCHEMA_VERSION = 3
|
|
8
|
+
const SCHEMA_VERSION = 4;
|
|
9
|
+
/**
|
|
10
|
+
* データベーススキーマの初期化とマイグレーション
|
|
11
|
+
*/
|
|
12
|
+
export function initializeSchema(db) {
|
|
13
|
+
// スキーマバージョン管理テーブル
|
|
14
|
+
db.exec(`
|
|
15
|
+
CREATE TABLE IF NOT EXISTS schema_version (
|
|
16
|
+
version INTEGER PRIMARY KEY,
|
|
17
|
+
applied_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
18
|
+
);
|
|
19
|
+
`);
|
|
20
|
+
const currentVersion = db.prepare("SELECT MAX(version) as version FROM schema_version").get();
|
|
21
|
+
const version = currentVersion?.version ?? 0;
|
|
22
|
+
if (version < 1) {
|
|
23
|
+
applyV1(db);
|
|
24
|
+
}
|
|
25
|
+
if (version < 2) {
|
|
26
|
+
applyV2(db);
|
|
27
|
+
}
|
|
28
|
+
if (version < 3) {
|
|
29
|
+
applyV3(db);
|
|
30
|
+
}
|
|
31
|
+
if (version < 4) {
|
|
32
|
+
applyV4(db);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* V1スキーマ: 初期テーブル構成
|
|
37
|
+
*/
|
|
38
|
+
function applyV1(db) {
|
|
39
|
+
db.exec(`
|
|
40
|
+
-- claims: 知識断片(SPO三つ組)
|
|
41
|
+
CREATE TABLE IF NOT EXISTS claims (
|
|
42
|
+
id TEXT PRIMARY KEY,
|
|
43
|
+
subject TEXT NOT NULL,
|
|
44
|
+
predicate TEXT NOT NULL,
|
|
45
|
+
object TEXT NOT NULL,
|
|
46
|
+
category TEXT NOT NULL CHECK(category IN ('preference','identity','skill','value','workflow','knowledge','custom')),
|
|
47
|
+
scope TEXT NOT NULL DEFAULT 'global',
|
|
48
|
+
confidence REAL NOT NULL DEFAULT 0.8 CHECK(confidence >= 0.0 AND confidence <= 1.0),
|
|
49
|
+
evidence TEXT,
|
|
50
|
+
source_tool TEXT,
|
|
51
|
+
source_session TEXT,
|
|
52
|
+
status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('active','retracted','superseded')),
|
|
53
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
54
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
-- claims用インデックス
|
|
58
|
+
CREATE INDEX IF NOT EXISTS idx_claims_category ON claims(category);
|
|
59
|
+
CREATE INDEX IF NOT EXISTS idx_claims_scope ON claims(scope);
|
|
60
|
+
CREATE INDEX IF NOT EXISTS idx_claims_status ON claims(status);
|
|
61
|
+
CREATE INDEX IF NOT EXISTS idx_claims_subject ON claims(subject);
|
|
62
|
+
CREATE INDEX IF NOT EXISTS idx_claims_updated ON claims(updated_at);
|
|
63
|
+
|
|
64
|
+
-- claims用FTS5全文検索(日本語対応のためtokenize=unicode61)
|
|
65
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS claims_fts USING fts5(
|
|
66
|
+
subject, predicate, object, evidence,
|
|
67
|
+
content='claims',
|
|
68
|
+
content_rowid='rowid',
|
|
69
|
+
tokenize='unicode61'
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
-- FTS同期トリガー: INSERT
|
|
73
|
+
CREATE TRIGGER IF NOT EXISTS claims_fts_insert AFTER INSERT ON claims BEGIN
|
|
74
|
+
INSERT INTO claims_fts(rowid, subject, predicate, object, evidence)
|
|
75
|
+
VALUES (new.rowid, new.subject, new.predicate, new.object, new.evidence);
|
|
76
|
+
END;
|
|
77
|
+
|
|
78
|
+
-- FTS同期トリガー: UPDATE
|
|
79
|
+
CREATE TRIGGER IF NOT EXISTS claims_fts_update AFTER UPDATE ON claims BEGIN
|
|
80
|
+
INSERT INTO claims_fts(claims_fts, rowid, subject, predicate, object, evidence)
|
|
81
|
+
VALUES ('delete', old.rowid, old.subject, old.predicate, old.object, old.evidence);
|
|
82
|
+
INSERT INTO claims_fts(rowid, subject, predicate, object, evidence)
|
|
83
|
+
VALUES (new.rowid, new.subject, new.predicate, new.object, new.evidence);
|
|
84
|
+
END;
|
|
85
|
+
|
|
86
|
+
-- FTS同期トリガー: DELETE
|
|
87
|
+
CREATE TRIGGER IF NOT EXISTS claims_fts_delete AFTER DELETE ON claims BEGIN
|
|
88
|
+
INSERT INTO claims_fts(claims_fts, rowid, subject, predicate, object, evidence)
|
|
89
|
+
VALUES ('delete', old.rowid, old.subject, old.predicate, old.object, old.evidence);
|
|
90
|
+
END;
|
|
91
|
+
|
|
92
|
+
-- decisions: 意思決定ログ
|
|
93
|
+
CREATE TABLE IF NOT EXISTS decisions (
|
|
94
|
+
id TEXT PRIMARY KEY,
|
|
95
|
+
title TEXT NOT NULL,
|
|
96
|
+
description TEXT NOT NULL,
|
|
97
|
+
reasoning TEXT NOT NULL,
|
|
98
|
+
alternatives TEXT NOT NULL DEFAULT '[]',
|
|
99
|
+
related_claim_ids TEXT NOT NULL DEFAULT '[]',
|
|
100
|
+
status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('active','reversed','obsolete')),
|
|
101
|
+
source_tool TEXT,
|
|
102
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
103
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
CREATE INDEX IF NOT EXISTS idx_decisions_status ON decisions(status);
|
|
107
|
+
CREATE INDEX IF NOT EXISTS idx_decisions_created ON decisions(created_at);
|
|
108
|
+
|
|
109
|
+
-- claim_history: Claim変更履歴
|
|
110
|
+
CREATE TABLE IF NOT EXISTS claim_history (
|
|
111
|
+
id TEXT PRIMARY KEY,
|
|
112
|
+
claim_id TEXT NOT NULL REFERENCES claims(id),
|
|
113
|
+
field_name TEXT NOT NULL,
|
|
114
|
+
old_value TEXT,
|
|
115
|
+
new_value TEXT,
|
|
116
|
+
reason TEXT NOT NULL,
|
|
117
|
+
changed_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
CREATE INDEX IF NOT EXISTS idx_claim_history_claim_id ON claim_history(claim_id);
|
|
121
|
+
CREATE INDEX IF NOT EXISTS idx_claim_history_changed ON claim_history(changed_at);
|
|
122
|
+
|
|
123
|
+
-- スキーマバージョン記録
|
|
124
|
+
INSERT INTO schema_version (version) VALUES (1);
|
|
125
|
+
`);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* V2スキーマ: L2 Core v0対応
|
|
129
|
+
* - claims に falsifier カラム追加
|
|
130
|
+
* - claim_relations テーブル追加(推論グラフ)
|
|
131
|
+
* - claim_evidence テーブル追加(構造化根拠参照)
|
|
132
|
+
* - claim_checks テーブル追加(検証ログ)
|
|
133
|
+
* 仕様: docs/specs/l2-core-v0.md
|
|
134
|
+
*/
|
|
135
|
+
function applyV2(db) {
|
|
136
|
+
db.exec(`
|
|
137
|
+
-- claims に反証条件カラム追加
|
|
138
|
+
ALTER TABLE claims ADD COLUMN falsifier TEXT;
|
|
139
|
+
|
|
140
|
+
-- claim_relations: Claim間の推論関係(正規化)
|
|
141
|
+
CREATE TABLE IF NOT EXISTS claim_relations (
|
|
142
|
+
id TEXT PRIMARY KEY,
|
|
143
|
+
source_claim_id TEXT NOT NULL,
|
|
144
|
+
target_claim_id TEXT NOT NULL,
|
|
145
|
+
relation_type TEXT NOT NULL CHECK(relation_type IN (
|
|
146
|
+
'supports','contradicts','derives','induces','analogizes','supersedes','depends_on'
|
|
147
|
+
)),
|
|
148
|
+
confidence REAL DEFAULT 0.8 CHECK(confidence >= 0.0 AND confidence <= 1.0),
|
|
149
|
+
reasoning TEXT,
|
|
150
|
+
source_tool TEXT,
|
|
151
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
CREATE INDEX IF NOT EXISTS idx_claim_relations_source ON claim_relations(source_claim_id);
|
|
155
|
+
CREATE INDEX IF NOT EXISTS idx_claim_relations_target ON claim_relations(target_claim_id);
|
|
156
|
+
CREATE INDEX IF NOT EXISTS idx_claim_relations_type ON claim_relations(relation_type);
|
|
157
|
+
|
|
158
|
+
-- claim_evidence: 構造化された根拠参照
|
|
159
|
+
CREATE TABLE IF NOT EXISTS claim_evidence (
|
|
160
|
+
id TEXT PRIMARY KEY,
|
|
161
|
+
claim_id TEXT NOT NULL REFERENCES claims(id),
|
|
162
|
+
evidence_type TEXT NOT NULL CHECK(evidence_type IN (
|
|
163
|
+
'url','file','claim','decision','session_log','user_statement','external'
|
|
164
|
+
)),
|
|
165
|
+
uri TEXT,
|
|
166
|
+
span TEXT,
|
|
167
|
+
content_hash TEXT,
|
|
168
|
+
description TEXT,
|
|
169
|
+
verified_at TEXT,
|
|
170
|
+
source_tool TEXT,
|
|
171
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
172
|
+
);
|
|
173
|
+
|
|
174
|
+
CREATE INDEX IF NOT EXISTS idx_claim_evidence_claim ON claim_evidence(claim_id);
|
|
175
|
+
CREATE INDEX IF NOT EXISTS idx_claim_evidence_type ON claim_evidence(evidence_type);
|
|
176
|
+
|
|
177
|
+
-- claim_checks: 検証ログ
|
|
178
|
+
CREATE TABLE IF NOT EXISTS claim_checks (
|
|
179
|
+
id TEXT PRIMARY KEY,
|
|
180
|
+
claim_id TEXT NOT NULL REFERENCES claims(id),
|
|
181
|
+
check_type TEXT NOT NULL CHECK(check_type IN (
|
|
182
|
+
'fact_check','consistency','counter_example','source_verify','user_confirm','auto_expire','falsifier_eval'
|
|
183
|
+
)),
|
|
184
|
+
result TEXT NOT NULL CHECK(result IN ('passed','failed','inconclusive','skipped')),
|
|
185
|
+
details TEXT,
|
|
186
|
+
source_tool TEXT,
|
|
187
|
+
checked_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
188
|
+
);
|
|
189
|
+
|
|
190
|
+
CREATE INDEX IF NOT EXISTS idx_claim_checks_claim ON claim_checks(claim_id);
|
|
191
|
+
CREATE INDEX IF NOT EXISTS idx_claim_checks_type ON claim_checks(check_type);
|
|
192
|
+
CREATE INDEX IF NOT EXISTS idx_claim_checks_result ON claim_checks(result);
|
|
193
|
+
|
|
194
|
+
-- スキーマバージョン記録
|
|
195
|
+
INSERT INTO schema_version (version) VALUES (2);
|
|
196
|
+
`);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* V3スキーマ: Provenance自動付与対応
|
|
200
|
+
* - claims に client_name, client_version カラム追加
|
|
201
|
+
* - decisions に client_name, client_version カラム追加
|
|
202
|
+
* Codexレビュー指摘: source_tool/source_sessionが自己申告値で真正性が担保されない問題への対応
|
|
203
|
+
* サーバー側でMCP接続元クライアント情報を自動付与する仕組み
|
|
204
|
+
*/
|
|
205
|
+
function applyV3(db) {
|
|
206
|
+
db.exec(`
|
|
207
|
+
-- claims にProvenance(来歴)カラム追加
|
|
208
|
+
ALTER TABLE claims ADD COLUMN client_name TEXT;
|
|
209
|
+
ALTER TABLE claims ADD COLUMN client_version TEXT;
|
|
210
|
+
|
|
211
|
+
-- decisions にProvenance(来歴)カラム追加
|
|
212
|
+
ALTER TABLE decisions ADD COLUMN client_name TEXT;
|
|
213
|
+
ALTER TABLE decisions ADD COLUMN client_version TEXT;
|
|
214
|
+
|
|
215
|
+
-- audit_log: 全操作の監査ログ(誰が・何を・なぜ)
|
|
216
|
+
CREATE TABLE IF NOT EXISTS audit_log (
|
|
217
|
+
id TEXT PRIMARY KEY,
|
|
218
|
+
operation TEXT NOT NULL CHECK(operation IN (
|
|
219
|
+
'create','update','retract','supersede','reverse','obsolete'
|
|
220
|
+
)),
|
|
221
|
+
entity_type TEXT NOT NULL CHECK(entity_type IN ('claim','decision')),
|
|
222
|
+
entity_id TEXT NOT NULL,
|
|
223
|
+
summary TEXT NOT NULL,
|
|
224
|
+
details TEXT,
|
|
225
|
+
client_name TEXT,
|
|
226
|
+
client_version TEXT,
|
|
227
|
+
session_id TEXT,
|
|
228
|
+
source_tool TEXT,
|
|
229
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
230
|
+
);
|
|
231
|
+
|
|
232
|
+
CREATE INDEX IF NOT EXISTS idx_audit_log_entity ON audit_log(entity_type, entity_id);
|
|
233
|
+
CREATE INDEX IF NOT EXISTS idx_audit_log_operation ON audit_log(operation);
|
|
234
|
+
CREATE INDEX IF NOT EXISTS idx_audit_log_created ON audit_log(created_at);
|
|
235
|
+
CREATE INDEX IF NOT EXISTS idx_audit_log_session ON audit_log(session_id);
|
|
236
|
+
|
|
237
|
+
-- スキーマバージョン記録
|
|
238
|
+
INSERT INTO schema_version (version) VALUES (3);
|
|
239
|
+
`);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* V4スキーマ: Episodeモデル追加
|
|
243
|
+
* ユーザーの思考パターン・意思決定フレームワークを記録する上位構造。
|
|
244
|
+
* 原子的事実(Claims)ではなく、文脈→問題→欲求→決定→結果→原則 の流れを格納。
|
|
245
|
+
* ChatGPT提案のEpisode構造をベースに、~20件の実データ収集でカラム妥当性を検証する。
|
|
246
|
+
*/
|
|
247
|
+
function applyV4(db) {
|
|
248
|
+
db.exec(`
|
|
249
|
+
-- audit_log のentity_type CHECK制約を拡張('episode'を追加)
|
|
250
|
+
-- SQLiteはALTER TABLE DROP CONSTRAINTをサポートしないため、テーブル再作成で対応
|
|
251
|
+
CREATE TABLE IF NOT EXISTS audit_log_new (
|
|
252
|
+
id TEXT PRIMARY KEY,
|
|
253
|
+
operation TEXT NOT NULL CHECK(operation IN (
|
|
254
|
+
'create','update','retract','supersede','reverse','obsolete','archive'
|
|
255
|
+
)),
|
|
256
|
+
entity_type TEXT NOT NULL CHECK(entity_type IN ('claim','decision','episode')),
|
|
257
|
+
entity_id TEXT NOT NULL,
|
|
258
|
+
summary TEXT NOT NULL,
|
|
259
|
+
details TEXT,
|
|
260
|
+
client_name TEXT,
|
|
261
|
+
client_version TEXT,
|
|
262
|
+
session_id TEXT,
|
|
263
|
+
source_tool TEXT,
|
|
264
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
265
|
+
);
|
|
266
|
+
|
|
267
|
+
INSERT INTO audit_log_new SELECT * FROM audit_log;
|
|
268
|
+
DROP TABLE audit_log;
|
|
269
|
+
ALTER TABLE audit_log_new RENAME TO audit_log;
|
|
270
|
+
|
|
271
|
+
CREATE INDEX IF NOT EXISTS idx_audit_log_entity ON audit_log(entity_type, entity_id);
|
|
272
|
+
CREATE INDEX IF NOT EXISTS idx_audit_log_operation ON audit_log(operation);
|
|
273
|
+
CREATE INDEX IF NOT EXISTS idx_audit_log_created ON audit_log(created_at);
|
|
274
|
+
CREATE INDEX IF NOT EXISTS idx_audit_log_session ON audit_log(session_id);
|
|
275
|
+
|
|
276
|
+
-- episodes: 思考パターン・意思決定エピソード
|
|
277
|
+
CREATE TABLE IF NOT EXISTS episodes (
|
|
278
|
+
id TEXT PRIMARY KEY,
|
|
279
|
+
title TEXT NOT NULL,
|
|
280
|
+
context TEXT,
|
|
281
|
+
trigger TEXT,
|
|
282
|
+
problems TEXT NOT NULL DEFAULT '[]',
|
|
283
|
+
desires TEXT NOT NULL DEFAULT '[]',
|
|
284
|
+
decisions TEXT NOT NULL DEFAULT '[]',
|
|
285
|
+
outcomes TEXT NOT NULL DEFAULT '[]',
|
|
286
|
+
principles TEXT NOT NULL DEFAULT '[]',
|
|
287
|
+
evidence_refs TEXT NOT NULL DEFAULT '[]',
|
|
288
|
+
tags TEXT NOT NULL DEFAULT '[]',
|
|
289
|
+
status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('active','archived')),
|
|
290
|
+
client_name TEXT,
|
|
291
|
+
client_version TEXT,
|
|
292
|
+
source_tool TEXT,
|
|
293
|
+
session_id TEXT,
|
|
294
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
295
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
296
|
+
);
|
|
297
|
+
|
|
298
|
+
-- episodes用インデックス
|
|
299
|
+
CREATE INDEX IF NOT EXISTS idx_episodes_status ON episodes(status);
|
|
300
|
+
CREATE INDEX IF NOT EXISTS idx_episodes_created ON episodes(created_at);
|
|
301
|
+
CREATE INDEX IF NOT EXISTS idx_episodes_updated ON episodes(updated_at);
|
|
302
|
+
|
|
303
|
+
-- episodes用FTS5全文検索(title, context, trigger, principlesをインデックス)
|
|
304
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS episodes_fts USING fts5(
|
|
305
|
+
title, context, trigger, principles,
|
|
306
|
+
content='episodes',
|
|
307
|
+
content_rowid='rowid',
|
|
308
|
+
tokenize='unicode61'
|
|
309
|
+
);
|
|
310
|
+
|
|
311
|
+
-- FTS同期トリガー: INSERT
|
|
312
|
+
CREATE TRIGGER IF NOT EXISTS episodes_fts_insert AFTER INSERT ON episodes BEGIN
|
|
313
|
+
INSERT INTO episodes_fts(rowid, title, context, trigger, principles)
|
|
314
|
+
VALUES (new.rowid, new.title, new.context, new.trigger, new.principles);
|
|
315
|
+
END;
|
|
316
|
+
|
|
317
|
+
-- FTS同期トリガー: UPDATE
|
|
318
|
+
CREATE TRIGGER IF NOT EXISTS episodes_fts_update AFTER UPDATE ON episodes BEGIN
|
|
319
|
+
INSERT INTO episodes_fts(episodes_fts, rowid, title, context, trigger, principles)
|
|
320
|
+
VALUES ('delete', old.rowid, old.title, old.context, old.trigger, old.principles);
|
|
321
|
+
INSERT INTO episodes_fts(rowid, title, context, trigger, principles)
|
|
322
|
+
VALUES (new.rowid, new.title, new.context, new.trigger, new.principles);
|
|
323
|
+
END;
|
|
324
|
+
|
|
325
|
+
-- FTS同期トリガー: DELETE
|
|
326
|
+
CREATE TRIGGER IF NOT EXISTS episodes_fts_delete AFTER DELETE ON episodes BEGIN
|
|
327
|
+
INSERT INTO episodes_fts(episodes_fts, rowid, title, context, trigger, principles)
|
|
328
|
+
VALUES ('delete', old.rowid, old.title, old.context, old.trigger, old.principles);
|
|
329
|
+
END;
|
|
330
|
+
|
|
331
|
+
-- スキーマバージョン記録
|
|
332
|
+
INSERT INTO schema_version (version) VALUES (4);
|
|
333
|
+
`);
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"AAEA,cAAc;AACd,oCAAoC;AACpC,wEAAwE;AACxE,wCAAwC;AACxC,2BAA2B;AAC3B,oCAAoC;AACpC,2BAA2B;AAC3B,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAqB;IACpD,kBAAkB;IAClB,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAC/B,oDAAoD,CACrD,CAAC,GAAG,EAA4C,CAAC;IAElD,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO,IAAI,CAAC,CAAC;IAE7C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,EAAqB;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFP,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,OAAO,CAAC,EAAqB;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DP,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,EAAqB;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCP,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CAAC,EAAqB;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFP,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
+
import { SERVER_NAME, SERVER_VERSION } from "./constants.js";
|
|
5
|
+
import { closeDatabase } from "./database/connection.js";
|
|
6
|
+
import { registerClaimTools } from "./tools/claim-tools.js";
|
|
7
|
+
import { registerQueryTools } from "./tools/query-tools.js";
|
|
8
|
+
import { registerDecisionTools } from "./tools/decision-tools.js";
|
|
9
|
+
import { registerProfileTools } from "./tools/profile-tools.js";
|
|
10
|
+
import { registerExportTools } from "./tools/export-tools.js";
|
|
11
|
+
import { registerEpisodeTools } from "./tools/episode-tools.js";
|
|
12
|
+
import { registerContextResources } from "./resources/context-resources.js";
|
|
13
|
+
import { registerBootstrapPrompts } from "./prompts/bootstrap-prompts.js";
|
|
14
|
+
import { setClientInfo } from "./provenance.js";
|
|
15
|
+
// MCPサーバーインスタンス作成
|
|
16
|
+
const server = new McpServer({
|
|
17
|
+
name: SERVER_NAME,
|
|
18
|
+
version: SERVER_VERSION,
|
|
19
|
+
});
|
|
20
|
+
// ツール登録
|
|
21
|
+
registerClaimTools(server);
|
|
22
|
+
registerQueryTools(server);
|
|
23
|
+
registerDecisionTools(server);
|
|
24
|
+
registerProfileTools(server);
|
|
25
|
+
registerExportTools(server);
|
|
26
|
+
registerEpisodeTools(server);
|
|
27
|
+
// リソース登録
|
|
28
|
+
registerContextResources(server);
|
|
29
|
+
// プロンプト登録
|
|
30
|
+
registerBootstrapPrompts(server);
|
|
31
|
+
// サーバー起動
|
|
32
|
+
async function main() {
|
|
33
|
+
// 2026-02-11 追加: 接続クライアント情報をProvenance管理に記録
|
|
34
|
+
// 2026-02-11 修正: connect()直後→oninitialized コールバックに移動
|
|
35
|
+
// 元の実装: connect()直後にgetClientVersion()を呼んでいたが、
|
|
36
|
+
// initializeハンドシェイク前のためundefinedが返っていた
|
|
37
|
+
server.server.oninitialized = () => {
|
|
38
|
+
const clientInfo = server.server.getClientVersion();
|
|
39
|
+
setClientInfo(clientInfo);
|
|
40
|
+
};
|
|
41
|
+
const transport = new StdioServerTransport();
|
|
42
|
+
await server.connect(transport);
|
|
43
|
+
// プロセス終了時のクリーンアップ
|
|
44
|
+
process.on("SIGINT", () => {
|
|
45
|
+
closeDatabase();
|
|
46
|
+
process.exit(0);
|
|
47
|
+
});
|
|
48
|
+
process.on("SIGTERM", () => {
|
|
49
|
+
closeDatabase();
|
|
50
|
+
process.exit(0);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
main().catch((error) => {
|
|
54
|
+
console.error("わたしDB サーバー起動エラー:", error);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,kBAAkB;AAClB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,cAAc;CACxB,CAAC,CAAC;AAEH,QAAQ;AACR,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC9B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC5B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAE7B,SAAS;AACT,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAEjC,UAAU;AACV,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAEjC,SAAS;AACT,KAAK,UAAU,IAAI;IACjB,4CAA4C;IAC5C,qDAAqD;IACrD,+CAA+C;IAC/C,yCAAyC;IACzC,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE;QACjC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACpD,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,kBAAkB;IAClB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,aAAa,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,aAAa,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ブートストラッププロンプト(初回セットアップガイド)を登録
|
|
3
|
+
*/
|
|
4
|
+
export function registerBootstrapPrompts(server) {
|
|
5
|
+
// 初回セットアップガイド
|
|
6
|
+
server.prompt("bootstrap", "わたしDBの初回セットアップガイド。ユーザーの基本情報を対話的に収集する。", async () => {
|
|
7
|
+
return {
|
|
8
|
+
messages: [
|
|
9
|
+
{
|
|
10
|
+
role: "user",
|
|
11
|
+
content: {
|
|
12
|
+
type: "text",
|
|
13
|
+
text: `あなたは「わたしDB」のセットアップアシスタントです。
|
|
14
|
+
|
|
15
|
+
わたしDBは、ユーザーの個人コンテキスト(好み、スキル、価値観、ワークフローなど)を
|
|
16
|
+
構造化して保存するデータベースです。どのAIツールからでも同じ「わたし」の情報にアクセスできます。
|
|
17
|
+
|
|
18
|
+
以下のステップでユーザーの基本情報を収集してください:
|
|
19
|
+
|
|
20
|
+
1. **基本情報の確認**
|
|
21
|
+
- 名前(呼ばれたい名前)
|
|
22
|
+
- 主な使用言語(プログラミング言語、自然言語)
|
|
23
|
+
- 主な開発環境・ツール
|
|
24
|
+
|
|
25
|
+
2. **好み・スタイルの確認**
|
|
26
|
+
- コーディングスタイルの好み(コメント言語、命名規則など)
|
|
27
|
+
- コミュニケーションの好み(敬語、カジュアル、技術レベルなど)
|
|
28
|
+
- AIへの期待(自律的に進める vs 確認しながら進める)
|
|
29
|
+
|
|
30
|
+
3. **スキル・経験の確認**
|
|
31
|
+
- 得意な技術分野
|
|
32
|
+
- 現在学習中の分野
|
|
33
|
+
- 経験年数の目安
|
|
34
|
+
|
|
35
|
+
収集した情報は \`watashi_store_claim\` ツールを使ってSPO三つ組形式で保存してください。
|
|
36
|
+
例:
|
|
37
|
+
- subject: "user", predicate: "is_called", object: "太郎"
|
|
38
|
+
- subject: "user", predicate: "prefers", object: "日本語コメント"
|
|
39
|
+
- subject: "user", predicate: "uses", object: "TypeScript"
|
|
40
|
+
|
|
41
|
+
最後にプロファイルサマリーを表示して確認を求めてください。`,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
// セッション開始プロンプト
|
|
48
|
+
server.prompt("session-start", "セッション開始時にユーザーコンテキストを読み込む。", async () => {
|
|
49
|
+
return {
|
|
50
|
+
messages: [
|
|
51
|
+
{
|
|
52
|
+
role: "user",
|
|
53
|
+
content: {
|
|
54
|
+
type: "text",
|
|
55
|
+
text: `セッション開始です。まず \`watashi_get_profile_summary\` を呼び出して
|
|
56
|
+
ユーザーのプロファイル情報を取得してください。
|
|
57
|
+
取得した情報に基づいて、ユーザーの好みやスタイルに合わせた応答を行ってください。
|
|
58
|
+
|
|
59
|
+
特に以下を確認してください:
|
|
60
|
+
- コミュニケーション言語と敬語レベル
|
|
61
|
+
- コーディングスタイルの好み
|
|
62
|
+
- 現在取り組んでいるプロジェクトのコンテキスト`,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=bootstrap-prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-prompts.js","sourceRoot":"","sources":["../../src/prompts/bootstrap-prompts.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,cAAc;IACd,MAAM,CAAC,MAAM,CACX,WAAW,EACX,uCAAuC,EACvC,KAAK,IAAI,EAAE;QACT,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA4BU;qBACjB;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,eAAe;IACf,MAAM,CAAC,MAAM,CACX,eAAe,EACf,2BAA2B,EAC3B,KAAK,IAAI,EAAE;QACT,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;;;;;yBAOK;qBACZ;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provenance(来歴)管理
|
|
3
|
+
* 接続元AIの情報をサーバー側で自動付与するための仕組み。
|
|
4
|
+
* Codexレビュー指摘: source_tool/source_sessionが自己申告値で真正性が担保されない問題への対応。
|
|
5
|
+
*/
|
|
6
|
+
interface ClientInfo {
|
|
7
|
+
name: string;
|
|
8
|
+
version: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ProvenanceData {
|
|
11
|
+
client_name: string | null;
|
|
12
|
+
client_version: string | null;
|
|
13
|
+
session_id: string | null;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* クライアント情報を記録(oninitialized フックで呼び出し)
|
|
17
|
+
*/
|
|
18
|
+
export declare function setClientInfo(info: ClientInfo | undefined): void;
|
|
19
|
+
/**
|
|
20
|
+
* 現在の接続クライアント情報を取得
|
|
21
|
+
*/
|
|
22
|
+
export declare function getClientInfo(): ClientInfo | null;
|
|
23
|
+
/**
|
|
24
|
+
* ツールハンドラ用: サーバー付与のProvenanceデータを生成
|
|
25
|
+
* extra.sessionId と接続クライアント情報を組み合わせる
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildProvenance(sessionId?: string): ProvenanceData;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=provenance.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provenance(来歴)管理
|
|
3
|
+
* 接続元AIの情報をサーバー側で自動付与するための仕組み。
|
|
4
|
+
* Codexレビュー指摘: source_tool/source_sessionが自己申告値で真正性が担保されない問題への対応。
|
|
5
|
+
*/
|
|
6
|
+
// サーバー起動時に1度だけ設定されるクライアント情報
|
|
7
|
+
let connectedClient = null;
|
|
8
|
+
/**
|
|
9
|
+
* クライアント情報を記録(oninitialized フックで呼び出し)
|
|
10
|
+
*/
|
|
11
|
+
export function setClientInfo(info) {
|
|
12
|
+
if (info) {
|
|
13
|
+
connectedClient = { name: info.name, version: info.version };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 現在の接続クライアント情報を取得
|
|
18
|
+
*/
|
|
19
|
+
export function getClientInfo() {
|
|
20
|
+
return connectedClient;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* ツールハンドラ用: サーバー付与のProvenanceデータを生成
|
|
24
|
+
* extra.sessionId と接続クライアント情報を組み合わせる
|
|
25
|
+
*/
|
|
26
|
+
export function buildProvenance(sessionId) {
|
|
27
|
+
return {
|
|
28
|
+
client_name: connectedClient?.name ?? null,
|
|
29
|
+
client_version: connectedClient?.version ?? null,
|
|
30
|
+
session_id: sessionId ?? null,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=provenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,4BAA4B;AAC5B,IAAI,eAAe,GAAsB,IAAI,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAA4B;IACxD,IAAI,IAAI,EAAE,CAAC;QACT,eAAe,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,SAAkB;IAChD,OAAO;QACL,WAAW,EAAE,eAAe,EAAE,IAAI,IAAI,IAAI;QAC1C,cAAc,EAAE,eAAe,EAAE,OAAO,IAAI,IAAI;QAChD,UAAU,EAAE,SAAS,IAAI,IAAI;KAC9B,CAAC;AACJ,CAAC"}
|