@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,307 +1,169 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
* PostCommit Hook - Auto-save commit context to MeMesh Knowledge Graph
|
|
5
|
-
*
|
|
6
|
-
* Registered as a PostToolUse hook. Detects git commit commands and
|
|
7
|
-
* saves the commit details (message, files changed, diff summary)
|
|
8
|
-
* to the MeMesh knowledge graph for future recall.
|
|
9
|
-
*
|
|
10
|
-
* Commit saving runs silently. Plan progress prints a timeline to stderr.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import {
|
|
14
|
-
MEMESH_DB_PATH,
|
|
15
|
-
readStdin,
|
|
16
|
-
sqliteBatchEntity,
|
|
17
|
-
getDateString,
|
|
18
|
-
logError,
|
|
19
|
-
logMemorySave,
|
|
20
|
-
queryActivePlans,
|
|
21
|
-
matchCommitToStep,
|
|
22
|
-
addObservation,
|
|
23
|
-
updateEntityMetadata,
|
|
24
|
-
updateEntityTag,
|
|
25
|
-
createRelation,
|
|
26
|
-
renderTimeline,
|
|
27
|
-
} from './hook-utils.js';
|
|
28
|
-
import fs from 'fs';
|
|
3
|
+
import { createRequire } from 'module';
|
|
29
4
|
import { execFileSync } from 'child_process';
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
* @param {Object} commitInfo - Commit details
|
|
96
|
-
* @returns {boolean} True if saved
|
|
97
|
-
*/
|
|
98
|
-
function saveCommitToKG(commitInfo) {
|
|
5
|
+
import { homedir } from 'os';
|
|
6
|
+
import { join, basename } from 'path';
|
|
7
|
+
import { existsSync, mkdirSync } from 'fs';
|
|
8
|
+
|
|
9
|
+
const require = createRequire(import.meta.url);
|
|
10
|
+
|
|
11
|
+
const SCHEMA_SQL = `
|
|
12
|
+
CREATE TABLE IF NOT EXISTS entities (
|
|
13
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
14
|
+
name TEXT NOT NULL UNIQUE,
|
|
15
|
+
type TEXT NOT NULL,
|
|
16
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
17
|
+
metadata JSON
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
CREATE TABLE IF NOT EXISTS observations (
|
|
21
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
22
|
+
entity_id INTEGER NOT NULL,
|
|
23
|
+
content TEXT NOT NULL,
|
|
24
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
25
|
+
FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
CREATE TABLE IF NOT EXISTS relations (
|
|
29
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
30
|
+
from_entity_id INTEGER NOT NULL,
|
|
31
|
+
to_entity_id INTEGER NOT NULL,
|
|
32
|
+
relation_type TEXT NOT NULL,
|
|
33
|
+
metadata JSON,
|
|
34
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
35
|
+
FOREIGN KEY (from_entity_id) REFERENCES entities(id) ON DELETE CASCADE,
|
|
36
|
+
FOREIGN KEY (to_entity_id) REFERENCES entities(id) ON DELETE CASCADE,
|
|
37
|
+
UNIQUE(from_entity_id, to_entity_id, relation_type)
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
CREATE TABLE IF NOT EXISTS tags (
|
|
41
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
42
|
+
entity_id INTEGER NOT NULL,
|
|
43
|
+
tag TEXT NOT NULL,
|
|
44
|
+
FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
CREATE INDEX IF NOT EXISTS idx_tags_entity ON tags(entity_id);
|
|
48
|
+
CREATE INDEX IF NOT EXISTS idx_tags_tag ON tags(tag);
|
|
49
|
+
DELETE FROM tags
|
|
50
|
+
WHERE id NOT IN (
|
|
51
|
+
SELECT MIN(id)
|
|
52
|
+
FROM tags
|
|
53
|
+
GROUP BY entity_id, tag
|
|
54
|
+
);
|
|
55
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_tags_entity_tag_unique ON tags(entity_id, tag);
|
|
56
|
+
CREATE INDEX IF NOT EXISTS idx_observations_entity ON observations(entity_id);
|
|
57
|
+
CREATE INDEX IF NOT EXISTS idx_relations_from ON relations(from_entity_id);
|
|
58
|
+
CREATE INDEX IF NOT EXISTS idx_relations_to ON relations(to_entity_id);
|
|
59
|
+
|
|
60
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS entities_fts USING fts5(
|
|
61
|
+
name, observations, content='',
|
|
62
|
+
tokenize='unicode61 remove_diacritics 1'
|
|
63
|
+
);
|
|
64
|
+
`;
|
|
65
|
+
|
|
66
|
+
let input = '';
|
|
67
|
+
process.stdin.setEncoding('utf8');
|
|
68
|
+
process.stdin.on('data', (chunk) => { input += chunk; });
|
|
69
|
+
process.stdin.on('end', () => {
|
|
99
70
|
try {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
//
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
const
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
71
|
+
const data = JSON.parse(input);
|
|
72
|
+
|
|
73
|
+
// Only process Bash tool outputs
|
|
74
|
+
if (data.tool_name !== 'Bash') return exit0();
|
|
75
|
+
const toolOutput = typeof data.tool_output === 'string'
|
|
76
|
+
? data.tool_output
|
|
77
|
+
: JSON.stringify(data.tool_output || '');
|
|
78
|
+
|
|
79
|
+
// Detect git commit in output
|
|
80
|
+
// Pattern: [branch hash] commit message
|
|
81
|
+
const commitMatch = toolOutput.match(/\[[\w/.-]+ ([a-f0-9]{7,})\] (.+)/);
|
|
82
|
+
if (!commitMatch) return exit0();
|
|
83
|
+
|
|
84
|
+
const branchMatch = commitMatch[0].match(/^\[([^\s]+)\s/);
|
|
85
|
+
const branch = branchMatch ? branchMatch[1] : 'unknown';
|
|
86
|
+
|
|
87
|
+
const commitHash = commitMatch[1];
|
|
88
|
+
const commitMsg = commitMatch[2];
|
|
89
|
+
const projectName = basename(data.cwd || process.cwd());
|
|
90
|
+
|
|
91
|
+
// Open database (create dir if needed)
|
|
92
|
+
const dbPath = process.env.MEMESH_DB_PATH || join(homedir(), '.memesh', 'knowledge-graph.db');
|
|
93
|
+
const dbDir = process.env.MEMESH_DB_PATH
|
|
94
|
+
? join(process.env.MEMESH_DB_PATH, '..')
|
|
95
|
+
: join(homedir(), '.memesh');
|
|
96
|
+
if (!existsSync(dbDir)) mkdirSync(dbDir, { recursive: true });
|
|
97
|
+
|
|
98
|
+
const Database = require('better-sqlite3');
|
|
99
|
+
const db = new Database(dbPath);
|
|
100
|
+
try {
|
|
101
|
+
db.pragma('journal_mode = WAL');
|
|
102
|
+
db.pragma('foreign_keys = ON');
|
|
103
|
+
|
|
104
|
+
// Ensure schema exists
|
|
105
|
+
db.exec(SCHEMA_SQL);
|
|
106
|
+
|
|
107
|
+
const entityName = `commit-${commitHash}`;
|
|
108
|
+
|
|
109
|
+
// Check if this is a new or existing entity
|
|
110
|
+
const insertResult = db.prepare('INSERT OR IGNORE INTO entities (name, type) VALUES (?, ?)').run(entityName, 'commit');
|
|
111
|
+
const isNew = insertResult.changes > 0;
|
|
112
|
+
const entity = db.prepare('SELECT id FROM entities WHERE name = ?').get(entityName);
|
|
113
|
+
if (entity) {
|
|
114
|
+
// Capture existing observations for FTS delete (before inserting new one)
|
|
115
|
+
const prevObs = isNew
|
|
116
|
+
? []
|
|
117
|
+
: db.prepare('SELECT content FROM observations WHERE entity_id = ?').all(entity.id);
|
|
118
|
+
const prevObsText = isNew ? undefined : prevObs.map(o => o.content).join(' ');
|
|
119
|
+
|
|
120
|
+
// Add observations
|
|
121
|
+
db.prepare('INSERT INTO observations (entity_id, content) VALUES (?, ?)').run(entity.id, commitMsg);
|
|
122
|
+
db.prepare('INSERT INTO observations (entity_id, content) VALUES (?, ?)').run(entity.id, `Branch: ${branch}`);
|
|
123
|
+
|
|
124
|
+
// Add richer diff stats as an observation (backward compatible — failures are silently ignored)
|
|
125
|
+
try {
|
|
126
|
+
const stat = execFileSync('git', ['show', '--stat', '--format=', commitHash], {
|
|
127
|
+
cwd: data.cwd || process.cwd(),
|
|
128
|
+
encoding: 'utf8',
|
|
129
|
+
timeout: 5000,
|
|
130
|
+
}).trim();
|
|
131
|
+
if (stat) {
|
|
132
|
+
// Last non-empty line is the summary, e.g. "3 files changed, 45 insertions(+), 12 deletions(-)"
|
|
133
|
+
const statLines = stat.split('\n').filter(l => l.trim());
|
|
134
|
+
const summary = statLines[statLines.length - 1]?.trim() || '';
|
|
135
|
+
if (summary) {
|
|
136
|
+
db.prepare('INSERT INTO observations (entity_id, content) VALUES (?, ?)').run(entity.id, `Diff stats: ${summary}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
} catch {
|
|
140
|
+
// git show failed — no diff stats recorded, existing behavior unchanged
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Add project tag
|
|
144
|
+
const projectTag = `project:${projectName}`;
|
|
145
|
+
db.prepare('INSERT OR IGNORE INTO tags (entity_id, tag) VALUES (?, ?)').run(entity.id, projectTag);
|
|
146
|
+
|
|
147
|
+
// Update FTS index — delete old entry first if entity existed
|
|
148
|
+
if (prevObsText !== undefined) {
|
|
149
|
+
db.prepare("INSERT INTO entities_fts(entities_fts, rowid, name, observations) VALUES('delete', ?, ?, ?)").run(entity.id, entityName, prevObsText);
|
|
150
|
+
}
|
|
151
|
+
// Fetch all observations (including the one just added) for the new FTS entry
|
|
152
|
+
const allObs = db.prepare('SELECT content FROM observations WHERE entity_id = ?').all(entity.id);
|
|
153
|
+
const allObsText = allObs.map(o => o.content).join(' ');
|
|
154
|
+
db.prepare('INSERT INTO entities_fts(rowid, name, observations) VALUES(?, ?, ?)').run(entity.id, entityName, allObsText);
|
|
143
155
|
}
|
|
156
|
+
} finally {
|
|
157
|
+
db.close();
|
|
144
158
|
}
|
|
145
|
-
|
|
146
|
-
//
|
|
147
|
-
|
|
148
|
-
hash: shortHash,
|
|
149
|
-
fullHash: hash,
|
|
150
|
-
filesCount: filesChanged.length,
|
|
151
|
-
source: 'post-commit-hook',
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
const tags = ['commit', 'auto-tracked', `date:${getDateString()}`, 'scope:project'];
|
|
155
|
-
|
|
156
|
-
const entityId = sqliteBatchEntity(
|
|
157
|
-
MEMESH_DB_PATH,
|
|
158
|
-
{ name: entityName, type: 'commit', metadata },
|
|
159
|
-
observations,
|
|
160
|
-
tags
|
|
161
|
-
);
|
|
162
|
-
|
|
163
|
-
if (entityId === null) return false;
|
|
164
|
-
|
|
165
|
-
logMemorySave(`Commit saved: ${shortHash} - ${subject} (${filesChanged.length} files)`);
|
|
166
|
-
return true;
|
|
167
|
-
} catch (error) {
|
|
168
|
-
logError('saveCommitToKG', error);
|
|
169
|
-
return false;
|
|
159
|
+
} catch (err) {
|
|
160
|
+
// Never crash Claude Code — but leave a trace for debugging
|
|
161
|
+
try { process.stderr.write(`[memesh post-commit] ${err?.message || err}\n`); } catch {}
|
|
170
162
|
}
|
|
171
|
-
}
|
|
163
|
+
console.log(JSON.stringify({ suppressOutput: true }));
|
|
164
|
+
exit0();
|
|
165
|
+
});
|
|
172
166
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
// ============================================================================
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Match commit to active plan steps and update progress.
|
|
179
|
-
* Prints Style B timeline to stderr (visible to user).
|
|
180
|
-
* @param {Object} commitInfo - Commit details from git
|
|
181
|
-
* @param {boolean} commitEntitySaved - Whether commit entity was saved to KG
|
|
182
|
-
*/
|
|
183
|
-
function updatePlanProgress(commitInfo, commitEntitySaved = false) {
|
|
184
|
-
try {
|
|
185
|
-
const activePlans = queryActivePlans(MEMESH_DB_PATH);
|
|
186
|
-
if (activePlans.length === 0) return;
|
|
187
|
-
|
|
188
|
-
const { hash, subject, filesChanged } = commitInfo;
|
|
189
|
-
const shortHash = hash.substring(0, 7);
|
|
190
|
-
const commitEntityName = `Commit ${shortHash}: ${subject}`;
|
|
191
|
-
|
|
192
|
-
for (const plan of activePlans) {
|
|
193
|
-
const stepsDetail = plan.metadata?.stepsDetail;
|
|
194
|
-
if (!stepsDetail || stepsDetail.length === 0) continue;
|
|
195
|
-
|
|
196
|
-
const matchResult = matchCommitToStep(
|
|
197
|
-
{ subject, filesChanged },
|
|
198
|
-
stepsDetail
|
|
199
|
-
);
|
|
200
|
-
|
|
201
|
-
if (!matchResult) continue;
|
|
202
|
-
|
|
203
|
-
const { step: matched, confidence } = matchResult;
|
|
204
|
-
|
|
205
|
-
// Update step as completed
|
|
206
|
-
const updatedSteps = stepsDetail.map(s =>
|
|
207
|
-
s.number === matched.number
|
|
208
|
-
? { ...s, completed: true, commitHash: shortHash, date: getDateString(), confidence }
|
|
209
|
-
: s
|
|
210
|
-
);
|
|
211
|
-
const rawCompleted = updatedSteps.filter(s => s.completed).length;
|
|
212
|
-
const newCompleted = Math.min(rawCompleted, plan.metadata.totalSteps);
|
|
213
|
-
|
|
214
|
-
// Update entity metadata
|
|
215
|
-
updateEntityMetadata(MEMESH_DB_PATH, plan.name, {
|
|
216
|
-
...plan.metadata,
|
|
217
|
-
completed: newCompleted,
|
|
218
|
-
stepsDetail: updatedSteps,
|
|
219
|
-
status: newCompleted >= plan.metadata.totalSteps ? 'completed' : 'active',
|
|
220
|
-
});
|
|
221
|
-
|
|
222
|
-
// Add completion observation
|
|
223
|
-
addObservation(MEMESH_DB_PATH, plan.name,
|
|
224
|
-
`\u2705 Step ${matched.number} completed by ${shortHash} (${getDateString()})`
|
|
225
|
-
);
|
|
226
|
-
|
|
227
|
-
// Create relation: commit → plan (only if commit entity exists in KG)
|
|
228
|
-
if (commitEntitySaved) {
|
|
229
|
-
createRelation(MEMESH_DB_PATH, commitEntityName, plan.name, 'depends_on');
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
// If all steps completed, swap tag and create lesson_learned
|
|
233
|
-
if (newCompleted === plan.metadata.totalSteps) {
|
|
234
|
-
updateEntityTag(MEMESH_DB_PATH, plan.name, 'active', 'completed');
|
|
235
|
-
addObservation(MEMESH_DB_PATH, plan.name,
|
|
236
|
-
`\ud83c\udf89 Plan completed on ${getDateString()}`
|
|
237
|
-
);
|
|
238
|
-
|
|
239
|
-
// Auto-create lesson_learned entity for the completed plan
|
|
240
|
-
const planName = plan.name.replace('Plan: ', '');
|
|
241
|
-
const completedSteps = updatedSteps.filter(s => s.completed);
|
|
242
|
-
const lessonObs = [
|
|
243
|
-
`Plan "${planName}" completed (${plan.metadata.totalSteps} steps)`,
|
|
244
|
-
`Steps: ${completedSteps.map(s => s.description).join(', ')}`,
|
|
245
|
-
`Commits: ${completedSteps.filter(s => s.commitHash).map(s => s.commitHash).join(', ')}`,
|
|
246
|
-
];
|
|
247
|
-
sqliteBatchEntity(MEMESH_DB_PATH,
|
|
248
|
-
{ name: `Lesson: ${planName} completed`, type: 'lesson_learned', metadata: '{}' },
|
|
249
|
-
lessonObs,
|
|
250
|
-
['lesson', 'plan-completion', `plan:${planName}`, 'scope:project']
|
|
251
|
-
);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
// Print timeline to stderr (visible to user — stdout goes to transcript)
|
|
255
|
-
const timelinePlan = {
|
|
256
|
-
...plan,
|
|
257
|
-
metadata: { ...plan.metadata, completed: newCompleted, stepsDetail: updatedSteps },
|
|
258
|
-
_lastCommit: shortHash,
|
|
259
|
-
_matchConfidence: confidence,
|
|
260
|
-
};
|
|
261
|
-
console.error('\n' + renderTimeline(timelinePlan, matched.number) + '\n');
|
|
262
|
-
|
|
263
|
-
logMemorySave(`Plan progress: ${plan.name} ${newCompleted}/${plan.metadata.totalSteps}`);
|
|
264
|
-
}
|
|
265
|
-
} catch (error) {
|
|
266
|
-
logError('updatePlanProgress', error);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
// ============================================================================
|
|
271
|
-
// Main
|
|
272
|
-
// ============================================================================
|
|
273
|
-
|
|
274
|
-
async function postCommit() {
|
|
275
|
-
try {
|
|
276
|
-
const input = await readStdin(3000);
|
|
277
|
-
if (!input || input.trim() === '') {
|
|
278
|
-
process.exit(0);
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
const rawData = JSON.parse(input);
|
|
282
|
-
const toolData = {
|
|
283
|
-
toolName: rawData.tool_name || rawData.toolName || 'unknown',
|
|
284
|
-
arguments: rawData.tool_input || rawData.arguments || {},
|
|
285
|
-
success: rawData.success !== false,
|
|
286
|
-
};
|
|
287
|
-
|
|
288
|
-
// Only act on successful git commits
|
|
289
|
-
if (!isGitCommit(toolData)) {
|
|
290
|
-
process.exit(0);
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
// Extract commit info and save
|
|
294
|
-
const commitInfo = getLatestCommitInfo();
|
|
295
|
-
if (commitInfo) {
|
|
296
|
-
const saved = saveCommitToKG(commitInfo);
|
|
297
|
-
updatePlanProgress(commitInfo, saved);
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
process.exit(0);
|
|
301
|
-
} catch (error) {
|
|
302
|
-
logError('PostCommit', error);
|
|
303
|
-
process.exit(0); // Never block Claude Code on hook errors
|
|
304
|
-
}
|
|
167
|
+
function exit0() {
|
|
168
|
+
process.exit(0);
|
|
305
169
|
}
|
|
306
|
-
|
|
307
|
-
postCommit();
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { createRequire } from 'module';
|
|
4
|
+
import { homedir } from 'os';
|
|
5
|
+
import { join, basename } from 'path';
|
|
6
|
+
import { existsSync, mkdirSync, readFileSync } from 'fs';
|
|
7
|
+
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
9
|
+
|
|
10
|
+
const SCHEMA_SQL = `
|
|
11
|
+
CREATE TABLE IF NOT EXISTS entities (
|
|
12
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
13
|
+
name TEXT NOT NULL UNIQUE,
|
|
14
|
+
type TEXT NOT NULL,
|
|
15
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
16
|
+
metadata JSON
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
CREATE TABLE IF NOT EXISTS observations (
|
|
20
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
21
|
+
entity_id INTEGER NOT NULL,
|
|
22
|
+
content TEXT NOT NULL,
|
|
23
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
24
|
+
FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
CREATE TABLE IF NOT EXISTS relations (
|
|
28
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
29
|
+
from_entity_id INTEGER NOT NULL,
|
|
30
|
+
to_entity_id INTEGER NOT NULL,
|
|
31
|
+
relation_type TEXT NOT NULL,
|
|
32
|
+
metadata JSON,
|
|
33
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
34
|
+
FOREIGN KEY (from_entity_id) REFERENCES entities(id) ON DELETE CASCADE,
|
|
35
|
+
FOREIGN KEY (to_entity_id) REFERENCES entities(id) ON DELETE CASCADE,
|
|
36
|
+
UNIQUE(from_entity_id, to_entity_id, relation_type)
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
CREATE TABLE IF NOT EXISTS tags (
|
|
40
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
41
|
+
entity_id INTEGER NOT NULL,
|
|
42
|
+
tag TEXT NOT NULL,
|
|
43
|
+
FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
CREATE INDEX IF NOT EXISTS idx_tags_entity ON tags(entity_id);
|
|
47
|
+
CREATE INDEX IF NOT EXISTS idx_tags_tag ON tags(tag);
|
|
48
|
+
DELETE FROM tags
|
|
49
|
+
WHERE id NOT IN (
|
|
50
|
+
SELECT MIN(id)
|
|
51
|
+
FROM tags
|
|
52
|
+
GROUP BY entity_id, tag
|
|
53
|
+
);
|
|
54
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_tags_entity_tag_unique ON tags(entity_id, tag);
|
|
55
|
+
CREATE INDEX IF NOT EXISTS idx_observations_entity ON observations(entity_id);
|
|
56
|
+
CREATE INDEX IF NOT EXISTS idx_relations_from ON relations(from_entity_id);
|
|
57
|
+
CREATE INDEX IF NOT EXISTS idx_relations_to ON relations(to_entity_id);
|
|
58
|
+
|
|
59
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS entities_fts USING fts5(
|
|
60
|
+
name, observations, content='',
|
|
61
|
+
tokenize='unicode61 remove_diacritics 1'
|
|
62
|
+
);
|
|
63
|
+
`;
|
|
64
|
+
|
|
65
|
+
// Timeout guard: always exit within 10 seconds
|
|
66
|
+
const TIMEOUT_MS = 10000;
|
|
67
|
+
const timeoutHandle = setTimeout(() => {
|
|
68
|
+
try { process.stderr.write('[memesh pre-compact] Timed out after 10s\n'); } catch {}
|
|
69
|
+
process.exit(0);
|
|
70
|
+
}, TIMEOUT_MS);
|
|
71
|
+
timeoutHandle.unref();
|
|
72
|
+
|
|
73
|
+
let input = '';
|
|
74
|
+
process.stdin.setEncoding('utf8');
|
|
75
|
+
process.stdin.on('data', (chunk) => { input += chunk; });
|
|
76
|
+
process.stdin.on('end', () => {
|
|
77
|
+
try {
|
|
78
|
+
// Opt-out check
|
|
79
|
+
if (process.env.MEMESH_AUTO_CAPTURE === 'false') {
|
|
80
|
+
return exit0();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const data = JSON.parse(input);
|
|
84
|
+
const sessionId = data.session_id || 'unknown';
|
|
85
|
+
const transcriptPath = data.transcript_path || '';
|
|
86
|
+
const cwd = data.cwd || process.cwd();
|
|
87
|
+
const reason = data.reason || 'auto';
|
|
88
|
+
const projectName = basename(cwd);
|
|
89
|
+
|
|
90
|
+
// Parse transcript to gather insights
|
|
91
|
+
let toolCallCount = 0;
|
|
92
|
+
const editedFiles = new Set();
|
|
93
|
+
|
|
94
|
+
if (transcriptPath && existsSync(transcriptPath)) {
|
|
95
|
+
try {
|
|
96
|
+
const lines = readFileSync(transcriptPath, 'utf8').split('\n');
|
|
97
|
+
for (const line of lines) {
|
|
98
|
+
if (!line.trim()) continue;
|
|
99
|
+
try {
|
|
100
|
+
const entry = JSON.parse(line);
|
|
101
|
+
// Count tool uses from assistant message content blocks
|
|
102
|
+
if (entry.role === 'assistant' && Array.isArray(entry.content)) {
|
|
103
|
+
for (const block of entry.content) {
|
|
104
|
+
if (block.type === 'tool_use') {
|
|
105
|
+
toolCallCount++;
|
|
106
|
+
// Track file edits
|
|
107
|
+
const name = block.name || '';
|
|
108
|
+
if (name === 'Edit' || name === 'Write' || name === 'MultiEdit') {
|
|
109
|
+
const filePath = block.input?.file_path || block.input?.path || '';
|
|
110
|
+
if (filePath) editedFiles.add(basename(filePath));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
} catch {
|
|
116
|
+
// Skip malformed lines
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
} catch {
|
|
120
|
+
// Transcript read failed — proceed with zero counts
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const insightCount = editedFiles.size + (toolCallCount > 0 ? 1 : 0);
|
|
125
|
+
const entityName = `pre-compact-${sessionId}`;
|
|
126
|
+
|
|
127
|
+
// Build observation content
|
|
128
|
+
const obsLines = [`Compaction reason: ${reason}`, `Tool calls: ${toolCallCount}`];
|
|
129
|
+
if (editedFiles.size > 0) {
|
|
130
|
+
obsLines.push(`Files edited: ${Array.from(editedFiles).join(', ')}`);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Open (or create) database
|
|
134
|
+
const dbPath = process.env.MEMESH_DB_PATH || join(homedir(), '.memesh', 'knowledge-graph.db');
|
|
135
|
+
const dbDir = process.env.MEMESH_DB_PATH
|
|
136
|
+
? join(process.env.MEMESH_DB_PATH, '..')
|
|
137
|
+
: join(homedir(), '.memesh');
|
|
138
|
+
if (!existsSync(dbDir)) mkdirSync(dbDir, { recursive: true });
|
|
139
|
+
|
|
140
|
+
const Database = require('better-sqlite3');
|
|
141
|
+
const db = new Database(dbPath);
|
|
142
|
+
try {
|
|
143
|
+
db.pragma('journal_mode = WAL');
|
|
144
|
+
db.pragma('foreign_keys = ON');
|
|
145
|
+
db.exec(SCHEMA_SQL);
|
|
146
|
+
|
|
147
|
+
// Upsert entity
|
|
148
|
+
const insertResult = db.prepare('INSERT OR IGNORE INTO entities (name, type) VALUES (?, ?)').run(entityName, 'session-summary');
|
|
149
|
+
const isNew = insertResult.changes > 0;
|
|
150
|
+
const entity = db.prepare('SELECT id FROM entities WHERE name = ?').get(entityName);
|
|
151
|
+
|
|
152
|
+
if (entity) {
|
|
153
|
+
// Capture existing observations for FTS delete
|
|
154
|
+
const prevObs = isNew
|
|
155
|
+
? []
|
|
156
|
+
: db.prepare('SELECT content FROM observations WHERE entity_id = ?').all(entity.id);
|
|
157
|
+
const prevObsText = isNew ? undefined : prevObs.map(o => o.content).join(' ');
|
|
158
|
+
|
|
159
|
+
// Insert each observation line
|
|
160
|
+
for (const line of obsLines) {
|
|
161
|
+
db.prepare('INSERT INTO observations (entity_id, content) VALUES (?, ?)').run(entity.id, line);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// Add tags
|
|
165
|
+
const tags = ['source:auto-capture', 'urgency:pre-compact', `project:${projectName}`];
|
|
166
|
+
for (const tag of tags) {
|
|
167
|
+
db.prepare('INSERT OR IGNORE INTO tags (entity_id, tag) VALUES (?, ?)').run(entity.id, tag);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// Update FTS
|
|
171
|
+
if (prevObsText !== undefined) {
|
|
172
|
+
db.prepare("INSERT INTO entities_fts(entities_fts, rowid, name, observations) VALUES('delete', ?, ?, ?)").run(entity.id, entityName, prevObsText);
|
|
173
|
+
}
|
|
174
|
+
const allObs = db.prepare('SELECT content FROM observations WHERE entity_id = ?').all(entity.id);
|
|
175
|
+
const allObsText = allObs.map(o => o.content).join(' ');
|
|
176
|
+
db.prepare('INSERT INTO entities_fts(rowid, name, observations) VALUES(?, ?, ?)').run(entity.id, entityName, allObsText);
|
|
177
|
+
}
|
|
178
|
+
} finally {
|
|
179
|
+
db.close();
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
const hookOutput = {
|
|
183
|
+
hookSpecificOutput: {
|
|
184
|
+
hookEventName: 'PreCompact',
|
|
185
|
+
additionalContext: `Saved ${insightCount} insights to MeMesh before compaction`,
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
console.log(JSON.stringify(hookOutput));
|
|
189
|
+
} catch (err) {
|
|
190
|
+
// Hooks must never crash Claude Code — exit cleanly
|
|
191
|
+
try { process.stderr.write(`[memesh pre-compact] ${err?.message || err}\n`); } catch {}
|
|
192
|
+
}
|
|
193
|
+
exit0();
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
function exit0() {
|
|
197
|
+
process.exit(0);
|
|
198
|
+
}
|