@nxuss/lemma 1.44.0 → 1.45.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 (207) hide show
  1. package/README.md +59 -8
  2. package/bin/brain-ingest.js +30 -13
  3. package/dist/cjs/cli/hostHooks.d.ts +38 -7
  4. package/dist/cjs/cli/hostHooks.d.ts.map +1 -1
  5. package/dist/cjs/cli/hostHooks.js +189 -9
  6. package/dist/cjs/cli/hostHooks.js.map +1 -1
  7. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  8. package/dist/cjs/cli/lemma-proxy.js +13 -16
  9. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  10. package/dist/cjs/cloud/billing/stripeApi.d.ts.map +1 -1
  11. package/dist/cjs/cloud/billing/stripeApi.js +6 -1
  12. package/dist/cjs/cloud/billing/stripeApi.js.map +1 -1
  13. package/dist/cjs/cloud/billing/stripeWebhook.d.ts.map +1 -1
  14. package/dist/cjs/cloud/billing/stripeWebhook.js +5 -0
  15. package/dist/cjs/cloud/billing/stripeWebhook.js.map +1 -1
  16. package/dist/cjs/cloud/console/consoleRouter.d.ts +2 -2
  17. package/dist/cjs/cloud/console/consoleRouter.d.ts.map +1 -1
  18. package/dist/cjs/cloud/console/consoleRouter.js +39 -1
  19. package/dist/cjs/cloud/console/consoleRouter.js.map +1 -1
  20. package/dist/cjs/cloud/console/mailer.d.ts +2 -0
  21. package/dist/cjs/cloud/console/mailer.d.ts.map +1 -1
  22. package/dist/cjs/cloud/console/mailer.js +3 -1
  23. package/dist/cjs/cloud/console/mailer.js.map +1 -1
  24. package/dist/cjs/cloud/identity/PlanPolicy.d.ts +26 -5
  25. package/dist/cjs/cloud/identity/PlanPolicy.d.ts.map +1 -1
  26. package/dist/cjs/cloud/identity/PlanPolicy.js +56 -16
  27. package/dist/cjs/cloud/identity/PlanPolicy.js.map +1 -1
  28. package/dist/cjs/cloud/identity/TenantResolver.d.ts +2 -0
  29. package/dist/cjs/cloud/identity/TenantResolver.d.ts.map +1 -1
  30. package/dist/cjs/cloud/identity/TenantResolver.js +1 -1
  31. package/dist/cjs/cloud/identity/TenantResolver.js.map +1 -1
  32. package/dist/cjs/cloud/identity/authenticateV2.js +1 -1
  33. package/dist/cjs/cloud/identity/authenticateV2.js.map +1 -1
  34. package/dist/cjs/cloud/identity/identityStore.d.ts +11 -0
  35. package/dist/cjs/cloud/identity/identityStore.d.ts.map +1 -1
  36. package/dist/cjs/cloud/identity/identityStore.js +26 -9
  37. package/dist/cjs/cloud/identity/identityStore.js.map +1 -1
  38. package/dist/cjs/cloud/metering/PostgresLedgerStore.d.ts +3 -1
  39. package/dist/cjs/cloud/metering/PostgresLedgerStore.d.ts.map +1 -1
  40. package/dist/cjs/cloud/metering/PostgresLedgerStore.js +12 -0
  41. package/dist/cjs/cloud/metering/PostgresLedgerStore.js.map +1 -1
  42. package/dist/cjs/cloud/metering/UsageLedger.d.ts +37 -0
  43. package/dist/cjs/cloud/metering/UsageLedger.d.ts.map +1 -1
  44. package/dist/cjs/cloud/metering/UsageLedger.js +42 -0
  45. package/dist/cjs/cloud/metering/UsageLedger.js.map +1 -1
  46. package/dist/cjs/cloud/store/FileBrainStore.d.ts +5 -1
  47. package/dist/cjs/cloud/store/FileBrainStore.d.ts.map +1 -1
  48. package/dist/cjs/cloud/store/FileBrainStore.js +5 -0
  49. package/dist/cjs/cloud/store/FileBrainStore.js.map +1 -1
  50. package/dist/cjs/cloud/store/PostgresBrainStore.d.ts +10 -1
  51. package/dist/cjs/cloud/store/PostgresBrainStore.d.ts.map +1 -1
  52. package/dist/cjs/cloud/store/PostgresBrainStore.js +28 -0
  53. package/dist/cjs/cloud/store/PostgresBrainStore.js.map +1 -1
  54. package/dist/cjs/cloud/store/memorySummary.d.ts +29 -0
  55. package/dist/cjs/cloud/store/memorySummary.d.ts.map +1 -0
  56. package/dist/cjs/cloud/store/memorySummary.js +66 -0
  57. package/dist/cjs/cloud/store/memorySummary.js.map +1 -0
  58. package/dist/cjs/cloud/v2/routes/admin.d.ts.map +1 -1
  59. package/dist/cjs/cloud/v2/routes/admin.js +20 -5
  60. package/dist/cjs/cloud/v2/routes/admin.js.map +1 -1
  61. package/dist/cjs/cloud/v2/routes/memories.js +1 -1
  62. package/dist/cjs/cloud/v2/routes/memories.js.map +1 -1
  63. package/dist/cjs/cloud/v2/routes/tenant.d.ts +1 -0
  64. package/dist/cjs/cloud/v2/routes/tenant.d.ts.map +1 -1
  65. package/dist/cjs/cloud/v2/routes/tenant.js +4 -1
  66. package/dist/cjs/cloud/v2/routes/tenant.js.map +1 -1
  67. package/dist/cjs/contracts/api-v2.types.d.ts +2 -0
  68. package/dist/cjs/contracts/api-v2.types.d.ts.map +1 -1
  69. package/dist/cjs/contracts/store.d.ts +35 -0
  70. package/dist/cjs/contracts/store.d.ts.map +1 -1
  71. package/dist/cjs/mcp/index.js +4 -1
  72. package/dist/cjs/mcp/index.js.map +1 -1
  73. package/dist/cjs/mcp/tools/misc.d.ts.map +1 -1
  74. package/dist/cjs/mcp/tools/misc.js +2 -1
  75. package/dist/cjs/mcp/tools/misc.js.map +1 -1
  76. package/dist/cjs/mcp/tools/workspace.d.ts.map +1 -1
  77. package/dist/cjs/mcp/tools/workspace.js +4 -1
  78. package/dist/cjs/mcp/tools/workspace.js.map +1 -1
  79. package/dist/cjs/mcp/tools.d.ts +10 -0
  80. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  81. package/dist/cjs/mcp/tools.js +47 -12
  82. package/dist/cjs/mcp/tools.js.map +1 -1
  83. package/dist/cjs/subconscious/HostRecall.d.ts.map +1 -1
  84. package/dist/cjs/subconscious/HostRecall.js +11 -4
  85. package/dist/cjs/subconscious/HostRecall.js.map +1 -1
  86. package/dist/cjs/utils/FixCapture.d.ts +7 -5
  87. package/dist/cjs/utils/FixCapture.d.ts.map +1 -1
  88. package/dist/cjs/utils/FixCapture.js +64 -32
  89. package/dist/cjs/utils/FixCapture.js.map +1 -1
  90. package/dist/cjs/utils/NoTerminal.d.ts +27 -0
  91. package/dist/cjs/utils/NoTerminal.d.ts.map +1 -0
  92. package/dist/cjs/utils/NoTerminal.js +37 -0
  93. package/dist/cjs/utils/NoTerminal.js.map +1 -0
  94. package/dist/cjs/utils/OpenCodeSession.d.ts +70 -0
  95. package/dist/cjs/utils/OpenCodeSession.d.ts.map +1 -0
  96. package/dist/cjs/utils/OpenCodeSession.js +154 -0
  97. package/dist/cjs/utils/OpenCodeSession.js.map +1 -0
  98. package/dist/cjs/utils/SessionCapture.d.ts +29 -7
  99. package/dist/cjs/utils/SessionCapture.d.ts.map +1 -1
  100. package/dist/cjs/utils/SessionCapture.js +180 -32
  101. package/dist/cjs/utils/SessionCapture.js.map +1 -1
  102. package/dist/cjs/utils/TestAutofixInterceptor.d.ts.map +1 -1
  103. package/dist/cjs/utils/TestAutofixInterceptor.js +2 -0
  104. package/dist/cjs/utils/TestAutofixInterceptor.js.map +1 -1
  105. package/dist/esm/cli/hostHooks.d.ts +38 -7
  106. package/dist/esm/cli/hostHooks.d.ts.map +1 -1
  107. package/dist/esm/cli/hostHooks.js +187 -8
  108. package/dist/esm/cli/hostHooks.js.map +1 -1
  109. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  110. package/dist/esm/cli/lemma-proxy.js +14 -17
  111. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  112. package/dist/esm/cloud/billing/stripeApi.d.ts.map +1 -1
  113. package/dist/esm/cloud/billing/stripeApi.js +6 -1
  114. package/dist/esm/cloud/billing/stripeApi.js.map +1 -1
  115. package/dist/esm/cloud/billing/stripeWebhook.d.ts.map +1 -1
  116. package/dist/esm/cloud/billing/stripeWebhook.js +5 -0
  117. package/dist/esm/cloud/billing/stripeWebhook.js.map +1 -1
  118. package/dist/esm/cloud/console/consoleRouter.d.ts +2 -2
  119. package/dist/esm/cloud/console/consoleRouter.d.ts.map +1 -1
  120. package/dist/esm/cloud/console/consoleRouter.js +39 -1
  121. package/dist/esm/cloud/console/consoleRouter.js.map +1 -1
  122. package/dist/esm/cloud/console/mailer.d.ts +2 -0
  123. package/dist/esm/cloud/console/mailer.d.ts.map +1 -1
  124. package/dist/esm/cloud/console/mailer.js +3 -1
  125. package/dist/esm/cloud/console/mailer.js.map +1 -1
  126. package/dist/esm/cloud/identity/PlanPolicy.d.ts +26 -5
  127. package/dist/esm/cloud/identity/PlanPolicy.d.ts.map +1 -1
  128. package/dist/esm/cloud/identity/PlanPolicy.js +54 -15
  129. package/dist/esm/cloud/identity/PlanPolicy.js.map +1 -1
  130. package/dist/esm/cloud/identity/TenantResolver.d.ts +2 -0
  131. package/dist/esm/cloud/identity/TenantResolver.d.ts.map +1 -1
  132. package/dist/esm/cloud/identity/TenantResolver.js +1 -1
  133. package/dist/esm/cloud/identity/TenantResolver.js.map +1 -1
  134. package/dist/esm/cloud/identity/authenticateV2.js +1 -1
  135. package/dist/esm/cloud/identity/authenticateV2.js.map +1 -1
  136. package/dist/esm/cloud/identity/identityStore.d.ts +11 -0
  137. package/dist/esm/cloud/identity/identityStore.d.ts.map +1 -1
  138. package/dist/esm/cloud/identity/identityStore.js +26 -9
  139. package/dist/esm/cloud/identity/identityStore.js.map +1 -1
  140. package/dist/esm/cloud/metering/PostgresLedgerStore.d.ts +3 -1
  141. package/dist/esm/cloud/metering/PostgresLedgerStore.d.ts.map +1 -1
  142. package/dist/esm/cloud/metering/PostgresLedgerStore.js +12 -0
  143. package/dist/esm/cloud/metering/PostgresLedgerStore.js.map +1 -1
  144. package/dist/esm/cloud/metering/UsageLedger.d.ts +37 -0
  145. package/dist/esm/cloud/metering/UsageLedger.d.ts.map +1 -1
  146. package/dist/esm/cloud/metering/UsageLedger.js +41 -0
  147. package/dist/esm/cloud/metering/UsageLedger.js.map +1 -1
  148. package/dist/esm/cloud/store/FileBrainStore.d.ts +5 -1
  149. package/dist/esm/cloud/store/FileBrainStore.d.ts.map +1 -1
  150. package/dist/esm/cloud/store/FileBrainStore.js +5 -0
  151. package/dist/esm/cloud/store/FileBrainStore.js.map +1 -1
  152. package/dist/esm/cloud/store/PostgresBrainStore.d.ts +10 -1
  153. package/dist/esm/cloud/store/PostgresBrainStore.d.ts.map +1 -1
  154. package/dist/esm/cloud/store/PostgresBrainStore.js +28 -0
  155. package/dist/esm/cloud/store/PostgresBrainStore.js.map +1 -1
  156. package/dist/esm/cloud/store/memorySummary.d.ts +29 -0
  157. package/dist/esm/cloud/store/memorySummary.d.ts.map +1 -0
  158. package/dist/esm/cloud/store/memorySummary.js +60 -0
  159. package/dist/esm/cloud/store/memorySummary.js.map +1 -0
  160. package/dist/esm/cloud/v2/routes/admin.d.ts.map +1 -1
  161. package/dist/esm/cloud/v2/routes/admin.js +20 -5
  162. package/dist/esm/cloud/v2/routes/admin.js.map +1 -1
  163. package/dist/esm/cloud/v2/routes/memories.js +1 -1
  164. package/dist/esm/cloud/v2/routes/memories.js.map +1 -1
  165. package/dist/esm/cloud/v2/routes/tenant.d.ts +1 -0
  166. package/dist/esm/cloud/v2/routes/tenant.d.ts.map +1 -1
  167. package/dist/esm/cloud/v2/routes/tenant.js +4 -1
  168. package/dist/esm/cloud/v2/routes/tenant.js.map +1 -1
  169. package/dist/esm/contracts/api-v2.types.d.ts +2 -0
  170. package/dist/esm/contracts/api-v2.types.d.ts.map +1 -1
  171. package/dist/esm/contracts/store.d.ts +35 -0
  172. package/dist/esm/contracts/store.d.ts.map +1 -1
  173. package/dist/esm/mcp/index.js +5 -2
  174. package/dist/esm/mcp/index.js.map +1 -1
  175. package/dist/esm/mcp/tools/misc.d.ts.map +1 -1
  176. package/dist/esm/mcp/tools/misc.js +2 -1
  177. package/dist/esm/mcp/tools/misc.js.map +1 -1
  178. package/dist/esm/mcp/tools/workspace.d.ts.map +1 -1
  179. package/dist/esm/mcp/tools/workspace.js +4 -1
  180. package/dist/esm/mcp/tools/workspace.js.map +1 -1
  181. package/dist/esm/mcp/tools.d.ts +10 -0
  182. package/dist/esm/mcp/tools.d.ts.map +1 -1
  183. package/dist/esm/mcp/tools.js +46 -12
  184. package/dist/esm/mcp/tools.js.map +1 -1
  185. package/dist/esm/subconscious/HostRecall.d.ts.map +1 -1
  186. package/dist/esm/subconscious/HostRecall.js +11 -4
  187. package/dist/esm/subconscious/HostRecall.js.map +1 -1
  188. package/dist/esm/utils/FixCapture.d.ts +7 -5
  189. package/dist/esm/utils/FixCapture.d.ts.map +1 -1
  190. package/dist/esm/utils/FixCapture.js +64 -33
  191. package/dist/esm/utils/FixCapture.js.map +1 -1
  192. package/dist/esm/utils/NoTerminal.d.ts +27 -0
  193. package/dist/esm/utils/NoTerminal.d.ts.map +1 -0
  194. package/dist/esm/utils/NoTerminal.js +33 -0
  195. package/dist/esm/utils/NoTerminal.js.map +1 -0
  196. package/dist/esm/utils/OpenCodeSession.d.ts +70 -0
  197. package/dist/esm/utils/OpenCodeSession.d.ts.map +1 -0
  198. package/dist/esm/utils/OpenCodeSession.js +146 -0
  199. package/dist/esm/utils/OpenCodeSession.js.map +1 -0
  200. package/dist/esm/utils/SessionCapture.d.ts +29 -7
  201. package/dist/esm/utils/SessionCapture.d.ts.map +1 -1
  202. package/dist/esm/utils/SessionCapture.js +180 -32
  203. package/dist/esm/utils/SessionCapture.js.map +1 -1
  204. package/dist/esm/utils/TestAutofixInterceptor.d.ts.map +1 -1
  205. package/dist/esm/utils/TestAutofixInterceptor.js +2 -0
  206. package/dist/esm/utils/TestAutofixInterceptor.js.map +1 -1
  207. package/package.json +1 -1
