@nahisaho/shikigami 2.0.2 → 2.0.3
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
CHANGED
|
@@ -5,6 +5,14 @@ All notable changes to SHIKIGAMI will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.0.3] - 2026-05-18
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Flakyテスト修正**: タイミング依存テスト2件の安定化
|
|
13
|
+
- `visit/recovery`: maxRetries/timeoutMs短縮 + テストタイムアウト10s
|
|
14
|
+
- `cache/global`: evictExpired のTTL待機時間を1200ms→1500msに延長
|
|
15
|
+
|
|
8
16
|
## [2.0.2] - 2026-05-18
|
|
9
17
|
|
|
10
18
|
### Added
|
package/mcp-server/package.json
CHANGED
|
@@ -292,8 +292,8 @@ describe('GlobalCacheStore', () => {
|
|
|
292
292
|
await globalStore.set('global-key', { data: 'global' }, { scope: 'global', ttlSeconds: 1 });
|
|
293
293
|
await globalStore.set('project-key', { data: 'project' }, { scope: 'project', ttlSeconds: 1 });
|
|
294
294
|
|
|
295
|
-
// TTL
|
|
296
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
295
|
+
// TTL期限後(余裕を持たせる)
|
|
296
|
+
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
297
297
|
|
|
298
298
|
const result = await globalStore.evictExpired();
|
|
299
299
|
expect(result.global).toBeGreaterThanOrEqual(0);
|
|
@@ -96,6 +96,12 @@ describe('VisitRecoveryManager', () => {
|
|
|
96
96
|
});
|
|
97
97
|
|
|
98
98
|
it('should try wayback after all direct retries fail', async () => {
|
|
99
|
+
const fastManager = new VisitRecoveryManager({
|
|
100
|
+
retryDelayMs: 10,
|
|
101
|
+
maxRetries: 1,
|
|
102
|
+
timeoutMs: 500,
|
|
103
|
+
});
|
|
104
|
+
|
|
99
105
|
const mockFetchFn = vi
|
|
100
106
|
.fn()
|
|
101
107
|
.mockResolvedValue({ success: false, error: 'Page not found' });
|
|
@@ -116,11 +122,11 @@ describe('VisitRecoveryManager', () => {
|
|
|
116
122
|
});
|
|
117
123
|
|
|
118
124
|
// Wayback取得も失敗
|
|
119
|
-
const result = await
|
|
125
|
+
const result = await fastManager.recover('https://example.com', mockFetchFn);
|
|
120
126
|
|
|
121
127
|
expect(result.success).toBe(false);
|
|
122
128
|
expect(mockFetch).toHaveBeenCalled(); // Wayback APIが呼ばれた
|
|
123
|
-
});
|
|
129
|
+
}, 10000);
|
|
124
130
|
|
|
125
131
|
it('should return wayback content on wayback success', async () => {
|
|
126
132
|
const mockFetchFn = vi
|
package/package.json
CHANGED