@pcircle/memesh 2.10.1 → 3.0.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.
- package/.mcp.json +2 -5
- package/README.md +122 -221
- package/dist/cli/assets/d3.v7.min.js +2 -0
- package/dist/cli/view.d.ts +4 -0
- package/dist/cli/view.d.ts.map +1 -0
- package/dist/cli/view.js +2672 -0
- package/dist/cli/view.js.map +1 -0
- package/dist/core/config.d.ts +33 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +70 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/extractor.d.ts +26 -0
- package/dist/core/extractor.d.ts.map +1 -0
- package/dist/core/extractor.js +106 -0
- package/dist/core/extractor.js.map +1 -0
- package/dist/core/lifecycle.d.ts +9 -0
- package/dist/core/lifecycle.d.ts.map +1 -0
- package/dist/core/lifecycle.js +51 -0
- package/dist/core/lifecycle.js.map +1 -0
- package/dist/core/operations.d.ts +9 -0
- package/dist/core/operations.d.ts.map +1 -0
- package/dist/core/operations.js +342 -0
- package/dist/core/operations.js.map +1 -0
- package/dist/core/query-expander.d.ts +4 -0
- package/dist/core/query-expander.d.ts.map +1 -0
- package/dist/core/query-expander.js +114 -0
- package/dist/core/query-expander.js.map +1 -0
- package/dist/core/schema-export.d.ts +2 -0
- package/dist/core/schema-export.d.ts.map +1 -0
- package/dist/core/schema-export.js +67 -0
- package/dist/core/schema-export.js.map +1 -0
- package/dist/core/scoring.d.ts +25 -0
- package/dist/core/scoring.d.ts.map +1 -0
- package/dist/core/scoring.js +40 -0
- package/dist/core/scoring.js.map +1 -0
- package/dist/core/types.d.ts +116 -58
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +1 -10
- package/dist/core/types.js.map +1 -1
- package/dist/core/version-check.d.ts +10 -0
- package/dist/core/version-check.d.ts.map +1 -0
- package/dist/core/version-check.js +44 -0
- package/dist/core/version-check.js.map +1 -0
- package/dist/db.d.ts +5 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +113 -0
- package/dist/db.js.map +1 -0
- package/dist/index.d.ts +3 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -33
- package/dist/index.js.map +1 -1
- package/dist/knowledge-graph.d.ts +34 -0
- package/dist/knowledge-graph.d.ts.map +1 -0
- package/dist/knowledge-graph.js +367 -0
- package/dist/knowledge-graph.js.map +1 -0
- package/dist/mcp/server.d.ts +1 -25
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +39 -318
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +2 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +2 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/transports/cli/cli.d.ts +3 -0
- package/dist/transports/cli/cli.d.ts.map +1 -0
- package/dist/transports/cli/cli.js +378 -0
- package/dist/transports/cli/cli.js.map +1 -0
- package/dist/transports/http/server.d.ts +5 -0
- package/dist/transports/http/server.d.ts.map +1 -0
- package/dist/transports/http/server.js +314 -0
- package/dist/transports/http/server.js.map +1 -0
- package/dist/transports/mcp/handlers.d.ts +184 -0
- package/dist/transports/mcp/handlers.d.ts.map +1 -0
- package/dist/transports/mcp/handlers.js +271 -0
- package/dist/transports/mcp/handlers.js.map +1 -0
- package/hooks/hooks.json +8 -24
- package/package.json +26 -90
- package/plugin.json +7 -10
- package/scripts/hooks/post-commit.js +160 -298
- package/scripts/hooks/pre-compact.js +198 -0
- package/scripts/hooks/session-start.js +130 -627
- package/scripts/hooks/session-summary.js +255 -0
- package/README.de.md +0 -212
- package/README.es.md +0 -212
- package/README.fr.md +0 -212
- package/README.id.md +0 -212
- package/README.ja.md +0 -212
- package/README.ko.md +0 -212
- package/README.th.md +0 -212
- package/README.vi.md +0 -212
- package/README.zh-CN.md +0 -212
- package/README.zh-TW.md +0 -286
- package/dist/cli/config.d.ts +0 -36
- package/dist/cli/config.d.ts.map +0 -1
- package/dist/cli/config.js +0 -398
- package/dist/cli/config.js.map +0 -1
- package/dist/cli/credentials.d.ts +0 -12
- package/dist/cli/credentials.d.ts.map +0 -1
- package/dist/cli/credentials.js +0 -44
- package/dist/cli/credentials.js.map +0 -1
- package/dist/cli/daemon.d.ts +0 -3
- package/dist/cli/daemon.d.ts.map +0 -1
- package/dist/cli/daemon.js +0 -413
- package/dist/cli/daemon.js.map +0 -1
- package/dist/cli/dashboard.d.ts +0 -2
- package/dist/cli/dashboard.d.ts.map +0 -1
- package/dist/cli/dashboard.js +0 -300
- package/dist/cli/dashboard.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -188
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/login.d.ts +0 -4
- package/dist/cli/login.d.ts.map +0 -1
- package/dist/cli/login.js +0 -230
- package/dist/cli/login.js.map +0 -1
- package/dist/cli/logout.d.ts +0 -3
- package/dist/cli/logout.d.ts.map +0 -1
- package/dist/cli/logout.js +0 -23
- package/dist/cli/logout.js.map +0 -1
- package/dist/cli/setup-wizard.d.ts +0 -18
- package/dist/cli/setup-wizard.d.ts.map +0 -1
- package/dist/cli/setup-wizard.js +0 -267
- package/dist/cli/setup-wizard.js.map +0 -1
- package/dist/cli/stats.d.ts +0 -34
- package/dist/cli/stats.d.ts.map +0 -1
- package/dist/cli/stats.js +0 -479
- package/dist/cli/stats.js.map +0 -1
- package/dist/cli/tutorial.d.ts +0 -27
- package/dist/cli/tutorial.d.ts.map +0 -1
- package/dist/cli/tutorial.js +0 -430
- package/dist/cli/tutorial.js.map +0 -1
- package/dist/cloud/MeMeshCloudClient.d.ts +0 -88
- package/dist/cloud/MeMeshCloudClient.d.ts.map +0 -1
- package/dist/cloud/MeMeshCloudClient.js +0 -177
- package/dist/cloud/MeMeshCloudClient.js.map +0 -1
- package/dist/cloud/index.d.ts +0 -3
- package/dist/cloud/index.d.ts.map +0 -1
- package/dist/cloud/index.js +0 -2
- package/dist/cloud/index.js.map +0 -1
- package/dist/config/index.d.ts +0 -61
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -105
- package/dist/config/index.js.map +0 -1
- package/dist/config/models.d.ts +0 -47
- package/dist/config/models.d.ts.map +0 -1
- package/dist/config/models.js +0 -57
- package/dist/config/models.js.map +0 -1
- package/dist/config/simple-config.d.ts +0 -35
- package/dist/config/simple-config.d.ts.map +0 -1
- package/dist/config/simple-config.js +0 -246
- package/dist/config/simple-config.js.map +0 -1
- package/dist/core/AgentRegistry.d.ts +0 -31
- package/dist/core/AgentRegistry.d.ts.map +0 -1
- package/dist/core/AgentRegistry.js +0 -281
- package/dist/core/AgentRegistry.js.map +0 -1
- package/dist/core/CheckpointDetector.d.ts +0 -25
- package/dist/core/CheckpointDetector.d.ts.map +0 -1
- package/dist/core/CheckpointDetector.js +0 -67
- package/dist/core/CheckpointDetector.js.map +0 -1
- package/dist/core/GitCommandParser.d.ts +0 -11
- package/dist/core/GitCommandParser.d.ts.map +0 -1
- package/dist/core/GitCommandParser.js +0 -43
- package/dist/core/GitCommandParser.js.map +0 -1
- package/dist/core/HealthCheck.d.ts +0 -39
- package/dist/core/HealthCheck.d.ts.map +0 -1
- package/dist/core/HealthCheck.js +0 -219
- package/dist/core/HealthCheck.js.map +0 -1
- package/dist/core/HookIntegration.d.ts +0 -47
- package/dist/core/HookIntegration.d.ts.map +0 -1
- package/dist/core/HookIntegration.js +0 -275
- package/dist/core/HookIntegration.js.map +0 -1
- package/dist/core/MCPToolInterface.d.ts +0 -120
- package/dist/core/MCPToolInterface.d.ts.map +0 -1
- package/dist/core/MCPToolInterface.js +0 -376
- package/dist/core/MCPToolInterface.js.map +0 -1
- package/dist/core/MistakePatternManager.d.ts +0 -31
- package/dist/core/MistakePatternManager.d.ts.map +0 -1
- package/dist/core/MistakePatternManager.js +0 -137
- package/dist/core/MistakePatternManager.js.map +0 -1
- package/dist/core/ResourceMonitor.d.ts +0 -32
- package/dist/core/ResourceMonitor.d.ts.map +0 -1
- package/dist/core/ResourceMonitor.js +0 -243
- package/dist/core/ResourceMonitor.js.map +0 -1
- package/dist/core/ServiceLocator.d.ts +0 -10
- package/dist/core/ServiceLocator.d.ts.map +0 -1
- package/dist/core/ServiceLocator.js +0 -30
- package/dist/core/ServiceLocator.js.map +0 -1
- package/dist/core/TestOutputParser.d.ts +0 -20
- package/dist/core/TestOutputParser.d.ts.map +0 -1
- package/dist/core/TestOutputParser.js +0 -144
- package/dist/core/TestOutputParser.js.map +0 -1
- package/dist/db/ConnectionPool.d.ts +0 -50
- package/dist/db/ConnectionPool.d.ts.map +0 -1
- package/dist/db/ConnectionPool.js +0 -569
- package/dist/db/ConnectionPool.js.map +0 -1
- package/dist/db/IDatabaseAdapter.d.ts +0 -25
- package/dist/db/IDatabaseAdapter.d.ts.map +0 -1
- package/dist/db/IDatabaseAdapter.js +0 -2
- package/dist/db/IDatabaseAdapter.js.map +0 -1
- package/dist/db/QueryCache.d.ts +0 -46
- package/dist/db/QueryCache.d.ts.map +0 -1
- package/dist/db/QueryCache.js +0 -232
- package/dist/db/QueryCache.js.map +0 -1
- package/dist/db/adapters/BetterSqlite3Adapter.d.ts +0 -15
- package/dist/db/adapters/BetterSqlite3Adapter.d.ts.map +0 -1
- package/dist/db/adapters/BetterSqlite3Adapter.js +0 -127
- package/dist/db/adapters/BetterSqlite3Adapter.js.map +0 -1
- package/dist/embeddings/EmbeddingService.d.ts +0 -23
- package/dist/embeddings/EmbeddingService.d.ts.map +0 -1
- package/dist/embeddings/EmbeddingService.js +0 -131
- package/dist/embeddings/EmbeddingService.js.map +0 -1
- package/dist/embeddings/InMemoryVectorAdapter.d.ts +0 -15
- package/dist/embeddings/InMemoryVectorAdapter.d.ts.map +0 -1
- package/dist/embeddings/InMemoryVectorAdapter.js +0 -58
- package/dist/embeddings/InMemoryVectorAdapter.js.map +0 -1
- package/dist/embeddings/ModelManager.d.ts +0 -18
- package/dist/embeddings/ModelManager.d.ts.map +0 -1
- package/dist/embeddings/ModelManager.js +0 -84
- package/dist/embeddings/ModelManager.js.map +0 -1
- package/dist/embeddings/SqliteVecAdapter.d.ts +0 -15
- package/dist/embeddings/SqliteVecAdapter.d.ts.map +0 -1
- package/dist/embeddings/SqliteVecAdapter.js +0 -107
- package/dist/embeddings/SqliteVecAdapter.js.map +0 -1
- package/dist/embeddings/VectorExtension.d.ts +0 -17
- package/dist/embeddings/VectorExtension.d.ts.map +0 -1
- package/dist/embeddings/VectorExtension.js +0 -107
- package/dist/embeddings/VectorExtension.js.map +0 -1
- package/dist/embeddings/VectorSearchAdapter.d.ts +0 -17
- package/dist/embeddings/VectorSearchAdapter.d.ts.map +0 -1
- package/dist/embeddings/VectorSearchAdapter.js +0 -2
- package/dist/embeddings/VectorSearchAdapter.js.map +0 -1
- package/dist/embeddings/index.d.ts +0 -9
- package/dist/embeddings/index.d.ts.map +0 -1
- package/dist/embeddings/index.js +0 -7
- package/dist/embeddings/index.js.map +0 -1
- package/dist/errors/ErrorClassifier.d.ts +0 -60
- package/dist/errors/ErrorClassifier.d.ts.map +0 -1
- package/dist/errors/ErrorClassifier.js +0 -415
- package/dist/errors/ErrorClassifier.js.map +0 -1
- package/dist/errors/index.d.ts +0 -63
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -127
- package/dist/errors/index.js.map +0 -1
- package/dist/i18n/index.d.ts +0 -9
- package/dist/i18n/index.d.ts.map +0 -1
- package/dist/i18n/index.js +0 -78
- package/dist/i18n/index.js.map +0 -1
- package/dist/i18n/locales/en.d.ts +0 -3
- package/dist/i18n/locales/en.d.ts.map +0 -1
- package/dist/i18n/locales/en.js +0 -32
- package/dist/i18n/locales/en.js.map +0 -1
- package/dist/i18n/locales/index.d.ts +0 -5
- package/dist/i18n/locales/index.d.ts.map +0 -1
- package/dist/i18n/locales/index.js +0 -5
- package/dist/i18n/locales/index.js.map +0 -1
- package/dist/i18n/locales/ja.d.ts +0 -3
- package/dist/i18n/locales/ja.d.ts.map +0 -1
- package/dist/i18n/locales/ja.js +0 -30
- package/dist/i18n/locales/ja.js.map +0 -1
- package/dist/i18n/locales/zh-CN.d.ts +0 -3
- package/dist/i18n/locales/zh-CN.d.ts.map +0 -1
- package/dist/i18n/locales/zh-CN.js +0 -30
- package/dist/i18n/locales/zh-CN.js.map +0 -1
- package/dist/i18n/locales/zh-TW.d.ts +0 -3
- package/dist/i18n/locales/zh-TW.d.ts.map +0 -1
- package/dist/i18n/locales/zh-TW.js +0 -30
- package/dist/i18n/locales/zh-TW.js.map +0 -1
- package/dist/i18n/types.d.ts +0 -11
- package/dist/i18n/types.d.ts.map +0 -1
- package/dist/i18n/types.js +0 -3
- package/dist/i18n/types.js.map +0 -1
- package/dist/integrations/session-memory/SessionContextInjector.d.ts +0 -30
- package/dist/integrations/session-memory/SessionContextInjector.d.ts.map +0 -1
- package/dist/integrations/session-memory/SessionContextInjector.js +0 -192
- package/dist/integrations/session-memory/SessionContextInjector.js.map +0 -1
- package/dist/integrations/session-memory/SessionMemoryIngester.d.ts +0 -15
- package/dist/integrations/session-memory/SessionMemoryIngester.d.ts.map +0 -1
- package/dist/integrations/session-memory/SessionMemoryIngester.js +0 -229
- package/dist/integrations/session-memory/SessionMemoryIngester.js.map +0 -1
- package/dist/integrations/session-memory/SessionMemoryParser.d.ts +0 -16
- package/dist/integrations/session-memory/SessionMemoryParser.d.ts.map +0 -1
- package/dist/integrations/session-memory/SessionMemoryParser.js +0 -271
- package/dist/integrations/session-memory/SessionMemoryParser.js.map +0 -1
- package/dist/integrations/session-memory/SessionMemoryPipeline.d.ts +0 -20
- package/dist/integrations/session-memory/SessionMemoryPipeline.d.ts.map +0 -1
- package/dist/integrations/session-memory/SessionMemoryPipeline.js +0 -60
- package/dist/integrations/session-memory/SessionMemoryPipeline.js.map +0 -1
- package/dist/integrations/session-memory/SessionMemoryWatcher.d.ts +0 -27
- package/dist/integrations/session-memory/SessionMemoryWatcher.d.ts.map +0 -1
- package/dist/integrations/session-memory/SessionMemoryWatcher.js +0 -145
- package/dist/integrations/session-memory/SessionMemoryWatcher.js.map +0 -1
- package/dist/integrations/session-memory/index.d.ts +0 -9
- package/dist/integrations/session-memory/index.d.ts.map +0 -1
- package/dist/integrations/session-memory/index.js +0 -6
- package/dist/integrations/session-memory/index.js.map +0 -1
- package/dist/integrations/session-memory/types.d.ts +0 -74
- package/dist/integrations/session-memory/types.d.ts.map +0 -1
- package/dist/integrations/session-memory/types.js +0 -22
- package/dist/integrations/session-memory/types.js.map +0 -1
- package/dist/knowledge-graph/ContentHasher.d.ts +0 -4
- package/dist/knowledge-graph/ContentHasher.d.ts.map +0 -1
- package/dist/knowledge-graph/ContentHasher.js +0 -8
- package/dist/knowledge-graph/ContentHasher.js.map +0 -1
- package/dist/knowledge-graph/KGSearchEngine.d.ts +0 -37
- package/dist/knowledge-graph/KGSearchEngine.d.ts.map +0 -1
- package/dist/knowledge-graph/KGSearchEngine.js +0 -257
- package/dist/knowledge-graph/KGSearchEngine.js.map +0 -1
- package/dist/knowledge-graph/index.d.ts +0 -64
- package/dist/knowledge-graph/index.d.ts.map +0 -1
- package/dist/knowledge-graph/index.js +0 -681
- package/dist/knowledge-graph/index.js.map +0 -1
- package/dist/knowledge-graph/types.d.ts +0 -38
- package/dist/knowledge-graph/types.d.ts.map +0 -1
- package/dist/knowledge-graph/types.js +0 -2
- package/dist/knowledge-graph/types.js.map +0 -1
- package/dist/management/UninstallManager.d.ts +0 -23
- package/dist/management/UninstallManager.d.ts.map +0 -1
- package/dist/management/UninstallManager.js +0 -186
- package/dist/management/UninstallManager.js.map +0 -1
- package/dist/management/index.d.ts +0 -3
- package/dist/management/index.d.ts.map +0 -1
- package/dist/management/index.js +0 -2
- package/dist/management/index.js.map +0 -1
- package/dist/mcp/BuddyCommands.d.ts +0 -24
- package/dist/mcp/BuddyCommands.d.ts.map +0 -1
- package/dist/mcp/BuddyCommands.js +0 -423
- package/dist/mcp/BuddyCommands.js.map +0 -1
- package/dist/mcp/ClaudeMdReloader.d.ts +0 -37
- package/dist/mcp/ClaudeMdReloader.d.ts.map +0 -1
- package/dist/mcp/ClaudeMdReloader.js +0 -92
- package/dist/mcp/ClaudeMdReloader.js.map +0 -1
- package/dist/mcp/HumanInLoopUI.d.ts +0 -23
- package/dist/mcp/HumanInLoopUI.d.ts.map +0 -1
- package/dist/mcp/HumanInLoopUI.js +0 -92
- package/dist/mcp/HumanInLoopUI.js.map +0 -1
- package/dist/mcp/ProgressReporter.d.ts +0 -14
- package/dist/mcp/ProgressReporter.d.ts.map +0 -1
- package/dist/mcp/ProgressReporter.js +0 -22
- package/dist/mcp/ProgressReporter.js.map +0 -1
- package/dist/mcp/SamplingClient.d.ts +0 -32
- package/dist/mcp/SamplingClient.d.ts.map +0 -1
- package/dist/mcp/SamplingClient.js +0 -63
- package/dist/mcp/SamplingClient.js.map +0 -1
- package/dist/mcp/ServerInitializer.d.ts +0 -40
- package/dist/mcp/ServerInitializer.d.ts.map +0 -1
- package/dist/mcp/ServerInitializer.js +0 -147
- package/dist/mcp/ServerInitializer.js.map +0 -1
- package/dist/mcp/SessionBootstrapper.d.ts +0 -13
- package/dist/mcp/SessionBootstrapper.d.ts.map +0 -1
- package/dist/mcp/SessionBootstrapper.js +0 -82
- package/dist/mcp/SessionBootstrapper.js.map +0 -1
- package/dist/mcp/StdinBufferManager.d.ts +0 -11
- package/dist/mcp/StdinBufferManager.d.ts.map +0 -1
- package/dist/mcp/StdinBufferManager.js +0 -62
- package/dist/mcp/StdinBufferManager.js.map +0 -1
- package/dist/mcp/ToolDefinitions.d.ts +0 -44
- package/dist/mcp/ToolDefinitions.d.ts.map +0 -1
- package/dist/mcp/ToolDefinitions.js +0 -445
- package/dist/mcp/ToolDefinitions.js.map +0 -1
- package/dist/mcp/ToolRouter.d.ts +0 -27
- package/dist/mcp/ToolRouter.d.ts.map +0 -1
- package/dist/mcp/ToolRouter.js +0 -179
- package/dist/mcp/ToolRouter.js.map +0 -1
- package/dist/mcp/daemon/DaemonBootstrap.d.ts +0 -33
- package/dist/mcp/daemon/DaemonBootstrap.d.ts.map +0 -1
- package/dist/mcp/daemon/DaemonBootstrap.js +0 -155
- package/dist/mcp/daemon/DaemonBootstrap.js.map +0 -1
- package/dist/mcp/daemon/DaemonLockManager.d.ts +0 -47
- package/dist/mcp/daemon/DaemonLockManager.d.ts.map +0 -1
- package/dist/mcp/daemon/DaemonLockManager.js +0 -417
- package/dist/mcp/daemon/DaemonLockManager.js.map +0 -1
- package/dist/mcp/daemon/DaemonProtocol.d.ts +0 -127
- package/dist/mcp/daemon/DaemonProtocol.d.ts.map +0 -1
- package/dist/mcp/daemon/DaemonProtocol.js +0 -452
- package/dist/mcp/daemon/DaemonProtocol.js.map +0 -1
- package/dist/mcp/daemon/DaemonSocketServer.d.ts +0 -71
- package/dist/mcp/daemon/DaemonSocketServer.d.ts.map +0 -1
- package/dist/mcp/daemon/DaemonSocketServer.js +0 -384
- package/dist/mcp/daemon/DaemonSocketServer.js.map +0 -1
- package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts +0 -67
- package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts.map +0 -1
- package/dist/mcp/daemon/GracefulShutdownCoordinator.js +0 -206
- package/dist/mcp/daemon/GracefulShutdownCoordinator.js.map +0 -1
- package/dist/mcp/daemon/IpcTransport.d.ts +0 -42
- package/dist/mcp/daemon/IpcTransport.d.ts.map +0 -1
- package/dist/mcp/daemon/IpcTransport.js +0 -231
- package/dist/mcp/daemon/IpcTransport.js.map +0 -1
- package/dist/mcp/daemon/StdioProxyClient.d.ts +0 -84
- package/dist/mcp/daemon/StdioProxyClient.d.ts.map +0 -1
- package/dist/mcp/daemon/StdioProxyClient.js +0 -574
- package/dist/mcp/daemon/StdioProxyClient.js.map +0 -1
- package/dist/mcp/daemon/VersionManager.d.ts +0 -35
- package/dist/mcp/daemon/VersionManager.d.ts.map +0 -1
- package/dist/mcp/daemon/VersionManager.js +0 -169
- package/dist/mcp/daemon/VersionManager.js.map +0 -1
- package/dist/mcp/daemon/index.d.ts +0 -9
- package/dist/mcp/daemon/index.d.ts.map +0 -1
- package/dist/mcp/daemon/index.js +0 -9
- package/dist/mcp/daemon/index.js.map +0 -1
- package/dist/mcp/handlers/BuddyHandlers.d.ts +0 -18
- package/dist/mcp/handlers/BuddyHandlers.d.ts.map +0 -1
- package/dist/mcp/handlers/BuddyHandlers.js +0 -179
- package/dist/mcp/handlers/BuddyHandlers.js.map +0 -1
- package/dist/mcp/handlers/BuddyRecordMistake.d.ts +0 -17
- package/dist/mcp/handlers/BuddyRecordMistake.d.ts.map +0 -1
- package/dist/mcp/handlers/BuddyRecordMistake.js +0 -147
- package/dist/mcp/handlers/BuddyRecordMistake.js.map +0 -1
- package/dist/mcp/handlers/HookToolHandler.d.ts +0 -10
- package/dist/mcp/handlers/HookToolHandler.d.ts.map +0 -1
- package/dist/mcp/handlers/HookToolHandler.js +0 -92
- package/dist/mcp/handlers/HookToolHandler.js.map +0 -1
- package/dist/mcp/handlers/MemoryToolHandler.d.ts +0 -21
- package/dist/mcp/handlers/MemoryToolHandler.d.ts.map +0 -1
- package/dist/mcp/handlers/MemoryToolHandler.js +0 -433
- package/dist/mcp/handlers/MemoryToolHandler.js.map +0 -1
- package/dist/mcp/handlers/ResourceHandlers.d.ts +0 -3
- package/dist/mcp/handlers/ResourceHandlers.d.ts.map +0 -1
- package/dist/mcp/handlers/ResourceHandlers.js +0 -133
- package/dist/mcp/handlers/ResourceHandlers.js.map +0 -1
- package/dist/mcp/handlers/SystemToolHandler.d.ts +0 -14
- package/dist/mcp/handlers/SystemToolHandler.d.ts.map +0 -1
- package/dist/mcp/handlers/SystemToolHandler.js +0 -224
- package/dist/mcp/handlers/SystemToolHandler.js.map +0 -1
- package/dist/mcp/handlers/ToolHandlers.d.ts +0 -26
- package/dist/mcp/handlers/ToolHandlers.d.ts.map +0 -1
- package/dist/mcp/handlers/ToolHandlers.js +0 -41
- package/dist/mcp/handlers/ToolHandlers.js.map +0 -1
- package/dist/mcp/handlers/index.d.ts +0 -7
- package/dist/mcp/handlers/index.d.ts.map +0 -1
- package/dist/mcp/handlers/index.js +0 -7
- package/dist/mcp/handlers/index.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -5
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js +0 -3
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/resources/ResourceRegistry.d.ts +0 -23
- package/dist/mcp/resources/ResourceRegistry.d.ts.map +0 -1
- package/dist/mcp/resources/ResourceRegistry.js +0 -26
- package/dist/mcp/resources/ResourceRegistry.js.map +0 -1
- package/dist/mcp/resources/URITemplateHandler.d.ts +0 -8
- package/dist/mcp/resources/URITemplateHandler.d.ts.map +0 -1
- package/dist/mcp/resources/URITemplateHandler.js +0 -29
- package/dist/mcp/resources/URITemplateHandler.js.map +0 -1
- package/dist/mcp/resources/best-practices.md +0 -53
- package/dist/mcp/resources/buddy-do-skill.md +0 -84
- package/dist/mcp/resources/ccb-complete-guide.md +0 -247
- package/dist/mcp/resources/examples.md +0 -47
- package/dist/mcp/resources/handlers/AgentStatusHandler.d.ts +0 -7
- package/dist/mcp/resources/handlers/AgentStatusHandler.d.ts.map +0 -1
- package/dist/mcp/resources/handlers/AgentStatusHandler.js +0 -41
- package/dist/mcp/resources/handlers/AgentStatusHandler.js.map +0 -1
- package/dist/mcp/resources/handlers/TaskLogsHandler.d.ts +0 -7
- package/dist/mcp/resources/handlers/TaskLogsHandler.d.ts.map +0 -1
- package/dist/mcp/resources/handlers/TaskLogsHandler.js +0 -35
- package/dist/mcp/resources/handlers/TaskLogsHandler.js.map +0 -1
- package/dist/mcp/resources/quick-reference.md +0 -71
- package/dist/mcp/resources/usage-guide.md +0 -74
- package/dist/mcp/schemas/OutputSchemas.d.ts +0 -437
- package/dist/mcp/schemas/OutputSchemas.d.ts.map +0 -1
- package/dist/mcp/schemas/OutputSchemas.js +0 -215
- package/dist/mcp/schemas/OutputSchemas.js.map +0 -1
- package/dist/mcp/server-bootstrap.d.ts +0 -3
- package/dist/mcp/server-bootstrap.d.ts.map +0 -1
- package/dist/mcp/server-bootstrap.js +0 -391
- package/dist/mcp/server-bootstrap.js.map +0 -1
- package/dist/mcp/tools/add-observations.d.ts +0 -48
- package/dist/mcp/tools/add-observations.d.ts.map +0 -1
- package/dist/mcp/tools/add-observations.js +0 -64
- package/dist/mcp/tools/add-observations.js.map +0 -1
- package/dist/mcp/tools/buddy-do.d.ts +0 -15
- package/dist/mcp/tools/buddy-do.d.ts.map +0 -1
- package/dist/mcp/tools/buddy-do.js +0 -191
- package/dist/mcp/tools/buddy-do.js.map +0 -1
- package/dist/mcp/tools/buddy-help.d.ts +0 -13
- package/dist/mcp/tools/buddy-help.d.ts.map +0 -1
- package/dist/mcp/tools/buddy-help.js +0 -44
- package/dist/mcp/tools/buddy-help.js.map +0 -1
- package/dist/mcp/tools/buddy-remember.d.ts +0 -24
- package/dist/mcp/tools/buddy-remember.d.ts.map +0 -1
- package/dist/mcp/tools/buddy-remember.js +0 -304
- package/dist/mcp/tools/buddy-remember.js.map +0 -1
- package/dist/mcp/tools/create-entities.d.ts +0 -66
- package/dist/mcp/tools/create-entities.d.ts.map +0 -1
- package/dist/mcp/tools/create-entities.js +0 -224
- package/dist/mcp/tools/create-entities.js.map +0 -1
- package/dist/mcp/tools/create-relations.d.ts +0 -60
- package/dist/mcp/tools/create-relations.d.ts.map +0 -1
- package/dist/mcp/tools/create-relations.js +0 -84
- package/dist/mcp/tools/create-relations.js.map +0 -1
- package/dist/mcp/tools/generate-tests.d.ts +0 -11
- package/dist/mcp/tools/generate-tests.d.ts.map +0 -1
- package/dist/mcp/tools/generate-tests.js +0 -19
- package/dist/mcp/tools/generate-tests.js.map +0 -1
- package/dist/mcp/tools/health-check.d.ts +0 -10
- package/dist/mcp/tools/health-check.d.ts.map +0 -1
- package/dist/mcp/tools/health-check.js +0 -37
- package/dist/mcp/tools/health-check.js.map +0 -1
- package/dist/mcp/tools/memesh-agent-register.d.ts +0 -20
- package/dist/mcp/tools/memesh-agent-register.d.ts.map +0 -1
- package/dist/mcp/tools/memesh-agent-register.js +0 -80
- package/dist/mcp/tools/memesh-agent-register.js.map +0 -1
- package/dist/mcp/tools/memesh-cloud-sync.d.ts +0 -30
- package/dist/mcp/tools/memesh-cloud-sync.d.ts.map +0 -1
- package/dist/mcp/tools/memesh-cloud-sync.js +0 -257
- package/dist/mcp/tools/memesh-cloud-sync.js.map +0 -1
- package/dist/mcp/tools/memesh-metrics.d.ts +0 -13
- package/dist/mcp/tools/memesh-metrics.d.ts.map +0 -1
- package/dist/mcp/tools/memesh-metrics.js +0 -193
- package/dist/mcp/tools/memesh-metrics.js.map +0 -1
- package/dist/mcp/tools/recall-memory.d.ts +0 -31
- package/dist/mcp/tools/recall-memory.d.ts.map +0 -1
- package/dist/mcp/tools/recall-memory.js +0 -31
- package/dist/mcp/tools/recall-memory.js.map +0 -1
- package/dist/mcp/validation.d.ts +0 -76
- package/dist/mcp/validation.d.ts.map +0 -1
- package/dist/mcp/validation.js +0 -106
- package/dist/mcp/validation.js.map +0 -1
- package/dist/memory/AutoMemoryRecorder.d.ts +0 -35
- package/dist/memory/AutoMemoryRecorder.d.ts.map +0 -1
- package/dist/memory/AutoMemoryRecorder.js +0 -164
- package/dist/memory/AutoMemoryRecorder.js.map +0 -1
- package/dist/memory/AutoTagger.d.ts +0 -9
- package/dist/memory/AutoTagger.d.ts.map +0 -1
- package/dist/memory/AutoTagger.js +0 -149
- package/dist/memory/AutoTagger.js.map +0 -1
- package/dist/memory/BuiltInRules.d.ts +0 -54
- package/dist/memory/BuiltInRules.d.ts.map +0 -1
- package/dist/memory/BuiltInRules.js +0 -161
- package/dist/memory/BuiltInRules.js.map +0 -1
- package/dist/memory/EnhancedRetrieval.d.ts +0 -22
- package/dist/memory/EnhancedRetrieval.d.ts.map +0 -1
- package/dist/memory/EnhancedRetrieval.js +0 -63
- package/dist/memory/EnhancedRetrieval.js.map +0 -1
- package/dist/memory/EntityTypes.d.ts +0 -14
- package/dist/memory/EntityTypes.d.ts.map +0 -1
- package/dist/memory/EntityTypes.js +0 -19
- package/dist/memory/EntityTypes.js.map +0 -1
- package/dist/memory/MemorySearchEngine.d.ts +0 -17
- package/dist/memory/MemorySearchEngine.d.ts.map +0 -1
- package/dist/memory/MemorySearchEngine.js +0 -88
- package/dist/memory/MemorySearchEngine.js.map +0 -1
- package/dist/memory/MistakePatternEngine.d.ts +0 -15
- package/dist/memory/MistakePatternEngine.d.ts.map +0 -1
- package/dist/memory/MistakePatternEngine.js +0 -99
- package/dist/memory/MistakePatternEngine.js.map +0 -1
- package/dist/memory/PreventionHook.d.ts +0 -28
- package/dist/memory/PreventionHook.d.ts.map +0 -1
- package/dist/memory/PreventionHook.js +0 -21
- package/dist/memory/PreventionHook.js.map +0 -1
- package/dist/memory/ProactiveRecaller.d.ts +0 -26
- package/dist/memory/ProactiveRecaller.d.ts.map +0 -1
- package/dist/memory/ProactiveRecaller.js +0 -96
- package/dist/memory/ProactiveRecaller.js.map +0 -1
- package/dist/memory/ProjectAutoTracker.d.ts +0 -80
- package/dist/memory/ProjectAutoTracker.d.ts.map +0 -1
- package/dist/memory/ProjectAutoTracker.js +0 -386
- package/dist/memory/ProjectAutoTracker.js.map +0 -1
- package/dist/memory/ProjectMemoryCleanup.d.ts +0 -17
- package/dist/memory/ProjectMemoryCleanup.d.ts.map +0 -1
- package/dist/memory/ProjectMemoryCleanup.js +0 -57
- package/dist/memory/ProjectMemoryCleanup.js.map +0 -1
- package/dist/memory/ProjectMemoryManager.d.ts +0 -19
- package/dist/memory/ProjectMemoryManager.d.ts.map +0 -1
- package/dist/memory/ProjectMemoryManager.js +0 -62
- package/dist/memory/ProjectMemoryManager.js.map +0 -1
- package/dist/memory/SmartMemoryQuery.d.ts +0 -9
- package/dist/memory/SmartMemoryQuery.d.ts.map +0 -1
- package/dist/memory/SmartMemoryQuery.js +0 -66
- package/dist/memory/SmartMemoryQuery.js.map +0 -1
- package/dist/memory/UnifiedMemoryStore.d.ts +0 -27
- package/dist/memory/UnifiedMemoryStore.d.ts.map +0 -1
- package/dist/memory/UnifiedMemoryStore.js +0 -536
- package/dist/memory/UnifiedMemoryStore.js.map +0 -1
- package/dist/memory/UserPreferenceEngine.d.ts +0 -18
- package/dist/memory/UserPreferenceEngine.d.ts.map +0 -1
- package/dist/memory/UserPreferenceEngine.js +0 -117
- package/dist/memory/UserPreferenceEngine.js.map +0 -1
- package/dist/memory/config/semantic-groups.d.ts +0 -9
- package/dist/memory/config/semantic-groups.d.ts.map +0 -1
- package/dist/memory/config/semantic-groups.js +0 -22
- package/dist/memory/config/semantic-groups.js.map +0 -1
- package/dist/memory/index.d.ts +0 -16
- package/dist/memory/index.d.ts.map +0 -1
- package/dist/memory/index.js +0 -12
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/types/index.d.ts +0 -7
- package/dist/memory/types/index.d.ts.map +0 -1
- package/dist/memory/types/index.js +0 -4
- package/dist/memory/types/index.js.map +0 -1
- package/dist/memory/types/memory-scope.d.ts +0 -27
- package/dist/memory/types/memory-scope.d.ts.map +0 -1
- package/dist/memory/types/memory-scope.js +0 -67
- package/dist/memory/types/memory-scope.js.map +0 -1
- package/dist/memory/types/pattern-types.d.ts +0 -66
- package/dist/memory/types/pattern-types.d.ts.map +0 -1
- package/dist/memory/types/pattern-types.js +0 -2
- package/dist/memory/types/pattern-types.js.map +0 -1
- package/dist/memory/types/preference-types.d.ts +0 -28
- package/dist/memory/types/preference-types.d.ts.map +0 -1
- package/dist/memory/types/preference-types.js +0 -2
- package/dist/memory/types/preference-types.js.map +0 -1
- package/dist/memory/types/unified-memory.d.ts +0 -29
- package/dist/memory/types/unified-memory.d.ts.map +0 -1
- package/dist/memory/types/unified-memory.js +0 -21
- package/dist/memory/types/unified-memory.js.map +0 -1
- package/dist/prompts/templates/PromptTemplates.d.ts +0 -11
- package/dist/prompts/templates/PromptTemplates.d.ts.map +0 -1
- package/dist/prompts/templates/PromptTemplates.js +0 -942
- package/dist/prompts/templates/PromptTemplates.js.map +0 -1
- package/dist/prompts/templates/index.d.ts +0 -2
- package/dist/prompts/templates/index.d.ts.map +0 -1
- package/dist/prompts/templates/index.js +0 -2
- package/dist/prompts/templates/index.js.map +0 -1
- package/dist/skills/SkillManager.d.ts +0 -33
- package/dist/skills/SkillManager.d.ts.map +0 -1
- package/dist/skills/SkillManager.js +0 -153
- package/dist/skills/SkillManager.js.map +0 -1
- package/dist/skills/index.d.ts +0 -3
- package/dist/skills/index.d.ts.map +0 -1
- package/dist/skills/index.js +0 -2
- package/dist/skills/index.js.map +0 -1
- package/dist/telemetry/TelemetryCollector.d.ts +0 -19
- package/dist/telemetry/TelemetryCollector.d.ts.map +0 -1
- package/dist/telemetry/TelemetryCollector.js +0 -62
- package/dist/telemetry/TelemetryCollector.js.map +0 -1
- package/dist/telemetry/TelemetryStore.d.ts +0 -20
- package/dist/telemetry/TelemetryStore.d.ts.map +0 -1
- package/dist/telemetry/TelemetryStore.js +0 -127
- package/dist/telemetry/TelemetryStore.js.map +0 -1
- package/dist/telemetry/index.d.ts +0 -8
- package/dist/telemetry/index.d.ts.map +0 -1
- package/dist/telemetry/index.js +0 -33
- package/dist/telemetry/index.js.map +0 -1
- package/dist/telemetry/sanitization.d.ts +0 -6
- package/dist/telemetry/sanitization.d.ts.map +0 -1
- package/dist/telemetry/sanitization.js +0 -180
- package/dist/telemetry/sanitization.js.map +0 -1
- package/dist/telemetry/types.d.ts +0 -73
- package/dist/telemetry/types.d.ts.map +0 -1
- package/dist/telemetry/types.js +0 -16
- package/dist/telemetry/types.js.map +0 -1
- package/dist/tools/TestGenerator.d.ts +0 -8
- package/dist/tools/TestGenerator.d.ts.map +0 -1
- package/dist/tools/TestGenerator.js +0 -54
- package/dist/tools/TestGenerator.js.map +0 -1
- package/dist/types/AgentClassification.d.ts +0 -30
- package/dist/types/AgentClassification.d.ts.map +0 -1
- package/dist/types/AgentClassification.js +0 -19
- package/dist/types/AgentClassification.js.map +0 -1
- package/dist/types/Checkpoint.d.ts +0 -12
- package/dist/types/Checkpoint.d.ts.map +0 -1
- package/dist/types/Checkpoint.js +0 -13
- package/dist/types/Checkpoint.js.map +0 -1
- package/dist/types/toonify.d.ts +0 -91
- package/dist/types/toonify.d.ts.map +0 -1
- package/dist/types/toonify.js +0 -18
- package/dist/types/toonify.js.map +0 -1
- package/dist/ui/AsciiProgressBar.d.ts +0 -29
- package/dist/ui/AsciiProgressBar.d.ts.map +0 -1
- package/dist/ui/AsciiProgressBar.js +0 -130
- package/dist/ui/AsciiProgressBar.js.map +0 -1
- package/dist/ui/AttributionManager.d.ts +0 -19
- package/dist/ui/AttributionManager.d.ts.map +0 -1
- package/dist/ui/AttributionManager.js +0 -107
- package/dist/ui/AttributionManager.js.map +0 -1
- package/dist/ui/Dashboard.d.ts +0 -24
- package/dist/ui/Dashboard.d.ts.map +0 -1
- package/dist/ui/Dashboard.js +0 -135
- package/dist/ui/Dashboard.js.map +0 -1
- package/dist/ui/LoadingIndicator.d.ts +0 -53
- package/dist/ui/LoadingIndicator.d.ts.map +0 -1
- package/dist/ui/LoadingIndicator.js +0 -211
- package/dist/ui/LoadingIndicator.js.map +0 -1
- package/dist/ui/MetricsStore.d.ts +0 -15
- package/dist/ui/MetricsStore.d.ts.map +0 -1
- package/dist/ui/MetricsStore.js +0 -131
- package/dist/ui/MetricsStore.js.map +0 -1
- package/dist/ui/ProgressIndicator.d.ts +0 -35
- package/dist/ui/ProgressIndicator.d.ts.map +0 -1
- package/dist/ui/ProgressIndicator.js +0 -177
- package/dist/ui/ProgressIndicator.js.map +0 -1
- package/dist/ui/ProgressRenderer.d.ts +0 -24
- package/dist/ui/ProgressRenderer.d.ts.map +0 -1
- package/dist/ui/ProgressRenderer.js +0 -143
- package/dist/ui/ProgressRenderer.js.map +0 -1
- package/dist/ui/ResponseFormatter.d.ts +0 -57
- package/dist/ui/ResponseFormatter.d.ts.map +0 -1
- package/dist/ui/ResponseFormatter.js +0 -513
- package/dist/ui/ResponseFormatter.js.map +0 -1
- package/dist/ui/UIEventBus.d.ts +0 -38
- package/dist/ui/UIEventBus.d.ts.map +0 -1
- package/dist/ui/UIEventBus.js +0 -173
- package/dist/ui/UIEventBus.js.map +0 -1
- package/dist/ui/accessibility.d.ts +0 -28
- package/dist/ui/accessibility.d.ts.map +0 -1
- package/dist/ui/accessibility.js +0 -97
- package/dist/ui/accessibility.js.map +0 -1
- package/dist/ui/design-tokens.d.ts +0 -36
- package/dist/ui/design-tokens.d.ts.map +0 -1
- package/dist/ui/design-tokens.js +0 -94
- package/dist/ui/design-tokens.js.map +0 -1
- package/dist/ui/index.d.ts +0 -8
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js +0 -6
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/theme.d.ts +0 -313
- package/dist/ui/theme.d.ts.map +0 -1
- package/dist/ui/theme.js +0 -198
- package/dist/ui/theme.js.map +0 -1
- package/dist/ui/types.d.ts +0 -146
- package/dist/ui/types.d.ts.map +0 -1
- package/dist/ui/types.js +0 -16
- package/dist/ui/types.js.map +0 -1
- package/dist/utils/ILogger.d.ts +0 -7
- package/dist/utils/ILogger.d.ts.map +0 -1
- package/dist/utils/ILogger.js +0 -2
- package/dist/utils/ILogger.js.map +0 -1
- package/dist/utils/MinHeap.d.ts +0 -15
- package/dist/utils/MinHeap.d.ts.map +0 -1
- package/dist/utils/MinHeap.js +0 -69
- package/dist/utils/MinHeap.js.map +0 -1
- package/dist/utils/PathResolver.d.ts +0 -13
- package/dist/utils/PathResolver.d.ts.map +0 -1
- package/dist/utils/PathResolver.js +0 -77
- package/dist/utils/PathResolver.js.map +0 -1
- package/dist/utils/RateLimiter.d.ts +0 -28
- package/dist/utils/RateLimiter.d.ts.map +0 -1
- package/dist/utils/RateLimiter.js +0 -115
- package/dist/utils/RateLimiter.js.map +0 -1
- package/dist/utils/SystemResources.d.ts +0 -40
- package/dist/utils/SystemResources.d.ts.map +0 -1
- package/dist/utils/SystemResources.js +0 -216
- package/dist/utils/SystemResources.js.map +0 -1
- package/dist/utils/errorHandler.d.ts +0 -49
- package/dist/utils/errorHandler.d.ts.map +0 -1
- package/dist/utils/errorHandler.js +0 -397
- package/dist/utils/errorHandler.js.map +0 -1
- package/dist/utils/index.d.ts +0 -17
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -15
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/json.d.ts +0 -13
- package/dist/utils/json.d.ts.map +0 -1
- package/dist/utils/json.js +0 -95
- package/dist/utils/json.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -16
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -125
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/lru-cache.d.ts +0 -47
- package/dist/utils/lru-cache.d.ts.map +0 -1
- package/dist/utils/lru-cache.js +0 -239
- package/dist/utils/lru-cache.js.map +0 -1
- package/dist/utils/memory.d.ts +0 -20
- package/dist/utils/memory.d.ts.map +0 -1
- package/dist/utils/memory.js +0 -53
- package/dist/utils/memory.js.map +0 -1
- package/dist/utils/money.d.ts +0 -10
- package/dist/utils/money.d.ts.map +0 -1
- package/dist/utils/money.js +0 -25
- package/dist/utils/money.js.map +0 -1
- package/dist/utils/pathValidation.d.ts +0 -2
- package/dist/utils/pathValidation.d.ts.map +0 -1
- package/dist/utils/pathValidation.js +0 -62
- package/dist/utils/pathValidation.js.map +0 -1
- package/dist/utils/paths.d.ts +0 -4
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/paths.js +0 -28
- package/dist/utils/paths.js.map +0 -1
- package/dist/utils/requestId.d.ts +0 -4
- package/dist/utils/requestId.d.ts.map +0 -1
- package/dist/utils/requestId.js +0 -17
- package/dist/utils/requestId.js.map +0 -1
- package/dist/utils/retry.d.ts +0 -20
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/retry.js +0 -226
- package/dist/utils/retry.js.map +0 -1
- package/dist/utils/safeMath.d.ts +0 -11
- package/dist/utils/safeMath.d.ts.map +0 -1
- package/dist/utils/safeMath.js +0 -92
- package/dist/utils/safeMath.js.map +0 -1
- package/dist/utils/toonify-adapter.d.ts +0 -77
- package/dist/utils/toonify-adapter.d.ts.map +0 -1
- package/dist/utils/toonify-adapter.js +0 -282
- package/dist/utils/toonify-adapter.js.map +0 -1
- package/dist/utils/tracing/TraceContext.d.ts +0 -23
- package/dist/utils/tracing/TraceContext.d.ts.map +0 -1
- package/dist/utils/tracing/TraceContext.js +0 -127
- package/dist/utils/tracing/TraceContext.js.map +0 -1
- package/dist/utils/tracing/index.d.ts +0 -2
- package/dist/utils/tracing/index.d.ts.map +0 -1
- package/dist/utils/tracing/index.js +0 -2
- package/dist/utils/tracing/index.js.map +0 -1
- package/dist/utils/tracing/middleware.d.ts +0 -15
- package/dist/utils/tracing/middleware.d.ts.map +0 -1
- package/dist/utils/tracing/middleware.js +0 -49
- package/dist/utils/tracing/middleware.js.map +0 -1
- package/dist/utils/validation.d.ts +0 -12
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/validation.js +0 -87
- package/dist/utils/validation.js.map +0 -1
- package/scripts/health-check.js +0 -331
- package/scripts/hooks/README.md +0 -230
- package/scripts/hooks/__tests__/hook-test-harness.js +0 -218
- package/scripts/hooks/__tests__/hooks.test.js +0 -267
- package/scripts/hooks/__tests__/post-tool-use-recall.test.js +0 -192
- package/scripts/hooks/__tests__/session-start-recall.test.js +0 -86
- package/scripts/hooks/hook-utils.js +0 -899
- package/scripts/hooks/post-tool-use-recall-utils.js +0 -74
- package/scripts/hooks/post-tool-use.js +0 -895
- package/scripts/hooks/pre-tool-use.js +0 -491
- package/scripts/hooks/session-start-recall-utils.js +0 -40
- package/scripts/hooks/stop.js +0 -673
- package/scripts/hooks/subagent-stop.js +0 -184
- package/scripts/postinstall-lib.js +0 -242
- package/scripts/postinstall-new.js +0 -191
- package/scripts/skills/comprehensive-code-review/SKILL.md +0 -276
|
@@ -1,647 +1,150 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*
|
|
8
|
-
* Features:
|
|
9
|
-
* - Checks MeMesh MCP server availability
|
|
10
|
-
* - Auto-recalls last session key points from MeMesh
|
|
11
|
-
* - Reads recommendations from last session
|
|
12
|
-
* - Displays suggested skills to load
|
|
13
|
-
* - Shows warnings (quota, slow tools, etc.)
|
|
14
|
-
* - Initializes current session state
|
|
15
|
-
*/
|
|
3
|
+
import { createRequire } from 'module';
|
|
4
|
+
import { homedir } from 'os';
|
|
5
|
+
import { join, basename } from 'path';
|
|
6
|
+
import { existsSync } from 'fs';
|
|
16
7
|
|
|
17
|
-
import
|
|
18
|
-
HOME_DIR,
|
|
19
|
-
STATE_DIR,
|
|
20
|
-
MEMESH_DB_PATH,
|
|
21
|
-
THRESHOLDS,
|
|
22
|
-
readJSONFile,
|
|
23
|
-
writeJSONFile,
|
|
24
|
-
sqliteQueryJSON,
|
|
25
|
-
getTimeAgo,
|
|
26
|
-
logError,
|
|
27
|
-
queryActivePlans,
|
|
28
|
-
renderTimelineCompact,
|
|
29
|
-
} from './hook-utils.js';
|
|
30
|
-
import { buildSessionRecallQuery, formatRecallOutput } from './session-start-recall-utils.js';
|
|
31
|
-
import fs from 'fs';
|
|
32
|
-
import path from 'path';
|
|
33
|
-
import { execFileSync } from 'child_process';
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
34
9
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const CCB_HEARTBEAT_FILE = path.join(STATE_DIR, 'ccb-heartbeat.json');
|
|
40
|
-
const MCP_SETTINGS_FILE = path.join(HOME_DIR, '.claude', 'mcp_settings.json');
|
|
41
|
-
const RECOMMENDATIONS_FILE = path.join(STATE_DIR, 'recommendations.json');
|
|
42
|
-
const SESSION_CONTEXT_FILE = path.join(STATE_DIR, 'session-context.json');
|
|
43
|
-
const CURRENT_SESSION_FILE = path.join(STATE_DIR, 'current-session.json');
|
|
44
|
-
const LAST_SESSION_CACHE_FILE = path.join(STATE_DIR, 'last-session-summary.json');
|
|
45
|
-
|
|
46
|
-
/** Maximum cache age: 7 days */
|
|
47
|
-
const CACHE_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1000;
|
|
48
|
-
|
|
49
|
-
// ============================================================================
|
|
50
|
-
// MeMesh Status Check
|
|
51
|
-
// ============================================================================
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Check MeMesh MCP Server availability
|
|
55
|
-
* @returns {{ configured: boolean, running: boolean, lastHeartbeat: string|null, serverPath: string|null }}
|
|
56
|
-
*/
|
|
57
|
-
function checkCCBAvailability() {
|
|
58
|
-
const result = {
|
|
59
|
-
configured: false,
|
|
60
|
-
running: false,
|
|
61
|
-
lastHeartbeat: null,
|
|
62
|
-
serverPath: null,
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
// Check if MeMesh is configured in MCP settings
|
|
66
|
-
try {
|
|
67
|
-
if (fs.existsSync(MCP_SETTINGS_FILE)) {
|
|
68
|
-
const mcpSettings = JSON.parse(fs.readFileSync(MCP_SETTINGS_FILE, 'utf-8'));
|
|
69
|
-
|
|
70
|
-
// Check for MeMesh and legacy names (backward compatibility)
|
|
71
|
-
const ccbNames = [
|
|
72
|
-
'memesh',
|
|
73
|
-
'@pcircle/memesh',
|
|
74
|
-
'@pcircle/claude-code-buddy-mcp',
|
|
75
|
-
'claude-code-buddy',
|
|
76
|
-
'ccb',
|
|
77
|
-
];
|
|
78
|
-
|
|
79
|
-
for (const name of ccbNames) {
|
|
80
|
-
if (mcpSettings.mcpServers && mcpSettings.mcpServers[name]) {
|
|
81
|
-
result.configured = true;
|
|
82
|
-
result.serverPath = mcpSettings.mcpServers[name].args?.[0] || 'configured';
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
} catch (err) {
|
|
88
|
-
logError('checkCCBAvailability:mcp_settings', err);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// Check heartbeat file (MeMesh writes this when running)
|
|
92
|
-
try {
|
|
93
|
-
if (fs.existsSync(CCB_HEARTBEAT_FILE)) {
|
|
94
|
-
const heartbeat = JSON.parse(fs.readFileSync(CCB_HEARTBEAT_FILE, 'utf-8'));
|
|
95
|
-
result.lastHeartbeat = heartbeat.timestamp;
|
|
96
|
-
|
|
97
|
-
const heartbeatTime = new Date(heartbeat.timestamp).getTime();
|
|
98
|
-
const now = Date.now();
|
|
99
|
-
|
|
100
|
-
if (now - heartbeatTime < THRESHOLDS.HEARTBEAT_VALIDITY) {
|
|
101
|
-
result.running = true;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
} catch (err) {
|
|
105
|
-
logError('checkCCBAvailability:heartbeat', err);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return result;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Display MeMesh status and reminder
|
|
113
|
-
*/
|
|
114
|
-
function displayCCBStatus(ccbStatus) {
|
|
115
|
-
console.log('═'.repeat(60));
|
|
116
|
-
console.log(' 🤖 MeMesh Status');
|
|
117
|
-
console.log('═'.repeat(60));
|
|
118
|
-
|
|
119
|
-
if (!ccbStatus.configured) {
|
|
120
|
-
console.log('');
|
|
121
|
-
console.log(' ⚠️ MeMesh MCP Server is NOT configured!');
|
|
122
|
-
console.log('');
|
|
123
|
-
console.log(' MeMesh provides memory management and knowledge graph tools.');
|
|
124
|
-
console.log(' To configure MeMesh, add it to ~/.claude/mcp_settings.json');
|
|
125
|
-
console.log('');
|
|
126
|
-
console.log(' Available MeMesh tools when connected:');
|
|
127
|
-
console.log(' • buddy-remember: Query past knowledge');
|
|
128
|
-
console.log(' • buddy-do: Execute common operations');
|
|
129
|
-
console.log(' • memesh-create-entities: Store new knowledge to graph');
|
|
130
|
-
console.log('');
|
|
131
|
-
} else if (!ccbStatus.running) {
|
|
132
|
-
console.log('');
|
|
133
|
-
console.log(' ℹ️ MeMesh is configured but status unknown');
|
|
134
|
-
console.log(` Path: ${ccbStatus.serverPath}`);
|
|
135
|
-
console.log('');
|
|
136
|
-
console.log(' 📝 REMINDER: Use MeMesh tools for memory management:');
|
|
137
|
-
console.log('');
|
|
138
|
-
console.log(' Before starting work:');
|
|
139
|
-
console.log(' buddy-remember "relevant topic" - Query past experiences');
|
|
140
|
-
console.log('');
|
|
141
|
-
console.log(' After completing work:');
|
|
142
|
-
console.log(' memesh-create-entities - Store new learnings');
|
|
143
|
-
console.log(' memesh-record-mistake - Record errors for future reference');
|
|
144
|
-
console.log('');
|
|
145
|
-
console.log(' 💡 If MeMesh tools fail, check MCP server status.');
|
|
146
|
-
console.log('');
|
|
147
|
-
} else {
|
|
148
|
-
console.log('');
|
|
149
|
-
console.log(' ✅ MeMesh MCP Server is running');
|
|
150
|
-
console.log(` Last heartbeat: ${ccbStatus.lastHeartbeat}`);
|
|
151
|
-
console.log('');
|
|
152
|
-
console.log(' 📋 Session Start Checklist:');
|
|
153
|
-
console.log(' ☐ buddy-remember - Query relevant past knowledge');
|
|
154
|
-
console.log('');
|
|
155
|
-
console.log(' 📋 Session End Checklist:');
|
|
156
|
-
console.log(' ☐ memesh-create-entities - Store new learnings');
|
|
157
|
-
console.log(' ☐ memesh-record-mistake - Record any errors');
|
|
158
|
-
console.log('');
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
console.log('═'.repeat(60));
|
|
162
|
-
console.log('');
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
// ============================================================================
|
|
166
|
-
// Memory Recall
|
|
167
|
-
// ============================================================================
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Try to read session summary from cache file (fast path).
|
|
171
|
-
* Cache is written by stop.js on session end.
|
|
172
|
-
* @returns {{ entityName: string, createdAt: string, metadata: object, keyPoints: string[] } | null}
|
|
173
|
-
*/
|
|
174
|
-
function recallFromCache() {
|
|
10
|
+
let input = '';
|
|
11
|
+
process.stdin.setEncoding('utf8');
|
|
12
|
+
process.stdin.on('data', (chunk) => { input += chunk; });
|
|
13
|
+
process.stdin.on('end', () => {
|
|
175
14
|
try {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
const
|
|
181
|
-
if (!
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
// Check staleness
|
|
186
|
-
const cacheAge = Date.now() - new Date(cache.savedAt).getTime();
|
|
187
|
-
if (cacheAge > CACHE_MAX_AGE_MS) {
|
|
188
|
-
// Stale cache — delete it
|
|
189
|
-
try { fs.unlinkSync(LAST_SESSION_CACHE_FILE); } catch { /* ignore */ }
|
|
190
|
-
return null;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
return {
|
|
194
|
-
entityName: 'session_cache',
|
|
195
|
-
createdAt: cache.savedAt,
|
|
196
|
-
metadata: {
|
|
197
|
-
duration: cache.duration,
|
|
198
|
-
toolCount: cache.toolCount,
|
|
199
|
-
},
|
|
200
|
-
keyPoints: cache.keyPoints,
|
|
201
|
-
};
|
|
202
|
-
} catch (error) {
|
|
203
|
-
logError('recallFromCache', error);
|
|
204
|
-
return null;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* Recall recent session key points from MeMesh (slow path — SQLite query).
|
|
210
|
-
* Used as fallback when cache is not available.
|
|
211
|
-
* @returns {{ entityName: string, createdAt: string, metadata: object, keyPoints: string[] } | null}
|
|
212
|
-
*/
|
|
213
|
-
function recallFromSQLite() {
|
|
214
|
-
try {
|
|
215
|
-
if (!fs.existsSync(MEMESH_DB_PATH)) {
|
|
216
|
-
return null;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
const cutoffDate = new Date();
|
|
220
|
-
cutoffDate.setDate(cutoffDate.getDate() - THRESHOLDS.RECALL_DAYS);
|
|
221
|
-
const cutoffISO = cutoffDate.toISOString();
|
|
222
|
-
|
|
223
|
-
const query = `
|
|
224
|
-
SELECT id, name, metadata, created_at
|
|
225
|
-
FROM entities
|
|
226
|
-
WHERE type = ? AND created_at > ?
|
|
227
|
-
ORDER BY created_at DESC
|
|
228
|
-
LIMIT 1
|
|
229
|
-
`.replace(/\n/g, ' ');
|
|
230
|
-
|
|
231
|
-
// Use JSON mode to avoid pipe-split issues with | in metadata
|
|
232
|
-
const entityRows = sqliteQueryJSON(
|
|
233
|
-
MEMESH_DB_PATH,
|
|
234
|
-
query,
|
|
235
|
-
['session_keypoint', cutoffISO]
|
|
236
|
-
);
|
|
237
|
-
|
|
238
|
-
if (!entityRows || entityRows.length === 0) {
|
|
239
|
-
return null;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
const row = entityRows[0];
|
|
243
|
-
const entityId = row.id;
|
|
244
|
-
const entityName = row.name;
|
|
245
|
-
const createdAt = row.created_at;
|
|
246
|
-
|
|
247
|
-
// Observations also use JSON mode for safety
|
|
248
|
-
const obsRows = sqliteQueryJSON(
|
|
249
|
-
MEMESH_DB_PATH,
|
|
250
|
-
'SELECT content FROM observations WHERE entity_id = ? ORDER BY created_at ASC',
|
|
251
|
-
[entityId]
|
|
252
|
-
);
|
|
253
|
-
|
|
254
|
-
const keyPoints = (obsRows || []).map(r => r.content).filter(Boolean);
|
|
255
|
-
|
|
256
|
-
let parsedMetadata = {};
|
|
257
|
-
try {
|
|
258
|
-
parsedMetadata = JSON.parse(row.metadata || '{}');
|
|
259
|
-
} catch (parseErr) {
|
|
260
|
-
logError('recallFromSQLite:metadata-parse', parseErr);
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
return {
|
|
264
|
-
entityName,
|
|
265
|
-
createdAt,
|
|
266
|
-
metadata: parsedMetadata,
|
|
267
|
-
keyPoints,
|
|
268
|
-
};
|
|
269
|
-
} catch (error) {
|
|
270
|
-
logError('recallFromSQLite', error);
|
|
271
|
-
return null;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* Recall recent session key points — cache-first, SQLite fallback.
|
|
277
|
-
* @returns {{ entityName: string, createdAt: string, metadata: object, keyPoints: string[] } | null}
|
|
278
|
-
*/
|
|
279
|
-
function recallRecentKeyPoints() {
|
|
280
|
-
// Fast path: read from cache file (no sqlite3 spawn)
|
|
281
|
-
const cached = recallFromCache();
|
|
282
|
-
if (cached) {
|
|
283
|
-
return cached;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
// Slow path: query SQLite
|
|
287
|
-
return recallFromSQLite();
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
/**
|
|
291
|
-
* Display recalled key points from last session
|
|
292
|
-
*/
|
|
293
|
-
function displayRecalledMemory(recalledData) {
|
|
294
|
-
console.log('═'.repeat(60));
|
|
295
|
-
console.log(' 🧠 MeMesh Memory Recall');
|
|
296
|
-
console.log('═'.repeat(60));
|
|
297
|
-
|
|
298
|
-
if (!recalledData || !recalledData.keyPoints || recalledData.keyPoints.length === 0) {
|
|
299
|
-
console.log('');
|
|
300
|
-
console.log(' ℹ️ No recent memories found (last 30 days)');
|
|
301
|
-
console.log(' 💡 Memories will be auto-saved when this session ends');
|
|
302
|
-
console.log('');
|
|
303
|
-
console.log('═'.repeat(60));
|
|
304
|
-
console.log('');
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
console.log('');
|
|
309
|
-
|
|
310
|
-
// Display timestamp
|
|
311
|
-
const savedTime = new Date(recalledData.createdAt);
|
|
312
|
-
const timeAgo = getTimeAgo(savedTime);
|
|
313
|
-
console.log(` 🕐 Saved: ${timeAgo}`);
|
|
314
|
-
|
|
315
|
-
// Display metadata if available
|
|
316
|
-
if (recalledData.metadata) {
|
|
317
|
-
const meta = recalledData.metadata;
|
|
318
|
-
if (meta.duration) {
|
|
319
|
-
console.log(` ⏱️ Last session duration: ${meta.duration}`);
|
|
320
|
-
}
|
|
321
|
-
if (meta.toolCount) {
|
|
322
|
-
console.log(` 🛠️ Tools used: ${meta.toolCount}`);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
console.log('');
|
|
327
|
-
console.log(' 📋 Key Points:');
|
|
328
|
-
|
|
329
|
-
// Display key points with formatting
|
|
330
|
-
recalledData.keyPoints.forEach(point => {
|
|
331
|
-
if (point.startsWith('[SESSION]')) {
|
|
332
|
-
console.log(` 📊 ${point.replace('[SESSION] ', '')}`);
|
|
333
|
-
} else if (point.startsWith('[WORK]')) {
|
|
334
|
-
console.log(` 📁 ${point.replace('[WORK] ', '')}`);
|
|
335
|
-
} else if (point.startsWith('[COMMIT]')) {
|
|
336
|
-
console.log(` ✅ ${point.replace('[COMMIT] ', '')}`);
|
|
337
|
-
} else if (point.startsWith('[ISSUE]') || point.startsWith('[PROBLEM]')) {
|
|
338
|
-
console.log(` ⚠️ ${point.replace(/\[(ISSUE|PROBLEM)\] /, '')}`);
|
|
339
|
-
} else if (point.startsWith('[LEARN]')) {
|
|
340
|
-
console.log(` 💡 ${point.replace('[LEARN] ', '')}`);
|
|
341
|
-
} else if (point.startsWith('[TASK]')) {
|
|
342
|
-
console.log(` 📝 ${point.replace('[TASK] ', '')}`);
|
|
343
|
-
} else if (point.startsWith('[DECISION]')) {
|
|
344
|
-
console.log(` 🎯 ${point.replace('[DECISION] ', '')}`);
|
|
345
|
-
} else if (point.startsWith('[PATTERN]')) {
|
|
346
|
-
console.log(` 🔄 ${point.replace('[PATTERN] ', '')}`);
|
|
347
|
-
} else if (point.startsWith('[SCOPE]') || point.startsWith('[FOCUS]')) {
|
|
348
|
-
console.log(` 🎯 ${point.replace(/\[(SCOPE|FOCUS)\] /, '')}`);
|
|
349
|
-
} else if (point.startsWith('[NOTE]')) {
|
|
350
|
-
console.log(` 📌 ${point.replace('[NOTE] ', '')}`);
|
|
351
|
-
} else {
|
|
352
|
-
console.log(` • ${point}`);
|
|
15
|
+
const data = JSON.parse(input);
|
|
16
|
+
const projectName = basename(data.cwd || process.cwd());
|
|
17
|
+
|
|
18
|
+
// Find database
|
|
19
|
+
const dbPath = process.env.MEMESH_DB_PATH || join(homedir(), '.memesh', 'knowledge-graph.db');
|
|
20
|
+
if (!existsSync(dbPath)) {
|
|
21
|
+
output('MeMesh: No database found. Memories will be created as you work.');
|
|
22
|
+
return;
|
|
353
23
|
}
|
|
354
|
-
});
|
|
355
|
-
|
|
356
|
-
console.log('');
|
|
357
|
-
console.log('═'.repeat(60));
|
|
358
|
-
console.log('');
|
|
359
|
-
}
|
|
360
24
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
// ============================================================================
|
|
364
|
-
|
|
365
|
-
/**
|
|
366
|
-
* Find and display project CLAUDE.md content on session start.
|
|
367
|
-
* This ensures instructions are fresh in context even after compaction.
|
|
368
|
-
* Searches: CWD/.claude/CLAUDE.md, CWD/CLAUDE.md
|
|
369
|
-
*/
|
|
370
|
-
function reloadClaudeMd() {
|
|
371
|
-
const cwd = process.cwd();
|
|
372
|
-
const candidates = [
|
|
373
|
-
path.join(cwd, '.claude', 'CLAUDE.md'),
|
|
374
|
-
path.join(cwd, 'CLAUDE.md'),
|
|
375
|
-
];
|
|
376
|
-
|
|
377
|
-
for (const candidate of candidates) {
|
|
25
|
+
const Database = require('better-sqlite3');
|
|
26
|
+
const db = new Database(dbPath, { readonly: true });
|
|
378
27
|
try {
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
console.log('');
|
|
388
|
-
console.log(` Source: ${relativePath} (${lineCount} lines)`);
|
|
389
|
-
console.log('');
|
|
390
|
-
console.log(content);
|
|
391
|
-
console.log('');
|
|
392
|
-
console.log('═'.repeat(60));
|
|
393
|
-
console.log('');
|
|
28
|
+
db.pragma('journal_mode = WAL');
|
|
29
|
+
|
|
30
|
+
// Check if tables exist (db may exist but be empty)
|
|
31
|
+
const tableCheck = db.prepare(
|
|
32
|
+
"SELECT name FROM sqlite_master WHERE type='table' AND name='entities'"
|
|
33
|
+
).get();
|
|
34
|
+
if (!tableCheck) {
|
|
35
|
+
output('MeMesh: Database exists but no memories stored yet.');
|
|
394
36
|
return;
|
|
395
37
|
}
|
|
396
|
-
} catch (readErr) {
|
|
397
|
-
logError(`reloadClaudeMd:${candidate}`, readErr);
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
// ============================================================================
|
|
403
|
-
// Main Session Start Logic
|
|
404
|
-
// ============================================================================
|
|
405
|
-
|
|
406
|
-
// ============================================================================
|
|
407
|
-
// Active Plans Display (Beta)
|
|
408
|
-
// ============================================================================
|
|
409
|
-
|
|
410
|
-
/**
|
|
411
|
-
* Display active plans with compact timeline.
|
|
412
|
-
* Also warns about stale plans (no progress for 7+ days).
|
|
413
|
-
*/
|
|
414
|
-
function displayActivePlans() {
|
|
415
|
-
try {
|
|
416
|
-
if (!fs.existsSync(MEMESH_DB_PATH)) return;
|
|
417
|
-
|
|
418
|
-
const activePlans = queryActivePlans(MEMESH_DB_PATH);
|
|
419
|
-
if (activePlans.length === 0) return;
|
|
420
|
-
|
|
421
|
-
console.log('═'.repeat(60));
|
|
422
|
-
console.log(' 📋 Active Plans');
|
|
423
|
-
console.log('═'.repeat(60));
|
|
424
|
-
console.log('');
|
|
425
38
|
|
|
426
|
-
|
|
427
|
-
|
|
39
|
+
// Inspect available columns for backward compat
|
|
40
|
+
const columns = db.prepare("PRAGMA table_info(entities)").all();
|
|
41
|
+
const colNames = new Set(columns.map(col => col.name));
|
|
42
|
+
|
|
43
|
+
const hasStatus = colNames.has('status');
|
|
44
|
+
const hasScoringCols = colNames.has('access_count') && colNames.has('last_accessed_at') && colNames.has('confidence');
|
|
45
|
+
|
|
46
|
+
const statusFilter = hasStatus ? "AND e.status = 'active'" : '';
|
|
47
|
+
const recentStatusFilter = hasStatus ? "WHERE status = 'active'" : '';
|
|
48
|
+
|
|
49
|
+
// Configurable limit: how many top-N entities to load per section
|
|
50
|
+
const sessionLimit = parseInt(process.env.MEMESH_SESSION_LIMIT || '10', 10);
|
|
51
|
+
|
|
52
|
+
// Build scoring ORDER BY clause (or fallback to insertion order)
|
|
53
|
+
const scoringOrderBy = hasScoringCols
|
|
54
|
+
? `ORDER BY
|
|
55
|
+
CASE WHEN e.confidence IS NULL THEN 0.5 ELSE e.confidence END * 0.4
|
|
56
|
+
+ CASE WHEN e.access_count IS NULL THEN 0
|
|
57
|
+
ELSE MIN(CAST(e.access_count AS REAL) / 50.0, 1.0) END * 0.3
|
|
58
|
+
+ CASE WHEN e.last_accessed_at IS NULL THEN 0.3
|
|
59
|
+
ELSE MIN(1.0, 1.0 / (1.0 + (julianday('now') - julianday(e.last_accessed_at)) / 30.0)) END * 0.3
|
|
60
|
+
DESC`
|
|
61
|
+
: 'ORDER BY e.id DESC';
|
|
62
|
+
|
|
63
|
+
const recentScoringOrderBy = hasScoringCols
|
|
64
|
+
? `ORDER BY
|
|
65
|
+
CASE WHEN confidence IS NULL THEN 0.5 ELSE confidence END * 0.4
|
|
66
|
+
+ CASE WHEN access_count IS NULL THEN 0
|
|
67
|
+
ELSE MIN(CAST(access_count AS REAL) / 50.0, 1.0) END * 0.3
|
|
68
|
+
+ CASE WHEN last_accessed_at IS NULL THEN 0.3
|
|
69
|
+
ELSE MIN(1.0, 1.0 / (1.0 + (julianday('now') - julianday(last_accessed_at)) / 30.0)) END * 0.3
|
|
70
|
+
DESC`
|
|
71
|
+
: 'ORDER BY id DESC';
|
|
72
|
+
|
|
73
|
+
// Query project-specific top-N entities by relevance score
|
|
74
|
+
const projectTag = `project:${projectName}`;
|
|
75
|
+
const projectEntities = db.prepare(`
|
|
76
|
+
SELECT DISTINCT e.id, e.name, e.type, e.created_at
|
|
77
|
+
FROM entities e
|
|
78
|
+
JOIN tags t ON t.entity_id = e.id
|
|
79
|
+
WHERE t.tag = ?
|
|
80
|
+
${statusFilter}
|
|
81
|
+
${scoringOrderBy}
|
|
82
|
+
LIMIT ?
|
|
83
|
+
`).all(projectTag, sessionLimit);
|
|
84
|
+
|
|
85
|
+
// Fetch the first observation for each entity (for concise summary)
|
|
86
|
+
const getFirstObservation = db.prepare(
|
|
87
|
+
'SELECT content FROM observations WHERE entity_id = ? ORDER BY id ASC LIMIT 1'
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
// Query global recent/top entities (exclude project-tagged ones for this project)
|
|
91
|
+
const recentEntities = db.prepare(`
|
|
92
|
+
SELECT id, name, type, created_at
|
|
93
|
+
FROM entities
|
|
94
|
+
${recentStatusFilter}
|
|
95
|
+
${recentScoringOrderBy}
|
|
96
|
+
LIMIT 5
|
|
97
|
+
`).all();
|
|
98
|
+
|
|
99
|
+
// Format entity as concise bullet: "• name (type): first observation (truncated)"
|
|
100
|
+
function formatEntity(entity) {
|
|
101
|
+
const obs = getFirstObservation.get(entity.id);
|
|
102
|
+
const snippet = obs ? obs.content.slice(0, 100) : '';
|
|
103
|
+
return snippet
|
|
104
|
+
? `• ${entity.name} (${entity.type}): ${snippet}`
|
|
105
|
+
: `• ${entity.name} (${entity.type})`;
|
|
106
|
+
}
|
|
428
107
|
|
|
429
|
-
//
|
|
430
|
-
const
|
|
431
|
-
|
|
432
|
-
.
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
console.log(` ⚠️ No progress for ${daysSince} days`);
|
|
108
|
+
// Build recall message
|
|
109
|
+
const lines = [];
|
|
110
|
+
if (projectEntities.length > 0) {
|
|
111
|
+
const label = hasScoringCols ? `top ${projectEntities.length} by relevance` : `${projectEntities.length}`;
|
|
112
|
+
lines.push(`Project "${projectName}" memories (${label}):`);
|
|
113
|
+
for (const e of projectEntities) {
|
|
114
|
+
lines.push(formatEntity(e));
|
|
437
115
|
}
|
|
438
116
|
}
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
logError('displayActivePlans', error);
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
* Proactive memory recall — queries KG for memories related to current project.
|
|
451
|
-
* Uses project name + last 3 git commits as search query.
|
|
452
|
-
*/
|
|
453
|
-
function recallProactiveMemories() {
|
|
454
|
-
try {
|
|
455
|
-
const projectName = path.basename(process.cwd());
|
|
456
|
-
|
|
457
|
-
let recentCommits = [];
|
|
458
|
-
try {
|
|
459
|
-
const gitOutput = execFileSync('git', ['log', '--oneline', '-3', '--format=%s'], {
|
|
460
|
-
timeout: 3000,
|
|
461
|
-
encoding: 'utf-8',
|
|
462
|
-
cwd: process.cwd(),
|
|
463
|
-
});
|
|
464
|
-
recentCommits = gitOutput.trim().split('\n').filter(Boolean);
|
|
465
|
-
} catch {
|
|
466
|
-
// Not a git repo or no commits
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
const query = buildSessionRecallQuery(projectName, recentCommits);
|
|
470
|
-
if (!query) return;
|
|
471
|
-
|
|
472
|
-
// Build FTS5 tokens
|
|
473
|
-
const ftsTokens = query.split(/\s+/)
|
|
474
|
-
.filter(t => t.length > 2)
|
|
475
|
-
.slice(0, 10)
|
|
476
|
-
.map(t => `"${t.replace(/"/g, '""')}"*`)
|
|
477
|
-
.join(' OR ');
|
|
478
|
-
|
|
479
|
-
if (!ftsTokens) return;
|
|
480
|
-
|
|
481
|
-
const sql = `
|
|
482
|
-
SELECT e.name, e.type,
|
|
483
|
-
(SELECT json_group_array(content) FROM observations o WHERE o.entity_id = e.id) as observations_json
|
|
484
|
-
FROM entities e
|
|
485
|
-
JOIN entities_fts ON entities_fts.rowid = e.id
|
|
486
|
-
WHERE entities_fts MATCH ?
|
|
487
|
-
ORDER BY bm25(entities_fts, 10.0, 5.0)
|
|
488
|
-
LIMIT 5
|
|
489
|
-
`;
|
|
490
|
-
|
|
491
|
-
const result = sqliteQueryJSON(MEMESH_DB_PATH, sql, [ftsTokens]);
|
|
492
|
-
if (!result || result.length === 0) return;
|
|
493
|
-
|
|
494
|
-
const formatted = result.map(r => ({
|
|
495
|
-
name: r.name,
|
|
496
|
-
observations: JSON.parse(r.observations_json || '[]').filter(Boolean).slice(0, 3),
|
|
497
|
-
similarity: 0.5,
|
|
498
|
-
}));
|
|
499
|
-
|
|
500
|
-
const output = formatRecallOutput(formatted);
|
|
501
|
-
if (output) {
|
|
502
|
-
console.log('\n Proactive Memory Recall:');
|
|
503
|
-
console.log(output);
|
|
504
|
-
}
|
|
505
|
-
} catch (error) {
|
|
506
|
-
logError('proactive-recall', error);
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
|
|
510
|
-
function sessionStart() {
|
|
511
|
-
console.log('\n🚀 Smart-Agents Session Started\n');
|
|
512
|
-
|
|
513
|
-
// Reload project CLAUDE.md into context
|
|
514
|
-
reloadClaudeMd();
|
|
515
|
-
|
|
516
|
-
// Check MeMesh availability
|
|
517
|
-
const ccbStatus = checkCCBAvailability();
|
|
518
|
-
displayCCBStatus(ccbStatus);
|
|
519
|
-
|
|
520
|
-
// Auto-recall last session's key points from MeMesh
|
|
521
|
-
const recalledMemory = recallRecentKeyPoints();
|
|
522
|
-
displayRecalledMemory(recalledMemory);
|
|
523
|
-
|
|
524
|
-
// Proactive memory recall (project context + recent commits)
|
|
525
|
-
recallProactiveMemories();
|
|
526
|
-
|
|
527
|
-
// Display active plans (beta)
|
|
528
|
-
displayActivePlans();
|
|
529
|
-
|
|
530
|
-
// Read recommendations from last session
|
|
531
|
-
const recommendations = readJSONFile(RECOMMENDATIONS_FILE, {
|
|
532
|
-
recommendedSkills: [],
|
|
533
|
-
detectedPatterns: [],
|
|
534
|
-
warnings: [],
|
|
535
|
-
lastUpdated: null,
|
|
536
|
-
});
|
|
537
|
-
|
|
538
|
-
// Read session context
|
|
539
|
-
const sessionContext = readJSONFile(SESSION_CONTEXT_FILE, {
|
|
540
|
-
tokenQuota: { used: 0, limit: 200000 },
|
|
541
|
-
learnedPatterns: [],
|
|
542
|
-
lastSessionDate: null,
|
|
543
|
-
});
|
|
544
|
-
|
|
545
|
-
// Display recommendations
|
|
546
|
-
if (recommendations.recommendedSkills?.length > 0) {
|
|
547
|
-
console.log('📚 Recommended skills based on last session:');
|
|
548
|
-
recommendations.recommendedSkills.forEach(skill => {
|
|
549
|
-
const priority = skill.priority === 'high' ? '🔴' : skill.priority === 'medium' ? '🟡' : '🟢';
|
|
550
|
-
console.log(` ${priority} ${skill.name} - ${skill.reason}`);
|
|
551
|
-
});
|
|
552
|
-
console.log('');
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
// Display detected patterns
|
|
556
|
-
if (recommendations.detectedPatterns?.length > 0) {
|
|
557
|
-
console.log('✨ Detected patterns:');
|
|
558
|
-
recommendations.detectedPatterns.slice(0, 3).forEach(pattern => {
|
|
559
|
-
console.log(` • ${pattern.description}`);
|
|
560
|
-
if (pattern.suggestion) {
|
|
561
|
-
console.log(` 💡 ${pattern.suggestion}`);
|
|
117
|
+
if (recentEntities.length > 0) {
|
|
118
|
+
if (lines.length > 0) lines.push('');
|
|
119
|
+
lines.push('Recent memories:');
|
|
120
|
+
for (const e of recentEntities) {
|
|
121
|
+
lines.push(formatEntity(e));
|
|
122
|
+
}
|
|
562
123
|
}
|
|
563
|
-
});
|
|
564
|
-
console.log('');
|
|
565
|
-
}
|
|
566
124
|
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
console.log(` • ${warning}`);
|
|
572
|
-
});
|
|
573
|
-
console.log('');
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
// Display quota info (guard against division by zero)
|
|
577
|
-
const quotaLimit = sessionContext.tokenQuota?.limit || 1;
|
|
578
|
-
const quotaUsed = sessionContext.tokenQuota?.used || 0;
|
|
579
|
-
const quotaPercentNum = (quotaUsed / quotaLimit) * 100;
|
|
580
|
-
if (quotaPercentNum > 80) {
|
|
581
|
-
console.log(`🔴 Quota usage: ${quotaPercentNum.toFixed(1)}% (please monitor usage)\n`);
|
|
582
|
-
} else if (quotaPercentNum > 50) {
|
|
583
|
-
console.log(`🟡 Quota usage: ${quotaPercentNum.toFixed(1)}%\n`);
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
// Initialize current session
|
|
587
|
-
const currentSession = {
|
|
588
|
-
startTime: new Date().toISOString(),
|
|
589
|
-
toolCalls: [],
|
|
590
|
-
patterns: [],
|
|
591
|
-
ccbStatus: ccbStatus,
|
|
592
|
-
};
|
|
593
|
-
|
|
594
|
-
if (writeJSONFile(CURRENT_SESSION_FILE, currentSession)) {
|
|
595
|
-
console.log('✅ Session initialized, ready to work!\n');
|
|
596
|
-
} else {
|
|
597
|
-
console.log('⚠️ Session initialization failed, but you can continue working\n');
|
|
598
|
-
}
|
|
599
|
-
|
|
600
|
-
// ── User-facing acknowledgment instruction ──
|
|
601
|
-
// Hook stdout is only visible to Claude (system-reminder), not the user.
|
|
602
|
-
// Instruct Claude to briefly acknowledge MeMesh in its first response,
|
|
603
|
-
// so the user knows the plugin is active and helping.
|
|
604
|
-
const sessionCount = recalledMemory?.keyPoints?.length || 0;
|
|
605
|
-
const hasRecommendations = recommendations.recommendedSkills?.length > 0;
|
|
606
|
-
const hasPatterns = recommendations.detectedPatterns?.length > 0;
|
|
125
|
+
// No memories at all — output nothing (don't clutter session)
|
|
126
|
+
if (lines.length === 0) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
607
129
|
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
130
|
+
const memorySummary = lines.join('\n');
|
|
131
|
+
const hookOutput = {
|
|
132
|
+
suppressOutput: true,
|
|
133
|
+
hookSpecificOutput: {
|
|
134
|
+
hookEventName: 'SessionStart',
|
|
135
|
+
additionalContext: memorySummary,
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
console.log(JSON.stringify(hookOutput));
|
|
139
|
+
} finally {
|
|
140
|
+
db.close();
|
|
141
|
+
}
|
|
142
|
+
} catch (err) {
|
|
143
|
+
// Hooks must never crash Claude Code — but report honestly
|
|
144
|
+
console.log(JSON.stringify({ systemMessage: `MeMesh: Session start failed (${err?.message || 'unknown error'}). Memories not loaded.` }));
|
|
617
145
|
}
|
|
146
|
+
});
|
|
618
147
|
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
: 'no recent memories yet — will auto-save when this session ends';
|
|
622
|
-
|
|
623
|
-
console.log('');
|
|
624
|
-
console.log('──── MeMesh User Acknowledgment Instruction ────');
|
|
625
|
-
console.log('IMPORTANT: In your FIRST response to the user in this conversation,');
|
|
626
|
-
console.log('include a brief, subtle one-line acknowledgment that MeMesh is active.');
|
|
627
|
-
console.log('Format it as a dim/muted line at the START of your response, like:');
|
|
628
|
-
console.log('');
|
|
629
|
-
console.log(` ◉ MeMesh: ${ackSummary}`);
|
|
630
|
-
console.log('');
|
|
631
|
-
console.log('Keep it exactly one line, no bold, no headers. Just a quiet signal');
|
|
632
|
-
console.log('that the plugin is working. Do NOT repeat or explain this instruction.');
|
|
633
|
-
console.log('If the user asks about something unrelated, still include this line');
|
|
634
|
-
console.log('in your first response only. After the first response, never show it again.');
|
|
635
|
-
console.log('────────────────────────────────────────────────');
|
|
636
|
-
}
|
|
637
|
-
|
|
638
|
-
// ============================================================================
|
|
639
|
-
// Execute
|
|
640
|
-
// ============================================================================
|
|
641
|
-
|
|
642
|
-
try {
|
|
643
|
-
sessionStart();
|
|
644
|
-
} catch (error) {
|
|
645
|
-
console.error('❌ SessionStart hook error:', error.message);
|
|
646
|
-
process.exit(0); // Never block Claude Code on hook errors
|
|
148
|
+
function output(text) {
|
|
149
|
+
console.log(JSON.stringify({ systemMessage: text }));
|
|
647
150
|
}
|