@openclaw/plugin-inspector 0.3.18 → 0.3.19
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/CHANGELOG.md +10 -0
- package/README.md +3 -3
- package/examples/github-actions-code-scanning.yml +3 -3
- package/examples/github-actions-plugin-inspector.yml +3 -3
- package/package.json +1 -1
- package/src/init.js +3 -3
- package/src/issues.js +0 -4
- package/src/openclaw-target.js +17 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.19 - 2026-07-27
|
|
4
|
+
|
|
5
|
+
### Highlights
|
|
6
|
+
|
|
7
|
+
- Restore silently-lost manifest contract findings after OpenClaw moved its public manifest types into `manifest-types.ts`.
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Refresh generated and repository GitHub Actions workflows to the current checkout, setup-node, upload-artifact, and pnpm/action-setup releases.
|
|
12
|
+
|
|
3
13
|
## 0.3.18 - 2026-07-21
|
|
4
14
|
|
|
5
15
|
### Highlights
|
package/README.md
CHANGED
|
@@ -256,14 +256,14 @@ jobs:
|
|
|
256
256
|
check:
|
|
257
257
|
runs-on: ubuntu-latest
|
|
258
258
|
steps:
|
|
259
|
-
- uses: actions/checkout@
|
|
260
|
-
- uses: actions/setup-node@
|
|
259
|
+
- uses: actions/checkout@v7
|
|
260
|
+
- uses: actions/setup-node@v7
|
|
261
261
|
with:
|
|
262
262
|
node-version: 24
|
|
263
263
|
cache: npm
|
|
264
264
|
- run: npm ci
|
|
265
265
|
- run: npx @openclaw/plugin-inspector ci --no-openclaw --runtime --mock-sdk --allow-execute
|
|
266
|
-
- uses: actions/upload-artifact@
|
|
266
|
+
- uses: actions/upload-artifact@v7
|
|
267
267
|
if: always()
|
|
268
268
|
with:
|
|
269
269
|
name: plugin-inspector-reports
|
|
@@ -13,8 +13,8 @@ jobs:
|
|
|
13
13
|
check:
|
|
14
14
|
runs-on: ubuntu-latest
|
|
15
15
|
steps:
|
|
16
|
-
- uses: actions/checkout@
|
|
17
|
-
- uses: actions/setup-node@
|
|
16
|
+
- uses: actions/checkout@v7
|
|
17
|
+
- uses: actions/setup-node@v7
|
|
18
18
|
with:
|
|
19
19
|
node-version: 24
|
|
20
20
|
cache: npm
|
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
if: always()
|
|
25
25
|
with:
|
|
26
26
|
sarif_file: reports/plugin-inspector.sarif
|
|
27
|
-
- uses: actions/upload-artifact@
|
|
27
|
+
- uses: actions/upload-artifact@v7
|
|
28
28
|
if: always()
|
|
29
29
|
with:
|
|
30
30
|
name: plugin-inspector-reports
|
|
@@ -9,14 +9,14 @@ jobs:
|
|
|
9
9
|
check:
|
|
10
10
|
runs-on: ubuntu-latest
|
|
11
11
|
steps:
|
|
12
|
-
- uses: actions/checkout@
|
|
13
|
-
- uses: actions/setup-node@
|
|
12
|
+
- uses: actions/checkout@v7
|
|
13
|
+
- uses: actions/setup-node@v7
|
|
14
14
|
with:
|
|
15
15
|
node-version: 24
|
|
16
16
|
cache: npm
|
|
17
17
|
- run: npm ci
|
|
18
18
|
- run: npx @openclaw/plugin-inspector ci --no-openclaw --runtime --mock-sdk --allow-execute
|
|
19
|
-
- uses: actions/upload-artifact@
|
|
19
|
+
- uses: actions/upload-artifact@v7
|
|
20
20
|
if: always()
|
|
21
21
|
with:
|
|
22
22
|
name: plugin-inspector-reports
|
package/package.json
CHANGED
package/src/init.js
CHANGED
|
@@ -108,14 +108,14 @@ jobs:
|
|
|
108
108
|
check:
|
|
109
109
|
runs-on: ubuntu-latest
|
|
110
110
|
steps:
|
|
111
|
-
- uses: actions/checkout@
|
|
112
|
-
- uses: actions/setup-node@
|
|
111
|
+
- uses: actions/checkout@v7
|
|
112
|
+
- uses: actions/setup-node@v7
|
|
113
113
|
with:
|
|
114
114
|
node-version: 24
|
|
115
115
|
cache: ${setup.cache}
|
|
116
116
|
${setup.corepack ? " - run: corepack enable\n" : ""} - run: ${setup.install}
|
|
117
117
|
- run: ${setup.exec} @openclaw/plugin-inspector ci --no-openclaw --runtime --mock-sdk --allow-execute
|
|
118
|
-
- uses: actions/upload-artifact@
|
|
118
|
+
- uses: actions/upload-artifact@v7
|
|
119
119
|
if: always()
|
|
120
120
|
with:
|
|
121
121
|
name: plugin-inspector-reports
|
package/src/issues.js
CHANGED
|
@@ -583,10 +583,6 @@ export function classifyIssueFinding(finding, targetOpenClaw, metadata = {}) {
|
|
|
583
583
|
};
|
|
584
584
|
}
|
|
585
585
|
|
|
586
|
-
export function isInspectorGapFinding(finding, targetOpenClaw) {
|
|
587
|
-
return issueMetadata(finding, targetOpenClaw).issueClass === "inspector-gap";
|
|
588
|
-
}
|
|
589
|
-
|
|
590
586
|
export function isAuthorFacingFinding(finding, targetOpenClaw) {
|
|
591
587
|
return Boolean(issueMetadata(finding, targetOpenClaw).authorRemediation);
|
|
592
588
|
}
|
package/src/openclaw-target.js
CHANGED
|
@@ -30,7 +30,8 @@ export async function readOpenClawTargetSurface(options = {}) {
|
|
|
30
30
|
const hookTypesPath = path.join(resolvedPath, "src/plugins/hook-types.ts");
|
|
31
31
|
const apiBuilderPath = path.join(resolvedPath, "src/plugins/api-builder.ts");
|
|
32
32
|
const capturedRegistrationPath = path.join(resolvedPath, "src/plugins/captured-registration.ts");
|
|
33
|
-
const
|
|
33
|
+
const currentManifestTypesPath = path.join(resolvedPath, "src/plugins/manifest-types.ts");
|
|
34
|
+
const legacyManifestTypesPath = path.join(resolvedPath, "src/plugins/manifest.ts");
|
|
34
35
|
const pluginSdkEntrypointsPath = path.join(resolvedPath, "src/plugin-sdk/entrypoints.ts");
|
|
35
36
|
const packagePath = path.join(resolvedPath, "package.json");
|
|
36
37
|
|
|
@@ -40,9 +41,21 @@ export async function readOpenClawTargetSurface(options = {}) {
|
|
|
40
41
|
const hookNames = hookTypesSource ? parseConstStringArray(hookTypesSource, "PLUGIN_HOOK_NAMES") : [];
|
|
41
42
|
const apiBuilderSource = existsSync(apiBuilderPath) ? await readFile(apiBuilderPath, "utf8") : "";
|
|
42
43
|
const apiRegistrars = apiBuilderSource ? parseApiRegistrars(apiBuilderSource) : [];
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
const currentManifestTypesSource = existsSync(currentManifestTypesPath)
|
|
45
|
+
? await readFile(currentManifestTypesPath, "utf8")
|
|
46
|
+
: "";
|
|
47
|
+
const legacyManifestTypesSource = existsSync(legacyManifestTypesPath)
|
|
48
|
+
? await readFile(legacyManifestTypesPath, "utf8")
|
|
49
|
+
: "";
|
|
50
|
+
const currentManifestFields = parseTypeFields(currentManifestTypesSource, "PluginManifest");
|
|
51
|
+
const legacyManifestFields = parseTypeFields(legacyManifestTypesSource, "PluginManifest");
|
|
52
|
+
const currentManifestContractFields = parseTypeFields(currentManifestTypesSource, "PluginManifestContracts");
|
|
53
|
+
const legacyManifestContractFields = parseTypeFields(legacyManifestTypesSource, "PluginManifestContracts");
|
|
54
|
+
const useCurrentManifestTypes = currentManifestFields.length > 0;
|
|
55
|
+
const manifestTypesPath = useCurrentManifestTypes ? currentManifestTypesPath : legacyManifestTypesPath;
|
|
56
|
+
const manifestFields = useCurrentManifestTypes ? currentManifestFields : legacyManifestFields;
|
|
57
|
+
const manifestContractFields =
|
|
58
|
+
currentManifestContractFields.length > 0 ? currentManifestContractFields : legacyManifestContractFields;
|
|
46
59
|
const capturedRegistrars = existsSync(capturedRegistrationPath)
|
|
47
60
|
? parseCapturedRegistrars(await readFile(capturedRegistrationPath, "utf8"))
|
|
48
61
|
: [];
|