@plumpslabs/kuma 2.3.17 → 2.3.19

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 (31) hide show
  1. package/dist/{chunk-3TX6Q37T.js → chunk-3BRBJZ7P.js} +3 -3
  2. package/dist/{chunk-SPHI2BOO.js → chunk-3OHYYXYN.js} +1 -1
  3. package/dist/{chunk-AJ7HHUDW.js → chunk-ABKE45T4.js} +138 -68
  4. package/dist/{chunk-Q2444HWO.js → chunk-FKRSI5U5.js} +1 -1
  5. package/dist/{chunk-RI3DKY62.js → chunk-GFLSAXAH.js} +1 -1
  6. package/dist/{chunk-OJALFQ4H.js → chunk-L7F67KUP.js} +2 -2
  7. package/dist/{chunk-R6B3VUSB.js → chunk-LVKOGXLC.js} +2 -2
  8. package/dist/{chunk-ZKDYTYMS.js → chunk-PRUTTZBS.js} +143 -4
  9. package/dist/{contextDigest-5JXLH56Z.js → contextDigest-QB5XHPXE.js} +3 -3
  10. package/dist/{domainRules-ED6EOFVY.js → domainRules-QLPAQASB.js} +2 -2
  11. package/dist/index.js +141 -51
  12. package/dist/{init-BC7FG4C2.js → init-PL4XL662.js} +1 -1
  13. package/dist/{kumaCheckpoint-XIQWRMGV.js → kumaCheckpoint-J2LDQMEO.js} +2 -2
  14. package/dist/{kumaCodeScanner-QYQUL4W6.js → kumaCodeScanner-J6B2EHGI.js} +7 -10
  15. package/dist/{kumaDb-IC7UX7PU.js → kumaDb-4XZ5S2LH.js} +1 -1
  16. package/dist/{kumaDriftDetector-QBY6OJOO.js → kumaDriftDetector-TOORILSZ.js} +1 -1
  17. package/dist/{kumaGotchas-5HODT5RI.js → kumaGotchas-XRGFFBTA.js} +3 -3
  18. package/dist/{kumaGraph-GUQM75WL.js → kumaGraph-UMXZNGYF.js} +4 -2
  19. package/dist/{kumaMemory-FMOWIODH.js → kumaMemory-FBJMV77G.js} +2 -2
  20. package/dist/{kumaMiner-3RXEOCBP.js → kumaMiner-XJETL7TL.js} +3 -3
  21. package/dist/{kumaPolicyEngine-ORBWL5PT.js → kumaPolicyEngine-2QDJDLM7.js} +2 -2
  22. package/dist/{kumaProgressiveContext-CVSNPY3W.js → kumaProgressiveContext-MWEDRXOH.js} +4 -4
  23. package/dist/{kumaSearch-B5WVYHHD.js → kumaSearch-PV4QTKE7.js} +1 -1
  24. package/dist/{kumaTrajectory-T6DXGOG4.js → kumaTrajectory-7NOAVNG2.js} +2 -2
  25. package/dist/{kumaVerifier-6NTJQU7B.js → kumaVerifier-6YEGC77M.js} +2 -2
  26. package/dist/{kumaVisualize-AFL7STLL.js → kumaVisualize-264OEBGJ.js} +17 -1
  27. package/dist/{safetyAudit-32WSA4Z5.js → safetyAudit-O45SPNTS.js} +2 -2
  28. package/dist/{safetyScore-WU27EOG4.js → safetyScore-TMMRD2MV.js} +5 -5
  29. package/dist/{sessionMemory-4UWA3E5J.js → sessionMemory-YPKVIOMV.js} +1 -1
  30. package/dist/{skillGenerator-GYEDLFZP.js → skillGenerator-PWEJKZNX.js} +7 -5
  31. package/package.json +1 -1
@@ -4,8 +4,8 @@ import {
4
4
  recordDecision,
5
5
  scoreMemoryRelevance,
6
6
  shouldRecordDecision
7
- } from "./chunk-OJALFQ4H.js";
8
- import "./chunk-R6B3VUSB.js";
7
+ } from "./chunk-L7F67KUP.js";
8
+ import "./chunk-LVKOGXLC.js";
9
9
  import "./chunk-E2KFPEBT.js";
10
10
  export {
11
11
  formatDecisionTemplate,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  recordDecision
3
- } from "./chunk-OJALFQ4H.js";
4
- import "./chunk-R6B3VUSB.js";
3
+ } from "./chunk-L7F67KUP.js";
4
+ import "./chunk-LVKOGXLC.js";
5
5
  import {
6
6
  recordDecisionLog
7
- } from "./chunk-3TX6Q37T.js";
7
+ } from "./chunk-3BRBJZ7P.js";
8
8
  import "./chunk-E2KFPEBT.js";
9
9
 
