🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

patchloom

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

patchloom - npm Package Compare versions

Comparing version
0.21.0
to
0.22.0
+2
-2
npm-shrinkwrap.json

@@ -26,3 +26,3 @@ {

"name": "patchloom",
"version": "0.21.0"
"version": "0.22.0"
},

@@ -546,3 +546,3 @@ "node_modules/@isaacs/cliui": {

"requires": true,
"version": "0.21.0"
"version": "0.22.0"
}
{
"artifactDownloadUrls": [
"https://github.com/patchloom/patchloom/releases/download/patchloom-v0.21.0"
"https://github.com/patchloom/patchloom/releases/download/patchloom-v0.22.0"
],

@@ -136,3 +136,3 @@ "author": "Sebastien Tardif",

},
"version": "0.21.0",
"version": "0.22.0",
"volta": {

@@ -139,0 +139,0 @@ "node": "18.14.1",

@@ -29,3 +29,3 @@ <p align="center">

![Patchloom demo: 6 edits across 4 files in JSON, YAML, and TOML — one command, comments preserved](demo/demo.gif)
![Patchloom demo: 6 edits across 4 files in JSON, YAML, and TOML: one command, comments preserved](demo/demo.gif)

@@ -181,3 +181,3 @@ ```bash

# Chocolatey (Windows; community feed — newer versions may lag moderation)
# Chocolatey (Windows; community feed; newer versions may lag moderation)
choco install patchloom

@@ -282,3 +282,3 @@ ```

See the [MCP setup guide](./docs/getting-started/mcp-setup.md) for per-agent configuration and the full security model.
Small agents that choke on large tool schemas can set `PATCHLOOM_MCP_SURFACE=core` for a 10-tool pack at handshake (default remains full inventory). See the [MCP setup guide](./docs/getting-started/mcp-setup.md) for per-agent configuration, surface options, and the full security model.

@@ -317,3 +317,3 @@ > **Using VS Code, Cursor, or Windsurf?** The [Patchloom extension](https://marketplace.visualstudio.com/items?itemName=patchloom.patchloom) handles setup automatically: it installs the binary, runs init, and configures your editor's MCP settings.

}
// After fuzzy Apply: refuse over-wide spans before trust (api::fuzzy_span_suspicious)
// for_agent auto-refuses over-wide fuzzy; custom options use api::fuzzy_span_suspicious
// Invalid options and bad regex peel InvalidInput (CLI/tx typed errors included)

@@ -349,3 +349,3 @@ match api::replace_in_content("body", "", "x", &ReplaceOptions::default()) {

Replace fail-closed / shell-token options: CLI `replace --require-change` and `--command-position` (also plan/MCP fields and `ReplaceOptions` on the library). Agent hosts: `ReplaceOptions::for_agent()` plus `api::fuzzy_span_suspicious` after fuzzy Apply. Library-only AST mutators: `ast_rename` / `ast_replace_in_symbol` / `ast_rename_batch` (feature `ast` + `files`), and `FunctionSigEdit::parse_rust`. Host checklist: [Embedder host](docs/getting-started/embedder-host.md). Full surface: [docs.rs/patchloom](https://docs.rs/patchloom).
Replace fail-closed / shell-token options: CLI `replace --require-change` and `--command-position` (also plan/MCP fields and `ReplaceOptions` on the library). Agent hosts: `ReplaceOptions::for_agent()` on **primary and fallback** replace paths (auto span refuse); custom options still call `api::fuzzy_span_suspicious` / `FuzzySpanPolicy` after fuzzy Apply. Library-only AST mutators: `ast_rename` / `ast_replace_in_symbol` / `ast_rename_batch` (feature `ast` + `files`), and `FunctionSigEdit::parse_rust`. Ordered host onboarding: [Embedder host checklist](docs/getting-started/embedder-host.md) (#2009). Full surface: [docs.rs/patchloom](https://docs.rs/patchloom).

@@ -385,2 +385,3 @@ ## Getting started

| `replace` | Mechanical string replacement across text files with diff preview |
| `apply-fragment` | Freeform fragment with required anchors (Morph markers stripped; no model merge) |
| `append` | Append content to an existing file |

@@ -474,3 +475,3 @@ | `prepend` | Prepend content to an existing file |

**Library hosts:** `ReplaceOptions::for_agent()`, peels via `edit_error_kind` / `is_*`, and after fuzzy Apply `api::fuzzy_span_suspicious` (Patchloom does not auto-refuse over-wide spans).
**Library hosts:** [Embedder host checklist](docs/getting-started/embedder-host.md) — dual-path `ReplaceOptions::for_agent()` (primary + fallback, includes `refuse_suspicious_fuzzy`), peels via `edit_error_kind` / `is_*` / `is_fuzzy_span_suspicious` with `#[non_exhaustive]` `_` arm, multi-op `ContentEditsResult.op_honesty`, plan/tx widest `matched_text`, optional `apply_content_edits_to_file_with_span_policy`. Custom options still use `api::fuzzy_span_suspicious` / `FuzzySpanPolicy` after fuzzy Apply.

@@ -505,3 +506,3 @@ **Context budget:** line-range `read`, `search --count` / `--files-with-matches`, one `batch`/`tx`, `--jsonl` for large streams.

3900+ tests across 23 commands. Tested with Grok 4.3, GPT-5.4, and Claude Opus 4.6.
3900+ tests across 24 commands. Tested with Grok 4.3, GPT-5.4, and Claude Opus 4.6.

@@ -508,0 +509,0 @@ | Component | Status |

Sorry, the diff of this file is too big to display