plugin-scanner 2.0.7__tar.gz → 2.0.8__tar.gz
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.
- plugin_scanner-2.0.8/.github/workflows/scorecard.yml +39 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/PKG-INFO +2 -1
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/pyproject.toml +2 -1
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/pyproject.toml.bak +2 -1
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/version.py +1 -1
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_action_bundle.py +28 -0
- plugin_scanner-2.0.7/.github/workflows/scorecard.yml +0 -27
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.clusterfuzzlite/Dockerfile +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.clusterfuzzlite/build.sh +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.clusterfuzzlite/project.yaml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.clusterfuzzlite/requirements-atheris.txt +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.dockerignore +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.github/CODEOWNERS +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.github/dependabot.yml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.github/workflows/ci.yml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.github/workflows/codeql.yml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.github/workflows/dependabot-uv-lock.yml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.github/workflows/e2e-test.yml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.github/workflows/fuzz.yml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.github/workflows/harness-smoke.yml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.github/workflows/publish-action-repo.yml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.github/workflows/publish.yml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.gitignore +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/.pre-commit-hooks.yaml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/CONTRIBUTING.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/Dockerfile +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/LICENSE +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/README.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/SECURITY.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/action/README.legacy.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/action/README.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/action/action.yml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/action/cisco-version.txt +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/action/pypi-attestations-version.txt +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/action/scanner-version.txt +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/index.html +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/package.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/pnpm-lock.yaml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/public/brand/Logo_Whole.png +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/src/app.tsx +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/src/approval-center-layout.tsx +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/src/approval-center-primitives.tsx +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/src/approval-center-utils.ts +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/src/guard-api.ts +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/src/guard-demo.ts +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/src/guard-types.ts +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/src/main.tsx +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/src/styles.css +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/src/vite-env.d.ts +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/tsconfig.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/dashboard/vite.config.ts +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docker-requirements.txt +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/guard/approval-audit.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/guard/architecture.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/guard/get-started.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/guard/harness-support.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/guard/local-dashboard-failure-ledger.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/guard/local-dashboard-redesign-todo.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/guard/local-vs-cloud.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/guard/repo-boundaries.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/guard/testing-matrix.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/trust/mcp-trust-draft.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/trust/plugin-trust-draft.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/docs/trust/skill-trust-local.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/fuzzers/manifest_fuzzer.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/requirements.txt +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/schemas/plugin-quality.v1.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/schemas/scan-result.v1.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/schemas/verify-result.v1.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/action_runner.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/best_practices.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/claude.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/code_quality.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/ecosystem_common.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/gemini.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/manifest.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/manifest_support.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/marketplace.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/opencode.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/operational_security.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/security.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/skill_security.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/cli.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/config.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/base.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/claude.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/codex.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/detect.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/gemini.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/opencode.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/registry.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/types.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/github_reporting.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/base.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/claude_code.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/codex.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/cursor.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/gemini.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/opencode.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/approvals.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/approval_commands.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/bootstrap.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/commands.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/install_commands.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/product.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/prompt.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/render.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/config.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/consumer/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/consumer/service.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/daemon/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/daemon/manager.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/daemon/server.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/daemon/static/assets/guard-dashboard.js +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/daemon/static/assets/index.css +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/daemon/static/brand/Logo_Whole.png +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/daemon/static/index.html +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/incident.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/models.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/policy/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/policy/engine.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/protect.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/proxy/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/proxy/remote.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/proxy/stdio.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/receipts/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/receipts/manager.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/risk.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/runtime/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/runtime/runner.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/schemas/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/schemas/consumer_mode.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/shims.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/store.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/store_approvals.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/integrations/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/integrations/cisco_skill_scanner.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/lint_fixes.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/marketplace_support.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/models.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/path_support.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/policy.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/quality_artifact.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/repo_detect.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/reporting.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/rules/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/rules/registry.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/rules/specs.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/scanner.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/submission.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/suppressions.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/trust_domain_scoring.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/trust_helpers.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/trust_mcp_scoring.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/trust_models.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/trust_plugin_scoring.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/trust_scoring.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/trust_skill_scoring.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/trust_specs.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/verification.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/__init__.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/bad-plugin/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/bad-plugin/.mcp.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/bad-plugin/secrets.js +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/claude-plugin-good/.claude-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/claude-plugin-good/LICENSE +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/claude-plugin-good/README.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/claude-plugin-good/SECURITY.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/claude-plugin-good/hooks/hooks.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/claude-plugin-good/skills/example/SKILL.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/code-quality-bad/evil.js +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/code-quality-bad/inject.js +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/gemini-extension-good/GEMINI.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/gemini-extension-good/LICENSE +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/gemini-extension-good/README.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/gemini-extension-good/SECURITY.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/gemini-extension-good/commands/hello.toml +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/gemini-extension-good/gemini-extension.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/good-plugin/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/good-plugin/.codexignore +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/good-plugin/LICENSE +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/good-plugin/README.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/good-plugin/SECURITY.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/good-plugin/assets/icon.svg +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/good-plugin/assets/logo.svg +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/good-plugin/assets/screenshot.svg +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/good-plugin/skills/example/SKILL.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/malformed-json/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/minimal-plugin/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/missing-fields/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/mit-license/LICENSE +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-ecosystem-repo/codex-plugin/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-ecosystem-repo/codex-plugin/LICENSE +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-ecosystem-repo/codex-plugin/README.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-ecosystem-repo/codex-plugin/SECURITY.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-ecosystem-repo/gemini-ext/README.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-ecosystem-repo/gemini-ext/gemini-extension.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-plugin-repo/.agents/plugins/marketplace.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-plugin-repo/plugins/alpha-plugin/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-plugin-repo/plugins/alpha-plugin/.codexignore +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-plugin-repo/plugins/alpha-plugin/LICENSE +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-plugin-repo/plugins/alpha-plugin/README.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-plugin-repo/plugins/alpha-plugin/SECURITY.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-plugin-repo/plugins/alpha-plugin/skills/example/SKILL.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-plugin-repo/plugins/beta-plugin/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/multi-plugin-repo/plugins/beta-plugin/skills/example/SKILL.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/no-version/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/opencode-good/.opencode/commands/hello.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/opencode-good/.opencode/plugins/example.ts +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/opencode-good/LICENSE +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/opencode-good/README.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/opencode-good/SECURITY.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/opencode-good/opencode.jsonc +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/skills-missing-dir/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/skills-no-frontmatter/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/skills-no-frontmatter/skills/bad-skill/SKILL.md +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/with-marketplace/.codex-plugin/plugin.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/with-marketplace/marketplace-broken.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/with-marketplace/marketplace.json +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test-trust-scoring.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test-trust-specs.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_action_runner.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_best_practices.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_cli.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_code_quality.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_config.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_coverage_remaining.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_ecosystems.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_edge_cases.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_final_coverage.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_guard_approvals.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_guard_bootstrap.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_guard_cli.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_guard_events.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_guard_launch_env.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_guard_product_flow.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_guard_protect.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_guard_risk.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_guard_runtime.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_integration.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_lint_fixes.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_live_cisco_smoke.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_manifest.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_marketplace.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_operational_security.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_policy.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_quality_artifact.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_rule_registry.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_scanner.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_schema_contracts.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_security.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_security_ops.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_skill_security.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_submission.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_trust_scoring.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_trust_specs.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_verification.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/test_versioning.py +0 -0
- {plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/uv.lock +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name: OpenSSF Scorecard
|
|
2
|
+
on:
|
|
3
|
+
schedule:
|
|
4
|
+
- cron: '0 0 * * 0'
|
|
5
|
+
push:
|
|
6
|
+
branches: [main]
|
|
7
|
+
permissions: read-all
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
scorecard:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
actions: read
|
|
14
|
+
contents: read
|
|
15
|
+
id-token: write
|
|
16
|
+
security-events: write
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout code
|
|
19
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
|
20
|
+
with:
|
|
21
|
+
persist-credentials: false
|
|
22
|
+
- name: Run analysis
|
|
23
|
+
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a
|
|
24
|
+
with:
|
|
25
|
+
results_file: results.sarif
|
|
26
|
+
results_format: sarif
|
|
27
|
+
publish_results: true
|
|
28
|
+
- name: Upload artifact
|
|
29
|
+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
|
|
30
|
+
with:
|
|
31
|
+
name: SARIF file
|
|
32
|
+
path: results.sarif
|
|
33
|
+
retention-days: 5
|
|
34
|
+
if: always()
|
|
35
|
+
- name: Upload to code-scanning
|
|
36
|
+
uses: github/codeql-action/upload-sarif@c10b8064de6f491fea524254123dbe5e09572f13
|
|
37
|
+
with:
|
|
38
|
+
sarif_file: results.sarif
|
|
39
|
+
if: always()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: plugin-scanner
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.8
|
|
4
4
|
Summary: Lint, verify, and gate plugin ecosystems for maintainers, CI, and publish workflows.
|
|
5
5
|
Project-URL: Homepage, https://github.com/hashgraph-online/ai-plugin-scanner
|
|
6
6
|
Project-URL: Repository, https://github.com/hashgraph-online/ai-plugin-scanner
|
|
@@ -30,6 +30,7 @@ Requires-Dist: build>=1.2.2; extra == 'dev'
|
|
|
30
30
|
Requires-Dist: jsonschema>=4.23.0; extra == 'dev'
|
|
31
31
|
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
|
|
32
32
|
Requires-Dist: pytest>=7.0; extra == 'dev'
|
|
33
|
+
Requires-Dist: pyyaml>=6.0; extra == 'dev'
|
|
33
34
|
Requires-Dist: ruff>=0.4.0; extra == 'dev'
|
|
34
35
|
Provides-Extra: publish
|
|
35
36
|
Requires-Dist: twine>=6.1.0; extra == 'publish'
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "plugin-scanner"
|
|
7
|
-
version = "2.0.
|
|
7
|
+
version = "2.0.8"
|
|
8
8
|
description = "Lint, verify, and gate plugin ecosystems for maintainers, CI, and publish workflows."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0"
|
|
@@ -37,6 +37,7 @@ cisco = []
|
|
|
37
37
|
dev = [
|
|
38
38
|
"build>=1.2.2",
|
|
39
39
|
"jsonschema>=4.23.0",
|
|
40
|
+
"pyyaml>=6.0",
|
|
40
41
|
"pytest>=7.0",
|
|
41
42
|
"pytest-cov>=4.0",
|
|
42
43
|
"ruff>=0.4.0",
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hol-guard"
|
|
7
|
-
version = "2.0.
|
|
7
|
+
version = "2.0.8"
|
|
8
8
|
description = "Protect local AI harnesses with HOL Guard and run scanner checks for Codex, Claude, Cursor, Gemini, and OpenCode."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0"
|
|
@@ -37,6 +37,7 @@ cisco = []
|
|
|
37
37
|
dev = [
|
|
38
38
|
"build>=1.2.2",
|
|
39
39
|
"jsonschema>=4.23.0",
|
|
40
|
+
"pyyaml>=6.0",
|
|
40
41
|
"pytest>=7.0",
|
|
41
42
|
"pytest-cov>=4.0",
|
|
42
43
|
"ruff>=0.4.0",
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
|
|
5
|
+
import yaml
|
|
6
|
+
|
|
5
7
|
ROOT = Path(__file__).resolve().parent.parent
|
|
6
8
|
|
|
7
9
|
|
|
@@ -134,6 +136,32 @@ def test_ci_workflow_covers_cross_platform_runtime() -> None:
|
|
|
134
136
|
assert "macos-latest" in workflow_text
|
|
135
137
|
|
|
136
138
|
|
|
139
|
+
def test_scorecard_workflow_matches_official_install_pattern() -> None:
|
|
140
|
+
workflow_text = (ROOT / ".github" / "workflows" / "scorecard.yml").read_text(encoding="utf-8")
|
|
141
|
+
workflow = yaml.safe_load(workflow_text)
|
|
142
|
+
|
|
143
|
+
assert "name: OpenSSF Scorecard" in workflow_text
|
|
144
|
+
assert "permissions: read-all" in workflow_text
|
|
145
|
+
assert "branches: [main]" in workflow_text
|
|
146
|
+
assert workflow["jobs"]["scorecard"]["permissions"]["actions"] == "read"
|
|
147
|
+
assert workflow["jobs"]["scorecard"]["permissions"]["contents"] == "read"
|
|
148
|
+
assert "id-token: write" in workflow_text
|
|
149
|
+
assert "security-events: write" in workflow_text
|
|
150
|
+
assert 'uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd' in workflow_text
|
|
151
|
+
assert 'uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a' in workflow_text
|
|
152
|
+
assert "results_file: results.sarif" in workflow_text
|
|
153
|
+
assert "results_format: sarif" in workflow_text
|
|
154
|
+
assert "publish_results: true" in workflow_text
|
|
155
|
+
assert 'uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f' in workflow_text
|
|
156
|
+
assert "persist-credentials: false" in workflow_text
|
|
157
|
+
assert "path: results.sarif" in workflow_text
|
|
158
|
+
assert "retention-days: 5" in workflow_text
|
|
159
|
+
assert workflow_text.count("if: always()") == 2
|
|
160
|
+
assert 'uses: github/codeql-action/upload-sarif@c10b8064de6f491fea524254123dbe5e09572f13' in workflow_text
|
|
161
|
+
assert "sarif_file: results.sarif" in workflow_text
|
|
162
|
+
assert "if: always()" in workflow_text
|
|
163
|
+
|
|
164
|
+
|
|
137
165
|
def test_harness_smoke_workflow_covers_nightly_self_hosted_release_gate() -> None:
|
|
138
166
|
workflow_text = (ROOT / ".github" / "workflows" / "harness-smoke.yml").read_text(encoding="utf-8")
|
|
139
167
|
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: OpenSSF Scorecard
|
|
2
|
-
on:
|
|
3
|
-
schedule:
|
|
4
|
-
- cron: '0 0 * * 0'
|
|
5
|
-
push:
|
|
6
|
-
branches: [main]
|
|
7
|
-
permissions:
|
|
8
|
-
contents: read
|
|
9
|
-
jobs:
|
|
10
|
-
scorecard:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
permissions:
|
|
13
|
-
id-token: write
|
|
14
|
-
security-events: write
|
|
15
|
-
steps:
|
|
16
|
-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
|
17
|
-
with:
|
|
18
|
-
persist-credentials: false
|
|
19
|
-
- uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a
|
|
20
|
-
with:
|
|
21
|
-
results_file: results.sarif
|
|
22
|
-
results_format: sarif
|
|
23
|
-
publish_results: true
|
|
24
|
-
- uses: github/codeql-action/upload-sarif@c10b8064de6f491fea524254123dbe5e09572f13
|
|
25
|
-
with:
|
|
26
|
-
sarif_file: results.sarif
|
|
27
|
-
if: always()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/best_practices.py
RENAMED
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/code_quality.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/ecosystem_common.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/manifest_support.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/marketplace.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/checks/skill_security.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/opencode.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/ecosystems/registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/__init__.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/base.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/claude_code.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/codex.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/cursor.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/gemini.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/adapters/opencode.py
RENAMED
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/bootstrap.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/commands.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/cli/install_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/consumer/__init__.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/consumer/service.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/daemon/__init__.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/daemon/manager.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/daemon/server.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/policy/__init__.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/policy/engine.py
RENAMED
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/proxy/__init__.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/proxy/remote.py
RENAMED
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/receipts/__init__.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/receipts/manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/runtime/__init__.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/runtime/runner.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/schemas/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/guard/store_approvals.py
RENAMED
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/integrations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/marketplace_support.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/trust_domain_scoring.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/trust_plugin_scoring.py
RENAMED
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/src/codex_plugin_scanner/trust_skill_scoring.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plugin_scanner-2.0.7 → plugin_scanner-2.0.8}/tests/fixtures/bad-plugin/.codex-plugin/plugin.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|