10
10
  // src/engine/kumaMiner.ts
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionMemory
3
- } from "./chunk-R6B3VUSB.js";
3
+ } from "./chunk-LVKOGXLC.js";
4
4
  import {
5
5
  getProjectRoot
6
6
  } from "./chunk-E2KFPEBT.js";
@@ -215,7 +215,7 @@ function evaluateDatabaseAction(action) {
215
215
  };
216
216
  }
217
217
  async function processOverride(request) {
218
- const { recordAudit } = await import("./safetyAudit-32WSA4Z5.js");
218
+ const { recordAudit } = await import("./safetyAudit-O45SPNTS.js");
219
219
  await recordAudit({
220
220
  timestamp: Math.floor(Date.now() / 1e3),
221
221
  toolName: request.toolName,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getActiveGotchas,
3
3
  readLayer
4
- } from "./chunk-Q2444HWO.js";
5
- import "./chunk-R6B3VUSB.js";
4
+ } from "./chunk-FKRSI5U5.js";
5
+ import "./chunk-LVKOGXLC.js";
6
6
  import {
7
7
  getDb
8
- } from "./chunk-3TX6Q37T.js";
8
+ } from "./chunk-3BRBJZ7P.js";
9
9
  import {
10
10
  getProjectRoot
11
11
  } from "./chunk-E2KFPEBT.js";
