@domino-sdk/relay 1.46.0 → 1.49.1

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.
Files changed (51) hide show
  1. package/dist/{attempt-captures-p7JPb7Xi.d.ts → attempt-captures-DF--rIgJ.d.ts} +5 -1
  2. package/dist/authoring.d.ts +48 -10
  3. package/dist/authoring.js +7 -4
  4. package/dist/{automatic-outcomes-YkGhnxsc.d.ts → automatic-outcomes-C7f5-N0M.d.ts} +2 -1
  5. package/dist/browser.d.ts +6 -6
  6. package/dist/browser.js +10 -10
  7. package/dist/{chunk-6IC332LX.js → chunk-3LK6JIBY.js} +1 -1
  8. package/dist/{chunk-Y22GX76Y.js → chunk-4Y5AYL3C.js} +5 -3
  9. package/dist/{chunk-2VBCWGBG.js → chunk-7WVTYMFA.js} +9 -8
  10. package/dist/{chunk-3UCK2C2P.js → chunk-CHURQQBP.js} +2 -2
  11. package/dist/{chunk-KHFDDXAM.js → chunk-DP7FGRUW.js} +1 -1
  12. package/dist/{chunk-OXIXMXFB.js → chunk-DPM6FDOT.js} +1 -1
  13. package/dist/{chunk-JPFPLYQS.js → chunk-GYXYZL5E.js} +1 -1
  14. package/dist/{chunk-SESHFICW.js → chunk-K6EHQZ6Q.js} +8 -8
  15. package/dist/{chunk-ZRTNPNNG.js → chunk-MDN2STMB.js} +4 -4
  16. package/dist/{chunk-TJ2OH3MQ.js → chunk-MMR6CZEJ.js} +1 -1
  17. package/dist/{chunk-EC5MEEZD.js → chunk-NAEVXBSF.js} +1 -1
  18. package/dist/{chunk-R5BDN7US.js → chunk-O5WR2JT4.js} +1 -1
  19. package/dist/{chunk-SKBZ7UVZ.js → chunk-SGWAVIEP.js} +1 -1
  20. package/dist/{chunk-DJAIFEV4.js → chunk-VTD4YDEO.js} +36 -2
  21. package/dist/{chunk-WE6LLVR5.js → chunk-W3SQLZRA.js} +1 -1
  22. package/dist/{chunk-4W4FXLGM.js → chunk-W5FWEXMV.js} +2 -2
  23. package/dist/{client-CVG_MoXx.d.ts → client-C5sCO45H.d.ts} +37 -4
  24. package/dist/{deployments-BWav9s6t.d.ts → deployments-DLVhetCw.d.ts} +120 -5
  25. package/dist/{groups-CMZROR9a.d.ts → groups-DG7_3ipk.d.ts} +26 -1
  26. package/dist/index.d.ts +7 -7
  27. package/dist/index.js +9 -9
  28. package/dist/internal.d.ts +9 -9
  29. package/dist/internal.js +8 -8
  30. package/dist/{offers-Cvk4uBjo.d.ts → offers-yZTUWHSp.d.ts} +15 -2
  31. package/dist/{pages-BXZP4o-w.d.ts → pages-DLFRK5l7.d.ts} +30 -1
  32. package/dist/portal-proxy.js +3 -3
  33. package/dist/react/index.d.ts +13 -8
  34. package/dist/react/index.js +10 -10
  35. package/dist/runtime/authoring.js +1 -1
  36. package/dist/runtime/chunks/4O3MZT45.js +1 -0
  37. package/dist/runtime/manifest.json +3 -3
  38. package/dist/runtime/schema.js +1 -1
  39. package/dist/{schema-BgjSnV9D.d.ts → schema-6uU1s4if.d.ts} +116 -1
  40. package/dist/schema.d.ts +97 -11
  41. package/dist/schema.js +11 -7
  42. package/dist/server/index.d.ts +9 -9
  43. package/dist/server/index.js +33 -14
  44. package/dist/{submission-input-CD59rLYk.d.ts → submission-input-DtNMoL30.d.ts} +2 -2
  45. package/dist/{telegram-browser-bnRKW9KG.d.ts → telegram-browser-DE9d1M-g.d.ts} +1 -1
  46. package/dist/testing.d.ts +3 -3
  47. package/dist/testing.js +5 -5
  48. package/dist/{transport-DzRDaPXc.d.ts → transport-ud83MHKQ.d.ts} +640 -10
  49. package/dist/{x-B_7RCkOo.d.ts → x-B6mbKgoQ.d.ts} +1 -1
  50. package/package.json +1 -1
  51. package/dist/runtime/chunks/KMKCMYDX.js +0 -1
@@ -9,19 +9,19 @@ import {
9
9
  readSignInMethods,
10
10
  signInOptionsFrom,
11
11
  telegramMiniAppInitData
12
- } from "../chunk-4W4FXLGM.js";
13
- import "../chunk-SESHFICW.js";
12
+ } from "../chunk-W5FWEXMV.js";
13
+ import "../chunk-K6EHQZ6Q.js";
14
14
  import {
15
15
  createRelayAction
16
- } from "../chunk-EC5MEEZD.js";
17
- import "../chunk-Y22GX76Y.js";
18
- import "../chunk-SKBZ7UVZ.js";
19
- import "../chunk-TJ2OH3MQ.js";
20
- import "../chunk-WE6LLVR5.js";
21
- import "../chunk-OXIXMXFB.js";
16
+ } from "../chunk-NAEVXBSF.js";
17
+ import "../chunk-4Y5AYL3C.js";
18
+ import "../chunk-SGWAVIEP.js";
19
+ import "../chunk-MMR6CZEJ.js";
20
+ import "../chunk-W3SQLZRA.js";
21
+ import "../chunk-DPM6FDOT.js";
22
22
  import {
23
23
  sessionMember
24
- } from "../chunk-KHFDDXAM.js";
24
+ } from "../chunk-DP7FGRUW.js";
25
25
  import {
26
26
  RelayError,
27
27
  RelayErrorCode,
@@ -29,7 +29,7 @@ import {
29
29
  clientError,
30
30
  isRelayError,
31
31
  isRequestError
32
- } from "../chunk-DJAIFEV4.js";
32
+ } from "../chunk-VTD4YDEO.js";
33
33
 
34
34
  // src/react/context.ts
35
35
  import { createContext, useContext } from "react";
