@zipbul/gildash 0.9.2 → 0.9.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.
Files changed (3) hide show
  1. package/README.ko.md +0 -69
  2. package/README.md +0 -69
  3. package/package.json +1 -1
package/README.ko.md CHANGED
@@ -414,75 +414,6 @@ Gildash (파사드)
414
414
  - **Owner** — 파일 워처 실행, 인덱싱 수행, 30초 간격으로 heartbeat 전송
415
415
  - **Reader** — 읽기 전용 접근; 15초 간격으로 owner 상태 확인, owner가 60초 이상 stale 상태이면 reader 중 하나가 owner로 승격
416
416
 
417
- <br>
418
-
419
- ## ⬆️ 업그레이드
420
-
421
- ### 0.9.0 → 0.9.1
422
-
423
- **버그 수정 및 성능 개선.** API 호환성 변경 없음.
424
-
425
- - **수정:** `getParsedAst()`가 인스턴스 닫힌 상태에서 `GildashError('closed')` throw (기존: `undefined` 반환)
426
- - **수정:** `searchSymbols({ regex })`에 잘못된 regex 전달 시 `GildashError('validation')` throw (기존: `[]` 반환)
427
- - **수정:** reader→owner 승격 시 `ctx.role`이 `'owner'`로 정상 갱신
428
- - **수정:** Full-index 경로에서 파일 읽기 실패 시 `IndexResult.failedFiles`에 정상 추적
429
- - **수정:** reader→owner 승격 실패 rollback에서 heartbeat 타이머 정리 및 watcher role 해제
430
- - **성능:** 심볼/어노테이션/체인지로그 repository 배치 INSERT (N+1 개별 insert 제거)
431
- - **성능:** JSDoc 코멘트 탐색에 binary search 도입 (대형 파일에서 ~40x 개선)
432
- - **성능:** regex 검색 시 progressive fetch 전략 (고정 5000행 over-fetch 제거)
433
- - **성능:** `getQualifiedName()` O(n²) unshift → push+reverse O(n)
434
-
435
- ### 0.8.x → 0.9.0
436
-
437
- **신규:** 어노테이션 추출 및 심볼 체인지로그 추적.
438
-
439
- - `searchAnnotations(query)` — JSDoc, 라인, 블록 코멘트에서 `@tag value` 검색
440
- - `getSymbolChanges(since, opts?)` — 심볼 레벨 변경 이력 (rename/move 감지 포함)
441
- - `pruneChangelog(before)` — 오래된 체인지로그 항목 정리
442
- - `IndexResult`에 `totalAnnotations` 필드 추가
443
- - 마이그레이션 `0006_annotations`, `0007_symbol_changelog` 자동 적용
444
-
445
- **호환성 변경 없음.** 기존 데이터베이스는 자동 마이그레이션됩니다.
446
-
447
- ### 0.7.x → 0.8.0
448
-
449
- **Breaking:** `batchParse()`가 `Map<string, ParsedFile>` 대신 `BatchParseResult` (`parsed` + `failures` 필드)를 반환합니다.
450
-
451
- ```diff
452
- - const parsed = await ledger.batchParse(filePaths);
453
- - const ast = parsed.get('src/app.ts');
454
- + const { parsed, failures } = await ledger.batchParse(filePaths);
455
- + const ast = parsed.get('src/app.ts');
456
- + if (failures.length > 0) console.warn('실패:', failures);
457
- ```
458
-
459
- **새 이벤트 메서드:** `onFileChanged()`, `onError()`, `onRoleChanged()`가 `onIndexed()`와 함께 추가되었습니다.
460
-
461
- ### 0.6.x → 0.7.0
462
-
463
- **Breaking:** `@zipbul/result`가 더 이상 public API의 일부가 아닙니다. 모든 메서드가 값을 직접 반환하고, 실패 시 `GildashError`를 throw합니다.
464
-
465
- ```diff
466
- - import { isErr } from '@zipbul/result';
467
- - const result = ledger.searchSymbols({ text: 'foo' });
468
- - if (isErr(result)) { console.error(result.data.message); }
469
- - else { console.log(result); }
470
- + const symbols = ledger.searchSymbols({ text: 'foo' }); // 실패 시 GildashError throw
471
- ```
472
-
473
- - `@zipbul/result`를 의존성에서 제거하세요 (더 이상 피어 의존성이 아닙니다)
474
- - `isErr()` 체크를 `try/catch` + `instanceof GildashError`로 교체하세요
475
- - `getFullSymbol()`, `getFileInfo()`, `getResolvedType()`은 찾지 못하면 에러 대신 `null`을 반환합니다
476
- - `resolveSymbol()`은 순환 re-export 시 throw 대신 `{ circular: true }`를 반환합니다
477
-
478
- ### 0.4.x → 0.5.0
479
-
480
- 데이터베이스 디렉토리가 `.zipbul/`에서 `.gildash/`로 변경되었습니다. 데이터베이스는 `<projectRoot>/.gildash/gildash.db`에 저장됩니다.
481
-
482
- 기존 `.zipbul/` 데이터는 자동으로 이전되지 않습니다. 최초 실행 시 `.gildash/gildash.db`에 새 데이터베이스가 생성됩니다. 업그레이드 후 `.zipbul/`을 수동으로 삭제하세요.
483
-
484
- <br>
485
-
486
417
  ## 📄 라이선스
