@permaweb/libs 0.0.36 → 0.0.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
- var Be=Object.create;var te=Object.defineProperty;var Me=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Qe=Object.getPrototypeOf,Ue=Object.prototype.hasOwnProperty;var ke=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ze=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Oe(t))!Ue.call(e,o)&&o!==n&&te(e,o,{get:()=>t[o],enumerable:!(r=Me(t,o))||r.enumerable});return e};var l=(e,t,n)=>(n=e!=null?Be(Qe(e)):{},ze(t||!e||!e.__esModule?te(n,"default",{value:e,enumerable:!0}):n,e));var i=ke((ut,ae)=>{var d=ae.exports={},w,v;function V(){throw new Error("setTimeout has not been defined")}function H(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?w=setTimeout:w=V}catch{w=V}try{typeof clearTimeout=="function"?v=clearTimeout:v=H}catch{v=H}})();function ne(e){if(w===setTimeout)return setTimeout(e,0);if((w===V||!w)&&setTimeout)return w=setTimeout,setTimeout(e,0);try{return w(e,0)}catch{try{return w.call(null,e,0)}catch{return w.call(this,e,0)}}}function Ze(e){if(v===clearTimeout)return clearTimeout(e);if((v===H||!v)&&clearTimeout)return v=clearTimeout,clearTimeout(e);try{return v(e)}catch{try{return v.call(null,e)}catch{return v.call(this,e)}}}var C=[],R=!1,b,O=-1;function Fe(){!R||!b||(R=!1,b.length?C=b.concat(C):O=-1,C.length&&re())}function re(){if(!R){var e=ne(Fe);R=!0;for(var t=C.length;t;){for(b=C,C=[];++O<t;)b&&b[O].run();O=-1,t=C.length}b=null,R=!1,Ze(e)}}d.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];C.push(new oe(e,t)),C.length===1&&!R&&ne(re)};function oe(e,t){this.fun=e,this.array=t}oe.prototype.run=function(){this.fun.apply(null,this.array)};d.title="browser";d.browser=!0;d.env={};d.argv=[];d.version="";d.versions={};function D(){}d.on=D;d.addListener=D;d.once=D;d.off=D;d.removeListener=D;d.removeAllListeners=D;d.emit=D;d.prependListener=D;d.prependOnceListener=D;d.listeners=function(e){return[]};d.binding=function(e){throw new Error("process.binding is not supported")};d.cwd=function(){return"/"};d.chdir=function(e){throw new Error("process.chdir is not supported")};d.umask=function(){return 0}});var Gn=l(i(),1);var Wt=l(i(),1);var Et=l(i(),1);var dt=l(i(),1),g={module:"URgYpPQzvxxfYQtjrIQ116bl3YBfcImo3JEnNo8Hlrk",scheduler:"_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA",mu:"fcoN_xJeisVsPXA-trzVAuIiqO3ydLQxM-L4XbrQKzY",src:{asset:"jm8OfYb4PL8-AHvx3k0csQUWDpR24bh6l8uNCoWueHA",collection:"flkCYx4lJtOtsVFyUZLN-AKpkObNoTMYu4GfUTzNoGE",collectionActivity:"k8K8WIJb5kXOVvZRFXF5GIZW-7b2NtaTOd6G-E5MF0k",profile:"WBhJpPafkykqZZgTr7TAsz48RKG4vbOEAH4rZ3JxIQ8",zone:"EQxcaL4yo_tLz7emxBPewWs98tmxJ3z8G56CfcpH3aA"},collectionRegistry:"zwKi27GuKS3GOlwL3EhNGH02SJDDAO5Uy43ZJwomhZ4",profileRegistry:"SNy4m-DrqxWl01YqGM4sxI8qCni-58re8uuJLvZPypY"};var se={"application/json":{type:"application/json",serialize:e=>JSON.stringify(e)}},f={arweave:"arweave.net",goldsky:"arweave-search.goldsky.com"};var c={keys:{access:"Access-Fee",ans110:{title:"Title",description:"Description",topic:"Topic:*",type:"Type",implements:"Implements",license:"License"},assetType:"Asset-Type",banner:"Banner",bootloader:"Bootloader",collectionId:"Collection-Id",collectionName:"Collection-Name",commericalUse:"Commercial-Use",contentType:"Content-Type",creator:"Creator",currency:"Currency",dataModelTraining:"Data-Model-Training",dataProtocol:"Data-Protocol",dateCreated:"Date-Created",derivations:"Derivations",description:"Description",displayName:"Display-Name",handle:"Handle",implements:"Implements",initialOwner:"Initial-Owner",license:"License",name:"Name",onBoot:"On-Boot",paymentAddress:"Payment-Address",paymentMode:"Payment-Mode",profileCreator:"Profile-Creator",profileIndex:"Profile-Index",protocolName:"Protocol-Name",renderWith:"Render-With",thumbnail:"Thumbnail",title:"Title",topic:"Topic",type:"Type",zoneType:"Zone-Type"},values:{document:"Document",user:"User",zone:"Permaweb-Zone"}},ie={node1:"https://up.arweave.net",node2:"https://turbo.ardrive.io",batchSize:1,chunkSize:75e5,dispatchUploadSize:100*1024};var wt=l(i(),1);var ft=l(i(),1);function h(e){return e?/^[a-z0-9_-]{43}$/i.test(e):!1}function Q(e,t){for(let n=0;n<e.length;n++)if(e[n]&&e[n].name===t)return e[n].value;return null}function ce(e){let t=e.match(/^data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+);base64,/);return t?t[1]:null}function le(e){return e.split(",")[1]}function pe(e){let t;if(Buffer.isBuffer(e))t=e.length;else if(typeof e=="string")t=Buffer.byteLength(e,"utf-8");else throw new Error("Input must be a string or a Buffer");return t}function j(e){let t;return t=e.replace(/\[|\]/g,""),`[[${t}]]`}function G(e){let t;return t=e.replace(/\[|\]/g,""),t}var A=(...e)=>{console.log("[@permaweb/libs]",...e)};function qe(e){return e.replace(/^[a-z]/,t=>t.toUpperCase())}function L(e){return Array.isArray(e)?e.map(L):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let o=qe(n);return t[o]=h(r)?r:L(r),t},{}):e}function Je(e){return e.charAt(0).toLowerCase()+e.slice(1)}function S(e){return Array.isArray(e)?e.map(S):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let o=h(n)||n.includes("-")?n:Je(n);return t[o]=h(r)?r:S(r),t},{}):e}function m(e,t){let n=e.charAt(0).toUpperCase()+e.slice(1);return{name:`${c.keys.bootloader}-${n}`,value:t}}var Ve="https://arweave.net";function N(e){return`${Ve}/${e}`}var xt=l(i(),1);var Y={p1:"P1",end:"END"},_={default:100};async function T(e){let t=e.paginator?e.paginator:_.default,n=[],r=0,o=null;if(e.ids&&!e.ids.length)return{data:n,count:r,nextCursor:o,previousCursor:null};try{let a=je(e),s=await Ye({gateway:e.gateway??f.goldsky,query:He(a)});return s?.data?.transactions?.edges?.length?(n=[...s.data.transactions.edges],r=s.data.transactions.count??0,n.length<t||!s.data.transactions.pageInfo.hasNextPage?o=Y.end:o=n[n.length-1].cursor,{data:n,count:r,nextCursor:o,previousCursor:null}):{data:n,count:r,nextCursor:o,previousCursor:null}}catch(a){return console.error(a),{data:n,count:r,nextCursor:o,previousCursor:null}}}async function ue(e,t){let n=1,r=await T(e);if(r&&r.data.length){let o=r.data;for(t&&t(`Count: ${r.count}`),t&&t(`Pages to fetch: ${Math.ceil(r.count/(e.paginator??_.default))}`),t&&t(`Page ${n} fetched`);r.nextCursor&&r.nextCursor!==Y.end;)n+=1,t&&t(`Fetching page ${n}...`),r=await T({...e,cursor:r.nextCursor}),r&&r.data.length&&(o=o.concat(r.data));return t&&t("All pages fetched!"),o}else t&&t("No data found");return null}function He(e){let t={query:`query { ${e} }`};return JSON.stringify(t)}function je(e){let t=e.paginator?e.paginator:_.default,n=e.ids?JSON.stringify(e.ids):null,r=null;e.minBlock!==void 0&&e.minBlock!==null&&(r={},r.min=e.minBlock);let o=r?JSON.stringify(r).replace(/"([^"]+)":/g,"$1:"):null,a=e.tags?JSON.stringify(e.tags).replace(/"(name)":/g,"$1:").replace(/"(values)":/g,"$1:").replace(/"match"/g,"match").replace(/"FUZZY_OR"/g,"FUZZY_OR"):null,s=e.owners?JSON.stringify(e.owners):null,p=e.recipients?JSON.stringify(e.recipients):null,u=e.cursor&&e.cursor!==Y.end?`"${e.cursor}"`:null,y="";if(e.sort)switch(y+="sort: ",e.sort){case"ascending":y+="HEIGHT_ASC";break;case"descending":y+="HEIGHT_DESC";break}let x=`first: ${t}`,B="",M="data { size type } owner { address } block { height timestamp }",ee="";switch(e.gateway??f.goldsky){case f.arweave:break;case f.goldsky:u||(B="count"),p&&(ee=`recipients: ${p}`),M+=" recipient";break}let J=`
1
+ var Oe=Object.create;var re=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Ue=Object.getOwnPropertyNames;var Qe=Object.getPrototypeOf,ke=Object.prototype.hasOwnProperty;var Ze=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ve=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ue(t))!ke.call(e,o)&&o!==n&&re(e,o,{get:()=>t[o],enumerable:!(r=ze(t,o))||r.enumerable});return e};var l=(e,t,n)=>(n=e!=null?Oe(Qe(e)):{},Ve(t||!e||!e.__esModule?re(n,"default",{value:e,enumerable:!0}):n,e));var i=Ze((ut,ie)=>{var d=ie.exports={},w,v;function j(){throw new Error("setTimeout has not been defined")}function Y(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?w=setTimeout:w=j}catch{w=j}try{typeof clearTimeout=="function"?v=clearTimeout:v=Y}catch{v=Y}})();function oe(e){if(w===setTimeout)return setTimeout(e,0);if((w===j||!w)&&setTimeout)return w=setTimeout,setTimeout(e,0);try{return w(e,0)}catch{try{return w.call(null,e,0)}catch{return w.call(this,e,0)}}}function Fe(e){if(v===clearTimeout)return clearTimeout(e);if((v===Y||!v)&&clearTimeout)return v=clearTimeout,clearTimeout(e);try{return v(e)}catch{try{return v.call(null,e)}catch{return v.call(this,e)}}}var x=[],R=!1,b,z=-1;function qe(){!R||!b||(R=!1,b.length?x=b.concat(x):z=-1,x.length&&ae())}function ae(){if(!R){var e=oe(qe);R=!0;for(var t=x.length;t;){for(b=x,x=[];++z<t;)b&&b[z].run();z=-1,t=x.length}b=null,R=!1,Fe(e)}}d.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];x.push(new se(e,t)),x.length===1&&!R&&oe(ae)};function se(e,t){this.fun=e,this.array=t}se.prototype.run=function(){this.fun.apply(null,this.array)};d.title="browser";d.browser=!0;d.env={};d.argv=[];d.version="";d.versions={};function I(){}d.on=I;d.addListener=I;d.once=I;d.off=I;d.removeListener=I;d.removeAllListeners=I;d.emit=I;d.prependListener=I;d.prependOnceListener=I;d.listeners=function(e){return[]};d.binding=function(e){throw new Error("process.binding is not supported")};d.cwd=function(){return"/"};d.chdir=function(e){throw new Error("process.chdir is not supported")};d.umask=function(){return 0}});var Gn=l(i(),1);var Wt=l(i(),1);var Pt=l(i(),1);var dt=l(i(),1),g={module:"URgYpPQzvxxfYQtjrIQ116bl3YBfcImo3JEnNo8Hlrk",scheduler:"_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA",mu:"fcoN_xJeisVsPXA-trzVAuIiqO3ydLQxM-L4XbrQKzY",src:{asset:"jm8OfYb4PL8-AHvx3k0csQUWDpR24bh6l8uNCoWueHA",collection:"flkCYx4lJtOtsVFyUZLN-AKpkObNoTMYu4GfUTzNoGE",collectionActivity:"k8K8WIJb5kXOVvZRFXF5GIZW-7b2NtaTOd6G-E5MF0k",zone:{id:"fAmxq5HS8V3ijkgTWHRcXtXzU0RPzKK9fmeVi1UwIs0",version:"0.0.2"}},collectionRegistry:"zwKi27GuKS3GOlwL3EhNGH02SJDDAO5Uy43ZJwomhZ4",profileRegistry:"SNy4m-DrqxWl01YqGM4sxI8qCni-58re8uuJLvZPypY"},ce={defaultRouter:"https://router-1.forward.computer"},le={"application/json":{type:"application/json",serialize:e=>JSON.stringify(e)}},f={arweave:"arweave.net",goldsky:"arweave-search.goldsky.com"};var c={keys:{access:"Access-Fee",ans110:{title:"Title",description:"Description",topic:"Topic:*",type:"Type",implements:"Implements",license:"License"},assetType:"Asset-Type",banner:"Banner",bootloader:"Bootloader",collectionId:"Collection-Id",collectionName:"Collection-Name",commericalUse:"Commercial-Use",contentType:"Content-Type",creator:"Creator",currency:"Currency",dataModelTraining:"Data-Model-Training",dataProtocol:"Data-Protocol",dateCreated:"Date-Created",derivations:"Derivations",description:"Description",displayName:"Display-Name",handle:"Handle",implements:"Implements",initialOwner:"Initial-Owner",license:"License",name:"Name",onBoot:"On-Boot",paymentAddress:"Payment-Address",paymentMode:"Payment-Mode",profileCreator:"Profile-Creator",profileIndex:"Profile-Index",protocolName:"Protocol-Name",renderWith:"Render-With",thumbnail:"Thumbnail",title:"Title",topic:"Topic",type:"Type",zoneType:"Zone-Type"},values:{document:"Document",user:"User",zone:"Permaweb-Zone"}},pe={node1:"https://up.arweave.net",node2:"https://turbo.ardrive.io",batchSize:1,chunkSize:75e5,dispatchUploadSize:100*1024};var wt=l(i(),1);var ft=l(i(),1);function T(e){return e?/^[a-z0-9_-]{43}$/i.test(e):!1}function U(e,t){for(let n=0;n<e.length;n++)if(e[n]&&e[n].name===t)return e[n].value;return null}function ue(e){let t=e.match(/^data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+);base64,/);return t?t[1]:null}function ye(e){return e.split(",")[1]}function de(e){let t;if(Buffer.isBuffer(e))t=e.length;else if(typeof e=="string")t=Buffer.byteLength(e,"utf-8");else throw new Error("Input must be a string or a Buffer");return t}function _(e){let t;return t=e.replace(/\[|\]/g,""),`[[${t}]]`}function $(e){let t;return t=e.replace(/\[|\]/g,""),t}var S=(...e)=>{console.log("[@permaweb/libs]",...e)};function He(e){return e.replace(/^[a-z]/,t=>t.toUpperCase())}function N(e){return Array.isArray(e)?e.map(N):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let o=He(n);return t[o]=T(r)?r:N(r),t},{}):e}function Je(e){return e.charAt(0).toLowerCase()+e.slice(1)}function C(e){return Array.isArray(e)?e.map(C):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let o=T(n)||n.includes("-")?n:Je(n);return t[o]=T(r)?r:C(r),t},{}):e}function m(e,t){let n=e.charAt(0).toUpperCase()+e.slice(1);return{name:`${c.keys.bootloader}-${n}`,value:t}}var je="https://arweave.net";function L(e){return`${je}/${e}`}var xt=l(i(),1);var K={p1:"P1",end:"END"},X={default:100};async function h(e){let t=e.paginator?e.paginator:X.default,n=[],r=0,o=null;if(e.ids&&!e.ids.length)return{data:n,count:r,nextCursor:o,previousCursor:null};try{let a=_e(e),s=await Ke({gateway:e.gateway??f.goldsky,query:Ye(a)});return s?.data?.transactions?.edges?.length?(n=[...s.data.transactions.edges],r=s.data.transactions.count??0,n.length<t||!s.data.transactions.pageInfo.hasNextPage?o=K.end:o=n[n.length-1].cursor,{data:n,count:r,nextCursor:o,previousCursor:null}):{data:n,count:r,nextCursor:o,previousCursor:null}}catch(a){return console.error(a),{data:n,count:r,nextCursor:o,previousCursor:null}}}async function ge(e,t){let n=1,r=await h(e);if(r&&r.data.length){let o=r.data;for(t&&t(`Count: ${r.count}`),t&&t(`Pages to fetch: ${Math.ceil(r.count/(e.paginator??X.default))}`),t&&t(`Page ${n} fetched`);r.nextCursor&&r.nextCursor!==K.end;)n+=1,t&&t(`Fetching page ${n}...`),r=await h({...e,cursor:r.nextCursor}),r&&r.data.length&&(o=o.concat(r.data));return t&&t("All pages fetched!"),o}else t&&t("No data found");return null}function Ye(e){let t={query:`query { ${e} }`};return JSON.stringify(t)}function _e(e){let t=e.paginator?e.paginator:X.default,n=e.ids?JSON.stringify(e.ids):null,r=null;e.minBlock!==void 0&&e.minBlock!==null&&(r={},r.min=e.minBlock);let o=r?JSON.stringify(r).replace(/"([^"]+)":/g,"$1:"):null,a=e.tags?JSON.stringify(e.tags).replace(/"(name)":/g,"$1:").replace(/"(values)":/g,"$1:").replace(/"match"/g,"match").replace(/"FUZZY_OR"/g,"FUZZY_OR"):null,s=e.owners?JSON.stringify(e.owners):null,p=e.recipients?JSON.stringify(e.recipients):null,u=e.cursor&&e.cursor!==K.end?`"${e.cursor}"`:null,y="";if(e.sort)switch(y+="sort: ",e.sort){case"ascending":y+="HEIGHT_ASC";break;case"descending":y+="HEIGHT_DESC";break}let A=`first: ${t}`,B="",O="data { size type } owner { address } block { height timestamp }",ne="";switch(e.gateway??f.goldsky){case f.arweave:break;case f.goldsky:u||(B="count"),p&&(ne=`recipients: ${p}`),O+=" recipient";break}let J=`
2
2
  transactions(
3
3
  ids: ${n},
4
4
  tags: ${a},
5
- ${x}
5
+ ${A}
6
6
  owners: ${s},
7
- ${ee},
7
+ ${ne},
8
8
  block: ${o},
9
9
  after: ${u},
10
10
  ${y}
@@ -21,8 +21,8 @@ var Be=Object.create;var te=Object.defineProperty;var Me=Object.getOwnPropertyDe
21
21
  name
22
22
  value
23
23
  }
