@stackmemoryai/stackmemory 0.3.6 → 0.3.8

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 (267) hide show
  1. package/dist/agents/core/agent-task-manager.js +5 -5
  2. package/dist/agents/core/agent-task-manager.js.map +2 -2
  3. package/dist/agents/verifiers/base-verifier.js +2 -2
  4. package/dist/agents/verifiers/base-verifier.js.map +2 -2
  5. package/dist/agents/verifiers/formatter-verifier.js.map +2 -2
  6. package/dist/agents/verifiers/llm-judge.js.map +2 -2
  7. package/dist/cli/claude-sm.js +13 -13
  8. package/dist/cli/claude-sm.js.map +2 -2
  9. package/dist/cli/codex-sm.js +13 -13
  10. package/dist/cli/codex-sm.js.map +2 -2
  11. package/dist/cli/commands/agent.js.map +2 -2
  12. package/dist/cli/commands/chromadb.js +261 -46
  13. package/dist/cli/commands/chromadb.js.map +2 -2
  14. package/dist/cli/commands/clear.js +10 -3
  15. package/dist/cli/commands/clear.js.map +2 -2
  16. package/dist/cli/commands/config.js +43 -33
  17. package/dist/cli/commands/config.js.map +2 -2
  18. package/dist/cli/commands/context.js +13 -2
  19. package/dist/cli/commands/context.js.map +2 -2
  20. package/dist/cli/commands/dashboard.js +41 -13
  21. package/dist/cli/commands/dashboard.js.map +2 -2
  22. package/dist/cli/commands/gc.js +251 -0
  23. package/dist/cli/commands/gc.js.map +7 -0
  24. package/dist/cli/commands/handoff.js +12 -1
  25. package/dist/cli/commands/handoff.js.map +2 -2
  26. package/dist/cli/commands/infinite-storage.js +92 -40
  27. package/dist/cli/commands/infinite-storage.js.map +2 -2
  28. package/dist/cli/commands/linear-create.js +49 -10
  29. package/dist/cli/commands/linear-create.js.map +2 -2
  30. package/dist/cli/commands/linear-list.js +45 -11
  31. package/dist/cli/commands/linear-list.js.map +2 -2
  32. package/dist/cli/commands/linear-migrate.js +29 -5
  33. package/dist/cli/commands/linear-migrate.js.map +2 -2
  34. package/dist/cli/commands/linear-test.js +26 -7
  35. package/dist/cli/commands/linear-test.js.map +2 -2
  36. package/dist/cli/commands/linear-unified.js +350 -0
  37. package/dist/cli/commands/linear-unified.js.map +7 -0
  38. package/dist/cli/commands/linear.js +17 -6
  39. package/dist/cli/commands/linear.js.map +2 -2
  40. package/dist/cli/commands/monitor.js.map +2 -2
  41. package/dist/cli/commands/onboard.js +35 -8
  42. package/dist/cli/commands/onboard.js.map +2 -2
  43. package/dist/cli/commands/quality.js +2 -7
  44. package/dist/cli/commands/quality.js.map +2 -2
  45. package/dist/cli/commands/search.js.map +2 -2
  46. package/dist/cli/commands/session.js +23 -6
  47. package/dist/cli/commands/session.js.map +2 -2
  48. package/dist/cli/commands/skills.js +84 -28
  49. package/dist/cli/commands/skills.js.map +2 -2
  50. package/dist/cli/commands/storage.js +119 -38
  51. package/dist/cli/commands/storage.js.map +2 -2
  52. package/dist/cli/commands/tasks.js.map +2 -2
  53. package/dist/cli/commands/tui.js +13 -2
  54. package/dist/cli/commands/tui.js.map +2 -2
  55. package/dist/cli/commands/webhook.js +71 -21
  56. package/dist/cli/commands/webhook.js.map +2 -2
  57. package/dist/cli/commands/workflow.js +11 -7
  58. package/dist/cli/commands/workflow.js.map +2 -2
  59. package/dist/cli/commands/worktree.js +34 -13
  60. package/dist/cli/commands/worktree.js.map +2 -2
  61. package/dist/cli/index.js +7 -5
  62. package/dist/cli/index.js.map +2 -2
  63. package/dist/core/config/config-manager.js.map +2 -2
  64. package/dist/core/config/types.js.map +1 -1
  65. package/dist/core/context/auto-context.js +10 -6
  66. package/dist/core/context/auto-context.js.map +2 -2
  67. package/dist/core/context/compaction-handler.js.map +2 -2
  68. package/dist/core/context/context-bridge.js.map +2 -2
  69. package/dist/core/context/dual-stack-manager.js.map +2 -2
  70. package/dist/core/context/frame-database.js +13 -3
  71. package/dist/core/context/frame-database.js.map +2 -2
  72. package/dist/core/context/frame-digest.js +7 -5
  73. package/dist/core/context/frame-digest.js.map +2 -2
  74. package/dist/core/context/frame-handoff-manager.js.map +2 -2
  75. package/dist/core/context/frame-manager.js +12 -1
  76. package/dist/core/context/frame-manager.js.map +2 -2
  77. package/dist/core/context/frame-stack.js +16 -5
  78. package/dist/core/context/frame-stack.js.map +2 -2
  79. package/dist/core/context/incremental-gc.js +286 -0
  80. package/dist/core/context/incremental-gc.js.map +7 -0
  81. package/dist/core/context/index.js.map +1 -1
  82. package/dist/core/context/permission-manager.js +12 -1
  83. package/dist/core/context/permission-manager.js.map +2 -2
  84. package/dist/core/context/refactored-frame-manager.js +12 -3
  85. package/dist/core/context/refactored-frame-manager.js.map +2 -2
  86. package/dist/core/context/shared-context-layer.js +16 -3
  87. package/dist/core/context/shared-context-layer.js.map +2 -2
  88. package/dist/core/context/stack-merge-resolver.js.map +2 -2
  89. package/dist/core/context/validation.js.map +2 -2
  90. package/dist/core/database/batch-operations.js +112 -86
  91. package/dist/core/database/batch-operations.js.map +2 -2
  92. package/dist/core/database/connection-pool.js.map +2 -2
  93. package/dist/core/database/migration-manager.js.map +2 -2
  94. package/dist/core/database/paradedb-adapter.js.map +2 -2
  95. package/dist/core/database/query-cache.js +19 -9
  96. package/dist/core/database/query-cache.js.map +2 -2
  97. package/dist/core/database/query-router.js.map +2 -2
  98. package/dist/core/database/sqlite-adapter.js +1 -1
  99. package/dist/core/database/sqlite-adapter.js.map +2 -2
  100. package/dist/core/digest/enhanced-hybrid-digest.js +8 -2
  101. package/dist/core/digest/enhanced-hybrid-digest.js.map +2 -2
  102. package/dist/core/errors/recovery.js +9 -2
  103. package/dist/core/errors/recovery.js.map +2 -2
  104. package/dist/core/frame/workflow-templates-stub.js.map +1 -1
  105. package/dist/core/frame/workflow-templates.js +40 -1
  106. package/dist/core/frame/workflow-templates.js.map +2 -2
  107. package/dist/core/merge/resolution-engine.js.map +2 -2
  108. package/dist/core/monitoring/error-handler.js.map +2 -2
  109. package/dist/core/monitoring/logger.js +19 -3
  110. package/dist/core/monitoring/logger.js.map +2 -2
  111. package/dist/core/monitoring/metrics.js +13 -2
  112. package/dist/core/monitoring/metrics.js.map +2 -2
  113. package/dist/core/monitoring/progress-tracker.js +12 -1
  114. package/dist/core/monitoring/progress-tracker.js.map +2 -2
  115. package/dist/core/monitoring/session-monitor.js.map +2 -2
  116. package/dist/core/performance/context-cache.js.map +2 -2
  117. package/dist/core/performance/lazy-context-loader.js +24 -20
  118. package/dist/core/performance/lazy-context-loader.js.map +2 -2
  119. package/dist/core/performance/monitor.js.map +2 -2
  120. package/dist/core/performance/optimized-frame-context.js +27 -12
  121. package/dist/core/performance/optimized-frame-context.js.map +2 -2
  122. package/dist/core/performance/performance-benchmark.js +10 -6
  123. package/dist/core/performance/performance-benchmark.js.map +2 -2
  124. package/dist/core/performance/performance-profiler.js +63 -15
  125. package/dist/core/performance/performance-profiler.js.map +2 -2
  126. package/dist/core/performance/streaming-jsonl-parser.js +5 -1
  127. package/dist/core/performance/streaming-jsonl-parser.js.map +2 -2
  128. package/dist/core/persistence/postgres-adapter.js.map +2 -2
  129. package/dist/core/projects/project-manager.js +14 -20
  130. package/dist/core/projects/project-manager.js.map +2 -2
  131. package/dist/core/retrieval/context-retriever.js.map +2 -2
  132. package/dist/core/retrieval/graph-retrieval.js.map +2 -2
  133. package/dist/core/retrieval/llm-context-retrieval.js.map +2 -2
  134. package/dist/core/retrieval/retrieval-benchmarks.js.map +2 -2
  135. package/dist/core/retrieval/summary-generator.js.map +2 -2
  136. package/dist/core/session/clear-survival-stub.js +5 -1
  137. package/dist/core/session/clear-survival-stub.js.map +2 -2
  138. package/dist/core/session/clear-survival.js +35 -0
  139. package/dist/core/session/clear-survival.js.map +2 -2
  140. package/dist/core/session/handoff-generator.js.map +2 -2
  141. package/dist/core/session/index.js.map +1 -1
  142. package/dist/core/session/session-manager.js +16 -5
  143. package/dist/core/session/session-manager.js.map +2 -2
  144. package/dist/core/skills/skill-storage.js +13 -2
  145. package/dist/core/skills/skill-storage.js.map +2 -2
  146. package/dist/core/storage/chromadb-adapter.js +6 -2
  147. package/dist/core/storage/chromadb-adapter.js.map +2 -2
  148. package/dist/core/storage/chromadb-simple.js +17 -5
  149. package/dist/core/storage/chromadb-simple.js.map +2 -2
  150. package/dist/core/storage/infinite-storage.js +109 -46
  151. package/dist/core/storage/infinite-storage.js.map +2 -2
  152. package/dist/core/storage/railway-optimized-storage.js +67 -30
  153. package/dist/core/storage/railway-optimized-storage.js.map +2 -2
  154. package/dist/core/storage/remote-storage.js +53 -24
  155. package/dist/core/storage/remote-storage.js.map +2 -2
  156. package/dist/core/trace/cli-trace-wrapper.js +25 -7
  157. package/dist/core/trace/cli-trace-wrapper.js.map +2 -2
  158. package/dist/core/trace/db-trace-wrapper.js +96 -68
  159. package/dist/core/trace/db-trace-wrapper.js.map +2 -2
  160. package/dist/core/trace/debug-trace.js +44 -16
  161. package/dist/core/trace/debug-trace.js.map +2 -2
  162. package/dist/core/trace/index.js +50 -35
  163. package/dist/core/trace/index.js.map +2 -2
  164. package/dist/core/trace/linear-api-wrapper.js +10 -5
  165. package/dist/core/trace/linear-api-wrapper.js.map +2 -2
  166. package/dist/core/trace/trace-demo.js +26 -11
  167. package/dist/core/trace/trace-demo.js.map +2 -2
  168. package/dist/core/trace/trace-detector.js +9 -2
  169. package/dist/core/trace/trace-detector.js.map +2 -2
  170. package/dist/core/trace/trace-store.js.map +2 -2
  171. package/dist/core/trace/types.js.map +1 -1
  172. package/dist/core/utils/compression.js.map +1 -1
  173. package/dist/core/utils/update-checker.js.map +2 -2
  174. package/dist/core/worktree/worktree-manager.js +18 -7
  175. package/dist/core/worktree/worktree-manager.js.map +2 -2
  176. package/dist/features/analytics/api/analytics-api.js.map +2 -2
  177. package/dist/features/analytics/core/analytics-service.js +12 -1
  178. package/dist/features/analytics/core/analytics-service.js.map +2 -2
  179. package/dist/features/analytics/queries/metrics-queries.js +1 -1
  180. package/dist/features/analytics/queries/metrics-queries.js.map +2 -2
  181. package/dist/features/tasks/pebbles-task-store.js.map +2 -2
  182. package/dist/features/tui/components/analytics-panel.js +36 -15
  183. package/dist/features/tui/components/analytics-panel.js.map +2 -2
  184. package/dist/features/tui/components/pr-tracker.js +19 -7
  185. package/dist/features/tui/components/pr-tracker.js.map +2 -2
  186. package/dist/features/tui/components/session-monitor.js +22 -9
  187. package/dist/features/tui/components/session-monitor.js.map +2 -2
  188. package/dist/features/tui/components/subagent-fleet.js +20 -13
  189. package/dist/features/tui/components/subagent-fleet.js.map +2 -2
  190. package/dist/features/tui/components/task-board.js +666 -2
  191. package/dist/features/tui/components/task-board.js.map +2 -2
  192. package/dist/features/tui/index.js +16 -5
  193. package/dist/features/tui/index.js.map +2 -2
  194. package/dist/features/tui/services/data-service.js +30 -15
  195. package/dist/features/tui/services/data-service.js.map +2 -2
  196. package/dist/features/tui/services/linear-task-reader.js +3 -1
  197. package/dist/features/tui/services/linear-task-reader.js.map +2 -2
  198. package/dist/features/tui/services/websocket-client.js +16 -3
  199. package/dist/features/tui/services/websocket-client.js.map +2 -2
  200. package/dist/features/tui/terminal-compat.js +33 -18
  201. package/dist/features/tui/terminal-compat.js.map +2 -2
  202. package/dist/features/web/client/stores/task-store.js.map +2 -2
  203. package/dist/features/web/server/index.js +31 -12
  204. package/dist/features/web/server/index.js.map +2 -2
  205. package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js.map +2 -2
  206. package/dist/integrations/claude-code/lifecycle-hooks.js.map +2 -2
  207. package/dist/integrations/claude-code/post-task-hooks.js.map +2 -2
  208. package/dist/integrations/linear/auth.js +17 -6
  209. package/dist/integrations/linear/auth.js.map +2 -2
  210. package/dist/integrations/linear/auto-sync.js.map +2 -2
  211. package/dist/integrations/linear/client.js.map +2 -2
  212. package/dist/integrations/linear/config.js.map +2 -2
  213. package/dist/integrations/linear/migration.js.map +2 -2
  214. package/dist/integrations/linear/oauth-server.js +13 -2
  215. package/dist/integrations/linear/oauth-server.js.map +2 -2
  216. package/dist/integrations/linear/rest-client.js.map +2 -2
  217. package/dist/integrations/linear/sync-enhanced.js +202 -0
  218. package/dist/integrations/linear/sync-enhanced.js.map +7 -0
  219. package/dist/integrations/linear/sync-manager.js.map +2 -2
  220. package/dist/integrations/linear/sync-service.js +24 -14
  221. package/dist/integrations/linear/sync-service.js.map +2 -2
  222. package/dist/integrations/linear/sync.js +196 -3
  223. package/dist/integrations/linear/sync.js.map +2 -2
  224. package/dist/integrations/linear/unified-sync.js +560 -0
  225. package/dist/integrations/linear/unified-sync.js.map +7 -0
  226. package/dist/integrations/linear/webhook-handler.js +12 -1
  227. package/dist/integrations/linear/webhook-handler.js.map +2 -2
  228. package/dist/integrations/linear/webhook-server.js +29 -19
  229. package/dist/integrations/linear/webhook-server.js.map +2 -2
  230. package/dist/integrations/linear/webhook.js +12 -1
  231. package/dist/integrations/linear/webhook.js.map +2 -2
  232. package/dist/integrations/mcp/handlers/context-handlers.js.map +2 -2
  233. package/dist/integrations/mcp/handlers/linear-handlers.js.map +2 -2
  234. package/dist/integrations/mcp/handlers/skill-handlers.js +13 -2
  235. package/dist/integrations/mcp/handlers/skill-handlers.js.map +2 -2
  236. package/dist/integrations/mcp/handlers/task-handlers.js.map +2 -2
  237. package/dist/integrations/mcp/handlers/trace-handlers.js.map +2 -2
  238. package/dist/integrations/mcp/middleware/tool-scoring.js.map +2 -2
  239. package/dist/integrations/mcp/refactored-server.js +15 -4
  240. package/dist/integrations/mcp/refactored-server.js.map +2 -2
  241. package/dist/integrations/mcp/server.js +12 -1
  242. package/dist/integrations/mcp/server.js.map +2 -2
  243. package/dist/integrations/mcp/tool-definitions.js.map +2 -2
  244. package/dist/integrations/pg-aiguide/embedding-provider.js +13 -2
  245. package/dist/integrations/pg-aiguide/embedding-provider.js.map +2 -2
  246. package/dist/integrations/pg-aiguide/semantic-search.js.map +2 -2
  247. package/dist/mcp/stackmemory-mcp-server.js +1 -1
  248. package/dist/mcp/stackmemory-mcp-server.js.map +2 -2
  249. package/dist/middleware/exponential-rate-limiter.js.map +2 -2
  250. package/dist/servers/production/auth-middleware.js +13 -2
  251. package/dist/servers/production/auth-middleware.js.map +2 -2
  252. package/dist/servers/railway/index.js +22 -11
  253. package/dist/servers/railway/index.js.map +2 -2
  254. package/dist/services/config-service.js +6 -7
  255. package/dist/services/config-service.js.map +2 -2
  256. package/dist/services/context-service.js +11 -12
  257. package/dist/services/context-service.js.map +2 -2
  258. package/dist/skills/claude-skills.js +108 -3
  259. package/dist/skills/claude-skills.js.map +2 -2
  260. package/dist/skills/dashboard-launcher.js.map +2 -2
  261. package/dist/skills/repo-ingestion-skill.js +561 -0
  262. package/dist/skills/repo-ingestion-skill.js.map +7 -0
  263. package/dist/utils/env.js +46 -0
  264. package/dist/utils/env.js.map +7 -0
  265. package/dist/utils/logger.js +1 -1
  266. package/dist/utils/logger.js.map +2 -2
  267. package/package.json +5 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/env.ts"],
