// generated from contracts/authorization/kbx.authorization.json
export const kbxPermissionCatalog = [
  {
    "id": "common.ai.use",
    "module": "COMMON",
    "resource": "ai",
    "action": "use",
    "risk": "medium",
    "description": "AI 설명·추천·초안 기능 사용",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "common.ai.execute",
    "module": "COMMON",
    "resource": "ai",
    "action": "execute",
    "risk": "high",
    "description": "AI 승인 제안의 실제 Command 실행 허용",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "common.operations.claim",
    "module": "COMMON",
    "resource": "operations",
    "action": "claim",
    "risk": "medium",
    "description": "업무 예외를 내 처리건으로 지정",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "common.operations.create",
    "module": "COMMON",
    "resource": "operations",
    "action": "create",
    "risk": "medium",
    "description": "대사 결과에서 운영 예외 생성",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "common.operations.read",
    "module": "COMMON",
    "resource": "operations",
    "action": "read",
    "risk": "low",
    "description": "업무 예외 센터 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "common.operations.resolve",
    "module": "COMMON",
    "resource": "operations",
    "action": "resolve",
    "risk": "high",
    "description": "수동 해결이 허용된 운영 예외 해결",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "common.operations.retry",
    "module": "COMMON",
    "resource": "operations",
    "action": "retry",
    "risk": "high",
    "description": "등록된 안전한 예외 Action 재처리",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "common.reconcile.read",
    "module": "COMMON",
    "resource": "reconcile",
    "action": "read",
    "risk": "low",
    "description": "업무 데이터 대사 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "common.runtime.read",
    "module": "COMMON",
    "resource": "runtime",
    "action": "read",
    "risk": "low",
    "description": "런타임 상태·작업·알림 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "common.suggestion.create",
    "module": "COMMON",
    "resource": "suggestion",
    "action": "create",
    "risk": "low",
    "description": "현재 화면 사용자 제안 등록",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "erp.inventory.move.confirm",
    "module": "ERP",
    "resource": "inventory-move",
    "action": "confirm",
    "risk": "high",
    "description": "재고이동 확정",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "erp.inventory.move.read",
    "module": "ERP",
    "resource": "inventory-move",
    "action": "read",
    "risk": "low",
    "description": "재고이동 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "erp.inventory.move.receive",
    "module": "ERP",
    "resource": "inventory-move",
    "action": "receive",
    "risk": "high",
    "description": "이동재고 입고완료",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "erp.inventory.move.ship",
    "module": "ERP",
    "resource": "inventory-move",
    "action": "ship",
    "risk": "high",
    "description": "이동재고 출고",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "erp.inventory.move.write",
    "module": "ERP",
    "resource": "inventory-move",
    "action": "write",
    "risk": "medium",
    "description": "재고이동 작성·수정",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "erp.inventory.read",
    "module": "ERP",
    "resource": "inventory",
    "action": "read",
    "risk": "low",
    "description": "재고현황 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "erp.item.price.read",
    "module": "ERP",
    "resource": "item-price",
    "action": "read",
    "risk": "low",
    "description": "품목 단가 일괄등록 화면 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "erp.item.price.write",
    "module": "ERP",
    "resource": "item-price",
    "action": "write",
    "risk": "medium",
    "description": "품목 단가 일괄등록·수정",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "erp.item.create",
    "module": "ERP",
    "resource": "item",
    "action": "create",
    "risk": "medium",
    "description": "품목 신규·복사",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "erp.item.read",
    "module": "ERP",
    "resource": "item",
    "action": "read",
    "risk": "low",
    "description": "품목 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "erp.item.write",
    "module": "ERP",
    "resource": "item",
    "action": "write",
    "risk": "medium",
    "description": "품목 수정·사용중지",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "erp.purchase.cancel",
    "module": "ERP",
    "resource": "purchase",
    "action": "cancel",
    "risk": "high",
    "description": "구매 취소",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "erp.purchase.confirm",
    "module": "ERP",
    "resource": "purchase",
    "action": "confirm",
    "risk": "high",
    "description": "구매 확정",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "erp.purchase.read",
    "module": "ERP",
    "resource": "purchase",
    "action": "read",
    "risk": "low",
    "description": "구매 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "erp.purchase.write",
    "module": "ERP",
    "resource": "purchase",
    "action": "write",
    "risk": "medium",
    "description": "구매 작성·수정",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "imports.execute",
    "module": "COMMON",
    "resource": "imports",
    "action": "execute",
    "risk": "high",
    "description": "Excel Import 생성·검증·반영",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "kbx.design.read",
    "module": "COMMON",
    "resource": "design-system",
    "action": "read",
    "risk": "low",
    "description": "KBX 내부 컴포넌트 카탈로그 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "oms.claim.approve",
    "module": "OMS",
    "resource": "claim",
    "action": "approve",
    "risk": "high",
    "description": "클레임 승인",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "oms.claim.hold",
    "module": "OMS",
    "resource": "claim",
    "action": "hold",
    "risk": "medium",
    "description": "클레임 보류",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "oms.claim.process",
    "module": "OMS",
    "resource": "claim",
    "action": "process",
    "risk": "high",
    "description": "클레임 처리 시작·완료",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "oms.claim.read",
    "module": "OMS",
    "resource": "claim",
    "action": "read",
    "risk": "low",
    "description": "반품·클레임 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "oms.order.create",
    "module": "OMS",
    "resource": "order",
    "action": "create",
    "risk": "medium",
    "description": "주문 신규 등록",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "oms.order.import",
    "module": "OMS",
    "resource": "order",
    "action": "import",
    "risk": "high",
    "description": "주문 Excel Import 실행",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "oms.order.read",
    "module": "OMS",
    "resource": "order",
    "action": "read",
    "risk": "low",
    "description": "주문 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "oms.order.ship",
    "module": "OMS",
    "resource": "order",
    "action": "ship",
    "risk": "high",
    "description": "주문 출고지시",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "oms.order.recipient.unmask",
    "module": "OMS",
    "resource": "order-recipient",
    "action": "sensitive-read",
    "risk": "high",
    "description": "주문 수취인 개인정보 전체보기",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "oms.order.recipient.export",
    "module": "OMS",
    "resource": "order-recipient",
    "action": "sensitive-export",
    "risk": "high",
    "description": "주문 수취인 개인정보 비마스킹 Export",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "wms.inventory.count",
    "module": "WMS",
    "resource": "inventory",
    "action": "count",
    "risk": "high",
    "description": "현장 재고실사 실행",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "wms.picking.execute",
    "module": "WMS",
    "resource": "picking",
    "action": "execute",
    "risk": "high",
    "description": "출고 피킹 작업 실행",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "wms.putaway.execute",
    "module": "WMS",
    "resource": "putaway",
    "action": "execute",
    "risk": "high",
    "description": "입고 적치 작업 실행",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "wms.receiving.execute",
    "module": "WMS",
    "resource": "receiving",
    "action": "execute",
    "risk": "high",
    "description": "입고 검수 작업 실행",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "wms.work.execute",
    "module": "WMS",
    "resource": "work",
    "action": "execute",
    "risk": "high",
    "description": "WMS 작업 시작",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "wms.work.read",
    "module": "WMS",
    "resource": "work",
    "action": "read",
    "risk": "low",
    "description": "WMS 작업 Queue 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "common.telemetry.write",
    "module": "COMMON",
    "resource": "telemetry",
    "action": "write",
    "risk": "low",
    "description": "민감정보를 포함하지 않는 KBX 의미 단위 UX Telemetry 전송",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "common.ux.read",
    "module": "COMMON",
    "resource": "ux-metrics",
    "action": "read",
    "risk": "medium",
    "description": "KBX UX 품질·자동화 지표 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "common.experiment.evaluate",
    "module": "COMMON",
    "resource": "experiment",
    "action": "evaluate",
    "risk": "low",
    "description": "현재 사용자에 대한 안전한 UX 실험 Variant 평가",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "common.experiment.read",
    "module": "COMMON",
    "resource": "experiment",
    "action": "read",
    "risk": "low",
    "description": "KBX UX 실험·점진배포 상태 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "common.experiment.manage",
    "module": "COMMON",
    "resource": "experiment",
    "action": "manage",
    "risk": "high",
    "description": "UX 실험 점진배포 비율 변경·일시중지·즉시 롤백",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "common.integration.read",
    "module": "COMMON",
    "resource": "integration",
    "action": "read",
    "risk": "low",
    "description": "업무 외부연계 상태·시도 이력 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "common.integration.retry",
    "module": "COMMON",
    "resource": "integration",
    "action": "retry",
    "risk": "high",
    "description": "최종 실패한 idempotent 외부연계의 수동 재처리 예약",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "common.external-data.read",
    "module": "COMMON",
    "resource": "external-data",
    "action": "read",
    "risk": "low",
    "description": "외부 데이터셋의 출처·신선도·캐시 상태 조회",
    "presentation": "hide",
    "backendRequired": true
  },
  {
    "id": "common.external-data.refresh",
    "module": "COMMON",
    "resource": "external-data",
    "action": "refresh",
    "risk": "medium",
    "description": "승인된 외부 데이터셋의 명시적 재수집 요청",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "oms.order.confirm",
    "module": "OMS",
    "resource": "order",
    "action": "confirm",
    "risk": "high",
    "description": "작성 주문 확정",
    "presentation": "disable",
    "backendRequired": true
  },
  {
    "id": "oms.order.write",
    "module": "OMS",
    "resource": "order",
    "action": "write",
    "risk": "medium",
    "description": "작성 상태 주문 수정",
    "presentation": "disable",
    "backendRequired": true
  }
] as const
export const kbxSensitiveDataPolicies = [
  {
    "id": "oms.order.recipient",
    "fields": [
      "receiverName",
      "phone",
      "postalCode",
      "address1",
      "address2"
    ],
    "defaultExposure": "masked",
    "viewPermission": "oms.order.read",
    "revealPermission": "oms.order.recipient.unmask",
    "unmaskedExportPermission": "oms.order.recipient.export",
    "auditRequired": true,
    "aiExposure": "masked-only",
    "telemetryExposure": "never",
    "reasonRequired": false
  }
] as const
export const kbxAiAuthorizationPolicy = {
  "usePermission": "common.ai.use",
  "executePermission": "common.ai.execute",
  "executeRequiresProposalPermission": true,
  "defaultCapabilities": [
    "explain",
    "suggest",
    "draft"
  ]
} as const
export type KbxPermissionId = typeof kbxPermissionCatalog[number]['id']
