watashi-db 0.0.7 → 0.0.9

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.
Files changed (174) hide show
  1. package/README.md +120 -63
  2. package/Usersj.miyamoto.watashi-dbdefault.db +0 -0
  3. package/cowork-plugin/.claude-plugin/plugin.json +1 -1
  4. package/cowork-plugin/.mcp.json +1 -1
  5. package/cowork-plugin/hooks/hooks.json +7 -0
  6. package/cowork-plugin/skills/recall/SKILL.md +6 -3
  7. package/dist/config/loader.js +25 -1
  8. package/dist/config/loader.js.map +1 -1
  9. package/dist/config/schema.d.ts +53 -0
  10. package/dist/config/schema.js +9 -0
  11. package/dist/config/schema.js.map +1 -1
  12. package/dist/config/validator.js +11 -0
  13. package/dist/config/validator.js.map +1 -1
  14. package/dist/constants.d.ts +9 -1
  15. package/dist/constants.js +51 -3
  16. package/dist/constants.js.map +1 -1
  17. package/dist/context-pack.d.ts +7 -2
  18. package/dist/context-pack.js +137 -31
  19. package/dist/context-pack.js.map +1 -1
  20. package/dist/database/archive.d.ts +39 -0
  21. package/dist/database/archive.js +180 -0
  22. package/dist/database/archive.js.map +1 -0
  23. package/dist/database/groom.d.ts +39 -0
  24. package/dist/database/groom.js +246 -0
  25. package/dist/database/groom.js.map +1 -0
  26. package/dist/database/maintain.d.ts +39 -0
  27. package/dist/database/maintain.js +62 -0
  28. package/dist/database/maintain.js.map +1 -0
  29. package/dist/database/queries-core.d.ts +320 -12
  30. package/dist/database/queries-core.js +1834 -56
  31. package/dist/database/queries-core.js.map +1 -1
  32. package/dist/database/queries.d.ts +213 -12
  33. package/dist/database/queries.js +109 -0
  34. package/dist/database/queries.js.map +1 -1
  35. package/dist/database/schema.js +4199 -1
  36. package/dist/database/schema.js.map +1 -1
  37. package/dist/embedding/embed-on-write.d.ts +98 -0
  38. package/dist/embedding/embed-on-write.js +104 -0
  39. package/dist/embedding/embed-on-write.js.map +1 -0
  40. package/dist/embedding/ollama.d.ts +18 -0
  41. package/dist/embedding/ollama.js +67 -0
  42. package/dist/embedding/ollama.js.map +1 -0
  43. package/dist/embedding/openai.d.ts +17 -0
  44. package/dist/embedding/openai.js +77 -0
  45. package/dist/embedding/openai.js.map +1 -0
  46. package/dist/embedding/provider.d.ts +34 -0
  47. package/dist/embedding/provider.js +92 -0
  48. package/dist/embedding/provider.js.map +1 -0
  49. package/dist/embedding/search.d.ts +61 -0
  50. package/dist/embedding/search.js +165 -0
  51. package/dist/embedding/search.js.map +1 -0
  52. package/dist/embedding/similarity.d.ts +21 -0
  53. package/dist/embedding/similarity.js +48 -0
  54. package/dist/embedding/similarity.js.map +1 -0
  55. package/dist/embedding/transformers-local.d.ts +24 -0
  56. package/dist/embedding/transformers-local.js +65 -0
  57. package/dist/embedding/transformers-local.js.map +1 -0
  58. package/dist/embedding/types.d.ts +27 -0
  59. package/dist/embedding/types.js +6 -0
  60. package/dist/embedding/types.js.map +1 -0
  61. package/dist/hook.d.ts +54 -1
  62. package/dist/hook.js +560 -7
  63. package/dist/hook.js.map +1 -1
  64. package/dist/index.js +4 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/policy.d.ts +7 -1
  67. package/dist/policy.js +30 -0
  68. package/dist/policy.js.map +1 -1
  69. package/dist/project-detect.d.ts +8 -0
  70. package/dist/project-detect.js +36 -0
  71. package/dist/project-detect.js.map +1 -0
  72. package/dist/prompts/bootstrap-prompts.js +48 -0
  73. package/dist/prompts/bootstrap-prompts.js.map +1 -1
  74. package/dist/resources/config-guide-content.d.ts +7 -0
  75. package/dist/resources/config-guide-content.js +180 -0
  76. package/dist/resources/config-guide-content.js.map +1 -0
  77. package/dist/resources/context-resources.js +18 -1
  78. package/dist/resources/context-resources.js.map +1 -1
  79. package/dist/server-instructions.js +60 -3
  80. package/dist/server-instructions.js.map +1 -1
  81. package/dist/server.js +26 -18
  82. package/dist/server.js.map +1 -1
  83. package/dist/setup.d.ts +14 -0
  84. package/dist/setup.js +133 -10
  85. package/dist/setup.js.map +1 -1
  86. package/dist/store/federation.d.ts +126 -2
  87. package/dist/store/federation.js +719 -2
  88. package/dist/store/federation.js.map +1 -1
  89. package/dist/store/merge.d.ts +11 -0
  90. package/dist/store/merge.js +38 -8
  91. package/dist/store/merge.js.map +1 -1
  92. package/dist/store/session-state.d.ts +12 -0
  93. package/dist/store/session-state.js +27 -1
  94. package/dist/store/session-state.js.map +1 -1
  95. package/dist/store/sync-manager.d.ts +7 -5
  96. package/dist/store/sync-manager.js +134 -58
  97. package/dist/store/sync-manager.js.map +1 -1
  98. package/dist/tools/claim-tools.d.ts +7 -1
  99. package/dist/tools/claim-tools.js +328 -178
  100. package/dist/tools/claim-tools.js.map +1 -1
  101. package/dist/tools/decision-tools.d.ts +3 -2
  102. package/dist/tools/decision-tools.js +48 -131
  103. package/dist/tools/decision-tools.js.map +1 -1
  104. package/dist/tools/episode-tools.d.ts +2 -3
  105. package/dist/tools/episode-tools.js +59 -130
  106. package/dist/tools/episode-tools.js.map +1 -1
  107. package/dist/tools/export-tools.d.ts +7 -1
  108. package/dist/tools/export-tools.js +90 -68
  109. package/dist/tools/export-tools.js.map +1 -1
  110. package/dist/tools/get-tools.d.ts +11 -0
  111. package/dist/tools/get-tools.js +282 -0
  112. package/dist/tools/get-tools.js.map +1 -0
  113. package/dist/tools/groom-tools.d.ts +13 -0
  114. package/dist/tools/groom-tools.js +197 -0
  115. package/dist/tools/groom-tools.js.map +1 -0
  116. package/dist/tools/helpers.d.ts +10 -0
  117. package/dist/tools/helpers.js +10 -0
  118. package/dist/tools/helpers.js.map +1 -0
  119. package/dist/tools/insight-tools.d.ts +11 -0
  120. package/dist/tools/insight-tools.js +167 -0
  121. package/dist/tools/insight-tools.js.map +1 -0
  122. package/dist/tools/knowledge-tools.d.ts +7 -0
  123. package/dist/tools/knowledge-tools.js +151 -0
  124. package/dist/tools/knowledge-tools.js.map +1 -0
  125. package/dist/tools/maintenance-tools.d.ts +11 -0
  126. package/dist/tools/maintenance-tools.js +1074 -0
  127. package/dist/tools/maintenance-tools.js.map +1 -0
  128. package/dist/tools/memo-tools.d.ts +15 -0
  129. package/dist/tools/memo-tools.js +370 -0
  130. package/dist/tools/memo-tools.js.map +1 -0
  131. package/dist/tools/model-tools.d.ts +11 -0
  132. package/dist/tools/model-tools.js +175 -0
  133. package/dist/tools/model-tools.js.map +1 -0
  134. package/dist/tools/profile-tools.d.ts +13 -1
  135. package/dist/tools/profile-tools.js +80 -113
  136. package/dist/tools/profile-tools.js.map +1 -1
  137. package/dist/tools/promote-tools.js +91 -4
  138. package/dist/tools/promote-tools.js.map +1 -1
  139. package/dist/tools/query-tools.d.ts +13 -1
  140. package/dist/tools/query-tools.js +358 -121
  141. package/dist/tools/query-tools.js.map +1 -1
  142. package/dist/tools/store-tools.d.ts +5 -2
  143. package/dist/tools/store-tools.js +94 -74
  144. package/dist/tools/store-tools.js.map +1 -1
  145. package/dist/tools/theory-tools.js +24 -0
  146. package/dist/tools/theory-tools.js.map +1 -1
  147. package/dist/types.d.ts +641 -229
  148. package/dist/types.js +186 -134
  149. package/dist/types.js.map +1 -1
  150. package/misc/work-notes/main 20260224.txt +98 -0
  151. package/misc/work-notes/plans/20260220084456_UNKNOWN_Issue-#24-Episode/343/202/277/343/202/244/343/203/210/343/203/253/343/201/256-Qiita/346/226/271/345/274/217/343/202/254/343/202/244.md +52 -0
  152. package/misc/work-notes/plans/20260220095602_UNKNOWN_Issue-#10-/346/233/270/343/201/215/350/276/274/343/201/277/346/231/202/343/201/256/343/202/263/343/203/263/343/203/206/343/203/263/343/203/204Lint/346/251/237.md +120 -0
  153. package/misc/work-notes/plans/20260220100439_UNKNOWN_Issue-#10-/346/233/270/343/201/215/350/276/274/343/201/277/346/231/202/343/201/256/343/202/263/343/203/263/343/203/206/343/203/263/343/203/204Lint/346/251/237.md +156 -0
  154. package/misc/work-notes/plans/20260220110445_UNKNOWN_Issue-#11-/343/203/227/343/203/255/343/203/225/343/202/241/343/202/244/343/203/253/350/246/201/347/264/204/343/201/256/343/202/271/343/202/263/343/202/242/343/203/252/303/243.md +154 -0
  155. package/misc/work-notes/plans/20260220114035_UNKNOWN_Issue-#15-/343/202/263/343/203/263/343/203/206/343/202/255/343/202/271/343/203/210/344/272/210/347/256/227API/357/274/210token-budg.md +178 -0
  156. package/misc/work-notes/plans/20260220133902_UNKNOWN_Issue-#16-/343/202/257/343/203/251/343/202/244/343/202/242/343/203/263/343/203/210/345/210/245/343/203/235/343/203/252/343/202/267/343/203/274/345/261/244/357/274/210r.md +284 -0
  157. package/misc/work-notes/plans/20260220151356_UNKNOWN_Issue-#28-V9/343/203/236/343/202/244/343/202/260/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/347/265/261/345/220/210/357/274/210#23-+.md +178 -0
  158. package/misc/work-notes/plans/20260227042805_UNKNOWN_config.json-/343/202/254/343/202/244/343/203/211/346/225/264/345/202/231-+-MCP-resourceprompt-/303/250.md +90 -0
  159. package/misc/work-notes/plans/20260302113135_UNKNOWN_MCP/343/203/204/343/203/274/343/203/253/343/203/210/343/203/274/343/202/257/343/203/263/343/203/200/343/202/244/343/202/250/343/203/203/343/203/210-(~17,370-/303/242.md +152 -0
  160. package/misc/work-notes/plans/20260302151940_UNKNOWN_README.md-/347/217/276/350/241/214API/345/217/215/346/230/240/343/202/242/343/203/203/343/203/227/343/203/207/343/203/274/343/203/210.md +87 -0
  161. package/misc/work-notes/plans/20260302173113_UNKNOWN_watashi-manage-claim-/343/202/250/343/203/251/343/203/274/346/224/271/345/226/204-+-search-summ.md +70 -0
  162. package/misc/work-notes/plans/20260303091511_UNKNOWN_Issue-#60-entity-type-/347/234/201/347/225/245/345/257/276/345/277/234-/342/200/224-ID/345/206/205/351/203/250/350/247/243.md +205 -0
  163. package/misc/work-notes/plans/20260304152700_UNKNOWN_Issue-#61-setup-/343/202/263/343/203/236/343/203/263/343/203/211/343/201/247-MCP-/343/202/265/343/203/274/343/203/220/343/203/274/303/247/302/231.md +67 -0
  164. package/misc/work-notes/plans/20260304170153_UNKNOWN_Issue-#54-user-memoplanissue-/343/201/256-content-/342/206/222-l1-co.md +76 -0
  165. package/package.json +12 -2
  166. package/scripts/backfill-search-summary.mjs +219 -0
  167. package/scripts/migrate-theories.mjs +231 -0
  168. package/{watashi-db-cowork-plugin.zip → watashi-db-plugin.zip} +0 -0
  169. package/dist/config/instance.d.ts +0 -10
  170. package/dist/config/instance.js +0 -39
  171. package/dist/config/instance.js.map +0 -1
  172. package/dist/config/types.d.ts +0 -116
  173. package/dist/config/types.js +0 -37
  174. package/dist/config/types.js.map +0 -1
package/dist/constants.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import path from "node:path";
2
2
  import os from "node:os";
3
- // DBファイル配置: ~/.watashi-db/watashi.db(ユーザーホーム配下、プロジェクト非依存)
3
+ // DBファイル配置: ~/.watashi-db/default.db(ユーザーホーム配下、プロジェクト非依存)
4
4
  export const DB_DIR = path.join(os.homedir(), ".watashi-db");
5
- export const DB_PATH = path.join(DB_DIR, "watashi.db");
5
+ export const DB_PATH = path.join(DB_DIR, "default.db");
6
+ // 旧デフォルトDB名(自動リネームマイグレーション用)
7
+ export const LEGACY_DB_PATH = path.join(DB_DIR, "watashi.db");
6
8
  // マルチStore設定ファイル
7
9
  export const CONFIG_PATH = path.join(DB_DIR, "config.json");
8
10
  // SQLite busy_timeout(ms)— 他プロセスがロック中でも指定時間まで待機
@@ -11,7 +13,7 @@ export const BUSY_TIMEOUT_MS = 5000;
11
13
  export const SERVER_NAME = "watashi-db";
12
14
  // 2026-02-11 修正: 実態に合わせてv0.0.1に変更(Codexレビュー指摘)
13
15
  // 元の実装: 0.1.0 としていたが、初期実装段階のため0.0.1が適切
14
- export const SERVER_VERSION = "0.0.7";
16
+ export const SERVER_VERSION = "0.0.8";
15
17
  // Claimのカテゴリ一覧
16
18
  export const CLAIM_CATEGORIES = [
17
19
  "preference", // 好み・設定
@@ -53,4 +55,50 @@ export const THEORY_STATUSES = [
53
55
  "archived", // アーカイブ済み
54
56
  "promoted", // 別Storeへ昇格済み
55
57
  ];
58
+ // 2026-02-23 追加 (Issue #40): Insightのステータス
59
+ // Theoryから non_goals, open_questions を除外した軽量な知見エンティティ
60
+ export const INSIGHT_STATUSES = [
61
+ "active", // 有効
62
+ "archived", // アーカイブ済み
63
+ "promoted", // 別Storeへ昇格済み
64
+ ];
65
+ // 2026-02-23 追加 (Issue #40): Modelのステータス
66
+ // 抽象的思考フレームワーク・メンタルモデルを記録するエンティティ
67
+ export const MODEL_STATUSES = [
68
+ "active", // 有効
69
+ "archived", // アーカイブ済み
70
+ "promoted", // 別Storeへ昇格済み
71
+ ];
72
+ // Issue #45: UserMemoのステータス
73
+ // 2026-02-25 リネーム: MEMO_* → USER_MEMO_* (Issue #45 Phase 1)
74
+ // 元の実装: MEMO_STATUSES / MEMO_USAGE_POLICIES として定義されていた
75
+ export const USER_MEMO_STATUSES = [
76
+ "active", // 有効
77
+ "archived", // アーカイブ済み
78
+ ];
79
+ // Issue #45: UserMemoの可視性ポリシー
80
+ export const USER_MEMO_USAGE_POLICIES = [
81
+ "auto", // プロファイル・Hookで自動表示
82
+ "on_request", // 検索時のみ表示
83
+ "human_directed", // ユーザーが明示的に指示した場合のみ
84
+ ];
85
+ // Issue #57: UserPlanのステータス
86
+ export const USER_PLAN_STATUSES = [
87
+ "active", // 有効(進行中)
88
+ "completed", // 完了
89
+ "archived", // アーカイブ済み
90
+ ];
91
+ // Issue #57: UserIssueのステータス
92
+ export const USER_ISSUE_STATUSES = [
93
+ "open", // オープン
94
+ "closed", // クローズ
95
+ "archived", // アーカイブ済み
96
+ ];
97
+ // Issue #57: UserIssueの優先度
98
+ export const USER_ISSUE_PRIORITIES = [
99
+ "low", // 低
100
+ "medium", // 中
101
+ "high", // 高
102
+ "critical", // 緊急
103
+ ];
56
104
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,0DAA0D;AAC1D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEvD,iBAAiB;AACjB,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE5D,gDAAgD;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,YAAY;AACZ,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AACxC,+CAA+C;AAC/C,uCAAuC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,eAAe;AACf,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY,EAAG,QAAQ;IACvB,UAAU,EAAK,gBAAgB;IAC/B,OAAO,EAAQ,SAAS;IACxB,OAAO,EAAQ,SAAS;IACxB,UAAU,EAAK,cAAc;IAC7B,WAAW,EAAI,QAAQ;IACvB,QAAQ,EAAO,OAAO;CACd,CAAC;AAEX,eAAe;AACf,gCAAgC;AAChC,4CAA4C;AAC5C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAO,QAAQ;IACvB,SAAS,EAAM,6BAA6B;IAC5C,SAAS,EAAM,8BAA8B;IAC7C,MAAM,EAAS,wBAAwB;IACvC,UAAU,EAAK,SAAS;CAChB,CAAC;AAEX,wBAAwB;AACxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAO,KAAK;IACpB,WAAW,EAAI,OAAO;IACtB,YAAY,EAAG,YAAY;IAC3B,UAAU,EAAK,cAAc;CACrB,CAAC;AAEX,aAAa;AACb,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAO,KAAK;IACpB,UAAU,EAAK,OAAO;IACtB,UAAU,EAAK,KAAK;IACpB,UAAU,EAAK,cAAc;CACrB,CAAC;AAEX,eAAe;AACf,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAO,KAAK;IACpB,UAAU,EAAK,UAAU;IACzB,UAAU,EAAK,cAAc;CACrB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  * 最も関連性の高いレコードをMarkdown形式で返す。
5
5
  */
6
6
  import type { StoreManager } from "./store/store-manager.js";
7
- import type { ClaimRow, DecisionRow, EpisodeRow, TheoryRow, ContextPackMode } from "./types.js";
7
+ import type { ClaimRow, DecisionRow, EpisodeRow, TheoryRow, InsightRow, ModelRow } from "./types.js";
8
+ type ContextPackMode = "implementation" | "design" | "retrospective";
8
9
  /**
9
10
  * 文字種別トークン推定。
10
11
  * - ASCII文字: 4文字/token
@@ -17,6 +18,8 @@ export declare function renderClaim(claim: ClaimRow, detail: DetailLevel): strin
17
18
  export declare function renderDecision(decision: DecisionRow, detail: DetailLevel): string;
18
19
  export declare function renderEpisode(episode: EpisodeRow, detail: DetailLevel): string;
19
20
  export declare function renderTheory(theory: TheoryRow, detail: DetailLevel): string;
21
+ export declare function renderInsight(insight: InsightRow, detail: DetailLevel): string;
22
+ export declare function renderModel(model: ModelRow, detail: DetailLevel): string;
20
23
  interface ScoredItem<T> {
21
24
  item: T;
22
25
  score: number;
@@ -41,8 +44,10 @@ export interface ContextPackResult {
41
44
  included_decisions: number;
42
45
  included_episodes: number;
43
46
  included_theories: number;
47
+ included_insights: number;
48
+ included_models: number;
44
49
  };
45
50
  }
46
- export declare function buildContextPack(manager: StoreManager, contextName: string, topic: string, tokenBudget: number, mode: ContextPackMode, scope?: string): ContextPackResult;
51
+ export declare function buildContextPack(manager: StoreManager, contextName: string, topic: string, tokenBudget: number, mode: ContextPackMode, scope?: string, queryVector?: Float32Array): ContextPackResult;
47
52
  export {};
48
53
  //# sourceMappingURL=context-pack.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { computeClaimScore, computeRecencyScore } from "./scoring.js";
2
- import { federatedQueryContext, federatedSearchClaims, federatedListDecisions, federatedListEpisodes, federatedListTheories, } from "./store/federation.js";
2
+ import { federatedQueryContext, federatedSearchClaims, federatedListDecisions, federatedListEpisodes, federatedListTheories, federatedListInsights, federatedListModels, } from "./store/federation.js";
3
3
  // === トークン推定 ===
4
4
  /**
5
5
  * 文字種別トークン推定。
@@ -22,26 +22,37 @@ export function estimateTokens(text) {
22
22
  }
23
23
  return Math.ceil(asciiCount / 4 + nonAsciiCount / 1.5);
24
24
  }
25
+ // 2026-02-23 修正 (Issue #40 Phase 2): 6エンティティ版に再バランス
26
+ // 元の実装 (4エンティティ):
27
+ // implementation: claim=0.40, decision=0.20, episode=0.20, theory=0.20
28
+ // design: claim=0.30, decision=0.25, episode=0.25, theory=0.20
29
+ // retrospective: claim=0.15, decision=0.25, episode=0.45, theory=0.15
25
30
  const MODE_CONFIGS = {
26
31
  implementation: {
27
- claimRatio: 0.40,
32
+ claimRatio: 0.35,
28
33
  decisionRatio: 0.20,
29
- episodeRatio: 0.20,
30
- theoryRatio: 0.20,
34
+ episodeRatio: 0.15,
35
+ theoryRatio: 0.10,
36
+ insightRatio: 0.10,
37
+ modelRatio: 0.10,
31
38
  priorityCategories: ["skill", "workflow", "knowledge"],
32
39
  },
33
40
  design: {
34
- claimRatio: 0.30,
35
- decisionRatio: 0.25,
36
- episodeRatio: 0.25,
37
- theoryRatio: 0.20,
41
+ claimRatio: 0.25,
42
+ decisionRatio: 0.20,
43
+ episodeRatio: 0.15,
44
+ theoryRatio: 0.15,
45
+ insightRatio: 0.10,
46
+ modelRatio: 0.15,
38
47
  priorityCategories: ["value", "preference", "knowledge"],
39
48
  },
40
49
  retrospective: {
41
- claimRatio: 0.15,
42
- decisionRatio: 0.25,
43
- episodeRatio: 0.45,
44
- theoryRatio: 0.15,
50
+ claimRatio: 0.10,
51
+ decisionRatio: 0.15,
52
+ episodeRatio: 0.35,
53
+ theoryRatio: 0.10,
54
+ insightRatio: 0.20,
55
+ modelRatio: 0.10,
45
56
  priorityCategories: ["value", "preference", "identity"],
46
57
  },
47
58
  };
@@ -54,24 +65,26 @@ export function renderClaim(claim, detail) {
54
65
  const confTag = claim.confidence < 0.8 ? ` (conf: ${claim.confidence})` : "";
55
66
  return `- **${claim.subject}** ${claim.predicate} ${claim.object}${scopeTag}${confTag}`;
56
67
  }
68
+ // 2026-03-01 修正 (Issue #59): reasoning → l2_reasoning
57
69
  export function renderDecision(decision, detail) {
58
70
  if (detail === "minimal") {
59
71
  return `- ${decision.title}`;
60
72
  }
61
73
  // compact
62
- const reasoning = decision.reasoning.length > 80
63
- ? decision.reasoning.slice(0, 77) + "..."
64
- : decision.reasoning;
74
+ const reasoning = decision.l2_reasoning.length > 80
75
+ ? decision.l2_reasoning.slice(0, 77) + "..."
76
+ : decision.l2_reasoning;
65
77
  return `- **${decision.title}**: ${reasoning}`;
66
78
  }
67
79
  export function renderEpisode(episode, detail) {
68
80
  if (detail === "minimal") {
69
81
  return `- ${episode.title}`;
70
82
  }
71
- // compact: title + principles
83
+ // compact: title + l2_principles
84
+ // 2026-03-01 修正 (Issue #59): principles → l2_principles
72
85
  let principlesList = [];
73
86
  try {
74
- const parsed = JSON.parse(episode.principles);
87
+ const parsed = JSON.parse(episode.l2_principles);
75
88
  if (Array.isArray(parsed))
76
89
  principlesList = parsed;
77
90
  }
@@ -82,19 +95,50 @@ export function renderEpisode(episode, detail) {
82
95
  const principlesStr = principlesList.map(p => ` - ${p}`).join("\n");
83
96
  return `- **${episode.title}**\n${principlesStr}`;
84
97
  }
98
+ // 2026-03-01 修正 (Issue #59): core_thesis → l2_core_thesis
85
99
  export function renderTheory(theory, detail) {
86
100
  if (detail === "minimal") {
87
101
  return `- ${theory.title}`;
88
102
  }
89
- // compact: title + core_thesis
90
- const thesis = theory.core_thesis
91
- ? (theory.core_thesis.length > 80 ? theory.core_thesis.slice(0, 77) + "..." : theory.core_thesis)
103
+ // compact: title + l2_core_thesis
104
+ const thesis = theory.l2_core_thesis
105
+ ? (theory.l2_core_thesis.length > 80 ? theory.l2_core_thesis.slice(0, 77) + "..." : theory.l2_core_thesis)
92
106
  : null;
93
107
  if (thesis) {
94
108
  return `- **${theory.title}**: ${thesis}`;
95
109
  }
96
110
  return `- **${theory.title}**`;
97
111
  }
112
+ // 2026-02-23 追加 (Issue #40 Phase 2): Insight レンダリング
113
+ // 2026-03-01 修正 (Issue #53): core_thesis → l2_core_thesis
114
+ export function renderInsight(insight, detail) {
115
+ if (detail === "minimal") {
116
+ return `- ${insight.title}`;
117
+ }
118
+ // compact: title + l2_core_thesis
119
+ const thesis = insight.l2_core_thesis
120
+ ? (insight.l2_core_thesis.length > 80 ? insight.l2_core_thesis.slice(0, 77) + "..." : insight.l2_core_thesis)
121
+ : null;
122
+ if (thesis) {
123
+ return `- **${insight.title}**: ${thesis}`;
124
+ }
125
+ return `- **${insight.title}**`;
126
+ }
127
+ // 2026-02-23 追加 (Issue #40 Phase 2): Model レンダリング
128
+ // 2026-03-01 修正 (Issue #59): core_thesis → l2_core_thesis
129
+ export function renderModel(model, detail) {
130
+ if (detail === "minimal") {
131
+ return `- ${model.title}`;
132
+ }
133
+ // compact: title + l2_core_thesis
134
+ const thesis = model.l2_core_thesis
135
+ ? (model.l2_core_thesis.length > 80 ? model.l2_core_thesis.slice(0, 77) + "..." : model.l2_core_thesis)
136
+ : null;
137
+ if (thesis) {
138
+ return `- **${model.title}**: ${thesis}`;
139
+ }
140
+ return `- **${model.title}**`;
141
+ }
98
142
  /**
99
143
  * 予算内でスコア順にgreedy fill。
100
144
  * 全体の残予算が30%以下になったらminimalに切り替え。
@@ -119,10 +163,13 @@ export function greedyFill(scoredItems, renderFn, budget, totalBudget, usedToken
119
163
  return { rendered, usedTokens };
120
164
  }
121
165
  // === メインAPI ===
122
- export function buildContextPack(manager, contextName, topic, tokenBudget, mode, scope) {
166
+ // 2026-02-23 修正 (Issue #40 Phase 2): 6エンティティ対応(Insight/Model追加)
167
+ // 元の実装: 4エンティティ(Claims/Decisions/Episodes/Theories)のみ
168
+ export function buildContextPack(manager, contextName, topic, tokenBudget, mode, scope, queryVector) {
123
169
  const modeConfig = MODE_CONFIGS[mode];
124
170
  // 1. federatedQueryContext でトピック関連の候補を取得
125
- const { claims: topicClaims, decisions: topicDecisions, episodes: topicEpisodes, theories: topicTheories } = federatedQueryContext(manager, contextName, topic, scope, 50);
171
+ // 2026-02-22 追加 (Issue #29): queryVector をフェデレーション検索に渡してハイブリッド検索
172
+ const { claims: topicClaims, decisions: topicDecisions, episodes: topicEpisodes, theories: topicTheories, insights: topicInsights, models: topicModels } = federatedQueryContext(manager, contextName, topic, scope, 50, queryVector);
126
173
  // 2. 追加で federatedSearchClaims をモード優先カテゴリ順に取得
127
174
  const additionalClaims = [];
128
175
  for (const category of modeConfig.priorityCategories) {
@@ -135,7 +182,7 @@ export function buildContextPack(manager, contextName, topic, tokenBudget, mode,
135
182
  });
136
183
  additionalClaims.push(...catClaims);
137
184
  }
138
- // 追加でDecision/Episodes/Theoriesも取得(トピック検索で漏れた分を補完)
185
+ // 追加でDecision/Episodes/Theories/Insights/Modelsも取得(トピック検索で漏れた分を補完)
139
186
  const additionalDecisions = federatedListDecisions(manager, contextName, {
140
187
  scope, status: "active", limit: 20,
141
188
  });
@@ -145,6 +192,13 @@ export function buildContextPack(manager, contextName, topic, tokenBudget, mode,
145
192
  const additionalTheories = federatedListTheories(manager, contextName, {
146
193
  scope, status: "active", limit: 20,
147
194
  });
195
+ // 2026-02-23 追加 (Issue #40 Phase 2): Insight/Model 補完取得
196
+ const additionalInsights = federatedListInsights(manager, contextName, {
197
+ scope, status: "active", limit: 20,
198
+ });
199
+ const additionalModels = federatedListModels(manager, contextName, {
200
+ scope, status: "active", limit: 20,
201
+ });
148
202
  // 3. 重複排除してスコア付き候補リストを構築
149
203
  const claimMap = new Map();
150
204
  for (const c of [...topicClaims, ...additionalClaims]) {
@@ -170,10 +224,25 @@ export function buildContextPack(manager, contextName, topic, tokenBudget, mode,
170
224
  theoryMap.set(t.id, { item: t, score: computeRecencyScore(t.updated_at) });
171
225
  }
172
226
  }
227
+ // 2026-02-23 追加 (Issue #40 Phase 2): Insight/Model 重複排除マップ
228
+ const insightMap = new Map();
229
+ for (const i of [...topicInsights, ...additionalInsights]) {
230
+ if (!insightMap.has(i.id)) {
231
+ insightMap.set(i.id, { item: i, score: computeRecencyScore(i.updated_at) });
232
+ }
233
+ }
234
+ const modelMap = new Map();
235
+ for (const m of [...topicModels, ...additionalModels]) {
236
+ if (!modelMap.has(m.id)) {
237
+ modelMap.set(m.id, { item: m, score: computeRecencyScore(m.updated_at) });
238
+ }
239
+ }
173
240
  const allClaims = [...claimMap.values()];
174
241
  const allDecisions = [...decisionMap.values()];
175
242
  const allEpisodes = [...episodeMap.values()];
176
243
  const allTheories = [...theoryMap.values()];
244
+ const allInsights = [...insightMap.values()];
245
+ const allModels = [...modelMap.values()];
177
246
  // 4. ヘッダのトークンを予約(topicが長い場合は切り詰め)
178
247
  const maxTopicTokens = Math.floor(tokenBudget * 0.1); // ヘッダに使えるのは予算の10%まで
179
248
  let displayTopic = topic;
@@ -193,10 +262,13 @@ export function buildContextPack(manager, contextName, topic, tokenBudget, mode,
193
262
  }
194
263
  const header = `# コンテキスト: ${displayTopic}\n`;
195
264
  const headerTokens = estimateTokens(header);
265
+ // 2026-02-23 修正 (Issue #40 Phase 2): セクションヘッダに Insights/Models を追加
196
266
  const sectionHeaders = estimateTokens("## Claims\n") +
197
267
  estimateTokens("## Decisions\n") +
198
268
  estimateTokens("## Episodes\n") +
199
- estimateTokens("## Theories\n");
269
+ estimateTokens("## Theories\n") +
270
+ estimateTokens("## Insights\n") +
271
+ estimateTokens("## Models\n");
200
272
  const availableBudget = tokenBudget - headerTokens - sectionHeaders;
201
273
  if (availableBudget <= 0) {
202
274
  return {
@@ -205,6 +277,7 @@ export function buildContextPack(manager, contextName, topic, tokenBudget, mode,
205
277
  topic: displayTopic, mode, token_budget: tokenBudget,
206
278
  estimated_tokens: headerTokens,
207
279
  included_claims: 0, included_decisions: 0, included_episodes: 0, included_theories: 0,
280
+ included_insights: 0, included_models: 0,
208
281
  },
209
282
  };
210
283
  }
@@ -213,26 +286,47 @@ export function buildContextPack(manager, contextName, topic, tokenBudget, mode,
213
286
  let decisionBudget = Math.floor(availableBudget * modeConfig.decisionRatio);
214
287
  let episodeBudget = Math.floor(availableBudget * modeConfig.episodeRatio);
215
288
  let theoryBudget = Math.floor(availableBudget * modeConfig.theoryRatio);
289
+ let insightBudget = Math.floor(availableBudget * modeConfig.insightRatio);
290
+ let modelBudget = Math.floor(availableBudget * modeConfig.modelRatio);
216
291
  // 6. 各エンティティ予算内でgreedy fill + 未使用予算の再配分
217
292
  // グローバル累積: ヘッダ+セクションヘッダ分を初期値とする
218
293
  const baseUsed = headerTokens + sectionHeaders;
219
294
  const claimResult = greedyFill(allClaims, renderClaim, claimBudget, tokenBudget, baseUsed);
220
295
  const unusedClaims = claimBudget - claimResult.usedTokens;
221
- // 未使用予算を次に再配分
222
- decisionBudget += Math.floor(unusedClaims / 3);
223
- episodeBudget += Math.floor(unusedClaims / 3);
224
- theoryBudget += Math.floor(unusedClaims / 3);
296
+ // 未使用予算を残り5エンティティに再配分
297
+ decisionBudget += Math.floor(unusedClaims / 5);
298
+ episodeBudget += Math.floor(unusedClaims / 5);
299
+ theoryBudget += Math.floor(unusedClaims / 5);
300
+ insightBudget += Math.floor(unusedClaims / 5);
301
+ modelBudget += Math.floor(unusedClaims / 5);
225
302
  const globalAfterClaims = baseUsed + claimResult.usedTokens;
226
303
  const decisionResult = greedyFill(allDecisions, renderDecision, decisionBudget, tokenBudget, globalAfterClaims);
227
304
  const unusedDecisions = decisionBudget - decisionResult.usedTokens;
228
- episodeBudget += Math.floor(unusedDecisions / 2);
229
- theoryBudget += Math.floor(unusedDecisions / 2);
305
+ // 未使用予算を残り4エンティティに再配分
306
+ episodeBudget += Math.floor(unusedDecisions / 4);
307
+ theoryBudget += Math.floor(unusedDecisions / 4);
308
+ insightBudget += Math.floor(unusedDecisions / 4);
309
+ modelBudget += Math.floor(unusedDecisions / 4);
230
310
  const globalAfterDecisions = globalAfterClaims + decisionResult.usedTokens;
231
311
  const episodeResult = greedyFill(allEpisodes, renderEpisode, episodeBudget, tokenBudget, globalAfterDecisions);
232
312
  const unusedEpisodes = episodeBudget - episodeResult.usedTokens;
233
- theoryBudget += unusedEpisodes;
313
+ // 未使用予算を残り3エンティティに再配分
314
+ theoryBudget += Math.floor(unusedEpisodes / 3);
315
+ insightBudget += Math.floor(unusedEpisodes / 3);
316
+ modelBudget += Math.floor(unusedEpisodes / 3);
234
317
  const globalAfterEpisodes = globalAfterDecisions + episodeResult.usedTokens;
235
318
  const theoryResult = greedyFill(allTheories, renderTheory, theoryBudget, tokenBudget, globalAfterEpisodes);
319
+ const unusedTheories = theoryBudget - theoryResult.usedTokens;
320
+ // 未使用予算を残り2エンティティに再配分
321
+ insightBudget += Math.floor(unusedTheories / 2);
322
+ modelBudget += Math.floor(unusedTheories / 2);
323
+ const globalAfterTheories = globalAfterEpisodes + theoryResult.usedTokens;
324
+ const insightResult = greedyFill(allInsights, renderInsight, insightBudget, tokenBudget, globalAfterTheories);
325
+ const unusedInsights = insightBudget - insightResult.usedTokens;
326
+ // 未使用予算を最後のエンティティに全配分
327
+ modelBudget += unusedInsights;
328
+ const globalAfterInsights = globalAfterTheories + insightResult.usedTokens;
329
+ const modelResult = greedyFill(allModels, renderModel, modelBudget, tokenBudget, globalAfterInsights);
236
330
  // 7. Markdown組み立て
237
331
  const sections = [header];
238
332
  if (claimResult.rendered.length > 0) {
@@ -255,6 +349,16 @@ export function buildContextPack(manager, contextName, topic, tokenBudget, mode,
255
349
  sections.push(theoryResult.rendered.join("\n"));
256
350
  sections.push("");
257
351
  }
352
+ if (insightResult.rendered.length > 0) {
353
+ sections.push("## Insights\n");
354
+ sections.push(insightResult.rendered.join("\n"));
355
+ sections.push("");
356
+ }
357
+ if (modelResult.rendered.length > 0) {
358
+ sections.push("## Models\n");
359
+ sections.push(modelResult.rendered.join("\n"));
360
+ sections.push("");
361
+ }
258
362
  const markdown = sections.join("\n");
259
363
  const estimatedTokens = estimateTokens(markdown);
260
364
  return {
@@ -268,6 +372,8 @@ export function buildContextPack(manager, contextName, topic, tokenBudget, mode,
268
372
  included_decisions: decisionResult.rendered.length,
269
373
  included_episodes: episodeResult.rendered.length,
270
374
  included_theories: theoryResult.rendered.length,
375
+ included_insights: insightResult.rendered.length,
376
+ included_models: modelResult.rendered.length,
271
377
  },
272
378
  };
273
379
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-pack.js","sourceRoot":"","sources":["../src/context-pack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-pack.js","sourceRoot":"","sources":["../src/context-pack.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,iBAAiB;AAEjB;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;YAC9B,UAAU,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,aAAa,GAAG,GAAG,CAAC,CAAC;AACzD,CAAC;AAgBD,oDAAoD;AACpD,kBAAkB;AAClB,yEAAyE;AACzE,iEAAiE;AACjE,wEAAwE;AACxE,MAAM,YAAY,GAAwC;IACxD,cAAc,EAAE;QACd,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC;KACvD;IACD,MAAM,EAAE;QACN,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC;KACzD;IACD,aAAa,EAAE;QACb,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;KACxD;CACF,CAAC;AAMF,MAAM,UAAU,WAAW,CAAC,KAAe,EAAE,MAAmB;IAC9D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;IACD,UAAU;IACV,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,OAAO,OAAO,KAAK,CAAC,OAAO,MAAM,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC;AAC1F,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,cAAc,CAAC,QAAqB,EAAE,MAAmB;IACvE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IACD,UAAU;IACV,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE;QACjD,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;QAC5C,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC1B,OAAO,OAAO,QAAQ,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAmB,EAAE,MAAmB;IACpE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IACD,iCAAiC;IACjC,wDAAwD;IACxD,IAAI,cAAc,GAAa,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,cAAc,GAAG,MAAM,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACxB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,OAAO,OAAO,CAAC,KAAK,IAAI,CAAC;IAClC,CAAC;IACD,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,OAAO,OAAO,OAAO,CAAC,KAAK,OAAO,aAAa,EAAE,CAAC;AACpD,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,YAAY,CAAC,MAAiB,EAAE,MAAmB;IACjE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IACD,kCAAkC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc;QAClC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;QAC1G,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,OAAO,MAAM,CAAC,KAAK,OAAO,MAAM,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,OAAO,MAAM,CAAC,KAAK,IAAI,CAAC;AACjC,CAAC;AAED,oDAAoD;AACpD,0DAA0D;AAC1D,MAAM,UAAU,aAAa,CAAC,OAAmB,EAAE,MAAmB;IACpE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IACD,kCAAkC;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc;QACnC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC7G,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,OAAO,OAAO,CAAC,KAAK,OAAO,MAAM,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,OAAO,CAAC,KAAK,IAAI,CAAC;AAClC,CAAC;AAED,kDAAkD;AAClD,0DAA0D;AAC1D,MAAM,UAAU,WAAW,CAAC,KAAe,EAAE,MAAmB;IAC9D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IACD,kCAAkC;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc;QACjC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;QACvG,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,OAAO,KAAK,CAAC,KAAK,OAAO,MAAM,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,OAAO,KAAK,CAAC,KAAK,IAAI,CAAC;AAChC,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,WAA4B,EAC5B,QAAkD,EAClD,MAAc,EACd,WAAmB,EACnB,mBAA2B,CAAC;IAE5B,WAAW;IACX,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,gBAAgB,GAAG,UAAU,CAAC;QACjD,MAAM,MAAM,GAAgB,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACpG,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;YACjC,SAAS,CAAC,uCAAuC;QACnD,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,UAAU,IAAI,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC;AAqBD,iBAAiB;AAEjB,gEAAgE;AAChE,sDAAsD;AACtD,MAAM,UAAU,gBAAgB,CAC9B,OAAqB,EACrB,WAAmB,EACnB,KAAa,EACb,WAAmB,EACnB,IAAqB,EACrB,KAAc,EACd,WAA0B;IAE1B,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtC,yCAAyC;IACzC,iEAAiE;IACjE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,GACtJ,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;IAE7E,8CAA8C;IAC9C,MAAM,gBAAgB,GAAe,EAAE,CAAC;IACxC,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE;YAC5D,QAAQ;YACR,KAAK;YACL,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,EAAE;YACT,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,gBAAgB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,mEAAmE;IACnE,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE;QACvE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;KACnC,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE;QACrE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;KACnC,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE;QACrE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;KACnC,CAAC,CAAC;IACH,wDAAwD;IACxD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE;QACrE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;KACnC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE;QACjE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;KACnC,CAAC,CAAC;IAEH,yBAAyB;IACzB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC/D,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,EAAE,GAAG,mBAAmB,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,2DAA2D;IAC3D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzC,kCAAkC;IAClC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,oBAAoB;IAC1E,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,YAAY,GAAG,YAAY,CAAC;IAClC,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACzD,IAAI,cAAc,CAAC,YAAY,CAAC,GAAG,cAAc,GAAG,YAAY,EAAE,CAAC;QACjE,sBAAsB;QACtB,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,cAAc,GAAG,YAAY,EAAE,CAAC;YACvG,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,YAAY,IAAI,KAAK,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,YAAY,IAAI,CAAC;IAC7C,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,mEAAmE;IACnE,MAAM,cAAc,GAClB,cAAc,CAAC,aAAa,CAAC;QAC7B,cAAc,CAAC,gBAAgB,CAAC;QAChC,cAAc,CAAC,eAAe,CAAC;QAC/B,cAAc,CAAC,eAAe,CAAC;QAC/B,cAAc,CAAC,eAAe,CAAC;QAC/B,cAAc,CAAC,aAAa,CAAC,CAAC;IAChC,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC;IAEpE,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,QAAQ,EAAE,MAAM,GAAG,6BAA6B;YAChD,QAAQ,EAAE;gBACR,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW;gBACpD,gBAAgB,EAAE,YAAY;gBAC9B,eAAe,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC;gBACrF,iBAAiB,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC;aACzC;SACF,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5E,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1E,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1E,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEtE,wCAAwC;IACxC,gCAAgC;IAChC,MAAM,QAAQ,GAAG,YAAY,GAAG,cAAc,CAAC;IAE/C,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;IAE1D,sBAAsB;IACtB,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAC/C,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAC9C,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAC7C,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAC9C,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAE5C,MAAM,iBAAiB,GAAG,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC;IAC5D,MAAM,cAAc,GAAG,UAAU,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAChH,MAAM,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC;IAEnE,sBAAsB;IACtB,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IACjD,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IAChD,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IACjD,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IAE/C,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,cAAc,CAAC,UAAU,CAAC;IAC3E,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC/G,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC;IAEhE,sBAAsB;IACtB,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAC/C,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAChD,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAE9C,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,aAAa,CAAC,UAAU,CAAC;IAC5E,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC3G,MAAM,cAAc,GAAG,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC;IAE9D,sBAAsB;IACtB,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAChD,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAE9C,MAAM,mBAAmB,GAAG,mBAAmB,GAAG,YAAY,CAAC,UAAU,CAAC;IAC1E,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC9G,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC;IAEhE,sBAAsB;IACtB,WAAW,IAAI,cAAc,CAAC;IAE9B,MAAM,mBAAmB,GAAG,mBAAmB,GAAG,aAAa,CAAC,UAAU,CAAC;IAC3E,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAEtG,kBAAkB;IAClB,MAAM,QAAQ,GAAa,CAAC,MAAM,CAAC,CAAC;IAEpC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE;YACR,KAAK,EAAE,YAAY;YACnB,IAAI;YACJ,YAAY,EAAE,WAAW;YACzB,gBAAgB,EAAE,eAAe;YACjC,eAAe,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM;YAC5C,kBAAkB,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM;YAClD,iBAAiB,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM;YAChD,iBAAiB,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM;YAC/C,iBAAiB,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM;YAChD,eAAe,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM;SAC7C;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type DatabaseType from "better-sqlite3";
2
+ import type { ProvenanceData } from "../provenance.js";
3
+ /** アーカイブ対象テーブル(Phase 1) */
4
+ export declare const ARCHIVABLE_TABLES: readonly ["audit_log", "claim_history"];
5
+ export type ArchivableTable = (typeof ARCHIVABLE_TABLES)[number];
6
+ export interface ArchiveCounts {
7
+ audit_log: number;
8
+ claim_history: number;
9
+ }
10
+ export interface ArchiveResult {
11
+ archive_path: string | null;
12
+ archived_counts: ArchiveCounts;
13
+ cutoff_date: string;
14
+ dry_run: boolean;
15
+ }
16
+ /**
17
+ * カットオフ日時を計算する(現在時刻から指定日数前)
18
+ */
19
+ export declare function computeCutoffDate(olderThanDays: number): string;
20
+ /**
21
+ * アーカイブ対象のレコード数をカウントする
22
+ */
23
+ export declare function countArchiveTargets(db: DatabaseType.Database, cutoffDate: string, tables: readonly ArchivableTable[]): ArchiveCounts;
24
+ /**
25
+ * アーカイブDBを初期化する(元DBと同一テーブル構造 + archive_meta)
26
+ */
27
+ export declare function initializeArchiveDb(archivePath: string, cutoffDate: string): DatabaseType.Database;
28
+ /**
29
+ * アーカイブを実行する(レコードを別DBに移動し、元DBから削除)
30
+ *
31
+ * トランザクション内で ATTACH → INSERT → DELETE → DETACH を行う。
32
+ * claim_history は claims(id) へのFK参照があるため、削除時は foreign_keys を一時無効化する。
33
+ */
34
+ export declare function executeArchive(db: DatabaseType.Database, archivePath: string, cutoffDate: string, tables: readonly ArchivableTable[], provenance?: ProvenanceData): ArchiveCounts;
35
+ /**
36
+ * アーカイブファイル名を生成する
37
+ */
38
+ export declare function generateArchiveFileName(): string;
39
+ //# sourceMappingURL=archive.d.ts.map