@skillsmith/core 0.4.17 → 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.
Files changed (202) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/api/client.d.ts +19 -21
  4. package/dist/src/api/client.d.ts.map +1 -1
  5. package/dist/src/api/client.events.d.ts +39 -0
  6. package/dist/src/api/client.events.d.ts.map +1 -0
  7. package/dist/src/api/client.events.js +77 -0
  8. package/dist/src/api/client.events.js.map +1 -0
  9. package/dist/src/api/client.js +39 -33
  10. package/dist/src/api/client.js.map +1 -1
  11. package/dist/src/api/event-batcher.d.ts +81 -0
  12. package/dist/src/api/event-batcher.d.ts.map +1 -0
  13. package/dist/src/api/event-batcher.js +191 -0
  14. package/dist/src/api/event-batcher.js.map +1 -0
  15. package/dist/src/api/index.d.ts +1 -0
  16. package/dist/src/api/index.d.ts.map +1 -1
  17. package/dist/src/api/index.js +2 -0
  18. package/dist/src/api/index.js.map +1 -1
  19. package/dist/src/api/schemas.d.ts +58 -0
  20. package/dist/src/api/schemas.d.ts.map +1 -1
  21. package/dist/src/api/schemas.js +45 -0
  22. package/dist/src/api/schemas.js.map +1 -1
  23. package/dist/src/db/migration-runner.d.ts +44 -0
  24. package/dist/src/db/migration-runner.d.ts.map +1 -0
  25. package/dist/src/db/migration-runner.js +175 -0
  26. package/dist/src/db/migration-runner.js.map +1 -0
  27. package/dist/src/db/migration.d.ts.map +1 -1
  28. package/dist/src/db/migration.js +2 -1
  29. package/dist/src/db/migration.js.map +1 -1
  30. package/dist/src/db/migrations/v12-risk-score-history.d.ts +10 -0
  31. package/dist/src/db/migrations/v12-risk-score-history.d.ts.map +1 -0
  32. package/dist/src/db/migrations/v12-risk-score-history.js +25 -0
  33. package/dist/src/db/migrations/v12-risk-score-history.js.map +1 -0
  34. package/dist/src/db/migrations/v13-team-tables.d.ts +11 -0
  35. package/dist/src/db/migrations/v13-team-tables.d.ts.map +1 -0
  36. package/dist/src/db/migrations/v13-team-tables.js +14 -0
  37. package/dist/src/db/migrations/v13-team-tables.js.map +1 -0
  38. package/dist/src/db/schema-sql.d.ts +16 -0
  39. package/dist/src/db/schema-sql.d.ts.map +1 -0
  40. package/dist/src/db/schema-sql.js +161 -0
  41. package/dist/src/db/schema-sql.js.map +1 -0
  42. package/dist/src/db/schema.d.ts +7 -32
  43. package/dist/src/db/schema.d.ts.map +1 -1
  44. package/dist/src/db/schema.js +13 -303
  45. package/dist/src/db/schema.js.map +1 -1
  46. package/dist/src/exports/repositories.d.ts +1 -0
  47. package/dist/src/exports/repositories.d.ts.map +1 -1
  48. package/dist/src/exports/repositories.js +4 -0
  49. package/dist/src/exports/repositories.js.map +1 -1
  50. package/dist/src/exports/services.d.ts +2 -1
  51. package/dist/src/exports/services.d.ts.map +1 -1
  52. package/dist/src/exports/services.js +1 -0
  53. package/dist/src/exports/services.js.map +1 -1
  54. package/dist/src/index.d.ts +1 -1
  55. package/dist/src/index.d.ts.map +1 -1
  56. package/dist/src/index.js +1 -1
  57. package/dist/src/index.js.map +1 -1
  58. package/dist/src/repositories/RiskScoreHistoryRepository.d.ts +37 -0
  59. package/dist/src/repositories/RiskScoreHistoryRepository.d.ts.map +1 -0
  60. package/dist/src/repositories/RiskScoreHistoryRepository.js +66 -0
  61. package/dist/src/repositories/RiskScoreHistoryRepository.js.map +1 -0
  62. package/dist/src/scoring/index.d.ts +1 -0
  63. package/dist/src/scoring/index.d.ts.map +1 -1
  64. package/dist/src/scoring/index.js +1 -0
  65. package/dist/src/scoring/index.js.map +1 -1
  66. package/dist/src/scoring/quality-score.d.ts +49 -0
  67. package/dist/src/scoring/quality-score.d.ts.map +1 -0
  68. package/dist/src/scoring/quality-score.js +73 -0
  69. package/dist/src/scoring/quality-score.js.map +1 -0
  70. package/dist/src/scripts/__tests__/scan-imported-skills.test.js +5 -0
  71. package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
  72. package/dist/src/security/index.d.ts +2 -0
  73. package/dist/src/security/index.d.ts.map +1 -1
  74. package/dist/src/security/index.js +2 -0
  75. package/dist/src/security/index.js.map +1 -1
  76. package/dist/src/security/risk-trend.d.ts +21 -0
  77. package/dist/src/security/risk-trend.d.ts.map +1 -0
  78. package/dist/src/security/risk-trend.js +81 -0
  79. package/dist/src/security/risk-trend.js.map +1 -0
  80. package/dist/src/security/scanner/SecurityScanner.d.ts +2 -0
  81. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
  82. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -1
  83. package/dist/src/security/scanner/SecurityScanner.helpers.js +14 -8
  84. package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -1
  85. package/dist/src/security/scanner/SecurityScanner.js +55 -1
  86. package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
  87. package/dist/src/security/scanner/index.d.ts +1 -1
  88. package/dist/src/security/scanner/index.d.ts.map +1 -1
  89. package/dist/src/security/scanner/index.js +1 -1
  90. package/dist/src/security/scanner/index.js.map +1 -1
  91. package/dist/src/security/scanner/patterns.d.ts +6 -0
  92. package/dist/src/security/scanner/patterns.d.ts.map +1 -1
  93. package/dist/src/security/scanner/patterns.js +25 -0
  94. package/dist/src/security/scanner/patterns.js.map +1 -1
  95. package/dist/src/security/scanner/types.d.ts +2 -1
  96. package/dist/src/security/scanner/types.d.ts.map +1 -1
  97. package/dist/src/security/scanner/weights.d.ts.map +1 -1
  98. package/dist/src/security/scanner/weights.js +1 -0
  99. package/dist/src/security/scanner/weights.js.map +1 -1
  100. package/dist/src/services/skill-config-schema.d.ts +36 -0
  101. package/dist/src/services/skill-config-schema.d.ts.map +1 -0
  102. package/dist/src/services/skill-config-schema.js +76 -0
  103. package/dist/src/services/skill-config-schema.js.map +1 -0
  104. package/dist/src/services/skill-installation.feedback.d.ts +24 -0
  105. package/dist/src/services/skill-installation.feedback.d.ts.map +1 -0
  106. package/dist/src/services/skill-installation.feedback.js +37 -0
  107. package/dist/src/services/skill-installation.feedback.js.map +1 -0
  108. package/dist/src/services/skill-installation.helpers.d.ts +33 -7
  109. package/dist/src/services/skill-installation.helpers.d.ts.map +1 -1
  110. package/dist/src/services/skill-installation.helpers.js +74 -32
  111. package/dist/src/services/skill-installation.helpers.js.map +1 -1
  112. package/dist/src/services/skill-installation.service.d.ts +8 -16
  113. package/dist/src/services/skill-installation.service.d.ts.map +1 -1
  114. package/dist/src/services/skill-installation.service.js +86 -37
  115. package/dist/src/services/skill-installation.service.js.map +1 -1
  116. package/dist/src/services/skill-installation.types.d.ts +22 -0
  117. package/dist/src/services/skill-installation.types.d.ts.map +1 -1
  118. package/dist/src/services/skill-installation.types.js.map +1 -1
  119. package/dist/src/types.d.ts +2 -0
  120. package/dist/src/types.d.ts.map +1 -1
  121. package/dist/tests/SecurityScanner.ai-defence.test.d.ts +6 -0
  122. package/dist/tests/SecurityScanner.ai-defence.test.d.ts.map +1 -0
  123. package/dist/tests/SecurityScanner.ai-defence.test.js +221 -0
  124. package/dist/tests/SecurityScanner.ai-defence.test.js.map +1 -0
  125. package/dist/tests/SecurityScanner.performance.test.d.ts +6 -0
  126. package/dist/tests/SecurityScanner.performance.test.d.ts.map +1 -0
  127. package/dist/tests/SecurityScanner.performance.test.js +132 -0
  128. package/dist/tests/SecurityScanner.performance.test.js.map +1 -0
  129. package/dist/tests/SecurityScanner.scoring.test.d.ts +6 -0
  130. package/dist/tests/SecurityScanner.scoring.test.d.ts.map +1 -0
  131. package/dist/tests/SecurityScanner.scoring.test.js +197 -0
  132. package/dist/tests/SecurityScanner.scoring.test.js.map +1 -0
  133. package/dist/tests/SecurityScanner.test.d.ts +2 -2
  134. package/dist/tests/SecurityScanner.test.js +2 -520
  135. package/dist/tests/SecurityScanner.test.js.map +1 -1
  136. package/dist/tests/SkillMatcher.test.js +5 -5
  137. package/dist/tests/SkillMatcher.test.js.map +1 -1
  138. package/dist/tests/db/schema-migrations.test.js +8 -6
  139. package/dist/tests/db/schema-migrations.test.js.map +1 -1
  140. package/dist/tests/integration/events-batch-contract.test.d.ts +12 -0
  141. package/dist/tests/integration/events-batch-contract.test.d.ts.map +1 -0
  142. package/dist/tests/integration/events-batch-contract.test.js +69 -0
  143. package/dist/tests/integration/events-batch-contract.test.js.map +1 -0
  144. package/dist/tests/scoring/quality-score.test.d.ts +7 -0
  145. package/dist/tests/scoring/quality-score.test.d.ts.map +1 -0
  146. package/dist/tests/scoring/quality-score.test.js +78 -0
  147. package/dist/tests/scoring/quality-score.test.js.map +1 -0
  148. package/dist/tests/security/ContinuousSecurity.false-positives.test.d.ts +6 -0
  149. package/dist/tests/security/ContinuousSecurity.false-positives.test.d.ts.map +1 -0
  150. package/dist/tests/security/ContinuousSecurity.false-positives.test.js +89 -0
  151. package/dist/tests/security/ContinuousSecurity.false-positives.test.js.map +1 -0
  152. package/dist/tests/security/ContinuousSecurity.performance.test.d.ts +6 -0
  153. package/dist/tests/security/ContinuousSecurity.performance.test.d.ts.map +1 -0
  154. package/dist/tests/security/ContinuousSecurity.performance.test.js +177 -0
  155. package/dist/tests/security/ContinuousSecurity.performance.test.js.map +1 -0
  156. package/dist/tests/security/ContinuousSecurity.reporting.test.d.ts +6 -0
  157. package/dist/tests/security/ContinuousSecurity.reporting.test.d.ts.map +1 -0
  158. package/dist/tests/security/ContinuousSecurity.reporting.test.js +106 -0
  159. package/dist/tests/security/ContinuousSecurity.reporting.test.js.map +1 -0
  160. package/dist/tests/security/ContinuousSecurity.test.d.ts +9 -2
  161. package/dist/tests/security/ContinuousSecurity.test.d.ts.map +1 -1
  162. package/dist/tests/security/ContinuousSecurity.test.js +9 -336
  163. package/dist/tests/security/ContinuousSecurity.test.js.map +1 -1
  164. package/dist/tests/security/pii-detection.test.d.ts +7 -0
  165. package/dist/tests/security/pii-detection.test.d.ts.map +1 -0
  166. package/dist/tests/security/pii-detection.test.js +91 -0
  167. package/dist/tests/security/pii-detection.test.js.map +1 -0
  168. package/dist/tests/security/risk-trend.test.d.ts +6 -0
  169. package/dist/tests/security/risk-trend.test.d.ts.map +1 -0
  170. package/dist/tests/security/risk-trend.test.js +68 -0
  171. package/dist/tests/security/risk-trend.test.js.map +1 -0
  172. package/dist/tests/security/scanner-regression-guard.test.d.ts +12 -0
  173. package/dist/tests/security/scanner-regression-guard.test.d.ts.map +1 -0
  174. package/dist/tests/security/scanner-regression-guard.test.js +111 -0
  175. package/dist/tests/security/scanner-regression-guard.test.js.map +1 -0
  176. package/dist/tests/services/aidefence-feedback.test.d.ts +6 -0
  177. package/dist/tests/services/aidefence-feedback.test.d.ts.map +1 -0
  178. package/dist/tests/services/aidefence-feedback.test.js +115 -0
  179. package/dist/tests/services/aidefence-feedback.test.js.map +1 -0
  180. package/dist/tests/services/dep-quarantine-check.test.d.ts +5 -0
  181. package/dist/tests/services/dep-quarantine-check.test.d.ts.map +1 -0
  182. package/dist/tests/services/dep-quarantine-check.test.js +92 -0
  183. package/dist/tests/services/dep-quarantine-check.test.js.map +1 -0
  184. package/dist/tests/services/skill-config-schema.test.d.ts +5 -0
  185. package/dist/tests/services/skill-config-schema.test.d.ts.map +1 -0
  186. package/dist/tests/services/skill-config-schema.test.js +98 -0
  187. package/dist/tests/services/skill-config-schema.test.js.map +1 -0
  188. package/dist/tests/unit/api-client-events.test.d.ts +10 -0
  189. package/dist/tests/unit/api-client-events.test.d.ts.map +1 -0
  190. package/dist/tests/unit/api-client-events.test.js +73 -0
  191. package/dist/tests/unit/api-client-events.test.js.map +1 -0
  192. package/dist/tests/unit/event-batcher.test.d.ts +13 -0
  193. package/dist/tests/unit/event-batcher.test.d.ts.map +1 -0
  194. package/dist/tests/unit/event-batcher.test.js +155 -0
  195. package/dist/tests/unit/event-batcher.test.js.map +1 -0
  196. package/dist/tests/unit/services/skill-installation-extended.test.d.ts +8 -0
  197. package/dist/tests/unit/services/skill-installation-extended.test.d.ts.map +1 -0
  198. package/dist/tests/unit/services/skill-installation-extended.test.js +423 -0
  199. package/dist/tests/unit/services/skill-installation-extended.test.js.map +1 -0
  200. package/dist/tests/unit/services/skill-installation.service.test.js +0 -390
  201. package/dist/tests/unit/services/skill-installation.service.test.js.map +1 -1
  202. package/package.json +7 -7