@@ -155,7 +155,7 @@ ${lines.join("\n")}`;
155
155
  }
156
156
  case "health": {
157
157
  try {
158
- const { computeSafetyScore } = await import("./safetyScore-WU27EOG4.js");
158
+ const { computeSafetyScore } = await import("./safetyScore-TMMRD2MV.js");
159
159
  const score = await computeSafetyScore();
160
160
  return `\u{1F3E5} **Health**: ${score.score}/100 (${score.risk})`;
161
161
  } catch {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDb
3
- } from "./chunk-3TX6Q37T.js";
3
+ } from "./chunk-3BRBJZ7P.js";
4
4
  import {
5
5
  getProjectRoot
6
6
  } from "./chunk-E2KFPEBT.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  sessionMemory
3
- } from "./chunk-R6B3VUSB.js";
3
+ } from "./chunk-LVKOGXLC.js";
4
4
  import {
5
5
  getDb,
6
6
  saveDb
7
- } from "./chunk-3TX6Q37T.js";
7
+ } from "./chunk-3BRBJZ7P.js";
8
8
  import {
9
9
  getProjectRoot
10
10
  } from "./chunk-E2KFPEBT.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  sessionMemory
3
- } from "./chunk-R6B3VUSB.js";
3
+ } from "./chunk-LVKOGXLC.js";
4
4
  import {
5
5
  getLatestVerifications,
6
6
  saveVerification
7
- } from "./chunk-3TX6Q37T.js";
7
+ } from "./chunk-3BRBJZ7P.js";
8
8
  import "./chunk-E2KFPEBT.js";
9
9
 
10
10
  // src/engine/kumaVerifier.ts
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDb
3
- } from "./chunk-3TX6Q37T.js";
3
+ } from "./chunk-3BRBJZ7P.js";
4
4
  import "./chunk-E2KFPEBT.js";
5
5
 
6
6
  // src/engine/kumaVisualize.ts
@@ -181,6 +181,15 @@ function getNodeShape(type) {
181
181
  return "[";
182
182
  case "variable":
183
183
  return "(";
184
+ // Domain Flow shapes (V4)
185
+ case "feature_domain":
186
+ return "[";
187
+ // box with rounded corners
188
+ case "workflow":
189
+ return "([";
190
+ // stadium shape
191
+ case "cross_service_link":
192
+ return "[";
184
193
  default:
185
194
  return "[";
186
195
  }
@@ -218,6 +227,13 @@ function getEdgeStyle(type) {
218
227
  return " --- ";
219
228
  case "modified_by":
220
229
  return " -.-> ";
230
+ // Domain Flow edge styles (V4)
231
+ case "flows_through":
232
+ return " ==> ";
233
+ case "triggers":
234
+ return " -.-> ";
235
+ case "syncs_with":
236
+ return " <==> ";
221
237
  default:
222
238
  return " --- ";
223
239
  }
@@ -2,8 +2,8 @@ import {
2
2
  auditStats,
3
3
  queryAudit,
4
4
  recordAudit
5
- } from "./chunk-RI3DKY62.js";
6
- import "./chunk-3TX6Q37T.js";
5
+ } from "./chunk-GFLSAXAH.js";
6
+ import "./chunk-3BRBJZ7P.js";
7
7
  import "./chunk-E2KFPEBT.js";
8
8
  export {
9
9
  auditStats,
@@ -2,10 +2,10 @@ import {
2
2
  getGitDiffStat,
3
3
  getSessionStats,
4
4
  getUnresolvedCount
5
- } from "./chunk-SPHI2BOO.js";
5
+ } from "./chunk-3OHYYXYN.js";
6
6
  import {
7
7
  sessionMemory
8
- } from "./chunk-R6B3VUSB.js";
8
+ } from "./chunk-LVKOGXLC.js";
9
9
  import "./chunk-E2KFPEBT.js";
10
10
 
11
11
  // src/engine/safetyScore.ts
@@ -60,7 +60,7 @@ async function computeSafetyScore(inputGoal) {
60
60
  totalScore += 20;
61
61
  }
62
62
  try {
63
- const { getDb } = await import("./kumaDb-IC7UX7PU.js");
63
+ const { getDb } = await import("./kumaDb-4XZ5S2LH.js");
64
64
  const db = await getDb();
65
65
  const nodeCount = db.exec("SELECT COUNT(*) as c FROM nodes")[0]?.values[0][0] ?? 0;
66
66
  const edgeCount = db.exec("SELECT COUNT(*) as c FROM edges")[0]?.values[0][0] ?? 0;
@@ -91,7 +91,7 @@ async function computeSafetyScore(inputGoal) {
91
91
  totalScore += 5;
92
92
  }
93
93
  try {
94
- const { getDb } = await import("./kumaDb-IC7UX7PU.js");
94
+ const { getDb } = await import("./kumaDb-4XZ5S2LH.js");
95
95
  const db = await getDb();
96
96
  const researchCount = db.exec("SELECT COUNT(*) as c FROM research_cache")[0]?.values[0][0] ?? 0;
97
97
  checks.push({
@@ -116,7 +116,7 @@ async function computeSafetyScore(inputGoal) {
116
116
  const hasRunTests = stats.hasRunTests;
117
117
  let latestVerif = null;
118
118
  try {
119
- const { getLatestVerifications } = await import("./kumaDb-IC7UX7PU.js");
119
+ const { getLatestVerifications } = await import("./kumaDb-4XZ5S2LH.js");
120
120
  const verifs = await getLatestVerifications(1);
121
121
  if (verifs.length > 0) latestVerif = verifs[0];
122
122
  } catch {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionMemory
3
- } from "./chunk-R6B3VUSB.js";
3
+ } from "./chunk-LVKOGXLC.js";
4
4
  export {
5
5
  sessionMemory
6
6
  };
@@ -10,14 +10,16 @@ var BOOTSTRAP = [
10
10
  ' 2. `kuma_safety({ action: "guard" })` \u2014 Safety check before work',
11
11
  ' 3. `kuma_context({ action: "research", scope: "<area>" })` \u2014 Research before editing',
12
12
  " 4. *(edit/read using native tools)*",
13
- ' 5. `kuma_memory({ action: "research_save", ... })` \u2014 Save findings (inline after every read/grep)',
14
- ' 6. `kuma_memory({ action: "gotcha" })` \u2014 Record bugs/quirks (inline when found)',
15
- ' 7. `kuma_memory({ action: "arch_flow" })` \u2014 Record data flow (inline after each hop)',
16
- ' 8. `kuma_memory({ action: "decision" })` \u2014 Record key decisions (inline when choosing)',
13
+ ' 5. `kuma_memory({ action: "research_save", ... })` \u2014 After exploring area (creates search cache)',
14
+ ' 6. `kuma_memory({ action: "gotcha" })` \u2014 \u{1F525} IMMEDIATELY when bug found (exponential value)',
15
+ ' 7. `kuma_memory({ action: "arch_flow" })` \u2014 \u{1F525} IMMEDIATELY after each flow hop (exponential value)',
16
+ ' 8. `kuma_memory({ action: "decision" })` \u2014 When choosing between options (preserves rationale)',
17
17
  ' 9. `kuma_safety({ action: "verify", ... })` \u2014 Run tests / confirm nothing broken',
18
18
  ' 10. `kuma_context({ action: "changes" })` \u2014 Review session activity',
19
19
  "",
20
- "\u{1F504} Record findings INLINE as you work \u2014 Every read/grep = mini research_save.",
20
+ "\u{1F525} **Power Curve:** `arch_flow` + `gotcha` are EXPONENTIAL \u2014 each record saves 5-10 files next session.",
21
+ " The more you record, the more overpowered the agent becomes. These are the highest-value actions.",
22
+ "\u{1F7E2} **SKIP** recording function/class/component nodes \u2014 grep/glob is faster.",
21
23
  "\u{1F9E0} Knowledge graph is persistent \u2014 nodes/edges accumulate across sessions, getting richer over time.",
22
24
  "",
23
25
  "\u26D4 Do NOT skip steps 5-10 after research \u2014 even if no code was changed.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumpslabs/kuma",
3
- "version": "2.3.17",
3
+ "version": "2.3.19",
4
4
  "description": "Safety-first context & orchestration engine for AI coding agents. MCP server with mandatory research pipeline, knowledge graph, impact analysis, decision memory, and safety guard — works with any MCP client.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",