watashi-db 0.0.20 → 0.0.21

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.
@@ -1,18 +1,18 @@
1
- {
2
- "name": "watashi-db",
3
- "version": "0.0.20",
4
- "description": "わたしDB - パーソナルコンテキストデータベース。ユーザーの好み・スキル・価値観・意思決定をセッション横断で記憶・活用します。",
5
- "author": { "name": "watashi-db" },
6
- "repository": "https://github.com/bareforge/watashi-db",
7
- "license": "BUSL-1.1",
8
- "keywords": ["memory", "personalization", "context", "mcp"],
9
- "mcpServers": {
10
- "watashi-db": {
11
- "command": "npx",
12
- "args": ["-y", "watashi-db@latest"]
13
- }
14
- },
15
- "skills": "./skills/",
16
- "agents": "./agents/",
17
- "hooks": "./hooks/hooks.json"
18
- }
1
+ {
2
+ "name": "watashi-db",
3
+ "version": "0.0.21",
4
+ "description": "わたしDB - パーソナルコンテキストデータベース。ユーザーの好み・スキル・価値観・意思決定をセッション横断で記憶・活用します。",
5
+ "author": { "name": "watashi-db" },
6
+ "repository": "https://github.com/bareforge/watashi-db",
7
+ "license": "BUSL-1.1",
8
+ "keywords": ["memory", "personalization", "context", "mcp"],
9
+ "mcpServers": {
10
+ "watashi-db": {
11
+ "command": "npx",
12
+ "args": ["-y", "watashi-db@latest"]
13
+ }
14
+ },
15
+ "skills": "./skills/",
16
+ "agents": "./agents/",
17
+ "hooks": "./hooks/hooks.json"
18
+ }
package/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.0.21] - 2026-06-08
11
+
12
+ ### Added
13
+ - **`lint.custom_terms`(ユーザー定義の秘匿文字列ブロック)** — config の `lint` に `custom_terms: string[]` を追加。書き込み内容に、列挙した固定文字列(取引先名・案件コード・アカウント名など、正規表現で表せない固有名詞)が含まれていたら、`secret_detection` の mode に関わらず常に書き込みを拒否する。既存 lint 機構の 3 つ目の検出器として `applyLint` に統合(`lintSecrets` / `lintMalformed` に並ぶ `lintCustomTerms`)。狙いはマルチデバイス同期で秘匿情報が他デバイスへ漏れるのを防ぐこと。config.json はローカル専用(同期されず GitHub にも載らない)なので秘匿語の置き場所として安全。検出語そのものはエラー応答に出さず(再漏洩防止)、該当フィールド名のみ返す。既存挙動は無変更・後方互換(未設定時は `[]`)で、全書き込みツールは `applyLint(params, getLintMode())` のまま無変更(custom_terms は内部で config から取得)。`docs/config-guide.md`(英日)の lint セクションを「3 つの検出器」の説明に拡充。(Issue #62)
14
+
15
+ ### Fixed
16
+ - **lint の走査がネストを辿らず入れ子 string[] を見逃していた** — `lintSecrets` / `lintMalformed` / `lintCustomTerms` を共通の再帰 traversal (`visitStrings`) に統一し、オブジェクト配下の string[](例: practice の `applies_when.cwd_patterns`)も走査するようにした。従来は top-level の string / string[] のみで、cwd_patterns のようなパス(社名・案件名を含みやすい)が素通りしていた。(Codex レビュー指摘)
17
+ - **`watashi_maintain` の promote / delete が lint を経由していなかった** — `promote`(既存レコードを別 store へ複製)はコピー前に行テキストを lint し、block なら昇格を中止(非同期 store → 同期 store の昇格で秘匿語が乗るのを防ぐ)。`delete` の `delete_reason`(audit log に保存・同期対象)も書き込み前に lint する。(Codex レビュー指摘)
18
+ - **lint 対象フィールドの取りこぼしを補完** — `store_user_file` の `original_filename`(ファイル名)と promote の audit に載る Store 名も lint 対象に追加。promote / delete も warn モードの警告を成功レスポンス(`lint_warnings`)に載せ、既存の書き込み系ツールと挙動を統一。(Codex 2巡目レビュー指摘)
19
+
10
20
  ## [0.0.20] - 2026-05-31
11
21
 
12
22
  ### Added
package/LICENSE CHANGED
@@ -1,71 +1,71 @@
1
- Business Source License 1.1
2
-
3
- Parameters
4
-
5
- Licensor: bareforge
6
- Licensed Work: watashi-db 0.0.20
7
- The Licensed Work is (c) 2026 bareforge
8
- Additional Use Grant: You may make use of the Licensed Work, provided that
9
- you may not use the Licensed Work for a Commercial
10
- Purpose.
11
- A "Commercial Purpose" means use in or for a product
12
- or service that is sold, offered for sale, licensed,
13
- or otherwise made available to third parties for a fee
14
- or other commercial consideration.
15
- Non-commercial use, personal use, educational use,
16
- and evaluation use are always permitted.
17
- Change Date: 2029-05-31
18
- Change License: Apache License, Version 2.0
19
-
20
- For information about alternative licensing arrangements for the Licensed Work,
21
- please contact: bareforge.license@outlook.jp
22
-
23
- -----------------------------------------------------------------------------
24
-
25
- Notice
26
-
27
- Business Source License 1.1
28
-
29
- License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
30
- "Business Source License" is a trademark of MariaDB Corporation Ab.
31
-
32
- Terms
33
-
34
- The Licensor hereby grants you the right to copy, modify, create derivative
35
- works, redistribute, and make non-production use of the Licensed Work. The
36
- Licensor may make an Additional Use Grant, above, permitting limited production
37
- use.
38
-
39
- Effective on the Change Date, or the fourth anniversary of the first publicly
40
- available distribution of a specific version of the Licensed Work under this
41
- License, whichever comes first, the Licensor hereby grants you rights under the
42
- terms of the Change License, and the rights granted in the paragraph above
43
- terminate.
44
-
45
- If your use of the Licensed Work does not comply with the requirements currently
46
- in effect as described in this License, you must purchase a commercial license
47
- from the Licensor, its affiliated entities, or authorized resellers, or you must
48
- refrain from using the Licensed Work.
49
-
50
- All copies of the original and modified Licensed Work, and derivative works of
51
- the Licensed Work, are subject to this License. This License applies separately
52
- for each version of the Licensed Work and the Change Date may vary for each
53
- version of the Licensed Work released by Licensor.
54
-
55
- You must conspicuously display this License on each original or modified copy of
56
- the Licensed Work. If you receive the Licensed Work in original or modified form
57
- from a third party, the terms and conditions set forth in this License apply to
58
- your use of that work.
59
-
60
- Any use of the Licensed Work in violation of this License will automatically
61
- terminate your rights under this License for the current and all other versions
62
- of the Licensed Work.
63
-
64
- This License does not grant you any right in any trademark or logo of Licensor
65
- or its affiliates (provided that you may use a trademark or logo of Licensor as
66
- expressly required by this License).
67
-
68
- TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON AN
69
- "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS
70
- OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF MERCHANTABILITY,
71
- FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND TITLE.
1
+ Business Source License 1.1
2
+
3
+ Parameters
4
+
5
+ Licensor: bareforge
6
+ Licensed Work: watashi-db 0.0.21
7
+ The Licensed Work is (c) 2026 bareforge
8
+ Additional Use Grant: You may make use of the Licensed Work, provided that
9
+ you may not use the Licensed Work for a Commercial
10
+ Purpose.
11
+ A "Commercial Purpose" means use in or for a product
12
+ or service that is sold, offered for sale, licensed,
13
+ or otherwise made available to third parties for a fee
14
+ or other commercial consideration.
15
+ Non-commercial use, personal use, educational use,
16
+ and evaluation use are always permitted.
17
+ Change Date: 2029-06-08
18
+ Change License: Apache License, Version 2.0
19
+
20
+ For information about alternative licensing arrangements for the Licensed Work,
21
+ please contact: bareforge.license@outlook.jp
22
+
23
+ -----------------------------------------------------------------------------
24
+
25
+ Notice
26
+
27
+ Business Source License 1.1
28
+
29
+ License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
30
+ "Business Source License" is a trademark of MariaDB Corporation Ab.
31
+
32
+ Terms
33
+
34
+ The Licensor hereby grants you the right to copy, modify, create derivative
35
+ works, redistribute, and make non-production use of the Licensed Work. The
36
+ Licensor may make an Additional Use Grant, above, permitting limited production
37
+ use.
38
+
39
+ Effective on the Change Date, or the fourth anniversary of the first publicly
40
+ available distribution of a specific version of the Licensed Work under this
41
+ License, whichever comes first, the Licensor hereby grants you rights under the
42
+ terms of the Change License, and the rights granted in the paragraph above
43
+ terminate.
44
+
45
+ If your use of the Licensed Work does not comply with the requirements currently
46
+ in effect as described in this License, you must purchase a commercial license
47
+ from the Licensor, its affiliated entities, or authorized resellers, or you must
48
+ refrain from using the Licensed Work.
49
+
50
+ All copies of the original and modified Licensed Work, and derivative works of
51
+ the Licensed Work, are subject to this License. This License applies separately
52
+ for each version of the Licensed Work and the Change Date may vary for each
53
+ version of the Licensed Work released by Licensor.
54
+
55
+ You must conspicuously display this License on each original or modified copy of
56
+ the Licensed Work. If you receive the Licensed Work in original or modified form
57
+ from a third party, the terms and conditions set forth in this License apply to
58
+ your use of that work.
59
+
60
+ Any use of the Licensed Work in violation of this License will automatically
61
+ terminate your rights under this License for the current and all other versions
62
+ of the Licensed Work.
63
+
64
+ This License does not grant you any right in any trademark or logo of Licensor
65
+ or its affiliates (provided that you may use a trademark or logo of Licensor as
66
+ expressly required by this License).
67
+
68
+ TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON AN
69
+ "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS
70
+ OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF MERCHANTABILITY,
71
+ FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND TITLE.
@@ -106,10 +106,13 @@ export declare const EmbeddingConfigSchema: z.ZodObject<{
106
106
  export type EmbeddingConfig = z.infer<typeof EmbeddingConfigSchema>;
107
107
  export declare const LintConfigSchema: z.ZodObject<{
108
108
  secret_detection: z.ZodDefault<z.ZodEnum<["block", "warn", "off"]>>;
109
+ custom_terms: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
109
110
  }, "strict", z.ZodTypeAny, {
110
111
  secret_detection: "block" | "warn" | "off";
112
+ custom_terms: string[];
111
113
  }, {
112
114
  secret_detection?: "block" | "warn" | "off" | undefined;
115
+ custom_terms?: string[] | undefined;
113
116
  }>;
114
117
  export type LintConfig = z.infer<typeof LintConfigSchema>;
115
118
  /** Store名・Context名に使用可能な文字パターン */
@@ -213,10 +216,13 @@ export declare const RawConfigSchema: z.ZodObject<{
213
216
  default_context: z.ZodString;
214
217
  lint: z.ZodOptional<z.ZodObject<{
215
218
  secret_detection: z.ZodDefault<z.ZodEnum<["block", "warn", "off"]>>;
219
+ custom_terms: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
216
220
  }, "strict", z.ZodTypeAny, {
217
221
  secret_detection: "block" | "warn" | "off";
222
+ custom_terms: string[];
218
223
  }, {
219
224
  secret_detection?: "block" | "warn" | "off" | undefined;
225
+ custom_terms?: string[] | undefined;
220
226
  }>>;
221
227
  embedding: z.ZodOptional<z.ZodObject<{
222
228
  provider: z.ZodDefault<z.ZodString>;
@@ -303,6 +309,7 @@ export declare const RawConfigSchema: z.ZodObject<{
303
309
  } | undefined;
304
310
  lint?: {
305
311
  secret_detection: "block" | "warn" | "off";
312
+ custom_terms: string[];
306
313
  } | undefined;
307
314
  client_policies?: Record<string, {
308
315
  read: {
@@ -343,6 +350,7 @@ export declare const RawConfigSchema: z.ZodObject<{
343
350
  } | undefined;
344
351
  lint?: {
345
352
  secret_detection?: "block" | "warn" | "off" | undefined;
353
+ custom_terms?: string[] | undefined;
346
354
  } | undefined;
347
355
  client_policies?: Record<string, {
348
356
  read?: {
@@ -380,6 +388,7 @@ export interface ResolvedContext {
380
388
  /** 解決済みLint設定 */
381
389
  export interface ResolvedLintConfig {
382
390
  secret_detection: "block" | "warn" | "off";
391
+ custom_terms: string[];
383
392
  }
384
393
  /** 解決済みクライアントポリシー */
385
394
  export interface ClientPolicyAccess {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,oEAAoE;AACpE,eAAO,MAAM,cAAc,sDAAoD,CAAC;AAChF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,WAAW;AAGX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAIlB,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAqB1D,gCAAgC;AAChC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAItB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAItD,eAAO,MAAM,gBAAgB,wCAAsC,CAAC;AACpE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI1D,eAAO,MAAM,aAAa;;;;;;;;;EAMf,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAkB1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAMvB,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,gBAAgB;;;;;;;;;EAKlB,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI1D,kCAAkC;AAClC,eAAO,MAAM,kBAAkB,QAAqB,CAAC;AAQrD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAajB,CAAC;AAEZ,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAIxD,uBAAuB;AACvB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,wBAAwB;AACxB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B;AAED,gCAAgC;AAChC,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAE/C,kBAAkB;AAClB,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,iBAAiB;AACjB,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IAC3C,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,qBAAqB;AACrB,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AACD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAClC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAAC;CACpC;AAED,sBAAsB;AACtB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACtD"}
@@ -65,6 +65,9 @@ export const EmbeddingConfigSchema = z.object({
65
65
  // --- Lint 設定 ---
66
66
  export const LintConfigSchema = z.object({
67
67
  secret_detection: z.enum(["block", "warn", "off"]).default("warn"),
68
+ // ユーザー定義の秘匿文字列(社名・案件名・アカウント名等)。書き込み内容にマッチしたら
69
+ // secret_detection の mode に関わらず常に block する。config はローカル専用(sync 対象外)。
70
+ custom_terms: z.array(z.string()).default([]),
68
71
  }).strict();
69
72
  // --- Config 全体 ---
70
73
  /** Store名・Context名に使用可能な文字パターン */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,mBAAmB;AAEnB,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;AAGhF,WAAW;AACX,sFAAsF;AACtF,iEAAiE;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IACvD,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC;CAC3C,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,qBAAqB;AACrB,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC;IACpC,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,0BAA0B;AAC1B,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CACtB,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,6BAA6B;AAC7B,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CACtB,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,gCAAgC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACtD,gBAAgB;IAChB,mBAAmB;IACnB,oBAAoB;CACrB,CAAC,CAAC;AAIH,kBAAkB;AAElB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;AAGpE,qBAAqB;AAErB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,MAAM,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAChC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAC3C;IACD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;CACvD,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,uBAAuB;AAEvB,yCAAyC;AACzC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,sCAAsC;AACtC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAClE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACpE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,kCAAkC;AAElC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;IACrE,kCAAkC;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;CAChF,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,kBAAkB;AAElB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAClE,6CAA6C;IAC7C,qEAAqE;IACrE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC9C,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,oBAAoB;AAEpB,kCAAkC;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAErD,kCAAkC;AAClC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CACzC,kBAAkB,EAClB,iCAAiC,CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,MAAM,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAChC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAClC;IACD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAChC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CACpC;IACD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;IAC1D,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC3C,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,QAAQ,EAAE;CACrE,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -131,7 +131,7 @@ export function validateAndResolveConfig(raw) {
131
131
  }
132
132
  // 5. Lint設定の解決
133
133
  const resolvedLint = config.lint
134
- ? { secret_detection: config.lint.secret_detection }
134
+ ? { secret_detection: config.lint.secret_detection, custom_terms: config.lint.custom_terms }
135
135
  : undefined;
136
136
  // 6. クライアントポリシーのバリデーション & パススルー
137
137
  let resolvedClientPolicies;
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/config/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/config/validator.ts"],"names":[],"mappings":"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"}
package/dist/lint.d.ts CHANGED
@@ -16,15 +16,26 @@ export declare function lintSecrets(params: Record<string, unknown>): LintWarnin
16
16
  * paramsの全stringフィールドを走査し、ツール呼び出し失敗の残骸(XML/JSONタグ片)を検出する
17
17
  */
18
18
  export declare function lintMalformed(params: Record<string, unknown>): LintWarning[];
19
+ /**
20
+ * paramsの全stringフィールドを走査し、ユーザー定義の秘匿文字列(custom_terms)を検出する。
21
+ * 配列フィールド(string[])も各要素をスキャン。
22
+ * - case-insensitive 部分一致
23
+ * - マッチした語そのものは warning に含めない(field 名のみ記録 = 再漏洩防止)
24
+ */
25
+ export declare function lintCustomTerms(params: Record<string, unknown>, terms: string[]): LintWarning[];
19
26
  /**
20
27
  * Lint結果をモードに応じて処理する
21
28
  * - "block": 検出時に blocked:true を返す(書き込み拒否用)
22
29
  * - "warn": 検出時に warnings を返すが blocked:false
23
- * - "off": スキャンしない(機密情報のみ。形式エラーは off でも常にチェック)
30
+ * - "off": スキャンしない(機密情報のみ。形式エラー・custom_terms off でも常にチェック)
31
+ *
32
+ * 形式エラー (Malformed Tool Call Tag) と custom_terms(ユーザー定義の秘匿文字列)は
33
+ * mode に関わらず常に検出・block する。
24
34
  *
25
- * 形式エラー (Malformed Tool Call Tag) mode に関わらず常に検出・block する。
35
+ * customTerms 省略時は getCustomTerms() config から取得する
36
+ * (呼び出し側は applyLint(params, getLintMode()) のままでよい。テストでは明示注入可)。
26
37
  */
27
- export declare function applyLint(params: Record<string, unknown>, mode: "block" | "warn" | "off"): {
38
+ export declare function applyLint(params: Record<string, unknown>, mode: "block" | "warn" | "off", customTerms?: string[]): {
28
39
  warnings: LintWarning[];
29
40
  blocked: boolean;
30
41
  };
@@ -33,6 +44,10 @@ export declare function applyLint(params: Record<string, unknown>, mode: "block"
33
44
  * デフォルト: "warn"
34
45
  */
35
46
  export declare function getLintMode(): "block" | "warn" | "off";
47
+ /**
48
+ * 現在のconfigから lint.custom_terms を取得する。デフォルト: []
49
+ */
50
+ export declare function getCustomTerms(): string[];
36
51
  /**
37
52
  * Lint blockをMCPエラーレスポンス(JSON形式)にフォーマットする
38
53
  * 形式エラー(Malformed Tool Call Tag)が含まれていれば、その旨を最優先で伝える
@@ -1 +1 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAiCD;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/C;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,EAAE,CAgB1E;AAmBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,EAAE,CAc5E;AAiBD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,GAC7B;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAe/C;AAID;;;GAGG;AACH,wBAAgB,WAAW,IAAI,OAAO,GAAG,MAAM,GAAG,KAAK,CAQtD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE;;;;;;EAgB7D"}
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAiCD;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/C;AA2BD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,EAAE,CAI1E;AAmBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,EAAE,CAI5E;AAsBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,MAAM,EAAE,GACd,WAAW,EAAE,CASf;AAkBD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,EAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAoB/C;AAID;;;GAGG;AACH,wBAAgB,WAAW,IAAI,OAAO,GAAG,MAAM,GAAG,KAAK,CAQtD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAQzC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE;;;;;;EAsB7D"}
package/dist/lint.js CHANGED
@@ -38,6 +38,26 @@ export function maskMatch(match) {
38
38
  return match;
39
39
  return match.slice(0, 8) + "...";
40
40
  }
41
+ /**
42
+ * value を再帰的に走査し、見つかった全ての string 値に対して visit(field, text) を呼ぶ。
43
+ * ネストしたオブジェクト・配列も辿るので、applies_when.cwd_patterns のような入れ子の string[] も拾える。
44
+ * field パスは "applies_when.cwd_patterns[0]" 形式で組み立てる。
45
+ */
46
+ function visitStrings(value, path, visit) {
47
+ if (typeof value === "string") {
48
+ visit(path, value);
49
+ }
50
+ else if (Array.isArray(value)) {
51
+ for (let i = 0; i < value.length; i++) {
52
+ visitStrings(value[i], `${path}[${i}]`, visit);
53
+ }
54
+ }
55
+ else if (value !== null && typeof value === "object") {
56
+ for (const [k, v] of Object.entries(value)) {
57
+ visitStrings(v, path ? `${path}.${k}` : k, visit);
58
+ }
59
+ }
60
+ }
41
61
  // --- メイン関数 ---
42
62
  /**
43
63
  * paramsの全stringフィールドをスキャンし、機密情報パターンを検出する
@@ -45,18 +65,7 @@ export function maskMatch(match) {
45
65
  */
46
66
  export function lintSecrets(params) {
47
67
  const warnings = [];
48
- for (const [field, value] of Object.entries(params)) {
49
- if (typeof value === "string") {
50
- scanString(field, value, warnings);
51
- }
52
- else if (Array.isArray(value)) {
53
- for (let i = 0; i < value.length; i++) {
54
- if (typeof value[i] === "string") {
55
- scanString(`${field}[${i}]`, value[i], warnings);
56
- }
57
- }
58
- }
59
- }
68
+ visitStrings(params, "", (field, value) => scanString(field, value, warnings));
60
69
  return warnings;
61
70
  }
62
71
  /**
@@ -80,18 +89,7 @@ function scanString(field, value, warnings) {
80
89
  */
81
90
  export function lintMalformed(params) {
82
91
  const warnings = [];
83
- for (const [field, value] of Object.entries(params)) {
84
- if (typeof value === "string") {
85
- scanMalformed(field, value, warnings);
86
- }
87
- else if (Array.isArray(value)) {
88
- for (let i = 0; i < value.length; i++) {
89
- if (typeof value[i] === "string") {
90
- scanMalformed(`${field}[${i}]`, value[i], warnings);
91
- }
92
- }
93
- }
94
- }
92
+ visitStrings(params, "", (field, value) => scanMalformed(field, value, warnings));
95
93
  return warnings;
96
94
  }
97
95
  function scanMalformed(field, value, warnings) {
@@ -106,25 +104,63 @@ function scanMalformed(field, value, warnings) {
106
104
  }
107
105
  }
108
106
  }
107
+ // --- ユーザー定義の秘匿文字列(custom_terms)検出 ---
108
+ const CUSTOM_TERM_PATTERN_NAME = "Custom Sensitive Term";
109
+ // マッチした秘匿語そのものは LintWarning に載せない(エラー応答や transcript への再漏洩を防ぐ)。
110
+ // field 名だけ示せば、LLM は自分が書こうとした内容から該当箇所を一般化して直せる。
111
+ const REDACTED_MATCH = "(redacted)";
112
+ /**
113
+ * paramsの全stringフィールドを走査し、ユーザー定義の秘匿文字列(custom_terms)を検出する。
114
+ * 配列フィールド(string[])も各要素をスキャン。
115
+ * - case-insensitive 部分一致
116
+ * - マッチした語そのものは warning に含めない(field 名のみ記録 = 再漏洩防止)
117
+ */
118
+ export function lintCustomTerms(params, terms) {
119
+ const warnings = [];
120
+ // 前後空白を除去して正規化(" AcmeCorp " と書かれても "AcmeCorp" にマッチさせる)。空白のみの term は除外。
121
+ const normalized = terms
122
+ .map((t) => t.trim().toLowerCase())
123
+ .filter((t) => t.length > 0);
124
+ if (normalized.length === 0)
125
+ return warnings;
126
+ visitStrings(params, "", (field, value) => scanCustomTerms(field, value, normalized, warnings));
127
+ return warnings;
128
+ }
129
+ function scanCustomTerms(field, value, normalizedTerms, warnings) {
130
+ const haystack = value.toLowerCase();
131
+ for (const term of normalizedTerms) {
132
+ if (haystack.includes(term)) {
133
+ warnings.push({ field, pattern: CUSTOM_TERM_PATTERN_NAME, match: REDACTED_MATCH });
134
+ }
135
+ }
136
+ }
109
137
  // --- モード適用 ---
110
138
  /**
111
139
  * Lint結果をモードに応じて処理する
112
140
  * - "block": 検出時に blocked:true を返す(書き込み拒否用)
113
141
  * - "warn": 検出時に warnings を返すが blocked:false
114
- * - "off": スキャンしない(機密情報のみ。形式エラーは off でも常にチェック)
142
+ * - "off": スキャンしない(機密情報のみ。形式エラー・custom_terms off でも常にチェック)
115
143
  *
116
- * 形式エラー (Malformed Tool Call Tag) mode に関わらず常に検出・block する。
144
+ * 形式エラー (Malformed Tool Call Tag) custom_terms(ユーザー定義の秘匿文字列)は
145
+ * mode に関わらず常に検出・block する。
146
+ *
147
+ * customTerms 省略時は getCustomTerms() で config から取得する
148
+ * (呼び出し側は applyLint(params, getLintMode()) のままでよい。テストでは明示注入可)。
117
149
  */
118
- export function applyLint(params, mode) {
119
- // 形式エラーは mode に関わらず常にチェック・block
150
+ export function applyLint(params, mode, customTerms) {
151
+ const terms = customTerms ?? getCustomTerms();
152
+ // 形式エラー(壊れたタグ片)と custom_terms(ユーザー定義の秘匿文字列)は
153
+ // mode に関わらず常にチェック・block する。
120
154
  const malformedWarnings = lintMalformed(params);
155
+ const customWarnings = lintCustomTerms(params, terms);
156
+ const alwaysBlockWarnings = [...malformedWarnings, ...customWarnings];
121
157
  if (mode === "off") {
122
- return { warnings: malformedWarnings, blocked: malformedWarnings.length > 0 };
158
+ return { warnings: alwaysBlockWarnings, blocked: alwaysBlockWarnings.length > 0 };
123
159
  }
124
160
  const secretWarnings = lintSecrets(params);
125
- const warnings = [...malformedWarnings, ...secretWarnings];
161
+ const warnings = [...alwaysBlockWarnings, ...secretWarnings];
126
162
  const blockedBySecret = mode === "block" && secretWarnings.length > 0;
127
- const blocked = malformedWarnings.length > 0 || blockedBySecret;
163
+ const blocked = alwaysBlockWarnings.length > 0 || blockedBySecret;
128
164
  return { warnings, blocked };
129
165
  }
130
166
  // --- Config読み取り ---
@@ -142,15 +178,36 @@ export function getLintMode() {
142
178
  return "warn";
143
179
  }
144
180
  }
181
+ /**
182
+ * 現在のconfigから lint.custom_terms を取得する。デフォルト: []
183
+ */
184
+ export function getCustomTerms() {
185
+ try {
186
+ const config = getStoreManager().getConfig();
187
+ return config.lint?.custom_terms ?? [];
188
+ }
189
+ catch {
190
+ // セッション未初期化(テスト等)の場合は空
191
+ return [];
192
+ }
193
+ }
145
194
  /**
146
195
  * Lint blockをMCPエラーレスポンス(JSON形式)にフォーマットする
147
196
  * 形式エラー(Malformed Tool Call Tag)が含まれていれば、その旨を最優先で伝える
148
197
  */
149
198
  export function buildLintBlockResponse(warnings) {
150
199
  const hasMalformed = warnings.some(w => w.pattern === MALFORMED_PATTERN_NAME);
151
- const error = hasMalformed
152
- ? "書き込みを拒否しました — フィールドにツール呼び出しのタグ片(</description>, <parameter name=... 等)が混入しています。l1_content や description は自然文だけを渡してください"
153
- : "書き込みを拒否しました — 機密情報が検出されました";
200
+ const hasCustomTerm = warnings.some(w => w.pattern === CUSTOM_TERM_PATTERN_NAME);
201
+ let error;
202
+ if (hasMalformed) {
203
+ error = "書き込みを拒否しました — フィールドにツール呼び出しのタグ片(</description>, <parameter name=... 等)が混入しています。l1_content や description は自然文だけを渡してください";
204
+ }
205
+ else if (hasCustomTerm) {
206
+ error = "書き込みを拒否しました — 秘匿文字列(config の lint.custom_terms)が含まれています。lint_warnings の field を一般名に言い換えて再試行してください(秘匿語そのものは再漏洩防止のため表示していません)";
207
+ }
208
+ else {
209
+ error = "書き込みを拒否しました — 機密情報が検出されました";
210
+ }
154
211
  return {
155
212
  content: [{
156
213
  type: "text",
package/dist/lint.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAU3D,iBAAiB;AAEjB,MAAM,eAAe,GAAsC;IACzD,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,2BAA2B,EAAE;IACtE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,sBAAsB,EAAE;IACzD,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,uBAAuB,EAAE;IACxE,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,uBAAuB,EAAE;IAC9D,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,uBAAuB,EAAE;IAC/D,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,uBAAuB,EAAE;IAChE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;IACzD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,oDAAoD,EAAE;IACxF,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE;IACnD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe,EAAE;IACpD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,EAAE;CAC7D,CAAC;AAEF,6DAA6D;AAC7D,2CAA2C;AAC3C,oCAAoC;AACpC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AACzD,MAAM,sBAAsB,GAAa;IACvC,0FAA0F;IAC1F,6CAA6C;IAC7C,mDAAmD;IACnD,wEAAwE;IACxE,uDAAuD;IACvD,iCAAiC;CAClC,CAAC;AAEF,eAAe;AAEf;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AACnC,CAAC;AAED,gBAAgB;AAEhB;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAA+B;IACzD,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACjC,UAAU,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAW,EAAE,QAAQ,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAAa,EAAE,KAAa,EAAE,QAAuB;IACvE,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,8BAA8B;QAC9B,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK;gBACL,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAA+B;IAC3D,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACjC,aAAa,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAW,EAAE,QAAQ,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,KAAa,EAAE,QAAuB;IAC1E,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE,CAAC;QAC3C,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK;gBACL,OAAO,EAAE,sBAAsB;gBAC/B,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,gBAAgB;AAEhB;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CACvB,MAA+B,EAC/B,IAA8B;IAE9B,gCAAgC;IAChC,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEhD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IAChF,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,cAAc,CAAC,CAAC;IAE3D,MAAM,eAAe,GAAG,IAAI,KAAK,OAAO,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC;IAEhE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED,qBAAqB;AAErB;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC,SAAS,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,IAAI,EAAE,gBAAgB,IAAI,MAAM,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAuB;IAC5D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,sBAAsB,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,YAAY;QACxB,CAAC,CAAC,wHAAwH;QAC1H,CAAC,CAAC,4BAA4B,CAAC;IACjC,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK;oBACL,aAAa,EAAE,QAAQ;iBACxB,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;QACF,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-tools.d.ts","sourceRoot":"","sources":["../../src/tools/file-tools.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiFzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,SAAa,GAAG,IAAI,CA2VtF"}
1
+ {"version":3,"file":"file-tools.d.ts","sourceRoot":"","sources":["../../src/tools/file-tools.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiFzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,SAAa,GAAG,IAAI,CA4VtF"}
@@ -67,19 +67,21 @@ export function registerUserFileTools(server, toolPrefix = "watashi_") {
67
67
  // store_user_file: ファイルを読み取り→base64→DB保存
68
68
  // ──────────────────────────────────────────────
69
69
  server.tool(`${toolPrefix}store_user_file`, "[Use only on explicit user request] Read a file from disk, base64-encode it, and store in the vault. Claude never touches file bytes.", StoreUserFileSchema.shape, async (params, extra) => {
70
- // 入口バリデーション: メタデータフィールドに XML/JSON タグ片・機密情報が混入していたら block
70
+ const filePath = path.resolve(params.source_path);
71
+ const originalFilename = path.basename(filePath);
72
+ // 入口バリデーション: メタデータ・ファイル名に XML/JSON タグ片・機密情報・秘匿文字列が混入していたら block
71
73
  const lint = applyLint({
72
74
  title: params.title,
73
75
  description: params.description,
74
76
  search_summary: params.search_summary,
75
77
  tags: params.tags,
78
+ original_filename: originalFilename,
76
79
  }, getLintMode());
77
80
  if (lint.blocked)
78
81
  return buildLintBlockResponse(lint.warnings);
79
82
  const scopeCheck = policyGuard(params.scope ?? "global");
80
83
  if (!scopeCheck.allowed)
81
84
  return buildPolicyErrorResponse(scopeCheck.reason);
82
- const filePath = path.resolve(params.source_path);
83
85
  // パスバリデーション
84
86
  const pathErr = validatePath(filePath);
85
87
  if (pathErr)
@@ -98,7 +100,6 @@ export function registerUserFileTools(server, toolPrefix = "watashi_") {
98
100
  const fileHash = computeHash(rawData);
99
101
  const fileSize = rawData.length;
100
102
  const fileData = rawData.toString("base64");
101
- const originalFilename = path.basename(filePath);
102
103
  const provenance = buildProvenance(extra.sessionId);
103
104
  // embedding生成(descriptionがあれば)
104
105
  let l1_embedding = null;
@@ -1 +1 @@
1
- {"version":3,"file":"file-tools.js","sourceRoot":"","sources":["../../src/tools/file-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-tools.js","sourceRoot":"","sources":["../../src/tools/file-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/tools/maintenance/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAOnF,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,YAAY,CAAC,CA8CvB"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/tools/maintenance/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAqC,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAQrG,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,YAAY,CAAC,CAkDvB"}
@@ -1,9 +1,10 @@
1
- import { ok, errorResult } from "../helpers.js";
1
+ import { ok, errorResult, withLintWarnings } from "../helpers.js";
2
2
  import { getDatabase } from "../../database/connection.js";
3
3
  import * as core from "../../database/queries-core.js";
4
4
  import { buildProvenance } from "../../provenance.js";
5
5
  import { insertAuditLog } from "../../database/queries.js";
6
6
  import { notifyWrite } from "../../store/session-state.js";
7
+ import { applyLint, getLintMode, buildLintBlockResponse } from "../../lint.js";
7
8
  export async function handleDelete(params, extra) {
8
9
  if (!params.delete_entity_id) {
9
10
  return errorResult("delete には delete_entity_id が必須です");
@@ -11,6 +12,10 @@ export async function handleDelete(params, extra) {
11
12
  if (!params.delete_reason) {
12
13
  return errorResult("delete には delete_reason が必須です");
13
14
  }
15
+ // delete_reason は audit log(同期対象)に保存されるので秘匿文字列を lint する
16
+ const lint = applyLint({ delete_reason: params.delete_reason }, getLintMode());
17
+ if (lint.blocked)
18
+ return buildLintBlockResponse(lint.warnings);
14
19
  const db = getDatabase();
15
20
  const provenance = buildProvenance(extra.sessionId);
16
21
  const { deleted, entity_type: resolvedType } = db.transaction(() => {
@@ -33,11 +38,11 @@ export async function handleDelete(params, extra) {
33
38
  return errorResult(`${resolvedType} '${params.delete_entity_id}' の削除に失敗しました`);
34
39
  }
35
40
  notifyWrite();
36
- return ok({
41
+ return ok(withLintWarnings({
37
42
  success: true,
38
43
  message: `${resolvedType} '${params.delete_entity_id}' を物理削除しました。tombstone が記録され、同期先にも伝播します。`,
39
44
  entity_type: resolvedType,
40
45
  entity_id: params.delete_entity_id,
41
- });
46
+ }, lint.warnings));
42
47
  }
43
48
  //# sourceMappingURL=delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/tools/maintenance/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,WAAW,EAAqC,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAqB,EACrB,KAAgB;IAEhB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC7B,OAAO,WAAW,CAAC,kCAAkC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,WAAW,CAAC,+BAA+B,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEpD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAC3C,EAAE,EACF,MAAM,CAAC,gBAAiB,EACxB,MAAM,CAAC,kBAAkB,CAC1B,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,cAAc,CAAC;gBACb,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,CAAiH;gBAC5J,SAAS,EAAE,MAAM,CAAC,gBAAiB;gBACnC,OAAO,EAAE,SAAS,MAAM,CAAC,aAAa,EAAE;gBACxC,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,WAAW,CAAC,OAAO,MAAM,CAAC,gBAAgB,YAAY,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,WAAW,CAAC,GAAG,YAAY,KAAK,MAAM,CAAC,gBAAgB,cAAc,CAAC,CAAC;IAChF,CAAC;IAED,WAAW,EAAE,CAAC;IAEd,OAAO,EAAE,CAAC;QACR,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,GAAG,YAAY,KAAK,MAAM,CAAC,gBAAgB,yCAAyC;QAC7F,WAAW,EAAE,YAAY;QACzB,SAAS,EAAE,MAAM,CAAC,gBAAgB;KACnC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/tools/maintenance/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAqC,MAAM,eAAe,CAAC;AACrG,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAqB,EACrB,KAAgB;IAEhB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC7B,OAAO,WAAW,CAAC,kCAAkC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,WAAW,CAAC,+BAA+B,CAAC,CAAC;IACtD,CAAC;IAED,wDAAwD;IACxD,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE/D,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEpD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAC3C,EAAE,EACF,MAAM,CAAC,gBAAiB,EACxB,MAAM,CAAC,kBAAkB,CAC1B,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,cAAc,CAAC;gBACb,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,CAAiH;gBAC5J,SAAS,EAAE,MAAM,CAAC,gBAAiB;gBACnC,OAAO,EAAE,SAAS,MAAM,CAAC,aAAa,EAAE;gBACxC,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,WAAW,CAAC,OAAO,MAAM,CAAC,gBAAgB,YAAY,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,WAAW,CAAC,GAAG,YAAY,KAAK,MAAM,CAAC,gBAAgB,cAAc,CAAC,CAAC;IAChF,CAAC;IAED,WAAW,EAAE,CAAC;IAEd,OAAO,EAAE,CAAC,gBAAgB,CAAC;QACzB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,GAAG,YAAY,KAAK,MAAM,CAAC,gBAAgB,yCAAyC;QAC7F,WAAW,EAAE,YAAY;QACzB,SAAS,EAAE,MAAM,CAAC,gBAAgB;KACnC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../../src/tools/maintenance/promote.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAkBnF,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,YAAY,CAAC,CAmFvB"}
1
+ {"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../../src/tools/maintenance/promote.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAqC,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAoBrG,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,YAAY,CAAC,CAoGvB"}
@@ -1,10 +1,11 @@
1
1
  import { ulid } from "ulid";
2
- import { ok, errorResult } from "../helpers.js";
2
+ import { ok, errorResult, withLintWarnings } from "../helpers.js";
3
3
  import { getStoreManager, getActiveContext, notifyWrite, } from "../../store/session-state.js";
4
4
  import * as core from "../../database/queries-core.js";
5
5
  import { buildProvenance } from "../../provenance.js";
6
6
  import { insertAuditLog } from "../../database/queries.js";
7
7
  import { getClientPolicy, checkClaimWritePolicy, checkScopeWritePolicy, buildPolicyErrorResponse, } from "../../policy.js";
8
+ import { applyLint, getLintMode, buildLintBlockResponse } from "../../lint.js";
8
9
  const PROMOTABLE_TYPES = ["claim", "decision", "episode", "theory", "insight", "model"];
9
10
  export async function handlePromote(params, extra) {
10
11
  if (!params.promote_entity_id || !params.source_store || !params.target_store) {
@@ -48,6 +49,20 @@ export async function handlePromote(params, extra) {
48
49
  return policyResult;
49
50
  }
50
51
  const targetDb = manager.getStore(params.target_store);
52
+ // 秘匿文字列チェック: 既存レコードを別 store へ複製する前に、コピー対象のテキストを lint する。
53
+ // 非同期 store → 同期 store への昇格で秘匿語が同期に乗るのを防ぐ(作成時に custom_terms 未設定
54
+ // だった行や、後から custom_terms に追加した語もここで止まる)。
55
+ let promoteLintWarnings = [];
56
+ const promoteSource = getPromoteSourceRow(sourceDb, entityType, params.promote_entity_id);
57
+ if (promoteSource) {
58
+ const { l1_embedding, ...textFields } = promoteSource;
59
+ void l1_embedding; // バイナリ列(embedding)は走査対象外
60
+ // audit log に載る Store 名も含めて lint(source 行のテキスト + 昇格元/先の Store 名)
61
+ const lint = applyLint({ ...textFields, source_store: params.source_store, target_store: params.target_store }, getLintMode());
62
+ if (lint.blocked)
63
+ return buildLintBlockResponse(lint.warnings);
64
+ promoteLintWarnings = lint.warnings;
65
+ }
51
66
  try {
52
67
  const purge = params.purge_source ?? false;
53
68
  const result = promoteRecord(sourceDb, targetDb, entityType, params.promote_entity_id, params.source_store, params.target_store, purge);
@@ -67,7 +82,7 @@ export async function handlePromote(params, extra) {
67
82
  provenance,
68
83
  });
69
84
  notifyWrite();
70
- return ok({
85
+ return ok(withLintWarnings({
71
86
  success: true,
72
87
  message: purge
73
88
  ? `レコードを移動しました: ${params.source_store} → ${params.target_store}(ソースから削除済み)`
@@ -79,13 +94,24 @@ export async function handlePromote(params, extra) {
79
94
  target_store: params.target_store,
80
95
  was_existing: result.was_existing,
81
96
  purged_from_source: purge,
82
- });
97
+ }, promoteLintWarnings));
83
98
  }
84
99
  catch (error) {
85
100
  const message = error instanceof Error ? error.message : String(error);
86
101
  return errorResult(message);
87
102
  }
88
103
  }
104
+ // === Promote helper functions ===
105
+ /**
106
+ * promote 対象の行を SELECT * で取得する(lint 用)。テーブル名は checkPromotePolicy と同じ解決規則。
107
+ */
108
+ function getPromoteSourceRow(db, entityType, entityId) {
109
+ const table = entityType === "theory" ? "theories"
110
+ : entityType === "insight" ? "insights"
111
+ : entityType === "model" ? "models"
112
+ : `${entityType}s`;
113
+ return db.prepare(`SELECT * FROM ${table} WHERE id = ?`).get(entityId);
114
+ }
89
115
  function promoteRecord(sourceDb, targetDb, entityType, entityId, sourceStore, targetStore, purgeSource = false) {
90
116
  switch (entityType) {
91
117
  case "claim": return promoteClaim(sourceDb, targetDb, entityId, sourceStore, targetStore, purgeSource);
@@ -1 +1 @@
1
- {"version":3,"file":"promote.js","sourceRoot":"","sources":["../../../src/tools/maintenance/promote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promote.js","sourceRoot":"","sources":["../../../src/tools/maintenance/promote.ts"],"names":[],"mappings":"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"}
@@ -230,15 +230,27 @@ Active context on startup. Must be a name defined in `contexts`. Overridden by c
230
230
 
231
231
  ### lint
232
232
 
233
+ Content checks applied at write time. Before data is saved, watashi-db scans all text fields and warns or blocks on problems. There are three detectors:
234
+
235
+ 1. **Secret patterns** — API keys and tokens (OpenAI `sk-...`, GitHub `ghp_...`, AWS `AKIA...`, PEM private keys, Slack / Google keys, etc.) detected by regex. Controlled by `secret_detection`.
236
+ 2. **Malformed tool-call tags** — XML/JSON tag fragments (`</description>`, etc.) that leak in when a tool call fails. **Always blocked**, regardless of `secret_detection`.
237
+ 3. **custom_terms (user-defined sensitive strings)** — fixed strings you list in config (client names, project codes, account names — proper nouns that can't be expressed as regex). **Always blocked** on match. Prevents sensitive info from being written to a synced DB and leaking to other devices.
238
+
233
239
  ```json
234
240
  "lint": {
235
- "secret_detection": "warn"
241
+ "secret_detection": "warn",
242
+ "custom_terms": ["AcmeCorp", "ProjectXYZ", "my-account-name"]
236
243
  }
237
244
  ```
238
245
 
239
246
  | Field | Type | Default | Description |
240
247
  |-------|------|---------|-------------|
241
- | `secret_detection` | `"block"` \| `"warn"` \| `"off"` | `"warn"` | Secret detection behavior |
248
+ | `secret_detection` | `"block"` \| `"warn"` \| `"off"` | `"warn"` | Behavior on secret-pattern match (`block`=reject / `warn`=warn only / `off`=skip scan) |
249
+ | `custom_terms` | string[] | `[]` | List of fixed strings to block. Substring match, case-insensitive. On match, the write is always rejected regardless of `secret_detection` |
250
+
251
+ > **When to use custom_terms**: With multi-device sync, written data propagates to all devices. Accidentally recording work-specific proper nouns (company names, project names, personal names) could leak them via sync. List them in custom_terms to mechanically block any write containing them. config.json is local-only (not synced, not committed to GitHub), making it a safe place to store the terms.
252
+ >
253
+ > Note: the sensitive term itself is never shown in the error response (to avoid re-leaking) — only which field matched.
242
254
 
243
255
  ### embedding
244
256
 
@@ -231,15 +231,27 @@ cwd のリポジトリ名と一致するコンテキストが `contexts` に存
231
231
 
232
232
  ### lint
233
233
 
234
+ 書き込み時のコンテンツ検査。watashi-db に保存される前のデータ(全テキストフィールド)を走査し、問題があれば警告またはブロックする。3種類の検出器を持つ:
235
+
236
+ 1. **機密情報パターン** — API キー・トークン(OpenAI `sk-...`、GitHub `ghp_...`、AWS `AKIA...`、PEM 秘密鍵、Slack / Google のキー等)を正規表現で検出。`secret_detection` で挙動を制御する。
237
+ 2. **壊れたタグ片** — ツール呼び出しの失敗で混入する XML/JSON タグ片(`</description>` など)を検出。`secret_detection` の設定に関わらず**常に block** する。
238
+ 3. **custom_terms(ユーザー定義の秘匿文字列)** — config に列挙した固定文字列(取引先名・案件コード・アカウント名など、正規表現で表せない固有名詞)を検出。マッチしたら**常に block** する。同期対象の DB に秘匿情報が書き込まれて他デバイスへ漏れるのを防ぐ。
239
+
234
240
  ```json
235
241
  "lint": {
236
- "secret_detection": "warn"
242
+ "secret_detection": "warn",
243
+ "custom_terms": ["取引先A社", "案件コードXYZ", "社内アカウント名"]
237
244
  }
238
245
  ```
239
246
 
240
247
  | フィールド | 型 | デフォルト | 説明 |
241
248
  |-----------|------|-----------|------|
242
- | `secret_detection` | `"block"` \| `"warn"` \| `"off"` | `"warn"` | 秘密情報検出の挙動 |
249
+ | `secret_detection` | `"block"` \| `"warn"` \| `"off"` | `"warn"` | 機密情報パターン検出時の挙動(`block`=拒否 / `warn`=警告のみ / `off`=スキャンしない) |
250
+ | `custom_terms` | string[] | `[]` | ブロックする固定文字列のリスト。部分一致・大文字小文字を区別しない。マッチしたら `secret_detection` の設定に関わらず常に書き込みを拒否する |
251
+
252
+ > **custom_terms の使いどころ**: マルチデバイス同期では、書き込んだデータが全デバイスへ伝播する。仕事の固有名詞(社名・案件名・個人名など)を誤って記録すると同期経由で漏洩しうる。custom_terms に列挙しておくと、それらを含む書き込みが機械的にブロックされる。config.json はローカル専用(同期されず GitHub にも載らない)なので、秘匿語の置き場所として安全。
253
+ >
254
+ > なお、エラー応答には秘匿語そのものは表示されない(再漏洩を防ぐため)。どのフィールドが該当したかだけが示される。
243
255
 
244
256
  ### embedding
245
257
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "watashi-db",
3
- "version": "0.0.20",
3
+ "version": "0.0.21",
4
4
  "description": "わたしDB - User-owned personal context database as an MCP server for AI tools",
5
5
  "type": "module",
6
6
  "keywords": [