@@ -7,230 +7,22 @@
7
7
  * - Sources, Categories, and Cache tables
8
8
  * - WAL mode for performance
9
9
  * - Indexes for common query patterns
10
+ *
11
+ * SQL constants live in schema-sql.ts (SMI-3910) to avoid circular imports
12
+ * with migration-runner.ts. This file re-exports them for backward compat.
10
13
  */
11
14
  import { createDatabaseSync, createDatabaseAsync as createDatabaseAsyncFactory, } from './createDatabase.js';
12
- import { MIGRATION_V2_SQL } from './migrations/v2-phase5-columns.js';
13
- import { MIGRATION_V3_SQL } from './migrations/v3-sync-tables.js';
14
- import { MIGRATION_V4_SQL } from './migrations/v4-security-columns.js';
15
- import { MIGRATION_V5_SQL } from './migrations/v5-skill-versions.js';
16
- import { MIGRATION_V5B_SQL } from './migrations/v5b-change-type.js';
17
- import { MIGRATION_V6_SQL } from './migrations/v6-advisories.js';
18
- import { MIGRATION_V7_SQL } from './migrations/v7-compatibility.js';
19
- import { MIGRATION_V8_SQL } from './migrations/v8-co-installs.js';
20
- import { MIGRATION_V10_SQL } from './migrations/v10-dependencies.js';
15
+ // Re-export SQL constants (SMI-3910: extracted to avoid circular imports)
16
+ export { SCHEMA_SQL, FTS5_MIGRATION_SQL } from './schema-sql.js';
17
+ import { SCHEMA_SQL } from './schema-sql.js';
18
+ // Re-export migration runner functions and types (extracted in SMI-3910)
19
+ export { MIGRATIONS, getSchemaVersion, runMigrations, runMigrationsSafe, } from './migration-runner.js';
20
+ // Re-import for use within this file (openDatabase, openDatabaseAsync)
21
+ import { runMigrationsSafe } from './migration-runner.js';
21
22
  // v11: SMI-3510 content hash verification column
