@skillsmith/mcp-server 0.4.13 → 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 +32 -4
- package/README.md +89 -13
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/__tests__/compare.test.js +5 -5
- package/dist/src/__tests__/compare.test.js.map +1 -1
- package/dist/src/__tests__/context-listeners.test.d.ts +12 -0
- package/dist/src/__tests__/context-listeners.test.d.ts.map +1 -0
- package/dist/src/__tests__/context-listeners.test.js +87 -0
- package/dist/src/__tests__/context-listeners.test.js.map +1 -0
- package/dist/src/__tests__/context.test.js +84 -82
- package/dist/src/__tests__/context.test.js.map +1 -1
- package/dist/src/__tests__/get-skill.api-path.test.js +21 -14
- package/dist/src/__tests__/get-skill.api-path.test.js.map +1 -1
- package/dist/src/__tests__/get-skill.test.js +5 -5
- package/dist/src/__tests__/get-skill.test.js.map +1 -1
- package/dist/src/__tests__/index-local.test.js +5 -5
- package/dist/src/__tests__/index-local.test.js.map +1 -1
- package/dist/src/__tests__/recommend-online-path.test.js +5 -5
- package/dist/src/__tests__/recommend-online-path.test.js.map +1 -1
- package/dist/src/__tests__/recommend.test.js +9 -9
- package/dist/src/__tests__/recommend.test.js.map +1 -1
- package/dist/src/__tests__/search-compatible-with.test.d.ts +10 -0
- package/dist/src/__tests__/search-compatible-with.test.d.ts.map +1 -0
- package/dist/src/__tests__/search-compatible-with.test.js +96 -0
- package/dist/src/__tests__/search-compatible-with.test.js.map +1 -0
- package/dist/src/__tests__/search-online-path.test.js +5 -5
- package/dist/src/__tests__/search-online-path.test.js.map +1 -1
- package/dist/src/__tests__/search.test.js +16 -101
- package/dist/src/__tests__/search.test.js.map +1 -1
- package/dist/src/__tests__/test-utils.d.ts +18 -3
- package/dist/src/__tests__/test-utils.d.ts.map +1 -1
- package/dist/src/__tests__/test-utils.js +24 -7
- package/dist/src/__tests__/test-utils.js.map +1 -1
- package/dist/src/audit/audit-history.d.ts +77 -0
- package/dist/src/audit/audit-history.d.ts.map +1 -0
- package/dist/src/audit/audit-history.js +98 -0
- package/dist/src/audit/audit-history.js.map +1 -0
- package/dist/src/audit/audit-report-writer.d.ts +82 -0
- package/dist/src/audit/audit-report-writer.d.ts.map +1 -0
- package/dist/src/audit/audit-report-writer.js +241 -0
- package/dist/src/audit/audit-report-writer.js.map +1 -0
- package/dist/src/audit/audit-suggestions.d.ts +52 -0
- package/dist/src/audit/audit-suggestions.d.ts.map +1 -0
- package/dist/src/audit/audit-suggestions.js +90 -0
- package/dist/src/audit/audit-suggestions.js.map +1 -0
- package/dist/src/audit/bootstrap-unmanaged.d.ts +66 -0
- package/dist/src/audit/bootstrap-unmanaged.d.ts.map +1 -0
- package/dist/src/audit/bootstrap-unmanaged.js +91 -0
- package/dist/src/audit/bootstrap-unmanaged.js.map +1 -0
- package/dist/src/audit/collision-detector.d.ts +72 -0
- package/dist/src/audit/collision-detector.d.ts.map +1 -0
- package/dist/src/audit/collision-detector.helpers.d.ts +63 -0
- package/dist/src/audit/collision-detector.helpers.d.ts.map +1 -0
- package/dist/src/audit/collision-detector.helpers.js +141 -0
- package/dist/src/audit/collision-detector.helpers.js.map +1 -0
- package/dist/src/audit/collision-detector.js +172 -0
- package/dist/src/audit/collision-detector.js.map +1 -0
- package/dist/src/audit/collision-detector.semantic.helpers.d.ts +49 -0
- package/dist/src/audit/collision-detector.semantic.helpers.d.ts.map +1 -0
- package/dist/src/audit/collision-detector.semantic.helpers.js +121 -0
- package/dist/src/audit/collision-detector.semantic.helpers.js.map +1 -0
- package/dist/src/audit/collision-detector.types.d.ts +70 -0
- package/dist/src/audit/collision-detector.types.d.ts.map +1 -0
- package/dist/src/audit/collision-detector.types.js +9 -0
- package/dist/src/audit/collision-detector.types.js.map +1 -0
- package/dist/src/audit/edit-applier.d.ts +64 -0
- package/dist/src/audit/edit-applier.d.ts.map +1 -0
- package/dist/src/audit/edit-applier.js +233 -0
- package/dist/src/audit/edit-applier.js.map +1 -0
- package/dist/src/audit/edit-applier.types.d.ts +72 -0
- package/dist/src/audit/edit-applier.types.d.ts.map +1 -0
- package/dist/src/audit/edit-applier.types.js +13 -0
- package/dist/src/audit/edit-applier.types.js.map +1 -0
- package/dist/src/audit/edit-suggester.d.ts +63 -0
- package/dist/src/audit/edit-suggester.d.ts.map +1 -0
- package/dist/src/audit/edit-suggester.js +326 -0
- package/dist/src/audit/edit-suggester.js.map +1 -0
- package/dist/src/audit/edit-suggester.types.d.ts +148 -0
- package/dist/src/audit/edit-suggester.types.d.ts.map +1 -0
- package/dist/src/audit/edit-suggester.types.js +17 -0
- package/dist/src/audit/edit-suggester.types.js.map +1 -0
- package/dist/src/audit/framework-adapter.d.ts +54 -0
- package/dist/src/audit/framework-adapter.d.ts.map +1 -0
- package/dist/src/audit/framework-adapter.js +251 -0
- package/dist/src/audit/framework-adapter.js.map +1 -0
- package/dist/src/audit/framework-adapter.types.d.ts +162 -0
- package/dist/src/audit/framework-adapter.types.d.ts.map +1 -0
- package/dist/src/audit/framework-adapter.types.js +31 -0
- package/dist/src/audit/framework-adapter.types.js.map +1 -0
- package/dist/src/audit/index.d.ts +46 -0
- package/dist/src/audit/index.d.ts.map +1 -0
- package/dist/src/audit/index.js +44 -0
- package/dist/src/audit/index.js.map +1 -0
- package/dist/src/audit/install-preflight.d.ts +99 -0
- package/dist/src/audit/install-preflight.d.ts.map +1 -0
- package/dist/src/audit/install-preflight.js +320 -0
- package/dist/src/audit/install-preflight.js.map +1 -0
- package/dist/src/audit/namespace-audit.types.d.ts +100 -0
- package/dist/src/audit/namespace-audit.types.d.ts.map +1 -0
- package/dist/src/audit/namespace-audit.types.js +20 -0
- package/dist/src/audit/namespace-audit.types.js.map +1 -0
- package/dist/src/audit/namespace-overrides.d.ts +79 -0
- package/dist/src/audit/namespace-overrides.d.ts.map +1 -0
- package/dist/src/audit/namespace-overrides.js +228 -0
- package/dist/src/audit/namespace-overrides.js.map +1 -0
- package/dist/src/audit/namespace-overrides.types.d.ts +115 -0
- package/dist/src/audit/namespace-overrides.types.d.ts.map +1 -0
- package/dist/src/audit/namespace-overrides.types.js +26 -0
- package/dist/src/audit/namespace-overrides.types.js.map +1 -0
- package/dist/src/audit/rename-engine.apply-paths.d.ts +54 -0
- package/dist/src/audit/rename-engine.apply-paths.d.ts.map +1 -0
- package/dist/src/audit/rename-engine.apply-paths.js +126 -0
- package/dist/src/audit/rename-engine.apply-paths.js.map +1 -0
- package/dist/src/audit/rename-engine.d.ts +59 -0
- package/dist/src/audit/rename-engine.d.ts.map +1 -0
- package/dist/src/audit/rename-engine.helpers.d.ts +63 -0
- package/dist/src/audit/rename-engine.helpers.d.ts.map +1 -0
- package/dist/src/audit/rename-engine.helpers.js +224 -0
- package/dist/src/audit/rename-engine.helpers.js.map +1 -0
- package/dist/src/audit/rename-engine.js +393 -0
- package/dist/src/audit/rename-engine.js.map +1 -0
- package/dist/src/audit/rename-engine.types.d.ts +157 -0
- package/dist/src/audit/rename-engine.types.d.ts.map +1 -0
- package/dist/src/audit/rename-engine.types.js +15 -0
- package/dist/src/audit/rename-engine.types.js.map +1 -0
- package/dist/src/audit/run-inventory-audit.d.ts +95 -0
- package/dist/src/audit/run-inventory-audit.d.ts.map +1 -0
- package/dist/src/audit/run-inventory-audit.js +245 -0
- package/dist/src/audit/run-inventory-audit.js.map +1 -0
- package/dist/src/audit/suggestion-chain.d.ts +89 -0
- package/dist/src/audit/suggestion-chain.d.ts.map +1 -0
- package/dist/src/audit/suggestion-chain.js +121 -0
- package/dist/src/audit/suggestion-chain.js.map +1 -0
- package/dist/src/audit-tool-dispatch.d.ts +61 -0
- package/dist/src/audit-tool-dispatch.d.ts.map +1 -0
- package/dist/src/audit-tool-dispatch.js +114 -0
- package/dist/src/audit-tool-dispatch.js.map +1 -0
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/indexer/LocalIndexer.d.ts +8 -1
- package/dist/src/indexer/LocalIndexer.d.ts.map +1 -1
- package/dist/src/indexer/LocalIndexer.js +42 -38
- package/dist/src/indexer/LocalIndexer.js.map +1 -1
- package/dist/src/middleware/__tests__/license.gate.test.js +21 -2
- package/dist/src/middleware/__tests__/license.gate.test.js.map +1 -1
- package/dist/src/middleware/license.gate.d.ts +14 -0
- package/dist/src/middleware/license.gate.d.ts.map +1 -1
- package/dist/src/middleware/license.gate.js +52 -1
- package/dist/src/middleware/license.gate.js.map +1 -1
- package/dist/src/onboarding/install-assets.d.ts.map +1 -1
- package/dist/src/onboarding/install-assets.js +11 -5
- package/dist/src/onboarding/install-assets.js.map +1 -1
- package/dist/src/tool-dispatch.d.ts.map +1 -1
- package/dist/src/tool-dispatch.js +6 -4
- package/dist/src/tool-dispatch.js.map +1 -1
- package/dist/src/tools/analytics.service.test.js +6 -4
- package/dist/src/tools/analytics.service.test.js.map +1 -1
- package/dist/src/tools/apply-namespace-rename.d.ts +71 -0
- package/dist/src/tools/apply-namespace-rename.d.ts.map +1 -0
- package/dist/src/tools/apply-namespace-rename.js +137 -0
- package/dist/src/tools/apply-namespace-rename.js.map +1 -0
- package/dist/src/tools/apply-namespace-rename.types.d.ts +46 -0
- package/dist/src/tools/apply-namespace-rename.types.d.ts.map +1 -0
- package/dist/src/tools/apply-namespace-rename.types.js +9 -0
- package/dist/src/tools/apply-namespace-rename.types.js.map +1 -0
- package/dist/src/tools/apply-recommended-edit.d.ts +50 -0
- package/dist/src/tools/apply-recommended-edit.d.ts.map +1 -0
- package/dist/src/tools/apply-recommended-edit.js +112 -0
- package/dist/src/tools/apply-recommended-edit.js.map +1 -0
- package/dist/src/tools/apply-recommended-edit.types.d.ts +49 -0
- package/dist/src/tools/apply-recommended-edit.types.d.ts.map +1 -0
- package/dist/src/tools/apply-recommended-edit.types.js +14 -0
- package/dist/src/tools/apply-recommended-edit.types.js.map +1 -0
- package/dist/src/tools/audit-tools.d.ts +4 -4
- package/dist/src/tools/compliance-tools.service.test.js +6 -4
- package/dist/src/tools/compliance-tools.service.test.js.map +1 -1
- package/dist/src/tools/install.backup-gc.d.ts +61 -0
- package/dist/src/tools/install.backup-gc.d.ts.map +1 -0
- package/dist/src/tools/install.backup-gc.js +166 -0
- package/dist/src/tools/install.backup-gc.js.map +1 -0
- package/dist/src/tools/install.conflict-helpers.d.ts +29 -2
- package/dist/src/tools/install.conflict-helpers.d.ts.map +1 -1
- package/dist/src/tools/install.conflict-helpers.js +37 -4
- package/dist/src/tools/install.conflict-helpers.js.map +1 -1
- package/dist/src/tools/install.d.ts +15 -1
- package/dist/src/tools/install.d.ts.map +1 -1
- package/dist/src/tools/install.js +162 -7
- package/dist/src/tools/install.js.map +1 -1
- package/dist/src/tools/install.ledger-replay.d.ts +52 -0
- package/dist/src/tools/install.ledger-replay.d.ts.map +1 -0
- package/dist/src/tools/install.ledger-replay.js +88 -0
- package/dist/src/tools/install.ledger-replay.js.map +1 -0
- package/dist/src/tools/install.namespace-gate.d.ts +68 -0
- package/dist/src/tools/install.namespace-gate.d.ts.map +1 -0
- package/dist/src/tools/install.namespace-gate.js +129 -0
- package/dist/src/tools/install.namespace-gate.js.map +1 -0
- package/dist/src/tools/install.test.js +71 -1
- package/dist/src/tools/install.test.js.map +1 -1
- package/dist/src/tools/install.tool.d.ts +17 -0
- package/dist/src/tools/install.tool.d.ts.map +1 -1
- package/dist/src/tools/install.tool.js +19 -1
- package/dist/src/tools/install.tool.js.map +1 -1
- package/dist/src/tools/install.types.d.ts +35 -1
- package/dist/src/tools/install.types.d.ts.map +1 -1
- package/dist/src/tools/install.types.js +24 -2
- package/dist/src/tools/install.types.js.map +1 -1
- package/dist/src/tools/namespace-audit/telemetry.d.ts +80 -0
- package/dist/src/tools/namespace-audit/telemetry.d.ts.map +1 -0
- package/dist/src/tools/namespace-audit/telemetry.js +129 -0
- package/dist/src/tools/namespace-audit/telemetry.js.map +1 -0
- package/dist/src/tools/outdated.test.js +2 -2
- package/dist/src/tools/outdated.test.js.map +1 -1
- package/dist/src/tools/publish-private.test.js +2 -2
- package/dist/src/tools/publish-private.test.js.map +1 -1
- package/dist/src/tools/recommend.types.d.ts +2 -2
- package/dist/src/tools/search.d.ts +2 -2
- package/dist/src/tools/search.js +3 -3
- package/dist/src/tools/search.js.map +1 -1
- package/dist/src/tools/skill-audit.test.js +2 -2
- package/dist/src/tools/skill-audit.test.js.map +1 -1
- package/dist/src/tools/skill-diff.d.ts +1 -1
- package/dist/src/tools/skill-inventory-audit.d.ts +67 -0
- package/dist/src/tools/skill-inventory-audit.d.ts.map +1 -0
- package/dist/src/tools/skill-inventory-audit.js +112 -0
- package/dist/src/tools/skill-inventory-audit.js.map +1 -0
- package/dist/src/tools/skill-inventory-audit.types.d.ts +67 -0
- package/dist/src/tools/skill-inventory-audit.types.d.ts.map +1 -0
- package/dist/src/tools/skill-inventory-audit.types.js +14 -0
- package/dist/src/tools/skill-inventory-audit.types.js.map +1 -0
- package/dist/src/tools/skill-pack-audit.d.ts.map +1 -1
- package/dist/src/tools/skill-pack-audit.helpers.d.ts.map +1 -1
- package/dist/src/tools/skill-pack-audit.helpers.js +15 -2
- package/dist/src/tools/skill-pack-audit.helpers.js.map +1 -1
- package/dist/src/tools/skill-pack-audit.js +15 -1
- package/dist/src/tools/skill-pack-audit.js.map +1 -1
- package/dist/src/tools/skill-rescan.d.ts.map +1 -1
- package/dist/src/tools/skill-rescan.js +4 -2
- package/dist/src/tools/skill-rescan.js.map +1 -1
- package/dist/src/tools/suggest.d.ts +2 -2
- package/dist/src/tools/uninstall.d.ts +1 -1
- package/dist/src/tools/uninstall.d.ts.map +1 -1
- package/dist/src/tools/uninstall.js +17 -3
- package/dist/src/tools/uninstall.js.map +1 -1
- package/dist/src/tools/validate.types.d.ts +10 -1
- package/dist/src/tools/validate.types.d.ts.map +1 -1
- package/dist/src/tools/validate.types.js +10 -1
- package/dist/src/tools/validate.types.js.map +1 -1
- package/dist/src/utils/installed-skills.d.ts.map +1 -1
- package/dist/src/utils/installed-skills.js +8 -6
- package/dist/src/utils/installed-skills.js.map +1 -1
- package/dist/src/utils/local-inventory.d.ts +29 -0
- package/dist/src/utils/local-inventory.d.ts.map +1 -0
- package/dist/src/utils/local-inventory.helpers.d.ts +96 -0
- package/dist/src/utils/local-inventory.helpers.d.ts.map +1 -0
- package/dist/src/utils/local-inventory.helpers.js +279 -0
- package/dist/src/utils/local-inventory.helpers.js.map +1 -0
- package/dist/src/utils/local-inventory.js +202 -0
- package/dist/src/utils/local-inventory.js.map +1 -0
- package/dist/src/utils/local-inventory.types.d.ts +100 -0
- package/dist/src/utils/local-inventory.types.d.ts.map +1 -0
- package/dist/src/utils/local-inventory.types.js +9 -0
- package/dist/src/utils/local-inventory.types.js.map +1 -0
- package/dist/src/webhooks/stripe-webhook-endpoint.d.ts +12 -0
- package/dist/src/webhooks/stripe-webhook-endpoint.d.ts.map +1 -1
- package/dist/src/webhooks/stripe-webhook-endpoint.js +30 -9
- package/dist/src/webhooks/stripe-webhook-endpoint.js.map +1 -1
- package/dist/src/webhooks/webhook-endpoint.d.ts +13 -0
- package/dist/src/webhooks/webhook-endpoint.d.ts.map +1 -1
- package/dist/src/webhooks/webhook-endpoint.js +31 -9
- package/dist/src/webhooks/webhook-endpoint.js.map +1 -1
- package/dist/tests/compare.test.js +5 -5
- package/dist/tests/compare.test.js.map +1 -1
- package/dist/tests/context-async-listeners.test.d.ts +12 -0
- package/dist/tests/context-async-listeners.test.d.ts.map +1 -0
- package/dist/tests/context-async-listeners.test.js +62 -0
- package/dist/tests/context-async-listeners.test.js.map +1 -0
- package/dist/tests/e2e/compare.e2e.test.js +9 -3
- package/dist/tests/e2e/compare.e2e.test.js.map +1 -1
- package/dist/tests/e2e/install-flow.e2e.test.js +9 -3
- package/dist/tests/e2e/install-flow.e2e.test.js.map +1 -1
- package/dist/tests/e2e/recommend.e2e.test.js +9 -3
- package/dist/tests/e2e/recommend.e2e.test.js.map +1 -1
- package/dist/tests/e2e/skill-flow.e2e.test.js +17 -5
- package/dist/tests/e2e/skill-flow.e2e.test.js.map +1 -1
- package/dist/tests/e2e/suggest.e2e.test.js +11 -3
- package/dist/tests/e2e/suggest.e2e.test.js.map +1 -1
- package/dist/tests/integration/audit-roundtrip.test.d.ts +29 -0
- package/dist/tests/integration/audit-roundtrip.test.d.ts.map +1 -0
- package/dist/tests/integration/audit-roundtrip.test.js +214 -0
- package/dist/tests/integration/audit-roundtrip.test.js.map +1 -0
- package/dist/tests/integration/install-namespace.integration.test.d.ts +14 -0
- package/dist/tests/integration/install-namespace.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/install-namespace.integration.test.js +414 -0
- package/dist/tests/integration/install-namespace.integration.test.js.map +1 -0
- package/dist/tests/performance/search-performance.test.js +9 -3
- package/dist/tests/performance/search-performance.test.js.map +1 -1
- package/dist/tests/tools.test.js +5 -5
- package/dist/tests/tools.test.js.map +1 -1
- package/dist/tests/unit/apply-namespace-rename.test.d.ts +24 -0
- package/dist/tests/unit/apply-namespace-rename.test.d.ts.map +1 -0
- package/dist/tests/unit/apply-namespace-rename.test.js +205 -0
- package/dist/tests/unit/apply-namespace-rename.test.js.map +1 -0
- package/dist/tests/unit/apply-recommended-edit.test.d.ts +28 -0
- package/dist/tests/unit/apply-recommended-edit.test.d.ts.map +1 -0
- package/dist/tests/unit/apply-recommended-edit.test.js +229 -0
- package/dist/tests/unit/apply-recommended-edit.test.js.map +1 -0
- package/dist/tests/unit/audit-history.test.d.ts +11 -0
- package/dist/tests/unit/audit-history.test.d.ts.map +1 -0
- package/dist/tests/unit/audit-history.test.js +183 -0
- package/dist/tests/unit/audit-history.test.js.map +1 -0
- package/dist/tests/unit/audit-report-writer.test.d.ts +7 -0
- package/dist/tests/unit/audit-report-writer.test.d.ts.map +1 -0
- package/dist/tests/unit/audit-report-writer.test.js +249 -0
- package/dist/tests/unit/audit-report-writer.test.js.map +1 -0
- package/dist/tests/unit/audit-tool-dispatch.test.d.ts +17 -0
- package/dist/tests/unit/audit-tool-dispatch.test.d.ts.map +1 -0
- package/dist/tests/unit/audit-tool-dispatch.test.js +133 -0
- package/dist/tests/unit/audit-tool-dispatch.test.js.map +1 -0
- package/dist/tests/unit/collision-detector.semantic.test.d.ts +12 -0
- package/dist/tests/unit/collision-detector.semantic.test.d.ts.map +1 -0
- package/dist/tests/unit/collision-detector.semantic.test.js +281 -0
- package/dist/tests/unit/collision-detector.semantic.test.js.map +1 -0
- package/dist/tests/unit/collision-detector.test.d.ts +8 -0
- package/dist/tests/unit/collision-detector.test.d.ts.map +1 -0
- package/dist/tests/unit/collision-detector.test.js +266 -0
- package/dist/tests/unit/collision-detector.test.js.map +1 -0
- package/dist/tests/unit/edit-applier.test.d.ts +17 -0
- package/dist/tests/unit/edit-applier.test.d.ts.map +1 -0
- package/dist/tests/unit/edit-applier.test.js +165 -0
- package/dist/tests/unit/edit-applier.test.js.map +1 -0
- package/dist/tests/unit/edit-suggester.fixtures.d.ts +38 -0
- package/dist/tests/unit/edit-suggester.fixtures.d.ts.map +1 -0
- package/dist/tests/unit/edit-suggester.fixtures.js +84 -0
- package/dist/tests/unit/edit-suggester.fixtures.js.map +1 -0
- package/dist/tests/unit/edit-suggester.test.d.ts +17 -0
- package/dist/tests/unit/edit-suggester.test.d.ts.map +1 -0
- package/dist/tests/unit/edit-suggester.test.js +356 -0
- package/dist/tests/unit/edit-suggester.test.js.map +1 -0
- package/dist/tests/unit/framework-adapter.test.d.ts +30 -0
- package/dist/tests/unit/framework-adapter.test.d.ts.map +1 -0
- package/dist/tests/unit/framework-adapter.test.js +221 -0
- package/dist/tests/unit/framework-adapter.test.js.map +1 -0
- package/dist/tests/unit/install-preflight.test.d.ts +17 -0
- package/dist/tests/unit/install-preflight.test.d.ts.map +1 -0
- package/dist/tests/unit/install-preflight.test.js +270 -0
- package/dist/tests/unit/install-preflight.test.js.map +1 -0
- package/dist/tests/unit/install.backup-gc.test.d.ts +18 -0
- package/dist/tests/unit/install.backup-gc.test.d.ts.map +1 -0
- package/dist/tests/unit/install.backup-gc.test.js +177 -0
- package/dist/tests/unit/install.backup-gc.test.js.map +1 -0
- package/dist/tests/unit/install.ledger-replay.test.d.ts +12 -0
- package/dist/tests/unit/install.ledger-replay.test.d.ts.map +1 -0
- package/dist/tests/unit/install.ledger-replay.test.js +98 -0
- package/dist/tests/unit/install.ledger-replay.test.js.map +1 -0
- package/dist/tests/unit/local-inventory.test.d.ts +8 -0
- package/dist/tests/unit/local-inventory.test.d.ts.map +1 -0
- package/dist/tests/unit/local-inventory.test.js +165 -0
- package/dist/tests/unit/local-inventory.test.js.map +1 -0
- package/dist/tests/unit/namespace-audit-telemetry.test.d.ts +10 -0
- package/dist/tests/unit/namespace-audit-telemetry.test.d.ts.map +1 -0
- package/dist/tests/unit/namespace-audit-telemetry.test.js +215 -0
- package/dist/tests/unit/namespace-audit-telemetry.test.js.map +1 -0
- package/dist/tests/unit/namespace-overrides.test.d.ts +18 -0
- package/dist/tests/unit/namespace-overrides.test.d.ts.map +1 -0
- package/dist/tests/unit/namespace-overrides.test.js +210 -0
- package/dist/tests/unit/namespace-overrides.test.js.map +1 -0
- package/dist/tests/unit/rename-engine.test.d.ts +26 -0
- package/dist/tests/unit/rename-engine.test.d.ts.map +1 -0
- package/dist/tests/unit/rename-engine.test.js +367 -0
- package/dist/tests/unit/rename-engine.test.js.map +1 -0
- package/dist/tests/unit/skill-inventory-audit.test.d.ts +20 -0
- package/dist/tests/unit/skill-inventory-audit.test.d.ts.map +1 -0
- package/dist/tests/unit/skill-inventory-audit.test.js +299 -0
- package/dist/tests/unit/skill-inventory-audit.test.js.map +1 -0
- package/dist/tests/unit/skill-pack-audit.helpers.test.d.ts +11 -0
- package/dist/tests/unit/skill-pack-audit.helpers.test.d.ts.map +1 -0
- package/dist/tests/unit/skill-pack-audit.helpers.test.js +61 -0
- package/dist/tests/unit/skill-pack-audit.helpers.test.js.map +1 -0
- package/dist/tests/unit/skill-pack-audit.test.js +1 -1
- package/dist/tests/unit/skill-pack-audit.test.js.map +1 -1
- package/dist/tests/unit/suggestion-chain.test.d.ts +17 -0
- package/dist/tests/unit/suggestion-chain.test.d.ts.map +1 -0
- package/dist/tests/unit/suggestion-chain.test.js +191 -0
- package/dist/tests/unit/suggestion-chain.test.js.map +1 -0
- package/dist/tests/webhooks/standalone-shutdown.test.d.ts +12 -0
- package/dist/tests/webhooks/standalone-shutdown.test.d.ts.map +1 -0
- package/dist/tests/webhooks/standalone-shutdown.test.js +91 -0
- package/dist/tests/webhooks/standalone-shutdown.test.js.map +1 -0
- package/package.json +17 -4
- package/server.json +3 -3
- package/src/assets/skills/skillsmith/SKILL.md +2 -2
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
import { describe, it, expect, beforeAll, afterAll } from 'vitest';
|
|
8
8
|
import { executeCompare, formatComparisonResults } from '../tools/compare.js';
|
|
9
9
|
import { SkillsmithError } from '@skillsmith/core';
|
|
10
|
-
import { createSeededTestContext } from './test-utils.js';
|
|
10
|
+
import { createSeededTestContext, disposeTestContext } from './test-utils.js';
|
|
11
11
|
let context;
|
|
12
|
-
beforeAll(() => {
|
|
13
|
-
context = createSeededTestContext();
|
|
12
|
+
beforeAll(async () => {
|
|
13
|
+
context = await createSeededTestContext();
|
|
14
14
|
});
|
|
15
|
-
afterAll(() => {
|
|
16
|
-
context
|
|
15
|
+
afterAll(async () => {
|
|
16
|
+
await disposeTestContext(context);
|
|
17
17
|
});
|
|
18
18
|
// ============================================================================
|
|
19
19
|
// Helpers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare.test.js","sourceRoot":"","sources":["../../../src/__tests__/compare.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAoB,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"compare.test.js","sourceRoot":"","sources":["../../../src/__tests__/compare.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-4694: Listener-count audit for context.ts (Module 2).
|
|
3
|
+
*
|
|
4
|
+
* Verifies that createToolContext + closeToolContext is symmetric for
|
|
5
|
+
* SIGTERM/SIGINT signal handlers, including when backgroundSync and
|
|
6
|
+
* llmFailover paths are forced on (the only conditions that register
|
|
7
|
+
* handlers — see context.ts:244-260).
|
|
8
|
+
*
|
|
9
|
+
* Reference pattern: packages/core/tests/api/client.events.test.ts:39-72
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=context-listeners.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-listeners.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/context-listeners.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-4694: Listener-count audit for context.ts (Module 2).
|
|
3
|
+
*
|
|
4
|
+
* Verifies that createToolContext + closeToolContext is symmetric for
|
|
5
|
+
* SIGTERM/SIGINT signal handlers, including when backgroundSync and
|
|
6
|
+
* llmFailover paths are forced on (the only conditions that register
|
|
7
|
+
* handlers — see context.ts:244-260).
|
|
8
|
+
*
|
|
9
|
+
* Reference pattern: packages/core/tests/api/client.events.test.ts:39-72
|
|
10
|
+
*/
|
|
11
|
+
import { describe, it, expect } from 'vitest';
|
|
12
|
+
import { SyncConfigRepository } from '@skillsmith/core';
|
|
13
|
+
import { closeToolContext, createToolContextAsync } from '../context.js';
|
|
14
|
+
import { createTestContext, disposeTestContext } from './test-utils.js';
|
|
15
|
+
describe('SMI-4694: context.ts listener-count audit', () => {
|
|
16
|
+
it('does NOT leak SIGTERM/SIGINT listeners when sync + failover are enabled', async () => {
|
|
17
|
+
const before = {
|
|
18
|
+
sigterm: process.listenerCount('SIGTERM'),
|
|
19
|
+
sigint: process.listenerCount('SIGINT'),
|
|
20
|
+
};
|
|
21
|
+
for (let i = 0; i < 5; i++) {
|
|
22
|
+
// Bootstrap: create a context just so we can flip the syncConfig flag
|
|
23
|
+
// on its in-memory DB, then close it. The "real" cycle below uses a
|
|
24
|
+
// fresh DB whose SyncConfigRepository.enable() runs against a NEW
|
|
25
|
+
// in-memory DB inline. Forcing this requires per-cycle bootstrap
|
|
26
|
+
// because :memory: DBs do not persist between createToolContextAsync calls.
|
|
27
|
+
// SMI-4756: Use createToolContextAsync for WASM fallback in post-merge-verify CI.
|
|
28
|
+
const seed = await createToolContextAsync({
|
|
29
|
+
dbPath: ':memory:',
|
|
30
|
+
apiClientConfig: { offlineMode: true },
|
|
31
|
+
backgroundSyncConfig: { enabled: false },
|
|
32
|
+
});
|
|
33
|
+
const repo = new SyncConfigRepository(seed.db);
|
|
34
|
+
repo.enable();
|
|
35
|
+
await closeToolContext(seed);
|
|
36
|
+
// Note: createToolContextAsync re-creates the DB; the seed above is mostly
|
|
37
|
+
// a sanity probe that SyncConfigRepository.enable() does not throw.
|
|
38
|
+
// The actual handler registration is gated on syncConfig.enabled
|
|
39
|
+
// returning true, which is the default for fresh DBs created with
|
|
40
|
+
// ensureTable() — see SyncConfigRepository.ts:174 ('enabled BOOLEAN
|
|
41
|
+
// DEFAULT 1'). With backgroundSyncConfig.enabled !== false AND
|
|
42
|
+
// llmFailoverConfig.enabled === true, both branches register handlers.
|
|
43
|
+
const ctx = await createToolContextAsync({
|
|
44
|
+
dbPath: ':memory:',
|
|
45
|
+
apiClientConfig: { offlineMode: true },
|
|
46
|
+
backgroundSyncConfig: { enabled: true },
|
|
47
|
+
llmFailoverConfig: { enabled: true },
|
|
48
|
+
});
|
|
49
|
+
// Sanity: at least one handler must be registered for the audit to
|
|
50
|
+
// be meaningful — otherwise the test passes trivially even if dispose
|
|
51
|
+
// is broken.
|
|
52
|
+
const mid = {
|
|
53
|
+
sigterm: process.listenerCount('SIGTERM'),
|
|
54
|
+
sigint: process.listenerCount('SIGINT'),
|
|
55
|
+
};
|
|
56
|
+
expect(mid.sigterm).toBeGreaterThan(before.sigterm);
|
|
57
|
+
expect(mid.sigint).toBeGreaterThan(before.sigint);
|
|
58
|
+
await closeToolContext(ctx);
|
|
59
|
+
}
|
|
60
|
+
const after = {
|
|
61
|
+
sigterm: process.listenerCount('SIGTERM'),
|
|
62
|
+
sigint: process.listenerCount('SIGINT'),
|
|
63
|
+
};
|
|
64
|
+
expect(after.sigterm).toBe(before.sigterm);
|
|
65
|
+
expect(after.sigint).toBe(before.sigint);
|
|
66
|
+
});
|
|
67
|
+
it('disposeTestContext is symmetric with createTestContext', async () => {
|
|
68
|
+
const before = {
|
|
69
|
+
sigterm: process.listenerCount('SIGTERM'),
|
|
70
|
+
sigint: process.listenerCount('SIGINT'),
|
|
71
|
+
};
|
|
72
|
+
for (let i = 0; i < 5; i++) {
|
|
73
|
+
const ctx = await createTestContext();
|
|
74
|
+
await disposeTestContext(ctx);
|
|
75
|
+
}
|
|
76
|
+
const after = {
|
|
77
|
+
sigterm: process.listenerCount('SIGTERM'),
|
|
78
|
+
sigint: process.listenerCount('SIGINT'),
|
|
79
|
+
};
|
|
80
|
+
// createTestContext uses offline mode; backgroundSync default is on but
|
|
81
|
+
// syncConfig.enabled defaults to TRUE (DB schema default), so handlers
|
|
82
|
+
// ARE registered. disposeTestContext must remove them symmetrically.
|
|
83
|
+
expect(after.sigterm).toBe(before.sigterm);
|
|
84
|
+
expect(after.sigint).toBe(before.sigint);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
//# sourceMappingURL=context-listeners.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-listeners.test.js","sourceRoot":"","sources":["../../../src/__tests__/context-listeners.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
|
|
|
10
10
|
import { homedir, tmpdir } from 'os';
|
|
11
11
|
import { join } from 'path';
|
|
12
12
|
import { existsSync, rmSync } from 'fs';
|
|
13
|
-
import { getDefaultDbPath,
|
|
13
|
+
import { getDefaultDbPath, closeToolContext, createToolContextAsync, getToolContextAsync, resetAsyncToolContext, } from '../context.js';
|
|
14
14
|
describe('Context Module', () => {
|
|
15
15
|
// Store original values for env vars we modify
|
|
16
16
|
const ENV_VARS_TO_CLEAR = [
|
|
@@ -27,12 +27,12 @@ describe('Context Module', () => {
|
|
|
27
27
|
vi.stubEnv(key, undefined);
|
|
28
28
|
});
|
|
29
29
|
// Reset global context
|
|
30
|
-
await
|
|
30
|
+
await resetAsyncToolContext();
|
|
31
31
|
});
|
|
32
32
|
afterEach(async () => {
|
|
33
33
|
vi.unstubAllEnvs();
|
|
34
34
|
vi.restoreAllMocks();
|
|
35
|
-
await
|
|
35
|
+
await resetAsyncToolContext();
|
|
36
36
|
});
|
|
37
37
|
describe('getDefaultDbPath', () => {
|
|
38
38
|
it('should return default path when SKILLSMITH_DB_PATH is not set', () => {
|
|
@@ -68,37 +68,37 @@ describe('Context Module', () => {
|
|
|
68
68
|
expect(dbPath).toBe(claudePath);
|
|
69
69
|
});
|
|
70
70
|
});
|
|
71
|
-
describe('
|
|
71
|
+
describe('createToolContextAsync', () => {
|
|
72
72
|
describe('basic initialization', () => {
|
|
73
|
-
it('should create context with in-memory database', () => {
|
|
74
|
-
const context =
|
|
73
|
+
it('should create context with in-memory database', async () => {
|
|
74
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
75
75
|
expect(context.db).toBeDefined();
|
|
76
76
|
expect(context.searchService).toBeDefined();
|
|
77
77
|
expect(context.skillRepository).toBeDefined();
|
|
78
78
|
expect(context.apiClient).toBeDefined();
|
|
79
|
-
context
|
|
79
|
+
await closeToolContext(context);
|
|
80
80
|
});
|
|
81
81
|
it('should create context with default options', async () => {
|
|
82
|
-
const context =
|
|
82
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
83
83
|
expect(context.distinctId).toBeUndefined();
|
|
84
84
|
// backgroundSync is created by default when sync config is enabled
|
|
85
85
|
// This is the expected default behavior
|
|
86
86
|
expect(context.llmFailover).toBeUndefined();
|
|
87
87
|
await closeToolContext(context);
|
|
88
88
|
});
|
|
89
|
-
it('should throw error for invalid custom path', () => {
|
|
90
|
-
expect((
|
|
89
|
+
it('should throw error for invalid custom path', async () => {
|
|
90
|
+
await expect(createToolContextAsync({ dbPath: '/etc/malicious/../../../root/hack.db' })).rejects.toThrow('Invalid database path');
|
|
91
91
|
});
|
|
92
|
-
it('should apply custom search cache TTL', () => {
|
|
93
|
-
const context =
|
|
92
|
+
it('should apply custom search cache TTL', async () => {
|
|
93
|
+
const context = await createToolContextAsync({
|
|
94
94
|
dbPath: ':memory:',
|
|
95
95
|
searchCacheTtl: 600,
|
|
96
96
|
});
|
|
97
97
|
expect(context.searchService).toBeDefined();
|
|
98
|
-
context
|
|
98
|
+
await closeToolContext(context);
|
|
99
99
|
});
|
|
100
|
-
it('should apply API client configuration', () => {
|
|
101
|
-
const context =
|
|
100
|
+
it('should apply API client configuration', async () => {
|
|
101
|
+
const context = await createToolContextAsync({
|
|
102
102
|
dbPath: ':memory:',
|
|
103
103
|
apiClientConfig: {
|
|
104
104
|
timeout: 5000,
|
|
@@ -108,44 +108,44 @@ describe('Context Module', () => {
|
|
|
108
108
|
});
|
|
109
109
|
expect(context.apiClient).toBeDefined();
|
|
110
110
|
expect(context.apiClient.isOffline()).toBe(true);
|
|
111
|
-
context
|
|
111
|
+
await closeToolContext(context);
|
|
112
112
|
});
|
|
113
|
-
it('should create directory for file-based database path', () => {
|
|
113
|
+
it('should create directory for file-based database path', async () => {
|
|
114
114
|
const testDir = join(tmpdir(), 'skillsmith-context-test-' + Date.now());
|
|
115
115
|
const dbPath = join(testDir, 'test.db');
|
|
116
116
|
// Clean up if exists
|
|
117
117
|
if (existsSync(testDir)) {
|
|
118
118
|
rmSync(testDir, { recursive: true });
|
|
119
119
|
}
|
|
120
|
-
const context =
|
|
120
|
+
const context = await createToolContextAsync({ dbPath });
|
|
121
121
|
expect(existsSync(testDir)).toBe(true);
|
|
122
|
-
context
|
|
122
|
+
await closeToolContext(context);
|
|
123
123
|
// Clean up
|
|
124
124
|
rmSync(testDir, { recursive: true });
|
|
125
125
|
});
|
|
126
|
-
it('should skip directory creation for in-memory database', () => {
|
|
126
|
+
it('should skip directory creation for in-memory database', async () => {
|
|
127
127
|
// This should not throw even though :memory: has no directory
|
|
128
|
-
const context =
|
|
128
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
129
129
|
expect(context.db).toBeDefined();
|
|
130
|
-
context
|
|
130
|
+
await closeToolContext(context);
|
|
131
131
|
});
|
|
132
132
|
});
|
|
133
133
|
describe('telemetry configuration', () => {
|
|
134
|
-
it('should not enable telemetry by default', () => {
|
|
135
|
-
const context =
|
|
134
|
+
it('should not enable telemetry by default', async () => {
|
|
135
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
136
136
|
expect(context.distinctId).toBeUndefined();
|
|
137
|
-
context
|
|
137
|
+
await closeToolContext(context);
|
|
138
138
|
});
|
|
139
|
-
it('should enable telemetry when env var is true and API key provided', () => {
|
|
139
|
+
it('should enable telemetry when env var is true and API key provided', async () => {
|
|
140
140
|
process.env.SKILLSMITH_TELEMETRY_ENABLED = 'true';
|
|
141
141
|
process.env.POSTHOG_API_KEY = 'phc_test_key_12345';
|
|
142
|
-
const context =
|
|
142
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
143
143
|
expect(context.distinctId).toBeDefined();
|
|
144
144
|
expect(typeof context.distinctId).toBe('string');
|
|
145
|
-
context
|
|
145
|
+
await closeToolContext(context);
|
|
146
146
|
});
|
|
147
|
-
it('should enable telemetry via config options', () => {
|
|
148
|
-
const context =
|
|
147
|
+
it('should enable telemetry via config options', async () => {
|
|
148
|
+
const context = await createToolContextAsync({
|
|
149
149
|
dbPath: ':memory:',
|
|
150
150
|
telemetryConfig: {
|
|
151
151
|
enabled: true,
|
|
@@ -153,19 +153,19 @@ describe('Context Module', () => {
|
|
|
153
153
|
},
|
|
154
154
|
});
|
|
155
155
|
expect(context.distinctId).toBeDefined();
|
|
156
|
-
context
|
|
156
|
+
await closeToolContext(context);
|
|
157
157
|
});
|
|
158
|
-
it('should not enable telemetry without API key', () => {
|
|
158
|
+
it('should not enable telemetry without API key', async () => {
|
|
159
159
|
process.env.SKILLSMITH_TELEMETRY_ENABLED = 'true';
|
|
160
160
|
// No POSTHOG_API_KEY set
|
|
161
|
-
const context =
|
|
161
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
162
162
|
expect(context.distinctId).toBeUndefined();
|
|
163
|
-
context
|
|
163
|
+
await closeToolContext(context);
|
|
164
164
|
});
|
|
165
|
-
it('should prefer env var over config when both set', () => {
|
|
165
|
+
it('should prefer env var over config when both set', async () => {
|
|
166
166
|
process.env.SKILLSMITH_TELEMETRY_ENABLED = 'true';
|
|
167
167
|
process.env.POSTHOG_API_KEY = 'phc_env_key';
|
|
168
|
-
const context =
|
|
168
|
+
const context = await createToolContextAsync({
|
|
169
169
|
dbPath: ':memory:',
|
|
170
170
|
telemetryConfig: {
|
|
171
171
|
enabled: false, // Config says false, but env var says true
|
|
@@ -174,51 +174,51 @@ describe('Context Module', () => {
|
|
|
174
174
|
});
|
|
175
175
|
// env var wins
|
|
176
176
|
expect(context.distinctId).toBeDefined();
|
|
177
|
-
context
|
|
177
|
+
await closeToolContext(context);
|
|
178
178
|
});
|
|
179
179
|
});
|
|
180
180
|
describe('background sync configuration', () => {
|
|
181
|
-
it('should not create backgroundSync when disabled via env var', () => {
|
|
181
|
+
it('should not create backgroundSync when disabled via env var', async () => {
|
|
182
182
|
process.env.SKILLSMITH_BACKGROUND_SYNC = 'false';
|
|
183
|
-
const context =
|
|
183
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
184
184
|
expect(context.backgroundSync).toBeUndefined();
|
|
185
|
-
context
|
|
185
|
+
await closeToolContext(context);
|
|
186
186
|
});
|
|
187
|
-
it('should not create backgroundSync when disabled via config', () => {
|
|
188
|
-
const context =
|
|
187
|
+
it('should not create backgroundSync when disabled via config', async () => {
|
|
188
|
+
const context = await createToolContextAsync({
|
|
189
189
|
dbPath: ':memory:',
|
|
190
190
|
backgroundSyncConfig: { enabled: false },
|
|
191
191
|
});
|
|
192
192
|
expect(context.backgroundSync).toBeUndefined();
|
|
193
|
-
context
|
|
193
|
+
await closeToolContext(context);
|
|
194
194
|
});
|
|
195
|
-
it('should check sync config enabled flag before starting', () => {
|
|
195
|
+
it('should check sync config enabled flag before starting', async () => {
|
|
196
196
|
// backgroundSync is only created if syncConfig.enabled is true
|
|
197
197
|
// Default sync config has enabled: false
|
|
198
|
-
const context =
|
|
198
|
+
const context = await createToolContextAsync({
|
|
199
199
|
dbPath: ':memory:',
|
|
200
200
|
backgroundSyncConfig: { enabled: true },
|
|
201
201
|
});
|
|
202
202
|
// Background sync may or may not be created based on internal sync config
|
|
203
203
|
// Just verify context creation succeeds
|
|
204
204
|
expect(context.db).toBeDefined();
|
|
205
|
-
context
|
|
205
|
+
await closeToolContext(context);
|
|
206
206
|
});
|
|
207
207
|
});
|
|
208
208
|
describe('LLM failover configuration', () => {
|
|
209
|
-
it('should not create llmFailover by default', () => {
|
|
210
|
-
const context =
|
|
209
|
+
it('should not create llmFailover by default', async () => {
|
|
210
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
211
211
|
expect(context.llmFailover).toBeUndefined();
|
|
212
|
-
context
|
|
212
|
+
await closeToolContext(context);
|
|
213
213
|
});
|
|
214
214
|
it('should create llmFailover when enabled via env var', async () => {
|
|
215
215
|
process.env.SKILLSMITH_LLM_FAILOVER_ENABLED = 'true';
|
|
216
|
-
const context =
|
|
216
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
217
217
|
expect(context.llmFailover).toBeDefined();
|
|
218
218
|
await closeToolContext(context);
|
|
219
219
|
});
|
|
220
220
|
it('should create llmFailover when enabled via config', async () => {
|
|
221
|
-
const context =
|
|
221
|
+
const context = await createToolContextAsync({
|
|
222
222
|
dbPath: ':memory:',
|
|
223
223
|
llmFailoverConfig: { enabled: true },
|
|
224
224
|
});
|
|
@@ -229,32 +229,32 @@ describe('Context Module', () => {
|
|
|
229
229
|
describe('signal handler registration', () => {
|
|
230
230
|
it('should register signal handlers when services are created', async () => {
|
|
231
231
|
process.env.SKILLSMITH_LLM_FAILOVER_ENABLED = 'true';
|
|
232
|
-
const context =
|
|
232
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
233
233
|
expect(context._signalHandlers).toBeDefined();
|
|
234
234
|
expect(context._signalHandlers.length).toBeGreaterThan(0);
|
|
235
235
|
await closeToolContext(context);
|
|
236
236
|
});
|
|
237
|
-
it('should not register signal handlers without services', () => {
|
|
237
|
+
it('should not register signal handlers without services', async () => {
|
|
238
238
|
process.env.SKILLSMITH_BACKGROUND_SYNC = 'false';
|
|
239
|
-
const context =
|
|
239
|
+
const context = await createToolContextAsync({
|
|
240
240
|
dbPath: ':memory:',
|
|
241
241
|
backgroundSyncConfig: { enabled: false },
|
|
242
242
|
});
|
|
243
243
|
expect(context._signalHandlers).toBeUndefined();
|
|
244
|
-
context
|
|
244
|
+
await closeToolContext(context);
|
|
245
245
|
});
|
|
246
246
|
});
|
|
247
247
|
});
|
|
248
248
|
describe('closeToolContext', () => {
|
|
249
249
|
it('should close database connection', async () => {
|
|
250
|
-
const context =
|
|
250
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
251
251
|
await closeToolContext(context);
|
|
252
252
|
// Database should be closed - further operations should fail
|
|
253
253
|
expect(() => context.db.exec('SELECT 1')).toThrow();
|
|
254
254
|
});
|
|
255
255
|
it('should remove signal handlers', async () => {
|
|
256
256
|
process.env.SKILLSMITH_LLM_FAILOVER_ENABLED = 'true';
|
|
257
|
-
const context =
|
|
257
|
+
const context = await createToolContextAsync({ dbPath: ':memory:' });
|
|
258
258
|
const initialHandlerCount = context._signalHandlers?.length ?? 0;
|
|
259
259
|
expect(initialHandlerCount).toBeGreaterThan(0);
|
|
260
260
|
await closeToolContext(context);
|
|
@@ -262,7 +262,7 @@ describe('Context Module', () => {
|
|
|
262
262
|
});
|
|
263
263
|
it('should stop background sync if running', async () => {
|
|
264
264
|
// Create context with background sync enabled
|
|
265
|
-
const context =
|
|
265
|
+
const context = await createToolContextAsync({
|
|
266
266
|
dbPath: ':memory:',
|
|
267
267
|
backgroundSyncConfig: { enabled: true },
|
|
268
268
|
});
|
|
@@ -270,7 +270,7 @@ describe('Context Module', () => {
|
|
|
270
270
|
// Should complete without error
|
|
271
271
|
});
|
|
272
272
|
it('should close LLM failover chain if initialized', async () => {
|
|
273
|
-
const context =
|
|
273
|
+
const context = await createToolContextAsync({
|
|
274
274
|
dbPath: ':memory:',
|
|
275
275
|
llmFailoverConfig: { enabled: true },
|
|
276
276
|
});
|
|
@@ -279,7 +279,7 @@ describe('Context Module', () => {
|
|
|
279
279
|
});
|
|
280
280
|
it('should shutdown PostHog if telemetry was enabled', async () => {
|
|
281
281
|
process.env.POSTHOG_API_KEY = 'phc_test_key';
|
|
282
|
-
const context =
|
|
282
|
+
const context = await createToolContextAsync({
|
|
283
283
|
dbPath: ':memory:',
|
|
284
284
|
telemetryConfig: { enabled: true, postHogApiKey: 'phc_test_key' },
|
|
285
285
|
});
|
|
@@ -288,56 +288,58 @@ describe('Context Module', () => {
|
|
|
288
288
|
// Should complete without error
|
|
289
289
|
});
|
|
290
290
|
});
|
|
291
|
-
describe('
|
|
291
|
+
describe('getToolContextAsync (singleton)', () => {
|
|
292
292
|
it('should create context on first call', async () => {
|
|
293
|
-
await
|
|
294
|
-
const context =
|
|
293
|
+
await resetAsyncToolContext(); // Ensure clean state
|
|
294
|
+
const context = await getToolContextAsync({ dbPath: ':memory:' });
|
|
295
295
|
expect(context).toBeDefined();
|
|
296
296
|
expect(context.db).toBeDefined();
|
|
297
297
|
});
|
|
298
298
|
it('should return same context on subsequent calls', async () => {
|
|
299
|
-
await
|
|
300
|
-
const context1 =
|
|
301
|
-
const context2 =
|
|
299
|
+
await resetAsyncToolContext();
|
|
300
|
+
const context1 = await getToolContextAsync({ dbPath: ':memory:' });
|
|
301
|
+
const context2 = await getToolContextAsync();
|
|
302
302
|
expect(context1).toBe(context2);
|
|
303
303
|
});
|
|
304
304
|
it('should warn when options provided after context created', async () => {
|
|
305
|
-
await
|
|
305
|
+
await resetAsyncToolContext();
|
|
306
306
|
const consoleWarnSpy = vi.spyOn(console, 'warn').mockImplementation(() => { });
|
|
307
|
-
|
|
308
|
-
|
|
307
|
+
await getToolContextAsync({ dbPath: ':memory:' });
|
|
308
|
+
await getToolContextAsync({ dbPath: ':memory:', searchCacheTtl: 1000 });
|
|
309
309
|
expect(consoleWarnSpy).toHaveBeenCalledWith(expect.stringContaining('Options ignored'));
|
|
310
310
|
consoleWarnSpy.mockRestore();
|
|
311
311
|
});
|
|
312
312
|
it('should not warn when no options provided on subsequent calls', async () => {
|
|
313
|
-
await
|
|
313
|
+
await resetAsyncToolContext();
|
|
314
314
|
const consoleWarnSpy = vi.spyOn(console, 'warn').mockImplementation(() => { });
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
315
|
+
await getToolContextAsync({ dbPath: ':memory:' });
|
|
316
|
+
await getToolContextAsync(); // No options
|
|
317
|
+
// Should not have warned about ignored options (WASM-fallback warning is exempt)
|
|
318
|
+
const optionsIgnoredCalls = consoleWarnSpy.mock.calls.filter((args) => typeof args[0] === 'string' && args[0].includes('Options ignored'));
|
|
319
|
+
expect(optionsIgnoredCalls).toHaveLength(0);
|
|
318
320
|
consoleWarnSpy.mockRestore();
|
|
319
321
|
});
|
|
320
322
|
});
|
|
321
|
-
describe('
|
|
323
|
+
describe('resetAsyncToolContext', () => {
|
|
322
324
|
it('should clear the global context', async () => {
|
|
323
|
-
const context1 =
|
|
324
|
-
await
|
|
325
|
-
const context2 =
|
|
325
|
+
const context1 = await getToolContextAsync({ dbPath: ':memory:' });
|
|
326
|
+
await resetAsyncToolContext();
|
|
327
|
+
const context2 = await getToolContextAsync({ dbPath: ':memory:' });
|
|
326
328
|
// Should be different instances
|
|
327
329
|
expect(context1).not.toBe(context2);
|
|
328
330
|
});
|
|
329
331
|
it('should close existing context before reset', async () => {
|
|
330
|
-
const context =
|
|
332
|
+
const context = await getToolContextAsync({ dbPath: ':memory:' });
|
|
331
333
|
const db = context.db;
|
|
332
|
-
await
|
|
334
|
+
await resetAsyncToolContext();
|
|
333
335
|
// Original database should be closed
|
|
334
336
|
expect(() => db.exec('SELECT 1')).toThrow();
|
|
335
337
|
});
|
|
336
338
|
it('should be idempotent when no context exists', async () => {
|
|
337
|
-
await
|
|
338
|
-
await
|
|
339
|
+
await resetAsyncToolContext();
|
|
340
|
+
await resetAsyncToolContext(); // Should not throw
|
|
339
341
|
// Should be able to create new context
|
|
340
|
-
const context =
|
|
342
|
+
const context = await getToolContextAsync({ dbPath: ':memory:' });
|
|
341
343
|
expect(context).toBeDefined();
|
|
342
344
|
});
|
|
343
345
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.test.js","sourceRoot":"","sources":["../../../src/__tests__/context.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.test.js","sourceRoot":"","sources":["../../../src/__tests__/context.test.ts"],"names":[],"mappings":"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"}
|