24
- ${M}
24
+ ${O}
25
25
  }
26
26
  }
27
- }`;return e.queryKey&&(J=`${e.queryKey}: ${J}`),J}async function Ye(e){try{return await(await fetch(`https://${e.gateway}/graphql`,{method:"POST",headers:{"Content-Type":"application/json"},body:e.query})).json()}catch(t){throw t}}var _e=f.goldsky,Ke=100;async function ye(e,t){let n=[{name:"Authority",value:g.mu}];t.tags&&t.tags.length>0&&t.tags.forEach(r=>n.push(r));try{let r=await e.ao.spawn({module:t.module,scheduler:t.scheduler,signer:e.signer,tags:n,data:t.data});return A(`Process ID: ${r}`),r}catch(r){throw console.log(r),new Error(r.message??"Error spawning process")}}function de(e){return async t=>await I(e,t)}async function I(e,t){try{let n=[{name:"Action",value:t.action}];t.tags&&n.push(...t.tags);let r=t.useRawData?t.data:JSON.stringify(t.data);return await e.ao.message({process:t.processId,signer:e.signer,tags:n,data:r})}catch(n){throw new Error(n)}}async function U(e,t){try{return console.log("State not found, dryrunning..."),await $(e,{processId:t.processId,action:t.fallbackAction})}catch(n){throw new Error(n.message??"Error reading process from HyperBEAM")}}function ge(e){return async t=>await $(e,t)}async function $(e,t){try{let n=[{name:"Action",value:t.action}];t.tags&&n.push(...t.tags);let r;if(typeof t.data=="object")r=JSON.stringify(t.data||{});else if(typeof t.data=="string"){try{JSON.parse(t.data)}catch(a){throw console.error(a),new Error("Invalid JSON data")}r=t.data}let o=await e.ao.dryrun({process:t.processId,tags:n,data:r});if(o.Messages&&o.Messages.length){if(o.Messages[0].Data)return JSON.parse(o.Messages[0].Data);if(o.Messages[0].Tags)return o.Messages[0].Tags.reduce((a,s)=>(a[s.name]=s.value,a),{})}}catch(n){throw new Error(n.message??"Error dryrunning process")}}async function Xe(e,t){try{let{Messages:n}=await e.ao.result({message:t.messageId,process:t.processId});if(n&&n.length){let r={};return n.forEach(o=>{let a=Q(o.Tags,"Action")||t.action,s=null,p=o.Data;if(p)try{s=JSON.parse(p)}catch{s=p}let u=Q(o.Tags,"Status"),y=Q(o.Tags,"Message");r[a]={id:t.messageId,status:u,message:y,data:s}}),r}else return null}catch(n){console.error(n)}}async function me(e,t){let n=null;if(t.evalSrc?n=t.evalSrc:t.evalTxId&&(n=await et(t.evalTxId)),n)try{let r=await I(e,{processId:t.processId,action:"Eval",data:n,tags:t.evalTags||null,useRawData:!0});return A(`Eval: ${r}`),await Xe(e,{processId:t.processId,messageId:r,action:"Eval"})}catch(r){throw new Error(r.message??"Error sending process eval")}return null}function fe(e){return async(t,n)=>{try{let r={module:t.module||g.module,scheduler:t.scheduler||g.scheduler};t.data&&(r.data=t.data),t.tags&&(r.tags=t.tags),n&&n("Spawning process...");let o=await ye(e,r);if(t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await me(e,{processId:o,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(a){throw new Error(a.message??"Error creating process")}}return o}catch(r){throw new Error(r.message??"Error creating process")}}}async function P(e,t,n){try{let r={module:t.module||g.module,scheduler:t.scheduler||g.scheduler};t.data&&(r.data=t.data),t.tags&&(r.tags=t.tags),n&&n("Spawning process...");let o=await ye(e,r);if(t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await me(e,{processId:o,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(a){throw new Error(a.message??"Error creating process")}}return o}catch(r){throw new Error(r.message??"Error creating process")}}async function et(e){try{return await(await fetch(N(e))).text()}catch(t){throw new Error(t)}}async function Te(e){let t=0,n=e.noRetryLimit?1/0:Ke;for(;t<n;){await new Promise(o=>setTimeout(o,2e3));let r=await T({gateway:_e,ids:[e.processId]});if(r?.data?.length){let o=r.data[0].node.id;return A(`Process found: ${o} (Try ${t+1})`),o}else A(`Process not found: ${e.processId} (Try ${t+1})`),t++}if(n!==1/0)throw new Error("Process not found, please try again")}var $t=l(i(),1);function he(e){return async t=>{if(h(t))return t;if(!e.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await we(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}}async function E(e,t){if(h(t))return t;if(!e.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await we(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}async function we(e,t){let n=null,r=null,o=null;if(typeof t.data=="string"&&(n=Buffer.from(le(t.data),"base64"),r=ce(t.data),o=pe(n)),t.data instanceof File&&(n=new Uint8Array(await t.data.arrayBuffer()),r=t.data.type,o=t.data.size),n&&r&&o)if(o<Number(ie.dispatchUploadSize))try{let a=await e.arweave.createTransaction({data:n},"use_wallet");return a.addTag(c.keys.contentType,r),t.tags&&t.tags.length>0&&t.tags.forEach(p=>a.addTag(p.name,p.value)),(await global.window.arweaveWallet.dispatch(a)).id}catch(a){throw new Error(a.message??"Error dispatching transaction")}else throw new Error("Paid uploads are not yet supported");else throw new Error("Error preparing transaction data")}var Ut=l(i(),1);var nt={},Qt=l(i(),1);var In=l(i(),1);var _t=l(i(),1);function k(e){return async(t,n)=>{let r=at(t);if(r)throw new Error(r);let o=se[t.contentType]?.serialize(t.data)??t.data,a=ot(t);try{return await P(e,{tags:a,data:o},n?p=>n(p):void 0)}catch(s){throw new Error(s.message??"Error creating asset")}}}async function K(e,t,n){try{let r=S(await U(e,{processId:t,path:"asset",fallbackAction:"Info"}));if(n?.useGateway){let o=await T({gateway:f.goldsky,ids:[t],tags:null,owners:null,cursor:null});return{...o?.data?.[0]?z(o.data[0]):{},...r}}return{id:t,...r}}catch(r){throw new Error(r.message||"Error fetching atomic asset")}}function ve(e){return async(t,n)=>await K(e,t,n)}async function Ae(e){try{let t=await T({gateway:f.arweave,ids:e??null,tags:null,owners:null,cursor:null});return t&&t.data.length?t.data.map(n=>z(n)):null}catch(t){throw new Error(t)}}function z(e){let t={id:e.node.id,owner:e.node.owner.address};for(let n of e.node.tags){let r=n.name,a=(r.startsWith(`${c.keys.bootloader}-`)?r.slice(`${c.keys.bootloader}-`.length):r).split("-").map((p,u)=>u===0?p.toLowerCase():p.charAt(0).toUpperCase()+p.slice(1).toLowerCase()).join(""),s;try{s=JSON.parse(n.value)}catch{s=n.value.toString()}t[a]=s}return t}function ot(e){let t=[{name:c.keys.onBoot,value:e.src??g.src.asset},{name:c.keys.creator,value:e.creator},{name:c.keys.assetType,value:e.assetType},{name:c.keys.contentType,value:e.contentType},{name:c.keys.implements,value:"ANS-110"},{name:c.keys.dateCreated,value:new Date().getTime().toString()},m("Name",e.name),m("Description",e.description),m("Topics",JSON.stringify(e.topics)),m("Ticker","ATOMIC"),m("Denomination",e.denomination?.toString()??"1"),m("TotalSupply",e.supply?.toString()??"1"),m("Transferable",e.transferable?.toString()??"true"),m("Creator",e.creator)];if(e.metadata)for(let n in e.metadata)t.push(m(L(n),e.metadata[n].toString()));if(e.users)for(let n of e.users)t.push({name:"Auth-User",value:n});return e.tags&&e.tags.forEach(n=>t.push(n)),t}function at(e){if(typeof e!="object"||e===null)return"The provided arguments are invalid or empty.";let t=["name","description","topics","creator","data","contentType","assetType"];for(let n of t)if(!(n in e))return`Missing field '${n}'`;return typeof e.name!="string"||e.name.trim()===""?"Name is required":typeof e.description!="string"?"The description must be a valid string":!Array.isArray(e.topics)||e.topics.length===0?"Topics are required":typeof e.creator!="string"||e.creator.trim()===""?"Creator is required":e.data===void 0||e.data===null?"Data field is required":typeof e.contentType!="string"||e.contentType.trim()===""?"Content type must be a non-empty string":typeof e.assetType!="string"||e.assetType.trim()===""?"Type must be a non-empty string":"supply"in e&&(typeof e.supply!="number"||e.supply<=0)?"Supply must be a positive number":"denomination"in e&&(typeof e.denomination!="number"||e.denomination<=0)?"Denomination must be a positive number":"transferable"in e&&typeof e.transferable!="boolean"?"Transferable must be a boolean value":"metadata"in e&&typeof e.metadata!="object"?"Metadata must be an object":"tags"in e&&(!Array.isArray(e.tags)||e.tags.some(n=>typeof n!="object"))?"Tags must be an array of objects":"src"in e&&typeof e.src!="string"?"Source must be a valid string":null}var on=l(i(),1);var st="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",W="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function xe(e){return async(t,n)=>{if(!e.signer)throw new Error("No signer provided");let r=new Date().getTime().toString(),o=[{name:c.keys.contentType,value:"application/json"},{name:c.keys.creator,value:t.creator},{name:c.keys.ans110.title,value:G(t.title)},{name:c.keys.ans110.description,value:G(t.description)},{name:c.keys.dateCreated,value:r},{name:c.keys.name,value:G(t.title)},{name:"Action",value:"Add-Collection"}],a=null,s=null;try{a=t.banner?await E(e,t.thumbnail):W,s=t.banner?await E(e,t.banner):st,t.thumbnail&&o.push({name:c.keys.thumbnail,value:a}),t.banner&&o.push({name:c.keys.banner,value:s})}catch(y){console.error(y)}let p=await fetch(N(g.src.collection));if(!p.ok)throw new Error("Unable to fetch process src");let u=await p.text();u=u.replace(/'<NAME>'/g,j(t.title)),u=u.replace(/'<DESCRIPTION>'/g,j(t.description)),u=u.replace(/<CREATOR>/g,t.creator),u=u.replace(/<THUMBNAIL>/g,a||W),u=u.replace(/<BANNER>/g,s||W),u=u.replace(/<DATECREATED>/g,r),u=u.replace(/<LASTUPDATE>/g,r);try{let y=await P(e,{tags:o},n?x=>n(x):void 0);if(A("Sending eval message to collection..."),n&&n("Sending eval message to collection..."),await e.ao.message({process:y,signer:e.signer,tags:[{name:"Action",value:"Eval"}],data:u}),!t.skipRegistry){A("Sending collection to registry..."),n&&n("Sending collection to registry...");let x=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:y},{name:"Name",value:G(t.title)},{name:"Creator",value:t.creator},{name:"DateCreated",value:r}];s&&x.push({name:"Banner",value:s}),a&&x.push({name:"Thumbnail",value:a}),await e.ao.message({process:g.collectionRegistry,signer:e.signer,tags:x})}if(!t.skipActivity){A("Creating collection activity process..."),n&&n("Creating collection activity process...");let x=[{name:"CollectionId",value:y},{name:"DateCreated",value:r},{name:"UCM-Process",value:"Collection-Activity"},{name:"On-Boot",value:g.src.collectionActivity}],B=await P(e,{tags:x},n?M=>n(M):void 0);A("Adding activity to collection process..."),n&&n("Adding activity to collection process..."),await e.ao.message({process:y,signer:e.signer,tags:[{name:"Action",value:"Eval"}],data:`ActivityProcess = '${B}'`})}return y}catch(y){throw new Error(y.message??"Error creating collection")}}}function Ce(e){return async t=>await I(e,{processId:t.creator,action:"Run-Action",tags:[{name:"ForwardTo",value:t.collectionId},{name:"ForwardAction",value:"Update-Assets"}],data:{Target:t.collectionId,Action:"Update-Assets",Input:JSON.stringify({AssetIds:t.assetIds,UpdateType:t.updateType})}})}function De(e){return async t=>{let n=await $(e,{processId:t,action:"Info"});return{...{id:t,title:n.Name,description:n.Description,creator:n.Creator,dateCreated:n.DateCreated,thumbnail:n.Thumbnail??W,banner:n.Banner??W},assetIds:n.Assets}}}function Ie(e){return async t=>{let n=t.creator?"Get-Collections-By-User":"Get-Collections",r=await $(e,{processId:g.collectionRegistry,action:n,tags:t.creator?[{name:"Creator",value:t.creator}]:null});return r&&r.Collections&&r.Collections.length?r.Collections.map(a=>({id:a.Id,title:a.Name.replace(/\[|\]/g,""),description:a.Description,creator:a.Creator,dateCreated:a.DateCreated,banner:a.Banner,thumbnail:a.Thumbnail})):null}}var un=l(i(),1);function Se(e){let t=k(e);return async(n,r)=>{let o=n.tags?n.tags:[];o.push({name:"Data-Source",value:n.parentId}),o.push({name:"Root-Source",value:n.rootId??n.parentId});let a={name:`Comment on ${n.parentId}`,description:`Comment on ${n.parentId}`,topics:["comment"],creator:n.creator,data:n.content,contentType:"text/plain",assetType:"comment",tags:o};return t(a,r)}}function be(e){return async t=>{try{let n=await K(e,t,{useGateway:!0}),r=n?.dataSource,o=n?.rootSource;if(!r||!o)throw new Error("dataSource and rootSource must be present on a comment");return{content:await Ee(t),parentId:r,rootId:o}}catch(n){throw new Error(n.message??"Error getting comment")}}}function Pe(e){return async t=>{if(!t.parentId&&!t.rootId)throw new Error("Must provide either parentId or rootId");let n=[];t.parentId&&n.push({name:"Data-Source",values:[t.parentId??""]}),t.rootId&&n.push({name:"Root-Source",values:[t.rootId??""]});let r=await T({gateway:f.goldsky,ids:null,tags:n,owners:null,cursor:null}),o=[];r&&r.data.length&&(o=r.data.map(s=>z(s)));let a=[];for(let s of o){let p=s?.dataSource,u=s?.rootSource;if(!p||!u)throw new Error("dataSource and rootSource must be present on a comment");a.push({id:s.id,content:await Ee(s.id),parentId:p,rootId:u})}return a}}async function Ee(e){try{return await(await fetch(N(e))).text()}catch(t){throw new Error(t.message??"Error getting comment data")}}var Dn=l(i(),1);var Tn=l(i(),1);function Z(e){return async(t,n)=>{try{let r=[{name:c.keys.onBoot,value:g.src.zone}];return t.tags&&t.tags.length&&t.tags.forEach(a=>r.push(a)),await P(e,{data:t.data,tags:r},n?a=>n(a):void 0)}catch(r){throw new Error(r.message??"Error creating zone")}}}function F(e){return async(t,n)=>{try{let r=Object.entries(t).map(([a,s])=>({key:a,value:s}));return await I(e,{processId:n,action:"Zone-Update",data:r})}catch(r){throw new Error(r)}}}function Re(e){return async(t,n)=>{try{return await I(e,{processId:n,action:"Zone-Append",tags:[{name:"Path",value:t.path}],data:t.data})}catch(r){throw new Error(r)}}}function q(e){return async t=>{try{let n=await U(e,{processId:t,path:"zone",fallbackAction:"Info"});return S(n)}catch(n){throw new Error(n.message??"Error getting zone")}}}function Le(e){return async(t,n)=>{if(!h(n))throw new Error("Invalid zone address");let o=[];for(let a of t){if(!h(a.granteeId))throw new Error("Invalid granteeId address");if(a.type!=="wallet"&&a.type!=="process")throw new Error("Invalid role type");o.push({Id:a.granteeId,Roles:a.roles,Type:a.type,SendInvite:a.sendInvite})}try{return await I(e,{processId:n,action:"Role-Set",tags:[],data:o})}catch(a){throw new Error(a)}}}function Ne(e){return async(t,n)=>{if(!(h(n)&&h(t.zoneToJoinId)))throw new Error("Invalid zone address");let o=[{name:"ZoneId",value:t.zoneToJoinId}];t.path&&o.push({name:"Path",value:t.path});try{return await I(e,{processId:n,action:"Zone-Join",tags:o})}catch(a){throw new Error(a)}}}function Ge(e){let t=Z(e);return async(n,r)=>{let o=null,a=[{name:c.keys.dataProtocol,value:c.values.zone},{name:c.keys.zoneType,value:c.values.user}],s=async p=>{let u=p.toLowerCase();if(n[u])try{let y=await E(e,n[u]);a.push(m(p,y))}catch(y){r?r(`Failed to resolve ${p}: ${y.message}`):console.error(y)}};n.username&&a.push(m("Username",n.username)),n.displayName&&a.push(m("DisplayName",n.displayName)),n.description&&a.push(m("Description",n.description)),await Promise.all([s("Thumbnail"),s("Banner")]);try{o=await t({tags:a},r)}catch(p){throw new Error(p.message??"Error creating profile")}return o}}function $e(e){let t=F(e);return async(n,r,o)=>{if(r){let a={Username:n.username,DisplayName:n.displayName,Description:n.description};if(n.thumbnail)try{a.Thumbnail=await E(e,n.thumbnail)}catch(s){o&&o(`Failed to resolve thumbnail: ${s.message}`)}if(n.banner)try{a.Banner=await E(e,n.banner)}catch(s){o&&o(`Failed to resolve banner: ${s.message}`)}try{return await t(a,r)}catch(s){throw new Error(s.message??"Error creating profile")}}else throw new Error("No profile provided")}}function X(e){let t=q(e);return async n=>{try{let r=await t(n);if(!r)throw new Error("Error fetching profile - Not found");return{id:n,owner:r.owner,assets:r.assets,roles:r.roles,invites:r.invites,version:r.version,...r.store}}catch(r){throw new Error(r.message??"Error fetching profile")}}}function We(e){let t=X(e);return async n=>{try{let r=await T({gateway:f.goldsky,tags:[{name:c.keys.dataProtocol,values:[c.values.zone]},{name:c.keys.zoneType,values:[c.values.user]}],owners:[n]});return r?.data?.length>0?(r.data.sort((o,a)=>{let s=o.node.block?.timestamp??0;return(a.node.block?.timestamp??0)-s}),await t(r.data[0].node.id)):{id:null}}catch(r){throw new Error(r.message??"Error fetching profile")}}}function ct(e){return{createZone:Z(e),updateZone:F(e),addToZone:Re(e),getZone:q(e),setZoneRoles:Le(e),joinZone:Ne(e),createProfile:Ge(e),updateProfile:$e(e),getProfileById:X(e),getProfileByWalletAddress:We(e),createAtomicAsset:k(e),getAtomicAsset:ve(e),getAtomicAssets:Ae,createComment:Se(e),getComment:be(e),getComments:Pe(e),createCollection:xe(e),updateCollectionAssets:Ce(e),getCollection:De(e),getCollections:Ie(e),resolveTransaction:he(e),getGQLData:T,getAggregatedGQLData:ue,createProcess:fe(e),readProcess:ge(e),sendMessage:de(e),waitForProcess:Te,mapFromProcessCase:S,mapToProcessCase:L}}var Ln={init:ct};export{nt as Types,Ln as default};
27
+ }`;return e.queryKey&&(J=`${e.queryKey}: ${J}`),J}async function Ke(e){try{return await(await fetch(`https://${e.gateway}/graphql`,{method:"POST",headers:{"Content-Type":"application/json"},body:e.query})).json()}catch(t){throw t}}var bt=f.goldsky;async function me(e,t){let n=[{name:"Authority",value:g.mu}];t.tags&&t.tags.length>0&&t.tags.forEach(r=>n.push(r));try{let r=await e.ao.spawn({module:t.module,scheduler:t.scheduler,signer:e.signer,tags:n,data:t.data});return S(`Process ID: ${r}`),r}catch(r){throw console.log(r),new Error(r.message??"Error spawning process")}}function fe(e){return async t=>await D(e,t)}async function D(e,t){try{let n=[{name:"Action",value:t.action}];t.tags&&n.push(...t.tags);let r=t.useRawData?t.data:JSON.stringify(t.data);return await e.ao.message({process:t.processId,signer:e.signer,tags:n,data:r})}catch(n){throw new Error(n)}}async function Q(e,t){let n=t.node??ce.defaultRouter,r="now";try{console.log("Getting state from HyperBEAM...");let o=`${n}/${t.processId}~process@1.0/${r}/${t.path}`;console.log(`URL: ${o}`);let a=await fetch(o);return console.log("Returning state from HyperBEAM."),await a.json()}catch(o){if(t.fallbackAction){console.error(o.message??"Error reading process from HyperBEAM"),console.log("State not found, dryrunning...");let a=await G(e,{processId:t.processId,action:t.fallbackAction});return console.log("Returning state from dryrun."),a}else throw new Error(o.message??"Error reading process from HyperBEAM")}}function Te(e){return async t=>await G(e,t)}async function G(e,t){try{let n=[{name:"Action",value:t.action}];t.tags&&n.push(...t.tags);let r;if(typeof t.data=="object")r=JSON.stringify(t.data||{});else if(typeof t.data=="string"){try{JSON.parse(t.data)}catch(a){throw console.error(a),new Error("Invalid JSON data")}r=t.data}let o=await e.ao.dryrun({process:t.processId,tags:n,data:r});if(o.Messages&&o.Messages.length){if(o.Messages[0].Data)return JSON.parse(o.Messages[0].Data);if(o.Messages[0].Tags)return o.Messages[0].Tags.reduce((a,s)=>(a[s.name]=s.value,a),{})}}catch(n){throw new Error(n.message??"Error dryrunning process")}}async function Xe(e,t){try{let{Messages:n}=await e.ao.result({message:t.messageId,process:t.processId});if(n&&n.length){let r={};return n.forEach(o=>{let a=U(o.Tags,"Action")||t.action,s=null,p=o.Data;if(p)try{s=JSON.parse(p)}catch{s=p}let u=U(o.Tags,"Status"),y=U(o.Tags,"Message");r[a]={id:t.messageId,status:u,message:y,data:s}}),r}else return null}catch(n){console.error(n)}}async function W(e,t){let n=null;if(t.evalSrc?n=t.evalSrc:t.evalTxId&&(n=await et(t.evalTxId)),n)try{let r=await D(e,{processId:t.processId,action:"Eval",data:n,tags:t.evalTags||null,useRawData:!0});return S(`Eval: ${r}`),await Xe(e,{processId:t.processId,messageId:r,action:"Eval"})}catch(r){throw new Error(r.message??"Error sending process eval")}return null}function he(e){return async(t,n)=>{try{let r={module:t.module||g.module,scheduler:t.scheduler||g.scheduler};t.data&&(r.data=t.data),t.tags&&(r.tags=t.tags),n&&n("Spawning process...");let o=await me(e,r);if(t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await W(e,{processId:o,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(a){throw new Error(a.message??"Error creating process")}}return o}catch(r){throw new Error(r.message??"Error creating process")}}}async function E(e,t,n){try{let r={module:t.module||g.module,scheduler:t.scheduler||g.scheduler};t.data&&(r.data=t.data),t.tags&&(r.tags=t.tags),n&&n("Spawning process...");let o=await me(e,r);if(t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await W(e,{processId:o,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(a){throw new Error(a.message??"Error creating process")}}return o}catch(r){throw new Error(r.message??"Error creating process")}}async function et(e){try{return await(await fetch(L(e))).text()}catch(t){throw new Error(t)}}var Gt=l(i(),1);function we(e){return async t=>{if(T(t))return t;if(!e.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await ve(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}}async function P(e,t){if(T(t))return t;if(!e.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await ve(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}async function ve(e,t){let n=null,r=null,o=null;if(typeof t.data=="string"&&(n=Buffer.from(ye(t.data),"base64"),r=ue(t.data),o=de(n)),t.data instanceof File&&(n=new Uint8Array(await t.data.arrayBuffer()),r=t.data.type,o=t.data.size),n&&r&&o)if(o<Number(pe.dispatchUploadSize))try{let a=await e.arweave.createTransaction({data:n},"use_wallet");return a.addTag(c.keys.contentType,r),t.tags&&t.tags.length>0&&t.tags.forEach(p=>a.addTag(p.name,p.value)),(await global.window.arweaveWallet.dispatch(a)).id}catch(a){throw new Error(a.message??"Error dispatching transaction")}else throw new Error("Paid uploads are not yet supported");else throw new Error("Error preparing transaction data")}var Ut=l(i(),1);var nt={},zt=l(i(),1);var Cn=l(i(),1);var _t=l(i(),1);function k(e){return async(t,n)=>{let r=at(t);if(r)throw new Error(r);let o=le[t.contentType]?.serialize(t.data)??t.data,a=ot(t);try{return await E(e,{tags:a,data:o},n?p=>n(p):void 0)}catch(s){throw new Error(s.message??"Error creating asset")}}}async function ee(e,t,n){try{let r=C(await Q(e,{processId:t,path:"asset",fallbackAction:"Info"}));if(n?.useGateway){let o=await h({gateway:f.goldsky,ids:[t],tags:null,owners:null,cursor:null});return{...o?.data?.[0]?Z(o.data[0]):{},...r}}return{id:t,...r}}catch(r){throw new Error(r.message||"Error fetching atomic asset")}}function Ae(e){return async(t,n)=>await ee(e,t,n)}async function xe(e){try{let t=await h({gateway:f.arweave,ids:e??null,tags:null,owners:null,cursor:null});return t&&t.data.length?t.data.map(n=>Z(n)):null}catch(t){throw new Error(t)}}function Z(e){let t={id:e.node.id,owner:e.node.owner.address};for(let n of e.node.tags){let r=n.name,a=(r.startsWith(`${c.keys.bootloader}-`)?r.slice(`${c.keys.bootloader}-`.length):r).split("-").map((p,u)=>u===0?p.toLowerCase():p.charAt(0).toUpperCase()+p.slice(1).toLowerCase()).join(""),s;try{s=JSON.parse(n.value)}catch{s=n.value.toString()}t[a]=s}return t}function ot(e){let t=[{name:c.keys.onBoot,value:e.src??g.src.asset},{name:c.keys.creator,value:e.creator},{name:c.keys.assetType,value:e.assetType},{name:c.keys.contentType,value:e.contentType},{name:c.keys.implements,value:"ANS-110"},{name:c.keys.dateCreated,value:new Date().getTime().toString()},m("Name",e.name),m("Description",e.description),m("Topics",JSON.stringify(e.topics)),m("Ticker","ATOMIC"),m("Denomination",e.denomination?.toString()??"1"),m("TotalSupply",e.supply?.toString()??"1"),m("Transferable",e.transferable?.toString()??"true"),m("Creator",e.creator)];if(e.metadata)for(let n in e.metadata)t.push(m(N(n),e.metadata[n].toString()));if(e.users)for(let n of e.users)t.push({name:"Auth-User",value:n});return e.tags&&e.tags.forEach(n=>t.push(n)),t}function at(e){if(typeof e!="object"||e===null)return"The provided arguments are invalid or empty.";let t=["name","description","topics","creator","data","contentType","assetType"];for(let n of t)if(!(n in e))return`Missing field '${n}'`;return typeof e.name!="string"||e.name.trim()===""?"Name is required":typeof e.description!="string"?"The description must be a valid string":!Array.isArray(e.topics)||e.topics.length===0?"Topics are required":typeof e.creator!="string"||e.creator.trim()===""?"Creator is required":e.data===void 0||e.data===null?"Data field is required":typeof e.contentType!="string"||e.contentType.trim()===""?"Content type must be a non-empty string":typeof e.assetType!="string"||e.assetType.trim()===""?"Type must be a non-empty string":"supply"in e&&(typeof e.supply!="number"||e.supply<=0)?"Supply must be a positive number":"denomination"in e&&(typeof e.denomination!="number"||e.denomination<=0)?"Denomination must be a positive number":"transferable"in e&&typeof e.transferable!="boolean"?"Transferable must be a boolean value":"metadata"in e&&typeof e.metadata!="object"?"Metadata must be an object":"tags"in e&&(!Array.isArray(e.tags)||e.tags.some(n=>typeof n!="object"))?"Tags must be an array of objects":"src"in e&&typeof e.src!="string"?"Source must be a valid string":null}var on=l(i(),1);var st="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",M="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function Ie(e){return async(t,n)=>{if(!e.signer)throw new Error("No signer provided");let r=new Date().getTime().toString(),o=[{name:c.keys.contentType,value:"application/json"},{name:c.keys.creator,value:t.creator},{name:c.keys.ans110.title,value:$(t.title)},{name:c.keys.ans110.description,value:$(t.description)},{name:c.keys.dateCreated,value:r},{name:c.keys.name,value:$(t.title)},{name:"Action",value:"Add-Collection"}],a=null,s=null;try{a=t.banner?await P(e,t.thumbnail):M,s=t.banner?await P(e,t.banner):st,t.thumbnail&&o.push({name:c.keys.thumbnail,value:a}),t.banner&&o.push({name:c.keys.banner,value:s})}catch(y){console.error(y)}let p=await fetch(L(g.src.collection));if(!p.ok)throw new Error("Unable to fetch process src");let u=await p.text();u=u.replace(/'<NAME>'/g,_(t.title)),u=u.replace(/'<DESCRIPTION>'/g,_(t.description)),u=u.replace(/<CREATOR>/g,t.creator),u=u.replace(/<THUMBNAIL>/g,a||M),u=u.replace(/<BANNER>/g,s||M),u=u.replace(/<DATECREATED>/g,r),u=u.replace(/<LASTUPDATE>/g,r);try{let y=await E(e,{tags:o},n?A=>n(A):void 0);if(S("Sending eval message to collection..."),n&&n("Sending eval message to collection..."),await e.ao.message({process:y,signer:e.signer,tags:[{name:"Action",value:"Eval"}],data:u}),!t.skipRegistry){S("Sending collection to registry..."),n&&n("Sending collection to registry...");let A=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:y},{name:"Name",value:$(t.title)},{name:"Creator",value:t.creator},{name:"DateCreated",value:r}];s&&A.push({name:"Banner",value:s}),a&&A.push({name:"Thumbnail",value:a}),await e.ao.message({process:g.collectionRegistry,signer:e.signer,tags:A})}if(!t.skipActivity){S("Creating collection activity process..."),n&&n("Creating collection activity process...");let A=[{name:"CollectionId",value:y},{name:"DateCreated",value:r},{name:"UCM-Process",value:"Collection-Activity"},{name:"On-Boot",value:g.src.collectionActivity}],B=await E(e,{tags:A},n?O=>n(O):void 0);S("Adding activity to collection process..."),n&&n("Adding activity to collection process..."),await e.ao.message({process:y,signer:e.signer,tags:[{name:"Action",value:"Eval"}],data:`ActivityProcess = '${B}'`})}return y}catch(y){throw new Error(y.message??"Error creating collection")}}}function De(e){return async t=>await D(e,{processId:t.creator,action:"Run-Action",tags:[{name:"ForwardTo",value:t.collectionId},{name:"ForwardAction",value:"Update-Assets"}],data:{Target:t.collectionId,Action:"Update-Assets",Input:JSON.stringify({AssetIds:t.assetIds,UpdateType:t.updateType})}})}function Ce(e){return async t=>{let n=await G(e,{processId:t,action:"Info"});return{...{id:t,title:n.Name,description:n.Description,creator:n.Creator,dateCreated:n.DateCreated,thumbnail:n.Thumbnail??M,banner:n.Banner??M},assetIds:n.Assets}}}function Se(e){return async t=>{let n=t.creator?"Get-Collections-By-User":"Get-Collections",r=await G(e,{processId:g.collectionRegistry,action:n,tags:t.creator?[{name:"Creator",value:t.creator}]:null});return r&&r.Collections&&r.Collections.length?r.Collections.map(a=>({id:a.Id,title:a.Name.replace(/\[|\]/g,""),description:a.Description,creator:a.Creator,dateCreated:a.DateCreated,banner:a.Banner,thumbnail:a.Thumbnail})):null}}var un=l(i(),1);function be(e){let t=k(e);return async(n,r)=>{let o=n.tags?n.tags:[];o.push({name:"Data-Source",value:n.parentId}),o.push({name:"Root-Source",value:n.rootId??n.parentId});let a={name:`Comment on ${n.parentId}`,description:`Comment on ${n.parentId}`,topics:["comment"],creator:n.creator,data:n.content,contentType:"text/plain",assetType:"comment",tags:o};return t(a,r)}}function Ee(e){return async t=>{try{let n=await ee(e,t,{useGateway:!0}),r=n?.dataSource,o=n?.rootSource;if(!r||!o)throw new Error("dataSource and rootSource must be present on a comment");return{content:await Re(t),parentId:r,rootId:o}}catch(n){throw new Error(n.message??"Error getting comment")}}}function Pe(e){return async t=>{if(!t.parentId&&!t.rootId)throw new Error("Must provide either parentId or rootId");let n=[];t.parentId&&n.push({name:"Data-Source",values:[t.parentId??""]}),t.rootId&&n.push({name:"Root-Source",values:[t.rootId??""]});let r=await h({gateway:f.goldsky,ids:null,tags:n,owners:null,cursor:null}),o=[];r&&r.data.length&&(o=r.data.map(s=>Z(s)));let a=[];for(let s of o){let p=s?.dataSource,u=s?.rootSource;if(!p||!u)throw new Error("dataSource and rootSource must be present on a comment");a.push({id:s.id,content:await Re(s.id),parentId:p,rootId:u})}return a}}async function Re(e){try{return await(await fetch(L(e))).text()}catch(t){throw new Error(t.message??"Error getting comment data")}}var Dn=l(i(),1);var Tn=l(i(),1);function V(e){return async(t,n)=>{try{let r=[{name:c.keys.onBoot,value:g.src.zone.id}];return t.tags&&t.tags.length&&t.tags.forEach(a=>r.push(a)),await E(e,{data:t.data,tags:r},n?a=>n(a):void 0)}catch(r){throw new Error(r.message??"Error creating zone")}}}function F(e){return async(t,n)=>{try{let r=Object.entries(t).map(([a,s])=>({key:a,value:s}));return await D(e,{processId:n,action:"Zone-Update",data:r})}catch(r){throw new Error(r)}}}function Ne(e){return async(t,n)=>{try{return await D(e,{processId:n,action:"Zone-Append",tags:[{name:"Path",value:t.path}],data:t.data})}catch(r){throw new Error(r)}}}function Le(e){return async(t,n)=>{if(!T(n))throw new Error("Invalid zone address");let o=[];for(let a of t){if(!T(a.granteeId))throw new Error("Invalid granteeId address");if(a.type!=="wallet"&&a.type!=="process")throw new Error("Invalid role type");o.push({Id:a.granteeId,Roles:a.roles,Type:a.type,SendInvite:a.sendInvite})}try{return await D(e,{processId:n,action:"Role-Set",tags:[],data:o})}catch(a){throw new Error(a)}}}function $e(e){return async(t,n)=>{if(!(T(n)&&T(t.zoneToJoinId)))throw new Error("Invalid zone address");let o=[{name:"ZoneId",value:t.zoneToJoinId}];t.path&&o.push({name:"Path",value:t.path});try{return await D(e,{processId:n,action:"Zone-Join",tags:o})}catch(a){throw new Error(a)}}}function q(e){return async t=>{try{return await W(e,{processId:t.zoneId,evalTxId:g.src.zone.id}),await W(e,{processId:t.zoneId,evalSrc:`Zone.Version = '${g.src.zone.version}'; SyncState()`})}catch(n){throw new Error(n)}}}function H(e){return async t=>{try{let n=await Q(e,{processId:t,path:"zone",fallbackAction:"Info"});return C(n)}catch(n){throw new Error(n.message??"Error getting zone")}}}function Ge(e){let t=V(e);return async(n,r)=>{let o=null,a=[{name:c.keys.dataProtocol,value:c.values.zone},{name:c.keys.zoneType,value:c.values.user}],s=async p=>{let u=p.toLowerCase();if(n[u])try{let y=await P(e,n[u]);a.push(m(p,y))}catch(y){r?r(`Failed to resolve ${p}: ${y.message}`):console.error(y)}};n.username&&a.push(m("Username",n.username)),n.displayName&&a.push(m("DisplayName",n.displayName)),n.description&&a.push(m("Description",n.description)),await Promise.all([s("Thumbnail"),s("Banner")]);try{o=await t({tags:a},r)}catch(p){throw new Error(p.message??"Error creating profile")}return o}}function We(e){let t=F(e);return async(n,r,o)=>{if(r){let a={Username:n.username,DisplayName:n.displayName,Description:n.description};if(n.thumbnail)try{a.Thumbnail=await P(e,n.thumbnail)}catch(s){o&&o(`Failed to resolve thumbnail: ${s.message}`)}if(n.banner)try{a.Banner=await P(e,n.banner)}catch(s){o&&o(`Failed to resolve banner: ${s.message}`)}try{return await t(a,r)}catch(s){throw new Error(s.message??"Error creating profile")}}else throw new Error("No profile provided")}}function Me(e){let t=q(e);return async n=>{try{return await t({zoneId:n.profileId})}catch(r){throw new Error(r)}}}function te(e){let t=H(e);return async n=>{try{let r=await t(n);if(!r)throw new Error("Error fetching profile - Not found");return{id:n,owner:r.owner,assets:r.assets,roles:r.roles,invites:r.invites,version:r.version,...r.store}}catch(r){throw new Error(r.message??"Error fetching profile")}}}function Be(e){let t=te(e);return async n=>{try{let r=await h({gateway:f.goldsky,tags:[{name:c.keys.dataProtocol,values:[c.values.zone]},{name:c.keys.zoneType,values:[c.values.user]}],owners:[n]});return r?.data?.length>0?(r.data.sort((o,a)=>{let s=o.node.block?.timestamp??0;return(a.node.block?.timestamp??0)-s}),await t(r.data[0].node.id)):{id:null}}catch(r){throw new Error(r.message??"Error fetching profile")}}}var Nn=g.src.zone.version;function ct(e){return{createZone:V(e),updateZone:F(e),addToZone:Ne(e),getZone:H(e),setZoneRoles:Le(e),joinZone:$e(e),updateZoneVersion:q(e),createProfile:Ge(e),updateProfile:We(e),updateProfileVersion:Me(e),getProfileById:te(e),getProfileByWalletAddress:Be(e),createAtomicAsset:k(e),getAtomicAsset:Ae(e),getAtomicAssets:xe,createComment:be(e),getComment:Ee(e),getComments:Pe(e),createCollection:Ie(e),updateCollectionAssets:De(e),getCollection:Ce(e),getCollections:Se(e),resolveTransaction:we(e),getGQLData:h,getAggregatedGQLData:ge,createProcess:he(e),readProcess:Te(e),sendMessage:fe(e),mapFromProcessCase:C,mapToProcessCase:N}}var Ln={init:ct};export{Nn as CurrentZoneVersion,nt as Types,Ln as default};
28
28
  //# sourceMappingURL=index.js.map