22
- export const SCHEMA_VERSION = 11;
23
- /**
24
- * SQL statements for creating the database schema
25
- */
26
- export const SCHEMA_SQL = `
27
- -- Enable WAL mode for better concurrent performance
28
- PRAGMA journal_mode = WAL;
29
- PRAGMA synchronous = NORMAL;
30
- PRAGMA cache_size = -64000; -- 64MB cache
31
- PRAGMA temp_store = MEMORY;
32
-
33
- -- Schema version tracking
34
- CREATE TABLE IF NOT EXISTS schema_version (
35
- version INTEGER PRIMARY KEY,
36
- applied_at TEXT NOT NULL DEFAULT (datetime('now'))
37
- );
38
-
39
- -- Skills table - main storage for discovered skills
40
- CREATE TABLE IF NOT EXISTS skills (
41
- id TEXT PRIMARY KEY,
42
- name TEXT NOT NULL,
43
- description TEXT,
44
- author TEXT,
45
- repo_url TEXT UNIQUE,
46
- quality_score REAL CHECK(quality_score IS NULL OR (quality_score >= 0 AND quality_score <= 1)),
47
- trust_tier TEXT CHECK(trust_tier IN ('verified', 'community', 'experimental', 'unknown')) DEFAULT 'unknown',
48
- tags TEXT DEFAULT '[]', -- JSON array of tags
49
- risk_score INTEGER CHECK(risk_score IS NULL OR (risk_score >= 0 AND risk_score <= 100)), -- SMI-825
50
- security_findings_count INTEGER DEFAULT 0,
51
- security_scanned_at TEXT,
52
- security_passed INTEGER, -- boolean: 1 = passed, 0 = failed, NULL = not scanned
53
- compatibility TEXT DEFAULT '[]', -- SMI-2760: JSON array of IDE/LLM/platform slugs
54
- content_hash TEXT, -- SMI-3510: SHA-256 hash of SKILL.md for tamper detection
55
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
56
- updated_at TEXT NOT NULL DEFAULT (datetime('now'))
57
- );
58
-
59
- -- FTS5 virtual table for full-text search with BM25 ranking
60
- CREATE VIRTUAL TABLE IF NOT EXISTS skills_fts USING fts5(
61
- name,
62
- description,
63
- tags,
64
- author,
65
- content='skills',
66
- content_rowid='rowid',
67
- tokenize='porter unicode61'
68
- );
69
-
70
- -- Triggers to keep FTS index in sync with skills table
71
- CREATE TRIGGER IF NOT EXISTS skills_ai AFTER INSERT ON skills BEGIN
72
- INSERT INTO skills_fts(rowid, name, description, tags, author)
73
- VALUES (NEW.rowid, NEW.name, NEW.description, NEW.tags, NEW.author);
74
- END;
75
-
76
- CREATE TRIGGER IF NOT EXISTS skills_ad AFTER DELETE ON skills BEGIN
77
- INSERT INTO skills_fts(skills_fts, rowid, name, description, tags, author)
78
- VALUES ('delete', OLD.rowid, OLD.name, OLD.description, OLD.tags, OLD.author);
79
- END;
80
-
81
- CREATE TRIGGER IF NOT EXISTS skills_au AFTER UPDATE ON skills BEGIN
82
- INSERT INTO skills_fts(skills_fts, rowid, name, description, tags, author)
83
- VALUES ('delete', OLD.rowid, OLD.name, OLD.description, OLD.tags, OLD.author);
84
- INSERT INTO skills_fts(rowid, name, description, tags, author)
85
- VALUES (NEW.rowid, NEW.name, NEW.description, NEW.tags, NEW.author);
86
- END;
87
-
88
- -- Sources table - tracks where skills are discovered from
89
- CREATE TABLE IF NOT EXISTS sources (
90
- id TEXT PRIMARY KEY,
91
- name TEXT NOT NULL,
92
- type TEXT NOT NULL CHECK(type IN ('github', 'gitlab', 'local', 'registry')),
93
- url TEXT NOT NULL UNIQUE,
94
- last_sync_at TEXT,
95
- is_active INTEGER NOT NULL DEFAULT 1,
96
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
97
- );
98
-
99
- -- Categories table - hierarchical organization of skills
100
- CREATE TABLE IF NOT EXISTS categories (
101
- id TEXT PRIMARY KEY,
102
- name TEXT NOT NULL UNIQUE,
103
- description TEXT,
104
- parent_id TEXT REFERENCES categories(id) ON DELETE SET NULL,
105
- skill_count INTEGER NOT NULL DEFAULT 0,
106
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
107
- );
108
-
109
- -- Skill-Category junction table
110
- CREATE TABLE IF NOT EXISTS skill_categories (
111
- skill_id TEXT NOT NULL REFERENCES skills(id) ON DELETE CASCADE,
112
- category_id TEXT NOT NULL REFERENCES categories(id) ON DELETE CASCADE,
113
- PRIMARY KEY (skill_id, category_id)
114
- );
115
-
116
- -- Cache table for search results and API responses
117
- CREATE TABLE IF NOT EXISTS cache (
118
- key TEXT PRIMARY KEY,
119
- value TEXT NOT NULL,
120
- expires_at INTEGER, -- Unix timestamp, NULL for no expiry
121
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
122
- );
123
-
124
- -- Indexes for common query patterns
125
- CREATE INDEX IF NOT EXISTS idx_skills_author ON skills(author);
126
- CREATE INDEX IF NOT EXISTS idx_skills_trust_tier ON skills(trust_tier);
127
- CREATE INDEX IF NOT EXISTS idx_skills_quality_score ON skills(quality_score);
128
- CREATE INDEX IF NOT EXISTS idx_skills_updated_at ON skills(updated_at);
129
- CREATE INDEX IF NOT EXISTS idx_skills_created_at ON skills(created_at);
130
- CREATE INDEX IF NOT EXISTS idx_skills_risk_score ON skills(risk_score);
131
- CREATE INDEX IF NOT EXISTS idx_skills_security_passed ON skills(security_passed);
132
- CREATE INDEX IF NOT EXISTS idx_sources_type ON sources(type);
133
- CREATE INDEX IF NOT EXISTS idx_sources_is_active ON sources(is_active);
134
- CREATE INDEX IF NOT EXISTS idx_categories_parent ON categories(parent_id);
135
- CREATE INDEX IF NOT EXISTS idx_cache_expires ON cache(expires_at);
136
-
137
- -- SMI-733: Audit logs table for security monitoring
138
- -- See: docs/security/index.md §3 Audit Logging
139
- CREATE TABLE IF NOT EXISTS audit_logs (
140
- id TEXT PRIMARY KEY,
141
- event_type TEXT NOT NULL,
142
- timestamp TEXT NOT NULL DEFAULT (datetime('now')),
143
- actor TEXT,
144
- resource TEXT,
145
- action TEXT,
146
- result TEXT,
147
- metadata TEXT,
148
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
149
- );
150
-
151
- CREATE INDEX IF NOT EXISTS idx_audit_event_type ON audit_logs(event_type);
152
- CREATE INDEX IF NOT EXISTS idx_audit_timestamp ON audit_logs(timestamp);
153
- CREATE INDEX IF NOT EXISTS idx_audit_resource ON audit_logs(resource);
154
- CREATE INDEX IF NOT EXISTS idx_audit_result ON audit_logs(result);
155
- CREATE INDEX IF NOT EXISTS idx_audit_actor ON audit_logs(actor);
156
- `;
157
- export const MIGRATIONS = [
158
- {
159
- version: 1,
160
- description: 'Initial schema creation',
161
- sql: SCHEMA_SQL,
162
- },
163
- {
164
- version: 2,
165
- description: 'SMI-974: Add missing columns for Phase 5 imported databases',
166
- sql: MIGRATION_V2_SQL,
167
- },
168
- {
169
- version: 3,
170
- description: 'Registry sync tables for local-to-live synchronization',
171
- sql: MIGRATION_V3_SQL,
172
- },
173
- {
174
- version: 4,
175
- description: 'SMI-825: Add security scan columns to skills table',
176
- sql: MIGRATION_V4_SQL,
177
- },
178
- {
179
- version: 5,
180
- description: 'SMI-skill-version-tracking Wave 1: skill_versions table',
181
- sql: MIGRATION_V5_SQL,
182
- },
183
- {
184
- version: 6,
185
- description: 'SMI-skill-version-tracking Wave 2: add change_type to skill_versions',
186
- sql: MIGRATION_V5B_SQL,
187
- },
188
- {
189
- version: 7,
190
- description: 'SMI-skill-version-tracking Wave 3: skill_advisories table',
191
- sql: MIGRATION_V6_SQL,
192
- },
193
- {
194
- version: 8,
195
- description: 'SMI-2760: compatibility column on skills table',
196
- sql: MIGRATION_V7_SQL,
197
- },
198
- {
199
- version: 9,
200
- description: 'SMI-2761: skill_co_installs table for co-install recommendations',
201
- sql: MIGRATION_V8_SQL,
202
- },
203
- {
204
- version: 10,
205
- description: 'Skill dependency intelligence: skill_dependencies table',
206
- sql: MIGRATION_V10_SQL,
207
- },
208
- {
209
- version: 11,
210
- description: 'SMI-3510: content_hash column for tamper detection',
211
- sql: 'ALTER TABLE skills ADD COLUMN content_hash TEXT',
212
- },
213
- ];
214
- /**
215
- * SMI-974: Migration SQL for adding FTS5 to existing database
216
- * Run separately as FTS5 creation can fail if table exists
217
- */
218
- export const FTS5_MIGRATION_SQL = `
219
- -- Create FTS5 virtual table if not exists
220
- CREATE VIRTUAL TABLE IF NOT EXISTS skills_fts USING fts5(
221
- name,
222
- description,
223
- tags,
224
- author,
225
- content='skills',
226
- content_rowid='rowid',
227
- tokenize='porter unicode61'
228
- );
229
-
230
- -- Populate FTS from existing skills (safe to run multiple times)
231
- INSERT OR IGNORE INTO skills_fts(rowid, name, description, tags, author)
232
- SELECT rowid, name, description, tags, author FROM skills;
233
- `;
23
+ // v12: SMI-3864 risk score history for trend detection
24
+ // v13: SMI-3896 visibility and team_id for private skills
25
+ export const SCHEMA_VERSION = 13;
234
26
  /**
235
27
  * Initialize the database with the complete schema
236
28
  */
