@yolo-croket-dev/entity-v2 0.2.141-jun.5 → 0.2.141-jun.7
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/index.d.ts +1 -0
- package/index.js +1 -0
- package/naver-policy-ai-review/common.entity.d.ts +46 -0
- package/naver-policy-ai-review/common.entity.js +2 -0
- package/naver-policy-ai-review/enum.d.ts +43 -0
- package/naver-policy-ai-review/enum.js +51 -0
- package/naver-policy-ai-review/index.d.ts +4 -0
- package/naver-policy-ai-review/index.js +20 -0
- package/naver-policy-ai-review/naver-policy-ai-review-log.entity.d.ts +71 -0
- package/naver-policy-ai-review/naver-policy-ai-review-log.entity.js +2 -0
- package/naver-policy-ai-review/naver-policy-ai-review-result.entity.d.ts +61 -0
- package/naver-policy-ai-review/naver-policy-ai-review-result.entity.js +2 -0
- package/package.json +1 -1
- package/store-item-naver-feed-guard/store-item-naver-feed-guard.entity.d.ts +4 -0
- package/store-item-naver-feed-guard/store-item-naver-feed-guard.entity.js +4 -0
package/index.d.ts
CHANGED
|
@@ -59,6 +59,7 @@ export * from './cart-second-push-log';
|
|
|
59
59
|
export * from './cart-third-push-log';
|
|
60
60
|
export * from './store-item-naver-feed';
|
|
61
61
|
export * from './store-item-naver-feed-guard';
|
|
62
|
+
export * from './naver-policy-ai-review';
|
|
62
63
|
export * from './brand.modules/naver-brand-dictionary';
|
|
63
64
|
export * from './buyma-item.modules';
|
|
64
65
|
export * from './campaign-store-item';
|
package/index.js
CHANGED
|
@@ -75,6 +75,7 @@ __exportStar(require("./cart-second-push-log"), exports);
|
|
|
75
75
|
__exportStar(require("./cart-third-push-log"), exports);
|
|
76
76
|
__exportStar(require("./store-item-naver-feed"), exports);
|
|
77
77
|
__exportStar(require("./store-item-naver-feed-guard"), exports);
|
|
78
|
+
__exportStar(require("./naver-policy-ai-review"), exports);
|
|
78
79
|
__exportStar(require("./brand.modules/naver-brand-dictionary"), exports);
|
|
79
80
|
__exportStar(require("./buyma-item.modules"), exports);
|
|
80
81
|
__exportStar(require("./campaign-store-item"), exports);
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { NaverPolicyAiReviewDecisionEnum, NaverPolicyAiReviewTextSourceTypeEnum } from './enum';
|
|
2
|
+
/** @description 네이버 정책 AI 검수 후보 문장 */
|
|
3
|
+
export interface NaverPolicyAiReviewCandidate {
|
|
4
|
+
/** @description 후보 문장이 추출된 원본 텍스트 종류 */
|
|
5
|
+
sourceType: NaverPolicyAiReviewTextSourceTypeEnum;
|
|
6
|
+
/** @description 텍스트 원본을 식별하기 위한 내부 id 또는 path */
|
|
7
|
+
sourceId?: string;
|
|
8
|
+
/** @description OCR 이미지 후보일 때 원본 이미지를 식별하는 md5sum */
|
|
9
|
+
imageMd5?: string;
|
|
10
|
+
/** @description 후보를 추출한 룰 id */
|
|
11
|
+
ruleId: string;
|
|
12
|
+
/** @description 후보가 속한 정책 위험 카테고리 */
|
|
13
|
+
category: string;
|
|
14
|
+
/** @description 룰에 매칭된 핵심 단어 목록 */
|
|
15
|
+
matchedTerms: string[];
|
|
16
|
+
/** @description 후보 문장 바로 앞 문맥 */
|
|
17
|
+
beforeText?: string;
|
|
18
|
+
/** @description AI 검수 대상이 되는 핵심 후보 문장 */
|
|
19
|
+
exactText: string;
|
|
20
|
+
/** @description 후보 문장 바로 뒤 문맥 */
|
|
21
|
+
afterText?: string;
|
|
22
|
+
/** @description OCR 저신뢰도처럼 후보 해석에 참고할 품질 플래그 */
|
|
23
|
+
qualityFlags?: string[];
|
|
24
|
+
}
|
|
25
|
+
/** @description 네이버 정책 AI 검수 후보별 판정 결과 */
|
|
26
|
+
export interface NaverPolicyAiReviewCandidateResult {
|
|
27
|
+
/** @description candidates 배열에서 해당 후보가 위치한 index */
|
|
28
|
+
candidateIndex: number;
|
|
29
|
+
/** @description 후보 단위 AI 판정 */
|
|
30
|
+
decision: NaverPolicyAiReviewDecisionEnum;
|
|
31
|
+
/** @description 판정 사유를 분류하기 위한 코드 */
|
|
32
|
+
reasonCode: string;
|
|
33
|
+
/** @description 후보 판정 confidence. 0부터 1 사이 값을 기대합니다. */
|
|
34
|
+
confidence: number;
|
|
35
|
+
/** @description 사람이 이해할 수 있는 후보 판정 사유 */
|
|
36
|
+
reason: string;
|
|
37
|
+
}
|
|
38
|
+
/** @description 네이버 정책 AI 검수 오류 요약 */
|
|
39
|
+
export interface NaverPolicyAiReviewErrorSummary {
|
|
40
|
+
/** @description 오류를 분류하기 위한 코드 */
|
|
41
|
+
code: string;
|
|
42
|
+
/** @description 운영자 또는 개발자가 확인할 오류 메시지 */
|
|
43
|
+
message: string;
|
|
44
|
+
/** @description 오류가 발생한 시각 */
|
|
45
|
+
occurredAt: Date;
|
|
46
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** @description 네이버 정책 AI 검수 채널 */
|
|
2
|
+
export declare enum NaverPolicyAiReviewChannelEnum {
|
|
3
|
+
/** @description 네이버 SA/쇼핑 연동 정책 검수 채널 */
|
|
4
|
+
NAVER = "NAVER"
|
|
5
|
+
}
|
|
6
|
+
/** @description 네이버 정책 AI 검수 결과 문서의 처리 상태 */
|
|
7
|
+
export declare enum NaverPolicyAiReviewStatusEnum {
|
|
8
|
+
/** @description 검수 요청은 생성됐지만 아직 AI 검수가 시작되지 않은 상태 */
|
|
9
|
+
WAITING = "waiting",
|
|
10
|
+
/** @description AI 검수 처리 중 실패가 발생해 운영 확인이 필요한 상태 */
|
|
11
|
+
FAIL = "fail",
|
|
12
|
+
/** @description AI 검수 처리가 정상 종료된 상태 */
|
|
13
|
+
SUCCESS = "success"
|
|
14
|
+
}
|
|
15
|
+
/** @description 네이버 정책 AI 검수 최종 판정 */
|
|
16
|
+
export declare enum NaverPolicyAiReviewDecisionEnum {
|
|
17
|
+
/** @description 네이버 연동을 계속 진행해도 되는 상품 */
|
|
18
|
+
ALLOW = "ALLOW",
|
|
19
|
+
/** @description 자동 차단은 하지 않지만 운영자 확인이 필요한 상품 */
|
|
20
|
+
REVIEW = "REVIEW",
|
|
21
|
+
/** @description 네이버 패널티 위험이 높아 운영자 우선 확인과 연동 제외 검토가 필요한 상품 */
|
|
22
|
+
BLOCK = "BLOCK"
|
|
23
|
+
}
|
|
24
|
+
/** @description 네이버 정책 AI 검수 시도 로그의 처리 상태 */
|
|
25
|
+
export declare enum NaverPolicyAiReviewLogStatusEnum {
|
|
26
|
+
/** @description AI 검수 시도가 정상 종료된 로그 */
|
|
27
|
+
SUCCESS = "SUCCESS",
|
|
28
|
+
/** @description AI 검수 시도 중 오류가 발생한 로그 */
|
|
29
|
+
FAILED = "FAILED"
|
|
30
|
+
}
|
|
31
|
+
/** @description 네이버 정책 AI 검수에 사용된 텍스트 출처 */
|
|
32
|
+
export declare enum NaverPolicyAiReviewTextSourceTypeEnum {
|
|
33
|
+
/** @description 상품명에서 추출한 텍스트. v1에서는 예약 값입니다. */
|
|
34
|
+
PRODUCT_NAME = "PRODUCT_NAME",
|
|
35
|
+
/** @description 옵션명 또는 옵션값에서 추출한 텍스트. v1에서는 예약 값입니다. */
|
|
36
|
+
OPTION_NAME = "OPTION_NAME",
|
|
37
|
+
/** @description 상품 상세 설명 텍스트 */
|
|
38
|
+
DETAIL_TEXT = "DETAIL_TEXT",
|
|
39
|
+
/** @description 상품 HTML 상세에서 태그를 제거해 만든 텍스트 */
|
|
40
|
+
DETAIL_HTML_TEXT = "DETAIL_HTML_TEXT",
|
|
41
|
+
/** @description 상품 이미지 OCR 결과 텍스트 */
|
|
42
|
+
IMAGE_OCR = "IMAGE_OCR"
|
|
43
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NaverPolicyAiReviewTextSourceTypeEnum = exports.NaverPolicyAiReviewLogStatusEnum = exports.NaverPolicyAiReviewDecisionEnum = exports.NaverPolicyAiReviewStatusEnum = exports.NaverPolicyAiReviewChannelEnum = void 0;
|
|
4
|
+
/** @description 네이버 정책 AI 검수 채널 */
|
|
5
|
+
var NaverPolicyAiReviewChannelEnum;
|
|
6
|
+
(function (NaverPolicyAiReviewChannelEnum) {
|
|
7
|
+
/** @description 네이버 SA/쇼핑 연동 정책 검수 채널 */
|
|
8
|
+
NaverPolicyAiReviewChannelEnum["NAVER"] = "NAVER";
|
|
9
|
+
})(NaverPolicyAiReviewChannelEnum = exports.NaverPolicyAiReviewChannelEnum || (exports.NaverPolicyAiReviewChannelEnum = {}));
|
|
10
|
+
/** @description 네이버 정책 AI 검수 결과 문서의 처리 상태 */
|
|
11
|
+
var NaverPolicyAiReviewStatusEnum;
|
|
12
|
+
(function (NaverPolicyAiReviewStatusEnum) {
|
|
13
|
+
/** @description 검수 요청은 생성됐지만 아직 AI 검수가 시작되지 않은 상태 */
|
|
14
|
+
NaverPolicyAiReviewStatusEnum["WAITING"] = "waiting";
|
|
15
|
+
/** @description AI 검수 처리 중 실패가 발생해 운영 확인이 필요한 상태 */
|
|
16
|
+
NaverPolicyAiReviewStatusEnum["FAIL"] = "fail";
|
|
17
|
+
/** @description AI 검수 처리가 정상 종료된 상태 */
|
|
18
|
+
NaverPolicyAiReviewStatusEnum["SUCCESS"] = "success";
|
|
19
|
+
})(NaverPolicyAiReviewStatusEnum = exports.NaverPolicyAiReviewStatusEnum || (exports.NaverPolicyAiReviewStatusEnum = {}));
|
|
20
|
+
/** @description 네이버 정책 AI 검수 최종 판정 */
|
|
21
|
+
var NaverPolicyAiReviewDecisionEnum;
|
|
22
|
+
(function (NaverPolicyAiReviewDecisionEnum) {
|
|
23
|
+
/** @description 네이버 연동을 계속 진행해도 되는 상품 */
|
|
24
|
+
NaverPolicyAiReviewDecisionEnum["ALLOW"] = "ALLOW";
|
|
25
|
+
/** @description 자동 차단은 하지 않지만 운영자 확인이 필요한 상품 */
|
|
26
|
+
NaverPolicyAiReviewDecisionEnum["REVIEW"] = "REVIEW";
|
|
27
|
+
/** @description 네이버 패널티 위험이 높아 운영자 우선 확인과 연동 제외 검토가 필요한 상품 */
|
|
28
|
+
NaverPolicyAiReviewDecisionEnum["BLOCK"] = "BLOCK";
|
|
29
|
+
})(NaverPolicyAiReviewDecisionEnum = exports.NaverPolicyAiReviewDecisionEnum || (exports.NaverPolicyAiReviewDecisionEnum = {}));
|
|
30
|
+
/** @description 네이버 정책 AI 검수 시도 로그의 처리 상태 */
|
|
31
|
+
var NaverPolicyAiReviewLogStatusEnum;
|
|
32
|
+
(function (NaverPolicyAiReviewLogStatusEnum) {
|
|
33
|
+
/** @description AI 검수 시도가 정상 종료된 로그 */
|
|
34
|
+
NaverPolicyAiReviewLogStatusEnum["SUCCESS"] = "SUCCESS";
|
|
35
|
+
/** @description AI 검수 시도 중 오류가 발생한 로그 */
|
|
36
|
+
NaverPolicyAiReviewLogStatusEnum["FAILED"] = "FAILED";
|
|
37
|
+
})(NaverPolicyAiReviewLogStatusEnum = exports.NaverPolicyAiReviewLogStatusEnum || (exports.NaverPolicyAiReviewLogStatusEnum = {}));
|
|
38
|
+
/** @description 네이버 정책 AI 검수에 사용된 텍스트 출처 */
|
|
39
|
+
var NaverPolicyAiReviewTextSourceTypeEnum;
|
|
40
|
+
(function (NaverPolicyAiReviewTextSourceTypeEnum) {
|
|
41
|
+
/** @description 상품명에서 추출한 텍스트. v1에서는 예약 값입니다. */
|
|
42
|
+
NaverPolicyAiReviewTextSourceTypeEnum["PRODUCT_NAME"] = "PRODUCT_NAME";
|
|
43
|
+
/** @description 옵션명 또는 옵션값에서 추출한 텍스트. v1에서는 예약 값입니다. */
|
|
44
|
+
NaverPolicyAiReviewTextSourceTypeEnum["OPTION_NAME"] = "OPTION_NAME";
|
|
45
|
+
/** @description 상품 상세 설명 텍스트 */
|
|
46
|
+
NaverPolicyAiReviewTextSourceTypeEnum["DETAIL_TEXT"] = "DETAIL_TEXT";
|
|
47
|
+
/** @description 상품 HTML 상세에서 태그를 제거해 만든 텍스트 */
|
|
48
|
+
NaverPolicyAiReviewTextSourceTypeEnum["DETAIL_HTML_TEXT"] = "DETAIL_HTML_TEXT";
|
|
49
|
+
/** @description 상품 이미지 OCR 결과 텍스트 */
|
|
50
|
+
NaverPolicyAiReviewTextSourceTypeEnum["IMAGE_OCR"] = "IMAGE_OCR";
|
|
51
|
+
})(NaverPolicyAiReviewTextSourceTypeEnum = exports.NaverPolicyAiReviewTextSourceTypeEnum || (exports.NaverPolicyAiReviewTextSourceTypeEnum = {}));
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./common.entity"), exports);
|
|
18
|
+
__exportStar(require("./enum"), exports);
|
|
19
|
+
__exportStar(require("./naver-policy-ai-review-log.entity"), exports);
|
|
20
|
+
__exportStar(require("./naver-policy-ai-review-result.entity"), exports);
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Types } from 'mongoose';
|
|
2
|
+
import { NaverPolicyAiReviewCandidate, NaverPolicyAiReviewCandidateResult, NaverPolicyAiReviewErrorSummary } from './common.entity';
|
|
3
|
+
import { NaverPolicyAiReviewChannelEnum, NaverPolicyAiReviewDecisionEnum, NaverPolicyAiReviewLogStatusEnum } from './enum';
|
|
4
|
+
/** @description 네이버 정책 AI 검수 로그에 저장하는 provider 요청 스냅샷 */
|
|
5
|
+
export interface NaverPolicyAiReviewRequestPayload {
|
|
6
|
+
/** @description AI 검수에 전달한 후보 목록 */
|
|
7
|
+
candidates: NaverPolicyAiReviewCandidate[];
|
|
8
|
+
/** @description 네이버 정책 정의 버전 */
|
|
9
|
+
policyVersion: string;
|
|
10
|
+
/** @description 후보 추출 룰셋 버전 */
|
|
11
|
+
ruleSetVersion: string;
|
|
12
|
+
/** @description 후보 추출기 구현 버전 */
|
|
13
|
+
candidateExtractorVersion: string;
|
|
14
|
+
/** @description AI 프롬프트 버전 */
|
|
15
|
+
promptVersion: string;
|
|
16
|
+
/** @description AI provider 이름 */
|
|
17
|
+
modelProvider: string;
|
|
18
|
+
/** @description 호출한 AI 모델명 */
|
|
19
|
+
modelName: string;
|
|
20
|
+
/** @description provider가 제공하는 모델 세부 버전 */
|
|
21
|
+
modelVersion?: string;
|
|
22
|
+
}
|
|
23
|
+
/** @description 네이버 정책 AI 검수 로그에 저장하는 provider 응답 스냅샷 */
|
|
24
|
+
export interface NaverPolicyAiReviewResponseResult {
|
|
25
|
+
/** @description AI가 반환한 상품 단위 최종 판정 */
|
|
26
|
+
productDecision: NaverPolicyAiReviewDecisionEnum;
|
|
27
|
+
/** @description AI가 반환한 상품 단위 confidence */
|
|
28
|
+
productConfidence: number;
|
|
29
|
+
/** @description AI가 반환한 후보별 판정 결과 */
|
|
30
|
+
candidateResults: NaverPolicyAiReviewCandidateResult[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @author jun
|
|
34
|
+
* @description 네이버 정책 AI 검수 시도 로그 데이터
|
|
35
|
+
*/
|
|
36
|
+
export interface NaverPolicyAiReviewLogEntity {
|
|
37
|
+
/** @description AI 검수 시도 로그 문서 id */
|
|
38
|
+
_id: Types.ObjectId | string;
|
|
39
|
+
/** @description 이 시도가 연결된 AI 검수 결과 문서 id */
|
|
40
|
+
naverPolicyAiReviewResultId: Types.ObjectId | string;
|
|
41
|
+
/** @description 검수 대상 guard 문서 id */
|
|
42
|
+
guardId: Types.ObjectId | string;
|
|
43
|
+
/** @description 상품 기준 검수일 때 연결되는 상품 id */
|
|
44
|
+
productId?: Types.ObjectId | string;
|
|
45
|
+
/** @description 상품 판매자 id. 운영자 필터와 통계에 사용합니다. */
|
|
46
|
+
sellerId?: Types.ObjectId | string;
|
|
47
|
+
/** @description 검수 채널 */
|
|
48
|
+
channel: NaverPolicyAiReviewChannelEnum;
|
|
49
|
+
/** @description 같은 result 안에서 몇 번째 시도인지 나타내는 번호 */
|
|
50
|
+
attemptNo: number;
|
|
51
|
+
/** @description AI 검수 시도 성공 또는 실패 상태 */
|
|
52
|
+
status: NaverPolicyAiReviewLogStatusEnum;
|
|
53
|
+
/** @description AI provider에 전달한 요청 스냅샷 */
|
|
54
|
+
payload: NaverPolicyAiReviewRequestPayload;
|
|
55
|
+
/** @description AI provider가 반환한 응답 스냅샷 */
|
|
56
|
+
result?: NaverPolicyAiReviewResponseResult;
|
|
57
|
+
/** @description AI 검수 시도 실패 시 저장하는 오류 요약 */
|
|
58
|
+
error?: NaverPolicyAiReviewErrorSummary;
|
|
59
|
+
/** @description AI 검수를 실행한 worker id */
|
|
60
|
+
workerId?: string;
|
|
61
|
+
/** @description AI 검수를 실행한 host 이름 */
|
|
62
|
+
hostname?: string;
|
|
63
|
+
/** @description AI 검수 시도 시작 시각 */
|
|
64
|
+
startedAt: Date;
|
|
65
|
+
/** @description AI 검수 시도 종료 시각 */
|
|
66
|
+
finishedAt?: Date;
|
|
67
|
+
/** @description AI 검수 시도 처리 시간 */
|
|
68
|
+
processingTimeMs?: number;
|
|
69
|
+
/** @description 로그 문서 생성 시각 */
|
|
70
|
+
createdAt: Date;
|
|
71
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Types } from 'mongoose';
|
|
2
|
+
import { NaverPolicyAiReviewCandidate, NaverPolicyAiReviewCandidateResult, NaverPolicyAiReviewErrorSummary } from './common.entity';
|
|
3
|
+
import { NaverPolicyAiReviewChannelEnum, NaverPolicyAiReviewDecisionEnum, NaverPolicyAiReviewStatusEnum } from './enum';
|
|
4
|
+
/**
|
|
5
|
+
* @author jun
|
|
6
|
+
* @description 네이버 정책 AI 검수 결과 데이터
|
|
7
|
+
*/
|
|
8
|
+
export interface NaverPolicyAiReviewResultEntity {
|
|
9
|
+
/** @description 검수 결과 문서 id */
|
|
10
|
+
_id: Types.ObjectId | string;
|
|
11
|
+
/** @description 검수 대상 guard 문서 id */
|
|
12
|
+
guardId: Types.ObjectId | string;
|
|
13
|
+
/** @description 상품 기준 검수일 때 연결되는 상품 id */
|
|
14
|
+
productId?: Types.ObjectId | string;
|
|
15
|
+
/** @description 상품 판매자 id. 운영자 필터와 통계에 사용합니다. */
|
|
16
|
+
sellerId?: Types.ObjectId | string;
|
|
17
|
+
/** @description 검수 채널 */
|
|
18
|
+
channel: NaverPolicyAiReviewChannelEnum;
|
|
19
|
+
/** @description AI 검수 결과 문서의 처리 상태 */
|
|
20
|
+
status: NaverPolicyAiReviewStatusEnum;
|
|
21
|
+
/** @description AI 검수 결과의 최종 판정 */
|
|
22
|
+
decision?: NaverPolicyAiReviewDecisionEnum;
|
|
23
|
+
/** @description 네이버 정책 정의 버전 */
|
|
24
|
+
policyVersion: string;
|
|
25
|
+
/** @description 후보 추출 룰셋 버전 */
|
|
26
|
+
ruleSetVersion: string;
|
|
27
|
+
/** @description 후보 추출기 구현 버전 */
|
|
28
|
+
candidateExtractorVersion: string;
|
|
29
|
+
/** @description AI 프롬프트 버전 */
|
|
30
|
+
promptVersion: string;
|
|
31
|
+
/** @description AI provider 이름 */
|
|
32
|
+
modelProvider: string;
|
|
33
|
+
/** @description 호출한 AI 모델명 */
|
|
34
|
+
modelName: string;
|
|
35
|
+
/** @description provider가 제공하는 모델 세부 버전 */
|
|
36
|
+
modelVersion?: string;
|
|
37
|
+
/** @description AI 검수에 사용한 후보 수 */
|
|
38
|
+
candidateCount: number;
|
|
39
|
+
/** @description 운영자 리스트에서 빠르게 볼 후보 요약 */
|
|
40
|
+
candidateSummary?: string;
|
|
41
|
+
/** @description AI가 상품 단위로 반환한 confidence */
|
|
42
|
+
aiConfidence?: number;
|
|
43
|
+
/** @description 최종 판정에 연결된 사유 코드 목록 */
|
|
44
|
+
reasonCodes: string[];
|
|
45
|
+
/** @description AI 검수에 전달한 후보 문장 스냅샷 */
|
|
46
|
+
candidates: NaverPolicyAiReviewCandidate[];
|
|
47
|
+
/** @description 후보별 AI 판정 결과 */
|
|
48
|
+
candidateResults: NaverPolicyAiReviewCandidateResult[];
|
|
49
|
+
/** @description AI 검수를 시도한 횟수 */
|
|
50
|
+
attempts: number;
|
|
51
|
+
/** @description 마지막 AI 검수 시도 로그 id */
|
|
52
|
+
lastAttemptId?: Types.ObjectId | string;
|
|
53
|
+
/** @description 마지막 실패가 발생했을 때의 오류 요약 */
|
|
54
|
+
lastError?: NaverPolicyAiReviewErrorSummary;
|
|
55
|
+
/** @description AI 검수가 완료된 시각 */
|
|
56
|
+
reviewedAt?: Date;
|
|
57
|
+
/** @description 문서 생성 시각 */
|
|
58
|
+
createdAt: Date;
|
|
59
|
+
/** @description 문서 마지막 수정 시각 */
|
|
60
|
+
updatedAt: Date;
|
|
61
|
+
}
|
package/package.json
CHANGED
|
@@ -39,6 +39,10 @@ export declare enum StoreItemNaverFeedGuardErrorTypeEnum {
|
|
|
39
39
|
OCR_PROCESS_FAILED = "OCR_PROCESS_FAILED",
|
|
40
40
|
/** OCR completion이 도착하지 않아 검수 진행 상태가 멈춤 */
|
|
41
41
|
OCR_CHECK_STALLED = "OCR_CHECK_STALLED",
|
|
42
|
+
/** OCR은 완료됐지만 AI 검수 요청 발행이 확인되지 않음 */
|
|
43
|
+
AI_REVIEW_REQUEST_FAILED = "AI_REVIEW_REQUEST_FAILED",
|
|
44
|
+
/** AI 검수 진행 상태가 오래 멈춤 */
|
|
45
|
+
AI_REVIEW_STALLED = "AI_REVIEW_STALLED",
|
|
42
46
|
/** AI 검수 실패 */
|
|
43
47
|
AI_REVIEW_FAILED = "AI_REVIEW_FAILED"
|
|
44
48
|
}
|
|
@@ -44,6 +44,10 @@ var StoreItemNaverFeedGuardErrorTypeEnum;
|
|
|
44
44
|
StoreItemNaverFeedGuardErrorTypeEnum["OCR_PROCESS_FAILED"] = "OCR_PROCESS_FAILED";
|
|
45
45
|
/** OCR completion이 도착하지 않아 검수 진행 상태가 멈춤 */
|
|
46
46
|
StoreItemNaverFeedGuardErrorTypeEnum["OCR_CHECK_STALLED"] = "OCR_CHECK_STALLED";
|
|
47
|
+
/** OCR은 완료됐지만 AI 검수 요청 발행이 확인되지 않음 */
|
|
48
|
+
StoreItemNaverFeedGuardErrorTypeEnum["AI_REVIEW_REQUEST_FAILED"] = "AI_REVIEW_REQUEST_FAILED";
|
|
49
|
+
/** AI 검수 진행 상태가 오래 멈춤 */
|
|
50
|
+
StoreItemNaverFeedGuardErrorTypeEnum["AI_REVIEW_STALLED"] = "AI_REVIEW_STALLED";
|
|
47
51
|
/** AI 검수 실패 */
|
|
48
52
|
StoreItemNaverFeedGuardErrorTypeEnum["AI_REVIEW_FAILED"] = "AI_REVIEW_FAILED";
|
|
49
53
|
})(StoreItemNaverFeedGuardErrorTypeEnum = exports.StoreItemNaverFeedGuardErrorTypeEnum || (exports.StoreItemNaverFeedGuardErrorTypeEnum = {}));
|