4
+ "sourcesContent": ["/**\n * Shared environment variable utilities\n */\n\nexport function getEnv(key: string, defaultValue?: string): string {\n const value = process.env[key];\n if (!value && !defaultValue) {\n throw new Error(`Environment variable ${key} is required but not set`);\n }\n return value || defaultValue || '';\n}\n\nexport function getOptionalEnv(\n key: string,\n defaultValue?: string\n): string | undefined {\n return process.env[key] || defaultValue;\n}\n\nexport function getRequiredEnv(key: string): string {\n const value = process.env[key];\n if (!value) {\n throw new Error(`Environment variable ${key} is required but not set`);\n }\n return value;\n}\n\nexport function getBooleanEnv(\n key: string,\n defaultValue: boolean = false\n): boolean {\n const value = process.env[key];\n if (!value) return defaultValue;\n return value.toLowerCase() === 'true' || value === '1';\n}\n\nexport function getNumberEnv(key: string, defaultValue?: number): number {\n const value = process.env[key];\n if (!value) {\n if (defaultValue === undefined) {\n throw new Error(`Environment variable ${key} is required but not set`);\n }\n return defaultValue;\n }\n const num = parseInt(value, 10);\n if (isNaN(num)) {\n throw new Error(\n `Environment variable ${key} must be a number, got: ${value}`\n );\n }\n return num;\n}\n"],
5
+ "mappings": "AAIO,SAAS,OAAO,KAAa,cAA+B;AACjE,QAAM,QAAQ,QAAQ,IAAI,GAAG;AAC7B,MAAI,CAAC,SAAS,CAAC,cAAc;AAC3B,UAAM,IAAI,MAAM,wBAAwB,GAAG,0BAA0B;AAAA,EACvE;AACA,SAAO,SAAS,gBAAgB;AAClC;AAEO,SAAS,eACd,KACA,cACoB;AACpB,SAAO,QAAQ,IAAI,GAAG,KAAK;AAC7B;AAEO,SAAS,eAAe,KAAqB;AAClD,QAAM,QAAQ,QAAQ,IAAI,GAAG;AAC7B,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,wBAAwB,GAAG,0BAA0B;AAAA,EACvE;AACA,SAAO;AACT;AAEO,SAAS,cACd,KACA,eAAwB,OACf;AACT,QAAM,QAAQ,QAAQ,IAAI,GAAG;AAC7B,MAAI,CAAC,MAAO,QAAO;AACnB,SAAO,MAAM,YAAY,MAAM,UAAU,UAAU;AACrD;AAEO,SAAS,aAAa,KAAa,cAA+B;AACvE,QAAM,QAAQ,QAAQ,IAAI,GAAG;AAC7B,MAAI,CAAC,OAAO;AACV,QAAI,iBAAiB,QAAW;AAC9B,YAAM,IAAI,MAAM,wBAAwB,GAAG,0BAA0B;AAAA,IACvE;AACA,WAAO;AAAA,EACT;AACA,QAAM,MAAM,SAAS,OAAO,EAAE;AAC9B,MAAI,MAAM,GAAG,GAAG;AACd,UAAM,IAAI;AAAA,MACR,wBAAwB,GAAG,2BAA2B,KAAK;AAAA,IAC7D;AAAA,EACF;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -4,7 +4,7 @@ class Logger {
4
4
  logLevel;
