@nxuss/lemma 1.6.0 → 1.7.1

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 (194) hide show
  1. package/README.md +114 -5
  2. package/bin/checkpoint.js +49 -0
  3. package/bin/init.js +21 -2
  4. package/dist/cjs/mcp/prompts.d.ts +1 -2
  5. package/dist/cjs/mcp/prompts.d.ts.map +1 -1
  6. package/dist/cjs/mcp/prompts.js +29 -126
  7. package/dist/cjs/mcp/prompts.js.map +1 -1
  8. package/dist/cjs/mcp/resources.d.ts.map +1 -1
  9. package/dist/cjs/mcp/resources.js +4 -4
  10. package/dist/cjs/mcp/resources.js.map +1 -1
  11. package/dist/cjs/mcp/tool-profiles.d.ts +55 -0
  12. package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -0
  13. package/dist/cjs/mcp/tool-profiles.js +204 -0
  14. package/dist/cjs/mcp/tool-profiles.js.map +1 -0
  15. package/dist/cjs/mcp/tools.d.ts +12 -0
  16. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  17. package/dist/cjs/mcp/tools.js +175 -26
  18. package/dist/cjs/mcp/tools.js.map +1 -1
  19. package/dist/cjs/subconscious/TheBrainV2.d.ts +36 -2
  20. package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
  21. package/dist/cjs/subconscious/TheBrainV2.js +104 -23
  22. package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
  23. package/dist/cjs/utils/AutoContextBundle.d.ts.map +1 -1
  24. package/dist/cjs/utils/AutoContextBundle.js +17 -20
  25. package/dist/cjs/utils/AutoContextBundle.js.map +1 -1
  26. package/dist/cjs/utils/ConversationCheckpoint.d.ts +13 -0
  27. package/dist/cjs/utils/ConversationCheckpoint.d.ts.map +1 -1
  28. package/dist/cjs/utils/ConversationCheckpoint.js +58 -0
  29. package/dist/cjs/utils/ConversationCheckpoint.js.map +1 -1
  30. package/dist/cjs/utils/TestAutofixInterceptor.d.ts.map +1 -1
  31. package/dist/cjs/utils/TestAutofixInterceptor.js +15 -26
  32. package/dist/cjs/utils/TestAutofixInterceptor.js.map +1 -1
  33. package/dist/esm/api/dashboardRoutes.d.ts +3 -3
  34. package/dist/esm/api/dashboardRoutes.js +1 -1
  35. package/dist/esm/api/server.d.ts +4 -4
  36. package/dist/esm/api/server.js +3 -3
  37. package/dist/esm/autopilot/AutopilotWatcher.js +3 -3
  38. package/dist/esm/autopilot/Notifier.d.ts +1 -1
  39. package/dist/esm/cli/lemma-proxy.js +14 -14
  40. package/dist/esm/cli/stack.d.ts +4 -4
  41. package/dist/esm/cli/stack.js +5 -5
  42. package/dist/esm/cloud/KeyManager.d.ts +1 -1
  43. package/dist/esm/cloud/KeyManager.js +1 -1
  44. package/dist/esm/cloud/TenantCache.d.ts +1 -1
  45. package/dist/esm/cloud/TenantCache.js +1 -1
  46. package/dist/esm/cloud/index.d.ts +3 -3
  47. package/dist/esm/cloud/index.js +3 -3
  48. package/dist/esm/cloud/server.d.ts +3 -3
  49. package/dist/esm/cloud/server.js +5 -5
  50. package/dist/esm/config/index.d.ts +1 -1
  51. package/dist/esm/config/index.js +1 -1
  52. package/dist/esm/consensus/index.d.ts +2 -2
  53. package/dist/esm/consensus/index.js +2 -2
  54. package/dist/esm/core/AgentRegistry.d.ts +1 -1
  55. package/dist/esm/core/AgentRegistry.js +1 -1
  56. package/dist/esm/core/DashboardBroadcaster.d.ts +3 -3
  57. package/dist/esm/core/DashboardBroadcaster.js +2 -2
  58. package/dist/esm/core/DashboardWebSocketServer.d.ts +1 -1
  59. package/dist/esm/core/DashboardWebSocketServer.js +1 -1
  60. package/dist/esm/core/GhostAlchemist.js +1 -1
  61. package/dist/esm/core/GhostListener.js +2 -2
  62. package/dist/esm/core/OrchestrationEngine.d.ts +3 -3
  63. package/dist/esm/core/OrchestrationEngine.js +2 -2
  64. package/dist/esm/core/SubconsciousEngine.d.ts +1 -1
  65. package/dist/esm/core/SubconsciousEngine.js +2 -2
  66. package/dist/esm/core/WebSocketServer.d.ts +2 -2
  67. package/dist/esm/core/WebSocketServer.js +1 -1
  68. package/dist/esm/core/index.d.ts +6 -6
  69. package/dist/esm/core/index.js +6 -6
  70. package/dist/esm/core/router.d.ts +3 -3
  71. package/dist/esm/core/router.js +1 -1
  72. package/dist/esm/db/database.js +1 -1
  73. package/dist/esm/embed.d.ts +2 -2
  74. package/dist/esm/embed.js +2 -2
  75. package/dist/esm/examples/basic-usage.js +1 -1
  76. package/dist/esm/index.d.ts +14 -14
  77. package/dist/esm/index.js +14 -14
  78. package/dist/esm/infra/analyzers/DriftDetector.d.ts +1 -1
  79. package/dist/esm/infra/analyzers/InfraAnalyzer.d.ts +1 -1
  80. package/dist/esm/infra/analyzers/MonolithAnalyzer.d.ts +1 -1
  81. package/dist/esm/infra/analyzers/index.d.ts +3 -3
  82. package/dist/esm/infra/analyzers/index.js +3 -3
  83. package/dist/esm/infra/cli.js +2 -2
  84. package/dist/esm/infra/config.d.ts +1 -1
  85. package/dist/esm/infra/index.d.ts +5 -5
  86. package/dist/esm/infra/index.js +5 -5
  87. package/dist/esm/infra/mcp-tools.js +5 -5
  88. package/dist/esm/infra/providers/InfraProvider.d.ts +1 -1
  89. package/dist/esm/infra/providers/JenkinsProvider.d.ts +2 -2
  90. package/dist/esm/infra/providers/OKDProvider.d.ts +2 -2
  91. package/dist/esm/infra/providers/TerraformProvider.d.ts +2 -2
  92. package/dist/esm/infra/providers/index.d.ts +5 -5
  93. package/dist/esm/infra/providers/index.js +3 -3
  94. package/dist/esm/mcp/index.js +5 -5
  95. package/dist/esm/mcp/prompts.d.ts +1 -2
  96. package/dist/esm/mcp/prompts.d.ts.map +1 -1
  97. package/dist/esm/mcp/prompts.js +28 -125
  98. package/dist/esm/mcp/prompts.js.map +1 -1
  99. package/dist/esm/mcp/resources.d.ts.map +1 -1
  100. package/dist/esm/mcp/resources.js +5 -5
  101. package/dist/esm/mcp/resources.js.map +1 -1
  102. package/dist/esm/mcp/tool-profiles.d.ts +55 -0
  103. package/dist/esm/mcp/tool-profiles.d.ts.map +1 -0
  104. package/dist/esm/mcp/tool-profiles.js +196 -0
  105. package/dist/esm/mcp/tool-profiles.js.map +1 -0
  106. package/dist/esm/mcp/tools.d.ts +12 -0
  107. package/dist/esm/mcp/tools.d.ts.map +1 -1
  108. package/dist/esm/mcp/tools.js +209 -63
  109. package/dist/esm/mcp/tools.js.map +1 -1
  110. package/dist/esm/observability/IdeContextSync.d.ts +1 -1
  111. package/dist/esm/observability/IdeContextSync.js +5 -5
  112. package/dist/esm/pr-review/PRReviewEngine.d.ts +1 -1
  113. package/dist/esm/pr-review/PRReviewEngine.js +4 -4
  114. package/dist/esm/pr-review/ReviewStore.d.ts +1 -1
  115. package/dist/esm/pr-review/adapters/AzureDevOpsAdapter.d.ts +2 -2
  116. package/dist/esm/pr-review/adapters/AzureDevOpsAdapter.js +1 -1
  117. package/dist/esm/pr-review/adapters/GitHubAdapter.d.ts +2 -2
  118. package/dist/esm/pr-review/adapters/GitHubAdapter.js +1 -1
  119. package/dist/esm/pr-review/adapters/GitLabAdapter.d.ts +2 -2
  120. package/dist/esm/pr-review/adapters/GitLabAdapter.js +1 -1
  121. package/dist/esm/pr-review/adapters/GitPlatformAdapter.d.ts +1 -1
  122. package/dist/esm/pr-review/adapters/index.d.ts +4 -4
  123. package/dist/esm/pr-review/adapters/index.js +3 -3
  124. package/dist/esm/pr-review/analyzers/QualityGrader.d.ts +1 -1
  125. package/dist/esm/pr-review/analyzers/RegressionDetector.d.ts +1 -1
  126. package/dist/esm/pr-review/analyzers/SecurityScanner.d.ts +1 -1
  127. package/dist/esm/pr-review/analyzers/StaticAnalyzer.d.ts +1 -1
  128. package/dist/esm/pr-review/analyzers/index.d.ts +8 -8
  129. package/dist/esm/pr-review/analyzers/index.js +4 -4
  130. package/dist/esm/pr-review/bridge/BrainBridge.d.ts +1 -1
  131. package/dist/esm/pr-review/bridge/BrainBridge.js +1 -1
  132. package/dist/esm/pr-review/bridge/index.d.ts +1 -1
  133. package/dist/esm/pr-review/bridge/index.js +1 -1
  134. package/dist/esm/pr-review/index.d.ts +4 -4
  135. package/dist/esm/pr-review/index.js +2 -2
  136. package/dist/esm/pr-review/reviewRunner.d.ts +2 -2
  137. package/dist/esm/pr-review/reviewRunner.js +6 -6
  138. package/dist/esm/pr-review/webhook/WebhookServer.js +1 -1
  139. package/dist/esm/pr-review/webhook/index.d.ts +1 -1
  140. package/dist/esm/pr-review/webhook/index.js +1 -1
  141. package/dist/esm/protocol/flows.d.ts +1 -1
  142. package/dist/esm/protocol/flows.js +1 -1
  143. package/dist/esm/protocol/index.d.ts +4 -4
  144. package/dist/esm/protocol/index.js +4 -4
  145. package/dist/esm/protocol/utils.d.ts +1 -1
  146. package/dist/esm/protocol/utils.js +2 -2
  147. package/dist/esm/protocol/validators.d.ts +1 -1
  148. package/dist/esm/protocol/validators.js +1 -1
  149. package/dist/esm/proxy/ContextInjector.d.ts +1 -1
  150. package/dist/esm/proxy/Gatekeeper.d.ts +1 -1
  151. package/dist/esm/security/SecurityMiddleware.d.ts +1 -1
  152. package/dist/esm/security/SecurityMiddleware.js +3 -3
  153. package/dist/esm/security/index.d.ts +4 -4
  154. package/dist/esm/security/index.js +4 -4
  155. package/dist/esm/speculative/SpeculativeCache.d.ts +2 -2
  156. package/dist/esm/speculative/SpeculativeEngine.d.ts +2 -2
  157. package/dist/esm/speculative/SpeculativeEngine.js +3 -3
  158. package/dist/esm/speculative/WorkerPool.d.ts +1 -1
  159. package/dist/esm/speculative/index.d.ts +4 -4
  160. package/dist/esm/speculative/index.js +4 -4
  161. package/dist/esm/subconscious/SemanticCache.d.ts +2 -2
  162. package/dist/esm/subconscious/SemanticCache.js +2 -2
  163. package/dist/esm/subconscious/SubconsciousEngine.d.ts +1 -1
  164. package/dist/esm/subconscious/SubconsciousEngine.js +3 -3
  165. package/dist/esm/subconscious/TheBrainV2.d.ts +36 -2
  166. package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
  167. package/dist/esm/subconscious/TheBrainV2.js +103 -23
  168. package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
  169. package/dist/esm/subconscious/index.d.ts +4 -4
  170. package/dist/esm/subconscious/index.js +4 -4
  171. package/dist/esm/utils/AutoContextBundle.d.ts +1 -1
  172. package/dist/esm/utils/AutoContextBundle.d.ts.map +1 -1
  173. package/dist/esm/utils/AutoContextBundle.js +20 -23
  174. package/dist/esm/utils/AutoContextBundle.js.map +1 -1
  175. package/dist/esm/utils/BulkFileDigest.js +2 -2
  176. package/dist/esm/utils/ClipboardWatcher.js +2 -2
  177. package/dist/esm/utils/ContextCollapser.js +1 -1
  178. package/dist/esm/utils/ConversationCheckpoint.d.ts +13 -0
  179. package/dist/esm/utils/ConversationCheckpoint.d.ts.map +1 -1
  180. package/dist/esm/utils/ConversationCheckpoint.js +57 -0
  181. package/dist/esm/utils/ConversationCheckpoint.js.map +1 -1
  182. package/dist/esm/utils/ExecutiveReport.js +1 -1
  183. package/dist/esm/utils/StructuralSearch.d.ts +1 -1
  184. package/dist/esm/utils/SurgicalASTInsert.js +1 -1
  185. package/dist/esm/utils/SymbolSurgicalContext.js +1 -1
  186. package/dist/esm/utils/TestAutofixInterceptor.d.ts.map +1 -1
  187. package/dist/esm/utils/TestAutofixInterceptor.js +15 -26
  188. package/dist/esm/utils/TestAutofixInterceptor.js.map +1 -1
  189. package/dist/esm/utils/WorkspaceSearch.js +0 -0
  190. package/dist/esm/utils/logger.js +1 -1
  191. package/package.json +9 -10
  192. package/sdks/crewai/README.md +178 -0
  193. package/sdks/crewai/dist/index.d.ts +130 -0
  194. package/sdks/crewai/dist/index.js +308 -0
