@skillsmith/core 0.4.16 → 0.4.17

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.
Files changed (141) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +57 -2
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/src/api/client.d.ts +2 -0
  5. package/dist/src/api/client.d.ts.map +1 -1
  6. package/dist/src/api/client.js.map +1 -1
  7. package/dist/src/api/schemas.d.ts +4 -4
  8. package/dist/src/db/schema.d.ts +2 -2
  9. package/dist/src/db/schema.d.ts.map +1 -1
  10. package/dist/src/db/schema.js +8 -2
  11. package/dist/src/db/schema.js.map +1 -1
  12. package/dist/src/embeddings/hnsw-store.d.ts +1 -1
  13. package/dist/src/embeddings/hnsw-store.d.ts.map +1 -1
  14. package/dist/src/embeddings/hnsw-store.js +4 -34
  15. package/dist/src/embeddings/hnsw-store.js.map +1 -1
  16. package/dist/src/embeddings/hnsw-store.types.d.ts +18 -0
  17. package/dist/src/embeddings/hnsw-store.types.d.ts.map +1 -1
  18. package/dist/src/embeddings/hnsw-store.types.js.map +1 -1
  19. package/dist/src/exports/services.d.ts +3 -0
  20. package/dist/src/exports/services.d.ts.map +1 -1
  21. package/dist/src/exports/services.js +6 -0
  22. package/dist/src/exports/services.js.map +1 -1
  23. package/dist/src/index.d.ts +1 -1
  24. package/dist/src/index.d.ts.map +1 -1
  25. package/dist/src/index.js +1 -1
  26. package/dist/src/index.js.map +1 -1
  27. package/dist/src/learning/PatternStore.d.ts.map +1 -1
  28. package/dist/src/learning/PatternStore.js +2 -9
  29. package/dist/src/learning/PatternStore.js.map +1 -1
  30. package/dist/src/routing/SONARouter.d.ts.map +1 -1
  31. package/dist/src/routing/SONARouter.js +4 -15
  32. package/dist/src/routing/SONARouter.js.map +1 -1
  33. package/dist/src/scripts/__tests__/scan-imported-skills.test.js +5 -0
  34. package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
  35. package/dist/src/scripts/validation/types.d.ts +2 -2
  36. package/dist/src/security/scanner/SecurityScanner.d.ts +4 -2
  37. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
  38. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts +24 -2
  39. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -1
  40. package/dist/src/security/scanner/SecurityScanner.helpers.js +99 -3
  41. package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -1
  42. package/dist/src/security/scanner/SecurityScanner.js +29 -90
  43. package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
  44. package/dist/src/security/scanner/SecurityScanner.ssrf.d.ts +15 -0
  45. package/dist/src/security/scanner/SecurityScanner.ssrf.d.ts.map +1 -0
  46. package/dist/src/security/scanner/SecurityScanner.ssrf.js +76 -0
  47. package/dist/src/security/scanner/SecurityScanner.ssrf.js.map +1 -0
  48. package/dist/src/security/scanner/index.d.ts +1 -1
  49. package/dist/src/security/scanner/index.d.ts.map +1 -1
  50. package/dist/src/security/scanner/index.js +1 -1
  51. package/dist/src/security/scanner/index.js.map +1 -1
  52. package/dist/src/security/scanner/patterns.d.ts +6 -0
  53. package/dist/src/security/scanner/patterns.d.ts.map +1 -1
  54. package/dist/src/security/scanner/patterns.js +32 -0
  55. package/dist/src/security/scanner/patterns.js.map +1 -1
  56. package/dist/src/security/scanner/types.d.ts +2 -1
  57. package/dist/src/security/scanner/types.d.ts.map +1 -1
  58. package/dist/src/security/scanner/weights.d.ts.map +1 -1
  59. package/dist/src/security/scanner/weights.js +1 -0
  60. package/dist/src/security/scanner/weights.js.map +1 -1
  61. package/dist/src/services/skill-installation.helpers.d.ts +62 -0
  62. package/dist/src/services/skill-installation.helpers.d.ts.map +1 -0
  63. package/dist/src/services/skill-installation.helpers.js +335 -0
  64. package/dist/src/services/skill-installation.helpers.js.map +1 -0
  65. package/dist/src/services/skill-installation.service.d.ts +45 -0
  66. package/dist/src/services/skill-installation.service.d.ts.map +1 -0
  67. package/dist/src/services/skill-installation.service.js +383 -0
  68. package/dist/src/services/skill-installation.service.js.map +1 -0
  69. package/dist/src/services/skill-installation.types.d.ts +144 -0
  70. package/dist/src/services/skill-installation.types.d.ts.map +1 -0
  71. package/dist/src/services/skill-installation.types.js +38 -0
  72. package/dist/src/services/skill-installation.types.js.map +1 -0
  73. package/dist/src/services/skill-manifest.d.ts +20 -0
  74. package/dist/src/services/skill-manifest.d.ts.map +1 -0
  75. package/dist/src/services/skill-manifest.js +84 -0
  76. package/dist/src/services/skill-manifest.js.map +1 -0
  77. package/dist/src/session/SessionManager.helpers.d.ts +1 -27
  78. package/dist/src/session/SessionManager.helpers.d.ts.map +1 -1
  79. package/dist/src/session/SessionManager.helpers.js +0 -64
  80. package/dist/src/session/SessionManager.helpers.js.map +1 -1
  81. package/dist/src/session/SessionManager.memory.d.ts +12 -11
  82. package/dist/src/session/SessionManager.memory.d.ts.map +1 -1
  83. package/dist/src/session/SessionManager.memory.js +23 -115
  84. package/dist/src/session/SessionManager.memory.js.map +1 -1
  85. package/dist/src/session/SessionManager.types.d.ts +0 -37
  86. package/dist/src/session/SessionManager.types.d.ts.map +1 -1
  87. package/dist/src/session/SessionManager.types.js.map +1 -1
  88. package/dist/src/session/SessionRecovery.js +4 -4
  89. package/dist/src/session/SessionRecovery.js.map +1 -1
  90. package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -1
  91. package/dist/src/testing/MultiLLMProvider.js +5 -19
  92. package/dist/src/testing/MultiLLMProvider.js.map +1 -1
  93. package/dist/tests/billing/StripeClient.test.d.ts +18 -0
  94. package/dist/tests/billing/StripeClient.test.d.ts.map +1 -0
  95. package/dist/tests/billing/StripeClient.test.js +566 -0
  96. package/dist/tests/billing/StripeClient.test.js.map +1 -0
  97. package/dist/tests/billing/StripeWebhookHandler.test.d.ts +16 -0
  98. package/dist/tests/billing/StripeWebhookHandler.test.d.ts.map +1 -0
  99. package/dist/tests/billing/StripeWebhookHandler.test.js +240 -0
  100. package/dist/tests/billing/StripeWebhookHandler.test.js.map +1 -0
  101. package/dist/tests/billing/stripe-helpers.test.d.ts +7 -0
  102. package/dist/tests/billing/stripe-helpers.test.d.ts.map +1 -0
  103. package/dist/tests/billing/stripe-helpers.test.js +91 -0
  104. package/dist/tests/billing/stripe-helpers.test.js.map +1 -0
  105. package/dist/tests/billing/webhook-handlers.test.d.ts +16 -0
  106. package/dist/tests/billing/webhook-handlers.test.d.ts.map +1 -0
  107. package/dist/tests/billing/webhook-handlers.test.js +519 -0
  108. package/dist/tests/billing/webhook-handlers.test.js.map +1 -0
  109. package/dist/tests/db/migration.test.d.ts +11 -0
  110. package/dist/tests/db/migration.test.d.ts.map +1 -0
  111. package/dist/tests/db/migration.test.js +265 -0
  112. package/dist/tests/db/migration.test.js.map +1 -0
  113. package/dist/tests/security/ContinuousSecurity.test.js +2 -2
  114. package/dist/tests/security/ContinuousSecurity.test.js.map +1 -1
  115. package/dist/tests/security.test.js +200 -0
  116. package/dist/tests/security.test.js.map +1 -1
  117. package/dist/tests/session/SessionManager.helpers.test.js +1 -9
  118. package/dist/tests/session/SessionManager.helpers.test.js.map +1 -1
  119. package/dist/tests/session/SessionManager.memory.test.d.ts +3 -4
  120. package/dist/tests/session/SessionManager.memory.test.d.ts.map +1 -1
  121. package/dist/tests/session/SessionManager.memory.test.js +41 -123
  122. package/dist/tests/session/SessionManager.memory.test.js.map +1 -1
  123. package/dist/tests/sync/BackgroundSyncService.test.d.ts +13 -0
  124. package/dist/tests/sync/BackgroundSyncService.test.d.ts.map +1 -0
  125. package/dist/tests/sync/BackgroundSyncService.test.js +259 -0
  126. package/dist/tests/sync/BackgroundSyncService.test.js.map +1 -0
  127. package/dist/tests/testkit.d.ts +14 -0
  128. package/dist/tests/testkit.d.ts.map +1 -0
  129. package/dist/tests/testkit.js +14 -0
  130. package/dist/tests/testkit.js.map +1 -0
  131. package/dist/tests/unit/migrations/v10-dependencies.test.js +3 -3
  132. package/dist/tests/unit/migrations/v10-dependencies.test.js.map +1 -1
  133. package/dist/tests/unit/services/skill-installation.service.test.d.ts +8 -0
  134. package/dist/tests/unit/services/skill-installation.service.test.d.ts.map +1 -0
  135. package/dist/tests/unit/services/skill-installation.service.test.js +732 -0
  136. package/dist/tests/unit/services/skill-installation.service.test.js.map +1 -0
  137. package/package.json +19 -7
  138. package/dist/vitest.config.d.ts +0 -3
  139. package/dist/vitest.config.d.ts.map +0 -1
  140. package/dist/vitest.config.js +0 -13
  141. package/dist/vitest.config.js.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,14 @@
