@4da/mcp-server 4.3.0 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +61 -81
  2. package/dist/db.d.ts +12 -1
  3. package/dist/db.d.ts.map +1 -1
  4. package/dist/db.js +71 -8
  5. package/dist/db.js.map +1 -1
  6. package/dist/index.d.ts +9 -14
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +12 -17
  9. package/dist/index.js.map +1 -1
  10. package/dist/live/crates-registry.d.ts +18 -0
  11. package/dist/live/crates-registry.d.ts.map +1 -0
  12. package/dist/live/crates-registry.js +133 -0
  13. package/dist/live/crates-registry.js.map +1 -0
  14. package/dist/live/go-registry.d.ts +19 -0
  15. package/dist/live/go-registry.d.ts.map +1 -0
  16. package/dist/live/go-registry.js +127 -0
  17. package/dist/live/go-registry.js.map +1 -0
  18. package/dist/live/http-utils.d.ts +3 -0
  19. package/dist/live/http-utils.d.ts.map +1 -0
  20. package/dist/live/http-utils.js +20 -0
  21. package/dist/live/http-utils.js.map +1 -0
  22. package/dist/live/index.d.ts +7 -2
  23. package/dist/live/index.d.ts.map +1 -1
  24. package/dist/live/index.js +71 -0
  25. package/dist/live/index.js.map +1 -1
  26. package/dist/live/npm-registry.d.ts +19 -0
  27. package/dist/live/npm-registry.d.ts.map +1 -0
  28. package/dist/live/npm-registry.js +132 -0
  29. package/dist/live/npm-registry.js.map +1 -0
  30. package/dist/live/osv-scanner.d.ts.map +1 -1
  31. package/dist/live/osv-scanner.js +1 -10
  32. package/dist/live/osv-scanner.js.map +1 -1
  33. package/dist/live/pypi-registry.d.ts +18 -0
  34. package/dist/live/pypi-registry.d.ts.map +1 -0
  35. package/dist/live/pypi-registry.js +142 -0
  36. package/dist/live/pypi-registry.js.map +1 -0
  37. package/dist/live/rate-limiter.d.ts +12 -0
  38. package/dist/live/rate-limiter.d.ts.map +1 -1
  39. package/dist/live/rate-limiter.js +4 -0
  40. package/dist/live/rate-limiter.js.map +1 -1
  41. package/dist/live/semver-utils.d.ts +5 -0
  42. package/dist/live/semver-utils.d.ts.map +1 -0
  43. package/dist/live/semver-utils.js +28 -0
  44. package/dist/live/semver-utils.js.map +1 -0
  45. package/dist/live/types.d.ts +41 -0
  46. package/dist/live/types.d.ts.map +1 -1
  47. package/dist/schema-registry.d.ts +4 -2
  48. package/dist/schema-registry.d.ts.map +1 -1
  49. package/dist/schema-registry.js +55 -221
  50. package/dist/schema-registry.js.map +1 -1
  51. package/dist/schemas/dependency-health.json +27 -0
  52. package/dist/schemas/upgrade-planner.json +22 -0
  53. package/dist/tool-dispatch.d.ts +1 -7
  54. package/dist/tool-dispatch.d.ts.map +1 -1
  55. package/dist/tool-dispatch.js +14 -46
  56. package/dist/tool-dispatch.js.map +1 -1
  57. package/dist/tools/dependency-health.d.ts +45 -0
  58. package/dist/tools/dependency-health.d.ts.map +1 -0
  59. package/dist/tools/dependency-health.js +152 -0
  60. package/dist/tools/dependency-health.js.map +1 -0
  61. package/dist/tools/index.d.ts +13 -40
  62. package/dist/tools/index.d.ts.map +1 -1
  63. package/dist/tools/index.js +18 -52
  64. package/dist/tools/index.js.map +1 -1
  65. package/dist/tools/upgrade-planner.d.ts +59 -0
  66. package/dist/tools/upgrade-planner.d.ts.map +1 -0
  67. package/dist/tools/upgrade-planner.js +167 -0
  68. package/dist/tools/upgrade-planner.js.map +1 -0
  69. package/dist/tools/what-should-i-know.d.ts +4 -12
  70. package/dist/tools/what-should-i-know.d.ts.map +1 -1
  71. package/dist/tools/what-should-i-know.js +11 -102
  72. package/dist/tools/what-should-i-know.js.map +1 -1
  73. package/package.json +2 -2
  74. package/dist/schemas/agent-feedback-stats.json +0 -14
  75. package/dist/schemas/agent-session-brief.json +0 -25
  76. package/dist/schemas/attention-report.json +0 -13
  77. package/dist/schemas/autophagy-status.json +0 -13
  78. package/dist/schemas/compound-advantage.json +0 -14
  79. package/dist/schemas/config-validator.json +0 -18
  80. package/dist/schemas/context-analysis.json +0 -25
  81. package/dist/schemas/daily-briefing.json +0 -34
  82. package/dist/schemas/decision-windows.json +0 -22
  83. package/dist/schemas/delegation-score.json +0 -18
  84. package/dist/schemas/explain-relevance.json +0 -19
  85. package/dist/schemas/export-context.json +0 -17
  86. package/dist/schemas/llm-status.json +0 -13
  87. package/dist/schemas/preemption-feed.json +0 -18
  88. package/dist/schemas/project-health.json +0 -13
  89. package/dist/schemas/record-agent-feedback.json +0 -28
  90. package/dist/schemas/reverse-mentions.json +0 -13
  91. package/dist/schemas/score-autopsy.json +0 -30
  92. package/dist/schemas/semantic-shifts.json +0 -17
  93. package/dist/schemas/signal-chains.json +0 -19
  94. package/dist/schemas/source-health.json +0 -17
  95. package/dist/schemas/tech-radar.json +0 -23
  96. package/dist/schemas/topic-connections.json +0 -34
  97. package/dist/schemas/trend-analysis.json +0 -29
  98. package/dist/schemas/trust-summary.json +0 -13
  99. package/dist/tools/agent-feedback-stats.d.ts +0 -30
  100. package/dist/tools/agent-feedback-stats.d.ts.map +0 -1
  101. package/dist/tools/agent-feedback-stats.js +0 -41
  102. package/dist/tools/agent-feedback-stats.js.map +0 -1
  103. package/dist/tools/agent-session-brief.d.ts +0 -44
  104. package/dist/tools/agent-session-brief.d.ts.map +0 -1
  105. package/dist/tools/agent-session-brief.js +0 -179
  106. package/dist/tools/agent-session-brief.js.map +0 -1
  107. package/dist/tools/attention-report.d.ts +0 -40
  108. package/dist/tools/attention-report.d.ts.map +0 -1
  109. package/dist/tools/attention-report.js +0 -73
  110. package/dist/tools/attention-report.js.map +0 -1
  111. package/dist/tools/autophagy-status.d.ts +0 -25
  112. package/dist/tools/autophagy-status.d.ts.map +0 -1
  113. package/dist/tools/autophagy-status.js +0 -56
  114. package/dist/tools/autophagy-status.js.map +0 -1
  115. package/dist/tools/compound-advantage.d.ts +0 -30
  116. package/dist/tools/compound-advantage.d.ts.map +0 -1
  117. package/dist/tools/compound-advantage.js +0 -133
  118. package/dist/tools/compound-advantage.js.map +0 -1
  119. package/dist/tools/config-validator.d.ts +0 -59
  120. package/dist/tools/config-validator.d.ts.map +0 -1
  121. package/dist/tools/config-validator.js +0 -417
  122. package/dist/tools/config-validator.js.map +0 -1
  123. package/dist/tools/context-analysis.d.ts +0 -108
  124. package/dist/tools/context-analysis.d.ts.map +0 -1
  125. package/dist/tools/context-analysis.js +0 -301
  126. package/dist/tools/context-analysis.js.map +0 -1
  127. package/dist/tools/daily-briefing.d.ts +0 -103
  128. package/dist/tools/daily-briefing.d.ts.map +0 -1
  129. package/dist/tools/daily-briefing.js +0 -294
  130. package/dist/tools/daily-briefing.js.map +0 -1
  131. package/dist/tools/decision-windows.d.ts +0 -37
  132. package/dist/tools/decision-windows.d.ts.map +0 -1
  133. package/dist/tools/decision-windows.js +0 -67
  134. package/dist/tools/decision-windows.js.map +0 -1
  135. package/dist/tools/delegation-score.d.ts +0 -34
  136. package/dist/tools/delegation-score.d.ts.map +0 -1
  137. package/dist/tools/delegation-score.js +0 -260
  138. package/dist/tools/delegation-score.js.map +0 -1
  139. package/dist/tools/explain-relevance.d.ts +0 -36
  140. package/dist/tools/explain-relevance.d.ts.map +0 -1
  141. package/dist/tools/explain-relevance.js +0 -51
  142. package/dist/tools/explain-relevance.js.map +0 -1
  143. package/dist/tools/export-context.d.ts +0 -60
  144. package/dist/tools/export-context.d.ts.map +0 -1
  145. package/dist/tools/export-context.js +0 -179
  146. package/dist/tools/export-context.js.map +0 -1
  147. package/dist/tools/llm-status.d.ts +0 -45
  148. package/dist/tools/llm-status.d.ts.map +0 -1
  149. package/dist/tools/llm-status.js +0 -93
  150. package/dist/tools/llm-status.js.map +0 -1
  151. package/dist/tools/muse-context.d.ts +0 -195
  152. package/dist/tools/muse-context.d.ts.map +0 -1
  153. package/dist/tools/muse-context.js +0 -284
  154. package/dist/tools/muse-context.js.map +0 -1
  155. package/dist/tools/preemption-feed.d.ts +0 -55
  156. package/dist/tools/preemption-feed.d.ts.map +0 -1
  157. package/dist/tools/preemption-feed.js +0 -124
  158. package/dist/tools/preemption-feed.js.map +0 -1
  159. package/dist/tools/project-health.d.ts +0 -53
  160. package/dist/tools/project-health.d.ts.map +0 -1
  161. package/dist/tools/project-health.js +0 -122
  162. package/dist/tools/project-health.js.map +0 -1
  163. package/dist/tools/record-agent-feedback.d.ts +0 -46
  164. package/dist/tools/record-agent-feedback.d.ts.map +0 -1
  165. package/dist/tools/record-agent-feedback.js +0 -71
  166. package/dist/tools/record-agent-feedback.js.map +0 -1
  167. package/dist/tools/reverse-mentions.d.ts +0 -38
  168. package/dist/tools/reverse-mentions.d.ts.map +0 -1
  169. package/dist/tools/reverse-mentions.js +0 -75
  170. package/dist/tools/reverse-mentions.js.map +0 -1
  171. package/dist/tools/score-autopsy.d.ts +0 -93
  172. package/dist/tools/score-autopsy.d.ts.map +0 -1
  173. package/dist/tools/score-autopsy.js +0 -295
  174. package/dist/tools/score-autopsy.js.map +0 -1
  175. package/dist/tools/semantic-shifts.d.ts +0 -53
  176. package/dist/tools/semantic-shifts.d.ts.map +0 -1
  177. package/dist/tools/semantic-shifts.js +0 -74
  178. package/dist/tools/semantic-shifts.js.map +0 -1
  179. package/dist/tools/signal-chains.d.ts +0 -52
  180. package/dist/tools/signal-chains.d.ts.map +0 -1
  181. package/dist/tools/signal-chains.js +0 -63
  182. package/dist/tools/signal-chains.js.map +0 -1
  183. package/dist/tools/source-health.d.ts +0 -64
  184. package/dist/tools/source-health.d.ts.map +0 -1
  185. package/dist/tools/source-health.js +0 -205
  186. package/dist/tools/source-health.js.map +0 -1
  187. package/dist/tools/tech-radar.d.ts +0 -38
  188. package/dist/tools/tech-radar.d.ts.map +0 -1
  189. package/dist/tools/tech-radar.js +0 -249
  190. package/dist/tools/tech-radar.js.map +0 -1
  191. package/dist/tools/topic-connections.d.ts +0 -112
  192. package/dist/tools/topic-connections.d.ts.map +0 -1
  193. package/dist/tools/topic-connections.js +0 -319
  194. package/dist/tools/topic-connections.js.map +0 -1
  195. package/dist/tools/trend-analysis.d.ts +0 -105
  196. package/dist/tools/trend-analysis.d.ts.map +0 -1
  197. package/dist/tools/trend-analysis.js +0 -296
  198. package/dist/tools/trend-analysis.js.map +0 -1
  199. package/dist/tools/trust-summary.d.ts +0 -38
  200. package/dist/tools/trust-summary.d.ts.map +0 -1
  201. package/dist/tools/trust-summary.js +0 -89
  202. package/dist/tools/trust-summary.js.map +0 -1
