mcp-scraper 0.28.2 → 0.28.3

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 CHANGED
@@ -88,7 +88,7 @@ Build the branded one-click bundle:
88
88
  npm run build:mcpb
89
89
  ```
90
90
 
91
- The generated bundle is written to `build/mcpb/mcp-scraper-<version>.mcpb` and copied to `public/downloads/` for the hosted download. The current public bundle is `https://mcpscraper.dev/downloads/mcp-scraper.mcpb` (`0.28.2`, SHA-256 `f44ab0f1ce8ef9680558b6f3e7e21cf45d1621a826f1b803180512c7baa9a4fb`). Install it by opening or dragging it into Claude Desktop. Claude displays the `MCP Scraper` install card, icon, and API-key configuration field from the bundle manifest.
91
+ The generated bundle is written to `build/mcpb/mcp-scraper-<version>.mcpb` and copied to `public/downloads/` for the hosted download. The current public bundle is `https://mcpscraper.dev/downloads/mcp-scraper.mcpb` (`0.28.3`, SHA-256 `81df6a65eec545f0b7f45e63d7ddd4214b96c551a55cc3341402eadd1c4ad038`). Install it by opening or dragging it into Claude Desktop. Claude displays the `MCP Scraper` install card, icon, and API-key configuration field from the bundle manifest.
92
92
 
93
93
  The MCPB install exposes every tool — web-intelligence plus all `browser_*` tools — through the one `mcp-scraper` server.
94
94
 
@@ -29723,7 +29723,7 @@ var PACKAGE_VERSION;
29723
29723
  var init_version = __esm({
29724
29724
  "src/version.ts"() {
29725
29725
  "use strict";
29726
- PACKAGE_VERSION = "0.28.2";
29726
+ PACKAGE_VERSION = "0.28.3";
29727
29727
  }
29728
29728
  });
29729
29729
 
@@ -41197,7 +41197,7 @@ function cors(c) {
41197
41197
  const local = !!origin && /^http:\/\/localhost(?::\d+)?$/.test(origin);
41198
41198
  if (origin && (configured.includes(origin) || local)) c.header("Access-Control-Allow-Origin", origin);
41199
41199
  c.header("Vary", "Origin");
41200
- c.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
41200
+ c.header("Access-Control-Allow-Methods", "GET, POST, DELETE, OPTIONS");
41201
41201
  c.header("Access-Control-Allow-Headers", "content-type");
41202
41202
  }
41203
41203
  function workspaceRecord(vault, note) {
@@ -41358,6 +41358,26 @@ var init_vault_routes = __esm({
41358
41358
  }, token);
41359
41359
  return c.json(result, result.ok ? 200 : result.conflict ? 409 : 502);
41360
41360
  });
41361
+ vaultApp.delete("/api/records", async (c) => {
41362
+ const body = await c.req.json().catch(() => ({}));
41363
+ const token = typeof body.token === "string" ? body.token : void 0;
41364
+ if (!validToken(token)) return c.json({ ok: false, error: "missing or malformed Vault App link" }, 401);
41365
+ const vault = body.vault;
41366
+ const path6 = stringValue(body.path, 320);
41367
+ const baseRevision = typeof body.baseRevision === "number" && Number.isInteger(body.baseRevision) ? body.baseRevision : void 0;
41368
+ if (vault !== "Tasks" || !path6) return c.json({ ok: false, error: "only a valid task record can be deleted" }, 400);
41369
+ const current = await readMemory("getTool", { vault, path: path6 }, token);
41370
+ if (!current.ok || !current.note) return c.json(current, current.ok ? 404 : 502);
41371
+ if (!["task", "milestone"].includes(typeof current.note.props?.type === "string" ? current.note.props.type : defaultType("Tasks"))) {
41372
+ return c.json({ ok: false, error: "only task records can be deleted" }, 400);
41373
+ }
41374
+ const result = await memoryCall("deleteNoteTool", {
41375
+ vault,
41376
+ path: path6,
41377
+ baseRevision: baseRevision ?? current.note.revision
41378
+ }, token);
41379
+ return c.json(result, result.ok ? 200 : result.conflict ? 409 : 502);
41380
+ });
41361
41381
  vaultApp.post("/api/communications/review", async (c) => {
41362
41382
  const body = await c.req.json().catch(() => ({}));
41363
41383
  const token = typeof body.token === "string" ? body.token : void 0;