@@ -240,49 +32,6 @@ export function initializeSchema(db) {
240
32
  const stmt = db.prepare('INSERT OR REPLACE INTO schema_version (version) VALUES (?)');
241
33
  stmt.run(SCHEMA_VERSION);
242
34
  }
243
- /**
244
- * Get the current schema version from the database
245
- */
246
- export function getSchemaVersion(db) {
247
- try {
248
- const result = db.prepare('SELECT MAX(version) as version FROM schema_version').get();
249
- return result?.version ?? 0;
250
- }
251
- catch {
252
- return 0;
253
- }
254
- }
255
- /**
256
- * Run pending migrations to upgrade the schema
257
- * Handles duplicate column errors gracefully since the initial schema
258
- * already includes all columns, but migrations need to support databases
259
- * created by other means (e.g., Phase 5 import scripts)
260
- */
261
- export function runMigrations(db) {
262
- const currentVersion = getSchemaVersion(db);
263
- let migrationsRun = 0;
264
- for (const migration of MIGRATIONS) {
265
- if (migration.version > currentVersion) {
266
- // Execute each statement separately to handle duplicate column errors
267
- const statements = migration.sql.split(';').filter((s) => s.trim());
268
- for (const stmt of statements) {
269
- try {
270
- db.exec(stmt);
271
- }
272
- catch (error) {
273
- // Ignore "duplicate column" errors - column already exists from initial schema
274
- const msg = error instanceof Error ? error.message : String(error);
275
- if (!msg.includes('duplicate column')) {
276
- throw error;
277
- }
278
- }
279
- }
280
- db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(migration.version);
281
- migrationsRun++;
282
- }
283
- }
284
- return migrationsRun;
285
- }
286
35
  /** @deprecated Use createDatabaseAsync() — requires better-sqlite3 native module. */
