@kryptosai/mcp-observatory 0.26.1 → 0.28.0
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/COMMERCIAL.md +13 -9
- package/CONTRIBUTORS.md +39 -0
- package/PRIVACY.md +5 -5
- package/README.md +83 -30
- package/TERMS.md +1 -1
- package/dist/src/adapters/http.js +1 -5
- package/dist/src/adapters/http.js.map +1 -1
- package/dist/src/cassette.js +3 -2
- package/dist/src/cassette.js.map +1 -1
- package/dist/src/checks/attack-sim.d.ts +18 -0
- package/dist/src/checks/attack-sim.js +304 -0
- package/dist/src/checks/attack-sim.js.map +1 -0
- package/dist/src/checks/schema-quality.js +1 -0
- package/dist/src/checks/schema-quality.js.map +1 -1
- package/dist/src/ci-issue.js +4 -3
- package/dist/src/ci-issue.js.map +1 -1
- package/dist/src/cli.js +17 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/attack-sim.d.ts +2 -0
- package/dist/src/commands/attack-sim.js +168 -0
- package/dist/src/commands/attack-sim.js.map +1 -0
- package/dist/src/commands/helpers.d.ts +3 -1
- package/dist/src/commands/helpers.js +2 -2
- package/dist/src/commands/helpers.js.map +1 -1
- package/dist/src/commands/init-ci.d.ts +3 -0
- package/dist/src/commands/init-ci.js +57 -11
- package/dist/src/commands/init-ci.js.map +1 -1
- package/dist/src/commands/legacy.js +24 -3
- package/dist/src/commands/legacy.js.map +1 -1
- package/dist/src/commands/scan.js +37 -10
- package/dist/src/commands/scan.js.map +1 -1
- package/dist/src/commands/serve.js +9 -1
- package/dist/src/commands/serve.js.map +1 -1
- package/dist/src/commands/setup-ci-conversion.d.ts +26 -0
- package/dist/src/commands/setup-ci-conversion.js +120 -0
- package/dist/src/commands/setup-ci-conversion.js.map +1 -0
- package/dist/src/commands/telemetry.js +20 -14
- package/dist/src/commands/telemetry.js.map +1 -1
- package/dist/src/commands/test.js +63 -4
- package/dist/src/commands/test.js.map +1 -1
- package/dist/src/findings.d.ts +20 -0
- package/dist/src/findings.js +272 -0
- package/dist/src/findings.js.map +1 -0
- package/dist/src/history.js +3 -2
- package/dist/src/history.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/integrations/smithery.js +5 -1
- package/dist/src/integrations/smithery.js.map +1 -1
- package/dist/src/reporters/attack-sim.d.ts +2 -0
- package/dist/src/reporters/attack-sim.js +84 -0
- package/dist/src/reporters/attack-sim.js.map +1 -0
- package/dist/src/reporters/pr-comment.js +20 -6
- package/dist/src/reporters/pr-comment.js.map +1 -1
- package/dist/src/reporters/sarif.d.ts +4 -1
- package/dist/src/reporters/sarif.js +58 -37
- package/dist/src/reporters/sarif.js.map +1 -1
- package/dist/src/runner.d.ts +3 -0
- package/dist/src/runner.js +5 -0
- package/dist/src/runner.js.map +1 -1
- package/dist/src/score.js +1 -1
- package/dist/src/score.js.map +1 -1
- package/dist/src/storage.d.ts +1 -0
- package/dist/src/storage.js +28 -2
- package/dist/src/storage.js.map +1 -1
- package/dist/src/telemetry.d.ts +6 -0
- package/dist/src/telemetry.js +17 -1
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/utils/files.d.ts +1 -0
- package/dist/src/utils/files.js +21 -0
- package/dist/src/utils/files.js.map +1 -0
- package/dist/src/utils/ids.js +18 -5
- package/dist/src/utils/ids.js.map +1 -1
- package/dist/src/utils/url.d.ts +2 -0
- package/dist/src/utils/url.js +15 -0
- package/dist/src/utils/url.js.map +1 -0
- package/dist/src/validate.js +1 -1
- package/dist/src/validate.js.map +1 -1
- package/docs/agent-ecosystem-promotion-plan.md +244 -0
- package/docs/agent-runtime-quickstart.md +98 -0
- package/docs/agent-tasks.md +95 -0
- package/docs/automatic-ci-integration.md +33 -0
- package/docs/campaign-attribution.md +58 -0
- package/docs/code-scanning-demo.md +57 -0
- package/docs/code-scanning-launch-outreach.md +55 -0
- package/docs/contributor-proof-cards/README.md +33 -0
- package/docs/contributor-recognition.md +92 -0
- package/docs/feishu-lark-mcp.md +3 -3
- package/docs/github-code-scanning-for-mcp.md +94 -0
- package/docs/launch.md +64 -0
- package/docs/mcp-attack-simulator.md +57 -0
- package/docs/mcp-server-safety-index.md +18 -12
- package/docs/metrics-dashboard.md +2 -2
- package/docs/openclaw-agent-template/SOUL.md +156 -0
- package/docs/proof.md +7 -4
- package/docs/receipt-graph.md +54 -0
- package/docs/safety-index/artifacts/antv-chart-server.json +21 -21
- package/docs/safety-index/artifacts/antv-chart-server.md +10 -10
- package/docs/safety-index/artifacts/browsermcp-server.json +17 -17
- package/docs/safety-index/artifacts/browsermcp-server.md +10 -10
- package/docs/safety-index/artifacts/context7-server.json +17 -17
- package/docs/safety-index/artifacts/context7-server.md +10 -10
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +2014 -0
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +163 -0
- package/docs/safety-index/artifacts/everything-server.json +131 -56
- package/docs/safety-index/artifacts/everything-server.md +24 -24
- package/docs/safety-index/artifacts/executeautomation-playwright-server.json +26 -18
- package/docs/safety-index/artifacts/executeautomation-playwright-server.md +10 -10
- package/docs/safety-index/artifacts/filesystem-server.json +128 -20
- package/docs/safety-index/artifacts/filesystem-server.md +10 -10
- package/docs/safety-index/artifacts/kubernetes-server.attack.json +1559 -0
- package/docs/safety-index/artifacts/kubernetes-server.attack.md +43 -0
- package/docs/safety-index/artifacts/kubernetes-server.attack.sarif +2857 -0
- package/docs/safety-index/artifacts/kubernetes-server.json +1348 -0
- package/docs/safety-index/artifacts/kubernetes-server.md +150 -0
- package/docs/safety-index/artifacts/memory-server.json +75 -32
- package/docs/safety-index/artifacts/memory-server.md +35 -28
- package/docs/safety-index/artifacts/opentofu-server.json +25 -17
- package/docs/safety-index/artifacts/opentofu-server.md +11 -11
- package/docs/safety-index/artifacts/playwright-mcp-server.json +56 -20
- package/docs/safety-index/artifacts/playwright-mcp-server.md +12 -12
- package/docs/safety-index/artifacts/promptopia-server.json +28 -20
- package/docs/safety-index/artifacts/promptopia-server.md +11 -11
- package/docs/safety-index/artifacts/puppeteer-server.json +42 -30
- package/docs/safety-index/artifacts/puppeteer-server.md +28 -28
- package/docs/safety-index/artifacts/ref-tools-server.json +17 -17
- package/docs/safety-index/artifacts/ref-tools-server.md +9 -9
- package/docs/safety-index/artifacts/sequential-thinking-server.json +20 -21
- package/docs/safety-index/artifacts/sequential-thinking-server.md +10 -10
- package/docs/safety-index/targets.json +90 -14
- package/docs/setup-ci-doctor.md +2 -0
- package/docs/target-contribution-guide.md +139 -0
- package/docs/target-gallery.md +49 -0
- package/docs/target-registry.md +120 -0
- package/docs/tool-call-receipts.md +116 -0
- package/package.json +52 -9
- package/schemas/run-artifact.schema.json +1 -0
- package/scripts/postinstall.mjs +123 -0
- package/docs/certification-campaign-template.md +0 -181
- package/docs/certification-distribution.md +0 -145
- package/docs/certification-pr-campaign.md +0 -68
- package/docs/clone-to-ci-campaign.md +0 -62
- package/docs/directory-listing-copy.md +0 -85
- package/docs/distribution-launch.md +0 -76
- package/docs/ecosystem-distribution-kit.md +0 -79
- package/docs/enterprise-outreach-playbook.md +0 -83
- package/docs/paid-pilot-offer.md +0 -74
- package/docs/project-case-study.md +0 -140
- package/docs/public-post-drafts.md +0 -98
- package/docs/publish-readiness.md +0 -79
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-comment.js","sourceRoot":"","sources":["../../../src/reporters/pr-comment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pr-comment.js","sourceRoot":"","sources":["../../../src/reporters/pr-comment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import type { RunArtifact } from "../types.js";
|
|
2
|
-
export
|
|
2
|
+
export interface RenderSarifOptions {
|
|
3
|
+
artifactUri?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function renderSarif(artifact: RunArtifact, options?: RenderSarifOptions): string;
|
|
@@ -1,48 +1,66 @@
|
|
|
1
|
+
import { extractObservatoryFindings } from "../findings.js";
|
|
1
2
|
import { TOOL_VERSION } from "../version.js";
|
|
2
|
-
function
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
function levelFromSeverity(severity) {
|
|
4
|
+
if (severity === "high")
|
|
5
|
+
return "error";
|
|
6
|
+
if (severity === "medium")
|
|
7
|
+
return "warning";
|
|
8
|
+
return "note";
|
|
9
|
+
}
|
|
10
|
+
function defaultArtifactUri(artifact) {
|
|
11
|
+
return `.mcp-observatory/runs/${artifact.runId}.json`;
|
|
12
|
+
}
|
|
13
|
+
function ruleTitle(finding) {
|
|
14
|
+
return finding.title.length > 0 ? finding.title : finding.ruleId;
|
|
9
15
|
}
|
|
10
|
-
export function renderSarif(artifact) {
|
|
16
|
+
export function renderSarif(artifact, options = {}) {
|
|
11
17
|
const rules = [];
|
|
12
18
|
const results = [];
|
|
13
19
|
const seenRules = new Set();
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
const findings = extractObservatoryFindings(artifact);
|
|
21
|
+
const artifactUri = options.artifactUri ?? defaultArtifactUri(artifact);
|
|
22
|
+
for (const finding of findings) {
|
|
23
|
+
if (!seenRules.has(finding.ruleId)) {
|
|
24
|
+
seenRules.add(finding.ruleId);
|
|
18
25
|
rules.push({
|
|
19
|
-
id: ruleId,
|
|
20
|
-
name:
|
|
21
|
-
shortDescription: { text:
|
|
22
|
-
defaultConfiguration: { level:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
: "note";
|
|
32
|
-
results.push({
|
|
33
|
-
ruleId,
|
|
34
|
-
level,
|
|
35
|
-
message: { text: diagnostic.replace(/^\[(high|medium|low)\]\s*/, "") },
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else if (check.status !== "pass" && check.status !== "skipped" && check.status !== "unsupported") {
|
|
40
|
-
results.push({
|
|
41
|
-
ruleId,
|
|
42
|
-
level: levelFromStatus(check.status),
|
|
43
|
-
message: { text: check.message },
|
|
26
|
+
id: finding.ruleId,
|
|
27
|
+
name: ruleTitle(finding),
|
|
28
|
+
shortDescription: { text: ruleTitle(finding) },
|
|
29
|
+
defaultConfiguration: { level: levelFromSeverity(finding.severity) },
|
|
30
|
+
help: finding.recommendation ? { text: finding.recommendation } : undefined,
|
|
31
|
+
helpUri: `https://github.com/KryptosAI/mcp-observatory/tree/main/docs`,
|
|
32
|
+
properties: {
|
|
33
|
+
category: finding.category,
|
|
34
|
+
checkId: finding.checkId,
|
|
35
|
+
controlRefs: finding.controlRefs,
|
|
36
|
+
tags: ["mcp", "mcp-observatory", finding.category, ...finding.controlRefs],
|
|
37
|
+
},
|
|
44
38
|
});
|
|
45
39
|
}
|
|
40
|
+
results.push({
|
|
41
|
+
ruleId: finding.ruleId,
|
|
42
|
+
level: levelFromSeverity(finding.severity),
|
|
43
|
+
message: { text: finding.message },
|
|
44
|
+
locations: [{
|
|
45
|
+
physicalLocation: {
|
|
46
|
+
artifactLocation: { uri: artifactUri },
|
|
47
|
+
region: { startLine: 1 },
|
|
48
|
+
},
|
|
49
|
+
}],
|
|
50
|
+
partialFingerprints: {
|
|
51
|
+
"mcp-observatory/finding-id": finding.id,
|
|
52
|
+
},
|
|
53
|
+
properties: {
|
|
54
|
+
id: finding.id,
|
|
55
|
+
category: finding.category,
|
|
56
|
+
checkId: finding.checkId,
|
|
57
|
+
targetId: artifact.target.targetId,
|
|
58
|
+
subject: finding.subject,
|
|
59
|
+
severity: finding.severity,
|
|
60
|
+
controlRefs: finding.controlRefs,
|
|
61
|
+
tags: ["mcp", "mcp-observatory", finding.category, ...finding.controlRefs],
|
|
62
|
+
},
|
|
63
|
+
});
|
|
46
64
|
}
|
|
47
65
|
const sarif = {
|
|
48
66
|
$schema: "https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json",
|
|
@@ -57,6 +75,9 @@ export function renderSarif(artifact) {
|
|
|
57
75
|
rules,
|
|
58
76
|
},
|
|
59
77
|
},
|
|
78
|
+
automationDetails: {
|
|
79
|
+
id: `mcp-observatory/${artifact.target.targetId}`,
|
|
80
|
+
},
|
|
60
81
|
results,
|
|
61
82
|
},
|
|
62
83
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sarif.js","sourceRoot":"","sources":["../../../src/reporters/sarif.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sarif.js","sourceRoot":"","sources":["../../../src/reporters/sarif.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA2B,MAAM,gBAAgB,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AA8B7C,SAAS,iBAAiB,CAAC,QAAwC;IACjE,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC;IACxC,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAqB;IAC/C,OAAO,yBAAyB,QAAQ,CAAC,KAAK,OAAO,CAAC;AACxD,CAAC;AAED,SAAS,SAAS,CAAC,OAA2B;IAC5C,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAqB,EAAE,UAA8B,EAAE;IACjF,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAExE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,OAAO,CAAC,MAAM;gBAClB,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC;gBACxB,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE;gBAC9C,oBAAoB,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACpE,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC3E,OAAO,EAAE,6DAA6D;gBACtE,UAAU,EAAE;oBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;iBAC3E;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE;YAClC,SAAS,EAAE,CAAC;oBACV,gBAAgB,EAAE;wBAChB,gBAAgB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;wBACtC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;qBACzB;iBACF,CAAC;YACF,mBAAmB,EAAE;gBACnB,4BAA4B,EAAE,OAAO,CAAC,EAAE;aACzC;YACD,UAAU,EAAE;gBACV,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;gBAClC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;aAC3E;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,4FAA4F;QACrG,OAAO,EAAE,OAAgB;QACzB,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,YAAY;wBACrB,cAAc,EAAE,8CAA8C;wBAC9D,KAAK;qBACN;iBACF;gBACD,iBAAiB,EAAE;oBACjB,EAAE,EAAE,mBAAmB,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;iBAClD;gBACD,OAAO;aACR;SACF;KACF,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/src/runner.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { CassetteEntry } from "./cassette.js";
|
|
2
2
|
import type { RunArtifact, TargetConfig } from "./types.js";
|
|
3
3
|
export interface RunOptions {
|
|
4
|
+
attackSimulation?: {
|
|
5
|
+
baseline?: RunArtifact;
|
|
6
|
+
};
|
|
4
7
|
invokeTools?: boolean;
|
|
5
8
|
record?: boolean;
|
|
6
9
|
securityCheck?: boolean;
|
package/dist/src/runner.js
CHANGED
|
@@ -3,6 +3,7 @@ import { performance } from "node:perf_hooks";
|
|
|
3
3
|
import { HttpAdapter } from "./adapters/http.js";
|
|
4
4
|
import { AdapterConnectError, LocalProcessAdapter } from "./adapters/local-process.js";
|
|
5
5
|
import { runConformanceCheck } from "./checks/conformance.js";
|
|
6
|
+
import { runAttackSimulationCheck } from "./checks/attack-sim.js";
|
|
6
7
|
import { runPromptsCheck } from "./checks/prompts.js";
|
|
7
8
|
import { runResourcesCheck } from "./checks/resources.js";
|
|
8
9
|
import { runSchemaQualityCheck } from "./checks/schema-quality.js";
|
|
@@ -132,6 +133,10 @@ async function runTargetWithRecording(target, options) {
|
|
|
132
133
|
const secCheck = await runSecurityCheck(checkContext, checks);
|
|
133
134
|
checks.push(secCheck.result);
|
|
134
135
|
}
|
|
136
|
+
if (options?.attackSimulation) {
|
|
137
|
+
const attackCheck = await runAttackSimulationCheck(checkContext, checks, options.attackSimulation);
|
|
138
|
+
checks.push(attackCheck.result);
|
|
139
|
+
}
|
|
135
140
|
}
|
|
136
141
|
finally {
|
|
137
142
|
// Extract cassette entries before closing
|
package/dist/src/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,SAAS,iBAAiB;IACxB,OAAO;QACL,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;KACX,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAqB,EAAE,UAAmB;IAC9D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,IAAI,GACR,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,OAAO;QACL,GAAG,MAAM;QACT,IAAI;KACL,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/src/score.js
CHANGED
|
@@ -86,7 +86,7 @@ export function computeHealthScore(checks, performanceMetrics, weights) {
|
|
|
86
86
|
const dimensions = [
|
|
87
87
|
scoreDimension("Protocol Compliance", w.protocolCompliance, checks, ["conformance"]),
|
|
88
88
|
scoreDimension("Schema Quality", w.schemaQuality, checks, ["schema-quality"]),
|
|
89
|
-
scoreDimension("Security", w.security, checks, ["security", "security-lite"]),
|
|
89
|
+
scoreDimension("Security", w.security, checks, ["security", "security-lite", "attack-sim"]),
|
|
90
90
|
scoreDimension("Reliability", w.reliability, checks, ["tools", "prompts", "resources", "tools-invoke"]),
|
|
91
91
|
scorePerformance(w.performance, performanceMetrics),
|
|
92
92
|
];
|
package/dist/src/score.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/score.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/score.ts"],"names":[],"mappings":"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"}
|
package/dist/src/storage.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ export declare function defaultRunsDirectory(cwd?: string): string;
|
|
|
4
4
|
export declare function ensureDirectory(directoryPath: string): Promise<void>;
|
|
5
5
|
export declare function writeRunArtifact(artifact: RunArtifact, outDir: string): Promise<string>;
|
|
6
6
|
export declare function findLatestArtifact(outDir: string, targetId: string, excludePath?: string): Promise<string | null>;
|
|
7
|
+
export declare function findLatestSuccessfulRunArtifact(outDir: string): Promise<string | null>;
|
|
7
8
|
export declare function readArtifact(filePath: string): Promise<Artifact>;
|
package/dist/src/storage.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { mkdir, readdir, readFile
|
|
1
|
+
import { mkdir, readdir, readFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
|
+
import { writeTextFileAtomic } from "./utils/files.js";
|
|
3
4
|
import { slugify } from "./utils/ids.js";
|
|
4
5
|
import { validateDiffArtifact, validateRunArtifact } from "./validate.js";
|
|
5
6
|
export function defaultRunsDirectory(cwd = process.cwd()) {
|
|
@@ -12,7 +13,7 @@ export async function writeRunArtifact(artifact, outDir) {
|
|
|
12
13
|
await ensureDirectory(outDir);
|
|
13
14
|
const fileName = `${artifact.createdAt.replaceAll(":", "-")}--${slugify(artifact.target.targetId)}.json`;
|
|
14
15
|
const filePath = path.join(outDir, fileName);
|
|
15
|
-
await
|
|
16
|
+
await writeTextFileAtomic(filePath, JSON.stringify(artifact, null, 2) + "\n");
|
|
16
17
|
return filePath;
|
|
17
18
|
}
|
|
18
19
|
export async function findLatestArtifact(outDir, targetId, excludePath) {
|
|
@@ -34,6 +35,31 @@ export async function findLatestArtifact(outDir, targetId, excludePath) {
|
|
|
34
35
|
return null;
|
|
35
36
|
}
|
|
36
37
|
}
|
|
38
|
+
export async function findLatestSuccessfulRunArtifact(outDir) {
|
|
39
|
+
try {
|
|
40
|
+
const entries = await readdir(outDir);
|
|
41
|
+
const candidates = entries
|
|
42
|
+
.filter((entry) => entry.endsWith(".json"))
|
|
43
|
+
.sort()
|
|
44
|
+
.reverse()
|
|
45
|
+
.map((entry) => path.join(outDir, entry));
|
|
46
|
+
for (const candidate of candidates) {
|
|
47
|
+
try {
|
|
48
|
+
const artifact = await readArtifact(candidate);
|
|
49
|
+
if (artifact.artifactType === "run" && artifact.gate === "pass" && !artifact.fatalError) {
|
|
50
|
+
return candidate;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
// Ignore malformed or stale files while looking for a usable last run.
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
37
63
|
export async function readArtifact(filePath) {
|
|
38
64
|
const content = await readFile(filePath, "utf8");
|
|
39
65
|
const data = JSON.parse(content);
|
package/dist/src/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/src/telemetry.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export interface TelemetryConfig {
|
|
|
7
7
|
export interface TelemetryEnrichment {
|
|
8
8
|
org?: string;
|
|
9
9
|
contact?: string;
|
|
10
|
+
campaign?: string;
|
|
10
11
|
ciProvider?: string;
|
|
11
12
|
serversScanned?: number;
|
|
12
13
|
toolsFound?: number;
|
|
@@ -48,6 +49,9 @@ export interface TelemetryEnrichment {
|
|
|
48
49
|
setupCiReady?: boolean;
|
|
49
50
|
setupCiFailCount?: number;
|
|
50
51
|
setupCiWarnCount?: number;
|
|
52
|
+
setupCiConversionStatus?: string;
|
|
53
|
+
setupCiPromptShown?: boolean;
|
|
54
|
+
setupCiAutoRequested?: boolean;
|
|
51
55
|
sampleReport?: boolean;
|
|
52
56
|
nightlyScan?: boolean;
|
|
53
57
|
issueCreated?: boolean;
|
|
@@ -87,6 +91,8 @@ export declare function detectCI(): {
|
|
|
87
91
|
export declare function showFirstRunNotice(): Promise<void>;
|
|
88
92
|
export declare function recordEvent(event: TelemetryEvent): void;
|
|
89
93
|
export declare function detectCiProvider(): string | undefined;
|
|
94
|
+
export declare function normalizeCampaign(value: string | undefined): string | undefined;
|
|
95
|
+
export declare function campaignFromEnv(): string | undefined;
|
|
90
96
|
export declare function collectGitHubActionsMetadata(): Pick<TelemetryEnrichment, "githubRepository" | "githubWorkflow" | "githubRunId" | "githubRunNumber" | "githubEventName" | "githubRef" | "githubActor">;
|
|
91
97
|
export declare function isFirstPartyGitHubRepository(repository: string | undefined): boolean;
|
|
92
98
|
export declare function classifyTelemetrySource(options: {
|
package/dist/src/telemetry.js
CHANGED
|
@@ -5,6 +5,7 @@ import { randomUUID } from "node:crypto";
|
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import { isCI as _isCI, ciName as _ciName } from "./ci.js";
|
|
8
|
+
import { requireHttpUrl } from "./utils/url.js";
|
|
8
9
|
import { TOOL_VERSION } from "./version.js";
|
|
9
10
|
const execFileAsync = promisify(execFile);
|
|
10
11
|
// ── Constants ────────────────────────────────────────────────────────────────
|
|
@@ -12,6 +13,7 @@ const CONFIG_DIR = path.join(os.homedir(), ".mcp-observatory");
|
|
|
12
13
|
const CONFIG_PATH = path.join(CONFIG_DIR, "config.json");
|
|
13
14
|
const DEFAULT_ENDPOINT = "https://mcp-observatory-telemetry.kryptosai.workers.dev/v1/events";
|
|
14
15
|
const FIRST_PARTY_GITHUB_REPOSITORY = "kryptosai/mcp-observatory";
|
|
16
|
+
const CAMPAIGN_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9._-]{1,63}$/;
|
|
15
17
|
// ── Config cache ─────────────────────────────────────────────────────────────
|
|
16
18
|
let _cachedConfig = null;
|
|
17
19
|
export function configDir() {
|
|
@@ -96,7 +98,7 @@ export function recordEvent(event) {
|
|
|
96
98
|
if (!isTelemetryEnabled())
|
|
97
99
|
return;
|
|
98
100
|
const debug = process.env["MCP_OBSERVATORY_TELEMETRY_DEBUG"] === "1";
|
|
99
|
-
const endpoint = process.env["MCP_OBSERVATORY_TELEMETRY_URL"] ?? DEFAULT_ENDPOINT;
|
|
101
|
+
const endpoint = requireHttpUrl(process.env["MCP_OBSERVATORY_TELEMETRY_URL"] ?? DEFAULT_ENDPOINT, "Telemetry endpoint");
|
|
100
102
|
const config = _cachedConfig;
|
|
101
103
|
const body = JSON.stringify({
|
|
102
104
|
...event,
|
|
@@ -141,6 +143,18 @@ function envValue(name) {
|
|
|
141
143
|
const value = process.env[name]?.trim();
|
|
142
144
|
return value || undefined;
|
|
143
145
|
}
|
|
146
|
+
export function normalizeCampaign(value) {
|
|
147
|
+
const campaign = value?.trim();
|
|
148
|
+
if (!campaign)
|
|
149
|
+
return undefined;
|
|
150
|
+
if (!CAMPAIGN_PATTERN.test(campaign)) {
|
|
151
|
+
throw new Error("Campaign must be a 2-64 character slug using letters, numbers, dot, underscore, or dash.");
|
|
152
|
+
}
|
|
153
|
+
return campaign;
|
|
154
|
+
}
|
|
155
|
+
export function campaignFromEnv() {
|
|
156
|
+
return normalizeCampaign(envValue("MCP_OBSERVATORY_CAMPAIGN"));
|
|
157
|
+
}
|
|
144
158
|
export function collectGitHubActionsMetadata() {
|
|
145
159
|
return {
|
|
146
160
|
githubRepository: envValue("GITHUB_REPOSITORY"),
|
|
@@ -206,6 +220,7 @@ export function _resetIdentityCache() {
|
|
|
206
220
|
export function buildEvent(event, command, transport, enrichment) {
|
|
207
221
|
const ci = detectCI();
|
|
208
222
|
const identity = _cachedIdentity;
|
|
223
|
+
const campaign = enrichment?.campaign ?? campaignFromEnv();
|
|
209
224
|
const ciProvider = enrichment?.ciProvider ?? detectCiProvider();
|
|
210
225
|
const github = ciProvider === "github-actions" ? collectGitHubActionsMetadata() : {};
|
|
211
226
|
const githubRepository = enrichment?.githubRepository ?? github.githubRepository;
|
|
@@ -236,6 +251,7 @@ export function buildEvent(event, command, transport, enrichment) {
|
|
|
236
251
|
isFirstParty: enrichment?.isFirstParty ?? classification.isFirstParty,
|
|
237
252
|
telemetrySource: enrichment?.telemetrySource ?? classification.telemetrySource,
|
|
238
253
|
...enrichment,
|
|
254
|
+
campaign,
|
|
239
255
|
};
|
|
240
256
|
}
|
|
241
257
|
//# sourceMappingURL=telemetry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export declare const SCHEMA_VERSION = "1.0.0";
|
|
|
2
2
|
export type ArtifactType = "run" | "diff";
|
|
3
3
|
export type Gate = "pass" | "fail";
|
|
4
4
|
export type CheckStatus = "pass" | "fail" | "partial" | "unsupported" | "flaky" | "skipped";
|
|
5
|
-
export type CheckId = "tools" | "prompts" | "resources" | "tools-invoke" | "security" | "security-lite" | "conformance" | "schema-quality";
|
|
5
|
+
export type CheckId = "tools" | "prompts" | "resources" | "tools-invoke" | "security" | "security-lite" | "attack-sim" | "conformance" | "schema-quality";
|
|
6
6
|
export declare const STATUS_RANK: Record<CheckStatus, number>;
|
|
7
7
|
export interface LocalProcessTargetConfig {
|
|
8
8
|
targetId: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function writeTextFileAtomic(filePath: string, content: string): Promise<void>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { mkdtemp, rename, rm, writeFile } from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
export async function writeTextFileAtomic(filePath, content) {
|
|
5
|
+
const directory = path.dirname(filePath);
|
|
6
|
+
const baseName = path.basename(filePath);
|
|
7
|
+
const tempDir = await mkdtemp(path.join(directory, `.${baseName}.`));
|
|
8
|
+
const tempPath = path.join(tempDir, `${randomUUID()}.tmp`);
|
|
9
|
+
try {
|
|
10
|
+
await writeFile(tempPath, content, { encoding: "utf8", flag: "wx" });
|
|
11
|
+
await rename(tempPath, filePath);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
await rm(tempPath, { force: true }).catch(() => undefined);
|
|
15
|
+
throw error;
|
|
16
|
+
}
|
|
17
|
+
finally {
|
|
18
|
+
await rm(tempDir, { force: true, recursive: true }).catch(() => undefined);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/utils/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,OAAe;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC;IAE3D,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC"}
|
package/dist/src/utils/ids.js
CHANGED
|
@@ -4,10 +4,23 @@ export function buildRunId(date = new Date()) {
|
|
|
4
4
|
return `run_${timestamp}_${randomUUID().slice(0, 8)}`;
|
|
5
5
|
}
|
|
6
6
|
export function slugify(value) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
.
|
|
11
|
-
|
|
7
|
+
let slug = "";
|
|
8
|
+
let needsSeparator = false;
|
|
9
|
+
for (const char of value.toLowerCase()) {
|
|
10
|
+
const code = char.charCodeAt(0);
|
|
11
|
+
const isAlphaNumeric = (code >= 97 && code <= 122) || (code >= 48 && code <= 57);
|
|
12
|
+
if (isAlphaNumeric) {
|
|
13
|
+
if (needsSeparator && slug.length > 0)
|
|
14
|
+
slug += "-";
|
|
15
|
+
slug += char;
|
|
16
|
+
needsSeparator = false;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
needsSeparator = slug.length > 0;
|
|
20
|
+
}
|
|
21
|
+
if (slug.length >= 64)
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
return slug;
|
|
12
25
|
}
|
|
13
26
|
//# sourceMappingURL=ids.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/utils/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,UAAU,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,OAAO,SAAS,IAAI,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/utils/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,UAAU,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,OAAO,SAAS,IAAI,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,cAAc,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QACjF,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,IAAI,GAAG,CAAC;YACnD,IAAI,IAAI,IAAI,CAAC;YACb,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function requireHttpUrl(value, label = "URL") {
|
|
2
|
+
const url = new URL(value);
|
|
3
|
+
if (url.protocol !== "http:" && url.protocol !== "https:") {
|
|
4
|
+
throw new Error(`${label} must use http: or https:.`);
|
|
5
|
+
}
|
|
6
|
+
return url.toString();
|
|
7
|
+
}
|
|
8
|
+
export function appendQuery(urlValue, params) {
|
|
9
|
+
const url = new URL(requireHttpUrl(urlValue));
|
|
10
|
+
for (const [key, value] of Object.entries(params)) {
|
|
11
|
+
url.searchParams.set(key, value);
|
|
12
|
+
}
|
|
13
|
+
return url.toString();
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/utils/url.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,KAAK,GAAG,KAAK;IACzD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,MAA8B;IAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC"}
|
package/dist/src/validate.js
CHANGED
|
@@ -38,7 +38,7 @@ function requireStatus(value, label) {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
function requireCheckId(value, label) {
|
|
41
|
-
const ids = new Set(["tools", "prompts", "resources", "tools-invoke", "security", "security-lite", "conformance", "schema-quality"]);
|
|
41
|
+
const ids = new Set(["tools", "prompts", "resources", "tools-invoke", "security", "security-lite", "attack-sim", "conformance", "schema-quality"]);
|
|
42
42
|
if (typeof value !== "string" || !ids.has(value)) {
|
|
43
43
|
throw new Error(`${label} has invalid check id '${String(value)}'.`);
|
|
44
44
|
}
|