dis-gravity 1.1.0 → 1.2.5
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/.gitlab-ci.yml +9 -0
- package/.mcpbignore +20 -0
- package/README.md +471 -313
- package/SECURITY.md +105 -0
- package/bin/dis-gravity.js +1199 -702
- package/changelog.md +98 -0
- package/dist/extension.js +5630 -3610
- package/lib/core.js +1712 -0
- package/lib/onboarding.js +512 -0
- package/manifest.json +115 -0
- package/mcp/server.js +2174 -0
- package/media/mcp-icon.png +0 -0
- package/package.json +71 -16
- package/scripts/package-mcpb.js +29 -0
package/changelog.md
CHANGED
|
@@ -1,5 +1,103 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.2.5] — 2026-11-08
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- Switched README logo and demo GIF assets to absolute GitLab raw URLs so they render reliably on npmjs.com and third-party package indexes.
|
|
7
|
+
|
|
8
|
+
## [1.2.4] — 2026-11-04
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- 🚀 **Mission Control Home Cockpit (`/home`, `!home`, `/dash`)**:
|
|
12
|
+
- Interactive, permanent single-embed remote dashboard providing a comprehensive view of workspace health, git branch status, active IDE document, agent engine, reasoning model, and system hardware telemetry.
|
|
13
|
+
- Multi-row interactive action buttons: `[ 🚀 Prompt Modal ]`, `[ 🧪 Run Tests ]`, `[ 🌿 Git Diff ]`, `[ 📂 Workspaces ]`, `[ 💬 New Chat ]`, `[ 🎮 Palette ]`, `[ ⚡ Models ]`, and `[ 🔄 Refresh ]`.
|
|
14
|
+
- ⚡ **Contextual Next-Action Predictor Bars**:
|
|
15
|
+
- Automatically appends smart contextual action rows to execution results, eliminating mobile typing friction.
|
|
16
|
+
- After `/sh` fails: 1-tap `[ 🐞 Ask AI to Fix ]` (diagnoses stderr and requests targeted fix), `[ 🔄 Rerun ]`, `[ ⚡ Git Diff ]`.
|
|
17
|
+
- After `/sh` succeeds: `[ 📊 Git Status ]`, `[ 🚀 Commit & Push ]`, `[ 🔄 Rerun ]`.
|
|
18
|
+
- After `/diff`: `[ 🤖 Review with AI ]`, `[ ➕ Stage All ]`, `[ 🚀 Commit ]`, `[ ↩️ Revert Changes ]`.
|
|
19
|
+
- After `/cat`: `[ ✏️ Edit with AI ]`, `[ ⚡ Git Diff ]`.
|
|
20
|
+
- 🖼️ **2x Retina Visual Diff PNG Cards**:
|
|
21
|
+
- Extends Dis-Gravity's zero-dependency headless Chromium visual engine with `renderDiffToPng`.
|
|
22
|
+
- Converts unified git diffs into high-DPI dark-mode PNG image cards with line-number gutters, green tinted addition lines, red tinted deletion lines, and monospace styling, completely overcoming mobile Discord code wrapping.
|
|
23
|
+
- 🧵 **Autonomous Task Thread Isolation (`autoThreadTasks`)**:
|
|
24
|
+
- Automatically creates a dedicated Discord thread (e.g. `🧠 Planning Mode: Build Auth Service`) for long-running autonomous tasks (`/plan`, `/goal`, `/grill`), streaming live steps inside the thread and leaving the main channel pristine.
|
|
25
|
+
- 🎙️ **Voicecoding 2.0 Guard & Safety Countdown**:
|
|
26
|
+
- Added preview confirmation cards for transcribed Discord mobile voice notes.
|
|
27
|
+
- Includes a 4-second auto-execute countdown with `[ ⚡ Confirm & Run ]`, `[ ✏️ Edit Prompt ]`, and `[ 🛑 Cancel ]` buttons.
|
|
28
|
+
- Automatically pauses auto-countdown if high-risk destructive operations (`rm -rf`, `git reset --hard`, `drop table`, `del /f`) are detected.
|
|
29
|
+
- 📝 **Discord Native Mobile Modals**:
|
|
30
|
+
- `modal:custom_prompt`: Ergonomic multi-line modal dialog for drafting long coding prompts comfortably on mobile.
|
|
31
|
+
- `modal:git_commit`: 1-tap commit message modal with optional push toggle.
|
|
32
|
+
- 🔔 **Urgent Push Mention on Action Approvals (`urgentMentionOnApproval`)**:
|
|
33
|
+
- Pings the authorized Discord user ID (`<@userId>`) when the AI agent is blocked waiting for human approval, triggering native mobile vibration and push alerts.
|
|
34
|
+
- ↩️ **1-Tap Rollback & Workspace Checkpoints**:
|
|
35
|
+
- Automatic git stash checkpoints before file modifications with interactive `[ ↩️ Revert Changes ]` button for instant, risk-free rollbacks.
|
|
36
|
+
|
|
37
|
+
## [1.2.3] — 2026-10-28
|
|
38
|
+
|
|
39
|
+
### Added
|
|
40
|
+
- 📱 **Mobile IDE Connection & Control SEO Architecture**:
|
|
41
|
+
- Full landing page overhaul targeting *"how can I connect my IDE to mobile"* and *"how to control IDE with mobile"*.
|
|
42
|
+
- Step-by-step Google Featured Snippet numbered guide (`#how-to-connect`).
|
|
43
|
+
- Google Schema.org `HowTo` and `FAQPage` JSON-LD graphs with exact-match search queries.
|
|
44
|
+
- Mobile control capability matrix (`#how-to-control`) highlighting 1-tap 38ms approvals, remote `/sh` terminal, and real-time step streaming.
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
- 🛡️ **Action Approval Button Resolution & Interaction Reliability**:
|
|
48
|
+
- **Radio Option Priority in Prompt Dialogs**: Restructured `answerPrompt` to evaluate multi-choice radio options before generic action buttons, preventing false "Submit" clicks when radio options are present.
|
|
49
|
+
- **Prompt Button State Bypass**: Removed blocking `this.state !== "idle"` check in prompt button handler, allowing immediate 38ms DOM clicks even during background processing.
|
|
50
|
+
- **False-Positive Prompt Elimination**: Scoped `getActivePrompt` and `answerPrompt` strictly to modal dialogs (`[role="dialog"]`, `.monaco-dialog-box`, `.modal-container`, `.notification-toast`, and approval cards), filtering out status bar indicators ("0" with aria "No Problems"), accessibility elements ("No more older messages"), and chat input stop/cancel buttons ("Cancel (Ctrl+D)").
|
|
51
|
+
- **Graceful Busy Agent Message Queueing**: Eliminated `Error: Inject failed: agent_busy` crash when messages are sent while the IDE agent is active. Incoming Discord messages are now queued with position status notifications and dispatched automatically once the IDE agent completes its task.
|
|
52
|
+
- **Browser & Action Approval Dialog Matching**: Enhanced `getActivePrompt` and `answerPrompt` to reliably capture and interact with modal approval dialogs (`[role="dialog"]`, `.monaco-dialog-box`, and dialog buttons) including `Always Allow`, `Deny`, `Allow`, `Cancel`, `Proceed`, `Run`, and `Skip`.
|
|
53
|
+
- **Numeric & Clean Text Button Mapping**: Normalized button labels to strip leading emojis/icons, ensuring both direct Discord button clicks (`Always Allow`, `Deny`) and numbered chat replies (`1`, `2`) resolve accurately without index offset drift.
|
|
54
|
+
- **Session Preservation on Prompt Response**: Added `isPromptResponse` flag to prevent `processMessage` from triggering `createNewConversation()` when answering prompt approvals in the main channel, preserving pending prompts and active sessions.
|
|
55
|
+
- **Multi-Choice Radio Value Mapping**: Extended `answerPrompt` to check option IDs, option values, radio values, and label text for seamless selection on complex question prompts.
|
|
56
|
+
- **Unblocked MCP & Claude Desktop Responses**: Restructured `nU` response filter to prevent false-positive drops on legitimate assistant messages mentioning `mcpServers`, Claude Desktop configuration, or tokens. Constrained boilerplate filtering strictly to short (< 300 chars) exact IDE dialog headers, preserving markdown code blocks and explanations.
|
|
57
|
+
- **Silent Drop Elimination**: Added defensive fallback logging and notice dispatch in `processMessage` so mobile Discord users are never left hanging if response filtering triggers.
|
|
58
|
+
|
|
59
|
+
## [1.2.2] — 2026-10-27
|
|
60
|
+
|
|
61
|
+
### Added
|
|
62
|
+
- 🪄 **Frictionless Onboarding Engine for Claude Desktop (`.mcpb` / `.dxt`)**:
|
|
63
|
+
- **Zero-Friction Startup Auto-Bootstrap**: When only `bot_token` is provided in Claude Desktop settings, `mcp/server.js` automatically auto-provisions Message Content Intent, inspects bot application, detects joined Discord servers, auto-creates a locked private `#dis-gravity` channel, auto-whitelists the owner's Discord ID, and connects live without requiring manual channel ID copying.
|
|
64
|
+
- **New MCP Tool `setup_discord_bridge`**: Enables configuring Dis-Gravity interactively directly from Claude chat. Validates token format, auto-provisions intents, opens browser OAuth invite if needed, awaits server join, creates `#dis-gravity`, whitelists the owner, and connects live.
|
|
65
|
+
- **Optimized User Configuration**: Updated `manifest.json` marking `channel_id` optional with automatic private channel creation.
|
|
66
|
+
|
|
67
|
+
## [1.2.1] — 2026-10-27
|
|
68
|
+
|
|
69
|
+
### Added
|
|
70
|
+
- 🚀 **Feature Gap Closure between `.vsix` and Claude Desktop `.mcpb` / `.dxt`**:
|
|
71
|
+
- **Concurrent Discord Gateway WebSocket**: Runs `discord.js` directly within Node's event loop in `mcp/server.js`, enabling real-time inbound Discord commands without blocking stdio JSON-RPC.
|
|
72
|
+
- **Discord Remote Slash Commands**: Execute commands directly from Discord into the Claude workspace via `/sh <cmd>`, `/diff`, `/cat <file>`, `/tree`, `/info`, `/status`, and `/help`.
|
|
73
|
+
- **Interactive Status Dashboard Buttons**: Interactive Discord button components (`🔄 Refresh`, `🌿 Git Diff`, `🖥️ System Info`) in `/status` embed replies.
|
|
74
|
+
- **2x Retina PNG Table Cards**: High-DPI table card rendering using host headless browsers (Edge/Chrome) with zero native dependencies, automatically attached to Discord notifications and slash commands.
|
|
75
|
+
- **6 New MCP Tools for Claude Desktop**:
|
|
76
|
+
- `run_workspace_command`: Terminal execution with optional mobile confirmation.
|
|
77
|
+
- `get_git_diff`: Live Git status and unified diff stat streaming.
|
|
78
|
+
- `render_table_card`: Programmatic table-to-image rendering.
|
|
79
|
+
- `read_workspace_file`: Workspace file inspection with path traversal protection.
|
|
80
|
+
- `list_workspace_tree`: Workspace directory structure generator.
|
|
81
|
+
- `get_incoming_messages`: Inbound Discord prompt and instruction queue.
|
|
82
|
+
- **MCP Resources**: Exposed `discord://chat` and `discord://latest-prompt` resources.
|
|
83
|
+
- **Shared Core Engine (`lib/core.js`)**: Modular library for fail-closed security whitelist validation, path traversal firewall, headless rasterization, and hardware telemetry.
|
|
84
|
+
|
|
85
|
+
## [1.2.0] — 2026-10-27
|
|
86
|
+
|
|
87
|
+
### Added
|
|
88
|
+
- 🪄 **Frictionless Guided Onboarding Wizard (`npx dis-gravity setup` / Command Palette: `Dis-Gravity: Run Setup Wizard`)**: Reduces onboarding from ~15 multi-step manual tasks down to a ~60–90 second automated wizard requiring only one manual action: pasting the Discord bot token.
|
|
89
|
+
- ⚡ **Automated Message Content Intent Provisioning**: Dis-Gravity automatically enables `GATEWAY_MESSAGE_CONTENT_LIMITED` (1 << 19) via Discord's REST API (`PATCH /applications/@me`), eliminating the #1 silent setup failure where messages could not be read.
|
|
90
|
+
- 🔐 **VS Code SecretStorage Integration**: Migrated Discord Bot Token storage from plain-text `settings.json` to VS Code `SecretStorage` (`context.secrets`) with automatic zero-loss migration for existing configurations.
|
|
91
|
+
- 🔒 **Automated Private Channel & Security Setup**: Automatically detects server authorization, creates a locked private `#dis-gravity` channel (accessible strictly to the bot and server owner), auto-whitelists the app owner's user ID, and delivers an instant welcome notification.
|
|
92
|
+
- 💾 **CLI Secure Config Management**: Automatically saves and loads credentials in `~/.dis-gravity/config.json` with strict `0600` user-only permissions.
|
|
93
|
+
- ⚡ **Interactive Sidebar Setup Card**: Embedded a one-click setup card in the Dis-Gravity webview panel to launch setup directly from the IDE sidebar.
|
|
94
|
+
- 🧪 **Native Test Suite**: Added zero-dependency automated unit test suite using Node.js native test runner (`node --test`).
|
|
95
|
+
|
|
96
|
+
### Fixed
|
|
97
|
+
- 🐛 **Antigravity IDE Proceed Button DOM Matching**: Fixed an issue where Antigravity IDE confirmation button keyboard shortcut labels (`Proceed\nTab`) failed strict button text regex matching.
|
|
98
|
+
- 🐛 **Discord Action Approval Numeric ID Mapping**: Fixed issue where tapping interactive Discord approval buttons sent numeric option IDs (`optId: "1"`) that failed to resolve against prompt action buttons, preventing plan execution from Discord.
|
|
99
|
+
- 💬 **Seamless Chat Fallback for Custom Prompt Responses**: Added graceful chat injection fallback so custom instructions typed in Discord are seamlessly delivered to the agent rather than erroring out.
|
|
100
|
+
|
|
3
101
|
## [1.1.0] — 2026-10-23
|
|
4
102
|
|
|
5
103
|
### Added
|