@skillsmith/core 0.11.0 → 0.11.2
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 +10 -0
- package/README.md +7 -5
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/journal/reader.d.ts.map +1 -1
- package/dist/src/journal/reader.js +4 -1
- package/dist/src/journal/reader.js.map +1 -1
- package/dist/src/journal/types.d.ts +13 -3
- package/dist/src/journal/types.d.ts.map +1 -1
- package/dist/src/journal/types.js +8 -2
- package/dist/src/journal/types.js.map +1 -1
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js +31 -0
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
- package/dist/src/services/skill-installation.helpers.d.ts +13 -1
- package/dist/src/services/skill-installation.helpers.d.ts.map +1 -1
- package/dist/src/services/skill-installation.helpers.js +14 -1
- package/dist/src/services/skill-installation.helpers.js.map +1 -1
- package/dist/src/sync/BackgroundSyncService.d.ts +10 -2
- package/dist/src/sync/BackgroundSyncService.d.ts.map +1 -1
- package/dist/src/sync/BackgroundSyncService.js +46 -4
- package/dist/src/sync/BackgroundSyncService.js.map +1 -1
- package/dist/src/sync/SyncEngine.d.ts +9 -0
- package/dist/src/sync/SyncEngine.d.ts.map +1 -1
- package/dist/src/sync/SyncEngine.js +23 -4
- package/dist/src/sync/SyncEngine.js.map +1 -1
- package/dist/tests/skill-scanner/allowlist.test.js +7 -1
- package/dist/tests/skill-scanner/allowlist.test.js.map +1 -1
- package/dist/tests/sync/BackgroundSyncService.abort.test.d.ts +17 -0
- package/dist/tests/sync/BackgroundSyncService.abort.test.d.ts.map +1 -0
- package/dist/tests/sync/BackgroundSyncService.abort.test.js +182 -0
- package/dist/tests/sync/BackgroundSyncService.abort.test.js.map +1 -0
- package/dist/tests/sync/BackgroundSyncService.test.d.ts +9 -1
- package/dist/tests/sync/BackgroundSyncService.test.d.ts.map +1 -1
- package/dist/tests/sync/BackgroundSyncService.test.js +8 -3
- package/dist/tests/sync/BackgroundSyncService.test.js.map +1 -1
- package/dist/tests/sync/SyncEngine.abort.test.d.ts +15 -0
- package/dist/tests/sync/SyncEngine.abort.test.d.ts.map +1 -0
- package/dist/tests/sync/SyncEngine.abort.test.js +100 -0
- package/dist/tests/sync/SyncEngine.abort.test.js.map +1 -0
- package/dist/tests/sync/SyncEngine.status.test.d.ts +10 -0
- package/dist/tests/sync/SyncEngine.status.test.d.ts.map +1 -0
- package/dist/tests/sync/SyncEngine.status.test.js +97 -0
- package/dist/tests/sync/SyncEngine.status.test.js.map +1 -0
- package/dist/tests/sync/SyncEngine.test.d.ts +22 -1
- package/dist/tests/sync/SyncEngine.test.d.ts.map +1 -1
- package/dist/tests/sync/SyncEngine.test.js +3 -69
- package/dist/tests/sync/SyncEngine.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -52,7 +52,7 @@ export class SyncEngine {
|
|
|
52
52
|
* Run sync operation
|
|
53
53
|
*/
|
|
54
54
|
async sync(options = {}) {
|
|
55
|
-
const { force = false, dryRun = false, pageSize = 100, onProgress } = options;
|
|
55
|
+
const { force = false, dryRun = false, pageSize = 100, onProgress, signal } = options;
|
|
56
56
|
const startTime = Date.now();
|
|
57
57
|
const errors = [];
|
|
58
58
|
let skillsAdded = 0;
|
|
@@ -99,9 +99,17 @@ export class SyncEngine {
|
|
|
99
99
|
const searchQueries = ['git', 'code', 'dev', 'test', 'npm', 'api', 'cli', 'doc'];
|
|
100
100
|
const seenIds = new Set();
|
|
101
101
|
for (const searchQuery of searchQueries) {
|
|
102
|
+
// SMI-5649: stop fetching new query batches once aborted.
|
|
103
|
+
if (signal?.aborted)
|
|
104
|
+
break;
|
|
102
105
|
offset = 0;
|
|
103
106
|
hasMore = true;
|
|
104
107
|
while (hasMore) {
|
|
108
|
+
// SMI-5649: stop paginating the current query once aborted.
|
|
109
|
+
if (signal?.aborted) {
|
|
110
|
+
hasMore = false;
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
105
113
|
try {
|
|
106
114
|
const response = await this.apiClient.search({
|
|
107
115
|
query: searchQuery,
|
|
@@ -171,7 +179,13 @@ export class SyncEngine {
|
|
|
171
179
|
message: `Processing ${skillsToProcess.length} changed skills...`,
|
|
172
180
|
});
|
|
173
181
|
// Upsert changed skills
|
|
174
|
-
if
|
|
182
|
+
// SMI-5649: if aborted before any writes began, skip the upsert
|
|
183
|
+
// entirely and report as if nothing changed — never start a partial
|
|
184
|
+
// write once the shutdown quiesce has signaled abort.
|
|
185
|
+
if (signal?.aborted) {
|
|
186
|
+
skillsUnchanged = allSkills.length;
|
|
187
|
+
}
|
|
188
|
+
else if (!dryRun && skillsToProcess.length > 0) {
|
|
175
189
|
const stats = await this.upsertSkills(skillsToProcess, (current) => {
|
|
176
190
|
onProgress?.({
|
|
177
191
|
phase: 'upserting',
|
|
@@ -181,7 +195,7 @@ export class SyncEngine {
|
|
|
181
195
|
skillsChanged: skillsToProcess.length,
|
|
182
196
|
message: `Upserting skill ${current}/${skillsToProcess.length}...`,
|
|
183
197
|
});
|
|
184
|
-
});
|
|
198
|
+
}, signal);
|
|
185
199
|
skillsAdded = stats.added;
|
|
186
200
|
skillsUpdated = stats.updated;
|
|
187
201
|
skillsUnchanged = stats.unchanged;
|
|
@@ -276,11 +290,16 @@ export class SyncEngine {
|
|
|
276
290
|
/**
|
|
277
291
|
* Upsert skills into local database
|
|
278
292
|
*/
|
|
279
|
-
async upsertSkills(skills, onProgress) {
|
|
293
|
+
async upsertSkills(skills, onProgress, signal) {
|
|
280
294
|
let added = 0;
|
|
281
295
|
let updated = 0;
|
|
282
296
|
let unchanged = 0;
|
|
283
297
|
for (let i = 0; i < skills.length; i++) {
|
|
298
|
+
// SMI-5649: stop before the next skill once aborted. Each
|
|
299
|
+
// already-issued skillRepo.create/update + recordVersion call above
|
|
300
|
+
// this point is already committed — we simply don't start another.
|
|
301
|
+
if (signal?.aborted)
|
|
302
|
+
break;
|
|
284
303
|
const skill = skills[i];
|
|
285
304
|
const existing = this.skillRepo.findById(skill.id);
|
|
286
305
|
if (existing) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncEngine.js","sourceRoot":"","sources":["../../../src/sync/SyncEngine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAQnC;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACnE,CAAC;
|
|
1
|
+
{"version":3,"file":"SyncEngine.js","sourceRoot":"","sources":["../../../src/sync/SyncEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -328,11 +328,16 @@ describe('data/skills-security-allowlist.json (ship-it sanity)', () => {
|
|
|
328
328
|
// utility whose repo description mentions '.env file' as one of eight routing
|
|
329
329
|
// destinations; bare-keyword sensitive_path regex false-positives until
|
|
330
330
|
// Wave 2 tightens.
|
|
331
|
+
// SMI-5666 (2026-07-12): leksman/ai-security-guard added — defensive LLM-
|
|
332
|
+
// hardening skill whose repo description enumerates 'privilege escalation'
|
|
333
|
+
// as a threat it detects; same self-describing-security-tool FP class as
|
|
334
|
+
// MalPromptSentinel-CC-Skill. Also renewed the 4 entries that were about to
|
|
335
|
+
// expire 2026-07-21 (kcmadden, MalPromptSentinel, rhysha, mdium).
|
|
331
336
|
it('is parseable and every entry expires 90 days after review', () => {
|
|
332
337
|
const filePath = path.resolve(__dirname, '../../../../data/skills-security-allowlist.json');
|
|
333
338
|
const raw = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
334
339
|
const parsed = parseAllowlistFile(raw);
|
|
335
|
-
expect(parsed.allowlist.length).toBe(
|
|
340
|
+
expect(parsed.allowlist.length).toBe(9);
|
|
336
341
|
const ids = parsed.allowlist.map((e) => e.skillId).sort();
|
|
337
342
|
expect(ids).toEqual([
|
|
338
343
|
'github/D1DX/secret-capture-skill',
|
|
@@ -341,6 +346,7 @@ describe('data/skills-security-allowlist.json (ship-it sanity)', () => {
|
|
|
341
346
|
'github/StrategicPromptArchitect-AI/MalPromptSentinel-CC-Skill',
|
|
342
347
|
'github/dokind/qpay-skills',
|
|
343
348
|
'github/kcmadden/claude-code-1password-skill',
|
|
349
|
+
'github/leksman/ai-security-guard',
|
|
344
350
|
'github/rhysha/claude-security-research-skill',
|
|
345
351
|
'github/straygizmo/mdium',
|
|
346
352
|
].sort());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allowlist.test.js","sourceRoot":"","sources":["../../../tests/skill-scanner/allowlist.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"allowlist.test.js","sourceRoot":"","sources":["../../../tests/skill-scanner/allowlist.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-5649: BackgroundSyncService — abort + awaitable stop(), and the new
|
|
3
|
+
* logs-by-default onSyncError.
|
|
4
|
+
*
|
|
5
|
+
* Split from BackgroundSyncService.test.ts to stay under the 500-LOC
|
|
6
|
+
* file-size gate. Reuses that file's mock factories (createMockSyncEngine,
|
|
7
|
+
* createMockConfigRepo, createMockSyncResult — exported there for this
|
|
8
|
+
* purpose).
|
|
9
|
+
*
|
|
10
|
+
* The shutdown coordinator relies on `stop()` resolving only once any
|
|
11
|
+
* in-flight sync has settled, and on the `AbortSignal` it threads into
|
|
12
|
+
* `syncEngine.sync()` actually being aborted synchronously by `stop()` (so
|
|
13
|
+
* `SyncEngine`'s abort checkpoints see it before the process ever gets to
|
|
14
|
+
* `db.close()`).
|
|
15
|
+
*/
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=BackgroundSyncService.abort.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackgroundSyncService.abort.test.d.ts","sourceRoot":"","sources":["../../../tests/sync/BackgroundSyncService.abort.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-5649: BackgroundSyncService — abort + awaitable stop(), and the new
|
|
3
|
+
* logs-by-default onSyncError.
|
|
4
|
+
*
|
|
5
|
+
* Split from BackgroundSyncService.test.ts to stay under the 500-LOC
|
|
6
|
+
* file-size gate. Reuses that file's mock factories (createMockSyncEngine,
|
|
7
|
+
* createMockConfigRepo, createMockSyncResult — exported there for this
|
|
8
|
+
* purpose).
|
|
9
|
+
*
|
|
10
|
+
* The shutdown coordinator relies on `stop()` resolving only once any
|
|
11
|
+
* in-flight sync has settled, and on the `AbortSignal` it threads into
|
|
12
|
+
* `syncEngine.sync()` actually being aborted synchronously by `stop()` (so
|
|
13
|
+
* `SyncEngine`'s abort checkpoints see it before the process ever gets to
|
|
14
|
+
* `db.close()`).
|
|
15
|
+
*/
|
|
16
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
17
|
+
// SMI-5649: BackgroundSyncService.ts builds its default `onSyncError` logger
|
|
18
|
+
// via `createLogger('mcp')` (`../logging/index.js`, relative from
|
|
19
|
+
// `packages/core/src/sync/`) ONCE at module load, so asserting what it logs
|
|
20
|
+
// requires mocking the factory before the module under test is imported.
|
|
21
|
+
// `vi.mock` is hoisted above all imports (including the one below), so this
|
|
22
|
+
// works regardless of declaration order. Mirrors the identical pattern in
|
|
23
|
+
// `packages/mcp-server/src/shutdown.test.ts`.
|
|
24
|
+
const { mockLogger } = vi.hoisted(() => ({
|
|
25
|
+
mockLogger: {
|
|
26
|
+
error: vi.fn(),
|
|
27
|
+
warn: vi.fn(),
|
|
28
|
+
info: vi.fn(),
|
|
29
|
+
debug: vi.fn(),
|
|
30
|
+
},
|
|
31
|
+
}));
|
|
32
|
+
vi.mock('../../src/logging/index.js', () => ({
|
|
33
|
+
createLogger: vi.fn(() => mockLogger),
|
|
34
|
+
}));
|
|
35
|
+
import { BackgroundSyncService } from '../../src/sync/BackgroundSyncService.js';
|
|
36
|
+
import { createMockSyncResult, createMockSyncEngine, createMockConfigRepo, } from './BackgroundSyncService.test.js';
|
|
37
|
+
/**
|
|
38
|
+
* SMI-5649: abort + awaitable stop(). The shutdown coordinator relies on
|
|
39
|
+
* `stop()` resolving only once any in-flight sync has settled, and on the
|
|
40
|
+
* `AbortSignal` it threads into `syncEngine.sync()` actually being aborted
|
|
41
|
+
* synchronously by `stop()` (so `SyncEngine`'s abort checkpoints see it
|
|
42
|
+
* before the process ever gets to `db.close()`).
|
|
43
|
+
*/
|
|
44
|
+
describe('stop() — abort + awaitable settlement (SMI-5649)', () => {
|
|
45
|
+
beforeEach(() => {
|
|
46
|
+
vi.useRealTimers();
|
|
47
|
+
});
|
|
48
|
+
afterEach(() => {
|
|
49
|
+
vi.useFakeTimers();
|
|
50
|
+
});
|
|
51
|
+
it('passes an AbortSignal into syncEngine.sync()', async () => {
|
|
52
|
+
// start() is what creates the abortController (design doc §2.2) — the
|
|
53
|
+
// production path always calls start() before any sync can occur
|
|
54
|
+
// (createToolContextAsync calls `backgroundSync.start()` immediately
|
|
55
|
+
// after construction), so tests exercising the abort-signal plumbing
|
|
56
|
+
// must too.
|
|
57
|
+
const engine = createMockSyncEngine();
|
|
58
|
+
const service = new BackgroundSyncService(engine, createMockConfigRepo(), {
|
|
59
|
+
syncOnStart: false,
|
|
60
|
+
});
|
|
61
|
+
service.start();
|
|
62
|
+
await service.manualSync();
|
|
63
|
+
expect(engine.sync).toHaveBeenCalledWith(expect.objectContaining({ signal: expect.any(AbortSignal) }));
|
|
64
|
+
await service.stop();
|
|
65
|
+
});
|
|
66
|
+
it('stop() returns a Promise and resolves only after an in-flight sync settles', async () => {
|
|
67
|
+
let resolveSync;
|
|
68
|
+
const engine = {
|
|
69
|
+
sync: vi.fn().mockReturnValue(new Promise((resolve) => {
|
|
70
|
+
resolveSync = () => resolve(createMockSyncResult());
|
|
71
|
+
})),
|
|
72
|
+
};
|
|
73
|
+
const service = new BackgroundSyncService(engine, createMockConfigRepo(), {
|
|
74
|
+
syncOnStart: false,
|
|
75
|
+
});
|
|
76
|
+
service.start();
|
|
77
|
+
const inFlight = service.manualSync();
|
|
78
|
+
let stopSettled = false;
|
|
79
|
+
const stopPromise = service.stop().then(() => {
|
|
80
|
+
stopSettled = true;
|
|
81
|
+
});
|
|
82
|
+
// Give the microtask queue a chance to run — stop() must NOT resolve
|
|
83
|
+
// while the sync is still pending.
|
|
84
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
85
|
+
expect(stopSettled).toBe(false);
|
|
86
|
+
resolveSync();
|
|
87
|
+
await stopPromise;
|
|
88
|
+
expect(stopSettled).toBe(true);
|
|
89
|
+
await inFlight.catch(() => { });
|
|
90
|
+
});
|
|
91
|
+
it("aborts the in-flight sync's AbortSignal when stop() is called", async () => {
|
|
92
|
+
let capturedSignal;
|
|
93
|
+
let resolveSync;
|
|
94
|
+
const engine = {
|
|
95
|
+
sync: vi.fn().mockImplementation(({ signal }) => {
|
|
96
|
+
capturedSignal = signal;
|
|
97
|
+
return new Promise((resolve) => {
|
|
98
|
+
resolveSync = () => resolve(createMockSyncResult());
|
|
99
|
+
});
|
|
100
|
+
}),
|
|
101
|
+
};
|
|
102
|
+
const service = new BackgroundSyncService(engine, createMockConfigRepo(), {
|
|
103
|
+
syncOnStart: false,
|
|
104
|
+
});
|
|
105
|
+
service.start();
|
|
106
|
+
const inFlight = service.manualSync();
|
|
107
|
+
expect(capturedSignal?.aborted).toBe(false);
|
|
108
|
+
const stopPromise = service.stop();
|
|
109
|
+
expect(capturedSignal?.aborted).toBe(true);
|
|
110
|
+
resolveSync();
|
|
111
|
+
await stopPromise;
|
|
112
|
+
await inFlight.catch(() => { });
|
|
113
|
+
});
|
|
114
|
+
it('stop() still clears the timer and flips isStarted synchronously for non-awaiting callers', () => {
|
|
115
|
+
vi.useFakeTimers();
|
|
116
|
+
const service = new BackgroundSyncService(createMockSyncEngine(), createMockConfigRepo(), {
|
|
117
|
+
syncOnStart: false,
|
|
118
|
+
});
|
|
119
|
+
service.start();
|
|
120
|
+
expect(service.isServiceStarted()).toBe(true);
|
|
121
|
+
// Fire-and-forget — the original callers of stop() never awaited it.
|
|
122
|
+
void service.stop();
|
|
123
|
+
expect(service.isServiceStarted()).toBe(false);
|
|
124
|
+
vi.useRealTimers();
|
|
125
|
+
});
|
|
126
|
+
it('stop() resolves cleanly (no unhandled rejection) even when the in-flight sync rejects', async () => {
|
|
127
|
+
let rejectSync;
|
|
128
|
+
const engine = {
|
|
129
|
+
sync: vi.fn().mockReturnValue(new Promise((_resolve, reject) => {
|
|
130
|
+
rejectSync = reject;
|
|
131
|
+
})),
|
|
132
|
+
};
|
|
133
|
+
const service = new BackgroundSyncService(engine, createMockConfigRepo(), {
|
|
134
|
+
syncOnStart: false,
|
|
135
|
+
onSyncError: () => { },
|
|
136
|
+
});
|
|
137
|
+
const inFlight = service.manualSync().catch(() => { });
|
|
138
|
+
const stopPromise = service.stop();
|
|
139
|
+
rejectSync(new Error('network exploded'));
|
|
140
|
+
await expect(stopPromise).resolves.toBeUndefined();
|
|
141
|
+
await inFlight;
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
/**
|
|
145
|
+
* SMI-5649: sync errors were previously invisible by default (a no-op
|
|
146
|
+
* `onSyncError`) — this asserts the new default logs via the shared
|
|
147
|
+
* logger at error level, mirroring `closeDbOnShutdown`'s SMI-5615
|
|
148
|
+
* stderr-visibility rationale.
|
|
149
|
+
*/
|
|
150
|
+
describe('default onSyncError logs by default (SMI-5649)', () => {
|
|
151
|
+
beforeEach(() => {
|
|
152
|
+
vi.useRealTimers();
|
|
153
|
+
mockLogger.error.mockClear();
|
|
154
|
+
});
|
|
155
|
+
afterEach(() => {
|
|
156
|
+
vi.useFakeTimers();
|
|
157
|
+
});
|
|
158
|
+
it('logs via logger.error when no onSyncError override is provided', async () => {
|
|
159
|
+
const engine = {
|
|
160
|
+
sync: vi.fn().mockRejectedValue(new Error('Network timeout')),
|
|
161
|
+
};
|
|
162
|
+
const service = new BackgroundSyncService(engine, createMockConfigRepo(), {
|
|
163
|
+
syncOnStart: false,
|
|
164
|
+
});
|
|
165
|
+
await service.manualSync().catch(() => { });
|
|
166
|
+
expect(mockLogger.error).toHaveBeenCalledWith(expect.stringContaining('Background sync failed'), expect.objectContaining({ err: expect.any(Error) }));
|
|
167
|
+
});
|
|
168
|
+
it('does not log via the default when a caller-provided onSyncError override is given', async () => {
|
|
169
|
+
const onError = vi.fn();
|
|
170
|
+
const engine = {
|
|
171
|
+
sync: vi.fn().mockRejectedValue(new Error('Network timeout')),
|
|
172
|
+
};
|
|
173
|
+
const service = new BackgroundSyncService(engine, createMockConfigRepo(), {
|
|
174
|
+
syncOnStart: false,
|
|
175
|
+
onSyncError: onError,
|
|
176
|
+
});
|
|
177
|
+
await service.manualSync().catch(() => { });
|
|
178
|
+
expect(onError).toHaveBeenCalled();
|
|
179
|
+
expect(mockLogger.error).not.toHaveBeenCalled();
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
//# sourceMappingURL=BackgroundSyncService.abort.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackgroundSyncService.abort.test.js","sourceRoot":"","sources":["../../../tests/sync/BackgroundSyncService.abort.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,13 @@
|
|
|
9
9
|
* - Manual sync
|
|
10
10
|
* - Error handling and callbacks
|
|
11
11
|
*/
|
|
12
|
-
|
|
12
|
+
import type { SyncEngine, SyncResult } from '../../src/sync/SyncEngine.js';
|
|
13
|
+
import type { SyncConfigRepository } from '../../src/repositories/SyncConfigRepository.js';
|
|
14
|
+
export declare function createMockSyncResult(overrides?: Partial<SyncResult>): SyncResult;
|
|
15
|
+
export declare function createMockSyncEngine(result?: SyncResult): SyncEngine;
|
|
16
|
+
export declare function createMockConfigRepo(overrides?: {
|
|
17
|
+
enabled?: boolean;
|
|
18
|
+
lastSyncAt?: string | null;
|
|
19
|
+
isSyncDue?: boolean;
|
|
20
|
+
}): SyncConfigRepository;
|
|
13
21
|
//# sourceMappingURL=BackgroundSyncService.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackgroundSyncService.test.d.ts","sourceRoot":"","sources":["../../../tests/sync/BackgroundSyncService.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
|
1
|
+
{"version":3,"file":"BackgroundSyncService.test.d.ts","sourceRoot":"","sources":["../../../tests/sync/BackgroundSyncService.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAA;AAqB1F,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAYhF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CAIpE;AAED,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,GAAG,oBAAoB,CAcvB"}
|
|
@@ -11,6 +11,11 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
13
13
|
import { BackgroundSyncService, createBackgroundSyncService, } from '../../src/sync/BackgroundSyncService.js';
|
|
14
|
+
// SMI-5649: BackgroundSyncService.abort.test.ts covers the new
|
|
15
|
+
// abort/awaitable-stop() behavior and the default onSyncError logging
|
|
16
|
+
// (which requires mocking `createLogger` before module load — split there
|
|
17
|
+
// to avoid an unused mock in this file, and to stay under the 500-LOC
|
|
18
|
+
// file-size gate).
|
|
14
19
|
/** Flush microtask queue so fire-and-forget promises resolve */
|
|
15
20
|
function flushPromises() {
|
|
16
21
|
return new Promise((resolve) => setImmediate(resolve));
|
|
@@ -18,7 +23,7 @@ function flushPromises() {
|
|
|
18
23
|
// ============================================================================
|
|
19
24
|
// Mock Factories
|
|
20
25
|
// ============================================================================
|
|
21
|
-
function createMockSyncResult(overrides) {
|
|
26
|
+
export function createMockSyncResult(overrides) {
|
|
22
27
|
return {
|
|
23
28
|
success: true,
|
|
24
29
|
skillsAdded: 2,
|
|
@@ -31,12 +36,12 @@ function createMockSyncResult(overrides) {
|
|
|
31
36
|
...overrides,
|
|
32
37
|
};
|
|
33
38
|
}
|
|
34
|
-
function createMockSyncEngine(result) {
|
|
39
|
+
export function createMockSyncEngine(result) {
|
|
35
40
|
return {
|
|
36
41
|
sync: vi.fn().mockResolvedValue(result ?? createMockSyncResult()),
|
|
37
42
|
};
|
|
38
43
|
}
|
|
39
|
-
function createMockConfigRepo(overrides) {
|
|
44
|
+
export function createMockConfigRepo(overrides) {
|
|
40
45
|
const enabled = overrides?.enabled ?? true;
|
|
41
46
|
const lastSyncAt = overrides?.lastSyncAt ?? '2026-03-16T00:00:00Z';
|
|
42
47
|
const isSyncDue = overrides?.isSyncDue ?? false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackgroundSyncService.test.js","sourceRoot":"","sources":["../../../tests/sync/BackgroundSyncService.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"BackgroundSyncService.test.js","sourceRoot":"","sources":["../../../tests/sync/BackgroundSyncService.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SyncEngine Tests — abort-signal threading (SMI-5649)
|
|
3
|
+
*
|
|
4
|
+
* Split from SyncEngine.test.ts to stay under the 500-LOC file-size gate.
|
|
5
|
+
* Reuses that file's mock factories (createMockSkill, createMockApiClient,
|
|
6
|
+
* createMockSkillVersionRepo — exported there for this purpose).
|
|
7
|
+
*
|
|
8
|
+
* The load-bearing safety property under test: once `signal.aborted` is
|
|
9
|
+
* true, NO NEW db write ever begins — checked at loop/write boundaries
|
|
10
|
+
* (search-query loop, pagination loop, pre-upsert, per-skill upsert loop).
|
|
11
|
+
* Every write already issued before the abort checkpoint is a real,
|
|
12
|
+
* committed write; nothing already in flight is rolled back.
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=SyncEngine.abort.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncEngine.abort.test.d.ts","sourceRoot":"","sources":["../../../tests/sync/SyncEngine.abort.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|