287
36
  export function createDatabase(path = ':memory:') {
288
37
  const db = createDatabaseSync(path);
@@ -319,45 +68,6 @@ export function openDatabase(path) {
319
68
  runMigrationsSafe(db);
320
69
  return db;
321
70
  }
322
- /** SMI-974: Run migrations with error handling for existing columns */
323
- export function runMigrationsSafe(db) {
324
- const currentVersion = getSchemaVersion(db);
325
- let migrationsRun = 0;
326
- for (const migration of MIGRATIONS) {
327
- if (migration.version > currentVersion) {
328
- try {
329
- // Try to run migration, but handle "duplicate column" errors gracefully
330
- const statements = migration.sql.split(';').filter((s) => s.trim());
331
- for (const stmt of statements) {
332
- try {
333
- db.exec(stmt);
334
- }
335
- catch (error) {
336
- // Ignore "duplicate column" errors - column already exists
337
- const msg = error instanceof Error ? error.message : String(error);
338
- if (!msg.includes('duplicate column')) {
339
- throw error;
340
- }
341
- }
342
- }
343
- db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(migration.version);
344
- migrationsRun++;
345
- }
346
- catch (error) {
347
- // Log but don't fail on migration errors
348
- console.warn(`Migration ${migration.version} failed:`, error);
349
- }
350
- }
351
- }
352
- // Try to create FTS5 table (may already exist)
353
- try {
354
- db.exec(FTS5_MIGRATION_SQL);
355
- }
356
- catch {
357
- // FTS5 may already exist or have issues - that's ok
358
- }
359
- return migrationsRun;
360
- }
361
71
  /**
362
72
  * Close the database connection safely
363
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,IAAI,0BAA0B,GAClD,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAIpE,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAA;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkIzB,CAAA;AAWD,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,yBAAyB;QACtC,GAAG,EAAE,UAAU;KAChB;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,6DAA6D;QAC1E,GAAG,EAAE,gBAAgB;KACtB;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,wDAAwD;QACrE,GAAG,EAAE,gBAAgB;KACtB;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,oDAAoD;QACjE,GAAG,EAAE,gBAAgB;KACtB;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,yDAAyD;QACtE,GAAG,EAAE,gBAAgB;KACtB;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,sEAAsE;QACnF,GAAG,EAAE,iBAAiB;KACvB;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,2DAA2D;QACxE,GAAG,EAAE,gBAAgB;KACtB;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,gDAAgD;QAC7D,GAAG,EAAE,gBAAgB;KACtB;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,kEAAkE;QAC/E,GAAG,EAAE,gBAAgB;KACtB;IACD;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,yDAAyD;QACtE,GAAG,EAAE,iBAAiB;KACvB;IACD;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,oDAAoD;QACjE,GAAG,EAAE,iDAAiD;KACvD;CACF,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;CAejC,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAgB;IAC/C,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEnB,4BAA4B;IAC5B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAA;IACrF,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,EAEtE,CAAA;QACb,OAAO,MAAM,EAAE,OAAO,IAAI,CAAC,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,EAAgB;IAC5C,MAAM,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAC3C,IAAI,aAAa,GAAG,CAAC,CAAA;IAErB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC;YACvC,sEAAsE;YACtE,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YACnE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACf,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,+EAA+E;oBAC/E,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAClE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;wBACtC,MAAM,KAAK,CAAA;oBACb,CAAC;gBACH,CAAC;YACH,CAAC;YACD,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YACpF,aAAa,EAAE,CAAA;QACjB,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,cAAc,CAAC,OAAe,UAAU;IACtD,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAEnC,sBAAsB;IACtB,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAE9B,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAEpB,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAEnC,sBAAsB;IACtB,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAE9B,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,EAAE;SACxB,OAAO,CAAC,6EAA6E,CAAC;SACtF,GAAG,EAAE,CAAA;IAER,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,6EAA6E;QAC7E,mDAAmD;QACnD,EAAE,CAAC,IAAI,CAAC;;;;;;KAMP,CAAC,CAAA;IACJ,CAAC;IAED,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAErB,OAAO,EAAE,CAAA;AACX,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,EAAgB;IAChD,MAAM,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAC3C,IAAI,aAAa,GAAG,CAAC,CAAA;IAErB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,wEAAwE;gBACxE,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;gBACnE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACH,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACf,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,2DAA2D;wBAC3D,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wBAClE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;4BACtC,MAAM,KAAK,CAAA;wBACb,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;gBACpF,aAAa,EAAE,CAAA;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yCAAyC;gBACzC,OAAO,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,OAAO,UAAU,EAAE,KAAK,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;IACtD,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAgB;IAC5C,EAAE,CAAC,KAAK,EAAE,CAAA;AACZ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe,UAAU;IACjE,MAAM,EAAE,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAA;IAEjD,sBAAsB;IACtB,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAE9B,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAEpB,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAClD,MAAM,EAAE,GAAG,MAAM,0BAA0B,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAE1E,sBAAsB;IACtB,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAE9B,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,EAAE;SACxB,OAAO,CAAC,6EAA6E,CAAC;SACtF,GAAG,EAAE,CAAA;IAER,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,iEAAiE;QACjE,EAAE,CAAC,IAAI,CAAC;;;;;;KAMP,CAAC,CAAA;IACJ,CAAC;IAED,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAErB,OAAO,EAAE,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"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"}
@@ -24,4 +24,5 @@ export { computeUpdateRisk, type RiskLevel, type Recommendation, type UpdateRisk
24
24
  export { AdvisoryRepository, type SkillAdvisory } from '../repositories/AdvisoryRepository.js';
25
25
  export { CoInstallRepository, type CoInstallSummary } from '../repositories/CoInstallRepository.js';
26
26
  export { SkillDependencyRepository } from '../repositories/SkillDependencyRepository.js';
27
+ export { RiskScoreHistoryRepository, type RiskScoreSnapshot, } from '../repositories/RiskScoreHistoryRepository.js';
27
28
  //# sourceMappingURL=repositories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repositories.d.ts","sourceRoot":"","sources":["../../../src/exports/repositories.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAEjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AAExB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,YAAY,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAG3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAM/E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAExE,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,GAClB,MAAM,sCAAsC,CAAA;AAM7C,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,GAC5B,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,yCAAyC,CAAA;AAMhD,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAA;AAE3B,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,IAAI,mBAAmB,EACjC,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAM3B,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAMtF,OAAO,EACL,sBAAsB,EACtB,KAAK,eAAe,GACrB,MAAM,2CAA2C,CAAA;AAMlD,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAEpF,OAAO,EACL,iBAAiB,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,GAChB,MAAM,8BAA8B,CAAA;AAMrC,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAM9F,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAMnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA"}
1
+ {"version":3,"file":"repositories.d.ts","sourceRoot":"","sources":["../../../src/exports/repositories.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAEjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AAExB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,YAAY,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAG3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAM/E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAExE,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,GAClB,MAAM,sCAAsC,CAAA;AAM7C,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,GAC5B,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,yCAAyC,CAAA;AAMhD,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAA;AAE3B,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,IAAI,mBAAmB,EACjC,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAM3B,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAMtF,OAAO,EACL,sBAAsB,EACtB,KAAK,eAAe,GACrB,MAAM,2CAA2C,CAAA;AAMlD,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAEpF,OAAO,EACL,iBAAiB,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,GAChB,MAAM,8BAA8B,CAAA;AAMrC,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAM9F,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAMnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAMxF,OAAO,EACL,0BAA0B,EAC1B,KAAK,iBAAiB,GACvB,MAAM,+CAA+C,CAAA"}
@@ -54,4 +54,8 @@ export { CoInstallRepository } from '../repositories/CoInstallRepository.js';
54
54
  // Skill Dependency Repository (SMI-3143)
55
55
  // ============================================================================
56
56
  export { SkillDependencyRepository } from '../repositories/SkillDependencyRepository.js';
57
+ // ============================================================================
58
+ // Risk Score History Repository (SMI-3864)
59
+ // ============================================================================
60
+ export { RiskScoreHistoryRepository, } from '../repositories/RiskScoreHistoryRepository.js';
57
61
  //# sourceMappingURL=repositories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../../src/exports/repositories.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,wCAAwC;AACxC,+EAA+E;AAE/E,OAAO,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB;AACjB,sDAAsD;AACtD,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AAIxB,mEAAmE;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG5D,uCAAuC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAE/E,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAQxE,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,GAG7B,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,oBAAoB,GAQrB,MAAM,yCAAyC,CAAA;AAEhD,+EAA+E;AAC/E,yDAAyD;AACzD,+EAA+E;AAE/E,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAA;AAY3B,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAE/E,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEtF,+EAA+E;AAC/E,+DAA+D;AAC/D,+EAA+E;AAE/E,OAAO,EACL,sBAAsB,GAEvB,MAAM,2CAA2C,CAAA;AAElD,+EAA+E;AAC/E,2DAA2D;AAC3D,+EAA+E;AAE/E,OAAO,EAAE,cAAc,EAAmB,MAAM,oCAAoC,CAAA;AAEpF,OAAO,EACL,iBAAiB,GAIlB,MAAM,8BAA8B,CAAA;AAErC,+EAA+E;AAC/E,0DAA0D;AAC1D,+EAA+E;AAE/E,OAAO,EAAE,kBAAkB,EAAsB,MAAM,uCAAuC,CAAA;AAE9F,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,OAAO,EAAE,mBAAmB,EAAyB,MAAM,wCAAwC,CAAA;AAEnG,+EAA+E;AAC/E,yCAAyC;AACzC,+EAA+E;AAE/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA"}
1
+ {"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../../src/exports/repositories.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,wCAAwC;AACxC,+EAA+E;AAE/E,OAAO,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB;AACjB,sDAAsD;AACtD,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AAIxB,mEAAmE;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG5D,uCAAuC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAE/E,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAQxE,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,GAG7B,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,oBAAoB,GAQrB,MAAM,yCAAyC,CAAA;AAEhD,+EAA+E;AAC/E,yDAAyD;AACzD,+EAA+E;AAE/E,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAA;AAY3B,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAE/E,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEtF,+EAA+E;AAC/E,+DAA+D;AAC/D,+EAA+E;AAE/E,OAAO,EACL,sBAAsB,GAEvB,MAAM,2CAA2C,CAAA;AAElD,+EAA+E;AAC/E,2DAA2D;AAC3D,+EAA+E;AAE/E,OAAO,EAAE,cAAc,EAAmB,MAAM,oCAAoC,CAAA;AAEpF,OAAO,EACL,iBAAiB,GAIlB,MAAM,8BAA8B,CAAA;AAErC,+EAA+E;AAC/E,0DAA0D;AAC1D,+EAA+E;AAE/E,OAAO,EAAE,kBAAkB,EAAsB,MAAM,uCAAuC,CAAA;AAE9F,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,OAAO,EAAE,mBAAmB,EAAyB,MAAM,wCAAwC,CAAA;AAEnG,+EAA+E;AAC/E,yCAAyC;AACzC,+EAA+E;AAE/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAExF,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAE/E,OAAO,EACL,0BAA0B,GAE3B,MAAM,+CAA+C,CAAA"}
@@ -32,5 +32,6 @@ export { mergeDependencies, type MergedDependency } from '../analysis/Dependency
32
32
  export { StripeClient, BillingService, StripeWebhookHandler, GDPRComplianceService, StripeReconciliationJob, BillingError, type StripeClientConfig, type TierPriceConfigs, type BillingServiceConfig, type StripeWebhookHandlerConfig, type GDPRComplianceServiceConfig, type CustomerDataExport, type SubscriptionExportData, type InvoiceExportData, type LicenseKeyExportData, type WebhookEventExportData, type DeletionResult, type StripeReconciliationJobConfig, type DiscrepancyType, type Discrepancy, type ReconciliationResult, type StripeCustomerId, type StripeSubscriptionId, type StripePriceId, type StripeInvoiceId, type StripeEventId, type StripeCheckoutSessionId, type SubscriptionStatus, type BillingPeriod, type Subscription, type Invoice, type InvoiceStatus, type WebhookEvent, type WebhookProcessResult, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreatePortalSessionRequest, type CreatePortalSessionResponse, type UpdateSeatsRequest, type UpdateSeatsResponse, type BillingErrorCode, type LicenseTier, } from '../billing/index.js';
33
33
  export { SkillInstallationService, type SkillInstallationServiceParams, } from '../services/skill-installation.service.js';
34
34
  export { ManifestManager } from '../services/skill-manifest.js';
35
- export { TRUST_TIER_SCANNER_OPTIONS as INSTALL_TRUST_TIER_SCANNER_OPTIONS, type ProgressCallback, type InstallOptions, type InstallResult as CoreInstallResult, type UninstallOptions, type UninstallResult as CoreUninstallResult, type SkillManifest, type SkillManifestEntry, type RegistrySkillInfo, type RegistryLookup, type CoInstallRecorder, type DepIntelResult, type OptimizationInfo as CoreOptimizationInfo, type ConflictAction as CoreConflictAction, } from '../services/skill-installation.types.js';
35
+ export { TRUST_TIER_SCANNER_OPTIONS as INSTALL_TRUST_TIER_SCANNER_OPTIONS, type ProgressCallback, type InstallOptions, type InstallResult as CoreInstallResult, type UninstallOptions, type UninstallResult as CoreUninstallResult, type SkillManifest, type SkillManifestEntry, type RegistrySkillInfo, type RegistryLookup, type CoInstallRecorder, type DepIntelResult, type OptimizationInfo as CoreOptimizationInfo, type ConflictAction as CoreConflictAction, type AiDefenceFeedback, } from '../services/skill-installation.types.js';
36
+ export { recordAiDefenceFeedback, collectTrendWarnings, } from '../services/skill-installation.feedback.js';
36
37
  //# sourceMappingURL=services.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/exports/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/exports/services.ts"],"names":[],"mappings":"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"}
@@ -82,4 +82,5 @@ export { StripeClient, BillingService, StripeWebhookHandler, GDPRComplianceServi
82
82
  export { SkillInstallationService, } from '../services/skill-installation.service.js';
83
83
  export { ManifestManager } from '../services/skill-manifest.js';
84
84
  export { TRUST_TIER_SCANNER_OPTIONS as INSTALL_TRUST_TIER_SCANNER_OPTIONS, } from '../services/skill-installation.types.js';
85
+ export { recordAiDefenceFeedback, collectTrendWarnings, } from '../services/skill-installation.feedback.js';
85
86
  //# sourceMappingURL=services.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/exports/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/exports/services.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @skillsmith/core - Core functionality for skill discovery
3
3
  */
4
- export declare const VERSION = "0.4.17";
4
+ export declare const VERSION = "0.5.0";
5
5
  export * from './exports/services.js';
6
6
  export * from './exports/repositories.js';
7
7
  export { createDatabaseSync, createDatabaseAsync } from './db/createDatabase.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
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.4.17';
5
+ export const VERSION = '0.5.0';
6
6
  // ============================================================================
7
7
  // Grouped Exports from Barrel Files
8
8
  // ============================================================================
@@ -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,37 @@
1
+ /**
2
+ * @fileoverview Risk Score History Repository
3
+ * @module @skillsmith/core/repositories/RiskScoreHistoryRepository
4
+ * @see SMI-3864: Security-informed quality scoring
5
+ *
6
+ * CRUD operations for the risk_score_history table.
7
+ * Records point-in-time snapshots after each security scan
8
+ * for trend detection and supply chain attack monitoring.
9
+ */
10
+ import type { Database } from '../db/database-interface.js';
11
+ export interface RiskScoreSnapshot {
12
+ id: number;
13
+ skillId: string;
14
+ riskScore: number;
15
+ findingsCount: number;
16
+ contentHash: string | null;
17
+ scannedAt: string;
18
+ source: 'install' | 'indexer' | 'rescan';
19
+ }
20
+ export declare class RiskScoreHistoryRepository {
21
+ private readonly db;
22
+ constructor(db: Database);
23
+ /**
24
+ * Record a risk score snapshot. Prunes old entries to cap at
25
+ * MAX_HISTORY_PER_SKILL per skill (Review #7).
26
+ */
27
+ record(snapshot: Omit<RiskScoreSnapshot, 'id'>): void;
28
+ /**
29
+ * Get risk score history for a skill, most recent first.
30
+ */
31
+ getHistory(skillId: string, limit?: number): RiskScoreSnapshot[];
32
+ /**
33
+ * Get the most recent risk score snapshot for a skill.
34
+ */
35
+ getLatest(skillId: string): RiskScoreSnapshot | null;
36
+ }
37
+ //# sourceMappingURL=RiskScoreHistoryRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RiskScoreHistoryRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/RiskScoreHistoryRepository.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE3D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;CACzC;AAKD,qBAAa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI;IA6BrD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,iBAAiB,EAAE;IA8BpE;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;CAIrD"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @fileoverview Risk Score History Repository
3
+ * @module @skillsmith/core/repositories/RiskScoreHistoryRepository
4
+ * @see SMI-3864: Security-informed quality scoring
5
+ *
6
+ * CRUD operations for the risk_score_history table.
7
+ * Records point-in-time snapshots after each security scan
8
+ * for trend detection and supply chain attack monitoring.
9
+ */
10
+ /** Maximum history entries per skill before pruning (Review #7) */
11
+ const MAX_HISTORY_PER_SKILL = 100;
12
+ export class RiskScoreHistoryRepository {
13
+ db;
14
+ constructor(db) {
15
+ this.db = db;
16
+ }
17
+ /**
18
+ * Record a risk score snapshot. Prunes old entries to cap at
19
+ * MAX_HISTORY_PER_SKILL per skill (Review #7).
20
+ */
21
+ record(snapshot) {
22
+ this.db
23
+ .prepare(`INSERT INTO risk_score_history (skill_id, risk_score, findings_count, content_hash, scanned_at, source)
24
+ VALUES (?, ?, ?, ?, ?, ?)`)
25
+ .run(snapshot.skillId, snapshot.riskScore, snapshot.findingsCount, snapshot.contentHash, snapshot.scannedAt, snapshot.source);
26
+ // Prune old entries beyond the cap
27
+ this.db
28
+ .prepare(`DELETE FROM risk_score_history
29
+ WHERE skill_id = ? AND id NOT IN (
30
+ SELECT id FROM risk_score_history
31
+ WHERE skill_id = ?
32
+ ORDER BY scanned_at DESC
33
+ LIMIT ?
34
+ )`)
35
+ .run(snapshot.skillId, snapshot.skillId, MAX_HISTORY_PER_SKILL);
36
+ }
37
+ /**
38
+ * Get risk score history for a skill, most recent first.
39
+ */
40
+ getHistory(skillId, limit = 50) {
41
+ const rows = this.db
42
+ .prepare(`SELECT id, skill_id, risk_score, findings_count, content_hash, scanned_at, source
43
+ FROM risk_score_history
44
+ WHERE skill_id = ?
45
+ ORDER BY scanned_at DESC
46
+ LIMIT ?`)
47
+ .all(skillId, limit);
48
+ return rows.map((row) => ({
49
+ id: row.id,
50
+ skillId: row.skill_id,
51
+ riskScore: row.risk_score,
52
+ findingsCount: row.findings_count,
53
+ contentHash: row.content_hash,
54
+ scannedAt: row.scanned_at,
55
+ source: row.source,
56
+ }));
57
+ }
58
+ /**
59
+ * Get the most recent risk score snapshot for a skill.
60
+ */
61
+ getLatest(skillId) {
62
+ const rows = this.getHistory(skillId, 1);
63
+ return rows.length > 0 ? rows[0] : null;
64
+ }
65
+ }
66
+ //# sourceMappingURL=RiskScoreHistoryRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RiskScoreHistoryRepository.js","sourceRoot":"","sources":["../../../src/repositories/RiskScoreHistoryRepository.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,mEAAmE;AACnE,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAEjC,MAAM,OAAO,0BAA0B;IACR;IAA7B,YAA6B,EAAY;QAAZ,OAAE,GAAF,EAAE,CAAU;IAAG,CAAC;IAE7C;;;OAGG;IACH,MAAM,CAAC,QAAuC;QAC5C,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;mCAC2B,CAC5B;aACA,GAAG,CACF,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,aAAa,EACtB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,MAAM,CAChB,CAAA;QAEH,mCAAmC;QACnC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;WAMG,CACJ;aACA,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAA;IACnE,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAe,EAAE,QAAgB,EAAE;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN;;;;iBAIS,CACV;aACA,GAAG,CAAC,OAAO,EAAE,KAAK,CAQnB,CAAA;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,aAAa,EAAE,GAAG,CAAC,cAAc;YACjC,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,MAAM,EAAE,GAAG,CAAC,MAAqC;SAClD,CAAC,CAAC,CAAA;IACL,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACxC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACzC,CAAC;CACF"}
@@ -6,4 +6,5 @@
6
6
  * @module scoring
7
7
  */
8
8
  export { QualityScorer, quickScore, scoreFromRepository, type QualityScoringInput, type QualityScoreBreakdown, type ScoringWeights, } from './QualityScorer.js';
9
+ export { computeQualityScore, type QualityScoreInput } from './quality-score.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/scoring/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/scoring/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAA"}