pubuilder 0.6.0 → 0.8.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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,32 @@
5
5
  버전은 [Semantic Versioning](https://semver.org/lang/ko/)을 따릅니다.
6
6
  (0.x 단계이므로 breaking change는 minor 버전으로 올립니다.)
7
7
 
8
+ ## [0.8.0] - 2026-07-16
9
+
10
+ ### Added
11
+
12
+ - **기본 퍼블리싱 스킬 번들** — 프레임워크 무관 `publish` 스킬을 패키지에 포함해
13
+ 기본 ON으로 제공(`builtin` 소스). 스킬함에서 토글로 끌 수 있다.
14
+ - **Design IR 전처리** — 컴패니언 서버가 raw Figma 노드 JSON 대신, 스타일 필드만
15
+ 추출하고 숨김 노드·노이즈를 제거한 컴팩트 Design IR + 색상 빈도표를 프롬프트에
16
+ 실어 입력 토큰을 대폭 절감한다(결정론적, LLM 토큰 0).
17
+
18
+ ## [0.7.0] - 2026-07-15
19
+
20
+ ### Added
21
+
22
+ - **블록별 동시 퍼블리싱** — 여러 블록을 동시에 퍼블리싱할 수 있고(서버 상한 3개),
23
+ 다른 블록을 선택하거나 미니맵을 닫아도 실행 중인 job이 끊기지 않는다. job 상태를
24
+ selection 종속 로컬 state에서 store(블록키별)로 승격.
25
+ - **"일시 종료"** — 진행 중인 모든 퍼블리싱 job을 강제 종료하고, 각 job이 편집한
26
+ 파일을 job 시작 시점(git stash 스냅샷)으로 되돌린다. 완료 job·사용자 편집과 겹치는
27
+ 파일은 파일 단위 충돌 GUI(이전으로/현재 유지/편집)로 해결한다.
28
+
29
+ ### Fixed
30
+
31
+ - 미니맵 캔버스의 "React Flow" 워터마크 제거(`hideAttribution`) + 우측 하단
32
+ 줌/핏 컨트롤러(`<Controls>`) 복원.
33
+
8
34
  ## [0.6.0] - 2026-07-15
9
35
 
10
36
  ### Added
@@ -67,6 +93,8 @@
67
93
  - `pubuilder scan` CLI — Next.js 라우트를 스캔해 `ia.config.ts` 생성/병합.
68
94
  - `PageMap` 미니맵 컴포넌트 — 화면설계서(IA) 기반 페이지 트리를 iframe 썸네일로 렌더링.
69
95
 
96
+ [0.8.0]: https://www.npmjs.com/package/pubuilder/v/0.8.0
97
+ [0.7.0]: https://www.npmjs.com/package/pubuilder/v/0.7.0
70
98
  [0.6.0]: https://www.npmjs.com/package/pubuilder/v/0.6.0
71
99
  [0.5.0]: https://www.npmjs.com/package/pubuilder/v/0.5.0
72
100
  [0.4.0]: https://www.npmjs.com/package/pubuilder/v/0.4.0
package/dist/api.d.ts CHANGED
@@ -4,7 +4,7 @@ export interface SkillInfo {
4
4
  id: string;
5
5
  name: string;
6
6
  description: string;
7
- source: 'project' | 'global' | 'uploaded';
7
+ source: 'builtin' | 'project' | 'global' | 'uploaded';
8
8
  enabled: boolean;
9
9
  }
10
10
  export interface AgentEvent {
@@ -15,6 +15,21 @@ export interface TokenStatus {
15
15
  configured: boolean;
16
16
  masked: string | null;
17
17
  }
18
+ /** 일시 종료 시 롤백이 완료 job/사용자 편집과 겹치는 파일 */
19
+ export interface SuspendConflict {
20
+ file: string;
21
+ baseline: string;
22
+ current: string;
23
+ }
24
+ export interface SuspendResult {
25
+ autoReverted: string[];
26
+ conflicts: SuspendConflict[];
27
+ }
28
+ export type SuspendResolution = {
29
+ file: string;
30
+ action: 'revert' | 'keep' | 'edit';
31
+ content?: string;
32
+ };
18
33
  /** 서버 에러 응답의 code(server/errors.ts 계약)를 UI 분기용으로 실어 나르는 에러 */
19
34
  export declare class ApiError extends Error {
20
35
  readonly code?: string | undefined;
@@ -41,6 +56,10 @@ export declare class PubuilderApi {
41
56
  jobId: string;
42
57
  }>;
43
58
  cancelPublish(jobId: string): Promise<void>;
59
+ /** 진행 중 job 전체 kill + 파일 자동롤백/충돌 분류 */
60
+ suspendPublish(): Promise<SuspendResult>;
61
+ /** 충돌 파일 결정(revert/keep/edit) 적용 */
62
+ resolveSuspend(resolutions: SuspendResolution[]): Promise<void>;
44
63
  /** SSE 구독 — 반환값 호출로 해제 */
45
64
  subscribePublish(jobId: string, onEvent: (e: AgentEvent) => void): () => void;
46
65
  }