1
+ # Changelog
2
+
3
+ All notable changes to `@skillsmith/core` are documented here.
4
+
5
+ ## v0.4.15
6
+
7
+ - **Co-install recommendations**: `CoInstallRepository` and `AlsoInstalledSkill` types for tracking skills frequently installed together.
8
+ - **Compatibility tags**: Skills can declare compatibility frontmatter (LLMs, IDEs, platforms).
9
+ - **Repository and homepage links**: New `repository_url` and `homepage_url` fields on skill records.
10
+ - **Database migration v9**: SCHEMA_VERSION 9 with migrations for co-install and compatibility features.
11
+
12
+ ## v0.4.7
13
+
14
+ - **Multi-language support**: Analyze TypeScript, JavaScript, Python, Go, Rust, and Java codebases with improved dependency management.
package/README.md CHANGED
@@ -2,9 +2,21 @@
2
2
 
3
3
  Core library for Skillsmith - provides database operations, search services, caching, security, analytics, and **multi-language codebase analysis** for agent skill discovery.
4
4
 
5
- **v0.4.15** adds co-install recommendations (`CoInstallRepository`, `AlsoInstalledSkill`), compatibility tags on skills, repository/homepage link fields, and SCHEMA_VERSION 9 with migrations for both.
5
+ ## Contents
6
6
 