5
5
  constructor(name, logLevel = "info") {
6
6
  this.name = name;
7
- this.logLevel = process.env.LOG_LEVEL || logLevel;
7
+ this.logLevel = process.env["LOG_LEVEL"] || logLevel;
8
8
  }
9
9
  shouldLog(level) {
10
10
  const levels = ["debug", "info", "warn", "error"];
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/logger.ts"],
4
- "sourcesContent": ["import chalk from 'chalk';\n\nexport type LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\nexport class Logger {\n private name: string;\n private logLevel: LogLevel;\n\n constructor(name: string, logLevel: LogLevel = 'info') {\n this.name = name;\n this.logLevel = (process.env.LOG_LEVEL as LogLevel) || logLevel;\n }\n\n private shouldLog(level: LogLevel): boolean {\n const levels: LogLevel[] = ['debug', 'info', 'warn', 'error'];\n const currentIndex = levels.indexOf(this.logLevel);\n const targetIndex = levels.indexOf(level);\n return targetIndex >= currentIndex;\n }\n\n private formatMessage(\n level: LogLevel,\n message: string,\n ...args: unknown[]\n ): string {\n const timestamp = new Date().toISOString();\n const prefix = `[${timestamp}] [${this.name}] [${level.toUpperCase()}]`;\n\n const formattedArgs =\n args.length > 0\n ? ' ' +\n args\n .map((arg) =>\n typeof arg === 'object' ? JSON.stringify(arg, null, 2) : arg\n )\n .join(' ')\n : '';\n\n return `${prefix} ${message}${formattedArgs}`;\n }\n\n public debug(message: string, ...args: unknown[]): void {\n if (this.shouldLog('debug')) {\n console.log(chalk.gray(this.formatMessage('debug', message, ...args)));\n }\n }\n\n public info(message: string, ...args: unknown[]): void {\n if (this.shouldLog('info')) {\n console.log(chalk.blue(this.formatMessage('info', message, ...args)));\n }\n }\n\n public warn(message: string, ...args: unknown[]): void {\n if (this.shouldLog('warn')) {\n console.warn(chalk.yellow(this.formatMessage('warn', message, ...args)));\n }\n }\n\n public error(message: string, error?: unknown): void {\n if (this.shouldLog('error')) {\n const errorDetails = error\n ? error instanceof Error\n ? `\\n${error.stack || error.message}`\n : `\\n${JSON.stringify(error, null, 2)}`\n : '';\n console.error(\n chalk.red(this.formatMessage('error', message) + errorDetails)\n );\n }\n }\n}\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAIX,MAAM,OAAO;AAAA,EACV;AAAA,EACA;AAAA,EAER,YAAY,MAAc,WAAqB,QAAQ;AACrD,SAAK,OAAO;AACZ,SAAK,WAAY,QAAQ,IAAI,aAA0B;AAAA,EACzD;AAAA,EAEQ,UAAU,OAA0B;AAC1C,UAAM,SAAqB,CAAC,SAAS,QAAQ,QAAQ,OAAO;AAC5D,UAAM,eAAe,OAAO,QAAQ,KAAK,QAAQ;AACjD,UAAM,cAAc,OAAO,QAAQ,KAAK;AACxC,WAAO,eAAe;AAAA,EACxB;AAAA,EAEQ,cACN,OACA,YACG,MACK;AACR,UAAM,aAAY,oBAAI,KAAK,GAAE,YAAY;AACzC,UAAM,SAAS,IAAI,SAAS,MAAM,KAAK,IAAI,MAAM,MAAM,YAAY,CAAC;AAEpE,UAAM,gBACJ,KAAK,SAAS,IACV,MACA,KACG;AAAA,MAAI,CAAC,QACJ,OAAO,QAAQ,WAAW,KAAK,UAAU,KAAK,MAAM,CAAC,IAAI;AAAA,IAC3D,EACC,KAAK,GAAG,IACX;AAEN,WAAO,GAAG,MAAM,IAAI,OAAO,GAAG,aAAa;AAAA,EAC7C;AAAA,EAEO,MAAM,YAAoB,MAAuB;AACtD,QAAI,KAAK,UAAU,OAAO,GAAG;AAC3B,cAAQ,IAAI,MAAM,KAAK,KAAK,cAAc,SAAS,SAAS,GAAG,IAAI,CAAC,CAAC;AAAA,IACvE;AAAA,EACF;AAAA,EAEO,KAAK,YAAoB,MAAuB;AACrD,QAAI,KAAK,UAAU,MAAM,GAAG;AAC1B,cAAQ,IAAI,MAAM,KAAK,KAAK,cAAc,QAAQ,SAAS,GAAG,IAAI,CAAC,CAAC;AAAA,IACtE;AAAA,EACF;AAAA,EAEO,KAAK,YAAoB,MAAuB;AACrD,QAAI,KAAK,UAAU,MAAM,GAAG;AAC1B,cAAQ,KAAK,MAAM,OAAO,KAAK,cAAc,QAAQ,SAAS,GAAG,IAAI,CAAC,CAAC;AAAA,IACzE;AAAA,EACF;AAAA,EAEO,MAAM,SAAiB,OAAuB;AACnD,QAAI,KAAK,UAAU,OAAO,GAAG;AAC3B,YAAM,eAAe,QACjB,iBAAiB,QACf;AAAA,EAAK,MAAM,SAAS,MAAM,OAAO,KACjC;AAAA,EAAK,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC,KACrC;AACJ,cAAQ;AAAA,QACN,MAAM,IAAI,KAAK,cAAc,SAAS,OAAO,IAAI,YAAY;AAAA,MAC/D;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import chalk from 'chalk';\n\nexport type LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\nexport class Logger {\n private name: string;\n private logLevel: LogLevel;\n\n constructor(name: string, logLevel: LogLevel = 'info') {\n this.name = name;\n this.logLevel = (process.env['LOG_LEVEL'] as LogLevel) || logLevel;\n }\n\n private shouldLog(level: LogLevel): boolean {\n const levels: LogLevel[] = ['debug', 'info', 'warn', 'error'];\n const currentIndex = levels.indexOf(this.logLevel);\n const targetIndex = levels.indexOf(level);\n return targetIndex >= currentIndex;\n }\n\n private formatMessage(\n level: LogLevel,\n message: string,\n ...args: unknown[]\n ): string {\n const timestamp = new Date().toISOString();\n const prefix = `[${timestamp}] [${this.name}] [${level.toUpperCase()}]`;\n\n const formattedArgs =\n args.length > 0\n ? ' ' +\n args\n .map((arg) =>\n typeof arg === 'object' ? JSON.stringify(arg, null, 2) : arg\n )\n .join(' ')\n : '';\n\n return `${prefix} ${message}${formattedArgs}`;\n }\n\n public debug(message: string, ...args: unknown[]): void {\n if (this.shouldLog('debug')) {\n console.log(chalk.gray(this.formatMessage('debug', message, ...args)));\n }\n }\n\n public info(message: string, ...args: unknown[]): void {\n if (this.shouldLog('info')) {\n console.log(chalk.blue(this.formatMessage('info', message, ...args)));\n }\n }\n\n public warn(message: string, ...args: unknown[]): void {\n if (this.shouldLog('warn')) {\n console.warn(chalk.yellow(this.formatMessage('warn', message, ...args)));\n }\n }\n\n public error(message: string, error?: unknown): void {\n if (this.shouldLog('error')) {\n const errorDetails = error\n ? error instanceof Error\n ? `\\n${error.stack || error.message}`\n : `\\n${JSON.stringify(error, null, 2)}`\n : '';\n console.error(\n chalk.red(this.formatMessage('error', message) + errorDetails)\n );\n }\n }\n}\n"],
5
+ "mappings": "AAAA,OAAO,WAAW;AAIX,MAAM,OAAO;AAAA,EACV;AAAA,EACA;AAAA,EAER,YAAY,MAAc,WAAqB,QAAQ;AACrD,SAAK,OAAO;AACZ,SAAK,WAAY,QAAQ,IAAI,WAAW,KAAkB;AAAA,EAC5D;AAAA,EAEQ,UAAU,OAA0B;AAC1C,UAAM,SAAqB,CAAC,SAAS,QAAQ,QAAQ,OAAO;AAC5D,UAAM,eAAe,OAAO,QAAQ,KAAK,QAAQ;AACjD,UAAM,cAAc,OAAO,QAAQ,KAAK;AACxC,WAAO,eAAe;AAAA,EACxB;AAAA,EAEQ,cACN,OACA,YACG,MACK;AACR,UAAM,aAAY,oBAAI,KAAK,GAAE,YAAY;AACzC,UAAM,SAAS,IAAI,SAAS,MAAM,KAAK,IAAI,MAAM,MAAM,YAAY,CAAC;AAEpE,UAAM,gBACJ,KAAK,SAAS,IACV,MACA,KACG;AAAA,MAAI,CAAC,QACJ,OAAO,QAAQ,WAAW,KAAK,UAAU,KAAK,MAAM,CAAC,IAAI;AAAA,IAC3D,EACC,KAAK,GAAG,IACX;AAEN,WAAO,GAAG,MAAM,IAAI,OAAO,GAAG,aAAa;AAAA,EAC7C;AAAA,EAEO,MAAM,YAAoB,MAAuB;AACtD,QAAI,KAAK,UAAU,OAAO,GAAG;AAC3B,cAAQ,IAAI,MAAM,KAAK,KAAK,cAAc,SAAS,SAAS,GAAG,IAAI,CAAC,CAAC;AAAA,IACvE;AAAA,EACF;AAAA,EAEO,KAAK,YAAoB,MAAuB;AACrD,QAAI,KAAK,UAAU,MAAM,GAAG;AAC1B,cAAQ,IAAI,MAAM,KAAK,KAAK,cAAc,QAAQ,SAAS,GAAG,IAAI,CAAC,CAAC;AAAA,IACtE;AAAA,EACF;AAAA,EAEO,KAAK,YAAoB,MAAuB;AACrD,QAAI,KAAK,UAAU,MAAM,GAAG;AAC1B,cAAQ,KAAK,MAAM,OAAO,KAAK,cAAc,QAAQ,SAAS,GAAG,IAAI,CAAC,CAAC;AAAA,IACzE;AAAA,EACF;AAAA,EAEO,MAAM,SAAiB,OAAuB;AACnD,QAAI,KAAK,UAAU,OAAO,GAAG;AAC3B,YAAM,eAAe,QACjB,iBAAiB,QACf;AAAA,EAAK,MAAM,SAAS,MAAM,OAAO,KACjC;AAAA,EAAK,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC,KACrC;AACJ,cAAQ;AAAA,QACN,MAAM,IAAI,KAAK,cAAc,SAAS,OAAO,IAAI,YAAY;AAAA,MAC/D;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackmemoryai/stackmemory",
3
- "version": "0.3.6",
3
+ "version": "0.3.8",
4
4
  "description": "Lossless memory runtime for AI coding tools - organizes context as a call stack instead of linear chat logs, with team collaboration and infinite retention",
5
5
  "engines": {
6
6
  "node": ">=20.0.0",
@@ -60,6 +60,9 @@
60
60
  "status": "node dist/scripts/status.js",
61
61
  "linear:sync": "node scripts/sync-linear-graphql.js",
62
62
  "linear:mirror": "node scripts/sync-linear-graphql.js --mirror",
63
+ "tui": "npm run build && node dist/features/tui/index.js",
64
+ "tui:dev": "./scripts/dev-tui.sh",
65
+ "tui:watch": "npm run build && nodemon --watch src/features/tui --watch src/cli --watch src/skills -e ts --exec 'npm run build && node dist/features/tui/index.js'",
63
66
  "claude:setup": "./scripts/setup-claude-autostart.sh",
64
67
  "daemons:start": "node scripts/claude-sm-autostart.js",
65
68
  "daemons:status": "node scripts/claude-sm-autostart.js status",
@@ -96,6 +99,7 @@
96
99
  "express": "^4.22.1",
97
100
  "glob": "^13.0.0",
98
101
  "helmet": "^8.1.0",
102
+ "ignore": "^7.0.5",
99
103
  "inquirer": "^9.3.8",
100
104
  "ioredis": "^5.8.2",
101
105
  "jsonwebtoken": "^9.0.3",