@shepai/cli 1.174.0 → 1.175.0-pr527.9ada632
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/ActionDispositionEntry.yaml +14 -0
- package/apis/json-schema/DependencyFinding.yaml +28 -0
- package/apis/json-schema/DependencyRiskType.yaml +11 -0
- package/apis/json-schema/DependencyRules.yaml +38 -0
- package/apis/json-schema/EffectivePolicySnapshot.yaml +24 -0
- package/apis/json-schema/ReleaseIntegrityCheck.yaml +22 -0
- package/apis/json-schema/ReleaseIntegrityCheckType.yaml +9 -0
- package/apis/json-schema/ReleaseIntegrityResult.yaml +16 -0
- package/apis/json-schema/ReleaseRules.yaml +21 -0
- package/apis/json-schema/Repository.yaml +6 -0
- package/apis/json-schema/SecurityActionCategory.yaml +10 -0
- package/apis/json-schema/SecurityActionDisposition.yaml +8 -0
- package/apis/json-schema/SecurityConfig.yaml +17 -0
- package/apis/json-schema/SecurityEvent.yaml +36 -0
- package/apis/json-schema/SecurityMode.yaml +8 -0
- package/apis/json-schema/SecurityPolicy.yaml +24 -0
- package/apis/json-schema/SecuritySeverity.yaml +9 -0
- package/apis/json-schema/Settings.yaml +3 -0
- package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts +15 -1
- 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 +3 -1
- 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/repositories/repository-repository.interface.d.ts +3 -1
- package/dist/packages/core/src/application/ports/output/repositories/repository-repository.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.d.ts +76 -0
- package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.js +11 -0
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +28 -0
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.js +2 -0
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +85 -0
- 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 +21 -0
- package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.d.ts +77 -0
- package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.js +13 -0
- package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts +11 -0
- 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 +2 -0
- 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 +2 -0
- 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 +2 -0
- package/dist/packages/core/src/application/use-cases/features/create/create-feature-from-remote.use-case.d.ts +67 -0
- package/dist/packages/core/src/application/use-cases/features/create/create-feature-from-remote.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/features/create/create-feature-from-remote.use-case.js +128 -0
- 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 +1 -0
- 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 +2 -0
- 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 +2 -0
- package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts +16 -5
- package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.js +76 -14
- package/dist/packages/core/src/application/use-cases/repositories/init-remote-repository.use-case.d.ts +30 -0
- package/dist/packages/core/src/application/use-cases/repositories/init-remote-repository.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/repositories/init-remote-repository.use-case.js +51 -0
- package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts +71 -0
- package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.js +215 -0
- package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.d.ts +24 -0
- package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.js +56 -0
- package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts +36 -0
- package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.js +76 -0
- package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.d.ts +14 -0
- package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.js +46 -0
- package/dist/packages/core/src/domain/errors/security-violation.error.d.ts +15 -0
- package/dist/packages/core/src/domain/errors/security-violation.error.d.ts.map +1 -0
- package/dist/packages/core/src/domain/errors/security-violation.error.js +20 -0
- 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 +5 -1
- package/dist/packages/core/src/domain/generated/output.d.ts +267 -0
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +43 -0
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +67 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.js +4 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.d.ts +44 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.js +55 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +3 -0
- 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 +14 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.d.ts +18 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.js +31 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.d.ts +29 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.js +53 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-repository-fork-fields.d.ts +12 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-repository-fork-fields.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-repository-fork-fields.js +26 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.d.ts +2 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.js +14 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.d.ts +24 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.js +96 -0
- 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 +12 -3
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts +2 -0
- 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 +12 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.d.ts +22 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.js +30 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +10 -0
- 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 +34 -0
- 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 +3 -1
- 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 +7 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +3 -1
- 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 +32 -1
- 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 +19 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.d.ts +45 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.js +70 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +4 -1
- 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 +10 -0
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +13 -1
- 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 +155 -1
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +15 -0
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +62 -0
- package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.d.ts +53 -0
- package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.js +241 -0
- package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.d.ts +44 -0
- package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.js +194 -0
- package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.d.ts +28 -0
- package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.js +50 -0
- package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.d.ts +26 -0
- package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.js +147 -0
- package/dist/packages/core/src/infrastructure/services/security/security-policy.service.d.ts +44 -0
- package/dist/packages/core/src/infrastructure/services/security/security-policy.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/security/security-policy.service.js +174 -0
- package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts +1 -0
- 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 +61 -0
- package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/new.command.js +32 -6
- package/dist/src/presentation/cli/commands/repo/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/repo/index.js +3 -1
- package/dist/src/presentation/cli/commands/repo/init-remote.command.d.ts +15 -0
- package/dist/src/presentation/cli/commands/repo/init-remote.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/repo/init-remote.command.js +44 -0
- package/dist/src/presentation/cli/commands/security.command.d.ts +16 -0
- package/dist/src/presentation/cli/commands/security.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/security.command.js +118 -0
- package/dist/src/presentation/cli/index.js +2 -0
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +2 -1
- package/dist/src/presentation/web/app/actions/create-feature-from-remote.d.ts +31 -0
- package/dist/src/presentation/web/app/actions/create-feature-from-remote.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/create-feature-from-remote.js +69 -0
- package/dist/src/presentation/web/app/actions/import-github-repository.d.ts +1 -0
- package/dist/src/presentation/web/app/actions/import-github-repository.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/import-github-repository.js +1 -1
- package/dist/src/presentation/web/app/actions/security.d.ts +28 -0
- package/dist/src/presentation/web/app/actions/security.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/security.js +59 -0
- package/dist/src/presentation/web/app/build-graph-nodes.d.ts +3 -1
- package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
- package/dist/src/presentation/web/app/build-graph-nodes.js +2 -0
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +2 -0
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/repository-combobox.stories.d.ts +2 -0
- package/dist/src/presentation/web/components/common/feature-create-drawer/repository-combobox.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/repository-combobox.stories.js +22 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +3 -1
- 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 +2 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts +3 -1
- 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 +3 -2
- package/dist/src/presentation/web/components/common/repository-node/security-panel.d.ts +6 -0
- package/dist/src/presentation/web/components/common/repository-node/security-panel.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/repository-node/security-panel.js +29 -0
- package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.js +53 -0
- package/dist/src/presentation/web/components/common/security-badge.d.ts +7 -0
- package/dist/src/presentation/web/components/common/security-badge.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/security-badge.js +30 -0
- package/dist/src/presentation/web/components/common/security-badge.stories.d.ts +12 -0
- package/dist/src/presentation/web/components/common/security-badge.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/security-badge.stories.js +20 -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 +16 -3
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.d.ts +6 -0
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.js +60 -0
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.d.ts +14 -0
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.js +116 -0
- package/dist/src/presentation/web/lib/feature-flags.js +1 -1
- package/dist/translations/ar/cli.json +32 -0
- package/dist/translations/ar/web.json +43 -1
- package/dist/translations/de/cli.json +32 -0
- package/dist/translations/de/web.json +43 -1
- package/dist/translations/en/cli.json +32 -0
- package/dist/translations/en/web.json +43 -1
- package/dist/translations/es/cli.json +32 -0
- package/dist/translations/es/web.json +43 -1
- package/dist/translations/fr/cli.json +32 -0
- package/dist/translations/fr/web.json +43 -1
- package/dist/translations/he/cli.json +32 -0
- package/dist/translations/he/web.json +43 -1
- package/dist/translations/pt/cli.json +32 -0
- package/dist/translations/pt/web.json +43 -1
- package/dist/translations/ru/cli.json +32 -0
- package/dist/translations/ru/web.json +43 -1
- 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 +3 -3
- package/web/.next/required-server-files.json +3 -3
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +33 -18
- 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 +2 -1
- 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 +2 -1
- 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__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js.map +1 -0
- 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]__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]__51ec77a8._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.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]__a2d6c0ac._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a2d6c0ac._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.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/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_08eaf4b1._.js +3 -0
- package/web/.next/server/chunks/ssr/_08eaf4b1._.js.map +1 -0
- 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/_295fffde._.js +1 -1
- package/web/.next/server/chunks/ssr/_295fffde._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_3686b70d._.js +3 -0
- package/web/.next/server/chunks/ssr/_3686b70d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_3a71f39b._.js → _45286124._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_3a71f39b._.js.map → _45286124._.js.map} +1 -1
- 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/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_6abfa39e._.js +1 -1
- package/web/.next/server/chunks/ssr/_6abfa39e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_783debcb._.js +9 -0
- package/web/.next/server/chunks/ssr/_783debcb._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_7953be4d._.js → _d943aad7._.js} +2 -2
- package/web/.next/server/chunks/ssr/_d943aad7._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f8c55130._.js +4 -0
- package/web/.next/server/chunks/ssr/_f8c55130._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_ff04802c._.js +3 -0
- package/web/.next/server/chunks/ssr/_ff04802c._.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_17d39233._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map +1 -0
- 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_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/src_presentation_web_e1cd1869._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js.map +1 -0
- 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 +74 -59
- package/web/.next/static/chunks/{ad47bc6ddec7508e.js → 128f165077681f87.js} +2 -2
- package/web/.next/static/chunks/20ec94c610d07a10.css +1 -0
- package/web/.next/static/chunks/2ceebcc839ee0d4b.js +1 -0
- package/web/.next/static/chunks/{6bc240cd4ae43267.js → 34e82d5f47b938e3.js} +1 -1
- package/web/.next/static/chunks/38c5a2cc4ce5d4d2.js +1 -0
- package/web/.next/static/chunks/3aba9d2242420cb5.js +1 -0
- package/web/.next/static/chunks/4981e52ed9b5dea3.js +1 -0
- package/web/.next/static/chunks/{a060ad1bb509687f.js → 4a909223df60de49.js} +1 -1
- package/web/.next/static/chunks/5858b85217fd0ead.js +1 -0
- package/web/.next/static/chunks/{a2a03ecb10000974.js → 68a0d1e04c636c09.js} +1 -1
- package/web/.next/static/chunks/{393b27ab5de6c454.js → 85473115de724a77.js} +1 -1
- package/web/.next/static/chunks/{d9c9db1823b4dffd.js → 8a5c7d80045a8f49.js} +2 -2
- package/web/.next/static/chunks/{5a2e1c8699897c26.js → 90c687976b254681.js} +3 -3
- package/web/.next/static/chunks/aab749e78b4c10bc.js +1 -0
- package/web/.next/static/chunks/{534194b584a151ed.js → ac18577f94d63177.js} +1 -1
- package/web/.next/static/chunks/ae81796726a9bba3.js +1 -0
- package/web/.next/static/chunks/{6dc0a23d333274ae.js → af9ee4accaa11f83.js} +2 -2
- package/web/.next/static/chunks/{c164b157638b2a8b.js → b082a6bb7e17b701.js} +1 -1
- package/web/.next/static/chunks/{b49ab0b290e9342d.js → b46545caae3b4930.js} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_02e01240._.js +0 -4
- package/web/.next/server/chunks/ssr/_02e01240._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_18886033._.js +0 -4
- package/web/.next/server/chunks/ssr/_18886033._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_22e00a14._.js +0 -4
- package/web/.next/server/chunks/ssr/_22e00a14._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_43ba79e7._.js +0 -3
- package/web/.next/server/chunks/ssr/_43ba79e7._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_7953be4d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_7cb0396e._.js +0 -3
- package/web/.next/server/chunks/ssr/_7cb0396e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_a5a5901d._.js +0 -4
- package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_ad09f271._.js +0 -4
- package/web/.next/server/chunks/ssr/_ad09f271._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_c3f595c6._.js +0 -4
- package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_e680c57c._.js +0 -9
- package/web/.next/server/chunks/ssr/_e680c57c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_ea9e1556._.js +0 -4
- package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js +0 -6
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_f33cd07e._.js +0 -6
- package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_f8b45233._.js +0 -4
- package/web/.next/server/chunks/ssr/_f8b45233._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_fd595af2._.js +0 -3
- package/web/.next/server/chunks/ssr/_fd595af2._.js.map +0 -1
- package/web/.next/static/chunks/0baf5a2e56d191cf.js +0 -1
- package/web/.next/static/chunks/32c46154c31c58fc.js +0 -1
- package/web/.next/static/chunks/84b480808bd74fa9.css +0 -1
- package/web/.next/static/chunks/8b0a9cb5109fe899.js +0 -1
- package/web/.next/static/chunks/b65e555419a0c664.js +0 -1
- package/web/.next/static/chunks/e30aa6d2cf824fa1.js +0 -1
- package/web/.next/static/chunks/f5abbc495d496f5b.js +0 -1
- /package/web/.next/static/{nLYXtW5TIrvQiMl1yyD4O → PEEwFezIwaFMSsCXbx5zQ}/_buildManifest.js +0 -0
- /package/web/.next/static/{nLYXtW5TIrvQiMl1yyD4O → PEEwFezIwaFMSsCXbx5zQ}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{nLYXtW5TIrvQiMl1yyD4O → PEEwFezIwaFMSsCXbx5zQ}/_ssgManifest.js +0 -0
package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get Security State Use Case
|
|
3
|
+
*
|
|
4
|
+
* Returns the current security state for UI projection:
|
|
5
|
+
* - Effective mode from settings
|
|
6
|
+
* - Recent security events (limited)
|
|
7
|
+
* - Highest-severity open finding
|
|
8
|
+
* - Last evaluation timestamp
|
|
9
|
+
*/
|
|
10
|
+
import { SecurityMode } from '../../../domain/generated/output.js';
|
|
11
|
+
import type { SecurityEvent } from '../../../domain/generated/output.js';
|
|
12
|
+
import type { ISecurityEventRepository } from '../../ports/output/repositories/security-event.repository.interface.js';
|
|
13
|
+
import type { ISettingsRepository } from '../../ports/output/repositories/settings.repository.interface.js';
|
|
14
|
+
/**
|
|
15
|
+
* Security state summary for UI projection.
|
|
16
|
+
*/
|
|
17
|
+
export interface SecurityState {
|
|
18
|
+
/** Effective security mode */
|
|
19
|
+
mode: SecurityMode;
|
|
20
|
+
/** Last evaluation timestamp (ISO string) or null */
|
|
21
|
+
lastEvaluationAt: string | null;
|
|
22
|
+
/** Policy source or null */
|
|
23
|
+
policySource: string | null;
|
|
24
|
+
/** Recent security events (most recent first, limited) */
|
|
25
|
+
recentEvents: SecurityEvent[];
|
|
26
|
+
/** Highest-severity finding from recent events, or null */
|
|
27
|
+
highestSeverityFinding: SecurityEvent | null;
|
|
28
|
+
}
|
|
29
|
+
export declare class GetSecurityStateUseCase {
|
|
30
|
+
private readonly eventRepository;
|
|
31
|
+
private readonly settingsRepository;
|
|
32
|
+
constructor(eventRepository: ISecurityEventRepository, settingsRepository: ISettingsRepository);
|
|
33
|
+
execute(repositoryPath: string): Promise<SecurityState>;
|
|
34
|
+
private findHighestSeverity;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=get-security-state.use-case.d.ts.map
|
package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-security-state.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/security/get-security-state.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAoB,MAAM,qCAAqC,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wEAAwE,CAAC;AACvH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAK5G;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8BAA8B;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,4BAA4B;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,0DAA0D;IAC1D,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,2DAA2D;IAC3D,sBAAsB,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9C;AAUD,qBACa,uBAAuB;IAGhC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAFlB,eAAe,EAAE,wBAAwB,EAEzC,kBAAkB,EAAE,mBAAmB;IAGpD,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB7D,OAAO,CAAC,mBAAmB;CAgB5B"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get Security State Use Case
|
|
3
|
+
*
|
|
4
|
+
* Returns the current security state for UI projection:
|
|
5
|
+
* - Effective mode from settings
|
|
6
|
+
* - Recent security events (limited)
|
|
7
|
+
* - Highest-severity open finding
|
|
8
|
+
* - Last evaluation timestamp
|
|
9
|
+
*/
|
|
10
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
11
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
12
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
13
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
14
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
15
|
+
};
|
|
16
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
17
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
18
|
+
};
|
|
19
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
20
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
21
|
+
};
|
|
22
|
+
import { injectable, inject } from 'tsyringe';
|
|
23
|
+
import { SecurityMode, SecuritySeverity } from '../../../domain/generated/output.js';
|
|
24
|
+
/** Maximum number of recent events returned. */
|
|
25
|
+
const RECENT_EVENTS_LIMIT = 20;
|
|
26
|
+
/** Severity ordering for comparison (higher = more severe). */
|
|
27
|
+
const SEVERITY_RANK = {
|
|
28
|
+
[SecuritySeverity.Low]: 0,
|
|
29
|
+
[SecuritySeverity.Medium]: 1,
|
|
30
|
+
[SecuritySeverity.High]: 2,
|
|
31
|
+
[SecuritySeverity.Critical]: 3,
|
|
32
|
+
};
|
|
33
|
+
let GetSecurityStateUseCase = class GetSecurityStateUseCase {
|
|
34
|
+
eventRepository;
|
|
35
|
+
settingsRepository;
|
|
36
|
+
constructor(eventRepository, settingsRepository) {
|
|
37
|
+
this.eventRepository = eventRepository;
|
|
38
|
+
this.settingsRepository = settingsRepository;
|
|
39
|
+
}
|
|
40
|
+
async execute(repositoryPath) {
|
|
41
|
+
const settings = await this.settingsRepository.load();
|
|
42
|
+
const securityConfig = settings?.security;
|
|
43
|
+
const recentEvents = await this.eventRepository.findByRepository(repositoryPath, {
|
|
44
|
+
limit: RECENT_EVENTS_LIMIT,
|
|
45
|
+
});
|
|
46
|
+
const highestSeverityFinding = this.findHighestSeverity(recentEvents);
|
|
47
|
+
return {
|
|
48
|
+
mode: securityConfig?.mode ?? SecurityMode.Advisory,
|
|
49
|
+
lastEvaluationAt: securityConfig?.lastEvaluationAt ?? null,
|
|
50
|
+
policySource: securityConfig?.policySource ?? null,
|
|
51
|
+
recentEvents,
|
|
52
|
+
highestSeverityFinding,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
findHighestSeverity(events) {
|
|
56
|
+
if (events.length === 0) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
let highest = events[0];
|
|
60
|
+
for (const event of events) {
|
|
61
|
+
const eventRank = SEVERITY_RANK[event.severity] ?? 0;
|
|
62
|
+
const highestRank = SEVERITY_RANK[highest.severity] ?? 0;
|
|
63
|
+
if (eventRank > highestRank) {
|
|
64
|
+
highest = event;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return highest;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
GetSecurityStateUseCase = __decorate([
|
|
71
|
+
injectable(),
|
|
72
|
+
__param(0, inject('ISecurityEventRepository')),
|
|
73
|
+
__param(1, inject('ISettingsRepository')),
|
|
74
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
75
|
+
], GetSecurityStateUseCase);
|
|
76
|
+
export { GetSecurityStateUseCase };
|
package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Record Security Event Use Case
|
|
3
|
+
*
|
|
4
|
+
* Persists a security event and triggers 90-day retention cleanup.
|
|
5
|
+
* Used by runtime guardrails and enforcement flow to record findings.
|
|
6
|
+
*/
|
|
7
|
+
import type { SecurityEvent } from '../../../domain/generated/output.js';
|
|
8
|
+
import type { ISecurityEventRepository } from '../../ports/output/repositories/security-event.repository.interface.js';
|
|
9
|
+
export declare class RecordSecurityEventUseCase {
|
|
10
|
+
private readonly eventRepository;
|
|
11
|
+
constructor(eventRepository: ISecurityEventRepository);
|
|
12
|
+
execute(event: SecurityEvent): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=record-security-event.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-security-event.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/security/record-security-event.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wEAAwE,CAAC;AAMvH,qBACa,0BAA0B;IAGnC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,wBAAwB;IAGtD,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAcnD"}
|
package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Record Security Event Use Case
|
|
3
|
+
*
|
|
4
|
+
* Persists a security event and triggers 90-day retention cleanup.
|
|
5
|
+
* Used by runtime guardrails and enforcement flow to record findings.
|
|
6
|
+
*/
|
|
7
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
8
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
10
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
11
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
12
|
+
};
|
|
13
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
14
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
15
|
+
};
|
|
16
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
17
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
18
|
+
};
|
|
19
|
+
import { injectable, inject } from 'tsyringe';
|
|
20
|
+
import { randomUUID } from 'node:crypto';
|
|
21
|
+
/** Retention window in days for security events. */
|
|
22
|
+
const SECURITY_EVENT_RETENTION_DAYS = 90;
|
|
23
|
+
let RecordSecurityEventUseCase = class RecordSecurityEventUseCase {
|
|
24
|
+
eventRepository;
|
|
25
|
+
constructor(eventRepository) {
|
|
26
|
+
this.eventRepository = eventRepository;
|
|
27
|
+
}
|
|
28
|
+
async execute(event) {
|
|
29
|
+
// Ensure the event has an ID
|
|
30
|
+
const eventToSave = {
|
|
31
|
+
...event,
|
|
32
|
+
id: event.id || randomUUID(),
|
|
33
|
+
};
|
|
34
|
+
await this.eventRepository.save(eventToSave);
|
|
35
|
+
// Trigger 90-day retention cleanup
|
|
36
|
+
const cutoff = new Date();
|
|
37
|
+
cutoff.setDate(cutoff.getDate() - SECURITY_EVENT_RETENTION_DAYS);
|
|
38
|
+
await this.eventRepository.deleteOlderThan(cutoff);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
RecordSecurityEventUseCase = __decorate([
|
|
42
|
+
injectable(),
|
|
43
|
+
__param(0, inject('ISecurityEventRepository')),
|
|
44
|
+
__metadata("design:paramtypes", [Object])
|
|
45
|
+
], RecordSecurityEventUseCase);
|
|
46
|
+
export { RecordSecurityEventUseCase };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Violation Error
|
|
3
|
+
*
|
|
4
|
+
* Thrown when a security policy constraint is violated during agent execution.
|
|
5
|
+
* Contains structured information about the violated rule, the action category,
|
|
6
|
+
* and actionable remediation guidance.
|
|
7
|
+
*/
|
|
8
|
+
import type { SecurityActionCategory } from '../generated/output.js';
|
|
9
|
+
export declare class SecurityViolationError extends Error {
|
|
10
|
+
readonly rule: string;
|
|
11
|
+
readonly category: SecurityActionCategory;
|
|
12
|
+
readonly remediation: string;
|
|
13
|
+
constructor(rule: string, category: SecurityActionCategory, remediation: string);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=security-violation.error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-violation.error.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/domain/errors/security-violation.error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,qBAAa,sBAAuB,SAAQ,KAAK;aAE7B,IAAI,EAAE,MAAM;aACZ,QAAQ,EAAE,sBAAsB;aAChC,WAAW,EAAE,MAAM;gBAFnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,sBAAsB,EAChC,WAAW,EAAE,MAAM;CAMtC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Violation Error
|
|
3
|
+
*
|
|
4
|
+
* Thrown when a security policy constraint is violated during agent execution.
|
|
5
|
+
* Contains structured information about the violated rule, the action category,
|
|
6
|
+
* and actionable remediation guidance.
|
|
7
|
+
*/
|
|
8
|
+
export class SecurityViolationError extends Error {
|
|
9
|
+
rule;
|
|
10
|
+
category;
|
|
11
|
+
remediation;
|
|
12
|
+
constructor(rule, category, remediation) {
|
|
13
|
+
super(`Security policy violation: ${rule}`);
|
|
14
|
+
this.rule = rule;
|
|
15
|
+
this.category = category;
|
|
16
|
+
this.remediation = remediation;
|
|
17
|
+
this.name = 'SecurityViolationError';
|
|
18
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-defaults.factory.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/domain/factories/settings-defaults.factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,QAAQ,
|
|
1
|
+
{"version":3,"file":"settings-defaults.factory.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/domain/factories/settings-defaults.factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,QAAQ,EAYT,MAAM,qBAAqB,CAAC;AAoD7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,CAmJhD"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* - Auto-update enabled, log level set to info
|
|
12
12
|
* - Unique IDs and timestamps generated for each instance
|
|
13
13
|
*/
|
|
14
|
-
import { AgentType, AgentAuthMethod, EditorType, SkillSourceType, TerminalType, } from '../generated/output.js';
|
|
14
|
+
import { AgentType, AgentAuthMethod, EditorType, SkillSourceType, SecurityMode, TerminalType, } from '../generated/output.js';
|
|
15
15
|
/**
|
|
16
16
|
* Default AI model for all SDLC agents.
|
|
17
17
|
* Provides balanced performance and cost for all workflow stages.
|
|
@@ -185,6 +185,9 @@ export function createDefaultSettings() {
|
|
|
185
185
|
reactFileManager: false,
|
|
186
186
|
inventory: false,
|
|
187
187
|
};
|
|
188
|
+
const security = {
|
|
189
|
+
mode: SecurityMode.Advisory,
|
|
190
|
+
};
|
|
188
191
|
return {
|
|
189
192
|
id: globalThis.crypto.randomUUID(),
|
|
190
193
|
models,
|
|
@@ -195,6 +198,7 @@ export function createDefaultSettings() {
|
|
|
195
198
|
notifications,
|
|
196
199
|
workflow,
|
|
197
200
|
featureFlags,
|
|
201
|
+
security,
|
|
198
202
|
onboardingComplete: false,
|
|
199
203
|
createdAt: now,
|
|
200
204
|
updatedAt: now,
|
|
@@ -659,6 +659,28 @@ export type FabLayoutConfig = {
|
|
|
659
659
|
*/
|
|
660
660
|
swapPosition: boolean;
|
|
661
661
|
};
|
|
662
|
+
export declare enum SecurityMode {
|
|
663
|
+
Disabled = "Disabled",
|
|
664
|
+
Advisory = "Advisory",
|
|
665
|
+
Enforce = "Enforce"
|
|
666
|
+
}
|
|
667
|
+
/**
|
|
668
|
+
* Supply-chain security configuration persisted in settings
|
|
669
|
+
*/
|
|
670
|
+
export type SecurityConfig = {
|
|
671
|
+
/**
|
|
672
|
+
* Effective security mode (default: Advisory)
|
|
673
|
+
*/
|
|
674
|
+
mode: SecurityMode;
|
|
675
|
+
/**
|
|
676
|
+
* ISO timestamp of last policy evaluation (null if never evaluated)
|
|
677
|
+
*/
|
|
678
|
+
lastEvaluationAt?: string;
|
|
679
|
+
/**
|
|
680
|
+
* Source of the active security policy (null if never evaluated)
|
|
681
|
+
*/
|
|
682
|
+
policySource?: string;
|
|
683
|
+
};
|
|
662
684
|
/**
|
|
663
685
|
* Global Shep platform settings (singleton)
|
|
664
686
|
*/
|
|
@@ -707,6 +729,10 @@ export type Settings = BaseEntity & {
|
|
|
707
729
|
* FAB layout configuration (optional, defaults applied at runtime)
|
|
708
730
|
*/
|
|
709
731
|
fabLayout?: FabLayoutConfig;
|
|
732
|
+
/**
|
|
733
|
+
* Supply-chain security configuration (optional, defaults applied at runtime)
|
|
734
|
+
*/
|
|
735
|
+
security?: SecurityConfig;
|
|
710
736
|
};
|
|
711
737
|
export declare enum TaskState {
|
|
712
738
|
Todo = "Todo",
|
|
@@ -1669,6 +1695,247 @@ export type Repository = SoftDeletableEntity & {
|
|
|
1669
1695
|
* Remote GitHub URL this repository was cloned from (normalized: lowercase, no .git suffix)
|
|
1670
1696
|
*/
|
|
1671
1697
|
remoteUrl?: string;
|
|
1698
|
+
/**
|
|
1699
|
+
* Whether this repository was auto-forked by shep because the user lacked push access
|
|
1700
|
+
*/
|
|
1701
|
+
isFork?: boolean;
|
|
1702
|
+
/**
|
|
1703
|
+
* Original upstream URL when isFork is true (normalized: lowercase, no .git suffix)
|
|
1704
|
+
*/
|
|
1705
|
+
upstreamUrl?: string;
|
|
1706
|
+
};
|
|
1707
|
+
export declare enum SecurityActionCategory {
|
|
1708
|
+
DependencyInstall = "DependencyInstall",
|
|
1709
|
+
PackageScriptExec = "PackageScriptExec",
|
|
1710
|
+
CiWorkflowModify = "CiWorkflowModify",
|
|
1711
|
+
PublishRelease = "PublishRelease",
|
|
1712
|
+
SandboxEscalation = "SandboxEscalation"
|
|
1713
|
+
}
|
|
1714
|
+
export declare enum SecurityActionDisposition {
|
|
1715
|
+
Allowed = "Allowed",
|
|
1716
|
+
Denied = "Denied",
|
|
1717
|
+
ApprovalRequired = "ApprovalRequired"
|
|
1718
|
+
}
|
|
1719
|
+
/**
|
|
1720
|
+
* Mapping of an action category to its enforcement disposition
|
|
1721
|
+
*/
|
|
1722
|
+
export type ActionDispositionEntry = {
|
|
1723
|
+
/**
|
|
1724
|
+
* The action category
|
|
1725
|
+
*/
|
|
1726
|
+
category: SecurityActionCategory;
|
|
1727
|
+
/**
|
|
1728
|
+
* How this action should be handled
|
|
1729
|
+
*/
|
|
1730
|
+
disposition: SecurityActionDisposition;
|
|
1731
|
+
};
|
|
1732
|
+
/**
|
|
1733
|
+
* Dependency risk evaluation policy rules
|
|
1734
|
+
*/
|
|
1735
|
+
export type DependencyRules = {
|
|
1736
|
+
/**
|
|
1737
|
+
* Check manifest-lockfile consistency (default: true)
|
|
1738
|
+
*/
|
|
1739
|
+
checkLockfileConsistency: boolean;
|
|
1740
|
+
/**
|
|
1741
|
+
* Flag packages with lifecycle scripts (default: true)
|
|
1742
|
+
*/
|
|
1743
|
+
checkLifecycleScripts: boolean;
|
|
1744
|
+
/**
|
|
1745
|
+
* Flag non-registry dependency sources (default: true)
|
|
1746
|
+
*/
|
|
1747
|
+
checkNonRegistrySource: boolean;
|
|
1748
|
+
/**
|
|
1749
|
+
* Enforce strict version ranges — no ^ or * (default: false)
|
|
1750
|
+
*/
|
|
1751
|
+
enforceStrictVersionRanges: boolean;
|
|
1752
|
+
/**
|
|
1753
|
+
* Packages explicitly allowed (empty = allow all)
|
|
1754
|
+
*/
|
|
1755
|
+
allowlist: string[];
|
|
1756
|
+
/**
|
|
1757
|
+
* Packages explicitly denied
|
|
1758
|
+
*/
|
|
1759
|
+
denylist: string[];
|
|
1760
|
+
};
|
|
1761
|
+
/**
|
|
1762
|
+
* Release integrity policy rules
|
|
1763
|
+
*/
|
|
1764
|
+
export type ReleaseRules = {
|
|
1765
|
+
/**
|
|
1766
|
+
* Require publishing from CI only, not local (default: true)
|
|
1767
|
+
*/
|
|
1768
|
+
requireCiOnlyPublishing: boolean;
|
|
1769
|
+
/**
|
|
1770
|
+
* Require npm provenance flags on publish (default: true)
|
|
1771
|
+
*/
|
|
1772
|
+
requireProvenance: boolean;
|
|
1773
|
+
/**
|
|
1774
|
+
* Check that release workflow has not been tampered with (default: true)
|
|
1775
|
+
*/
|
|
1776
|
+
checkWorkflowIntegrity: boolean;
|
|
1777
|
+
};
|
|
1778
|
+
/**
|
|
1779
|
+
* Security policy configuration from shep.security.yaml
|
|
1780
|
+
*/
|
|
1781
|
+
export type SecurityPolicy = {
|
|
1782
|
+
/**
|
|
1783
|
+
* Desired security mode for this repository
|
|
1784
|
+
*/
|
|
1785
|
+
mode: SecurityMode;
|
|
1786
|
+
/**
|
|
1787
|
+
* Per-action-category enforcement dispositions
|
|
1788
|
+
*/
|
|
1789
|
+
actionDispositions: ActionDispositionEntry[];
|
|
1790
|
+
/**
|
|
1791
|
+
* Dependency risk evaluation rules
|
|
1792
|
+
*/
|
|
1793
|
+
dependencyRules: DependencyRules;
|
|
1794
|
+
/**
|
|
1795
|
+
* Release integrity check rules
|
|
1796
|
+
*/
|
|
1797
|
+
releaseRules: ReleaseRules;
|
|
1798
|
+
};
|
|
1799
|
+
export declare enum SecuritySeverity {
|
|
1800
|
+
Low = "Low",
|
|
1801
|
+
Medium = "Medium",
|
|
1802
|
+
High = "High",
|
|
1803
|
+
Critical = "Critical"
|
|
1804
|
+
}
|
|
1805
|
+
/**
|
|
1806
|
+
* Persisted security event for audit and observability
|
|
1807
|
+
*/
|
|
1808
|
+
export type SecurityEvent = BaseEntity & {
|
|
1809
|
+
/**
|
|
1810
|
+
* Absolute path to the repository this event belongs to
|
|
1811
|
+
*/
|
|
1812
|
+
repositoryPath: string;
|
|
1813
|
+
/**
|
|
1814
|
+
* Feature ID if this event occurred during a feature run
|
|
1815
|
+
*/
|
|
1816
|
+
featureId?: string;
|
|
1817
|
+
/**
|
|
1818
|
+
* Severity of this security event
|
|
1819
|
+
*/
|
|
1820
|
+
severity: SecuritySeverity;
|
|
1821
|
+
/**
|
|
1822
|
+
* Action category that triggered this event
|
|
1823
|
+
*/
|
|
1824
|
+
category: SecurityActionCategory;
|
|
1825
|
+
/**
|
|
1826
|
+
* How the action was handled (allowed, denied, approval-required)
|
|
1827
|
+
*/
|
|
1828
|
+
disposition: SecurityActionDisposition;
|
|
1829
|
+
/**
|
|
1830
|
+
* Actor or source that triggered this event (agent, user, CI)
|
|
1831
|
+
*/
|
|
1832
|
+
actor?: string;
|
|
1833
|
+
/**
|
|
1834
|
+
* Human-readable event description
|
|
1835
|
+
*/
|
|
1836
|
+
message?: string;
|
|
1837
|
+
/**
|
|
1838
|
+
* Actionable remediation guidance
|
|
1839
|
+
*/
|
|
1840
|
+
remediationSummary?: string;
|
|
1841
|
+
};
|
|
1842
|
+
export declare enum DependencyRiskType {
|
|
1843
|
+
LockfileInconsistency = "LockfileInconsistency",
|
|
1844
|
+
NonRegistrySource = "NonRegistrySource",
|
|
1845
|
+
LifecycleScript = "LifecycleScript",
|
|
1846
|
+
DenylistViolation = "DenylistViolation",
|
|
1847
|
+
AllowlistViolation = "AllowlistViolation",
|
|
1848
|
+
VersionRangePolicy = "VersionRangePolicy"
|
|
1849
|
+
}
|
|
1850
|
+
/**
|
|
1851
|
+
* Single dependency risk finding
|
|
1852
|
+
*/
|
|
1853
|
+
export type DependencyFinding = {
|
|
1854
|
+
/**
|
|
1855
|
+
* Package name (e.g. 'lodash', '@types/node')
|
|
1856
|
+
*/
|
|
1857
|
+
packageName: string;
|
|
1858
|
+
/**
|
|
1859
|
+
* Package version or range (e.g. '^4.17.0')
|
|
1860
|
+
*/
|
|
1861
|
+
version?: string;
|
|
1862
|
+
/**
|
|
1863
|
+
* Severity of this finding
|
|
1864
|
+
*/
|
|
1865
|
+
severity: SecuritySeverity;
|
|
1866
|
+
/**
|
|
1867
|
+
* Type of dependency risk detected
|
|
1868
|
+
*/
|
|
1869
|
+
riskType: DependencyRiskType;
|
|
1870
|
+
/**
|
|
1871
|
+
* Human-readable description of the finding
|
|
1872
|
+
*/
|
|
1873
|
+
message: string;
|
|
1874
|
+
/**
|
|
1875
|
+
* Actionable remediation guidance
|
|
1876
|
+
*/
|
|
1877
|
+
remediation?: string;
|
|
1878
|
+
};
|
|
1879
|
+
export declare enum ReleaseIntegrityCheckType {
|
|
1880
|
+
CiOnlyPublishing = "CiOnlyPublishing",
|
|
1881
|
+
SecretConfiguration = "SecretConfiguration",
|
|
1882
|
+
ProvenanceConfiguration = "ProvenanceConfiguration",
|
|
1883
|
+
WorkflowIntegrity = "WorkflowIntegrity"
|
|
1884
|
+
}
|
|
1885
|
+
/**
|
|
1886
|
+
* Result of a single release integrity check
|
|
1887
|
+
*/
|
|
1888
|
+
export type ReleaseIntegrityCheck = {
|
|
1889
|
+
/**
|
|
1890
|
+
* Type of check performed
|
|
1891
|
+
*/
|
|
1892
|
+
checkType: ReleaseIntegrityCheckType;
|
|
1893
|
+
/**
|
|
1894
|
+
* Whether this check passed
|
|
1895
|
+
*/
|
|
1896
|
+
passed: boolean;
|
|
1897
|
+
/**
|
|
1898
|
+
* Human-readable description of the result
|
|
1899
|
+
*/
|
|
1900
|
+
message: string;
|
|
1901
|
+
/**
|
|
1902
|
+
* Severity when this check fails
|
|
1903
|
+
*/
|
|
1904
|
+
severity: SecuritySeverity;
|
|
1905
|
+
};
|
|
1906
|
+
/**
|
|
1907
|
+
* Aggregated release integrity evaluation result
|
|
1908
|
+
*/
|
|
1909
|
+
export type ReleaseIntegrityResult = {
|
|
1910
|
+
/**
|
|
1911
|
+
* Individual check results
|
|
1912
|
+
*/
|
|
1913
|
+
checks: ReleaseIntegrityCheck[];
|
|
1914
|
+
/**
|
|
1915
|
+
* Whether all checks passed
|
|
1916
|
+
*/
|
|
1917
|
+
passed: boolean;
|
|
1918
|
+
};
|
|
1919
|
+
/**
|
|
1920
|
+
* Computed effective security policy snapshot
|
|
1921
|
+
*/
|
|
1922
|
+
export type EffectivePolicySnapshot = {
|
|
1923
|
+
/**
|
|
1924
|
+
* Resolved effective security mode
|
|
1925
|
+
*/
|
|
1926
|
+
mode: SecurityMode;
|
|
1927
|
+
/**
|
|
1928
|
+
* Where the policy was sourced from (e.g. 'shep.security.yaml', 'settings-default')
|
|
1929
|
+
*/
|
|
1930
|
+
source: string;
|
|
1931
|
+
/**
|
|
1932
|
+
* ISO timestamp when this snapshot was computed
|
|
1933
|
+
*/
|
|
1934
|
+
evaluatedAt: string;
|
|
1935
|
+
/**
|
|
1936
|
+
* Resolved per-action-category enforcement dispositions
|
|
1937
|
+
*/
|
|
1938
|
+
actionDispositions: ActionDispositionEntry[];
|
|
1672
1939
|
};
|
|
1673
1940
|
/**
|
|
1674
1941
|
* Single installation suggestion for a tool
|