UNPKG

lanonasis-memory

Version:

Memory as a Service integration - AI-powered memory management with semantic search (Compatible with CLI v3.0.6+)

424 lines (423 loc) 13.5 kB
{ "name": "lanonasis-memory", "displayName": "LanOnasis Memory Assistant", "description": "Memory as a Service integration - AI-powered memory management with semantic search (Compatible with CLI v3.0.6+)", "version": "1.5.7", "publisher": "LanOnasis", "icon": "images/icon.png", "repository": { "type": "git", "url": "https://github.com/lanonasis/lanonasis-maas" }, "engines": { "vscode": "^1.74.0" }, "categories": [ "Other", "Snippets", "Machine Learning", "Data Science" ], "keywords": [ "memory", "ai", "knowledge", "search", "notes", "documentation" ], "activationEvents": [ "onStartupFinished" ], "main": "./out/extension.js", "browser": "./out/extension.js", "capabilities": { "virtualWorkspaces": { "supported": "limited", "description": "Some features may not work without local file system access" }, "untrustedWorkspaces": { "supported": "limited", "description": "API key management and memory creation require workspace trust" } }, "contributes": { "commands": [ { "command": "lanonasis.searchMemory", "title": "Search Memories", "category": "Lanonasis", "icon": "$(search)" }, { "command": "lanonasis.createMemory", "title": "Create Memory from Selection", "category": "Lanonasis", "icon": "$(add)" }, { "command": "lanonasis.createMemoryFromFile", "title": "Create Memory from Current File", "category": "Lanonasis", "icon": "$(file-add)" }, { "command": "lanonasis.authenticate", "title": "Authenticate", "category": "Lanonasis", "icon": "$(key)" }, { "command": "lanonasis.refreshMemories", "title": "Refresh Memories", "category": "Lanonasis", "icon": "$(refresh)" }, { "command": "lanonasis.openMemory", "title": "Open Memory", "category": "Lanonasis" }, { "command": "lanonasis.switchMode", "title": "Switch Gateway/Direct API Mode", "category": "Lanonasis", "icon": "$(settings-gear)" }, { "command": "lanonasis.manageApiKeys", "title": "Manage API Keys", "category": "Lanonasis", "icon": "$(key)" }, { "command": "lanonasis.createProject", "title": "Create API Key Project", "category": "Lanonasis", "icon": "$(folder-library)" }, { "command": "lanonasis.viewProjects", "title": "View API Key Projects", "category": "Lanonasis", "icon": "$(folder-opened)" }, { "command": "lanonasis.showConnectionInfo", "title": "Show Connection Status", "category": "Lanonasis", "icon": "$(info)" }, { "command": "lanonasis.configureApiKey", "title": "Configure Authentication", "category": "Lanonasis", "icon": "$(key)" }, { "command": "lanonasis.clearApiKey", "title": "Clear API Key", "category": "Lanonasis", "icon": "$(trash)" }, { "command": "lanonasis.checkApiKeyStatus", "title": "Check API Key Status", "category": "Lanonasis", "icon": "$(shield)" }, { "command": "lanonasis.testConnection", "title": "Test Connection", "category": "Lanonasis", "icon": "$(plug)" }, { "command": "lanonasis.runDiagnostics", "title": "Run System Diagnostics", "category": "Lanonasis", "icon": "$(checklist)" }, { "command": "lanonasis.showLogs", "title": "Show Extension Logs", "category": "Lanonasis", "icon": "$(output)" } ], "keybindings": [ { "command": "lanonasis.searchMemory", "key": "ctrl+shift+m", "mac": "cmd+shift+m", "when": "editorTextFocus" }, { "command": "lanonasis.createMemory", "key": "ctrl+shift+alt+m", "mac": "cmd+shift+alt+m", "when": "editorHasSelection" }, { "command": "lanonasis.manageApiKeys", "key": "ctrl+shift+k", "mac": "cmd+shift+k", "when": "editorTextFocus" } ], "menus": { "editor/context": [ { "command": "lanonasis.createMemory", "when": "editorHasSelection", "group": "lanonasis" } ], "view/title": [ { "command": "lanonasis.refreshMemories", "when": "view == lanonasisMemories", "group": "navigation" }, { "command": "lanonasis.authenticate", "when": "view == lanonasisMemories && !lanonasis.authenticated", "group": "navigation" }, { "command": "lanonasis.refreshApiKeys", "when": "view == lanonasisApiKeys", "group": "navigation" }, { "command": "lanonasis.createProject", "when": "view == lanonasisApiKeys && lanonasis.authenticated", "group": "navigation" }, { "command": "lanonasis.authenticate", "when": "view == lanonasisApiKeys && !lanonasis.authenticated", "group": "navigation" } ], "view/item/context": [ { "command": "lanonasis.viewProjectDetails", "when": "view == lanonasisApiKeys && viewItem == project", "group": "inline" }, { "command": "lanonasis.createApiKey", "when": "view == lanonasisApiKeys && viewItem == project", "group": "inline" }, { "command": "lanonasis.deleteProject", "when": "view == lanonasisApiKeys && viewItem == project", "group": "inline@2" }, { "command": "lanonasis.viewApiKeyDetails", "when": "view == lanonasisApiKeys && viewItem == apiKey", "group": "inline" }, { "command": "lanonasis.rotateApiKey", "when": "view == lanonasisApiKeys && viewItem == apiKey", "group": "inline@1" }, { "command": "lanonasis.deleteApiKey", "when": "view == lanonasisApiKeys && viewItem == apiKey", "group": "inline@2" } ] }, "viewsContainers": { "activitybar": [ { "id": "lanonasis", "title": "Lanonasis Memory", "icon": "images/icon.svg" } ] }, "views": { "lanonasis": [ { "type": "webview", "id": "lanonasis.sidebar", "name": "Memory Assistant", "icon": "$(brain)", "contextualTitle": "Lanonasis Memory" }, { "type": "tree", "id": "lanonasisMemories", "name": "Memories", "icon": "$(list-tree)", "when": "config.lanonasis.showTreeView" }, { "type": "tree", "id": "lanonasisApiKeys", "name": "API Keys", "icon": "$(key)", "when": "lanonasis.enableApiKeyManagement" } ] }, "viewsWelcome": [ { "view": "lanonasisMemories", "contents": "Welcome to Lanonasis Memory! 🧠\n\nTo get started, you need to authenticate with your Lanonasis account.\n\n[Connect in Browser](command:lanonasis.authenticate?%5B%22oauth%22%5D)\n\n[Enter API Key](command:lanonasis.authenticate?%5B%22apikey%22%5D)\n\n[Get API Key](https://api.lanonasis.com)\n\n---\n\n**What is Lanonasis Memory?**\n\nLanonasis Memory is an AI-powered memory management system that helps you:\n\n• Store and organize knowledge with semantic search\n• Create memories from code selections\n• Find relevant information instantly\n• Manage API keys and projects\n\n**Need Help?**\n\n[View Documentation](https://docs.lanonasis.com)\n[Report Issue](https://github.com/lanonasis/lanonasis-maas/issues)", "when": "!lanonasis.authenticated" }, { "view": "lanonasisApiKeys", "contents": "Welcome to API Key Management! 🔑\n\nAuthenticate to manage your API keys and projects.\n\n[Connect in Browser](command:lanonasis.authenticate?%5B%22oauth%22%5D)\n\n[Enter API Key](command:lanonasis.authenticate?%5B%22apikey%22%5D)", "when": "!lanonasis.authenticated" } ], "configuration": { "title": "Lanonasis Memory", "properties": { "lanonasis.apiUrl": { "type": "string", "default": "https://mcp.lanonasis.com", "markdownDescription": "Lanonasis Memory Service API URL. Change only if using a custom deployment." }, "lanonasis.gatewayUrl": { "type": "string", "default": "https://mcp.lanonasis.com", "markdownDescription": "Onasis Gateway URL for centralized API management. Recommended for most users." }, "lanonasis.useGateway": { "type": "boolean", "default": true, "markdownDescription": "**Recommended**: Use Onasis Gateway for enhanced security and rate limiting." }, "lanonasis.apiKey": { "type": "string", "format": "password", "markdownDescription": "**DEPRECATED**: API keys are now stored securely. Use the authentication command instead. This setting will be removed in a future version.", "deprecationMessage": "API keys are now stored securely using VS Code's SecretStorage. Use the 'Lanonasis: Authenticate' command instead." }, "lanonasis.defaultMemoryType": { "type": "string", "enum": [ "context", "project", "knowledge", "reference", "personal", "workflow" ], "default": "context", "description": "Default memory type for new memories" }, "lanonasis.searchLimit": { "type": "number", "default": 10, "minimum": 1, "maximum": 50, "description": "Maximum number of search results to show" }, "lanonasis.enableAutoCompletion": { "type": "boolean", "default": true, "description": "Enable memory-based code completion suggestions" }, "lanonasis.enableApiKeyManagement": { "type": "boolean", "default": true, "description": "Enable API key management features" }, "lanonasis.defaultEnvironment": { "type": "string", "enum": [ "development", "staging", "production" ], "default": "development", "description": "Default environment for API key management" }, "lanonasis.organizationId": { "type": "string", "description": "Your organization ID for API key management" }, "lanonasis.preferCLI": { "type": "boolean", "default": true, "description": "Prefer CLI integration when @lanonasis/cli v3.0.6+ is available" }, "lanonasis.enableMCP": { "type": "boolean", "default": true, "description": "Enable Model Context Protocol channels when available" }, "lanonasis.cliDetectionTimeout": { "type": "number", "default": 2000, "minimum": 500, "maximum": 10000, "description": "CLI detection timeout in milliseconds" }, "lanonasis.verboseLogging": { "type": "boolean", "default": false, "description": "Enable verbose logging for CLI integration debugging" }, "lanonasis.showPerformanceFeedback": { "type": "boolean", "default": false, "description": "Show brief performance feedback (CLI vs API usage)" }, "lanonasis.showTreeView": { "type": "boolean", "default": false, "description": "Show traditional tree view alongside modern sidebar (for advanced users)" }, "lanonasis.enableLegacyViews": { "type": "boolean", "default": false, "description": "Enable legacy tree providers (Memories/API keys) when you prefer the older explorer views" } } } }, "extensionKind": [ "ui" ], "scripts": { "compile": "tsc -p ./", "watch": "tsc -watch -p ./", "pretest": "npm run compile && npm run lint", "lint": "eslint src --ext ts", "test": "node ./out/test/runTest.js", "package": "npm run compile && vsce package --no-dependencies", "publish": "vsce publish", "build:package": "npm run compile && vsce package --no-dependencies" }, "dependencies": { "@lanonasis/memory-client": "^1.0.0", "zod": "^3.23.8" }, "devDependencies": { "@types/node": "^24.1.0", "@types/vscode": "^1.74.0", "@typescript-eslint/eslint-plugin": "^8.38.0", "@typescript-eslint/parser": "^8.38.0", "@vscode/test-electron": "^2.5.2", "@vscode/vsce": "^3.7.0", "eslint": "^9.32.0", "ts-loader": "^9.5.2", "typescript": "^5.8.3", "webpack": "^5.101.0", "webpack-cli": "^6.0.1" }, "overrides": { "js-yaml": "^4.1.1" } }