487
418
 
488
419
  [MIT](./LICENSE) © [zipbul](https://github.com/zipbul)
package/README.md CHANGED
@@ -627,75 +627,6 @@ When multiple processes share the same SQLite database, gildash enforces a singl
627
627
  - **Owner** — Runs the file watcher, performs indexing, sends a heartbeat every 30 s
628
628
  - **Reader** — Read-only access; polls owner health every 15 s and self-promotes if the owner goes stale (60 s threshold)
629
629
 
630
- <br>
631
-
632
- ## ⬆️ Upgrading
633
-
634
- ### From 0.9.0 to 0.9.1
635
-
636
- **Bug fixes and performance improvements.** No breaking API changes.
637
-
638
- - **Fix:** `getParsedAst()` now throws `GildashError('closed')` when the instance is closed, consistent with all other public APIs (previously returned `undefined`)
639
- - **Fix:** `searchSymbols({ regex })` with an invalid regex now throws `GildashError('validation')` instead of silently returning `[]`
640
- - **Fix:** `ctx.role` is now correctly updated to `'owner'` when a reader is promoted
641
- - **Fix:** Full-index path now properly tracks failed file reads in `IndexResult.failedFiles`
642
- - **Fix:** Reader→Owner promotion rollback now cleans up heartbeat timer and releases watcher role
643
- - **Perf:** Batch INSERT for symbol, annotation, and changelog repositories (replaces N+1 individual inserts)
644
- - **Perf:** Binary search for JSDoc comment association (~40x faster on large files)
645
- - **Perf:** Progressive regex fetch strategy (replaces fixed 5000-row over-fetch)
646
- - **Perf:** `getQualifiedName()` uses push+reverse instead of O(n²) unshift
647
-
648
- ### From 0.8.x to 0.9.0
649
-
650
- **New:** Annotation extraction and symbol changelog tracking.
651
-
652
- - `searchAnnotations(query)` — Search `@tag value` from JSDoc, line, and block comments
653
- - `getSymbolChanges(since, opts?)` — Symbol-level change history with rename/move detection
654
- - `pruneChangelog(before)` — Prune old changelog entries
655
- - `IndexResult` now includes `totalAnnotations`
656
- - New migrations `0006_annotations` and `0007_symbol_changelog` are applied automatically on open
657
-
658
- **No breaking changes.** Existing databases are migrated automatically.
659
-
660
- ### From 0.7.x to 0.8.0
661
-
662
- **Breaking:** `batchParse()` now returns `BatchParseResult` (with `parsed` and `failures` fields) instead of `Map<string, ParsedFile>`.
663
-
664
- ```diff
665
- - const parsed = await ledger.batchParse(filePaths);
666
- - const ast = parsed.get('src/app.ts');
667
- + const { parsed, failures } = await ledger.batchParse(filePaths);
668
- + const ast = parsed.get('src/app.ts');
669
- + if (failures.length > 0) console.warn('Failed:', failures);
670
- ```
671
-
672
- **New event methods:** `onFileChanged()`, `onError()`, `onRoleChanged()` added alongside `onIndexed()`.
673
-
674
- ### From 0.6.x to 0.7.0
675
-
676
- **Breaking:** `@zipbul/result` is no longer part of the public API. All methods now return values directly and throw `GildashError` on failure.
677
-
678
- ```diff
679
- - import { isErr } from '@zipbul/result';
680
- - const result = ledger.searchSymbols({ text: 'foo' });
681
- - if (isErr(result)) { console.error(result.data.message); }
682
- - else { console.log(result); }
683
- + const symbols = ledger.searchSymbols({ text: 'foo' }); // throws GildashError
684
- ```
685
-
686
- - Remove `@zipbul/result` from your dependencies (no longer a peer dependency)
687
- - Replace `isErr()` checks with `try/catch` using `instanceof GildashError`
688
- - `getFullSymbol()`, `getFileInfo()`, `getResolvedType()` return `null` instead of an error when not found
689
- - `resolveSymbol()` returns `{ circular: true }` for circular re-exports instead of throwing
690
-
691
- ### From 0.4.x to 0.5.0
692
-
693
- The database directory was renamed from `.zipbul/` to `.gildash/`. The database is now stored at `<projectRoot>/.gildash/gildash.db`.
694
-
695
- Existing `.zipbul/` data is **not** migrated automatically. On first run, a fresh database is created at `.gildash/gildash.db`. Delete `.zipbul/` manually after upgrading.
696
-
697
- <br>
698
-
699
630
  ## 📄 License
700
631
 
701
632
  [MIT](./LICENSE) © [zipbul](https://github.com/zipbul)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zipbul/gildash",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "description": "TypeScript code indexing and dependency graph engine for Bun",
5
5
  "license": "MIT",
6
6
  "repository": {