@shepai/cli 1.171.0-pr527.e2ee839 → 1.172.0-pr528.108a424
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/apis/json-schema/AgentType.yaml +1 -0
- package/apis/json-schema/Settings.yaml +0 -3
- package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts +1 -15
- package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts +1 -3
- package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +0 -38
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.js +0 -9
- package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts +0 -11
- package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +0 -2
- package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +0 -2
- package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.js +0 -2
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +0 -1
- package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +0 -2
- package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.js +0 -2
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +1 -5
- package/dist/packages/core/src/domain/generated/output.d.ts +1 -259
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +1 -43
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +3 -57
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +0 -3
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +0 -14
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -12
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +23 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.js +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts +0 -2
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +0 -12
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts +63 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.js +494 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +0 -10
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +0 -34
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts +1 -3
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +1 -7
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +1 -3
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +1 -32
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +0 -19
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +1 -4
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +0 -10
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +1 -10
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +1 -101
- package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts +0 -1
- package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.js +0 -61
- package/dist/packages/core/src/infrastructure/services/tool-installer/tools/codex.json +32 -0
- package/dist/packages/core/src/infrastructure/services/tool-installer/tools/copilot.json +32 -0
- package/dist/src/presentation/cli/index.js +0 -2
- package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -1
- package/dist/src/presentation/tui/prompts/agent-select.prompt.js +5 -0
- package/dist/src/presentation/web/app/actions/check-agent-auth.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/check-agent-auth.js +18 -0
- package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/get-all-agent-models.js +4 -2
- package/dist/src/presentation/web/app/build-graph-nodes.d.ts +1 -3
- package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
- package/dist/src/presentation/web/app/build-graph-nodes.js +0 -2
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.js +2 -0
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.js +1 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +1 -3
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.js +1 -2
- package/dist/src/presentation/web/components/common/repo-group/repo-group.js +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts +1 -3
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.js +2 -3
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +1 -0
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +7 -0
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +11 -3
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts +1 -0
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.js +8 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +3 -16
- package/dist/translations/ar/cli.json +0 -20
- package/dist/translations/ar/tui.json +4 -0
- package/dist/translations/ar/web.json +1 -43
- package/dist/translations/de/cli.json +0 -20
- package/dist/translations/de/tui.json +4 -0
- package/dist/translations/de/web.json +1 -43
- package/dist/translations/en/cli.json +0 -20
- package/dist/translations/en/tui.json +4 -0
- package/dist/translations/en/web.json +1 -43
- package/dist/translations/es/cli.json +0 -20
- package/dist/translations/es/tui.json +4 -0
- package/dist/translations/es/web.json +1 -43
- package/dist/translations/fr/cli.json +0 -20
- package/dist/translations/fr/tui.json +4 -0
- package/dist/translations/fr/web.json +1 -43
- package/dist/translations/he/cli.json +0 -20
- package/dist/translations/he/tui.json +4 -0
- package/dist/translations/he/web.json +1 -43
- package/dist/translations/pt/cli.json +0 -20
- package/dist/translations/pt/tui.json +4 -0
- package/dist/translations/pt/web.json +1 -43
- package/dist/translations/ru/cli.json +0 -20
- package/dist/translations/ru/tui.json +4 -0
- package/dist/translations/ru/web.json +1 -43
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +1 -2
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -2
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -2
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -2
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +1 -2
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -2
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/chat/page.js +1 -2
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/create/page.js +1 -2
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -2
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -2
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/page.js +1 -2
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +1 -2
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -2
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
- package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
- package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/features/page.js.nft.json +1 -1
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +18 -33
- package/web/.next/server/app/settings/page.js +1 -1
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +13 -13
- package/web/.next/server/app/skills/page.js +1 -2
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/tools/page.js +1 -2
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fa525872._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fa525872._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_02e01240._.js +4 -0
- package/web/.next/server/chunks/ssr/_02e01240._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_18886033._.js +4 -0
- package/web/.next/server/chunks/ssr/_18886033._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1e08a336._.js +1 -1
- package/web/.next/server/chunks/ssr/_22e00a14._.js +4 -0
- package/web/.next/server/chunks/ssr/_22e00a14._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_ee42a212._.js → _324beb75._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_ee42a212._.js.map → _324beb75._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_43ba79e7._.js +3 -0
- package/web/.next/server/chunks/ssr/_43ba79e7._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_45496654._.js +1 -1
- package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_5119a3df._.js +1 -1
- package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_767748d2._.js → _5e3cb0a7._.js} +2 -2
- package/web/.next/server/chunks/ssr/_5e3cb0a7._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a5a5901d._.js +4 -0
- package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a963dd3c._.js +3 -0
- package/web/.next/server/chunks/ssr/_a963dd3c._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_ad09f271._.js +4 -0
- package/web/.next/server/chunks/ssr/_ad09f271._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_c3f595c6._.js +4 -0
- package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_c9d3f255._.js +3 -0
- package/web/.next/server/chunks/ssr/_c9d3f255._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_df737cce._.js +1 -1
- package/web/.next/server/chunks/ssr/_e3f14907._.js +9 -0
- package/web/.next/server/chunks/ssr/_e3f14907._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_ea9e1556._.js +4 -0
- package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js +6 -0
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f33cd07e._.js +6 -0
- package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f8b45233._.js +4 -0
- package/web/.next/server/chunks/ssr/_f8b45233._.js.map +1 -0
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +59 -74
- package/web/.next/static/chunks/01d34ca202152b33.js +1 -0
- package/web/.next/static/chunks/120279c82aa8aa25.js +1 -0
- package/web/.next/static/chunks/2e32d8578aace93a.js +1 -0
- package/web/.next/static/chunks/{16fa4d3877c28fe2.js → 41f5bb33ac4f3c7d.js} +1 -1
- package/web/.next/static/chunks/{b9c62932ed987239.js → 43cf78a6c49eb7c1.js} +2 -2
- package/web/.next/static/chunks/4559a403ee40dd19.js +7 -0
- package/web/.next/static/chunks/{a8edb9423086e83f.js → 50b760a2c7ad03d3.js} +1 -1
- package/web/.next/static/chunks/{d1c3e0ee8e788c87.js → 6e10cf4513c1f54f.js} +1 -1
- package/web/.next/static/chunks/{39f6ad3f9005703a.js → 8a486366e2878cbc.js} +1 -1
- package/web/.next/static/chunks/8b0a9cb5109fe899.js +1 -0
- package/web/.next/static/chunks/{9374d251360e808b.js → 947678ada7948442.js} +1 -1
- package/web/.next/static/chunks/{7e05e7e25220ee9a.js → b1b0c8ff51c0c2fc.js} +3 -3
- package/web/.next/static/chunks/b65e555419a0c664.js +1 -0
- package/web/.next/static/chunks/{89dd90bf14488ec0.js → bd55a833b24ee17b.js} +1 -1
- package/web/.next/static/chunks/{e8c3c12f92e9a521.js → c91571264851a71e.js} +3 -3
- package/web/.next/static/chunks/cc832e47f53eb2c3.js +1 -0
- package/web/.next/static/chunks/{fb8dadb64c0ffc6b.js → d5366257d6b9f855.js} +1 -1
- package/web/.next/static/chunks/da504d7f1c40bce1.js +1 -0
- package/web/.next/static/chunks/dcf8bb4389557a76.css +1 -0
- package/web/.next/static/chunks/f8f647baf2e91a9d.js +1 -0
- package/web/public/icons/agents/copilot.svg +12 -0
- package/apis/json-schema/ActionDispositionEntry.yaml +0 -14
- package/apis/json-schema/DependencyFinding.yaml +0 -28
- package/apis/json-schema/DependencyRiskType.yaml +0 -11
- package/apis/json-schema/DependencyRules.yaml +0 -38
- package/apis/json-schema/EffectivePolicySnapshot.yaml +0 -24
- package/apis/json-schema/ReleaseIntegrityCheck.yaml +0 -22
- package/apis/json-schema/ReleaseIntegrityCheckType.yaml +0 -9
- package/apis/json-schema/ReleaseIntegrityResult.yaml +0 -16
- package/apis/json-schema/ReleaseRules.yaml +0 -21
- package/apis/json-schema/SecurityActionCategory.yaml +0 -10
- package/apis/json-schema/SecurityActionDisposition.yaml +0 -8
- package/apis/json-schema/SecurityConfig.yaml +0 -17
- package/apis/json-schema/SecurityEvent.yaml +0 -36
- package/apis/json-schema/SecurityMode.yaml +0 -8
- package/apis/json-schema/SecurityPolicy.yaml +0 -24
- package/apis/json-schema/SecuritySeverity.yaml +0 -9
- package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.d.ts +0 -76
- package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.js +0 -11
- package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.d.ts +0 -77
- package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.js +0 -13
- package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts +0 -71
- package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.js +0 -215
- package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.d.ts +0 -24
- package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.js +0 -56
- package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts +0 -36
- package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.js +0 -76
- package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.d.ts +0 -14
- package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.js +0 -46
- package/dist/packages/core/src/domain/errors/security-violation.error.d.ts +0 -15
- package/dist/packages/core/src/domain/errors/security-violation.error.d.ts.map +0 -1
- package/dist/packages/core/src/domain/errors/security-violation.error.js +0 -20
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.d.ts +0 -44
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.js +0 -55
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.d.ts +0 -18
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.js +0 -31
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.d.ts +0 -29
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.js +0 -53
- package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.d.ts +0 -24
- package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.js +0 -96
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.d.ts +0 -22
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.js +0 -30
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.d.ts +0 -45
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.js +0 -70
- package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.d.ts +0 -53
- package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.js +0 -241
- package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.d.ts +0 -44
- package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.js +0 -194
- package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.d.ts +0 -28
- package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.js +0 -50
- package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.d.ts +0 -26
- package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.js +0 -147
- package/dist/packages/core/src/infrastructure/services/security/security-policy.service.d.ts +0 -44
- package/dist/packages/core/src/infrastructure/services/security/security-policy.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/security/security-policy.service.js +0 -174
- package/dist/src/presentation/cli/commands/security.command.d.ts +0 -16
- package/dist/src/presentation/cli/commands/security.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/security.command.js +0 -118
- package/dist/src/presentation/web/app/actions/security.d.ts +0 -28
- package/dist/src/presentation/web/app/actions/security.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/security.js +0 -59
- package/dist/src/presentation/web/components/common/repository-node/security-panel.d.ts +0 -6
- package/dist/src/presentation/web/components/common/repository-node/security-panel.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/repository-node/security-panel.js +0 -29
- package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.d.ts +0 -10
- package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.js +0 -53
- package/dist/src/presentation/web/components/common/security-badge.d.ts +0 -7
- package/dist/src/presentation/web/components/common/security-badge.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/security-badge.js +0 -30
- package/dist/src/presentation/web/components/common/security-badge.stories.d.ts +0 -12
- package/dist/src/presentation/web/components/common/security-badge.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/security-badge.stories.js +0 -20
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.d.ts +0 -6
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.js +0 -60
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.d.ts +0 -14
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.js +0 -116
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js +0 -3
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js.map +0 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js +0 -3
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js.map +0 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js +0 -3
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9a9cb046._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9a9cb046._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a2d6c0ac._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a2d6c0ac._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_02580450._.js +0 -3
- package/web/.next/server/chunks/ssr/_02580450._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1594e369._.js +0 -9
- package/web/.next/server/chunks/ssr/_1594e369._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_21d37090._.js +0 -3
- package/web/.next/server/chunks/ssr/_21d37090._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_767748d2._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_f8c55130._.js +0 -4
- package/web/.next/server/chunks/ssr/_f8c55130._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_ff04802c._.js +0 -3
- package/web/.next/server/chunks/ssr/_ff04802c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js +0 -5
- package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js +0 -5
- package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js.map +0 -1
- package/web/.next/static/chunks/051873309d87fb45.css +0 -1
- package/web/.next/static/chunks/23d80bb760e7dc4c.js +0 -1
- package/web/.next/static/chunks/30a0ba9015f94405.js +0 -7
- package/web/.next/static/chunks/3aba9d2242420cb5.js +0 -1
- package/web/.next/static/chunks/7a6f56f37aaa17ea.js +0 -1
- package/web/.next/static/chunks/9423dc2310202fda.js +0 -1
- package/web/.next/static/chunks/a794cf7a1a5648dd.js +0 -1
- package/web/.next/static/chunks/ae81796726a9bba3.js +0 -1
- package/web/.next/static/chunks/f3d5e0ae13def35a.js +0 -1
- package/web/.next/static/chunks/fd232b88b5b50b2e.js +0 -1
- /package/web/.next/static/{t6SUt71jyk_PYf152Imog → S_u3qor6FkwObhA1F2xEj}/_buildManifest.js +0 -0
- /package/web/.next/static/{t6SUt71jyk_PYf152Imog → S_u3qor6FkwObhA1F2xEj}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{t6SUt71jyk_PYf152Imog → S_u3qor6FkwObhA1F2xEj}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_731_27445)">
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M111.688 83.9677C108.245 89.9488 88.2522 104.062 64 104.062C39.7478 104.062 19.7554 89.9488 16.3123 83.9677C16.0605 83.5303 15.9792 83.031 15.9792 82.5263L15.9792 71.8787C15.9792 71.4373 16.0474 70.9986 16.2107 70.5885C17.6996 66.8499 21.599 61.4192 26.6313 59.9621C27.2985 58.2494 28.2867 55.7456 29.2087 53.8974C29.0543 52.4833 29 51.0248 29 49.5512C29 44.2274 30.1285 39.5576 33.5288 36.0801C35.117 34.4559 37.0876 33.21 39.4246 32.2735C45.0217 27.7264 52.992 23.9011 63.9136 23.9011C74.8352 23.9011 82.9783 27.7264 88.5754 32.2735C90.9124 33.21 92.883 34.4559 94.4712 36.0801C97.8715 39.5576 99 44.2274 99 49.5512C99 51.0248 98.9457 52.4833 98.7913 53.8974C99.7133 55.7456 100.701 58.2494 101.369 59.9621C106.401 61.4192 110.3 66.8499 111.789 70.5885C111.953 70.9986 112.021 71.4373 112.021 71.8787L112.021 82.5263C112.021 83.031 111.939 83.5303 111.688 83.9677ZM67.253 48.2606C67.0828 46.9345 67.0018 45.747 66.9995 44.686L66.9995 44.6021C67.0048 41.5242 67.6776 39.5215 68.7524 38.2914C70.1172 36.7295 72.9379 35.5328 78.8829 36.1762C84.9059 36.828 88.2725 38.3229 90.1812 40.2749C92.0291 42.1648 92.9999 44.9922 92.9999 49.5512C92.9999 54.3951 92.3018 57.2568 90.767 58.9977C89.3075 60.6531 86.4335 62 80.1386 62C75.2994 62 72.5326 60.4261 70.7637 58.2493C68.8644 55.912 67.7955 52.4878 67.253 48.2606ZM60.747 48.2606C60.9172 46.9344 60.9982 45.747 61.0005 44.686L61.0005 44.6021C60.9952 41.5242 60.3224 39.5214 59.2476 38.2914C57.8828 36.7295 55.0621 35.5328 49.1171 36.1762C43.0941 36.828 39.7275 38.3229 37.8188 40.2749C35.9709 42.1647 35.0001 44.9922 35.0001 49.5512C35.0001 54.3951 35.6982 57.2568 37.233 58.9977C38.6925 60.6531 41.5665 62 47.8614 62C52.7006 62 55.4674 60.4261 57.2363 58.2493C59.1356 55.9119 60.2045 52.4878 60.747 48.2606ZM64.6889 59.9983C64.4592 59.9995 64.9185 59.9983 64.6889 59.9983C64.4594 59.9983 63.5408 59.9995 63.3111 59.9983C62.8877 60.7075 62.4168 61.3882 61.8926 62.0332C58.8139 65.8219 54.2182 68 47.8613 68C40.9615 68 35.9049 66.564 32.7324 62.9657C32.552 62.7611 32.3906 62.5469 32.3906 62.5469L32 62.9657L32 89.3023C37.7392 92.4213 50.0576 98.0184 64 98.0184C77.9424 98.0184 90.2608 92.4213 96 89.3023L96 62.9657L95.6094 62.5469C95.6094 62.5469 95.4772 62.728 95.2676 62.9657C92.0951 66.564 87.0385 68 80.1387 68C73.7818 68 69.1861 65.8219 66.1074 62.0332C65.5832 61.3882 65.1123 60.7075 64.6889 59.9983Z" fill="white"/>
|
|
4
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M74 73C76.2091 73 78 74.7909 78 77L78 85C78 87.2092 76.2091 89 74 89C71.7909 89 70 87.2092 70 85L70 77C70 74.7909 71.7909 73 74 73Z" fill="white"/>
|
|
5
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M54 73C56.2091 73 58 74.7909 58 77L58 85C58 87.2092 56.2091 89 54 89C51.7909 89 50 87.2092 50 85L50 77C50 74.7909 51.7909 73 54 73Z" fill="white"/>
|
|
6
|
+
</g>
|
|
7
|
+
<defs>
|
|
8
|
+
<clipPath id="clip0_731_27445">
|
|
9
|
+
<rect width="96" height="96" fill="white" transform="translate(16 16)"/>
|
|
10
|
+
</clipPath>
|
|
11
|
+
</defs>
|
|
12
|
+
</svg>
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: ActionDispositionEntry.yaml
|
|
3
|
-
type: object
|
|
4
|
-
properties:
|
|
5
|
-
category:
|
|
6
|
-
$ref: SecurityActionCategory.yaml
|
|
7
|
-
description: The action category
|
|
8
|
-
disposition:
|
|
9
|
-
$ref: SecurityActionDisposition.yaml
|
|
10
|
-
description: How this action should be handled
|
|
11
|
-
required:
|
|
12
|
-
- category
|
|
13
|
-
- disposition
|
|
14
|
-
description: Mapping of an action category to its enforcement disposition
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: DependencyFinding.yaml
|
|
3
|
-
type: object
|
|
4
|
-
properties:
|
|
5
|
-
packageName:
|
|
6
|
-
type: string
|
|
7
|
-
description: Package name (e.g. 'lodash', '@types/node')
|
|
8
|
-
version:
|
|
9
|
-
type: string
|
|
10
|
-
description: Package version or range (e.g. '^4.17.0')
|
|
11
|
-
severity:
|
|
12
|
-
$ref: SecuritySeverity.yaml
|
|
13
|
-
description: Severity of this finding
|
|
14
|
-
riskType:
|
|
15
|
-
$ref: DependencyRiskType.yaml
|
|
16
|
-
description: Type of dependency risk detected
|
|
17
|
-
message:
|
|
18
|
-
type: string
|
|
19
|
-
description: Human-readable description of the finding
|
|
20
|
-
remediation:
|
|
21
|
-
type: string
|
|
22
|
-
description: Actionable remediation guidance
|
|
23
|
-
required:
|
|
24
|
-
- packageName
|
|
25
|
-
- severity
|
|
26
|
-
- riskType
|
|
27
|
-
- message
|
|
28
|
-
description: Single dependency risk finding
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: DependencyRiskType.yaml
|
|
3
|
-
type: string
|
|
4
|
-
enum:
|
|
5
|
-
- LockfileInconsistency
|
|
6
|
-
- NonRegistrySource
|
|
7
|
-
- LifecycleScript
|
|
8
|
-
- DenylistViolation
|
|
9
|
-
- AllowlistViolation
|
|
10
|
-
- VersionRangePolicy
|
|
11
|
-
description: Type of dependency risk finding
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: DependencyRules.yaml
|
|
3
|
-
type: object
|
|
4
|
-
properties:
|
|
5
|
-
checkLockfileConsistency:
|
|
6
|
-
type: boolean
|
|
7
|
-
default: true
|
|
8
|
-
description: "Check manifest-lockfile consistency (default: true)"
|
|
9
|
-
checkLifecycleScripts:
|
|
10
|
-
type: boolean
|
|
11
|
-
default: true
|
|
12
|
-
description: "Flag packages with lifecycle scripts (default: true)"
|
|
13
|
-
checkNonRegistrySource:
|
|
14
|
-
type: boolean
|
|
15
|
-
default: true
|
|
16
|
-
description: "Flag non-registry dependency sources (default: true)"
|
|
17
|
-
enforceStrictVersionRanges:
|
|
18
|
-
type: boolean
|
|
19
|
-
default: false
|
|
20
|
-
description: "Enforce strict version ranges — no ^ or * (default: false)"
|
|
21
|
-
allowlist:
|
|
22
|
-
type: array
|
|
23
|
-
items:
|
|
24
|
-
type: string
|
|
25
|
-
description: Packages explicitly allowed (empty = allow all)
|
|
26
|
-
denylist:
|
|
27
|
-
type: array
|
|
28
|
-
items:
|
|
29
|
-
type: string
|
|
30
|
-
description: Packages explicitly denied
|
|
31
|
-
required:
|
|
32
|
-
- checkLockfileConsistency
|
|
33
|
-
- checkLifecycleScripts
|
|
34
|
-
- checkNonRegistrySource
|
|
35
|
-
- enforceStrictVersionRanges
|
|
36
|
-
- allowlist
|
|
37
|
-
- denylist
|
|
38
|
-
description: Dependency risk evaluation policy rules
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: EffectivePolicySnapshot.yaml
|
|
3
|
-
type: object
|
|
4
|
-
properties:
|
|
5
|
-
mode:
|
|
6
|
-
$ref: SecurityMode.yaml
|
|
7
|
-
description: Resolved effective security mode
|
|
8
|
-
source:
|
|
9
|
-
type: string
|
|
10
|
-
description: Where the policy was sourced from (e.g. 'shep.security.yaml', 'settings-default')
|
|
11
|
-
evaluatedAt:
|
|
12
|
-
type: string
|
|
13
|
-
description: ISO timestamp when this snapshot was computed
|
|
14
|
-
actionDispositions:
|
|
15
|
-
type: array
|
|
16
|
-
items:
|
|
17
|
-
$ref: ActionDispositionEntry.yaml
|
|
18
|
-
description: Resolved per-action-category enforcement dispositions
|
|
19
|
-
required:
|
|
20
|
-
- mode
|
|
21
|
-
- source
|
|
22
|
-
- evaluatedAt
|
|
23
|
-
- actionDispositions
|
|
24
|
-
description: Computed effective security policy snapshot
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: ReleaseIntegrityCheck.yaml
|
|
3
|
-
type: object
|
|
4
|
-
properties:
|
|
5
|
-
checkType:
|
|
6
|
-
$ref: ReleaseIntegrityCheckType.yaml
|
|
7
|
-
description: Type of check performed
|
|
8
|
-
passed:
|
|
9
|
-
type: boolean
|
|
10
|
-
description: Whether this check passed
|
|
11
|
-
message:
|
|
12
|
-
type: string
|
|
13
|
-
description: Human-readable description of the result
|
|
14
|
-
severity:
|
|
15
|
-
$ref: SecuritySeverity.yaml
|
|
16
|
-
description: Severity when this check fails
|
|
17
|
-
required:
|
|
18
|
-
- checkType
|
|
19
|
-
- passed
|
|
20
|
-
- message
|
|
21
|
-
- severity
|
|
22
|
-
description: Result of a single release integrity check
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: ReleaseIntegrityResult.yaml
|
|
3
|
-
type: object
|
|
4
|
-
properties:
|
|
5
|
-
checks:
|
|
6
|
-
type: array
|
|
7
|
-
items:
|
|
8
|
-
$ref: ReleaseIntegrityCheck.yaml
|
|
9
|
-
description: Individual check results
|
|
10
|
-
passed:
|
|
11
|
-
type: boolean
|
|
12
|
-
description: Whether all checks passed
|
|
13
|
-
required:
|
|
14
|
-
- checks
|
|
15
|
-
- passed
|
|
16
|
-
description: Aggregated release integrity evaluation result
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: ReleaseRules.yaml
|
|
3
|
-
type: object
|
|
4
|
-
properties:
|
|
5
|
-
requireCiOnlyPublishing:
|
|
6
|
-
type: boolean
|
|
7
|
-
default: true
|
|
8
|
-
description: "Require publishing from CI only, not local (default: true)"
|
|
9
|
-
requireProvenance:
|
|
10
|
-
type: boolean
|
|
11
|
-
default: true
|
|
12
|
-
description: "Require npm provenance flags on publish (default: true)"
|
|
13
|
-
checkWorkflowIntegrity:
|
|
14
|
-
type: boolean
|
|
15
|
-
default: true
|
|
16
|
-
description: "Check that release workflow has not been tampered with (default: true)"
|
|
17
|
-
required:
|
|
18
|
-
- requireCiOnlyPublishing
|
|
19
|
-
- requireProvenance
|
|
20
|
-
- checkWorkflowIntegrity
|
|
21
|
-
description: Release integrity policy rules
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: SecurityActionCategory.yaml
|
|
3
|
-
type: string
|
|
4
|
-
enum:
|
|
5
|
-
- DependencyInstall
|
|
6
|
-
- PackageScriptExec
|
|
7
|
-
- CiWorkflowModify
|
|
8
|
-
- PublishRelease
|
|
9
|
-
- SandboxEscalation
|
|
10
|
-
description: Categories of risky agent actions for runtime guardrails
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: SecurityConfig.yaml
|
|
3
|
-
type: object
|
|
4
|
-
properties:
|
|
5
|
-
mode:
|
|
6
|
-
$ref: SecurityMode.yaml
|
|
7
|
-
default: Advisory
|
|
8
|
-
description: "Effective security mode (default: Advisory)"
|
|
9
|
-
lastEvaluationAt:
|
|
10
|
-
type: string
|
|
11
|
-
description: ISO timestamp of last policy evaluation (null if never evaluated)
|
|
12
|
-
policySource:
|
|
13
|
-
type: string
|
|
14
|
-
description: Source of the active security policy (null if never evaluated)
|
|
15
|
-
required:
|
|
16
|
-
- mode
|
|
17
|
-
description: Supply-chain security configuration persisted in settings
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: SecurityEvent.yaml
|
|
3
|
-
type: object
|
|
4
|
-
properties:
|
|
5
|
-
repositoryPath:
|
|
6
|
-
type: string
|
|
7
|
-
description: Absolute path to the repository this event belongs to
|
|
8
|
-
featureId:
|
|
9
|
-
type: string
|
|
10
|
-
description: Feature ID if this event occurred during a feature run
|
|
11
|
-
severity:
|
|
12
|
-
$ref: SecuritySeverity.yaml
|
|
13
|
-
description: Severity of this security event
|
|
14
|
-
category:
|
|
15
|
-
$ref: SecurityActionCategory.yaml
|
|
16
|
-
description: Action category that triggered this event
|
|
17
|
-
disposition:
|
|
18
|
-
$ref: SecurityActionDisposition.yaml
|
|
19
|
-
description: How the action was handled (allowed, denied, approval-required)
|
|
20
|
-
actor:
|
|
21
|
-
type: string
|
|
22
|
-
description: Actor or source that triggered this event (agent, user, CI)
|
|
23
|
-
message:
|
|
24
|
-
type: string
|
|
25
|
-
description: Human-readable event description
|
|
26
|
-
remediationSummary:
|
|
27
|
-
type: string
|
|
28
|
-
description: Actionable remediation guidance
|
|
29
|
-
required:
|
|
30
|
-
- repositoryPath
|
|
31
|
-
- severity
|
|
32
|
-
- category
|
|
33
|
-
- disposition
|
|
34
|
-
allOf:
|
|
35
|
-
- $ref: BaseEntity.yaml
|
|
36
|
-
description: Persisted security event for audit and observability
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
-
$id: SecurityPolicy.yaml
|
|
3
|
-
type: object
|
|
4
|
-
properties:
|
|
5
|
-
mode:
|
|
6
|
-
$ref: SecurityMode.yaml
|
|
7
|
-
description: Desired security mode for this repository
|
|
8
|
-
actionDispositions:
|
|
9
|
-
type: array
|
|
10
|
-
items:
|
|
11
|
-
$ref: ActionDispositionEntry.yaml
|
|
12
|
-
description: Per-action-category enforcement dispositions
|
|
13
|
-
dependencyRules:
|
|
14
|
-
$ref: DependencyRules.yaml
|
|
15
|
-
description: Dependency risk evaluation rules
|
|
16
|
-
releaseRules:
|
|
17
|
-
$ref: ReleaseRules.yaml
|
|
18
|
-
description: Release integrity check rules
|
|
19
|
-
required:
|
|
20
|
-
- mode
|
|
21
|
-
- actionDispositions
|
|
22
|
-
- dependencyRules
|
|
23
|
-
- releaseRules
|
|
24
|
-
description: Security policy configuration from shep.security.yaml
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Security Event Repository Interface
|
|
3
|
-
*
|
|
4
|
-
* Output port for SecurityEvent persistence operations.
|
|
5
|
-
* Implementations handle database-specific logic (SQLite, etc.).
|
|
6
|
-
*
|
|
7
|
-
* Following Clean Architecture:
|
|
8
|
-
* - Domain and Application layers depend on this interface
|
|
9
|
-
* - Infrastructure layer provides concrete implementations
|
|
10
|
-
*/
|
|
11
|
-
import type { SecurityEvent, SecuritySeverity } from '../../../../domain/generated/output.js';
|
|
12
|
-
/**
|
|
13
|
-
* Options for querying security events.
|
|
14
|
-
*/
|
|
15
|
-
export interface SecurityEventQueryOptions {
|
|
16
|
-
/** Maximum number of events to return */
|
|
17
|
-
limit?: number;
|
|
18
|
-
/** Number of events to skip (for pagination) */
|
|
19
|
-
offset?: number;
|
|
20
|
-
/** Filter by minimum severity level */
|
|
21
|
-
severity?: SecuritySeverity;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Repository interface for SecurityEvent entity persistence.
|
|
25
|
-
*
|
|
26
|
-
* Implementations must:
|
|
27
|
-
* - Handle database connection management
|
|
28
|
-
* - Provide thread-safe operations (SQLite WAL handles concurrency)
|
|
29
|
-
* - Support repository-scoped and feature-scoped queries
|
|
30
|
-
* - Use parameterized queries for all SQL operations
|
|
31
|
-
*/
|
|
32
|
-
export interface ISecurityEventRepository {
|
|
33
|
-
/**
|
|
34
|
-
* Persist a new security event.
|
|
35
|
-
*
|
|
36
|
-
* @param event - The security event to persist
|
|
37
|
-
*/
|
|
38
|
-
save(event: SecurityEvent): Promise<void>;
|
|
39
|
-
/**
|
|
40
|
-
* Find security events for a given repository path.
|
|
41
|
-
*
|
|
42
|
-
* Results are ordered by created_at DESC (most recent first).
|
|
43
|
-
*
|
|
44
|
-
* @param repositoryPath - Absolute path to the repository
|
|
45
|
-
* @param options - Optional query filters and pagination
|
|
46
|
-
* @returns Array of matching security events
|
|
47
|
-
*/
|
|
48
|
-
findByRepository(repositoryPath: string, options?: SecurityEventQueryOptions): Promise<SecurityEvent[]>;
|
|
49
|
-
/**
|
|
50
|
-
* Find security events for a given feature run.
|
|
51
|
-
*
|
|
52
|
-
* Results are ordered by created_at DESC (most recent first).
|
|
53
|
-
*
|
|
54
|
-
* @param featureId - The feature ID to filter by
|
|
55
|
-
* @param options - Optional query filters and pagination
|
|
56
|
-
* @returns Array of matching security events
|
|
57
|
-
*/
|
|
58
|
-
findByFeature(featureId: string, options?: SecurityEventQueryOptions): Promise<SecurityEvent[]>;
|
|
59
|
-
/**
|
|
60
|
-
* Delete security events older than the given date.
|
|
61
|
-
*
|
|
62
|
-
* Used for 90-day retention cleanup.
|
|
63
|
-
*
|
|
64
|
-
* @param date - Events created before this date will be deleted
|
|
65
|
-
* @returns Number of events deleted
|
|
66
|
-
*/
|
|
67
|
-
deleteOlderThan(date: Date): Promise<number>;
|
|
68
|
-
/**
|
|
69
|
-
* Count security events for a given repository path.
|
|
70
|
-
*
|
|
71
|
-
* @param repositoryPath - Absolute path to the repository
|
|
72
|
-
* @returns Total count of security events
|
|
73
|
-
*/
|
|
74
|
-
count(repositoryPath: string): Promise<number>;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=security-event.repository.interface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"security-event.repository.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/repositories/security-event.repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE9F;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;;;;;;OAQG;IACH,gBAAgB,CACd,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAE5B;;;;;;;;OAQG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAEhG;;;;;;;OAOG;IACH,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Security Event Repository Interface
|
|
3
|
-
*
|
|
4
|
-
* Output port for SecurityEvent persistence operations.
|
|
5
|
-
* Implementations handle database-specific logic (SQLite, etc.).
|
|
6
|
-
*
|
|
7
|
-
* Following Clean Architecture:
|
|
8
|
-
* - Domain and Application layers depend on this interface
|
|
9
|
-
* - Infrastructure layer provides concrete implementations
|
|
10
|
-
*/
|
|
11
|
-
export {};
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Security Policy Service Interface
|
|
3
|
-
*
|
|
4
|
-
* Output port for the central security policy engine.
|
|
5
|
-
* Implementations handle policy file reading, validation, merging
|
|
6
|
-
* with persisted settings, and deterministic policy evaluation.
|
|
7
|
-
*
|
|
8
|
-
* Following Clean Architecture:
|
|
9
|
-
* - Application and use-case layers depend on this interface
|
|
10
|
-
* - Infrastructure layer provides the concrete implementation
|
|
11
|
-
* - All consumers (CLI, runtime, CI, UI) resolve the same instance via DI
|
|
12
|
-
*/
|
|
13
|
-
import type { EffectivePolicySnapshot, SecurityActionCategory, SecurityActionDisposition } from '../../../../domain/generated/output.js';
|
|
14
|
-
/**
|
|
15
|
-
* Result of validating a security policy file.
|
|
16
|
-
*/
|
|
17
|
-
export interface PolicyValidationResult {
|
|
18
|
-
/** Whether the policy file is valid */
|
|
19
|
-
valid: boolean;
|
|
20
|
-
/** Per-field validation error messages (empty when valid) */
|
|
21
|
-
errors: string[];
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Service interface for security policy evaluation.
|
|
25
|
-
*
|
|
26
|
-
* Implementations must:
|
|
27
|
-
* - Read shep.security.yaml from the repository root
|
|
28
|
-
* - Merge repository policy with persisted settings defaults
|
|
29
|
-
* - Apply deterministic precedence (global defaults < repo policy)
|
|
30
|
-
* - Cache effective policy per repository path
|
|
31
|
-
* - Fail fast on invalid policy files with actionable errors
|
|
32
|
-
*/
|
|
33
|
-
export interface ISecurityPolicyService {
|
|
34
|
-
/**
|
|
35
|
-
* Evaluate and compute the effective security policy for a repository.
|
|
36
|
-
*
|
|
37
|
-
* Reads the policy file, merges with persisted settings defaults,
|
|
38
|
-
* validates, and returns a deterministic snapshot. Re-evaluates
|
|
39
|
-
* on every call (no cache).
|
|
40
|
-
*
|
|
41
|
-
* @param repositoryPath - Absolute path to the repository root
|
|
42
|
-
* @returns Computed effective policy snapshot
|
|
43
|
-
* @throws Error if the policy file exists but is invalid
|
|
44
|
-
*/
|
|
45
|
-
evaluatePolicy(repositoryPath: string): Promise<EffectivePolicySnapshot>;
|
|
46
|
-
/**
|
|
47
|
-
* Get the effective security policy for a repository.
|
|
48
|
-
*
|
|
49
|
-
* Returns a cached snapshot if available, otherwise computes
|
|
50
|
-
* and caches the result. Use evaluatePolicy() to force re-evaluation.
|
|
51
|
-
*
|
|
52
|
-
* @param repositoryPath - Absolute path to the repository root
|
|
53
|
-
* @returns Cached or freshly computed effective policy snapshot
|
|
54
|
-
* @throws Error if the policy file exists but is invalid
|
|
55
|
-
*/
|
|
56
|
-
getEffectivePolicy(repositoryPath: string): Promise<EffectivePolicySnapshot>;
|
|
57
|
-
/**
|
|
58
|
-
* Validate a security policy file without computing effective policy.
|
|
59
|
-
*
|
|
60
|
-
* Parses and validates the file against the expected schema.
|
|
61
|
-
* Returns a structured result with per-field error messages.
|
|
62
|
-
*
|
|
63
|
-
* @param filePath - Absolute path to the policy file
|
|
64
|
-
* @returns Validation result with errors array
|
|
65
|
-
*/
|
|
66
|
-
validatePolicyFile(filePath: string): Promise<PolicyValidationResult>;
|
|
67
|
-
/**
|
|
68
|
-
* Look up the enforcement disposition for a specific action category
|
|
69
|
-
* within a given effective policy snapshot.
|
|
70
|
-
*
|
|
71
|
-
* @param policy - The effective policy snapshot to query
|
|
72
|
-
* @param actionCategory - The action category to look up
|
|
73
|
-
* @returns The disposition (Allowed, Denied, or ApprovalRequired)
|
|
74
|
-
*/
|
|
75
|
-
getActionDisposition(policy: EffectivePolicySnapshot, actionCategory: SecurityActionCategory): SecurityActionDisposition;
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=security-policy-service.interface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"security-policy-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/security-policy-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,wCAAwC,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,uCAAuC;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;OAUG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEzE;;;;;;;;;OASG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAE7E;;;;;;;;OAQG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEtE;;;;;;;OAOG;IACH,oBAAoB,CAClB,MAAM,EAAE,uBAAuB,EAC/B,cAAc,EAAE,sBAAsB,GACrC,yBAAyB,CAAC;CAC9B"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Security Policy Service Interface
|
|
3
|
-
*
|
|
4
|
-
* Output port for the central security policy engine.
|
|
5
|
-
* Implementations handle policy file reading, validation, merging
|
|
6
|
-
* with persisted settings, and deterministic policy evaluation.
|
|
7
|
-
*
|
|
8
|
-
* Following Clean Architecture:
|
|
9
|
-
* - Application and use-case layers depend on this interface
|
|
10
|
-
* - Infrastructure layer provides the concrete implementation
|
|
11
|
-
* - All consumers (CLI, runtime, CI, UI) resolve the same instance via DI
|
|
12
|
-
*/
|
|
13
|
-
export {};
|
package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enforce Security Use Case
|
|
3
|
-
*
|
|
4
|
-
* Orchestrates the full security enforcement flow:
|
|
5
|
-
* 1. Evaluate effective policy
|
|
6
|
-
* 2. Run dependency-risk checks
|
|
7
|
-
* 3. Run release-integrity checks
|
|
8
|
-
* 4. Persist findings as security events
|
|
9
|
-
* 5. Return structured enforcement result
|
|
10
|
-
*
|
|
11
|
-
* Supports Advisory (always pass) and Enforce (fail on violations) modes.
|
|
12
|
-
* Disabled mode returns empty pass result.
|
|
13
|
-
*/
|
|
14
|
-
import { SecurityMode } from '../../../domain/generated/output.js';
|
|
15
|
-
import type { EffectivePolicySnapshot, DependencyFinding, ReleaseIntegrityResult } from '../../../domain/generated/output.js';
|
|
16
|
-
import type { ISecurityPolicyService } from '../../ports/output/services/security-policy-service.interface.js';
|
|
17
|
-
import type { ISecurityEventRepository } from '../../ports/output/repositories/security-event.repository.interface.js';
|
|
18
|
-
import type { ISettingsRepository } from '../../ports/output/repositories/settings.repository.interface.js';
|
|
19
|
-
import type { IGitHubRepositoryService, GovernanceFinding } from '../../ports/output/services/github-repository-service.interface.js';
|
|
20
|
-
import { DependencyRiskEvaluator } from '../../../infrastructure/services/security/dependency-risk-evaluator.js';
|
|
21
|
-
import { ReleaseIntegrityEvaluator } from '../../../infrastructure/services/security/release-integrity-evaluator.js';
|
|
22
|
-
/**
|
|
23
|
-
* Input for the enforce security use case.
|
|
24
|
-
*/
|
|
25
|
-
export interface EnforceSecurityInput {
|
|
26
|
-
/** Absolute path to the repository to evaluate */
|
|
27
|
-
repositoryPath: string;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Result of the enforcement flow.
|
|
31
|
-
*/
|
|
32
|
-
export interface EnforceSecurityResult {
|
|
33
|
-
/** Whether all checks passed (Advisory always passes, Enforce fails on violations) */
|
|
34
|
-
passed: boolean;
|
|
35
|
-
/** Effective security mode used for evaluation */
|
|
36
|
-
mode: SecurityMode;
|
|
37
|
-
/** Effective policy snapshot */
|
|
38
|
-
policy: EffectivePolicySnapshot;
|
|
39
|
-
/** Dependency risk findings */
|
|
40
|
-
dependencyFindings: DependencyFinding[];
|
|
41
|
-
/** Release integrity result */
|
|
42
|
-
releaseIntegrity: ReleaseIntegrityResult;
|
|
43
|
-
/** GitHub governance audit findings (audit-only, do not affect pass/fail) */
|
|
44
|
-
governanceFindings: GovernanceFinding[];
|
|
45
|
-
/** Total number of findings (excludes governance — governance is audit-only) */
|
|
46
|
-
totalFindings: number;
|
|
47
|
-
}
|
|
48
|
-
export declare class EnforceSecurityUseCase {
|
|
49
|
-
private readonly policyService;
|
|
50
|
-
private readonly eventRepository;
|
|
51
|
-
private readonly settingsRepository;
|
|
52
|
-
private readonly dependencyEvaluator;
|
|
53
|
-
private readonly releaseEvaluator;
|
|
54
|
-
private readonly githubService;
|
|
55
|
-
constructor(policyService: ISecurityPolicyService, eventRepository: ISecurityEventRepository, settingsRepository: ISettingsRepository, dependencyEvaluator: DependencyRiskEvaluator, releaseEvaluator: ReleaseIntegrityEvaluator, githubService: IGitHubRepositoryService);
|
|
56
|
-
execute(input: EnforceSecurityInput): Promise<EnforceSecurityResult>;
|
|
57
|
-
/**
|
|
58
|
-
* Resolve GitHub owner/repo from the repository's git remote and run governance audit.
|
|
59
|
-
* Returns empty array if the remote cannot be resolved (not a GitHub repo, no remote, etc.).
|
|
60
|
-
*/
|
|
61
|
-
private runGovernanceAudit;
|
|
62
|
-
/**
|
|
63
|
-
* Persist dependency findings, failed release checks, and governance findings as security events.
|
|
64
|
-
*/
|
|
65
|
-
private persistFindings;
|
|
66
|
-
/**
|
|
67
|
-
* Update settings with the latest evaluation timestamp and policy source.
|
|
68
|
-
*/
|
|
69
|
-
private updateEvaluationTimestamp;
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=enforce-security.use-case.d.ts.map
|
package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enforce-security.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/security/enforce-security.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,YAAY,EAA0B,MAAM,qCAAqC,CAAC;AAC3F,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EAIvB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kEAAkE,CAAC;AAC/G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wEAAwE,CAAC;AACvH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,oEAAoE,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wEAAwE,CAAC;AACjH,OAAO,EAAE,yBAAyB,EAAE,MAAM,0EAA0E,CAAC;AAOrH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sFAAsF;IACtF,MAAM,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,IAAI,EAAE,YAAY,CAAC;IACnB,gCAAgC;IAChC,MAAM,EAAE,uBAAuB,CAAC;IAChC,+BAA+B;IAC/B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,+BAA+B;IAC/B,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,6EAA6E;IAC7E,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAC;CACvB;AAuBD,qBACa,sBAAsB;IAG/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAEpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAEjC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAVb,aAAa,EAAE,sBAAsB,EAErC,eAAe,EAAE,wBAAwB,EAEzC,kBAAkB,EAAE,mBAAmB,EAEvC,mBAAmB,EAAE,uBAAuB,EAE5C,gBAAgB,EAAE,yBAAyB,EAE3C,aAAa,EAAE,wBAAwB;IAGpD,OAAO,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA8D1E;;;OAGG;YACW,kBAAkB;IAgBhC;;OAEG;YACW,eAAe;IA6D7B;;OAEG;YACW,yBAAyB;CAgBxC"}
|