@@ -52,6 +52,7 @@ const AgentMultiplexer_1 = require("../proxy/AgentMultiplexer");
52
52
  const SseRelay_1 = require("../proxy/SseRelay");
53
53
  const KeyManager_1 = require("../proxy/KeyManager");
54
54
  const Gatekeeper_1 = require("../proxy/Gatekeeper");
55
+ const CloudEntitlement_1 = require("../cloud/CloudEntitlement");
55
56
  const ProjectIdentity_1 = require("../utils/ProjectIdentity");
56
57
  const ProjectRegistry_1 = require("../proxy/ProjectRegistry");
57
58
  const ContextInjector_1 = require("../proxy/ContextInjector");
@@ -376,23 +377,14 @@ enabled = true
376
377
  }
377
378
  }
378
379
  catch { }
379
- // Register lemma MCP server in OpenCode user config (~/.opencode.json)
380
- const openCodeMcpFile = path_1.default.join(os_1.default.homedir(), '.opencode.json');
380
+ // Register lemma MCP server where OpenCode reads it (~/.config/opencode/opencode.json); see registerOpenCodeMcp.
381
381
  try {
382
- let openCodeConfig = {};
383
- if (fs_1.default.existsSync(openCodeMcpFile)) {
384
- openCodeConfig = JSON.parse(fs_1.default.readFileSync(openCodeMcpFile, 'utf8'));
385
- }
386
- if (!openCodeConfig.mcp)
387
- openCodeConfig.mcp = {};
388
- if (!openCodeConfig.mcp.lemma) {
389
- openCodeConfig.mcp.lemma = {
390
- command: "npx",
391
- args: ["-y", "@nxuss/lemma", "mcp"],
392
- enabled: true
393
- };
394
- fs_1.default.writeFileSync(openCodeMcpFile, JSON.stringify(openCodeConfig, null, 2));
395
- console.log('✅ [OpenCode] Registered lemma MCP server in ~/.opencode.json');
382
+ if (fs_1.default.existsSync(path_1.default.join(os_1.default.homedir(), '.config', 'opencode')) || fs_1.default.existsSync(path_1.default.join(os_1.default.homedir(), '.opencode'))) {
383
+ const r = (0, hostHooks_1.registerOpenCodeMcp)();
384
+ if (r.status === 'installed' || r.status === 'updated')
385
+ console.log(`✅ [OpenCode] Registered lemma MCP server in ${r.file}`);
386
+ else if (r.status === 'manual')
387
+ console.log(`⚠️ [OpenCode] ${r.file} is not plain JSON; add this to it by hand:\n${r.snippet}`);
396
388
  }
397
389
  }
398
390
  catch { }
@@ -2324,9 +2316,13 @@ Adjusted Answer:`;
2324
2316
  throw e;
2325
2317
  });
2326
2318
  const BIND_HOST = process.env.LEMMA_BIND_HOST || '127.0.0.1';
2319
+ // Without this a machine that only runs the proxy keeps its Cloud seat's Pro answer until the
2320
+ // 7-day grace runs out: the MCP server is the only other process that refreshes it.
2321
+ let stopEntitlementRefresh = () => { };
2327
2322
  server.listen(this.port, BIND_HOST, async () => {
2328
2323
  fs_1.default.writeFileSync(ProjectStore_1.PID_FILE, String(process.pid));
2329
2324
  fs_1.default.writeFileSync(ProjectStore_1.PORT_FILE, String(this.port));
2325
+ stopEntitlementRefresh = (0, CloudEntitlement_1.startEntitlementRefresh)();
2330
2326
  // Security warning if binding to all interfaces without auth
2331
2327
  if (BIND_HOST !== '127.0.0.1' && BIND_HOST !== 'localhost') {
2332
2328
  const authEnabled = process.env.AUTH_ENABLED === 'true';
@@ -2388,6 +2384,7 @@ Adjusted Answer:`;
2388
2384
  // `lemma stop` used to leave a daemon with no port that never exited. Flush the Brain's
2389
2385
  // debounced write (same reason as the MCP bootstrap), close, and exit — with a hard cap.
2390
2386
  const shutdown = () => {
2387
+ stopEntitlementRefresh();
2391
2388
  try {
2392
2389
  (0, TheBrainV2_1.getBrain)().flushSync();
2393
2390
  }