@pcircle/memesh 2.10.0 ā 2.11.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 +48 -248
- package/dist/cli/view.d.ts +3 -0
- package/dist/cli/view.d.ts.map +1 -0
- package/dist/cli/view.js +484 -0
- package/dist/cli/view.js.map +1 -0
- package/dist/db.d.ts +5 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +80 -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 +48 -0
- package/dist/knowledge-graph.d.ts.map +1 -0
- package/dist/knowledge-graph.js +186 -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 +33 -319
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +93 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +183 -0
- package/dist/mcp/tools.js.map +1 -0
- package/hooks/hooks.json +1 -41
- package/package.json +8 -91
- package/plugin.json +5 -8
- package/scripts/hooks/post-commit.js +132 -299
- package/scripts/hooks/session-start.js +84 -629
- package/.claude-plugin/plugin.json +0 -15
- 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/core/types.d.ts +0 -66
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -11
- package/dist/core/types.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 -255
- 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/hooks/templates/planning-template.md +0 -46
- package/scripts/postinstall-lib.js +0 -242
- package/scripts/postinstall-new.js +0 -191
- package/skills/comprehensive-code-review/SKILL.md +0 -276
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* SubagentStop Hook - Capture Subagent Results to MeMesh Knowledge Graph
|
|
5
|
-
*
|
|
6
|
-
* Triggered when a subagent finishes execution.
|
|
7
|
-
*
|
|
8
|
-
* Features:
|
|
9
|
-
* - Saves code review findings to MeMesh KG (high-value results)
|
|
10
|
-
* - Tracks code review completion for pre-commit enforcement
|
|
11
|
-
* - Updates session state with subagent activity
|
|
12
|
-
* - Silent operation (no console output)
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
import {
|
|
16
|
-
STATE_DIR,
|
|
17
|
-
MEMESH_DB_PATH,
|
|
18
|
-
readJSONFile,
|
|
19
|
-
writeJSONFile,
|
|
20
|
-
sqliteBatchEntity,
|
|
21
|
-
getDateString,
|
|
22
|
-
readStdin,
|
|
23
|
-
logError,
|
|
24
|
-
logMemorySave,
|
|
25
|
-
} from './hook-utils.js';
|
|
26
|
-
import fs from 'fs';
|
|
27
|
-
import path from 'path';
|
|
28
|
-
|
|
29
|
-
// ============================================================================
|
|
30
|
-
// Constants
|
|
31
|
-
// ============================================================================
|
|
32
|
-
|
|
33
|
-
const CURRENT_SESSION_FILE = path.join(STATE_DIR, 'current-session.json');
|
|
34
|
-
|
|
35
|
-
/** Agent types that count as code review */
|
|
36
|
-
const CODE_REVIEWER_TYPES = [
|
|
37
|
-
'code-reviewer',
|
|
38
|
-
'code-review',
|
|
39
|
-
'superpowers:code-reviewer',
|
|
40
|
-
'pr-review-toolkit:code-reviewer',
|
|
41
|
-
'feature-dev:code-reviewer',
|
|
42
|
-
];
|
|
43
|
-
|
|
44
|
-
// ============================================================================
|
|
45
|
-
// Code Review Detection
|
|
46
|
-
// ============================================================================
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Check if this subagent is a code reviewer
|
|
50
|
-
* @param {string} agentType - Subagent type identifier
|
|
51
|
-
* @returns {boolean}
|
|
52
|
-
*/
|
|
53
|
-
function isCodeReviewer(agentType) {
|
|
54
|
-
if (!agentType) return false;
|
|
55
|
-
const lower = agentType.toLowerCase();
|
|
56
|
-
return CODE_REVIEWER_TYPES.some(t => lower.includes(t.toLowerCase()));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Mark code review as done in session state.
|
|
61
|
-
* This flag is checked by pre-tool-use.js before git commits.
|
|
62
|
-
*/
|
|
63
|
-
function markCodeReviewDone() {
|
|
64
|
-
const session = readJSONFile(CURRENT_SESSION_FILE, {});
|
|
65
|
-
session.codeReviewDone = true;
|
|
66
|
-
session.codeReviewTimestamp = new Date().toISOString();
|
|
67
|
-
writeJSONFile(CURRENT_SESSION_FILE, session);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// ============================================================================
|
|
71
|
-
// MeMesh KG Save
|
|
72
|
-
// ============================================================================
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Save code review results to MeMesh knowledge graph.
|
|
76
|
-
* Only saves code reviewer subagent results (high-value findings).
|
|
77
|
-
*
|
|
78
|
-
* @param {string} agentType - Subagent type
|
|
79
|
-
* @param {string} lastMessage - Agent's final response
|
|
80
|
-
* @returns {boolean} True if saved
|
|
81
|
-
*/
|
|
82
|
-
function saveSubagentToKG(agentType, lastMessage) {
|
|
83
|
-
try {
|
|
84
|
-
if (!fs.existsSync(MEMESH_DB_PATH)) return false;
|
|
85
|
-
if (!lastMessage || lastMessage.length < 50) return false;
|
|
86
|
-
|
|
87
|
-
// Truncate very long messages
|
|
88
|
-
const shortMessage = lastMessage.length > 1000
|
|
89
|
-
? lastMessage.substring(0, 1000) + '...'
|
|
90
|
-
: lastMessage;
|
|
91
|
-
|
|
92
|
-
const entityName = `Code Review: ${getDateString()} ${Date.now()} ${agentType}`;
|
|
93
|
-
const metadata = JSON.stringify({
|
|
94
|
-
agentType,
|
|
95
|
-
messageLength: lastMessage.length,
|
|
96
|
-
source: 'subagent-stop-hook',
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
const tags = [
|
|
100
|
-
'code-review',
|
|
101
|
-
`agent:${agentType}`,
|
|
102
|
-
`date:${getDateString()}`,
|
|
103
|
-
'auto-tracked',
|
|
104
|
-
'scope:project',
|
|
105
|
-
];
|
|
106
|
-
|
|
107
|
-
const entityId = sqliteBatchEntity(
|
|
108
|
-
MEMESH_DB_PATH,
|
|
109
|
-
{ name: entityName, type: 'code_review', metadata },
|
|
110
|
-
[`[${agentType}] ${shortMessage}`],
|
|
111
|
-
tags
|
|
112
|
-
);
|
|
113
|
-
|
|
114
|
-
if (entityId === null) return false;
|
|
115
|
-
|
|
116
|
-
logMemorySave(`Code review saved: ${agentType} (${lastMessage.length} chars)`);
|
|
117
|
-
return true;
|
|
118
|
-
} catch (error) {
|
|
119
|
-
logError('saveSubagentToKG', error);
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// ============================================================================
|
|
125
|
-
// Session State Update
|
|
126
|
-
// ============================================================================
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Track subagent activity in session state
|
|
130
|
-
* @param {string} agentType - Subagent type
|
|
131
|
-
*/
|
|
132
|
-
function trackSubagentInSession(agentType) {
|
|
133
|
-
const session = readJSONFile(CURRENT_SESSION_FILE, { subagents: [] });
|
|
134
|
-
if (!session.subagents) session.subagents = [];
|
|
135
|
-
|
|
136
|
-
session.subagents.push({
|
|
137
|
-
type: agentType,
|
|
138
|
-
completedAt: new Date().toISOString(),
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
// Keep only last 20 subagent entries
|
|
142
|
-
if (session.subagents.length > 20) {
|
|
143
|
-
session.subagents = session.subagents.slice(-20);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
writeJSONFile(CURRENT_SESSION_FILE, session);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// ============================================================================
|
|
150
|
-
// Main
|
|
151
|
-
// ============================================================================
|
|
152
|
-
|
|
153
|
-
async function subagentStop() {
|
|
154
|
-
try {
|
|
155
|
-
const input = await readStdin(3000);
|
|
156
|
-
if (!input || input.trim() === '') {
|
|
157
|
-
process.exit(0);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
const data = JSON.parse(input);
|
|
161
|
-
const agentType = data.agent_type || data.agentType || 'unknown';
|
|
162
|
-
const lastMessage = data.last_assistant_message || data.lastAssistantMessage || '';
|
|
163
|
-
|
|
164
|
-
// Track all subagent completions in session state
|
|
165
|
-
trackSubagentInSession(agentType);
|
|
166
|
-
|
|
167
|
-
// Track code review completion (for pre-commit enforcement)
|
|
168
|
-
if (isCodeReviewer(agentType)) {
|
|
169
|
-
markCodeReviewDone();
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
// Save code reviewer results to MeMesh KG (high-value findings)
|
|
173
|
-
if (isCodeReviewer(agentType) && lastMessage.length > 50) {
|
|
174
|
-
saveSubagentToKG(agentType, lastMessage);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
process.exit(0);
|
|
178
|
-
} catch (error) {
|
|
179
|
-
logError('SubagentStop', error);
|
|
180
|
-
process.exit(0); // Never block on hook errors
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
subagentStop();
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
## Required Plan Sections
|
|
2
|
-
|
|
3
|
-
Your plan MUST include all of the following sections. Incomplete plans will be rejected.
|
|
4
|
-
|
|
5
|
-
### 1. System Design Description (SDD)
|
|
6
|
-
- Component architecture and responsibilities
|
|
7
|
-
- Data flow between components
|
|
8
|
-
- Interface contracts (input/output types)
|
|
9
|
-
- Dependencies and integration points
|
|
10
|
-
|
|
11
|
-
### 2. Behavior-Driven Design (BDD)
|
|
12
|
-
For EACH feature, write Gherkin scenarios:
|
|
13
|
-
|
|
14
|
-
```gherkin
|
|
15
|
-
Scenario: [descriptive name]
|
|
16
|
-
Given [precondition]
|
|
17
|
-
When [action]
|
|
18
|
-
Then [expected outcome]
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Cover: happy path, error path, edge cases.
|
|
22
|
-
|
|
23
|
-
### 3. Edge Case Handling
|
|
24
|
-
|
|
25
|
-
| Edge Case | How Handled | Test Coverage |
|
|
26
|
-
|-----------|------------|---------------|
|
|
27
|
-
| [case] | [strategy] | [yes/no] |
|
|
28
|
-
|
|
29
|
-
Include at minimum: empty input, null/undefined, boundary values, concurrent access, timeout, large data.
|
|
30
|
-
|
|
31
|
-
### 4. Dry-Run Test Plan
|
|
32
|
-
Before dispatching heavy tasks, verify:
|
|
33
|
-
- [ ] Core function compiles (`tsc --noEmit` or `node --check`)
|
|
34
|
-
- [ ] Unit test for critical path passes
|
|
35
|
-
- [ ] Integration point verified with real call
|
|
36
|
-
- [ ] No regressions in existing tests
|
|
37
|
-
|
|
38
|
-
### 5. Risk Assessment
|
|
39
|
-
|
|
40
|
-
| Risk | Probability | Impact | Mitigation |
|
|
41
|
-
|------|------------|--------|------------|
|
|
42
|
-
| [risk] | High/Med/Low | High/Med/Low | [strategy] |
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
**IMPORTANT**: After completing this plan, present it to the user and wait for explicit approval before proceeding to implementation. Do NOT auto-execute.
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Postinstall Library - Core Functions
|
|
3
|
-
*
|
|
4
|
-
* Implements plugin installation logic with backward compatibility
|
|
5
|
-
*/
|
|
6
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync, symlinkSync, unlinkSync, copyFileSync, lstatSync, realpathSync } from 'fs';
|
|
7
|
-
import { join, dirname } from 'path';
|
|
8
|
-
import { homedir } from 'os';
|
|
9
|
-
// ============================================================================
|
|
10
|
-
// Environment Detection
|
|
11
|
-
// ============================================================================
|
|
12
|
-
/**
|
|
13
|
-
* Detect install mode (global vs local dev)
|
|
14
|
-
*/
|
|
15
|
-
export function detectInstallMode(installPath) {
|
|
16
|
-
// Check if path contains 'node_modules' - indicates global install
|
|
17
|
-
if (installPath.includes('node_modules')) {
|
|
18
|
-
return 'global';
|
|
19
|
-
}
|
|
20
|
-
// Check if in project root (has package.json, src/, etc.)
|
|
21
|
-
const hasPackageJson = existsSync(join(installPath, 'package.json'));
|
|
22
|
-
const hasSrcDir = existsSync(join(installPath, 'src'));
|
|
23
|
-
if (hasPackageJson && hasSrcDir) {
|
|
24
|
-
return 'local';
|
|
25
|
-
}
|
|
26
|
-
// Default to global
|
|
27
|
-
return 'global';
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Get plugin install path based on mode
|
|
31
|
-
* @param mode Install mode ('global' or 'local')
|
|
32
|
-
* @param scriptDir Directory where this script is located (for global mode)
|
|
33
|
-
*/
|
|
34
|
-
export function getPluginInstallPath(mode, scriptDir) {
|
|
35
|
-
if (mode === 'local') {
|
|
36
|
-
// Local dev: current working directory
|
|
37
|
-
return process.cwd();
|
|
38
|
-
}
|
|
39
|
-
// Global: use provided scriptDir or fallback to cwd
|
|
40
|
-
// For postinstall script, scriptDir will be the scripts/ directory
|
|
41
|
-
if (scriptDir) {
|
|
42
|
-
return dirname(scriptDir); // Parent of scripts/ directory
|
|
43
|
-
}
|
|
44
|
-
// Fallback: assume we're in the package root
|
|
45
|
-
return process.cwd();
|
|
46
|
-
}
|
|
47
|
-
// ============================================================================
|
|
48
|
-
// File Utilities
|
|
49
|
-
// ============================================================================
|
|
50
|
-
/**
|
|
51
|
-
* Ensure directory exists
|
|
52
|
-
*/
|
|
53
|
-
export function ensureDirectory(path) {
|
|
54
|
-
if (!existsSync(path)) {
|
|
55
|
-
mkdirSync(path, { recursive: true });
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Read JSON file safely
|
|
60
|
-
*/
|
|
61
|
-
export function readJSONFile(path) {
|
|
62
|
-
try {
|
|
63
|
-
if (!existsSync(path)) {
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
const content = readFileSync(path, 'utf-8').trim();
|
|
67
|
-
if (!content) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
return JSON.parse(content);
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
74
|
-
process.stderr.write(`[readJSONFile] Failed to parse ${path}: ${msg}\n`);
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Write JSON file
|
|
80
|
-
*/
|
|
81
|
-
export function writeJSONFile(path, data) {
|
|
82
|
-
ensureDirectory(dirname(path));
|
|
83
|
-
writeFileSync(path, JSON.stringify(data, null, 2) + '\n', 'utf-8');
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Backup file with timestamp
|
|
87
|
-
*/
|
|
88
|
-
export function backupFile(path) {
|
|
89
|
-
if (!existsSync(path)) {
|
|
90
|
-
return null;
|
|
91
|
-
}
|
|
92
|
-
const backupPath = `${path}.backup-${Date.now()}`;
|
|
93
|
-
try {
|
|
94
|
-
copyFileSync(path, backupPath);
|
|
95
|
-
return backupPath;
|
|
96
|
-
}
|
|
97
|
-
catch (error) {
|
|
98
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
99
|
-
process.stderr.write(`[backupFile] Failed to backup ${path}: ${msg}\n`);
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
// ============================================================================
|
|
104
|
-
// Marketplace Registration
|
|
105
|
-
// ============================================================================
|
|
106
|
-
/**
|
|
107
|
-
* Ensure marketplace is registered in known_marketplaces.json
|
|
108
|
-
*/
|
|
109
|
-
export async function ensureMarketplaceRegistered(installPath, claudeDir = join(homedir(), '.claude')) {
|
|
110
|
-
const marketplacesFile = join(claudeDir, 'plugins', 'known_marketplaces.json');
|
|
111
|
-
const marketplacesDir = join(claudeDir, 'plugins', 'marketplaces');
|
|
112
|
-
const symlinkPath = join(marketplacesDir, 'pcircle-ai');
|
|
113
|
-
// Ensure directories exist
|
|
114
|
-
ensureDirectory(join(claudeDir, 'plugins'));
|
|
115
|
-
// Read existing marketplaces or create new
|
|
116
|
-
let marketplaces = readJSONFile(marketplacesFile) || {};
|
|
117
|
-
// If file exists but parse failed, backup and start fresh
|
|
118
|
-
if (existsSync(marketplacesFile) && marketplaces === null) {
|
|
119
|
-
backupFile(marketplacesFile);
|
|
120
|
-
marketplaces = {};
|
|
121
|
-
}
|
|
122
|
-
// Register or update pcircle-ai entry
|
|
123
|
-
marketplaces['pcircle-ai'] = {
|
|
124
|
-
source: {
|
|
125
|
-
source: 'directory',
|
|
126
|
-
path: installPath
|
|
127
|
-
},
|
|
128
|
-
installLocation: symlinkPath,
|
|
129
|
-
lastUpdated: new Date().toISOString()
|
|
130
|
-
};
|
|
131
|
-
// Write back
|
|
132
|
-
writeJSONFile(marketplacesFile, marketplaces);
|
|
133
|
-
}
|
|
134
|
-
// ============================================================================
|
|
135
|
-
// Symlink Management
|
|
136
|
-
// ============================================================================
|
|
137
|
-
/**
|
|
138
|
-
* Ensure symlink exists and points to correct location
|
|
139
|
-
*/
|
|
140
|
-
export async function ensureSymlinkExists(installPath, marketplacesDir) {
|
|
141
|
-
const symlinkPath = join(marketplacesDir, 'pcircle-ai');
|
|
142
|
-
// Ensure marketplaces directory exists
|
|
143
|
-
ensureDirectory(marketplacesDir);
|
|
144
|
-
// Check if symlink exists
|
|
145
|
-
if (existsSync(symlinkPath)) {
|
|
146
|
-
try {
|
|
147
|
-
// Check if it's a symlink
|
|
148
|
-
const stats = lstatSync(symlinkPath);
|
|
149
|
-
if (stats.isSymbolicLink()) {
|
|
150
|
-
// Check if it points to the correct location
|
|
151
|
-
const target = realpathSync(symlinkPath);
|
|
152
|
-
const expectedTarget = realpathSync(installPath);
|
|
153
|
-
if (target === expectedTarget) {
|
|
154
|
-
// Symlink correct, nothing to do
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
// Points to wrong location, remove and recreate
|
|
158
|
-
unlinkSync(symlinkPath);
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
// Not a symlink, remove it
|
|
162
|
-
unlinkSync(symlinkPath);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
catch (error) {
|
|
166
|
-
// Error reading symlink, try to remove and recreate
|
|
167
|
-
try {
|
|
168
|
-
unlinkSync(symlinkPath);
|
|
169
|
-
}
|
|
170
|
-
catch {
|
|
171
|
-
// Ignore errors
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
// Create symlink
|
|
176
|
-
try {
|
|
177
|
-
symlinkSync(installPath, symlinkPath, 'dir');
|
|
178
|
-
}
|
|
179
|
-
catch (error) {
|
|
180
|
-
throw new Error(`Failed to create symlink: ${error.message}`);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
// ============================================================================
|
|
184
|
-
// Plugin Enablement
|
|
185
|
-
// ============================================================================
|
|
186
|
-
/**
|
|
187
|
-
* Ensure plugin is enabled in settings.json
|
|
188
|
-
*/
|
|
189
|
-
export async function ensurePluginEnabled(claudeDir = join(homedir(), '.claude')) {
|
|
190
|
-
const settingsFile = join(claudeDir, 'settings.json');
|
|
191
|
-
// Read existing settings or create new
|
|
192
|
-
let settings = readJSONFile(settingsFile) || {};
|
|
193
|
-
// Ensure enabledPlugins object exists
|
|
194
|
-
if (!settings.enabledPlugins) {
|
|
195
|
-
settings.enabledPlugins = {};
|
|
196
|
-
}
|
|
197
|
-
// Enable memesh plugin
|
|
198
|
-
settings.enabledPlugins['memesh@pcircle-ai'] = true;
|
|
199
|
-
// Write back
|
|
200
|
-
writeJSONFile(settingsFile, settings);
|
|
201
|
-
}
|
|
202
|
-
// ============================================================================
|
|
203
|
-
// Backward Compatibility
|
|
204
|
-
// ============================================================================
|
|
205
|
-
/**
|
|
206
|
-
* Detect and fix legacy installations.
|
|
207
|
-
* Only fixes marketplace, symlink, and plugin enablement.
|
|
208
|
-
* MCP and hooks are handled by the plugin system via .mcp.json and hooks/hooks.json.
|
|
209
|
-
*/
|
|
210
|
-
export async function detectAndFixLegacyInstall(installPath, claudeDir = join(homedir(), '.claude')) {
|
|
211
|
-
const marketplacesFile = join(claudeDir, 'plugins', 'known_marketplaces.json');
|
|
212
|
-
const symlinkPath = join(claudeDir, 'plugins', 'marketplaces', 'pcircle-ai');
|
|
213
|
-
// Check if marketplace registered
|
|
214
|
-
const marketplaces = readJSONFile(marketplacesFile);
|
|
215
|
-
const hasMarketplace = marketplaces && marketplaces['pcircle-ai'];
|
|
216
|
-
// Check if symlink exists
|
|
217
|
-
const hasSymlink = existsSync(symlinkPath);
|
|
218
|
-
// If everything is correct, return ok
|
|
219
|
-
if (hasMarketplace && hasSymlink) {
|
|
220
|
-
return 'ok';
|
|
221
|
-
}
|
|
222
|
-
// Legacy installation detected - fix it
|
|
223
|
-
// Fix marketplace
|
|
224
|
-
if (!hasMarketplace) {
|
|
225
|
-
await ensureMarketplaceRegistered(installPath, claudeDir);
|
|
226
|
-
}
|
|
227
|
-
// Fix symlink
|
|
228
|
-
if (!hasSymlink) {
|
|
229
|
-
await ensureSymlinkExists(installPath, join(claudeDir, 'plugins', 'marketplaces'));
|
|
230
|
-
}
|
|
231
|
-
// Fix plugin enablement
|
|
232
|
-
await ensurePluginEnabled(claudeDir);
|
|
233
|
-
// Clean up legacy MCP config if it exists (plugin system handles MCP now)
|
|
234
|
-
const mcpSettingsFile = join(claudeDir, 'mcp_settings.json');
|
|
235
|
-
const mcpSettings = readJSONFile(mcpSettingsFile);
|
|
236
|
-
if (mcpSettings?.mcpServers?.memesh || mcpSettings?.mcpServers?.['claude-code-buddy']) {
|
|
237
|
-
delete mcpSettings.mcpServers.memesh;
|
|
238
|
-
delete mcpSettings.mcpServers['claude-code-buddy'];
|
|
239
|
-
writeJSONFile(mcpSettingsFile, mcpSettings);
|
|
240
|
-
}
|
|
241
|
-
return 'fixed';
|
|
242
|
-
}
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Post-install script for MeMesh Plugin
|
|
4
|
-
*
|
|
5
|
-
* Following official Claude Code Plugin spec:
|
|
6
|
-
* - MCP servers: handled by plugin system via .mcp.json
|
|
7
|
-
* - Hooks: handled by plugin system via hooks/hooks.json
|
|
8
|
-
* - Skills: auto-discovered by plugin system from skills/
|
|
9
|
-
*
|
|
10
|
-
* This script only does:
|
|
11
|
-
* 1. Detect install mode (global/local)
|
|
12
|
-
* 2. Register marketplace
|
|
13
|
-
* 3. Create symlink
|
|
14
|
-
* 4. Enable plugin
|
|
15
|
-
* 5. Fix legacy installations
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
import { fileURLToPath } from 'url';
|
|
19
|
-
import { dirname, join } from 'path';
|
|
20
|
-
import { homedir } from 'os';
|
|
21
|
-
import chalk from 'chalk';
|
|
22
|
-
import boxen from 'boxen';
|
|
23
|
-
|
|
24
|
-
// Get directory path in ESM
|
|
25
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
26
|
-
const __dirname = dirname(__filename);
|
|
27
|
-
|
|
28
|
-
// Import functions from postinstall-lib.js
|
|
29
|
-
import {
|
|
30
|
-
detectInstallMode,
|
|
31
|
-
getPluginInstallPath,
|
|
32
|
-
ensureMarketplaceRegistered,
|
|
33
|
-
ensureSymlinkExists,
|
|
34
|
-
ensurePluginEnabled,
|
|
35
|
-
detectAndFixLegacyInstall
|
|
36
|
-
} from './postinstall-lib.js';
|
|
37
|
-
|
|
38
|
-
// ============================================================================
|
|
39
|
-
// Main Installation Flow
|
|
40
|
-
// ============================================================================
|
|
41
|
-
|
|
42
|
-
async function main() {
|
|
43
|
-
console.log(chalk.cyan('\nš MeMesh Plugin Installation Starting...\n'));
|
|
44
|
-
|
|
45
|
-
const results = {
|
|
46
|
-
mode: null,
|
|
47
|
-
installPath: null,
|
|
48
|
-
marketplace: false,
|
|
49
|
-
symlink: false,
|
|
50
|
-
pluginEnabled: false,
|
|
51
|
-
legacyFixed: null,
|
|
52
|
-
errors: []
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
try {
|
|
56
|
-
// Step 1: Detect install mode
|
|
57
|
-
// Pass __dirname to getPluginInstallPath for global mode detection
|
|
58
|
-
const installPath = getPluginInstallPath('global', __dirname);
|
|
59
|
-
const mode = detectInstallMode(installPath);
|
|
60
|
-
results.mode = mode;
|
|
61
|
-
results.installPath = installPath;
|
|
62
|
-
|
|
63
|
-
console.log(chalk.dim(` Mode: ${mode}`));
|
|
64
|
-
console.log(chalk.dim(` Path: ${installPath}\n`));
|
|
65
|
-
|
|
66
|
-
const claudeDir = join(homedir(), '.claude');
|
|
67
|
-
const marketplacesDir = join(claudeDir, 'plugins', 'marketplaces');
|
|
68
|
-
|
|
69
|
-
// Step 2: Marketplace Registration
|
|
70
|
-
try {
|
|
71
|
-
await ensureMarketplaceRegistered(installPath, claudeDir);
|
|
72
|
-
results.marketplace = true;
|
|
73
|
-
console.log(chalk.green(' ā
Marketplace registered'));
|
|
74
|
-
} catch (error) {
|
|
75
|
-
results.errors.push(`Marketplace: ${error.message}`);
|
|
76
|
-
console.log(chalk.yellow(` ā ļø Marketplace registration failed (non-fatal)`));
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Step 3: Symlink Creation
|
|
80
|
-
try {
|
|
81
|
-
await ensureSymlinkExists(installPath, marketplacesDir);
|
|
82
|
-
results.symlink = true;
|
|
83
|
-
console.log(chalk.green(' ā
Symlink created'));
|
|
84
|
-
} catch (error) {
|
|
85
|
-
results.errors.push(`Symlink: ${error.message}`);
|
|
86
|
-
console.log(chalk.yellow(` ā ļø Symlink creation failed (non-fatal)`));
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// Step 4: Plugin Enablement
|
|
90
|
-
try {
|
|
91
|
-
await ensurePluginEnabled(claudeDir);
|
|
92
|
-
results.pluginEnabled = true;
|
|
93
|
-
console.log(chalk.green(' ā
Plugin enabled'));
|
|
94
|
-
} catch (error) {
|
|
95
|
-
results.errors.push(`Plugin Enable: ${error.message}`);
|
|
96
|
-
console.log(chalk.yellow(` ā ļø Plugin enablement failed (non-fatal)`));
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// Step 5: Legacy Installation Fix
|
|
100
|
-
try {
|
|
101
|
-
const legacyStatus = await detectAndFixLegacyInstall(installPath, claudeDir);
|
|
102
|
-
results.legacyFixed = legacyStatus;
|
|
103
|
-
|
|
104
|
-
if (legacyStatus === 'fixed') {
|
|
105
|
-
console.log(chalk.green(' ā
Legacy installation upgraded'));
|
|
106
|
-
} else if (legacyStatus === 'ok') {
|
|
107
|
-
console.log(chalk.dim(' ā¹ļø No legacy issues detected'));
|
|
108
|
-
}
|
|
109
|
-
} catch (error) {
|
|
110
|
-
console.log(chalk.dim(' ā¹ļø Legacy check skipped'));
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
} catch (error) {
|
|
114
|
-
console.error(chalk.red('\nā Installation failed:'), error.message);
|
|
115
|
-
console.error(chalk.yellow('\nš” You can configure manually (see instructions below)\n'));
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// ============================================================================
|
|
119
|
-
// Display Installation Summary
|
|
120
|
-
// ============================================================================
|
|
121
|
-
|
|
122
|
-
const allSuccess = results.marketplace && results.symlink && results.pluginEnabled;
|
|
123
|
-
|
|
124
|
-
const statusIcon = allSuccess ? 'ā
' : (results.errors.length > 0 ? 'ā ļø' : 'ā
');
|
|
125
|
-
const statusText = allSuccess
|
|
126
|
-
? chalk.green('Installation Complete!')
|
|
127
|
-
: chalk.yellow('Installation completed with warnings');
|
|
128
|
-
|
|
129
|
-
const message = `
|
|
130
|
-
${chalk.bold(statusIcon + ' ' + statusText)}
|
|
131
|
-
|
|
132
|
-
${chalk.bold('Installation Summary:')}
|
|
133
|
-
${results.marketplace ? 'ā
' : 'ā ļø'} Marketplace: ${results.marketplace ? 'Registered' : 'Failed'}
|
|
134
|
-
${results.symlink ? 'ā
' : 'ā ļø'} Symlink: ${results.symlink ? 'Created' : 'Failed'}
|
|
135
|
-
${results.pluginEnabled ? 'ā
' : 'ā ļø'} Plugin: ${results.pluginEnabled ? 'Enabled' : 'Failed'}
|
|
136
|
-
|
|
137
|
-
${chalk.bold('Plugin Components (auto-managed by Claude Code):')}
|
|
138
|
-
${chalk.cyan('ā¢')} MCP Server: 8 tools (persistent memory, semantic search, task routing)
|
|
139
|
-
${chalk.cyan('ā¢')} Hooks: 6 auto-hooks (session recall, commit tracking, smart routing)
|
|
140
|
-
${chalk.cyan('ā¢')} Skills: Comprehensive code review
|
|
141
|
-
${chalk.cyan('ā¢')} Vector semantic search with ONNX embeddings (runs 100% locally)
|
|
142
|
-
${chalk.cyan('ā¢')} Auto-relation inference in knowledge graph
|
|
143
|
-
|
|
144
|
-
${chalk.bold('Next Steps:')}
|
|
145
|
-
${chalk.yellow('1.')} ${chalk.bold('Restart Claude Code')}
|
|
146
|
-
Completely quit and reopen to load the plugin
|
|
147
|
-
|
|
148
|
-
${chalk.yellow('2.')} ${chalk.bold('Verify Installation')}
|
|
149
|
-
Run: ${chalk.cyan('node scripts/health-check.js')}
|
|
150
|
-
|
|
151
|
-
${chalk.yellow('3.')} ${chalk.bold('Test MeMesh Tools')}
|
|
152
|
-
Ask Claude: ${chalk.italic('"List available MeMesh tools"')}
|
|
153
|
-
|
|
154
|
-
${chalk.bold('Documentation:')}
|
|
155
|
-
${chalk.cyan('ā¢')} User Guide: ${chalk.underline('https://github.com/PCIRCLE-AI/claude-code-buddy/blob/main/docs/USER_GUIDE.md')}
|
|
156
|
-
${chalk.cyan('ā¢')} Commands: ${chalk.underline('https://github.com/PCIRCLE-AI/claude-code-buddy/blob/main/docs/COMMANDS.md')}
|
|
157
|
-
|
|
158
|
-
${results.errors.length > 0 ? chalk.yellow('\nā ļø Warnings:\n ' + results.errors.join('\n ')) : ''}
|
|
159
|
-
|
|
160
|
-
${chalk.dim('Need help? Open an issue: https://github.com/PCIRCLE-AI/claude-code-buddy/issues')}
|
|
161
|
-
`;
|
|
162
|
-
|
|
163
|
-
console.log(
|
|
164
|
-
boxen(message, {
|
|
165
|
-
padding: 1,
|
|
166
|
-
margin: 1,
|
|
167
|
-
borderStyle: 'round',
|
|
168
|
-
borderColor: allSuccess ? 'green' : 'yellow',
|
|
169
|
-
})
|
|
170
|
-
);
|
|
171
|
-
|
|
172
|
-
// Exit with appropriate code
|
|
173
|
-
// Critical failures (plugin registration) ā exit 1
|
|
174
|
-
// Non-critical failures (symlink already exists) ā exit 0
|
|
175
|
-
const hasCriticalFailure = !results.marketplace && !results.symlink;
|
|
176
|
-
const hasPluginFailure = !results.pluginEnabled;
|
|
177
|
-
if (hasCriticalFailure || hasPluginFailure) {
|
|
178
|
-
process.exit(1);
|
|
179
|
-
}
|
|
180
|
-
process.exit(0);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// ============================================================================
|
|
184
|
-
// Execute
|
|
185
|
-
// ============================================================================
|
|
186
|
-
|
|
187
|
-
main().catch((error) => {
|
|
188
|
-
console.error(chalk.red('\nš„ Fatal error during installation:'));
|
|
189
|
-
console.error(error);
|
|
190
|
-
process.exit(1);
|
|
191
|
-
});
|