@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-credentials.js","sourceRoot":"","sources":["../../../src/config/token-credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* token-credentials tests (SMI-4402)
|
|
3
|
+
* TC-1: storeCredentials → writes version:2 schema to config file
|
|
4
|
+
* TC-2: loadCredentials → returns null when no v2 creds stored
|
|
5
|
+
* TC-3: loadCredentials → returns TokenCredentials with keyring token
|
|
6
|
+
* TC-4: refreshAccessToken → exchanges refresh token, returns new creds
|
|
7
|
+
* TC-5: refreshAccessToken → returns null on non-2xx response
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=token-credentials.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-credentials.test.d.ts","sourceRoot":"","sources":["../../../src/config/token-credentials.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* token-credentials tests (SMI-4402)
|
|
3
|
+
* TC-1: storeCredentials → writes version:2 schema to config file
|
|
4
|
+
* TC-2: loadCredentials → returns null when no v2 creds stored
|
|
5
|
+
* TC-3: loadCredentials → returns TokenCredentials with keyring token
|
|
6
|
+
* TC-4: refreshAccessToken → exchanges refresh token, returns new creds
|
|
7
|
+
* TC-5: refreshAccessToken → returns null on non-2xx response
|
|
8
|
+
*/
|
|
9
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
10
|
+
import { existsSync, readFileSync, writeFileSync } from 'fs';
|
|
11
|
+
vi.mock('fs', () => ({
|
|
12
|
+
existsSync: vi.fn(),
|
|
13
|
+
readFileSync: vi.fn(),
|
|
14
|
+
writeFileSync: vi.fn(),
|
|
15
|
+
chmodSync: vi.fn(),
|
|
16
|
+
mkdirSync: vi.fn(),
|
|
17
|
+
}));
|
|
18
|
+
vi.mock('os', () => ({ homedir: vi.fn(() => '/mock-home') }));
|
|
19
|
+
vi.mock('./index.js', () => ({ ensureConfigDir: vi.fn() }));
|
|
20
|
+
vi.mock('../api/utils.js', () => ({
|
|
21
|
+
PRODUCTION_ANON_KEY: 'test-anon-key',
|
|
22
|
+
}));
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
+
const keytarDefault = {
|
|
25
|
+
setPassword: vi.fn(),
|
|
26
|
+
getPassword: vi.fn(),
|
|
27
|
+
};
|
|
28
|
+
vi.mock('@isaacs/keytar', () => ({ default: keytarDefault }));
|
|
29
|
+
const fetchMock = vi.fn();
|
|
30
|
+
vi.stubGlobal('fetch', fetchMock);
|
|
31
|
+
describe('token-credentials', () => {
|
|
32
|
+
beforeEach(() => {
|
|
33
|
+
vi.clearAllMocks();
|
|
34
|
+
fetchMock.mockReset();
|
|
35
|
+
vi.mocked(existsSync).mockReturnValue(false);
|
|
36
|
+
vi.mocked(readFileSync).mockReturnValue('{}');
|
|
37
|
+
keytarDefault.setPassword.mockResolvedValue(undefined);
|
|
38
|
+
keytarDefault.getPassword.mockResolvedValue(null);
|
|
39
|
+
});
|
|
40
|
+
it('TC-1: storeCredentials writes version:2 schema to config file', async () => {
|
|
41
|
+
const { storeCredentials } = await import('./token-credentials.js');
|
|
42
|
+
await storeCredentials({
|
|
43
|
+
accessToken: 'at_test',
|
|
44
|
+
refreshToken: 'rt_test',
|
|
45
|
+
expiresAt: 9999999999000,
|
|
46
|
+
version: 2,
|
|
47
|
+
});
|
|
48
|
+
const writeCall = vi.mocked(writeFileSync).mock.calls[0];
|
|
49
|
+
expect(writeCall).toBeDefined();
|
|
50
|
+
const written = JSON.parse(writeCall[1]);
|
|
51
|
+
expect(written.version).toBe(2);
|
|
52
|
+
expect(written.accessToken).toBe('at_test');
|
|
53
|
+
expect(written.expiresAt).toBe(9999999999000);
|
|
54
|
+
expect(keytarDefault.setPassword).toHaveBeenCalledWith('skillsmith-cli', 'refresh-token', 'rt_test');
|
|
55
|
+
});
|
|
56
|
+
it('TC-2: loadCredentials returns null when no v2 creds exist', async () => {
|
|
57
|
+
vi.mocked(existsSync).mockReturnValue(true);
|
|
58
|
+
vi.mocked(readFileSync).mockReturnValue(JSON.stringify({ apiKey: 'sk_live_legacy' }));
|
|
59
|
+
const { loadCredentials } = await import('./token-credentials.js');
|
|
60
|
+
const result = await loadCredentials();
|
|
61
|
+
expect(result).toBeNull();
|
|
62
|
+
});
|
|
63
|
+
it('TC-3: loadCredentials returns TokenCredentials with keyring refresh token', async () => {
|
|
64
|
+
vi.mocked(existsSync).mockReturnValue(true);
|
|
65
|
+
vi.mocked(readFileSync).mockReturnValue(JSON.stringify({ accessToken: 'at_stored', expiresAt: 9999999999000, version: 2 }));
|
|
66
|
+
keytarDefault.getPassword.mockResolvedValue('rt_from_keyring');
|
|
67
|
+
const { loadCredentials } = await import('./token-credentials.js');
|
|
68
|
+
const result = await loadCredentials();
|
|
69
|
+
expect(result).not.toBeNull();
|
|
70
|
+
expect(result?.accessToken).toBe('at_stored');
|
|
71
|
+
expect(result?.refreshToken).toBe('rt_from_keyring');
|
|
72
|
+
expect(result?.version).toBe(2);
|
|
73
|
+
});
|
|
74
|
+
it('TC-4: refreshAccessToken exchanges refresh token for new creds', async () => {
|
|
75
|
+
fetchMock.mockResolvedValue(new Response(JSON.stringify({ access_token: 'new_at', refresh_token: 'new_rt', expires_in: 3600 }), { status: 200, headers: { 'Content-Type': 'application/json' } }));
|
|
76
|
+
const { refreshAccessToken } = await import('./token-credentials.js');
|
|
77
|
+
const result = await refreshAccessToken('old_rt');
|
|
78
|
+
expect(result).not.toBeNull();
|
|
79
|
+
expect(result?.accessToken).toBe('new_at');
|
|
80
|
+
expect(result?.refreshToken).toBe('new_rt');
|
|
81
|
+
expect(result?.version).toBe(2);
|
|
82
|
+
expect(fetchMock).toHaveBeenCalledWith(expect.stringContaining('/auth/v1/token?grant_type=refresh_token'), expect.objectContaining({ method: 'POST' }));
|
|
83
|
+
});
|
|
84
|
+
it('TC-5: refreshAccessToken returns null on non-2xx response', async () => {
|
|
85
|
+
fetchMock.mockResolvedValue(new Response(JSON.stringify({ error: 'invalid_grant' }), { status: 400 }));
|
|
86
|
+
const { refreshAccessToken } = await import('./token-credentials.js');
|
|
87
|
+
const result = await refreshAccessToken('expired_rt');
|
|
88
|
+
expect(result).toBeNull();
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=token-credentials.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-credentials.test.js","sourceRoot":"","sources":["../../../src/config/token-credentials.test.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @skillsmith/core - Core functionality for skill discovery
|
|
3
3
|
*/
|
|
4
|
-
export declare const VERSION = "0.5.
|
|
4
|
+
export declare const VERSION = "0.5.5";
|
|
5
5
|
export * from './exports/services.js';
|
|
6
6
|
export * from './exports/repositories.js';
|
|
7
7
|
export { createDatabaseSync, createDatabaseAsync } from './db/createDatabase.js';
|
|
8
8
|
export type { Database } from './db/database-interface.js';
|
|
9
9
|
export * from './exports/types.js';
|
|
10
|
-
export { SkillsmithApiClient, createApiClient, generateAnonymousId, ApiCache, createCache, getGlobalCache, DEFAULT_TTL, type ApiClientConfig, } from './api/index.js';
|
|
10
|
+
export { SkillsmithApiClient, ApiClientError, createApiClient, generateAnonymousId, ApiCache, createCache, getGlobalCache, DEFAULT_TTL, type ApiClientConfig, } from './api/index.js';
|
|
11
11
|
export { HybridSearch } from './search/index.js';
|
|
12
12
|
export { L1Cache, L2Cache, TieredCache } from './cache/index.js';
|
|
13
13
|
export { SecurityScanner } from './security/index.js';
|
|
@@ -21,9 +21,12 @@ export { RateLimiter, InMemoryRateLimitStorage, createRateLimiterFromPreset, RAT
|
|
|
21
21
|
export { AuditLogger, MIN_RETENTION_DAYS, MAX_RETENTION_DAYS } from './security/AuditLogger.js';
|
|
22
22
|
export { emitInstallEvent } from './audit/remote-audit.js';
|
|
23
23
|
export type { InstallEventPayload } from './audit/remote-audit.js';
|
|
24
|
-
export { BaseSourceAdapter, SourceAdapterRegistry, SourceIndexer, defaultRegistry, isSourceAdapter, } from './sources/index.js';
|
|
25
|
-
export type {
|
|
24
|
+
export { BaseSourceAdapter, SourceAdapterRegistry, SourceIndexer, defaultRegistry, isSourceAdapter, LocalFilesystemAdapter, createLocalFilesystemAdapter, } from './sources/index.js';
|
|
25
|
+
export type { LocalFilesystemConfig } from './sources/index.js';
|
|
26
|
+
export type { ISourceAdapter, SourceType, SourceConfig, RateLimitConfig as SourceRateLimitConfig, SourceAuthConfig, SourceLocation, SourceRepository, SkillContent, SourceSearchOptions, SourceSearchResult, SkillIndexResult, BatchIndexResult, SourceHealth, AdapterError, SourceAdapterFactory, RegistryStats, ParsedSkillMetadata as SourceParsedSkillMetadata, ISkillParser, ISkillRepository, SourceIndexerOptions, } from './sources/index.js';
|
|
26
27
|
export { loadConfig, saveConfig, getApiKey, getApiBaseUrl, getConfigDir, getConfigPath, ensureConfigDir, isDebugEnabled, isTelemetryEnabled, isValidApiKeyFormat, storeApiKey, clearApiKey, getAuthStatus, type SkillsmithConfig, } from './config/index.js';
|
|
28
|
+
export { storeCredentials, loadCredentials, refreshAccessToken, type TokenCredentials, } from './config/token-credentials.js';
|
|
29
|
+
export { tryRefreshToken, loadStoredAccessToken } from './api/client.token-refresh.js';
|
|
27
30
|
export { checkForUpdates, formatUpdateNotification, type VersionCheckResult, } from './utils/version-check.js';
|
|
28
31
|
export { parseRepoUrl, isGitHubUrl, type ParsedRepoUrl } from './utils/github-url.js';
|
|
29
32
|
export { safeWriteFile, SymlinkError, HardlinkError } from './utils/safe-fs.js';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,OAAO,UAAU,CAAA;AAO9B,cAAc,uBAAuB,CAAA;AAGrC,cAAc,2BAA2B,CAAA;AAMzC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAChF,YAAY,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAG1D,cAAc,oBAAoB,CAAA;AAOlC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,WAAW,EACX,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,eAAe,IAAI,iBAAiB,EACpC,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,aAAa,EAEb,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,MAAM,EACN,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EAEf,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EAEvB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,cAAc,GACf,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EAEnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAG/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAGlE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @skillsmith/core - Core functionality for skill discovery
|
|
3
3
|
*/
|
|
4
4
|
// Version
|
|
5
|
-
export const VERSION = '0.5.
|
|
5
|
+
export const VERSION = '0.5.5';
|
|
6
6
|
// ============================================================================
|
|
7
7
|
// Grouped Exports from Barrel Files
|
|
8
8
|
// ============================================================================
|
|
@@ -21,7 +21,7 @@ export * from './exports/types.js';
|
|
|
21
21
|
// Direct Exports (modules that don't fit cleanly into grouped barrels)
|
|
22
22
|
// ============================================================================
|
|
23
23
|
// API Client (SMI-1244, SMI-1245, SMI-1300)
|
|
24
|
-
export { SkillsmithApiClient, createApiClient, generateAnonymousId, ApiCache, createCache, getGlobalCache, DEFAULT_TTL, } from './api/index.js';
|
|
24
|
+
export { SkillsmithApiClient, ApiClientError, createApiClient, generateAnonymousId, ApiCache, createCache, getGlobalCache, DEFAULT_TTL, } from './api/index.js';
|
|
25
25
|
// Search
|
|
26
26
|
export { HybridSearch } from './search/index.js';
|
|
27
27
|
// Cache
|
|
@@ -55,9 +55,12 @@ export { AuditLogger, MIN_RETENTION_DAYS, MAX_RETENTION_DAYS } from './security/
|
|
|
55
55
|
// Remote telemetry for install events (SMI-4182)
|
|
56
56
|
export { emitInstallEvent } from './audit/remote-audit.js';
|
|
57
57
|
// Source Adapters (SMI-589)
|
|
58
|
-
export { BaseSourceAdapter, SourceAdapterRegistry, SourceIndexer, defaultRegistry, isSourceAdapter, } from './sources/index.js';
|
|
58
|
+
export { BaseSourceAdapter, SourceAdapterRegistry, SourceIndexer, defaultRegistry, isSourceAdapter, LocalFilesystemAdapter, createLocalFilesystemAdapter, } from './sources/index.js';
|
|
59
59
|
// Configuration (SMI-1851, SMI-2714)
|
|
60
60
|
export { loadConfig, saveConfig, getApiKey, getApiBaseUrl, getConfigDir, getConfigPath, ensureConfigDir, isDebugEnabled, isTelemetryEnabled, isValidApiKeyFormat, storeApiKey, clearApiKey, getAuthStatus, } from './config/index.js';
|
|
61
|
+
// SMI-4402: JWT token credentials (device-code OAuth flow)
|
|
62
|
+
export { storeCredentials, loadCredentials, refreshAccessToken, } from './config/token-credentials.js';
|
|
63
|
+
export { tryRefreshToken, loadStoredAccessToken } from './api/client.token-refresh.js';
|
|
61
64
|
// Version Check (SMI-1952)
|
|
62
65
|
export { checkForUpdates, formatUpdateNotification, } from './utils/version-check.js';
|
|
63
66
|
// GitHub URL Parsing (SMI-2171)
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-4285: SkillParser coverage gaps — type-validation branches + unicode.
|
|
3
|
+
*
|
|
4
|
+
* Lives in a sidecar (not SkillParser.test.ts) to stay under the 500-line gate.
|
|
5
|
+
* Split rationale: these tests exercise boundary behaviors — YAML-parser bypass
|
|
6
|
+
* (direct validate() calls with typed-wrong objects) and non-ASCII inputs —
|
|
7
|
+
* that are orthogonal to the main suite's functional coverage.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=SkillParser.coverage.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkillParser.coverage.test.d.ts","sourceRoot":"","sources":["../../../src/indexer/SkillParser.coverage.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-4285: SkillParser coverage gaps — type-validation branches + unicode.
|
|
3
|
+
*
|
|
4
|
+
* Lives in a sidecar (not SkillParser.test.ts) to stay under the 500-line gate.
|
|
5
|
+
* Split rationale: these tests exercise boundary behaviors — YAML-parser bypass
|
|
6
|
+
* (direct validate() calls with typed-wrong objects) and non-ASCII inputs —
|
|
7
|
+
* that are orthogonal to the main suite's functional coverage.
|
|
8
|
+
*/
|
|
9
|
+
import { describe, it, expect } from 'vitest';
|
|
10
|
+
import SkillParser from './SkillParser.js';
|
|
11
|
+
function makeSkillMd(frontmatter, body = '# My Skill\n\nDoes things.') {
|
|
12
|
+
return `---\n${frontmatter}\n---\n\n${body}`;
|
|
13
|
+
}
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Unicode coverage — description and tags (name is covered in SkillParser.test.ts)
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
describe('SkillParser.extractFrontmatter — unicode', () => {
|
|
18
|
+
const parser = new SkillParser();
|
|
19
|
+
it('preserves unicode characters in description values', () => {
|
|
20
|
+
const result = parser.extractFrontmatter(makeSkillMd('name: x\ndescription: "これはスキル"'));
|
|
21
|
+
expect(result?.description).toBe('これはスキル');
|
|
22
|
+
});
|
|
23
|
+
it('preserves unicode characters in tag values', () => {
|
|
24
|
+
const result = parser.extractFrontmatter(makeSkillMd('name: x\ntags:\n - 日本語\n - 中文\n - ไทย'));
|
|
25
|
+
expect(result?.tags).toEqual(['日本語', '中文', 'ไทย']);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// validate() type-validation branches
|
|
30
|
+
//
|
|
31
|
+
// These cannot be reached via extractFrontmatter — the YAML parser coerces
|
|
32
|
+
// scalars (e.g. `name: 123` becomes the string "123" via the String(parsed.name)
|
|
33
|
+
// call at SkillParser.ts:264-266). Call validate() directly with a typed-wrong
|
|
34
|
+
// object to exercise the `typeof !== 'string'` branches at SkillParser.ts:291-309.
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
describe('SkillParser.validate — type-validation branches', () => {
|
|
37
|
+
const parser = new SkillParser();
|
|
38
|
+
it('errors when name is not a string', () => {
|
|
39
|
+
const result = parser.validate({ name: 123 });
|
|
40
|
+
expect(result.valid).toBe(false);
|
|
41
|
+
expect(result.errors).toContain('Field "name" must be a string');
|
|
42
|
+
});
|
|
43
|
+
it('errors when description is not a string', () => {
|
|
44
|
+
const result = parser.validate({
|
|
45
|
+
name: 'x',
|
|
46
|
+
description: 123,
|
|
47
|
+
});
|
|
48
|
+
expect(result.valid).toBe(false);
|
|
49
|
+
expect(result.errors).toContain('Field "description" must be a string');
|
|
50
|
+
});
|
|
51
|
+
it('errors when author is not a string', () => {
|
|
52
|
+
const result = parser.validate({
|
|
53
|
+
name: 'x',
|
|
54
|
+
author: true,
|
|
55
|
+
});
|
|
56
|
+
expect(result.valid).toBe(false);
|
|
57
|
+
expect(result.errors).toContain('Field "author" must be a string');
|
|
58
|
+
});
|
|
59
|
+
it('errors when version is not a string', () => {
|
|
60
|
+
const result = parser.validate({
|
|
61
|
+
name: 'x',
|
|
62
|
+
version: ['1', '0', '0'],
|
|
63
|
+
});
|
|
64
|
+
expect(result.valid).toBe(false);
|
|
65
|
+
expect(result.errors).toContain('Field "version" must be a string');
|
|
66
|
+
});
|
|
67
|
+
it('errors when tags is not an array', () => {
|
|
68
|
+
const result = parser.validate({
|
|
69
|
+
name: 'x',
|
|
70
|
+
tags: 'typescript,testing',
|
|
71
|
+
});
|
|
72
|
+
expect(result.valid).toBe(false);
|
|
73
|
+
expect(result.errors).toContain('Field "tags" must be an array');
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=SkillParser.coverage.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkillParser.coverage.test.js","sourceRoot":"","sources":["../../../src/indexer/SkillParser.coverage.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkillParser.test.d.ts","sourceRoot":"","sources":["../../../src/indexer/SkillParser.test.ts"],"names":[],"mappings":""}
|