@k-msg/webhook 0.30.0 → 0.31.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/README.md +2 -0
- package/README_ko.md +2 -0
- package/dist/adapters/cloudflare/d1-delivery.store.d.ts +2 -0
- package/dist/adapters/cloudflare/index.cjs +42 -0
- package/dist/adapters/cloudflare/index.mjs +6 -71
- package/dist/crypto/field-crypto.d.ts +65 -1
- package/dist/dispatcher/load-balancer.d.ts +4 -0
- package/dist/dispatcher/queue.manager.d.ts +4 -0
- package/dist/index.cjs +5 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs +3 -67
- package/dist/retry/retry.manager.d.ts +5 -1
- package/dist/runtime/persistence.d.ts +6 -0
- package/dist/runtime/types.d.ts +42 -0
- package/dist/runtime/webhook-runtime.service.d.ts +18 -2
- package/dist/services/webhook.registry.d.ts +1 -1
- package/dist/toolkit/index.cjs +13 -0
- package/dist/toolkit/index.mjs +12 -76
- package/package.json +11 -11
- package/dist/adapters/cloudflare/index.js +0 -107
- package/dist/index.js +0 -69
- package/dist/toolkit/index.js +0 -77
package/README.md
CHANGED
|
@@ -183,6 +183,8 @@ const runtime = new WebhookRuntimeService({
|
|
|
183
183
|
| `registerEndpoint()` auto test call | `addEndpoint()` only; test with `probeEndpoint()` |
|
|
184
184
|
| Advanced classes from root | import from `@k-msg/webhook/toolkit` |
|
|
185
185
|
| Cloudflare persistence from custom wiring | use `@k-msg/webhook/adapters/cloudflare` |
|
|
186
|
+
| `fieldCrypto.endpoint` / `fieldCrypto.delivery` without `fields.secret` / `fields.payload`, or with `plain`/`mask` | set `fields.secret` (endpoint) and `fields.payload` (delivery) to `encrypt` or `encrypt+hash`; other values now fail at startup |
|
|
187
|
+
| ciphertext written with `fieldCrypto.tenantId` set | now also bound to the tenant; values written before are rejected unless `fieldCrypto.acceptLegacyAad` is set. Deploy with the flag set, run `runtime.migrateFieldCryptoToTenant()` once every instance runs the new version (an older one still writes tenant-less values; running it again picks them up), pausing endpoint changes from other instances while it runs, then remove the flag. A custom delivery store must implement `replace()` and page `list()` with the `before` cursor |
|
|
186
188
|
|
|
187
189
|
## Toolkit subpath
|
|
188
190
|
|
package/README_ko.md
CHANGED
|
@@ -183,6 +183,8 @@ const runtime = new WebhookRuntimeService({
|
|
|
183
183
|
| `registerEndpoint()` 시 자동 테스트 전송 | `addEndpoint()` + 필요 시 `probeEndpoint()` |
|
|
184
184
|
| 고급 클래스 루트 import | `@k-msg/webhook/toolkit`에서 import |
|
|
185
185
|
| Cloudflare persistence 수동 구성 | `@k-msg/webhook/adapters/cloudflare` 사용 |
|
|
186
|
+
| `fields.secret` / `fields.payload` 없이, 또는 `plain`/`mask`로 설정한 `fieldCrypto.endpoint` / `fieldCrypto.delivery` | `fields.secret`(endpoint)과 `fields.payload`(delivery)를 `encrypt` 또는 `encrypt+hash`로 설정. 그 외 값은 이제 시작 시 실패 |
|
|
187
|
+
| `fieldCrypto.tenantId`를 설정한 상태로 저장한 암호문 | 이제 tenant에도 바인딩됨. 이전에 저장된 값은 `fieldCrypto.acceptLegacyAad`를 켜지 않으면 거부됨. 플래그를 켠 채 배포하고, 모든 인스턴스가 새 버전으로 바뀐 뒤 `runtime.migrateFieldCryptoToTenant()`를 한 번 실행해 재암호화한 다음(이전 버전 인스턴스는 tenant 없는 값을 계속 쓰므로, 다시 실행하면 그 값도 옮겨짐) 플래그를 제거. 실행하는 동안 다른 인스턴스의 엔드포인트 변경은 멈출 것. 커스텀 delivery store는 `replace()`와 `list()`의 `before` 커서를 지원해야 함 |
|
|
186
188
|
|
|
187
189
|
## Toolkit subpath
|
|
188
190
|
|
|
@@ -7,6 +7,8 @@ export declare class D1WebhookDeliveryStore implements WebhookDeliveryStore {
|
|
|
7
7
|
private readonly ensureInitialized;
|
|
8
8
|
constructor(db: D1DatabaseLike, tableName: string, ensureInitialized: () => Promise<void>);
|
|
9
9
|
add(delivery: WebhookDelivery): Promise<void>;
|
|
10
|
+
replace(delivery: WebhookDelivery): Promise<void>;
|
|
11
|
+
private write;
|
|
10
12
|
list(options?: WebhookDeliveryListOptions): Promise<WebhookDelivery[]>;
|
|
11
13
|
private toDelivery;
|
|
12
14
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
var{defineProperty:se,getOwnPropertyNames:Ct,getOwnPropertyDescriptor:Mt}=Object,Nt=Object.prototype.hasOwnProperty;function Lt(e){return this[e]}var jt=(e)=>{var t=(Ae??=new WeakMap).get(e),r;if(t)return t;if(t=se({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var n of Ct(e))if(!Nt.call(t,n))se(t,n,{get:Lt.bind(e,n),enumerable:!(r=Mt(e,n))||r.enumerable})}return Ae.set(e,t),t},Ae;var Ft=(e)=>e;function Ut(e,t){this[e]=Ft.bind(null,t)}var Bt=(e,t)=>{for(var r in t)se(e,r,{get:t[r],enumerable:!0,configurable:!0,set:Ut.bind(t,r)})};var jr={};Bt(jr,{DEFAULT_WEBHOOK_DELIVERY_TABLE:()=>ie,DEFAULT_WEBHOOK_ENDPOINT_TABLE:()=>oe,buildWebhookSchemaSql:()=>Ee,createD1WebhookPersistence:()=>Lr,initializeWebhookSchema:()=>Pe});module.exports=jt(jr);function ce(e){let t=Object.values(e).filter((n)=>typeof n==="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function Se(e,t){if(typeof t==="bigint")return t.toString();return t}class De{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;if(e!==void 0)this._value=e(),this._getter=void 0;return this._value}}function Ie(e){return new De(e)}function Re(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Oe(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var ae="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function J(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Ce(e){if(J(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let r=t.prototype;if(J(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}var Me=new Set(["string","number","symbol"]);function Ne(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Y(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function y(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function Le(e){return Object.keys(e).filter((t)=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}function S(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function je(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function M(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function X(e){return typeof e==="string"?e:e?.message}function le(e,t,r){var n;for(let o=t;o<e.length;o++)(n=e[o]).schema??(n.schema=r)}function D(e,t,r){var n;let o=e.inst?._zod?.traits;if(o?.has("$ZodType"))if(o.has("$ZodCheck"))(n=e).schema??(n.schema=e.inst);else e.schema=e.inst;let i=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,a=e.message?e.message:X(e.inst?._zod.def?.error?.(e))??X(i?.(e))??X(t?.error?.(e))??X(r.customError?.(e))??X(r.localeError?.(e))??"Invalid input",s={};for(let l of Object.keys(e)){if(l==="inst"||l==="schema"||l==="continue"||l==="input"||l==="__proto__")continue;s[l]=e[l]}if(s.path??(s.path=[]),s.message=a,t?.reportInput)s.input=e.input;return s}function Fe(e,t){for(let r in t){let n=Object.getOwnPropertyDescriptor(t,r);if(n.get)Object.defineProperty(e,r,{...n,enumerable:!1});else Wt(e,r,n.value)}}function C(e,t,r,n=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function Ue(e,t,r){return C(e,t,r,!1)}function Wt(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:C(this,t,r.bind(this))},set(n){C(this,t,n)}})}function Kt(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}var ue,A=!1,Xt={configurable:!0,get(){A=!0;return}};function k(e,t,r){let n=Object.getPrototypeOf(e._zod);if(t in n&&ue!==e._zod){ue=void 0;return}ue=e._zod,Object.defineProperty(n,t,{configurable:!0,get(){Object.defineProperty(this,t,Xt);let o=A;A=!1;try{let i=r(this);if(A)delete this[t];else Object.defineProperty(this,t,{configurable:!0,writable:!0,value:i});return A=A||o,i}catch(i){throw delete this[t],A=A||o,i}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function Be(e,t,r,n){let o=Kt(e,t);if(!o)return;Object.defineProperty(o,t,{configurable:!0,get(){let i={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,t,i),i.value=r(this),Object.defineProperty(this,t,i),i.value},set(i){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:n,value:i})}})}var We;var pe={value:void 0,enumerable:!1},Ke="captureStackTrace"in Error?Error:null;function Vt(e){let t=Ke;if(t){let r=t.stackTraceLimit;if(typeof r==="number"){try{t.stackTraceLimit=0}catch{return Ke=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function d(e,t,r,n){let o={};function i(p){this.def=p,this.constr=f,this.traits=new Set}i.prototype=o;let a=r,s=a&&new WeakSet;function l(p,h){if(!p._zod){pe.value=new i(h);try{Object.defineProperty(p,"_zod",pe)}finally{pe.value=void 0}}else if(p._zod.traits.has(e))return;if(p._zod.traits.add(e),t(p,h),s){let b=Object.getPrototypeOf(p),Z=p._zod.constr.prototype,E=b;while(E&&E!==Z)E=Object.getPrototypeOf(E);let F=E??b;if(!s.has(F))s.add(F),Fe(F,a)}let m=f.prototype;for(let b in m){if(!Object.prototype.hasOwnProperty.call(m,b))continue;if(!(b in p))p[b]=m[b].bind(p)}}let c=n?.Parent??Object;class u extends c{}Object.defineProperty(u,"name",{value:e});function f(p){let h=n?.Parent?Vt(u):this;l(h,p);let m=h._zod.deferred;if(m){for(let Z of m)Z();h._zod.deferred=void 0}let b=globalThis.__zod_globalConfig?.postProcessor;if(b)b(h);return h}return Object.defineProperty(f,"init",{value:l}),Object.defineProperty(f,Symbol.hasInstance,{value:(p)=>{if(n?.Parent&&p instanceof n.Parent)return!0;return p?._zod?.traits?.has(e)}}),Object.defineProperty(f,"name",{value:e}),f}class P extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class fe extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}(We=globalThis).__zod_globalConfig??(We.__zod_globalConfig={});var N=globalThis.__zod_globalConfig;function I(e){if(e)Object.assign(N,e);return N}function Gt(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,Se,2)),e.message}function Ht(e){this._zod.message=e}var Jt={get:Gt,set:Ht,enumerable:!0,configurable:!0},me={value:void 0,enumerable:!1},Xe=new WeakSet([Object.prototype,Error.prototype]),Ve=(e,t)=>{e.name="$ZodError",me.value=t,Object.defineProperty(e,"issues",me),me.value=void 0,Object.defineProperty(e,"message",Jt);let r=Object.getPrototypeOf(e);if(!Xe.has(r))Xe.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let n=()=>this.message;return Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0})}})},Wr=d("$ZodError",Ve),V=d("$ZodError",Ve,void 0,{Parent:Error});var qt=(e)=>{let t=(r,n,o,i)=>{let a=o?{...o,async:!1}:{async:!1},s=r._zod.run({value:n,issues:[]},a);if(s instanceof Promise)throw new P;if(s.issues.length){let l=new(i?.Err??e)(s.issues.map((c)=>D(c,a,I())));throw ae(l,i?.callee??t),l}return s.value};return t},he=qt(V),Qt=(e)=>{let t=async(r,n,o,i)=>{let a=o?{...o,async:!0}:{async:!0},s=r._zod.run({value:n,issues:[]},a);if(s instanceof Promise)s=await s;if(s.issues.length){let l=new(i?.Err??e)(s.issues.map((c)=>D(c,a,I())));throw ae(l,i?.callee??t),l}return s.value};return t},_e=Qt(V),er=(e)=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new P;return i.issues.length?Ge(e,i.issues,o):{success:!0,data:i.value}},ge=er(V);function Ge(e,t,r){let n;return{success:!1,get error(){if(!n)n=new e(t.map((o)=>D(o,r,I()))),t=void 0,r=void 0;return n},set error(o){n=o,t=void 0,r=void 0}}}var tr=(e)=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)i=await i;return i.issues.length?Ge(e,i.issues,o):{success:!0,data:i.value}},xe=tr(V);var He=/^https?$/;var Je=/^[\s\S]{0,}$/;var be=/^-?\d+(?:\.\d+)?$/,Ye=/^(?:true|false)$/i;var B=d("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])});var q={number:"number",bigint:"bigint",object:"date"},Qe=d("$ZodCheckLessThan",(e,t)=>{B.init(e,t);let r=q[typeof t.value];e._zod.check=(n)=>{if(t.inclusive?n.value<=t.value:n.value<t.value)return;n.issues.push({origin:q[typeof n.value]??r,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),et=d("$ZodCheckGreaterThan",(e,t)=>{B.init(e,t);let r=q[typeof t.value];e._zod.check=(n)=>{if(t.inclusive?n.value>=t.value:n.value>t.value)return;n.issues.push({origin:q[typeof n.value]??r,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}});var tt=d("$ZodCheckStringFormat",(e,t)=>{var r,n;if(B.init(e,t),t.pattern)(r=e._zod).check??(r.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(n=e._zod).check??(n.check=()=>{})});var nt={major:4,minor:6,patch:5};var z=d("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=nt;let n=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...n??[]]:n?.length?[...n]:[];for(let i of o)for(let a of i._zod.onattach)a(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(s,l,c)=>{if(s.memo)return s;let u=S(s),f;for(let p of l){if(p._zod.def.when){if(je(s))continue;if(!p._zod.def.when(s))continue}else if(u)continue;let h=s.issues.length,m=p._zod.check(s);if(m instanceof Promise&&c?.async===!1)throw new P;if(f||m instanceof Promise)f=(f??Promise.resolve()).then(async()=>{if(await m,s.issues.length===h)return;if(le(s.issues,h,e),!u)u=S(s,h)});else{if(s.issues.length===h)continue;if(le(s.issues,h,e),!u)u=S(s,h)}}if(f)return f.then(()=>s);return s},a=(s,l,c)=>{if(S(s))return s.aborted=!0,s;let u=i(l,o,c);if(u instanceof Promise){if(c.async===!1)throw new P;return u.then((f)=>e._zod.parse(f,c))}return e._zod.parse(u,c)};e._zod.run=(s,l)=>{if(l.skipChecks)return e._zod.parse(s,l);if(l.direction==="backward"){let u=e._zod.parse({value:s.value,issues:[]},{...l,skipChecks:!0});if(u instanceof Promise)return u.then((f)=>a(f,s,l));return a(u,s,l)}let c=e._zod.parse(s,l);if(c instanceof Promise){if(l.async===!1)throw new P;return c.then((u)=>i(u,o,l))}return i(c,o,l)}}},{get "~standard"(){return Ue(this,"~standard",or(this))},set "~standard"(e){C(this,"~standard",e)}}),ut=(e,t)=>e.issues.length?{issues:e.issues.map((r)=>D(r,t,I()))}:{value:e.value};async function nr(e,t){let r={async:!0};return ut(await e._zod.run({value:t,issues:[]},r),r)}function or(e){return{validate:(t)=>{let r={async:!1};try{let n=e._zod.run({value:t,issues:[]},r);if(!(n instanceof Promise))return ut(n,r)}catch(n){}return nr(e,t)},vendor:"zod",version:1}}var ve=d("$ZodString",(e,t)=>{z.init(e,t),e._zod.pattern=t.pattern??Je,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch(o){}if(typeof r.value==="string")return r;return r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),$e=d("$ZodStringFormat",(e,t)=>{tt.init(e,t),ve.init(e,t)});var ct=1,ee=2;function ir(e){try{if(typeof URL<"u"&&typeof URL.canParse==="function")return URL.canParse(e);return new URL(e),!0}catch{return!1}}function sr(e,t){if(!("normalize"in t)&&!("hostname"in t)&&!("protocol"in t))return ir(e)||ee;return ur(e,t)}function ur(e,t){if(!t.normalize&&t.protocol?.source===He.source&&!/^https?:\/\//i.test(e))return ct;try{if(typeof URL<"u"){let r=URL;if(typeof r.parse==="function")return r.parse(e)??ee}return new URL(e)}catch{return ee}}var cr=/[\t\n\r]/g;function ot(e){return e.replace(cr,"")}function ar(e,t){return t.lastIndex=0,t.test(e.hostname)}function lr(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}var at=d("$ZodURL",(e,t)=>{$e.init(e,t),e._zod.check=(r)=>{try{let n=r.value.trim(),o=sr(n,t);if(o===ct){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!t.abort});return}if(o===ee){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort});return}if(o===!0){r.value=ot(n);return}if(t.hostname&&!ar(o,t.hostname))r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort});if(t.protocol&&!lr(o,t.protocol))r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort});r.value=t.normalize?o.href:ot(n);return}catch(n){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}});var lt=d("$ZodNumber",(e,t)=>{z.init(e,t),e._zod.pattern=be,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch(a){}let o=r.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?String(o):void 0:void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),r}});var pt=d("$ZodBoolean",(e,t)=>{z.init(e,t),e._zod.pattern=Ye,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Boolean(r.value)}catch(i){}let o=r.value;if(typeof o==="boolean")return r;return r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var ft=d("$ZodAny",(e,t)=>{z.init(e,t),e._zod.parse=(r)=>r});var dt=d("$ZodDate",(e,t)=>{z.init(e,t),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=new Date(r.value)}catch(s){}let o=r.value,i=o instanceof Date;if(i&&!Number.isNaN(o.getTime()))return r;return r.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:e}),r}});function it(e,t,r){if(e.issues.length)t.issues.push(...M(r,e.issues));t.value[r]=e.value}var mt=d("$ZodArray",(e,t)=>{z.init(e,t);let r=N.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),n;n.value=r?r.alloc(e,n,Array(i.length),o):Array(i.length);let a=[],s=o?.abortEarly;for(let l=0;l<i.length;l++){let c=i[l],u=t.element._zod.run({value:c,issues:[]},o);if(u instanceof Promise)a.push(u.then((f)=>it(f,n,l)));else if(it(u,n,l),s&&u.issues.length!==0&&S(u))break}if(a.length)return Promise.all(a).then(()=>n);return n}});function te(e,t,r,n,o,i){let a=r in n,s=i==="optional";if(!a&&s&&o==="optional")return;if(e.issues.length){if(o!==void 0&&s&&!a)return;t.issues.push(...M(r,e.issues))}if(!a&&o===void 0){if(!e.issues.length)t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}if(e.value===void 0){if(a||o==="defaulted"&&!s)t.value[r]=void 0}else t.value[r]=e.value}var pr=[];function fr(e){let t=Object.keys(e.shape),r=Object.getOwnPropertySymbols(e.shape),n=r.length?r:pr,o=n.length?[...t,...n]:t;for(let a of o)if(!e.shape?.[a]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${String(a)}": expected a Zod schema`);let i=Le(e.shape);return{...e,allKeys:o,symbolKeys:n,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(i)}}function dr(e,t,r,n,o,i,a){let s=[],l=o.keySet,c=o.catchall._zod,u=c.def.type,{optin:f,optout:p}=c,h=0;for(let m in t){if(a&&r.issues.length!==h){if(S(r,h))break;h=r.issues.length}if(l.has(m))continue;if(m==="__proto__"){if(u==="never")s.push(m);continue}if(u==="never"){s.push(m);continue}let b=c.run({value:t[m],issues:[]},n);if(b instanceof Promise)e.push(b.then((Z)=>te(Z,r,m,t,f,p)));else te(b,r,m,t,f,p)}if(s.length)r.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i,continue:!0});if(!e.length)return r;return Promise.all(e).then(()=>r)}var ht=d("$ZodObject",(e,t)=>{z.init(e,t);let r=Object.getOwnPropertyDescriptor(t,"shape"),n=r?.get?r.get.raw:t.shape??{};if(n){let c=()=>{let u={...n};return Object.defineProperty(t,"shape",{value:u}),c.raw=u,u};c.raw=n,Object.defineProperty(t,"shape",{get:c})}let o=Ie(()=>fr(t));k(e,"propValues",(c)=>{let u=c.def.shape,f={};for(let p in u){let h=u[p]._zod;if(h.values){if(!Object.prototype.hasOwnProperty.call(f,p))Oe(f,p,new Set);for(let m of h.values)f[p].add(m);if(h.optin!==void 0)f[p].add(void 0)}}return f});let i=J,a=t.catchall,s,l=N.memoizer;l?.attach(e),e._zod.parse=(c,u)=>{s??(s=o.value);let f=c.value;if(!i(f))return c.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),c;c.value=l?l.alloc(e,c,{},u):{};let p=[],h=s.shape,m=u?.abortEarly,b=c.issues.length;for(let Z of s.allKeys){if(m&&c.issues.length!==b){if(S(c,b))break;b=c.issues.length}if(Z==="__proto__")continue;let E=h[Z],F=E._zod.optin,Te=E._zod.optout,x=E._zod.run({value:f[Z],issues:[]},u);if(x instanceof Promise)p.push(x.then((Ot)=>te(Ot,c,Z,f,F,Te)));else te(x,c,Z,f,F,Te)}if(!a)return p.length?Promise.all(p).then(()=>c):c;return dr(p,f,c,u,o.value,e,m===!0)}});var _t=d("$ZodRecord",(e,t)=>{z.init(e,t);let r=N.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let i=n.value;if(!Ce(i))return n.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),n;let a=[],s=t.keyType._zod.values;if(s&&!t.partial){n.value=r?r.alloc(e,n,{},o):{};let l=new Set;for(let u of s)if(typeof u==="string"||typeof u==="number"||typeof u==="symbol"){if(l.add(typeof u==="number"?u.toString():u),u==="__proto__")continue;let f=t.keyType._zod.run({value:u,issues:[]},o);if(f instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(f.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:f.issues.map((m)=>D(m,o,I())),input:u,path:[u],inst:e});continue}let p=f.value;if(p==="__proto__")continue;let h=t.valueType._zod.run({value:i[u],issues:[]},o);if(h instanceof Promise)a.push(h.then((m)=>{if(m.issues.length)n.issues.push(...M(u,m.issues));n.value[p]=m.value}));else{if(h.issues.length)n.issues.push(...M(u,h.issues));n.value[p]=h.value}}let c;for(let u in i)if(!l.has(u))if(t.mode==="loose"){if(u==="__proto__")continue;n.value[u]=i[u]}else c=c??[],c.push(u);if(c&&c.length>0)n.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:c,continue:!0})}else{n.value=r?r.alloc(e,n,{},o):{};let l;for(let c of Reflect.ownKeys(i)){if(c==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(i,c))continue;let u=t.keyType._zod.run({value:c,issues:[]},o);if(u instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof c==="string"&&be.test(c)&&u.issues.length){let m=t.keyType._zod.run({value:Number(c),issues:[]},o);if(m instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(m.issues.length===0)u=m}if(u.issues.length){if(t.mode==="loose")n.value[c]=i[c];else if(s)l=l??[],l.push(c);else n.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map((m)=>D(m,o,I())),input:c,path:[c],inst:e});continue}let p=u.value;if(p==="__proto__")continue;let h=t.valueType._zod.run({value:i[c],issues:[]},o);if(h instanceof Promise)a.push(h.then((m)=>{if(m.issues.length)n.issues.push(...M(c,m.issues));n.value[p]=m.value}));else{if(h.issues.length)n.issues.push(...M(c,h.issues));n.value[p]=h.value}}if(l&&l.length>0)n.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:l,continue:!0})}if(a.length)return Promise.all(a).then(()=>n);return n}});var gt=d("$ZodEnum",(e,t)=>{z.init(e,t);let r=ce(t.entries),n=new Set(r);e._zod.values=n,k(e,"pattern",(o)=>{let i=ce(o.def.entries).filter((a)=>Me.has(typeof a));return new RegExp(i.length?`^(${i.map((a)=>Ne(a.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(o,i)=>{let a=o.value;if(n.has(a))return o;return o.issues.push({code:"invalid_value",values:r,input:a,inst:e}),o}});var xt=d("$ZodTransform",(e,t)=>{z.init(e,t),e._zod.optin="optional",N.memoizer?.guard(e),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new fe(e.constructor.name);let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then((a)=>(r.value=a,r));if(o instanceof Promise)throw new P;return r.value=o,r}});function st(e,t){return e.value=t.issues.length?void 0:t.value,e}var bt=d("$ZodOptional",(e,t)=>{z.init(e,t),k(e,"optin",(r)=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",k(e,"values",(r)=>{let n=r.def.innerType._zod.values;return n?new Set([...n,void 0]):void 0}),k(e,"pattern",(r)=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Re(n.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(r.value===void 0){if(t.innerType._zod.optin!=="defaulted")return r;let o=t.innerType._zod.run({value:r.value,issues:[]},n);if(o instanceof Promise)return o.then((i)=>st(r,i));return st(r,o)}return t.innerType._zod.run(r,n)}});var vt=d("$ZodPipe",(e,t)=>{z.init(e,t),k(e,"values",(r)=>r.def.in._zod.values),k(e,"optin",(r)=>r.def.in._zod.optin),k(e,"optout",(r)=>r.def.out._zod.optout),k(e,"propValues",(r)=>r.def.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){let i=t.out._zod.run(r,n);if(i instanceof Promise)return i.then((a)=>Q(a,t.in,n));return Q(i,t.in,n)}let o=t.in._zod.run(r,n);if(o instanceof Promise)return o.then((i)=>Q(i,t.out,n));return Q(o,t.out,n)}});function Q(e,t,r){if(e.issues.some((n)=>n.code!=="unrecognized_keys"))return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues},r)}function $t(e){if(e.checks)e.checks=[...e.checks];return e}function yt(e,t){return new e($t({type:"string",...y(t)}))}function zt(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...y(t)})}function wt(e,t){return new e($t({type:"number",checks:[],...y(t)}))}function Zt(e,t){return new e({type:"boolean",...y(t)})}function kt(e){return new e({type:"any"})}function Et(e,t){return new e({type:"date",...y(t)})}function re(e,t){return new Qe({check:"less_than",...y(t),value:e,inclusive:!0})}function G(e,t){return new et({check:"greater_than",...y(t),value:e,inclusive:!0})}var w=d("ZodMiniType",(e,t)=>{if(!e._zod)throw Error("Uninitialized schema in ZodMiniType.");z.init(e,t),e.def=t,e.type=t.type},{get with(){return this.check},set with(e){C(this,"with",e)},parse(e,t){return he(this,e,t,{callee:this.parse})},parseAsync(e,t){return _e(this,e,t,{callee:this.parseAsync})},safeParse(e,t){return ge(this,e,t)},safeParseAsync(e,t){return xe(this,e,t)},check(...e){let t=this.def;return this.clone({...t,checks:[...t.checks??[],...e.map((r)=>typeof r==="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]},{parent:!0})},clone(e,t){return Y(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},apply(e,...t){return t.length===0?e(this):e(this,...t)}}),Tt=d("ZodMiniString",(e,t)=>{ve.init(e,t),w.init(e,t)});function _(e){return yt(Tt,e)}var _r=d("ZodMiniStringFormat",(e,t)=>{$e.init(e,t),Tt.init(e,t)});var gr=d("ZodMiniURL",(e,t)=>{at.init(e,t),_r.init(e,t)});function At(e){return zt(gr,e)}var xr=d("ZodMiniNumber",(e,t)=>{lt.init(e,t),w.init(e,t)});function L(e){return wt(xr,e)}var br=d("ZodMiniBoolean",(e,t)=>{pt.init(e,t),w.init(e,t)});function vr(e){return Zt(br,e)}var $r=d("ZodMiniAny",(e,t)=>{ft.init(e,t),w.init(e,t)});function yr(){return kt($r)}var zr=d("ZodMiniDate",(e,t)=>{dt.init(e,t),w.init(e,t)});function R(e){return Et(zr,e)}var wr=d("ZodMiniArray",(e,t)=>{mt.init(e,t),w.init(e,t)});function H(e,t){return new wr({type:"array",element:e,...y(t)})}var Zr=d("ZodMiniObject",(e,t)=>{ht.init(e,t),w.init(e,t),Be(e,"shape",(r)=>r._zod.def.shape,!1)});function j(e,t){let r={type:"object",shape:e??{},...y(t)};return new Zr(r)}var Pt=d("ZodMiniRecord",(e,t)=>{_t.init(e,t),w.init(e,t)});function ye(e,t,r){if(!t||!t._zod)return new Pt({type:"record",keyType:_(),valueType:e,...y(t)});return new Pt({type:"record",keyType:e,valueType:t,...y(r)})}var St=d("ZodMiniEnum",(e,t)=>{gt.init(e,t),w.init(e,t),e.options=[...e._zod.values]});function ze(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map((n)=>[n,n])):e;return new St({type:"enum",entries:r,...y(t)})}function we(e,t){return new St({type:"enum",entries:e,...y(t)})}var kr=d("ZodMiniTransform",(e,t)=>{xt.init(e,t),w.init(e,t)});function Er(e){return new kr({type:"transform",transform:e})}var Pr=d("ZodMiniOptional",(e,t)=>{bt.init(e,t),w.init(e,t)});function g(e){return new Pr({type:"optional",innerType:e})}var Tr=d("ZodMiniPipe",(e,t)=>{vt.init(e,t),w.init(e,t)});function Ar(e,t){return new Tr({type:"pipe",in:e,out:t})}var W;((x)=>{x.MESSAGE_SENT="message.sent";x.MESSAGE_DELIVERED="message.delivered";x.MESSAGE_FAILED="message.failed";x.MESSAGE_CLICKED="message.clicked";x.MESSAGE_READ="message.read";x.TEMPLATE_CREATED="template.created";x.TEMPLATE_APPROVED="template.approved";x.TEMPLATE_REJECTED="template.rejected";x.TEMPLATE_UPDATED="template.updated";x.TEMPLATE_DELETED="template.deleted";x.CHANNEL_CREATED="channel.created";x.CHANNEL_VERIFIED="channel.verified";x.SENDER_NUMBER_ADDED="sender_number.added";x.SENDER_NUMBER_VERIFIED="sender_number.verified";x.QUOTA_WARNING="system.quota_warning";x.QUOTA_EXCEEDED="system.quota_exceeded";x.PROVIDER_ERROR="system.provider_error";x.SYSTEM_MAINTENANCE="system.maintenance";x.ANOMALY_DETECTED="analytics.anomaly_detected";x.THRESHOLD_EXCEEDED="analytics.threshold_exceeded"})(W||={});var Dr=j({providerId:g(_()),channelId:g(_()),templateId:g(_()),messageId:g(_()),userId:g(_()),organizationId:g(_()),correlationId:g(_()),retryCount:g(L())}),Ir=j({maxRetries:L().check(G(0),re(10)),retryDelayMs:L().check(G(1000)),backoffMultiplier:L().check(G(1),re(5))}),Rr=j({providerId:g(H(_())),channelId:g(H(_())),templateId:g(H(_()))}),Or=j({attemptNumber:L(),timestamp:R(),httpStatus:g(L()),responseBody:g(_()),responseHeaders:g(ye(_(),_())),error:g(_()),latencyMs:L()}),Xs=j({id:_(),type:we(W),timestamp:Ar(Er((e)=>{if(e instanceof Date)return e;if(typeof e==="string"||typeof e==="number")return new Date(e);return e}),R()),data:yr(),metadata:Dr,version:_()}),Vs=j({id:_(),url:At(),name:g(_()),description:g(_()),active:vr(),events:H(we(W)),headers:g(ye(_(),_())),secret:g(_()),retryConfig:g(Ir),filters:g(Rr),createdAt:R(),updatedAt:R(),lastTriggeredAt:g(R()),status:ze(["active","inactive","error","suspended"])}),Gs=j({id:_(),endpointId:_(),eventId:_(),eventType:g(we(W)),url:At(),httpMethod:ze(["POST","PUT","PATCH"]),headers:ye(_(),_()),payload:_(),attempts:H(Or),status:ze(["pending","success","failed","exhausted"]),createdAt:R(),completedAt:g(R()),nextRetryAt:g(R())});function T(e){if(typeof e==="number"&&Number.isFinite(e))return new Date(e);if(typeof e==="string"){let t=Number(e);if(Number.isFinite(t))return new Date(t);let r=new Date(e);if(!Number.isNaN(r.getTime()))return r}return}function Dt(e,t=0){if(typeof e==="number"&&Number.isFinite(e))return e;if(typeof e==="string"){let r=Number(e);if(Number.isFinite(r))return r}return t}function v(e,t=""){if(typeof e==="string")return e;if(e===null||e===void 0)return t;return String(e)}function O(e){if(typeof e!=="string"||e.length===0)return;try{return JSON.parse(e)}catch{return}}async function ne(e,t,r=[]){return(await e.prepare(t).bind(...r).all()).results??[]}async function It(e,t,r=[]){return e.prepare(t).bind(...r).first()}async function K(e,t,r=[]){await e.prepare(t).bind(...r).run()}async function Rt(e,t){let r=t.map((n)=>n.trim()).filter((n)=>n.length>0);for(let n of r)await K(e,n)}var Cr=new Set(Object.values(W));function Mr(e){let t=v(e,"");return Cr.has(t)?t:void 0}class Ze{db;tableName;ensureInitialized;constructor(e,t,r){this.db=e;this.tableName=t;this.ensureInitialized=r}async add(e){await this.write(e)}async replace(e){await this.write(e)}async write(e){await this.ensureInitialized(),await K(this.db,`INSERT OR REPLACE INTO ${this.tableName} (
|
|
2
|
+
id, endpoint_id, event_id, event_type, url, http_method, headers_json,
|
|
3
|
+
payload, attempts_json, status, created_at, completed_at, next_retry_at
|
|
4
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[e.id,e.endpointId,e.eventId,e.eventType??null,e.url,e.httpMethod,JSON.stringify(e.headers),e.payload,JSON.stringify(e.attempts),e.status,e.createdAt.getTime(),e.completedAt?e.completedAt.getTime():null,e.nextRetryAt?e.nextRetryAt.getTime():null])}async list(e={}){await this.ensureInitialized();let t=[],r=[];if(e.endpointId)t.push("endpoint_id = ?"),r.push(e.endpointId);if(e.eventType)t.push("event_type = ?"),r.push(e.eventType);if(e.status)t.push("status = ?"),r.push(e.status);if(e.before){let a=e.before.createdAt.getTime();t.push("(created_at, id) < (?, ?)"),r.push(a,e.before.id)}let n=typeof e.limit==="number"&&Number.isFinite(e.limit)?Math.max(0,Math.floor(e.limit)):100;r.push(n);let o=t.length>0?`WHERE ${t.join(" AND ")}`:"";return(await ne(this.db,`SELECT * FROM ${this.tableName} ${o} ORDER BY created_at DESC, id DESC LIMIT ?`,r)).map((a)=>this.toDelivery(a))}toDelivery(e){let t=T(e.created_at)??new Date,r=T(e.completed_at),n=T(e.next_retry_at),o=v(e.status,"pending");return{id:v(e.id),endpointId:v(e.endpoint_id),eventId:v(e.event_id),eventType:Mr(e.event_type),url:v(e.url),httpMethod:["POST","PUT","PATCH"].includes(v(e.http_method,"POST"))?v(e.http_method,"POST"):"POST",headers:O(e.headers_json)??{},payload:v(e.payload,"{}"),attempts:O(e.attempts_json)?.map((i)=>({...i,timestamp:T(i.timestamp)??new Date}))??[],status:o==="pending"||o==="success"||o==="failed"||o==="exhausted"?o:"pending",createdAt:t,completedAt:r,nextRetryAt:n}}}class ke{db;tableName;ensureInitialized;constructor(e,t,r){this.db=e;this.tableName=t;this.ensureInitialized=r}async add(e){await this.ensureInitialized(),await K(this.db,`INSERT OR REPLACE INTO ${this.tableName} (
|
|
5
|
+
id, url, name, description, active, events_json, headers_json, secret,
|
|
6
|
+
retry_config_json, filters_json, created_at, updated_at, last_triggered_at, status
|
|
7
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[e.id,e.url,e.name??null,e.description??null,e.active?1:0,JSON.stringify(e.events),e.headers?JSON.stringify(e.headers):null,e.secret??null,e.retryConfig?JSON.stringify(e.retryConfig):null,e.filters?JSON.stringify(e.filters):null,e.createdAt.getTime(),e.updatedAt.getTime(),e.lastTriggeredAt?e.lastTriggeredAt.getTime():null,e.status])}async update(e,t){if(await this.ensureInitialized(),!await this.get(e))throw Error(`Webhook endpoint ${e} not found`);await this.add(t)}async remove(e){await this.ensureInitialized(),await K(this.db,`DELETE FROM ${this.tableName} WHERE id = ?`,[e])}async get(e){await this.ensureInitialized();let t=await It(this.db,`SELECT * FROM ${this.tableName} WHERE id = ? LIMIT 1`,[e]);return t?this.toEndpoint(t):null}async list(){return await this.ensureInitialized(),(await ne(this.db,`SELECT * FROM ${this.tableName} ORDER BY updated_at DESC`)).map((t)=>this.toEndpoint(t))}toEndpoint(e){let t=T(e.created_at)??new Date,r=T(e.updated_at)??t,n=T(e.last_triggered_at),o=v(e.status,"inactive");return{id:v(e.id),url:v(e.url),name:v(e.name,"")||void 0,description:v(e.description,"")||void 0,active:Dt(e.active,0)>0,events:O(e.events_json)??[],headers:O(e.headers_json)??void 0,secret:v(e.secret,"")||void 0,retryConfig:O(e.retry_config_json)??void 0,filters:O(e.filters_json)??void 0,createdAt:t,updatedAt:r,lastTriggeredAt:n,status:o==="active"||o==="inactive"||o==="error"||o==="suspended"?o:"inactive"}}}var oe="kmsg_webhook_endpoints",ie="kmsg_webhook_deliveries";function Nr(e={}){return{endpointTable:e.endpointTableName??oe,deliveryTable:e.deliveryTableName??ie}}function Ee(e={}){let t=Nr(e);return[`CREATE TABLE IF NOT EXISTS ${t.endpointTable} (
|
|
8
|
+
id TEXT PRIMARY KEY,
|
|
9
|
+
url TEXT NOT NULL,
|
|
10
|
+
name TEXT,
|
|
11
|
+
description TEXT,
|
|
12
|
+
active INTEGER NOT NULL,
|
|
13
|
+
events_json TEXT NOT NULL,
|
|
14
|
+
headers_json TEXT,
|
|
15
|
+
secret TEXT,
|
|
16
|
+
retry_config_json TEXT,
|
|
17
|
+
filters_json TEXT,
|
|
18
|
+
created_at INTEGER NOT NULL,
|
|
19
|
+
updated_at INTEGER NOT NULL,
|
|
20
|
+
last_triggered_at INTEGER,
|
|
21
|
+
status TEXT NOT NULL
|
|
22
|
+
)`,`CREATE UNIQUE INDEX IF NOT EXISTS idx_${t.endpointTable}_url
|
|
23
|
+
ON ${t.endpointTable}(url)`,`CREATE TABLE IF NOT EXISTS ${t.deliveryTable} (
|
|
24
|
+
id TEXT PRIMARY KEY,
|
|
25
|
+
endpoint_id TEXT NOT NULL,
|
|
26
|
+
event_id TEXT NOT NULL,
|
|
27
|
+
event_type TEXT,
|
|
28
|
+
url TEXT NOT NULL,
|
|
29
|
+
http_method TEXT NOT NULL,
|
|
30
|
+
headers_json TEXT NOT NULL,
|
|
31
|
+
payload TEXT NOT NULL,
|
|
32
|
+
attempts_json TEXT NOT NULL,
|
|
33
|
+
status TEXT NOT NULL,
|
|
34
|
+
created_at INTEGER NOT NULL,
|
|
35
|
+
completed_at INTEGER,
|
|
36
|
+
next_retry_at INTEGER
|
|
37
|
+
)`,`CREATE INDEX IF NOT EXISTS idx_${t.deliveryTable}_endpoint_id
|
|
38
|
+
ON ${t.deliveryTable}(endpoint_id)`,`CREATE INDEX IF NOT EXISTS idx_${t.deliveryTable}_created_at_id
|
|
39
|
+
ON ${t.deliveryTable}(created_at DESC, id DESC)`]}async function Pe(e,t={}){await Rt(e,Ee(t))}function Lr(e,t={}){let r=t.endpointTableName??oe,n=t.deliveryTableName??ie,o=t.initializeSchema!==!1,i=null,a=async()=>{if(!o)return;if(!i)i=Pe(e,{endpointTableName:r,deliveryTableName:n}).catch((s)=>{throw i=null,s});await i};return{endpointStore:new ke(e,r,a),deliveryStore:new Ze(e,n,a),init:a}}
|
|
40
|
+
|
|
41
|
+
//# debugId=C34967D23F918AB264756E2164756E21
|
|
42
|
+
//# sourceMappingURL=index.cjs.map
|