pal-crawl 2.3.0 → 2.3.1

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/README.md CHANGED
@@ -77,13 +77,13 @@ npm install pal-crawl
77
77
 
78
78
  ## Configuration
79
79
 
80
- `PalCrawl` 클래스는 생성자에서 선택적 설정 객체를 받을 수 있습니다.
80
+ `PalCrawl` 클래스는 생성자에서 선택적 설정 객체를 받을 수 있습니다. `retryCount`는 기존 동작과 같이 최대 요청 시도 횟수를 뜻하며, `0`이면 요청을 한 번 수행하고 재시도하지 않습니다. 음수·소수·무한대 등 유효하지 않은 값은 생성 시 오류로 알립니다.
81
81
 
82
82
  ```typescript
83
83
  interface PalCrawlConfig {
84
84
  userAgent?: string; // 사용자 정의 User-Agent (기본값: Chrome User-Agent)
85
85
  timeout?: number; // HTTP 요청 타임아웃 (밀리초, 기본값: 10000)
86
- retryCount?: number; // 재시도 횟수 (기본값: 3)
86
+ retryCount?: number; // Maximum attempts (default: 3; 0 makes one attempt)
87
87
  customHeaders?: Record<string, string>; // 사용자 정의 헤더
88
88
  screenshot?: ScreenshotOptions; // 헤드리스 크로뮴 스크린샷 옵션
89
89
  hydrateTruncatedTitles?: boolean; // 잘린 제목 상세 조회 여부 (기본값: false)
@@ -491,7 +491,7 @@ for await (const page of palCrawl.getAllDonePages(
491
491
 
492
492
  ## NsmLmSts - 국민참여입법센터 국회입법현황
493
493
 
494
- `NsmLmSts` 클래스는 [국민참여입법센터 국회입법현황](https://opinion.lawmaking.go.kr/gcom/nsmLmSts/out)에서 법안 목록과 상세 정보를 크롤링합니다. 위원회 회부 이전 발의 상태 법안까지 필터링할 수 있는 것이 특징입니다. 목록 검색은 기본적으로 목록 페이지만 요청하며, `...`으로 잘린 제목을 상세 페이지에서 보정하려면 `hydrateTruncatedTitles: true`를 명시해야 합니다.
494
+ `NsmLmSts` 클래스는 [국민참여입법센터 국회입법현황](https://opinion.lawmaking.go.kr/gcom/nsmLmSts/out)에서 법안 목록과 상세 정보를 크롤링합니다. 위원회 회부 이전 발의 상태 법안까지 필터링할 수 있는 것이 특징입니다. 목록 검색은 기본적으로 목록 페이지만 요청하며, `...`으로 잘린 제목을 상세 페이지에서 보정하려면 `hydrateTruncatedTitles: true`를 명시해야 합니다. 제목 보정 요청은 순차적으로 실행하며, 실패한 항목의 기존 제목은 유지합니다.
495
495
 
496
496
  ---
497
497
 
@@ -1035,6 +1035,8 @@ const parsed = crawler.parseList(fragment); // 목록 조각 → 객체
1035
1035
 
1036
1036
  ### 실제 네트워크 통합 테스트 (opt-in)
1037
1037
 
1038
+ 기본 `npm test`는 PAL·NSM·LIKMS 응답 fixture와 HTTP mock을 사용하며 실사이트를 호출하지 않습니다. HTTP 재시도·응답 중단·인코딩 폴백도 mock 전송 계층에서 검증합니다.
1039
+
1038
1040
  `src/likms.live.test.ts`는 기본적으로 skip되며, 환경변수로만 실행됩니다(토큰 재발급, 페이지 경계, 필터 검증 포함).
1039
1041
 
1040
1042
  ```bash