@@ -1,56 +0,0 @@
1
- export const autophagyStatusTool = {
2
- name: "autophagy_status",
3
- description: "Get intelligence metabolism status — autophagy cycle history, calibration accuracy, anti-patterns detected, and scoring corrections applied",
4
- inputSchema: {
5
- type: "object",
6
- properties: {
7
- limit: {
8
- type: "number",
9
- description: "Maximum autophagy cycles to return. Default: 5",
10
- default: 5,
11
- },
12
- },
13
- },
14
- };
15
- function safeAll(rawDb, sql, ...args) {
16
- try {
17
- return rawDb.prepare(sql).all(...args);
18
- }
19
- catch {
20
- return [];
21
- } // Table may not exist yet
22
- }
23
- export function executeAutophagyStatus(db, params) {
24
- const rawDb = db.getRawDb();
25
- const limit = params.limit ?? 5;
26
- const cycles = safeAll(rawDb, `SELECT id, items_analyzed, calibrations_produced,
27
- anti_patterns_detected, duration_ms, created_at
28
- FROM autophagy_cycles ORDER BY created_at DESC LIMIT ?`, limit);
29
- const calibrations = safeAll(rawDb, `SELECT id, digest_type, content, confidence, created_at
30
- FROM digested_intelligence
31
- WHERE digest_type = 'calibration' AND superseded_by IS NULL
32
- ORDER BY created_at DESC`);
33
- const antiPatterns = safeAll(rawDb, `SELECT id, digest_type, content, confidence, created_at
34
- FROM digested_intelligence
35
- WHERE digest_type = 'anti_pattern' AND superseded_by IS NULL
36
- ORDER BY created_at DESC`);
37
- let totalCycles = 0;
38
- if (cycles.length > 0) {
39
- const row = rawDb.prepare("SELECT COUNT(*) as cnt FROM autophagy_cycles").get();
40
- totalCycles = row?.cnt ?? 0;
41
- }
42
- return {
43
- cycles,
44
- active_calibrations: calibrations,
45
- active_anti_patterns: antiPatterns,
46
- totals: {
47
- cycles_run: totalCycles,
48
- active_calibrations: calibrations.length,
49
- active_anti_patterns: antiPatterns.length,
50
- },
51
- summary: totalCycles === 0
52
- ? "No autophagy cycles have run yet. The metabolism system will activate as content accumulates."
53
- : `${totalCycles} cycles completed — ${calibrations.length} active calibrations, ${antiPatterns.length} active anti-patterns`,
54
- };
55
- }
56
- //# sourceMappingURL=autophagy-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autophagy-status.js","sourceRoot":"","sources":["../../src/tools/autophagy-status.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,6IAA6I;IAC/I,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gDAAgD;gBAC7D,OAAO,EAAE,CAAC;aACX;SACF;KACF;CACF,CAAC;AAEF,SAAS,OAAO,CAAI,KAA6C,EAAE,GAAW,EAAE,GAAG,IAAe;IAChG,IAAI,CAAC;QAAC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ,CAAC;IAAC,CAAC;IACtD,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC,CAAC,0BAA0B;AACjD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAkB,EAAE,MAA6B;IACtF,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,OAAO,CAAW,KAAK,EACpC;;4DAEwD,EAAE,KAAK,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,OAAO,CAAY,KAAK,EAC3C;;;8BAG0B,CAAC,CAAC;IAE9B,MAAM,YAAY,GAAG,OAAO,CAAY,KAAK,EAC3C;;;8BAG0B,CAAC,CAAC;IAE9B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,EAAiC,CAAC;QAC/G,WAAW,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,MAAM;QACN,mBAAmB,EAAE,YAAY;QACjC,oBAAoB,EAAE,YAAY;QAClC,MAAM,EAAE;YACN,UAAU,EAAE,WAAW;YACvB,mBAAmB,EAAE,YAAY,CAAC,MAAM;YACxC,oBAAoB,EAAE,YAAY,CAAC,MAAM;SAC1C;QACD,OAAO,EAAE,WAAW,KAAK,CAAC;YACxB,CAAC,CAAC,+FAA+F;YACjG,CAAC,CAAC,GAAG,WAAW,uBAAuB,YAAY,CAAC,MAAM,yBAAyB,YAAY,CAAC,MAAM,uBAAuB;KAChI,CAAC;AACJ,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * compound_advantage tool
3
- *
4
- * Compound advantage score — measures how effectively you leverage
5
- * 4DA intelligence for time-sensitive decisions.
6
- *
7
- * Now integrates with AWE Wisdom Graph — derives a compound score from
8
- * decision volume, feedback coverage, principle density, and validation ratio.
9
- */
10
- import type { FourDADatabase } from "../db.js";
11
- export interface CompoundAdvantageParams {
12
- period?: string;
13
- }
14
- export declare const compoundAdvantageTool: {
15
- name: string;
16
- description: string;
17
- inputSchema: {
18
- type: "object";
19
- properties: {
20
- period: {
21
- type: string;
22
- enum: string[];
23
- description: string;
24
- default: string;
25
- };
26
- };
27
- };
28
- };
29
- export declare function executeCompoundAdvantage(db: FourDADatabase, params: CompoundAdvantageParams): object;
30
- //# sourceMappingURL=compound-advantage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compound-advantage.d.ts","sourceRoot":"","sources":["../../src/tools/compound-advantage.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAkD/C,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;CAejC,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAuFpG"}
@@ -1,133 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { homedir } from "node:os";
4
- import Database from "better-sqlite3";
5
- function getAweWisdomStats() {
6
- try {
7
- const dbPath = process.platform === "win32"
8
- ? join(homedir(), "AppData", "Roaming", "awe", "wisdom.db")
9
- : join(homedir(), ".local", "share", "awe", "wisdom.db");
10
- if (!existsSync(dbPath))
11
- return null;
12
- const db = new Database(dbPath, { readonly: true });
13
- const count = (type) => db.prepare("SELECT COUNT(*) as cnt FROM wisdom_elements WHERE element_type = ?").get(type)?.cnt ?? 0;
14
- // Count validated decisions (HumanConfirmed or HumanEnriched in JSON data)
15
- let validated = 0;
16
- try {
17
- validated = db.prepare(`SELECT COUNT(*) as cnt FROM wisdom_elements
18
- WHERE element_type = 'decision'
19
- AND (data LIKE '%HumanConfirmed%' OR data LIKE '%HumanEnriched%')`).get()?.cnt ?? 0;
20
- }
21
- catch { /* validation_status may not exist in old data */ }
22
- const stats = {
23
- decisions: count("decision"),
24
- feedback: count("feedback"),
25
- principles: count("principle"),
26
- anti_patterns: count("anti_pattern"),
27
- validated,
28
- };
29
- db.close();
30
- return stats;
31
- }
32
- catch {
33
- return null;
34
- }
35
- }
36
- export const compoundAdvantageTool = {
37
- name: "compound_advantage",
38
- description: "Get compound advantage score — measures how effectively you leverage 4DA intelligence for time-sensitive decisions. Tracks response rate, lead time, calibration accuracy.",
39
- inputSchema: {
40
- type: "object",
41
- properties: {
42
- period: {
43
- type: "string",
44
- enum: ["weekly", "monthly"],
45
- description: "Scoring period. Default: weekly",
46
- default: "weekly",
47
- },
48
- },
49
- },
50
- };
51
- export function executeCompoundAdvantage(db, params) {
52
- const rawDb = db.getRawDb();
53
- const period = params.period ?? "weekly";
54
- // Latest two scores for trend computation
55
- let latestScore = null;
56
- let previousScore = null;
57
- try {
58
- const scores = rawDb.prepare(`SELECT id, period, score, response_rate, avg_lead_time_hours,
59
- calibration_accuracy, computed_at
60
- FROM advantage_score WHERE period = ?
61
- ORDER BY computed_at DESC LIMIT 2`).all(period);
62
- latestScore = scores[0] ?? null;
63
- previousScore = scores[1] ?? null;
64
- }
65
- catch { /* Table may not exist yet */ }
66
- // Decision window stats
67
- let total = 0, acted = 0, expired = 0;
68
- try {
69
- const s = rawDb.prepare(`SELECT COUNT(*) as total,
70
- SUM(CASE WHEN status = 'acted' THEN 1 ELSE 0 END) as acted,
71
- SUM(CASE WHEN status = 'expired' THEN 1 ELSE 0 END) as expired
72
- FROM decision_windows`).get();
73
- if (s) {
74
- total = s.total;
75
- acted = s.acted;
76
- expired = s.expired;
77
- }
78
- }
79
- catch { /* Table may not exist yet */ }
80
- // Trend
81
- let trend = "no_data";
82
- let trendDelta = null;
83
- if (latestScore && previousScore) {
84
- trendDelta = latestScore.score - previousScore.score;
85
- trend = trendDelta > 2 ? "improving" : trendDelta < -2 ? "declining" : "stable";
86
- }
87
- else if (latestScore) {
88
- trend = "baseline";
89
- }
90
- // AWE Wisdom Graph integration — derive compound score from decision quality data
91
- const aweStats = getAweWisdomStats();
92
- const aweComponents = aweStats ? {
93
- decision_volume: Math.min((aweStats.decisions || 0) / 100, 1.0),
94
- feedback_coverage: aweStats.decisions > 0
95
- ? (aweStats.feedback || 0) / aweStats.decisions
96
- : 0,
97
- principle_density: Math.min((aweStats.principles || 0) / 10, 1.0),
98
- validated_ratio: aweStats.decisions > 0
99
- ? Math.min((aweStats.validated || 0) / Math.max(aweStats.decisions, 1), 1.0)
100
- : 0,
101
- } : null;
102
- // Compute AWE-derived score (0-100) if no native score exists
103
- const aweScore = aweComponents
104
- ? Math.round(((aweComponents.decision_volume * 0.20) +
105
- (aweComponents.feedback_coverage * 0.30) +
106
- (aweComponents.principle_density * 0.25) +
107
- (aweComponents.validated_ratio * 0.25)) * 100)
108
- : null;
109
- const effectiveScore = latestScore?.score ?? aweScore;
110
- const effectiveComponents = latestScore ? {
111
- response_rate: latestScore.response_rate,
112
- avg_lead_time_hours: latestScore.avg_lead_time_hours,
113
- calibration_accuracy: latestScore.calibration_accuracy,
114
- } : aweComponents;
115
- return {
116
- score: effectiveScore,
117
- period,
118
- components: effectiveComponents,
119
- trend: { direction: trend, delta: trendDelta, previous_score: previousScore?.score ?? null },
120
- decision_windows: {
121
- total_opened: total,
122
- total_acted: acted,
123
- total_expired: expired,
124
- action_rate: total > 0 ? Math.round((acted / total) * 100) : null,
125
- },
126
- awe_stats: aweStats,
127
- computed_at: latestScore?.computed_at ?? (aweStats ? new Date().toISOString() : null),
128
- summary: effectiveScore != null
129
- ? `Compound advantage: ${effectiveScore}/100 (${trend}). ${aweStats ? `${aweStats.decisions} decisions, ${aweStats.principles} principles, ${aweStats.validated} validated.` : `${acted}/${total} windows acted on.`}`
130
- : "No compound advantage data yet. Record decisions and provide feedback to build your score.",
131
- };
132
- }
133
- //# sourceMappingURL=compound-advantage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compound-advantage.js","sourceRoot":"","sources":["../../src/tools/compound-advantage.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAUtC,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;YACzC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAC5B,EAAE,CAAC,OAAO,CAAC,oEAAoE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAqB,EAAE,GAAG,IAAI,CAAC,CAAC;QAE5H,2EAA2E;QAC3E,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC;YACH,SAAS,GAAI,EAAE,CAAC,OAAO,CACrB;;2EAEmE,CACpE,CAAC,GAAG,EAAsB,EAAE,GAAG,IAAI,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC,CAAC,iDAAiD,CAAC,CAAC;QAE7D,MAAM,KAAK,GAAG;YACZ,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC;YAC5B,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;YAC3B,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC;YAC9B,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC;YACpC,SAAS;SACV,CAAC;QACF,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAgBD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,4KAA4K;IAC9K,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAC3B,WAAW,EAAE,iCAAiC;gBAC9C,OAAO,EAAE,QAAQ;aAClB;SACF;KACF;CACF,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,EAAkB,EAAE,MAA+B;IAC1F,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;IAEzC,0CAA0C;IAC1C,IAAI,WAAW,GAAoB,IAAI,CAAC;IACxC,IAAI,aAAa,GAAoB,IAAI,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAC1B;;;yCAGmC,CACpC,CAAC,GAAG,CAAC,MAAM,CAAe,CAAC;QAC5B,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAChC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;IAEzC,wBAAwB;IACxB,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CACrB;;;6BAGuB,CACxB,CAAC,GAAG,EAAmE,CAAC;QACzE,IAAI,CAAC,EAAE,CAAC;YAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;IAEzC,QAAQ;IACR,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;QACjC,UAAU,GAAG,WAAW,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;QACrD,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClF,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;IAED,kFAAkF;IAClF,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC;QAC/B,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC;QAC/D,iBAAiB,EAAE,QAAQ,CAAC,SAAS,GAAG,CAAC;YACvC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS;YAC/C,CAAC,CAAC,CAAC;QACL,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC;QACjE,eAAe,EAAE,QAAQ,CAAC,SAAS,GAAG,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;YAC5E,CAAC,CAAC,CAAC;KACN,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC;YACtC,CAAC,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACxC,CAAC,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACxC,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAC/C;QACH,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,cAAc,GAAG,WAAW,EAAE,KAAK,IAAI,QAAQ,CAAC;IACtD,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,CAAC;QACxC,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;QACpD,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;KACvD,CAAC,CAAC,CAAC,aAAa,CAAC;IAElB,OAAO;QACL,KAAK,EAAE,cAAc;QACrB,MAAM;QACN,UAAU,EAAE,mBAAmB;QAC/B,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,IAAI,IAAI,EAAE;QAC5F,gBAAgB,EAAE;YAChB,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,KAAK;YAClB,aAAa,EAAE,OAAO;YACtB,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;SAClE;QACD,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,OAAO,EAAE,cAAc,IAAI,IAAI;YAC7B,CAAC,CAAC,uBAAuB,cAAc,SAAS,KAAK,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,eAAe,QAAQ,CAAC,UAAU,gBAAgB,QAAQ,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,oBAAoB,EAAE;YACtN,CAAC,CAAC,4FAA4F;KACjG,CAAC;AACJ,CAAC"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Config Validator Tool
3
- *
4
- * Validate and diagnose 4DA configuration issues.
5
- * This is a SUPERPOWER - it catches config errors before they cause problems.
6
- */
7
- import type { FourDADatabase } from "../db.js";
8
- export declare const configValidatorTool: {
9
- name: string;
10
- description: string;
11
- inputSchema: {
12
- type: string;
13
- properties: {
14
- section: {
15
- type: string;
16
- enum: string[];
17
- description: string;
18
- };
19
- fix_suggestions: {
20
- type: string;
21
- description: string;
22
- };
23
- };
24
- };
25
- };
26
- export interface ConfigValidatorParams {
27
- section?: "all" | "sources" | "embedding" | "llm" | "ace" | "digest" | "ui";
28
- fix_suggestions?: boolean;
29
- }
30
- interface ValidationIssue {
31
- section: string;
32
- field: string;
33
- severity: "error" | "warning" | "info";
34
- message: string;
35
- current_value: unknown;
36
- expected: string;
37
- fix?: string;
38
- }
39
- interface SectionValidation {
40
- section: string;
41
- status: "valid" | "warnings" | "errors";
42
- issue_count: number;
43
- issues: ValidationIssue[];
44
- }
45
- interface ConfigValidationResult {
46
- overall_status: "valid" | "warnings" | "errors";
47
- sections: SectionValidation[];
48
- summary: {
49
- total_issues: number;
50
- errors: number;
51
- warnings: number;
52
- info: number;
53
- };
54
- quick_fixes: string[];
55
- config_score: number;
56
- }
57
- export declare function executeConfigValidator(db: FourDADatabase, params: ConfigValidatorParams): ConfigValidationResult;
58
- export {};
59
- //# sourceMappingURL=config-validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-validator.d.ts","sourceRoot":"","sources":["../../src/tools/config-validator.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAyB/B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,UAAU,sBAAsB;IAC9B,cAAc,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IAChD,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AA+BD,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,qBAAqB,GAC5B,sBAAsB,CAyFxB"}