You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit c28e7e4
Browse filesBrowse the repository at this point in the historyBrowse files
Brings in #296, which removes dead code and the v3 compatibility
shims.
#296 made MemoryProject::entries() test-only because nothing else
called it. This branch's in-memory rollout does: it reads every text
file in the project to find the patches it mentions. The method stays
crate-visible outside tests.
In CLI_CONTRACT.md the exit-code rows keep both sides' changes: #296
drops the --detached and --one-off entries, and this branch adds the
socket.yml, scan PATH and SOCKET_MAX_NEW_PATCHES entries.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AvGSu5jGg1z3f3sePc2eHC
| `--mode <hosted\|vendored\|agent>` | — | Selects one of the three [patch modes](#three-patch-modes) (default: `hosted`). Combining `--mode` with a legacy boolean flag of a *different* mode is an error (exit 2); the same mode spelled both ways is accepted. |
687
687
| `--package <name\|purl>` | `SOCKET_SCAN_PACKAGES` | Only scan these packages: a name (`lodash`, `@scope/pkg`, `requests`; case-insensitive) or a purl with or without its version (`pkg:npm/lodash`, `pkg:pypi/requests@2.31.0`). Repeat the flag or separate with commas. |
688
-
| `--prune` | — | Agent-mode garbage collection after the scan: remove manifest entries for packages no longer present in the crawl (installed trees + lockfiles — a wiped `node_modules` alone doesn't prune lockfile-listed entries) and delete orphan blob/diff/package-archive files. [Vendored](#vendor) packages are exempt from the crawl-based prune, but a vendored entry whose dependency has left the lockfile is reverted. Ignored, with a `redirect_prune_ignored` warning, in hosted mode; without a mode the scan is report-only. |
688
+
| `--prune` | — | Agent-mode garbage collection after the scan: remove manifest entries for packages no longer present in the crawl (installed trees + lockfiles — a wiped `node_modules` alone doesn't prune lockfile-listed entries) and delete orphan blob/diff-archive files (plus any legacy package archives). [Vendored](#vendor) packages are exempt from the crawl-based prune, but a vendored entry whose dependency has left the lockfile is reverted. Ignored, with a `redirect_prune_ignored` warning, in hosted mode; without a mode the scan is report-only. |
|`--max-new-patches <N\|none>`|`SOCKET_MAX_NEW_PATCHES`| Add at most N patches to packages that have none yet, most severe first; the rest are deferred to the next scan and listed in the output. Upgrades of already-patched packages are not capped. `0` adds no new patches, `none` means no cap (it also lifts a `socket.yml``patches.maxNewPatches`). See [Add a few new patches per run](#add-a-few-new-patches-per-run). |
691
691
|`--batch-size <n>`|`SOCKET_BATCH_SIZE`| Packages per API request (default: `500` on the authenticated API, `100` on the public proxy). A request whose body would exceed 256 KiB is split into smaller ones. |
> `--vendor` (== `--mode vendored`). `--detached` is a hidden no-op kept for compatibility (vendored mode is
700
-
> always manifest-free); it is still an error without vendored mode.
699
+
> `--vendor` (== `--mode vendored`).
701
700
702
701
**Examples:**
703
702
```bash
@@ -1014,7 +1013,6 @@ socket-patch get <identifier> [options]
1014
1013
|`--ghsa`| — | Force identifier to be treated as a GHSA ID. |
1015
1014
|`-p, --package`| — | Force identifier to be treated as a package name. |
1016
1015
|`--save-only`|`SOCKET_SAVE_ONLY`| Download the patch without applying it (alias: `--no-apply`). |
1017
-
|`--one-off`|`SOCKET_ONE_OFF`| Reserved (hidden from `--help`): apply the patch immediately without saving to the `.socket` folder. **Not yet implemented** — the command currently errors up front. |
1018
1016
|`--all-releases`|`SOCKET_ALL_RELEASES`| Download patches for every release/distribution variant of a matched package (PyPI wheel/sdist, RubyGems platform, Maven classifier), not just the installed one. |
1019
1017
|`--mode <hosted\|vendored\|agent>`| — | How to consume the patch; the same modes as `scan --mode` (default: `agent`). |
|`--preserve-state`|`SOCKET_PRESERVE_STATE`| Unpatch the system but keep the local patch state — manifest entries, vendored artifacts + ledger entries — for a later re-apply, and skip GC. Hosted patches have no preservable state (the lockfile is their only record) and are restored to upstream either way. |
1136
-
|`--one-off`|`SOCKET_ONE_OFF`| Reserved: rollback by fetching original (`beforeHash`) files from the API, no manifest required. **Not yet implemented** — the command currently errors up front. |
0 commit comments