@@ -1,5 +1,6 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
+ import { execFileSync } from 'child_process';
3
4
  const CHECKPOINT_DIR = '.lemma/session';
4
5
  const MAX_CHECKPOINTS = 10;
5
6
  function getDir(projectRoot) {
@@ -43,6 +44,62 @@ export function saveCheckpoint(checkpoint, projectRoot) {
43
44
  }
44
45
  return full;
45
46
  }
47
+ /**
48
+ * Builds and saves a checkpoint from repository state alone.
49
+ *
50
+ * The model-driven path (calling `conversation_checkpoint` with action "save") depends on the
51
+ * assistant remembering to do it at the end of a session, which in practice does not happen —
52
+ * `.lemma/session/` did not exist in this repo across six releases. This derives what it can
53
+ * from git without any model involvement, so a session-end hook can call it unconditionally.
54
+ *
55
+ * It cannot recover decisions or pending tasks — those only exist in the conversation. Those
56
+ * fields stay empty here rather than being invented, and a model-written checkpoint that has
57
+ * them is always the better record when one exists.
58
+ */
59
+ export function captureAutoCheckpoint(projectRoot, summary) {
60
+ const git = (args) => {
61
+ try {
62
+ // trimEnd, not trim: `git status --porcelain` encodes the status in the first two
63
+ // columns, so stripping leading whitespace would eat the first line's status char
64
+ // and take the first character of its filename with it.
65
+ return execFileSync('git', ['-C', projectRoot, ...args.split(' ')], {
66
+ encoding: 'utf8',
67
+ stdio: ['ignore', 'pipe', 'ignore'],
68
+ }).trimEnd();
69
+ }
70
+ catch {
71
+ return '';
72
+ }
73
+ };
74
+ const status = git('status --porcelain');
75
+ const branch = git('rev-parse --abbrev-ref HEAD');
76
+ if (!branch)
77
+ return null; // not a git repo — nothing to derive from
78
+ const filesModified = status
79
+ .split('\n')
80
+ .filter(Boolean)
81
+ .map((l) => l.slice(3).trim())
82
+ .filter(Boolean);
83
+ const recentCommits = git('log -3 --pretty=format:%s').split('\n').filter(Boolean);
84
+ const derived = [
85
+ `Branch: ${branch}`,
86
+ filesModified.length
87
+ ? `${filesModified.length} file(s) with uncommitted changes.`
88
+ : 'Working tree clean.',
89
+ recentCommits.length ? `Recent commits: ${recentCommits.join(' | ')}` : '',
90
+ ]
91
+ .filter(Boolean)
92
+ .join(' ');
93
+ return saveCheckpoint({
94
+ projectPath: projectRoot,
95
+ filesModified,
96
+ // Only the conversation knows these; an auto-capture must not fabricate them.
97
+ decisionsMade: [],
98
+ bugsResolved: [],
99
+ tasksPending: [],
100
+ summary: summary ? `${summary}\n\n${derived}` : derived,
101
+ }, projectRoot);
102
+ }
46
103
  export function loadLatestCheckpoint(projectRoot) {
47
104
  const files = listCheckpoints(projectRoot);
48
105
  if (files.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationCheckpoint.js","sourceRoot":"","sources":["../../../src/utils/ConversationCheckpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConversationCheckpoint.js","sourceRoot":"","sources":["../../../src/utils/ConversationCheckpoint.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import fs from 'fs';
9
9
  import path from 'path';
10
- import { savingsLedger } from './SavingsLedger';
10
+ import { savingsLedger } from './SavingsLedger.js';
11
11
  /**
12
12
  * Calculates metrics and writes a highly structured Markdown corporate report.
13
13
  */
@@ -1,4 +1,4 @@
1
- import type { SearchMatch } from "./WorkspaceSearch";
1
+ import type { SearchMatch } from "./WorkspaceSearch.js";
2
2
  export interface DeclaredSymbol {
3
3
  kind: "function" | "class" | "method" | "interface" | "type" | "enum" | "arrow";
4
4
  name: string;
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import fs from 'fs';
11
11
  import * as ts from 'typescript';
12
- import { safeResolvePath } from '../mcp/utils';
12
+ import { safeResolvePath } from '../mcp/utils.js';
13
13
  /**
14
14
  * Finds a class or interface node by name.
15
15
  */
@@ -10,7 +10,7 @@
10
10
  import fs from 'fs';
11
11
  import path from 'path';
12
12
  import * as ts from 'typescript';
13
- import { safeResolvePath } from '../mcp/utils';
13
+ import { safeResolvePath } from '../mcp/utils.js';
14
14
  /**
15
15
  * Traverses AST to find the node defining the specified symbol name.
16
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TestAutofixInterceptor.d.ts","sourceRoot":"","sources":["../../../src/utils/TestAutofixInterceptor.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AA2FD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,YAAa,EAC5B,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAmCnB"}
1
+ {"version":3,"file":"TestAutofixInterceptor.d.ts","sourceRoot":"","sources":["../../../src/utils/TestAutofixInterceptor.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AA6ED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,YAAa,EAC5B,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAmCnB"}
@@ -1,4 +1,5 @@
1
1
  import { execSync } from 'child_process';
2
+ import { getBrain, deriveProjectId } from '../subconscious/TheBrainV2.js';
2
3
  function extractFailures(output) {
3
4
  const failures = [];
4
5
  // Jest/Vitest failure pattern
@@ -51,35 +52,23 @@ function extractTestCounts(output) {
51
52
  }
52
53
  return { total, passed, failed };
53
54
  }
55
+ /**
56
+ * Looks for a previously stored fix for a test failure.
57
+ *
58
+ * Previously scanned `<project>/.lemma/memory/*.json` — a directory no code path writes —
59
+ * so `brainHit` was always false and the "Brain-suggested fix" feature never fired once.
60
+ * Now it asks the Brain directly, which also replaces the hand-rolled token overlap score
61
+ * with the BM25 ranking the Brain already implements.
62
+ */
54
63
  function searchBrainForFix(errorMessage, projectRoot) {
55
64
  try {
56
- const fs = require('fs');
57
- const path = require('path');
58
- const brainDir = path.join(projectRoot, '.lemma', 'memory');
59
- if (!fs.existsSync(brainDir))
65
+ const results = getBrain().search(errorMessage, 1, 0.35, {
66
+ projectId: deriveProjectId(projectRoot),
67
+ });
68
+ const top = results[0];
69
+ if (!top)
60
70
  return { fix: null, hit: false };
61
- const errorTokens = errorMessage.toLowerCase().split(/\s+/).filter((t) => t.length > 3);
62
- const files = fs.readdirSync(brainDir).filter((f) => f.endsWith('.json'));
63
- let bestScore = 0;
64
- let bestFix = null;
65
- for (const f of files) {
66
- try {
67
- const data = JSON.parse(fs.readFileSync(path.join(brainDir, f), 'utf8'));
68
- const content = `${data.query || ''} ${data.response || ''}`.toLowerCase();
69
- let score = 0;
70
- for (const token of errorTokens) {
71
- if (content.includes(token))
72
- score++;
73
- }
74
- const normalizedScore = errorTokens.length > 0 ? score / errorTokens.length : 0;
75
- if (normalizedScore > bestScore && normalizedScore > 0.3) {
76
- bestScore = normalizedScore;
77
- bestFix = String(data.response).slice(0, 500);
78
- }
79
- }
80
- catch { }
81
- }
82
- return { fix: bestFix, hit: bestScore > 0.3 };
71
+ return { fix: String(top.response).slice(0, 500), hit: true };
83
72
  }
84
73
  catch {
85
74
  return { fix: null, hit: false };
@@ -1 +1 @@
1
- {"version":3,"file":"TestAutofixInterceptor.js","sourceRoot":"","sources":["../../../src/utils/TestAutofixInterceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestAutofixInterceptor.js","sourceRoot":"","sources":["../../../src/utils/TestAutofixInterceptor.ts"],"names":[],"mappings":"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"}
Binary file
@@ -1,6 +1,6 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
- import { config } from '../config';
3
+ import { config } from '../config/index.js';
4
4
  /**
5
5
  * Log levels
6
6
  */
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@nxuss/lemma",
3
- "version": "1.6.0",
3
+ "version": "1.7.1",
4
4
  "description": "Intelligent AI Gateway for IDEs & Agents — Semantic cache, Privacy Firewall, Infrastructure Command Center, and Autonomous Cost-Optimization.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
7
7
  "types": "./dist/esm/index.d.ts",
8
8
  "bin": {
9
9
  "lemma": "lemma-proxy.cjs",
10
- "lemma-mcp-server": "mcp-server.js"
10
+ "lemma-mcp-server": "mcp-server.js",
11
+ "lemma-checkpoint": "bin/checkpoint.js"
11
12
  },
12
13
  "exports": {
13
14
  ".": {
@@ -70,10 +71,6 @@
70
71
  "default": "./dist/cjs/protocol/index.js"
71
72
  }
72
73
  },
73
- "./langchain": {
74
- "types": "./sdks/langchain/dist/index.d.ts",
75
- "default": "./sdks/langchain/dist/index.js"
76
- },
77
74
  "./crewai": {
78
75
  "types": "./sdks/crewai/dist/index.d.ts",
79
76
  "default": "./sdks/crewai/dist/index.js"
@@ -88,7 +85,9 @@
88
85
  "cache-proxy.js",
89
86
  "bin/init.js",
90
87
  "bin/cli.js",
88
+ "bin/checkpoint.js",
91
89
  "dashboard/dist/**/*",
90
+ "sdks/crewai/dist/**/*",
92
91
  "!dist/examples/**",
93
92
  "README.md",
94
93
  "LICENSE"
@@ -98,12 +97,12 @@
98
97
  "proxy:stop": "node lemma-proxy.cjs stop",
99
98
  "proxy:stats": "node lemma-proxy.cjs stats",
100
99
  "proxy:status": "node lemma-proxy.cjs status",
101
- "build": "npm run build:esm && npm run build:cjs && npm run postbuild",
102
- "build:full": "npm run build && npm run build:sdks",
100
+ "build": "npm run build:esm && npm run build:cjs && npm run build:sdks",
101
+ "build:full": "npm run build",
103
102
  "build:esm": "tsc --outDir ./dist/esm",
104
103
  "build:cjs": "tsc --project tsconfig.cjs.json",
105
104
  "build:sdks": "npm run sdk:build",
106
- "postbuild": "node scripts/post-build.js",
105
+ "postbuild": "node scripts/post-build.js && node scripts/fix-esm-extensions.js",
107
106
  "dev": "npx tsx start-dev.ts",
108
107
  "start": "node dist/cjs/index.js",
109
108
  "test": "jest",
@@ -137,7 +136,7 @@
137
136
  "stack:all": "bash scripts/launch-all.sh",
138
137
  "sdk:langchain:build": "cd sdks/langchain && npm run build",
139
138
  "sdk:crewai:build": "cd sdks/crewai && npm run build",
140
- "sdk:build": "npm run sdk:langchain:build && npm run sdk:crewai:build",
139
+ "sdk:build": "npm run sdk:crewai:build",
141
140
  "keys:generate": "npx tsx scripts/manage-keys.ts generate",
142
141
  "keys:list": "npx tsx scripts/manage-keys.ts list",
143
142
  "keys:revoke": "npx tsx scripts/manage-keys.ts revoke"
@@ -0,0 +1,178 @@
1
+ # @lemma/crewai
2
+
3
+ CrewAI integration for Lemma agent orchestration hub.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @lemma/crewai
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```typescript
14
+ import { LemmaCrewAgent } from '@lemma/crewai';
15
+
16
+ // Create an agent connected to Lemma
17
+ const agent = new LemmaCrewAgent({
18
+ routerUrl: 'ws://localhost:8080',
19
+ agentId: 'research-agent',
20
+ role: 'Researcher',
21
+ goal: 'Find and analyze information',
22
+ backstory: 'Expert researcher with deep analytical skills',
23
+ capabilities: ['research', 'analysis', 'web-search'],
24
+ });
25
+
26
+ // Connect to the hub
27
+ await agent.connect();
28
+
29
+ // Execute a task
30
+ const result = await agent.execute({
31
+ description: 'Research the latest trends in AI',
32
+ expectedOutput: 'A comprehensive report on AI trends',
33
+ });
34
+
35
+ console.log(result);
36
+
37
+ // Disconnect when done
38
+ agent.disconnect();
39
+ ```
40
+
41
+ ## Features
42
+
43
+ - **Semantic Caching**: Automatic caching of similar tasks
44
+ - **Agent Collaboration**: Discover and delegate to other agents
45
+ - **Task Routing**: Receive tasks from the orchestration hub
46
+ - **Real-time Monitoring**: Track performance through Lemma dashboard
47
+ - **CrewAI Compatible**: Works with existing CrewAI patterns
48
+
49
+ ## Configuration
50
+
51
+ ```typescript
52
+ interface LemmaCrewConfig {
53
+ routerUrl: string; // WebSocket URL of Lemma router
54
+ agentId: string; // Unique agent identifier
55
+ role: string; // Agent role (CrewAI concept)
56
+ goal: string; // Agent goal
57
+ backstory?: string; // Agent backstory
58
+ capabilities?: string[]; // Agent capabilities
59
+ verbose?: boolean; // Enable verbose logging
60
+ allowDelegation?: boolean; // Allow task delegation
61
+ }
62
+ ```
63
+
64
+ ## Advanced Usage
65
+
66
+ ### Multi-Agent Crew
67
+
68
+ ```typescript
69
+ import { EngramCrew } from '@engram/crewai';
70
+
71
+ const crew = new EngramCrew({
72
+ routerUrl: 'ws://localhost:8080',
73
+ agents: [
74
+ {
75
+ agentId: 'researcher',
76
+ role: 'Researcher',
77
+ goal: 'Research information',
78
+ capabilities: ['research', 'web-search'],
79
+ },
80
+ {
81
+ agentId: 'writer',
82
+ role: 'Writer',
83
+ goal: 'Write compelling content',
84
+ capabilities: ['writing', 'editing'],
85
+ },
86
+ {
87
+ agentId: 'reviewer',
88
+ role: 'Reviewer',
89
+ goal: 'Review and improve content',
90
+ capabilities: ['review', 'quality-assurance'],
91
+ },
92
+ ],
93
+ });
94
+
95
+ await crew.connect();
96
+
97
+ // Execute a multi-step workflow
98
+ const result = await crew.kickoff({
99
+ task: 'Create a blog post about quantum computing',
100
+ process: 'sequential', // or 'hierarchical'
101
+ });
102
+
103
+ console.log(result);
104
+ ```
105
+
106
+ ### Task Delegation
107
+
108
+ ```typescript
109
+ const agent = new EngramCrewAgent({
110
+ routerUrl: 'ws://localhost:8080',
111
+ agentId: 'manager-agent',
112
+ role: 'Manager',
113
+ goal: 'Coordinate team tasks',
114
+ allowDelegation: true,
115
+ capabilities: ['management', 'coordination'],
116
+ });
117
+
118
+ await agent.connect();
119
+
120
+ // Agent can delegate subtasks to other agents
121
+ const result = await agent.execute({
122
+ description: 'Create a marketing campaign',
123
+ allowDelegation: true,
124
+ });
125
+ ```
126
+
127
+ ## Benefits
128
+
129
+ 1. **60-80% Cost Reduction**: Semantic caching eliminates redundant LLM calls
130
+ 2. **Sub-50ms Responses**: Cached results return instantly
131
+ 3. **Agent Discovery**: Automatically find capable agents for tasks
132
+ 4. **Centralized Monitoring**: Real-time visibility through dashboard
133
+ 5. **Fault Tolerance**: Auto-reconnection and error handling
134
+
135
+ ## Examples
136
+
137
+ ### Research Agent
138
+
139
+ ```typescript
140
+ const researcher = new EngramCrewAgent({
141
+ routerUrl: 'ws://localhost:8080',
142
+ agentId: 'researcher-001',
143
+ role: 'Senior Researcher',
144
+ goal: 'Conduct thorough research on any topic',
145
+ backstory: 'PhD in Computer Science with 10 years of research experience',
146
+ capabilities: ['research', 'analysis', 'fact-checking'],
147
+ });
148
+
149
+ await researcher.connect();
150
+
151
+ const findings = await researcher.execute({
152
+ description: 'Research the impact of AI on healthcare',
153
+ expectedOutput: 'Detailed research report with citations',
154
+ });
155
+ ```
156
+
157
+ ### Code Review Agent
158
+
159
+ ```typescript
160
+ const reviewer = new EngramCrewAgent({
161
+ routerUrl: 'ws://localhost:8080',
162
+ agentId: 'code-reviewer',
163
+ role: 'Senior Code Reviewer',
164
+ goal: 'Review code for quality and security',
165
+ capabilities: ['code-review', 'security-audit', 'best-practices'],
166
+ });
167
+
168
+ await reviewer.connect();
169
+
170
+ const review = await reviewer.execute({
171
+ description: 'Review this TypeScript code for issues',
172
+ context: { code: '...' },
173
+ });
174
+ ```
175
+
176
+ ## License
177
+
178
+ MIT
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Lemma Crew Configuration
3
+ */
4
+ export interface LemmaCrewConfig {
5
+ /** WebSocket URL of the Lemma router */
6
+ routerUrl: string;
7
+ /** Agent ID */
8
+ agentId: string;
9
+ /** Agent role (CrewAI concept) */
10
+ role: string;
11
+ /** Agent goal */
12
+ goal: string;
13
+ /** Agent backstory */
14
+ backstory?: string;
15
+ /** Capabilities this agent provides */
16
+ capabilities?: string[];
17
+ /** Enable verbose logging */
18
+ verbose?: boolean;
19
+ /** Allow task delegation */
20
+ allowDelegation?: boolean;
21
+ }
22
+ /**
23
+ * Task execution request
24
+ */
25
+ export interface TaskRequest {
26
+ description: string;
27
+ expectedOutput?: string;
28
+ context?: any;
29
+ allowDelegation?: boolean;
30
+ }
31
+ /**
32
+ * Task execution result
33
+ */
34
+ export interface TaskResult {
35
+ success: boolean;
36
+ output?: string;
37
+ error?: string;
38
+ executionTime: number;
39
+ cached?: boolean;
40
+ similarity?: number;
41
+ }
42
+ /**
43
+ * CrewAI Agent integrated with Lemma Router
44
+ */
45
+ export declare class LemmaCrewAgent {
46
+ private ws;
47
+ private config;
48
+ private connected;
49
+ private pendingTasks;
50
+ constructor(config: LemmaCrewConfig);
51
+ /**
52
+ * Connect to Lemma router
53
+ */
54
+ connect(): Promise<void>;
55
+ /**
56
+ * Disconnect from router
57
+ */
58
+ disconnect(): void;
59
+ /**
60
+ * Execute a task
61
+ */
62
+ execute(task: TaskRequest): Promise<TaskResult>;
63
+ /**
64
+ * Handle incoming message from router
65
+ */
66
+ private handleMessage;
67
+ /**
68
+ * Handle task assignment from router
69
+ */
70
+ private handleTaskAssign;
71
+ /**
72
+ * Handle task response from router
73
+ */
74
+ private handleTaskResponse;
75
+ /**
76
+ * Perform task (override in subclasses)
77
+ */
78
+ protected performTask(description: string, parameters: any): Promise<string>;
79
+ /**
80
+ * Send message to router
81
+ */
82
+ private send;
83
+ /**
84
+ * Log message if verbose
85
+ */
86
+ private log;
87
+ /**
88
+ * Get agent info
89
+ */
90
+ getInfo(): {
91
+ agentId: string;
92
+ role: string;
93
+ goal: string;
94
+ backstory: string;
95
+ capabilities: string[];
96
+ };
97
+ }
98
+ /**
99
+ * Lemma Crew - Multi-agent orchestration
100
+ */
101
+ export interface LemmaCrewOptions {
102
+ routerUrl: string;
103
+ agents: Omit<LemmaCrewConfig, 'routerUrl'>[];
104
+ verbose?: boolean;
105
+ }
106
+ export declare class LemmaCrew {
107
+ private agents;
108
+ private config;
109
+ constructor(config: LemmaCrewOptions);
110
+ /**
111
+ * Connect all agents
112
+ */
113
+ connect(): Promise<void>;
114
+ /**
115
+ * Disconnect all agents
116
+ */
117
+ disconnect(): void;
118
+ /**
119
+ * Execute a multi-agent workflow
120
+ */
121
+ kickoff(options: {
122
+ task: string;
123
+ process?: 'sequential' | 'hierarchical';
124
+ }): Promise<any>;
125
+ /**
126
+ * Get all agents
127
+ */
128
+ getAgents(): LemmaCrewAgent[];
129
+ }
130
+ export default LemmaCrewAgent;