@skillsmith/core 0.4.16 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/README.md +57 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/api/client.d.ts +21 -21
- package/dist/src/api/client.d.ts.map +1 -1
- package/dist/src/api/client.events.d.ts +39 -0
- package/dist/src/api/client.events.d.ts.map +1 -0
- package/dist/src/api/client.events.js +77 -0
- package/dist/src/api/client.events.js.map +1 -0
- package/dist/src/api/client.js +39 -33
- package/dist/src/api/client.js.map +1 -1
- package/dist/src/api/event-batcher.d.ts +81 -0
- package/dist/src/api/event-batcher.d.ts.map +1 -0
- package/dist/src/api/event-batcher.js +191 -0
- package/dist/src/api/event-batcher.js.map +1 -0
- package/dist/src/api/index.d.ts +1 -0
- package/dist/src/api/index.d.ts.map +1 -1
- package/dist/src/api/index.js +2 -0
- package/dist/src/api/index.js.map +1 -1
- package/dist/src/api/schemas.d.ts +62 -4
- package/dist/src/api/schemas.d.ts.map +1 -1
- package/dist/src/api/schemas.js +45 -0
- package/dist/src/api/schemas.js.map +1 -1
- package/dist/src/db/migration-runner.d.ts +44 -0
- package/dist/src/db/migration-runner.d.ts.map +1 -0
- package/dist/src/db/migration-runner.js +175 -0
- package/dist/src/db/migration-runner.js.map +1 -0
- package/dist/src/db/migration.d.ts.map +1 -1
- package/dist/src/db/migration.js +2 -1
- package/dist/src/db/migration.js.map +1 -1
- package/dist/src/db/migrations/v12-risk-score-history.d.ts +10 -0
- package/dist/src/db/migrations/v12-risk-score-history.d.ts.map +1 -0
- package/dist/src/db/migrations/v12-risk-score-history.js +25 -0
- package/dist/src/db/migrations/v12-risk-score-history.js.map +1 -0
- package/dist/src/db/migrations/v13-team-tables.d.ts +11 -0
- package/dist/src/db/migrations/v13-team-tables.d.ts.map +1 -0
- package/dist/src/db/migrations/v13-team-tables.js +14 -0
- package/dist/src/db/migrations/v13-team-tables.js.map +1 -0
- package/dist/src/db/schema-sql.d.ts +16 -0
- package/dist/src/db/schema-sql.d.ts.map +1 -0
- package/dist/src/db/schema-sql.js +161 -0
- package/dist/src/db/schema-sql.js.map +1 -0
- package/dist/src/db/schema.d.ts +7 -32
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +14 -298
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/embeddings/hnsw-store.d.ts +1 -1
- package/dist/src/embeddings/hnsw-store.d.ts.map +1 -1
- package/dist/src/embeddings/hnsw-store.js +4 -34
- package/dist/src/embeddings/hnsw-store.js.map +1 -1
- package/dist/src/embeddings/hnsw-store.types.d.ts +18 -0
- package/dist/src/embeddings/hnsw-store.types.d.ts.map +1 -1
- package/dist/src/embeddings/hnsw-store.types.js.map +1 -1
- package/dist/src/exports/repositories.d.ts +1 -0
- package/dist/src/exports/repositories.d.ts.map +1 -1
- package/dist/src/exports/repositories.js +4 -0
- package/dist/src/exports/repositories.js.map +1 -1
- package/dist/src/exports/services.d.ts +4 -0
- package/dist/src/exports/services.d.ts.map +1 -1
- package/dist/src/exports/services.js +7 -0
- package/dist/src/exports/services.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/learning/PatternStore.d.ts.map +1 -1
- package/dist/src/learning/PatternStore.js +2 -9
- package/dist/src/learning/PatternStore.js.map +1 -1
- package/dist/src/repositories/RiskScoreHistoryRepository.d.ts +37 -0
- package/dist/src/repositories/RiskScoreHistoryRepository.d.ts.map +1 -0
- package/dist/src/repositories/RiskScoreHistoryRepository.js +66 -0
- package/dist/src/repositories/RiskScoreHistoryRepository.js.map +1 -0
- package/dist/src/routing/SONARouter.d.ts.map +1 -1
- package/dist/src/routing/SONARouter.js +4 -15
- package/dist/src/routing/SONARouter.js.map +1 -1
- package/dist/src/scoring/index.d.ts +1 -0
- package/dist/src/scoring/index.d.ts.map +1 -1
- package/dist/src/scoring/index.js +1 -0
- package/dist/src/scoring/index.js.map +1 -1
- package/dist/src/scoring/quality-score.d.ts +49 -0
- package/dist/src/scoring/quality-score.d.ts.map +1 -0
- package/dist/src/scoring/quality-score.js +73 -0
- package/dist/src/scoring/quality-score.js.map +1 -0
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js +10 -0
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
- package/dist/src/scripts/validation/types.d.ts +2 -2
- package/dist/src/security/index.d.ts +2 -0
- package/dist/src/security/index.d.ts.map +1 -1
- package/dist/src/security/index.js +2 -0
- package/dist/src/security/index.js.map +1 -1
- package/dist/src/security/risk-trend.d.ts +21 -0
- package/dist/src/security/risk-trend.d.ts.map +1 -0
- package/dist/src/security/risk-trend.js +81 -0
- package/dist/src/security/risk-trend.js.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.d.ts +6 -2
- package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.helpers.d.ts +24 -2
- package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.helpers.js +111 -9
- package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.js +64 -71
- package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.ssrf.d.ts +15 -0
- package/dist/src/security/scanner/SecurityScanner.ssrf.d.ts.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.ssrf.js +76 -0
- package/dist/src/security/scanner/SecurityScanner.ssrf.js.map +1 -0
- package/dist/src/security/scanner/index.d.ts +1 -1
- package/dist/src/security/scanner/index.d.ts.map +1 -1
- package/dist/src/security/scanner/index.js +1 -1
- package/dist/src/security/scanner/index.js.map +1 -1
- package/dist/src/security/scanner/patterns.d.ts +12 -0
- package/dist/src/security/scanner/patterns.d.ts.map +1 -1
- package/dist/src/security/scanner/patterns.js +57 -0
- package/dist/src/security/scanner/patterns.js.map +1 -1
- package/dist/src/security/scanner/types.d.ts +3 -1
- package/dist/src/security/scanner/types.d.ts.map +1 -1
- package/dist/src/security/scanner/weights.d.ts.map +1 -1
- package/dist/src/security/scanner/weights.js +2 -0
- package/dist/src/security/scanner/weights.js.map +1 -1
- package/dist/src/services/skill-config-schema.d.ts +36 -0
- package/dist/src/services/skill-config-schema.d.ts.map +1 -0
- package/dist/src/services/skill-config-schema.js +76 -0
- package/dist/src/services/skill-config-schema.js.map +1 -0
- package/dist/src/services/skill-installation.feedback.d.ts +24 -0
- package/dist/src/services/skill-installation.feedback.d.ts.map +1 -0
- package/dist/src/services/skill-installation.feedback.js +37 -0
- package/dist/src/services/skill-installation.feedback.js.map +1 -0
- package/dist/src/services/skill-installation.helpers.d.ts +88 -0
- package/dist/src/services/skill-installation.helpers.d.ts.map +1 -0
- package/dist/src/services/skill-installation.helpers.js +377 -0
- package/dist/src/services/skill-installation.helpers.js.map +1 -0
- package/dist/src/services/skill-installation.service.d.ts +37 -0
- package/dist/src/services/skill-installation.service.d.ts.map +1 -0
- package/dist/src/services/skill-installation.service.js +432 -0
- package/dist/src/services/skill-installation.service.js.map +1 -0
- package/dist/src/services/skill-installation.types.d.ts +166 -0
- package/dist/src/services/skill-installation.types.d.ts.map +1 -0
- package/dist/src/services/skill-installation.types.js +38 -0
- package/dist/src/services/skill-installation.types.js.map +1 -0
- package/dist/src/services/skill-manifest.d.ts +20 -0
- package/dist/src/services/skill-manifest.d.ts.map +1 -0
- package/dist/src/services/skill-manifest.js +84 -0
- package/dist/src/services/skill-manifest.js.map +1 -0
- package/dist/src/session/SessionManager.helpers.d.ts +1 -27
- package/dist/src/session/SessionManager.helpers.d.ts.map +1 -1
- package/dist/src/session/SessionManager.helpers.js +0 -64
- package/dist/src/session/SessionManager.helpers.js.map +1 -1
- package/dist/src/session/SessionManager.memory.d.ts +12 -11
- package/dist/src/session/SessionManager.memory.d.ts.map +1 -1
- package/dist/src/session/SessionManager.memory.js +23 -115
- package/dist/src/session/SessionManager.memory.js.map +1 -1
- package/dist/src/session/SessionManager.types.d.ts +0 -37
- package/dist/src/session/SessionManager.types.d.ts.map +1 -1
- package/dist/src/session/SessionManager.types.js.map +1 -1
- package/dist/src/session/SessionRecovery.js +4 -4
- package/dist/src/session/SessionRecovery.js.map +1 -1
- package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -1
- package/dist/src/testing/MultiLLMProvider.js +5 -19
- package/dist/src/testing/MultiLLMProvider.js.map +1 -1
- package/dist/src/types.d.ts +2 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/tests/SecurityScanner.ai-defence.test.d.ts +6 -0
- package/dist/tests/SecurityScanner.ai-defence.test.d.ts.map +1 -0
- package/dist/tests/SecurityScanner.ai-defence.test.js +221 -0
- package/dist/tests/SecurityScanner.ai-defence.test.js.map +1 -0
- package/dist/tests/SecurityScanner.performance.test.d.ts +6 -0
- package/dist/tests/SecurityScanner.performance.test.d.ts.map +1 -0
- package/dist/tests/SecurityScanner.performance.test.js +132 -0
- package/dist/tests/SecurityScanner.performance.test.js.map +1 -0
- package/dist/tests/SecurityScanner.scoring.test.d.ts +6 -0
- package/dist/tests/SecurityScanner.scoring.test.d.ts.map +1 -0
- package/dist/tests/SecurityScanner.scoring.test.js +197 -0
- package/dist/tests/SecurityScanner.scoring.test.js.map +1 -0
- package/dist/tests/SecurityScanner.test.d.ts +2 -2
- package/dist/tests/SecurityScanner.test.js +2 -520
- package/dist/tests/SecurityScanner.test.js.map +1 -1
- package/dist/tests/SkillMatcher.test.js +5 -5
- package/dist/tests/SkillMatcher.test.js.map +1 -1
- package/dist/tests/billing/StripeClient.test.d.ts +18 -0
- package/dist/tests/billing/StripeClient.test.d.ts.map +1 -0
- package/dist/tests/billing/StripeClient.test.js +566 -0
- package/dist/tests/billing/StripeClient.test.js.map +1 -0
- package/dist/tests/billing/StripeWebhookHandler.test.d.ts +16 -0
- package/dist/tests/billing/StripeWebhookHandler.test.d.ts.map +1 -0
- package/dist/tests/billing/StripeWebhookHandler.test.js +240 -0
- package/dist/tests/billing/StripeWebhookHandler.test.js.map +1 -0
- package/dist/tests/billing/stripe-helpers.test.d.ts +7 -0
- package/dist/tests/billing/stripe-helpers.test.d.ts.map +1 -0
- package/dist/tests/billing/stripe-helpers.test.js +91 -0
- package/dist/tests/billing/stripe-helpers.test.js.map +1 -0
- package/dist/tests/billing/webhook-handlers.test.d.ts +16 -0
- package/dist/tests/billing/webhook-handlers.test.d.ts.map +1 -0
- package/dist/tests/billing/webhook-handlers.test.js +519 -0
- package/dist/tests/billing/webhook-handlers.test.js.map +1 -0
- package/dist/tests/db/migration.test.d.ts +11 -0
- package/dist/tests/db/migration.test.d.ts.map +1 -0
- package/dist/tests/db/migration.test.js +265 -0
- package/dist/tests/db/migration.test.js.map +1 -0
- package/dist/tests/db/schema-migrations.test.js +8 -6
- package/dist/tests/db/schema-migrations.test.js.map +1 -1
- package/dist/tests/integration/events-batch-contract.test.d.ts +12 -0
- package/dist/tests/integration/events-batch-contract.test.d.ts.map +1 -0
- package/dist/tests/integration/events-batch-contract.test.js +69 -0
- package/dist/tests/integration/events-batch-contract.test.js.map +1 -0
- package/dist/tests/scoring/quality-score.test.d.ts +7 -0
- package/dist/tests/scoring/quality-score.test.d.ts.map +1 -0
- package/dist/tests/scoring/quality-score.test.js +78 -0
- package/dist/tests/scoring/quality-score.test.js.map +1 -0
- package/dist/tests/security/ContinuousSecurity.false-positives.test.d.ts +6 -0
- package/dist/tests/security/ContinuousSecurity.false-positives.test.d.ts.map +1 -0
- package/dist/tests/security/ContinuousSecurity.false-positives.test.js +89 -0
- package/dist/tests/security/ContinuousSecurity.false-positives.test.js.map +1 -0
- package/dist/tests/security/ContinuousSecurity.performance.test.d.ts +6 -0
- package/dist/tests/security/ContinuousSecurity.performance.test.d.ts.map +1 -0
- package/dist/tests/security/ContinuousSecurity.performance.test.js +177 -0
- package/dist/tests/security/ContinuousSecurity.performance.test.js.map +1 -0
- package/dist/tests/security/ContinuousSecurity.reporting.test.d.ts +6 -0
- package/dist/tests/security/ContinuousSecurity.reporting.test.d.ts.map +1 -0
- package/dist/tests/security/ContinuousSecurity.reporting.test.js +106 -0
- package/dist/tests/security/ContinuousSecurity.reporting.test.js.map +1 -0
- package/dist/tests/security/ContinuousSecurity.test.d.ts +9 -2
- package/dist/tests/security/ContinuousSecurity.test.d.ts.map +1 -1
- package/dist/tests/security/ContinuousSecurity.test.js +9 -336
- package/dist/tests/security/ContinuousSecurity.test.js.map +1 -1
- package/dist/tests/security/pii-detection.test.d.ts +7 -0
- package/dist/tests/security/pii-detection.test.d.ts.map +1 -0
- package/dist/tests/security/pii-detection.test.js +91 -0
- package/dist/tests/security/pii-detection.test.js.map +1 -0
- package/dist/tests/security/risk-trend.test.d.ts +6 -0
- package/dist/tests/security/risk-trend.test.d.ts.map +1 -0
- package/dist/tests/security/risk-trend.test.js +68 -0
- package/dist/tests/security/risk-trend.test.js.map +1 -0
- package/dist/tests/security/scanner-regression-guard.test.d.ts +12 -0
- package/dist/tests/security/scanner-regression-guard.test.d.ts.map +1 -0
- package/dist/tests/security/scanner-regression-guard.test.js +111 -0
- package/dist/tests/security/scanner-regression-guard.test.js.map +1 -0
- package/dist/tests/security.test.js +200 -0
- package/dist/tests/security.test.js.map +1 -1
- package/dist/tests/services/aidefence-feedback.test.d.ts +6 -0
- package/dist/tests/services/aidefence-feedback.test.d.ts.map +1 -0
- package/dist/tests/services/aidefence-feedback.test.js +115 -0
- package/dist/tests/services/aidefence-feedback.test.js.map +1 -0
- package/dist/tests/services/dep-quarantine-check.test.d.ts +5 -0
- package/dist/tests/services/dep-quarantine-check.test.d.ts.map +1 -0
- package/dist/tests/services/dep-quarantine-check.test.js +92 -0
- package/dist/tests/services/dep-quarantine-check.test.js.map +1 -0
- package/dist/tests/services/skill-config-schema.test.d.ts +5 -0
- package/dist/tests/services/skill-config-schema.test.d.ts.map +1 -0
- package/dist/tests/services/skill-config-schema.test.js +98 -0
- package/dist/tests/services/skill-config-schema.test.js.map +1 -0
- package/dist/tests/session/SessionManager.helpers.test.js +1 -9
- package/dist/tests/session/SessionManager.helpers.test.js.map +1 -1
- package/dist/tests/session/SessionManager.memory.test.d.ts +3 -4
- package/dist/tests/session/SessionManager.memory.test.d.ts.map +1 -1
- package/dist/tests/session/SessionManager.memory.test.js +41 -123
- package/dist/tests/session/SessionManager.memory.test.js.map +1 -1
- package/dist/tests/sync/BackgroundSyncService.test.d.ts +13 -0
- package/dist/tests/sync/BackgroundSyncService.test.d.ts.map +1 -0
- package/dist/tests/sync/BackgroundSyncService.test.js +259 -0
- package/dist/tests/sync/BackgroundSyncService.test.js.map +1 -0
- package/dist/tests/testkit.d.ts +14 -0
- package/dist/tests/testkit.d.ts.map +1 -0
- package/dist/tests/testkit.js +14 -0
- package/dist/tests/testkit.js.map +1 -0
- package/dist/tests/unit/api-client-events.test.d.ts +10 -0
- package/dist/tests/unit/api-client-events.test.d.ts.map +1 -0
- package/dist/tests/unit/api-client-events.test.js +73 -0
- package/dist/tests/unit/api-client-events.test.js.map +1 -0
- package/dist/tests/unit/event-batcher.test.d.ts +13 -0
- package/dist/tests/unit/event-batcher.test.d.ts.map +1 -0
- package/dist/tests/unit/event-batcher.test.js +155 -0
- package/dist/tests/unit/event-batcher.test.js.map +1 -0
- package/dist/tests/unit/migrations/v10-dependencies.test.js +3 -3
- package/dist/tests/unit/migrations/v10-dependencies.test.js.map +1 -1
- package/dist/tests/unit/services/skill-installation-extended.test.d.ts +8 -0
- package/dist/tests/unit/services/skill-installation-extended.test.d.ts.map +1 -0
- package/dist/tests/unit/services/skill-installation-extended.test.js +423 -0
- package/dist/tests/unit/services/skill-installation-extended.test.js.map +1 -0
- package/dist/tests/unit/services/skill-installation.service.test.d.ts +8 -0
- package/dist/tests/unit/services/skill-installation.service.test.d.ts.map +1 -0
- package/dist/tests/unit/services/skill-installation.service.test.js +342 -0
- package/dist/tests/unit/services/skill-installation.service.test.js.map +1 -0
- package/package.json +22 -10
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -13
- package/dist/vitest.config.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weights.js","sourceRoot":"","sources":["../../../../src/security/scanner/weights.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,EAAE;CACb,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,SAAS,EAAE,GAAG;IACd,kBAAkB,EAAE,GAAG;IACvB,cAAc,EAAE,GAAG;IACnB,iBAAiB,EAAE,GAAG;IACtB,oBAAoB,EAAE,GAAG;IACzB,kBAAkB,EAAE,GAAG;IACvB,cAAc,EAAE,GAAG;IACnB,GAAG,EAAE,GAAG;IACR,UAAU,EAAE,GAAG,EAAE,iDAAiD;
|
|
1
|
+
{"version":3,"file":"weights.js","sourceRoot":"","sources":["../../../../src/security/scanner/weights.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,EAAE;CACb,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,SAAS,EAAE,GAAG;IACd,kBAAkB,EAAE,GAAG;IACvB,cAAc,EAAE,GAAG;IACnB,iBAAiB,EAAE,GAAG;IACtB,oBAAoB,EAAE,GAAG;IACzB,kBAAkB,EAAE,GAAG;IACvB,cAAc,EAAE,GAAG;IACnB,GAAG,EAAE,GAAG;IACR,UAAU,EAAE,GAAG,EAAE,iDAAiD;IAClE,IAAI,EAAE,GAAG,EAAE,uCAAuC;IAClD,GAAG,EAAE,GAAG,EAAE,8CAA8C;CACzD,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Zod schema for skill config.json validation
|
|
3
|
+
* @module @skillsmith/core/services/skill-config-schema
|
|
4
|
+
* @see SMI-3870: Config.json Schema Validation
|
|
5
|
+
*
|
|
6
|
+
* Validates config.json files fetched during skill installation.
|
|
7
|
+
* v1 uses .passthrough() — logs unknown keys as warnings but does not reject.
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
/**
|
|
11
|
+
* Schema for skill config.json files.
|
|
12
|
+
* v1: passthrough mode — unknown keys logged as warnings, not rejected.
|
|
13
|
+
* Switch to .strict() after publishing the schema spec.
|
|
14
|
+
*/
|
|
15
|
+
export declare const SkillConfigSchema: z.ZodObject<{
|
|
16
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
17
|
+
version: z.ZodOptional<z.ZodString>;
|
|
18
|
+
presets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
|
|
19
|
+
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
|
|
20
|
+
mcpServers: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
21
|
+
minClaudeCodeVersion: z.ZodOptional<z.ZodString>;
|
|
22
|
+
}, z.core.$loose>;
|
|
23
|
+
export type SkillConfig = z.infer<typeof SkillConfigSchema>;
|
|
24
|
+
export interface ConfigValidationResult {
|
|
25
|
+
valid: boolean;
|
|
26
|
+
errors: string[];
|
|
27
|
+
warnings: string[];
|
|
28
|
+
/** Sanitized config (only if valid) */
|
|
29
|
+
config?: SkillConfig;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Validate a config.json string against the skill config schema.
|
|
33
|
+
* Returns validation result with errors and warnings for unknown keys.
|
|
34
|
+
*/
|
|
35
|
+
export declare function validateSkillConfig(content: string): ConfigValidationResult;
|
|
36
|
+
//# sourceMappingURL=skill-config-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-config-schema.d.ts","sourceRoot":"","sources":["../../../src/services/skill-config-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;iBAmBd,CAAA;AAEhB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAW3D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,uCAAuC;IACvC,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CA+B3E"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Zod schema for skill config.json validation
|
|
3
|
+
* @module @skillsmith/core/services/skill-config-schema
|
|
4
|
+
* @see SMI-3870: Config.json Schema Validation
|
|
5
|
+
*
|
|
6
|
+
* Validates config.json files fetched during skill installation.
|
|
7
|
+
* v1 uses .passthrough() — logs unknown keys as warnings but does not reject.
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
/**
|
|
11
|
+
* Schema for skill config.json files.
|
|
12
|
+
* v1: passthrough mode — unknown keys logged as warnings, not rejected.
|
|
13
|
+
* Switch to .strict() after publishing the schema spec.
|
|
14
|
+
*/
|
|
15
|
+
export const SkillConfigSchema = z
|
|
16
|
+
.object({
|
|
17
|
+
/** Skill display name override */
|
|
18
|
+
displayName: z.string().max(100).optional(),
|
|
19
|
+
/** Version constraint */
|
|
20
|
+
version: z.string().max(20).optional(),
|
|
21
|
+
/** Configuration presets (values must be primitives) */
|
|
22
|
+
presets: z
|
|
23
|
+
.record(z.string(), z.union([z.string().max(500), z.number(), z.boolean()]))
|
|
24
|
+
.optional(),
|
|
25
|
+
/** Custom settings (values must be primitives) */
|
|
26
|
+
settings: z
|
|
27
|
+
.record(z.string().max(50), z.union([z.string().max(500), z.number(), z.boolean()]))
|
|
28
|
+
.optional(),
|
|
29
|
+
/** MCP server requirements */
|
|
30
|
+
mcpServers: z.array(z.string().max(100)).max(10).optional(),
|
|
31
|
+
/** Minimum Claude Code version */
|
|
32
|
+
minClaudeCodeVersion: z.string().max(20).optional(),
|
|
33
|
+
})
|
|
34
|
+
.passthrough();
|
|
35
|
+
const KNOWN_KEYS = [
|
|
36
|
+
'displayName',
|
|
37
|
+
'version',
|
|
38
|
+
'presets',
|
|
39
|
+
'settings',
|
|
40
|
+
'mcpServers',
|
|
41
|
+
'minClaudeCodeVersion',
|
|
42
|
+
];
|
|
43
|
+
/**
|
|
44
|
+
* Validate a config.json string against the skill config schema.
|
|
45
|
+
* Returns validation result with errors and warnings for unknown keys.
|
|
46
|
+
*/
|
|
47
|
+
export function validateSkillConfig(content) {
|
|
48
|
+
try {
|
|
49
|
+
const parsed = JSON.parse(content);
|
|
50
|
+
const result = SkillConfigSchema.safeParse(parsed);
|
|
51
|
+
if (!result.success) {
|
|
52
|
+
return {
|
|
53
|
+
valid: false,
|
|
54
|
+
errors: result.error.issues.map((i) => i.path.join('.') + ': ' + i.message),
|
|
55
|
+
warnings: [],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
// v1 passthrough: log unknown keys as warnings
|
|
59
|
+
const warnings = [];
|
|
60
|
+
if (parsed !== null && typeof parsed === 'object') {
|
|
61
|
+
const unknownKeys = Object.keys(parsed).filter((k) => !KNOWN_KEYS.includes(k));
|
|
62
|
+
if (unknownKeys.length > 0) {
|
|
63
|
+
warnings.push('config.json contains unknown keys: ' + unknownKeys.join(', ') + '. These are ignored.');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return { valid: true, errors: [], warnings, config: result.data };
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
return {
|
|
70
|
+
valid: false,
|
|
71
|
+
errors: ['Invalid JSON: ' + (e instanceof Error ? e.message : 'parse error')],
|
|
72
|
+
warnings: [],
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=skill-config-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-config-schema.js","sourceRoot":"","sources":["../../../src/services/skill-config-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview AIDefence feedback + risk trend helpers for install pipeline
|
|
3
|
+
* @module @skillsmith/core/services/skill-installation.feedback
|
|
4
|
+
* @see SMI-3873: AIDefence Learning Loop
|
|
5
|
+
* @see SMI-3874: Risk Trend Detection
|
|
6
|
+
*/
|
|
7
|
+
import type { ScanReport } from '../security/index.js';
|
|
8
|
+
import type { RiskScoreHistoryRepository } from '../repositories/RiskScoreHistoryRepository.js';
|
|
9
|
+
import type { AiDefenceFeedback } from './skill-installation.types.js';
|
|
10
|
+
/** SMI-3873: Record AIDefence learning feedback. Best-effort, non-blocking. */
|
|
11
|
+
export declare function recordAiDefenceFeedback(params: {
|
|
12
|
+
feedback: AiDefenceFeedback | undefined;
|
|
13
|
+
skillMdContent: string;
|
|
14
|
+
scanReport: ScanReport | undefined;
|
|
15
|
+
blocked: boolean;
|
|
16
|
+
}): void;
|
|
17
|
+
/** SMI-3874: Collect risk trend warnings from scan history. */
|
|
18
|
+
export declare function collectTrendWarnings(params: {
|
|
19
|
+
historyRepo: RiskScoreHistoryRepository | undefined;
|
|
20
|
+
skillId: string;
|
|
21
|
+
scanReport: ScanReport;
|
|
22
|
+
contentHash: string | null;
|
|
23
|
+
}): string[];
|
|
24
|
+
//# sourceMappingURL=skill-installation.feedback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-installation.feedback.d.ts","sourceRoot":"","sources":["../../../src/services/skill-installation.feedback.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAA;AAC/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAGtE,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAA;IACvC,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,UAAU,GAAG,SAAS,CAAA;IAClC,OAAO,EAAE,OAAO,CAAA;CACjB,GAAG,IAAI,CAaP;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,WAAW,EAAE,0BAA0B,GAAG,SAAS,CAAA;IACnD,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B,GAAG,MAAM,EAAE,CASX"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview AIDefence feedback + risk trend helpers for install pipeline
|
|
3
|
+
* @module @skillsmith/core/services/skill-installation.feedback
|
|
4
|
+
* @see SMI-3873: AIDefence Learning Loop
|
|
5
|
+
* @see SMI-3874: Risk Trend Detection
|
|
6
|
+
*/
|
|
7
|
+
import { detectRiskTrend } from '../security/risk-trend.js';
|
|
8
|
+
/** SMI-3873: Record AIDefence learning feedback. Best-effort, non-blocking. */
|
|
9
|
+
export function recordAiDefenceFeedback(params) {
|
|
10
|
+
if (!params.feedback || !params.scanReport)
|
|
11
|
+
return;
|
|
12
|
+
const report = params.scanReport;
|
|
13
|
+
params.feedback
|
|
14
|
+
.recordFeedback({
|
|
15
|
+
input: params.skillMdContent.slice(0, 1000),
|
|
16
|
+
wasAccurate: true,
|
|
17
|
+
verdict: params.blocked ? 'true_positive' : report.passed ? 'true_negative' : 'true_positive',
|
|
18
|
+
threatType: !report.passed ? report.findings[0]?.type : undefined,
|
|
19
|
+
mitigation: params.blocked ? 'block' : report.passed ? 'log' : 'block',
|
|
20
|
+
mitigationSuccess: true,
|
|
21
|
+
})
|
|
22
|
+
.catch(() => { }); // best-effort
|
|
23
|
+
}
|
|
24
|
+
/** SMI-3874: Collect risk trend warnings from scan history. */
|
|
25
|
+
export function collectTrendWarnings(params) {
|
|
26
|
+
if (!params.historyRepo)
|
|
27
|
+
return [];
|
|
28
|
+
try {
|
|
29
|
+
const history = params.historyRepo.getHistory(params.skillId, 5);
|
|
30
|
+
const trend = detectRiskTrend(params.scanReport.riskScore, history);
|
|
31
|
+
return trend.anomaly ? [trend.message] : [];
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=skill-installation.feedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-installation.feedback.js","sourceRoot":"","sources":["../../../src/services/skill-installation.feedback.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,+EAA+E;AAC/E,MAAM,UAAU,uBAAuB,CAAC,MAKvC;IACC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,OAAM;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAA;IAChC,MAAM,CAAC,QAAQ;SACZ,cAAc,CAAC;QACd,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QAC3C,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe;QAC7F,UAAU,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS;QACjE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;QACtE,iBAAiB,EAAE,IAAI;KACxB,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA,CAAC,cAAc;AACnC,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,oBAAoB,CAAC,MAKpC;IACC,IAAI,CAAC,MAAM,CAAC,WAAW;QAAE,OAAO,EAAE,CAAA;IAClC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAChE,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACnE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Helper functions for SkillInstallationService
|
|
3
|
+
* @module @skillsmith/core/services/skill-installation.helpers
|
|
4
|
+
* @see SMI-3483: Wave 0 — Extract SkillInstallationService into core
|
|
5
|
+
*
|
|
6
|
+
* Pure helper functions used by the service. Split from the main service
|
|
7
|
+
* file to meet the 500-line standard.
|
|
8
|
+
*/
|
|
9
|
+
import type { SkillDependencyRepository } from '../repositories/SkillDependencyRepository.js';
|
|
10
|
+
import type { Database } from '../db/database-interface.js';
|
|
11
|
+
import type { RiskScoreHistoryRepository } from '../repositories/RiskScoreHistoryRepository.js';
|
|
12
|
+
import type { ScanReport } from '../security/index.js';
|
|
13
|
+
import type { DepIntelResult, OptimizationInfo, ProgressCallback, QuarantineStatus, UninstallResult } from './skill-installation.types.js';
|
|
14
|
+
import type { ManifestManager } from './skill-manifest.js';
|
|
15
|
+
/** Result of applying optimization to a skill's content. */
|
|
16
|
+
export interface OptimizationResult {
|
|
17
|
+
finalSkillContent: string;
|
|
18
|
+
subSkillFiles: Array<{
|
|
19
|
+
filename: string;
|
|
20
|
+
content: string;
|
|
21
|
+
}>;
|
|
22
|
+
subagentContent: string | undefined;
|
|
23
|
+
claudeMdSnippet: string | undefined;
|
|
24
|
+
optimizationInfo: OptimizationInfo;
|
|
25
|
+
}
|
|
26
|
+
export interface ParsedSkillId {
|
|
27
|
+
owner: string;
|
|
28
|
+
repo: string;
|
|
29
|
+
path: string;
|
|
30
|
+
isRegistryId: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare function parseSkillIdInternal(input: string): ParsedSkillId;
|
|
33
|
+
export declare function hashContent(content: string): string;
|
|
34
|
+
export interface SkillMdValidation {
|
|
35
|
+
valid: boolean;
|
|
36
|
+
errors: string[];
|
|
37
|
+
}
|
|
38
|
+
export declare function validateSkillMd(content: string): SkillMdValidation;
|
|
39
|
+
export declare function assertNotEncrypted(content: string, filePath: string): void;
|
|
40
|
+
export declare function fetchFromGitHub(owner: string, repo: string, filePath: string, branch?: string): Promise<string>;
|
|
41
|
+
export declare function checkForModifications(skillPath: string, installedAt: string): Promise<boolean>;
|
|
42
|
+
export declare function generateTips(skillName: string, optimizationInfo: OptimizationInfo): string[];
|
|
43
|
+
export declare function extractDepIntel(skillMdContent: string): DepIntelResult;
|
|
44
|
+
export declare function persistDependencies(repo: SkillDependencyRepository, skillId: string, content: string, declared: DepIntelResult['dep_declared']): void;
|
|
45
|
+
/** Perform skill uninstall with manifest awareness and orphan fallback. */
|
|
46
|
+
export declare function performUninstall(params: {
|
|
47
|
+
skillName: string;
|
|
48
|
+
force: boolean;
|
|
49
|
+
skillsDir: string;
|
|
50
|
+
manifest: ManifestManager;
|
|
51
|
+
skillDependencyRepo: SkillDependencyRepository;
|
|
52
|
+
onProgress: ProgressCallback;
|
|
53
|
+
}): Promise<UninstallResult>;
|
|
54
|
+
/**
|
|
55
|
+
* Apply skill optimization via TransformationService.
|
|
56
|
+
* Returns original content if transformation fails or produces no changes.
|
|
57
|
+
*/
|
|
58
|
+
export declare function applyOptimization(db: Database, skillId: string, skillName: string, skillMdContent: string): Promise<OptimizationResult>;
|
|
59
|
+
export declare function sanitizeInstallError(error: unknown): string;
|
|
60
|
+
/** Compute quality score (0-1) from scan report and skill metadata. */
|
|
61
|
+
export declare function computeAndAttachQualityScore(params: {
|
|
62
|
+
scanReport: ScanReport | undefined;
|
|
63
|
+
description: string | null;
|
|
64
|
+
tagCount: number;
|
|
65
|
+
hasRepoUrl: boolean;
|
|
66
|
+
hasAuthor: boolean;
|
|
67
|
+
trustTier: string;
|
|
68
|
+
hasExamples: boolean;
|
|
69
|
+
}): number;
|
|
70
|
+
/** Record a risk score snapshot. Best-effort: swallows errors. */
|
|
71
|
+
export declare function recordRiskHistory(params: {
|
|
72
|
+
historyRepo: RiskScoreHistoryRepository | undefined;
|
|
73
|
+
skillId: string;
|
|
74
|
+
scanReport: ScanReport;
|
|
75
|
+
contentHash: string | null;
|
|
76
|
+
source: 'install' | 'indexer' | 'rescan';
|
|
77
|
+
}): void;
|
|
78
|
+
/** SMI-3870: Validate config.json content; returns validity and warnings. */
|
|
79
|
+
export declare function validateOptionalConfig(content: string): {
|
|
80
|
+
valid: boolean;
|
|
81
|
+
warnings: string[];
|
|
82
|
+
};
|
|
83
|
+
/** SMI-3871: Cross-reference dependency targets against quarantine status. */
|
|
84
|
+
export declare function checkDepsAgainstQuarantine(depIntel: DepIntelResult, getStatus: (skillId: string) => QuarantineStatus | null): {
|
|
85
|
+
warnings: string[];
|
|
86
|
+
quarantinedDeps: string[];
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=skill-installation.helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-installation.helpers.d.ts","sourceRoot":"","sources":["../../../src/services/skill-installation.helpers.ts"],"names":[],"mappings":"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"}
|