@interactive-inc/claude-funnel 0.15.1 → 0.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -54,11 +54,21 @@ The MCP layer is a thin bridge into the agent. It subscribes to the bound channe
|
|
|
54
54
|
|
|
55
55
|
## Install
|
|
56
56
|
|
|
57
|
+
Per-repo (recommended for getting started — no global install, version pinned by the repo's lock file):
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
bun add -D @interactive-inc/claude-funnel
|
|
61
|
+
bunx funnel claude # or `bunx funnel <any subcommand>`
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Global (one CLI for every repo you touch):
|
|
65
|
+
|
|
57
66
|
```bash
|
|
58
67
|
bun add -g @interactive-inc/claude-funnel
|
|
68
|
+
funnel claude # or the `fnl` shorthand
|
|
59
69
|
```
|
|
60
70
|
|
|
61
|
-
The published package ships the built `dist/`, so
|
|
71
|
+
The published package ships the built `dist/`, so either install makes `funnel` / `fnl` available immediately — no post-install step. The rest of the README uses `fnl` for brevity; swap in `bunx funnel` if you went the per-repo route.
|
|
62
72
|
|
|
63
73
|
## Quick start
|
|
64
74
|
|
|
@@ -85,7 +95,7 @@ Or drop a `funnel.json` in the repo and `fnl claude` (no args) inside the repo w
|
|
|
85
95
|
|
|
86
96
|
```json
|
|
87
97
|
{
|
|
88
|
-
"$schema": "
|
|
98
|
+
"$schema": "./node_modules/@interactive-inc/claude-funnel/funnel.schema.json",
|
|
89
99
|
"channel": "ops",
|
|
90
100
|
"options": ["--brief", "--agent", "cto"],
|
|
91
101
|
"env": {
|
|
@@ -112,7 +122,7 @@ The optional top-level `env` is a `Record<string, string>` of environment variab
|
|
|
112
122
|
|
|
113
123
|
The optional `connectors` array is treated as the source of truth for the declared channel: missing connectors are created, an existing connector that the spec references by token (not by name) is renamed in place, and connectors not declared in the spec are removed on launch. An absent `connectors` field leaves `~/.funnel` alone.
|
|
114
124
|
|
|
115
|
-
The optional top-level `$schema` points at the
|
|
125
|
+
The optional top-level `$schema` points at the JSON Schema so editors can validate and autocomplete the file. The recommended reference for repos with a local install is `./node_modules/@interactive-inc/claude-funnel/funnel.schema.json` — it works without a network round-trip and editors do not need to prompt for trust. The same file is also published at `https://interactive-inc.github.io/open-claude-funnel/funnel.schema.json` (editors usually require explicit trust on first use), and `fnl schema > funnel.schema.json` regenerates a local copy on demand.
|
|
116
126
|
|
|
117
127
|
Each token field resolves in this order:
|
|
118
128
|
|
package/dist/bin.js
CHANGED
|
@@ -891,7 +891,7 @@ Since you have not provided a token or authorize, you might be missing one or mo
|
|
|
891
891
|
* Copyright(c) 2013 Roman Shtylman
|
|
892
892
|
* Copyright(c) 2014-2015 Douglas Christopher Wilson
|
|
893
893
|
* MIT Licensed
|
|
894
|
-
*/var Gp=xVq(),$FK=EA("events").EventEmitter,bLq=LVq(),vLq=z5q(),kLq=UjA(),fLq=r5q(),CLq=RLq();rX=hLq.exports=UFK;function UFK(){var A=function(q,K,F){A.handle(q,K,F)};return bLq(A,$FK.prototype,!1),bLq(A,vLq,!1),A.request=Object.create(fLq,{app:{configurable:!0,enumerable:!0,writable:!0,value:A}}),A.response=Object.create(CLq,{app:{configurable:!0,enumerable:!0,writable:!0,value:A}}),A.init(),A}rX.application=vLq;rX.request=fLq;rX.response=CLq;rX.Route=kLq.Route;rX.Router=kLq;rX.json=Gp.json;rX.raw=Gp.raw;rX.static=SLq();rX.text=Gp.text;rX.urlencoded=Gp.urlencoded});var oLq=I((b$)=>{var YFK=b$&&b$.__createBinding||(Object.create?function(A,q,K,F){if(F===void 0)F=K;var Z=Object.getOwnPropertyDescriptor(q,K);if(!Z||("get"in Z?!q.__esModule:Z.writable||Z.configurable))Z={enumerable:!0,get:function(){return q[K]}};Object.defineProperty(A,F,Z)}:function(A,q,K,F){if(F===void 0)F=K;A[F]=q[K]}),QFK=b$&&b$.__setModuleDefault||(Object.create?function(A,q){Object.defineProperty(A,"default",{enumerable:!0,value:q})}:function(A,q){A.default=q}),mLq=b$&&b$.__importStar||function(A){if(A&&A.__esModule)return A;var q={};if(A!=null){for(var K in A)if(K!=="default"&&Object.prototype.hasOwnProperty.call(A,K))YFK(q,A,K)}return QFK(q,A),q},jp=b$&&b$.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(b$,"__esModule",{value:!0});b$.buildBodyParserMiddleware=b$.verifySignatureAndParseBody=b$.verifySignatureAndParseRawBody=b$.respondToUrlVerification=b$.respondToSslCheck=void 0;var XFK=jp(EA("crypto")),GFK=EA("http"),jFK=EA("https"),gFK=jp(EA("querystring")),cLq=U9(),HFK=kD(),uLq=mLq(yLq()),EFK=jp(Pm()),JFK=jp(Nm()),sg=xY(),Sz=mLq(iD()),WFK=wm(),xFK=Dm(),VFK=["ALPNProtocols","clientCertEngine","enableTrace","handshakeTimeout","rejectUnauthorized","requestCert","sessionTimeout","SNICallback","ticketKeys","pskCallback","pskIdentityHint","ca","cert","sigalgs","ciphers","clientCertEngine","crl","dhparam","ecdhCurve","honorCipherOrder","key","privateKeyEngine","privateKeyIdentifier","maxVersion","minVersion","passphrase","pfx","secureOptions","secureProtocol","sessionIdContext"],NjA="The receiver cannot be started because private state was mutated. Please report this to the maintainers.",LFK=(A,q,K)=>{if(A.body?.ssl_check){q.send();return}K()};b$.respondToSslCheck=LFK;var OFK=(A,q,K)=>{if(A.body?.type&&A.body.type==="url_verification"){q.json({challenge:A.body.challenge});return}K()};b$.respondToUrlVerification=OFK;class pLq{app;server;bolt;logger;processBeforeResponse;signatureVerification;router;installer=void 0;installerOptions;customPropertiesExtractor;dispatchErrorHandler;processEventErrorHandler;unhandledRequestHandler;unhandledRequestTimeoutMillis;constructor({signingSecret:A="",logger:q=void 0,logLevel:K=cLq.LogLevel.INFO,endpoints:F={events:"/slack/events"},processBeforeResponse:Z=!1,signatureVerification:$=!0,clientId:U=void 0,clientSecret:Y=void 0,stateSecret:X=void 0,redirectUri:j=void 0,installationStore:g=void 0,scopes:E=void 0,installerOptions:J={},app:W=void 0,router:L=void 0,customPropertiesExtractor:M=(f)=>({}),dispatchErrorHandler:O=Sz.defaultAsyncDispatchErrorHandler,processEventErrorHandler:B=Sz.defaultProcessEventErrorHandler,unhandledRequestHandler:T=Sz.defaultUnhandledRequestHandler,unhandledRequestTimeoutMillis:R=3001}){if(this.app=W!==void 0?W:(0,uLq.default)(),typeof q<"u")this.logger=q;else this.logger=new cLq.ConsoleLogger,this.logger.setLevel(K);this.signatureVerification=$;let y=[this.signatureVerification?iLq(this.logger,A):aLq(this.logger),b$.respondToSslCheck,b$.respondToUrlVerification,this.requestHandler.bind(this)];this.processBeforeResponse=Z;let d=typeof F==="string"?[F]:Object.values(F);this.router=L!==void 0?L:(0,uLq.Router)();for(let o of d)this.router.post(o,...y);if(this.customPropertiesExtractor=M,this.dispatchErrorHandler=O,this.processEventErrorHandler=B,this.unhandledRequestHandler=T,this.unhandledRequestTimeoutMillis=R,(0,xFK.verifyRedirectOpts)({redirectUri:j,redirectUriPath:J.redirectUriPath}),U!==void 0&&Y!==void 0&&(J.stateVerification===!1||X!==void 0||J.stateStore!==void 0))this.installer=new HFK.InstallProvider({clientId:U,clientSecret:Y,stateSecret:X,installationStore:g,logLevel:K,logger:q,directInstall:J.directInstall,stateStore:J.stateStore,stateVerification:J.stateVerification,legacyStateVerification:J.legacyStateVerification,stateCookieName:J.stateCookieName,stateCookieExpirationSeconds:J.stateCookieExpirationSeconds,renderHtmlForInstallPath:J.renderHtmlForInstallPath,authVersion:J.authVersion??"v2",clientOptions:J.clientOptions,authorizationUrl:J.authorizationUrl});let i={metadata:J.metadata,scopes:E??[],userScopes:J.userScopes,redirectUri:j};if(this.installer!==void 0){let{installer:o}=this,a=J.redirectUriPath===void 0?"/slack/oauth_redirect":J.redirectUriPath,{callbackOptions:KA,stateVerification:gA}=J;this.router.use(a,async(qq,BA)=>{try{if(gA===!1)await o.handleCallback(qq,BA,KA,i);else await o.handleCallback(qq,BA,KA)}catch(NA){await this.dispatchErrorHandler({error:NA,logger:this.logger,request:qq,response:BA})}});let PA=J.installPath===void 0?"/slack/install":J.installPath,{installPathOptions:mA}=J;this.router.get(PA,async(qq,BA,NA)=>{try{try{await o.handleInstallPath(qq,BA,mA,i)}catch(t){NA(t)}}catch(t){await this.dispatchErrorHandler({error:t,logger:this.logger,request:qq,response:BA})}})}this.app.use(this.router)}async requestHandler(A,q){let K=new WFK.HTTPResponseAck({logger:this.logger,processBeforeResponse:this.processBeforeResponse,unhandledRequestHandler:this.unhandledRequestHandler,unhandledRequestTimeoutMillis:this.unhandledRequestTimeoutMillis,httpRequest:A,httpRequestBody:A.body,httpResponse:q}),F={body:A.body,ack:K.bind(),retryNum:Sz.extractRetryNumFromHTTPRequest(A),retryReason:Sz.extractRetryReasonFromHTTPRequest(A),customProperties:this.customPropertiesExtractor(A)};try{if(await this.bolt?.processEvent(F),K.storedResponse!==void 0)Sz.buildContentResponse(q,K.storedResponse),this.logger.debug("stored response sent")}catch(Z){if(await this.processEventErrorHandler({error:Z,logger:this.logger,request:A,response:q,storedResponse:K.storedResponse}))K.ack()}}init(A){this.bolt=A}start(A,q={}){let K=GFK.createServer;if(Object.keys(q).filter((F)=>VFK.includes(F)).length>0)K=jFK.createServer;if(this.server!==void 0)return Promise.reject(new sg.ReceiverInconsistentStateError("The receiver cannot be started because it was already started."));return this.server=K(q,this.app),new Promise((F,Z)=>{if(this.server===void 0)throw new sg.ReceiverInconsistentStateError(NjA);this.server.on("error",($)=>{if(this.server===void 0)throw new sg.ReceiverInconsistentStateError(NjA);this.server.close(),Z($)}),this.server.on("close",()=>{this.server=void 0}),this.server.listen(A,()=>{if(this.server===void 0)return Z(new sg.ReceiverInconsistentStateError(NjA));return F(this.server)})})}stop(){if(this.server===void 0)return Promise.reject(new sg.ReceiverInconsistentStateError("The receiver cannot be stopped because it was not started."));return new Promise((A,q)=>{this.server?.close((K)=>{if(K!==void 0)return q(K);return this.server=void 0,A()})})}}b$.default=pLq;function MFK(A,q){return iLq(A,q)}b$.verifySignatureAndParseRawBody=MFK;function iLq(A,q){return async(K,F,Z)=>{let $=await nLq(K);try{K.body=lLq(typeof q==="string"?q:await q(),$,K.headers)}catch(U){if(U){if(U instanceof sg.ReceiverAuthenticityError){_jA(A,"Request verification failed",U),F.status(401).send();return}_jA(A,"Parsing request body failed",U),F.status(400).send();return}}Z()}}function _jA(A,q,K){let F="code"in K?`${q} (code: ${K.code}, message: ${K.message})`:`${q} (error: ${K})`;A.warn(F)}function zFK(A,q,K,F){if(K===void 0||F===void 0)throw new sg.ReceiverAuthenticityError("Slack request signing verification failed. Some headers are missing.");let Z=Number(F);if(Number.isNaN(Z))throw new sg.ReceiverAuthenticityError("Slack request signing verification failed. Timestamp is invalid.");let $=Math.floor(Date.now()/1000)-300;if(Z<$)throw new sg.ReceiverAuthenticityError("Slack request signing verification failed. Timestamp is too old.");let U=XFK.default.createHmac("sha256",A),[Y,X]=K.split("=");if(U.update(`${Y}:${Z}:${q}`),!(0,JFK.default)(X,U.digest("hex")))throw new sg.ReceiverAuthenticityError("Slack request signing verification failed. Signature mismatch.")}function lLq(A,q,K){let{"x-slack-signature":F,"x-slack-request-timestamp":Z,"content-type":$}=K;return zFK(A,q,F,Z),dLq(q,$)}b$.verifySignatureAndParseBody=lLq;function aLq(A){return async(q,K,F)=>{let Z=await nLq(q);try{let{"content-type":$}=q.headers;q.body=dLq(Z,$)}catch($){if($){_jA(A,"Parsing request body failed",$),K.status(400).send();return}}F()}}b$.buildBodyParserMiddleware=aLq;function dLq(A,q){if(q==="application/x-www-form-urlencoded"){let K=gFK.default.parse(A);if(typeof K.payload==="string")return JSON.parse(K.payload);return K}return JSON.parse(A)}async function nLq(A){if("rawBody"in A&&A.rawBody)return Promise.resolve(A.rawBody.toString());return(await(0,EFK.default)(A)).toString()}});var A2q=I((tLq)=>{Object.defineProperty(tLq,"__esModule",{value:!0});tLq.DefaultThreadContextStore=void 0;var sLq=wjA();class rLq{context={};async get(A){let{context:q,client:K,payload:F,logger:Z}=A;if(Z.debug("DefaultAssistantThreadStore: get method called"),this.context.channel_id)return this.context;let{channelId:$,threadTs:U}=(0,sLq.extractThreadInfo)(F),Y=await K.conversations.replies({channel:$,ts:U,oldest:U,include_all_metadata:!0,limit:4});if(!Y.messages)return{};let X=Y.messages.find((g)=>!("subtype"in g)&&g.user===q.botUserId);return(X?.metadata?X.metadata.event_payload:null)||{}}async save(A){let{context:q,client:K,payload:F,logger:Z}=A,{channelId:$,threadTs:U,context:Y}=(0,sLq.extractThreadInfo)(F);Z.debug("DefaultAssistantThreadStore: save method called");let X=await K.conversations.replies({channel:$,ts:U,oldest:U,include_all_metadata:!0,limit:4});if(!X.messages)return;let j=X.messages.find((g)=>!("subtype"in g)&&g.user===q.botUserId);if(j?.ts){let g={channel:$,ts:j.ts,text:j.text,blocks:j.blocks?j.blocks:[],metadata:{event_type:"assistant_thread_context",event_payload:Y}};await K.chat.update(g)}this.context=Y}}tLq.DefaultThreadContextStore=rLq});var wjA=I((mU)=>{var IFK=mU&&mU.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(mU,"__esModule",{value:!0});mU.extractThreadInfo=mU.processAssistantMiddleware=mU.validate=mU.isAssistantMessage=mU.matchesConstraints=mU.isAssistantEvent=mU.enrichAssistantArgs=mU.Assistant=void 0;var PFK=A2q(),q2q=c0A(),O5=xY(),gp=_u(),NFK=IFK(wu()),_FK=new Set(["assistant_thread_started","assistant_thread_context_changed","message"]);class K2q{threadContextStore;threadStarted;threadContextChanged;userMessage;constructor(A){Y2q(A);let{threadContextStore:q=new PFK.DefaultThreadContextStore,threadStarted:K,threadContextChanged:F=($)=>q.save($),userMessage:Z}=A;this.threadContextStore=q,this.threadStarted=Array.isArray(K)?K:[K],this.threadContextChanged=Array.isArray(F)?F:[F],this.userMessage=Array.isArray(Z)?Z:[Z]}getMiddleware(){return async(A)=>{if(Z2q(A)&&$2q(A))return this.processEvent(A);return A.next()}}async processEvent(A){let{payload:q}=A,K=F2q(this.threadContextStore,A),F=this.getAssistantMiddleware(q);return Q2q(K,F)}getAssistantMiddleware(A){switch(A.type){case"assistant_thread_started":return this.threadStarted;case"assistant_thread_context_changed":return this.threadContextChanged;case"message":return this.userMessage;default:return[]}}}mU.Assistant=K2q;function F2q(A,q){let{next:K,...F}=q,Z={...F};return Z.getThreadContext=()=>A.get(q),Z.saveThreadContext=()=>A.save(q),Z.say=wFK(Z),Z.sayStream=BFK(Z),Z.setStatus=DFK(Z),Z.setSuggestedPrompts=RFK(Z),Z.setTitle=TFK(Z),Z}mU.enrichAssistantArgs=F2q;function Z2q(A){return _FK.has(A.payload.type)}mU.isAssistantEvent=Z2q;function $2q(A){return A.payload.type==="message"?U2q(A.payload):!0}mU.matchesConstraints=$2q;function U2q(A){let q="channel"in A&&"thread_ts"in A,K="channel_type"in A&&A.channel_type==="im"&&(!("subtype"in A)||A.subtype==="file_share"||A.subtype===void 0);return q&&K}mU.isAssistantMessage=U2q;function Y2q(A){if(typeof A!=="object")throw new O5.AssistantInitializationError("Assistant expects a configuration object as the argument");let q=["threadStarted","userMessage"],K=[];for(let Z of q)if(A[Z]===void 0)K.push(Z);if(K.length>0){let Z=`Assistant is missing required keys: ${K.join(", ")}`;throw new O5.AssistantInitializationError(Z)}let F=["threadStarted","userMessage"];if("threadContextChanged"in A)F.push("threadContextChanged");for(let Z of F)if(typeof A[Z]!=="function"&&!Array.isArray(A[Z])){let $=`Assistant ${Z} property must be a function or an array of functions`;throw new O5.AssistantInitializationError($)}if(A.threadContextStore){if(typeof A.threadContextStore!=="object")throw new O5.AssistantInitializationError("Assistant expects threadContextStore to be a configuration object");let Z=["get","save"],$=[];for(let Y of Z)if(A.threadContextStore&&A.threadContextStore[Y]===void 0)$.push(Y);if($.length>0){let Y=`threadContextStore is missing required keys: ${$.join(", ")}`;throw new O5.AssistantInitializationError(Y)}let U=["get","save"];for(let Y of U)if(A.threadContextStore&&typeof A.threadContextStore[Y]!=="function"){let X=`threadContextStore ${Y} property must be a function`;throw new O5.AssistantInitializationError(X)}}}mU.validate=Y2q;async function Q2q(A,q){let{context:K,client:F,logger:Z}=A,$=[...q],U=$.pop();if(U!==void 0)await(0,NFK.default)($,A,K,F,Z,async()=>U({...A,context:K,client:F,logger:Z}))}mU.processAssistantMiddleware=Q2q;function wFK(A){let{client:q,payload:K}=A,{channelId:F,threadTs:Z,context:$}=bz(K);return async(U)=>{let Y=$.channel_id?$:await A.getThreadContext(),X=typeof U==="string"?{text:U,channel:F,thread_ts:Z}:{...U,channel:F,thread_ts:Z};if(Y||X.metadata)X.metadata={event_type:X.metadata?.event_type??"assistant_thread_context",event_payload:{...Y,...X.metadata?.event_payload??{}}};return q.chat.postMessage(X)}}function BFK(A){let{client:q,context:K,payload:F}=A,{channelId:Z,threadTs:$}=bz(F);return(0,q2q.createSayStream)(q,K,Z,$)}function DFK(A){let{client:q,payload:K}=A,{channelId:F,threadTs:Z}=bz(K);return(0,q2q.createSetStatus)(q,F,Z)}function RFK(A){let{client:q,payload:K}=A,{channelId:F,threadTs:Z}=bz(K);return($)=>{let{prompts:U,title:Y}=$;return q.assistant.threads.setSuggestedPrompts({channel_id:F,thread_ts:Z,prompts:U,title:Y})}}function TFK(A){let{client:q,payload:K}=A,{channelId:F,threadTs:Z}=bz(K);return($)=>q.assistant.threads.setTitle({channel_id:F,thread_ts:Z,title:$})}function bz(A){let q={};if("assistant_thread"in A&&(0,gp.isRecord)(A.assistant_thread)){if((0,gp.isRecord)(A.assistant_thread.context))q=A.assistant_thread.context}let K=(0,gp.extractEventChannelId)(A),F=(0,gp.extractEventThreadTs)(A);if(!K||!F){let Z=[];if(!K)Z.push("channel_id");if(!F)Z.push("thread_ts");throw new O5.AssistantMissingPropertyError(`Assistant message event is missing required properties: ${Z.join(", ")}`)}return{channelId:K,threadTs:F,context:q}}mU.extractThreadInfo=bz});var E2q=I((t0)=>{var SFK=t0&&t0.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t0,"__esModule",{value:!0});t0.prepareStepArgs=t0.isStepEvent=t0.processStepMiddleware=t0.validate=t0.WorkflowStep=void 0;var Hp=xY(),bFK=SFK(wu()),vFK=new Set(["workflow_step_edit","workflow_step","workflow_step_execute"]);class X2q{callbackId;edit;save;execute;constructor(A,q){G2q(A,q);let{save:K,edit:F,execute:Z}=q;this.callbackId=A,this.save=Array.isArray(K)?K:[K],this.edit=Array.isArray(F)?F:[F],this.execute=Array.isArray(Z)?Z:[Z]}getMiddleware(){return async(A)=>{if(g2q(A)&&this.matchesConstraints(A))return this.processEvent(A);return A.next()}}matchesConstraints(A){return A.payload.callback_id===this.callbackId}async processEvent(A){let{payload:q}=A,K=H2q(A),F=this.getStepMiddleware(q);return j2q(K,F)}getStepMiddleware(A){switch(A.type){case"workflow_step_edit":return this.edit;case"workflow_step":return this.save;case"workflow_step_execute":return this.execute;default:return[]}}}t0.WorkflowStep=X2q;function G2q(A,q){if(typeof A!=="string")throw new Hp.WorkflowStepInitializationError("WorkflowStep expects a callback_id as the first argument");if(typeof q!=="object")throw new Hp.WorkflowStepInitializationError("WorkflowStep expects a configuration object as the second argument");let K=["save","edit","execute"],F=[];for(let $ of K)if(q[$]===void 0)F.push($);if(F.length>0){let $=`WorkflowStep is missing required keys: ${F.join(", ")}`;throw new Hp.WorkflowStepInitializationError($)}let Z=["save","edit","execute"];for(let $ of Z)if(typeof q[$]!=="function"&&!Array.isArray(q[$])){let U=`WorkflowStep ${$} property must be a function or an array of functions`;throw new Hp.WorkflowStepInitializationError(U)}}t0.validate=G2q;async function j2q(A,q){let{context:K,client:F,logger:Z}=A,$=[...q],U=$.pop();if(U!==void 0)await(0,bFK.default)($,A,K,F,Z,async()=>U({...A,context:K,client:F,logger:Z}))}t0.processStepMiddleware=j2q;function g2q(A){return vFK.has(A.payload.type)}t0.isStepEvent=g2q;function Ep(A){return A.botToken!==void 0?A.botToken:A.userToken}function kFK(A){let{context:q,client:K,body:{callback_id:F,trigger_id:Z}}=A,$=Ep(q);return(U)=>K.views.open({token:$,trigger_id:Z,view:{callback_id:F,type:"workflow_step",...U}})}function fFK(A){let{context:q,client:K,body:{workflow_step:{workflow_step_edit_id:F}}}=A,Z=Ep(q);return($={})=>K.workflows.updateStep({token:Z,workflow_step_edit_id:F,...$})}function CFK(A){let{context:q,client:K,payload:{workflow_step:{workflow_step_execute_id:F}}}=A,Z=Ep(q);return($={})=>K.workflows.stepCompleted({token:Z,workflow_step_execute_id:F,...$})}function hFK(A){let{context:q,client:K,payload:{workflow_step:{workflow_step_execute_id:F}}}=A,Z=Ep(q);return($)=>{let{error:U}=$;return K.workflows.stepFailed({token:Z,workflow_step_execute_id:F,error:U})}}function H2q(A){let{next:q,...K}=A,F={...K};switch(F.payload.type){case"workflow_step_edit":F.step=F.action.workflow_step,F.configure=kFK(F);break;case"workflow_step":F.step=F.body.workflow_step,F.update=fFK(F);break;case"workflow_step_execute":F.step=F.event.workflow_step,F.complete=CFK(F),F.fail=hFK(F);break;default:break}return F}t0.prepareStepArgs=H2q});var L2q=I((EK)=>{var J2q=EK&&EK.__createBinding||(Object.create?function(A,q,K,F){if(F===void 0)F=K;var Z=Object.getOwnPropertyDescriptor(q,K);if(!Z||("get"in Z?!q.__esModule:Z.writable||Z.configurable))Z={enumerable:!0,get:function(){return q[K]}};Object.defineProperty(A,F,Z)}:function(A,q,K,F){if(F===void 0)F=K;A[F]=q[K]}),yFK=EK&&EK.__setModuleDefault||(Object.create?function(A,q){Object.defineProperty(A,"default",{enumerable:!0,value:q})}:function(A,q){A.default=q}),BjA=EK&&EK.__importStar||function(A){if(A&&A.__esModule)return A;var q={};if(A!=null){for(var K in A)if(K!=="default"&&Object.prototype.hasOwnProperty.call(A,K))J2q(q,A,K)}return yFK(q,A),q},DjA=EK&&EK.__exportStar||function(A,q){for(var K in A)if(K!=="default"&&!Object.prototype.hasOwnProperty.call(q,K))J2q(q,A,K)},LR=EK&&EK.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(EK,"__esModule",{value:!0});EK.webApi=EK.types=EK.FileInstallationStore=EK.MemoryInstallationStore=EK.WorkflowStep=EK.Assistant=EK.buildReceiverRoutes=EK.MemoryStore=EK.defaultProcessEventErrorHandler=EK.HTTPResponseAck=EK.HTTPModuleFunctions=EK.AwsLambdaReceiver=EK.HTTPReceiver=EK.SocketModeReceiver=EK.ExpressReceiver=EK.isValidSlackRequest=EK.verifySlackRequest=EK.App=EK.LogLevel=void 0;var W2q=LR(LGA());EK.App=W2q.default;var cFK=LGA();Object.defineProperty(EK,"LogLevel",{enumerable:!0,get:function(){return cFK.LogLevel}});EK.default=W2q.default;var x2q=lXA();Object.defineProperty(EK,"verifySlackRequest",{enumerable:!0,get:function(){return x2q.verifySlackRequest}});Object.defineProperty(EK,"isValidSlackRequest",{enumerable:!0,get:function(){return x2q.isValidSlackRequest}});var uFK=LR(yWq());EK.AwsLambdaReceiver=uFK.default;var mFK=LR(oLq());EK.ExpressReceiver=mFK.default;var pFK=LR(dXA());EK.HTTPReceiver=pFK.default;var iFK=LR(HGA());EK.SocketModeReceiver=iFK.default;EK.HTTPModuleFunctions=BjA(iD());var lFK=wm();Object.defineProperty(EK,"HTTPResponseAck",{enumerable:!0,get:function(){return lFK.HTTPResponseAck}});var aFK=gGA();Object.defineProperty(EK,"defaultProcessEventErrorHandler",{enumerable:!0,get:function(){return aFK.defaultProcessEventErrorHandler}});DjA(xY(),EK);DjA(Nu(),EK);DjA(JGA(),EK);var dFK=u0A();Object.defineProperty(EK,"MemoryStore",{enumerable:!0,get:function(){return dFK.MemoryStore}});var nFK=Bm();Object.defineProperty(EK,"buildReceiverRoutes",{enumerable:!0,get:function(){return nFK.buildReceiverRoutes}});var oFK=wjA();Object.defineProperty(EK,"Assistant",{enumerable:!0,get:function(){return oFK.Assistant}});var sFK=E2q();Object.defineProperty(EK,"WorkflowStep",{enumerable:!0,get:function(){return sFK.WorkflowStep}});var V2q=kD();Object.defineProperty(EK,"MemoryInstallationStore",{enumerable:!0,get:function(){return V2q.MemoryInstallationStore}});Object.defineProperty(EK,"FileInstallationStore",{enumerable:!0,get:function(){return V2q.FileInstallationStore}});EK.types=BjA(jD());EK.webApi=BjA(k0A())});var cgA={name:"@interactive-inc/claude-funnel",version:"0.15.1",description:"Hub CLI that routes external events (Slack / GitHub / Discord) to Claude Code agents through subscription channels over MCP.",keywords:["bun","claude","claude-code","cli","discord","github","mcp","slack"],homepage:"https://github.com/interactive-inc/open-claude-funnel#readme",bugs:{url:"https://github.com/interactive-inc/open-claude-funnel/issues"},license:"MIT",author:"Interactive Inc.",repository:{type:"git",url:"git+https://github.com/interactive-inc/open-claude-funnel.git"},bin:{fnl:"./dist/bin.js",funnel:"./dist/bin.js"},files:["dist/**/*","schemas/**/*","README.md","LICENSE"],type:"module",main:"./dist/index.js",module:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",default:"./dist/index.js"},"./connectors/slack":{types:"./dist/connectors/slack.d.ts",import:"./dist/connectors/slack.js",default:"./dist/connectors/slack.js"},"./connectors/discord":{types:"./dist/connectors/discord.d.ts",import:"./dist/connectors/discord.js",default:"./dist/connectors/discord.js"},"./connectors/gh":{types:"./dist/connectors/gh.d.ts",import:"./dist/connectors/gh.js",default:"./dist/connectors/gh.js"},"./connectors/schedule":{types:"./dist/connectors/schedule.d.ts",import:"./dist/connectors/schedule.js",default:"./dist/connectors/schedule.js"},"./bin":"./dist/bin.js","./package.json":"./package.json"},publishConfig:{access:"public"},dependencies:{"@hono/zod-validator":"^0.8.0","@modelcontextprotocol/sdk":"^1.29.0","@opentui/core":"^0.2.12","@opentui/react":"^0.2.12","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","discord.js":"^14.26.4",hono:"^4.12.19",react:"^19.2.6",yaml:"^2.9.0",zod:"^4.4.3"},devDependencies:{"@types/bun":"^1.3.14","@types/react":"^19.2.14","@typescript/native-preview":"^7.0.0-dev.20260516.1","vite-plus":"^0.1.21",vitest:"^4.1.6"},engines:{bun:">=1.3.0"}};var aK=class extends Error{res;status;constructor(A=500,q){super(q?.message,{cause:q?.cause});this.res=q?.res,this.status=A}getResponse(){if(this.res)return new Response(this.res.body,{status:this.status,headers:this.res.headers});return new Response(this.message,{status:this.status})}};var p={};hG(p,{xor:()=>VHA,xid:()=>u4A,void:()=>gHA,uuidv7:()=>b4A,uuidv6:()=>S4A,uuidv4:()=>T4A,uuid:()=>R4A,util:()=>nq,url:()=>v4A,uppercase:()=>oL,unknown:()=>Yx,union:()=>Lb,undefined:()=>GHA,ulid:()=>c4A,uint64:()=>QHA,uint32:()=>$HA,tuple:()=>Ks,trim:()=>q2,treeifyError:()=>li,transform:()=>Mb,toUpperCase:()=>F2,toLowerCase:()=>K2,toJSONSchema:()=>aS,templateLiteral:()=>SHA,symbol:()=>XHA,superRefine:()=>Rs,success:()=>BHA,stringbool:()=>cHA,stringFormat:()=>t4A,string:()=>SP,strictObject:()=>WHA,startsWith:()=>rL,slugify:()=>Z2,size:()=>Zx,setErrorMap:()=>yzq,set:()=>IHA,safeParseAsync:()=>Do,safeParse:()=>Bo,safeEncodeAsync:()=>fo,safeEncode:()=>vo,safeDecodeAsync:()=>Co,safeDecode:()=>ko,registry:()=>xS,regexes:()=>J8,regex:()=>dL,refine:()=>Ds,record:()=>Fs,readonly:()=>Is,property:()=>mS,promise:()=>bHA,prettifyError:()=>ai,preprocess:()=>mHA,prefault:()=>Js,positive:()=>hS,pipe:()=>eS,partialRecord:()=>OHA,parseAsync:()=>wo,parse:()=>_o,overwrite:()=>yG,optional:()=>vP,object:()=>JHA,number:()=>yo,nullish:()=>wHA,nullable:()=>kP,null:()=>io,normalize:()=>A2,nonpositive:()=>cS,nonoptional:()=>Ws,nonnegative:()=>uS,never:()=>Vb,negative:()=>yS,nativeEnum:()=>PHA,nanoid:()=>C4A,nan:()=>DHA,multipleOf:()=>HE,minSize:()=>Gg,minLength:()=>r4,mime:()=>eL,meta:()=>hHA,maxSize:()=>EE,maxLength:()=>$x,map:()=>zHA,mac:()=>i4A,lte:()=>W8,lt:()=>Qg,lowercase:()=>nL,looseRecord:()=>MHA,looseObject:()=>xHA,locales:()=>BP,literal:()=>NHA,length:()=>Ux,lazy:()=>_s,ksuid:()=>m4A,keyof:()=>EHA,jwt:()=>r4A,json:()=>uHA,iso:()=>Y2,ipv6:()=>l4A,ipv4:()=>p4A,invertCodec:()=>THA,intersection:()=>As,int64:()=>YHA,int32:()=>ZHA,int:()=>tS,instanceof:()=>yHA,includes:()=>sL,httpUrl:()=>k4A,hostname:()=>e4A,hex:()=>AHA,hash:()=>qHA,guid:()=>D4A,gte:()=>_Q,gt:()=>Xg,globalRegistry:()=>o9,getErrorMap:()=>czq,function:()=>vHA,fromJSONSchema:()=>iHA,formatError:()=>xP,float64:()=>FHA,float32:()=>KHA,flattenError:()=>WP,file:()=>_HA,exactOptional:()=>Gs,enum:()=>Ob,endsWith:()=>tL,encodeAsync:()=>So,encode:()=>Ro,emoji:()=>f4A,email:()=>B4A,e164:()=>s4A,discriminatedUnion:()=>LHA,describe:()=>CHA,decodeAsync:()=>bo,decode:()=>To,date:()=>HHA,custom:()=>fHA,cuid2:()=>y4A,cuid:()=>h4A,core:()=>t4,config:()=>d$,coerce:()=>Ss,codec:()=>RHA,clone:()=>PQ,cidrv6:()=>d4A,cidrv4:()=>a4A,check:()=>kHA,catch:()=>Ls,boolean:()=>co,bigint:()=>UHA,base64url:()=>o4A,base64:()=>n4A,array:()=>yP,any:()=>jHA,_function:()=>vHA,_default:()=>Hs,_ZodString:()=>Ab,ZodXor:()=>ro,ZodXID:()=>Yb,ZodVoid:()=>oo,ZodUnknown:()=>ao,ZodUnion:()=>uP,ZodUndefined:()=>mo,ZodUUID:()=>jg,ZodURL:()=>CP,ZodULID:()=>Ub,ZodType:()=>FF,ZodTuple:()=>qs,ZodTransform:()=>Qs,ZodTemplateLiteral:()=>Ps,ZodSymbol:()=>uo,ZodSuccess:()=>xs,ZodStringFormat:()=>o1,ZodString:()=>G2,ZodSet:()=>$s,ZodRecord:()=>Q2,ZodRealError:()=>I0,ZodReadonly:()=>zs,ZodPromise:()=>ws,ZodPreprocess:()=>Ms,ZodPrefault:()=>Es,ZodPipe:()=>mP,ZodOptional:()=>zb,ZodObject:()=>cP,ZodNumberFormat:()=>Qx,ZodNumber:()=>g2,ZodNullable:()=>js,ZodNull:()=>po,ZodNonOptional:()=>Ib,ZodNever:()=>no,ZodNanoID:()=>Fb,ZodNaN:()=>Os,ZodMap:()=>Zs,ZodMAC:()=>ho,ZodLiteral:()=>Us,ZodLazy:()=>Ns,ZodKSUID:()=>Qb,ZodJWT:()=>Wb,ZodIssueCode:()=>hzq,ZodIntersection:()=>eo,ZodISOTime:()=>sS,ZodISODuration:()=>rS,ZodISODateTime:()=>nS,ZodISODate:()=>oS,ZodIPv6:()=>Gb,ZodIPv4:()=>Xb,ZodGUID:()=>bP,ZodFunction:()=>Bs,ZodFirstPartyTypeKind:()=>Ts,ZodFile:()=>Ys,ZodExactOptional:()=>Xs,ZodError:()=>fzq,ZodEnum:()=>X2,ZodEmoji:()=>Kb,ZodEmail:()=>qb,ZodE164:()=>Jb,ZodDiscriminatedUnion:()=>to,ZodDefault:()=>gs,ZodDate:()=>hP,ZodCustomStringFormat:()=>j2,ZodCustom:()=>iP,ZodCodec:()=>pP,ZodCatch:()=>Vs,ZodCUID2:()=>$b,ZodCUID:()=>Zb,ZodCIDRv6:()=>gb,ZodCIDRv4:()=>jb,ZodBoolean:()=>H2,ZodBigIntFormat:()=>xb,ZodBigInt:()=>E2,ZodBase64URL:()=>Eb,ZodBase64:()=>Hb,ZodArray:()=>so,ZodAny:()=>lo,TimePrecision:()=>An,NEVER:()=>bi,$output:()=>nd,$input:()=>od,$brand:()=>vi});var t4={};hG(t4,{version:()=>ml,util:()=>nq,treeifyError:()=>li,toJSONSchema:()=>aS,toDotPath:()=>dgA,safeParseAsync:()=>ni,safeParse:()=>di,safeEncodeAsync:()=>hOq,safeEncode:()=>fOq,safeDecodeAsync:()=>yOq,safeDecode:()=>COq,registry:()=>xS,regexes:()=>J8,process:()=>B1,prettifyError:()=>ai,parseAsync:()=>oT,parse:()=>nT,meta:()=>vn,locales:()=>BP,isValidJWT:()=>J4A,isValidBase64URL:()=>E4A,isValidBase64:()=>Ga,initializeContext:()=>JE,globalRegistry:()=>o9,globalConfig:()=>eW,formatError:()=>xP,flattenError:()=>WP,finalize:()=>xE,extractDefs:()=>WE,encodeAsync:()=>vOq,encode:()=>SOq,describe:()=>bn,decodeAsync:()=>kOq,decode:()=>bOq,createToJSONSchemaMethod:()=>fn,createStandardJSONSchemaMethod:()=>U2,config:()=>d$,clone:()=>PQ,_xor:()=>gzq,_xid:()=>BS,_void:()=>Pn,_uuidv7:()=>zS,_uuidv6:()=>MS,_uuidv4:()=>OS,_uuid:()=>LS,_url:()=>RP,_uppercase:()=>oL,_unknown:()=>zn,_union:()=>jzq,_undefined:()=>Ln,_ulid:()=>wS,_uint64:()=>xn,_uint32:()=>jn,_tuple:()=>Jzq,_trim:()=>q2,_transform:()=>zzq,_toUpperCase:()=>F2,_toLowerCase:()=>K2,_templateLiteral:()=>Tzq,_symbol:()=>Vn,_superRefine:()=>Sn,_success:()=>wzq,_stringbool:()=>kn,_stringFormat:()=>$2,_string:()=>rd,_startsWith:()=>rL,_slugify:()=>Z2,_size:()=>Zx,_set:()=>Vzq,_safeParseAsync:()=>iL,_safeParse:()=>pL,_safeEncodeAsync:()=>KS,_safeEncode:()=>AS,_safeDecodeAsync:()=>FS,_safeDecode:()=>qS,_regex:()=>dL,_refine:()=>Tn,_record:()=>Wzq,_readonly:()=>Rzq,_property:()=>mS,_promise:()=>bzq,_positive:()=>hS,_pipe:()=>Dzq,_parseAsync:()=>mL,_parse:()=>uL,_overwrite:()=>yG,_optional:()=>Izq,_number:()=>$n,_nullable:()=>Pzq,_null:()=>On,_normalize:()=>A2,_nonpositive:()=>cS,_nonoptional:()=>_zq,_nonnegative:()=>uS,_never:()=>In,_negative:()=>yS,_nativeEnum:()=>Ozq,_nanoid:()=>PS,_nan:()=>wn,_multipleOf:()=>HE,_minSize:()=>Gg,_minLength:()=>r4,_min:()=>_Q,_mime:()=>eL,_maxSize:()=>EE,_maxLength:()=>$x,_max:()=>W8,_map:()=>xzq,_mac:()=>ed,_lte:()=>W8,_lt:()=>Qg,_lowercase:()=>nL,_literal:()=>Mzq,_length:()=>Ux,_lazy:()=>Szq,_ksuid:()=>DS,_jwt:()=>CS,_isoTime:()=>Fn,_isoDuration:()=>Zn,_isoDateTime:()=>qn,_isoDate:()=>Kn,_ipv6:()=>TS,_ipv4:()=>RS,_intersection:()=>Ezq,_int64:()=>Wn,_int32:()=>Gn,_int:()=>Yn,_includes:()=>sL,_guid:()=>DP,_gte:()=>_Q,_gt:()=>Xg,_float64:()=>Xn,_float32:()=>Qn,_file:()=>Dn,_enum:()=>Lzq,_endsWith:()=>tL,_encodeAsync:()=>tT,_encode:()=>sT,_emoji:()=>IS,_email:()=>VS,_e164:()=>fS,_discriminatedUnion:()=>Hzq,_default:()=>Nzq,_decodeAsync:()=>eT,_decode:()=>rT,_date:()=>Nn,_custom:()=>Rn,_cuid2:()=>_S,_cuid:()=>NS,_coercedString:()=>td,_coercedNumber:()=>Un,_coercedDate:()=>_n,_coercedBoolean:()=>Hn,_coercedBigint:()=>Jn,_cidrv6:()=>bS,_cidrv4:()=>SS,_check:()=>P4A,_catch:()=>Bzq,_boolean:()=>gn,_bigint:()=>En,_base64url:()=>kS,_base64:()=>vS,_array:()=>Bn,_any:()=>Mn,TimePrecision:()=>An,NEVER:()=>bi,JSONSchemaGenerator:()=>Mo,JSONSchema:()=>N4A,Doc:()=>YS,$output:()=>nd,$input:()=>od,$constructor:()=>aA,$brand:()=>vi,$ZodXor:()=>Ba,$ZodXID:()=>el,$ZodVoid:()=>Pa,$ZodUnknown:()=>za,$ZodUnion:()=>zP,$ZodUndefined:()=>La,$ZodUUID:()=>ll,$ZodURL:()=>dl,$ZodULID:()=>tl,$ZodType:()=>hK,$ZodTuple:()=>ES,$ZodTransform:()=>Ca,$ZodTemplateLiteral:()=>na,$ZodSymbol:()=>Va,$ZodSuccess:()=>pa,$ZodStringFormat:()=>n1,$ZodString:()=>Fx,$ZodSet:()=>ba,$ZodRegistry:()=>sd,$ZodRecord:()=>Ta,$ZodRealError:()=>z0,$ZodReadonly:()=>da,$ZodPromise:()=>sa,$ZodPreprocess:()=>aa,$ZodPrefault:()=>ua,$ZodPipe:()=>WS,$ZodOptional:()=>JS,$ZodObjectJIT:()=>wa,$ZodObject:()=>V4A,$ZodNumberFormat:()=>Wa,$ZodNumber:()=>gS,$ZodNullable:()=>ya,$ZodNull:()=>Oa,$ZodNonOptional:()=>ma,$ZodNever:()=>Ia,$ZodNanoID:()=>ol,$ZodNaN:()=>la,$ZodMap:()=>Sa,$ZodMAC:()=>Ya,$ZodLiteral:()=>ka,$ZodLazy:()=>ra,$ZodKSUID:()=>Aa,$ZodJWT:()=>Ea,$ZodIntersection:()=>Ra,$ZodISOTime:()=>Fa,$ZodISODuration:()=>Za,$ZodISODateTime:()=>qa,$ZodISODate:()=>Ka,$ZodIPv6:()=>Ua,$ZodIPv4:()=>$a,$ZodGUID:()=>il,$ZodFunction:()=>oa,$ZodFile:()=>fa,$ZodExactOptional:()=>ha,$ZodError:()=>JP,$ZodEnum:()=>va,$ZodEncodeError:()=>Ax,$ZodEmoji:()=>nl,$ZodEmail:()=>al,$ZodE164:()=>Ha,$ZodDiscriminatedUnion:()=>Da,$ZodDefault:()=>ca,$ZodDate:()=>Na,$ZodCustomStringFormat:()=>Ja,$ZodCustom:()=>ta,$ZodCodec:()=>IP,$ZodCheckUpperCase:()=>kl,$ZodCheckStringFormat:()=>lL,$ZodCheckStartsWith:()=>Cl,$ZodCheckSizeEquals:()=>Dl,$ZodCheckRegex:()=>bl,$ZodCheckProperty:()=>yl,$ZodCheckOverwrite:()=>ul,$ZodCheckNumberFormat:()=>Nl,$ZodCheckMultipleOf:()=>Pl,$ZodCheckMinSize:()=>Bl,$ZodCheckMinLength:()=>Tl,$ZodCheckMimeType:()=>cl,$ZodCheckMaxSize:()=>wl,$ZodCheckMaxLength:()=>Rl,$ZodCheckLowerCase:()=>vl,$ZodCheckLessThan:()=>$S,$ZodCheckLengthEquals:()=>Sl,$ZodCheckIncludes:()=>fl,$ZodCheckGreaterThan:()=>US,$ZodCheckEndsWith:()=>hl,$ZodCheckBigIntFormat:()=>_l,$ZodCheck:()=>QZ,$ZodCatch:()=>ia,$ZodCUID2:()=>rl,$ZodCUID:()=>sl,$ZodCIDRv6:()=>Xa,$ZodCIDRv4:()=>Qa,$ZodBoolean:()=>MP,$ZodBigIntFormat:()=>xa,$ZodBigInt:()=>HS,$ZodBase64URL:()=>ga,$ZodBase64:()=>ja,$ZodAsyncError:()=>Yg,$ZodArray:()=>_a,$ZodAny:()=>Ma});var ugA,bi=Object.freeze({status:"aborted"});function aA(A,q,K){function F(Y,X){if(!Y._zod)Object.defineProperty(Y,"_zod",{value:{def:X,constr:U,traits:new Set},enumerable:!1});if(Y._zod.traits.has(A))return;Y._zod.traits.add(A),q(Y,X);let j=U.prototype,g=Object.keys(j);for(let E=0;E<g.length;E++){let J=g[E];if(!(J in Y))Y[J]=j[J].bind(Y)}}let Z=K?.Parent??Object;class $ extends Z{}Object.defineProperty($,"name",{value:A});function U(Y){var X;let j=K?.Parent?new $:this;F(j,Y),(X=j._zod).deferred??(X.deferred=[]);for(let g of j._zod.deferred)g();return j}return Object.defineProperty(U,"init",{value:F}),Object.defineProperty(U,Symbol.hasInstance,{value:(Y)=>{if(K?.Parent&&Y instanceof K.Parent)return!0;return Y?._zod?.traits?.has(A)}}),Object.defineProperty(U,"name",{value:A}),U}var vi=Symbol("zod_brand");class Yg extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ax extends Error{constructor(A){super(`Encountered unidirectional transform during encode: ${A}`);this.name="ZodEncodeError"}}(ugA=globalThis).__zod_globalConfig??(ugA.__zod_globalConfig={});var eW=globalThis.__zod_globalConfig;function d$(A){if(A)Object.assign(eW,A);return eW}var nq={};hG(nq,{unwrapMessage:()=>XP,uint8ArrayToHex:()=>ROq,uint8ArrayToBase64url:()=>BOq,uint8ArrayToBase64:()=>igA,stringifyPrimitive:()=>mq,slugify:()=>Ci,shallowClone:()=>yi,safeExtend:()=>zOq,required:()=>NOq,randomString:()=>JOq,propertyKeyTypes:()=>gP,promiseAllObject:()=>EOq,primitiveTypes:()=>ci,prefixIssues:()=>M0,pick:()=>LOq,partial:()=>POq,parsedType:()=>aq,optionalKeys:()=>ui,omit:()=>OOq,objectClone:()=>jOq,numKeys:()=>WOq,nullish:()=>XE,normalizeParams:()=>rq,mergeDefs:()=>s4,merge:()=>IOq,jsonStringifyReplacer:()=>hL,joinValues:()=>Uq,issue:()=>cL,isPlainObject:()=>jE,isObject:()=>qx,hexToUint8Array:()=>DOq,getSizableOrigin:()=>HP,getParsedType:()=>xOq,getLengthableOrigin:()=>EP,getEnumValues:()=>GP,getElementAtPath:()=>HOq,floatSafeRemainder:()=>fi,finalizeIssue:()=>NQ,extend:()=>MOq,explicitlyAborted:()=>ii,escapeRegex:()=>VX,esc:()=>aT,defineLazy:()=>PF,createTransparentProxy:()=>VOq,cloneDef:()=>gOq,clone:()=>PQ,cleanRegex:()=>jP,cleanEnum:()=>_Oq,captureStackTrace:()=>dT,cached:()=>yL,base64urlToUint8Array:()=>wOq,base64ToUint8Array:()=>pgA,assignProp:()=>GE,assertNotEqual:()=>YOq,assertNever:()=>XOq,assertIs:()=>QOq,assertEqual:()=>UOq,assert:()=>GOq,allowsEval:()=>hi,aborted:()=>gE,NUMBER_FORMAT_RANGES:()=>mi,Class:()=>lgA,BIGINT_FORMAT_RANGES:()=>pi});function UOq(A){return A}function YOq(A){return A}function QOq(A){}function XOq(A){throw Error("Unexpected value in exhaustive check")}function GOq(A){}function GP(A){let q=Object.values(A).filter((F)=>typeof F==="number");return Object.entries(A).filter(([F,Z])=>q.indexOf(+F)===-1).map(([F,Z])=>Z)}function Uq(A,q="|"){return A.map((K)=>mq(K)).join(q)}function hL(A,q){if(typeof q==="bigint")return q.toString();return q}function yL(A){return{get value(){{let K=A();return Object.defineProperty(this,"value",{value:K}),K}throw Error("cached value already set")}}}function XE(A){return A===null||A===void 0}function jP(A){let q=A.startsWith("^")?1:0,K=A.endsWith("$")?A.length-1:A.length;return A.slice(q,K)}function fi(A,q){let K=A/q,F=Math.round(K),Z=Number.EPSILON*Math.max(Math.abs(K),1);if(Math.abs(K-F)<Z)return 0;return K-F}var mgA=Symbol("evaluating");function PF(A,q,K){let F=void 0;Object.defineProperty(A,q,{get(){if(F===mgA)return;if(F===void 0)F=mgA,F=K();return F},set(Z){Object.defineProperty(A,q,{value:Z})},configurable:!0})}function jOq(A){return Object.create(Object.getPrototypeOf(A),Object.getOwnPropertyDescriptors(A))}function GE(A,q,K){Object.defineProperty(A,q,{value:K,writable:!0,enumerable:!0,configurable:!0})}function s4(...A){let q={};for(let K of A){let F=Object.getOwnPropertyDescriptors(K);Object.assign(q,F)}return Object.defineProperties({},q)}function gOq(A){return s4(A._zod.def)}function HOq(A,q){if(!q)return A;return q.reduce((K,F)=>K?.[F],A)}function EOq(A){let q=Object.keys(A),K=q.map((F)=>A[F]);return Promise.all(K).then((F)=>{let Z={};for(let $=0;$<q.length;$++)Z[q[$]]=F[$];return Z})}function JOq(A=10){let K="";for(let F=0;F<A;F++)K+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return K}function aT(A){return JSON.stringify(A)}function Ci(A){return A.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var dT="captureStackTrace"in Error?Error.captureStackTrace:(...A)=>{};function qx(A){return typeof A==="object"&&A!==null&&!Array.isArray(A)}var hi=yL(()=>{if(eW.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(A){return!1}});function jE(A){if(qx(A)===!1)return!1;let q=A.constructor;if(q===void 0)return!0;if(typeof q!=="function")return!0;let K=q.prototype;if(qx(K)===!1)return!1;if(Object.prototype.hasOwnProperty.call(K,"isPrototypeOf")===!1)return!1;return!0}function yi(A){if(jE(A))return{...A};if(Array.isArray(A))return[...A];if(A instanceof Map)return new Map(A);if(A instanceof Set)return new Set(A);return A}function WOq(A){let q=0;for(let K in A)if(Object.prototype.hasOwnProperty.call(A,K))q++;return q}var xOq=(A)=>{let q=typeof A;switch(q){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(A)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(A))return"array";if(A===null)return"null";if(A.then&&typeof A.then==="function"&&A.catch&&typeof A.catch==="function")return"promise";if(typeof Map<"u"&&A instanceof Map)return"map";if(typeof Set<"u"&&A instanceof Set)return"set";if(typeof Date<"u"&&A instanceof Date)return"date";if(typeof File<"u"&&A instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${q}`)}},gP=new Set(["string","number","symbol"]),ci=new Set(["string","number","bigint","boolean","symbol","undefined"]);function VX(A){return A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function PQ(A,q,K){let F=new A._zod.constr(q??A._zod.def);if(!q||K?.parent)F._zod.parent=A;return F}function rq(A){let q=A;if(!q)return{};if(typeof q==="string")return{error:()=>q};if(q?.message!==void 0){if(q?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");q.error=q.message}if(delete q.message,typeof q.error==="string")return{...q,error:()=>q.error};return q}function VOq(A){let q;return new Proxy({},{get(K,F,Z){return q??(q=A()),Reflect.get(q,F,Z)},set(K,F,Z,$){return q??(q=A()),Reflect.set(q,F,Z,$)},has(K,F){return q??(q=A()),Reflect.has(q,F)},deleteProperty(K,F){return q??(q=A()),Reflect.deleteProperty(q,F)},ownKeys(K){return q??(q=A()),Reflect.ownKeys(q)},getOwnPropertyDescriptor(K,F){return q??(q=A()),Reflect.getOwnPropertyDescriptor(q,F)},defineProperty(K,F,Z){return q??(q=A()),Reflect.defineProperty(q,F,Z)}})}function mq(A){if(typeof A==="bigint")return A.toString()+"n";if(typeof A==="string")return`"${A}"`;return`${A}`}function ui(A){return Object.keys(A).filter((q)=>{return A[q]._zod.optin==="optional"&&A[q]._zod.optout==="optional"})}var mi={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},pi={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function LOq(A,q){let K=A._zod.def,F=K.checks;if(F&&F.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let $=s4(A._zod.def,{get shape(){let U={};for(let Y in q){if(!(Y in K.shape))throw Error(`Unrecognized key: "${Y}"`);if(!q[Y])continue;U[Y]=K.shape[Y]}return GE(this,"shape",U),U},checks:[]});return PQ(A,$)}function OOq(A,q){let K=A._zod.def,F=K.checks;if(F&&F.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let $=s4(A._zod.def,{get shape(){let U={...A._zod.def.shape};for(let Y in q){if(!(Y in K.shape))throw Error(`Unrecognized key: "${Y}"`);if(!q[Y])continue;delete U[Y]}return GE(this,"shape",U),U},checks:[]});return PQ(A,$)}function MOq(A,q){if(!jE(q))throw Error("Invalid input to extend: expected a plain object");let K=A._zod.def.checks;if(K&&K.length>0){let $=A._zod.def.shape;for(let U in q)if(Object.getOwnPropertyDescriptor($,U)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let Z=s4(A._zod.def,{get shape(){let $={...A._zod.def.shape,...q};return GE(this,"shape",$),$}});return PQ(A,Z)}function zOq(A,q){if(!jE(q))throw Error("Invalid input to safeExtend: expected a plain object");let K=s4(A._zod.def,{get shape(){let F={...A._zod.def.shape,...q};return GE(this,"shape",F),F}});return PQ(A,K)}function IOq(A,q){if(A._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let K=s4(A._zod.def,{get shape(){let F={...A._zod.def.shape,...q._zod.def.shape};return GE(this,"shape",F),F},get catchall(){return q._zod.def.catchall},checks:q._zod.def.checks??[]});return PQ(A,K)}function POq(A,q,K){let Z=q._zod.def.checks;if(Z&&Z.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let U=s4(q._zod.def,{get shape(){let Y=q._zod.def.shape,X={...Y};if(K)for(let j in K){if(!(j in Y))throw Error(`Unrecognized key: "${j}"`);if(!K[j])continue;X[j]=A?new A({type:"optional",innerType:Y[j]}):Y[j]}else for(let j in Y)X[j]=A?new A({type:"optional",innerType:Y[j]}):Y[j];return GE(this,"shape",X),X},checks:[]});return PQ(q,U)}function NOq(A,q,K){let F=s4(q._zod.def,{get shape(){let Z=q._zod.def.shape,$={...Z};if(K)for(let U in K){if(!(U in $))throw Error(`Unrecognized key: "${U}"`);if(!K[U])continue;$[U]=new A({type:"nonoptional",innerType:Z[U]})}else for(let U in Z)$[U]=new A({type:"nonoptional",innerType:Z[U]});return GE(this,"shape",$),$}});return PQ(q,F)}function gE(A,q=0){if(A.aborted===!0)return!0;for(let K=q;K<A.issues.length;K++)if(A.issues[K]?.continue!==!0)return!0;return!1}function ii(A,q=0){if(A.aborted===!0)return!0;for(let K=q;K<A.issues.length;K++)if(A.issues[K]?.continue===!1)return!0;return!1}function M0(A,q){return q.map((K)=>{var F;return(F=K).path??(F.path=[]),K.path.unshift(A),K})}function XP(A){return typeof A==="string"?A:A?.message}function NQ(A,q,K){let F=A.message?A.message:XP(A.inst?._zod.def?.error?.(A))??XP(q?.error?.(A))??XP(K.customError?.(A))??XP(K.localeError?.(A))??"Invalid input",{inst:Z,continue:$,input:U,...Y}=A;if(Y.path??(Y.path=[]),Y.message=F,q?.reportInput)Y.input=U;return Y}function HP(A){if(A instanceof Set)return"set";if(A instanceof Map)return"map";if(A instanceof File)return"file";return"unknown"}function EP(A){if(Array.isArray(A))return"array";if(typeof A==="string")return"string";return"unknown"}function aq(A){let q=typeof A;switch(q){case"number":return Number.isNaN(A)?"nan":"number";case"object":{if(A===null)return"null";if(Array.isArray(A))return"array";let K=A;if(K&&Object.getPrototypeOf(K)!==Object.prototype&&"constructor"in K&&K.constructor)return K.constructor.name}}return q}function cL(...A){let[q,K,F]=A;if(typeof q==="string")return{message:q,code:"custom",input:K,inst:F};return{...q}}function _Oq(A){return Object.entries(A).filter(([q,K])=>{return Number.isNaN(Number.parseInt(q,10))}).map((q)=>q[1])}function pgA(A){let q=atob(A),K=new Uint8Array(q.length);for(let F=0;F<q.length;F++)K[F]=q.charCodeAt(F);return K}function igA(A){let q="";for(let K=0;K<A.length;K++)q+=String.fromCharCode(A[K]);return btoa(q)}function wOq(A){let q=A.replace(/-/g,"+").replace(/_/g,"/"),K="=".repeat((4-q.length%4)%4);return pgA(q+K)}function BOq(A){return igA(A).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function DOq(A){let q=A.replace(/^0x/,"");if(q.length%2!==0)throw Error("Invalid hex string length");let K=new Uint8Array(q.length/2);for(let F=0;F<q.length;F+=2)K[F/2]=Number.parseInt(q.slice(F,F+2),16);return K}function ROq(A){return Array.from(A).map((q)=>q.toString(16).padStart(2,"0")).join("")}class lgA{constructor(...A){}}var agA=(A,q)=>{A.name="$ZodError",Object.defineProperty(A,"_zod",{value:A._zod,enumerable:!1}),Object.defineProperty(A,"issues",{value:q,enumerable:!1}),A.message=JSON.stringify(q,hL,2),Object.defineProperty(A,"toString",{value:()=>A.message,enumerable:!1})},JP=aA("$ZodError",agA),z0=aA("$ZodError",agA,{Parent:Error});function WP(A,q=(K)=>K.message){let K={},F=[];for(let Z of A.issues)if(Z.path.length>0)K[Z.path[0]]=K[Z.path[0]]||[],K[Z.path[0]].push(q(Z));else F.push(q(Z));return{formErrors:F,fieldErrors:K}}function xP(A,q=(K)=>K.message){let K={_errors:[]},F=(Z,$=[])=>{for(let U of Z.issues)if(U.code==="invalid_union"&&U.errors.length)U.errors.map((Y)=>F({issues:Y},[...$,...U.path]));else if(U.code==="invalid_key")F({issues:U.issues},[...$,...U.path]);else if(U.code==="invalid_element")F({issues:U.issues},[...$,...U.path]);else{let Y=[...$,...U.path];if(Y.length===0)K._errors.push(q(U));else{let X=K,j=0;while(j<Y.length){let g=Y[j];if(j!==Y.length-1)X[g]=X[g]||{_errors:[]};else X[g]=X[g]||{_errors:[]},X[g]._errors.push(q(U));X=X[g],j++}}}};return F(A),K}function li(A,q=(K)=>K.message){let K={errors:[]},F=(Z,$=[])=>{var U,Y;for(let X of Z.issues)if(X.code==="invalid_union"&&X.errors.length)X.errors.map((j)=>F({issues:j},[...$,...X.path]));else if(X.code==="invalid_key")F({issues:X.issues},[...$,...X.path]);else if(X.code==="invalid_element")F({issues:X.issues},[...$,...X.path]);else{let j=[...$,...X.path];if(j.length===0){K.errors.push(q(X));continue}let g=K,E=0;while(E<j.length){let J=j[E],W=E===j.length-1;if(typeof J==="string")g.properties??(g.properties={}),(U=g.properties)[J]??(U[J]={errors:[]}),g=g.properties[J];else g.items??(g.items=[]),(Y=g.items)[J]??(Y[J]={errors:[]}),g=g.items[J];if(W)g.errors.push(q(X));E++}}};return F(A),K}function dgA(A){let q=[],K=A.map((F)=>typeof F==="object"?F.key:F);for(let F of K)if(typeof F==="number")q.push(`[${F}]`);else if(typeof F==="symbol")q.push(`[${JSON.stringify(String(F))}]`);else if(/[^\w$]/.test(F))q.push(`[${JSON.stringify(F)}]`);else{if(q.length)q.push(".");q.push(F)}return q.join("")}function ai(A){let q=[],K=[...A.issues].sort((F,Z)=>(F.path??[]).length-(Z.path??[]).length);for(let F of K)if(q.push(`\u2716 ${F.message}`),F.path?.length)q.push(` \u2192 at ${dgA(F.path)}`);return q.join(`
|
|
894
|
+
*/var Gp=xVq(),$FK=EA("events").EventEmitter,bLq=LVq(),vLq=z5q(),kLq=UjA(),fLq=r5q(),CLq=RLq();rX=hLq.exports=UFK;function UFK(){var A=function(q,K,F){A.handle(q,K,F)};return bLq(A,$FK.prototype,!1),bLq(A,vLq,!1),A.request=Object.create(fLq,{app:{configurable:!0,enumerable:!0,writable:!0,value:A}}),A.response=Object.create(CLq,{app:{configurable:!0,enumerable:!0,writable:!0,value:A}}),A.init(),A}rX.application=vLq;rX.request=fLq;rX.response=CLq;rX.Route=kLq.Route;rX.Router=kLq;rX.json=Gp.json;rX.raw=Gp.raw;rX.static=SLq();rX.text=Gp.text;rX.urlencoded=Gp.urlencoded});var oLq=I((b$)=>{var YFK=b$&&b$.__createBinding||(Object.create?function(A,q,K,F){if(F===void 0)F=K;var Z=Object.getOwnPropertyDescriptor(q,K);if(!Z||("get"in Z?!q.__esModule:Z.writable||Z.configurable))Z={enumerable:!0,get:function(){return q[K]}};Object.defineProperty(A,F,Z)}:function(A,q,K,F){if(F===void 0)F=K;A[F]=q[K]}),QFK=b$&&b$.__setModuleDefault||(Object.create?function(A,q){Object.defineProperty(A,"default",{enumerable:!0,value:q})}:function(A,q){A.default=q}),mLq=b$&&b$.__importStar||function(A){if(A&&A.__esModule)return A;var q={};if(A!=null){for(var K in A)if(K!=="default"&&Object.prototype.hasOwnProperty.call(A,K))YFK(q,A,K)}return QFK(q,A),q},jp=b$&&b$.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(b$,"__esModule",{value:!0});b$.buildBodyParserMiddleware=b$.verifySignatureAndParseBody=b$.verifySignatureAndParseRawBody=b$.respondToUrlVerification=b$.respondToSslCheck=void 0;var XFK=jp(EA("crypto")),GFK=EA("http"),jFK=EA("https"),gFK=jp(EA("querystring")),cLq=U9(),HFK=kD(),uLq=mLq(yLq()),EFK=jp(Pm()),JFK=jp(Nm()),sg=xY(),Sz=mLq(iD()),WFK=wm(),xFK=Dm(),VFK=["ALPNProtocols","clientCertEngine","enableTrace","handshakeTimeout","rejectUnauthorized","requestCert","sessionTimeout","SNICallback","ticketKeys","pskCallback","pskIdentityHint","ca","cert","sigalgs","ciphers","clientCertEngine","crl","dhparam","ecdhCurve","honorCipherOrder","key","privateKeyEngine","privateKeyIdentifier","maxVersion","minVersion","passphrase","pfx","secureOptions","secureProtocol","sessionIdContext"],NjA="The receiver cannot be started because private state was mutated. Please report this to the maintainers.",LFK=(A,q,K)=>{if(A.body?.ssl_check){q.send();return}K()};b$.respondToSslCheck=LFK;var OFK=(A,q,K)=>{if(A.body?.type&&A.body.type==="url_verification"){q.json({challenge:A.body.challenge});return}K()};b$.respondToUrlVerification=OFK;class pLq{app;server;bolt;logger;processBeforeResponse;signatureVerification;router;installer=void 0;installerOptions;customPropertiesExtractor;dispatchErrorHandler;processEventErrorHandler;unhandledRequestHandler;unhandledRequestTimeoutMillis;constructor({signingSecret:A="",logger:q=void 0,logLevel:K=cLq.LogLevel.INFO,endpoints:F={events:"/slack/events"},processBeforeResponse:Z=!1,signatureVerification:$=!0,clientId:U=void 0,clientSecret:Y=void 0,stateSecret:X=void 0,redirectUri:j=void 0,installationStore:g=void 0,scopes:E=void 0,installerOptions:J={},app:W=void 0,router:L=void 0,customPropertiesExtractor:M=(f)=>({}),dispatchErrorHandler:O=Sz.defaultAsyncDispatchErrorHandler,processEventErrorHandler:B=Sz.defaultProcessEventErrorHandler,unhandledRequestHandler:T=Sz.defaultUnhandledRequestHandler,unhandledRequestTimeoutMillis:R=3001}){if(this.app=W!==void 0?W:(0,uLq.default)(),typeof q<"u")this.logger=q;else this.logger=new cLq.ConsoleLogger,this.logger.setLevel(K);this.signatureVerification=$;let y=[this.signatureVerification?iLq(this.logger,A):aLq(this.logger),b$.respondToSslCheck,b$.respondToUrlVerification,this.requestHandler.bind(this)];this.processBeforeResponse=Z;let d=typeof F==="string"?[F]:Object.values(F);this.router=L!==void 0?L:(0,uLq.Router)();for(let o of d)this.router.post(o,...y);if(this.customPropertiesExtractor=M,this.dispatchErrorHandler=O,this.processEventErrorHandler=B,this.unhandledRequestHandler=T,this.unhandledRequestTimeoutMillis=R,(0,xFK.verifyRedirectOpts)({redirectUri:j,redirectUriPath:J.redirectUriPath}),U!==void 0&&Y!==void 0&&(J.stateVerification===!1||X!==void 0||J.stateStore!==void 0))this.installer=new HFK.InstallProvider({clientId:U,clientSecret:Y,stateSecret:X,installationStore:g,logLevel:K,logger:q,directInstall:J.directInstall,stateStore:J.stateStore,stateVerification:J.stateVerification,legacyStateVerification:J.legacyStateVerification,stateCookieName:J.stateCookieName,stateCookieExpirationSeconds:J.stateCookieExpirationSeconds,renderHtmlForInstallPath:J.renderHtmlForInstallPath,authVersion:J.authVersion??"v2",clientOptions:J.clientOptions,authorizationUrl:J.authorizationUrl});let i={metadata:J.metadata,scopes:E??[],userScopes:J.userScopes,redirectUri:j};if(this.installer!==void 0){let{installer:o}=this,a=J.redirectUriPath===void 0?"/slack/oauth_redirect":J.redirectUriPath,{callbackOptions:KA,stateVerification:gA}=J;this.router.use(a,async(qq,BA)=>{try{if(gA===!1)await o.handleCallback(qq,BA,KA,i);else await o.handleCallback(qq,BA,KA)}catch(NA){await this.dispatchErrorHandler({error:NA,logger:this.logger,request:qq,response:BA})}});let PA=J.installPath===void 0?"/slack/install":J.installPath,{installPathOptions:mA}=J;this.router.get(PA,async(qq,BA,NA)=>{try{try{await o.handleInstallPath(qq,BA,mA,i)}catch(t){NA(t)}}catch(t){await this.dispatchErrorHandler({error:t,logger:this.logger,request:qq,response:BA})}})}this.app.use(this.router)}async requestHandler(A,q){let K=new WFK.HTTPResponseAck({logger:this.logger,processBeforeResponse:this.processBeforeResponse,unhandledRequestHandler:this.unhandledRequestHandler,unhandledRequestTimeoutMillis:this.unhandledRequestTimeoutMillis,httpRequest:A,httpRequestBody:A.body,httpResponse:q}),F={body:A.body,ack:K.bind(),retryNum:Sz.extractRetryNumFromHTTPRequest(A),retryReason:Sz.extractRetryReasonFromHTTPRequest(A),customProperties:this.customPropertiesExtractor(A)};try{if(await this.bolt?.processEvent(F),K.storedResponse!==void 0)Sz.buildContentResponse(q,K.storedResponse),this.logger.debug("stored response sent")}catch(Z){if(await this.processEventErrorHandler({error:Z,logger:this.logger,request:A,response:q,storedResponse:K.storedResponse}))K.ack()}}init(A){this.bolt=A}start(A,q={}){let K=GFK.createServer;if(Object.keys(q).filter((F)=>VFK.includes(F)).length>0)K=jFK.createServer;if(this.server!==void 0)return Promise.reject(new sg.ReceiverInconsistentStateError("The receiver cannot be started because it was already started."));return this.server=K(q,this.app),new Promise((F,Z)=>{if(this.server===void 0)throw new sg.ReceiverInconsistentStateError(NjA);this.server.on("error",($)=>{if(this.server===void 0)throw new sg.ReceiverInconsistentStateError(NjA);this.server.close(),Z($)}),this.server.on("close",()=>{this.server=void 0}),this.server.listen(A,()=>{if(this.server===void 0)return Z(new sg.ReceiverInconsistentStateError(NjA));return F(this.server)})})}stop(){if(this.server===void 0)return Promise.reject(new sg.ReceiverInconsistentStateError("The receiver cannot be stopped because it was not started."));return new Promise((A,q)=>{this.server?.close((K)=>{if(K!==void 0)return q(K);return this.server=void 0,A()})})}}b$.default=pLq;function MFK(A,q){return iLq(A,q)}b$.verifySignatureAndParseRawBody=MFK;function iLq(A,q){return async(K,F,Z)=>{let $=await nLq(K);try{K.body=lLq(typeof q==="string"?q:await q(),$,K.headers)}catch(U){if(U){if(U instanceof sg.ReceiverAuthenticityError){_jA(A,"Request verification failed",U),F.status(401).send();return}_jA(A,"Parsing request body failed",U),F.status(400).send();return}}Z()}}function _jA(A,q,K){let F="code"in K?`${q} (code: ${K.code}, message: ${K.message})`:`${q} (error: ${K})`;A.warn(F)}function zFK(A,q,K,F){if(K===void 0||F===void 0)throw new sg.ReceiverAuthenticityError("Slack request signing verification failed. Some headers are missing.");let Z=Number(F);if(Number.isNaN(Z))throw new sg.ReceiverAuthenticityError("Slack request signing verification failed. Timestamp is invalid.");let $=Math.floor(Date.now()/1000)-300;if(Z<$)throw new sg.ReceiverAuthenticityError("Slack request signing verification failed. Timestamp is too old.");let U=XFK.default.createHmac("sha256",A),[Y,X]=K.split("=");if(U.update(`${Y}:${Z}:${q}`),!(0,JFK.default)(X,U.digest("hex")))throw new sg.ReceiverAuthenticityError("Slack request signing verification failed. Signature mismatch.")}function lLq(A,q,K){let{"x-slack-signature":F,"x-slack-request-timestamp":Z,"content-type":$}=K;return zFK(A,q,F,Z),dLq(q,$)}b$.verifySignatureAndParseBody=lLq;function aLq(A){return async(q,K,F)=>{let Z=await nLq(q);try{let{"content-type":$}=q.headers;q.body=dLq(Z,$)}catch($){if($){_jA(A,"Parsing request body failed",$),K.status(400).send();return}}F()}}b$.buildBodyParserMiddleware=aLq;function dLq(A,q){if(q==="application/x-www-form-urlencoded"){let K=gFK.default.parse(A);if(typeof K.payload==="string")return JSON.parse(K.payload);return K}return JSON.parse(A)}async function nLq(A){if("rawBody"in A&&A.rawBody)return Promise.resolve(A.rawBody.toString());return(await(0,EFK.default)(A)).toString()}});var A2q=I((tLq)=>{Object.defineProperty(tLq,"__esModule",{value:!0});tLq.DefaultThreadContextStore=void 0;var sLq=wjA();class rLq{context={};async get(A){let{context:q,client:K,payload:F,logger:Z}=A;if(Z.debug("DefaultAssistantThreadStore: get method called"),this.context.channel_id)return this.context;let{channelId:$,threadTs:U}=(0,sLq.extractThreadInfo)(F),Y=await K.conversations.replies({channel:$,ts:U,oldest:U,include_all_metadata:!0,limit:4});if(!Y.messages)return{};let X=Y.messages.find((g)=>!("subtype"in g)&&g.user===q.botUserId);return(X?.metadata?X.metadata.event_payload:null)||{}}async save(A){let{context:q,client:K,payload:F,logger:Z}=A,{channelId:$,threadTs:U,context:Y}=(0,sLq.extractThreadInfo)(F);Z.debug("DefaultAssistantThreadStore: save method called");let X=await K.conversations.replies({channel:$,ts:U,oldest:U,include_all_metadata:!0,limit:4});if(!X.messages)return;let j=X.messages.find((g)=>!("subtype"in g)&&g.user===q.botUserId);if(j?.ts){let g={channel:$,ts:j.ts,text:j.text,blocks:j.blocks?j.blocks:[],metadata:{event_type:"assistant_thread_context",event_payload:Y}};await K.chat.update(g)}this.context=Y}}tLq.DefaultThreadContextStore=rLq});var wjA=I((mU)=>{var IFK=mU&&mU.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(mU,"__esModule",{value:!0});mU.extractThreadInfo=mU.processAssistantMiddleware=mU.validate=mU.isAssistantMessage=mU.matchesConstraints=mU.isAssistantEvent=mU.enrichAssistantArgs=mU.Assistant=void 0;var PFK=A2q(),q2q=c0A(),O5=xY(),gp=_u(),NFK=IFK(wu()),_FK=new Set(["assistant_thread_started","assistant_thread_context_changed","message"]);class K2q{threadContextStore;threadStarted;threadContextChanged;userMessage;constructor(A){Y2q(A);let{threadContextStore:q=new PFK.DefaultThreadContextStore,threadStarted:K,threadContextChanged:F=($)=>q.save($),userMessage:Z}=A;this.threadContextStore=q,this.threadStarted=Array.isArray(K)?K:[K],this.threadContextChanged=Array.isArray(F)?F:[F],this.userMessage=Array.isArray(Z)?Z:[Z]}getMiddleware(){return async(A)=>{if(Z2q(A)&&$2q(A))return this.processEvent(A);return A.next()}}async processEvent(A){let{payload:q}=A,K=F2q(this.threadContextStore,A),F=this.getAssistantMiddleware(q);return Q2q(K,F)}getAssistantMiddleware(A){switch(A.type){case"assistant_thread_started":return this.threadStarted;case"assistant_thread_context_changed":return this.threadContextChanged;case"message":return this.userMessage;default:return[]}}}mU.Assistant=K2q;function F2q(A,q){let{next:K,...F}=q,Z={...F};return Z.getThreadContext=()=>A.get(q),Z.saveThreadContext=()=>A.save(q),Z.say=wFK(Z),Z.sayStream=BFK(Z),Z.setStatus=DFK(Z),Z.setSuggestedPrompts=RFK(Z),Z.setTitle=TFK(Z),Z}mU.enrichAssistantArgs=F2q;function Z2q(A){return _FK.has(A.payload.type)}mU.isAssistantEvent=Z2q;function $2q(A){return A.payload.type==="message"?U2q(A.payload):!0}mU.matchesConstraints=$2q;function U2q(A){let q="channel"in A&&"thread_ts"in A,K="channel_type"in A&&A.channel_type==="im"&&(!("subtype"in A)||A.subtype==="file_share"||A.subtype===void 0);return q&&K}mU.isAssistantMessage=U2q;function Y2q(A){if(typeof A!=="object")throw new O5.AssistantInitializationError("Assistant expects a configuration object as the argument");let q=["threadStarted","userMessage"],K=[];for(let Z of q)if(A[Z]===void 0)K.push(Z);if(K.length>0){let Z=`Assistant is missing required keys: ${K.join(", ")}`;throw new O5.AssistantInitializationError(Z)}let F=["threadStarted","userMessage"];if("threadContextChanged"in A)F.push("threadContextChanged");for(let Z of F)if(typeof A[Z]!=="function"&&!Array.isArray(A[Z])){let $=`Assistant ${Z} property must be a function or an array of functions`;throw new O5.AssistantInitializationError($)}if(A.threadContextStore){if(typeof A.threadContextStore!=="object")throw new O5.AssistantInitializationError("Assistant expects threadContextStore to be a configuration object");let Z=["get","save"],$=[];for(let Y of Z)if(A.threadContextStore&&A.threadContextStore[Y]===void 0)$.push(Y);if($.length>0){let Y=`threadContextStore is missing required keys: ${$.join(", ")}`;throw new O5.AssistantInitializationError(Y)}let U=["get","save"];for(let Y of U)if(A.threadContextStore&&typeof A.threadContextStore[Y]!=="function"){let X=`threadContextStore ${Y} property must be a function`;throw new O5.AssistantInitializationError(X)}}}mU.validate=Y2q;async function Q2q(A,q){let{context:K,client:F,logger:Z}=A,$=[...q],U=$.pop();if(U!==void 0)await(0,NFK.default)($,A,K,F,Z,async()=>U({...A,context:K,client:F,logger:Z}))}mU.processAssistantMiddleware=Q2q;function wFK(A){let{client:q,payload:K}=A,{channelId:F,threadTs:Z,context:$}=bz(K);return async(U)=>{let Y=$.channel_id?$:await A.getThreadContext(),X=typeof U==="string"?{text:U,channel:F,thread_ts:Z}:{...U,channel:F,thread_ts:Z};if(Y||X.metadata)X.metadata={event_type:X.metadata?.event_type??"assistant_thread_context",event_payload:{...Y,...X.metadata?.event_payload??{}}};return q.chat.postMessage(X)}}function BFK(A){let{client:q,context:K,payload:F}=A,{channelId:Z,threadTs:$}=bz(F);return(0,q2q.createSayStream)(q,K,Z,$)}function DFK(A){let{client:q,payload:K}=A,{channelId:F,threadTs:Z}=bz(K);return(0,q2q.createSetStatus)(q,F,Z)}function RFK(A){let{client:q,payload:K}=A,{channelId:F,threadTs:Z}=bz(K);return($)=>{let{prompts:U,title:Y}=$;return q.assistant.threads.setSuggestedPrompts({channel_id:F,thread_ts:Z,prompts:U,title:Y})}}function TFK(A){let{client:q,payload:K}=A,{channelId:F,threadTs:Z}=bz(K);return($)=>q.assistant.threads.setTitle({channel_id:F,thread_ts:Z,title:$})}function bz(A){let q={};if("assistant_thread"in A&&(0,gp.isRecord)(A.assistant_thread)){if((0,gp.isRecord)(A.assistant_thread.context))q=A.assistant_thread.context}let K=(0,gp.extractEventChannelId)(A),F=(0,gp.extractEventThreadTs)(A);if(!K||!F){let Z=[];if(!K)Z.push("channel_id");if(!F)Z.push("thread_ts");throw new O5.AssistantMissingPropertyError(`Assistant message event is missing required properties: ${Z.join(", ")}`)}return{channelId:K,threadTs:F,context:q}}mU.extractThreadInfo=bz});var E2q=I((t0)=>{var SFK=t0&&t0.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t0,"__esModule",{value:!0});t0.prepareStepArgs=t0.isStepEvent=t0.processStepMiddleware=t0.validate=t0.WorkflowStep=void 0;var Hp=xY(),bFK=SFK(wu()),vFK=new Set(["workflow_step_edit","workflow_step","workflow_step_execute"]);class X2q{callbackId;edit;save;execute;constructor(A,q){G2q(A,q);let{save:K,edit:F,execute:Z}=q;this.callbackId=A,this.save=Array.isArray(K)?K:[K],this.edit=Array.isArray(F)?F:[F],this.execute=Array.isArray(Z)?Z:[Z]}getMiddleware(){return async(A)=>{if(g2q(A)&&this.matchesConstraints(A))return this.processEvent(A);return A.next()}}matchesConstraints(A){return A.payload.callback_id===this.callbackId}async processEvent(A){let{payload:q}=A,K=H2q(A),F=this.getStepMiddleware(q);return j2q(K,F)}getStepMiddleware(A){switch(A.type){case"workflow_step_edit":return this.edit;case"workflow_step":return this.save;case"workflow_step_execute":return this.execute;default:return[]}}}t0.WorkflowStep=X2q;function G2q(A,q){if(typeof A!=="string")throw new Hp.WorkflowStepInitializationError("WorkflowStep expects a callback_id as the first argument");if(typeof q!=="object")throw new Hp.WorkflowStepInitializationError("WorkflowStep expects a configuration object as the second argument");let K=["save","edit","execute"],F=[];for(let $ of K)if(q[$]===void 0)F.push($);if(F.length>0){let $=`WorkflowStep is missing required keys: ${F.join(", ")}`;throw new Hp.WorkflowStepInitializationError($)}let Z=["save","edit","execute"];for(let $ of Z)if(typeof q[$]!=="function"&&!Array.isArray(q[$])){let U=`WorkflowStep ${$} property must be a function or an array of functions`;throw new Hp.WorkflowStepInitializationError(U)}}t0.validate=G2q;async function j2q(A,q){let{context:K,client:F,logger:Z}=A,$=[...q],U=$.pop();if(U!==void 0)await(0,bFK.default)($,A,K,F,Z,async()=>U({...A,context:K,client:F,logger:Z}))}t0.processStepMiddleware=j2q;function g2q(A){return vFK.has(A.payload.type)}t0.isStepEvent=g2q;function Ep(A){return A.botToken!==void 0?A.botToken:A.userToken}function kFK(A){let{context:q,client:K,body:{callback_id:F,trigger_id:Z}}=A,$=Ep(q);return(U)=>K.views.open({token:$,trigger_id:Z,view:{callback_id:F,type:"workflow_step",...U}})}function fFK(A){let{context:q,client:K,body:{workflow_step:{workflow_step_edit_id:F}}}=A,Z=Ep(q);return($={})=>K.workflows.updateStep({token:Z,workflow_step_edit_id:F,...$})}function CFK(A){let{context:q,client:K,payload:{workflow_step:{workflow_step_execute_id:F}}}=A,Z=Ep(q);return($={})=>K.workflows.stepCompleted({token:Z,workflow_step_execute_id:F,...$})}function hFK(A){let{context:q,client:K,payload:{workflow_step:{workflow_step_execute_id:F}}}=A,Z=Ep(q);return($)=>{let{error:U}=$;return K.workflows.stepFailed({token:Z,workflow_step_execute_id:F,error:U})}}function H2q(A){let{next:q,...K}=A,F={...K};switch(F.payload.type){case"workflow_step_edit":F.step=F.action.workflow_step,F.configure=kFK(F);break;case"workflow_step":F.step=F.body.workflow_step,F.update=fFK(F);break;case"workflow_step_execute":F.step=F.event.workflow_step,F.complete=CFK(F),F.fail=hFK(F);break;default:break}return F}t0.prepareStepArgs=H2q});var L2q=I((EK)=>{var J2q=EK&&EK.__createBinding||(Object.create?function(A,q,K,F){if(F===void 0)F=K;var Z=Object.getOwnPropertyDescriptor(q,K);if(!Z||("get"in Z?!q.__esModule:Z.writable||Z.configurable))Z={enumerable:!0,get:function(){return q[K]}};Object.defineProperty(A,F,Z)}:function(A,q,K,F){if(F===void 0)F=K;A[F]=q[K]}),yFK=EK&&EK.__setModuleDefault||(Object.create?function(A,q){Object.defineProperty(A,"default",{enumerable:!0,value:q})}:function(A,q){A.default=q}),BjA=EK&&EK.__importStar||function(A){if(A&&A.__esModule)return A;var q={};if(A!=null){for(var K in A)if(K!=="default"&&Object.prototype.hasOwnProperty.call(A,K))J2q(q,A,K)}return yFK(q,A),q},DjA=EK&&EK.__exportStar||function(A,q){for(var K in A)if(K!=="default"&&!Object.prototype.hasOwnProperty.call(q,K))J2q(q,A,K)},LR=EK&&EK.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(EK,"__esModule",{value:!0});EK.webApi=EK.types=EK.FileInstallationStore=EK.MemoryInstallationStore=EK.WorkflowStep=EK.Assistant=EK.buildReceiverRoutes=EK.MemoryStore=EK.defaultProcessEventErrorHandler=EK.HTTPResponseAck=EK.HTTPModuleFunctions=EK.AwsLambdaReceiver=EK.HTTPReceiver=EK.SocketModeReceiver=EK.ExpressReceiver=EK.isValidSlackRequest=EK.verifySlackRequest=EK.App=EK.LogLevel=void 0;var W2q=LR(LGA());EK.App=W2q.default;var cFK=LGA();Object.defineProperty(EK,"LogLevel",{enumerable:!0,get:function(){return cFK.LogLevel}});EK.default=W2q.default;var x2q=lXA();Object.defineProperty(EK,"verifySlackRequest",{enumerable:!0,get:function(){return x2q.verifySlackRequest}});Object.defineProperty(EK,"isValidSlackRequest",{enumerable:!0,get:function(){return x2q.isValidSlackRequest}});var uFK=LR(yWq());EK.AwsLambdaReceiver=uFK.default;var mFK=LR(oLq());EK.ExpressReceiver=mFK.default;var pFK=LR(dXA());EK.HTTPReceiver=pFK.default;var iFK=LR(HGA());EK.SocketModeReceiver=iFK.default;EK.HTTPModuleFunctions=BjA(iD());var lFK=wm();Object.defineProperty(EK,"HTTPResponseAck",{enumerable:!0,get:function(){return lFK.HTTPResponseAck}});var aFK=gGA();Object.defineProperty(EK,"defaultProcessEventErrorHandler",{enumerable:!0,get:function(){return aFK.defaultProcessEventErrorHandler}});DjA(xY(),EK);DjA(Nu(),EK);DjA(JGA(),EK);var dFK=u0A();Object.defineProperty(EK,"MemoryStore",{enumerable:!0,get:function(){return dFK.MemoryStore}});var nFK=Bm();Object.defineProperty(EK,"buildReceiverRoutes",{enumerable:!0,get:function(){return nFK.buildReceiverRoutes}});var oFK=wjA();Object.defineProperty(EK,"Assistant",{enumerable:!0,get:function(){return oFK.Assistant}});var sFK=E2q();Object.defineProperty(EK,"WorkflowStep",{enumerable:!0,get:function(){return sFK.WorkflowStep}});var V2q=kD();Object.defineProperty(EK,"MemoryInstallationStore",{enumerable:!0,get:function(){return V2q.MemoryInstallationStore}});Object.defineProperty(EK,"FileInstallationStore",{enumerable:!0,get:function(){return V2q.FileInstallationStore}});EK.types=BjA(jD());EK.webApi=BjA(k0A())});var cgA={name:"@interactive-inc/claude-funnel",version:"0.15.1",description:"Hub CLI that routes external events (Slack / GitHub / Discord) to Claude Code agents through subscription channels over MCP.",keywords:["bun","claude","claude-code","cli","discord","github","mcp","slack"],homepage:"https://github.com/interactive-inc/open-claude-funnel#readme",bugs:{url:"https://github.com/interactive-inc/open-claude-funnel/issues"},license:"MIT",author:"Interactive Inc.",repository:{type:"git",url:"git+https://github.com/interactive-inc/open-claude-funnel.git"},bin:{fnl:"./dist/bin.js",funnel:"./dist/bin.js"},files:["dist/**/*","funnel.schema.json","README.md","LICENSE"],type:"module",main:"./dist/index.js",module:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",default:"./dist/index.js"},"./connectors/slack":{types:"./dist/connectors/slack.d.ts",import:"./dist/connectors/slack.js",default:"./dist/connectors/slack.js"},"./connectors/discord":{types:"./dist/connectors/discord.d.ts",import:"./dist/connectors/discord.js",default:"./dist/connectors/discord.js"},"./connectors/gh":{types:"./dist/connectors/gh.d.ts",import:"./dist/connectors/gh.js",default:"./dist/connectors/gh.js"},"./connectors/schedule":{types:"./dist/connectors/schedule.d.ts",import:"./dist/connectors/schedule.js",default:"./dist/connectors/schedule.js"},"./bin":"./dist/bin.js","./package.json":"./package.json"},publishConfig:{access:"public"},dependencies:{"@hono/zod-validator":"^0.8.0","@modelcontextprotocol/sdk":"^1.29.0","@opentui/core":"^0.2.12","@opentui/react":"^0.2.12","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","discord.js":"^14.26.4",hono:"^4.12.19",react:"^19.2.6",yaml:"^2.9.0",zod:"^4.4.3"},devDependencies:{"@types/bun":"^1.3.14","@types/react":"^19.2.14","@typescript/native-preview":"^7.0.0-dev.20260516.1","vite-plus":"^0.1.21",vitest:"^4.1.6"},engines:{bun:">=1.3.0"}};var aK=class extends Error{res;status;constructor(A=500,q){super(q?.message,{cause:q?.cause});this.res=q?.res,this.status=A}getResponse(){if(this.res)return new Response(this.res.body,{status:this.status,headers:this.res.headers});return new Response(this.message,{status:this.status})}};var p={};hG(p,{xor:()=>VHA,xid:()=>u4A,void:()=>gHA,uuidv7:()=>b4A,uuidv6:()=>S4A,uuidv4:()=>T4A,uuid:()=>R4A,util:()=>nq,url:()=>v4A,uppercase:()=>oL,unknown:()=>Yx,union:()=>Lb,undefined:()=>GHA,ulid:()=>c4A,uint64:()=>QHA,uint32:()=>$HA,tuple:()=>Ks,trim:()=>q2,treeifyError:()=>li,transform:()=>Mb,toUpperCase:()=>F2,toLowerCase:()=>K2,toJSONSchema:()=>aS,templateLiteral:()=>SHA,symbol:()=>XHA,superRefine:()=>Rs,success:()=>BHA,stringbool:()=>cHA,stringFormat:()=>t4A,string:()=>SP,strictObject:()=>WHA,startsWith:()=>rL,slugify:()=>Z2,size:()=>Zx,setErrorMap:()=>yzq,set:()=>IHA,safeParseAsync:()=>Do,safeParse:()=>Bo,safeEncodeAsync:()=>fo,safeEncode:()=>vo,safeDecodeAsync:()=>Co,safeDecode:()=>ko,registry:()=>xS,regexes:()=>J8,regex:()=>dL,refine:()=>Ds,record:()=>Fs,readonly:()=>Is,property:()=>mS,promise:()=>bHA,prettifyError:()=>ai,preprocess:()=>mHA,prefault:()=>Js,positive:()=>hS,pipe:()=>eS,partialRecord:()=>OHA,parseAsync:()=>wo,parse:()=>_o,overwrite:()=>yG,optional:()=>vP,object:()=>JHA,number:()=>yo,nullish:()=>wHA,nullable:()=>kP,null:()=>io,normalize:()=>A2,nonpositive:()=>cS,nonoptional:()=>Ws,nonnegative:()=>uS,never:()=>Vb,negative:()=>yS,nativeEnum:()=>PHA,nanoid:()=>C4A,nan:()=>DHA,multipleOf:()=>HE,minSize:()=>Gg,minLength:()=>r4,mime:()=>eL,meta:()=>hHA,maxSize:()=>EE,maxLength:()=>$x,map:()=>zHA,mac:()=>i4A,lte:()=>W8,lt:()=>Qg,lowercase:()=>nL,looseRecord:()=>MHA,looseObject:()=>xHA,locales:()=>BP,literal:()=>NHA,length:()=>Ux,lazy:()=>_s,ksuid:()=>m4A,keyof:()=>EHA,jwt:()=>r4A,json:()=>uHA,iso:()=>Y2,ipv6:()=>l4A,ipv4:()=>p4A,invertCodec:()=>THA,intersection:()=>As,int64:()=>YHA,int32:()=>ZHA,int:()=>tS,instanceof:()=>yHA,includes:()=>sL,httpUrl:()=>k4A,hostname:()=>e4A,hex:()=>AHA,hash:()=>qHA,guid:()=>D4A,gte:()=>_Q,gt:()=>Xg,globalRegistry:()=>o9,getErrorMap:()=>czq,function:()=>vHA,fromJSONSchema:()=>iHA,formatError:()=>xP,float64:()=>FHA,float32:()=>KHA,flattenError:()=>WP,file:()=>_HA,exactOptional:()=>Gs,enum:()=>Ob,endsWith:()=>tL,encodeAsync:()=>So,encode:()=>Ro,emoji:()=>f4A,email:()=>B4A,e164:()=>s4A,discriminatedUnion:()=>LHA,describe:()=>CHA,decodeAsync:()=>bo,decode:()=>To,date:()=>HHA,custom:()=>fHA,cuid2:()=>y4A,cuid:()=>h4A,core:()=>t4,config:()=>d$,coerce:()=>Ss,codec:()=>RHA,clone:()=>PQ,cidrv6:()=>d4A,cidrv4:()=>a4A,check:()=>kHA,catch:()=>Ls,boolean:()=>co,bigint:()=>UHA,base64url:()=>o4A,base64:()=>n4A,array:()=>yP,any:()=>jHA,_function:()=>vHA,_default:()=>Hs,_ZodString:()=>Ab,ZodXor:()=>ro,ZodXID:()=>Yb,ZodVoid:()=>oo,ZodUnknown:()=>ao,ZodUnion:()=>uP,ZodUndefined:()=>mo,ZodUUID:()=>jg,ZodURL:()=>CP,ZodULID:()=>Ub,ZodType:()=>FF,ZodTuple:()=>qs,ZodTransform:()=>Qs,ZodTemplateLiteral:()=>Ps,ZodSymbol:()=>uo,ZodSuccess:()=>xs,ZodStringFormat:()=>o1,ZodString:()=>G2,ZodSet:()=>$s,ZodRecord:()=>Q2,ZodRealError:()=>I0,ZodReadonly:()=>zs,ZodPromise:()=>ws,ZodPreprocess:()=>Ms,ZodPrefault:()=>Es,ZodPipe:()=>mP,ZodOptional:()=>zb,ZodObject:()=>cP,ZodNumberFormat:()=>Qx,ZodNumber:()=>g2,ZodNullable:()=>js,ZodNull:()=>po,ZodNonOptional:()=>Ib,ZodNever:()=>no,ZodNanoID:()=>Fb,ZodNaN:()=>Os,ZodMap:()=>Zs,ZodMAC:()=>ho,ZodLiteral:()=>Us,ZodLazy:()=>Ns,ZodKSUID:()=>Qb,ZodJWT:()=>Wb,ZodIssueCode:()=>hzq,ZodIntersection:()=>eo,ZodISOTime:()=>sS,ZodISODuration:()=>rS,ZodISODateTime:()=>nS,ZodISODate:()=>oS,ZodIPv6:()=>Gb,ZodIPv4:()=>Xb,ZodGUID:()=>bP,ZodFunction:()=>Bs,ZodFirstPartyTypeKind:()=>Ts,ZodFile:()=>Ys,ZodExactOptional:()=>Xs,ZodError:()=>fzq,ZodEnum:()=>X2,ZodEmoji:()=>Kb,ZodEmail:()=>qb,ZodE164:()=>Jb,ZodDiscriminatedUnion:()=>to,ZodDefault:()=>gs,ZodDate:()=>hP,ZodCustomStringFormat:()=>j2,ZodCustom:()=>iP,ZodCodec:()=>pP,ZodCatch:()=>Vs,ZodCUID2:()=>$b,ZodCUID:()=>Zb,ZodCIDRv6:()=>gb,ZodCIDRv4:()=>jb,ZodBoolean:()=>H2,ZodBigIntFormat:()=>xb,ZodBigInt:()=>E2,ZodBase64URL:()=>Eb,ZodBase64:()=>Hb,ZodArray:()=>so,ZodAny:()=>lo,TimePrecision:()=>An,NEVER:()=>bi,$output:()=>nd,$input:()=>od,$brand:()=>vi});var t4={};hG(t4,{version:()=>ml,util:()=>nq,treeifyError:()=>li,toJSONSchema:()=>aS,toDotPath:()=>dgA,safeParseAsync:()=>ni,safeParse:()=>di,safeEncodeAsync:()=>hOq,safeEncode:()=>fOq,safeDecodeAsync:()=>yOq,safeDecode:()=>COq,registry:()=>xS,regexes:()=>J8,process:()=>B1,prettifyError:()=>ai,parseAsync:()=>oT,parse:()=>nT,meta:()=>vn,locales:()=>BP,isValidJWT:()=>J4A,isValidBase64URL:()=>E4A,isValidBase64:()=>Ga,initializeContext:()=>JE,globalRegistry:()=>o9,globalConfig:()=>eW,formatError:()=>xP,flattenError:()=>WP,finalize:()=>xE,extractDefs:()=>WE,encodeAsync:()=>vOq,encode:()=>SOq,describe:()=>bn,decodeAsync:()=>kOq,decode:()=>bOq,createToJSONSchemaMethod:()=>fn,createStandardJSONSchemaMethod:()=>U2,config:()=>d$,clone:()=>PQ,_xor:()=>gzq,_xid:()=>BS,_void:()=>Pn,_uuidv7:()=>zS,_uuidv6:()=>MS,_uuidv4:()=>OS,_uuid:()=>LS,_url:()=>RP,_uppercase:()=>oL,_unknown:()=>zn,_union:()=>jzq,_undefined:()=>Ln,_ulid:()=>wS,_uint64:()=>xn,_uint32:()=>jn,_tuple:()=>Jzq,_trim:()=>q2,_transform:()=>zzq,_toUpperCase:()=>F2,_toLowerCase:()=>K2,_templateLiteral:()=>Tzq,_symbol:()=>Vn,_superRefine:()=>Sn,_success:()=>wzq,_stringbool:()=>kn,_stringFormat:()=>$2,_string:()=>rd,_startsWith:()=>rL,_slugify:()=>Z2,_size:()=>Zx,_set:()=>Vzq,_safeParseAsync:()=>iL,_safeParse:()=>pL,_safeEncodeAsync:()=>KS,_safeEncode:()=>AS,_safeDecodeAsync:()=>FS,_safeDecode:()=>qS,_regex:()=>dL,_refine:()=>Tn,_record:()=>Wzq,_readonly:()=>Rzq,_property:()=>mS,_promise:()=>bzq,_positive:()=>hS,_pipe:()=>Dzq,_parseAsync:()=>mL,_parse:()=>uL,_overwrite:()=>yG,_optional:()=>Izq,_number:()=>$n,_nullable:()=>Pzq,_null:()=>On,_normalize:()=>A2,_nonpositive:()=>cS,_nonoptional:()=>_zq,_nonnegative:()=>uS,_never:()=>In,_negative:()=>yS,_nativeEnum:()=>Ozq,_nanoid:()=>PS,_nan:()=>wn,_multipleOf:()=>HE,_minSize:()=>Gg,_minLength:()=>r4,_min:()=>_Q,_mime:()=>eL,_maxSize:()=>EE,_maxLength:()=>$x,_max:()=>W8,_map:()=>xzq,_mac:()=>ed,_lte:()=>W8,_lt:()=>Qg,_lowercase:()=>nL,_literal:()=>Mzq,_length:()=>Ux,_lazy:()=>Szq,_ksuid:()=>DS,_jwt:()=>CS,_isoTime:()=>Fn,_isoDuration:()=>Zn,_isoDateTime:()=>qn,_isoDate:()=>Kn,_ipv6:()=>TS,_ipv4:()=>RS,_intersection:()=>Ezq,_int64:()=>Wn,_int32:()=>Gn,_int:()=>Yn,_includes:()=>sL,_guid:()=>DP,_gte:()=>_Q,_gt:()=>Xg,_float64:()=>Xn,_float32:()=>Qn,_file:()=>Dn,_enum:()=>Lzq,_endsWith:()=>tL,_encodeAsync:()=>tT,_encode:()=>sT,_emoji:()=>IS,_email:()=>VS,_e164:()=>fS,_discriminatedUnion:()=>Hzq,_default:()=>Nzq,_decodeAsync:()=>eT,_decode:()=>rT,_date:()=>Nn,_custom:()=>Rn,_cuid2:()=>_S,_cuid:()=>NS,_coercedString:()=>td,_coercedNumber:()=>Un,_coercedDate:()=>_n,_coercedBoolean:()=>Hn,_coercedBigint:()=>Jn,_cidrv6:()=>bS,_cidrv4:()=>SS,_check:()=>P4A,_catch:()=>Bzq,_boolean:()=>gn,_bigint:()=>En,_base64url:()=>kS,_base64:()=>vS,_array:()=>Bn,_any:()=>Mn,TimePrecision:()=>An,NEVER:()=>bi,JSONSchemaGenerator:()=>Mo,JSONSchema:()=>N4A,Doc:()=>YS,$output:()=>nd,$input:()=>od,$constructor:()=>aA,$brand:()=>vi,$ZodXor:()=>Ba,$ZodXID:()=>el,$ZodVoid:()=>Pa,$ZodUnknown:()=>za,$ZodUnion:()=>zP,$ZodUndefined:()=>La,$ZodUUID:()=>ll,$ZodURL:()=>dl,$ZodULID:()=>tl,$ZodType:()=>hK,$ZodTuple:()=>ES,$ZodTransform:()=>Ca,$ZodTemplateLiteral:()=>na,$ZodSymbol:()=>Va,$ZodSuccess:()=>pa,$ZodStringFormat:()=>n1,$ZodString:()=>Fx,$ZodSet:()=>ba,$ZodRegistry:()=>sd,$ZodRecord:()=>Ta,$ZodRealError:()=>z0,$ZodReadonly:()=>da,$ZodPromise:()=>sa,$ZodPreprocess:()=>aa,$ZodPrefault:()=>ua,$ZodPipe:()=>WS,$ZodOptional:()=>JS,$ZodObjectJIT:()=>wa,$ZodObject:()=>V4A,$ZodNumberFormat:()=>Wa,$ZodNumber:()=>gS,$ZodNullable:()=>ya,$ZodNull:()=>Oa,$ZodNonOptional:()=>ma,$ZodNever:()=>Ia,$ZodNanoID:()=>ol,$ZodNaN:()=>la,$ZodMap:()=>Sa,$ZodMAC:()=>Ya,$ZodLiteral:()=>ka,$ZodLazy:()=>ra,$ZodKSUID:()=>Aa,$ZodJWT:()=>Ea,$ZodIntersection:()=>Ra,$ZodISOTime:()=>Fa,$ZodISODuration:()=>Za,$ZodISODateTime:()=>qa,$ZodISODate:()=>Ka,$ZodIPv6:()=>Ua,$ZodIPv4:()=>$a,$ZodGUID:()=>il,$ZodFunction:()=>oa,$ZodFile:()=>fa,$ZodExactOptional:()=>ha,$ZodError:()=>JP,$ZodEnum:()=>va,$ZodEncodeError:()=>Ax,$ZodEmoji:()=>nl,$ZodEmail:()=>al,$ZodE164:()=>Ha,$ZodDiscriminatedUnion:()=>Da,$ZodDefault:()=>ca,$ZodDate:()=>Na,$ZodCustomStringFormat:()=>Ja,$ZodCustom:()=>ta,$ZodCodec:()=>IP,$ZodCheckUpperCase:()=>kl,$ZodCheckStringFormat:()=>lL,$ZodCheckStartsWith:()=>Cl,$ZodCheckSizeEquals:()=>Dl,$ZodCheckRegex:()=>bl,$ZodCheckProperty:()=>yl,$ZodCheckOverwrite:()=>ul,$ZodCheckNumberFormat:()=>Nl,$ZodCheckMultipleOf:()=>Pl,$ZodCheckMinSize:()=>Bl,$ZodCheckMinLength:()=>Tl,$ZodCheckMimeType:()=>cl,$ZodCheckMaxSize:()=>wl,$ZodCheckMaxLength:()=>Rl,$ZodCheckLowerCase:()=>vl,$ZodCheckLessThan:()=>$S,$ZodCheckLengthEquals:()=>Sl,$ZodCheckIncludes:()=>fl,$ZodCheckGreaterThan:()=>US,$ZodCheckEndsWith:()=>hl,$ZodCheckBigIntFormat:()=>_l,$ZodCheck:()=>QZ,$ZodCatch:()=>ia,$ZodCUID2:()=>rl,$ZodCUID:()=>sl,$ZodCIDRv6:()=>Xa,$ZodCIDRv4:()=>Qa,$ZodBoolean:()=>MP,$ZodBigIntFormat:()=>xa,$ZodBigInt:()=>HS,$ZodBase64URL:()=>ga,$ZodBase64:()=>ja,$ZodAsyncError:()=>Yg,$ZodArray:()=>_a,$ZodAny:()=>Ma});var ugA,bi=Object.freeze({status:"aborted"});function aA(A,q,K){function F(Y,X){if(!Y._zod)Object.defineProperty(Y,"_zod",{value:{def:X,constr:U,traits:new Set},enumerable:!1});if(Y._zod.traits.has(A))return;Y._zod.traits.add(A),q(Y,X);let j=U.prototype,g=Object.keys(j);for(let E=0;E<g.length;E++){let J=g[E];if(!(J in Y))Y[J]=j[J].bind(Y)}}let Z=K?.Parent??Object;class $ extends Z{}Object.defineProperty($,"name",{value:A});function U(Y){var X;let j=K?.Parent?new $:this;F(j,Y),(X=j._zod).deferred??(X.deferred=[]);for(let g of j._zod.deferred)g();return j}return Object.defineProperty(U,"init",{value:F}),Object.defineProperty(U,Symbol.hasInstance,{value:(Y)=>{if(K?.Parent&&Y instanceof K.Parent)return!0;return Y?._zod?.traits?.has(A)}}),Object.defineProperty(U,"name",{value:A}),U}var vi=Symbol("zod_brand");class Yg extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ax extends Error{constructor(A){super(`Encountered unidirectional transform during encode: ${A}`);this.name="ZodEncodeError"}}(ugA=globalThis).__zod_globalConfig??(ugA.__zod_globalConfig={});var eW=globalThis.__zod_globalConfig;function d$(A){if(A)Object.assign(eW,A);return eW}var nq={};hG(nq,{unwrapMessage:()=>XP,uint8ArrayToHex:()=>ROq,uint8ArrayToBase64url:()=>BOq,uint8ArrayToBase64:()=>igA,stringifyPrimitive:()=>mq,slugify:()=>Ci,shallowClone:()=>yi,safeExtend:()=>zOq,required:()=>NOq,randomString:()=>JOq,propertyKeyTypes:()=>gP,promiseAllObject:()=>EOq,primitiveTypes:()=>ci,prefixIssues:()=>M0,pick:()=>LOq,partial:()=>POq,parsedType:()=>aq,optionalKeys:()=>ui,omit:()=>OOq,objectClone:()=>jOq,numKeys:()=>WOq,nullish:()=>XE,normalizeParams:()=>rq,mergeDefs:()=>s4,merge:()=>IOq,jsonStringifyReplacer:()=>hL,joinValues:()=>Uq,issue:()=>cL,isPlainObject:()=>jE,isObject:()=>qx,hexToUint8Array:()=>DOq,getSizableOrigin:()=>HP,getParsedType:()=>xOq,getLengthableOrigin:()=>EP,getEnumValues:()=>GP,getElementAtPath:()=>HOq,floatSafeRemainder:()=>fi,finalizeIssue:()=>NQ,extend:()=>MOq,explicitlyAborted:()=>ii,escapeRegex:()=>VX,esc:()=>aT,defineLazy:()=>PF,createTransparentProxy:()=>VOq,cloneDef:()=>gOq,clone:()=>PQ,cleanRegex:()=>jP,cleanEnum:()=>_Oq,captureStackTrace:()=>dT,cached:()=>yL,base64urlToUint8Array:()=>wOq,base64ToUint8Array:()=>pgA,assignProp:()=>GE,assertNotEqual:()=>YOq,assertNever:()=>XOq,assertIs:()=>QOq,assertEqual:()=>UOq,assert:()=>GOq,allowsEval:()=>hi,aborted:()=>gE,NUMBER_FORMAT_RANGES:()=>mi,Class:()=>lgA,BIGINT_FORMAT_RANGES:()=>pi});function UOq(A){return A}function YOq(A){return A}function QOq(A){}function XOq(A){throw Error("Unexpected value in exhaustive check")}function GOq(A){}function GP(A){let q=Object.values(A).filter((F)=>typeof F==="number");return Object.entries(A).filter(([F,Z])=>q.indexOf(+F)===-1).map(([F,Z])=>Z)}function Uq(A,q="|"){return A.map((K)=>mq(K)).join(q)}function hL(A,q){if(typeof q==="bigint")return q.toString();return q}function yL(A){return{get value(){{let K=A();return Object.defineProperty(this,"value",{value:K}),K}throw Error("cached value already set")}}}function XE(A){return A===null||A===void 0}function jP(A){let q=A.startsWith("^")?1:0,K=A.endsWith("$")?A.length-1:A.length;return A.slice(q,K)}function fi(A,q){let K=A/q,F=Math.round(K),Z=Number.EPSILON*Math.max(Math.abs(K),1);if(Math.abs(K-F)<Z)return 0;return K-F}var mgA=Symbol("evaluating");function PF(A,q,K){let F=void 0;Object.defineProperty(A,q,{get(){if(F===mgA)return;if(F===void 0)F=mgA,F=K();return F},set(Z){Object.defineProperty(A,q,{value:Z})},configurable:!0})}function jOq(A){return Object.create(Object.getPrototypeOf(A),Object.getOwnPropertyDescriptors(A))}function GE(A,q,K){Object.defineProperty(A,q,{value:K,writable:!0,enumerable:!0,configurable:!0})}function s4(...A){let q={};for(let K of A){let F=Object.getOwnPropertyDescriptors(K);Object.assign(q,F)}return Object.defineProperties({},q)}function gOq(A){return s4(A._zod.def)}function HOq(A,q){if(!q)return A;return q.reduce((K,F)=>K?.[F],A)}function EOq(A){let q=Object.keys(A),K=q.map((F)=>A[F]);return Promise.all(K).then((F)=>{let Z={};for(let $=0;$<q.length;$++)Z[q[$]]=F[$];return Z})}function JOq(A=10){let K="";for(let F=0;F<A;F++)K+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return K}function aT(A){return JSON.stringify(A)}function Ci(A){return A.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var dT="captureStackTrace"in Error?Error.captureStackTrace:(...A)=>{};function qx(A){return typeof A==="object"&&A!==null&&!Array.isArray(A)}var hi=yL(()=>{if(eW.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(A){return!1}});function jE(A){if(qx(A)===!1)return!1;let q=A.constructor;if(q===void 0)return!0;if(typeof q!=="function")return!0;let K=q.prototype;if(qx(K)===!1)return!1;if(Object.prototype.hasOwnProperty.call(K,"isPrototypeOf")===!1)return!1;return!0}function yi(A){if(jE(A))return{...A};if(Array.isArray(A))return[...A];if(A instanceof Map)return new Map(A);if(A instanceof Set)return new Set(A);return A}function WOq(A){let q=0;for(let K in A)if(Object.prototype.hasOwnProperty.call(A,K))q++;return q}var xOq=(A)=>{let q=typeof A;switch(q){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(A)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(A))return"array";if(A===null)return"null";if(A.then&&typeof A.then==="function"&&A.catch&&typeof A.catch==="function")return"promise";if(typeof Map<"u"&&A instanceof Map)return"map";if(typeof Set<"u"&&A instanceof Set)return"set";if(typeof Date<"u"&&A instanceof Date)return"date";if(typeof File<"u"&&A instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${q}`)}},gP=new Set(["string","number","symbol"]),ci=new Set(["string","number","bigint","boolean","symbol","undefined"]);function VX(A){return A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function PQ(A,q,K){let F=new A._zod.constr(q??A._zod.def);if(!q||K?.parent)F._zod.parent=A;return F}function rq(A){let q=A;if(!q)return{};if(typeof q==="string")return{error:()=>q};if(q?.message!==void 0){if(q?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");q.error=q.message}if(delete q.message,typeof q.error==="string")return{...q,error:()=>q.error};return q}function VOq(A){let q;return new Proxy({},{get(K,F,Z){return q??(q=A()),Reflect.get(q,F,Z)},set(K,F,Z,$){return q??(q=A()),Reflect.set(q,F,Z,$)},has(K,F){return q??(q=A()),Reflect.has(q,F)},deleteProperty(K,F){return q??(q=A()),Reflect.deleteProperty(q,F)},ownKeys(K){return q??(q=A()),Reflect.ownKeys(q)},getOwnPropertyDescriptor(K,F){return q??(q=A()),Reflect.getOwnPropertyDescriptor(q,F)},defineProperty(K,F,Z){return q??(q=A()),Reflect.defineProperty(q,F,Z)}})}function mq(A){if(typeof A==="bigint")return A.toString()+"n";if(typeof A==="string")return`"${A}"`;return`${A}`}function ui(A){return Object.keys(A).filter((q)=>{return A[q]._zod.optin==="optional"&&A[q]._zod.optout==="optional"})}var mi={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},pi={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function LOq(A,q){let K=A._zod.def,F=K.checks;if(F&&F.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let $=s4(A._zod.def,{get shape(){let U={};for(let Y in q){if(!(Y in K.shape))throw Error(`Unrecognized key: "${Y}"`);if(!q[Y])continue;U[Y]=K.shape[Y]}return GE(this,"shape",U),U},checks:[]});return PQ(A,$)}function OOq(A,q){let K=A._zod.def,F=K.checks;if(F&&F.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let $=s4(A._zod.def,{get shape(){let U={...A._zod.def.shape};for(let Y in q){if(!(Y in K.shape))throw Error(`Unrecognized key: "${Y}"`);if(!q[Y])continue;delete U[Y]}return GE(this,"shape",U),U},checks:[]});return PQ(A,$)}function MOq(A,q){if(!jE(q))throw Error("Invalid input to extend: expected a plain object");let K=A._zod.def.checks;if(K&&K.length>0){let $=A._zod.def.shape;for(let U in q)if(Object.getOwnPropertyDescriptor($,U)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let Z=s4(A._zod.def,{get shape(){let $={...A._zod.def.shape,...q};return GE(this,"shape",$),$}});return PQ(A,Z)}function zOq(A,q){if(!jE(q))throw Error("Invalid input to safeExtend: expected a plain object");let K=s4(A._zod.def,{get shape(){let F={...A._zod.def.shape,...q};return GE(this,"shape",F),F}});return PQ(A,K)}function IOq(A,q){if(A._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let K=s4(A._zod.def,{get shape(){let F={...A._zod.def.shape,...q._zod.def.shape};return GE(this,"shape",F),F},get catchall(){return q._zod.def.catchall},checks:q._zod.def.checks??[]});return PQ(A,K)}function POq(A,q,K){let Z=q._zod.def.checks;if(Z&&Z.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let U=s4(q._zod.def,{get shape(){let Y=q._zod.def.shape,X={...Y};if(K)for(let j in K){if(!(j in Y))throw Error(`Unrecognized key: "${j}"`);if(!K[j])continue;X[j]=A?new A({type:"optional",innerType:Y[j]}):Y[j]}else for(let j in Y)X[j]=A?new A({type:"optional",innerType:Y[j]}):Y[j];return GE(this,"shape",X),X},checks:[]});return PQ(q,U)}function NOq(A,q,K){let F=s4(q._zod.def,{get shape(){let Z=q._zod.def.shape,$={...Z};if(K)for(let U in K){if(!(U in $))throw Error(`Unrecognized key: "${U}"`);if(!K[U])continue;$[U]=new A({type:"nonoptional",innerType:Z[U]})}else for(let U in Z)$[U]=new A({type:"nonoptional",innerType:Z[U]});return GE(this,"shape",$),$}});return PQ(q,F)}function gE(A,q=0){if(A.aborted===!0)return!0;for(let K=q;K<A.issues.length;K++)if(A.issues[K]?.continue!==!0)return!0;return!1}function ii(A,q=0){if(A.aborted===!0)return!0;for(let K=q;K<A.issues.length;K++)if(A.issues[K]?.continue===!1)return!0;return!1}function M0(A,q){return q.map((K)=>{var F;return(F=K).path??(F.path=[]),K.path.unshift(A),K})}function XP(A){return typeof A==="string"?A:A?.message}function NQ(A,q,K){let F=A.message?A.message:XP(A.inst?._zod.def?.error?.(A))??XP(q?.error?.(A))??XP(K.customError?.(A))??XP(K.localeError?.(A))??"Invalid input",{inst:Z,continue:$,input:U,...Y}=A;if(Y.path??(Y.path=[]),Y.message=F,q?.reportInput)Y.input=U;return Y}function HP(A){if(A instanceof Set)return"set";if(A instanceof Map)return"map";if(A instanceof File)return"file";return"unknown"}function EP(A){if(Array.isArray(A))return"array";if(typeof A==="string")return"string";return"unknown"}function aq(A){let q=typeof A;switch(q){case"number":return Number.isNaN(A)?"nan":"number";case"object":{if(A===null)return"null";if(Array.isArray(A))return"array";let K=A;if(K&&Object.getPrototypeOf(K)!==Object.prototype&&"constructor"in K&&K.constructor)return K.constructor.name}}return q}function cL(...A){let[q,K,F]=A;if(typeof q==="string")return{message:q,code:"custom",input:K,inst:F};return{...q}}function _Oq(A){return Object.entries(A).filter(([q,K])=>{return Number.isNaN(Number.parseInt(q,10))}).map((q)=>q[1])}function pgA(A){let q=atob(A),K=new Uint8Array(q.length);for(let F=0;F<q.length;F++)K[F]=q.charCodeAt(F);return K}function igA(A){let q="";for(let K=0;K<A.length;K++)q+=String.fromCharCode(A[K]);return btoa(q)}function wOq(A){let q=A.replace(/-/g,"+").replace(/_/g,"/"),K="=".repeat((4-q.length%4)%4);return pgA(q+K)}function BOq(A){return igA(A).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function DOq(A){let q=A.replace(/^0x/,"");if(q.length%2!==0)throw Error("Invalid hex string length");let K=new Uint8Array(q.length/2);for(let F=0;F<q.length;F+=2)K[F/2]=Number.parseInt(q.slice(F,F+2),16);return K}function ROq(A){return Array.from(A).map((q)=>q.toString(16).padStart(2,"0")).join("")}class lgA{constructor(...A){}}var agA=(A,q)=>{A.name="$ZodError",Object.defineProperty(A,"_zod",{value:A._zod,enumerable:!1}),Object.defineProperty(A,"issues",{value:q,enumerable:!1}),A.message=JSON.stringify(q,hL,2),Object.defineProperty(A,"toString",{value:()=>A.message,enumerable:!1})},JP=aA("$ZodError",agA),z0=aA("$ZodError",agA,{Parent:Error});function WP(A,q=(K)=>K.message){let K={},F=[];for(let Z of A.issues)if(Z.path.length>0)K[Z.path[0]]=K[Z.path[0]]||[],K[Z.path[0]].push(q(Z));else F.push(q(Z));return{formErrors:F,fieldErrors:K}}function xP(A,q=(K)=>K.message){let K={_errors:[]},F=(Z,$=[])=>{for(let U of Z.issues)if(U.code==="invalid_union"&&U.errors.length)U.errors.map((Y)=>F({issues:Y},[...$,...U.path]));else if(U.code==="invalid_key")F({issues:U.issues},[...$,...U.path]);else if(U.code==="invalid_element")F({issues:U.issues},[...$,...U.path]);else{let Y=[...$,...U.path];if(Y.length===0)K._errors.push(q(U));else{let X=K,j=0;while(j<Y.length){let g=Y[j];if(j!==Y.length-1)X[g]=X[g]||{_errors:[]};else X[g]=X[g]||{_errors:[]},X[g]._errors.push(q(U));X=X[g],j++}}}};return F(A),K}function li(A,q=(K)=>K.message){let K={errors:[]},F=(Z,$=[])=>{var U,Y;for(let X of Z.issues)if(X.code==="invalid_union"&&X.errors.length)X.errors.map((j)=>F({issues:j},[...$,...X.path]));else if(X.code==="invalid_key")F({issues:X.issues},[...$,...X.path]);else if(X.code==="invalid_element")F({issues:X.issues},[...$,...X.path]);else{let j=[...$,...X.path];if(j.length===0){K.errors.push(q(X));continue}let g=K,E=0;while(E<j.length){let J=j[E],W=E===j.length-1;if(typeof J==="string")g.properties??(g.properties={}),(U=g.properties)[J]??(U[J]={errors:[]}),g=g.properties[J];else g.items??(g.items=[]),(Y=g.items)[J]??(Y[J]={errors:[]}),g=g.items[J];if(W)g.errors.push(q(X));E++}}};return F(A),K}function dgA(A){let q=[],K=A.map((F)=>typeof F==="object"?F.key:F);for(let F of K)if(typeof F==="number")q.push(`[${F}]`);else if(typeof F==="symbol")q.push(`[${JSON.stringify(String(F))}]`);else if(/[^\w$]/.test(F))q.push(`[${JSON.stringify(F)}]`);else{if(q.length)q.push(".");q.push(F)}return q.join("")}function ai(A){let q=[],K=[...A.issues].sort((F,Z)=>(F.path??[]).length-(Z.path??[]).length);for(let F of K)if(q.push(`\u2716 ${F.message}`),F.path?.length)q.push(` \u2192 at ${dgA(F.path)}`);return q.join(`
|
|
895
895
|
`)}var uL=(A)=>(q,K,F,Z)=>{let $=F?{...F,async:!1}:{async:!1},U=q._zod.run({value:K,issues:[]},$);if(U instanceof Promise)throw new Yg;if(U.issues.length){let Y=new(Z?.Err??A)(U.issues.map((X)=>NQ(X,$,d$())));throw dT(Y,Z?.callee),Y}return U.value},nT=uL(z0),mL=(A)=>async(q,K,F,Z)=>{let $=F?{...F,async:!0}:{async:!0},U=q._zod.run({value:K,issues:[]},$);if(U instanceof Promise)U=await U;if(U.issues.length){let Y=new(Z?.Err??A)(U.issues.map((X)=>NQ(X,$,d$())));throw dT(Y,Z?.callee),Y}return U.value},oT=mL(z0),pL=(A)=>(q,K,F)=>{let Z=F?{...F,async:!1}:{async:!1},$=q._zod.run({value:K,issues:[]},Z);if($ instanceof Promise)throw new Yg;return $.issues.length?{success:!1,error:new(A??JP)($.issues.map((U)=>NQ(U,Z,d$())))}:{success:!0,data:$.value}},di=pL(z0),iL=(A)=>async(q,K,F)=>{let Z=F?{...F,async:!0}:{async:!0},$=q._zod.run({value:K,issues:[]},Z);if($ instanceof Promise)$=await $;return $.issues.length?{success:!1,error:new A($.issues.map((U)=>NQ(U,Z,d$())))}:{success:!0,data:$.value}},ni=iL(z0),sT=(A)=>(q,K,F)=>{let Z=F?{...F,direction:"backward"}:{direction:"backward"};return uL(A)(q,K,Z)},SOq=sT(z0),rT=(A)=>(q,K,F)=>{return uL(A)(q,K,F)},bOq=rT(z0),tT=(A)=>async(q,K,F)=>{let Z=F?{...F,direction:"backward"}:{direction:"backward"};return mL(A)(q,K,Z)},vOq=tT(z0),eT=(A)=>async(q,K,F)=>{return mL(A)(q,K,F)},kOq=eT(z0),AS=(A)=>(q,K,F)=>{let Z=F?{...F,direction:"backward"}:{direction:"backward"};return pL(A)(q,K,Z)},fOq=AS(z0),qS=(A)=>(q,K,F)=>{return pL(A)(q,K,F)},COq=qS(z0),KS=(A)=>async(q,K,F)=>{let Z=F?{...F,direction:"backward"}:{direction:"backward"};return iL(A)(q,K,Z)},hOq=KS(z0),FS=(A)=>async(q,K,F)=>{return iL(A)(q,K,F)},yOq=FS(z0);var J8={};hG(J8,{xid:()=>ti,uuid7:()=>pOq,uuid6:()=>mOq,uuid4:()=>uOq,uuid:()=>Kx,uppercase:()=>Il,unicodeEmail:()=>ngA,undefined:()=>Ml,ulid:()=>ri,time:()=>El,string:()=>Wl,sha512_hex:()=>GMq,sha512_base64url:()=>gMq,sha512_base64:()=>jMq,sha384_hex:()=>YMq,sha384_base64url:()=>XMq,sha384_base64:()=>QMq,sha256_hex:()=>ZMq,sha256_base64url:()=>UMq,sha256_base64:()=>$Mq,sha1_hex:()=>qMq,sha1_base64url:()=>FMq,sha1_base64:()=>KMq,rfc5322Email:()=>lOq,number:()=>VP,null:()=>Ol,nanoid:()=>Al,md5_hex:()=>tOq,md5_base64url:()=>AMq,md5_base64:()=>eOq,mac:()=>Yl,lowercase:()=>zl,ksuid:()=>ei,ipv6:()=>Ul,ipv4:()=>$l,integer:()=>Vl,idnEmail:()=>aOq,httpProtocol:()=>jl,html5Email:()=>iOq,hostname:()=>oOq,hex:()=>rOq,guid:()=>Kl,extendedDuration:()=>cOq,emoji:()=>Zl,email:()=>Fl,e164:()=>gl,duration:()=>ql,domain:()=>sOq,datetime:()=>Jl,date:()=>Hl,cuid2:()=>si,cuid:()=>oi,cidrv6:()=>Xl,cidrv4:()=>Ql,browserEmail:()=>dOq,boolean:()=>Ll,bigint:()=>xl,base64url:()=>ZS,base64:()=>Gl});var oi=/^[cC][0-9a-z]{6,}$/,si=/^[0-9a-z]+$/,ri=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ti=/^[0-9a-vA-V]{20}$/,ei=/^[A-Za-z0-9]{27}$/,Al=/^[a-zA-Z0-9_-]{21}$/,ql=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,cOq=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Kl=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Kx=(A)=>{if(!A)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${A}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},uOq=Kx(4),mOq=Kx(6),pOq=Kx(7),Fl=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,iOq=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,lOq=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,ngA=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,aOq=ngA,dOq=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,nOq="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Zl(){return new RegExp(nOq,"u")}var $l=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ul=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Yl=(A)=>{let q=VX(A??":");return new RegExp(`^(?:[0-9A-F]{2}${q}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${q}){5}[0-9a-f]{2}$`)},Ql=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Xl=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Gl=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ZS=/^[A-Za-z0-9_-]*$/,oOq=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,sOq=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,jl=/^https?$/,gl=/^\+[1-9]\d{6,14}$/,ogA="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Hl=new RegExp(`^${ogA}$`);function sgA(A){return typeof A.precision==="number"?A.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":A.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${A.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function El(A){return new RegExp(`^${sgA(A)}$`)}function Jl(A){let q=sgA({precision:A.precision}),K=["Z"];if(A.local)K.push("");if(A.offset)K.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let F=`${q}(?:${K.join("|")})`;return new RegExp(`^${ogA}T(?:${F})$`)}var Wl=(A)=>{let q=A?`[\\s\\S]{${A?.minimum??0},${A?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${q}$`)},xl=/^-?\d+n?$/,Vl=/^-?\d+$/,VP=/^-?\d+(?:\.\d+)?$/,Ll=/^(?:true|false)$/i,Ol=/^null$/i;var Ml=/^undefined$/i;var zl=/^[^A-Z]*$/,Il=/^[^a-z]*$/,rOq=/^[0-9a-fA-F]*$/;function LP(A,q){return new RegExp(`^[A-Za-z0-9+/]{${A}}${q}$`)}function OP(A){return new RegExp(`^[A-Za-z0-9_-]{${A}}$`)}var tOq=/^[0-9a-fA-F]{32}$/,eOq=LP(22,"=="),AMq=OP(22),qMq=/^[0-9a-fA-F]{40}$/,KMq=LP(27,"="),FMq=OP(27),ZMq=/^[0-9a-fA-F]{64}$/,$Mq=LP(43,"="),UMq=OP(43),YMq=/^[0-9a-fA-F]{96}$/,QMq=LP(64,""),XMq=OP(64),GMq=/^[0-9a-fA-F]{128}$/,jMq=LP(86,"=="),gMq=OP(86);var QZ=aA("$ZodCheck",(A,q)=>{var K;A._zod??(A._zod={}),A._zod.def=q,(K=A._zod).onattach??(K.onattach=[])}),tgA={number:"number",bigint:"bigint",object:"date"},$S=aA("$ZodCheckLessThan",(A,q)=>{QZ.init(A,q);let K=tgA[typeof q.value];A._zod.onattach.push((F)=>{let Z=F._zod.bag,$=(q.inclusive?Z.maximum:Z.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(q.value<$)if(q.inclusive)Z.maximum=q.value;else Z.exclusiveMaximum=q.value}),A._zod.check=(F)=>{if(q.inclusive?F.value<=q.value:F.value<q.value)return;F.issues.push({origin:K,code:"too_big",maximum:typeof q.value==="object"?q.value.getTime():q.value,input:F.value,inclusive:q.inclusive,inst:A,continue:!q.abort})}}),US=aA("$ZodCheckGreaterThan",(A,q)=>{QZ.init(A,q);let K=tgA[typeof q.value];A._zod.onattach.push((F)=>{let Z=F._zod.bag,$=(q.inclusive?Z.minimum:Z.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(q.value>$)if(q.inclusive)Z.minimum=q.value;else Z.exclusiveMinimum=q.value}),A._zod.check=(F)=>{if(q.inclusive?F.value>=q.value:F.value>q.value)return;F.issues.push({origin:K,code:"too_small",minimum:typeof q.value==="object"?q.value.getTime():q.value,input:F.value,inclusive:q.inclusive,inst:A,continue:!q.abort})}}),Pl=aA("$ZodCheckMultipleOf",(A,q)=>{QZ.init(A,q),A._zod.onattach.push((K)=>{var F;(F=K._zod.bag).multipleOf??(F.multipleOf=q.value)}),A._zod.check=(K)=>{if(typeof K.value!==typeof q.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof K.value==="bigint"?K.value%q.value===BigInt(0):fi(K.value,q.value)===0)return;K.issues.push({origin:typeof K.value,code:"not_multiple_of",divisor:q.value,input:K.value,inst:A,continue:!q.abort})}}),Nl=aA("$ZodCheckNumberFormat",(A,q)=>{QZ.init(A,q),q.format=q.format||"float64";let K=q.format?.includes("int"),F=K?"int":"number",[Z,$]=mi[q.format];A._zod.onattach.push((U)=>{let Y=U._zod.bag;if(Y.format=q.format,Y.minimum=Z,Y.maximum=$,K)Y.pattern=Vl}),A._zod.check=(U)=>{let Y=U.value;if(K){if(!Number.isInteger(Y)){U.issues.push({expected:F,format:q.format,code:"invalid_type",continue:!1,input:Y,inst:A});return}if(!Number.isSafeInteger(Y)){if(Y>0)U.issues.push({input:Y,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:A,origin:F,inclusive:!0,continue:!q.abort});else U.issues.push({input:Y,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:A,origin:F,inclusive:!0,continue:!q.abort});return}}if(Y<Z)U.issues.push({origin:"number",input:Y,code:"too_small",minimum:Z,inclusive:!0,inst:A,continue:!q.abort});if(Y>$)U.issues.push({origin:"number",input:Y,code:"too_big",maximum:$,inclusive:!0,inst:A,continue:!q.abort})}}),_l=aA("$ZodCheckBigIntFormat",(A,q)=>{QZ.init(A,q);let[K,F]=pi[q.format];A._zod.onattach.push((Z)=>{let $=Z._zod.bag;$.format=q.format,$.minimum=K,$.maximum=F}),A._zod.check=(Z)=>{let $=Z.value;if($<K)Z.issues.push({origin:"bigint",input:$,code:"too_small",minimum:K,inclusive:!0,inst:A,continue:!q.abort});if($>F)Z.issues.push({origin:"bigint",input:$,code:"too_big",maximum:F,inclusive:!0,inst:A,continue:!q.abort})}}),wl=aA("$ZodCheckMaxSize",(A,q)=>{var K;QZ.init(A,q),(K=A._zod.def).when??(K.when=(F)=>{let Z=F.value;return!XE(Z)&&Z.size!==void 0}),A._zod.onattach.push((F)=>{let Z=F._zod.bag.maximum??Number.POSITIVE_INFINITY;if(q.maximum<Z)F._zod.bag.maximum=q.maximum}),A._zod.check=(F)=>{let Z=F.value;if(Z.size<=q.maximum)return;F.issues.push({origin:HP(Z),code:"too_big",maximum:q.maximum,inclusive:!0,input:Z,inst:A,continue:!q.abort})}}),Bl=aA("$ZodCheckMinSize",(A,q)=>{var K;QZ.init(A,q),(K=A._zod.def).when??(K.when=(F)=>{let Z=F.value;return!XE(Z)&&Z.size!==void 0}),A._zod.onattach.push((F)=>{let Z=F._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(q.minimum>Z)F._zod.bag.minimum=q.minimum}),A._zod.check=(F)=>{let Z=F.value;if(Z.size>=q.minimum)return;F.issues.push({origin:HP(Z),code:"too_small",minimum:q.minimum,inclusive:!0,input:Z,inst:A,continue:!q.abort})}}),Dl=aA("$ZodCheckSizeEquals",(A,q)=>{var K;QZ.init(A,q),(K=A._zod.def).when??(K.when=(F)=>{let Z=F.value;return!XE(Z)&&Z.size!==void 0}),A._zod.onattach.push((F)=>{let Z=F._zod.bag;Z.minimum=q.size,Z.maximum=q.size,Z.size=q.size}),A._zod.check=(F)=>{let Z=F.value,$=Z.size;if($===q.size)return;let U=$>q.size;F.issues.push({origin:HP(Z),...U?{code:"too_big",maximum:q.size}:{code:"too_small",minimum:q.size},inclusive:!0,exact:!0,input:F.value,inst:A,continue:!q.abort})}}),Rl=aA("$ZodCheckMaxLength",(A,q)=>{var K;QZ.init(A,q),(K=A._zod.def).when??(K.when=(F)=>{let Z=F.value;return!XE(Z)&&Z.length!==void 0}),A._zod.onattach.push((F)=>{let Z=F._zod.bag.maximum??Number.POSITIVE_INFINITY;if(q.maximum<Z)F._zod.bag.maximum=q.maximum}),A._zod.check=(F)=>{let Z=F.value;if(Z.length<=q.maximum)return;let U=EP(Z);F.issues.push({origin:U,code:"too_big",maximum:q.maximum,inclusive:!0,input:Z,inst:A,continue:!q.abort})}}),Tl=aA("$ZodCheckMinLength",(A,q)=>{var K;QZ.init(A,q),(K=A._zod.def).when??(K.when=(F)=>{let Z=F.value;return!XE(Z)&&Z.length!==void 0}),A._zod.onattach.push((F)=>{let Z=F._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(q.minimum>Z)F._zod.bag.minimum=q.minimum}),A._zod.check=(F)=>{let Z=F.value;if(Z.length>=q.minimum)return;let U=EP(Z);F.issues.push({origin:U,code:"too_small",minimum:q.minimum,inclusive:!0,input:Z,inst:A,continue:!q.abort})}}),Sl=aA("$ZodCheckLengthEquals",(A,q)=>{var K;QZ.init(A,q),(K=A._zod.def).when??(K.when=(F)=>{let Z=F.value;return!XE(Z)&&Z.length!==void 0}),A._zod.onattach.push((F)=>{let Z=F._zod.bag;Z.minimum=q.length,Z.maximum=q.length,Z.length=q.length}),A._zod.check=(F)=>{let Z=F.value,$=Z.length;if($===q.length)return;let U=EP(Z),Y=$>q.length;F.issues.push({origin:U,...Y?{code:"too_big",maximum:q.length}:{code:"too_small",minimum:q.length},inclusive:!0,exact:!0,input:F.value,inst:A,continue:!q.abort})}}),lL=aA("$ZodCheckStringFormat",(A,q)=>{var K,F;if(QZ.init(A,q),A._zod.onattach.push((Z)=>{let $=Z._zod.bag;if($.format=q.format,q.pattern)$.patterns??($.patterns=new Set),$.patterns.add(q.pattern)}),q.pattern)(K=A._zod).check??(K.check=(Z)=>{if(q.pattern.lastIndex=0,q.pattern.test(Z.value))return;Z.issues.push({origin:"string",code:"invalid_format",format:q.format,input:Z.value,...q.pattern?{pattern:q.pattern.toString()}:{},inst:A,continue:!q.abort})});else(F=A._zod).check??(F.check=()=>{})}),bl=aA("$ZodCheckRegex",(A,q)=>{lL.init(A,q),A._zod.check=(K)=>{if(q.pattern.lastIndex=0,q.pattern.test(K.value))return;K.issues.push({origin:"string",code:"invalid_format",format:"regex",input:K.value,pattern:q.pattern.toString(),inst:A,continue:!q.abort})}}),vl=aA("$ZodCheckLowerCase",(A,q)=>{q.pattern??(q.pattern=zl),lL.init(A,q)}),kl=aA("$ZodCheckUpperCase",(A,q)=>{q.pattern??(q.pattern=Il),lL.init(A,q)}),fl=aA("$ZodCheckIncludes",(A,q)=>{QZ.init(A,q);let K=VX(q.includes),F=new RegExp(typeof q.position==="number"?`^.{${q.position}}${K}`:K);q.pattern=F,A._zod.onattach.push((Z)=>{let $=Z._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(F)}),A._zod.check=(Z)=>{if(Z.value.includes(q.includes,q.position))return;Z.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:q.includes,input:Z.value,inst:A,continue:!q.abort})}}),Cl=aA("$ZodCheckStartsWith",(A,q)=>{QZ.init(A,q);let K=new RegExp(`^${VX(q.prefix)}.*`);q.pattern??(q.pattern=K),A._zod.onattach.push((F)=>{let Z=F._zod.bag;Z.patterns??(Z.patterns=new Set),Z.patterns.add(K)}),A._zod.check=(F)=>{if(F.value.startsWith(q.prefix))return;F.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:q.prefix,input:F.value,inst:A,continue:!q.abort})}}),hl=aA("$ZodCheckEndsWith",(A,q)=>{QZ.init(A,q);let K=new RegExp(`.*${VX(q.suffix)}$`);q.pattern??(q.pattern=K),A._zod.onattach.push((F)=>{let Z=F._zod.bag;Z.patterns??(Z.patterns=new Set),Z.patterns.add(K)}),A._zod.check=(F)=>{if(F.value.endsWith(q.suffix))return;F.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:q.suffix,input:F.value,inst:A,continue:!q.abort})}});function rgA(A,q,K){if(A.issues.length)q.issues.push(...M0(K,A.issues))}var yl=aA("$ZodCheckProperty",(A,q)=>{QZ.init(A,q),A._zod.check=(K)=>{let F=q.schema._zod.run({value:K.value[q.property],issues:[]},{});if(F instanceof Promise)return F.then((Z)=>rgA(Z,K,q.property));rgA(F,K,q.property);return}}),cl=aA("$ZodCheckMimeType",(A,q)=>{QZ.init(A,q);let K=new Set(q.mime);A._zod.onattach.push((F)=>{F._zod.bag.mime=q.mime}),A._zod.check=(F)=>{if(K.has(F.value.type))return;F.issues.push({code:"invalid_value",values:q.mime,input:F.value.type,inst:A,continue:!q.abort})}}),ul=aA("$ZodCheckOverwrite",(A,q)=>{QZ.init(A,q),A._zod.check=(K)=>{K.value=q.tx(K.value)}});class YS{constructor(A=[]){if(this.content=[],this.indent=0,this)this.args=A}indented(A){this.indent+=1,A(this),this.indent-=1}write(A){if(typeof A==="function"){A(this,{execution:"sync"}),A(this,{execution:"async"});return}let K=A.split(`
|
|
896
896
|
`).filter(($)=>$),F=Math.min(...K.map(($)=>$.length-$.trimStart().length)),Z=K.map(($)=>$.slice(F)).map(($)=>" ".repeat(this.indent*2)+$);for(let $ of Z)this.content.push($)}compile(){let A=Function,q=this?.args,F=[...(this?.content??[""]).map((Z)=>` ${Z}`)];return new A(...q,F.join(`
|
|
897
897
|
`))}}var ml={major:4,minor:4,patch:3};var hK=aA("$ZodType",(A,q)=>{var K;A??(A={}),A._zod.def=q,A._zod.bag=A._zod.bag||{},A._zod.version=ml;let F=[...A._zod.def.checks??[]];if(A._zod.traits.has("$ZodCheck"))F.unshift(A);for(let Z of F)for(let $ of Z._zod.onattach)$(A);if(F.length===0)(K=A._zod).deferred??(K.deferred=[]),A._zod.deferred?.push(()=>{A._zod.run=A._zod.parse});else{let Z=(U,Y,X)=>{let j=gE(U),g;for(let E of Y){if(E._zod.def.when){if(ii(U))continue;if(!E._zod.def.when(U))continue}else if(j)continue;let J=U.issues.length,W=E._zod.check(U);if(W instanceof Promise&&X?.async===!1)throw new Yg;if(g||W instanceof Promise)g=(g??Promise.resolve()).then(async()=>{if(await W,U.issues.length===J)return;if(!j)j=gE(U,J)});else{if(U.issues.length===J)continue;if(!j)j=gE(U,J)}}if(g)return g.then(()=>{return U});return U},$=(U,Y,X)=>{if(gE(U))return U.aborted=!0,U;let j=Z(Y,F,X);if(j instanceof Promise){if(X.async===!1)throw new Yg;return j.then((g)=>A._zod.parse(g,X))}return A._zod.parse(j,X)};A._zod.run=(U,Y)=>{if(Y.skipChecks)return A._zod.parse(U,Y);if(Y.direction==="backward"){let j=A._zod.parse({value:U.value,issues:[]},{...Y,skipChecks:!0});if(j instanceof Promise)return j.then((g)=>{return $(g,U,Y)});return $(j,U,Y)}let X=A._zod.parse(U,Y);if(X instanceof Promise){if(Y.async===!1)throw new Yg;return X.then((j)=>Z(j,F,Y))}return Z(X,F,Y)}}PF(A,"~standard",()=>({validate:(Z)=>{try{let $=di(A,Z);return $.success?{value:$.data}:{issues:$.error?.issues}}catch($){return ni(A,Z).then((U)=>U.success?{value:U.data}:{issues:U.error?.issues})}},vendor:"zod",version:1}))}),Fx=aA("$ZodString",(A,q)=>{hK.init(A,q),A._zod.pattern=[...A?._zod.bag?.patterns??[]].pop()??Wl(A._zod.bag),A._zod.parse=(K,F)=>{if(q.coerce)try{K.value=String(K.value)}catch(Z){}if(typeof K.value==="string")return K;return K.issues.push({expected:"string",code:"invalid_type",input:K.value,inst:A}),K}}),n1=aA("$ZodStringFormat",(A,q)=>{lL.init(A,q),Fx.init(A,q)}),il=aA("$ZodGUID",(A,q)=>{q.pattern??(q.pattern=Kl),n1.init(A,q)}),ll=aA("$ZodUUID",(A,q)=>{if(q.version){let F={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[q.version];if(F===void 0)throw Error(`Invalid UUID version: "${q.version}"`);q.pattern??(q.pattern=Kx(F))}else q.pattern??(q.pattern=Kx());n1.init(A,q)}),al=aA("$ZodEmail",(A,q)=>{q.pattern??(q.pattern=Fl),n1.init(A,q)}),dl=aA("$ZodURL",(A,q)=>{n1.init(A,q),A._zod.check=(K)=>{try{let F=K.value.trim();if(!q.normalize&&q.protocol?.source===jl.source){if(!/^https?:\/\//i.test(F)){K.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:K.value,inst:A,continue:!q.abort});return}}let Z=new URL(F);if(q.hostname){if(q.hostname.lastIndex=0,!q.hostname.test(Z.hostname))K.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:q.hostname.source,input:K.value,inst:A,continue:!q.abort})}if(q.protocol){if(q.protocol.lastIndex=0,!q.protocol.test(Z.protocol.endsWith(":")?Z.protocol.slice(0,-1):Z.protocol))K.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:q.protocol.source,input:K.value,inst:A,continue:!q.abort})}if(q.normalize)K.value=Z.href;else K.value=F;return}catch(F){K.issues.push({code:"invalid_format",format:"url",input:K.value,inst:A,continue:!q.abort})}}}),nl=aA("$ZodEmoji",(A,q)=>{q.pattern??(q.pattern=Zl()),n1.init(A,q)}),ol=aA("$ZodNanoID",(A,q)=>{q.pattern??(q.pattern=Al),n1.init(A,q)}),sl=aA("$ZodCUID",(A,q)=>{q.pattern??(q.pattern=oi),n1.init(A,q)}),rl=aA("$ZodCUID2",(A,q)=>{q.pattern??(q.pattern=si),n1.init(A,q)}),tl=aA("$ZodULID",(A,q)=>{q.pattern??(q.pattern=ri),n1.init(A,q)}),el=aA("$ZodXID",(A,q)=>{q.pattern??(q.pattern=ti),n1.init(A,q)}),Aa=aA("$ZodKSUID",(A,q)=>{q.pattern??(q.pattern=ei),n1.init(A,q)}),qa=aA("$ZodISODateTime",(A,q)=>{q.pattern??(q.pattern=Jl(q)),n1.init(A,q)}),Ka=aA("$ZodISODate",(A,q)=>{q.pattern??(q.pattern=Hl),n1.init(A,q)}),Fa=aA("$ZodISOTime",(A,q)=>{q.pattern??(q.pattern=El(q)),n1.init(A,q)}),Za=aA("$ZodISODuration",(A,q)=>{q.pattern??(q.pattern=ql),n1.init(A,q)}),$a=aA("$ZodIPv4",(A,q)=>{q.pattern??(q.pattern=$l),n1.init(A,q),A._zod.bag.format="ipv4"}),Ua=aA("$ZodIPv6",(A,q)=>{q.pattern??(q.pattern=Ul),n1.init(A,q),A._zod.bag.format="ipv6",A._zod.check=(K)=>{try{new URL(`http://[${K.value}]`)}catch{K.issues.push({code:"invalid_format",format:"ipv6",input:K.value,inst:A,continue:!q.abort})}}}),Ya=aA("$ZodMAC",(A,q)=>{q.pattern??(q.pattern=Yl(q.delimiter)),n1.init(A,q),A._zod.bag.format="mac"}),Qa=aA("$ZodCIDRv4",(A,q)=>{q.pattern??(q.pattern=Ql),n1.init(A,q)}),Xa=aA("$ZodCIDRv6",(A,q)=>{q.pattern??(q.pattern=Xl),n1.init(A,q),A._zod.check=(K)=>{let F=K.value.split("/");try{if(F.length!==2)throw Error();let[Z,$]=F;if(!$)throw Error();let U=Number($);if(`${U}`!==$)throw Error();if(U<0||U>128)throw Error();new URL(`http://[${Z}]`)}catch{K.issues.push({code:"invalid_format",format:"cidrv6",input:K.value,inst:A,continue:!q.abort})}}});function Ga(A){if(A==="")return!0;if(/\s/.test(A))return!1;if(A.length%4!==0)return!1;try{return atob(A),!0}catch{return!1}}var ja=aA("$ZodBase64",(A,q)=>{q.pattern??(q.pattern=Gl),n1.init(A,q),A._zod.bag.contentEncoding="base64",A._zod.check=(K)=>{if(Ga(K.value))return;K.issues.push({code:"invalid_format",format:"base64",input:K.value,inst:A,continue:!q.abort})}});function E4A(A){if(!ZS.test(A))return!1;let q=A.replace(/[-_]/g,(F)=>F==="-"?"+":"/"),K=q.padEnd(Math.ceil(q.length/4)*4,"=");return Ga(K)}var ga=aA("$ZodBase64URL",(A,q)=>{q.pattern??(q.pattern=ZS),n1.init(A,q),A._zod.bag.contentEncoding="base64url",A._zod.check=(K)=>{if(E4A(K.value))return;K.issues.push({code:"invalid_format",format:"base64url",input:K.value,inst:A,continue:!q.abort})}}),Ha=aA("$ZodE164",(A,q)=>{q.pattern??(q.pattern=gl),n1.init(A,q)});function J4A(A,q=null){try{let K=A.split(".");if(K.length!==3)return!1;let[F]=K;if(!F)return!1;let Z=JSON.parse(atob(F));if("typ"in Z&&Z?.typ!=="JWT")return!1;if(!Z.alg)return!1;if(q&&(!("alg"in Z)||Z.alg!==q))return!1;return!0}catch{return!1}}var Ea=aA("$ZodJWT",(A,q)=>{n1.init(A,q),A._zod.check=(K)=>{if(J4A(K.value,q.alg))return;K.issues.push({code:"invalid_format",format:"jwt",input:K.value,inst:A,continue:!q.abort})}}),Ja=aA("$ZodCustomStringFormat",(A,q)=>{n1.init(A,q),A._zod.check=(K)=>{if(q.fn(K.value))return;K.issues.push({code:"invalid_format",format:q.format,input:K.value,inst:A,continue:!q.abort})}}),gS=aA("$ZodNumber",(A,q)=>{hK.init(A,q),A._zod.pattern=A._zod.bag.pattern??VP,A._zod.parse=(K,F)=>{if(q.coerce)try{K.value=Number(K.value)}catch(U){}let Z=K.value;if(typeof Z==="number"&&!Number.isNaN(Z)&&Number.isFinite(Z))return K;let $=typeof Z==="number"?Number.isNaN(Z)?"NaN":!Number.isFinite(Z)?"Infinity":void 0:void 0;return K.issues.push({expected:"number",code:"invalid_type",input:Z,inst:A,...$?{received:$}:{}}),K}}),Wa=aA("$ZodNumberFormat",(A,q)=>{Nl.init(A,q),gS.init(A,q)}),MP=aA("$ZodBoolean",(A,q)=>{hK.init(A,q),A._zod.pattern=Ll,A._zod.parse=(K,F)=>{if(q.coerce)try{K.value=Boolean(K.value)}catch($){}let Z=K.value;if(typeof Z==="boolean")return K;return K.issues.push({expected:"boolean",code:"invalid_type",input:Z,inst:A}),K}}),HS=aA("$ZodBigInt",(A,q)=>{hK.init(A,q),A._zod.pattern=xl,A._zod.parse=(K,F)=>{if(q.coerce)try{K.value=BigInt(K.value)}catch(Z){}if(typeof K.value==="bigint")return K;return K.issues.push({expected:"bigint",code:"invalid_type",input:K.value,inst:A}),K}}),xa=aA("$ZodBigIntFormat",(A,q)=>{_l.init(A,q),HS.init(A,q)}),Va=aA("$ZodSymbol",(A,q)=>{hK.init(A,q),A._zod.parse=(K,F)=>{let Z=K.value;if(typeof Z==="symbol")return K;return K.issues.push({expected:"symbol",code:"invalid_type",input:Z,inst:A}),K}}),La=aA("$ZodUndefined",(A,q)=>{hK.init(A,q),A._zod.pattern=Ml,A._zod.values=new Set([void 0]),A._zod.parse=(K,F)=>{let Z=K.value;if(typeof Z>"u")return K;return K.issues.push({expected:"undefined",code:"invalid_type",input:Z,inst:A}),K}}),Oa=aA("$ZodNull",(A,q)=>{hK.init(A,q),A._zod.pattern=Ol,A._zod.values=new Set([null]),A._zod.parse=(K,F)=>{let Z=K.value;if(Z===null)return K;return K.issues.push({expected:"null",code:"invalid_type",input:Z,inst:A}),K}}),Ma=aA("$ZodAny",(A,q)=>{hK.init(A,q),A._zod.parse=(K)=>K}),za=aA("$ZodUnknown",(A,q)=>{hK.init(A,q),A._zod.parse=(K)=>K}),Ia=aA("$ZodNever",(A,q)=>{hK.init(A,q),A._zod.parse=(K,F)=>{return K.issues.push({expected:"never",code:"invalid_type",input:K.value,inst:A}),K}}),Pa=aA("$ZodVoid",(A,q)=>{hK.init(A,q),A._zod.parse=(K,F)=>{let Z=K.value;if(typeof Z>"u")return K;return K.issues.push({expected:"void",code:"invalid_type",input:Z,inst:A}),K}}),Na=aA("$ZodDate",(A,q)=>{hK.init(A,q),A._zod.parse=(K,F)=>{if(q.coerce)try{K.value=new Date(K.value)}catch(Y){}let Z=K.value,$=Z instanceof Date;if($&&!Number.isNaN(Z.getTime()))return K;return K.issues.push({expected:"date",code:"invalid_type",input:Z,...$?{received:"Invalid Date"}:{},inst:A}),K}});function A4A(A,q,K){if(A.issues.length)q.issues.push(...M0(K,A.issues));q.value[K]=A.value}var _a=aA("$ZodArray",(A,q)=>{hK.init(A,q),A._zod.parse=(K,F)=>{let Z=K.value;if(!Array.isArray(Z))return K.issues.push({expected:"array",code:"invalid_type",input:Z,inst:A}),K;K.value=Array(Z.length);let $=[];for(let U=0;U<Z.length;U++){let Y=Z[U],X=q.element._zod.run({value:Y,issues:[]},F);if(X instanceof Promise)$.push(X.then((j)=>A4A(j,K,U)));else A4A(X,K,U)}if($.length)return Promise.all($).then(()=>K);return K}});function jS(A,q,K,F,Z,$){let U=K in F;if(A.issues.length){if(Z&&$&&!U)return;q.issues.push(...M0(K,A.issues))}if(!U&&!Z){if(!A.issues.length)q.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[K]});return}if(A.value===void 0){if(U)q.value[K]=void 0}else q.value[K]=A.value}function W4A(A){let q=Object.keys(A.shape);for(let F of q)if(!A.shape?.[F]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${F}": expected a Zod schema`);let K=ui(A.shape);return{...A,keys:q,keySet:new Set(q),numKeys:q.length,optionalKeys:new Set(K)}}function x4A(A,q,K,F,Z,$){let U=[],Y=Z.keySet,X=Z.catchall._zod,j=X.def.type,g=X.optin==="optional",E=X.optout==="optional";for(let J in q){if(J==="__proto__")continue;if(Y.has(J))continue;if(j==="never"){U.push(J);continue}let W=X.run({value:q[J],issues:[]},F);if(W instanceof Promise)A.push(W.then((L)=>jS(L,K,J,q,g,E)));else jS(W,K,J,q,g,E)}if(U.length)K.issues.push({code:"unrecognized_keys",keys:U,input:q,inst:$});if(!A.length)return K;return Promise.all(A).then(()=>{return K})}var V4A=aA("$ZodObject",(A,q)=>{if(hK.init(A,q),!Object.getOwnPropertyDescriptor(q,"shape")?.get){let Y=q.shape;Object.defineProperty(q,"shape",{get:()=>{let X={...Y};return Object.defineProperty(q,"shape",{value:X}),X}})}let F=yL(()=>W4A(q));PF(A._zod,"propValues",()=>{let Y=q.shape,X={};for(let j in Y){let g=Y[j]._zod;if(g.values){X[j]??(X[j]=new Set);for(let E of g.values)X[j].add(E)}}return X});let Z=qx,$=q.catchall,U;A._zod.parse=(Y,X)=>{U??(U=F.value);let j=Y.value;if(!Z(j))return Y.issues.push({expected:"object",code:"invalid_type",input:j,inst:A}),Y;Y.value={};let g=[],E=U.shape;for(let J of U.keys){let W=E[J],L=W._zod.optin==="optional",M=W._zod.optout==="optional",O=W._zod.run({value:j[J],issues:[]},X);if(O instanceof Promise)g.push(O.then((B)=>jS(B,Y,J,j,L,M)));else jS(O,Y,J,j,L,M)}if(!$)return g.length?Promise.all(g).then(()=>Y):Y;return x4A(g,j,Y,X,F.value,A)}}),wa=aA("$ZodObjectJIT",(A,q)=>{V4A.init(A,q);let K=A._zod.parse,F=yL(()=>W4A(q)),Z=(J)=>{let W=new YS(["shape","payload","ctx"]),L=F.value,M=(R)=>{let f=aT(R);return`shape[${f}]._zod.run({ value: input[${f}], issues: [] }, ctx)`};W.write("const input = payload.value;");let O=Object.create(null),B=0;for(let R of L.keys)O[R]=`key_${B++}`;W.write("const newResult = {};");for(let R of L.keys){let f=O[R],y=aT(R),d=J[R],i=d?._zod?.optin==="optional",o=d?._zod?.optout==="optional";if(W.write(`const ${f} = ${M(R)};`),i&&o)W.write(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interactive-inc/claude-funnel",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.2",
|
|
4
4
|
"description": "Hub CLI that routes external events (Slack / GitHub / Discord) to Claude Code agents through subscription channels over MCP.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bun",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"files": [
|
|
30
30
|
"dist/**/*",
|
|
31
|
-
"
|
|
31
|
+
"funnel.schema.json",
|
|
32
32
|
"README.md",
|
|
33
33
|
"LICENSE"
|
|
34
34
|
],
|
|
File without changes
|