@k-msg/channel 0.23.0 → 0.24.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/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var{defineProperty:E,getOwnPropertyNames:X,getOwnPropertyDescriptor:V}=Object,z=Object.prototype.hasOwnProperty;var Q=new WeakMap,ee=(e)=>{var n=Q.get(e),r;if(n)return n;if(n=E({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")X(e).map((i)=>!z.call(n,i)&&E(n,i,{get:()=>e[i],enumerable:!(r=V(e,i))||r.enumerable}));return Q.set(e,n),n};var ne=(e,n)=>{for(var r in n)E(e,r,{get:n[r],enumerable:!0,configurable:!0,set:(i)=>n[r]=()=>i})};var pe={};ne(pe,{KakaoChannelLifecycleService:()=>U,KakaoChannelCapabilityService:()=>O,KakaoChannelBindingResolver:()=>T});module.exports=ee(pe);var R=(e)=>{if(typeof e!=="number"||Number.isNaN(e)||!Number.isFinite(e))return;return Math.trunc(e)};class p extends Error{code;details;providerErrorCode;providerErrorText;httpStatus;requestId;retryAfterMs;attempt;causeChain;constructor(e,n,r,i={}){super(n);if(this.name="KMsgError",this.code=e,this.details=r,this.providerErrorCode=i.providerErrorCode,this.providerErrorText=i.providerErrorText,this.httpStatus=R(i.httpStatus),this.requestId=typeof i.requestId==="string"?i.requestId:void 0,this.retryAfterMs=R(i.retryAfterMs),this.attempt=R(i.attempt),Array.isArray(i.causeChain))this.causeChain=i.causeChain;else if(i.causeChain!==void 0)this.causeChain=[i.causeChain];if(Error.captureStackTrace)Error.captureStackTrace(this,p)}toJSON(){return{name:this.name,code:this.code,message:this.message,details:this.details,providerErrorCode:this.providerErrorCode,providerErrorText:this.providerErrorText,httpStatus:this.httpStatus,requestId:this.requestId,retryAfterMs:this.retryAfterMs,attempt:this.attempt,causeChain:this.causeChain}}}var v=(e)=>({isSuccess:!0,isFailure:!1,value:e}),u=(e)=>({isSuccess:!1,isFailure:!0,error:e});function t(e){if(typeof e!=="string")return;let n=e.trim();return n.length>0?n:void 0}function M(e){if(!e)return;let n=e.trim();return n.length>0?n.toLowerCase():void 0}function W(e){let n=e.config&&typeof e.config==="object"?e.config:{},r=t(n.senderKey)??t(n.kakaoPfId)??t(n.profileId),i=t(n.plusId);if(M(e.type)==="solapi")return{senderKey:t(n.kakaoPfId)??r,...i?{plusId:i}:{}};return{...r?{senderKey:r}:{},...i?{plusId:i}:{}}}function ie(e){return[e.providerId??"",e.senderKey??"",e.plusId??"",e.source].join("|")}function L(e){if(!Array.isArray(e)||e.length!==1)return;return t(e[0]?.id)}class T{config;constructor(e){this.config=e}list(e){let n=t(e?.providerId),r=this.config.aliases?.kakaoChannels??{},i=[],s=new Set,m=(o)=>{if(n&&o.providerId!==n)return;let a=ie(o);if(s.has(a))return;s.add(a),i.push(o)};for(let[o,a]of Object.entries(r)){let d=t(a.providerId);if(!d)continue;let K=t(a.senderKey),I=t(a.plusId);if(!K&&!I)continue;m({source:"config",alias:o,providerId:d,...K?{senderKey:K}:{},...I?{plusId:I}:{},...t(a.name)?{name:t(a.name)}:{}})}let c=this.config.defaults?.kakao,l=t(c?.channel),f=l?r[l]:void 0,w=t(f?.providerId)??t(this.config.routing?.defaultProviderId)??L(this.config.providers),k=t(c?.senderKey)??t(f?.senderKey),P=t(c?.plusId)??t(f?.plusId);if(w&&(k||P))m({source:"config",...l?{alias:l}:{},providerId:w,...k?{senderKey:k}:{},...P?{plusId:P}:{},...t(f?.name)?{name:t(f?.name)}:{}});for(let o of this.config.providers??[]){let a=t(o.id);if(!a)continue;let d=W(o);if(!d.senderKey&&!d.plusId)continue;m({source:"config",providerId:a,...d.senderKey?{senderKey:d.senderKey}:{},...d.plusId?{plusId:d.plusId}:{}})}return i}resolve(e){let n=this.config.aliases?.kakaoChannels??{},r=t(e?.channelAlias),i=r?n[r]:void 0;if(r&&e?.strictAlias===!0&&!i)throw new p("INVALID_REQUEST",`Unknown kakao channel alias: ${r}`);let s=this.config.defaults?.kakao,m=t(s?.channel),c=m?n[m]:void 0,l=t(e?.providerId),f=t(i?.providerId),w=t(c?.providerId),k=t(this.config.routing?.defaultProviderId),P=L(this.config.providers),o,a="unknown";if(l)o=l,a="explicit";else if(f)o=f,a="alias";else if(w)o=w,a="defaults";else if(k)o=k,a="routing";else if(P)o=P,a="single_provider";let d=o?(this.config.providers??[]).find((Z)=>Z.id===o):void 0,K=d?W(d):{},I=t(e?.senderKey),N=t(i?.senderKey),q=t(s?.senderKey),H=t(c?.senderKey),$=t(K.senderKey),_=t(e?.plusId),G=t(i?.plusId),j=t(s?.plusId),J=t(c?.plusId),Y=t(K.plusId),h,y;if(I)h=I,y="explicit";else if(N)h=N,y="alias";else if(q)h=q,y="defaults";else if(H)h=H,y="defaults";else if($)h=$,y="provider_config";let g,C;if(_)g=_,C="explicit";else if(G)g=G,C="alias";else if(j)g=j,C="defaults";else if(J)g=J,C="defaults";else if(Y)g=Y,C="provider_config";return{...r?{alias:r}:{},...o?{providerId:o}:{},...M(d?.type)?{providerType:M(d?.type)}:{},...h?{senderKey:h}:{},...g?{plusId:g}:{},...t(i?.name)?{name:t(i?.name)}:t(c?.name)?{name:t(c?.name)}:{},providerIdSource:a,...y?{senderKeySource:y}:{},...C?{plusIdSource:C}:{}}}getAlias(e){let n=t(e);if(!n)return;return this.config.aliases?.kakaoChannels?.[n]}}function b(e){return typeof e==="function"}function re(e){if(!b(e.getOnboardingSpec))return;try{return e.getOnboardingSpec()}catch{return}}function se(e){if(typeof e!=="string")return;let n=e.trim();return n.length>0?n.toLowerCase():void 0}function oe(e,n){if(e?.channelOnboarding){if(e.channelOnboarding==="api"&&!n)return"none";return e.channelOnboarding}return n?"api":"none"}class O{resolve(e){let n=re(e),r={list:b(e.listKakaoChannels),categories:b(e.listKakaoChannelCategories),auth:b(e.requestKakaoChannelAuth),add:b(e.addKakaoChannel)},i=se(n?.providerId),s=oe(n,r.list);return{providerId:e.id,...i?{providerType:i}:{},mode:s,supports:r}}}function x(e,n){return new p("INVALID_REQUEST",`Provider '${e}' does not support kakao channel api operation '${n}'`,{providerId:e,operation:n})}class A{provider;constructor(e){this.provider=e}async list(e){let n=this.provider.listKakaoChannels;if(typeof n!=="function")return u(x(this.provider.id,"list"));return n.call(this.provider,e)}async categories(){let e=this.provider.listKakaoChannelCategories;if(typeof e!=="function")return u(x(this.provider.id,"categories"));return e.call(this.provider)}async auth(e){let n=this.provider.requestKakaoChannelAuth;if(typeof n!=="function")return u(x(this.provider.id,"auth"));return n.call(this.provider,e)}async add(e){let n=this.provider.addKakaoChannel;if(typeof n!=="function")return u(x(this.provider.id,"add"));return n.call(this.provider,e)}}class S{provider;mode="manual";constructor(e){this.provider=e}unsupportedMessage(e){return`Provider '${this.provider.id}' uses manual Kakao channel onboarding. Operation '${e}' is not available via API.`}}class D extends A{constructor(e){super(e)}}class B{provider;mode="none";constructor(e){this.provider=e}unsupportedMessage(e){return`Provider '${this.provider.id}' does not expose Kakao channel onboarding API. Operation '${e}' is unsupported.`}}function ae(e){if(typeof e!=="string")return;let n=e.trim();return n.length>0?n.toLowerCase():void 0}function de(e,n){switch(e){case"aligo":return new A(n);case"mock":return new D(n);default:return typeof n.listKakaoChannels==="function"?new A(n):void 0}}class U{provider;capability;providerType;apiAdapter;iwinvAdapter;solapiAdapter;constructor(e,n=new O){this.provider=e;if(this.capability=n.resolve(e),this.providerType=ae(this.capability.providerType),this.capability.mode==="api")this.apiAdapter=de(this.providerType,this.provider);else if(this.providerType==="iwinv")this.iwinvAdapter=new S(this.provider);else if(this.providerType==="solapi")this.solapiAdapter=new B(this.provider)}getCapability(){return this.capability}unsupported(e){let n=(()=>{if(this.capability.mode==="manual"){if(this.iwinvAdapter)return this.iwinvAdapter.unsupportedMessage(e);return`Provider '${this.provider.id}' requires manual Kakao channel onboarding. Operation '${e}' is unavailable via API.`}if(this.capability.mode==="none"){if(this.solapiAdapter)return this.solapiAdapter.unsupportedMessage(e);return`Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${e}'.`}return`Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${e}'.`})();return u(new p("INVALID_REQUEST",n,{providerId:this.provider.id,mode:this.capability.mode,operation:e}))}ensureApi(e){if(this.capability.mode!=="api")return this.unsupported(e);if(!this.apiAdapter)return u(new p("INVALID_REQUEST",`Provider '${this.provider.id}' is marked as api mode but does not expose kakao channel operations`,{providerId:this.provider.id,mode:this.capability.mode,operation:e}));return v(void 0)}async list(e){let n=this.ensureApi("list");if(n.isFailure)return n;let r=this.apiAdapter;if(!r)return this.unsupported("list");let i=await r.list(e);if(i.isFailure)return i;return v(i.value.map((s)=>({source:"api",providerId:s.providerId||this.provider.id,senderKey:s.senderKey,...s.plusId?{plusId:s.plusId}:{},...s.name?{name:s.name}:{},...s.status?{status:s.status}:{}})))}async categories(){let e=this.ensureApi("categories");if(e.isFailure)return e;let n=this.apiAdapter;if(!n)return this.unsupported("categories");return n.categories()}async auth(e){let n=this.ensureApi("auth");if(n.isFailure)return n;let r=this.apiAdapter;if(!r)return this.unsupported("auth");return r.auth(e)}async add(e){let n=this.ensureApi("add");if(n.isFailure)return n;let r=this.apiAdapter;if(!r)return this.unsupported("add");return r.add(e)}}
1
+ var{defineProperty:I,getOwnPropertyNames:Z,getOwnPropertyDescriptor:X}=Object,z=Object.prototype.hasOwnProperty;var Y=new WeakMap,ee=(e)=>{var t=Y.get(e),i;if(t)return t;if(t=I({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Z(e).map((r)=>!z.call(t,r)&&I(t,r,{get:()=>e[r],enumerable:!(i=X(e,r))||i.enumerable}));return Y.set(e,t),t};var te=(e,t)=>{for(var i in t)I(e,i,{get:t[i],enumerable:!0,configurable:!0,set:(r)=>t[i]=()=>r})};var pe={};te(pe,{KakaoChannelLifecycleService:()=>_,KakaoChannelCapabilityService:()=>S,KakaoChannelBindingResolver:()=>M});module.exports=ee(pe);var x=(e)=>{if(typeof e!=="number"||Number.isNaN(e)||!Number.isFinite(e))return;return Math.trunc(e)};class c extends Error{code;details;providerErrorCode;providerErrorText;httpStatus;requestId;retryAfterMs;attempt;causeChain;constructor(e,t,i,r={}){super(t);if(this.name="KMsgError",this.code=e,this.details=i,this.providerErrorCode=r.providerErrorCode,this.providerErrorText=r.providerErrorText,this.httpStatus=x(r.httpStatus),this.requestId=typeof r.requestId==="string"?r.requestId:void 0,this.retryAfterMs=x(r.retryAfterMs),this.attempt=x(r.attempt),Array.isArray(r.causeChain))this.causeChain=r.causeChain;else if(r.causeChain!==void 0)this.causeChain=[r.causeChain];if(Error.captureStackTrace)Error.captureStackTrace(this,c)}toJSON(){return{name:this.name,code:this.code,message:this.message,details:this.details,providerErrorCode:this.providerErrorCode,providerErrorText:this.providerErrorText,httpStatus:this.httpStatus,requestId:this.requestId,retryAfterMs:this.retryAfterMs,attempt:this.attempt,causeChain:this.causeChain}}}var O=(e)=>({isSuccess:!0,isFailure:!1,value:e}),f=(e)=>({isSuccess:!1,isFailure:!0,error:e});function n(e){if(typeof e!=="string")return;let t=e.trim();return t.length>0?t:void 0}function E(e){if(!e)return;let t=e.trim();return t.length>0?t.toLowerCase():void 0}function Q(e){let t=e.config&&typeof e.config==="object"?e.config:{},i=n(t.senderKey)??n(t.kakaoPfId)??n(t.profileId),r=n(t.plusId);if(E(e.type)==="solapi")return{senderKey:n(t.kakaoPfId)??i,...r?{plusId:r}:{}};return{...i?{senderKey:i}:{},...r?{plusId:r}:{}}}function ie(e){return[e.providerId??"",e.senderKey??"",e.plusId??"",e.source].join("|")}function W(e){if(!Array.isArray(e)||e.length!==1)return;return n(e[0]?.id)}class M{config;constructor(e){this.config=e}list(e){let t=n(e?.providerId),i=this.config.aliases?.kakaoChannels??{},r=[],s=new Set,K=(o)=>{if(t&&o.providerId!==t)return;let a=ie(o);if(s.has(a))return;s.add(a),r.push(o)};for(let[o,a]of Object.entries(i)){let d=n(a.providerId);if(!d)continue;let v=n(a.senderKey),P=n(a.plusId);if(!v&&!P)continue;K({source:"config",alias:o,providerId:d,...v?{senderKey:v}:{},...P?{plusId:P}:{},...n(a.name)?{name:n(a.name)}:{}})}let p=this.config.defaults?.kakao,u=n(p?.channel),l=u?i[u]:void 0,A=n(l?.providerId)??n(this.config.routing?.defaultProviderId)??W(this.config.providers),C=n(p?.senderKey)??n(l?.senderKey),k=n(p?.plusId)??n(l?.plusId);if(A&&(C||k))K({source:"config",...u?{alias:u}:{},providerId:A,...C?{senderKey:C}:{},...k?{plusId:k}:{},...n(l?.name)?{name:n(l?.name)}:{}});for(let o of this.config.providers??[]){let a=n(o.id);if(!a)continue;let d=Q(o);if(!d.senderKey&&!d.plusId)continue;K({source:"config",providerId:a,...d.senderKey?{senderKey:d.senderKey}:{},...d.plusId?{plusId:d.plusId}:{}})}return r}resolve(e){let t=this.config.aliases?.kakaoChannels??{},i=n(e?.channelAlias),r=i?t[i]:void 0;if(i&&e?.strictAlias===!0&&!r)throw new c("INVALID_REQUEST",`Unknown kakao channel alias: ${i}`);let s=this.config.defaults?.kakao,K=n(s?.channel),p=K?t[K]:void 0,u=n(e?.providerId),l=n(r?.providerId),A=n(p?.providerId),C=n(this.config.routing?.defaultProviderId),k=W(this.config.providers),o,a="unknown";if(u)o=u,a="explicit";else if(l)o=l,a="alias";else if(A)o=A,a="defaults";else if(C)o=C,a="routing";else if(k)o=k,a="single_provider";let d=o?(this.config.providers??[]).find((L)=>L.id===o):void 0,v=d?Q(d):{},P=n(e?.senderKey),N=n(r?.senderKey),U=n(s?.senderKey),q=n(p?.senderKey),$=n(v.senderKey),H=n(e?.plusId),j=n(r?.plusId),G=n(s?.plusId),J=n(p?.plusId),V=n(v.plusId),y,h;if(P)y=P,h="explicit";else if(N)y=N,h="alias";else if(U)y=U,h="defaults";else if(q)y=q,h="defaults";else if($)y=$,h="provider_config";let g,m;if(H)g=H,m="explicit";else if(j)g=j,m="alias";else if(G)g=G,m="defaults";else if(J)g=J,m="defaults";else if(V)g=V,m="provider_config";return{...i?{alias:i}:{},...o?{providerId:o}:{},...E(d?.type)?{providerType:E(d?.type)}:{},...y?{senderKey:y}:{},...g?{plusId:g}:{},...n(r?.name)?{name:n(r?.name)}:n(p?.name)?{name:n(p?.name)}:{},providerIdSource:a,...h?{senderKeySource:h}:{},...m?{plusIdSource:m}:{}}}getAlias(e){let t=n(e);if(!t)return;return this.config.aliases?.kakaoChannels?.[t]}}function b(e){return typeof e==="function"}function se(e){if(!b(e.getOnboardingSpec))return;try{return e.getOnboardingSpec()}catch{return}}function oe(e){if(typeof e!=="string")return;let t=e.trim();return t.length>0?t.toLowerCase():void 0}function ae(e,t){if(e?.channelOnboarding){if(e.channelOnboarding==="api"&&!t)return"none";return e.channelOnboarding}return t?"api":"none"}class S{resolve(e){let t=se(e),i={list:b(e.listKakaoChannels),categories:b(e.listKakaoChannelCategories),auth:b(e.requestKakaoChannelAuth),add:b(e.addKakaoChannel)},r=oe(t?.providerId),s=ae(t,i.list);return{providerId:e.id,...r?{providerType:r}:{},mode:s,supports:i}}}function R(e,t){return new c("INVALID_REQUEST",`Provider '${e}' does not support kakao channel api operation '${t}'`,{providerId:e,operation:t})}class F{provider;constructor(e){this.provider=e}async list(e){let t=this.provider.listKakaoChannels;if(typeof t!=="function")return f(R(this.provider.id,"list"));return t.call(this.provider,e)}async categories(){let e=this.provider.listKakaoChannelCategories;if(typeof e!=="function")return f(R(this.provider.id,"categories"));return e.call(this.provider)}async auth(e){let t=this.provider.requestKakaoChannelAuth;if(typeof t!=="function")return f(R(this.provider.id,"auth"));return t.call(this.provider,e)}async add(e){let t=this.provider.addKakaoChannel;if(typeof t!=="function")return f(R(this.provider.id,"add"));return t.call(this.provider,e)}}class T{provider;mode="manual";constructor(e){this.provider=e}unsupportedMessage(e){return`Provider '${this.provider.id}' uses manual Kakao channel onboarding. Operation '${e}' is not available via API.`}}class D extends F{constructor(e){super(e)}}class B{provider;mode="none";constructor(e){this.provider=e}unsupportedMessage(e){return`Provider '${this.provider.id}' does not expose Kakao channel onboarding API. Operation '${e}' is unsupported.`}}function de(e){if(typeof e!=="string")return;let t=e.trim();return t.length>0?t.toLowerCase():void 0}function ce(e,t){switch(e){case"aligo":return new F(t);case"mock":return new D(t);default:return typeof t.listKakaoChannels==="function"?new F(t):void 0}}class _{provider;capability;providerType;apiAdapter;iwinvAdapter;solapiAdapter;constructor(e,t=new S){this.provider=e;if(this.capability=t.resolve(e),this.providerType=de(this.capability.providerType),this.capability.mode==="api")this.apiAdapter=ce(this.providerType,this.provider);else if(this.providerType==="iwinv")this.iwinvAdapter=new T(this.provider);else if(this.providerType==="solapi")this.solapiAdapter=new B(this.provider)}getCapability(){return this.capability}unsupported(e){let t=(()=>{if(this.capability.mode==="manual"){if(this.iwinvAdapter)return this.iwinvAdapter.unsupportedMessage(e);return`Provider '${this.provider.id}' requires manual Kakao channel onboarding. Operation '${e}' is unavailable via API.`}if(this.capability.mode==="none"){if(this.solapiAdapter)return this.solapiAdapter.unsupportedMessage(e);return`Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${e}'.`}return`Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${e}'.`})();return f(new c("INVALID_REQUEST",t,{providerId:this.provider.id,mode:this.capability.mode,operation:e}))}ensureApi(e){if(this.capability.mode!=="api")return this.unsupported(e);if(!this.apiAdapter)return f(new c("INVALID_REQUEST",`Provider '${this.provider.id}' is marked as api mode but does not expose kakao channel operations`,{providerId:this.provider.id,mode:this.capability.mode,operation:e}));return O(void 0)}async list(e){let t=this.ensureApi("list");if(t.isFailure)return t;let i=this.apiAdapter;if(!i)return this.unsupported("list");let r=await i.list(e);if(r.isFailure)return r;return O(r.value.map((s)=>({source:"api",providerId:s.providerId||this.provider.id,senderKey:s.senderKey,...s.plusId?{plusId:s.plusId}:{},...s.name?{name:s.name}:{},...s.status?{status:s.status}:{}})))}async categories(){let e=this.ensureApi("categories");if(e.isFailure)return e;let t=this.apiAdapter;if(!t)return this.unsupported("categories");return t.categories()}async auth(e){let t=this.ensureApi("auth");if(t.isFailure)return t;let i=this.apiAdapter;if(!i)return this.unsupported("auth");return i.auth(e)}async add(e){let t=this.ensureApi("add");if(t.isFailure)return t;let i=this.apiAdapter;if(!i)return this.unsupported("add");return i.add(e)}}
2
2
 
3
- //# debugId=2AA80DD53233835464756E2164756E21
3
+ //# debugId=004B2A83CD3E25F064756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -13,6 +13,6 @@
13
13
  "import {\n fail,\n type KakaoChannel,\n type KakaoChannelCategories,\n KMsgError,\n KMsgErrorCode,\n ok,\n type Result,\n} from \"@k-msg/core\";\nimport { AligoChannelAdapter } from \"./adapters/aligo.adapter\";\nimport { IwinvChannelAdapter } from \"./adapters/iwinv.adapter\";\nimport { MockChannelAdapter } from \"./adapters/mock.adapter\";\nimport { SolapiChannelAdapter } from \"./adapters/solapi.adapter\";\nimport { KakaoChannelCapabilityService } from \"./kakao-channel-capability.service\";\nimport type {\n KakaoChannelAddParams,\n KakaoChannelApiAdapter,\n KakaoChannelApiOperation,\n KakaoChannelAuthParams,\n KakaoChannelCapability,\n KakaoChannelListItem,\n KakaoChannelListParams,\n KakaoChannelRuntimeProvider,\n} from \"./types\";\n\nfunction normalizeProviderType(value: string | undefined): string | undefined {\n if (typeof value !== \"string\") return undefined;\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed.toLowerCase() : undefined;\n}\n\nfunction createApiAdapter(\n providerType: string | undefined,\n provider: KakaoChannelRuntimeProvider,\n): KakaoChannelApiAdapter | undefined {\n switch (providerType) {\n case \"aligo\":\n return new AligoChannelAdapter(provider);\n case \"mock\":\n return new MockChannelAdapter(provider);\n default:\n return typeof provider.listKakaoChannels === \"function\"\n ? new AligoChannelAdapter(provider)\n : undefined;\n }\n}\n\nexport class KakaoChannelLifecycleService {\n private readonly capability: KakaoChannelCapability;\n private readonly providerType?: string;\n private readonly apiAdapter?: KakaoChannelApiAdapter;\n private readonly iwinvAdapter?: IwinvChannelAdapter;\n private readonly solapiAdapter?: SolapiChannelAdapter;\n\n constructor(\n private readonly provider: KakaoChannelRuntimeProvider,\n capabilityService = new KakaoChannelCapabilityService(),\n ) {\n this.capability = capabilityService.resolve(provider);\n this.providerType = normalizeProviderType(this.capability.providerType);\n\n if (this.capability.mode === \"api\") {\n this.apiAdapter = createApiAdapter(this.providerType, this.provider);\n } else if (this.providerType === \"iwinv\") {\n this.iwinvAdapter = new IwinvChannelAdapter(this.provider);\n } else if (this.providerType === \"solapi\") {\n this.solapiAdapter = new SolapiChannelAdapter(this.provider);\n }\n }\n\n getCapability(): KakaoChannelCapability {\n return this.capability;\n }\n\n private unsupported(\n operation: KakaoChannelApiOperation,\n ): Result<never, KMsgError> {\n const message = (() => {\n if (this.capability.mode === \"manual\") {\n if (this.iwinvAdapter) {\n return this.iwinvAdapter.unsupportedMessage(operation);\n }\n return `Provider '${this.provider.id}' requires manual Kakao channel onboarding. Operation '${operation}' is unavailable via API.`;\n }\n\n if (this.capability.mode === \"none\") {\n if (this.solapiAdapter) {\n return this.solapiAdapter.unsupportedMessage(operation);\n }\n return `Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${operation}'.`;\n }\n\n return `Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${operation}'.`;\n })();\n\n return fail(\n new KMsgError(KMsgErrorCode.INVALID_REQUEST, message, {\n providerId: this.provider.id,\n mode: this.capability.mode,\n operation,\n }),\n );\n }\n\n private ensureApi(\n operation: KakaoChannelApiOperation,\n ): Result<void, KMsgError> {\n if (this.capability.mode !== \"api\") {\n return this.unsupported(operation);\n }\n\n if (!this.apiAdapter) {\n return fail(\n new KMsgError(\n KMsgErrorCode.INVALID_REQUEST,\n `Provider '${this.provider.id}' is marked as api mode but does not expose kakao channel operations`,\n {\n providerId: this.provider.id,\n mode: this.capability.mode,\n operation,\n },\n ),\n );\n }\n\n return ok(undefined);\n }\n\n async list(\n params?: KakaoChannelListParams,\n ): Promise<Result<KakaoChannelListItem[], KMsgError>> {\n const ready = this.ensureApi(\"list\");\n if (ready.isFailure) return ready;\n const apiAdapter = this.apiAdapter;\n if (!apiAdapter) return this.unsupported(\"list\");\n\n const result = await apiAdapter.list(params);\n if (result.isFailure) return result;\n\n return ok(\n result.value.map((channel) => ({\n source: \"api\" as const,\n providerId: channel.providerId || this.provider.id,\n senderKey: channel.senderKey,\n ...(channel.plusId ? { plusId: channel.plusId } : {}),\n ...(channel.name ? { name: channel.name } : {}),\n ...(channel.status ? { status: channel.status } : {}),\n })),\n );\n }\n\n async categories(): Promise<Result<KakaoChannelCategories, KMsgError>> {\n const ready = this.ensureApi(\"categories\");\n if (ready.isFailure) return ready;\n const apiAdapter = this.apiAdapter;\n if (!apiAdapter) return this.unsupported(\"categories\");\n\n return apiAdapter.categories();\n }\n\n async auth(params: KakaoChannelAuthParams): Promise<Result<void, KMsgError>> {\n const ready = this.ensureApi(\"auth\");\n if (ready.isFailure) return ready;\n const apiAdapter = this.apiAdapter;\n if (!apiAdapter) return this.unsupported(\"auth\");\n\n return apiAdapter.auth(params);\n }\n\n async add(\n params: KakaoChannelAddParams,\n ): Promise<Result<KakaoChannel, KMsgError>> {\n const ready = this.ensureApi(\"add\");\n if (ready.isFailure) return ready;\n const apiAdapter = this.apiAdapter;\n if (!apiAdapter) return this.unsupported(\"add\");\n\n return apiAdapter.add(params);\n }\n}\n"
14
14
  ],
15
15
  "mappings": "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",
16
- "debugId": "2AA80DD53233835464756E2164756E21",
16
+ "debugId": "004B2A83CD3E25F064756E2164756E21",
17
17
  "names": []
18
18
  }
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- var L=Object.defineProperty;var ie=(e,n)=>{for(var r in n)L(e,r,{get:n[r],enumerable:!0,configurable:!0,set:(i)=>n[r]=()=>i})};var E=(e)=>{if(typeof e!=="number"||Number.isNaN(e)||!Number.isFinite(e))return;return Math.trunc(e)};class p extends Error{code;details;providerErrorCode;providerErrorText;httpStatus;requestId;retryAfterMs;attempt;causeChain;constructor(e,n,r,i={}){super(n);if(this.name="KMsgError",this.code=e,this.details=r,this.providerErrorCode=i.providerErrorCode,this.providerErrorText=i.providerErrorText,this.httpStatus=E(i.httpStatus),this.requestId=typeof i.requestId==="string"?i.requestId:void 0,this.retryAfterMs=E(i.retryAfterMs),this.attempt=E(i.attempt),Array.isArray(i.causeChain))this.causeChain=i.causeChain;else if(i.causeChain!==void 0)this.causeChain=[i.causeChain];if(Error.captureStackTrace)Error.captureStackTrace(this,p)}toJSON(){return{name:this.name,code:this.code,message:this.message,details:this.details,providerErrorCode:this.providerErrorCode,providerErrorText:this.providerErrorText,httpStatus:this.httpStatus,requestId:this.requestId,retryAfterMs:this.retryAfterMs,attempt:this.attempt,causeChain:this.causeChain}}}var R=(e)=>({isSuccess:!0,isFailure:!1,value:e}),u=(e)=>({isSuccess:!1,isFailure:!0,error:e});function t(e){if(typeof e!=="string")return;let n=e.trim();return n.length>0?n:void 0}function v(e){if(!e)return;let n=e.trim();return n.length>0?n.toLowerCase():void 0}function j(e){let n=e.config&&typeof e.config==="object"?e.config:{},r=t(n.senderKey)??t(n.kakaoPfId)??t(n.profileId),i=t(n.plusId);if(v(e.type)==="solapi")return{senderKey:t(n.kakaoPfId)??r,...i?{plusId:i}:{}};return{...r?{senderKey:r}:{},...i?{plusId:i}:{}}}function X(e){return[e.providerId??"",e.senderKey??"",e.plusId??"",e.source].join("|")}function J(e){if(!Array.isArray(e)||e.length!==1)return;return t(e[0]?.id)}class Y{config;constructor(e){this.config=e}list(e){let n=t(e?.providerId),r=this.config.aliases?.kakaoChannels??{},i=[],s=new Set,m=(o)=>{if(n&&o.providerId!==n)return;let a=X(o);if(s.has(a))return;s.add(a),i.push(o)};for(let[o,a]of Object.entries(r)){let d=t(a.providerId);if(!d)continue;let K=t(a.senderKey),I=t(a.plusId);if(!K&&!I)continue;m({source:"config",alias:o,providerId:d,...K?{senderKey:K}:{},...I?{plusId:I}:{},...t(a.name)?{name:t(a.name)}:{}})}let c=this.config.defaults?.kakao,l=t(c?.channel),f=l?r[l]:void 0,w=t(f?.providerId)??t(this.config.routing?.defaultProviderId)??J(this.config.providers),k=t(c?.senderKey)??t(f?.senderKey),P=t(c?.plusId)??t(f?.plusId);if(w&&(k||P))m({source:"config",...l?{alias:l}:{},providerId:w,...k?{senderKey:k}:{},...P?{plusId:P}:{},...t(f?.name)?{name:t(f?.name)}:{}});for(let o of this.config.providers??[]){let a=t(o.id);if(!a)continue;let d=j(o);if(!d.senderKey&&!d.plusId)continue;m({source:"config",providerId:a,...d.senderKey?{senderKey:d.senderKey}:{},...d.plusId?{plusId:d.plusId}:{}})}return i}resolve(e){let n=this.config.aliases?.kakaoChannels??{},r=t(e?.channelAlias),i=r?n[r]:void 0;if(r&&e?.strictAlias===!0&&!i)throw new p("INVALID_REQUEST",`Unknown kakao channel alias: ${r}`);let s=this.config.defaults?.kakao,m=t(s?.channel),c=m?n[m]:void 0,l=t(e?.providerId),f=t(i?.providerId),w=t(c?.providerId),k=t(this.config.routing?.defaultProviderId),P=J(this.config.providers),o,a="unknown";if(l)o=l,a="explicit";else if(f)o=f,a="alias";else if(w)o=w,a="defaults";else if(k)o=k,a="routing";else if(P)o=P,a="single_provider";let d=o?(this.config.providers??[]).find((W)=>W.id===o):void 0,K=d?j(d):{},I=t(e?.senderKey),D=t(i?.senderKey),B=t(s?.senderKey),U=t(c?.senderKey),N=t(K.senderKey),q=t(e?.plusId),H=t(i?.plusId),$=t(s?.plusId),_=t(c?.plusId),G=t(K.plusId),h,y;if(I)h=I,y="explicit";else if(D)h=D,y="alias";else if(B)h=B,y="defaults";else if(U)h=U,y="defaults";else if(N)h=N,y="provider_config";let g,C;if(q)g=q,C="explicit";else if(H)g=H,C="alias";else if($)g=$,C="defaults";else if(_)g=_,C="defaults";else if(G)g=G,C="provider_config";return{...r?{alias:r}:{},...o?{providerId:o}:{},...v(d?.type)?{providerType:v(d?.type)}:{},...h?{senderKey:h}:{},...g?{plusId:g}:{},...t(i?.name)?{name:t(i?.name)}:t(c?.name)?{name:t(c?.name)}:{},providerIdSource:a,...y?{senderKeySource:y}:{},...C?{plusIdSource:C}:{}}}getAlias(e){let n=t(e);if(!n)return;return this.config.aliases?.kakaoChannels?.[n]}}function b(e){return typeof e==="function"}function V(e){if(!b(e.getOnboardingSpec))return;try{return e.getOnboardingSpec()}catch{return}}function z(e){if(typeof e!=="string")return;let n=e.trim();return n.length>0?n.toLowerCase():void 0}function ee(e,n){if(e?.channelOnboarding){if(e.channelOnboarding==="api"&&!n)return"none";return e.channelOnboarding}return n?"api":"none"}class O{resolve(e){let n=V(e),r={list:b(e.listKakaoChannels),categories:b(e.listKakaoChannelCategories),auth:b(e.requestKakaoChannelAuth),add:b(e.addKakaoChannel)},i=z(n?.providerId),s=ee(n,r.list);return{providerId:e.id,...i?{providerType:i}:{},mode:s,supports:r}}}function x(e,n){return new p("INVALID_REQUEST",`Provider '${e}' does not support kakao channel api operation '${n}'`,{providerId:e,operation:n})}class A{provider;constructor(e){this.provider=e}async list(e){let n=this.provider.listKakaoChannels;if(typeof n!=="function")return u(x(this.provider.id,"list"));return n.call(this.provider,e)}async categories(){let e=this.provider.listKakaoChannelCategories;if(typeof e!=="function")return u(x(this.provider.id,"categories"));return e.call(this.provider)}async auth(e){let n=this.provider.requestKakaoChannelAuth;if(typeof n!=="function")return u(x(this.provider.id,"auth"));return n.call(this.provider,e)}async add(e){let n=this.provider.addKakaoChannel;if(typeof n!=="function")return u(x(this.provider.id,"add"));return n.call(this.provider,e)}}class M{provider;mode="manual";constructor(e){this.provider=e}unsupportedMessage(e){return`Provider '${this.provider.id}' uses manual Kakao channel onboarding. Operation '${e}' is not available via API.`}}class T extends A{constructor(e){super(e)}}class S{provider;mode="none";constructor(e){this.provider=e}unsupportedMessage(e){return`Provider '${this.provider.id}' does not expose Kakao channel onboarding API. Operation '${e}' is unsupported.`}}function ne(e){if(typeof e!=="string")return;let n=e.trim();return n.length>0?n.toLowerCase():void 0}function te(e,n){switch(e){case"aligo":return new A(n);case"mock":return new T(n);default:return typeof n.listKakaoChannels==="function"?new A(n):void 0}}class Q{provider;capability;providerType;apiAdapter;iwinvAdapter;solapiAdapter;constructor(e,n=new O){this.provider=e;if(this.capability=n.resolve(e),this.providerType=ne(this.capability.providerType),this.capability.mode==="api")this.apiAdapter=te(this.providerType,this.provider);else if(this.providerType==="iwinv")this.iwinvAdapter=new M(this.provider);else if(this.providerType==="solapi")this.solapiAdapter=new S(this.provider)}getCapability(){return this.capability}unsupported(e){let n=(()=>{if(this.capability.mode==="manual"){if(this.iwinvAdapter)return this.iwinvAdapter.unsupportedMessage(e);return`Provider '${this.provider.id}' requires manual Kakao channel onboarding. Operation '${e}' is unavailable via API.`}if(this.capability.mode==="none"){if(this.solapiAdapter)return this.solapiAdapter.unsupportedMessage(e);return`Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${e}'.`}return`Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${e}'.`})();return u(new p("INVALID_REQUEST",n,{providerId:this.provider.id,mode:this.capability.mode,operation:e}))}ensureApi(e){if(this.capability.mode!=="api")return this.unsupported(e);if(!this.apiAdapter)return u(new p("INVALID_REQUEST",`Provider '${this.provider.id}' is marked as api mode but does not expose kakao channel operations`,{providerId:this.provider.id,mode:this.capability.mode,operation:e}));return R(void 0)}async list(e){let n=this.ensureApi("list");if(n.isFailure)return n;let r=this.apiAdapter;if(!r)return this.unsupported("list");let i=await r.list(e);if(i.isFailure)return i;return R(i.value.map((s)=>({source:"api",providerId:s.providerId||this.provider.id,senderKey:s.senderKey,...s.plusId?{plusId:s.plusId}:{},...s.name?{name:s.name}:{},...s.status?{status:s.status}:{}})))}async categories(){let e=this.ensureApi("categories");if(e.isFailure)return e;let n=this.apiAdapter;if(!n)return this.unsupported("categories");return n.categories()}async auth(e){let n=this.ensureApi("auth");if(n.isFailure)return n;let r=this.apiAdapter;if(!r)return this.unsupported("auth");return r.auth(e)}async add(e){let n=this.ensureApi("add");if(n.isFailure)return n;let r=this.apiAdapter;if(!r)return this.unsupported("add");return r.add(e)}}export{Q as KakaoChannelLifecycleService,O as KakaoChannelCapabilityService,Y as KakaoChannelBindingResolver};
1
+ var W=Object.defineProperty;var ie=(e,t)=>{for(var i in t)W(e,i,{get:t[i],enumerable:!0,configurable:!0,set:(r)=>t[i]=()=>r})};var I=(e)=>{if(typeof e!=="number"||Number.isNaN(e)||!Number.isFinite(e))return;return Math.trunc(e)};class c extends Error{code;details;providerErrorCode;providerErrorText;httpStatus;requestId;retryAfterMs;attempt;causeChain;constructor(e,t,i,r={}){super(t);if(this.name="KMsgError",this.code=e,this.details=i,this.providerErrorCode=r.providerErrorCode,this.providerErrorText=r.providerErrorText,this.httpStatus=I(r.httpStatus),this.requestId=typeof r.requestId==="string"?r.requestId:void 0,this.retryAfterMs=I(r.retryAfterMs),this.attempt=I(r.attempt),Array.isArray(r.causeChain))this.causeChain=r.causeChain;else if(r.causeChain!==void 0)this.causeChain=[r.causeChain];if(Error.captureStackTrace)Error.captureStackTrace(this,c)}toJSON(){return{name:this.name,code:this.code,message:this.message,details:this.details,providerErrorCode:this.providerErrorCode,providerErrorText:this.providerErrorText,httpStatus:this.httpStatus,requestId:this.requestId,retryAfterMs:this.retryAfterMs,attempt:this.attempt,causeChain:this.causeChain}}}var x=(e)=>({isSuccess:!0,isFailure:!1,value:e}),f=(e)=>({isSuccess:!1,isFailure:!0,error:e});function n(e){if(typeof e!=="string")return;let t=e.trim();return t.length>0?t:void 0}function O(e){if(!e)return;let t=e.trim();return t.length>0?t.toLowerCase():void 0}function G(e){let t=e.config&&typeof e.config==="object"?e.config:{},i=n(t.senderKey)??n(t.kakaoPfId)??n(t.profileId),r=n(t.plusId);if(O(e.type)==="solapi")return{senderKey:n(t.kakaoPfId)??i,...r?{plusId:r}:{}};return{...i?{senderKey:i}:{},...r?{plusId:r}:{}}}function X(e){return[e.providerId??"",e.senderKey??"",e.plusId??"",e.source].join("|")}function J(e){if(!Array.isArray(e)||e.length!==1)return;return n(e[0]?.id)}class V{config;constructor(e){this.config=e}list(e){let t=n(e?.providerId),i=this.config.aliases?.kakaoChannels??{},r=[],s=new Set,K=(o)=>{if(t&&o.providerId!==t)return;let a=X(o);if(s.has(a))return;s.add(a),r.push(o)};for(let[o,a]of Object.entries(i)){let d=n(a.providerId);if(!d)continue;let v=n(a.senderKey),P=n(a.plusId);if(!v&&!P)continue;K({source:"config",alias:o,providerId:d,...v?{senderKey:v}:{},...P?{plusId:P}:{},...n(a.name)?{name:n(a.name)}:{}})}let p=this.config.defaults?.kakao,u=n(p?.channel),l=u?i[u]:void 0,A=n(l?.providerId)??n(this.config.routing?.defaultProviderId)??J(this.config.providers),C=n(p?.senderKey)??n(l?.senderKey),k=n(p?.plusId)??n(l?.plusId);if(A&&(C||k))K({source:"config",...u?{alias:u}:{},providerId:A,...C?{senderKey:C}:{},...k?{plusId:k}:{},...n(l?.name)?{name:n(l?.name)}:{}});for(let o of this.config.providers??[]){let a=n(o.id);if(!a)continue;let d=G(o);if(!d.senderKey&&!d.plusId)continue;K({source:"config",providerId:a,...d.senderKey?{senderKey:d.senderKey}:{},...d.plusId?{plusId:d.plusId}:{}})}return r}resolve(e){let t=this.config.aliases?.kakaoChannels??{},i=n(e?.channelAlias),r=i?t[i]:void 0;if(i&&e?.strictAlias===!0&&!r)throw new c("INVALID_REQUEST",`Unknown kakao channel alias: ${i}`);let s=this.config.defaults?.kakao,K=n(s?.channel),p=K?t[K]:void 0,u=n(e?.providerId),l=n(r?.providerId),A=n(p?.providerId),C=n(this.config.routing?.defaultProviderId),k=J(this.config.providers),o,a="unknown";if(u)o=u,a="explicit";else if(l)o=l,a="alias";else if(A)o=A,a="defaults";else if(C)o=C,a="routing";else if(k)o=k,a="single_provider";let d=o?(this.config.providers??[]).find((Q)=>Q.id===o):void 0,v=d?G(d):{},P=n(e?.senderKey),D=n(r?.senderKey),B=n(s?.senderKey),_=n(p?.senderKey),N=n(v.senderKey),U=n(e?.plusId),q=n(r?.plusId),$=n(s?.plusId),H=n(p?.plusId),j=n(v.plusId),y,h;if(P)y=P,h="explicit";else if(D)y=D,h="alias";else if(B)y=B,h="defaults";else if(_)y=_,h="defaults";else if(N)y=N,h="provider_config";let g,m;if(U)g=U,m="explicit";else if(q)g=q,m="alias";else if($)g=$,m="defaults";else if(H)g=H,m="defaults";else if(j)g=j,m="provider_config";return{...i?{alias:i}:{},...o?{providerId:o}:{},...O(d?.type)?{providerType:O(d?.type)}:{},...y?{senderKey:y}:{},...g?{plusId:g}:{},...n(r?.name)?{name:n(r?.name)}:n(p?.name)?{name:n(p?.name)}:{},providerIdSource:a,...h?{senderKeySource:h}:{},...m?{plusIdSource:m}:{}}}getAlias(e){let t=n(e);if(!t)return;return this.config.aliases?.kakaoChannels?.[t]}}function b(e){return typeof e==="function"}function z(e){if(!b(e.getOnboardingSpec))return;try{return e.getOnboardingSpec()}catch{return}}function ee(e){if(typeof e!=="string")return;let t=e.trim();return t.length>0?t.toLowerCase():void 0}function te(e,t){if(e?.channelOnboarding){if(e.channelOnboarding==="api"&&!t)return"none";return e.channelOnboarding}return t?"api":"none"}class S{resolve(e){let t=z(e),i={list:b(e.listKakaoChannels),categories:b(e.listKakaoChannelCategories),auth:b(e.requestKakaoChannelAuth),add:b(e.addKakaoChannel)},r=ee(t?.providerId),s=te(t,i.list);return{providerId:e.id,...r?{providerType:r}:{},mode:s,supports:i}}}function R(e,t){return new c("INVALID_REQUEST",`Provider '${e}' does not support kakao channel api operation '${t}'`,{providerId:e,operation:t})}class F{provider;constructor(e){this.provider=e}async list(e){let t=this.provider.listKakaoChannels;if(typeof t!=="function")return f(R(this.provider.id,"list"));return t.call(this.provider,e)}async categories(){let e=this.provider.listKakaoChannelCategories;if(typeof e!=="function")return f(R(this.provider.id,"categories"));return e.call(this.provider)}async auth(e){let t=this.provider.requestKakaoChannelAuth;if(typeof t!=="function")return f(R(this.provider.id,"auth"));return t.call(this.provider,e)}async add(e){let t=this.provider.addKakaoChannel;if(typeof t!=="function")return f(R(this.provider.id,"add"));return t.call(this.provider,e)}}class E{provider;mode="manual";constructor(e){this.provider=e}unsupportedMessage(e){return`Provider '${this.provider.id}' uses manual Kakao channel onboarding. Operation '${e}' is not available via API.`}}class M extends F{constructor(e){super(e)}}class T{provider;mode="none";constructor(e){this.provider=e}unsupportedMessage(e){return`Provider '${this.provider.id}' does not expose Kakao channel onboarding API. Operation '${e}' is unsupported.`}}function ne(e){if(typeof e!=="string")return;let t=e.trim();return t.length>0?t.toLowerCase():void 0}function re(e,t){switch(e){case"aligo":return new F(t);case"mock":return new M(t);default:return typeof t.listKakaoChannels==="function"?new F(t):void 0}}class Y{provider;capability;providerType;apiAdapter;iwinvAdapter;solapiAdapter;constructor(e,t=new S){this.provider=e;if(this.capability=t.resolve(e),this.providerType=ne(this.capability.providerType),this.capability.mode==="api")this.apiAdapter=re(this.providerType,this.provider);else if(this.providerType==="iwinv")this.iwinvAdapter=new E(this.provider);else if(this.providerType==="solapi")this.solapiAdapter=new T(this.provider)}getCapability(){return this.capability}unsupported(e){let t=(()=>{if(this.capability.mode==="manual"){if(this.iwinvAdapter)return this.iwinvAdapter.unsupportedMessage(e);return`Provider '${this.provider.id}' requires manual Kakao channel onboarding. Operation '${e}' is unavailable via API.`}if(this.capability.mode==="none"){if(this.solapiAdapter)return this.solapiAdapter.unsupportedMessage(e);return`Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${e}'.`}return`Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${e}'.`})();return f(new c("INVALID_REQUEST",t,{providerId:this.provider.id,mode:this.capability.mode,operation:e}))}ensureApi(e){if(this.capability.mode!=="api")return this.unsupported(e);if(!this.apiAdapter)return f(new c("INVALID_REQUEST",`Provider '${this.provider.id}' is marked as api mode but does not expose kakao channel operations`,{providerId:this.provider.id,mode:this.capability.mode,operation:e}));return x(void 0)}async list(e){let t=this.ensureApi("list");if(t.isFailure)return t;let i=this.apiAdapter;if(!i)return this.unsupported("list");let r=await i.list(e);if(r.isFailure)return r;return x(r.value.map((s)=>({source:"api",providerId:s.providerId||this.provider.id,senderKey:s.senderKey,...s.plusId?{plusId:s.plusId}:{},...s.name?{name:s.name}:{},...s.status?{status:s.status}:{}})))}async categories(){let e=this.ensureApi("categories");if(e.isFailure)return e;let t=this.apiAdapter;if(!t)return this.unsupported("categories");return t.categories()}async auth(e){let t=this.ensureApi("auth");if(t.isFailure)return t;let i=this.apiAdapter;if(!i)return this.unsupported("auth");return i.auth(e)}async add(e){let t=this.ensureApi("add");if(t.isFailure)return t;let i=this.apiAdapter;if(!i)return this.unsupported("add");return i.add(e)}}export{Y as KakaoChannelLifecycleService,S as KakaoChannelCapabilityService,V as KakaoChannelBindingResolver};
2
2
 
3
- //# debugId=A40C2D4AA131DCBB64756E2164756E21
3
+ //# debugId=332B1DDF52948F7564756E2164756E21
4
4
  //# sourceMappingURL=index.mjs.map
@@ -12,7 +12,7 @@
12
12
  "import type {\n KakaoChannelApiOperation,\n KakaoChannelRuntimeProvider,\n} from \"../types\";\n\nexport class SolapiChannelAdapter {\n readonly mode = \"none\" as const;\n\n constructor(private readonly provider: KakaoChannelRuntimeProvider) {}\n\n unsupportedMessage(operation: KakaoChannelApiOperation): string {\n return `Provider '${this.provider.id}' does not expose Kakao channel onboarding API. Operation '${operation}' is unsupported.`;\n }\n}\n",
13
13
  "import {\n fail,\n type KakaoChannel,\n type KakaoChannelCategories,\n KMsgError,\n KMsgErrorCode,\n ok,\n type Result,\n} from \"@k-msg/core\";\nimport { AligoChannelAdapter } from \"./adapters/aligo.adapter\";\nimport { IwinvChannelAdapter } from \"./adapters/iwinv.adapter\";\nimport { MockChannelAdapter } from \"./adapters/mock.adapter\";\nimport { SolapiChannelAdapter } from \"./adapters/solapi.adapter\";\nimport { KakaoChannelCapabilityService } from \"./kakao-channel-capability.service\";\nimport type {\n KakaoChannelAddParams,\n KakaoChannelApiAdapter,\n KakaoChannelApiOperation,\n KakaoChannelAuthParams,\n KakaoChannelCapability,\n KakaoChannelListItem,\n KakaoChannelListParams,\n KakaoChannelRuntimeProvider,\n} from \"./types\";\n\nfunction normalizeProviderType(value: string | undefined): string | undefined {\n if (typeof value !== \"string\") return undefined;\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed.toLowerCase() : undefined;\n}\n\nfunction createApiAdapter(\n providerType: string | undefined,\n provider: KakaoChannelRuntimeProvider,\n): KakaoChannelApiAdapter | undefined {\n switch (providerType) {\n case \"aligo\":\n return new AligoChannelAdapter(provider);\n case \"mock\":\n return new MockChannelAdapter(provider);\n default:\n return typeof provider.listKakaoChannels === \"function\"\n ? new AligoChannelAdapter(provider)\n : undefined;\n }\n}\n\nexport class KakaoChannelLifecycleService {\n private readonly capability: KakaoChannelCapability;\n private readonly providerType?: string;\n private readonly apiAdapter?: KakaoChannelApiAdapter;\n private readonly iwinvAdapter?: IwinvChannelAdapter;\n private readonly solapiAdapter?: SolapiChannelAdapter;\n\n constructor(\n private readonly provider: KakaoChannelRuntimeProvider,\n capabilityService = new KakaoChannelCapabilityService(),\n ) {\n this.capability = capabilityService.resolve(provider);\n this.providerType = normalizeProviderType(this.capability.providerType);\n\n if (this.capability.mode === \"api\") {\n this.apiAdapter = createApiAdapter(this.providerType, this.provider);\n } else if (this.providerType === \"iwinv\") {\n this.iwinvAdapter = new IwinvChannelAdapter(this.provider);\n } else if (this.providerType === \"solapi\") {\n this.solapiAdapter = new SolapiChannelAdapter(this.provider);\n }\n }\n\n getCapability(): KakaoChannelCapability {\n return this.capability;\n }\n\n private unsupported(\n operation: KakaoChannelApiOperation,\n ): Result<never, KMsgError> {\n const message = (() => {\n if (this.capability.mode === \"manual\") {\n if (this.iwinvAdapter) {\n return this.iwinvAdapter.unsupportedMessage(operation);\n }\n return `Provider '${this.provider.id}' requires manual Kakao channel onboarding. Operation '${operation}' is unavailable via API.`;\n }\n\n if (this.capability.mode === \"none\") {\n if (this.solapiAdapter) {\n return this.solapiAdapter.unsupportedMessage(operation);\n }\n return `Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${operation}'.`;\n }\n\n return `Provider '${this.provider.id}' does not support Kakao channel onboarding API operation '${operation}'.`;\n })();\n\n return fail(\n new KMsgError(KMsgErrorCode.INVALID_REQUEST, message, {\n providerId: this.provider.id,\n mode: this.capability.mode,\n operation,\n }),\n );\n }\n\n private ensureApi(\n operation: KakaoChannelApiOperation,\n ): Result<void, KMsgError> {\n if (this.capability.mode !== \"api\") {\n return this.unsupported(operation);\n }\n\n if (!this.apiAdapter) {\n return fail(\n new KMsgError(\n KMsgErrorCode.INVALID_REQUEST,\n `Provider '${this.provider.id}' is marked as api mode but does not expose kakao channel operations`,\n {\n providerId: this.provider.id,\n mode: this.capability.mode,\n operation,\n },\n ),\n );\n }\n\n return ok(undefined);\n }\n\n async list(\n params?: KakaoChannelListParams,\n ): Promise<Result<KakaoChannelListItem[], KMsgError>> {\n const ready = this.ensureApi(\"list\");\n if (ready.isFailure) return ready;\n const apiAdapter = this.apiAdapter;\n if (!apiAdapter) return this.unsupported(\"list\");\n\n const result = await apiAdapter.list(params);\n if (result.isFailure) return result;\n\n return ok(\n result.value.map((channel) => ({\n source: \"api\" as const,\n providerId: channel.providerId || this.provider.id,\n senderKey: channel.senderKey,\n ...(channel.plusId ? { plusId: channel.plusId } : {}),\n ...(channel.name ? { name: channel.name } : {}),\n ...(channel.status ? { status: channel.status } : {}),\n })),\n );\n }\n\n async categories(): Promise<Result<KakaoChannelCategories, KMsgError>> {\n const ready = this.ensureApi(\"categories\");\n if (ready.isFailure) return ready;\n const apiAdapter = this.apiAdapter;\n if (!apiAdapter) return this.unsupported(\"categories\");\n\n return apiAdapter.categories();\n }\n\n async auth(params: KakaoChannelAuthParams): Promise<Result<void, KMsgError>> {\n const ready = this.ensureApi(\"auth\");\n if (ready.isFailure) return ready;\n const apiAdapter = this.apiAdapter;\n if (!apiAdapter) return this.unsupported(\"auth\");\n\n return apiAdapter.auth(params);\n }\n\n async add(\n params: KakaoChannelAddParams,\n ): Promise<Result<KakaoChannel, KMsgError>> {\n const ready = this.ensureApi(\"add\");\n if (ready.isFailure) return ready;\n const apiAdapter = this.apiAdapter;\n if (!apiAdapter) return this.unsupported(\"add\");\n\n return apiAdapter.add(params);\n }\n}\n"
14
14
  ],
15
- "mappings": "+HAwEA,IAAM,EAAkB,CAAC,IAAuC,CAC9D,GACE,OAAO,IAAU,UACjB,OAAO,MAAM,CAAK,GAClB,CAAC,OAAO,SAAS,CAAK,EAEtB,OAGF,OAAO,KAAK,MAAM,CAAK,GA+ClB,MAAM,UAAkB,KAAM,CACnB,KACA,QACA,kBACA,kBACA,WACA,UACA,aACA,QACA,WAEhB,WAAW,CACT,EACA,EACA,EACA,EAA8B,CAAC,EAC/B,CACA,MAAM,CAAO,EAab,GAZA,KAAK,KAAO,YACZ,KAAK,KAAO,EACZ,KAAK,QAAU,EAEf,KAAK,kBAAoB,EAAS,kBAClC,KAAK,kBAAoB,EAAS,kBAClC,KAAK,WAAa,EAAgB,EAAS,UAAU,EACrD,KAAK,UACH,OAAO,EAAS,YAAc,SAAW,EAAS,UAAY,OAChE,KAAK,aAAe,EAAgB,EAAS,YAAY,EACzD,KAAK,QAAU,EAAgB,EAAS,OAAO,EAE3C,MAAM,QAAQ,EAAS,UAAU,EACnC,KAAK,WAAa,EAAS,WACtB,QAAI,EAAS,aAAe,OACjC,KAAK,WAAa,CAAC,EAAS,UAAU,EAGxC,GAAI,MAAM,kBACR,MAAM,kBAAkB,KAAM,CAAS,EAI3C,MAAM,EAAG,CACP,MAAO,CACL,KAAM,KAAK,KACX,KAAM,KAAK,KACX,QAAS,KAAK,QACd,QAAS,KAAK,QACd,kBAAmB,KAAK,kBACxB,kBAAmB,KAAK,kBACxB,WAAY,KAAK,WACjB,UAAW,KAAK,UAChB,aAAc,KAAK,aACnB,QAAS,KAAK,QACd,WAAY,KAAK,UACnB,EAEJ,CC1KO,IAAM,EAAK,CAAI,KAAqB,CACzC,UAAW,GACX,UAAW,GACX,OACF,GAEa,EAAO,CAAI,KAAuB,CAC7C,UAAW,GACX,UAAW,GACX,OACF,GCbA,SAAS,CAAU,CAAC,EAAoC,CACtD,GAAI,OAAO,IAAU,SAAU,OAC/B,IAAM,EAAU,EAAM,KAAK,EAC3B,OAAO,EAAQ,OAAS,EAAI,EAAU,OAGxC,SAAS,CAAqB,CAAC,EAA+C,CAC5E,GAAI,CAAC,EAAO,OACZ,IAAM,EAAU,EAAM,KAAK,EAC3B,OAAO,EAAQ,OAAS,EAAI,EAAQ,YAAY,EAAI,OAGtD,SAAS,CAA0B,CAAC,EAGlC,CACA,IAAM,EACJ,EAAS,QAAU,OAAO,EAAS,SAAW,SAC1C,EAAS,OACT,CAAC,EAED,EACJ,EAAY,EAAgC,SAAS,GACrD,EAAY,EAAgC,SAAS,GACrD,EAAY,EAAgC,SAAS,EACjD,EAAS,EAAY,EAAgC,MAAM,EAGjE,GADqB,EAAsB,EAAS,IAAI,IACnC,SACnB,MAAO,CACL,UACE,EAAY,EAAgC,SAAS,GAAK,KACxD,EAAS,CAAE,QAAO,EAAI,CAAC,CAC7B,EAGF,MAAO,IACD,EAAY,CAAE,WAAU,EAAI,CAAC,KAC7B,EAAS,CAAE,QAAO,EAAI,CAAC,CAC7B,EAGF,SAAS,CAAS,CAAC,EAAoC,CACrD,MAAO,CACL,EAAK,YAAc,GACnB,EAAK,WAAa,GAClB,EAAK,QAAU,GACf,EAAK,MACP,EAAE,KAAK,GAAG,EAGZ,SAAS,CAAsB,CAC7B,EACoB,CACpB,GAAI,CAAC,MAAM,QAAQ,CAAS,GAAK,EAAU,SAAW,EAAG,OACzD,OAAO,EAAW,EAAU,IAAI,EAAE,EAG7B,MAAM,CAA4B,CACV,OAA7B,WAAW,CAAkB,EAAoC,CAApC,cAE7B,IAAI,CAAC,EAA0D,CAC7D,IAAM,EAAsB,EAAW,GAAQ,UAAU,EACnD,EAAU,KAAK,OAAO,SAAS,eAAiB,CAAC,EACjD,EAAgC,CAAC,EACjC,EAAO,IAAI,IAEX,EAAa,CAAC,IAAqC,CACvD,GAAI,GAAuB,EAAK,aAAe,EAC7C,OAEF,IAAM,EAAM,EAAU,CAAI,EAC1B,GAAI,EAAK,IAAI,CAAG,EACd,OAEF,EAAK,IAAI,CAAG,EACZ,EAAM,KAAK,CAAI,GAGjB,QAAY,EAAO,KAAU,OAAO,QAAQ,CAAO,EAAG,CACpD,IAAM,EAAa,EAAW,EAAM,UAAU,EAC9C,GAAI,CAAC,EAAY,SAEjB,IAAM,EAAY,EAAW,EAAM,SAAS,EACtC,EAAS,EAAW,EAAM,MAAM,EACtC,GAAI,CAAC,GAAa,CAAC,EAAQ,SAE3B,EAAW,CACT,OAAQ,SACR,QACA,gBACI,EAAY,CAAE,WAAU,EAAI,CAAC,KAC7B,EAAS,CAAE,QAAO,EAAI,CAAC,KACvB,EAAW,EAAM,IAAI,EAAI,CAAE,KAAM,EAAW,EAAM,IAAI,CAAE,EAAI,CAAC,CACnE,CAAC,EAGH,IAAM,EAAgB,KAAK,OAAO,UAAU,MACtC,EAAuB,EAAW,GAAe,OAAO,EACxD,EAAoB,EACtB,EAAQ,GACR,OACE,EACJ,EAAW,GAAmB,UAAU,GACxC,EAAW,KAAK,OAAO,SAAS,iBAAiB,GACjD,EAAuB,KAAK,OAAO,SAAS,EAExC,EACJ,EAAW,GAAe,SAAS,GACnC,EAAW,GAAmB,SAAS,EACnC,EACJ,EAAW,GAAe,MAAM,GAChC,EAAW,GAAmB,MAAM,EAEtC,GAAI,IAAsB,GAAqB,GAC7C,EAAW,CACT,OAAQ,YACJ,EAAuB,CAAE,MAAO,CAAqB,EAAI,CAAC,EAC9D,WAAY,KACR,EAAoB,CAAE,UAAW,CAAkB,EAAI,CAAC,KACxD,EAAiB,CAAE,OAAQ,CAAe,EAAI,CAAC,KAC/C,EAAW,GAAmB,IAAI,EAClC,CAAE,KAAM,EAAW,GAAmB,IAAI,CAAE,EAC5C,CAAC,CACP,CAAC,EAGH,QAAW,KAAY,KAAK,OAAO,WAAa,CAAC,EAAG,CAClD,IAAM,EAAa,EAAW,EAAS,EAAE,EACzC,GAAI,CAAC,EAAY,SAEjB,IAAM,EAAO,EAA2B,CAAQ,EAChD,GAAI,CAAC,EAAK,WAAa,CAAC,EAAK,OAAQ,SAErC,EAAW,CACT,OAAQ,SACR,gBACI,EAAK,UAAY,CAAE,UAAW,EAAK,SAAU,EAAI,CAAC,KAClD,EAAK,OAAS,CAAE,OAAQ,EAAK,MAAO,EAAI,CAAC,CAC/C,CAAC,EAGH,OAAO,EAGT,OAAO,CAAC,EAA+D,CACrE,IAAM,EAAU,KAAK,OAAO,SAAS,eAAiB,CAAC,EAEjD,EAAe,EAAW,GAAO,YAAY,EAC7C,EAAa,EAAe,EAAQ,GAAgB,OAE1D,GAAI,GAAgB,GAAO,cAAgB,IAAQ,CAAC,EAClD,MAAM,IAAI,oBAER,gCAAgC,GAClC,EAGF,IAAM,EAAgB,KAAK,OAAO,UAAU,MACtC,EAAuB,EAAW,GAAe,OAAO,EACxD,EAAoB,EACtB,EAAQ,GACR,OAEE,EAAqB,EAAW,GAAO,UAAU,EACjD,EAAkB,EAAW,GAAY,UAAU,EACnD,EAAqB,EAAW,GAAmB,UAAU,EAC7D,EAA2B,EAC/B,KAAK,OAAO,SAAS,iBACvB,EACM,EAAmB,EAAuB,KAAK,OAAO,SAAS,EAEjE,EACA,EAA8C,UAElD,GAAI,EACF,EAAa,EACb,EAAmB,WACd,QAAI,EACT,EAAa,EACb,EAAmB,QACd,QAAI,EACT,EAAa,EACb,EAAmB,WACd,QAAI,EACT,EAAa,EACb,EAAmB,UACd,QAAI,EACT,EAAa,EACb,EAAmB,kBAGrB,IAAM,EAAgB,GACjB,KAAK,OAAO,WAAa,CAAC,GAAG,KAAK,CAAC,IAAU,EAAM,KAAO,CAAU,EACrE,OACE,EAAe,EACjB,EAA2B,CAAa,EACxC,CAAC,EAEC,EAAoB,EAAW,GAAO,SAAS,EAC/C,EAAiB,EAAW,GAAY,SAAS,EACjD,EAAoB,EAAW,GAAe,SAAS,EACvD,EAAwB,EAAW,GAAmB,SAAS,EAC/D,EAAwB,EAAW,EAAa,SAAS,EAEzD,EAAiB,EAAW,GAAO,MAAM,EACzC,EAAc,EAAW,GAAY,MAAM,EAC3C,EAAiB,EAAW,GAAe,MAAM,EACjD,EAAqB,EAAW,GAAmB,MAAM,EACzD,EAAqB,EAAW,EAAa,MAAM,EAErD,EACA,EAEJ,GAAI,EACF,EAAY,EACZ,EAAkB,WACb,QAAI,EACT,EAAY,EACZ,EAAkB,QACb,QAAI,EACT,EAAY,EACZ,EAAkB,WACb,QAAI,EACT,EAAY,EACZ,EAAkB,WACb,QAAI,EACT,EAAY,EACZ,EAAkB,kBAGpB,IAAI,EACA,EAEJ,GAAI,EACF,EAAS,EACT,EAAe,WACV,QAAI,EACT,EAAS,EACT,EAAe,QACV,QAAI,EACT,EAAS,EACT,EAAe,WACV,QAAI,EACT,EAAS,EACT,EAAe,WACV,QAAI,EACT,EAAS,EACT,EAAe,kBAGjB,MAAO,IACD,EAAe,CAAE,MAAO,CAAa,EAAI,CAAC,KAC1C,EAAa,CAAE,YAAW,EAAI,CAAC,KAC/B,EAAsB,GAAe,IAAI,EACzC,CAAE,aAAc,EAAsB,GAAe,IAAI,CAAE,EAC3D,CAAC,KACD,EAAY,CAAE,WAAU,EAAI,CAAC,KAC7B,EAAS,CAAE,QAAO,EAAI,CAAC,KACvB,EAAW,GAAY,IAAI,EAC3B,CAAE,KAAM,EAAW,GAAY,IAAI,CAAE,EACrC,EAAW,GAAmB,IAAI,EAChC,CAAE,KAAM,EAAW,GAAmB,IAAI,CAAE,EAC5C,CAAC,EACP,sBACI,EAAkB,CAAE,iBAAgB,EAAI,CAAC,KACzC,EAAe,CAAE,cAAa,EAAI,CAAC,CACzC,EAGF,QAAQ,CAAC,EAAmD,CAC1D,IAAM,EAAa,EAAW,CAAK,EACnC,GAAI,CAAC,EAAY,OACjB,OAAO,KAAK,OAAO,SAAS,gBAAgB,GAEhD,CCvRA,SAAS,CAAW,CAAC,EAA0D,CAC7E,OAAO,OAAO,IAAU,WAG1B,SAAS,CAAoB,CAC3B,EACoC,CACpC,GAAI,CAAC,EAAY,EAAS,iBAAiB,EACzC,OAGF,GAAI,CACF,OAAO,EAAS,kBAAkB,EAClC,KAAM,CACN,QAIJ,SAAS,CAAqB,CAAC,EAA+C,CAC5E,GAAI,OAAO,IAAU,SAAU,OAC/B,IAAM,EAAU,EAAM,KAAK,EAC3B,OAAO,EAAQ,OAAS,EAAI,EAAQ,YAAY,EAAI,OAGtD,SAAS,EAAS,CAChB,EACA,EAC4B,CAC5B,GAAI,GAAM,kBAAmB,CAC3B,GAAI,EAAK,oBAAsB,OAAS,CAAC,EACvC,MAAO,OAET,OAAO,EAAK,kBAGd,OAAO,EAAe,MAAQ,OAGzB,MAAM,CAA8B,CACzC,OAAO,CAAC,EAA+D,CACrE,IAAM,EAAO,EAAqB,CAAQ,EAEpC,EAAW,CACf,KAAM,EAAY,EAAS,iBAAiB,EAC5C,WAAY,EAAY,EAAS,0BAA0B,EAC3D,KAAM,EAAY,EAAS,uBAAuB,EAClD,IAAK,EAAY,EAAS,eAAe,CAC3C,EAEM,EAAe,EAAsB,GAAM,UAAU,EACrD,EAAO,GAAU,EAAM,EAAS,IAAI,EAE1C,MAAO,CACL,WAAY,EAAS,MACjB,EAAe,CAAE,cAAa,EAAI,CAAC,EACvC,OACA,UACF,EAEJ,CClDA,SAAS,CAAoB,CAC3B,EACA,EACW,CACX,OAAO,IAAI,oBAET,aAAa,oDAA6D,KAC1E,CACE,aACA,WACF,CACF,EAGK,MAAM,CAAsD,CACpC,SAA7B,WAAW,CAAkB,EAAuC,CAAvC,qBAEvB,KAAI,CACR,EAC4C,CAC5C,IAAM,EAAK,KAAK,SAAS,kBACzB,GAAI,OAAO,IAAO,WAChB,OAAO,EAAK,EAAqB,KAAK,SAAS,GAAI,MAAM,CAAC,EAG5D,OAAO,EAAG,KAAK,KAAK,SAAU,CAAM,OAGhC,WAAU,EAAuD,CACrE,IAAM,EAAK,KAAK,SAAS,2BACzB,GAAI,OAAO,IAAO,WAChB,OAAO,EAAK,EAAqB,KAAK,SAAS,GAAI,YAAY,CAAC,EAGlE,OAAO,EAAG,KAAK,KAAK,QAAQ,OAGxB,KAAI,CAAC,EAAkE,CAC3E,IAAM,EAAK,KAAK,SAAS,wBACzB,GAAI,OAAO,IAAO,WAChB,OAAO,EAAK,EAAqB,KAAK,SAAS,GAAI,MAAM,CAAC,EAG5D,OAAO,EAAG,KAAK,KAAK,SAAU,CAAM,OAGhC,IAAG,CACP,EAC0C,CAC1C,IAAM,EAAK,KAAK,SAAS,gBACzB,GAAI,OAAO,IAAO,WAChB,OAAO,EAAK,EAAqB,KAAK,SAAS,GAAI,KAAK,CAAC,EAG3D,OAAO,EAAG,KAAK,KAAK,SAAU,CAAM,EAExC,CCnEO,MAAM,CAAoB,CAGF,SAFpB,KAAO,SAEhB,WAAW,CAAkB,EAAuC,CAAvC,gBAE7B,kBAAkB,CAAC,EAA6C,CAC9D,MAAO,aAAa,KAAK,SAAS,wDAAwD,+BAE9F,CCVO,MAAM,UAA2B,CAAoB,CAC1D,WAAW,CAAC,EAAuC,CACjD,MAAM,CAAQ,EAElB,CCFO,MAAM,CAAqB,CAGH,SAFpB,KAAO,OAEhB,WAAW,CAAkB,EAAuC,CAAvC,gBAE7B,kBAAkB,CAAC,EAA6C,CAC9D,MAAO,aAAa,KAAK,SAAS,gEAAgE,qBAEtG,CCYA,SAAS,EAAqB,CAAC,EAA+C,CAC5E,GAAI,OAAO,IAAU,SAAU,OAC/B,IAAM,EAAU,EAAM,KAAK,EAC3B,OAAO,EAAQ,OAAS,EAAI,EAAQ,YAAY,EAAI,OAGtD,SAAS,EAAgB,CACvB,EACA,EACoC,CACpC,OAAQ,OACD,QACH,OAAO,IAAI,EAAoB,CAAQ,MACpC,OACH,OAAO,IAAI,EAAmB,CAAQ,UAEtC,OAAO,OAAO,EAAS,oBAAsB,WACzC,IAAI,EAAoB,CAAQ,EAChC,QAIH,MAAM,CAA6B,CAQrB,SAPF,WACA,aACA,WACA,aACA,cAEjB,WAAW,CACQ,EACjB,EAAoB,IAAI,EACxB,CAFiB,gBAMjB,GAHA,KAAK,WAAa,EAAkB,QAAQ,CAAQ,EACpD,KAAK,aAAe,GAAsB,KAAK,WAAW,YAAY,EAElE,KAAK,WAAW,OAAS,MAC3B,KAAK,WAAa,GAAiB,KAAK,aAAc,KAAK,QAAQ,EAC9D,QAAI,KAAK,eAAiB,QAC/B,KAAK,aAAe,IAAI,EAAoB,KAAK,QAAQ,EACpD,QAAI,KAAK,eAAiB,SAC/B,KAAK,cAAgB,IAAI,EAAqB,KAAK,QAAQ,EAI/D,aAAa,EAA2B,CACtC,OAAO,KAAK,WAGN,WAAW,CACjB,EAC0B,CAC1B,IAAM,GAAW,IAAM,CACrB,GAAI,KAAK,WAAW,OAAS,SAAU,CACrC,GAAI,KAAK,aACP,OAAO,KAAK,aAAa,mBAAmB,CAAS,EAEvD,MAAO,aAAa,KAAK,SAAS,4DAA4D,6BAGhG,GAAI,KAAK,WAAW,OAAS,OAAQ,CACnC,GAAI,KAAK,cACP,OAAO,KAAK,cAAc,mBAAmB,CAAS,EAExD,MAAO,aAAa,KAAK,SAAS,gEAAgE,MAGpG,MAAO,aAAa,KAAK,SAAS,gEAAgE,QACjG,EAEH,OAAO,EACL,IAAI,oBAAyC,EAAS,CACpD,WAAY,KAAK,SAAS,GAC1B,KAAM,KAAK,WAAW,KACtB,WACF,CAAC,CACH,EAGM,SAAS,CACf,EACyB,CACzB,GAAI,KAAK,WAAW,OAAS,MAC3B,OAAO,KAAK,YAAY,CAAS,EAGnC,GAAI,CAAC,KAAK,WACR,OAAO,EACL,IAAI,oBAEF,aAAa,KAAK,SAAS,yEAC3B,CACE,WAAY,KAAK,SAAS,GAC1B,KAAM,KAAK,WAAW,KACtB,WACF,CACF,CACF,EAGF,OAAO,EAAG,MAAS,OAGf,KAAI,CACR,EACoD,CACpD,IAAM,EAAQ,KAAK,UAAU,MAAM,EACnC,GAAI,EAAM,UAAW,OAAO,EAC5B,IAAM,EAAa,KAAK,WACxB,GAAI,CAAC,EAAY,OAAO,KAAK,YAAY,MAAM,EAE/C,IAAM,EAAS,MAAM,EAAW,KAAK,CAAM,EAC3C,GAAI,EAAO,UAAW,OAAO,EAE7B,OAAO,EACL,EAAO,MAAM,IAAI,CAAC,KAAa,CAC7B,OAAQ,MACR,WAAY,EAAQ,YAAc,KAAK,SAAS,GAChD,UAAW,EAAQ,aACf,EAAQ,OAAS,CAAE,OAAQ,EAAQ,MAAO,EAAI,CAAC,KAC/C,EAAQ,KAAO,CAAE,KAAM,EAAQ,IAAK,EAAI,CAAC,KACzC,EAAQ,OAAS,CAAE,OAAQ,EAAQ,MAAO,EAAI,CAAC,CACrD,EAAE,CACJ,OAGI,WAAU,EAAuD,CACrE,IAAM,EAAQ,KAAK,UAAU,YAAY,EACzC,GAAI,EAAM,UAAW,OAAO,EAC5B,IAAM,EAAa,KAAK,WACxB,GAAI,CAAC,EAAY,OAAO,KAAK,YAAY,YAAY,EAErD,OAAO,EAAW,WAAW,OAGzB,KAAI,CAAC,EAAkE,CAC3E,IAAM,EAAQ,KAAK,UAAU,MAAM,EACnC,GAAI,EAAM,UAAW,OAAO,EAC5B,IAAM,EAAa,KAAK,WACxB,GAAI,CAAC,EAAY,OAAO,KAAK,YAAY,MAAM,EAE/C,OAAO,EAAW,KAAK,CAAM,OAGzB,IAAG,CACP,EAC0C,CAC1C,IAAM,EAAQ,KAAK,UAAU,KAAK,EAClC,GAAI,EAAM,UAAW,OAAO,EAC5B,IAAM,EAAa,KAAK,WACxB,GAAI,CAAC,EAAY,OAAO,KAAK,YAAY,KAAK,EAE9C,OAAO,EAAW,IAAI,CAAM,EAEhC",
16
- "debugId": "A40C2D4AA131DCBB64756E2164756E21",
15
+ "mappings": "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",
16
+ "debugId": "332B1DDF52948F7564756E2164756E21",
17
17
  "names": []
18
18
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k-msg/channel",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
4
4
  "packageManager": "bun@1.3.8",
5
5
  "description": "AlimTalk channel and sender number management",
6
6
  "type": "module",
@@ -34,7 +34,7 @@
34
34
  "publish": "bun publish --access public"
35
35
  },
36
36
  "dependencies": {
37
- "@k-msg/core": "0.23.0",
37
+ "@k-msg/core": "0.24.0",
38
38
  "zod": "^4.0.14"
39
39
  },
40
40
  "devDependencies": {