@skillsmith/core 0.5.3 → 0.5.5
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 +14 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/activation/ActivationManager.d.ts +7 -0
- package/dist/src/activation/ActivationManager.d.ts.map +1 -1
- package/dist/src/activation/ActivationManager.js +13 -4
- package/dist/src/activation/ActivationManager.js.map +1 -1
- package/dist/src/analysis/adapters/python.d.ts +16 -11
- package/dist/src/analysis/adapters/python.d.ts.map +1 -1
- package/dist/src/analysis/adapters/python.js +46 -61
- package/dist/src/analysis/adapters/python.js.map +1 -1
- package/dist/src/analysis/router.test.d.ts +2 -0
- package/dist/src/analysis/router.test.d.ts.map +1 -0
- package/dist/src/analysis/router.test.js +411 -0
- package/dist/src/analysis/router.test.js.map +1 -0
- package/dist/src/analysis/tree-sitter/manager.d.ts.map +1 -1
- package/dist/src/analysis/tree-sitter/manager.js +12 -5
- package/dist/src/analysis/tree-sitter/manager.js.map +1 -1
- package/dist/src/analysis/tree-sitter/pythonExtractor.d.ts +45 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.js +264 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.js.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.test.d.ts +12 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.test.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.test.js +74 -0
- package/dist/src/analysis/tree-sitter/pythonExtractor.test.js.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.d.ts +93 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.hardening.test.d.ts +22 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.hardening.test.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.hardening.test.js +229 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.hardening.test.js.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.js +287 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.js.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.test.d.ts +17 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.test.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.test.js +142 -0
- package/dist/src/analysis/tree-sitter/pythonIncremental.test.js.map +1 -0
- package/dist/src/analysis/tree-sitter/queries/python.d.ts +43 -0
- package/dist/src/analysis/tree-sitter/queries/python.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/queries/python.js +88 -0
- package/dist/src/analysis/tree-sitter/queries/python.js.map +1 -0
- package/dist/src/analysis/tree-sitter/queryExtractionMatchesOrExceedsRegex.test.d.ts +13 -0
- package/dist/src/analysis/tree-sitter/queryExtractionMatchesOrExceedsRegex.test.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/queryExtractionMatchesOrExceedsRegex.test.js +174 -0
- package/dist/src/analysis/tree-sitter/queryExtractionMatchesOrExceedsRegex.test.js.map +1 -0
- package/dist/src/analytics/ROIDashboardService.csv.d.ts +11 -0
- package/dist/src/analytics/ROIDashboardService.csv.d.ts.map +1 -0
- package/dist/src/analytics/ROIDashboardService.csv.js +43 -0
- package/dist/src/analytics/ROIDashboardService.csv.js.map +1 -0
- package/dist/src/analytics/ROIDashboardService.d.ts +64 -3
- package/dist/src/analytics/ROIDashboardService.d.ts.map +1 -1
- package/dist/src/analytics/ROIDashboardService.js +116 -45
- package/dist/src/analytics/ROIDashboardService.js.map +1 -1
- package/dist/src/api/client.d.ts +4 -66
- package/dist/src/api/client.d.ts.map +1 -1
- package/dist/src/api/client.events.d.ts.map +1 -1
- package/dist/src/api/client.events.js +10 -1
- package/dist/src/api/client.events.js.map +1 -1
- package/dist/src/api/client.js +40 -66
- package/dist/src/api/client.js.map +1 -1
- package/dist/src/api/client.token-refresh.d.ts +3 -0
- package/dist/src/api/client.token-refresh.d.ts.map +1 -0
- package/dist/src/api/client.token-refresh.js +19 -0
- package/dist/src/api/client.token-refresh.js.map +1 -0
- package/dist/src/api/client.token-refresh.test.d.ts +2 -0
- package/dist/src/api/client.token-refresh.test.d.ts.map +1 -0
- package/dist/src/api/client.token-refresh.test.js +73 -0
- package/dist/src/api/client.token-refresh.test.js.map +1 -0
- package/dist/src/api/client.types.d.ts +2 -0
- package/dist/src/api/client.types.d.ts.map +1 -1
- package/dist/src/api/index.d.ts +1 -1
- package/dist/src/api/index.d.ts.map +1 -1
- package/dist/src/api/index.js +1 -1
- package/dist/src/api/index.js.map +1 -1
- package/dist/src/api/schemas.d.ts +60 -60
- package/dist/src/api/schemas.d.ts.map +1 -1
- package/dist/src/benchmarks/incrementalParseBenchmark.d.ts +18 -0
- package/dist/src/benchmarks/incrementalParseBenchmark.d.ts.map +1 -0
- package/dist/src/benchmarks/incrementalParseBenchmark.js +121 -0
- package/dist/src/benchmarks/incrementalParseBenchmark.js.map +1 -0
- package/dist/src/billing/GDPRComplianceService.test.d.ts +2 -0
- package/dist/src/billing/GDPRComplianceService.test.d.ts.map +1 -0
- package/dist/src/billing/GDPRComplianceService.test.js +405 -0
- package/dist/src/billing/GDPRComplianceService.test.js.map +1 -0
- package/dist/src/config/index.d.ts +4 -0
- package/dist/src/config/index.d.ts.map +1 -1
- package/dist/src/config/index.js +6 -0
- package/dist/src/config/index.js.map +1 -1
- package/dist/src/config/token-credentials.d.ts +13 -0
- package/dist/src/config/token-credentials.d.ts.map +1 -0
- package/dist/src/config/token-credentials.js +126 -0
- package/dist/src/config/token-credentials.js.map +1 -0
- package/dist/src/config/token-credentials.test.d.ts +10 -0
- package/dist/src/config/token-credentials.test.d.ts.map +1 -0
- package/dist/src/config/token-credentials.test.js +91 -0
- package/dist/src/config/token-credentials.test.js.map +1 -0
- package/dist/src/index.d.ts +7 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/indexer/SkillParser.coverage.test.d.ts +10 -0
- package/dist/src/indexer/SkillParser.coverage.test.d.ts.map +1 -0
- package/dist/src/indexer/SkillParser.coverage.test.js +76 -0
- package/dist/src/indexer/SkillParser.coverage.test.js.map +1 -0
- package/dist/src/indexer/SkillParser.test.d.ts +2 -0
- package/dist/src/indexer/SkillParser.test.d.ts.map +1 -0
- package/dist/src/indexer/SkillParser.test.js +375 -0
- package/dist/src/indexer/SkillParser.test.js.map +1 -0
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js +34 -5
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
- package/dist/src/scripts/github-import/blocklist.d.ts +65 -0
- package/dist/src/scripts/github-import/blocklist.d.ts.map +1 -0
- package/dist/src/scripts/github-import/blocklist.js +124 -0
- package/dist/src/scripts/github-import/blocklist.js.map +1 -0
- package/dist/src/scripts/github-import/index.d.ts +1 -0
- package/dist/src/scripts/github-import/index.d.ts.map +1 -1
- package/dist/src/scripts/github-import/index.js +3 -0
- package/dist/src/scripts/github-import/index.js.map +1 -1
- package/dist/src/scripts/github-import/signal-of-intent.d.ts +87 -0
- package/dist/src/scripts/github-import/signal-of-intent.d.ts.map +1 -0
- package/dist/src/scripts/github-import/signal-of-intent.js +213 -0
- package/dist/src/scripts/github-import/signal-of-intent.js.map +1 -0
- package/dist/src/scripts/github-import/types.d.ts +22 -0
- package/dist/src/scripts/github-import/types.d.ts.map +1 -1
- package/dist/src/scripts/github-import/types.js.map +1 -1
- package/dist/src/scripts/import-github-skills.js +73 -3
- package/dist/src/scripts/import-github-skills.js.map +1 -1
- package/dist/src/scripts/skill-scanner/allowlist.d.ts +38 -0
- package/dist/src/scripts/skill-scanner/allowlist.d.ts.map +1 -0
- package/dist/src/scripts/skill-scanner/allowlist.js +178 -0
- package/dist/src/scripts/skill-scanner/allowlist.js.map +1 -0
- package/dist/src/scripts/skill-scanner/scanner.d.ts +10 -2
- package/dist/src/scripts/skill-scanner/scanner.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/scanner.js +15 -3
- package/dist/src/scripts/skill-scanner/scanner.js.map +1 -1
- package/dist/src/scripts/skill-scanner/trust-scorer.d.ts +20 -6
- package/dist/src/scripts/skill-scanner/trust-scorer.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/trust-scorer.js +28 -9
- package/dist/src/scripts/skill-scanner/trust-scorer.js.map +1 -1
- package/dist/src/scripts/skill-scanner/types.d.ts +50 -0
- package/dist/src/scripts/skill-scanner/types.d.ts.map +1 -1
- package/dist/src/scripts/validation/types.d.ts +14 -24
- package/dist/src/scripts/validation/types.d.ts.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.helpers.d.ts +18 -0
- package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.helpers.js +54 -6
- package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -1
- package/dist/src/security/scanner/patterns.d.ts.map +1 -1
- package/dist/src/security/scanner/patterns.js +45 -5
- package/dist/src/security/scanner/patterns.js.map +1 -1
- package/dist/src/services/skill-config-schema.d.ts +4 -36
- package/dist/src/services/skill-config-schema.d.ts.map +1 -1
- package/dist/src/sources/LocalFilesystemAdapter.d.ts +104 -10
- package/dist/src/sources/LocalFilesystemAdapter.d.ts.map +1 -1
- package/dist/src/sources/LocalFilesystemAdapter.helpers.d.ts +92 -0
- package/dist/src/sources/LocalFilesystemAdapter.helpers.d.ts.map +1 -0
- package/dist/src/sources/LocalFilesystemAdapter.helpers.js +157 -0
- package/dist/src/sources/LocalFilesystemAdapter.helpers.js.map +1 -0
- package/dist/src/sources/LocalFilesystemAdapter.js +218 -159
- package/dist/src/sources/LocalFilesystemAdapter.js.map +1 -1
- package/dist/src/sources/LocalFilesystemAdapter.scan.d.ts +78 -0
- package/dist/src/sources/LocalFilesystemAdapter.scan.d.ts.map +1 -0
- package/dist/src/sources/LocalFilesystemAdapter.scan.js +118 -0
- package/dist/src/sources/LocalFilesystemAdapter.scan.js.map +1 -0
- package/dist/src/sources/index.d.ts +1 -1
- package/dist/src/sources/index.d.ts.map +1 -1
- package/dist/src/sources/index.js.map +1 -1
- package/dist/src/sources/types.d.ts +28 -0
- package/dist/src/sources/types.d.ts.map +1 -1
- package/dist/src/telemetry/tracer-imports.d.ts +13 -0
- package/dist/src/telemetry/tracer-imports.d.ts.map +1 -0
- package/dist/src/telemetry/tracer-imports.js +26 -0
- package/dist/src/telemetry/tracer-imports.js.map +1 -0
- package/dist/src/telemetry/tracer.d.ts.map +1 -1
- package/dist/src/telemetry/tracer.js +18 -21
- package/dist/src/telemetry/tracer.js.map +1 -1
- package/dist/src/utils/rate-limit.d.ts +39 -0
- package/dist/src/utils/rate-limit.d.ts.map +1 -0
- package/dist/src/utils/rate-limit.js +48 -0
- package/dist/src/utils/rate-limit.js.map +1 -0
- package/dist/src/utils/rate-limit.test.d.ts +11 -0
- package/dist/src/utils/rate-limit.test.d.ts.map +1 -0
- package/dist/src/utils/rate-limit.test.js +86 -0
- package/dist/src/utils/rate-limit.test.js.map +1 -0
- package/dist/src/webhooks/WebhookDeadLetterRepository.d.ts +178 -0
- package/dist/src/webhooks/WebhookDeadLetterRepository.d.ts.map +1 -0
- package/dist/src/webhooks/WebhookDeadLetterRepository.js +196 -0
- package/dist/src/webhooks/WebhookDeadLetterRepository.js.map +1 -0
- package/dist/src/webhooks/WebhookQueue.d.ts +1 -0
- package/dist/src/webhooks/WebhookQueue.d.ts.map +1 -1
- package/dist/src/webhooks/WebhookQueue.js +19 -0
- package/dist/src/webhooks/WebhookQueue.js.map +1 -1
- package/dist/src/webhooks/WebhookQueue.types.d.ts +11 -0
- package/dist/src/webhooks/WebhookQueue.types.d.ts.map +1 -1
- package/dist/src/webhooks/index.d.ts +1 -0
- package/dist/src/webhooks/index.d.ts.map +1 -1
- package/dist/src/webhooks/index.js +2 -0
- package/dist/src/webhooks/index.js.map +1 -1
- package/dist/src/webhooks/webhook-schemas.d.ts +117 -1212
- package/dist/src/webhooks/webhook-schemas.d.ts.map +1 -1
- package/dist/tests/ActivationManager.test.d.ts +13 -0
- package/dist/tests/ActivationManager.test.d.ts.map +1 -0
- package/dist/tests/ActivationManager.test.js +218 -0
- package/dist/tests/ActivationManager.test.js.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.coverage.test.d.ts +13 -0
- package/dist/tests/LocalFilesystemAdapter.coverage.test.d.ts.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.coverage.test.js +314 -0
- package/dist/tests/LocalFilesystemAdapter.coverage.test.js.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.security.test.d.ts +18 -0
- package/dist/tests/LocalFilesystemAdapter.security.test.d.ts.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.security.test.js +344 -0
- package/dist/tests/LocalFilesystemAdapter.security.test.js.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.test.d.ts +12 -0
- package/dist/tests/LocalFilesystemAdapter.test.d.ts.map +1 -0
- package/dist/tests/LocalFilesystemAdapter.test.js +301 -0
- package/dist/tests/LocalFilesystemAdapter.test.js.map +1 -0
- package/dist/tests/ROIDashboardService.coverage.test.d.ts +9 -0
- package/dist/tests/ROIDashboardService.coverage.test.d.ts.map +1 -0
- package/dist/tests/ROIDashboardService.coverage.test.js +118 -0
- package/dist/tests/ROIDashboardService.coverage.test.js.map +1 -0
- package/dist/tests/ROIDashboardService.test.js +87 -0
- package/dist/tests/ROIDashboardService.test.js.map +1 -1
- package/dist/tests/ScraperAdapters.gitlab-coverage.test.d.ts +14 -0
- package/dist/tests/ScraperAdapters.gitlab-coverage.test.d.ts.map +1 -0
- package/dist/tests/ScraperAdapters.gitlab-coverage.test.js +169 -0
- package/dist/tests/ScraperAdapters.gitlab-coverage.test.js.map +1 -0
- package/dist/tests/ScraperAdapters.test.d.ts +5 -1
- package/dist/tests/ScraperAdapters.test.d.ts.map +1 -1
- package/dist/tests/ScraperAdapters.test.js +6 -336
- package/dist/tests/ScraperAdapters.test.js.map +1 -1
- package/dist/tests/WebhookDeadLetterRepository.test.d.ts +2 -0
- package/dist/tests/WebhookDeadLetterRepository.test.d.ts.map +1 -0
- package/dist/tests/WebhookDeadLetterRepository.test.js +333 -0
- package/dist/tests/WebhookDeadLetterRepository.test.js.map +1 -0
- package/dist/tests/WebhookHandler.test.js +93 -1
- package/dist/tests/WebhookHandler.test.js.map +1 -1
- package/dist/tests/WebhookQueue.coverage.test.d.ts +19 -0
- package/dist/tests/WebhookQueue.coverage.test.d.ts.map +1 -0
- package/dist/tests/WebhookQueue.coverage.test.js +190 -0
- package/dist/tests/WebhookQueue.coverage.test.js.map +1 -0
- package/dist/tests/api/client.events.test.d.ts +10 -0
- package/dist/tests/api/client.events.test.d.ts.map +1 -0
- package/dist/tests/api/client.events.test.js +85 -0
- package/dist/tests/api/client.events.test.js.map +1 -0
- package/dist/tests/billing/GDPRCompliance.test.d.ts +2 -2
- package/dist/tests/billing/GDPRCompliance.test.js +221 -36
- package/dist/tests/billing/GDPRCompliance.test.js.map +1 -1
- package/dist/tests/github-import/blocklist.test.d.ts +15 -0
- package/dist/tests/github-import/blocklist.test.d.ts.map +1 -0
- package/dist/tests/github-import/blocklist.test.js +182 -0
- package/dist/tests/github-import/blocklist.test.js.map +1 -0
- package/dist/tests/github-import/signal-of-intent.test.d.ts +15 -0
- package/dist/tests/github-import/signal-of-intent.test.d.ts.map +1 -0
- package/dist/tests/github-import/signal-of-intent.test.js +171 -0
- package/dist/tests/github-import/signal-of-intent.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 -1
- package/dist/tests/security/scanner-regression-guard.test.js +15 -3
- package/dist/tests/security/scanner-regression-guard.test.js.map +1 -1
- package/dist/tests/security/scanner-wave2-fixtures.test.d.ts +12 -0
- package/dist/tests/security/scanner-wave2-fixtures.test.d.ts.map +1 -0
- package/dist/tests/security/scanner-wave2-fixtures.test.js +173 -0
- package/dist/tests/security/scanner-wave2-fixtures.test.js.map +1 -0
- package/dist/tests/security.test.js +1 -0
- package/dist/tests/security.test.js.map +1 -1
- package/dist/tests/skill-scanner/allowlist.test.d.ts +16 -0
- package/dist/tests/skill-scanner/allowlist.test.d.ts.map +1 -0
- package/dist/tests/skill-scanner/allowlist.test.js +332 -0
- package/dist/tests/skill-scanner/allowlist.test.js.map +1 -0
- package/dist/tests/telemetry.test.js +126 -0
- package/dist/tests/telemetry.test.js.map +1 -1
- package/dist/tests/webhooks/WebhookDeadLetterRepository.test.d.ts +10 -0
- package/dist/tests/webhooks/WebhookDeadLetterRepository.test.d.ts.map +1 -0
- package/dist/tests/webhooks/WebhookDeadLetterRepository.test.js +109 -0
- package/dist/tests/webhooks/WebhookDeadLetterRepository.test.js.map +1 -0
- package/package.json +8 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ROIDashboardService.d.ts","sourceRoot":"","sources":["../../../src/analytics/ROIDashboardService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"ROIDashboardService.d.ts","sourceRoot":"","sources":["../../../src/analytics/ROIDashboardService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAI3E,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAc,MAAM,YAAY,CAAA;AAEpF,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAKD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,QAC+C,CAAA;AAE3E,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAI;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAI;gBAEzB,EAAE,EAAE,YAAY;IAI5B;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAW,GAAG,YAAY,CAAC,MAAM,CAAC;IAKnE;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiCpB;;;OAGG;IACH,iBAAiB,CAAC,IAAI,GAAE,MAAW,GAAG,YAAY,CAAC,aAAa,CAAC;IAKjE;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY;IAU7D;;;OAGG;IACH,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,UAAU,EAAE;IAyBhE;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,GAAE,MAAW,GAAG,MAAM;IAoB1F;;OAEG;IACH,cAAc,IAAI,IAAI;IAWtB,OAAO,CAAC,YAAY;IAmBpB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,oBAAoB;IA+B5B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,6BAA6B;IAyBrC,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,mBAAmB;CAoB5B"}
|
|
@@ -7,7 +7,19 @@
|
|
|
7
7
|
* - Automated data refresh and computation
|
|
8
8
|
* - Export to JSON/CSV (PDF planned for future)
|
|
9
9
|
*/
|
|
10
|
+
import { ValidationError } from '../validation/validation-error.js';
|
|
10
11
|
import { AnalyticsRepository } from './AnalyticsRepository.js';
|
|
12
|
+
import { convertROIToCSV } from './ROIDashboardService.csv.js';
|
|
13
|
+
/** Default window applied by {@link ROIDashboardService.getDashboard} when both dates are omitted. */
|
|
14
|
+
const DEFAULT_DASHBOARD_WINDOW_DAYS = 30;
|
|
15
|
+
/**
|
|
16
|
+
* Strict ISO-8601 / RFC-3339 profile matcher (SMI-4317). Accepts `YYYY-MM-DD`
|
|
17
|
+
* and `YYYY-MM-DDTHH:MM:SS(.sss)?(Z|[+-]HH:MM)`; rejects RFC-2822, slash
|
|
18
|
+
* separators, space-as-T, bare date-time without offset, and any trailing
|
|
19
|
+
* content. Syntactic guard only — calendar validity (e.g., `2026-13-01`) is
|
|
20
|
+
* caught by the paired `Date.parse` check. Exported for tests/reuse.
|
|
21
|
+
*/
|
|
22
|
+
export const ISO_8601_STRICT = /^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{1,9})?(Z|[+-]\d{2}:\d{2}))?$/;
|
|
11
23
|
export class ROIDashboardService {
|
|
12
24
|
repo;
|
|
13
25
|
TIME_SAVED_PER_SUCCESS = 5; // minutes (configurable)
|
|
@@ -16,10 +28,18 @@ export class ROIDashboardService {
|
|
|
16
28
|
this.repo = new AnalyticsRepository(db);
|
|
17
29
|
}
|
|
18
30
|
/**
|
|
19
|
-
* Get user ROI dashboard data
|
|
31
|
+
* Get user ROI dashboard data for a rolling window (last `days` days).
|
|
32
|
+
* For an explicit ISO-8601 range, use {@link getDashboard}.
|
|
20
33
|
*/
|
|
21
34
|
getUserROI(userId, days = 30) {
|
|
22
35
|
const { startDate, endDate } = this.getDateRange(days);
|
|
36
|
+
return this.buildUserROI(userId, startDate, endDate);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Core per-user ROI computation over an explicit ISO-8601 range.
|
|
40
|
+
* Shared between {@link getUserROI} (days-based) and {@link getDashboard}.
|
|
41
|
+
*/
|
|
42
|
+
buildUserROI(userId, startDate, endDate) {
|
|
23
43
|
// Get user's usage events
|
|
24
44
|
const events = this.repo.getUsageEventsForUser(userId, startDate, endDate);
|
|
25
45
|
// Calculate total time saved
|
|
@@ -36,7 +56,7 @@ export class ROIDashboardService {
|
|
|
36
56
|
}))
|
|
37
57
|
.sort((a, b) => b.timeSaved - a.timeSaved)
|
|
38
58
|
.slice(0, 5);
|
|
39
|
-
// Calculate weekly trend
|
|
59
|
+
// Calculate weekly trend (filtered to [startDate, endDate])
|
|
40
60
|
const weeklyTrend = this.calculateWeeklyTrend(events, startDate, endDate);
|
|
41
61
|
return {
|
|
42
62
|
userId,
|
|
@@ -47,10 +67,18 @@ export class ROIDashboardService {
|
|
|
47
67
|
};
|
|
48
68
|
}
|
|
49
69
|
/**
|
|
50
|
-
* Get stakeholder aggregate ROI dashboard
|
|
70
|
+
* Get stakeholder aggregate ROI dashboard for a rolling window (last `days` days).
|
|
71
|
+
* For an explicit ISO-8601 range, use {@link getDashboard}.
|
|
51
72
|
*/
|
|
52
73
|
getStakeholderROI(days = 30) {
|
|
53
74
|
const { startDate, endDate } = this.getDateRange(days);
|
|
75
|
+
return this.buildStakeholderROI(startDate, endDate);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Core stakeholder ROI computation over an explicit ISO-8601 range.
|
|
79
|
+
* Shared between {@link getStakeholderROI} (days-based) and {@link getDashboard}.
|
|
80
|
+
*/
|
|
81
|
+
buildStakeholderROI(startDate, endDate) {
|
|
54
82
|
// Get ROI metrics for the period
|
|
55
83
|
const metrics = this.repo.getROIMetrics('daily', startDate, endDate);
|
|
56
84
|
if (metrics.length === 0) {
|
|
@@ -86,6 +114,27 @@ export class ROIDashboardService {
|
|
|
86
114
|
skillLeaderboard,
|
|
87
115
|
};
|
|
88
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Public date-range-aware dashboard entrypoint (SMI-1683 / GitHub #603).
|
|
119
|
+
*
|
|
120
|
+
* Behavior:
|
|
121
|
+
* - Both dates omitted: defaults to the last 30 days ending now.
|
|
122
|
+
* - Exactly one date provided: throws {@link ValidationError} (the range is ambiguous).
|
|
123
|
+
* - `startDate >= endDate`: throws {@link ValidationError}.
|
|
124
|
+
* - `userId` provided: returns `{ user }` with date-filtered per-user metrics.
|
|
125
|
+
* - `userId` omitted: returns `{ stakeholder }` aggregated over the range.
|
|
126
|
+
*
|
|
127
|
+
* @param options.userId Optional — when supplied, returns the per-user dashboard.
|
|
128
|
+
* @param options.startDate Optional ISO-8601 timestamp; must be paired with `endDate`.
|
|
129
|
+
* @param options.endDate Optional ISO-8601 timestamp; must be paired with `startDate`.
|
|
130
|
+
*/
|
|
131
|
+
getDashboard(options = {}) {
|
|
132
|
+
const { startDate, endDate } = this.resolveDashboardRange(options.startDate, options.endDate);
|
|
133
|
+
if (options.userId) {
|
|
134
|
+
return { user: this.buildUserROI(options.userId, startDate, endDate) };
|
|
135
|
+
}
|
|
136
|
+
return { stakeholder: this.buildStakeholderROI(startDate, endDate) };
|
|
137
|
+
}
|
|
89
138
|
/**
|
|
90
139
|
* Compute and store ROI metrics for a period
|
|
91
140
|
* This should be run periodically (e.g., daily) to maintain the dashboard
|
|
@@ -123,7 +172,7 @@ export class ROIDashboardService {
|
|
|
123
172
|
case 'json':
|
|
124
173
|
return JSON.stringify(data, null, 2);
|
|
125
174
|
case 'csv':
|
|
126
|
-
return
|
|
175
|
+
return convertROIToCSV(data);
|
|
127
176
|
case 'pdf':
|
|
128
177
|
throw new Error('PDF export not yet implemented');
|
|
129
178
|
default:
|
|
@@ -141,6 +190,13 @@ export class ROIDashboardService {
|
|
|
141
190
|
}
|
|
142
191
|
// ==================== Private Helper Methods ====================
|
|
143
192
|
getDateRange(days) {
|
|
193
|
+
// SMI-4317: fail fast on non-positive-integer `days`. Without this guard,
|
|
194
|
+
// `getUserROI(userId, -5)` silently inverts the range (start > end), which
|
|
195
|
+
// downstream either yields empty results or throws a confusing
|
|
196
|
+
// "startDate must be before endDate" error.
|
|
197
|
+
if (!Number.isFinite(days) || !Number.isInteger(days) || days <= 0) {
|
|
198
|
+
throw new ValidationError('days must be a positive integer', 'INVALID_DATE_RANGE');
|
|
199
|
+
}
|
|
144
200
|
const endDate = new Date();
|
|
145
201
|
const startDate = new Date(endDate);
|
|
146
202
|
startDate.setDate(startDate.getDate() - days);
|
|
@@ -149,6 +205,45 @@ export class ROIDashboardService {
|
|
|
149
205
|
endDate: endDate.toISOString(),
|
|
150
206
|
};
|
|
151
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Resolve the range for {@link getDashboard}: default to last 30 days when both
|
|
210
|
+
* dates are omitted, validate that exactly-one-date was not supplied, and enforce
|
|
211
|
+
* `startDate < endDate`.
|
|
212
|
+
*/
|
|
213
|
+
resolveDashboardRange(startDate, endDate) {
|
|
214
|
+
if (startDate === undefined && endDate === undefined) {
|
|
215
|
+
return this.getDateRange(DEFAULT_DASHBOARD_WINDOW_DAYS);
|
|
216
|
+
}
|
|
217
|
+
if (startDate === undefined || endDate === undefined) {
|
|
218
|
+
throw new ValidationError('Must provide both startDate and endDate, or neither', 'INVALID_DATE_RANGE');
|
|
219
|
+
}
|
|
220
|
+
this.assertValidRange(startDate, endDate);
|
|
221
|
+
return { startDate, endDate };
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Throw a typed {@link ValidationError} when the supplied range is malformed.
|
|
225
|
+
*
|
|
226
|
+
* Validation layers (SMI-4317):
|
|
227
|
+
* 1. Strict ISO-8601 / RFC-3339 regex — rejects shapes like `2026/01/01`,
|
|
228
|
+
* `2026-01-01 00:00:00` (space), `Jan 1 2026`, or RFC-2822 that
|
|
229
|
+
* `Date.parse` would otherwise accept.
|
|
230
|
+
* 2. `Date.parse` NaN check — catches syntactically valid but semantically
|
|
231
|
+
* invalid dates (e.g., `2026-13-01`) that the regex cannot detect.
|
|
232
|
+
* 3. Ordering — rejects when `startDate >= endDate`.
|
|
233
|
+
*/
|
|
234
|
+
assertValidRange(startDate, endDate) {
|
|
235
|
+
if (!ISO_8601_STRICT.test(startDate) || !ISO_8601_STRICT.test(endDate)) {
|
|
236
|
+
throw new ValidationError('startDate and endDate must be strict ISO-8601 timestamps (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS[.sss][Z|±HH:MM])', 'INVALID_DATE_RANGE');
|
|
237
|
+
}
|
|
238
|
+
const start = Date.parse(startDate);
|
|
239
|
+
const end = Date.parse(endDate);
|
|
240
|
+
if (Number.isNaN(start) || Number.isNaN(end)) {
|
|
241
|
+
throw new ValidationError('startDate and endDate must be parseable ISO-8601 timestamps', 'INVALID_DATE_RANGE');
|
|
242
|
+
}
|
|
243
|
+
if (start >= end) {
|
|
244
|
+
throw new ValidationError('Invalid range: startDate must be before endDate', 'INVALID_DATE_RANGE');
|
|
245
|
+
}
|
|
246
|
+
}
|
|
152
247
|
calculateTimeSaved(events) {
|
|
153
248
|
const successCount = events.filter((e) => e.eventType === 'success').length;
|
|
154
249
|
return successCount * this.TIME_SAVED_PER_SUCCESS;
|
|
@@ -163,11 +258,13 @@ export class ROIDashboardService {
|
|
|
163
258
|
}
|
|
164
259
|
return groups;
|
|
165
260
|
}
|
|
166
|
-
calculateWeeklyTrend(events,
|
|
167
|
-
|
|
168
|
-
//
|
|
261
|
+
calculateWeeklyTrend(events, startDate, endDate) {
|
|
262
|
+
// Filter events to the requested inclusive range (SMI-1683 / GitHub #603).
|
|
263
|
+
// ISO-8601 timestamps sort lexicographically, so string comparison is correct.
|
|
264
|
+
const filtered = events.filter((event) => event.timestamp >= startDate && event.timestamp <= endDate);
|
|
265
|
+
// Group filtered events by week
|
|
169
266
|
const weeklyGroups = {};
|
|
170
|
-
for (const event of
|
|
267
|
+
for (const event of filtered) {
|
|
171
268
|
const weekStart = this.getWeekStart(event.timestamp);
|
|
172
269
|
if (!weeklyGroups[weekStart]) {
|
|
173
270
|
weeklyGroups[weekStart] = [];
|
|
@@ -189,9 +286,17 @@ export class ROIDashboardService {
|
|
|
189
286
|
const weekStart = new Date(date.setDate(diff));
|
|
190
287
|
return weekStart.toISOString().split('T')[0];
|
|
191
288
|
}
|
|
192
|
-
computeStakeholderROIOnTheFly(
|
|
193
|
-
|
|
194
|
-
//
|
|
289
|
+
computeStakeholderROIOnTheFly(startDate, endDate) {
|
|
290
|
+
// SMI-1683 scope: validate the date range even though the on-the-fly branch
|
|
291
|
+
// still returns zeroed stakeholder data. This guards callers from passing
|
|
292
|
+
// malformed ranges while the event-query implementation remains deferred.
|
|
293
|
+
//
|
|
294
|
+
// DESCOPE: The actual event aggregation (users, activations, time saved,
|
|
295
|
+
// leaderboard) lands in SMI-4296. Until then this method intentionally
|
|
296
|
+
// returns a zeroed struct regardless of the events present in the range,
|
|
297
|
+
// and the unit test for this branch asserts the zeroed shape to document
|
|
298
|
+
// the incompleteness.
|
|
299
|
+
this.assertValidRange(startDate, endDate);
|
|
195
300
|
return {
|
|
196
301
|
totalUsers: 0,
|
|
197
302
|
totalActivations: 0,
|
|
@@ -268,39 +373,5 @@ export class ROIDashboardService {
|
|
|
268
373
|
computedAt: new Date().toISOString(),
|
|
269
374
|
};
|
|
270
375
|
}
|
|
271
|
-
convertROIToCSV(data) {
|
|
272
|
-
const lines = [];
|
|
273
|
-
if (data.user) {
|
|
274
|
-
lines.push('User ROI Dashboard');
|
|
275
|
-
lines.push('');
|
|
276
|
-
lines.push('Metric,Value');
|
|
277
|
-
lines.push(`User ID,${data.user.userId}`);
|
|
278
|
-
lines.push(`Total Time Saved (min),${data.user.totalTimeSaved.toFixed(1)}`);
|
|
279
|
-
lines.push(`Estimated Value (USD),${data.user.estimatedValueUsd.toFixed(2)}`);
|
|
280
|
-
lines.push('');
|
|
281
|
-
lines.push('Top Skills');
|
|
282
|
-
lines.push('Skill ID,Skill Name,Time Saved (min)');
|
|
283
|
-
for (const skill of data.user.topSkills) {
|
|
284
|
-
lines.push(`${skill.skillId},${skill.skillName},${skill.timeSaved.toFixed(1)}`);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
if (data.stakeholder) {
|
|
288
|
-
lines.push('Stakeholder ROI Dashboard');
|
|
289
|
-
lines.push('');
|
|
290
|
-
lines.push('Metric,Value');
|
|
291
|
-
lines.push(`Total Users,${data.stakeholder.totalUsers}`);
|
|
292
|
-
lines.push(`Total Activations,${data.stakeholder.totalActivations}`);
|
|
293
|
-
lines.push(`Avg Time Saved Per User (min),${data.stakeholder.avgTimeSavedPerUser.toFixed(1)}`);
|
|
294
|
-
lines.push(`Total Estimated Value (USD),${data.stakeholder.totalEstimatedValue.toFixed(2)}`);
|
|
295
|
-
lines.push(`Adoption Rate (%),${(data.stakeholder.adoptionRate * 100).toFixed(1)}`);
|
|
296
|
-
lines.push('');
|
|
297
|
-
lines.push('Skill Leaderboard');
|
|
298
|
-
lines.push('Skill ID,Skill Name,User Count,Total Value (USD)');
|
|
299
|
-
for (const skill of data.stakeholder.skillLeaderboard) {
|
|
300
|
-
lines.push(`${skill.skillId},${skill.skillName},${skill.userCount},${skill.totalValue.toFixed(2)}`);
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
return lines.join('\n');
|
|
304
|
-
}
|
|
305
376
|
}
|
|
306
377
|
//# sourceMappingURL=ROIDashboardService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ROIDashboardService.js","sourceRoot":"","sources":["../../../src/analytics/ROIDashboardService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ROIDashboardService.js","sourceRoot":"","sources":["../../../src/analytics/ROIDashboardService.ts"],"names":[],"mappings":"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"}
|
package/dist/src/api/client.d.ts
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skillsmith API Client
|
|
3
|
-
* @module api/client
|
|
4
|
-
*
|
|
5
|
-
* SMI-1244: API client for Supabase endpoints. SMI-1258: Zod response validation.
|
|
6
|
-
* SMI-4119: `recordEvent` batches via EventBatcher (see client.events.ts).
|
|
7
|
-
*/
|
|
8
1
|
import type { Skill, SearchOptions } from '../types/skill.js';
|
|
9
2
|
import { type ApiResponse, type ApiSearchResult, type ApiClientConfig, type RecommendationRequest, type TelemetryEvent } from './client.types.js';
|
|
10
3
|
export { ApiClientError, type ApiResponse, type ApiErrorResponse, type ApiSearchResult, type ApiClientConfig, type RecommendationRequest, type TelemetryEvent, } from './client.types.js';
|
|
@@ -14,13 +7,11 @@ export type { CallCacheOptions } from './client.cache.js';
|
|
|
14
7
|
export { generateAnonymousId } from './utils.js';
|
|
15
8
|
export { checkApiHealth } from './client.health.js';
|
|
16
9
|
export { ApiSearchResultSchema, SearchResponseSchema, SingleSkillResponseSchema, TelemetryResponseSchema, TrustTierSchema, } from './schemas.js';
|
|
17
|
-
/**
|
|
18
|
-
* Skillsmith API Client. See module docstring for SMI refs.
|
|
19
|
-
*/
|
|
20
10
|
export declare class SkillsmithApiClient {
|
|
21
11
|
private baseUrl;
|
|
22
12
|
private anonKey;
|
|
23
13
|
private apiKey;
|
|
14
|
+
private jwtToken;
|
|
24
15
|
private timeout;
|
|
25
16
|
private maxRetries;
|
|
26
17
|
private debug;
|
|
@@ -32,60 +23,18 @@ export declare class SkillsmithApiClient {
|
|
|
32
23
|
constructor(config?: ApiClientConfig);
|
|
33
24
|
/** SMI-4120: Expose the response cache (null when disabled). */
|
|
34
25
|
getResponseCache(): ApiCache | null;
|
|
35
|
-
/**
|
|
36
|
-
* Check if client is running in offline mode
|
|
37
|
-
*/
|
|
38
26
|
isOffline(): boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Check if a personal API key is configured
|
|
41
|
-
* SMI-1953: Allows users to verify their API key is being used
|
|
42
|
-
*
|
|
43
|
-
* @returns True if SKILLSMITH_API_KEY env var or config.apiKey is set
|
|
44
|
-
*/
|
|
45
27
|
hasPersonalApiKey(): boolean;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
*
|
|
50
|
-
* @returns 'personal' if API key configured, 'anonymous' if using anon key, 'none' if no auth
|
|
51
|
-
*/
|
|
52
|
-
getAuthMode(): 'personal' | 'anonymous' | 'none';
|
|
53
|
-
/**
|
|
54
|
-
* Log debug message
|
|
55
|
-
*/
|
|
28
|
+
getAuthMode(): 'jwt' | 'personal' | 'anonymous' | 'none';
|
|
29
|
+
/** SMI-4402: Update the JWT token (e.g. after a refresh). */
|
|
30
|
+
setJwtToken(token: string): void;
|
|
56
31
|
private log;
|
|
57
|
-
/**
|
|
58
|
-
* Make API request with retry logic and optional schema validation
|
|
59
|
-
* SMI-1258: Added runtime validation for API responses
|
|
60
|
-
*/
|
|
61
32
|
private request;
|
|
62
|
-
/**
|
|
63
|
-
* Search for skills
|
|
64
|
-
* SMI-1258: Validates response against SearchResponseSchema
|
|
65
|
-
* SMI-4120: Client LRU cache; opt-out via `{ cache: 'no-store' }`.
|
|
66
|
-
*/
|
|
67
33
|
search(options: SearchOptions, callOptions?: CallCacheOptions): Promise<ApiResponse<ApiSearchResult[]>>;
|
|
68
|
-
/**
|
|
69
|
-
* Get skill by ID
|
|
70
|
-
* SMI-1258: Validates response against SingleSkillResponseSchema
|
|
71
|
-
* SMI-3672: Added includeContent option to fetch SKILL.md content
|
|
72
|
-
* SMI-4120: Client LRU cache; opt-out via `{ cache: 'no-store' }`.
|
|
73
|
-
*/
|
|
74
34
|
getSkill(id: string, options?: {
|
|
75
35
|
includeContent?: boolean;
|
|
76
36
|
} & CallCacheOptions): Promise<ApiResponse<ApiSearchResult>>;
|
|
77
|
-
/**
|
|
78
|
-
* Get skill recommendations based on tech stack
|
|
79
|
-
* SMI-1258: Validates response against SearchResponseSchema
|
|
80
|
-
* SMI-4120: Client LRU cache; opt-out via `{ cache: 'no-store' }`.
|
|
81
|
-
*/
|
|
82
37
|
getRecommendations(request: RecommendationRequest, callOptions?: CallCacheOptions): Promise<ApiResponse<ApiSearchResult[]>>;
|
|
83
|
-
/**
|
|
84
|
-
* Record telemetry event
|
|
85
|
-
* SMI-4119: Enqueue to in-memory batcher instead of POSTing immediately.
|
|
86
|
-
* Returns `{ ok: true }` synchronously — batcher handles failures silently,
|
|
87
|
-
* matching the prior "fail silently" contract for telemetry.
|
|
88
|
-
*/
|
|
89
38
|
recordEvent(event: TelemetryEvent): Promise<{
|
|
90
39
|
ok: boolean;
|
|
91
40
|
}>;
|
|
@@ -94,24 +43,13 @@ export declare class SkillsmithApiClient {
|
|
|
94
43
|
/** SMI-4119: Dispose batcher (detach exit listeners, clear timers). */
|
|
95
44
|
disposeEventBatcher(): void;
|
|
96
45
|
private getOrCreateBatcher;
|
|
97
|
-
/**
|
|
98
|
-
* Check API health status
|
|
99
|
-
*/
|
|
100
46
|
checkHealth(): Promise<{
|
|
101
47
|
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
102
48
|
timestamp: string;
|
|
103
49
|
version: string;
|
|
104
50
|
}>;
|
|
105
|
-
/**
|
|
106
|
-
* Convert API result to Skill type
|
|
107
|
-
* SMI-1577: Handle optional fields with sensible defaults
|
|
108
|
-
* SMI-825: Added security scan fields
|
|
109
|
-
*/
|
|
110
51
|
static toSkill(result: ApiSearchResult): Skill;
|
|
111
52
|
}
|
|
112
|
-
/**
|
|
113
|
-
* Create a default API client instance
|
|
114
|
-
*/
|
|
115
53
|
export declare function createApiClient(config?: ApiClientConfig): SkillsmithApiClient;
|
|
116
54
|
export default SkillsmithApiClient;
|
|
117
55
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE7D,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAA;AAa1B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAyC,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGhG,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,eAAe,GAChB,MAAM,cAAc,CAAA;AAMrB,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,iEAAiE;IACjE,OAAO,CAAC,YAAY,CAA4B;IAChD,qDAAqD;IACrD,OAAO,CAAC,aAAa,CAAwB;gBAEjC,MAAM,GAAE,eAAoB;IAsBxC,gEAAgE;IAChE,gBAAgB,IAAI,QAAQ,GAAG,IAAI;IAInC,SAAS,IAAI,OAAO;IAKpB,iBAAiB,IAAI,OAAO;IAK5B,WAAW,IAAI,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM;IAOxD,6DAA6D;IAC7D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC,OAAO,CAAC,GAAG;YAOG,OAAO;IA6Jf,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,WAAW,CAAC,EAAE,gBAAgB,GAC7B,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;IAsBpC,QAAQ,CACZ,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,gBAAgB,GACxD,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAclC,kBAAkB,CACtB,OAAO,EAAE,qBAAqB,EAC9B,WAAW,CAAC,EAAE,gBAAgB,GAC7B,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;IAwBpC,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAMlE,mEAAmE;IAC7D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,uEAAuE;IACvE,mBAAmB,IAAI,IAAI;IAO3B,OAAO,CAAC,kBAAkB;IAYpB,WAAW,IAAI,OAAO,CAAC;QAC3B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAA;QAC5C,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC;IAKF,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,KAAK;CAsB/C;AAMD,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,mBAAmB,CAE7E;AAED,eAAe,mBAAmB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.events.d.ts","sourceRoot":"","sources":["../../../src/api/client.events.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAE1E;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,gBAAgB,GAC1B,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAmC7C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,gBAAgB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"client.events.d.ts","sourceRoot":"","sources":["../../../src/api/client.events.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAE1E;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,gBAAgB,GAC1B,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAmC7C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,gBAAgB,GAAG,YAAY,CAWjF"}
|
|
@@ -60,7 +60,16 @@ export function createBatchFlushFn(ctx) {
|
|
|
60
60
|
* config changes (e.g. API key rotation) are honored.
|
|
61
61
|
*/
|
|
62
62
|
export function buildClientEventBatcher(ctx) {
|
|
63
|
-
|
|
63
|
+
// SMI-4244: suppress process-exit handlers during vitest runs. Each EventBatcher
|
|
64
|
+
// attaches 3 listeners (beforeExit, SIGINT, SIGTERM). With ~24 test files
|
|
65
|
+
// instantiating SkillsmithApiClient, we blow Node's default 10-listener
|
|
66
|
+
// ceiling and emit MaxListenersExceededWarning, which racily coincides with
|
|
67
|
+
// SIGTERM under CI runner orchestration. VITEST is injected directly by the
|
|
68
|
+
// vitest runner and is authoritative — NODE_ENV=test leaks from docker-compose.
|
|
69
|
+
const isTest = process.env.VITEST === 'true';
|
|
70
|
+
return createEventBatcher(createBatchFlushFn(ctx), {
|
|
71
|
+
registerExitHandlers: !isTest,
|
|
72
|
+
});
|
|
64
73
|
}
|
|
65
74
|
/**
|
|
66
75
|
* Generate a short, URL-safe correlation ID for a batch POST.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.events.js","sourceRoot":"","sources":["../../../src/api/client.events.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAA;AAc1E;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAA2B;IAE3B,OAAO,KAAK,EAAE,MAAwB,EAAiB,EAAE;QACvD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC/B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;QAEnD,oEAAoE;QACpE,uEAAuE;QACvE,0DAA0D;QAC1D,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;QAEjC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;QAC3D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,SAAS,EAAE;gBAC3C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,GAAG,mBAAmB,CAAC,OAAO,CAAC;oBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,sBAAsB,EAAE,MAAM;oBAC9B,uBAAuB,EAAE,OAAO;iBACjC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;gBAChC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,0DAA0D;gBAC1D,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;YAC5D,CAAC;YACD,uDAAuD;YACvD,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAA2B;IACjE,OAAO,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"client.events.js","sourceRoot":"","sources":["../../../src/api/client.events.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAA;AAc1E;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAA2B;IAE3B,OAAO,KAAK,EAAE,MAAwB,EAAiB,EAAE;QACvD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC/B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;QAEnD,oEAAoE;QACpE,uEAAuE;QACvE,0DAA0D;QAC1D,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;QAEjC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;QAC3D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,SAAS,EAAE;gBAC3C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,GAAG,mBAAmB,CAAC,OAAO,CAAC;oBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,sBAAsB,EAAE,MAAM;oBAC9B,uBAAuB,EAAE,OAAO;iBACjC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;gBAChC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,0DAA0D;gBAC1D,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;YAC5D,CAAC;YACD,uDAAuD;YACvD,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAA2B;IACjE,iFAAiF;IACjF,0EAA0E;IAC1E,wEAAwE;IACxE,4EAA4E;IAC5E,4EAA4E;IAC5E,gFAAgF;IAChF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAA;IAC5C,OAAO,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE;QACjD,oBAAoB,EAAE,CAAC,MAAM;KAC9B,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe;IACtB,MAAM,CAAC,GAAG,UAAwD,CAAA;IAClE,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC1D,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;IAC9B,CAAC;IACD,OAAO,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;AAClF,CAAC"}
|