7
- **v0.4.7** includes multi-language support for analyzing TypeScript, JavaScript, Python, Go, Rust, and Java codebases, with improved dependency management.
7
+ - [What's New](#whats-new-in-v0416)
8
+ - [Installation](#installation)
9
+ - [Quick Start](#quick-start)
10
+ - [Features](#features)
11
+ - [Exports](#exports)
12
+
13
+ ## What's New in v0.4.16
14
+
15
+ - **Skill Dependency Intelligence**: New `SkillDependencyRepository` for querying skill dependency graphs, `extractMcpReferences()` for inferring MCP server dependencies from SKILL.md content, `mergeDependencies()` for combining declared + inferred dependencies.
16
+ - **`DependencyDeclaration` type**: Replaces `string[]` in `SkillFrontmatter.dependencies` — structured dependency declarations with type, source, and confidence.
17
+ - **Database migration v10**: `skill_dependencies` table (SCHEMA_VERSION 10).
18
+
19
+ See [CHANGELOG.md](./CHANGELOG.md) for previous releases.
8
20
 
9
21
  ## Installation
10
22
 
@@ -83,6 +95,7 @@ await runMigrations(db)
83
95
  - **SkillRepository** - CRUD operations for skills
84
96
  - **CacheRepository** - Persistent cache storage
85
97
  - **IndexerRepository** - Batch indexing operations
98
+ - **SkillDependencyRepository** - Skill dependency graph queries
86
99
 
87
100
  ```typescript
88
101
  import { SkillRepository } from '@skillsmith/core'
@@ -184,6 +197,33 @@ const score = await scorer.score(skill)
184
197
  const quick = quickScore(skillMetadata)
185
198
  ```
186
199
 
200
+ ### Dependency Intelligence
201
+
202
+ Infer and manage skill dependencies from SKILL.md content.
203
+
204
+ ```typescript
205
+ import {
206
+ extractMcpReferences,
207
+ mergeDependencies,
208
+ SkillDependencyRepository,
209
+ } from '@skillsmith/core'
210
+
211
+ // Extract MCP server references from SKILL.md content
212
+ const refs = extractMcpReferences(skillMdContent)
213
+ // [{ server: 'github', tool: 'create_issue', confidence: 0.9 }, ...]
214
+
215
+ // Merge declared frontmatter deps with inferred MCP refs
216
+ const merged = mergeDependencies(declaredDeps, refs)
217
+ // [{ depType: 'mcp_server', target: 'github', source: 'inferred_static', confidence: 0.9 }]
218
+
219
+ // Persist to database
220
+ const depRepo = new SkillDependencyRepository(db)
221
+ await depRepo.upsert('author/skill', merged)
222
+
223
+ // Query dependency graph
224
+ const deps = depRepo.findBySkillId('author/skill')
225
+ ```
226
+
187
227
  ### Analytics
188
228
 
189
229
  Track skill usage and generate insights.
@@ -444,6 +484,21 @@ import {
444
484
  type FunctionInfo,
445
485
  type CodebaseContext,
446
486
  } from '@skillsmith/core'
487
+
488
+ // Dependency intelligence (v0.4.16)
489
+ import {
490
+ extractMcpReferences,
491
+ mergeDependencies,
492
+ SkillDependencyRepository,
493
+ // Types
494
+ type DependencyDeclaration,
495
+ type SkillDependencyRow,
496
+ type DepType,
497
+ type DepSource,
498
+ type McpReference,
499
+ type McpExtractionResult,
500
+ type MergedDependency,
501
+ } from '@skillsmith/core'
447
502
  ```
448
503
 
449
504
  ## Requirements