@mobb.ai/cli 1.4.50 → 1.4.51
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/README.md +13 -208
- package/bin/mobbdev.js +10 -0
- package/lib/binary.js +52 -0
- package/package.json +19 -160
- package/.env +0 -10
- package/LICENSE +0 -21
- package/bin/cli.mjs +0 -2
- package/dist/args/commands/upload_ai_blame.d.mts +0 -164
- package/dist/args/commands/upload_ai_blame.mjs +0 -6614
- package/dist/hash_search/index.d.mts +0 -10
- package/dist/hash_search/index.mjs +0 -112
- package/dist/index.d.mts +0 -2
- package/dist/index.mjs +0 -29052
- package/src/features/codeium_intellij/proto/buf/validate/validate.proto +0 -504
- package/src/features/codeium_intellij/proto/exa/auto_cascade_common_pb/auto_cascade_common.proto +0 -81
- package/src/features/codeium_intellij/proto/exa/bug_checker_pb/bug_checker.proto +0 -24
- package/src/features/codeium_intellij/proto/exa/cascade_plugins_pb/cascade_plugins.proto +0 -108
- package/src/features/codeium_intellij/proto/exa/chat_client_server_pb/chat_client_server.proto +0 -56
- package/src/features/codeium_intellij/proto/exa/chat_pb/chat.proto +0 -457
- package/src/features/codeium_intellij/proto/exa/code_edit/code_edit_pb/code_edit.proto +0 -191
- package/src/features/codeium_intellij/proto/exa/codeium_common_pb/codeium_common.proto +0 -3783
- package/src/features/codeium_intellij/proto/exa/context_module_pb/context_module.proto +0 -172
- package/src/features/codeium_intellij/proto/exa/cortex_pb/cortex.proto +0 -3604
- package/src/features/codeium_intellij/proto/exa/diff_action_pb/diff_action.proto +0 -73
- package/src/features/codeium_intellij/proto/exa/extension_server_pb/extension_server.proto +0 -565
- package/src/features/codeium_intellij/proto/exa/index_pb/index.proto +0 -474
- package/src/features/codeium_intellij/proto/exa/knowledge_base_pb/knowledge_base.proto +0 -149
- package/src/features/codeium_intellij/proto/exa/language_server_pb/language_server.proto +0 -2504
- package/src/features/codeium_intellij/proto/exa/opensearch_clients_pb/opensearch_clients.proto +0 -505
- package/src/features/codeium_intellij/proto/exa/product_analytics_pb/product_analytics.proto +0 -31
- package/src/features/codeium_intellij/proto/exa/reactive_component_pb/reactive_component.proto +0 -104
- package/src/features/codeium_intellij/proto/exa/seat_management_pb/seat_management.proto +0 -2349
- package/src/post_install/binary.mjs +0 -89
- package/src/post_install/constants.mjs +0 -2
- package/src/post_install/cx_install.mjs +0 -72
package/README.md
CHANGED
|
@@ -1,216 +1,21 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @mobb.ai/cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[Mobb](https://mobb.ai) CLI (Bugsy) as a standalone binary — no Node.js runtime
|
|
4
|
+
required. Installing this package pulls exactly one platform binary
|
|
5
|
+
(`@mobb.ai/cli-<os>-<arch>`) and puts `mobbdev` on your PATH.
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
[Mobb](https://mobb.ai) is the first vendor-agnostic automatic security vulnerability remediation tool. It ingests SAST results from Checkmarx, CodeQL (GitHub Advanced Security), OpenText Fortify, and Snyk and produces code fixes for developers to review and commit to their code.
|
|
10
|
-
|
|
11
|
-
## What does Bugsy do?
|
|
12
|
-
|
|
13
|
-
Bugsy has two modes - Scan (no SAST report needed) & Analyze (the user needs to provide a pre-generated SAST report from one of the supported SAST tools).
|
|
14
|
-
|
|
15
|
-
Scan
|
|
16
|
-
|
|
17
|
-
- Uses Checkmarx or Snyk CLI tools to run a SAST scan on a given open-source GitHub/GitLab/ADO repo
|
|
18
|
-
- Analyzes the vulnerability report to identify issues that can be remediated automatically
|
|
19
|
-
- Produces the code fixes and redirects the user to the fix report page on the Mobb platform
|
|
20
|
-
|
|
21
|
-
Analyze
|
|
22
|
-
|
|
23
|
-
- Analyzes the a Checkmarx/CodeQL/Fortify/Snyk vulnerability report to identify issues that can be remediated automatically
|
|
24
|
-
- Produces the code fixes and redirects the user to the fix report page on the Mobb platform
|
|
25
|
-
|
|
26
|
-
## Disclaimer
|
|
27
|
-
|
|
28
|
-
This is a community edition version that only analyzes public GitHub repositories. Analyzing private repositories is allowed for a limited amount of time.
|
|
29
|
-
Bugsy does not detect any vulnerabilities in your code, it uses findings detected by the SAST tools mentioned above.
|
|
30
|
-
|
|
31
|
-
## Usage
|
|
32
|
-
|
|
33
|
-
### Command Line Interface
|
|
34
|
-
|
|
35
|
-
You can simply run Bugsy from the command line, using npx:
|
|
36
|
-
|
|
37
|
-
```shell
|
|
38
|
-
npx mobbdev
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
This will show you Bugsy's usage help:
|
|
42
|
-
|
|
43
|
-
```shell
|
|
44
|
-
Bugsy - Trusted, Automatic Vulnerability Fixer 🕵️♂️
|
|
45
|
-
|
|
46
|
-
Usage:
|
|
47
|
-
mobbdev <command> [options]
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
Commands:
|
|
51
|
-
mobbdev scan Scan your code for vulnerabilities, get automated fixes right away.
|
|
52
|
-
mobbdev analyze Provide a vulnerability report and relevant code repository, get automated fixes right away.
|
|
53
|
-
|
|
54
|
-
Options:
|
|
55
|
-
-h, --help Show help [boolean]
|
|
56
|
-
|
|
57
|
-
Examples:
|
|
58
|
-
mobbdev scan -r https://github.com/WebGoat/WebGoat Scan an existing repository
|
|
59
|
-
|
|
60
|
-
Made with ❤️ by Mobb
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
To run a new SAST scan on a repo and get fixes, run the **Bugsy Scan** command. Example:
|
|
64
|
-
|
|
65
|
-
```shell
|
|
66
|
-
npx mobbdev scan --repo https://github.com/mobb-dev/simple-vulnerable-java-project
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
To get fixes for a pre-generated SAST report, run the **Bugsy Analyze** command. Example:
|
|
70
|
-
npx mobbdev analyze --scan-file sast_results.json --repo https://github.com/mobb-dev/simple-vulnerable-java-project
|
|
71
|
-
|
|
72
|
-
Bugsy will automatically generate a fix for each supported vulnerability identified in the results, and refer the developer to review and commit the fixes to their code.
|
|
73
|
-
|
|
74
|
-
To see all the options Bugsy allows, use the Scan or Analyze commands with the -h option:
|
|
75
|
-
|
|
76
|
-
```shell
|
|
77
|
-
npx mobbdev scan -h
|
|
78
|
-
npx mobbdev analyze -h
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### Model Context Protocol (MCP) Server
|
|
82
|
-
|
|
83
|
-
Bugsy can also be used as an MCP server, allowing AI assistants like Claude to automatically scan and fix vulnerabilities in your code repositories.
|
|
84
|
-
|
|
85
|
-
#### Prerequisites
|
|
86
|
-
|
|
87
|
-
1. **API Key**: You need a Mobb API key to use the MCP server functionality
|
|
88
|
-
- Sign up at [mobb.ai](https://app.mobb.ai) to get your API key
|
|
89
|
-
- Set the `API_KEY` environment variable: `export API_KEY=your_api_key_here`
|
|
90
|
-
|
|
91
|
-
2. **Local Git Repository**: The MCP server analyzes git repositories with uncommitted changes
|
|
92
|
-
- Make sure your code is in a local git repository
|
|
93
|
-
- Have some modified, added, or staged files to analyze
|
|
94
|
-
|
|
95
|
-
#### Installation
|
|
96
|
-
|
|
97
|
-
Run mobb-mcp from command line:
|
|
98
|
-
|
|
99
|
-
```shell
|
|
100
|
-
npx mobbdev mcp
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @mobb.ai/cli
|
|
9
|
+
mobbdev --help
|
|
101
10
|
```
|
|
102
11
|
|
|
103
|
-
|
|
12
|
+
Supported platforms: Linux x64, Linux arm64, Windows x64.
|
|
104
13
|
|
|
105
|
-
|
|
106
|
-
|
|
14
|
+
On any other platform (macOS included, for now) use the Node.js package instead —
|
|
15
|
+
same CLI, same commands:
|
|
107
16
|
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
"mcpServers": {
|
|
111
|
-
"mobb-mcp": {
|
|
112
|
-
"command": "npx",
|
|
113
|
-
"args": ["mobbdev", "mcp"],
|
|
114
|
-
"env": {
|
|
115
|
-
"API_KEY": "your_mobb_api_key_here",
|
|
116
|
-
"API_URL": "optional__your_mobb_api_url_here",
|
|
117
|
-
"MVS_AUTO_FIX": "true"
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
17
|
+
```bash
|
|
18
|
+
npx mobbdev --help
|
|
122
19
|
```
|
|
123
20
|
|
|
124
|
-
|
|
125
|
-
- `API_KEY`: Your Mobb API key (required)
|
|
126
|
-
- `API_URL`: Custom Mobb API URL (optional, defaults to https://app.mobb.ai)
|
|
127
|
-
- `MVS_AUTO_FIX`: Override auto-fix setting - set to `"true"` or `"false"` to force enable/disable automatic fix application regardless of user's database setting (optional)
|
|
128
|
-
|
|
129
|
-
#### Usage
|
|
130
|
-
|
|
131
|
-
Once configured, you can use the MCP server through your AI assistant:
|
|
132
|
-
|
|
133
|
-
1. **Ask Claude to scan for vulnerabilities**:
|
|
134
|
-
```
|
|
135
|
-
run a scan with mobb-mcp
|
|
136
|
-
```
|
|
137
|
-
or
|
|
138
|
-
```
|
|
139
|
-
run fix-vulnerabilities mcp tool
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
2. **The MCP server will**:
|
|
143
|
-
- Validate the repository path
|
|
144
|
-
- Check for git changes (modified, added, or staged files)
|
|
145
|
-
- Upload the changed files for analysis
|
|
146
|
-
- Generate automated fixes for detected vulnerabilities
|
|
147
|
-
- Return detailed fix recommendations
|
|
148
|
-
|
|
149
|
-
#### Available MCP Tools
|
|
150
|
-
|
|
151
|
-
- **`fix_vulnerabilities`**: Scans the current code changes and returns fixes for potential vulnerabilities
|
|
152
|
-
- **Parameter**: `path` (string) - The path to the local git repository
|
|
153
|
-
- **Returns**: Detailed vulnerability fixes with code patches and explanations
|
|
154
|
-
|
|
155
|
-
#### Example MCP Workflow
|
|
156
|
-
|
|
157
|
-
1. Make changes to your code
|
|
158
|
-
2. Stage or modify files in git
|
|
159
|
-
3. Ask your AI assistant: "Can you check my code for security vulnerabilities?"
|
|
160
|
-
4. The assistant will use the MCP server to analyze your changes
|
|
161
|
-
5. Receive detailed fix recommendations with code patches
|
|
162
|
-
|
|
163
|
-
#### Troubleshooting
|
|
164
|
-
|
|
165
|
-
- **"API_KEY environment variable is not set"**: Make sure you've set your Mobb API key
|
|
166
|
-
- **"Path is not a valid git repository"**: Ensure you're pointing to a valid git repository
|
|
167
|
-
- **"No changed files found"**: Make sure you have modified, added, or staged files in your repository
|
|
168
|
-
|
|
169
|
-
## Using Bugsy as part of a CI/CD pipeline
|
|
170
|
-
|
|
171
|
-
If you utilize SAST scans as part of the CI/CD pipeline, Bugsy can be easiy added and provide immediate fix for every issue detected.
|
|
172
|
-
Here is a simple example of a command line that will run Bugsy in your pipeline:
|
|
173
|
-
|
|
174
|
-
```shell
|
|
175
|
-
npx mobbdev analyze --ci --scan-file $SAST_RESULTS_FILENAME --repo $CI_PROJECT_URL --ref $CI_COMMIT_REF_NAME --api-key $MOBB_API_KEY
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
### Polling Mode
|
|
179
|
-
|
|
180
|
-
By default, Bugsy uses WebSocket connections for real-time status updates during analysis. However, some proxy environments or firewalls may block WebSocket connections. In these cases, you can use the `--polling` flag to use HTTP polling instead:
|
|
181
|
-
|
|
182
|
-
```shell
|
|
183
|
-
npx mobbdev analyze --scan-file report.json --repo https://github.com/org/repo --polling
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
**When to use `--polling`:**
|
|
187
|
-
- Your network blocks WebSocket connections (ws:// or wss://)
|
|
188
|
-
- You're behind a corporate proxy that doesn't support WebSocket
|
|
189
|
-
- You experience connection timeouts with the default WebSocket mode
|
|
190
|
-
|
|
191
|
-
**Polling characteristics:**
|
|
192
|
-
- Polling interval: 5 seconds
|
|
193
|
-
- Timeout: 30 minutes
|
|
194
|
-
- Slightly higher latency compared to WebSocket mode, but works in restricted environments
|
|
195
|
-
|
|
196
|
-
## Contribution
|
|
197
|
-
|
|
198
|
-
Install the dependencies and run the tests:
|
|
199
|
-
|
|
200
|
-
```shell
|
|
201
|
-
pnpm install
|
|
202
|
-
|
|
203
|
-
# or use npm run build:dev to watch for changes
|
|
204
|
-
pnpm run build
|
|
205
|
-
|
|
206
|
-
# or use npm test:watch to watch for changes
|
|
207
|
-
pnpm run test
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### Debugging
|
|
211
|
-
|
|
212
|
-
If you're using VSCode, you can use the `launch.json` file to debug the code. Run the `CLI tests` configuration to continuously run and debug the tests.
|
|
213
|
-
|
|
214
|
-
## Getting support
|
|
215
|
-
|
|
216
|
-
If you need support using Bugsy or just want to share your thoughts and learn more, you are more than welcome to join our [discord server](https://bit.ly/Mobb-discord)
|
|
21
|
+
See [mobbdev](https://www.npmjs.com/package/mobbdev) for the full documentation.
|
package/bin/mobbdev.js
ADDED
package/lib/binary.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
// @mobb.ai/cli launcher: resolves the platform binary installed by npm via
|
|
3
|
+
// optionalDependencies (@mobb.ai/cli-<os>-<cpu>, gated by os/cpu fields so
|
|
4
|
+
// npm installs exactly one) and forwards all arguments to it.
|
|
5
|
+
//
|
|
6
|
+
// No downloads, no checksums: the binary arrives through npm like any other
|
|
7
|
+
// dependency, so registry mirrors / lockfile integrity already cover it.
|
|
8
|
+
//
|
|
9
|
+
// Zero runtime dependencies. Must stay runnable on Node >= 14: no ESM,
|
|
10
|
+
// no syntax newer than what Node 14 parses.
|
|
11
|
+
|
|
12
|
+
const { spawnSync } = require('child_process')
|
|
13
|
+
|
|
14
|
+
// npm package slug uses macos/win (org convention); process.platform is
|
|
15
|
+
// darwin/win32. Keep in sync with clients/scripts/targets.mjs npmOs().
|
|
16
|
+
function npmOs() {
|
|
17
|
+
if (process.platform === 'darwin') return 'macos'
|
|
18
|
+
if (process.platform === 'win32') return 'win'
|
|
19
|
+
return process.platform
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function getPlatformPackage() {
|
|
23
|
+
return '@mobb.ai/cli-' + npmOs() + '-' + process.arch
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function getBinaryPath() {
|
|
27
|
+
const pkgName = getPlatformPackage()
|
|
28
|
+
const binName = process.platform === 'win32' ? 'mobbdev.exe' : 'mobbdev'
|
|
29
|
+
try {
|
|
30
|
+
return require.resolve(pkgName + '/' + binName)
|
|
31
|
+
} catch (e) {
|
|
32
|
+
throw new Error(
|
|
33
|
+
'Could not find the mobbdev binary package "' +
|
|
34
|
+
pkgName +
|
|
35
|
+
'".\n' +
|
|
36
|
+
'Either this platform is not supported by the binary distribution,\n' +
|
|
37
|
+
'or optional dependencies were skipped (npm install --no-optional).\n' +
|
|
38
|
+
'Reinstall with optional dependencies enabled, or use the regular\n' +
|
|
39
|
+
'npm package instead: npm install mobbdev (requires a supported Node.js).'
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function run(args) {
|
|
45
|
+
const result = spawnSync(getBinaryPath(), args, { stdio: 'inherit' })
|
|
46
|
+
if (result.error) {
|
|
47
|
+
throw result.error
|
|
48
|
+
}
|
|
49
|
+
process.exit(result.status === null ? 1 : result.status)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
module.exports = { run }
|
package/package.json
CHANGED
|
@@ -1,170 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mobb.ai/cli",
|
|
3
|
-
"version": "1.4.
|
|
4
|
-
"description": "Automated secure code remediation tool",
|
|
5
|
-
"repository":
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"scripts": {
|
|
9
|
-
"clean": "rm -rf build",
|
|
10
|
-
"env": "dotenv -e ./.env",
|
|
11
|
-
"postinstall": "node ./src/post_install/cx_install.mjs",
|
|
12
|
-
"build": "tsc && tsup-node --env.NODE_ENV production",
|
|
13
|
-
"build:dev": "tsup-node --env.NODE_ENV development",
|
|
14
|
-
"build:binary": "node ./scripts/build_binary.mjs",
|
|
15
|
-
"build:binary:all": "node ./scripts/build_binary.mjs --all",
|
|
16
|
-
"increment-version": "./scripts/increment-version.sh",
|
|
17
|
-
"test:unit:mcp": "vitest run __tests__/mcp/",
|
|
18
|
-
"test:unit:mcp:ci": "vitest run --bail=1 __tests__/mcp/",
|
|
19
|
-
"test:mcp:watch": "vitest watch __tests__/mcp/",
|
|
20
|
-
"test:mcp:verbose": "pnpm run build && NODE_ENV=test VERBOSE=true vitest run __tests__/mcp/",
|
|
21
|
-
"test:mcp:all": "pnpm run test:unit:mcp && pnpm run test:integration:mcp && pnpm run test:e2e:mcp",
|
|
22
|
-
"test:unit": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run --exclude='**/__tests__/integration.test.ts' --exclude='**/__tests__/integration.mcp.test.ts' --exclude='**/__tests__/integration.baseline-commit.test.ts' --exclude='**/__tests__/mcp/**'",
|
|
23
|
-
"test:unit:ci": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run --bail=1 --exclude='**/__tests__/integration.test.ts' --exclude='**/__tests__/integration.mcp.test.ts' --exclude='**/__tests__/integration.baseline-commit.test.ts' --exclude='**/__tests__/mcp/**'",
|
|
24
|
-
"test:integration": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run --sequence.concurrent=false false __tests__/integration.test.ts",
|
|
25
|
-
"test:integration:ci": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run --bail=1 --sequence.concurrent=false false __tests__/integration.test.ts",
|
|
26
|
-
"test:integration:baseline-commit": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run --sequence.concurrent=false false __tests__/integration.baseline-commit.test.ts",
|
|
27
|
-
"test:integration:baseline-commit:proxy": "GIT_PROXY_HOST=http://tinyproxy:8888 HTTP_PROXY=http://localhost:8888 API_URL=http://app-api:8080/v1/graphql TOKEN=$(../../scripts/login_auth0.sh) vitest run --bail=1 --sequence.concurrent=false false __tests__/integration.baseline-commit.test.ts",
|
|
28
|
-
"test:integration:mcp": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run --sequence.concurrent=false false __tests__/integration.mcp.test.ts",
|
|
29
|
-
"test:integration:mcp:ci": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run --bail=1 --sequence.concurrent=false false __tests__/integration.mcp.test.ts",
|
|
30
|
-
"test:integration:watch": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest watch run __tests__/integration.test.ts",
|
|
31
|
-
"test": "pnpm run test:unit && pnpm run test:integration",
|
|
32
|
-
"test:ci": "pnpm run test:unit:ci -- --coverage && pnpm run test:integration:ci -- --coverage",
|
|
33
|
-
"test:ado": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run ado.test",
|
|
34
|
-
"test:github": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run github.test",
|
|
35
|
-
"test:gitlab": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run gitlab.test",
|
|
36
|
-
"test:github:repo": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run github-repo.test",
|
|
37
|
-
"test:cli:main": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run cli-main.test",
|
|
38
|
-
"test:coverage": "GIT_PROXY_HOST=http://tinyproxy:8888 TOKEN=$(../../scripts/login_auth0.sh) vitest run --coverage",
|
|
39
|
-
"test:watch": "TOKEN=$(../../scripts/login_auth0.sh) vitest",
|
|
40
|
-
"test:integration:proxy": "GIT_PROXY_HOST=http://tinyproxy:8888 HTTP_PROXY=http://localhost:8888 API_URL=http://app-api:8080/v1/graphql TOKEN=$(../../scripts/login_auth0.sh) vitest run --sequence.concurrent=false false integration.test.ts",
|
|
41
|
-
"lint": "eslint --cache --max-warnings 0 --ignore-path .eslintignore --ext .ts,.tsx,.jsx,.graphql .",
|
|
42
|
-
"lint:fix": "eslint --fix --cache --max-warnings 0 --ignore-path .eslintignore --ext .js,.ts,.tsx,.jsx,.graphql . && prettier --write \"src/**/*.graphql\"",
|
|
43
|
-
"lint:fix:files": "eslint --fix --cache --max-warnings 0 --ignore-path .eslintignore --ext .js,.ts,.tsx,.jsx,.graphql",
|
|
44
|
-
"prepack": "dotenv-vault pull production .env && pnpm build",
|
|
45
|
-
"dev:mcp": "pnpm run build && node dist/index.mjs mcp",
|
|
46
|
-
"debug:mcp": "pnpm run build && node dist/index.mjs mcp --debug",
|
|
47
|
-
"generate": "pnpm run env -- graphql-codegen -r dotenv/config --config client_codegen.ts",
|
|
48
|
-
"test:e2e": "cd ./__e2e__ && npm i && npm run test",
|
|
49
|
-
"test:binary": "cd ./__e2e__ && npm i && npm run test:binary",
|
|
50
|
-
"test:e2e:mcp": "pnpm run build && cd ./__e2e__ && npm i && npm run test:mcp",
|
|
51
|
-
"test:e2e:mcp:ci": "pnpm run build && cd ./__e2e__ && npm i && npm run test:mcp"
|
|
3
|
+
"version": "1.4.51",
|
|
4
|
+
"description": "Automated secure code remediation tool — standalone binary, no Node.js required.",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/mobb-dev/bugsy.git"
|
|
52
8
|
},
|
|
53
9
|
"bin": {
|
|
54
|
-
"mobbdev": "bin/
|
|
55
|
-
},
|
|
56
|
-
"author": "",
|
|
57
|
-
"license": "MIT",
|
|
58
|
-
"dependencies": {
|
|
59
|
-
"@gitbeaker/requester-utils": "43.8.0",
|
|
60
|
-
"@gitbeaker/rest": "43.8.0",
|
|
61
|
-
"@grpc/grpc-js": "1.14.4",
|
|
62
|
-
"@grpc/proto-loader": "0.8.0",
|
|
63
|
-
"@modelcontextprotocol/sdk": "1.29.0",
|
|
64
|
-
"@octokit/core": "5.2.0",
|
|
65
|
-
"@octokit/request-error": "5.1.1",
|
|
66
|
-
"@openredaction/openredaction": "1.0.4",
|
|
67
|
-
"adm-zip": "0.5.17",
|
|
68
|
-
"axios": "1.18.1",
|
|
69
|
-
"azure-devops-node-api": "15.1.2",
|
|
70
|
-
"bitbucket": "2.12.0",
|
|
71
|
-
"chalk": "5.6.2",
|
|
72
|
-
"chalk-animation": "2.0.3",
|
|
73
|
-
"configstore": "7.1.0",
|
|
74
|
-
"cross-fetch": "4.1.0",
|
|
75
|
-
"debug": "4.4.3",
|
|
76
|
-
"dotenv": "16.6.1",
|
|
77
|
-
"extract-zip": "2.0.1",
|
|
78
|
-
"fs-extra": "11.3.6",
|
|
79
|
-
"globby": "14.1.0",
|
|
80
|
-
"graphql": "16.14.0",
|
|
81
|
-
"graphql-request": "6.1.0",
|
|
82
|
-
"graphql-ws": "5.16.2",
|
|
83
|
-
"hash-wasm": "4.12.0",
|
|
84
|
-
"http-proxy-agent": "7.0.2",
|
|
85
|
-
"https-proxy-agent": "7.0.6",
|
|
86
|
-
"ignore": "7.0.5",
|
|
87
|
-
"inquirer": "9.3.8",
|
|
88
|
-
"isomorphic-ws": "5.0.0",
|
|
89
|
-
"istextorbinary": "9.5.0",
|
|
90
|
-
"jsonc-parser": "3.3.1",
|
|
91
|
-
"libsodium-wrappers": "0.7.15",
|
|
92
|
-
"multimatch": "7.0.0",
|
|
93
|
-
"nanospinner": "1.1.0",
|
|
94
|
-
"node-fetch": "3.3.2",
|
|
95
|
-
"node-stream-zip": "1.15.0",
|
|
96
|
-
"octokit": "3.2.1",
|
|
97
|
-
"open": "8.4.2",
|
|
98
|
-
"p-limit": "3.1.0",
|
|
99
|
-
"parse-diff": "0.11.1",
|
|
100
|
-
"pino": "9.7.0",
|
|
101
|
-
"sax": "1.6.0",
|
|
102
|
-
"semver": "7.8.5",
|
|
103
|
-
"shell-quote": "1.9.0",
|
|
104
|
-
"simple-git": "3.36.0",
|
|
105
|
-
"snyk": "1.1305.2",
|
|
106
|
-
"tar": "7.5.19",
|
|
107
|
-
"tmp": "0.2.7",
|
|
108
|
-
"tmp-promise": "3.0.3",
|
|
109
|
-
"undici": "6.27.0",
|
|
110
|
-
"uuid": "11.1.1",
|
|
111
|
-
"ws": "8.21.0",
|
|
112
|
-
"xml2js": "0.6.2",
|
|
113
|
-
"yargs": "17.7.2",
|
|
114
|
-
"zod": "4.4.3"
|
|
115
|
-
},
|
|
116
|
-
"devDependencies": {
|
|
117
|
-
"@graphql-codegen/cli": "5.0.7",
|
|
118
|
-
"@graphql-codegen/typescript": "4.1.6",
|
|
119
|
-
"@graphql-codegen/typescript-graphql-request": "6.4.0",
|
|
120
|
-
"@graphql-codegen/typescript-operations": "4.6.1",
|
|
121
|
-
"@graphql-eslint/eslint-plugin": "4.4.0",
|
|
122
|
-
"@octokit/types": "13.10.0",
|
|
123
|
-
"@types/adm-zip": "0.5.8",
|
|
124
|
-
"@types/chalk-animation": "1.6.3",
|
|
125
|
-
"@types/configstore": "6.0.2",
|
|
126
|
-
"@types/debug": "4.1.13",
|
|
127
|
-
"@types/fs-extra": "11.0.4",
|
|
128
|
-
"@types/inquirer": "9.0.10",
|
|
129
|
-
"@types/libsodium-wrappers": "0.7.14",
|
|
130
|
-
"@types/node": "18.19.130",
|
|
131
|
-
"@types/sax": "1.2.7",
|
|
132
|
-
"@types/semver": "7.7.1",
|
|
133
|
-
"@types/shell-quote": "1.7.5",
|
|
134
|
-
"@types/tar": "6.1.13",
|
|
135
|
-
"@types/tmp": "0.2.6",
|
|
136
|
-
"@types/ws": "8.18.1",
|
|
137
|
-
"@types/xml2js": "0.4.14",
|
|
138
|
-
"@types/yargs": "17.0.35",
|
|
139
|
-
"@typescript-eslint/eslint-plugin": "7.17.0",
|
|
140
|
-
"@typescript-eslint/parser": "7.17.0",
|
|
141
|
-
"@vitest/coverage-v8": "3.2.4",
|
|
142
|
-
"@vitest/ui": "3.2.4",
|
|
143
|
-
"dotenv-cli": "10.0.0",
|
|
144
|
-
"postject": "1.0.0-alpha.6",
|
|
145
|
-
"eslint": "8.57.0",
|
|
146
|
-
"eslint-plugin-graphql": "4.0.0",
|
|
147
|
-
"eslint-plugin-import": "2.32.0",
|
|
148
|
-
"eslint-plugin-prettier": "5.5.6",
|
|
149
|
-
"eslint-plugin-simple-import-sort": "12.1.1",
|
|
150
|
-
"msw": "2.10.5",
|
|
151
|
-
"nock": "14.0.16",
|
|
152
|
-
"prettier": "3.9.4",
|
|
153
|
-
"tsup": "8.5.1",
|
|
154
|
-
"typescript": "5.9.3",
|
|
155
|
-
"vitest": "3.2.4"
|
|
156
|
-
},
|
|
157
|
-
"engines": {
|
|
158
|
-
"node": ">=18.20.0"
|
|
10
|
+
"mobbdev": "bin/mobbdev.js"
|
|
159
11
|
},
|
|
160
12
|
"files": [
|
|
161
|
-
"bin
|
|
162
|
-
"
|
|
163
|
-
".env",
|
|
164
|
-
"src/post_install",
|
|
165
|
-
"src/features/codeium_intellij/proto/**/*.proto"
|
|
13
|
+
"bin",
|
|
14
|
+
"lib"
|
|
166
15
|
],
|
|
16
|
+
"optionalDependencies": {
|
|
17
|
+
"@mobb.ai/cli-linux-arm64": "1.4.51",
|
|
18
|
+
"@mobb.ai/cli-linux-x64": "1.4.51",
|
|
19
|
+
"@mobb.ai/cli-win-x64": "1.4.51"
|
|
20
|
+
},
|
|
167
21
|
"publishConfig": {
|
|
168
22
|
"access": "public"
|
|
169
|
-
}
|
|
23
|
+
},
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=14"
|
|
26
|
+
},
|
|
27
|
+
"author": "",
|
|
28
|
+
"license": "MIT"
|
|
170
29
|
}
|
package/.env
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# production@v21
|
|
2
|
-
API_URL="https://api.mobb.ai/v1/graphql"
|
|
3
|
-
WEB_APP_URL="https://app.mobb.ai"
|
|
4
|
-
GITLAB_API_TOKEN=""
|
|
5
|
-
GITHUB_API_TOKEN=""
|
|
6
|
-
ADO_TEST_ACCESS_TOKEN=""
|
|
7
|
-
HASURA_ACCESS_KEY=""
|
|
8
|
-
LOCAL_GRAPHQL_ENDPOINT=""
|
|
9
|
-
GIT_PROXY_HOST="http://tinyproxy:8888"
|
|
10
|
-
DD_RUM_TOKEN="pubf59c0182545bfb4c299175119f1abf9b"
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Mobb.dev Ltd.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
package/bin/cli.mjs
DELETED