plugin-scanner 3.4.3__py3-none-any.whl → 3.4.4__py3-none-any.whl
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.
- codex_plugin_scanner/guard/daemon/static/assets/guard-dashboard.js +72 -10
- codex_plugin_scanner/guard/daemon/static/assets/index.css +10 -2
- codex_plugin_scanner/version.py +1 -1
- {plugin_scanner-3.4.3.dist-info → plugin_scanner-3.4.4.dist-info}/METADATA +1 -1
- {plugin_scanner-3.4.3.dist-info → plugin_scanner-3.4.4.dist-info}/RECORD +8 -8
- {plugin_scanner-3.4.3.dist-info → plugin_scanner-3.4.4.dist-info}/WHEEL +0 -0
- {plugin_scanner-3.4.3.dist-info → plugin_scanner-3.4.4.dist-info}/entry_points.txt +0 -0
- {plugin_scanner-3.4.3.dist-info → plugin_scanner-3.4.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -14353,14 +14353,18 @@ function resolveActionTitle(receipt) {
|
|
|
14353
14353
|
if (type === "Tool call" && mcpTool && mcpTool.length > 0) {
|
|
14354
14354
|
return mcpTool;
|
|
14355
14355
|
}
|
|
14356
|
-
const packageName = envelope?.package_name?.trim();
|
|
14357
|
-
if (type === "Package" && packageName && packageName.length > 0) {
|
|
14358
|
-
return packageName;
|
|
14359
|
-
}
|
|
14360
14356
|
const signals = (receipt.scanner_evidence ?? []).filter(isRiskSignalEvidence);
|
|
14361
14357
|
if (signals.length > 0 && signals[0]?.title) {
|
|
14362
14358
|
return signals[0].title;
|
|
14363
14359
|
}
|
|
14360
|
+
const rawCommand = receipt.raw_command_text?.trim();
|
|
14361
|
+
if (rawCommand) {
|
|
14362
|
+
return truncate(rawCommand, 80);
|
|
14363
|
+
}
|
|
14364
|
+
const packageName = envelope?.package_name?.trim();
|
|
14365
|
+
if (type === "Package" && packageName && packageName.length > 0) {
|
|
14366
|
+
return packageName;
|
|
14367
|
+
}
|
|
14364
14368
|
const provenance = receipt.provenance_summary?.trim();
|
|
14365
14369
|
const artifactName = receipt.artifact_name?.trim();
|
|
14366
14370
|
if (provenance && provenance.toLowerCase().startsWith("hook event for") && artifactName && provenance.toLowerCase().endsWith(artifactName.toLowerCase())) {
|
|
@@ -14382,6 +14386,18 @@ function resolveActionTitle(receipt) {
|
|
|
14382
14386
|
}
|
|
14383
14387
|
return type;
|
|
14384
14388
|
}
|
|
14389
|
+
function resolveActionTitleTooltip(receipt) {
|
|
14390
|
+
const title = resolveActionTitle(receipt);
|
|
14391
|
+
const envelopeCommand = getEnvelope(receipt)?.command?.trim();
|
|
14392
|
+
if (resolveActionType(receipt) === "Shell command" && envelopeCommand) {
|
|
14393
|
+
return envelopeCommand;
|
|
14394
|
+
}
|
|
14395
|
+
const rawCommand = receipt.raw_command_text?.trim();
|
|
14396
|
+
if (rawCommand && title === truncate(rawCommand, 80)) {
|
|
14397
|
+
return rawCommand;
|
|
14398
|
+
}
|
|
14399
|
+
return title;
|
|
14400
|
+
}
|
|
14385
14401
|
function resolveActionSubtitle(receipt) {
|
|
14386
14402
|
const signals = (receipt.scanner_evidence ?? []).filter(isRiskSignalEvidence);
|
|
14387
14403
|
const firstSignal = signals[0];
|
|
@@ -14404,9 +14420,13 @@ function resolveActionSubtitle(receipt) {
|
|
|
14404
14420
|
const provenance = receipt.provenance_summary?.trim();
|
|
14405
14421
|
const isCapsUseful = caps && caps !== "hook artifact · codex" && !caps.toLowerCase().startsWith("guard local daemon completed");
|
|
14406
14422
|
const isProvenanceUseful = provenance && provenance !== "hook artifact · codex" && !provenance.toLowerCase().startsWith("guard local daemon completed");
|
|
14407
|
-
|
|
14423
|
+
const actionTitle = resolveActionTitle(receipt);
|
|
14424
|
+
const fullActionTitle = resolveActionTitleTooltip(receipt);
|
|
14425
|
+
const rawCommand = receipt.raw_command_text?.trim();
|
|
14426
|
+
const capsRepeatsRawCommand = Boolean(rawCommand && caps?.toLowerCase() === rawCommand.toLowerCase());
|
|
14427
|
+
if (isCapsUseful && caps?.toLowerCase() !== actionTitle.toLowerCase() && caps?.toLowerCase() !== fullActionTitle.toLowerCase() && !capsRepeatsRawCommand) {
|
|
14408
14428
|
parts.push(caps);
|
|
14409
|
-
} else if (isProvenanceUseful && provenance?.toLowerCase() !== caps?.toLowerCase() && provenance !==
|
|
14429
|
+
} else if (isProvenanceUseful && provenance?.toLowerCase() !== caps?.toLowerCase() && provenance !== actionTitle) {
|
|
14410
14430
|
parts.push(provenance);
|
|
14411
14431
|
}
|
|
14412
14432
|
if (parts.length > 0) {
|
|
@@ -22217,6 +22237,7 @@ function ActionRow({
|
|
|
22217
22237
|
const category = detectCategory(receipt);
|
|
22218
22238
|
const catInfo = getCategoryInfo(category);
|
|
22219
22239
|
const actionTitle = resolveActionTitle(receipt);
|
|
22240
|
+
const actionTitleTooltip = resolveActionTitleTooltip(receipt);
|
|
22220
22241
|
const actionType = resolveActionType(receipt);
|
|
22221
22242
|
const actionSubtitle = resolveActionSubtitle(receipt);
|
|
22222
22243
|
const handleClick = reactExports.useCallback(() => {
|
|
@@ -22257,8 +22278,28 @@ function ActionRow({
|
|
|
22257
22278
|
children: [
|
|
22258
22279
|
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "px-3 py-2.5", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `${catInfo.color}`, "aria-hidden": "true", children: catInfo.icon }) }),
|
|
22259
22280
|
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "px-3 py-2.5", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col min-w-0", children: [
|
|
22260
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
22261
|
-
|
|
22281
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
22282
|
+
"span",
|
|
22283
|
+
{
|
|
22284
|
+
className: "text-sm font-medium text-brand-dark line-clamp-2 break-words block max-w-[70vw] sm:max-w-[420px] lg:max-w-[520px]",
|
|
22285
|
+
title: actionTitleTooltip,
|
|
22286
|
+
children: [
|
|
22287
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { "aria-hidden": "true", children: actionTitle }),
|
|
22288
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sr-only", children: actionTitleTooltip })
|
|
22289
|
+
]
|
|
22290
|
+
}
|
|
22291
|
+
),
|
|
22292
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
22293
|
+
"span",
|
|
22294
|
+
{
|
|
22295
|
+
className: "text-[11px] text-slate-400 truncate block max-w-[70vw] sm:max-w-[420px] lg:max-w-[520px]",
|
|
22296
|
+
title: actionSubtitle ?? actionType,
|
|
22297
|
+
children: [
|
|
22298
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { "aria-hidden": "true", children: actionSubtitle ?? actionType }),
|
|
22299
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sr-only", children: actionSubtitle ?? actionType })
|
|
22300
|
+
]
|
|
22301
|
+
}
|
|
22302
|
+
)
|
|
22262
22303
|
] }) }),
|
|
22263
22304
|
!hideHarnessColumn && /* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "px-3 py-2.5 hidden sm:table-cell", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
22264
22305
|
"button",
|
|
@@ -25868,13 +25909,34 @@ function CategoryTabRaw({ receipts, onFilterCategory }) {
|
|
|
25868
25909
|
const category = detectCategory(receipt);
|
|
25869
25910
|
const catInfo = getCategoryInfo(category);
|
|
25870
25911
|
const actionTitle = resolveActionTitle(receipt);
|
|
25912
|
+
const actionTitleTooltip = resolveActionTitleTooltip(receipt);
|
|
25871
25913
|
const actionType = resolveActionType(receipt);
|
|
25872
25914
|
const actionSubtitle = resolveActionSubtitle(receipt);
|
|
25873
25915
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("tr", { className: "border-b border-slate-100 last:border-0 hover:bg-slate-50 transition-colors", children: [
|
|
25874
25916
|
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "px-3 py-2.5", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `${catInfo.color}`, "aria-hidden": "true", children: catInfo.icon }) }),
|
|
25875
25917
|
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "px-3 py-2.5", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col min-w-0", children: [
|
|
25876
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
25877
|
-
|
|
25918
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
25919
|
+
"span",
|
|
25920
|
+
{
|
|
25921
|
+
className: "text-sm font-medium text-brand-dark line-clamp-2 break-words block max-w-[70vw] sm:max-w-[420px] lg:max-w-[520px]",
|
|
25922
|
+
title: actionTitleTooltip,
|
|
25923
|
+
children: [
|
|
25924
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { "aria-hidden": "true", children: actionTitle }),
|
|
25925
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sr-only", children: actionTitleTooltip })
|
|
25926
|
+
]
|
|
25927
|
+
}
|
|
25928
|
+
),
|
|
25929
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
25930
|
+
"span",
|
|
25931
|
+
{
|
|
25932
|
+
className: "text-[11px] text-slate-400 truncate block max-w-[70vw] sm:max-w-[420px] lg:max-w-[520px]",
|
|
25933
|
+
title: actionSubtitle ?? actionType,
|
|
25934
|
+
children: [
|
|
25935
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { "aria-hidden": "true", children: actionSubtitle ?? actionType }),
|
|
25936
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sr-only", children: actionSubtitle ?? actionType })
|
|
25937
|
+
]
|
|
25938
|
+
}
|
|
25939
|
+
)
|
|
25878
25940
|
] }) }),
|
|
25879
25941
|
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "px-3 py-2.5 hidden md:table-cell", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-slate-500", children: harnessDisplayName(receipt.harness) }) }),
|
|
25880
25942
|
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "px-3 py-2.5", children: /* @__PURE__ */ jsxRuntimeExports.jsx(DecisionBadge, { decision: receipt.policy_decision }) }),
|
|
@@ -1435,8 +1435,8 @@
|
|
|
1435
1435
|
max-width: 28rem;
|
|
1436
1436
|
}
|
|
1437
1437
|
|
|
1438
|
-
.max-w-\[
|
|
1439
|
-
max-width:
|
|
1438
|
+
.max-w-\[70vw\] {
|
|
1439
|
+
max-width: 70vw;
|
|
1440
1440
|
}
|
|
1441
1441
|
|
|
1442
1442
|
.max-w-\[320px\] {
|
|
@@ -6293,6 +6293,10 @@
|
|
|
6293
6293
|
max-width: 9rem;
|
|
6294
6294
|
}
|
|
6295
6295
|
|
|
6296
|
+
.sm\:max-w-\[420px\] {
|
|
6297
|
+
max-width: 420px;
|
|
6298
|
+
}
|
|
6299
|
+
|
|
6296
6300
|
.sm\:max-w-sm {
|
|
6297
6301
|
max-width: var(--container-sm);
|
|
6298
6302
|
}
|
|
@@ -6685,6 +6689,10 @@
|
|
|
6685
6689
|
width: calc(var(--spacing) * 60);
|
|
6686
6690
|
}
|
|
6687
6691
|
|
|
6692
|
+
.lg\:max-w-\[520px\] {
|
|
6693
|
+
max-width: 520px;
|
|
6694
|
+
}
|
|
6695
|
+
|
|
6688
6696
|
.lg\:grid-cols-1 {
|
|
6689
6697
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
6690
6698
|
}
|
codex_plugin_scanner/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: plugin-scanner
|
|
3
|
-
Version: 3.4.
|
|
3
|
+
Version: 3.4.4
|
|
4
4
|
Summary: Lint, verify, and gate plugin ecosystems for maintainers, CI, and publish workflows.
|
|
5
5
|
Project-URL: Homepage, https://hol.org/guard
|
|
6
6
|
Project-URL: Security, https://hol.org/guard/security
|
|
@@ -41,7 +41,7 @@ codex_plugin_scanner/trust_scoring.py,sha256=t_Lw13HZ766UCJzTtNNwllZK_k2ks_x-8St
|
|
|
41
41
|
codex_plugin_scanner/trust_skill_scoring.py,sha256=e-SrMBgAruzFn4RD0pGpP9rtPXxc2ji_CKpcnFPRh3M,12542
|
|
42
42
|
codex_plugin_scanner/trust_specs.py,sha256=aYGSB8M9RQp1uwhsRaWlVa1M9Vk51kUIxmBXkW8noZU,10729
|
|
43
43
|
codex_plugin_scanner/verification.py,sha256=iVYDMyqjLQjD2KlnROTu4_sPLb_WyH8kFN-BOqR2kWM,33689
|
|
44
|
-
codex_plugin_scanner/version.py,sha256=
|
|
44
|
+
codex_plugin_scanner/version.py,sha256=TJPiRm42wDMfOuyzSg7bo97ZhQaR5KhZN0Pci6Ct9r4,98
|
|
45
45
|
codex_plugin_scanner/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
46
|
codex_plugin_scanner/checks/best_practices.py,sha256=uB3DXLggqxjfyBMH_1yvX4nyFhpIvaRHjTyyueoO-GQ,8473
|
|
47
47
|
codex_plugin_scanner/checks/claude.py,sha256=DeKUbGPt2McSGhijzXLPL_SzjG_15WAB35_7mk8LU5A,10938
|
|
@@ -726,8 +726,8 @@ codex_plugin_scanner/guard/daemon/static/favicon-16x16.png,sha256=jcclKW2ZXshOJU
|
|
|
726
726
|
codex_plugin_scanner/guard/daemon/static/favicon-32x32.png,sha256=kFgVF3ZorfAwCCc5BlCL6GYaoPilCf3m5H4elkPUeso,1352
|
|
727
727
|
codex_plugin_scanner/guard/daemon/static/favicon.ico,sha256=NyHUlCArXLJQJYu7qpTb89I5q4e2lUwwa858YRSvVM0,4270
|
|
728
728
|
codex_plugin_scanner/guard/daemon/static/index.html,sha256=r6C56uWqarR_ER8vLbBMIdnbK-0I4LKALCTJK0-CyJQ,1513
|
|
729
|
-
codex_plugin_scanner/guard/daemon/static/assets/guard-dashboard.js,sha256=
|
|
730
|
-
codex_plugin_scanner/guard/daemon/static/assets/index.css,sha256=
|
|
729
|
+
codex_plugin_scanner/guard/daemon/static/assets/guard-dashboard.js,sha256=S3plnZrP4-VWHhGGc9nKV4sMnLofWBIAIX7Krt6khSg,1487072
|
|
730
|
+
codex_plugin_scanner/guard/daemon/static/assets/index.css,sha256=AoAELrxc6r7TDvCNgd85xZlDjrBn1KgZ9CnCmgJdgsI,207373
|
|
731
731
|
codex_plugin_scanner/guard/daemon/static/assets/chunks/about-workspace.js,sha256=XZMkZ_ixS25l0ck3oiYTFJoKwmZ5-767UVTwisR41Fc,32410
|
|
732
732
|
codex_plugin_scanner/guard/daemon/static/assets/chunks/app-catalog.js,sha256=FFIWlbkUNRTpWmOTP0m8NL8atgRiy9SirmSbNomKIq0,9181
|
|
733
733
|
codex_plugin_scanner/guard/daemon/static/assets/chunks/app-detail-workspace.js,sha256=m8k6h_W4RCStNC20ldAPwCxeDW61mV1LKC7uNso-OL0,93425
|
|
@@ -1300,8 +1300,8 @@ codex_plugin_scanner/guard/contracts/data/guard-cloud-review/v2/contract.json,sh
|
|
|
1300
1300
|
codex_plugin_scanner/guard/contracts/data/guard-cloud-review/v2/fixtures.json,sha256=vpf8NvLxmgI9ISG_mnSo5bBGYsegO4cZDwOIXmictfk,20769
|
|
1301
1301
|
codex_plugin_scanner/guard/contracts/data/mcp_servers/contributions/mcp.filesystem.json,sha256=dgKScdJ07v8m_7S028oAKd_D0awf8tmKXWtdWWjtICc,1270
|
|
1302
1302
|
codex_plugin_scanner/guard/contracts/data/mcp_servers/contributions/mcp.instapods.json,sha256=4pfklIwGN3vg3PHEW-aDr2Bql6sCv_oApQMmgk5SzlY,1449
|
|
1303
|
-
plugin_scanner-3.4.
|
|
1304
|
-
plugin_scanner-3.4.
|
|
1305
|
-
plugin_scanner-3.4.
|
|
1306
|
-
plugin_scanner-3.4.
|
|
1307
|
-
plugin_scanner-3.4.
|
|
1303
|
+
plugin_scanner-3.4.4.dist-info/METADATA,sha256=acWgbld3LxvnBiUBZZt6eATEgmsxg74BPnrko_dEJnU,35798
|
|
1304
|
+
plugin_scanner-3.4.4.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
|
|
1305
|
+
plugin_scanner-3.4.4.dist-info/entry_points.txt,sha256=SLGKi3GvvSsPwave-k2JQt2meG0pM7aaC6VlUy47Crg,122
|
|
1306
|
+
plugin_scanner-3.4.4.dist-info/licenses/LICENSE,sha256=UbiP0-niTtzc4d0UWk_KLc0SkRQH8AsG36b_YA-XM8E,11358
|
|
1307
|
+
plugin_scanner-3.4.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|