@@ -26,3 +26,3 @@ { | ||
| "name": "patchloom", | ||
| "version": "0.23.0" | ||
| "version": "0.24.0" | ||
| }, | ||
@@ -546,3 +546,3 @@ "node_modules/@isaacs/cliui": { | ||
| "requires": true, | ||
| "version": "0.23.0" | ||
| "version": "0.24.0" | ||
| } |
+2
-2
| { | ||
| "artifactDownloadUrls": [ | ||
| "https://github.com/patchloom/patchloom/releases/download/patchloom-v0.23.0" | ||
| "https://github.com/patchloom/patchloom/releases/download/patchloom-v0.24.0" | ||
| ], | ||
@@ -136,3 +136,3 @@ "author": "Sebastien Tardif", | ||
| }, | ||
| "version": "0.23.0", | ||
| "version": "0.24.0", | ||
| "volta": { | ||
@@ -139,0 +139,0 @@ "node": "18.14.1", |
+8
-3
@@ -286,3 +286,3 @@ <p align="center"> | ||
| 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. | ||
| **Coding agents:** set `PATCHLOOM_MCP_SURFACE=core` for an 11-tool pack (`list_files`, search/read/replace, doc/md, `execute_plan`, `server_info`) so schemas stay small. Product default remains full inventory when the env is unset. Prefer Patchloom MCP alone for list+edit (no second filesystem MCP). See the [MCP setup guide](./docs/getting-started/mcp-setup.md) for Cursor / Claude / Codex paste configs and the full security model. | ||
@@ -293,2 +293,6 @@ > **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. | ||
| Host teams embedding Patchloom instead of a private edit stack: see the | ||
| [embedder host case study](./docs/blog/embedder-host-case-study.md) | ||
| (`for_agent`, peels, fuzzy refuse, apply_fragment, path-only ops). | ||
| Add patchloom as a dependency (omit CLI/MCP/AST with `default-features = false`): | ||
@@ -323,2 +327,3 @@ | ||
| // for_agent auto-refuses over-wide fuzzy; custom options use api::fuzzy_span_suspicious | ||
| // Buffer multi-op + host write: api::refuse_batch_if_suspicious_fuzzy after apply_content_edits | ||
| // Invalid options and bad regex peel InvalidInput (CLI/tx typed errors included) | ||
@@ -354,3 +359,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()` 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). | ||
| 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; buffer multi-op hosts call `api::refuse_batch_if_suspicious_fuzzy` after `apply_content_edits` (#2064). 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). | ||
@@ -480,3 +485,3 @@ ## Getting started | ||
| **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. | ||
| **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` + `refuse_batch_if_suspicious_fuzzy` after buffer multi-op (#2064), 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. | ||
@@ -483,0 +488,0 @@ **Context budget:** line-range `read`, `search --count` / `--files-with-matches`, one `batch`/`tx`, `--jsonl` for large streams. |
Sorry, the diff of this file is too big to display
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 2 instances
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 2 instances
282583
0.98%547
0.92%