LinkSyncServer: - Fix app.py imports, add CORS middleware, lifespan events - Create api/routes.py router aggregator - Create config/settings.py for centralized configuration - Rewrite models/base.py with proper relationships and serialization - Rewrite all API endpoints with real DB integration (auth, links, collections, sync, queries, tags) - Add admin endpoints (user management, stats, audit log) - Complete query parser with recursive descent and proper precedence - Complete query executor with set operations and field filters - Set up Alembic migrations with initial schema - Create web interface (templates, CSS, JS) - Add 42 passing tests (auth, links, collections, queries) - Add deploy.ps1 and deploy.sh scripts - Update README with deployment workflow LinkSyncExtension: - Create utils/api.js (REST client with retries, auth, error handling) - Create utils/sync.js (3 sync modes + conflict detection) - Create utils/collection.js (collection management) - Create utils/query-engine.js (client-side query parser) - Rewrite background.js (sync loop, bookmark events, message routing) - Rewrite popup.js (tabs, settings modal, notifications, CRUD) - Update popup.html (tabbed interface, query builder, modal) - Update popup.css (full redesign) - Create content/content.js (page metadata extraction) - Create options.html/js (dedicated settings page) - Generate icons (48x48, 96x96) - Update manifest.json (host permissions, content scripts, options) - Create AGENTS.md
42 lines
955 B
JSON
42 lines
955 B
JSON
{
|
|
"manifest_version": 2,
|
|
"name": "LinkSync",
|
|
"version": "1.0.0",
|
|
"description": "Sync bookmarks with LinkSyncServer",
|
|
"permissions": [
|
|
"bookmarks",
|
|
"storage",
|
|
"activeTab",
|
|
"tabs",
|
|
"<all_urls>"
|
|
],
|
|
"browser_action": {
|
|
"default_popup": "popup.html",
|
|
"default_icon": {
|
|
"48": "icons/icon-48.png",
|
|
"96": "icons/icon-96.png"
|
|
},
|
|
"default_title": "LinkSync"
|
|
},
|
|
"background": {
|
|
"page": "background.html"
|
|
},
|
|
"content_scripts": [
|
|
{
|
|
"matches": ["<all_urls>"],
|
|
"js": ["content/content.js"],
|
|
"run_at": "document_idle"
|
|
}
|
|
],
|
|
"options_ui": {
|
|
"page": "options.html",
|
|
"open_in_tab": true
|
|
},
|
|
"browser_specific_settings": {
|
|
"gecko": {
|
|
"id": "linksync@example.com",
|
|
"strict_min_version": "109.0"
|
|
}
|
|
}
|
|
}
|