@cefense-npm/cefense-cli 0.1.0 → 1.0.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.
Files changed (54) hide show
  1. package/{LICENSE.md → LICENSE} +1 -1
  2. package/README.md +373 -0
  3. package/dist/commands/auth.d.ts.map +1 -1
  4. package/dist/commands/auth.js +41 -5
  5. package/dist/commands/auth.js.map +1 -1
  6. package/dist/commands/fix.d.ts.map +1 -1
  7. package/dist/commands/fix.js +12 -0
  8. package/dist/commands/fix.js.map +1 -1
  9. package/dist/commands/fixcmds.d.ts +7 -0
  10. package/dist/commands/fixcmds.d.ts.map +1 -0
  11. package/dist/commands/fixcmds.js +183 -0
  12. package/dist/commands/fixcmds.js.map +1 -0
  13. package/dist/commands/observed.d.ts +3 -0
  14. package/dist/commands/observed.d.ts.map +1 -1
  15. package/dist/commands/observed.js +93 -3
  16. package/dist/commands/observed.js.map +1 -1
  17. package/dist/commands/repo.d.ts.map +1 -1
  18. package/dist/commands/repo.js +34 -1
  19. package/dist/commands/repo.js.map +1 -1
  20. package/dist/commands/scan.d.ts.map +1 -1
  21. package/dist/commands/scan.js +7 -0
  22. package/dist/commands/scan.js.map +1 -1
  23. package/dist/commands/status.d.ts.map +1 -1
  24. package/dist/commands/status.js +12 -0
  25. package/dist/commands/status.js.map +1 -1
  26. package/dist/core/client.js +1 -1
  27. package/dist/core/compact.d.ts +13 -0
  28. package/dist/core/compact.d.ts.map +1 -0
  29. package/dist/core/compact.js +111 -0
  30. package/dist/core/compact.js.map +1 -0
  31. package/dist/core/errors.d.ts +3 -1
  32. package/dist/core/errors.d.ts.map +1 -1
  33. package/dist/core/errors.js +8 -5
  34. package/dist/core/errors.js.map +1 -1
  35. package/dist/core/session.d.ts +1 -0
  36. package/dist/core/session.d.ts.map +1 -1
  37. package/dist/core/session.js.map +1 -1
  38. package/dist/index.js +49 -8
  39. package/dist/index.js.map +1 -1
  40. package/dist/ui/mode.d.ts +3 -0
  41. package/dist/ui/mode.d.ts.map +1 -0
  42. package/dist/ui/mode.js +8 -0
  43. package/dist/ui/mode.js.map +1 -0
  44. package/dist/ui/output.d.ts +3 -0
  45. package/dist/ui/output.d.ts.map +1 -1
  46. package/dist/ui/output.js +40 -1
  47. package/dist/ui/output.js.map +1 -1
  48. package/dist/ui/screen.d.ts.map +1 -1
  49. package/dist/ui/screen.js +3 -0
  50. package/dist/ui/screen.js.map +1 -1
  51. package/dist/ui/spinner.d.ts.map +1 -1
  52. package/dist/ui/spinner.js +4 -0
  53. package/dist/ui/spinner.js.map +1 -1
  54. package/package.json +1 -1
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,373 @@
1
+ <div align="center">
2
+
3
+ # Cefense CLI
4
+
5
+ **Find, understand, and fix security vulnerabilities in your code. From your terminal, or from your agent.**
6
+
7
+ [![npm version](https://img.shields.io/npm/v/@cefense-npm/cefense-cli?color=0b7285&label=npm)](https://www.npmjs.com/package/@cefense-npm/cefense-cli)
8
+ [![node](https://img.shields.io/node/v/@cefense-npm/cefense-cli?color=0b7285)](https://nodejs.org)
9
+ [![types](https://img.shields.io/npm/types/@cefense-npm/cefense-cli?color=0b7285)](https://www.typescriptlang.org)
10
+ [![license](https://img.shields.io/npm/l/@cefense-npm/cefense-cli?color=0b7285)](./LICENSE)
11
+
12
+ [Install](#install) · [Quickstart](#quickstart) · [Commands](#commands) · [Agent mode](#agent-mode) · [CI](#continuous-integration) · [Security](#where-your-credentials-live)
13
+
14
+ </div>
15
+
16
+ ---
17
+
18
+ <!--
19
+ DEMO VIDEO
20
+ Record the terminal, drag the file into a GitHub issue or PR comment, and GitHub
21
+ returns a https://github.com/user-attachments/assets/<id> URL.
22
+ Replace the block below with that URL on its own line.
23
+ -->
24
+
25
+ <div align="center">
26
+
27
+ https://github.com/user-attachments/assets/REPLACE_WITH_UPLOADED_VIDEO
28
+
29
+ _`cf observed`, a generated patch, and a pull request, in under a minute._
30
+
31
+ </div>
32
+
33
+ ---
34
+
35
+ ## What this is
36
+
37
+ Cefense scans your repositories for vulnerabilities, joins each finding to the security research that explains it, and generates patches you can ship as pull requests.
38
+
39
+ This CLI is a complete alternative to the web workspace. Everything the GUI does against a real API route, this does too: connect repositories, run scans, browse findings, read the research behind them, generate a patch, review the diff, and open the pull request.
40
+
41
+ It talks only to the Cefense public API. It never reaches into a database, and it ships with no client secret and no baked-in endpoints.
42
+
43
+ ## Install
44
+
45
+ ```sh
46
+ npm install -g @cefense-npm/cefense-cli
47
+ ```
48
+
49
+ Requires **Node 22.12 or newer**. Both `cefense` and `cf` are installed and are the same binary. Every example below uses the short one.
50
+
51
+ <details>
52
+ <summary>Other package managers</summary>
53
+
54
+ ```sh
55
+ pnpm add -g @cefense-npm/cefense-cli
56
+ yarn global add @cefense-npm/cefense-cli
57
+ bun add -g @cefense-npm/cefense-cli
58
+ ```
59
+
60
+ Or run it without installing. The package name differs from both binaries, so `-p` is required:
61
+
62
+ ```sh
63
+ npx -p @cefense-npm/cefense-cli cf status
64
+ ```
65
+
66
+ </details>
67
+
68
+ ## Quickstart
69
+
70
+ ```sh
71
+ cf auth login # sign in through your browser
72
+ cf repo connect # pick a repository and watch its first scan
73
+ cf observed # browse what the scan found
74
+ ```
75
+
76
+ From the findings view, press `g` to generate a patch and `p` to open a pull request. You never leave the finding you are reading.
77
+
78
+ ## Commands
79
+
80
+ ### Authentication
81
+
82
+ | Command | What it does |
83
+ | --- | --- |
84
+ | `cf auth login` | sign in through your browser using OAuth2 with PKCE |
85
+ | `cf auth logout` | revoke the token at the identity provider and forget it |
86
+ | `cf auth status` | who you are, where the token lives, what you are entitled to |
87
+
88
+ `cf auth logout --all` signs out of every stored instance. `cf auth login --force` signs in again over an existing session.
89
+
90
+ ### Repositories
91
+
92
+ | Command | What it does |
93
+ | --- | --- |
94
+ | `cf repo connect [owner/name]` | connect a GitHub repository and follow its first scan |
95
+ | `cf repo list` | connected repositories, their scan state and finding counts |
96
+ | `cf repo set-default [owner/name]` | choose the repository this directory acts on |
97
+ | `cf repo disconnect [owner/name]` | disconnect one repository |
98
+ | `cf repo disconnect --account` | disconnect the GitHub account entirely |
99
+
100
+ `cf repo set-default --unset` clears the link for the current directory. `cf repo connect --no-watch` queues the scan without following it.
101
+
102
+ ### Findings and fixes
103
+
104
+ | Command | What it does |
105
+ | --- | --- |
106
+ | `cf status` | the dashboard: repositories, live scan progress, finding counts |
107
+ | `cf scan` | rescan a repository and watch it run |
108
+ | `cf observed` | browse every finding in your code |
109
+ | `cf observed show <finding-id>` | one finding in full, with research, data flow and references |
110
+ | `cf matched` | only the findings joined to the research that explains them |
111
+ | `cf fix` | browse findings and their patches side by side |
112
+ | `cf fix show <finding-id>` | the patch generated for one finding |
113
+ | `cf fix generate <finding-id>` | generate a patch, `--wait` to block until it is ready |
114
+ | `cf fix publish <finding-id>` | open a pull request with a generated patch |
115
+
116
+ Findings and fixes are the same data from two angles. `cf observed` carries the same `g` and `p` keys as `cf fix`, so you can patch a vulnerability without switching views.
117
+
118
+ ## Interactive by default
119
+
120
+ Every browsing command opens a full-screen view.
121
+
122
+ | Key | Action |
123
+ | --- | --- |
124
+ | `up` `down`, or `k` `j` | move through the list |
125
+ | `enter` | open the detail pane |
126
+ | `left` `right` | previous and next item, from inside the detail pane |
127
+ | `/` | filter as you type |
128
+ | `pageup` `pagedown` `home` `end` | jump |
129
+ | `q` or `escape` | close the pane, then leave |
130
+
131
+ Single keys act on whatever is selected. Labels are context aware, so a finding whose pull request is already open offers `view pull request` rather than `open pull request`.
132
+
133
+ | Key | Where | Action |
134
+ | --- | --- | --- |
135
+ | `g` | `observed`, `matched`, `fix` | generate a patch, or regenerate, or retry |
136
+ | `p` | `observed`, `matched`, `fix` | open the pull request, or view it |
137
+ | `o` | `observed`, `matched` | open the file on GitHub |
138
+ | `a` | `observed`, `matched` | read the research behind the finding |
139
+ | `u` | `fix` | refresh |
140
+ | `f` `r` `o` `d` `c` | `status` | findings, rescan, open, set default, connect |
141
+
142
+ Publishing always requires typing the repository name to confirm. There is no accidental pull request.
143
+
144
+ ## Agent mode
145
+
146
+ `--agent` turns the CLI into a machine interface. It is the supported way for a coding agent (Claude Code, Cursor, Codex, or your own) to drive Cefense.
147
+
148
+ ```sh
149
+ cf observed --repo acme/api --agent
150
+ ```
151
+
152
+ It implies `--json --no-color --no-link`, forces non-interactive so the full-screen view can never open, silences all progress output, and prints exactly **one line of JSON on stdout**. It does **not** imply `--yes`.
153
+
154
+ ### Response envelope
155
+
156
+ Success:
157
+
158
+ ```json
159
+ {
160
+ "schemaVersion": 1,
161
+ "ok": true,
162
+ "command": "observed",
163
+ "data": { "repository": "acme/api", "total": 32, "counts": { "critical": 5, "high": 14 }, "findings": [] },
164
+ "next": ["cf observed show <id> --repo acme/api --agent", "cf fix generate <id> --wait --agent"]
165
+ }
166
+ ```
167
+
168
+ Failure, on stdout as well, so an agent never has to parse prose from stderr:
169
+
170
+ ```json
171
+ {
172
+ "schemaVersion": 1,
173
+ "ok": false,
174
+ "command": "fix publish",
175
+ "error": {
176
+ "code": "confirmation_required",
177
+ "message": "Publishing opens a real pull request on GitHub.",
178
+ "remedy": "Pass --yes to confirm: cf fix publish <id> --yes",
179
+ "exitCode": 2
180
+ }
181
+ }
182
+ ```
183
+
184
+ The `next` array names real commands that act on what was just returned, so an agent is handed its next step instead of guessing at one.
185
+
186
+ ### A complete agent workflow
187
+
188
+ ```sh
189
+ cf auth status --agent # 3 if not signed in
190
+ cf observed --repo acme/api --agent # ids, severities, counts
191
+ cf observed show <finding-id> --agent # one finding, in full
192
+ cf fix generate <finding-id> --wait --agent # blocks until ready or failed
193
+ cf fix publish <finding-id> --yes --agent # opens the pull request
194
+ ```
195
+
196
+ ### Error codes
197
+
198
+ Stable across releases. Match on `error.code`, never on `error.message`.
199
+
200
+ | Code | Exit | Meaning |
201
+ | --- | --- | --- |
202
+ | `auth_required` | 3 | not signed in |
203
+ | `usage_error` | 2 | a flag or argument is missing or wrong |
204
+ | `invalid_severity` | 2 | unrecognised value passed to `--severity` |
205
+ | `invalid_category` | 2 | unrecognised value passed to `--category` |
206
+ | `finding_not_found` | 2 | no such finding in the latest scan |
207
+ | `fix_not_found` | 2 | no patch has been generated yet |
208
+ | `fix_not_ready` | 2 | the patch is not in a publishable state |
209
+ | `fix_in_progress` | 2 | a patch is already generating |
210
+ | `confirmation_required` | 2 | a destructive action needs `--yes` |
211
+ | `feature_required` | 4 | the account lacks the required feature pack |
212
+ | `api_error` | 4 | the Cefense API returned an error |
213
+ | `cancelled` | 130 | interrupted |
214
+ | `internal_error` | 4 | unexpected failure |
215
+
216
+ ### Notes for agents
217
+
218
+ - **Signing in blocks.** `cf auth login` opens a browser and waits for the loopback callback, which is inherent to OAuth2 with PKCE. Run it in the background, read the sign-in URL from **stderr**, surface it to the user, then poll `cf auth status --agent`.
219
+ - **Publishing is gated.** `cf fix publish` refuses with `confirmation_required` unless `--yes` is passed. Treat that as a decision for the user, not a flag to add automatically.
220
+ - **Pass `--repo owner/name`** to skip the directory-linking prompt entirely.
221
+ - **Payloads are compact.** Null and internal fields are stripped, and heavy fields are summarised. The same 32 findings are 45 KB under `--json` and 18 KB under `--agent`.
222
+
223
+ ## Scripting
224
+
225
+ Three output modes, in order of precedence:
226
+
227
+ ```sh
228
+ cf observed --agent # one line of JSON, envelope, stable contract
229
+ cf observed --json # pretty-printed raw API response
230
+ cf observed | grep critical # tab-separated lines when piped
231
+ ```
232
+
233
+ `--json` gives you the unmodified API payload for exploration:
234
+
235
+ ```sh
236
+ cf observed --json | jq '.findings[] | select(.severity == "critical") | .filePath'
237
+ cf repo list --json | jq -r '.[].fullName'
238
+ ```
239
+
240
+ Anything that would prompt fails with exit code 2 and names the flag that would have answered it, so nothing hangs.
241
+
242
+ ## Continuous integration
243
+
244
+ Set `CEFENSE_TOKEN` instead of signing in. It is read from the environment and never written to disk.
245
+
246
+ ```yaml
247
+ - name: Cefense security scan
248
+ env:
249
+ CEFENSE_TOKEN: ${{ secrets.CEFENSE_TOKEN }}
250
+ run: |
251
+ npm install -g @cefense-npm/cefense-cli
252
+ cf scan --repo ${{ github.repository }}
253
+ cf observed --repo ${{ github.repository }} --severity critical,high --exit-code
254
+ ```
255
+
256
+ `--exit-code` returns 1 when a critical or high finding is present, which fails the job.
257
+
258
+ ## Severity vocabulary
259
+
260
+ Cefense displays four severities. The wire values differ, and filters accept both.
261
+
262
+ | Displayed | Wire value | `--severity` accepts |
263
+ | --- | --- | --- |
264
+ | Critical | `critical` | `critical` |
265
+ | High | `high` | `high` |
266
+ | Watch | `medium` | `watch`, `medium` |
267
+ | Info | `low` | `info`, `low` |
268
+
269
+ Under `--agent`, every finding carries both `severity` (the wire value, so filters round-trip) and `severityLabel` (what a human should be told).
270
+
271
+ ## Linking a directory to a repository
272
+
273
+ `observed`, `matched`, `fix` and `scan` act on one repository. The first time you run any of them in a directory, the CLI asks which one and remembers the answer:
274
+
275
+ ```
276
+ This directory is not linked to a Cefense repository.
277
+ /Users/you/code/api
278
+ git remote acme/api
279
+
280
+ How should this directory resolve?
281
+ > Link this directory to acme/api matches your git remote
282
+ Link to a different repository
283
+ Just this once
284
+ ```
285
+
286
+ Resolution order, first match wins:
287
+
288
+ 1. `--repo owner/name`
289
+ 2. `CEFENSE_REPO`
290
+ 3. the link stored for this directory
291
+ 4. the prompt above, seeded from your git remote
292
+
293
+ "Just this once" resolves without remembering. `--no-link` does the same non-interactively, and `--repo` skips the question entirely. `cf repo set-default` sets the link ahead of time and `--unset` clears it.
294
+
295
+ `cf status` and `cf repo list` are not scoped to one repository, so they never ask.
296
+
297
+ ## Configuration
298
+
299
+ | Variable | Effect |
300
+ | --- | --- |
301
+ | `CEFENSE_API_URL` | the Cefense instance to talk to, default `https://cefense.com` |
302
+ | `CEFENSE_REPO` | the repository to act on, same as `--repo` |
303
+ | `CEFENSE_TOKEN` | an access token to use instead of the keychain, never persisted |
304
+ | `NO_COLOR` | disable colour |
305
+ | `FORCE_COLOR` | keep colour when piping |
306
+
307
+ Global flags, available on every command:
308
+
309
+ | Flag | Effect |
310
+ | --- | --- |
311
+ | `--api-url <url>` | override the instance for one invocation |
312
+ | `--repo <owner/name>` | override the repository for one invocation |
313
+ | `--json` | emit the raw API response as pretty JSON |
314
+ | `--agent` | machine mode, see [Agent mode](#agent-mode) |
315
+ | `--no-color` | disable colour |
316
+ | `--verbose` | print a stack trace on failure |
317
+ | `-y, --yes` | skip confirmation prompts |
318
+ | `--no-link` | resolve the repository without remembering it |
319
+ | `-v, --version` | print the version |
320
+ | `-h, --help` | print help for any command |
321
+
322
+ ## Exit codes
323
+
324
+ | Code | Meaning |
325
+ | --- | --- |
326
+ | 0 | success |
327
+ | 1 | findings present, with `--exit-code` |
328
+ | 2 | usage error, including a prompt that could not be shown |
329
+ | 3 | not signed in |
330
+ | 4 | the API returned an error |
331
+ | 130 | interrupted |
332
+
333
+ ## Programmatic use
334
+
335
+ `src/core` is presentation-free and published as a subpath export, so you can build on the same client, credential store and repository resolution the CLI uses:
336
+
337
+ ```ts
338
+ import { openSession, CefenseClient } from "@cefense-npm/cefense-cli/core";
339
+
340
+ const session = await openSession({}, { auth: true });
341
+ const { findings } = await session.client.findings(githubRepoId, { severity: "critical" });
342
+ ```
343
+
344
+ This is the foundation the Cefense MCP server is built on.
345
+
346
+ ## Development
347
+
348
+ ```sh
349
+ git clone https://github.com/Cefense/CLI.git
350
+ cd CLI
351
+ npm install
352
+ npm run check-types
353
+ npm test
354
+ npm run build
355
+ npm link # cf is now on your PATH
356
+ ```
357
+
358
+ Run against a local backend:
359
+
360
+ ```sh
361
+ cf status --api-url http://localhost:3001
362
+ ```
363
+
364
+ | Script | What it does |
365
+ | --- | --- |
366
+ | `npm run build` | compile to `dist` |
367
+ | `npm run watch` | compile on change |
368
+ | `npm run check-types` | type-check without emitting |
369
+ | `npm test` | compile tests and run them with `node --test` |
370
+
371
+ ## License
372
+
373
+ MIT. See [LICENSE](./LICENSE).
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQxD,wBAAsB,SAAS,CAC7B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,MAAM,CAAC,CA8EjB;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,OAAO,CAAC,MAAM,CAAC,CAkDjB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CA8DxE"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUxD,wBAAsB,SAAS,CAC7B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,MAAM,CAAC,CAiGjB;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAkFxE"}
@@ -11,6 +11,8 @@ import { confirm, spinner } from "../ui/prompts.js";
11
11
  import { c, glyph } from "../ui/theme.js";
12
12
  import { keyValue } from "../ui/table.js";
13
13
  import { VERSION } from "../version.js";
14
+ import { isAgentMode } from "../ui/mode.js";
15
+ import { prune } from "../core/compact.js";
14
16
  export async function authLogin(globals, options = {}) {
15
17
  const apiUrl = resolveApiUrl(globals.apiUrl);
16
18
  const existing = await loadCredentials(apiUrl);
@@ -34,10 +36,15 @@ export async function authLogin(globals, options = {}) {
34
36
  try {
35
37
  authorization = await requestAuthorizationCode(config, {
36
38
  onUrl: (url) => {
37
- out.info("Opening your browser to sign in. If it does not open, paste this:");
38
- out.line();
39
- out.line(` ${c.cyan(url)}`);
40
- out.line();
39
+ if (isAgentMode()) {
40
+ process.stderr.write(`Open this URL to sign in: ${url}\n`);
41
+ }
42
+ else {
43
+ out.info("Opening your browser to sign in. If it does not open, paste this:");
44
+ out.line();
45
+ out.line(` ${c.cyan(url)}`);
46
+ out.line();
47
+ }
41
48
  void open(url).catch(() => undefined);
42
49
  progress.start("Waiting for authentication in the browser");
43
50
  },
@@ -52,7 +59,7 @@ export async function authLogin(globals, options = {}) {
52
59
  const client = new CefenseClient({ apiUrl, config, credentials });
53
60
  const me = await client.me().catch((error) => {
54
61
  throw new CefenseError("Signed in, but that token could not read your Cefense account.", {
55
- remedy: "Run cf doctor to check the API, then try again.",
62
+ remedy: "Run cf auth status to check the API, then try again.",
56
63
  cause: error,
57
64
  });
58
65
  });
@@ -69,6 +76,16 @@ export async function authLogin(globals, options = {}) {
69
76
  if (saved.warning)
70
77
  out.warn(saved.warning);
71
78
  const github = await client.githubStatus().catch(() => null);
79
+ if (isAgentMode()) {
80
+ out.agentEmit({
81
+ apiUrl,
82
+ authenticated: true,
83
+ email: me.user.email,
84
+ userId: me.user.id,
85
+ credentialBackend: saved.backend,
86
+ }, github?.connected ? ["cf status --agent"] : ["cf repo connect <owner/name>"]);
87
+ return 0;
88
+ }
72
89
  out.line();
73
90
  if (github && !github.connected) {
74
91
  out.info("Next: connect a repository");
@@ -124,6 +141,10 @@ export async function authLogout(globals, options = {}) {
124
141
  out.success(`Credentials removed for ${apiUrl}`);
125
142
  signedOut += 1;
126
143
  }
144
+ if (isAgentMode()) {
145
+ out.agentEmit({ signedOut }, signedOut > 0 ? ["cf auth login"] : []);
146
+ return 0;
147
+ }
127
148
  if (signedOut === 0) {
128
149
  out.line();
129
150
  out.info("You were not signed in.");
@@ -134,6 +155,10 @@ export async function authLogout(globals, options = {}) {
134
155
  export async function authStatus(globals) {
135
156
  const session = await openSession(globals, { auth: false });
136
157
  if (!session.credentials) {
158
+ if (isAgentMode()) {
159
+ out.agentEmit({ apiUrl: session.apiUrl, authenticated: false }, ["cf auth login"]);
160
+ return 3;
161
+ }
137
162
  if (out.isJsonMode()) {
138
163
  out.json({ apiUrl: session.apiUrl, authenticated: false });
139
164
  return 3;
@@ -149,6 +174,17 @@ export async function authStatus(globals) {
149
174
  session.client.githubStatus().catch(() => null),
150
175
  session.client.billing().catch(() => null),
151
176
  ]);
177
+ if (isAgentMode()) {
178
+ out.agentEmit({
179
+ apiUrl: session.apiUrl,
180
+ authenticated: true,
181
+ email: me.user.email,
182
+ userId: me.user.id,
183
+ credentialBackend: session.backend,
184
+ github: github ? prune({ connected: github.connected, login: github.login }) : null,
185
+ }, github?.connected ? ["cf status --agent"] : ["cf repo connect <owner/name>"]);
186
+ return 0;
187
+ }
152
188
  if (out.isJsonMode()) {
153
189
  out.json({
154
190
  apiUrl: session.apiUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAkGnF,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAqFxE"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAoGnF,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAgGxE"}
@@ -5,6 +5,8 @@ import * as out from "../ui/output.js";
5
5
  import { wrapText } from "../ui/format.js";
6
6
  import { c, displaySeverity, glyph, severityColor, severityRank } from "../ui/theme.js";
7
7
  import { fixActions, fixLabel, renderDiff } from "./fixactions.js";
8
+ import { isAgentMode } from "../ui/mode.js";
9
+ import { compactFix } from "../core/compact.js";
8
10
  function detail(row, width) {
9
11
  const lines = [];
10
12
  const push = (value = "") => lines.push(value ? ` ${value}` : "");
@@ -75,6 +77,16 @@ export async function fixCommand(globals) {
75
77
  const session = await openSession(globals, { auth: true });
76
78
  const { project } = await resolveLinkedProject(session, globals);
77
79
  const { rows, scanId } = await loadRows(session, project);
80
+ if (isAgentMode()) {
81
+ out.agentEmit({
82
+ repository: project.fullName,
83
+ scanId,
84
+ fixes: rows
85
+ .filter((row) => row.fix)
86
+ .map((row) => compactFix(row.fix, { diff: true })),
87
+ });
88
+ return 0;
89
+ }
78
90
  if (out.isJsonMode()) {
79
91
  out.json({ repository: project.fullName, scanId, fixes: rows.map((row) => row.fix).filter(Boolean) });
80
92
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type GlobalOptions } from "../core/session.js";
2
+ export declare function fixShow(globals: GlobalOptions, findingId: string): Promise<number>;
3
+ export declare function fixGenerate(globals: GlobalOptions, findingId: string, options?: {
4
+ wait?: boolean;
5
+ }): Promise<number>;
6
+ export declare function fixPublish(globals: GlobalOptions, findingId: string): Promise<number>;
7
+ //# sourceMappingURL=fixcmds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixcmds.d.ts","sourceRoot":"","sources":["../../src/commands/fixcmds.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAoDnF,wBAAsB,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BxF;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,OAAO,CAAC,MAAM,CAAC,CA0DjB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkF3F"}