@@ -43,6 +43,9 @@ class HttpClient {
43
43
  constructor(config) {
44
44
  /** 응답의 Set-Cookie를 세션 동안 유지하기 위한 간단한 쿠키 저장소 */
45
45
  this.cookies = new Map();
46
+ if (!Number.isInteger(config.retryCount) || config.retryCount < 0) {
47
+ throw new Error('retryCount must be a non-negative integer');
48
+ }
46
49
  this.userAgent = config.userAgent;
47
50
  this.timeout = config.timeout;
48
51
  this.retryCount = config.retryCount;
@@ -153,7 +156,11 @@ class HttpClient {
153
156
  method,
154
157
  };
155
158
  const req = https.request(url, options, (res) => {
159
+ res.on('error', reject);
160
+ res.on('aborted', () => reject(new Error('Response aborted')));
156
161
  if (res.statusCode && (res.statusCode < 200 || res.statusCode >= 300)) {
162
+ // Drain rejected responses so the connection can be released.
163
+ res.resume();
157
164
  reject(new Error(`Invalid response: ${res.statusCode} ${res.statusMessage}`));
158
165
  return;
159
166
  }
@@ -192,20 +199,20 @@ class HttpClient {
192
199
  return this.requestWithRetry(url, 'POST', body, headers);
193
200
  }
194
201
  async requestWithRetry(url, method, body, headers) {
195
- let lastError;
196
- for (let attempt = 1; attempt <= this.retryCount; attempt++) {
202
+ // Keep positive retryCount values compatible with the existing attempt limit.
203
+ const maxAttempts = Math.max(1, this.retryCount);
204
+ for (let attempt = 1;; attempt++) {
197
205
  try {
198
206
  return await this.makeRequest(url, method, body, headers);
199
207
  }
200
208
  catch (error) {
201
- lastError = error;
202
- if (attempt < this.retryCount) {
203
- const delay = Math.min(1000 * Math.pow(2, attempt - 1), 5000);
204
- await new Promise((resolve) => setTimeout(resolve, delay));
209
+ if (attempt >= maxAttempts) {
210
+ throw error instanceof Error ? error : new Error(String(error));
205
211
  }
212
+ const delay = Math.min(1000 * Math.pow(2, attempt - 1), 5000);
213
+ await new Promise((resolve) => setTimeout(resolve, delay));
206
214
  }
207
215
  }
208
- throw lastError;
209
216
  }
210
217
  }
211
218
  exports.HttpClient = HttpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"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"}
package/dist/likms.js CHANGED
@@ -77,21 +77,20 @@ class LikmsCrawler {
77
77
  }
78
78
  const url = new url_1.URL(config_1.Config.LIKMS_FIND_BILL_URL, config_1.Config.LIKMS_DOMAIN);
79
79
  url.searchParams.set('billNo', normalized);
80
+ const raw = await this.httpClient.get(url);
80
81
  let parsed;
81
82
  try {
82
- parsed = JSON.parse(await this.httpClient.get(url));
83
+ parsed = JSON.parse(raw);
83
84
  }
84
- catch (error) {
85
- if (error instanceof SyntaxError) {
86
- return null;
87
- }
88
- throw error;
85
+ catch {
86
+ // Malformed payloads are missing data; required transport failures propagate.
87
+ return null;
89
88
  }
90
- if (typeof parsed !== 'object' || parsed === null) {
89
+ if (typeof parsed !== 'object' || parsed === null || !('data' in parsed)) {
91
90
  return null;
92
91
  }
93
92
  const data = parsed.data;
94
- if (typeof data !== 'object' || data === null) {
93
+ if (typeof data !== 'object' || data === null || !('billId' in data)) {
95
94
  return null;
96
95
  }
97
96
  const billId = data.billId;
package/dist/likms.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"likms.js","sourceRoot":"","sources":["../src/likms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"likms.js","sourceRoot":"","sources":["../src/likms.ts"],"names":[],"mappings":"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"}
package/dist/pal.d.ts CHANGED
@@ -194,14 +194,10 @@ export interface INsmSearchQuery {
194
194
  export declare class NsmLmSts extends ScreenshotBase {
195
195
  private readonly httpClient;
196
196
  private readonly parser;
197
- private readonly detailTitleConcurrency;
198
197
  private readonly hydrateTruncatedTitles;
199
198
  constructor(config?: PalCrawlConfig);
200
199
  private isTruncatedBillName;
201
- /**
202
- * 목록의 잘린 제목을 상세 페이지 제목으로 보정합니다.
203
- * 상세 조회 실패 시에는 기존 제목을 유지합니다.
204
- */
200
+ /** Preserve list titles when optional detail lookup fails. Requests are sequential. */
205
201
  private hydrateBillNamesFromDetail;
206
202
  private buildListUrl;
207
203
  /** 목록 페이지 HTML 반환 */
package/dist/pal.js CHANGED
@@ -91,7 +91,7 @@ class ScreenshotBase {
91
91
  await page.goto(urlStr, { waitUntil: 'networkidle0', timeout: 30000 });
92
92
  const screenshotBuffer = await page.screenshot({
93
93
  fullPage: this.screenshotConfig.fullPage ?? true,
94
- type: this.screenshotConfig.format,
94
+ type: this.screenshotConfig.format ?? 'png',
95
95
  quality: this.screenshotConfig.format === 'jpeg'
96
96
  ? (this.screenshotConfig.quality ?? 80)
97
97
  : undefined,
@@ -344,44 +344,28 @@ class NsmLmSts extends ScreenshotBase {
344
344
  customHeaders: config?.customHeaders ?? {},
345
345
  });
346
346
  this.parser = new parser_1.NsmLmStsParser();
347
- this.detailTitleConcurrency = 4;
348
347
  this.hydrateTruncatedTitles = config?.hydrateTruncatedTitles ?? false;
349
348
  }
350
349
  isTruncatedBillName(billName) {
351
350
  return billName.includes('...') || billName.includes('…');
352
351
  }
353
- /**
354
- * 목록의 잘린 제목을 상세 페이지 제목으로 보정합니다.
355
- * 상세 조회 실패 시에는 기존 제목을 유지합니다.
356
- */
352
+ /** Preserve list titles when optional detail lookup fails. Requests are sequential. */
357
353
  async hydrateBillNamesFromDetail(items) {
358
- if (items.length === 0) {
359
- return items;
360
- }
361
- const normalizedConcurrency = Math.max(1, this.detailTitleConcurrency);
362
354
  const hydrated = items.map((item) => ({ ...item }));
363
- const truncatedItems = hydrated.filter((item) => this.isTruncatedBillName(item.billName));
364
- if (truncatedItems.length === 0) {
365
- return hydrated;
366
- }
367
- for (let startIndex = 0; startIndex < truncatedItems.length; startIndex += normalizedConcurrency) {
368
- const chunk = truncatedItems.slice(startIndex, startIndex + normalizedConcurrency);
369
- await Promise.all(chunk.map(async (item) => {
370
- if (!item.billNo) {
371
- return;
372
- }
373
- try {
374
- const detailHtml = await this.getDetailHTML(item.billNo);
375
- const detail = this.parser.parseDetail(detailHtml);
376
- const detailTitle = detail.title.trim();
377
- if (detailTitle) {
378
- item.billName = detailTitle;
379
- }
380
- }
381
- catch {
382
- // Keep list title when detail lookup fails.
355
+ for (const item of hydrated) {
356
+ if (!item.billNo || !this.isTruncatedBillName(item.billName)) {
357
+ continue;
358
+ }
359
+ try {
360
+ const detailHtml = await this.getDetailHTML(item.billNo);
361
+ const detailTitle = this.parser.parseDetail(detailHtml).title.trim();
362
+ if (detailTitle) {
363
+ item.billName = detailTitle;
383
364
  }
384
- }));
365
+ }
366
+ catch {
367
+ // Optional hydration must preserve the original list title on failure.
368
+ }
385
369
  }
386
370
  return hydrated;
387
371
  }
package/dist/pal.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pal.js","sourceRoot":"","sources":["../src/pal.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA0B;AAE1B,qCAAkC;AAClC,+CAA2C;AAC3C,qCASkB;AAClB,mCAAuC;AA4DvC;;;GAGG;AACH,MAAsB,cAAc;IAIlC,YAAsB,UAA8B;QAH7C,YAAO,GAAmB,IAAI,CAAC;QAIpC,IAAI,CAAC,gBAAgB,GAAG;YACtB,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,KAAK;YACrC,QAAQ,EAAE,UAAU,EAAE,QAAQ,IAAI,IAAI;YACtC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,IAAI;YAChC,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,IAAI;YAClC,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,KAAK;YACnC,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE;SACnC,CAAC;IACJ,CAAC;IAED,mCAAmC;IAC5B,KAAK,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,8DAA8D;YAC9D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,wDAAa,WAAW,GAAC,CAAC;YACzD,IAAI,CAAC,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;gBACpC,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,CAAC,cAAc,EAAE,0BAA0B,CAAC;aACnD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,4CAA4C;IACrC,KAAK,CAAC,YAAY;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,oCAAoC;IAC7B,KAAK,CAAC,cAAc,CAAC,MAAc;QACxC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC;gBACrB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,IAAI;gBAC1C,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,IAAI;aAC7C,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAEvE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;gBAC7C,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,IAAI;gBAChD,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAwB;gBACpD,OAAO,EACL,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,MAAM;oBACrC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC;oBACvC,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;YAEH,6DAA6D;YAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvC,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,wBAAwB;IACjB,sBAAsB,CAAC,MAAkC;QAC9D,IAAI,CAAC,gBAAgB,GAAG;YACtB,GAAG,IAAI,CAAC,gBAAgB;YACxB,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;CACF;AAjFD,wCAiFC;AAED,MAAa,QAAS,SAAQ,cAAc;IAM1C,YAAY,MAAuB;QACjC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC;YAC/B,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,eAAM,CAAC,SAAS;YAChD,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,KAAK;YACjC,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,CAAC;YACnC,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,EAAE;SAC3C,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAY,CAAC;YAC5B,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,eAAM,CAAC,SAAS;YAChD,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,KAAK;YACjC,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,CAAC;YACnC,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,EAAE;SAC3C,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,GAAG,MAAM,EAAE,qBAAqB,IAAI,IAAI,CAAC;IACrE,CAAC;IAED,qCAAqC;IAC9B,KAAK,CAAC,gBAAgB;QAC3B,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,eAAM,CAAC,QAAQ,EAAE,eAAM,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,6CAA6C;IACtC,KAAK,CAAC,oBAAoB,CAAC,EAAU;QAC1C,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,eAAM,CAAC,WAAW,EAAE,eAAM,CAAC,MAAM,CAAC,CAAC;QACvD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAChD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,mCAAmC;IAC5B,KAAK,CAAC,iBAAiB;QAC5B,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,eAAM,CAAC,aAAa,EAAE,eAAM,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,2CAA2C;IACpC,KAAK,CAAC,wBAAwB,CAAC,EAAU;QAC9C,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,eAAM,CAAC,gBAAgB,EAAE,eAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAChD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEO,YAAY,CAAC,IAAY,EAAE,KAAmB;QACpD,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,IAAI,EAAE,eAAM,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAiD;YAC5D,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;YAC9B,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC5B,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;YAClC,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC5B,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;YAC9B,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;YAC9B,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC;YACpC,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1B,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1B,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1B,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YACtB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;SACzB,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC1D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,sCAAsC;IAC/B,KAAK,CAAC,UAAU;QACrB,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,eAAM,CAAC,QAAQ,EAAE,eAAM,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,iCAAiC;IAC1B,UAAU,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,oCAAoC;IAC7B,YAAY,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,mCAAmC;IAC5B,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,8CAA8C;IACvC,KAAK,CAAC,cAAc,CAAC,EAAU;QACpC,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,eAAM,CAAC,WAAW,EAAE,eAAM,CAAC,MAAM,CAAC,CAAC;QACvD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAChD,6BAA6B;QAC7B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,4BAA4B,CACxC,EAAU,EACV,OAAqB;QAErB,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC1D,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,wCAAwC;IACjC,KAAK,CAAC,UAAU,CAAC,EAAU;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,4BAA4B,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,oCAAoC;IAC7B,KAAK,CAAC,WAAW;QACtB,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,eAAM,CAAC,aAAa,EAAE,eAAM,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,iCAAiC;IAC1B,KAAK,CAAC,OAAO;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,4CAA4C;IACrC,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACxC,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,eAAM,CAAC,gBAAgB,EAAE,eAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAChD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,sCAAsC;IAC/B,KAAK,CAAC,cAAc,CAAC,EAAU;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,4BAA4B,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,gFAAgF;IAEhF,mDAAmD;IAC5C,KAAK,CAAC,MAAM,CAAC,QAAsB,EAAE;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,eAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,iDAAiD;IAC1C,KAAK,CAAC,UAAU,CAAC,QAAsB,EAAE;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,eAAM,CAAC,aAAa,EAAE;YAClD,SAAS,EAAE,CAAC;YACZ,GAAG,KAAK;SACT,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,gFAAgF;IAEhF,oCAAoC;IAC7B,KAAK,CAAC,OAAO,CAClB,SAAiB,EACjB,QAAiB;QAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,kCAAkC;IAC3B,KAAK,CAAC,WAAW,CACtB,SAAiB,EACjB,QAAiB;QAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,gFAAgF;IAExE,KAAK,CAAC,CAAC,gBAAgB,CAC7B,QAAyD,EACzD,KAAsC,EACtC,OAAqB;QAErB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC;QAEZ,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,KAAK,CAAC,UAAU,EAChB,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,CACrC,CAAC;QAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,IAAI,WAAW,EAAE,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,EAAE,MAAM,EAAE,GAAG,GAAG,KAAK,GAAG,CAAC,EAAE,EAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CACpB,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAC1D,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,MAAM,CAAC;gBACb,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,WAAW,CAChB,KAAuC,EACvC,OAAsB;QAEtB,OAAO,IAAI,CAAC,gBAAgB,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,KAAK,IAAI,EAAE,EACX,OAAO,IAAI,EAAE,CACd,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,eAAe,CACpB,KAAuC,EACvC,OAAsB;QAEtB,OAAO,IAAI,CAAC,gBAAgB,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EACzB,KAAK,IAAI,EAAE,EACX,OAAO,IAAI,EAAE,CACd,CAAC;IACJ,CAAC;CACF;AAzSD,4BAySC;AAwFD,MAAa,QAAS,SAAQ,cAAc;IAM1C,YAAY,MAAuB;QACjC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC;YAC/B,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,eAAM,CAAC,SAAS;YAChD,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,KAAK;YACjC,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,CAAC;YACnC,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,EAAE;SAC3C,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAc,EAAE,CAAC;QACnC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,MAAM,EAAE,sBAAsB,IAAI,KAAK,CAAC;IACxE,CAAC;IAEO,mBAAmB,CAAC,QAAgB;QAC1C,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,0BAA0B,CACtC,KAAqB;QAErB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxC,CAAC;QAEF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KACE,IAAI,UAAU,GAAG,CAAC,EAClB,UAAU,GAAG,cAAc,CAAC,MAAM,EAClC,UAAU,IAAI,qBAAqB,EACnC,CAAC;YACD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAChC,UAAU,EACV,UAAU,GAAG,qBAAqB,CACnC,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBACnD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBACxC,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;gBAC9C,CAAC;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,YAAY,CAAC,KAAsB;QACzC,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,eAAM,CAAC,YAAY,EAAE,eAAM,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAiD;YAC5D,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;YAC9B,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC5B,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YACtB,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC5B,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;YAClC,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC;YAChC,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC;YAChC,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC;YACtC,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC;YACtC,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC;YACtC,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC5B,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;YAClC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1B,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;SAC/B,CAAC;QACF,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC1D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,qBAAqB;IACd,KAAK,CAAC,WAAW,CAAC,QAAyB,EAAE;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,sCAAsC;IAC/B,SAAS,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,mCAAmC;IAC5B,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB;IACb,KAAK,CAAC,MAAM,CAAC,QAAyB,EAAE;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB;YACvC,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC;YACrD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACjB,OAAO;YACL,GAAG,MAAM;YACT,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa,CACxB,QAA6C,EAAE;QAE/C,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,qBAAqB;IACd,KAAK,CAAC,aAAa,CAAC,MAAc;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,SAAG,CACjB,GAAG,eAAM,CAAC,YAAY,IAAI,UAAU,WAAW,EAC/C,eAAM,CAAC,UAAU,CAClB,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,SAAS,CAAC,MAAc;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,uBAAuB;IAChB,KAAK,CAAC,OAAO,CAClB,SAAiB,EACjB,QAA4C,EAAE;QAE9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,CAAC,gBAAgB,CAC7B,KAAyC,EACzC,OAAqB;QAErB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC;QAEZ,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,KAAK,CAAC,UAAU,EAChB,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,CACrC,CAAC;QAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,IAAI,WAAW,EAAE,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,EAAE,MAAM,EAAE,GAAG,GAAG,KAAK,GAAG,CAAC,EAAE,EAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CACpB,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,MAAM,CAAC;gBACb,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,WAAW,CAChB,KAA0C,EAC1C,OAAsB;QAEtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACI,kBAAkB,CACvB,KAAyD,EACzD,OAAsB;QAEtB,OAAO,IAAI,CAAC,gBAAgB,CAC1B,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,EAClC,OAAO,IAAI,EAAE,CACd,CAAC;IACJ,CAAC;IAED,yBAAyB;IAClB,KAAK,CAAC,oBAAoB,CAC/B,QAA4C,EAAE;QAE9C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,qBAAqB;IACd,KAAK,CAAC,mBAAmB,CAAC,MAAc;QAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,SAAG,CACjB,GAAG,eAAM,CAAC,YAAY,IAAI,UAAU,WAAW,EAC/C,eAAM,CAAC,UAAU,CAClB,CAAC;QACF,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF;AA7PD,4BA6PC"}
1
+ {"version":3,"file":"pal.js","sourceRoot":"","sources":["../src/pal.ts"],"names":[],"mappings":"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"}
package/dist/parser.js CHANGED
@@ -57,7 +57,7 @@ class PalParser {
57
57
  const subject = $(el).find('td.td_block > a.board_subject').text().trim();
58
58
  if (subject) {
59
59
  const link = $(el).find('td.td_block > a.board_subject').attr('href');
60
- const numComments = Number($(el).find('td:nth-child(8)').text().replace(',', '').trim());
60
+ const numComments = Number($(el).find('td:nth-child(8)').text().replace(/,/g, '').trim());
61
61
  const proposerCategory = $(el).find('td:nth-child(3)').text().trim();
62
62
  const committee = $(el).find('td:nth-child(4)').text().trim();
63
63
  const num = Number($(el).find('td:nth-child(1)').text().trim());
@@ -73,11 +73,11 @@ class PalParser {
73
73
  };
74
74
  const contentId = boardLink ? this.extractContentId(boardLink) : null;
75
75
  output.push({
76
- num,
76
+ num: Number.isFinite(num) ? num : 0,
77
77
  subject,
78
78
  proposerCategory,
79
79
  committee,
80
- numComments,
80
+ numComments: Number.isFinite(numComments) ? numComments : 0,
81
81
  link: boardLink,
82
82
  contentId,
83
83
  attachments,
@@ -101,7 +101,7 @@ class PalParser {
101
101
  totalPages = parseInt(m[2], 10);
102
102
  const strong = $(el).prevAll('strong').first();
103
103
  if (strong.length) {
104
- total = parseInt(strong.text().replace(/,/g, ''), 10);
104
+ total = parseInt(strong.text().replace(/,/g, ''), 10) || 0;
105
105
  }
106
106
  return false; // break
107
107
  }
@@ -474,8 +474,8 @@ class LikmsStateParser {
474
474
  const pagesText = $('#pager_pages_text').attr('value') ?? '';
475
475
  const pagesMatch = pagesText.match(/\(([\d,]+)\s*\/\s*([\d,]+)\s*페이지\)/);
476
476
  if (pagesMatch) {
477
- currentPage = parseInt(pagesMatch[1].replace(/,/g, ''), 10);
478
- totalPages = parseInt(pagesMatch[2].replace(/,/g, ''), 10);
477
+ currentPage = parseInt(pagesMatch[1].replace(/,/g, ''), 10) || 1;
478
+ totalPages = parseInt(pagesMatch[2].replace(/,/g, ''), 10) || 0;
479
479
  }
480
480
  if (totalPages === 0 && items.length > 0) {
481
481
  totalPages = 1;
@@ -530,13 +530,13 @@ class LikmsStateParser {
530
530
  try {
531
531
  parsed = JSON.parse(raw);
532
532
  }
533
- catch (error) {
534
- if (error instanceof SyntaxError) {
535
- return [];
536
- }
537
- throw error;
533
+ catch {
534
+ // Parsing malformed input must not expose exceptions to consumers.
535
+ return [];
538
536
  }
539
- if (typeof parsed !== 'object' || parsed === null) {
537
+ if (typeof parsed !== 'object' ||
538
+ parsed === null ||
539
+ !('ageCmtList' in parsed)) {
540
540
  return [];
541
541
  }
542
542
  const list = parsed.ageCmtList;
@@ -544,20 +544,27 @@ class LikmsStateParser {
544
544
  return [];
545
545
  }
546
546
  const committees = [];
547
- for (const entry of list) {
548
- if (typeof entry !== 'object' || entry === null) {
547
+ const entries = list;
548
+ for (const entry of entries) {
549
+ if (typeof entry !== 'object' ||
550
+ entry === null ||
551
+ !('comCd' in entry) ||
552
+ !('comCdName' in entry)) {
549
553
  continue;
550
554
  }
551
- const record = entry;
552
- const comCd = typeof record.comCd === 'string' ? record.comCd.trim() : '';
553
- const comCdName = typeof record.comCdName === 'string' ? record.comCdName.trim() : '';
555
+ const comCd = typeof entry.comCd === 'string' ? entry.comCd.trim() : '';
556
+ const comCdName = typeof entry.comCdName === 'string' ? entry.comCdName.trim() : '';
554
557
  if (!comCd || !comCdName) {
555
558
  continue;
556
559
  }
557
560
  committees.push({
558
561
  comCd,
559
562
  comCdName,
560
- cdOrd: typeof record.cdOrd === 'number' ? record.cdOrd : null,
563
+ cdOrd: 'cdOrd' in entry &&
564
+ typeof entry.cdOrd === 'number' &&
565
+ Number.isFinite(entry.cdOrd)
566
+ ? entry.cdOrd
567
+ : null,
561
568
  });
562
569
  }
563
570
  return committees;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pal-crawl",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
4
4
  "description": "국회입법예고(pal.assembly.go.kr)의 진행 중인 입법 예고 크롤러",
5
5
  "license": "MIT",
6
6
  "author": "vientorepublic",
@@ -60,5 +60,10 @@
60
60
  "testMatch": [
61
61
  "**/*.test.ts"
62
62
  ]
63
+ },
64
+ "allowScripts": {
65
+ "puppeteer@25.13.0": true,
66
+ "@parcel/watcher@2.6.0": true,
67
+ "unrs-resolver@1.12.2": true
63
68
  }
64
69
  }
package/.prettierrc DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "singleQuote": true,
3
- "trailingComma": "all"
4
- }
package/AGENTS.md DELETED
@@ -1,360 +0,0 @@
1
- # AGENTS.md
2
-
3
- 에이전트(및 신규 기여자)가 이 저장소에서 작업할 때 따라야 지침입니다.
4
- 규칙은 실제 코드와 Git 히스토리에서 도출했거나 여기서 확정한 것이며,
5
- 어긋나면 코드를 규칙에 맞출 것.
6
-
7
- **목차**: [프로젝트 개요](#프로젝트-개요) · [저장소 구조](#저장소-구조) · [개발 명령어](#개발-명령어) ·
8
- [TypeScript 컨벤션](#typescript-컨벤션) · [에이전트 메모리](#에이전트-메모리-agent_memories) ·
9
- [테스트 컨벤션](#테스트-컨벤션) · [브랜치 전략](#브랜치-전략) · [커밋 메시지](#커밋-메시지) ·
10
- [`gh` CLI](#github-리모트-작업은-gh-cli) · [PR/병합 규칙](#pr병합-규칙) · [릴리스](#릴리스) ·
11
- [주의사항](#주의사항)
12
-
13
- ## 프로젝트 개요
14
-
15
- - **pal-crawl**: npm에 배포되는 TypeScript **라이브러리** (Node.js CLI/서버 아님).
16
- - 대상 사이트 3곳 크롤링:
17
- - 국회입법예고 `pal.assembly.go.kr` (PalCrawl / PalParser)
18
- - 국민참여입법센터 `opinion.lawmaking.go.kr` (NsmLmSts / NsmLmStsParser)
19
- - 국회 의안정보시스템 `likms.assembly.go.kr` (LikmsCrawler — 제안이유 보정용)
20
- - 배포 산출물은 `dist/`만 (`.npmignore`가 `src/`·`agent_memories/` 제외).
21
- gitignore 대상은 빌드 산출물·커버리지뿐 아니라 OS/에디터 파일과 에이전트 상태 파일(`.freebuff/` 등)까지 포함한다 (`.gitignore` 참조).
22
-
23
- ## 저장소 구조
24
-
25
- ```
26
- src/
27
- index.ts # public API barrel — 모든 외부 노출 export는 여기에 등록
28
- config.ts # Config enum: 도메인/URL/User-Agent 등 상수
29
- http-client.ts # HttpClient: 인코딩(cp949/euc-kr 폴백), 재시도, 타임아웃
30
- parser.ts # PalParser, NsmLmStsParser + 데이터 인터페이스 (HTML → 객체)
31
- pal.ts # PalCrawl, NsmLmSts, ScreenshotBase + 설정 인터페이스
32
- likms.ts # LikmsCrawler
33
- *.test.ts # 테스트는 소스와 동봉 (별도 test/ 디렉터리 없음)
34
- agent_memories/ # 에이전트 공유 메모리 (README.md = 형식 규칙, INDEX.md = 진입점)
35
- .github/workflows/ # test.yml·build.yml·contract-live.yml(PR → main), site-drift.yml(매일 06:00 KST)
36
- # 표시 이름: Test · Build · Contract check (pull requests) · Contract check (daily)
37
- ```
38
-
39
- **설계 원칙**: 네트워크 담당(크롤러 클래스)과 HTML 파싱 담당(파서 클래스)을 분리한다.
40
- 새 사이트를 붙일 때도 `XxxCrawler`(요청) + `XxxParser`(파싱)로 나누고, 스크린샷은
41
- `ScreenshotBase`를 상속해 공유한다.
42
-
43
- ## 개발 명령어
44
-
45
- ```bash
46
- npm ci # 설치 (lockfile 유지, npm install 금지)
47
- npm run typecheck # tsc --noEmit
48
- npm run lint # eslint "src/**/*.ts" --fix (--fix가 기본 포함)
49
- npm run format # prettier --write "src/**/*.ts"
50
- npm test # jest
51
- npm run test:cov # 커버리지
52
- npm run build # tsc → dist/
53
- ```
54
-
55
- **커밋/PR 전 필수 게이트**: `npm run typecheck && npm run lint && npm test && npm run build`.
56
- (`prepublishOnly`는 lint → test → build — `npm run build`(tsc)가 타입 오류에서 실패하므로 사실상 typecheck까지 포함된다.)
57
-
58
- ## TypeScript 컨벤션
59
-
60
- ### 툴체인
61
-
62
- - 대상: CommonJS / ES2020, `declaration: true`, `rootDir: src` → `outDir: dist`.
63
- - 포맷팅: Prettier — `singleQuote: true`, `trailingComma: "all"`, 2스페이스 들여쓰기, 80컬럼.
64
- - Lint: flat config(`@eslint/js` recommended + `typescript-eslint` recommended).
65
- 타입체크 기반 규칙은 없으므로 `npm run typecheck`가 사실상 타입 게이트.
66
- - 아래 규칙 중 린트로 강제되지 않는 항목(타입 단언·비동기 관례·null 정책)이 있다.
67
- 게이트 통과만으로 충분하지 않으므로 코드도 규칙을 따를 것.
68
- - `npm run lint`는 `--fix`가 기본 — 실행 후 달라진 파일을 확인하고 커밋에 포함.
69
-
70
- ### 명명
71
-
72
- - 파싱 결과/데이터 인터페이스는 **`I` 접두사**: `ITableData`, `IContentData`, `ISearchQuery`, `INsmBillDetail`.
73
- - 클래스 설정/옵션 타입은 **접두사 없음**: `PalCrawlConfig`, `HttpClientConfig`, `LikmsCrawlerConfig`, `ScreenshotOptions`.
74
- - 클래스는 PascalCase, 메서드/필드는 camelCase. 상수는 `Config` enum으로 모은다(파일마다 상수를 흩어놓지 않음).
75
- - **파일명은 kebab-case**: `http-client.ts`, `likms.ts`. 테스트는 `원본이름.test.ts` (`likms.test.ts`).
76
- - 메서드/함수는 동사 시작 + 역할 접미사로 짓는다:
77
- `get*`(요청), `parse*`(HTML → 객체), `build*`(URL·파라미터), `extract*`(특정 값 추출),
78
- `hydrate*`(보정), `normalize*`(정규화), `init*`(초기화).
79
- - boolean은 의미가 드러나는 이름 (`enabled`, `fullPage`, `hydrateTruncatedTitles`).
80
- 축약은 `id`, `url`, `html`, `pdf`, `hwp` 등 이미 관용인 것만 허용.
81
-
82
- ### 타입 시스템
83
-
84
- - **`any` 금지** (ESLint `@typescript-eslint/no-explicit-any` 위반). 외부 입력은
85
- `unknown`으로 받고 가드로 좁힌다:
86
- ```ts
87
- // ❌ const parsed: any = JSON.parse(raw);
88
- // ✅
89
- const parsed: unknown = JSON.parse(raw);
90
- if (typeof parsed !== 'object' || parsed === null) {
91
- throw new Error('invalid payload');
92
- }
93
- ```
94
- - **데이터 구조는 `interface`, 닫힌 집합·유틸리티는 `type`**:
95
- ```ts
96
- interface IContentData { /* ... */ } // 구조 → interface
97
- type SortGbn = 'DESC' | 'ASC'; // 닫힌 집합 → type
98
- ```
99
- 근거: `sortGbn?: 'DESC' | 'ASC'`, `format?: 'png' | 'jpeg'` 같은 기존 패턴.
100
- - **공개 멤버·함수는 반환 타입을 항상 명시**:
101
- `public async getDetailPageHTML(billId: string): Promise<string>`.
102
- - 제네릭 타입 매개변수는 `T` 접두사 (`TItem`, `TResult`). 추론 가능한 곳에
103
- 불필요하게 제네릭·호출 위치 타입을 강제하지 않는다.
104
- - 선택 옵션은 `?`로 선언하고 메서드 진입부에서 `?? 기본값`으로 정규화
105
- (LikmsCrawler/HttpClient 패턴):
106
- ```ts
107
- timeout: config?.timeout ?? 10000,
108
- ```
109
- - 타입 단언(`as`)은 최소한만 — 검증 없이 타입을 확신시키는 단언 금지.
110
- 예외: 테스트의 httpClient mock 캐스팅 (테스트 컨벤션 참고).
111
- - 방어는 optional chaining과 병합 연산자로: `metaMatch?.[1]`, `contentType ?? ''`.
112
-
113
- ### 값·결측 처리
114
-
115
- - 파싱 결측값은 **`undefined`가 아니라 `null`**: `string | null`, `number | null`.
116
- - 설정 옵션 미지정은 `undefined`(선택 `?`)로 표현하고 `??`로 처리 —
117
- `null`과 `undefined`를 의미 없이 섞지 않는다.
118
- - 원시 문자열을 그대로 반환하지 말고 필요한 정규화(`trim`, 공백 정리)를 거친다.
119
-
120
- ### 오류 처리
121
-
122
- - 필수 인자는 메서드 진입부에서 가드:
123
- ```ts
124
- if (!normalized) throw new Error('billNo is required');
125
- ```
126
- - **파서(`PalParser`, `NsmLmStsParser`)는 절대 예외를 던지지 않는다.**
127
- 잘못된/빈 HTML이면 빈 배열·`null`·0으로 반환한다 (`returns [] for invalid html` 규약).
128
- - 네트워크 오류·재시도·타임아웃은 `HttpClient`의 책임. 파서와 매핑 계층까지 전파하지 않는다.
129
- - **선택적 보정(hydration) 로직은 절대 예외를 던지지 않는다.** 보정 실패 시 기존
130
- 값을 유지하고 조용히 넘어감 (`catch { /* 기존 값 유지 */ }`). 사용자 데이터 손실 금지.
131
- - catch 바인딩 값은 `unknown`으로 취급 — 가드 없이 사용하거나 무시하지 않는다.
132
- 빈 catch는 위 hydration 규칙이 적용되는 선택적 보정에서만 허용.
133
- - 오류 메시지는 영문 한 줄로 무엇이 잘못됐는지 설명 (`'billNo is required'`).
134
- 원본 오류를 감쌀 때는 맥락과 원문을 함께 남긴다.
135
-
136
- ### 비동기 처리
137
-
138
- - `async/await`만 사용, raw `.then()` 체이닝 금지.
139
- - 모든 Promise는 `await`하거나 명시적으로 실패를 처리한다 —
140
- floating promise 금지 (이 규칙은 린트로 강제되지 않으므로 특히 주의).
141
- - 독립적인 요청은 `Promise.all`로 병렬화, 일부 실패를 허용해야 하면
142
- `Promise.allSettled`.
143
- - **외부 사이트 요청은 기본적으로 순서대로.** 폭주 방지는 `IBulkOptions`의
144
- `delayMs` / `concurrency`로 조절하고 서버에 부하를 주는 기본값을 만들지 않는다.
145
-
146
- ### 문서·주석 동기화
147
-
148
- - `src/`에서 `console.*` 사용 금지 (테스트 파일 제외).
149
- - JSDoc/주석은 **한국어**로 public API와 사이트 특이사항(숨김 폼, AJAX 엔드포인트 등)을 설명.
150
- 이유: 대상 사이트가 국내 정부 시스템이라 도메인 맥락이 곧 문서.
151
- public 메서드는 1줄 한국어 요약 + 필요 시 `@param` / `@returns`.
152
- - import는 `import type { ... }`로 타입만 필요한 경우 분리, 상대경로에 확장자 없음.
153
- Node 내장은 `'url'`, `'https'` 형태로 임포트.
154
- - **새 public API는 반드시 `src/index.ts`에 export 등록** (누출 방지),
155
- 같은 PR에서 README.md의 메서드·타입 문서도 갱신한다.
156
-
157
- ## 에이전트 메모리 (`agent_memories/`)
158
-
159
- 여러 에이전트/세션이 **동일한 기억**을 읽고 쓰기 위한 공유 기록소.
160
- 형식의 단일 진실원은 `agent_memories/README.md`이며, 요약은 다음과 같다.
161
-
162
- - **진입점**: `agent_memories/INDEX.md` — 작업 시작 시 먼저 확인.
163
- - **유형별 폴더**: `decisions/`(결정과 이유), `tasks/`(작업 이력),
164
- `site-notes/`(대상 사이트 DOM·엔드포인트 변화), `findings/`(버그·원인 분석).
165
- - **레코드 형식**: 파일당 1주제, 파일명 `YYYY-MM-DD-<영문-kebab-slug>.md`, YAML frontmatter 필수
166
- (`id`, `type`, `title`, `status`, `author`, `created`, `updated`, `tags`).
167
- - **append-only**: 기존 레코드 본문을 고치지 않는다. 내용이 바뀌면 새 레코드를 만들고
168
- `supersedes`로 연결한 뒤 이전 레코드는 `status: superseded`로 표시.
169
- - **쓰기 후 반드시 `INDEX.md` 갱신** (같은 작업 안에서).
170
- - 기록 대상: 커밋하기 어려운 결정과 근거, 사이트 구조 변화, 재현된 버그 원인,
171
- 되풀이되는 작업의 체크포인트. 매사 기록하지 말고 후속 에이전트가 물어볼 내용만.
172
- - **중복 금지**: 규칙으로 확정된 사항은 AGENTS.md로 승격하고 메모리에는 배경·근거만 남긴다.
173
- - **충돌 시 우선순위**: 지침(AGENTS.md)과 메모리 내용이 충돌하면 **AGENTS.md가 우선**한다 —
174
- 메모리는 규칙이 아니라 사실·배경 기록이다. 메모리가 사실이 바뀌어 정정되면
175
- supersede 방식(새 레코드 + `supersedes` 연결)으로 갱신한다.
176
- - 비밀·토큰·개인정보 기록 금지. git에 커밋해 공유하고, npm 게시는 제외(`.npmignore`).
177
-
178
- ## 테스트 컨벤션
179
-
180
- - 위치: `src/<파일명>.test.ts` (소스 옆). `testMatch: **/*.test.ts`, ts-jest.
181
- - 구조: `describe('클래스명')` → `describe('메서드명')` → `test('동작 설명', ...)`.
182
- - 테스트 이름은 **영문**, 동사 시작, 동작 기술 (`returns [] for invalid html`).
183
- - HTML fixture는 테스트 파일 상단에 템플릿 리터럴 상수로 인라인하고
184
- `// ─── 섹션명 ───` 주석으로 구분한다. (실제 캡처를 축약한 형태)
185
- - 네트워크는 절대 호출하지 않는다. httpClient 주입 후 캐스팅해 mock:
186
- ```ts
187
- const httpClient = (instance as unknown as {
188
- httpClient: { get: (url: URL) => Promise<string> };
189
- }).httpClient;
190
- jest.spyOn(httpClient, 'get').mockImplementation(async () => FIXTURE_HTML);
191
- ```
192
- - 파서 변경 시 관련 fixture 테스트를 먼저 깨뜨려 회귀를 잡을 것 (대상 사이트 DOM 변경에 매우 민감).
193
-
194
- ## 브랜치 전략
195
-
196
- | 브랜치 | 역할 |
197
- |--------|------|
198
- | `dev` | **로컬 작업 공간의 기본 시작점·복귀지.** 피처 브랜치 파생 기준. Renovate의 `baseBranches` |
199
- | `main` | 공식 브랜치 (origin HEAD). **피처 병합 대상.** CI는 **PR → main**에서만 트리거됨 |
200
- | `renovate/*` | Renovate 자동 생성 (`renovate/<scope>-<version>`, 예: `renovate/typescript-6.x`) |
201
-
202
- **로컬 작업 라이프사이클** (`dev`가 기본 시작점):
203
-
204
- 1. **시작**: `git switch dev && git pull` — 작업은 항상 최신 `dev`에서 시작한다.
205
- 2. **파생**: `git switch -c feat/<요약>` — 피처 브랜치는 `dev`에서 파생한다.
206
- 3. **병합**: 작업 완료 후 PR로 **`main`에 병합**한다 (CI가 PR→main 전용이므로 병합 대상도 main).
207
- `gh pr create --base main` → `gh pr merge <n> --merge`.
208
- 4. **복귀·동기화**: `main` 병합이 끝나면 **`dev`로 복귀해 동기화**하고 다음 작업을 시작한다:
209
-
210
- ```bash
211
- git switch dev && git pull
212
- git merge main --no-edit # main에 병합된 내용을 dev에 반영
213
- git push origin dev # 리모트 dev도 같은 상태로 유지
214
- ```
215
-
216
- - 기능/수정 브랜치 명명은 Conventional Commits 타입을 따름:
217
- `feat/<요약>`, `fix/<요약>`, `chore/<요약>` (예: `feat/hydrate-likms-reason`).
218
- 요약은 영문 kebab-case.
219
- - `pull.rebase = false` — 히스토리는 rebase가 아니라 **merge**로 유지.
220
-
221
- ## 커밋 메시지
222
-
223
- Conventional Commits, 영문 주제문:
224
-
225
- ```
226
- feat: Hydrate empty proposalReason from 국회 의안정보시스템 (likms)
227
- fix: Preserve line breaks in proposalReason
228
- chore(deps): update all dependencies to latest compatible versions
229
- refactor: Use typed httpClient for mocking in NsmLmSts tests
230
- ```
231
-
232
- - 사용 타입: `feat`, `fix`, `chore`, `chore(deps)`, `refactor`, `docs`, `test`, `build`.
233
- - 소콜론 뒤는 대문자 시작. 한국어 도메인 용어(의안정보시스템 등)는 그대로 허용.
234
- - 버전 커밋(`2.2.0` 형식의 bare version)은 `npm version`이 자동 생성 — 직접 작성하지 않음.
235
- - **커밋 서명**: Git에 PGP(GPG) 서명키가 설정되어 있으면 **커밋을 서명한다**.
236
- - 설정 여부 확인: `git config --get commit.gpgsign` / `git config --get user.signingkey`
237
- (서명키가 있는데 `commit.gpgsign`이 꺼져 있으면 `git commit -S`로 서명하거나
238
- `git config commit.gpgsign true`로 기본값으로 활성화)
239
- - 서명키가 없는 환경에서는 서명 없이 커밋해도 된다 — 키 생성을 강제하지 않는다.
240
- - `npm version`이 만드는 버전 커밋도 같은 설정을 따라 자동 서명된다.
241
-
242
- ## GitHub 리모트 작업은 `gh` CLI
243
-
244
- 에이전트가 작업하든 커맨드라인에서 작업하든, GitHub 리모트 관련 작업은
245
- 반드시 **GitHub CLI(`gh`)** 를 사용한다. 웹 UI 수작업이나 `git` 명령만으로
246
- 우회하지 않는 것을 원칙으로 함.
247
-
248
- ```bash
249
- gh auth status # 인증 상태 확인 (실패 시 안내부터)
250
- gh pr create --base main # PR 생성 (피처 병합 대상은 main)
251
- gh pr view 123 # PR 조회 (상태/체크/리뷰)
252
- gh pr checks --watch # CI 결과 확인
253
- gh pr merge 123 --merge # merge commit으로 병합 (squash 금지, 아래 규칙)
254
- gh pr list / gh issue list # 목록 조회
255
- gh api ... # 없는 API는 gh api로 직접 호출
256
- ```
257
-
258
- - `gh`가 없거나 미인증이면 작업을 멈추고 사용자에게 설치/인증을 안내할 것
259
- (자동 로그인 시도나 토큰 입력 요청 금지).
260
- - 리모트 푸시·PR·이슈·릴리스 등 모든 원격 조작은 `gh` + `git` 조합으로 수행.
261
-
262
- ## PR/병합 규칙
263
-
264
- 1. **병합 방식은 merge commit** (squash 금지). 제목은 GitHub 기본 형식을 따른다:
265
- `Merge pull request #N from vientorepublic/<branch>`.
266
- 2. PR 전 게이트를 로컬에서 통과시키고 올린다:
267
- `npm run typecheck && npm run lint && npm test && npm run build`.
268
- ⚠️ CI workflow는 `pull_request: branches: [main]` 전용 — main 대상 PR은 CI가 도우며
269
- **dev 대상 PR(현재 사실상 Renovate)은 CI가 돌지 않는다.** 어느 쪽이든 로컬 게이트는
270
- 병합 전 필수이고, dev 대상 PR에서는 로컬 검증이 유일한 방어선이므로 생략 금지.
271
- 3. **`main`은 보호 브랜치다** — 필수 상태 체크 `test` · `build` · `contract-live`가 모두
272
- 성공해야 병합된다(`strict: true`라 최신 `main` 기준 재검증이 필요하고, `enforce_admins`는
273
- 꺼져 있어 긴급 시 admin은 우회할 수 있다). `contract-live`(`Contract check (pull requests)`)는
274
- PR마다 **크롤러 계약 검증** — 실사이트 응답이 파서가 기대하는 계약(선택자·엔드포인트·
275
- 응답 필드)과 그대로인지 18건을 점검하므로 **계약이 깨져 있으면 병합이 막힌다**.
276
- 사이트 구조가 바뀐 PR은 `scripts/drift-contracts`의 계약을 같은 PR에서 함께 고친다.
277
- 확인 불가(종료 코드 2: 타임아웃 등)는 지연 후 1회 재점검하고(기본 15초,
278
- `--retry`/`--retry-delay`), 그래도 남으면 경고에 그치고 병합을 막지 않는다
279
- (`.github/workflows/contract-live.yml`). 재점검은 판정이 더 강한 쪽만 남기므로
280
- 드리프트가 재점검 성공으로 가려지지 않는다. 정기 점검은 같은 이름 규칙으로
281
- `Contract check (daily)`(06:00 KST)이며, 이슈는 `crawler-contract` 라벨로 만든다.
282
- 필수 체크 이름은 워크플로 잡 id이므로 **워크플로 간에 겹치면 안 된다**(예: `build.yml`의 잡은 `build`).
283
- 4. PR 본문에 변경 유형(feat/fix/…)과 영향받는 사이트/파서를 명시.
284
- 5. Renovate PR: 자동 브랜치이며 베이스는 `dev` (renovate.json 설정 — 피처는 main이 대상이어도 Renovate만 dev는 유지).
285
- 병합 후 dev 동기화 루틴에서 함께 최신화하며, 의존성 업데이트는 Renovate에 맡긴다 —
286
- 수동으로 `package.json`을 올리지 않는 것을 원칙으로 함 (잠금파일 함께 커밋).
287
- 6. 하나의 PR은 하나의 목적. 파서 로직 변경과 리팩터링/포맷팅을 섞지 않는다.
288
-
289
- ## 릴리스
290
-
291
- ### 배포 지시 절차
292
-
293
- 사용자가 **배포**를 지시하면 아래 순서를 따른다. 각 단계의 성공을 확인한 뒤 다음 단계로 진행한다.
294
-
295
- 1. **버전 분석 후 버전 범프** — 직전 태그 이후의 변경으로 major/minor/patch를 판단한다:
296
-
297
- ```bash
298
- git log $(git describe --tags --abbrev=0)..HEAD --oneline
299
- ```
300
-
301
- - `fix:` / `chore:`만 있으면 **patch**, `feat:` (하위 호환 유지)는 **minor**,
302
- 공개 API 제거·시그니처 변경 등 기존 사용자 코드가 깨지는 변경은 **major**.
303
- - 판단 근거(어떤 타입의 커밋이 포함됐는지)를 PR 본문에 남긴다.
304
- - `npm version <major|minor|patch>`로 범프 — `package.json` 버전 커밋(예: `2.3.0`)과
305
- 태그(`v2.3.0`)가 기존 패턴대로 자동 생성된다. 버전을 직접 편집해 태그를 별도로 만드는 방식은 쓰지 않는다.
306
- - 브랜치는 `dev`에서 파생한 `chore/release-v2.3.0` 형태 (브랜치 전략의 라이프사이클).
307
- 2. **lockfile 동기화** — `npm install`을 1회 실행해 `package-lock.json`이 새 버전과
308
- 일치하는지 확정하고 함께 커밋한다. (`npm version`이 이미 동기화했다면 차이 없음.)
309
- ※ 개발 명령어의 "`npm install` 금지"는 **설치** 목적 규칙이고, 여기는 lockfile **갱신** 목적이므로 예외다.
310
- 3. **PR 생성 (`gh`)**
311
-
312
- ```bash
313
- git push -u origin chore/release-v2.3.0
314
- gh pr create --base main --title "chore: Release v2.3.0" --body "..."
315
- ```
316
-
317
- - PR 본문에 버전 판단 근거와 변경 요약을 포함한다 (PR/병합 규칙 3번 참조).
318
- 4. **최종 검토 후 병합** — 아래를 전부 통과하고 문제가 없으면 병합한다:
319
- - 로컬 게이트: **PR/병합 규칙 2번과 동일** — `npm run typecheck && npm run lint && npm test && npm run build`
320
- - 형식: `npm run format` 실행 후 달라진 파일을 커밋에 포함
321
- - GitHub CI/Checks: `gh pr checks --watch` 로 Test/Build 워크플로 성공 확인
322
- - PR diff 최종 리뷰 (버전·lockfile 외에 불필요한 변경이 섞이지 않았는지)
323
- - 문제가 있으면 병합하지 말고 수정한 뒤 이 단계를 다시 돈다.
324
-
325
- ```bash
326
- gh pr merge <n> --merge # merge commit, squash 금지
327
- ```
328
-
329
- 5. **릴리스 생성** — 기존 GitHub 릴리즈 패턴과 일관된 구조로 만든다
330
- (태그 `vX.Y.Z`, 제목 `release: vX.Y.Z`, 자동 노트):
331
-
332
- ```bash
333
- git switch main && git pull
334
- git push origin --follow-tags # 버전 태그 푸시
335
- gh release create vX.Y.Z --title "release: vX.Y.Z" --generate-notes
336
- npm publish # 게시 (prepublishOnly: lint → test → build)
337
- ```
338
-
339
- - `--generate-notes`가 기존처럼 `**Full Changelog**: .../compare/vA...vB` 비교 링크를 포함한다.
340
- - 릴리스·게시가 끝나면 **`dev`로 복귀해 동기화**한다 (라이프사이클 4단계).
341
-
342
- ### 기존 릴리스 스크립트 (같은 게이트 사용)
343
-
344
- ```bash
345
- npm run release:patch # npm version patch && npm publish
346
- npm run release:minor
347
- npm run release:major
348
- ```
349
-
350
- - `prepack`이 clean → build를, `prepublishOnly`가 lint → test → build를 자동 실행.
351
- - 게시 전 `npm run release:dry`로 내용물 확인.
352
- - 다만 사용자가 배포를 지시한 경우에는 위 **배포 지시 절차**를 우선한다.
353
-
354
- ## 주의사항
355
-
356
- - `http-client.ts`의 인코딩 폴백(UTF-8 선언 ↔ cp949 실제 응답) 로직은 사이트별
357
- 예외 대응이므로 임의로 제거하지 말 것.
358
- - Puppeteer 스크린샷은 선택 기능 (`screenshot` 설정). 기본 경로는 HTTP + cheerio 파싱이며
359
- 스크린샷 때문에 무거운 브라우저 의존을 기본 경로에 도입하지 말 것.
360
- - `.DS_Store` 등 로컬 파일과 에이전트 상태 파일(`.freebuff/` 등)은 커밋하지 않음 — `.gitignore` 패턴이 관리한다.
package/eslint.config.mjs DELETED
@@ -1,5 +0,0 @@
1
- // @ts-check
2
- import eslint from "@eslint/js";
3
- import tseslint from "typescript-eslint";
4
-
5
- export default tseslint.config(eslint.configs.recommended, tseslint.configs.recommended);
package/renovate.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
- "extends": ["config:recommended"],
4
- "baseBranches": ["dev"]
5
- }
package/tsconfig.json DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "CommonJS",
4
- "target": "ES2020",
5
- "types": ["node", "jest"],
6
- "sourceMap": true,
7
- "rootDir": "./src",
8
- "outDir": "./dist",
9
- "declaration": true,
10
- "skipLibCheck": true,
11
- "forceConsistentCasingInFileNames": true,
12
- "esModuleInterop": true
13
- },
14
- "include": ["src/**/*"],
15
- "exclude": ["node_modules", "dist", "test", "example", "**/node_modules/*"]
16
- }