@@ -1 +1 @@
1
- import{$e as Ce,Bc as ke,Bd as M,E as j,Ed as Ee,F as J,Fc as y,G as V,H as X,Ib as le,Ic as Ye,Jb as pe,Ke as Me,Md as Q,Na as L,Oa as oe,Od as ze,Oe as Re,Pa as I,Pb as Je,Pc as v,Qa as se,Qb as Ve,Qc as we,Rc as E,Tc as er,V as Y,W as ee,Wd as je,Xg as nr,Z as re,_ as T,_f as Ae,a as Fe,ba as te,c as He,ca as D,d as C,da as ae,fb as ce,fc as Xe,ga as ne,gh as De,hd as rr,hh as Le,ib as ie,ic as ge,id as tr,jc as he,jd as ar,jf as $e,kd as ve,kf as xe,ld as be,lf as U,nb as ue,nd as ye,pd as Se,rb as de,sc as O,tc as $,u as N,v as Z,w as _,wc as P,x as W,xc as B,xg as Te,y as F,yb as me,yc as fe,z as H,zd as qe}from"./chunks/KMKCMYDX.js";import{Vb as A,Wb as K,hc as R,nb as q,pa as x,pc as z,td as We,vb as G}from"./chunks/IDOMZWRY.js";function Ie(e){if(!Number.isInteger(e)||e<0||e>255)throw new Error("Token decimals must be an integer from 0 to 255")}function or(e,t){Ie(t);let r=/^(\d+)(?:\.(\d+))?$/.exec(e.trim());if(!r)throw new Error(`Use a decimal amount such as "1.5", not "${e}"`);let[,n,c=""]=r,s=c.replace(/0+$/,"");if(s.length>t)throw new Error(`"${e}" has more than ${t} decimal places, which this token cannot hold`);return BigInt(n+s.padEnd(t,"0"))}function sr(e,t){Ie(t);let r=typeof e=="bigint"?e:BigInt(e),n=r<0n?"-":"",c=(r<0n?-r:r).toString().padStart(t+1,"0"),s=c.slice(0,c.length-t),i=c.slice(c.length-t).replace(/0+$/,"");return n+s+(i?"."+i:"")}function Pe(e,t={}){let{trigger:r,completion:n,requires:c,performance:s,retryCooldownMs:i}=e,o=r.kind==="automatic"?r.tracker:void 0,u=o?.content===!0;if(s&&!u)throw new Error("Performance requires a content quest");if(u){if(n.kind!=="keyed")throw new Error("Content quests complete once per content item");if(o.beneficiary!=="author"||o.on!=="new-record")throw new Error("A content quest pays each content item's author and fires on its first observation")}if(i!==void 0&&(r.kind!=="manual"||r.actor==="staff"))throw new Error("A retry cooldown applies only to quests members submit themselves");if(r.kind==="automatic"&&!o){if(!t.template&&c.length===0)throw new Error("Automatic quests need at least one prerequisite");if(n.kind!=="once")throw new Error("Prerequisite-only automatic quests complete once")}}var cr=["author"],ir=["author","messageAuthor"];function Be(e){if(!ne(e))return[];switch(e.kind){case"x-search":return Y;case"discord-messages":return cr;case"discord-reactions":return ir;case"custom":return["author",...e.accounts??[]]}}var Oe=new Map;function ur(e){let t=e.kind==="discord-messages"&&e.text?"messages-text":e.kind,r=Oe.get(t);return r||(r=j(t==="messages-text"?W:t==="discord-messages"?_:F),Oe.set(t,r)),r}function Qe(e){switch(e.kind){case"x-search":return;case"discord-messages":case"discord-reactions":return ur(e);case"custom":return e.data}}function zr(e){return v("badge",Re.parse(e))}function jr(e){return v("ledger",Ce.parse(e))}function Mr(e){let{target:t,ledger:r,...n}=e,c=$e.parse({...n,qualifiedBy:e.qualifiedBy.key,balance:E(r)}),s=R(z(e.metrics),U.shape.target);return{key:c.key,describe:()=>c,score(i){let o=xe.parse(i);return U.parse({target:t({metrics:s.parse(o.metrics)}),baseline:t({metrics:s.parse(o.baseline)})})}}}var Rr=e=>{if("timeZone"in e)throw new Error("streak() no longer takes a timeZone. Set the project timezone with calendar.timeZone in relay.json or in Console settings.");return ce.strict().parse({kind:"streak",...e})},Cr=e=>oe.brand().parse({kind:"count",count:e}),$r=(e,t={})=>I.brand().parse({kind:"calendar",period:e,...t}),xr=({days:e})=>I.brand().parse({kind:"rolling",durationMs:e*864e5}),Ar=e=>({kind:"quest",quest:e});function Tr(e){let{qualification:t,inviterGroup:r,milestones:n,bonuses:c,...s}=e,i=Te.parse({...s,qualification:t.kind==="quest"?{kind:"quest",quest:t.quest.key}:t,...r?{inviterGroup:C.parse(r.key)}:{},milestones:n?.map(({key:o,...u})=>({...u,id:y({key:o,...u})})),bonuses:c?.map(({key:o,ledger:u,quests:h,...a})=>({...a,id:y({key:o,...a}),balance:E(u),quests:h?.map(d=>d.key)}))});return v("referral",i)}function Dr(e={}){return{kind:"earned",...e}}function Lr(e){let{ledger:t,group:r,score:n,...c}=e,s=Ae.parse({...c,balance:E(t),...r?{group:C.parse(r.key)}:{},score:n?.kind==="earned"?{...n,quests:n.quests?.map(i=>i.key)}:n});return v("leaderboard",s)}var Ir={provider:"x",search:e=>re.parse({kind:"x-search",...e})};function mr(e,t){let{data:r,content:n,...c}=t??{};if(n!==void 0){if(r!==void 0)throw new Error(`customSource("${e}") takes data or content, not both: a content source's records carry { body, metrics }`);if(!Ue(n.body))throw new Error(`customSource("${e}") needs a content body schema: customSource(namespace, { content: { body: z.object({ ... }), metrics: ["likes"] } })`);let s=[...n.metrics??[]];for(let i of s)ee.parse(i);return T.parse({kind:"custom",namespace:e,...c,data:j(A({body:n.body,metrics:K(Object.fromEntries(s.map(i=>[i,q().int().safe().nonnegative().optional()]))).optional()})),content:{metrics:s}})}if(!Ue(r))throw new Error(`customSource("${e}") needs a data schema: customSource(namespace, { data: z.object({ ... }) }) describes each record's data`);return T.parse({kind:"custom",namespace:e,...c,data:j(r)})}function Ue(e){return typeof e=="object"&&e!==null&&"_zod"in e}function Or(e){return v("tracker",ae.parse(e))}function lr(e={}){return N.parse({kind:"discord-messages",...e.text?{text:!0}:{}})}function pr(){return Z.parse({kind:"discord-reactions"})}var Pr={provider:"discord",grantRole:e=>H.parse({kind:"integration",provider:"discord",action:"grant-role",roleId:e}),messages:lr,reactions:pr,roles(e={}){return $.parse({provider:"discord",resource:"role",assignable:e.assignable??!1})},channels(e={}){return $.parse({provider:"discord",resource:"channel",types:e.types??["text","announcement"]})}},Br={reactions(){return mr(De,{identities:["member"],accounts:["messageAuthor"],data:Le})}},Qr=()=>({provider:"domino",resource:"point-ledger"});function k(e,t){return t}var Ur={pointLedger(e){let t={...e,kind:"point-ledger",default:e.default?C.parse(e.default.key):""};return k("point-ledger",we.prefault(t.default).meta(t))},datetime(e){let t={...e,kind:"datetime",default:P.parse(e.default)};return k("datetime",P.default(t.default).meta(t))},resource(e){let t={...e,source:$.parse(e.source),kind:"resource",default:B.parse(e.default??"")};return k("resource",B.default(t.default).meta(t))},quiz(e){let t=O.parse(e.default);return k("quiz",O.default(t).meta({...e,default:t,kind:"quiz"}))},text(e){let t={...e,kind:"text",minLength:e.minLength??1,maxLength:e.maxLength??2e3,multiline:e.multiline??!1};return k("text",x().min(t.minLength).max(t.maxLength).default(t.default).meta(t))},telegramChat(e){let t={...e,kind:"text",default:e.default??"",minLength:0,maxLength:64,multiline:!1,picker:"telegram-chat"};return k("text",x().max(t.maxLength).default(t.default).meta(t))},integer(e){return k("integer",q().int().min(e.min).max(e.max).default(e.default).meta({...e,kind:"integer"}))},boolean(e){return k("boolean",G().default(e.default).meta({...e,kind:"boolean"}))},choice(e){return k("choice",z(e.options).default(e.default).meta({...e,kind:"choice"}))},object(e){return A(e).strict()}},Kr=e=>Se(e.key,e.name),Nr=(e,t)=>ve.parse({kind:"points",balance:E(e),amount:t}),Zr={text:(e={})=>({input:"text",constraints:ge.parse(e)}),url:(e={})=>({input:"url",constraints:he.parse(e)}),photo:()=>"photo",quiz:()=>"quiz"};function _r(e){if(e?.actor&&e.input!==void 0)throw new Error('manual() cannot combine actor "staff" with input: staff-captured evidence is not supported. Use manual({ actor: "staff" }) for a staff confirmation, or manual({ input }) for evidence the participant submits.');return typeof e?.input=="object"?{kind:"manual",...e.input}:{kind:"manual",input:e?.input??"none",...e?.actor?{actor:e.actor}:{}}}var Ge=new WeakMap,Ke=new WeakMap;function Ne(e,t){let{tracker:r,beneficiary:n="author",on:c,where:s,enrollment:i,since:o,historical:u,content:h}=e;if(!r?.source)throw new Error(t==="automatic"?"automatic() takes no argument, or { tracker } with a tracker handle from defineTracker":"content() takes { tracker } with a tracker handle from defineTracker");let{source:a}=r;if(!te(a))throw new Error('Tracker triggers need attributable records: declare customSource(namespace, { identities: ["wallet"] }) or other identity kinds');if(h&&!D(a))throw new Error(`content() needs a tracker whose source has content: x.search(), or customSource(namespace, { content: { body, metrics } }). Tracker "${r.key}" has none; use automatic({ tracker }) instead.`);if(o==="enrollment"&&i!=="required")throw new Error(`${t}() counts from enrollment only on a quest that requires it: add enrollment: "required"`);let d=Be(a);if(!d.includes(n))throw new Error(a.kind==="custom"?`Tracker "${r.key}" has no "${n}" account: declare it in customSource(namespace, { accounts: ["${n}"] })`:`Tracker "${r.key}" pays ${d.map(f=>`"${f}"`).join(" or ")}, not "${n}"`);let l=de.parse({tracker:r.key,source:a.kind,on:h?"new-record":c??ie(a.kind),...s?{where:s}:{},beneficiary:n,...i==="required"?{enrollment:i}:{},...o&&o!=="activation"?{since:o}:{},...u&&u!==(h?"claim":"staff")?{historical:u}:{},...h?{content:h}:{}}),g=Qe(a),w=g?X(g,l.where):null;if(w)throw new Error(w);let m={kind:"automatic",tracker:l};g&&Ge.set(m,g);let p=D(a);return p&&Ke.set(m,p.metrics),m}function Wr(e){return e?Ne(e,"automatic"):{kind:"automatic"}}function Fr(e){if(e&&typeof e=="object"&&"source"in e&&"key"in e&&!("tracker"in e))throw new Error("content() takes { tracker }: write content({ tracker: posts }) instead of content(posts)");return Ne({...e,content:!0},"content")}var Hr=e=>{let{key:t,cost:r,...n}=e;return le.parse({...n,id:y(e),cost:typeof r=="number"?r:{balance:E(r.ledger)}})},Jr=e=>({kind:"keyed",key:e}),Vr=e=>{let{distinct:t,...r}=e;return{...se.parse({kind:"progress",window:{kind:"lifetime"},...r}),distinct:t}},Xr=()=>({kind:"untracked"}),Yr=()=>({kind:"staff-handover"}),et=()=>({kind:"automatic"});function rt(e){let{key:t,tiers:r,...n}=e,c=y(e),s=be.parse({id:c,...n,tiers:r.map(({key:i,...o})=>({...o,id:y({key:i,...o})}))});return v("tiered-reward",{key:s.id,tier:i=>ye.parse({kind:"tier",reward:s,tier:i})})}var tt=()=>({kind:"once"});function gr(e={}){return{kind:"accept",...e}}function hr(e){return{kind:"review",...e}}var S={accept:gr,defer:e=>({kind:"defer",...e}),progress:e=>({kind:"progress",...e}),reject:e=>({kind:"reject",...e}),review:hr},at={quiz(e,t={}){let r=je.parse(e),n=Object.keys(r),c=q().int().min(1).max(n.length).parse(t.minimumCorrect??n.length);return async({input:s})=>{let i=Object.keys(s.answers).length===n.length&&n.every(u=>Object.hasOwn(s.answers,u)),o=n.filter(u=>s.answers[u]===r[u]).length;return i&&o>=c?S.accept():S.reject({reason:"Review your answers and try again."})}},photo(e){return async t=>{let r=e(t),n=await t.review.photo({image:t.input.photo,criteria:r.criteria});return n.kind==="unclear"?r.unclear==="human-review"?S.review({reason:n.reason}):S.reject({reason:n.reason}):n.kind==="pass"?S.accept():S.reject({reason:n.reason})}}};function Ze(e){return function(r){let n=y(r),c=[...new Set((r.integrations??[]).map(a=>pe.parse(a.provider)))],s=r.trigger.kind==="automatic"&&r.trigger.tracker?.content===!0,i=r.trigger.kind==="automatic"&&r.trigger.tracker!==void 0,o=r.completion;if(s&&o!==void 0)throw new Error("A content quest completes once per content item: remove its completion");if(!s&&o===void 0)throw new Error("A quest needs a completion, such as once(), keyed(...), streak(...) or progress(...)");if(Pe({trigger:r.trigger,completion:o??{kind:"keyed"},requires:r.requires??[],performance:r.performance?L.parse({metrics:r.performance.metrics,maxAgeMs:r.performance.maxAgeMs}):void 0,...r.retryCooldownMs===void 0?{}:{retryCooldownMs:r.retryCooldownMs}},{template:e}),r.retryCooldownMs!==void 0&&!qe.safeParse(r.retryCooldownMs).success)throw new Error("retryCooldownMs must be whole milliseconds from 1000 (one second) to 604800000 (seven days)");if(r.performance){let a=Ke.get(r.trigger)??[],d=r.performance.metrics.filter(l=>!a.includes(l));if(d.length)throw new Error(`The tracker's source does not measure ${d.join(", ")}`)}if(r.trigger.kind==="manual"&&r.trigger.input!=="none"&&!r.evaluate)throw new Error("Evidence quests require an evaluator");let u=Object.fromEntries(Object.entries(r.settings.shape).map(([a,d])=>{let l=fe.safeParse(d.meta());if(!l.success)throw new Error(`Setting "${a}" is not a quest setting: build it with a settings builder, such as settings.integer({ label, default, min, max })`);return[a,l.data]}));for(let a of ue(r.trigger.kind==="automatic"?r.trigger.tracker?.where:void 0))if(u[a]?.kind!=="integer")throw new Error(`The tracker filter compares with setting "${a}", which is not an integer setting`);function h(a){let d=r.settings.parse(a),l=ke(u,d),g=Ee.parse(typeof r.rewards=="function"?r.rewards({settings:d}):r.rewards),w=[...g.flatMap(m=>m.kind==="integration"?[m.provider]:[]),...Object.values(u).flatMap(m=>m.kind==="resource"&&m.source.provider!=="domino"?[m.source.provider]:[])];for(let m of w)if(!c.includes(m))throw new Error(`Declare the ${m} integration on this quest`);return ze.parse({quest:n,evaluatorProtocol:Q,title:typeof r.title=="function"?r.title({settings:d}):r.title,presentation:r.presentation?.({settings:d})??{},fields:u,values:l,rewards:g,humanReview:r.review?.({settings:d})?.enabled??!0,trigger:r.trigger,...r.performance?{performance:L.parse({metrics:r.performance.metrics,maxAgeMs:r.performance.maxAgeMs})}:{},integrations:c,completion:o?o.kind==="progress"?{kind:o.kind,goal:o.goal,window:o.window,repeat:o.repeat}:o.kind==="streak"?o:{kind:o.kind}:{kind:"keyed"},visibility:r.visibility??"visible",profile:r.profile??{visible:!1},budgets:r.budgets??[],requires:r.requires??[],...r.campaign?{campaign:r.campaign}:{},...r.availability?{availability:r.availability}:{},...r.retryCooldownMs===void 0?{}:{retryCooldownMs:r.retryCooldownMs}})}return v("quest",{protocol:Q,key:n,describe:h,async evaluate(a){let d=r.settings.parse(a.settings),l=i?me.parse(a.tracker):null,g=Ge.get(r.trigger),w=l&&g?J(g,l.record.data):null;if(w)return M.parse({kind:"reject",reason:`The record's data does not match the data schema this quest was built with: ${w.path} ${w.reason}`});let m=l;if(a.performance){if(!r.performance)throw new Error("Quest has no performance evaluator");let f=Me.parse(a.performance),_e=R(z(r.performance.metrics),q().int().safe().nonnegative()).parse(f.metrics),b=await r.performance.evaluate({settings:d,member:a.member,tracker:m,metrics:_e,observedAt:f.observedAt});if(!b)throw new Error("Performance evaluator returned no decision");if(b.rewards!==void 0)throw new Error("A performance evaluator cannot select rewards. It gates the rewards content evaluation selected: return accept, review or reject with a reason only.");return M.parse(b.kind==="accept"?{kind:"accept",rewards:f.rewards}:b.kind==="review"&&a.humanReview?{kind:"review",reason:b.reason,rewards:f.rewards}:{kind:"reject",reason:b.reason,...b.kind==="review"?{requestedReview:!0}:{}})}let p=r.evaluate?await r.evaluate({settings:d,member:a.member,input:a.input,tracker:m,eligibleAt:a.eligibleAt,calendar:a.calendar,now:a.now,review:a.review,trackers:V(a.trackers),wallet:a.wallet,images:a.images,...a.telegram?{telegram:a.telegram}:{},...Object.fromEntries(c.map(f=>[f,a[f]]))}):S.accept();if(!p)throw new Error("Evaluator returned no decision");return p.kind==="review"&&!a.humanReview?M.parse({kind:"reject",reason:p.reason,requestedReview:!0}):M.parse(p.kind==="accept"||p.kind==="review"?{...p,rewards:p.rewards??a.rewards,...o?.kind==="keyed"||o?.kind==="progress"?{completionKey:o.kind==="progress"?o.distinct({...a,tracker:l}):p.completionKey??o.key({...a,tracker:l})}:{}}:p)}})}}var nt=Ze(!1),ot=Ze(!0);export{He as CapabilityError,Wr as automatic,et as automaticFulfillment,Kr as badge,tr as balanceAtLeast,Hr as budget,$r as calendar,Fe as capabilityErrorCodes,rr as completed,Fr as content,Ve as cosmosDenomSchema,Je as cosmosNetworkSchema,Cr as count,mr as customSource,S as decision,zr as defineBadge,Ye as defineCampaign,Mr as defineEngagementReward,er as defineGroup,Lr as defineLeaderboard,jr as defineLedger,nr as defineOffer,nt as defineQuest,ot as defineQuestType,Tr as defineReferral,rt as defineTieredReward,Or as defineTracker,Pr as discord,Dr as earned,at as evaluators,Zr as evidence,sr as formatUnits,ar as inGroup,Xe as isEvmChainId,Jr as keyed,_r as manual,tt as once,or as parseUnits,Qr as pointLedgers,Nr as points,Vr as progress,Ar as questCompleted,xr as rolling,Ur as settings,Yr as staffHandover,Rr as streak,Br as telegram,j as trackerDataSchema,me as trackerTriggerContextSchema,Xr as untracked,Ir as x,We as z};
1
+ import{Bc as ke,Bd as Ee,Dd as M,E as j,F as J,Fc as y,G as V,Gd as ze,H as X,Ib as le,Ic as er,Jb as pe,Me as Re,Na as L,Oa as oe,Od as Q,Pa as I,Pb as Ve,Pc as v,Qa as se,Qb as Xe,Qc as we,Qd as je,Qe as Ce,Rc as E,Tc as rr,V as Y,W as ee,Yd as Me,Z as re,Zg as or,_ as T,a as He,ag as Te,ba as te,bf as $e,c as Je,ca as D,d as C,da as ae,fb as ce,fc as Ye,ga as ne,hd as tr,ib as ie,ic as ge,id as ar,ih as Le,jc as he,jd as nr,jh as Ie,kd as ve,ld as be,lf as xe,mf as Ae,nb as ue,nd as ye,nf as U,pd as Se,rb as de,rd as qe,sc as O,tc as $,u as N,v as Z,w as _,wc as P,x as W,xc as B,y as F,yb as me,yc as fe,z as H,zg as De}from"./chunks/4O3MZT45.js";import{Vb as A,Wb as K,hc as R,nb as q,pa as x,pc as z,td as Fe,vb as G}from"./chunks/IDOMZWRY.js";function Oe(e){if(!Number.isInteger(e)||e<0||e>255)throw new Error("Token decimals must be an integer from 0 to 255")}function sr(e,t){Oe(t);let r=/^(\d+)(?:\.(\d+))?$/.exec(e.trim());if(!r)throw new Error(`Use a decimal amount such as "1.5", not "${e}"`);let[,n,c=""]=r,s=c.replace(/0+$/,"");if(s.length>t)throw new Error(`"${e}" has more than ${t} decimal places, which this token cannot hold`);return BigInt(n+s.padEnd(t,"0"))}function cr(e,t){Oe(t);let r=typeof e=="bigint"?e:BigInt(e),n=r<0n?"-":"",c=(r<0n?-r:r).toString().padStart(t+1,"0"),s=c.slice(0,c.length-t),i=c.slice(c.length-t).replace(/0+$/,"");return n+s+(i?"."+i:"")}function Be(e,t={}){let{trigger:r,completion:n,requires:c,performance:s,retryCooldownMs:i}=e,o=r.kind==="automatic"?r.tracker:void 0,u=o?.content===!0;if(s&&!u)throw new Error("Performance requires a content quest");if(u){if(n.kind!=="keyed")throw new Error("Content quests complete once per content item");if(o.beneficiary!=="author"||o.on!=="new-record")throw new Error("A content quest pays each content item's author and fires on its first observation")}if(i!==void 0&&(r.kind!=="manual"||r.actor==="staff"))throw new Error("A retry cooldown applies only to quests members submit themselves");if(r.kind==="automatic"&&!o){if(!t.template&&c.length===0)throw new Error("Automatic quests need at least one prerequisite");if(n.kind!=="once")throw new Error("Prerequisite-only automatic quests complete once")}}var ir=["author"],ur=["author","messageAuthor"];function Qe(e){if(!ne(e))return[];switch(e.kind){case"x-search":return Y;case"discord-messages":return ir;case"discord-reactions":return ur;case"custom":return["author",...e.accounts??[]]}}var Pe=new Map;function dr(e){let t=e.kind==="discord-messages"&&e.text?"messages-text":e.kind,r=Pe.get(t);return r||(r=j(t==="messages-text"?W:t==="discord-messages"?_:F),Pe.set(t,r)),r}function Ue(e){switch(e.kind){case"x-search":return;case"discord-messages":case"discord-reactions":return dr(e);case"custom":return e.data}}function jr(e){return v("badge",Ce.parse(e))}function Mr(e){return v("ledger",$e.parse(e))}function Rr(e){let{target:t,ledger:r,...n}=e,c=xe.parse({...n,qualifiedBy:e.qualifiedBy.key,balance:E(r)}),s=R(z(e.metrics),U.shape.target);return{key:c.key,describe:()=>c,score(i){let o=Ae.parse(i);return U.parse({target:t({metrics:s.parse(o.metrics)}),baseline:t({metrics:s.parse(o.baseline)})})}}}var Cr=e=>{if("timeZone"in e)throw new Error("streak() no longer takes a timeZone. Set the project timezone with calendar.timeZone in relay.json or in Console settings.");return ce.strict().parse({kind:"streak",...e})},$r=e=>oe.brand().parse({kind:"count",count:e}),xr=(e,t={})=>I.brand().parse({kind:"calendar",period:e,...t}),Ar=({days:e})=>I.brand().parse({kind:"rolling",durationMs:e*864e5}),Tr=e=>({kind:"quest",quest:e});function Dr(e){let{qualification:t,inviterGroup:r,milestones:n,bonuses:c,...s}=e,i=De.parse({...s,qualification:t.kind==="quest"?{kind:"quest",quest:t.quest.key}:t,...r?{inviterGroup:C.parse(r.key)}:{},milestones:n?.map(({key:o,...u})=>({...u,id:y({key:o,...u})})),bonuses:c?.map(({key:o,ledger:u,quests:h,...a})=>({...a,id:y({key:o,...a}),balance:E(u),quests:h?.map(d=>d.key)}))});return v("referral",i)}function Lr(e={}){return{kind:"earned",...e}}function Ir(e){let{ledger:t,group:r,score:n,...c}=e,s=Te.parse({...c,balance:E(t),...r?{group:C.parse(r.key)}:{},score:n?.kind==="earned"?{...n,quests:n.quests?.map(i=>i.key)}:n});return v("leaderboard",s)}var Or={provider:"x",search:e=>re.parse({kind:"x-search",...e})};function lr(e,t){let{data:r,content:n,...c}=t??{};if(n!==void 0){if(r!==void 0)throw new Error(`customSource("${e}") takes data or content, not both: a content source's records carry { body, metrics }`);if(!Ge(n.body))throw new Error(`customSource("${e}") needs a content body schema: customSource(namespace, { content: { body: z.object({ ... }), metrics: ["likes"] } })`);let s=[...n.metrics??[]];for(let i of s)ee.parse(i);return T.parse({kind:"custom",namespace:e,...c,data:j(A({body:n.body,metrics:K(Object.fromEntries(s.map(i=>[i,q().int().safe().nonnegative().optional()]))).optional()})),content:{metrics:s}})}if(!Ge(r))throw new Error(`customSource("${e}") needs a data schema: customSource(namespace, { data: z.object({ ... }) }) describes each record's data`);return T.parse({kind:"custom",namespace:e,...c,data:j(r)})}function Ge(e){return typeof e=="object"&&e!==null&&"_zod"in e}function Pr(e){return v("tracker",ae.parse(e))}function pr(e={}){return N.parse({kind:"discord-messages",...e.text?{text:!0}:{}})}function gr(){return Z.parse({kind:"discord-reactions"})}var Br={provider:"discord",grantRole:e=>H.parse({kind:"integration",provider:"discord",action:"grant-role",roleId:e}),messages:pr,reactions:gr,roles(e={}){return $.parse({provider:"discord",resource:"role",assignable:e.assignable??!1})},channels(e={}){return $.parse({provider:"discord",resource:"channel",types:e.types??["text","announcement"]})}},Qr={reactions(){return lr(Le,{identities:["member"],accounts:["messageAuthor"],data:Ie})}},Ur=()=>({provider:"domino",resource:"point-ledger"});function k(e,t){return t}var Gr={pointLedger(e){let t={...e,kind:"point-ledger",default:e.default?C.parse(e.default.key):""};return k("point-ledger",we.prefault(t.default).meta(t))},datetime(e){let t={...e,kind:"datetime",default:P.parse(e.default)};return k("datetime",P.default(t.default).meta(t))},resource(e){let t={...e,source:$.parse(e.source),kind:"resource",default:B.parse(e.default??"")};return k("resource",B.default(t.default).meta(t))},quiz(e){let t=O.parse(e.default);return k("quiz",O.default(t).meta({...e,default:t,kind:"quiz"}))},text(e){let t={...e,kind:"text",minLength:e.minLength??1,maxLength:e.maxLength??2e3,multiline:e.multiline??!1};return k("text",x().min(t.minLength).max(t.maxLength).default(t.default).meta(t))},telegramChat(e){let t={...e,kind:"text",default:e.default??"",minLength:0,maxLength:64,multiline:!1,picker:"telegram-chat"};return k("text",x().max(t.maxLength).default(t.default).meta(t))},integer(e){return k("integer",q().int().min(e.min).max(e.max).default(e.default).meta({...e,kind:"integer"}))},boolean(e){return k("boolean",G().default(e.default).meta({...e,kind:"boolean"}))},choice(e){return k("choice",z(e.options).default(e.default).meta({...e,kind:"choice"}))},object(e){return A(e).strict()}},Nr=e=>Se(e.key,e.name),Zr=e=>qe(e.key,e.title),_r=(e,t)=>ve.parse({kind:"points",balance:E(e),amount:t}),Wr={text:(e={})=>({input:"text",constraints:ge.parse(e)}),url:(e={})=>({input:"url",constraints:he.parse(e)}),photo:()=>"photo",quiz:()=>"quiz"};function Fr(e){if(e?.actor&&e.input!==void 0)throw new Error('manual() cannot combine actor "staff" with input: staff-captured evidence is not supported. Use manual({ actor: "staff" }) for a staff confirmation, or manual({ input }) for evidence the participant submits.');return typeof e?.input=="object"?{kind:"manual",...e.input}:{kind:"manual",input:e?.input??"none",...e?.actor?{actor:e.actor}:{}}}var Ke=new WeakMap,Ne=new WeakMap;function Ze(e,t){let{tracker:r,beneficiary:n="author",on:c,where:s,enrollment:i,since:o,historical:u,content:h}=e;if(!r?.source)throw new Error(t==="automatic"?"automatic() takes no argument, or { tracker } with a tracker handle from defineTracker":"content() takes { tracker } with a tracker handle from defineTracker");let{source:a}=r;if(!te(a))throw new Error('Tracker triggers need attributable records: declare customSource(namespace, { identities: ["wallet"] }) or other identity kinds');if(h&&!D(a))throw new Error(`content() needs a tracker whose source has content: x.search(), or customSource(namespace, { content: { body, metrics } }). Tracker "${r.key}" has none; use automatic({ tracker }) instead.`);if(o==="enrollment"&&i!=="required")throw new Error(`${t}() counts from enrollment only on a quest that requires it: add enrollment: "required"`);let d=Qe(a);if(!d.includes(n))throw new Error(a.kind==="custom"?`Tracker "${r.key}" has no "${n}" account: declare it in customSource(namespace, { accounts: ["${n}"] })`:`Tracker "${r.key}" pays ${d.map(f=>`"${f}"`).join(" or ")}, not "${n}"`);let l=de.parse({tracker:r.key,source:a.kind,on:h?"new-record":c??ie(a.kind),...s?{where:s}:{},beneficiary:n,...i==="required"?{enrollment:i}:{},...o&&o!=="activation"?{since:o}:{},...u&&u!==(h?"claim":"staff")?{historical:u}:{},...h?{content:h}:{}}),g=Ue(a),w=g?X(g,l.where):null;if(w)throw new Error(w);let m={kind:"automatic",tracker:l};g&&Ke.set(m,g);let p=D(a);return p&&Ne.set(m,p.metrics),m}function Hr(e){return e?Ze(e,"automatic"):{kind:"automatic"}}function Jr(e){if(e&&typeof e=="object"&&"source"in e&&"key"in e&&!("tracker"in e))throw new Error("content() takes { tracker }: write content({ tracker: posts }) instead of content(posts)");return Ze({...e,content:!0},"content")}var Vr=e=>{let{key:t,cost:r,...n}=e;return le.parse({...n,id:y(e),cost:typeof r=="number"?r:{balance:E(r.ledger)}})},Xr=e=>({kind:"keyed",key:e}),Yr=e=>{let{distinct:t,...r}=e;return{...se.parse({kind:"progress",window:{kind:"lifetime"},...r}),distinct:t}},et=()=>({kind:"untracked"}),rt=()=>({kind:"staff-handover"}),tt=()=>({kind:"automatic"});function at(e){let{key:t,tiers:r,...n}=e,c=y(e),s=be.parse({id:c,...n,tiers:r.map(({key:i,...o})=>({...o,id:y({key:i,...o})}))});return v("tiered-reward",{key:s.id,tier:i=>ye.parse({kind:"tier",reward:s,tier:i})})}var nt=()=>({kind:"once"});function hr(e={}){return{kind:"accept",...e}}function fr(e){return{kind:"review",...e}}var S={accept:hr,defer:e=>({kind:"defer",...e}),progress:e=>({kind:"progress",...e}),reject:e=>({kind:"reject",...e}),review:fr},ot={quiz(e,t={}){let r=Me.parse(e),n=Object.keys(r),c=q().int().min(1).max(n.length).parse(t.minimumCorrect??n.length);return async({input:s})=>{let i=Object.keys(s.answers).length===n.length&&n.every(u=>Object.hasOwn(s.answers,u)),o=n.filter(u=>s.answers[u]===r[u]).length;return i&&o>=c?S.accept():S.reject({reason:"Review your answers and try again."})}},photo(e){return async t=>{let r=e(t),n=await t.review.photo({image:t.input.photo,criteria:r.criteria});return n.kind==="unclear"?r.unclear==="human-review"?S.review({reason:n.reason}):S.reject({reason:n.reason}):n.kind==="pass"?S.accept():S.reject({reason:n.reason})}}};function _e(e){return function(r){let n=y(r),c=[...new Set((r.integrations??[]).map(a=>pe.parse(a.provider)))],s=r.trigger.kind==="automatic"&&r.trigger.tracker?.content===!0,i=r.trigger.kind==="automatic"&&r.trigger.tracker!==void 0,o=r.completion;if(s&&o!==void 0)throw new Error("A content quest completes once per content item: remove its completion");if(!s&&o===void 0)throw new Error("A quest needs a completion, such as once(), keyed(...), streak(...) or progress(...)");if(Be({trigger:r.trigger,completion:o??{kind:"keyed"},requires:r.requires??[],performance:r.performance?L.parse({metrics:r.performance.metrics,maxAgeMs:r.performance.maxAgeMs}):void 0,...r.retryCooldownMs===void 0?{}:{retryCooldownMs:r.retryCooldownMs}},{template:e}),r.retryCooldownMs!==void 0&&!Ee.safeParse(r.retryCooldownMs).success)throw new Error("retryCooldownMs must be whole milliseconds from 1000 (one second) to 604800000 (seven days)");if(r.performance){let a=Ne.get(r.trigger)??[],d=r.performance.metrics.filter(l=>!a.includes(l));if(d.length)throw new Error(`The tracker's source does not measure ${d.join(", ")}`)}if(r.trigger.kind==="manual"&&r.trigger.input!=="none"&&!r.evaluate)throw new Error("Evidence quests require an evaluator");let u=Object.fromEntries(Object.entries(r.settings.shape).map(([a,d])=>{let l=fe.safeParse(d.meta());if(!l.success)throw new Error(`Setting "${a}" is not a quest setting: build it with a settings builder, such as settings.integer({ label, default, min, max })`);return[a,l.data]}));for(let a of ue(r.trigger.kind==="automatic"?r.trigger.tracker?.where:void 0))if(u[a]?.kind!=="integer")throw new Error(`The tracker filter compares with setting "${a}", which is not an integer setting`);function h(a){let d=r.settings.parse(a),l=ke(u,d),g=ze.parse(typeof r.rewards=="function"?r.rewards({settings:d}):r.rewards),w=[...g.flatMap(m=>m.kind==="integration"?[m.provider]:[]),...Object.values(u).flatMap(m=>m.kind==="resource"&&m.source.provider!=="domino"?[m.source.provider]:[])];for(let m of w)if(!c.includes(m))throw new Error(`Declare the ${m} integration on this quest`);return je.parse({quest:n,evaluatorProtocol:Q,title:typeof r.title=="function"?r.title({settings:d}):r.title,presentation:r.presentation?.({settings:d})??{},fields:u,values:l,rewards:g,humanReview:r.review?.({settings:d})?.enabled??!0,trigger:r.trigger,...r.performance?{performance:L.parse({metrics:r.performance.metrics,maxAgeMs:r.performance.maxAgeMs})}:{},integrations:c,completion:o?o.kind==="progress"?{kind:o.kind,goal:o.goal,window:o.window,repeat:o.repeat}:o.kind==="streak"?o:{kind:o.kind}:{kind:"keyed"},visibility:r.visibility??"visible",profile:r.profile??{visible:!1},budgets:r.budgets??[],requires:r.requires??[],...r.campaign?{campaign:r.campaign}:{},...r.availability?{availability:r.availability}:{},...r.retryCooldownMs===void 0?{}:{retryCooldownMs:r.retryCooldownMs}})}return v("quest",{protocol:Q,key:n,describe:h,async evaluate(a){let d=r.settings.parse(a.settings),l=i?me.parse(a.tracker):null,g=Ke.get(r.trigger),w=l&&g?J(g,l.record.data):null;if(w)return M.parse({kind:"reject",reason:`The record's data does not match the data schema this quest was built with: ${w.path} ${w.reason}`});let m=l;if(a.performance){if(!r.performance)throw new Error("Quest has no performance evaluator");let f=Re.parse(a.performance),We=R(z(r.performance.metrics),q().int().safe().nonnegative()).parse(f.metrics),b=await r.performance.evaluate({settings:d,member:a.member,tracker:m,metrics:We,observedAt:f.observedAt});if(!b)throw new Error("Performance evaluator returned no decision");if(b.rewards!==void 0)throw new Error("A performance evaluator cannot select rewards. It gates the rewards content evaluation selected: return accept, review or reject with a reason only.");return M.parse(b.kind==="accept"?{kind:"accept",rewards:f.rewards}:b.kind==="review"&&a.humanReview?{kind:"review",reason:b.reason,rewards:f.rewards}:{kind:"reject",reason:b.reason,...b.kind==="review"?{requestedReview:!0}:{}})}let p=r.evaluate?await r.evaluate({settings:d,member:a.member,input:a.input,tracker:m,eligibleAt:a.eligibleAt,calendar:a.calendar,now:a.now,review:a.review,trackers:V(a.trackers),wallet:a.wallet,images:a.images,...a.telegram?{telegram:a.telegram}:{},...Object.fromEntries(c.map(f=>[f,a[f]]))}):S.accept();if(!p)throw new Error("Evaluator returned no decision");return p.kind==="review"&&!a.humanReview?M.parse({kind:"reject",reason:p.reason,requestedReview:!0}):M.parse(p.kind==="accept"||p.kind==="review"?{...p,rewards:p.rewards??a.rewards,...o?.kind==="keyed"||o?.kind==="progress"?{completionKey:o.kind==="progress"?o.distinct({...a,tracker:l}):p.completionKey??o.key({...a,tracker:l})}:{}}:p)}})}}var st=_e(!1),ct=_e(!0);export{Je as CapabilityError,Hr as automatic,tt as automaticFulfillment,Nr as badge,ar as balanceAtLeast,Vr as budget,xr as calendar,He as capabilityErrorCodes,tr as completed,Jr as content,Xe as cosmosDenomSchema,Ve as cosmosNetworkSchema,$r as count,lr as customSource,S as decision,jr as defineBadge,er as defineCampaign,Rr as defineEngagementReward,rr as defineGroup,Ir as defineLeaderboard,Mr as defineLedger,or as defineOffer,st as defineQuest,ct as defineQuestType,Dr as defineReferral,at as defineTieredReward,Pr as defineTracker,Br as discord,Lr as earned,ot as evaluators,Wr as evidence,cr as formatUnits,Zr as groupMembership,nr as inGroup,Ye as isEvmChainId,Xr as keyed,Fr as manual,nt as once,sr as parseUnits,Ur as pointLedgers,_r as points,Yr as progress,Tr as questCompleted,Ar as rolling,Gr as settings,rt as staffHandover,Cr as streak,Qr as telegram,j as trackerDataSchema,me as trackerTriggerContextSchema,et as untracked,Or as x,Fe as z};
@@ -0,0 +1 @@
1
+ import{Gb as Y,Kb as ee,Lb as Dt,Qc as Ne,Rb as $e,Sb as c,T as _t,Ub as be,Vb as t,Wb as z,Xb as te,Xc as Qt,Yb as Me,Yc as Qe,Z as ze,Zb as f,Zc as Bt,a as N,bc as g,ca as Ut,cc as _e,d as Mt,ec as Ue,ed as re,fc as Nt,gc as Ze,hc as j,ld as M,ma as X,mb as Lt,md as pe,nb as i,oc as Le,pa as r,pc as u,rc as De,sc as s,sd as A,vb as m,wa as Zt}from"./IDOMZWRY.js";var Pn=["not-linked","provider-unavailable","author-error"],Cn=e=>Pn.includes(e),Co=te({code:r().min(1),message:r().min(1),retryable:m()}),Ht=Symbol.for("@domino-sdk/relay/CapabilityError"),Eo=class Kt extends Error{code;retryable;constructor(n,o,l={}){super(o),this.name="CapabilityError",this.code=n,this.retryable=l.retryable??n==="provider-unavailable",Object.defineProperty(this,Ht,{value:!0})}static[Symbol.hasInstance](n){return typeof n=="object"&&n!==null&&n[Ht]===!0}static from(n){return new Kt(n.code,n.message,{retryable:Cn(n.code)&&n.retryable})}};var En=Symbol.for("@domino-sdk/relay.RequestError");var Tn=class extends Error{name="RequestError";[En]=!0;kind;uncertain;status;code;operationId;recovery;retryAfter;constructor(e,n){super(e,n.cause===void 0?{}:{cause:n.cause}),this.kind=n.kind,this.uncertain=n.uncertain??!1,this.status=n.status,this.code=n.code,this.operationId=n.operationId,this.retryAfter=n.retryAfter,this.recovery=this.uncertain?n.operationId&&(n.replaySafe??!0)?"replay":"reconcile":void 0}},$n={NotSignedIn:"not-signed-in",StaleSession:"stale-session",InvalidInput:"invalid-input",InvalidResponse:"invalid-response",Network:"network",Timeout:"timeout",Aborted:"aborted",NotFound:"not-found",RetryUnavailable:"retry-unavailable",SubmissionStorage:"submission-storage",SubmissionStorageQuota:"submission-storage-quota",SubmissionConflict:"submission-conflict",OperationRetired:"operation-retired",QuestUpdated:"quest-updated",AttemptPending:"attempt-pending",RetryCooldown:"retry-cooldown",StaleQuiz:"stale-quiz",InvalidSubmission:"invalid-submission",InvalidCursor:"invalid-cursor",PointLedgerNotFound:"point-ledger-not-found",NotJoined:"not-joined",OutsideWindow:"outside-window",EnrollmentRequired:"enrollment-required",BudgetExhausted:"budget-exhausted",OfferNotFound:"offer-not-found",OfferPaused:"offer-paused",OfferLimitReached:"offer-limit-reached",OfferOutOfStock:"offer-out-of-stock",InsufficientPoints:"insufficient-points",Credential:"credential",WalletSigner:"wallet-signer",PrerequisitesIncomplete:"prerequisites-incomplete",QuestClosed:"quest-closed",QuestPaused:"quest-paused",ProfileLocked:"profile-locked",InvitationNotFound:"invitation-not-found",InvalidCode:"invalid-code",CodeExpired:"code-expired",ChallengeExpired:"challenge-expired",RateLimited:"rate-limited"},Mn=Symbol.for("@domino-sdk/relay.RelayError");var _n=class extends Tn{name="RelayError";[Mn]=!0;window;missing;retryAt;constructor(e,n){super(e,n),this.window=n.window,this.missing=n.missing??[],this.retryAt=n.retryAt}};function Un(e,n,o={}){return new _n(e,{...o,kind:"client",code:n})}var a=r().min(1).max(100).regex(/^[a-zA-Z0-9_-]+$/),Zn=Symbol("domino.response.tolerant-v1");function dr(e){return Object.assign(e,{[Zn]:!0})}var Be=new WeakMap;function $o(e){for(let n of Object.keys(e)){let o=Object.getOwnPropertyDescriptor(e,n)?.get;if(!o)continue;let l=d=>(Object.defineProperty(e,n,{value:d,writable:!0,enumerable:!0,configurable:!0}),d);Object.defineProperty(e,n,{get:()=>l(o.call(e)),set:l,enumerable:!0,configurable:!0})}return e}function S(e){let n=Be.get(e);if(n)return n;let o=Object.create(Object.getPrototypeOf(e._zod.def),Object.getOwnPropertyDescriptors(e._zod.def));if(e instanceof be){let d;Object.defineProperty(o,"shape",{get:()=>d??=Object.fromEntries(Object.entries(e.shape).map(([b,p])=>[b,S(p)])),configurable:!0,enumerable:!0}),Object.assign(o,{catchall:e._zod.def.catchall instanceof Dt||!e._zod.def.catchall?void 0:S(e._zod.def.catchall)})}else e instanceof Lt?Object.assign(o,{checks:e._zod.def.checks?.filter(d=>{let b=d._zod.def;return b.check!=="less_than"||!("value"in b)||b.value===Number.MAX_SAFE_INTEGER||b.value===864e13})}):e instanceof $e?Object.assign(o,{element:S(e.element),checks:[]}):e instanceof Me?Object.assign(o,{options:e.options.map(S)}):e instanceof Ue?Object.assign(o,{items:e._zod.def.items.map(S),rest:e._zod.def.rest?S(e._zod.def.rest):null}):e instanceof _e?Object.assign(o,{left:S(e._zod.def.left),right:S(e._zod.def.right)}):e instanceof Qe?Object.assign(o,{getter:()=>S(e._zod.def.getter())}):e instanceof Ze?Object.assign(o,{valueType:S(e.valueType)}):e instanceof Ne?Object.assign(o,{in:S(e.in),out:S(e.out)}):"innerType"in o&&o.innerType instanceof X&&Object.assign(o,{innerType:S(o.innerType)});let l=Mt(e,o);return Be.set(e,l),Be.set(l,l),l}function Ln(e){return S(e)}function mr(e){if(e instanceof be)return e.shape;if("innerType"in e._zod.def&&e._zod.def.innerType instanceof X)return mr(e._zod.def.innerType)}function Xe(e){if(e instanceof De)return[...e.values];if(e instanceof Le)return e.options;if("innerType"in e._zod.def&&e._zod.def.innerType instanceof X)return Xe(e._zod.def.innerType)}function C(e,n){if(e instanceof De)return typeof n=="string"&&[...e.values].every(o=>typeof o=="string")&&!e.values.has(n);if(e instanceof Le)return typeof n=="string"&&!e.options.includes(n);if(e instanceof $e&&Array.isArray(n))return n.some(o=>C(e.element,o));if(e instanceof Ue&&Array.isArray(n))return n.some((o,l)=>{let d=e._zod.def.items[l]??e._zod.def.rest;return d?C(d,o):!1});if(e instanceof _e)return C(e._zod.def.left,n)||C(e._zod.def.right,n);if(e instanceof Qe)return C(e._zod.def.getter(),n);if(e instanceof Ze&&n!==null&&typeof n=="object"&&!Array.isArray(n))return Object.entries(n).some(([o,l])=>C(e.keyType,o)||C(e.valueType,l));if(e instanceof Me){let o=[...e.options];if(typeof n=="string"){let l=o.flatMap(d=>Xe(d)??[]);if(l.some(d=>typeof d=="string")&&!l.includes(n))return!0}if(n!==null&&typeof n=="object"&&!Array.isArray(n)){let l=j(r(),ee()).parse(n),d=["kind","status","provider","input","type","mode"];for(let b of d){if(typeof l[b]!="string")continue;let p=o.map(R=>{let $=mr(R)?.[b];return $?Xe($):void 0});if(p.some(R=>!R))continue;let h=o.filter((R,$)=>p[$]?.includes(l[b]));if(!h.length)return!0;o=h}}return o.every(l=>C(l,n))}if(e instanceof be&&n!==null&&typeof n=="object"&&!Array.isArray(n)){let o=j(r(),ee()).parse(n);return Object.entries(e.shape).some(([l,d])=>C(d,o[l]))||Object.entries(o).some(([l,d])=>!(l in e.shape)&&!!e._zod.def.catchall&&C(e._zod.def.catchall,d))}if(e instanceof Ne){if(C(e.in,n))return!0;let o=Ut(e.in,n);return o.success&&C(e.out,o.data)}return"innerType"in e._zod.def&&e._zod.def.innerType instanceof X?C(e._zod.def.innerType,n):!1}function Dn(e){return dr(M().transform((n,o)=>{let l=Ln(e),d=l.safeParse(n);if(d.success)return{kind:"supported",value:d.data};if(C(l,n))return{kind:"unsupported",raw:n};for(let b of d.error.issues)o.addIssue({...b});return N}))}function Mo(e){return dr(c(Dn(e)).transform(n=>({items:n,unsupportedCount:n.filter(o=>o.kind==="unsupported").length})))}var k=r().min(1).max(4096),_o=z({cursor:k.optional()});async function*Uo(e){let n;do{let o=await e(n);yield*o.items,n=o.nextCursor??void 0}while(n!==void 0)}var Zo=z({cursor:k.optional(),limit:A.number().int().min(1).max(100).default(50)}),dt=u(["google","apple","x","discord"]),ur=t({provider:dt,configured:m(),status:u(["disconnected","connected","reconnect"]),subject:r().nullable(),revision:i().int().nonnegative()}),Lo=t({}).strict(),Do=t({channelId:r().regex(/^[0-9]{1,20}$/),messageId:r().regex(/^[0-9]{1,20}$/)}).strict(),No=t({userId:r().regex(/^[0-9]{1,20}$/).nullable().default(null),nickname:r().nullable().default(null),displayName:r().nullable().default(null),boostingSince:r().datetime({offset:!0}).nullable().default(null),roles:c(r().regex(/^[0-9]{1,20}$/)),joinedAt:r().datetime({offset:!0}).nullable(),pending:m()}),Qo=t({guildId:r(),channelId:r(),messageId:r(),userId:r(),content:r().nullable(),replyTo:r().nullable(),publishedAt:i()}).strict(),zr=z({kind:s("discord-messages"),text:m().optional()}),br=z({kind:s("discord-reactions")}),Nn=t({guildId:r(),channelId:r(),messageId:r(),replyTo:r().nullable(),publishedAt:i()}),Bo=Nn.extend({text:r().nullable()}),Ho=t({guildId:r(),channelId:r(),messageId:r(),emoji:t({id:r().nullable(),name:r()}),reactorRoles:c(r()),messagePublishedAt:i()}),Qn=z({kind:s("integration"),provider:s("discord"),action:s("grant-role"),roleId:r().regex(/^[0-9]{1,20}$/)}),Bn=f([z({provider:s("discord"),resource:s("channel"),types:c(u(["text","announcement"])).min(1)}),z({provider:s("discord"),resource:s("role"),assignable:m().default(!1)})]),Hn=16,Kn=32768,Vn=16,ne=256,Vt=f([r(),i().finite(),m(),Y()]),ge=i().int().safe().nonnegative(),fe=i().finite(),He=()=>c(ie).min(1).max(Vn),ie=Bt(()=>z({type:u(["object","array","string","number","integer","boolean","null"]).optional(),properties:j(r(),ie).refine(e=>Object.keys(e).length<=ne,`An object schema lists at most ${ne} properties`).optional(),required:c(r()).max(ne).optional(),additionalProperties:f([m(),ie]).optional(),propertyNames:z({type:s("string"),enum:c(r()).max(ne).optional()}).optional(),items:ie.optional(),minItems:ge.optional(),maxItems:ge.optional(),minLength:ge.optional(),maxLength:ge.optional(),minimum:fe.optional(),maximum:fe.optional(),exclusiveMinimum:fe.optional(),exclusiveMaximum:fe.optional(),enum:c(Vt).min(1).max(ne).optional(),const:Vt.optional(),anyOf:He().optional(),oneOf:He().optional(),allOf:He().optional()}));function Wn(e){let n=[[e,0]];for(;n.length;){let[o,l]=n.pop();if(!(typeof o!="object"||o===null)){if(l>=Hn)return"Tracker data schemas are at most 32 KB and 16 levels deep";if(!Array.isArray(o)&&Object.hasOwn(o,"__proto__"))return"Tracker data schemas cannot name a property __proto__";for(let d of Object.values(o))n.push([d,l+1])}}return new TextEncoder().encode(JSON.stringify(e)).byteLength>Kn?"Tracker data schemas are at most 32 KB and 16 levels deep":null}var pr=e=>[...e.anyOf??[],...e.oneOf??[],...e.allOf??[]],Gn=e=>e.properties!==void 0||e.items!==void 0||typeof e.additionalProperties=="object"||pr(e).length>0;function Ye(e,n,o){let l=pr(e);if(o&&l.filter(Gn).length>1)return n;let d=[...Object.entries(e.properties??{}).map(([b,p])=>[p,`${n}.${b}`])];e.items&&d.push([e.items,n]),typeof e.additionalProperties=="object"&&d.push([e.additionalProperties,n]);for(let[b,p]of d){let h=Ye(b,p,o);if(h)return h}for(let b of l){let p=Ye(b,n,!0);if(p)return p}return null}var gr=ee().superRefine((e,n)=>{let o=Wn(e);o&&n.addIssue({code:"custom",message:o,abort:!0})}).pipe(ie).refine(e=>e.type==="object","A tracker's record data is an object: declare it with z.object({ ... })").superRefine((e,n)=>{let o=Ye(e,"data",!1);o&&n.addIssue({code:"custom",message:`Tracker data schemas cannot nest a union with several object, array or union branches inside another union's branch (${o}): flatten it into one union`})}),Wt={pattern:"check string patterns in your evaluator",format:"use z.string() and check the format in your evaluator",prefixItems:"use an array or an object instead of a tuple",multipleOf:"check divisibility in your evaluator",not:"describe the allowed values instead",$ref:"inline the schema instead of registering or reusing it by ID",$defs:"inline the schema instead of registering or reusing it by ID",definitions:"inline the schema instead of registering or reusing it by ID",if:"use a union instead",then:"use a union instead",else:"use a union instead",contains:"check array contents in your evaluator",minContains:"check array contents in your evaluator",maxContains:"check array contents in your evaluator",uniqueItems:"check uniqueness in your evaluator",minProperties:"check key counts in your evaluator",maxProperties:"check key counts in your evaluator",patternProperties:"use z.record(z.string(), value) instead",dependentRequired:"use a union instead",dependentSchemas:"use a union instead",unevaluatedProperties:"use a strict object instead",unevaluatedItems:"use an array instead"},fr=new Set(["additionalProperties","items","propertyNames"]),vr=new Set(["anyOf","oneOf","allOf"]),Fn=new Set(["type","properties","required","minItems","maxItems","minLength","maxLength","minimum","maximum","exclusiveMinimum","exclusiveMaximum","enum","const",...fr,...vr]),Jn=new Set(["$schema","$id","$comment","title","description","default","examples","deprecated","readOnly","writeOnly"]);function je(e,n){if(typeof e!="object"||e===null||Array.isArray(e))return e;let o={};for(let[l,d]of Object.entries(e)){if(Object.hasOwn(Wt,l))throw new Error(`Tracker data schemas cannot use ${l} (${n}): ${Wt[l]}`);if(!Jn.has(l)){if(!Fn.has(l))throw new Error(`Tracker data schemas cannot use the keyword ${l} (${n}): keep metadata to title, description, default and examples`);if(l==="properties"&&Object.hasOwn(d,"__proto__")||l==="required"&&d.includes("__proto__"))throw new Error(`Tracker data schemas cannot name a property __proto__ (${n})`);o[l]=l==="properties"?Object.fromEntries(Object.entries(d).map(([b,p])=>[b,je(p,`${n}.${b}`)])):fr.has(l)?je(d,n):vr.has(l)?d.map(b=>je(b,n)):d}}return o}function Ko(e){let n;try{n=_t(e,{target:"draft-2020-12",io:"input",unrepresentable:"throw",cycles:"throw",reused:"inline",override:({zodSchema:l,path:d})=>{let b=l._zod.def,p=["data",...d].join(".");if(b.type==="pipe"||b.type==="transform")throw new Error(`Tracker data schemas cannot transform values (${p}): records are stored as sent`);if(b.checks?.some(h=>h._zod.def.check==="custom"))throw new Error(`Tracker data schemas cannot use refinements (${p}): check the value in your evaluator`)}})}catch(l){let d=l instanceof Error?l.message:String(l);throw new Error(d.startsWith("Tracker data schemas")?d:`Tracker data schemas describe JSON: ${d}. Use z.unknown() for any JSON value.`)}let o=gr.safeParse(je(n,"data"));if(!o.success)throw new Error(o.error.issues.map(l=>l.message).join("; "));return o.data}var hr=25e4,Xn=6e6,yr=class extends Error{};function ve(e,n){if(e.steps-=n,e.steps<0)throw new yr}var Sr=64,Yn=256;function et(e,n){return e.length>n?e.slice(0,n-1)+"\u2026":e}function ea(e){let n=[];for(let o=e;o;o=o.parent)n.push(et(String(o.key),Sr));return et(["data",...n.reverse()].join("."),Yn)}var B=e=>e===null?"null":Array.isArray(e)?"an array":typeof e,Ke=10;function ta(e){let n=e.slice(0,Ke).map(o=>JSON.stringify(o)).join(", ");return e.length>Ke?`expected one of ${n}, or ${e.length-Ke} more`:`expected one of ${n}`}var Gt=new WeakMap,Ft=new WeakMap;function Jt(e,n){let o=Gt.get(e);return o||(o=new Set(n),Gt.set(e,o)),o}function ra(e){let n=Ft.get(e);return n||(n=Object.entries(e.properties??{}).filter(([,o])=>o.const!==void 0),Ft.set(e,n)),n}function K(e,n,o,l){ve(l,1);let d=b=>({at:o,reason:b});if(e.const!==void 0&&n!==e.const)return d(()=>`expected ${JSON.stringify(e.const)}`);if(e.enum&&!Jt(e,e.enum).has(n)){let b=e.enum;return d(()=>ta(b))}switch(e.type){case"null":if(n!==null)return d(()=>`expected null, got ${B(n)}`);break;case"boolean":case"string":if(typeof n!==e.type){let b=e.type;return d(()=>`expected a ${b}, got ${B(n)}`)}break;case"number":if(typeof n!="number")return d(()=>`expected a number, got ${B(n)}`);break;case"integer":if(!Number.isInteger(n))return d(()=>typeof n=="number"?"expected an integer":`expected an integer, got ${B(n)}`);break;case"array":if(!Array.isArray(n))return d(()=>`expected an array, got ${B(n)}`);break;case"object":if(typeof n!="object"||n===null||Array.isArray(n))return d(()=>`expected an object, got ${B(n)}`);break}if(typeof n=="string"){let{minLength:b,maxLength:p}=e;if(b!==void 0&&n.length<b)return d(()=>`expected at least ${b} characters`);if(p!==void 0&&n.length>p)return d(()=>`expected at most ${p} characters`)}if(typeof n=="number"){let b=[[e.minimum,p=>n>=p,"at least"],[e.exclusiveMinimum,p=>n>p,"more than"],[e.maximum,p=>n<=p,"at most"],[e.exclusiveMaximum,p=>n<p,"less than"]];for(let[p,h,R]of b)if(p!==void 0&&!h(p))return d(()=>`expected ${R} ${p}`)}if(Array.isArray(n)){let{minItems:b,maxItems:p}=e;if(b!==void 0&&n.length<b)return d(()=>`expected at least ${b} items`);if(p!==void 0&&n.length>p)return d(()=>`expected at most ${p} items`);if(e.items)for(let h=0;h<n.length;h++){let R=K(e.items,n[h],{parent:o,key:h},l);if(R)return R}}if(typeof n=="object"&&n!==null&&!Array.isArray(n)){let b=n,p=e.properties??{},h=e.required??[];ve(l,h.length);for(let P of h)if(!Object.hasOwn(b,P))return d(()=>`missing required key "${et(P,Sr)}"`);let R=ra(e);ve(l,R.length);for(let[P,D]of R)if(Object.hasOwn(b,P)&&b[P]!==D.const)return{at:{parent:o,key:P},reason:()=>`expected ${JSON.stringify(D.const)}`};let $=Object.keys(b);ve(l,$.length);let Et=e.propertyNames?.enum,Tt=Et&&Jt(e.propertyNames,Et);for(let P of $){if(Tt&&!Tt.has(P))return{at:{parent:o,key:P},reason:()=>"is not an allowed key"};let D=Object.hasOwn(p,P)?p[P]:e.additionalProperties;if(D===!1)return{at:{parent:o,key:P},reason:()=>"is not an allowed key"};if(D&&D!==!0){let $t=K(D,b[P],{parent:o,key:P},l);if($t)return $t}}}for(let b of e.allOf??[]){let p=K(b,n,o,l);if(p)return p}if(e.anyOf&&!e.anyOf.some(b=>!K(b,n,o,l)))return d(()=>"matches none of the allowed shapes");if(e.oneOf){let b=0;for(let p of e.oneOf)if(!K(p,n,o,l)&&++b>1)return d(()=>"matches more than one of the allowed shapes");if(!b)return d(()=>"matches none of the allowed shapes")}return null}function na(e,n,o={steps:hr}){try{let l=K(e,n,null,o);return l&&{kind:"mismatch",path:ea(l.at),reason:l.reason()}}catch(l){if(l instanceof yr)return{kind:"too-complex",path:"data",reason:"is too complex to validate against the tracker's schema"};throw l}}function aa(e,n){let o={steps:Xn};return n.map(l=>{let d={steps:Math.min(hr,o.steps)},b=d.steps,p=na(e,l,d);return o.steps-=b-Math.max(d.steps,0),p})}function tt(e){return e.flatMap(n=>n.anyOf||n.oneOf||n.allOf?tt([...n.anyOf??[],...n.oneOf??[],...n.allOf??[]]):[n])}var Xt=e=>e.type===void 0&&e.properties===void 0&&e.const===void 0&&e.enum===void 0;function ia(e,n){let o=new Set(["string","number","boolean","null","object","array"]),l=[e];for(let b of n.split(".")){let p=[];for(let h of tt(l))if(Xt(h))p.push({});else{if(h.type!=="object")continue;h.properties&&Object.hasOwn(h.properties,b)?p.push(h.properties[b]):h.additionalProperties===!0?p.push({}):h.additionalProperties&&p.push(h.additionalProperties)}if(!p.length)return null;l=p}let d=new Set;for(let b of tt(l)){if(Xt(b))return o;b.type&&d.add(b.type==="integer"?"number":b.type);for(let p of[...b.const!==void 0?[b.const]:[],...b.enum??[]])d.add(p===null?"null":typeof p)}return d}function Vo(e){return{content:(n,o)=>e.content(n,o),summary:(n,o)=>e.summary(n,o),records:(async(n,o)=>{let l=await e.records(n,o),d=n.source,b=d?.kind==="custom"?d.data:void 0;if(!b)return l;let p=aa(b,l.items.map(R=>R.data)),h=l.items.filter((R,$)=>!p[$]);return{...l,items:h,excluded:l.items.length-h.length}})}}function Wo(e,n){let o=n===void 0?[]:Array.isArray(n)?n:[n];for(let l of o){let d=ia(e,l.path);if(!d)return`The tracker filter reads data.${l.path}, which the tracker's data schema does not declare`;if(!("equals"in l?[typeof l.equals]:["number","string"]).some(p=>d.has(p)))return`The tracker filter compares data.${l.path} with ${"equals"in l?JSON.stringify(l.equals):"a number"}, but the field holds ${[...d].join(" or ")}`}return null}var x=i().int().safe().nonnegative().max(864e13),I=i().int().safe().nonnegative(),E=r().min(1).max(256),H=I.nullable().default(null),oa=te({id:E,userId:E,content:r(),createdAt:ze.datetime({offset:!0}),author:te({id:E,username:r(),name:r(),verified:m().nullable().default(null)}),likeCount:H,replyCount:H,retweetCount:H,quoteCount:H,viewCount:H,bookmarkCount:H,isReply:m(),isRetweet:m(),isQuoteTweet:m()}),sa=z({version:s(1),id:r().min(1),authorId:r().min(1),publishedAt:x,text:r(),isReply:m(),isRetweet:m(),isQuoteTweet:m(),media:c(z({type:r(),url:r()})).nullable(),mentionedAuthorIds:c(r().min(1)).nullable(),videoLengthSeconds:i().nonnegative().nullable(),references:z({replyId:r().nullable(),replyAuthorId:r().nullable(),quoteId:r().nullable(),quoteAuthorId:r().nullable(),repostId:r().nullable(),repostAuthorId:r().nullable()})}),ca=z({id:E,observation:r().regex(/^observation_[a-f0-9]{64}$/)}),Go=ca.extend({member:a}),Ve={member:a,capturedAt:x},jr=z({contentRevision:a,observation:a}),Fo=z({tracker:a,source:s("x"),evidence:jr,content:sa,observedAt:x,removed:m(),attribution:g("kind",[z({...Ve,kind:s("linked"),account:z({provider:s("x"),issuer:r().min(1),subject:E,revision:I,linkedAt:x.nullable()})}),z({...Ve,kind:s("unlinked")}),z({...Ve,kind:s("different-author")})])}),la=["wallet","x","discord","member"],kr=Qt(["app:",r().regex(/^[a-z0-9][a-z0-9_-]{0,39}$/,"Name an app identity kind like app:telegram: lowercase letters, digits, _ or -, at most 40")]),mt=f([u(la),kr]),Jo=e=>e.startsWith("app:"),le=r().min(1).max(64),Xo=t({kind:le,subject:E,revision:I,linkedAt:x.nullable()}),de=r().regex(/^[a-zA-Z][a-zA-Z0-9_]{0,39}$/,"Name roles like author or recipient: a letter, then letters, digits or underscores"),Yo=["author","inReplyTo"],rt=e=>new Set(e).size===e.length,xr=r().regex(/^[a-z][a-zA-Z0-9]{0,39}$/,"Name metrics like likes or watchTime: a lowercase letter, then letters or digits"),da=["likes","replies","reposts","quotes","views","bookmarks"],ma=z({metrics:c(xr).max(10).refine(rt,"List each metric once")}),we=t({kind:s("x-search"),query:r().trim().min(1).max(2e3)}).strict(),wr=t({kind:s("custom"),namespace:a,identities:c(mt).min(1).max(8).refine(rt,"List each identity kind once").optional(),accounts:c(de).min(1).max(10).refine(rt,"List each account role once").refine(e=>!e.includes("author"),"author is every record's own role; name other accounts").optional(),data:gr.optional(),content:ma.optional()}).strict().refine(e=>!e.content||e.data?.properties?.body?.type==="object"&&(e.data.required??[]).includes("body"),"A content source's data schema has a required object body").refine(e=>!e.accounts||e.identities,"Named accounts need identities"),ua=g("kind",[we,wr,zr,br]),za=["x-search","custom","discord-messages","discord-reactions"];function es(e){if(pa(e))switch(e.kind){case"x-search":return["x"];case"discord-messages":case"discord-reactions":return["discord"];case"custom":return e.identities}}function ts(e){switch(e.kind){case"x-search":return{metrics:da};case"custom":return e.content;case"discord-messages":case"discord-reactions":return}}var ut=t({start:x,end:x.optional()}).strict().refine(e=>e.end===void 0||e.end>e.start,"End must follow start"),Q=t({key:a,title:r().trim().min(1).max(120),source:ua,window:ut,refreshSeconds:i().int().min(300).max(86400).default(21600),maxPages:i().int().min(1).max(1e3).default(60)}).strict(),rs=f([Q,t({code:r().min(1).max(2e6)}).strict()]),Ar=g("kind",[t(we.shape),t({...wr.shape,identities:c(le).optional()}),t(zr.shape),t(br.shape)]),ba=f([Ar,t({kind:r().min(1).refine(e=>!za.some(n=>n===e),"Known source kinds must match their schema")}).catchall(M())]);function pa(e){return Ar.safeParse(e).success}var ga=t({...Q.shape,source:ba,window:t(ut.shape)}),fa=t({id:a,version:a,definition:ga,publishedAt:x,actor:r().nullable()}),Ir=t({archivedAt:i().int().nonnegative().nullable().optional(),published:fa,paused:m(),state:u(["idle","syncing","error","complete"]),lastStartedAt:x.nullable(),lastCompletedAt:x.nullable(),nextSyncAt:x.nullable(),coverage:u(["unknown","partial","complete"]),error:r().nullable(),records:I,origin:u(["code","data"]).optional()}),Or=t({title:Q.shape.title,query:we.shape.query,window:ut,refreshSeconds:Q.shape.refreshSeconds.unwrap(),maxPages:Q.shape.maxPages.unwrap()}).strict(),ns=Or.extend({key:a,refreshSeconds:Q.shape.refreshSeconds,maxPages:Q.shape.maxPages,actionId:a}).strict(),as=Or.partial().extend({actionId:a}).strict().refine(({actionId:e,...n})=>Object.values(n).some(o=>o!==void 0),"Change at least one field"),is=t({actionId:a,action:u(["pause","resume","refresh"])}).strict(),va=z({kind:mt.optional(),id:E}),ha=t({id:E,occurredAt:x,observedAt:x,author:t({id:E,verified:m().nullable().default(null),kind:mt.optional()}).strict().nullable().default(null),accounts:j(de,va).refine(e=>Object.keys(e).length<=10,"At most 10 accounts").optional(),data:j(r(),M()),removed:m().default(!1)}).strict().refine(e=>new TextEncoder().encode(JSON.stringify(e.data)).byteLength<=131072,"Record exceeds 128 KB"),qr=t({kind:le.optional(),id:r()}),ya=t({id:r(),occurredAt:x,observedAt:x,author:t({id:r(),verified:m().nullable().default(null),kind:le.optional()}).nullable().default(null),accounts:j(r(),qr).optional(),data:j(r(),M()),removed:m().default(!1),source:r(),firstSeenAt:x,synthetic:s(!0).optional(),evidence:jr.nullable().optional()}),os=t({actionId:a,records:c(ha).min(1).max(100)}).strict(),ss=t({stored:I,admissions:t({admitted:I,skipped:I,filtered:I.optional()}).optional()}),Yt={quest:a,tracker:a,record:E,observedAt:x,release:a,account:r().nullable(),createdAt:x,updatedAt:x,actor:r().nullable()},cs=["quest-paused","before-activation","outside-window","future-record","record-removed","invalid-record-data","content-unavailable","no-account","beneficiary-is-author","unlinked-account","ambiguous-account","not-joined","already-completed","not-enrolled","before-enrollment","historical","prerequisites-incomplete"],Rr=g("state",[t({...Yt,state:s("admitted"),code:Y(),reason:Y(),member:a,attempt:a}),t({...Yt,state:s("skipped"),code:r().min(1),reason:r(),window:u(["tracker","quest"]).optional(),member:a.nullable(),attempt:a.nullable()})]),Pr={quest:a.optional(),record:E.optional(),member:a.optional(),state:u(["admitted","skipped"]).optional(),code:r().min(1).max(100).optional(),limit:A.number().int().min(1).max(100).default(25)},ls=z({...Pr,cursor:k.optional()}),ds=t({items:c(Rr).max(100),nextCursor:k.nullable()}),ms=z({...Pr,before:r().max(512).optional()}),us=z({items:c(Rr).max(100),next:r().nullable()}),zs=z({actionId:a,quest:a,record:E,observedAt:x}),We=f([m(),u(["true","false"]).transform(e=>e==="true")]),bs=t({author:E.optional(),member:a.optional(),verified:We.optional(),since:A.number().int().safe().nonnegative().optional(),until:A.number().int().safe().nonnegative().optional(),removed:We.default(!1),minLikes:A.number().int().safe().nonnegative().optional(),minViews:A.number().int().safe().nonnegative().optional(),limit:A.number().int().min(1).max(100).default(25),cursor:r().max(2048).optional(),includeEvidence:We.optional()}).strict().refine(e=>e.since===void 0||e.until===void 0||e.until>e.since,"Until must follow since"),ps=t({tracker:a,items:c(ya),nextCursor:r().nullable(),total:I,status:Ir}),gs=t({records:I,authors:I,metrics:t({likes:I,replies:I,reposts:I,quotes:I,views:I,bookmarks:I}),missingMetrics:I,status:Ir}),Sa={pages:3,posts:100,days:30},fs=t({query:we.shape.query,since:x}).strict(),vs=t({query:r(),since:x,fetchedAt:x,pages:I,posts:c(oa).max(Sa.posts),more:m()}),hs=z({kind:u(["accept","reject","review","defer","progress","superseded"]),reason:r().nullable()}),ja=z({quest:a,member:a.optional(),content:r().min(1).max(256).optional(),cursor:k.optional()}),Cr=z({quest:a,content:r(),member:a,release:a,attempt:a,revision:a,observation:a,current:m(),state:u(["pending","qualified","unqualified","needs-review","failed","superseded","stale","blocked","unavailable"]),reason:r().nullable(),reward:z({attempt:a.nullable(),completion:a.nullable(),state:u(["unresolved","awarded","excluded"])})}),ys=z({items:c(Cr),nextCursor:k.nullable()}),Ae=xr,Z=j(Ae,i().int().safe().nonnegative()),ka=z({metrics:c(Ae).min(1).max(10).refine(e=>new Set(e).size===e.length,"Metrics must be unique"),maxAgeMs:i().int().positive().max(864e5).default(36e5)}),Ge=864e5,xa=t({kind:s("count"),count:i().int().min(1).max(1e4)}).strict(),wa=g("kind",[t({kind:s("lifetime")}).strict(),t({kind:s("calendar"),period:u(["day","week","month"]),latenessMs:i().int().min(0).max(90*Ge).default(7*Ge)}).strict(),t({kind:s("rolling"),durationMs:i().int().min(1).max(365*Ge)}).strict()]),Aa=t({kind:s("progress"),goal:xa,window:wa,repeat:u(["once","repeat"]).default("once")}).strict(),Fe=t({id:a,ordinal:i().int().positive(),achievedAt:i().int(),window:r()}),Er=g("status",[Fe.extend({status:s("revoked"),completion:a,revokedAt:i().int()}),Fe.extend({status:s("awarded"),completion:a}),Fe.extend({status:s("budget-exhausted"),budget:a})]),Ia=t({goal:i().int().positive(),current:i().int().nonnegative(),window:t({key:r(),start:i().int().nullable(),end:i().int().nullable()}),repeat:u(["once","repeat"]),settled:i().int().nonnegative(),latest:Er.nullable()}),Oa=t({id:a,distinct:r(),attempt:a,occurredAt:i().int(),recordedAt:i().int(),window:r(),status:u(["counted","late","future","excluded"]),achievement:Er.nullable(),reason:r().nullable()}),Ss=t({items:c(Oa),nextCursor:r().nullable()}),js=t({actionId:Zt(),excluded:m(),reason:r().trim().min(1).max(2e3)}).strict(),ks=t({cursor:r().max(2e3).optional(),limit:A.number().int().min(1).max(100).optional()}).strict(),xs=t({excluded:m()}),er=i().int().safe(),nt=/^(?:[+-]|(?:Etc\/)?GMT[+-]\d|(?:EST|MST|HST)$)/i;function qa(e){let n;try{n=new Intl.DateTimeFormat("en",{timeZone:e}).resolvedOptions().timeZone}catch{return null}return n==="UTC"?"UTC":nt.test(e)||nt.test(n)?null:n}var Tr=r().min(1).max(100).transform((e,n)=>{let o=qa(e);return o===null?(n.addIssue({code:"custom",message:nt.test(e)?"Use a named IANA timezone, such as Europe/Budapest or UTC. Fixed offsets have no daylight-saving rules.":"Use an IANA timezone name, such as Europe/Budapest or UTC"}),N):o}),oe=r().min(1).max(100),$r=e=>`${e} no longer take a timeZone: they follow the project calendar. Set calendar.timeZone in relay.json or in Console settings.`,at=e=>typeof e=="object"&&e!==null;function Ra(e,n){return at(e)&&e.kind==="streak"&&"timeZone"in e&&n.addIssue({code:"custom",path:["timeZone"],message:$r("Streaks")}),e}function Mr(e,n){let o=at(e)?e.window:void 0;return at(o)&&o.kind==="calendar"&&"timeZone"in o&&n.addIssue({code:"custom",path:["window","timeZone"],message:$r("Calendar leaderboard windows")}),e}var G=u(["lifetime","day","week","month"]),ws=t({timeZone:oe,today:r(),nextBoundary:er,pending:t({timeZone:oe,effectiveAt:er}).nullable(),declared:oe.nullable(),unsupported:r().nullable().default(null)}),As=t({actionId:a,timeZone:Tr,reason:r().trim().min(1).max(500)}).strict(),Is=t({timeZone:Tr}).strict(),Pa=t({kind:s("streak"),days:i().int().min(1).max(3650)}),Ca=t({goal:i().int().positive(),current:i().int().nonnegative(),best:i().int().nonnegative(),today:r(),todayQualified:m(),timeZone:oe,nextBoundary:i().int(),pendingTimeZone:t({timeZone:oe,effectiveAt:i().int()}).nullable(),days:c(t({day:i().int(),date:r(),timeZone:r(),occurredAt:i().int()})),milestone:g("status",[t({status:s("pending")}),t({status:s("awarded"),completion:r(),achievedAt:i().int()}),t({status:s("budget-exhausted"),budget:r(),achievedAt:i().int()})])}),U=i().int().safe().nonnegative().max(864e13),it=i().int().safe().nonnegative(),Ea=u(["new-record","new-observation","data-changed"]);function Os(e){return e==="custom"?"new-observation":"new-record"}var he=f([i().finite(),z({setting:r().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/)})]),tr=r().max(200).regex(/^[^.\s]+(\.[^.\s]+)*$/,"Use dot-separated keys, such as metrics.likes"),rr=f([z({path:tr,equals:f([r().max(1e3),i().finite(),m()])}),z({path:tr,gt:he.optional(),gte:he.optional(),lt:he.optional(),lte:he.optional()}).refine(e=>[e.gt,e.gte,e.lt,e.lte].some(n=>n!==void 0),"Compare with equals, gt, gte, lt or lte")]),Ta=f([rr,c(rr).min(1).max(10)]);function $a(e){return e===void 0?[]:Array.isArray(e)?e:[e]}function qs(e){return $a(e).flatMap(n=>"equals"in n?[]:[n.gt,n.gte,n.lt,n.lte].flatMap(o=>typeof o=="object"?[o.setting]:[]))}var Ma=u(["none","required"]),_a=u(["activation","window","enrollment"]),Ua=u(["staff","claim","automatic"]),Za=z({tracker:a,source:r().min(1).max(100),on:Ea,where:Ta.optional(),beneficiary:de,enrollment:Ma.optional(),since:_a.optional(),historical:Ua.optional(),content:s(!0).optional()}).refine(e=>e.since!=="enrollment"||e.enrollment==="required",'since: "enrollment" needs enrollment: "required"');function Rs(e){return e.on}function Ps(e){return{enrollment:e.enrollment??"none",since:e.since??"activation",historical:e.historical??(e.content?"claim":"staff")}}function Cs(e){return e.beneficiary}var nr={issuer:r().min(1),subject:r().min(1).max(256),revision:it,linkedAt:U.nullable()},La=t({member:a,capturedAt:U,account:f([t({provider:s("wallet"),id:r().min(5).max(256),revision:it,linkedAt:U.nullable()}),t({provider:s("x"),...nr}),t({provider:s("discord"),...nr}),t({provider:s("member"),id:a}),t({provider:kr,subject:r().min(1).max(256),revision:it,linkedAt:U.nullable()}),t({provider:r().min(1)})])}),Da=t({id:r().min(1).max(256),source:r(),occurredAt:U,observedAt:U,firstSeenAt:U,author:t({id:r().min(1).max(256),verified:m().nullable(),kind:le.optional()}).nullable(),accounts:j(de,qr).optional(),data:j(r(),M()),removed:m()}),Na=t({revision:a,observation:a,body:j(r(),M())}),Es=t({tracker:a,key:a,beneficiary:de,record:Da,content:Na.optional(),attribution:La,enrolledAt:U.optional()}),Qa={quests:1e3,questTypes:200,collections:1e3},ye={modules:200,size:2e6},Ba=r().regex(/^[0-9a-f]{64}$/),Ha=r().max(200).regex(/^[a-z0-9_][a-z0-9_.-]*(\/[a-z0-9_][a-z0-9_.-]*)*\.js$/i).refine(e=>!e.split("/").some(n=>n==="."||n===".."),"Runtime module paths cannot contain . or .. segments"),zt=t({digest:Ba,sdkVersion:r().min(1).max(64)}).strict(),Ka=j(Ha,r().min(1)).refine(e=>{let n=Object.values(e);return n.length>0&&n.length<=ye.modules&&n.reduce((o,l)=>o+l.length,0)<=ye.size},`A runtime has 1 to ${ye.modules} modules and at most ${ye.size} characters of source`),Ts=zt.extend({zodVersion:r().min(1).max(64),modules:Ka}).strict();async function $s(e){let n=JSON.stringify(Object.entries(e).sort(([l],[d])=>l<d?-1:l>d?1:0)),o=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(n));return[...new Uint8Array(o)].map(l=>l.toString(16).padStart(2,"0")).join("")}var ar=r().regex(/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$/),bt=g("kind",[Pa,Aa,t({kind:s("once")}).strict(),t({kind:s("keyed")}).strict()]),ir=r().min(1).max(500),Va=t({id:ar,scope:u(["member","project"]),period:G,limit:i().int().positive().max(Number.MAX_SAFE_INTEGER),cost:f([i().int().positive().max(Number.MAX_SAFE_INTEGER),t({balance:ar}).strict()])}).strict(),Wa=u(["discord","x"]),Ga=u(["discord"]),Fa=t({id:r().regex(/^[0-9]{1,20}$/),name:r().min(1),icon:r().nullable()}),Ms=t({provider:Ga,configured:m(),status:u(["disconnected","ready","attention"]),revision:i().int().nonnegative(),server:Fa.nullable(),issue:r().nullable(),connectedAt:i().default(0)}),Ja=r().min(32).max(44).regex(/^[1-9A-HJ-NP-Za-km-z]+$/),Ie=u(["solana","eip155","cosmos"]),_r=/^cosmos:[-_a-zA-Z0-9]{1,32}$/,pt=re(e=>typeof e=="string"&&_r.test(e),"Use a Cosmos network: cosmos:<chain ID>"),_s=r().regex(/^[a-zA-Z][a-zA-Z0-9/:._-]{2,127}$/,"Use a Cosmos bank denomination such as uatom or uosmo");function Us(e){if(typeof e=="string"&&!e.startsWith("cosmos:"))throw new Error('Use a Cosmos network such as "cosmos:cosmoshub-4"');let n=typeof e=="string"?{chainId:e.slice(7)}:e;if(typeof n?.chainId!="string")throw new Error('Pass a Cosmos chain as { chainId } or a network such as "cosmos:cosmoshub-4"');let o=`cosmos:${n.chainId}`;if(!_r.test(o))throw new Error("A Cosmos chain ID has 1 to 32 letters, digits, hyphens or underscores");if(n.chainInfo&&n.chainInfo.chainId!==n.chainId)throw new Error("The chain info describes another chain ID");return{...n,network:o}}var Xa="solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",Ya=r().regex(/^0x[0-9a-fA-F]{40}$/),ei=r().min(8).max(90).regex(/^(?:[a-z][a-z0-9]{0,82}1[02-9ac-hj-np-z]{38,}|[A-Z][A-Z0-9]{0,82}1[02-9AC-HJ-NP-Z]{38,})$/),Zs=g("chain",[t({chain:s("solana"),address:Ja}).strict(),t({chain:s("eip155"),address:Ya,chainId:i().int().positive().safe().optional()}).strict(),t({chain:s("cosmos"),network:pt,address:ei}).strict()]),Ls=t({id:r().min(1).max(200),purpose:u(["link","sign-in"]),chain:Ie,network:pt.nullable(),address:r(),message:r().max(4096),expiresAt:i().int()}),Ds=t({challenge:r().min(1).max(200),signature:r().min(1).max(256),publicKey:r().max(128).optional()}).strict(),Ns=t({chain:Ie,network:pt.nullable(),address:r(),verifiedAt:i().int().nonnegative(),revision:i().int().positive(),signIn:m()}),Qs=t({chain:Ie,address:r().min(1).max(100)}).strict();async function Bs(e){let n=await e.address();switch(e.chain){case"solana":return{chain:"solana",address:n};case"eip155":return{chain:"eip155",address:n,...e.chainId?{chainId:await e.chainId()}:{}};case"cosmos":if(!e.network)throw Un("Choose the Cosmos chain for this wallet",$n.InvalidInput);return{chain:"cosmos",network:e.network,address:n}}}var Hs=5,ot=["solana","eip155","cosmos"],ti=u(ot),Ks=c(ti).max(ot.length).refine(e=>new Set(e).size===e.length,{message:"Duplicate wallet family"}).transform(e=>ot.filter(n=>e.includes(n)));function Vs(e){return e.chain}function Ws(e,n){if(e.chain==="cosmos"){if(!e.network||n&&n!==e.network)throw new Error("A Cosmos wallet belongs to its own network");return`${e.network}:${e.address}`}let o=n??(e.chain==="solana"?Xa:"eip155:1");if(!(e.chain==="solana"?/^solana:[1-9A-HJ-NP-Za-km-z]{32}$/.test(o):Ur(o)))throw new Error(`Use a ${e.chain} network for this wallet`);return`${o}:${e.address}`}function Ur(e){return/^eip155:[1-9][0-9]{0,15}$/.test(e)}var Gs=re(e=>typeof e=="string"&&Ur(e),'Use an EVM chain ID such as "eip155:8453"'),Je=r().regex(/^(0|[1-9][0-9]*)$/),Fs=S(t({chain:r(),token:r().nullable(),decimals:i().int().min(0).max(255).nullable(),total:Je,wallets:c(t({address:r(),amount:Je}).strict()),at:t({kind:u(["slot","block"]),number:Je}).strict(),observedAt:i().int().nonnegative()}).strict()),ri=t({required:m().default(!0),minLength:i().int().min(0).max(1e4).default(1),maxLength:i().int().min(1).max(1e4).default(1e4)}).strict().refine(e=>e.minLength<=e.maxLength,"minLength must not exceed maxLength"),ni=r().min(1).max(253).refine(e=>{if(!/^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$/i.test(e)||e.includes(".."))return!1;try{let n=new URL(`https://${e}`);return n.hostname===e.toLowerCase()&&!n.port&&!n.username&&!n.password&&n.pathname==="/"&&!n.search&&!n.hash}catch{return!1}},"Use a hostname without a scheme, path, port, or wildcard"),ai=t({required:m().default(!0),allowedHosts:c(ni).min(1).max(100).optional()}).strict(),Zr=t({kind:s("text"),value:r().max(1e4)}).strict(),Lr=t({kind:s("url"),value:r().max(2048)}).strict(),Js=g("kind",[Zr,Lr]);function Xs(e,n){let o=e.kind==="text"?1e4:2048;if(e.value.length>o)return`Enter no more than ${o} characters`;if(e.kind!==n.input)return`This quest requires ${n.input} input`;if(!e.value.trim())return n.constraints.required?"This field is required":null;if(n.input==="text")return e.value.length<n.constraints.minLength?`Enter at least ${n.constraints.minLength} characters`:e.value.length>n.constraints.maxLength?`Enter no more than ${n.constraints.maxLength} characters`:null;let l=Dr(e.value);return l?n.constraints.allowedHosts&&!n.constraints.allowedHosts.some(d=>d.toLowerCase()===l.hostname.toLowerCase())?`Use a URL hosted on: ${n.constraints.allowedHosts.join(", ")}`:null:"Enter a valid HTTP or HTTPS URL without credentials"}function Dr(e){if(e!==e.trim()||/[\\\s]/.test(e)||!/^https?:\/\//i.test(e))return null;try{let n=new URL(e);return["http:","https:"].includes(n.protocol)&&!n.username&&!n.password?n:null}catch{return null}}function Ys(e){let n=Dr(e);return!n||n.port||!["x.com","www.x.com","twitter.com","www.twitter.com","mobile.twitter.com"].includes(n.hostname)?null:/^\/(?:[A-Za-z0-9_]+|i\/web)\/status\/([0-9]{1,20})\/?$/.exec(n.pathname)?.[1]??null}var gt=r().regex(/^[a-zA-Z0-9_-]+$/).max(100),ii=t({id:gt,label:r().trim().min(1).max(500)}).strict(),Nr=t({id:gt,prompt:r().trim().min(1).max(1e3),choices:c(ii).min(2).max(8).refine(e=>new Set(e.map(n=>n.id)).size===e.length,"Choice IDs must be unique")}).strict(),oi=c(Nr).min(1).max(20).refine(e=>new Set(e.map(n=>n.id)).size===e.length,"Question IDs must be unique"),ft=c(Nr.extend({correct:gt}).refine(e=>e.choices.some(n=>n.id===e.correct),"Choose a correct answer from the available choices")).min(1).max(20).refine(e=>new Set(e.map(n=>n.id)).size===e.length,"Question IDs must be unique"),Qr=f([z({provider:s("domino"),resource:s("point-ledger")}),Bn]),ec=t({source:Qr,query:r().max(100).optional(),cursor:r().regex(/^\d{1,6}$/).optional(),ids:c(r().min(1).max(100)).max(50).optional()}).strict(),tc=t({revision:i().int(),options:c(t({id:r(),label:r(),description:r().optional(),group:r().optional(),disabledReason:r().optional()})),nextCursor:r().nullable().default(null),cursor:r().nullable()}),Br=ze.datetime({offset:!0}).transform(e=>new Date(e).toISOString()),st=f([s(""),r().regex(/^\S{1,200}$/)]),_={label:r().min(1),description:r().optional()},si=g("kind",[t({..._,kind:s("point-ledger"),default:a.or(s(""))}).strict(),t({..._,kind:s("datetime"),default:Br}).strict(),t({..._,kind:s("resource"),default:st,source:Qr}).strict(),t({..._,kind:s("quiz"),default:ft}).strict(),t({..._,kind:s("text"),default:r(),minLength:i().int().nonnegative(),maxLength:i().int().positive(),multiline:m(),picker:r().optional()}).strict(),t({..._,kind:s("integer"),default:i().int(),min:i().int(),max:i().int()}).strict(),t({..._,kind:s("boolean"),default:m()}).strict(),t({..._,kind:s("choice"),default:r(),options:c(r().min(1)).min(1)}).strict()]),ci=j(r().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/),si),V=j(r(),f([r(),i().finite(),m(),ft]));function rc(e,n){let o={};for(let[l,d]of Object.entries(e))switch(d.kind){case"point-ledger":o[l]=st.default(d.default);break;case"datetime":o[l]=Br.default(d.default);break;case"resource":o[l]=st.default(d.default);break;case"quiz":o[l]=ft.default(d.default);break;case"text":o[l]=r().min(d.minLength).max(d.maxLength).default(d.default);break;case"integer":o[l]=i().int().min(d.min).max(d.max).default(d.default);break;case"boolean":o[l]=m().default(d.default);break;case"choice":o[l]=u(d.options).default(d.default);break}return V.parse(t(o).strict().parse(n))}function nc(e,n){return Object.entries(e).filter(([o,l])=>(l.kind==="resource"||l.kind==="point-ledger")&&!n[o]).map(([o])=>o)}function ac(e,n){return e.kind===n.kind||e.kind==="resource"&&e.source.provider==="domino"&&n.kind==="point-ledger"||n.kind==="resource"&&n.source.provider==="domino"&&e.kind==="point-ledger"||e.kind==="text"&&(n.kind==="resource"||n.kind==="datetime"||n.kind==="point-ledger")}var F={key:a};function ic(e){if("id"in e)throw new Error("Authoring definitions use key, not id");return a.parse(e.key)}var W=i().int().safe().nonnegative(),vt=t({from:W,until:W}).strict().refine(e=>e.until>e.from,{message:"Window end must follow its start",path:["until"]}),ke=t({key:a,title:r().trim().min(1).max(120),window:vt.optional(),enrollment:u(["none","required"]).default("none")}).strict(),li=ke.omit({key:!0,title:!0}).extend({...F,title:r().trim().min(1).max(120).optional()}).strict().transform(e=>{let n=e;return ke.parse({...n,title:e.title??n.key})});function oc(e){return li.parse(e)}var di=ke.extend({enrolledAt:W.nullable(),withdrawnAt:W.nullable().default(null),withdrawalReason:r().nullable().default(null)}),Hr=t({actionId:a,campaign:a}).strict(),sc=Hr.extend({member:a}),mi=Hr,cc=mi.extend({member:a,reason:r().trim().min(1).max(500)}),lc=t({campaign:a,member:a,enrolledAt:W,withdrawnAt:W.nullable().default(null),withdrawalReason:r().nullable().default(null)});function ht(e,n){return n}var dc=a.or(s("")).brand();function ui(e){return typeof e=="string"?e:e.key}var or=t({key:a,title:r().trim().min(1).max(120)}).strict(),zi=or.omit({key:!0,title:!0}).extend({...F,title:r().trim().min(1).max(120).optional()}).strict().transform(e=>or.parse({...e,title:e.title??e.key}));function mc(e){return ht("group",zi.parse(e))}function bi(e){return a.parse(e.key)}var Kr=r().trim().min(1).max(120),Vr=r().trim().min(1).max(1e3),ct=i().int().nonnegative().max(864e13),uc=t({actionId:a,key:a,title:Kr}).strict(),zc=t({title:Kr}).strict(),bc=t({actionId:a,member:a,reason:Vr}).strict(),pc=t({actionId:a,reason:Vr}).strict(),gc=z({cursor:k.optional(),limit:i().int().min(1).max(100).optional()}),pi=t({key:a,title:r(),members:i().int().nonnegative(),createdAt:ct,archivedAt:ct.nullable()}),fc=t({items:c(pi),nextCursor:k.nullable()}),gi=t({member:a,addedAt:ct.nullable()}),vc=t({items:c(gi),nextCursor:k.nullable()}),Wr=i().int().safe().nonnegative(),Gr=Wr.positive(),Fr=g("scope",[t({kind:s("completion"),quest:a,scope:s("ever")}).strict(),t({kind:s("completion"),quest:a,scope:s("period"),period:G.exclude(["lifetime"])}).strict()]),Jr=t({kind:s("balance"),balance:a,minimum:Gr}).strict(),Xr=t({kind:s("group"),group:a,title:r()}).strict(),fi=g("kind",[Fr,Jr,Xr]),yt=f([t({kind:s("completion"),quest:a,title:r(),scope:s("ever")}),t({kind:s("completion"),quest:a,title:r(),scope:s("period"),period:G.exclude(["lifetime"]),resetsAt:i().int().safe()}),t({kind:s("balance"),balance:a,title:r(),minimum:Gr,current:Wr}),t({kind:s("group"),group:a,title:r()})]);function hc(e,n={}){let o=e.key;return Fr.parse({kind:"completion",quest:o,scope:n.scope??"ever",..."period"in n?{period:n.period}:{}})}function yc(e,n){return Jr.parse({kind:"balance",balance:ui(e),minimum:n})}function Sc(e){return Xr.parse({kind:"group",group:bi(e),title:e.title})}var St=2147483647,me=t({kind:s("points").default("points"),balance:a,amount:i().int().min(0).max(St)}).strict(),jt=t({badge:a.optional(),group:a.optional(),id:a,title:r().min(1).max(120),tiers:c(t({id:a,title:r().min(1).max(120)}).strict()).min(1).max(20).refine(e=>new Set(e.map(n=>n.id)).size===e.length,"Tier IDs must be unique"),inventory:t({kind:s("untracked")}).strict(),fulfillment:g("kind",[t({kind:s("staff-handover")}).strict(),t({kind:s("automatic")}).strict()])}).strict().refine(e=>e.badge===void 0&&e.group===void 0||e.fulfillment.kind==="automatic"&&e.tiers.length===1&&e.tiers[0].id==="awarded","Badge and group rewards require the fixed automatic achievement envelope").refine(e=>e.badge===void 0||e.group===void 0,"A reward is either a badge or a group membership"),jc=t({id:a,key:a.nullable()}),L=t({kind:s("tier"),reward:jt,tier:a}).strict().refine(e=>e.reward.tiers.some(n=>n.id===e.tier),"Unknown reward tier"),vi=L.transform((e,n)=>{let o=e.reward.badge;return!o||e.reward.fulfillment.kind!=="automatic"||e.reward.tiers.length!==1||e.tier!=="awarded"?(n.addIssue({code:"custom",message:"Invalid badge reward"}),N):{...e,reward:{...e.reward,badge:o}}});function kc(e,n){return vi.parse({kind:"tier",tier:"awarded",reward:{id:e,badge:e,title:n,tiers:[{id:"awarded",title:"Awarded"}],inventory:{kind:"untracked"},fulfillment:{kind:"automatic"}}})}var hi=L.transform((e,n)=>{let o=e.reward.group;return!o||e.reward.fulfillment.kind!=="automatic"||e.reward.tiers.length!==1||e.tier!=="awarded"?(n.addIssue({code:"custom",message:"Invalid group reward"}),N):{...e,reward:{...e.reward,group:o}}});function xc(e,n){return hi.parse({kind:"tier",tier:"awarded",reward:{id:e,group:e,title:n,tiers:[{id:"awarded",title:"Awarded"}],inventory:{kind:"untracked"},fulfillment:{kind:"automatic"}}})}var yi=Qn,lt=f([me,L,yi]);function kt(e){return e.kind==="tier"&&e.reward.badge?"badge:"+e.reward.badge:e.kind==="tier"&&e.reward.group?"group:"+e.reward.group:e.kind==="integration"?`integration:${e.provider}:${e.action}:${e.roleId}`:e.kind==="points"?"points:"+e.balance:"tier:"+e.reward.id}var Yr=f([t({kind:s("manual"),input:s("text"),constraints:ri,actor:u(["member","staff"]).optional()}).strict(),t({kind:s("manual"),input:s("url"),constraints:ai,actor:u(["member","staff"]).optional()}).strict(),t({kind:s("manual"),input:u(["photo","quiz","none"]),actor:u(["member","staff"]).optional()}).strict(),t({kind:s("automatic"),tracker:Za.optional()}).strict()]),Si=f(Yr.options.map(e=>e.strip())),en=t({kind:u(["pass","fail","unclear"]),reason:r().min(1).max(2e3)}).strict(),wc=t({text:r().min(1).max(16e3).refine(e=>e.trim().length>0,"Text must not be blank"),criteria:r().trim().min(1).max(2e3)}).strict(),Ac=en,sr={minRetryAfterMs:1e3,maxRetryAfterMs:36e5,retryAfterMs:6e4,horizonMs:864e5,maxDefers:100},cr={minMs:1e3,maxMs:6048e5},ji=i().int().min(cr.minMs).max(cr.maxMs),xt=t({current:i().finite().nonnegative(),target:i().finite().positive(),reason:r().min(1).max(2e3)}).refine(e=>e.current<=e.target,{message:"Progress current must not exceed target"}),Ic=g("kind",[z({kind:s("defer"),reason:r().min(1).max(2e3),retryAfterMs:i().int().min(sr.minRetryAfterMs).max(sr.maxRetryAfterMs).optional(),until:i().int().safe().nonnegative().optional()}),xt.safeExtend({kind:s("progress")}).strict(),t({kind:s("accept"),rewards:c(lt).max(10),completionKey:ir.optional()}).strict(),t({kind:s("reject"),reason:r().min(1).max(2e3),requestedReview:s(!0).optional()}).strict(),t({kind:s("review"),reason:r().min(1).max(2e3),rewards:c(lt).max(10).optional(),completionKey:ir.optional()}).strict()]),ki=u(["workers-ai"]),xi=u(["fixture-pass","fixture-fail","fixture-unclear","fixture-error","workers-ai"]),wt=c(lt).max(10).refine(e=>new Set(e.map(kt)).size===e.length,"Use one entry per balance or shared reward"),se=r().max(2e3).refine(e=>{if(/^\/(?!\/)[^\\\s]*$/.test(e))return!0;try{return new URL(e).protocol==="https:"}catch{return!1}},"Use an HTTPS URL or a same-site path beginning with /"),wi=g("kind",[t({kind:s("link"),url:se.refine(e=>e.startsWith("https://"),"Use an HTTPS URL"),label:r().trim().min(1).max(120)}).strict()]),Ai=t({title:r().trim().min(1).max(120),description:r().max(4e3).optional(),action:wi.optional()}).strict(),Ii=g("kind",[t({kind:s("account"),provider:dt}).strict(),t({kind:s("wallet"),chain:Ie.optional()}).strict()]),xe=t({steps:c(Ai).max(30).optional(),image:se.optional(),imageAlt:r().max(500).optional(),requirements:c(Ii).max(10).optional()}).strict(),tn=xe.extend({quiz:oi.optional(),instructions:r().max(4e3).optional(),video:t({url:se,poster:se.optional(),captions:t({url:se,language:r().min(2).max(20),label:r().min(1).max(80)}).strict().optional()}).strict().optional()}).strict(),Oi=t({visible:m()}).strict(),qi=2,Ri=s(qi),rn=t({quest:a,evaluatorProtocol:Ri,title:r().min(1).max(120),presentation:tn.default({}),integrations:c(Wa).max(10).default([]),fields:ci,values:V,rewards:wt,humanReview:m(),trigger:Yr,performance:ka.optional(),requires:c(fi).max(30).default([]),campaign:ke.optional(),availability:vt.optional(),completion:pe(Ra,bt),visibility:u(["visible","hidden"]).default("visible"),profile:Oi.default({visible:!1}),budgets:c(Va).max(20).default([]),retryCooldownMs:ji.optional()}).strict(),Pi=t({code:r().min(1).max(1e6)}).strict(),Ci=Pi.extend({runtime:zt.optional(),settings:V,provider:ki,expectedRelease:a.nullable().optional(),settingRenames:j(r(),r()).optional()}).strict(),Oc=t({releases:c(Ci).min(1).max(Qa.quests)}).strict(),qc=t({quest:a,expectedRelease:a,set:V,reset:c(r()),presentation:xe.nullable().optional()}).strict(),Ei=rn.extend({completion:bt}),Ti=S(Ei.extend({key:a.optional(),code:r(),runtime:zt.optional(),provider:xi,id:a,createdAt:i(),origin:t({typeVersion:a}).strict().optional(),lifecycle:u(["active","paused","archived"]).default("active"),configuration:t({defaults:V,overrides:V,preserved:c(r()),presentation:xe.optional(),presentationDefaults:xe.optional()}).strict().optional()})),Rc=t({code:r(),definition:rn}),$i=j(a,a).refine(e=>Object.keys(e).length>0&&Object.keys(e).length<=50,"Provide between 1 and 50 answers").transform(e=>Object.fromEntries(Object.entries(e).sort(([n],[o])=>n.localeCompare(o)))),Mi=t({kind:s("quiz"),release:a.optional(),answers:$i}).strict(),Oe=f([Mi,Zr,Lr]),Pc=t({actionId:a,quest:a,member:a,evidence:a.optional(),input:Oe.optional(),release:a.optional(),faultAfterReview:m().optional()}).strict(),Cc={Queued:"queued",Evaluating:"evaluating",Deferred:"deferred",Accepted:"accepted",Progressed:"progressed",Rejected:"rejected",NeedsReview:"needs-review",Failed:"failed"},_i=r(),qe=t({id:a,release:a,quest:a,member:a,evidence:a.nullable(),input:Oe.optional(),status:_i,reason:r().nullable(),retries:i(),generation:i(),completion:r().nullable(),reviewRewards:wt.nullable().default(null),evaluationRun:i().int().nonnegative().default(0),deferCount:i().int().nonnegative().default(0),deferUntil:i().int().safe().nullable().default(null),nextEvaluationAt:i().int().safe().nullable().default(null),code:r().nullable().default(null),progress:xt.nullable().default(null),requestedReview:m().default(!1),createdAt:i()}),Ec={Open:"open",Submitted:"submitted",Discarded:"discarded",Expired:"expired"},Ui=r(),Zi=S(t({id:a,quest:a,member:a,release:a.nullable(),input:Oe.nullable(),evidence:a.nullable(),reviewRequired:m(),status:Ui,attempt:a.nullable(),createdAt:i(),updatedAt:i(),expiresAt:i()})),Tc=t({release:a.nullable().optional(),input:Oe.nullable().optional(),evidence:a.nullable().optional()}).strict(),$c=S(t({submission:Zi,attempt:qe,replayed:m()})),Li=t({id:i(),attempt:r().nullable(),kind:r(),detail:r(),actor:r().nullable().default(null),at:i()}),Di=t({item:a,revision:i().int().nonnegative()}).strict(),ce=t({item:a,label:r().min(1).max(80)}).strict(),Ni=g("kind",[t({kind:s("untracked")}).strict(),t({kind:s("at-pickup"),tiers:c(t({tier:a,variants:c(ce).min(1).max(100)}).strict()).min(1).max(100)}).strict()]),Mc=t({reward:jt,revision:i().int().nonnegative(),policy:Ni}),_c=g("kind",[t({kind:s("untracked")}).strict(),t({kind:s("at-pickup"),revision:i().int().nonnegative(),variants:c(ce.extend({available:i().int().nonnegative()}))}).strict()]),Uc=t({reward:a,revision:i().int().nonnegative(),actionId:a,policy:g("kind",[t({kind:s("untracked")}).strict(),t({kind:s("at-pickup"),tiers:c(t({tier:a,variants:c(ce.extend({item:a.optional()})).min(1).max(100)}).strict()).min(1).max(100)}).strict()])}).strict(),nn=t({completion:a,reason:r(),flaggedAt:i(),remainingTier:a.nullable()}),Se={id:a,member:a,reward:jt,earnedTier:a,tier:a,revision:i().int().positive()},Zc=g("status",[t({...Se,status:s("available")}).strict(),t({...Se,status:s("handing-over"),handover:a,startedAt:i(),allocation:ce.optional()}).strict(),t({...Se,status:s("collected"),handover:a,startedAt:i(),allocation:ce.optional(),collectedAt:i(),recovery:nn.optional()}).strict(),t({...Se,status:s("void"),voidedAt:i()}).strict()]),Qi=t({id:a,title:r(),tiers:c(t({id:a,title:r()}).loose()),inventory:t({kind:r()}).loose(),fulfillment:t({kind:r()}).loose()}).loose(),ae={id:a,member:a,reward:Qi,earnedTier:a,tier:a,revision:i().int()},lr=t({item:a,label:r()}).loose(),an=f([g("status",[t({...ae,status:s("available")}).loose(),t({...ae,status:s("handing-over"),handover:a,startedAt:i(),allocation:lr.optional()}).loose(),t({...ae,status:s("collected"),handover:a,startedAt:i(),allocation:lr.optional(),collectedAt:i(),recovery:nn.optional()}).loose(),t({...ae,status:s("void"),voidedAt:i()}).loose()]),t({...ae,status:r()}).loose().transform(({status:e,...n})=>({...n,status:"unsupported",reportedStatus:e}))]),Lc=t({actionId:a,revision:i().int().positive(),selection:Di.optional()}).strict(),Dc=t({actionId:a,handover:a}).strict(),Nc=t({actionId:a,revision:i().int().positive(),reason:r().trim().min(1).max(500)}).strict(),Qc={Quest:"quest",Leaderboard:"leaderboard"},Bi=r().min(1).max(64),Hi=t({kind:Bi,id:a}),Ki=t({key:r().default("once"),id:a,quest:a,member:a,source:Hi.optional()}),Vi=g("kind",[t({kind:s("available"),input:u(["photo","quiz","none","text","url"])}).strict(),t({kind:s("completed")}).strict(),t({kind:s("locked"),missing:c(yt).min(1)}).strict(),t({kind:s("blocked"),reason:u(["budget-exhausted","connection-required","wallet-required","paused","outside-window","enrollment-required"]),window:u(["tracker","quest"]).optional(),resetsAt:i().int().safe().optional()}).strict(),t({kind:s("staff-required")}).strict(),t({kind:s("automatic")}).strict(),t({kind:s("checking"),attempt:a}).strict(),t({kind:s("needs-review"),attempt:a}).strict(),t({kind:s("retryable"),attempt:a}).strict()]),Wi=f(Vi.options.map(e=>e.strip())),Gi=t({id:a,scope:u(["member","project"]),period:u(["day","week","month","lifetime"]),remaining:i().int().safe().nonnegative(),resetsAt:i().int().safe().nullable()}),Bc=S(t({member:a,quests:c(t({quest:a,key:a.optional(),release:a.optional(),title:r(),presentation:tn.default({}),connections:c(dt).default([]),trigger:Si,availability:Wi,completed:m(),completion:bt.default({kind:"once"}),streak:Ca.nullable().optional(),counter:Ia.nullable().optional(),progress:xt.nullable().default(null),completionCount:i().int().nonnegative().default(0),visibility:u(["visible","hidden"]).default("visible"),missing:c(yt),campaign:di.nullable().default(null),window:vt.nullable().default(null),budgets:c(Gi).default([]),retryAt:i().int().safe().optional(),attempt:qe.nullable()})),entitlements:c(an)})),Hc=S(t({releases:c(Ti),completions:c(Ki),entitlements:c(an),attempts:c(qe),balances:c(t({member:r(),balance:r(),earned:i(),held:i(),available:i()})),events:c(Li)})),Kc=t({id:a,member:a,type:u(["image/jpeg","image/png"]),size:i()}),Vc=t({error:r(),code:r().optional(),window:u(["tracker","quest"]).optional(),missing:c(yt).optional(),retryAt:i().int().safe().optional()}),Wc=t({actionId:a,generation:i().int().nonnegative(),decision:u(["accept","reject"]),reason:r().trim().min(1).max(2e3)}).strict(),Gc=t({item:a,quantity:i().int().min(0).max(1e4)}).strict(),Fc=t({actionId:a,member:a,item:a,balance:a,price:i().int().positive().max(1e4)}).strict(),on={limit:i().int().min(1).max(100).default(25),cursor:r().min(1).max(4096).optional()},Jc=t({...on,member:a.optional(),quest:a.optional()}).strict(),Xc=t({...on,prefix:a.optional()}).strict(),Fi=t({attempt:qe,title:r(),checks:c(t({criteria:r(),result:en}))}),Yc=t({items:c(Fi).max(100),nextCursor:r().nullable()}),el=t({items:c(t({member:a})).max(100),nextCursor:r().nullable()}),tl=t({actionId:a,name:r().trim().min(1).max(80)}).strict(),rl=t({id:a,name:r()}),nl=z({contentAttempt:a,observation:a,observedAt:i().int().safe().nonnegative(),metrics:Z,rewards:wt}),al=ja.extend({content:r().min(1).max(256)}),il=z({current:z({state:u(["content-pending","content-unqualified","waiting","pending","qualified","unqualified","needs-review","failed","superseded"]),reason:r().nullable(),contentAttempt:a,attempt:a.nullable(),reward:Cr.shape.reward}),items:c(z({attempt:a,contentAttempt:a,observation:a,observedAt:i(),metrics:Z,state:u(["pending","qualified","unqualified","needs-review","failed","superseded"]),reason:r().nullable()})),nextCursor:k.nullable()});var dn=t({name:r().trim().min(1).max(120),description:r().trim().max(1e3).default(""),image:r().url().max(2048)}).strict(),mn=dn.extend({key:a}).strict(),un=dn.extend({id:a,key:a.nullable()}).strip(),ml=un.extend({archivedAt:i().int().nonnegative().nullable()}),ul=mn.extend({actionId:a}).strict(),zl=f([mn,t({code:r().min(1).max(2e6)}).strict()]),Ji=t({badge:un,awardedAt:i().int().nonnegative()}),bl=t({items:c(Ji)}),pl=t({actionId:a,reason:r().trim().min(1).max(1e3)}).strict(),gl=t({badge:a,member:a,awarded:m(),changed:m()}),Rt=t({name:r().trim().min(1).max(120),description:r().trim().max(1e3).default("")}).strict(),fl=Rt.extend({actionId:a,key:a.optional()}).strict(),Xi=Rt.extend({id:a}),vl=Xi.extend({archivedAt:i().int().nonnegative().nullable()}),Yi=Rt.extend({key:a}).strict(),hl=f([Yi,t({code:r().min(1).max(2e6)}).strict()]),eo=t({id:a,key:a.nullable(),name:r()}),Ce=i().int().safe(),to=t({ledger:eo,balance:Ce,available:Ce}),yl=t({items:c(to)}),Sl={Award:"award",Spend:"spend",Adjust:"adjust",Reverse:"reverse"},ro=r().min(1).max(64),zn=t({id:a,amount:Ce,kind:ro,at:Ce.nonnegative(),quest:a.nullable(),reverses:a.nullable(),imported:m().optional()}),jl=z({ledger:a,cursor:k.optional()}),kl=t({items:c(zn),nextCursor:k.nullable()}),w=i().int().safe().nonnegative(),bn=z({scope:u(["member","project"]),period:G,limit:w}),Pt=z({key:a,qualifiedBy:a,balance:a,metrics:c(Ae).min(1).max(10).refine(e=>new Set(e).size===e.length,"Metrics must be unique"),baseline:s("historical"),maxAgeMs:i().int().positive().max(864e5).default(36e5),budgets:c(bn).max(8).default([]).refine(e=>new Set(e.map(n=>n.scope+":"+n.period)).size===e.length,"Give each scope and period one budget")}),xl=z({metrics:Z,baseline:Z}),wl=z({target:w,baseline:w}),pn=z({actionId:a,code:r().min(1).max(1e6)}),ue=z({version:a,definition:Pt,publishedAt:w}),Al=z({rule:a,content:r().min(1).max(256),member:a.optional(),cursor:k.optional()}),gn=z({id:a,day:r(),observation:a,qualification:a,earned:w,growth:w,paid:w,excluded:w,entry:a.nullable(),createdAt:w}),Il=z({rule:ue,account:z({member:a,earned:w,accounted:w,paid:w,excluded:w,pending:w,counters:Z,baseline:Z,observation:a.nullable(),nextSettlementAt:w.nullable(),reason:r().nullable()}).nullable(),items:c(gn),nextCursor:k.nullable()}),Ol=z({code:r().min(1).max(1e6)}),ql=pn.extend({expectedVersion:a,previewHash:a}),Re=r().regex(/^(0|[1-9][0-9]*)$/),no=z({rule:a,fromVersion:a,toVersion:a,previewHash:a,definition:Pt,boundary:s("available-eligible-observation"),settlement:s("deferred"),summary:z({knownAdmissions:w,accounts:w,uninitialized:w,pendingTransitions:w,earned:Re,paid:Re,excluded:Re,pending:Re})}),ao=ue.extend({previousVersion:a.nullable()}),Rl=t({items:c(t({version:a,definition:t({...Pt.shape,budgets:c(t(bn.shape)).max(8).default([])}),publishedAt:w,previousVersion:a.nullable()})),nextCursor:k.nullable()}),Pl=z({items:c(ao),next:w.nullable()}),Cl=z({rule:a,before:A.number().int().positive().safe().optional()}),El=z({current:ue.nullable(),requested:ue,items:c(z({from:a,to:a,baseline:Z,observedAt:w,settlement:gn})),nextCursor:k.nullable()}),io=pn.omit({actionId:!0}),At=io.extend({rule:ue}),Tl=g("kind",[At.extend({kind:s("create")}),At.extend({kind:s("unchanged")}),At.extend({kind:s("change"),change:no})]),T=i().int().nonnegative().safe(),fn=u(["private","participants","public"]),Ee=u(["x","discord","google"]),sn=u(["x","discord"]),oo=c(sn).max(sn.options.length).refine(e=>new Set(e).size===e.length,"List each provider once"),It=r().min(1).max(100),so=g("source",[t({source:s("upload"),url:r().url(),seed:It}),t({source:s("account"),provider:Ee,url:r().url(),seed:It}),t({source:s("generated"),seed:It})]),vn=t({id:a,name:r(),avatar:so}),co=/[\p{Cc}؜᠎​-‏‪-‮⁠-⁤⁦-⁩]/u,lo=r().max(200).transform(e=>e.normalize("NFC").replace(/\s+/g," ").trim()).pipe(r().min(1,"Enter a name").max(40,"Use at most 40 characters").refine(e=>!co.test(e),"Use visible characters only")),$l=t({displayName:lo.nullable().optional(),avatar:g("source",[t({source:s("account"),provider:Ee}).strict(),t({source:s("generated")}).strict()]).nullable().optional(),hidden:m().optional()}).strict().refine(e=>Object.values(e).some(n=>n!==void 0),"Change at least one field"),mo=vn.extend({displayName:r().nullable(),avatarChoice:u(["default","upload","account","generated"]),avatarProvider:Ee.nullable(),hidden:m(),locked:m(),visibility:fn,options:c(t({provider:Ee,name:r().nullable(),imageUrl:r().url().nullable()}))}),hn=r().min(1).max(512),Ml=t({limit:A.number().int().min(1).max(100).default(20),cursor:hn.optional()}).strict(),uo=t({quest:a,key:a.optional(),title:r(),completions:T.positive(),lastCompletedAt:T.nullable()}),_l=t({items:c(uo),nextCursor:hn.nullable()}),Ul=t({program:a,key:a.optional(),title:r(),invited:T,qualified:T,milestones:c(t({id:a,count:T,reached:m()}))}),zo=t({visibility:fn,defaults:oo,revision:T,actor:r().nullable(),updatedAt:T.nullable()}),Zl=zo.omit({revision:!0,actor:!0,updatedAt:!0}).extend({actionId:a,expectedRevision:T,reason:r().trim().min(1).max(500)}).strict(),Ll=t({actionId:a,resetName:m().default(!1),removeAvatar:m().default(!1),lock:m().optional(),reason:r().trim().min(1).max(1e3)}).strict().refine(e=>e.resetName||e.removeAvatar||e.lock!==void 0,"Choose an action"),Dl=mo.omit({options:!0}).extend({member:a,lockedAt:T.nullable(),lockedBy:r().nullable(),lockedReason:r().nullable(),updatedAt:T}),Nl=5*1024*1024,Ql=["image/jpeg","image/png","image/webp"],y=i().int().safe(),O=y.nonnegative().max(864e13),yn=g("kind",[t({kind:s("all-time")}).strict(),t({kind:s("fixed"),start:O,end:O}).strict().refine(e=>e.end>e.start,"Window end must follow its start"),t({kind:s("rolling"),days:y.min(1).max(3660)}).strict(),t({kind:s("calendar"),period:G.exclude(["lifetime"])})]),bo={window:yn.default({kind:"all-time"}),quests:c(a).min(1).max(100).optional()},Sn=g("kind",[t({kind:s("balance")}).strict(),t({kind:s("earned"),...bo}).strict(),t({kind:s("net"),window:yn.default({kind:"all-time"})}).strict()]).default({kind:"balance"}),po=f([me,L]),jn=t({ranks:Nt([y.positive(),y.positive()]).refine(([e,n])=>n>=e,{message:"Prize rank range must end at or after it starts"}),rewards:c(po).min(1).max(20)}).strict(),go=t({at:s("window-end"),ties:u(["shared","earliest"]),prizes:c(jn).min(1).max(50)}).strict().superRefine((e,n)=>{for(let[o,l]of e.prizes.entries()){let d=l.rewards.map(kt);new Set(d).size!==d.length&&n.addIssue({code:"custom",message:"A prize may grant each point ledger or tiered reward only once",path:["prizes",o,"rewards"]})}for(let o=1;o<e.prizes.length;o++){let l=e.prizes[o-1];e.prizes[o].ranks[0]<=l.ranks[1]&&n.addIssue({code:"custom",message:"Prize rank ranges must be ordered and must not overlap",path:["prizes",o,"ranks"]})}}),kn=t({id:a,key:a.optional(),title:r().trim().min(1).max(120),balance:a,score:Sn,access:u(["participants","public"]).default("participants"),group:a.optional(),includeUnscored:m().optional(),settle:go.optional()}).strict(),xn=(e,n)=>{e.settle&&(e.score.kind==="balance"||!["fixed","calendar"].includes(e.score.window.kind))&&n.addIssue({code:"custom",message:"Leaderboard prizes require an earned or net score with a fixed or calendar window",path:["settle"]})},fo=kn.superRefine(xn),vo=S(fo),ho=kn.omit({id:!0}).extend({...F,score:pe(Mr,Sn),group:a.optional()}).strict().superRefine(xn),Bl=f([ho,t({code:r().min(1).max(2e6)}).strict()]),yo=t({archivedAt:i().int().nonnegative().nullable().optional(),version:a,definition:vo,publishedAt:O,actor:r().nullable()}),Hl=t({limit:A.number().int().min(1).max(100).default(25),cursor:r().max(4096).optional()}).strict(),Ot=t({participant:a,member:a.optional(),name:r(),score:y,rank:y.positive(),profile:vn.nullable()}),cn=t({leaderboard:a,title:r(),version:a,calculation:u(["balance","earned","net"]),period:t({start:O.nullable(),end:O.nullable()}),calculatedAt:O,lastEntryAt:O.nullable(),total:y.nonnegative(),items:c(Ot),me:Ot.nullable(),nearby:c(Ot),nextCursor:r().nullable()}),Kl=t({leaderboard:a,key:a.optional(),title:r(),profile:a,rank:y.positive().nullable(),score:y.nullable(),total:y.nonnegative()}),Vl=z({board:a,cursor:k.optional()}),Wl=t({leaderboard:a,period:t({start:O.nullable(),end:O.nullable()}),items:c(zn),nextCursor:k.nullable()}),Gl=t({published:yo,before:cn.nullable(),after:cn}),wn={actionId:a,member:a,balance:a,reason:r().trim().min(1).max(1e3)},Pe={...wn,effectiveAt:O.optional()},Fl=g("kind",[t({...Pe,kind:s("award"),referralEligible:m().optional(),amount:y.positive()}).strict(),t({...Pe,kind:s("spend"),amount:y.positive()}).strict(),t({...Pe,kind:s("adjust"),amount:y.refine(e=>e!==0)}).strict(),t({...Pe,kind:s("set"),total:y.nonnegative(),expectedTotal:y.nonnegative(),classification:u(["earned","spend"])}).strict(),t({...wn,kind:s("reverse"),entry:a,amount:y.positive()}).strict()]),An=t({id:a,completion:r().nullable(),member:a,balance:a,amount:y,kind:u(["award","spend","adjust","reverse"]),effectiveAt:O,receivedAt:O,quest:a.nullable(),original:a.nullable(),reason:r(),actor:r().nullable(),import:a.nullable().optional()}),Jl=t({items:c(An),nextCursor:k.nullable(),next:i().nullable()}),Xl=t({entry:An,total:y.nonnegative()}),Yl=t({member:a,balance:a,total:y.nonnegative(),held:y.nonnegative()}),ed=t({actionId:a,member:a,excluded:m(),reason:r().trim().min(1).max(1e3)}).strict(),td=t({leaderboard:a,group:a,generated:m(),boundAt:O.nullable()}),rd=t({actionId:a,group:a,reason:r().trim().min(1).max(1e3)}).strict(),nd=t({actionId:a,member:a,included:m(),reason:r().trim().min(1).max(1e3)}).strict(),So=u(["pending","approved"]),jo=t({id:a,leaderboard:a,version:a,title:r(),period:t({start:O,end:O}),ties:u(["shared","earliest"]),status:So,total:y.nonnegative(),winners:y.nonnegative(),createdAt:O,approvedAt:O.nullable(),approvedBy:r().nullable(),approvalReason:r().nullable()}),ko=t({member:a,score:y,rank:y.positive(),position:y.positive(),scoredAt:O,prizes:c(y.nonnegative()),completion:a.nullable(),revokedAt:O.nullable()}),ad=jo.extend({prizes:c(jn),excluded:c(a),rows:c(ko)}),id=t({actionId:a,reason:r().trim().min(1).max(500)}).strict(),qt=f([me,L]),q=i().int().safe().nonnegative(),J=r().trim().min(1).max(1e3),Ct=t({id:a,key:a.optional(),title:r().trim().min(1).max(120),enabled:m().default(!0),qualification:g("kind",[t({kind:s("signup")}).strict(),t({kind:s("quest"),quest:a}).strict(),t({kind:s("external")}).strict()]),inviterGroup:a.optional(),rewards:t({inviter:c(qt).max(10).default([]),invitee:c(qt).max(10).default([])}).strict().default({inviter:[],invitee:[]}),milestones:c(t({id:a,count:q.min(1),rewards:c(qt).min(1).max(10)}).strict()).max(30).default([]),bonuses:c(t({id:a,balance:a,basisPoints:q.min(1).max(1e4),quests:c(a).min(1).max(100).optional(),external:m().default(!1),durationDays:q.min(1).max(36500).optional(),maxPoints:q.min(1).optional()}).strict()).max(20).default([])}).strict().superRefine((e,n)=>{for(let o of[e.milestones,e.bonuses])new Set(o.map(l=>l.id)).size!==o.length&&n.addIssue({code:"custom",message:"Rule IDs must be unique"})}),xo=t(Ct.shape).omit({id:!0}).extend({...F,inviterGroup:a.optional()}).strict().superRefine((e,n)=>{for(let o of[e.milestones,e.bonuses])new Set(o.map(l=>l.id)).size!==o.length&&n.addIssue({code:"custom",message:"Rule keys must be unique"})}),od=f([xo,t({code:r().min(1).max(2e6)}).strict()]),sd=t({archivedAt:i().int().nonnegative().nullable().optional(),version:a,definition:Ct,publishedAt:q,actor:r().nullable()}),cd=t({actionId:a,code:a}).strict(),ld=t({actionId:a,suspended:m(),reason:J}).strict(),dd=t({actionId:a,qualified:m(),reason:J}).strict(),md=t({actionId:a,reason:J}).strict(),ud=g("kind",[t({kind:s("suspend"),actionId:a,member:a,suspended:m(),reason:J}).strict(),t({kind:s("qualify"),actionId:a,member:a,program:a,qualified:m(),reason:J}).strict(),t({kind:s("resolve-reward"),actionId:a,entitlement:a,reason:J}).strict()]),wo=t({member:a,inviter:a,acceptedAt:q,suspended:m()}),In=t({id:a,program:a,kind:u(["bonus","fixed","milestone"]),balance:a,earned:q,settled:q,outstanding:q}),zd=t({code:a,attributed:q,programs:c(t({definition:Ct,qualified:q,milestones:c(t({id:a,count:q,reached:m()}))})),accounts:c(In)}),bd=t({items:c(t({id:q,program:a,balance:a,amount:i().int().safe(),at:q,reason:r()})),nextCursor:k.nullable()}),pd=t({relationships:c(wo),qualifications:c(t({member:a,program:a,qualified:m(),qualifiedAt:q})),accounts:c(In.extend({member:a,invitee:r()})),reviews:c(t({entitlement:a,member:a,program:a,reason:r()})),nextCursor:k.nullable().default(null),next:q.nullable()}),Te=i().int().safe().nonnegative(),On=me.extend({amount:i().int().positive().max(St)}),Ao=t({perMember:i().int().positive().max(1e4)}).strict(),qn=t({id:a,key:a.optional(),title:r().trim().min(1).max(120),price:On,reward:L,stock:Te.max(1e6),limit:Ao.default({perMember:1}),enabled:m().default(!0)}).strict(),Rn=qn.omit({id:!0,title:!0,enabled:!0}).extend({...F,title:r().trim().min(1).max(120).optional()}).strict().transform(e=>({...e,title:e.title??e.reward.reward.title,enabled:!0})),gd=f([Rn,t({code:r().min(1).max(2e6)}).strict()]),Io=S(g("kind",[t({kind:s("available"),remaining:Te}).strict(),t({kind:s("out-of-stock")}).strict(),t({kind:s("limit-reached")}).strict(),t({kind:s("paused")}).strict()])),fd=S(qn.extend({revision:i().int().positive(),available:Te,redeemed:Te,availability:Io})),vd=t({actionId:a}).strict(),ln={id:a,offer:a,member:a,reservation:a,price:On,reward:L,entitlement:a,revision:i().int().positive(),redeemedAt:i().int().safe().nonnegative()},Oo=S(g("status",[t({...ln,status:s("fulfilled")}).strict(),t({...ln,status:s("canceled"),canceledAt:i().int().safe().nonnegative(),reason:r().min(1).max(500)}).strict()])),hd=z({member:a.optional(),cursor:k.optional(),limit:A.number().int().min(1).max(100).optional()}),yd=t({items:c(Oo),nextCursor:k.nullable()}),Sd=t({actionId:a,revision:i().int().positive(),enabled:m(),reason:r().trim().min(1).max(500)}).strict(),jd=t({actionId:a,revision:i().int().positive(),reason:r().trim().min(1).max(500)}).strict();function kd(e){return ht("offer",Rn.parse(e))}var Ad=t({login:m(),miniApp:m()}),Id=ur.extend({provider:s("telegram")}),qo=r().min(1,"Pass the Mini App's Telegram.WebApp.initData").max(8192),Od=t({initData:qo,mode:u(["sign-in","connect"])}).strict(),Ro=r().regex(/^-?[1-9][0-9]{0,19}$/,"Use the chat's numeric ID, such as -1001234567890"),Po=t({id:Ro,type:r(),title:r(),username:r().nullable(),status:r(),issue:r().nullable(),connectedAt:i()}),qd=t({configured:m(),bot:t({username:r()}).nullable(),chats:c(Po)}),Rd=t({url:r(),expiresAt:i()}),Pd=t({chat:r().regex(/^(-?[1-9][0-9]{0,19}|@[A-Za-z][A-Za-z0-9_]{3,31})$/,"Name a chat the project connected, by its numeric ID or @username")}).strict(),Cd=t({userId:r(),username:r().nullable(),status:re(e=>typeof e=="string"),isMember:m(),isAdmin:m(),untilDate:i().nullable()}),Ed="telegram-reactions",Td=t({chatId:r(),chatType:r(),messageId:i(),reactionType:r(),emoji:r().nullable(),customEmojiId:r().nullable(),reactorStatus:r(),reactorIsAdmin:m()});export{Pn as a,Co as b,Eo as c,a as d,dr as e,$o as f,S as g,Ln as h,Dn as i,Mo as j,k,_o as l,Uo as m,Zo as n,dt as o,ur as p,Lo as q,Do as r,No as s,Qo as t,zr as u,br as v,Nn as w,Bo as x,Ho as y,Qn as z,Bn as A,Vn as B,ne as C,gr as D,Ko as E,na as F,Vo as G,Wo as H,oa as I,sa as J,ca as K,Go as L,jr as M,Fo as N,la as O,kr as P,mt as Q,Jo as R,le as S,Xo as T,de as U,Yo as V,xr as W,da as X,ma as Y,we as Z,wr as _,ua as $,za as aa,es as ba,ts as ca,Q as da,rs as ea,ba as fa,pa as ga,ga as ha,fa as ia,Ir as ja,Or as ka,ns as la,as as ma,is as na,va as oa,ha as pa,qr as qa,ya as ra,os as sa,ss as ta,cs as ua,Rr as va,ls as wa,ds as xa,ms as ya,us as za,zs as Aa,bs as Ba,ps as Ca,gs as Da,Sa as Ea,fs as Fa,vs as Ga,hs as Ha,ja as Ia,Cr as Ja,ys as Ka,Ae as La,Z as Ma,ka as Na,xa as Oa,wa as Pa,Aa as Qa,Er as Ra,Ia as Sa,Oa as Ta,Ss as Ua,js as Va,ks as Wa,xs as Xa,qa as Ya,Tr as Za,oe as _a,Ra as $a,Mr as ab,G as bb,ws as cb,As as db,Is as eb,Pa as fb,Ca as gb,Ea as hb,Os as ib,he as jb,rr as kb,Ta as lb,$a as mb,qs as nb,Ma as ob,_a as pb,Ua as qb,Za as rb,Rs as sb,Ps as tb,Cs as ub,La as vb,Da as wb,Na as xb,Es as yb,Qa as zb,ye as Ab,Ha as Bb,zt as Cb,Ka as Db,Ts as Eb,$s as Fb,bt as Gb,ir as Hb,Va as Ib,Wa as Jb,Ga as Kb,Fa as Lb,Ms as Mb,Ja as Nb,Ie as Ob,pt as Pb,_s as Qb,Us as Rb,Xa as Sb,Ya as Tb,ei as Ub,Zs as Vb,Ls as Wb,Ds as Xb,Ns as Yb,Qs as Zb,Bs as _b,Hs as $b,ot as ac,ti as bc,Ks as cc,Vs as dc,Ws as ec,Ur as fc,Gs as gc,Fs as hc,ri as ic,ai as jc,Zr as kc,Lr as lc,Js as mc,Xs as nc,Ys as oc,ii as pc,Nr as qc,oi as rc,ft as sc,Qr as tc,ec as uc,tc as vc,Br as wc,st as xc,si as yc,ci as zc,V as Ac,rc as Bc,nc as Cc,ac as Dc,F as Ec,ic as Fc,vt as Gc,ke as Hc,oc as Ic,di as Jc,Hr as Kc,sc as Lc,mi as Mc,cc as Nc,lc as Oc,ht as Pc,dc as Qc,ui as Rc,or as Sc,mc as Tc,bi as Uc,uc as Vc,zc as Wc,bc as Xc,pc as Yc,gc as Zc,pi as _c,fc as $c,gi as ad,vc as bd,Fr as cd,Jr as dd,Xr as ed,fi as fd,yt as gd,hc as hd,yc as id,Sc as jd,me as kd,jt as ld,jc as md,L as nd,vi as od,kc as pd,hi as qd,xc as rd,yi as sd,lt as td,kt as ud,Yr as vd,en as wd,wc as xd,Ac as yd,sr as zd,cr as Ad,ji as Bd,xt as Cd,Ic as Dd,ki as Ed,xi as Fd,wt as Gd,se as Hd,wi as Id,Ai as Jd,Ii as Kd,xe as Ld,tn as Md,Oi as Nd,qi as Od,Ri as Pd,rn as Qd,Pi as Rd,Ci as Sd,Oc as Td,qc as Ud,Ei as Vd,Ti as Wd,Rc as Xd,$i as Yd,Mi as Zd,Oe as _d,Pc as $d,Cc as ae,qe as be,Ec as ce,Zi as de,Tc as ee,$c as fe,Li as ge,Di as he,ce as ie,Ni as je,Mc as ke,_c as le,Uc as me,nn as ne,Zc as oe,an as pe,Lc as qe,Dc as re,Nc as se,Qc as te,Hi as ue,Ki as ve,Vi as we,Gi as xe,Bc as ye,Hc as ze,Kc as Ae,Vc as Be,Wc as Ce,Gc as De,Fc as Ee,Jc as Fe,Xc as Ge,Fi as He,Yc as Ie,el as Je,tl as Ke,rl as Le,nl as Me,al as Ne,il as Oe,dn as Pe,mn as Qe,un as Re,ml as Se,ul as Te,zl as Ue,Ji as Ve,bl as We,pl as Xe,gl as Ye,Rt as Ze,fl as _e,Xi as $e,vl as af,Yi as bf,hl as cf,eo as df,to as ef,yl as ff,Sl as gf,zn as hf,jl as if,kl as jf,bn as kf,Pt as lf,xl as mf,wl as nf,pn as of,ue as pf,Al as qf,gn as rf,Il as sf,Ol as tf,ql as uf,no as vf,Rl as wf,Pl as xf,Cl as yf,El as zf,io as Af,Tl as Bf,fn as Cf,Ee as Df,sn as Ef,oo as Ff,It as Gf,so as Hf,vn as If,lo as Jf,$l as Kf,mo as Lf,Ml as Mf,uo as Nf,_l as Of,Ul as Pf,zo as Qf,Zl as Rf,Ll as Sf,Dl as Tf,Nl as Uf,Ql as Vf,yn as Wf,po as Xf,jn as Yf,go as Zf,fo as _f,vo as $f,ho as ag,Bl as bg,yo as cg,Hl as dg,Ot as eg,cn as fg,Kl as gg,Vl as hg,Wl as ig,Gl as jg,Fl as kg,An as lg,Jl as mg,Xl as ng,Yl as og,ed as pg,td as qg,rd as rg,nd as sg,So as tg,jo as ug,ko as vg,ad as wg,id as xg,Ct as yg,xo as zg,od as Ag,sd as Bg,cd as Cg,ld as Dg,dd as Eg,md as Fg,ud as Gg,wo as Hg,In as Ig,zd as Jg,bd as Kg,pd as Lg,On as Mg,Ao as Ng,qn as Og,Rn as Pg,gd as Qg,Io as Rg,fd as Sg,vd as Tg,Oo as Ug,hd as Vg,yd as Wg,Sd as Xg,jd as Yg,kd as Zg,Ad as _g,Id as $g,qo as ah,Od as bh,Ro as ch,Po as dh,qd as eh,Rd as fh,Pd as gh,Cd as hh,Ed as ih,Td as jh};
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "format": 1,
3
- "sdkVersion": "1.46.0",
3
+ "sdkVersion": "1.49.1",
4
4
  "zodVersion": "4.3.6",
5
5
  "entries": {
6
6
  "@domino-sdk/relay/authoring": "authoring.js",
@@ -9,10 +9,10 @@
9
9
  },
10
10
  "modules": [
11
11
  "authoring.js",
12
+ "chunks/4O3MZT45.js",
12
13
  "chunks/IDOMZWRY.js",
13
- "chunks/KMKCMYDX.js",
14
14
  "schema.js",
15
15
  "zod.js"
16
16
  ],
17
- "digest": "b6fbb1ac2f4c5bb38368e00aeb8d7cdbaa1a0573c930958ef39b97e8fa7d9eb0"
17
+ "digest": "541823ea3797b510d6e96625e64e727bdc0f34449c9585ec7f5ea6b23c0e1992"
18
18
  }
@@ -1 +1 @@
1
- import{$ as Zt,$a as Wr,$b as Bn,$c as qi,$d as L,$e as nm,$f as ga,$g as Io,A as xt,Aa as vr,Ab as gn,Ac as Je,Ad as Xi,Ae as Lc,Af as wm,Ag as lo,B as Pt,Ba as fr,Bb as zn,Bc as oi,Bd as Ji,Be as Uc,Bf as jm,Bg as ho,C as qt,Ca as yr,Cb as _,Cc as si,Cd as ta,Ce as Bc,Cf as Rm,Cg as So,D as At,Da as kr,Db as bn,Dc as li,Dd as ra,De as Tc,Df as xm,Dg as uo,Ea as wr,Eb as Xe,Ec as La,Ed as Yi,Ee as Hc,Ef as Pm,Eg as po,Fa as jr,Fb as vn,Fd as te,Fe as Vc,Ff as qm,Fg as go,Ga as Rr,Gb as fn,Gc as hi,Gd as ec,Ge as Kc,Gf as le,Gg as zo,Ha as xr,Hb as yn,Hc as Si,Hd as ac,He as Wc,Hf as Am,Hg as be,I as Ne,Ia as Pr,Ib as kn,Ic as ui,Id as tc,Ie as Gc,If as Cm,Ig as ve,J as Ct,Ja as qr,Jb as wn,Jc as di,Jd as na,Je as Nc,Jf as he,Jg as bo,K as It,Ka as $,Kb as jn,Kc as pi,Kd as rc,Ke as Fc,Kf as Im,Kg as vo,L as Dt,La as Ar,Lb as Rn,Lc as gi,Ld as nc,Le as Zc,Lf as Dm,Lg as fo,M as Ot,Ma as Cr,Mb as xn,Mc as zi,Md as ic,Me as ne,Mf as Se,Mg as fa,N as Et,Na as Ir,Nb as Pn,Nc as bi,Nd as cc,Ne as $c,Nf as ue,Ng as yo,O as Qt,Oa as Dr,Ob as qn,Oc as ae,Od as mc,Oe as _c,Of as Om,Og as ya,P as Mt,Pa as Or,Pb as An,Pd as oc,Pe as I,Pf as Em,Pg as ko,Q as Lt,Qa as Er,Qb as Cn,Qd as ia,Qe as la,Qf as Qm,Qg as D,R as Ut,Ra as Qr,Rb as In,Rd as sc,Re as Xc,Rf as Mm,Rg as wo,S as Bt,Sa as Mr,Sb as Dn,Sc as vi,Sd as lc,Se as ha,Sf as Lm,Sg as O,T as Tt,Ta as Lr,Tb as On,Tc as fi,Td as ca,Te as Jc,Tf as Um,Tg as jo,U as Ht,Ua as Ur,Ub as En,Uc as yi,Ud as j,Ue as ie,Uf as Bm,Ug as Ro,V as Vt,Va as Br,Vb as Qn,Vc as ki,Vd as hc,Ve as Yc,Vf as Tm,Vg as xo,W as Kt,Wa as Tr,Wb as X,Wc as wi,Wd as Sc,We as em,Wf as Hm,Wg as Po,X as Wt,Xa as Hr,Xb as Mn,Xc as ji,Xd as uc,Xe as am,Xf as Vm,Xg as qo,Y as Gt,Ya as Vr,Yb as J,Yc as Ri,Yd as dc,Ye as tm,Yf as U,Yg as Ao,Z as Nt,Za as Kr,Zb as Ln,Zc as xi,Zd as pc,Ze as Sa,Zf as Km,Zg as fe,_ as Ft,_a as $e,_b as Un,_c as Pi,_d as gc,_e as rm,_f as Wm,_g as Co,a as ht,aa as $t,ab as Gr,ac as Tn,ad as Ai,ae as zc,af as ua,ag as Gm,ah as Do,b as St,ba as _t,bb as Nr,bc as Hn,bd as Ci,be as bc,bf as x,bg as Nm,bh as Oo,ca as Xt,cb as Fr,cc as Y,cd as Ii,ce as vc,cf as im,cg as Fm,ch as Eo,d as t,da as Jt,db as Zr,dc as Vn,dd as Di,de as fc,df as ce,dg as de,dh as Qo,e as N,ea as Fe,eb as _e,ec as Kn,ed as Oi,ee as yc,ef as cm,eg as pe,eh as Mo,f as Ge,fa as Yt,fb as $r,fc as Wn,fd as Ye,fe as ma,ff as mm,fg as Zm,fh as Lo,g as d,ga as er,gb as _r,gc as Gn,gd as Ei,ge as kc,gf as om,gg as ge,gh as Uo,h as o,ha as ar,hb as Xr,hc as ee,hd as Qi,he as wc,hf as me,hg as za,hh as Bo,i as m,ia as Ze,ib as Jr,ic as Nn,id as Mi,ie as jc,if as sm,ig as $m,j as S,ja as tr,jb as Yr,jc as Fn,jd as Li,je as oa,jf as lm,jg as _m,k as p,ka as rr,kb as en,kc as Zn,kd as Ui,ke as Rc,kf as hm,kg as Xm,l as ut,la as nr,lb as an,lc as $n,ld as Bi,le as xc,lf as Sm,lg as Jm,m as dt,ma as ir,mb as tn,mc as _n,md as C,me as Pc,mf as um,mg as Ym,n as pt,na as cr,nb as rn,nc as Xn,nd as Ti,ne as y,nf as dm,ng as eo,o as F,oa as mr,ob as nn,oc as Jn,od as Hi,oe as qc,of as pm,og as ao,p as Z,pa as or,pb as cn,pc as Yn,pd as Vi,pe as Ac,pf as gm,pg as to,q as gt,qa as sr,qb as mn,qc as ei,qd as Ki,qe as Cc,qf as oe,qg as ro,r as zt,ra as lr,rb as on,rc as ai,rd as ea,re as Ic,rf as zm,rg as no,s as bt,sa as hr,sb as sn,sc as ti,sd as Wi,se as Dc,sf as bm,sg as io,t as vt,ta as Sr,tb as ln,tc as ri,td as Gi,te as Oc,tf as vm,tg as co,u as ft,ua as ur,ub as hn,uc as ni,ud as Ni,ue as Ec,uf as fm,ug as mo,v as yt,va as dr,vb as Sn,vc as ii,vd as Fi,ve as sa,vf as ym,vg as oo,w as kt,wa as pr,wb as un,wd as Zi,we as R,wf as km,wg as ze,x as wt,xa as gr,xb as dn,xd as $i,xe as Qc,xf as se,xg as so,y as jt,ya as zr,yb as pn,yc as ci,yd as _i,ye as re,yf as da,yg as ba,z as Rt,za as br,zb as k,zc as mi,zd as aa,ze as Mc,zf as pa,zg as va}from"./chunks/KMKCMYDX.js";import{Gb as M,Kb as Ea,Sb as r,Vb as a,Wb as s,Xb as Qa,Zb as u,bc as h,fc as Ma,hc as W,ld as g,nb as n,pa as e,pc as l,sc as c,sd as G,vb as f}from"./chunks/IDOMZWRY.js";var b=e().regex(/^[0-9]{1,20}$/),To=a({userId:b}),Ho=a({id:b,username:e(),name:e(),bio:e().nullable(),profileImageUrl:e().url().nullable(),followersCount:n().int().nonnegative().nullable(),verified:f().nullable()}),Ba=e().trim().transform(i=>i.replace(/^@/,"")).pipe(e().regex(/^[A-Za-z0-9_]{1,15}$/,"Use an X handle: 1 to 15 letters, digits or underscores")),Vo=a({username:Ba}).strict(),Ko=a({id:b,username:e(),name:e()}),Wo=Ne.extend({quotedTweetId:b.nullish().transform(i=>i??null),inReplyToUserId:b.nullish().transform(i=>i??null),inReplyToStatusId:b.nullish().transform(i=>i??null),retweetedTweetId:b.nullish().transform(i=>i??null),media:Ea().transform(i=>r(a({type:e(),url:e()})).safeParse(i).data??[])}),Go=h("operation",[a({operation:c("connection")}).strict(),a({operation:c("profile")}).strict(),a({operation:c("post"),postId:b}).strict(),a({operation:c("follows"),userId:b}).strict(),a({operation:c("reposted"),postId:b}).strict()]),P=u([s({evidence:e().min(1).max(256)}),s({x:c("profile")}),s({x:c("post"),postId:b,index:n().int().min(0).max(3).default(0)}),s({asset:t})]),No=e().trim().min(1).max(2e3),Ta=s({type:l(["string","number","boolean"]),description:e().trim().min(1).max(500)}),Ha=W(e().regex(/^[a-zA-Z][a-zA-Z0-9_]{0,39}$/),Ta).refine(i=>{let z=Object.keys(i).length;return z>=1&&z<=12},"Declare between 1 and 12 fields"),Fo=h("operation",[s({operation:c("inspect"),image:P}),s({operation:c("compare"),images:Ma([P,P])}),s({operation:c("review"),images:r(P).min(1).max(4),criteria:No}),s({operation:c("extract"),image:P,fields:Ha}),s({operation:c("seen"),image:P,maxDistance:n().int().min(0).max(8).default(8)})]),Ua=e().regex(/^[0-9a-f]{16}$/),ye=d(s({width:n().int().positive(),height:n().int().positive(),format:l(["jpeg","png","webp","gif","avif"]),bytes:n().int().positive(),sha256:e().regex(/^[0-9a-f]{64}$/),phash:Ua,dhash:Ua})),ka=n().int().min(0).max(64),ke=d(s({identical:f(),phashDistance:ka,dhashDistance:ka})),we=d(s({values:W(e(),u([e().max(2e3),n(),f(),M()])),reason:e().min(1).max(2e3)})),je=d(s({matches:n().int().nonnegative(),closestDistance:ka.nullable(),firstSeenAt:n().int().nonnegative().nullable()})),Re=e().regex(/^[0-9a-f]{64}$/),wa=n().int().positive().max(5*1024*1024),ja=s({key:t,sha256:Re,size:wa,path:e().min(1).max(500).optional()}),Zo=s({images:r(s({sha256:Re,size:wa,type:l(["image/jpeg","image/png","image/webp"])})).min(1).max(10)}),xe=d(s({images:r(s({sha256:Re,upload:s({url:e().url(),headers:W(e(),e()),expiresAt:n().int().positive()}).nullable()}))})),B=d(s({key:t,sha256:Re,type:l(["image/jpeg","image/png","image/webp"]),size:wa,width:n().int().positive(),height:n().int().positive()}));var q={id:e(),at:n()},Ra={...q,quest:e(),attempt:e(),completion:e().nullable()},$o=["attempt.accepted","attempt.rejected","attempt.review","points.awarded","entitlement.granted","entitlement.collected","delivery.updated","referral.qualified"],Ka=h("kind",[a({...Ra,kind:c("attempt.accepted")}),a({...Ra,kind:c("attempt.rejected")}),a({...Ra,kind:c("attempt.review")}),a({...q,kind:c("points.awarded"),entry:e(),ledger:e(),amount:n(),quest:e().nullable(),completion:e().nullable()}),a({...q,kind:c("entitlement.granted"),entitlement:e(),tier:e(),status:e()}),a({...q,kind:c("entitlement.collected"),entitlement:e()}),a({...q,kind:c("delivery.updated"),delivery:e(),quest:e(),completion:e(),status:e()}),a({...q,kind:c("referral.qualified"),program:e()})]),Wa=u([Ka,a({...q,kind:e().refine(i=>!$o.includes(i))}).catchall(g()).transform(({kind:i,...z})=>({...z,kind:"unknown",reportedKind:i}))]),_o=a({cursor:p.optional(),start:c("latest").optional(),limit:n().int().min(1).max(100).default(50)}).strict().refine(i=>!(i.cursor&&i.start),{message:"Pass either cursor or start, not both"}),qe=a({member:e(),items:r(Wa),nextCursor:p}),w=l(["photo","text","url","quiz","claim","staff","automatic"]);function Xo(i){return i.kind==="automatic"?"automatic":i.actor==="staff"?"staff":i.input==="none"?"claim":i.input}var H=a({archivedAt:n().int().nonnegative().nullable().optional(),key:t.optional(),id:t,version:t,code:e(),runtime:_.optional(),definition:ca,provider:ra,createdAt:n()}),Ae=a({archivedAt:n().int().nonnegative().nullable().optional(),id:t,key:t.optional(),title:e().trim().min(1).max(120),description:e().max(4e3).optional(),image:te.optional(),imageAlt:e().max(500).optional()}).strict(),Ga=Ae.omit({id:!0,archivedAt:!0}).extend(La).strict(),E=Ae.extend({quests:r(t).max(100).refine(i=>new Set(i).size===i.length,"A collection can contain a quest only once")}),xa=a({badges:r(t).max(10).refine(i=>new Set(i).size===i.length,"Choose each badge once").optional(),id:t,title:e().trim().min(1).max(120),typeVersion:t,presentation:na.optional(),settings:Je,requires:r(Ye).max(30),retryCooldownMs:aa.nullable().optional(),status:l(["active","paused","archived"])}).strict(),Pa=a({quests:r(xa.extend({expectedRelease:t.nullable()})).max(k.quests),collections:r(E.omit({archivedAt:!0})).max(k.collections)}).strict(),Va=a({id:t,revision:n().int().positive(),baseRevision:n().int().nonnegative(),changes:Pa}),qa=d(h("status",[Va.extend({status:c("draft")}),Va.extend({status:c("published"),releaseIds:r(t)})])),A=d(a({revision:n().int().nonnegative(),types:r(H),collections:r(E),quests:r(xa),drafts:r(qa),releases:r(j).default([]),supportedInteractions:r(w)})),Aa=a({expectedRevision:n().int().nonnegative(),types:r(a({code:e().min(1).max(1e6),runtime:_.optional(),provider:ta})).max(k.questTypes).default([]),collections:r(Ga).max(k.collections).default([]),supportedInteractions:r(w).min(1).optional()}).strict(),Jo=d(a({revision:n().int().nonnegative(),types:r(H),collections:r(Ae),supportedInteractions:r(w)})),Yo=a({id:t.optional(),actionId:t,expectedRevision:n().int().nonnegative(),baseRevision:n().int().nonnegative(),changes:Pa}).strict(),es=a({id:t,expectedRevision:n().int().positive()}).strict(),Na=h("kind",[a({kind:c("points"),label:e(),amount:n().int().nonnegative(),ledger:x}),a({kind:c("tier"),label:e(),reward:C.extend({title:e(),badge:I.optional()}),tier:t}),a({kind:c("integration"),label:e()})]),Q=d(R.shape.quests.element.extend({release:t,interaction:w,lifecycle:l(["active","paused","archived"]),rewards:r(Na)})),Ce=a({key:t.optional(),id:t,title:e(),description:e().optional(),image:te.optional(),imageAlt:e().optional(),quests:r(Q)}),Ie=d(a({entitlements:r(y).default([]),member:t,quests:r(Q),collections:r(Ce)})),as=d(a({draft:qa,releases:r(j),affectedCollections:r(E)})),ts=a({actionId:t}).strict(),rs=a({id:t}),Ca=e().regex(/^relay:collect:[a-f0-9]{64}$/),De=a({code:Ca,expiresAt:n(),entitlement:t}),Fa=a({code:Ca}).strict(),ns=Fa.extend({actionId:t,revision:n().int().positive(),selection:ma.optional()}),is=a({entitlement:y,inventory:oa,expiresAt:n()}),T=n().int().safe().nonnegative(),Za=s({actionId:t,quest:t}),cs=Za.extend({member:t}),Oe=a({quest:t,member:t,enrolledAt:T}),ms=s({actionId:t,quest:t,tracker:t,record:e().min(1).max(256),observedAt:T}),os={Admitted:"admitted",Skipped:"skipped"},V=a({automatic:t.optional(),quest:t,tracker:t.nullable(),record:e().nullable(),observedAt:T.nullable(),state:l(["admitted","skipped"]),code:e().nullable(),reason:e().nullable(),window:l(["tracker","quest"]).optional(),attempt:t.nullable(),claimable:f(),createdAt:T,updatedAt:T}),ss=s({quest:t.optional(),state:l(["admitted","skipped"]).optional(),code:e().min(1).max(100).optional(),cursor:p.optional()}),Ee=a({items:r(V),nextCursor:p.nullable()}),Qe=a({items:r(y)}),Pe={id:e(),status:e(),at:n().nullable(),quest:e().nullable(),completion:e().nullable()},ls=h("kind",[a({...Pe,kind:c("points"),ledger:x,amount:n(),reversed:n()}).catchall(g()),a({...Pe,kind:c("tier"),entitlement:y}).catchall(g().transform(i=>i)),a({...Pe,kind:c("integration"),provider:e(),action:e(),roleId:e().optional(),deliveredAt:n().nullable(),revokedAt:n().nullable(),reconciliation:a({status:e(),ownership:e(),at:n()}).catchall(g()).nullable()}).catchall(g().optional())]),$a=u([ls,a({...Pe,kind:e().refine(i=>!["points","tier","integration"].includes(i))}).catchall(g()).transform(({kind:i,...z})=>({...z,kind:"unknown",reportedKind:i}))]),Me=a({items:r($a)}),hs={GrantRole:"grant-role"},Ss=e().min(1).max(64),_a=a({status:l(["pending","granted","removed","preserved","failed"]),ownership:l(["unclaimed","relay","external"]),at:n(),reason:e().nullable()}),Ia=a({id:e(),quest:e(),completion:e(),member:e(),provider:c("discord"),action:Ss,roleId:e(),status:l(["pending","delivered","failed"]),attempts:n().int(),nextAt:n(),lastError:e().nullable(),createdAt:n(),deliveredAt:n().nullable(),dispatchedAt:n().nullable().optional(),revokedAt:n().nullable().optional(),reconciliation:_a.nullable().optional()}),us=Ia.extend({provider:e(),status:e(),roleId:e().optional(),reconciliation:a({status:e(),ownership:e(),at:n(),reason:e().nullable()}).catchall(g()).nullable().optional()}).catchall(g().optional()).refine(i=>i.provider!=="discord"||!["pending","delivered","failed"].includes(i.status)||i.reconciliation&&(!["pending","granted","removed","preserved","failed"].includes(i.reconciliation.status)||!["unclaimed","relay","external"].includes(i.reconciliation.ownership))),Xa=u([Ia.catchall(g().optional()),us]),Le=a({deliveries:r(Xa),nextCursor:p.nullable().default(null)}),ds=s({cursor:p.optional(),limit:G.number().int().min(1).max(500).optional()});var Ue=a({organization:t,project:t,environment:l(["test","live"])}).strict(),Be=h("kind",[a({kind:c("member"),member:t}),a({kind:c("staff"),subject:t}),a({kind:c("operator"),subject:t})]),Ja=a({...Ue.shape,id:t,principal:Be,expiresAt:n()}),ps=Be.options.map(i=>i.shape.kind.value),Ya=u([Be,a({kind:e().min(1)}).refine(i=>!ps.includes(i.kind))]),Te=a({...Ue.shape,id:t,principal:Ya,expiresAt:n()});function gs(i){let z=i?.principal;return z?.kind==="member"&&"member"in z?z.member:null}var He=a({member:t,avatarSeed:e().min(1).max(100),email:e().min(1).nullable().optional(),emails:r(e().min(1)).optional()}),zs=Ue.extend({identity:a({issuer:t,subject:e().min(1).max(200)}).strict(),role:l(["member","staff","operator"])}).strict(),Ve=a({token:e(),session:Ja});var at=Aa.omit({expectedRevision:!0}).extend({engagement:r(da).max(50).default([]),trackers:r(Fe).max(50).default([]),badges:r(ha).max(100).default([]),pointLedgers:r(ua).max(50).default([]),offers:r(ya).max(100).default([]),referrals:r(ba).max(50).default([]),leaderboards:r(ga).max(50).default([]),images:r(ja).max(10).default([]),calendar:_e.optional(),runtimes:r(Xe).max(4).default([])}),bs=at.extend({releases:r(ia).max(k.quests).default([])}).refine(i=>i.engagement.length>0||i.trackers.length>0||i.pointLedgers.length>0||i.badges.length>0||i.offers.length>0||i.releases.length>0||i.leaderboards.length>0||i.referrals.length>0||i.images.length>0||i.types.length>0||i.collections.length>0||i.supportedInteractions!==void 0||i.calendar!==void 0,"No resources configured. Add engagement, trackers, quests, questTypes, badges, pointLedgers, offers, leaderboards, referrals, images, collections, supportedInteractions, or calendar to relay.json."),tt=a({code:e(),message:e(),integration:e().optional(),quests:r(e()).default([])}),K=a({id:t,engagement:r(pa).default([]),trackers:r(Ze).default([]),baseRevision:n().int().nonnegative(),badges:r(la).optional(),pointLedgers:r(Sa).default([]),offers:r(fa).default([]),releases:r(j),types:r(H),collections:r(E),supportedInteractions:r(w),referrals:r(va).default([]),leaderboards:r(za).default([]),images:r(B).default([]),calendar:a({timeZone:$e,effectiveAt:n().int().nullable()}).nullable().default(null),warnings:r(tt).optional()}),vs=a({id:t}).strict(),rt=K.extend({revision:n().int().positive()}),nt=h("kind",[a({kind:c("direct")}),a({kind:c("promotion"),deployment:t}),a({kind:c("rollback"),deployment:t})]),Ke={source:nt,createdAt:n().int().nonnegative(),createdBy:e().nullable()},et={submittedAt:n().int().nonnegative(),submittedBy:e().nullable()},Da=h("status",[K.extend({...Ke,status:c("preview")}),K.extend({...Ke,...et,status:c("pending")}),K.extend({...Ke,...et,status:c("rejected"),decidedAt:n().int().nonnegative(),decidedBy:e().nullable(),reason:e().trim().min(1).max(1e3)}),rt.extend({...Ke,status:c("published"),submittedAt:n().int().nonnegative().nullable(),submittedBy:e().nullable(),publishedAt:n().int().nonnegative(),publishedBy:e().nullable()})]),fs=s({cursor:p.optional(),limit:G.number().int().min(1).max(100).optional()}),ys=a({items:r(Da),published:r(Da).max(2),nextCursor:p.nullable()}),ks=a({id:t}).strict(),it=a({id:t,reason:e().trim().min(1).max(1e3)}).strict(),ws=it.omit({id:!0}),js=a({actionId:e().uuid()}).strict(),ct=a({actionId:e().uuid(),id:t}).strict(),Rs=ct,xs=ct,Ps=Ge({get imageInspectionSchema(){return o(ye)},get imageComparisonSchema(){return o(ke)},get imageExtractionSchema(){return o(we)},get imageSightingsSchema(){return o(je)},get imageUploadsSchema(){return o(xe)},get publishedImageSchema(){return o(B)},get walletBalanceSchema(){return o(ee)}}),qs={imageInspectionSchema:m(ye),imageComparisonSchema:m(ke),imageExtractionSchema:m(we),imageSightingsSchema:m(je),imageUploadsSchema:m(xe),publishedImageSchema:m(B),walletBalanceSchema:m(ee)},As={attemptRejected:"attempt.rejected",entitlementGranted:"entitlement.granted",rewardDeliveryUpdated:"reward.delivery.updated",completionCreated:"completion.created",pointsAwarded:"points.awarded",reviewPending:"review.pending",rewardDeliveryFailed:"reward.delivery.failed",entitlementCollected:"entitlement.collected",referralQualified:"referral.qualified"},Cs=e().min(1).max(100),Oa=h("kind",[a({kind:c("completion"),attempt:t,generation:n().int().nonnegative()}),a({kind:c("points"),entry:t}),a({kind:c("group"),action:t}),a({kind:c("campaign"),action:t}),a({kind:c("publication"),revision:t}),a({kind:c("revocation"),action:t})]),Is=new Set(Oa.options.map(i=>i.shape.kind.value)),mt=u([Oa,Qa({kind:e().refine(i=>!Is.has(i))}).catchall(g())]),Ds=a({id:t,status:L.shape.status,code:e().nullable()}),ot={id:t,quest:t,member:t,release:t,event:mt,state:l(["admitted","skipped"]),code:e().nullable(),reason:e().nullable(),window:l(["tracker","quest"]).optional(),revision:n().int().nonnegative(),createdAt:n().int().safe(),updatedAt:n().int().safe()},Os=a({...ot,attempt:M(),linkedAttempt:M().optional()}),Es=a({...ot,attempt:t,linkedAttempt:Ds.nullable().optional()}).superRefine((i,z)=>{i.linkedAttempt!==null&&i.linkedAttempt!==void 0&&i.linkedAttempt.id!==i.attempt&&z.addIssue({code:"custom",path:["linkedAttempt","id"],message:"Linked attempt ID must match the legacy attempt ID"})}),We=u([Os,Es]),Qs=i=>i.linkedAttempt?.status==="rejected"&&i.linkedAttempt.code==="budget-exhausted",Ms=s({quest:t.optional(),member:t.optional(),state:l(["admitted","skipped"]).optional(),code:e().max(100).optional(),cursor:p.optional()}),Ls=a({items:r(We),nextCursor:p.nullable()}),st=s({quest:t,outcomes:r(t).min(1).max(50)}),Us=a({quest:t,release:t,token:t,items:r(a({outcome:We,code:e().nullable(),reason:e().nullable(),window:l(["tracker","quest"]).optional(),attempt:t.nullable(),wouldAdmit:f(),budgets:r(sa)})),rewards:r(ea),costs:r(a({budget:t,cost:u([n(),c("dynamic")])}))}),Bs=st.extend({actionId:t,token:t,reason:e().trim().min(1).max(1e3)}),Ts=a({items:r(We)}),Hs=s({member:t.optional(),cursor:p.optional()}),lt=a({id:t,member:t,event:mt,state:l(["pending","retrying","failed"]),attempts:n().int().nonnegative(),error:e().nullable(),createdAt:n().int().safe(),nextAttemptAt:n().int().safe()}),Vs=a({items:r(lt),nextCursor:p.nullable()}),Ks=s({actionId:t,id:t,reason:e().trim().min(1).max(1e3)}),Ws=Ge({get badgeSchema(){return o(I)},get memberBadgesSchema(){return o(ie)},get telegramAccountConnectionSchema(){return o(fe)},get accountConnectionSchema(){return o(Z)},get attemptSchema(){return o(L)},get authProviderSchema(){return o(F)},get campaignEnrollmentSchema(){return o(ae)},get collectionPassSchema(){return o(De)},get contentPerformancePageSchema(){return o(ne)},get contentQualificationPageSchema(){return o($)},get engagementBoundaryPageSchema(){return o(se)},get engagementPageSchema(){return o(oe)},get evidenceSchema(){return o(re)},get exchangeResultSchema(){return o(Ve)},get leaderboardDefinitionSchema(){return o(U)},get leaderboardHistoryPageSchema(){return o(ge)},get leaderboardPageSchema(){return o(de)},get leaderboardPlacementSchema(){return o(pe)},get linkedWalletSchema(){return o(J)},get memberProgressSchema(){return o(R)},get memberSummarySchema(){return o(He)},get offerSchema(){return o(D)},get ownProfileSchema(){return o(he)},get participantActivitySchema(){return o(qe)},get participantDeliveriesSchema(){return o(Me)},get participantEntitlementsSchema(){return o(Qe)},get participantSessionSchema(){return o(Te)},get pointBalancesSchema(){return o(ce)},get pointHistoryPageSchema(){return o(me)},get pointLedgerReferenceSchema(){return o(x)},get profileCompletionPageSchema(){return o(Se)},get profileReferralSchema(){return o(ue)},get profileSummarySchema(){return o(le)},get questEnrollmentSchema(){return o(Oe)},get questExperienceSchema(){return o(Ie)},get questOutcomePageSchema(){return o(Ee)},get questOutcomeSchema(){return o(V)},get redemptionSchema(){return o(O)},get referralDefinitionSchema(){return o(ze)},get referralHistorySchema(){return o(ve)},get referralSummarySchema(){return o(be)},get rewardDeliveriesSchema(){return o(Le)},get tieredRewardReferenceSchema(){return o(C)},get walletMessageChallengeSchema(){return o(X)},get walletSignInNetworksSchema(){return o(Y)}}),Gs={badgeSchema:m(I),memberBadgesSchema:m(ie),telegramAccountConnectionSchema:m(fe),accountConnectionSchema:m(Z),attemptSchema:m(L),authProviderSchema:m(F),campaignEnrollmentSchema:m(ae),collectionPassSchema:m(De),contentPerformancePageSchema:m(ne),contentQualificationPageSchema:m($),engagementBoundaryPageSchema:m(se),engagementPageSchema:m(oe),evidenceSchema:m(re),exchangeResultSchema:m(Ve),leaderboardDefinitionSchema:m(U),leaderboardHistoryPageSchema:m(ge),leaderboardPageSchema:m(de),leaderboardPlacementSchema:m(pe),linkedWalletSchema:m(J),memberProgressSchema:m(R),memberSummarySchema:m(He),offerSchema:m(D),ownProfileSchema:m(he),participantActivitySchema:m(qe),participantDeliveriesSchema:m(Me),participantEntitlementsSchema:m(Qe),participantSessionSchema:m(Te),pointBalancesSchema:m(ce),pointHistoryPageSchema:m(me),pointLedgerReferenceSchema:m(x),profileCompletionPageSchema:m(Se),profileReferralSchema:m(ue),profileSummarySchema:m(le),questEnrollmentSchema:m(Oe),questExperienceSchema:m(Ie),questOutcomePageSchema:m(Ee),questOutcomeSchema:m(V),redemptionSchema:m(O),referralDefinitionSchema:m(ze),referralHistorySchema:m(ve),referralSummarySchema:m(be),rewardDeliveriesSchema:m(Le),tieredRewardReferenceSchema:m(C),walletMessageChallengeSchema:m(X),walletSignInNetworksSchema:m(Y)},Ns=m(D),Fs=S(D),Zs=m(O),$s=S(O),_s=S(U),Xs=Ce.extend({quests:S(Q)}),Js=N(a({member:t,quests:S(Q),collections:S(Xs),entitlements:S(y).default({items:[],unsupportedCount:0})})),Ys=N(a({member:t,quests:S(R.shape.quests.element),entitlements:S(y)})),el=N(a({revision:A.shape.revision,types:S(A.shape.types.element),collections:S(A.shape.collections.element),quests:S(A.shape.quests.element),drafts:S(A.shape.drafts.element),releases:S(j).default({items:[],unsupportedCount:0}),supportedInteractions:S(w)}));export{Lm as AVATAR_UPLOAD_LIMIT,gc as AttemptStatus,Ic as CompletionSourceKind,cm as PointEntryKind,os as QuestOutcomeState,zc as QuestSubmissionStatus,hs as RewardDeliveryAction,Bn as WALLETS_PER_CHAIN,Z as accountConnectionSchema,Ht as accountRoleSchema,Cs as activityTypeSchema,As as activityTypes,ji as addGroupMemberSchema,ts as allocateQuestSchema,rs as allocatedQuestSchema,Mt as appIdentityKindSchema,oc as artifactSchema,L as attemptSchema,F as authProviderSchema,Ue as authScopeSchema,Bs as automaticCatchUpConfirmSchema,st as automaticCatchUpInputSchema,Us as automaticCatchUpPreviewSchema,Ts as automaticCatchUpResultSchema,Oa as automaticEventSchema,Ls as automaticOutcomePageSchema,Ms as automaticOutcomeQuerySchema,We as automaticOutcomeSchema,Vs as automaticSchedulingPageSchema,Hs as automaticSchedulingQuerySchema,Ks as automaticSchedulingRetrySchema,lt as automaticSchedulingSchema,hi as availabilityWindowSchema,jm as avatarProviderSchema,Pm as avatarSeedSchema,Um as avatarUploadTypes,ha as badgeArtifactSchema,_c as badgeDeclarationSchema,em as badgeMutationResultSchema,Yc as badgeMutationSchema,$c as badgePropertiesSchema,Vi as badgeReward,Hi as badgeRewardSchema,I as badgeSchema,Mi as balanceAtLeast,Di as balancePrerequisiteSchema,sc as batchReleaseSchema,qc as beginHandoverSchema,hn as beneficiaryRole,kn as budgetSchema,Kn as caip10,Nr as calendarPeriodSchema,Si as campaignDefinitionSchema,pi as campaignEnrollmentInputSchema,ae as campaignEnrollmentSchema,di as campaignViewSchema,zi as campaignWithdrawalInputSchema,Vr as canonicalTimeZone,ht as capabilityErrorCodes,St as capabilityFailureSchema,Ps as capabilityResponseSchemas,qs as capabilityResponses,Jo as catalogDeploymentPreviewSchema,Aa as catalogDeploymentSchema,ns as collectionBeginSchema,Ca as collectionCodeSchema,De as collectionPassSchema,is as collectionPreviewSchema,Fa as collectionResolveSchema,Ga as collectionSlotDeclarationSchema,Ae as collectionSlotSchema,Ce as collectionViewSchema,li as compatibleSettingKinds,Qi as completed,yn as completionKeySchema,fn as completionPolicySchema,Ii as completionPrerequisiteSchema,Oc as completionRecordSchema,Dc as completionSourceSchema,Rc as configurePickupSchema,Ac as confirmHandoverSchema,Kt as contentMetricNameSchema,Ar as contentMetricSchema,Cr as contentMetricsSchema,ne as contentPerformancePageSchema,Ir as contentPerformancePolicySchema,Zc as contentPerformanceQuerySchema,Fc as contentPerformanceSnapshotSchema,xr as contentQualificationDecisionSchema,$ as contentQualificationPageSchema,Pr as contentQualificationQuerySchema,qr as contentQualificationSchema,En as cosmosAddressSchema,In as cosmosChain,Cn as cosmosDenomSchema,An as cosmosNetworkSchema,Qr as counterAchievementSchema,Lr as counterContributionSchema,Dr as counterGoalSchema,Tr as counterHistoryQuerySchema,Ur as counterHistorySchema,Hr as counterModerationResultSchema,Br as counterModerationSchema,Er as counterPolicySchema,Mr as counterProgressSchema,Or as counterWindowSchema,Xc as createBadgeSchema,ki as createGroupSchema,tm as createPointLedgerSchema,Gc as createStockItemSchema,Gt as customContentSchema,Ft as customSourceSchema,Ji as decisionSchema,Jr as defaultTriggerMode,$i as deferPolicy,ui as defineCampaign,fi as defineGroup,qo as defineOffer,js as deploymentActionSchema,ys as deploymentHistoryPageSchema,fs as deploymentHistoryQuerySchema,K as deploymentPreviewSchema,Da as deploymentRecordSchema,ws as deploymentRejectionSchema,rt as deploymentResultSchema,nt as deploymentSourceSchema,tt as deploymentWarningSchema,gt as discordMemberInputSchema,bt as discordMemberSchema,kt as discordMessageDataSchema,zt as discordMessageInputSchema,vt as discordMessageSchema,wt as discordMessageTextDataSchema,ft as discordMessagesSourceSchema,jt as discordReactionDataSchema,yt as discordReactionsSourceSchema,xt as discordResourceSourceSchema,Rt as discordRewardSchema,Rn as discordServerSchema,Am as displayNameSchema,da as engagementArtifactSchema,se as engagementBoundaryPageSchema,sm as engagementBudgetSchema,zm as engagementChangePreviewInputSchema,vm as engagementChangePreviewSchema,bm as engagementChangeSchema,lm as engagementDefinitionSchema,pa as engagementDeploymentEntrySchema,pm as engagementPageQuerySchema,oe as engagementPageSchema,um as engagementPublishSchema,dm as engagementRuleSchema,fm as engagementRuleVersionPageSchema,hm as engagementScoreInputSchema,Sm as engagementScoreSchema,gm as engagementSettlementSchema,ym as engagementVersionPageSchema,km as engagementVersionQuerySchema,Cc as entitlementCorrectionSchema,xc as entitlementRecoverySchema,y as entitlementSchema,Pc as entitlementStateSchema,Mc as errorSchema,wn as evaluatorIntegrationProviderSchema,Xi as evaluatorProgressSchema,ic as evaluatorProtocol,cc as evaluatorProtocolSchema,yc as eventSchema,re as evidenceSchema,On as evmAddressSchema,Gn as evmChainIdSchema,Ve as exchangeResultSchema,zs as exchangeSchema,Ci as groupMemberPageSchema,Ai as groupMemberSchema,xi as groupPageQuerySchema,qi as groupPageSchema,Oi as groupPrerequisiteSchema,t as identifier,Lt as identityKindSchema,ja as imageAssetArtifactSchema,ke as imageComparisonSchema,we as imageExtractionSchema,Ta as imageFieldSchema,Ha as imageFieldsSchema,ye as imageInspectionSchema,P as imageReferenceSchema,Fo as imageRequestSchema,je as imageSightingsSchema,Zo as imageUploadRequestSchema,xe as imageUploadsSchema,Li as inGroup,jn as integrationProviderSchema,Ki as integrationRewardSchema,w as interactionSchema,Ut as isAppIdentityKind,Wn as isEvmChainId,er as isKnownTrackerSource,Qs as isRetryableAutomaticOutcome,Qt as knownIdentityKinds,Ka as knownRelayEventSchema,Ia as knownRewardDeliverySchema,ga as leaderboardArtifactSchema,Wm as leaderboardAuthoringSchema,Km as leaderboardDefinitionResponseSchema,U as leaderboardDefinitionSchema,to as leaderboardExclusionGroupBindingSchema,ao as leaderboardExclusionGroupSchema,eo as leaderboardExclusionSchema,ro as leaderboardGroupSchema,ge as leaderboardHistoryPageSchema,Zm as leaderboardHistoryQuerySchema,_s as leaderboardListResponseSchema,de as leaderboardPageSchema,pe as leaderboardPlacementSchema,za as leaderboardPreviewSchema,Tm as leaderboardPrizeRewardSchema,Hm as leaderboardPrizeSchema,Nm as leaderboardQuerySchema,Fm as leaderboardRowSchema,oo as leaderboardSettlementApprovalSchema,Vm as leaderboardSettlementPolicySchema,co as leaderboardSettlementRowSchema,mo as leaderboardSettlementSchema,no as leaderboardSettlementStatusSchema,io as leaderboardSettlementSummarySchema,Bm as leaderboardWindowSchema,J as linkedWalletSchema,la as managedBadgeSchema,Pi as managedGroupSchema,Xm as managedPointHistoryPageSchema,rm as managedPointLedgerSchema,Mm as managedProfileSchema,pt as managementStateQuerySchema,te as mediaUrlSchema,Jc as memberBadgeSchema,ie as memberBadgesSchema,gi as memberCampaignEnrollmentInputSchema,bi as memberCampaignWithdrawalInputSchema,cs as memberEnrollmentInputSchema,Tt as memberIdentitySchema,Hc as memberListSchema,Wc as memberPageSchema,Ys as memberProgressResponseSchema,R as memberProgressSchema,He as memberSummarySchema,Ei as missingPrerequisiteSchema,si as missingResourceSettings,ya as offerArtifactSchema,yo as offerAuthoringSchema,ko as offerAvailabilitySchema,xo as offerControlSchema,fa as offerDefinitionSchema,fo as offerLimitSchema,Fs as offerListResponseSchema,vo as offerPriceSchema,Ns as offerResponseSchema,D as offerSchema,Bt as openIdentityKindSchema,he as ownProfileSchema,p as pageCursorSchema,ut as pageQuerySchema,dt as paginate,oi as parseSettings,_o as participantActivityQuerySchema,qe as participantActivitySchema,Me as participantDeliveriesSchema,$a as participantDeliverySchema,Qe as participantEntitlementsSchema,Ya as participantPrincipalSchema,Ws as participantResponseSchemas,Gs as participantResponses,Te as participantSessionSchema,Ni as photoResultSchema,kc as pickupAllocationSchema,oa as pickupAvailabilitySchema,jc as pickupCatalogSchema,wc as pickupPolicySchema,ma as pickupSelectionSchema,im as pointBalanceSchema,ce as pointBalancesSchema,mm as pointEntrySchema,me as pointHistoryPageSchema,om as pointHistoryQuerySchema,ua as pointLedgerArtifactSchema,nm as pointLedgerDeclarationSchema,am as pointLedgerPropertiesSchema,x as pointLedgerReferenceSchema,Sa as pointLedgerSchema,Ym as pointsAccountSchema,_m as pointsEntrySchema,$m as pointsMutationSchema,Jm as pointsResultSchema,Ui as pointsRewardSchema,Ye as prerequisiteSchema,Be as principalSchema,qm as profileAvatarSchema,Se as profileCompletionPageSchema,Im as profileCompletionQuerySchema,Dm as profileCompletionSchema,Rm as profileDefaultProviderSchema,xm as profileDefaultsSchema,Qm as profileModerationSchema,ue as profileReferralSchema,Em as profileSettingsInputSchema,Om as profileSettingsSchema,le as profileSummarySchema,Cm as profileUpdateSchema,wm as profileVisibilitySchema,_e as projectCalendarDeclarationSchema,Zr as projectCalendarInputSchema,Fr as projectCalendarSchema,at as projectCatalogArtifactSchema,bs as projectDeploymentSchema,yi as projectGroupKey,vi as projectGroupSchema,xn as projectIntegrationSchema,Rs as promoteDeploymentSchema,vs as publishDeploymentSchema,es as publishQuestDraftSchema,B as publishedImageSchema,Gm as publishedLeaderboardSchema,va as publishedReferralSchema,j as publishedReleaseSchema,Ze as publishedTrackerSchema,Ec as questAvailabilitySchema,sa as questBudgetViewSchema,el as questCatalogResponseSchema,A as questCatalogSchema,ms as questClaimInputSchema,E as questCollectionSchema,mc as questDescriptionSchema,Pa as questDraftChangesSchema,qa as questDraftSchema,Za as questEnrollmentInputSchema,Oe as questEnrollmentSchema,Js as questExperienceResponseSchema,Ie as questExperienceSchema,xa as questInstanceSchema,Xo as questInteraction,Ee as questOutcomePageSchema,ss as questOutcomeQuerySchema,V as questOutcomeSchema,na as questPresentationContentSchema,tc as questPresentationRequirementSchema,rc as questPresentationSchema,nc as questProfileSchema,as as questPublicationPreviewSchema,Na as questRewardViewSchema,k as questScaleLimits,lc as questSettingsInputSchema,ec as questStepActionSchema,ac as questStepSchema,fc as questSubmissionResultSchema,bc as questSubmissionSchema,vc as questSubmissionUpdateSchema,H as questTypeVersionSchema,Q as questViewSchema,Sc as quizAnswersSchema,Yn as quizChoiceSchema,ti as quizContentSchema,uc as quizEvidenceSchema,ei as quizQuestionSchema,ai as quizQuestionsSchema,wo as redeemOfferSchema,Po as redemptionCancellationSchema,$s as redemptionListResponseSchema,Ro as redemptionPageSchema,jo as redemptionQuerySchema,Zs as redemptionResponseSchema,O as redemptionSchema,lo as referralAcceptSchema,zo as referralAccountSchema,ba as referralArtifactSchema,so as referralAuthoringSchema,po as referralControlSchema,ze as referralDefinitionSchema,ve as referralHistorySchema,bo as referralManagementSchema,So as referralQualificationSchema,go as referralRelationshipSchema,uo as referralRewardResolutionSchema,be as referralSummarySchema,ho as referralSuspensionSchema,Wr as refuseStreakTimeZone,Gr as refuseWindowTimeZone,it as rejectDeploymentSchema,Wa as relayEventSchema,ia as releaseSchema,Ri as removeGroupMemberSchema,Bc as reservationSchema,ii as resourceOptionsSchema,ni as resourceRequestSchema,ri as resourceSourceSchema,S as responseListSchema,m as responseSchema,d as responseShape,aa as retryCooldownMsSchema,_i as retryCooldownPolicy,Vc as reviewItemSchema,Tc as reviewListSchema,ta as reviewModeSchema,Kc as reviewPageSchema,Yi as rewardBundleSchema,Le as rewardDeliveriesSchema,ds as rewardDeliveryQuerySchema,Xa as rewardDeliverySchema,Wi as rewardKey,ea as rewardSchema,_a as roleReconciliationSchema,xs as rollbackDeploymentSchema,Yo as saveQuestDraftSchema,vn as sdkRuntimeDigest,gn as sdkRuntimeLimits,zn as sdkRuntimeModulePathSchema,bn as sdkRuntimeModulesSchema,_ as sdkRuntimeReferenceSchema,Xe as sdkRuntimeSchema,gs as sessionMember,Ja as sessionSchema,ci as settingFieldSchema,mi as settingsFieldsSchema,Je as settingsValuesSchema,Qc as snapshotSchema,Pn as solanaAddressSchema,Dn as solanaMainnet,Xt as sourceContent,_t as sourceIdentities,Lc as staffDecisionSchema,Nc as stockItemSchema,Uc as stockSchema,ca as storedQuestDescriptionSchema,ra as storedReviewModeSchema,$r as streakPolicySchema,_r as streakProgressSchema,dc as submissionEvidenceSchema,ks as submitDeploymentSchema,pc as submitSchema,fe as telegramAccountConnectionSchema,Qo as telegramChatConnectionSchema,Do as telegramChatIdSchema,Lo as telegramChatMemberSchema,Oo as telegramChatSchema,Eo as telegramChatsSchema,Co as telegramInitDataSchema,Mo as telegramMemberInputSchema,Io as telegramMiniAppSignInSchema,Bo as telegramReactionDataSchema,Uo as telegramReactionsNamespace,Ao as telegramSignInMethodsSchema,hc as templateSchema,Zn as textEvidenceSchema,Nn as textOptionsSchema,Zi as textResultSchema,Fi as textReviewInputSchema,Ti as tierRewardSchema,Bi as tieredRewardDefinitionSchema,C as tieredRewardReferenceSchema,$e as timeZoneNameSchema,Kr as timeZoneSchema,mr as trackerAccountSchema,Fe as trackerArtifactSchema,Sn as trackerAttributionSchema,Yr as trackerBoundSchema,en as trackerConditionSchema,It as trackerContentQuerySchema,Dt as trackerContentReadSchema,Et as trackerContentSchema,dn as trackerContentStageSchema,cr as trackerControlSchema,nr as trackerCreateSchema,Pt as trackerDataMaxBranches,qt as trackerDataMaxEntries,At as trackerDataSchemaSchema,ar as trackerDefinitionResponseSchema,Jt as trackerDefinitionSchema,Ot as trackerEvidenceSchema,Sr as trackerIngestResultSchema,hr as trackerIngestSchema,br as trackerOutcomePageSchema,zr as trackerOutcomeQuerySchema,vr as trackerOutcomeRetrySchema,dr as trackerOutcomeSchema,yr as trackerPageSchema,jr as trackerPreviewInputSchema,wr as trackerPreviewLimits,Rr as trackerPreviewSchema,rr as trackerPropertiesSchema,fr as trackerQuerySchema,sr as trackerRecordAccountSchema,or as trackerRecordInputSchema,lr as trackerRecordSchema,ur as trackerSkipCodes,$t as trackerSourceKinds,Yt as trackerSourceResponseSchema,Zt as trackerSourceSchema,tr as trackerStatusSchema,kr as trackerSummarySchema,pn as trackerTriggerContextSchema,Xr as trackerTriggerModeSchema,gr as trackerTriggerOutcomePageSchema,pr as trackerTriggerOutcomeQuerySchema,on as trackerTriggerPolicySchema,un as trackerTriggerRecordSchema,ir as trackerUpdateSchema,an as trackerWhereSchema,ln as triggerAdmission,nn as triggerEnrollmentSchema,mn as triggerHistoricalSchema,sn as triggerMode,Gi as triggerSchema,cn as triggerSinceSchema,wi as updateGroupSchema,$n as urlEvidenceSchema,Fn as urlOptionsSchema,Xn as validateSubmissionValue,_n as valueEvidenceSchema,Un as walletAddressInput,Qn as walletAddressInputSchema,ee as walletBalanceSchema,qn as walletChainSchema,X as walletMessageChallengeSchema,Tn as walletSignInFamilies,Vn as walletSignInNetwork,Hn as walletSignInNetworkSchema,Y as walletSignInNetworksSchema,Mn as walletSignatureSchema,Ln as walletUnlinkInputSchema,tn as whereConditions,rn as whereSettings,Vt as xAccountRoles,To as xConnectionSchema,Ct as xContentBodySchema,Wt as xContentMetrics,b as xIdSchema,Jn as xPostId,Wo as xPostSchema,Ho as xProfileSchema,Go as xRequestSchema,Nt as xSearchSourceSchema,Ne as xTweetSchema,Vo as xUserLookupInputSchema,Ko as xUserSchema,Ba as xUsernameSchema};
1
+ import{$ as Zt,$a as Wr,$b as Bn,$c as qi,$d as zc,$e as Sa,$f as Gm,$g as fe,A as xt,Aa as vr,Ab as gn,Ac as Je,Ad as Ji,Ae as re,Af as da,Ag as ba,B as Pt,Ba as fr,Bb as zn,Bc as oi,Bd as aa,Be as Uc,Bf as pa,Bg as va,C as qt,Ca as yr,Cb as _,Cc as si,Cd as Yi,Ce as Bc,Cf as Rm,Cg as So,D as At,Da as kr,Db as bn,Dc as li,Dd as ec,De as Tc,Df as xm,Dg as uo,Ea as wr,Eb as Xe,Ec as La,Ed as ta,Ee as Hc,Ef as Pm,Eg as po,Fa as jr,Fb as vn,Fd as ra,Fe as Vc,Ff as qm,Fg as go,Ga as Rr,Gb as fn,Gc as hi,Gd as ac,Ge as Kc,Gf as Am,Gg as zo,Ha as xr,Hb as yn,Hc as Si,Hd as te,He as Wc,Hf as Cm,Hg as bo,I as Ne,Ia as Pr,Ib as kn,Ic as ui,Id as tc,Ie as Gc,If as le,Ig as vo,J as Ct,Ja as qr,Jb as wn,Jc as di,Jd as rc,Je as Nc,Jf as Im,Jg as be,K as It,Ka as $,Kb as jn,Kc as pi,Kd as nc,Ke as Fc,Kf as Dm,Kg as ve,L as Dt,La as Ar,Lb as Rn,Lc as gi,Ld as na,Le as Zc,Lf as he,Lg as fo,M as Ot,Ma as Cr,Mb as xn,Mc as zi,Md as ic,Me as $c,Mf as Om,Mg as yo,N as Et,Na as Ir,Nb as Pn,Nc as bi,Nd as cc,Ne as _c,Nf as Em,Ng as ko,O as Qt,Oa as Dr,Ob as qn,Oc as ae,Od as mc,Oe as ne,Of as Se,Og as fa,P as Mt,Pa as Or,Pb as An,Pd as oc,Pe as Xc,Pf as ue,Pg as wo,Q as Lt,Qa as Er,Qb as Cn,Qd as sc,Qe as Jc,Qf as Qm,Qg as ya,R as Ut,Ra as Qr,Rb as In,Rd as lc,Re as I,Rf as Mm,Rg as jo,S as Bt,Sa as Mr,Sb as Dn,Sc as vi,Sd as ia,Se as la,Sf as Lm,Sg as D,T as Tt,Ta as Lr,Tb as On,Tc as fi,Td as hc,Te as Yc,Tf as Um,Tg as Ro,U as Ht,Ua as Ur,Ub as En,Uc as yi,Ud as Sc,Ue as ha,Uf as Bm,Ug as O,V as Vt,Va as Br,Vb as Qn,Vc as ki,Vd as ca,Ve as em,Vf as Tm,Vg as xo,W as Kt,Wa as Tr,Wb as X,Wc as wi,Wd as j,We as ie,Wf as Hm,Wg as Po,X as Wt,Xa as Hr,Xb as Mn,Xc as ji,Xd as uc,Xe as am,Xf as Vm,Xg as qo,Y as Gt,Ya as Vr,Yb as J,Yc as Ri,Yd as dc,Ye as tm,Yf as Km,Yg as Ao,Z as Nt,Za as Kr,Zb as Ln,Zc as xi,Zd as pc,Ze as rm,Zf as Wm,Zg as Co,_ as Ft,_a as $e,_b as Un,_c as Pi,_d as gc,_e as nm,_f as U,_g as Io,a as ht,aa as $t,ab as Gr,ac as Tn,ad as Ai,ae as bc,af as im,ag as Nm,ah as Do,b as St,ba as _t,bb as Nr,bc as Hn,bd as Ci,be as L,bf as cm,bg as ga,bh as Oo,ca as Xt,cb as Fr,cc as Y,cd as Ii,ce as vc,cf as ua,cg as Fm,ch as Eo,d as t,da as Jt,db as Zr,dc as Vn,dd as Di,de as fc,df as x,dg as Zm,dh as Qo,e as N,ea as Fe,eb as _e,ec as Kn,ed as Oi,ee as yc,ef as mm,eg as $m,eh as Mo,f as Ge,fa as Yt,fb as $r,fc as Wn,fd as Ye,fe as kc,ff as ce,fg as de,fh as Lo,g as d,ga as er,gb as _r,gc as Gn,gd as Ei,ge as wc,gf as om,gg as pe,gh as Uo,h as o,ha as ar,hb as Xr,hc as ee,hd as Qi,he as ma,hf as sm,hg as _m,hh as Bo,i as m,ia as Ze,ib as Jr,ic as Nn,id as Mi,ie as jc,if as lm,ig as ge,ih as To,j as S,ja as tr,jb as Yr,jc as Fn,jd as Li,je as Rc,jf as me,jg as za,jh as Ho,k as p,ka as rr,kb as en,kc as Zn,kd as Ui,ke as xc,kf as hm,kg as Xm,l as ut,la as nr,lb as an,lc as $n,ld as Bi,le as oa,lf as Sm,lg as Jm,m as dt,ma as ir,mb as tn,mc as _n,md as C,me as Pc,mf as um,mg as Ym,n as pt,na as cr,nb as rn,nc as Xn,nd as Ti,ne as qc,nf as dm,ng as eo,o as F,oa as mr,ob as nn,oc as Jn,od as Hi,oe as Ac,of as pm,og as ao,p as Z,pa as or,pb as cn,pc as Yn,pd as Vi,pe as y,pf as gm,pg as to,q as gt,qa as sr,qb as mn,qc as ei,qd as Ki,qe as Cc,qf as zm,qg as ro,r as zt,ra as lr,rb as on,rc as ai,rd as Wi,re as Ic,rf as bm,rg as no,s as bt,sa as hr,sb as sn,sc as ti,sd as Gi,se as Dc,sf as oe,sg as io,t as vt,ta as Sr,tb as ln,tc as ri,td as ea,te as Oc,tf as vm,tg as co,u as ft,ua as ur,ub as hn,uc as ni,ud as Ni,ue as Ec,uf as fm,ug as mo,v as yt,va as dr,vb as Sn,vc as ii,vd as Fi,ve as Qc,vf as ym,vg as oo,w as kt,wa as pr,wb as un,wd as Zi,we as Mc,wf as km,wg as so,x as wt,xa as gr,xb as dn,xd as $i,xe as sa,xf as wm,xg as lo,y as jt,ya as zr,yb as pn,yc as ci,yd as _i,ye as R,yf as jm,yg as ze,z as Rt,za as br,zb as k,zc as mi,zd as Xi,ze as Lc,zf as se,zg as ho}from"./chunks/4O3MZT45.js";import{Gb as M,Kb as Ea,Sb as r,Vb as a,Wb as s,Xb as Qa,Zb as u,bc as h,fc as Ma,hc as W,ld as g,nb as n,pa as e,pc as l,sc as c,sd as G,vb as f}from"./chunks/IDOMZWRY.js";var b=e().regex(/^[0-9]{1,20}$/),Vo=a({userId:b}),Ko=a({id:b,username:e(),name:e(),bio:e().nullable(),profileImageUrl:e().url().nullable(),followersCount:n().int().nonnegative().nullable(),verified:f().nullable()}),Ba=e().trim().transform(i=>i.replace(/^@/,"")).pipe(e().regex(/^[A-Za-z0-9_]{1,15}$/,"Use an X handle: 1 to 15 letters, digits or underscores")),Wo=a({username:Ba}).strict(),Go=a({id:b,username:e(),name:e()}),No=Ne.extend({quotedTweetId:b.nullish().transform(i=>i??null),inReplyToUserId:b.nullish().transform(i=>i??null),inReplyToStatusId:b.nullish().transform(i=>i??null),retweetedTweetId:b.nullish().transform(i=>i??null),media:Ea().transform(i=>r(a({type:e(),url:e()})).safeParse(i).data??[])}),Fo=h("operation",[a({operation:c("connection")}).strict(),a({operation:c("profile")}).strict(),a({operation:c("post"),postId:b}).strict(),a({operation:c("follows"),userId:b}).strict(),a({operation:c("reposted"),postId:b}).strict()]),P=u([s({evidence:e().min(1).max(256)}),s({x:c("profile")}),s({x:c("post"),postId:b,index:n().int().min(0).max(3).default(0)}),s({asset:t})]),Zo=e().trim().min(1).max(2e3),Ta=s({type:l(["string","number","boolean"]),description:e().trim().min(1).max(500)}),Ha=W(e().regex(/^[a-zA-Z][a-zA-Z0-9_]{0,39}$/),Ta).refine(i=>{let z=Object.keys(i).length;return z>=1&&z<=12},"Declare between 1 and 12 fields"),$o=h("operation",[s({operation:c("inspect"),image:P}),s({operation:c("compare"),images:Ma([P,P])}),s({operation:c("review"),images:r(P).min(1).max(4),criteria:Zo}),s({operation:c("extract"),image:P,fields:Ha}),s({operation:c("seen"),image:P,maxDistance:n().int().min(0).max(8).default(8)})]),Ua=e().regex(/^[0-9a-f]{16}$/),ye=d(s({width:n().int().positive(),height:n().int().positive(),format:l(["jpeg","png","webp","gif","avif"]),bytes:n().int().positive(),sha256:e().regex(/^[0-9a-f]{64}$/),phash:Ua,dhash:Ua})),ka=n().int().min(0).max(64),ke=d(s({identical:f(),phashDistance:ka,dhashDistance:ka})),we=d(s({values:W(e(),u([e().max(2e3),n(),f(),M()])),reason:e().min(1).max(2e3)})),je=d(s({matches:n().int().nonnegative(),closestDistance:ka.nullable(),firstSeenAt:n().int().nonnegative().nullable()})),Re=e().regex(/^[0-9a-f]{64}$/),wa=n().int().positive().max(5*1024*1024),ja=s({key:t,sha256:Re,size:wa,path:e().min(1).max(500).optional()}),_o=s({images:r(s({sha256:Re,size:wa,type:l(["image/jpeg","image/png","image/webp"])})).min(1).max(10)}),xe=d(s({images:r(s({sha256:Re,upload:s({url:e().url(),headers:W(e(),e()),expiresAt:n().int().positive()}).nullable()}))})),B=d(s({key:t,sha256:Re,type:l(["image/jpeg","image/png","image/webp"]),size:wa,width:n().int().positive(),height:n().int().positive()}));var q={id:e(),at:n()},Ra={...q,quest:e(),attempt:e(),completion:e().nullable()},Xo=["attempt.accepted","attempt.rejected","attempt.review","points.awarded","entitlement.granted","entitlement.collected","delivery.updated","referral.qualified"],Ka=h("kind",[a({...Ra,kind:c("attempt.accepted")}),a({...Ra,kind:c("attempt.rejected")}),a({...Ra,kind:c("attempt.review")}),a({...q,kind:c("points.awarded"),entry:e(),ledger:e(),amount:n(),quest:e().nullable(),completion:e().nullable()}),a({...q,kind:c("entitlement.granted"),entitlement:e(),tier:e(),status:e()}),a({...q,kind:c("entitlement.collected"),entitlement:e()}),a({...q,kind:c("delivery.updated"),delivery:e(),quest:e(),completion:e(),status:e()}),a({...q,kind:c("referral.qualified"),program:e()})]),Wa=u([Ka,a({...q,kind:e().refine(i=>!Xo.includes(i))}).catchall(g()).transform(({kind:i,...z})=>({...z,kind:"unknown",reportedKind:i}))]),Jo=a({cursor:p.optional(),start:c("latest").optional(),limit:n().int().min(1).max(100).default(50)}).strict().refine(i=>!(i.cursor&&i.start),{message:"Pass either cursor or start, not both"}),qe=a({member:e(),items:r(Wa),nextCursor:p}),w=l(["photo","text","url","quiz","claim","staff","automatic"]);function Yo(i){return i.kind==="automatic"?"automatic":i.actor==="staff"?"staff":i.input==="none"?"claim":i.input}var H=a({archivedAt:n().int().nonnegative().nullable().optional(),key:t.optional(),id:t,version:t,code:e(),runtime:_.optional(),definition:ca,provider:ra,createdAt:n()}),Ae=a({archivedAt:n().int().nonnegative().nullable().optional(),id:t,key:t.optional(),title:e().trim().min(1).max(120),description:e().max(4e3).optional(),image:te.optional(),imageAlt:e().max(500).optional()}).strict(),Ga=Ae.omit({id:!0,archivedAt:!0}).extend(La).strict(),E=Ae.extend({quests:r(t).max(100).refine(i=>new Set(i).size===i.length,"A collection can contain a quest only once")}),xa=a({badges:r(t).max(10).refine(i=>new Set(i).size===i.length,"Choose each badge once").optional(),id:t,title:e().trim().min(1).max(120),typeVersion:t,presentation:na.optional(),settings:Je,requires:r(Ye).max(30),retryCooldownMs:aa.nullable().optional(),status:l(["active","paused","archived"])}).strict(),Pa=a({quests:r(xa.extend({expectedRelease:t.nullable()})).max(k.quests),collections:r(E.omit({archivedAt:!0})).max(k.collections)}).strict(),Va=a({id:t,revision:n().int().positive(),baseRevision:n().int().nonnegative(),changes:Pa}),qa=d(h("status",[Va.extend({status:c("draft")}),Va.extend({status:c("published"),releaseIds:r(t)})])),A=d(a({revision:n().int().nonnegative(),types:r(H),collections:r(E),quests:r(xa),drafts:r(qa),releases:r(j).default([]),supportedInteractions:r(w)})),Aa=a({expectedRevision:n().int().nonnegative(),types:r(a({code:e().min(1).max(1e6),runtime:_.optional(),provider:ta})).max(k.questTypes).default([]),collections:r(Ga).max(k.collections).default([]),supportedInteractions:r(w).min(1).optional()}).strict(),es=d(a({revision:n().int().nonnegative(),types:r(H),collections:r(Ae),supportedInteractions:r(w)})),as=a({id:t.optional(),actionId:t,expectedRevision:n().int().nonnegative(),baseRevision:n().int().nonnegative(),changes:Pa}).strict(),ts=a({id:t,expectedRevision:n().int().positive()}).strict(),Na=h("kind",[a({kind:c("points"),label:e(),amount:n().int().nonnegative(),ledger:x}),a({kind:c("tier"),label:e(),reward:C.extend({title:e(),badge:I.optional(),group:a({key:t,title:e()}).optional()}),tier:t}),a({kind:c("integration"),label:e()})]),Q=d(R.shape.quests.element.extend({release:t,interaction:w,lifecycle:l(["active","paused","archived"]),rewards:r(Na)})),Ce=a({key:t.optional(),id:t,title:e(),description:e().optional(),image:te.optional(),imageAlt:e().optional(),quests:r(Q)}),Ie=d(a({entitlements:r(y).default([]),member:t,quests:r(Q),collections:r(Ce)})),rs=d(a({draft:qa,releases:r(j),affectedCollections:r(E)})),ns=a({actionId:t}).strict(),is=a({id:t}),Ca=e().regex(/^relay:collect:[a-f0-9]{64}$/),De=a({code:Ca,expiresAt:n(),entitlement:t}),Fa=a({code:Ca}).strict(),cs=Fa.extend({actionId:t,revision:n().int().positive(),selection:ma.optional()}),ms=a({entitlement:y,inventory:oa,expiresAt:n()}),T=n().int().safe().nonnegative(),Za=s({actionId:t,quest:t}),os=Za.extend({member:t}),Oe=a({quest:t,member:t,enrolledAt:T}),ss=s({actionId:t,quest:t,tracker:t,record:e().min(1).max(256),observedAt:T}),ls={Admitted:"admitted",Skipped:"skipped"},V=a({automatic:t.optional(),quest:t,tracker:t.nullable(),record:e().nullable(),observedAt:T.nullable(),state:l(["admitted","skipped"]),code:e().nullable(),reason:e().nullable(),window:l(["tracker","quest"]).optional(),attempt:t.nullable(),claimable:f(),createdAt:T,updatedAt:T}),hs=s({quest:t.optional(),state:l(["admitted","skipped"]).optional(),code:e().min(1).max(100).optional(),cursor:p.optional()}),Ee=a({items:r(V),nextCursor:p.nullable()}),Qe=a({items:r(y)}),Pe={id:e(),status:e(),at:n().nullable(),quest:e().nullable(),completion:e().nullable()},Ss=h("kind",[a({...Pe,kind:c("points"),ledger:x,amount:n(),reversed:n()}).catchall(g()),a({...Pe,kind:c("tier"),entitlement:y}).catchall(g().transform(i=>i)),a({...Pe,kind:c("integration"),provider:e(),action:e(),roleId:e().optional(),deliveredAt:n().nullable(),revokedAt:n().nullable(),reconciliation:a({status:e(),ownership:e(),at:n()}).catchall(g()).nullable()}).catchall(g().optional())]),$a=u([Ss,a({...Pe,kind:e().refine(i=>!["points","tier","integration"].includes(i))}).catchall(g()).transform(({kind:i,...z})=>({...z,kind:"unknown",reportedKind:i}))]),Me=a({items:r($a)}),us={GrantRole:"grant-role"},ds=e().min(1).max(64),_a=a({status:l(["pending","granted","removed","preserved","failed"]),ownership:l(["unclaimed","relay","external"]),at:n(),reason:e().nullable()}),Ia=a({id:e(),quest:e(),completion:e(),member:e(),provider:c("discord"),action:ds,roleId:e(),status:l(["pending","delivered","failed"]),attempts:n().int(),nextAt:n(),lastError:e().nullable(),createdAt:n(),deliveredAt:n().nullable(),dispatchedAt:n().nullable().optional(),revokedAt:n().nullable().optional(),reconciliation:_a.nullable().optional()}),ps=Ia.extend({provider:e(),status:e(),roleId:e().optional(),reconciliation:a({status:e(),ownership:e(),at:n(),reason:e().nullable()}).catchall(g()).nullable().optional()}).catchall(g().optional()).refine(i=>i.provider!=="discord"||!["pending","delivered","failed"].includes(i.status)||i.reconciliation&&(!["pending","granted","removed","preserved","failed"].includes(i.reconciliation.status)||!["unclaimed","relay","external"].includes(i.reconciliation.ownership))),Xa=u([Ia.catchall(g().optional()),ps]),Le=a({deliveries:r(Xa),nextCursor:p.nullable().default(null)}),gs=s({cursor:p.optional(),limit:G.number().int().min(1).max(500).optional()});var Ue=a({organization:t,project:t,environment:l(["test","live"])}).strict(),Be=h("kind",[a({kind:c("member"),member:t}),a({kind:c("staff"),subject:t}),a({kind:c("operator"),subject:t})]),Ja=a({...Ue.shape,id:t,principal:Be,expiresAt:n()}),zs=Be.options.map(i=>i.shape.kind.value),Ya=u([Be,a({kind:e().min(1)}).refine(i=>!zs.includes(i.kind))]),Te=a({...Ue.shape,id:t,principal:Ya,expiresAt:n()});function bs(i){let z=i?.principal;return z?.kind==="member"&&"member"in z?z.member:null}var He=a({member:t,avatarSeed:e().min(1).max(100),email:e().min(1).nullable().optional(),emails:r(e().min(1)).optional()}),vs=Ue.extend({identity:a({issuer:t,subject:e().min(1).max(200)}).strict(),role:l(["member","staff","operator"])}).strict(),Ve=a({token:e(),session:Ja});var at=Aa.omit({expectedRevision:!0}).extend({engagement:r(da).max(50).default([]),trackers:r(Fe).max(50).default([]),badges:r(ha).max(100).default([]),pointLedgers:r(ua).max(50).default([]),offers:r(ya).max(100).default([]),referrals:r(ba).max(50).default([]),leaderboards:r(ga).max(50).default([]),images:r(ja).max(10).default([]),calendar:_e.optional(),runtimes:r(Xe).max(4).default([])}),fs=at.extend({releases:r(ia).max(k.quests).default([])}).refine(i=>i.engagement.length>0||i.trackers.length>0||i.pointLedgers.length>0||i.badges.length>0||i.offers.length>0||i.releases.length>0||i.leaderboards.length>0||i.referrals.length>0||i.images.length>0||i.types.length>0||i.collections.length>0||i.supportedInteractions!==void 0||i.calendar!==void 0,"No resources configured. Add engagement, trackers, quests, questTypes, badges, pointLedgers, offers, leaderboards, referrals, images, collections, supportedInteractions, or calendar to relay.json."),tt=a({code:e(),message:e(),integration:e().optional(),quests:r(e()).default([])}),K=a({id:t,engagement:r(pa).default([]),trackers:r(Ze).default([]),baseRevision:n().int().nonnegative(),badges:r(la).optional(),pointLedgers:r(Sa).default([]),offers:r(fa).default([]),releases:r(j),types:r(H),collections:r(E),supportedInteractions:r(w),referrals:r(va).default([]),leaderboards:r(za).default([]),images:r(B).default([]),calendar:a({timeZone:$e,effectiveAt:n().int().nullable()}).nullable().default(null),warnings:r(tt).optional()}),ys=a({id:t}).strict(),rt=K.extend({revision:n().int().positive()}),nt=h("kind",[a({kind:c("direct")}),a({kind:c("promotion"),deployment:t}),a({kind:c("rollback"),deployment:t})]),Ke={source:nt,createdAt:n().int().nonnegative(),createdBy:e().nullable()},et={submittedAt:n().int().nonnegative(),submittedBy:e().nullable()},Da=h("status",[K.extend({...Ke,status:c("preview")}),K.extend({...Ke,...et,status:c("pending")}),K.extend({...Ke,...et,status:c("rejected"),decidedAt:n().int().nonnegative(),decidedBy:e().nullable(),reason:e().trim().min(1).max(1e3)}),rt.extend({...Ke,status:c("published"),submittedAt:n().int().nonnegative().nullable(),submittedBy:e().nullable(),publishedAt:n().int().nonnegative(),publishedBy:e().nullable()})]),ks=s({cursor:p.optional(),limit:G.number().int().min(1).max(100).optional()}),ws=a({items:r(Da),published:r(Da).max(2),nextCursor:p.nullable()}),js=a({id:t}).strict(),it=a({id:t,reason:e().trim().min(1).max(1e3)}).strict(),Rs=it.omit({id:!0}),xs=a({actionId:e().uuid()}).strict(),ct=a({actionId:e().uuid(),id:t}).strict(),Ps=ct,qs=ct,As=Ge({get imageInspectionSchema(){return o(ye)},get imageComparisonSchema(){return o(ke)},get imageExtractionSchema(){return o(we)},get imageSightingsSchema(){return o(je)},get imageUploadsSchema(){return o(xe)},get publishedImageSchema(){return o(B)},get walletBalanceSchema(){return o(ee)}}),Cs={imageInspectionSchema:m(ye),imageComparisonSchema:m(ke),imageExtractionSchema:m(we),imageSightingsSchema:m(je),imageUploadsSchema:m(xe),publishedImageSchema:m(B),walletBalanceSchema:m(ee)},Is={attemptRejected:"attempt.rejected",entitlementGranted:"entitlement.granted",rewardDeliveryUpdated:"reward.delivery.updated",completionCreated:"completion.created",pointsAwarded:"points.awarded",reviewPending:"review.pending",rewardDeliveryFailed:"reward.delivery.failed",entitlementCollected:"entitlement.collected",referralQualified:"referral.qualified"},Ds=e().min(1).max(100),Oa=h("kind",[a({kind:c("completion"),attempt:t,generation:n().int().nonnegative()}),a({kind:c("points"),entry:t}),a({kind:c("group"),action:t}),a({kind:c("campaign"),action:t}),a({kind:c("publication"),revision:t}),a({kind:c("revocation"),action:t})]),Os=new Set(Oa.options.map(i=>i.shape.kind.value)),mt=u([Oa,Qa({kind:e().refine(i=>!Os.has(i))}).catchall(g())]),Es=a({id:t,status:L.shape.status,code:e().nullable()}),ot={id:t,quest:t,member:t,release:t,event:mt,state:l(["admitted","skipped"]),code:e().nullable(),reason:e().nullable(),window:l(["tracker","quest"]).optional(),revision:n().int().nonnegative(),createdAt:n().int().safe(),updatedAt:n().int().safe()},Qs=a({...ot,attempt:M(),linkedAttempt:M().optional()}),Ms=a({...ot,attempt:t,linkedAttempt:Es.nullable().optional()}).superRefine((i,z)=>{i.linkedAttempt!==null&&i.linkedAttempt!==void 0&&i.linkedAttempt.id!==i.attempt&&z.addIssue({code:"custom",path:["linkedAttempt","id"],message:"Linked attempt ID must match the legacy attempt ID"})}),We=u([Qs,Ms]),Ls=i=>i.linkedAttempt?.status==="rejected"&&i.linkedAttempt.code==="budget-exhausted",Us=s({quest:t.optional(),member:t.optional(),state:l(["admitted","skipped"]).optional(),code:e().max(100).optional(),cursor:p.optional()}),Bs=a({items:r(We),nextCursor:p.nullable()}),st=s({quest:t,outcomes:r(t).min(1).max(50)}),Ts=a({quest:t,release:t,token:t,items:r(a({outcome:We,code:e().nullable(),reason:e().nullable(),window:l(["tracker","quest"]).optional(),attempt:t.nullable(),wouldAdmit:f(),budgets:r(sa)})),rewards:r(ea),costs:r(a({budget:t,cost:u([n(),c("dynamic")])}))}),Hs=st.extend({actionId:t,token:t,reason:e().trim().min(1).max(1e3)}),Vs=a({items:r(We)}),Ks=s({member:t.optional(),cursor:p.optional()}),lt=a({id:t,member:t,event:mt,state:l(["pending","retrying","failed"]),attempts:n().int().nonnegative(),error:e().nullable(),createdAt:n().int().safe(),nextAttemptAt:n().int().safe()}),Ws=a({items:r(lt),nextCursor:p.nullable()}),Gs=s({actionId:t,id:t,reason:e().trim().min(1).max(1e3)}),Ns=Ge({get badgeSchema(){return o(I)},get memberBadgesSchema(){return o(ie)},get telegramAccountConnectionSchema(){return o(fe)},get accountConnectionSchema(){return o(Z)},get attemptSchema(){return o(L)},get authProviderSchema(){return o(F)},get campaignEnrollmentSchema(){return o(ae)},get collectionPassSchema(){return o(De)},get contentPerformancePageSchema(){return o(ne)},get contentQualificationPageSchema(){return o($)},get engagementBoundaryPageSchema(){return o(se)},get engagementPageSchema(){return o(oe)},get evidenceSchema(){return o(re)},get exchangeResultSchema(){return o(Ve)},get leaderboardDefinitionSchema(){return o(U)},get leaderboardHistoryPageSchema(){return o(ge)},get leaderboardPageSchema(){return o(de)},get leaderboardPlacementSchema(){return o(pe)},get linkedWalletSchema(){return o(J)},get memberProgressSchema(){return o(R)},get memberSummarySchema(){return o(He)},get offerSchema(){return o(D)},get ownProfileSchema(){return o(he)},get participantActivitySchema(){return o(qe)},get participantDeliveriesSchema(){return o(Me)},get participantEntitlementsSchema(){return o(Qe)},get participantSessionSchema(){return o(Te)},get pointBalancesSchema(){return o(ce)},get pointHistoryPageSchema(){return o(me)},get pointLedgerReferenceSchema(){return o(x)},get profileCompletionPageSchema(){return o(Se)},get profileReferralSchema(){return o(ue)},get profileSummarySchema(){return o(le)},get questEnrollmentSchema(){return o(Oe)},get questExperienceSchema(){return o(Ie)},get questOutcomePageSchema(){return o(Ee)},get questOutcomeSchema(){return o(V)},get redemptionSchema(){return o(O)},get referralDefinitionSchema(){return o(ze)},get referralHistorySchema(){return o(ve)},get referralSummarySchema(){return o(be)},get rewardDeliveriesSchema(){return o(Le)},get tieredRewardReferenceSchema(){return o(C)},get walletMessageChallengeSchema(){return o(X)},get walletSignInNetworksSchema(){return o(Y)}}),Fs={badgeSchema:m(I),memberBadgesSchema:m(ie),telegramAccountConnectionSchema:m(fe),accountConnectionSchema:m(Z),attemptSchema:m(L),authProviderSchema:m(F),campaignEnrollmentSchema:m(ae),collectionPassSchema:m(De),contentPerformancePageSchema:m(ne),contentQualificationPageSchema:m($),engagementBoundaryPageSchema:m(se),engagementPageSchema:m(oe),evidenceSchema:m(re),exchangeResultSchema:m(Ve),leaderboardDefinitionSchema:m(U),leaderboardHistoryPageSchema:m(ge),leaderboardPageSchema:m(de),leaderboardPlacementSchema:m(pe),linkedWalletSchema:m(J),memberProgressSchema:m(R),memberSummarySchema:m(He),offerSchema:m(D),ownProfileSchema:m(he),participantActivitySchema:m(qe),participantDeliveriesSchema:m(Me),participantEntitlementsSchema:m(Qe),participantSessionSchema:m(Te),pointBalancesSchema:m(ce),pointHistoryPageSchema:m(me),pointLedgerReferenceSchema:m(x),profileCompletionPageSchema:m(Se),profileReferralSchema:m(ue),profileSummarySchema:m(le),questEnrollmentSchema:m(Oe),questExperienceSchema:m(Ie),questOutcomePageSchema:m(Ee),questOutcomeSchema:m(V),redemptionSchema:m(O),referralDefinitionSchema:m(ze),referralHistorySchema:m(ve),referralSummarySchema:m(be),rewardDeliveriesSchema:m(Le),tieredRewardReferenceSchema:m(C),walletMessageChallengeSchema:m(X),walletSignInNetworksSchema:m(Y)},Zs=m(D),$s=S(D),_s=m(O),Xs=S(O),Js=S(U),Ys=Ce.extend({quests:S(Q)}),el=N(a({member:t,quests:S(Q),collections:S(Ys),entitlements:S(y).default({items:[],unsupportedCount:0})})),al=N(a({member:t,quests:S(R.shape.quests.element),entitlements:S(y)})),tl=N(a({revision:A.shape.revision,types:S(A.shape.types.element),collections:S(A.shape.collections.element),quests:S(A.shape.quests.element),drafts:S(A.shape.drafts.element),releases:S(j).default({items:[],unsupportedCount:0}),supportedInteractions:S(w)}));export{Bm as AVATAR_UPLOAD_LIMIT,bc as AttemptStatus,Oc as CompletionSourceKind,om as PointEntryKind,ls as QuestOutcomeState,vc as QuestSubmissionStatus,us as RewardDeliveryAction,Bn as WALLETS_PER_CHAIN,Z as accountConnectionSchema,Ht as accountRoleSchema,Ds as activityTypeSchema,Is as activityTypes,ji as addGroupMemberSchema,ns as allocateQuestSchema,is as allocatedQuestSchema,Mt as appIdentityKindSchema,lc as artifactSchema,L as attemptSchema,F as authProviderSchema,Ue as authScopeSchema,Hs as automaticCatchUpConfirmSchema,st as automaticCatchUpInputSchema,Ts as automaticCatchUpPreviewSchema,Vs as automaticCatchUpResultSchema,Oa as automaticEventSchema,Bs as automaticOutcomePageSchema,Us as automaticOutcomeQuerySchema,We as automaticOutcomeSchema,Ws as automaticSchedulingPageSchema,Ks as automaticSchedulingQuerySchema,Gs as automaticSchedulingRetrySchema,lt as automaticSchedulingSchema,hi as availabilityWindowSchema,xm as avatarProviderSchema,Am as avatarSeedSchema,Tm as avatarUploadTypes,ha as badgeArtifactSchema,Jc as badgeDeclarationSchema,tm as badgeMutationResultSchema,am as badgeMutationSchema,Xc as badgePropertiesSchema,Vi as badgeReward,Hi as badgeRewardSchema,I as badgeSchema,Mi as balanceAtLeast,Di as balancePrerequisiteSchema,hc as batchReleaseSchema,Cc as beginHandoverSchema,hn as beneficiaryRole,kn as budgetSchema,Kn as caip10,Nr as calendarPeriodSchema,Si as campaignDefinitionSchema,pi as campaignEnrollmentInputSchema,ae as campaignEnrollmentSchema,di as campaignViewSchema,zi as campaignWithdrawalInputSchema,Vr as canonicalTimeZone,ht as capabilityErrorCodes,St as capabilityFailureSchema,As as capabilityResponseSchemas,Cs as capabilityResponses,es as catalogDeploymentPreviewSchema,Aa as catalogDeploymentSchema,cs as collectionBeginSchema,Ca as collectionCodeSchema,De as collectionPassSchema,ms as collectionPreviewSchema,Fa as collectionResolveSchema,Ga as collectionSlotDeclarationSchema,Ae as collectionSlotSchema,Ce as collectionViewSchema,li as compatibleSettingKinds,Qi as completed,yn as completionKeySchema,fn as completionPolicySchema,Ii as completionPrerequisiteSchema,Qc as completionRecordSchema,Ec as completionSourceSchema,Pc as configurePickupSchema,Ic as confirmHandoverSchema,Kt as contentMetricNameSchema,Ar as contentMetricSchema,Cr as contentMetricsSchema,ne as contentPerformancePageSchema,Ir as contentPerformancePolicySchema,_c as contentPerformanceQuerySchema,$c as contentPerformanceSnapshotSchema,xr as contentQualificationDecisionSchema,$ as contentQualificationPageSchema,Pr as contentQualificationQuerySchema,qr as contentQualificationSchema,En as cosmosAddressSchema,In as cosmosChain,Cn as cosmosDenomSchema,An as cosmosNetworkSchema,Qr as counterAchievementSchema,Lr as counterContributionSchema,Dr as counterGoalSchema,Tr as counterHistoryQuerySchema,Ur as counterHistorySchema,Hr as counterModerationResultSchema,Br as counterModerationSchema,Er as counterPolicySchema,Mr as counterProgressSchema,Or as counterWindowSchema,Yc as createBadgeSchema,ki as createGroupSchema,nm as createPointLedgerSchema,Fc as createStockItemSchema,Gt as customContentSchema,Ft as customSourceSchema,ec as decisionSchema,Jr as defaultTriggerMode,Xi as deferPolicy,ui as defineCampaign,fi as defineGroup,Co as defineOffer,xs as deploymentActionSchema,ws as deploymentHistoryPageSchema,ks as deploymentHistoryQuerySchema,K as deploymentPreviewSchema,Da as deploymentRecordSchema,Rs as deploymentRejectionSchema,rt as deploymentResultSchema,nt as deploymentSourceSchema,tt as deploymentWarningSchema,gt as discordMemberInputSchema,bt as discordMemberSchema,kt as discordMessageDataSchema,zt as discordMessageInputSchema,vt as discordMessageSchema,wt as discordMessageTextDataSchema,ft as discordMessagesSourceSchema,jt as discordReactionDataSchema,yt as discordReactionsSourceSchema,xt as discordResourceSourceSchema,Rt as discordRewardSchema,Rn as discordServerSchema,Im as displayNameSchema,da as engagementArtifactSchema,se as engagementBoundaryPageSchema,hm as engagementBudgetSchema,vm as engagementChangePreviewInputSchema,ym as engagementChangePreviewSchema,fm as engagementChangeSchema,Sm as engagementDefinitionSchema,pa as engagementDeploymentEntrySchema,zm as engagementPageQuerySchema,oe as engagementPageSchema,pm as engagementPublishSchema,gm as engagementRuleSchema,km as engagementRuleVersionPageSchema,um as engagementScoreInputSchema,dm as engagementScoreSchema,bm as engagementSettlementSchema,wm as engagementVersionPageSchema,jm as engagementVersionQuerySchema,Dc as entitlementCorrectionSchema,qc as entitlementRecoverySchema,y as entitlementSchema,Ac as entitlementStateSchema,Uc as errorSchema,wn as evaluatorIntegrationProviderSchema,Yi as evaluatorProgressSchema,mc as evaluatorProtocol,oc as evaluatorProtocolSchema,wc as eventSchema,re as evidenceSchema,On as evmAddressSchema,Gn as evmChainIdSchema,Ve as exchangeResultSchema,vs as exchangeSchema,Ci as groupMemberPageSchema,Ai as groupMemberSchema,xi as groupPageQuerySchema,qi as groupPageSchema,Oi as groupPrerequisiteSchema,Wi as groupReward,Ki as groupRewardSchema,t as identifier,Lt as identityKindSchema,ja as imageAssetArtifactSchema,ke as imageComparisonSchema,we as imageExtractionSchema,Ta as imageFieldSchema,Ha as imageFieldsSchema,ye as imageInspectionSchema,P as imageReferenceSchema,$o as imageRequestSchema,je as imageSightingsSchema,_o as imageUploadRequestSchema,xe as imageUploadsSchema,Li as inGroup,jn as integrationProviderSchema,Gi as integrationRewardSchema,w as interactionSchema,Ut as isAppIdentityKind,Wn as isEvmChainId,er as isKnownTrackerSource,Ls as isRetryableAutomaticOutcome,Qt as knownIdentityKinds,Ka as knownRelayEventSchema,Ia as knownRewardDeliverySchema,ga as leaderboardArtifactSchema,Nm as leaderboardAuthoringSchema,Gm as leaderboardDefinitionResponseSchema,U as leaderboardDefinitionSchema,no as leaderboardExclusionGroupBindingSchema,ro as leaderboardExclusionGroupSchema,to as leaderboardExclusionSchema,io as leaderboardGroupSchema,ge as leaderboardHistoryPageSchema,_m as leaderboardHistoryQuerySchema,Js as leaderboardListResponseSchema,de as leaderboardPageSchema,pe as leaderboardPlacementSchema,za as leaderboardPreviewSchema,Vm as leaderboardPrizeRewardSchema,Km as leaderboardPrizeSchema,Zm as leaderboardQuerySchema,$m as leaderboardRowSchema,lo as leaderboardSettlementApprovalSchema,Wm as leaderboardSettlementPolicySchema,oo as leaderboardSettlementRowSchema,so as leaderboardSettlementSchema,co as leaderboardSettlementStatusSchema,mo as leaderboardSettlementSummarySchema,Hm as leaderboardWindowSchema,J as linkedWalletSchema,la as managedBadgeSchema,Pi as managedGroupSchema,Ym as managedPointHistoryPageSchema,im as managedPointLedgerSchema,Um as managedProfileSchema,pt as managementStateQuerySchema,te as mediaUrlSchema,em as memberBadgeSchema,ie as memberBadgesSchema,gi as memberCampaignEnrollmentInputSchema,bi as memberCampaignWithdrawalInputSchema,os as memberEnrollmentInputSchema,Tt as memberIdentitySchema,Kc as memberListSchema,Nc as memberPageSchema,al as memberProgressResponseSchema,R as memberProgressSchema,He as memberSummarySchema,Ei as missingPrerequisiteSchema,si as missingResourceSettings,ya as offerArtifactSchema,wo as offerAuthoringSchema,jo as offerAvailabilitySchema,qo as offerControlSchema,fa as offerDefinitionSchema,ko as offerLimitSchema,$s as offerListResponseSchema,yo as offerPriceSchema,Zs as offerResponseSchema,D as offerSchema,Bt as openIdentityKindSchema,he as ownProfileSchema,p as pageCursorSchema,ut as pageQuerySchema,dt as paginate,oi as parseSettings,Jo as participantActivityQuerySchema,qe as participantActivitySchema,Me as participantDeliveriesSchema,$a as participantDeliverySchema,Qe as participantEntitlementsSchema,Ya as participantPrincipalSchema,Ns as participantResponseSchemas,Fs as participantResponses,Te as participantSessionSchema,Zi as photoResultSchema,jc as pickupAllocationSchema,oa as pickupAvailabilitySchema,xc as pickupCatalogSchema,Rc as pickupPolicySchema,ma as pickupSelectionSchema,mm as pointBalanceSchema,ce as pointBalancesSchema,sm as pointEntrySchema,me as pointHistoryPageSchema,lm as pointHistoryQuerySchema,ua as pointLedgerArtifactSchema,cm as pointLedgerDeclarationSchema,rm as pointLedgerPropertiesSchema,x as pointLedgerReferenceSchema,Sa as pointLedgerSchema,ao as pointsAccountSchema,Jm as pointsEntrySchema,Xm as pointsMutationSchema,eo as pointsResultSchema,Ui as pointsRewardSchema,Ye as prerequisiteSchema,Be as principalSchema,Cm as profileAvatarSchema,Se as profileCompletionPageSchema,Om as profileCompletionQuerySchema,Em as profileCompletionSchema,Pm as profileDefaultProviderSchema,qm as profileDefaultsSchema,Lm as profileModerationSchema,ue as profileReferralSchema,Mm as profileSettingsInputSchema,Qm as profileSettingsSchema,le as profileSummarySchema,Dm as profileUpdateSchema,Rm as profileVisibilitySchema,_e as projectCalendarDeclarationSchema,Zr as projectCalendarInputSchema,Fr as projectCalendarSchema,at as projectCatalogArtifactSchema,fs as projectDeploymentSchema,yi as projectGroupKey,vi as projectGroupSchema,xn as projectIntegrationSchema,Ps as promoteDeploymentSchema,ys as publishDeploymentSchema,ts as publishQuestDraftSchema,B as publishedImageSchema,Fm as publishedLeaderboardSchema,va as publishedReferralSchema,j as publishedReleaseSchema,Ze as publishedTrackerSchema,Mc as questAvailabilitySchema,sa as questBudgetViewSchema,tl as questCatalogResponseSchema,A as questCatalogSchema,ss as questClaimInputSchema,E as questCollectionSchema,sc as questDescriptionSchema,Pa as questDraftChangesSchema,qa as questDraftSchema,Za as questEnrollmentInputSchema,Oe as questEnrollmentSchema,el as questExperienceResponseSchema,Ie as questExperienceSchema,xa as questInstanceSchema,Yo as questInteraction,Ee as questOutcomePageSchema,hs as questOutcomeQuerySchema,V as questOutcomeSchema,na as questPresentationContentSchema,nc as questPresentationRequirementSchema,ic as questPresentationSchema,cc as questProfileSchema,rs as questPublicationPreviewSchema,Na as questRewardViewSchema,k as questScaleLimits,Sc as questSettingsInputSchema,tc as questStepActionSchema,rc as questStepSchema,kc as questSubmissionResultSchema,fc as questSubmissionSchema,yc as questSubmissionUpdateSchema,H as questTypeVersionSchema,Q as questViewSchema,dc as quizAnswersSchema,Yn as quizChoiceSchema,ti as quizContentSchema,pc as quizEvidenceSchema,ei as quizQuestionSchema,ai as quizQuestionsSchema,Ro as redeemOfferSchema,Ao as redemptionCancellationSchema,Xs as redemptionListResponseSchema,Po as redemptionPageSchema,xo as redemptionQuerySchema,_s as redemptionResponseSchema,O as redemptionSchema,So as referralAcceptSchema,vo as referralAccountSchema,ba as referralArtifactSchema,ho as referralAuthoringSchema,zo as referralControlSchema,ze as referralDefinitionSchema,ve as referralHistorySchema,fo as referralManagementSchema,po as referralQualificationSchema,bo as referralRelationshipSchema,go as referralRewardResolutionSchema,be as referralSummarySchema,uo as referralSuspensionSchema,Wr as refuseStreakTimeZone,Gr as refuseWindowTimeZone,it as rejectDeploymentSchema,Wa as relayEventSchema,ia as releaseSchema,Ri as removeGroupMemberSchema,Hc as reservationSchema,ii as resourceOptionsSchema,ni as resourceRequestSchema,ri as resourceSourceSchema,S as responseListSchema,m as responseSchema,d as responseShape,aa as retryCooldownMsSchema,Ji as retryCooldownPolicy,Wc as reviewItemSchema,Vc as reviewListSchema,ta as reviewModeSchema,Gc as reviewPageSchema,ac as rewardBundleSchema,Le as rewardDeliveriesSchema,gs as rewardDeliveryQuerySchema,Xa as rewardDeliverySchema,Ni as rewardKey,ea as rewardSchema,_a as roleReconciliationSchema,qs as rollbackDeploymentSchema,as as saveQuestDraftSchema,vn as sdkRuntimeDigest,gn as sdkRuntimeLimits,zn as sdkRuntimeModulePathSchema,bn as sdkRuntimeModulesSchema,_ as sdkRuntimeReferenceSchema,Xe as sdkRuntimeSchema,bs as sessionMember,Ja as sessionSchema,ci as settingFieldSchema,mi as settingsFieldsSchema,Je as settingsValuesSchema,Lc as snapshotSchema,Pn as solanaAddressSchema,Dn as solanaMainnet,Xt as sourceContent,_t as sourceIdentities,Bc as staffDecisionSchema,Zc as stockItemSchema,Tc as stockSchema,ca as storedQuestDescriptionSchema,ra as storedReviewModeSchema,$r as streakPolicySchema,_r as streakProgressSchema,gc as submissionEvidenceSchema,js as submitDeploymentSchema,zc as submitSchema,fe as telegramAccountConnectionSchema,Lo as telegramChatConnectionSchema,Eo as telegramChatIdSchema,Bo as telegramChatMemberSchema,Qo as telegramChatSchema,Mo as telegramChatsSchema,Do as telegramInitDataSchema,Uo as telegramMemberInputSchema,Oo as telegramMiniAppSignInSchema,Ho as telegramReactionDataSchema,To as telegramReactionsNamespace,Io as telegramSignInMethodsSchema,uc as templateSchema,Zn as textEvidenceSchema,Nn as textOptionsSchema,_i as textResultSchema,$i as textReviewInputSchema,Ti as tierRewardSchema,Bi as tieredRewardDefinitionSchema,C as tieredRewardReferenceSchema,$e as timeZoneNameSchema,Kr as timeZoneSchema,mr as trackerAccountSchema,Fe as trackerArtifactSchema,Sn as trackerAttributionSchema,Yr as trackerBoundSchema,en as trackerConditionSchema,It as trackerContentQuerySchema,Dt as trackerContentReadSchema,Et as trackerContentSchema,dn as trackerContentStageSchema,cr as trackerControlSchema,nr as trackerCreateSchema,Pt as trackerDataMaxBranches,qt as trackerDataMaxEntries,At as trackerDataSchemaSchema,ar as trackerDefinitionResponseSchema,Jt as trackerDefinitionSchema,Ot as trackerEvidenceSchema,Sr as trackerIngestResultSchema,hr as trackerIngestSchema,br as trackerOutcomePageSchema,zr as trackerOutcomeQuerySchema,vr as trackerOutcomeRetrySchema,dr as trackerOutcomeSchema,yr as trackerPageSchema,jr as trackerPreviewInputSchema,wr as trackerPreviewLimits,Rr as trackerPreviewSchema,rr as trackerPropertiesSchema,fr as trackerQuerySchema,sr as trackerRecordAccountSchema,or as trackerRecordInputSchema,lr as trackerRecordSchema,ur as trackerSkipCodes,$t as trackerSourceKinds,Yt as trackerSourceResponseSchema,Zt as trackerSourceSchema,tr as trackerStatusSchema,kr as trackerSummarySchema,pn as trackerTriggerContextSchema,Xr as trackerTriggerModeSchema,gr as trackerTriggerOutcomePageSchema,pr as trackerTriggerOutcomeQuerySchema,on as trackerTriggerPolicySchema,un as trackerTriggerRecordSchema,ir as trackerUpdateSchema,an as trackerWhereSchema,ln as triggerAdmission,nn as triggerEnrollmentSchema,mn as triggerHistoricalSchema,sn as triggerMode,Fi as triggerSchema,cn as triggerSinceSchema,wi as updateGroupSchema,$n as urlEvidenceSchema,Fn as urlOptionsSchema,Xn as validateSubmissionValue,_n as valueEvidenceSchema,Un as walletAddressInput,Qn as walletAddressInputSchema,ee as walletBalanceSchema,qn as walletChainSchema,X as walletMessageChallengeSchema,Tn as walletSignInFamilies,Vn as walletSignInNetwork,Hn as walletSignInNetworkSchema,Y as walletSignInNetworksSchema,Mn as walletSignatureSchema,Ln as walletUnlinkInputSchema,tn as whereConditions,rn as whereSettings,Vt as xAccountRoles,Vo as xConnectionSchema,Ct as xContentBodySchema,Wt as xContentMetrics,b as xIdSchema,Jn as xPostId,No as xPostSchema,Ko as xProfileSchema,Fo as xRequestSchema,Nt as xSearchSourceSchema,Ne as xTweetSchema,Wo as xUserLookupInputSchema,Go as xUserSchema,Ba as xUsernameSchema};