pipebrain-mcp 0.37.2 → 0.37.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/dist/main.js +39 -9
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -357,12 +357,35 @@ var require_main = __commonJS({
|
|
|
357
357
|
});
|
|
358
358
|
|
|
359
359
|
// ../../libs/agent-shared/dist/agent-config.js
|
|
360
|
+
import { createHash } from "node:crypto";
|
|
360
361
|
import { existsSync, readFileSync } from "node:fs";
|
|
361
362
|
import { homedir } from "node:os";
|
|
362
363
|
import { join } from "node:path";
|
|
363
364
|
|
|
364
365
|
// ../../libs/agent-shared/dist/agent-config-manifest.js
|
|
365
|
-
var
|
|
366
|
+
var AGENT_CONFIG_ENTRIES = [
|
|
367
|
+
{ target: "agents/blind-spot-pass.md", sha256: "564751a751f7896e89c67e0d20788aff873e599766a3c30360073ba74e4c6099" },
|
|
368
|
+
{ target: "agents/code-verifier.md", sha256: "5a09f0f9d6b4c4d75068bfc5e314b3d1250de9328806e709d0c32d1369394124" },
|
|
369
|
+
{ target: "agents/heavy-implementer.md", sha256: "7d3af78d4241aaa67c283db245dd4065af6e8f55efce54c2f8623c1f83879830" },
|
|
370
|
+
{ target: "agents/spec-reviewer.md", sha256: "a46dc637006d1f810081046c57edcd731406727810ccc5e0b1c7d7b9b98be5ef" },
|
|
371
|
+
{ target: "agents/surgical-editor.md", sha256: "c8b7fe2ec8d76c396c0c698f36b0523be430b31e4b73b902409479a52d42ea5c" },
|
|
372
|
+
{ target: "pipebrain/hooks/block-bash4-features.js", sha256: "383b38169a1795d9da34aa1c939349b6a1f76bba1359d0af7fd14c11ea5da25f" },
|
|
373
|
+
{ target: "pipebrain/hooks/block-browser-dialogs.js", sha256: "b4f16a249881e6bd3c8d7f270c955270047a0636ffa99b89ad409fefd44b2b2f" },
|
|
374
|
+
{ target: "pipebrain/hooks/block-credential-echo.js", sha256: "a22ad6746158df0b6cc80039b82ab9a9ba269aab535d5c01b6c917223b10c15c" },
|
|
375
|
+
{ target: "pipebrain/hooks/pre-commit-publication-fitness.js", sha256: "f2917cd369c03004a8d02410f695efa3400bcd4f2044d1d389e5ad2c7a9dae5f" },
|
|
376
|
+
{ target: "pipebrain/hooks/pre-commit-secret-scan.js", sha256: "1bc634774184e66748b3152016e806ef974449e976920fd710732170fdb4ad6b" },
|
|
377
|
+
{ target: "pipebrain/hooks/stop-orphaned-servers.js", sha256: "c3b847832c60605278e54ca1067c216bee073ab0a4bb046439b5f184b728792a" },
|
|
378
|
+
{ target: "pipebrain/team.md", sha256: "341c72843253f594632f3c0762e3ee045bdb8703189b80c71d0ab58cbf07eb82" },
|
|
379
|
+
{ target: "rules/react-tailwind.md", sha256: "80bb51b2d8fd5782b7c742526544e7841ee38aa575faf7a8c7b4217ba5731989" },
|
|
380
|
+
{ target: "rules/shell.md", sha256: "499aac60b6419acb0bb362c0267b9399139dcceafb0eaf67702e40f3118b5c04" },
|
|
381
|
+
{ target: "rules/typescript.md", sha256: "c55eab0c243e38cdf903ab50b1e9d6d621516b893e602e1abff9a999a14e72d4" },
|
|
382
|
+
{ target: "skills/capture-correction/SKILL.md", sha256: "ebd2ee680a623f54a2a35b2ac75471902f30bd17013c34557fd4ae4a9add3f68" },
|
|
383
|
+
{ target: "skills/pipebrain-secrets/SKILL.md", sha256: "1b873f0a12c1384fbb84d071c4f46554cbff22fc502223ad58acd29578912ca6" },
|
|
384
|
+
{ target: "skills/pipebrain-work-session/SKILL.md", sha256: "1051dd142f61b8b4a3c4f8be11874a3d2541fd905763350ff3ef05e586c9bc8d" },
|
|
385
|
+
{ target: "skills/pipebrain-writing/SKILL.md", sha256: "92422f4ab49a83f470625c62dce070d0cd1caf1212f1bb2668b1bbba5428c5b6" },
|
|
386
|
+
{ target: "skills/pipebrain/SKILL.md", sha256: "d30b133f64edb5fbd018eac4f8cd7316cb02fef39c9b5d2f275b5b9c1b20b6a2" },
|
|
387
|
+
{ target: "skills/requirements-altitude/SKILL.md", sha256: "05524877946cb1d25b32cac33f30617ba317207cd0862526e4cfbb944b18c181" }
|
|
388
|
+
];
|
|
366
389
|
|
|
367
390
|
// ../../libs/agent-shared/dist/agent-config.js
|
|
368
391
|
function agentConfigDir(env = process.env) {
|
|
@@ -388,11 +411,18 @@ function readInstalledStamp(dir) {
|
|
|
388
411
|
return null;
|
|
389
412
|
}
|
|
390
413
|
}
|
|
391
|
-
function agentConfigStatus(dir,
|
|
392
|
-
|
|
393
|
-
if (stamp === null)
|
|
414
|
+
function agentConfigStatus(dir, entries = AGENT_CONFIG_ENTRIES) {
|
|
415
|
+
if (readInstalledStamp(dir) === null)
|
|
394
416
|
return "absent";
|
|
395
|
-
|
|
417
|
+
for (const entry of entries) {
|
|
418
|
+
const file2 = join(dir, entry.target);
|
|
419
|
+
if (!existsSync(file2))
|
|
420
|
+
return "behind";
|
|
421
|
+
if (createHash("sha256").update(readFileSync(file2)).digest("hex") !== entry.sha256) {
|
|
422
|
+
return "behind";
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
return "current";
|
|
396
426
|
}
|
|
397
427
|
var UPDATE_COMMAND = "ppb setup";
|
|
398
428
|
function agentConfigNotice(status) {
|
|
@@ -400,7 +430,7 @@ function agentConfigNotice(status) {
|
|
|
400
430
|
}
|
|
401
431
|
|
|
402
432
|
// ../../libs/agent-shared/dist/asset-transfer.js
|
|
403
|
-
import { createHash } from "node:crypto";
|
|
433
|
+
import { createHash as createHash2 } from "node:crypto";
|
|
404
434
|
import { existsSync as existsSync2, readFileSync as readFileSync2, writeFileSync } from "node:fs";
|
|
405
435
|
import { basename, extname } from "node:path";
|
|
406
436
|
var MIME_BY_EXT = {
|
|
@@ -429,7 +459,7 @@ async function uploadAssetFromPath(client2, apiBaseUrl, input) {
|
|
|
429
459
|
const bytes = readFileSync2(input.path);
|
|
430
460
|
const filename = basename(input.path);
|
|
431
461
|
const contentType = input.contentType ?? guessContentType(filename);
|
|
432
|
-
const sha256 =
|
|
462
|
+
const sha256 = createHash2("sha256").update(bytes).digest("hex");
|
|
433
463
|
const { asset, uploadUrl } = await client2.createAsset({
|
|
434
464
|
project: input.project,
|
|
435
465
|
filename,
|
|
@@ -459,7 +489,7 @@ async function downloadAssetToPath(client2, input) {
|
|
|
459
489
|
throw new Error(`asset ${input.asset} is ${asset.status}, not active \u2014 no bytes to download.`);
|
|
460
490
|
}
|
|
461
491
|
const buf = Buffer.from(await client2.downloadAsset(input.asset));
|
|
462
|
-
const got =
|
|
492
|
+
const got = createHash2("sha256").update(buf).digest("hex");
|
|
463
493
|
if (got !== asset.sha256) {
|
|
464
494
|
throw new Error(`integrity check failed: downloaded sha256 ${got} != recorded ${asset.sha256}.`);
|
|
465
495
|
}
|
|
@@ -17894,7 +17924,7 @@ function loadMcpConfig() {
|
|
|
17894
17924
|
}
|
|
17895
17925
|
|
|
17896
17926
|
// src/version.ts
|
|
17897
|
-
var VERSION = "0.37.
|
|
17927
|
+
var VERSION = "0.37.3";
|
|
17898
17928
|
|
|
17899
17929
|
// src/main.ts
|
|
17900
17930
|
var config2 = loadMcpConfig();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pipebrain-mcp",
|
|
3
|
-
"version": "0.37.
|
|
3
|
+
"version": "0.37.3",
|
|
4
4
|
"description": "Pipebrain MCP server for Claude Code and Claude Desktop — issues, requirements, content, assets, and metadata-only secrets over the Pipebrain API.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|