@permaweb/libs 0.0.35 → 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 Y(){throw new Error("setTimeout has not been defined")}function J(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?w=setTimeout:w=Y}catch{w=Y}try{typeof clearTimeout=="function"?v=clearTimeout:v=J}catch{v=J}})();function ne(e){if(w===setTimeout)return setTimeout(e,0);if((w===Y||!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===J||!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 D=[],N=!1,S,O=-1;function Fe(){!N||!S||(N=!1,S.length?D=S.concat(D):O=-1,D.length&&re())}function re(){if(!N){var e=ne(Fe);N=!0;for(var t=D.length;t;){for(S=D,D=[];++O<t;)S&&S[O].run();O=-1,t=D.length}S=null,N=!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];D.push(new oe(e,t)),D.length===1&&!N&&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 C(){}d.on=C;d.addListener=C;d.once=C;d.off=C;d.removeListener=C;d.removeAllListeners=C;d.emit=C;d.prependListener=C;d.prependOnceListener=C;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);import{Buffer as it}from"buffer";var Gt=l(i(),1);var St=l(i(),1);var dt=l(i(),1),g={module:"URgYpPQzvxxfYQtjrIQ116bl3YBfcImo3JEnNo8Hlrk",scheduler:"_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA",mu:"fcoN_xJeisVsPXA-trzVAuIiqO3ydLQxM-L4XbrQKzY",src:{asset:"LCrHATm3utm_H5fj0bbzFX4ToN_sH_W-oHHZXaYDbsY",collection:"aHN0YxA7Th1OQdtgv0slWv9LMrvYukvNgWdkotJsML0",collectionActivity:"k8K8WIJb5kXOVvZRFXF5GIZW-7b2NtaTOd6G-E5MF0k",profile:"WBhJpPafkykqZZgTr7TAsz48RKG4vbOEAH4rZ3JxIQ8",zone:"2nrQVW3u5CCZY9ouSZhEFOtSW0tWb3PZY4gCL_Pn5sw"},collectionRegistry:"zwKi27GuKS3GOlwL3EhNGH02SJDDAO5Uy43ZJwomhZ4",profileRegistry:"SNy4m-DrqxWl01YqGM4sxI8qCni-58re8uuJLvZPypY"},se={node:"https://router-1.forward.computer"},ie={"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",bootloaderInit:"On-Boot",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",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"}},ce={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 A(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 le(e){let t=e.match(/^data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+);base64,/);return t?t[1]:null}function pe(e){return e.split(",")[1]}function ue(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 G(e){let t;return t=e.replace(/\[|\]/g,""),t}var h=(...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]=A(r)?r:L(r),t},{}):e}function He(e){return e.charAt(0).toLowerCase()+e.slice(1)}function I(e){return Array.isArray(e)?e.map(I):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let o=A(n)?n:He(n);return t[o]=A(r)?r:I(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 Ye="https://arweave.net";function R(e){return`${Ye}/${e}`}var xt=l(i(),1);var V={p1:"P1",end:"END"},j={default:100};async function T(e){let t=e.paginator?e.paginator:j.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 Ve({gateway:e.gateway??f.goldsky,query:Je(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=V.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 ye(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??j.default))}`),t&&t(`Page ${n} fetched`);r.nextCursor&&r.nextCursor!==V.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 Je(e){let t={query:`query { ${e} }`};return JSON.stringify(t)}function _e(e){let t=e.paginator?e.paginator:j.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!==V.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 H=`
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&&(H=`${e.queryKey}: ${H}`),H}async function Ve(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 je=f.goldsky,Ke=100;async function de(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 h(`Process ID: ${r}`),r}catch(r){throw console.log(r),new Error(r.message??"Error spawning process")}}function ge(e){return async t=>await b(e,t)}async function b(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){let n=t.node??se.node,r="now";try{return console.log("Getting state from HyperBEAM..."),await(await fetch(`${n}/${t.processId}~process@1.0/${r}/${t.path}`)).json()}catch(o){if(t.fallbackAction)return console.error(o.message??"Error reading process from HyperBEAM"),console.log("State not found, dryrunning..."),await $(e,{processId:t.processId,action:t.fallbackAction});throw new Error(o.message??"Error reading process from HyperBEAM")}}function me(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 fe(e,t){let n=null;if(t.evalSrc?n=t.evalSrc:t.evalTxId&&(n=await et(t.evalTxId)),n)try{let r=await b(e,{processId:t.processId,action:"Eval",data:n,tags:t.evalTags||null,useRawData:!0});return h(`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 Te(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 de(e,r);if(t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await fe(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 de(e,r);if(t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await fe(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(R(e))).text()}catch(t){throw new Error(t)}}async function he(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:je,ids:[e.processId]});if(r?.data?.length){let o=r.data[0].node.id;return h(`Process found: ${o} (Try ${t+1})`),o}else h(`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 we(e){return async t=>{if(A(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 E(e,t){if(A(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(pe(t.data),"base64"),r=le(t.data),o=ue(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(ce.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 Qt=l(i(),1);var Ot=l(i(),1);var In=l(i(),1);var Vt=l(i(),1);function k(e){return async(t,n)=>{let r=ot(t);if(r)throw new Error(r);let o=ie[t.contentType]?.serialize(t.data)??t.data,a=rt(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=I(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 Ae(e){return async(t,n)=>await K(e,t,n)}async function xe(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 rt(e){let t=[{name:c.keys.bootloaderInit,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()));return e.tags&&e.tags.forEach(n=>t.push(n)),t}function ot(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 rn=l(i(),1);var at="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",W="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function De(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):at,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(R(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||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(h("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){h("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){h("Creating collection activity process..."),n&&n("Creating collection activity process...");let x=[{name:"CollectionId",value:y},{name:"DateCreated",value:r},{name:"On-Boot",value:g.src.collectionActivity}],B=await P(e,{tags:x},n?M=>n(M):void 0);h("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 b(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 Ie(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 be(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 pn=l(i(),1);function Pe(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 Se(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 Ne(t),parentId:r,rootId:o}}catch(n){throw new Error(n.message??"Error getting comment")}}}function Ee(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 Ne(s.id),parentId:p,rootId:u})}return a}}async function Ne(e){try{return await(await fetch(R(e))).text()}catch(t){throw new Error(t.message??"Error getting comment data")}}var Cn=l(i(),1);var fn=l(i(),1);function z(e){return async(t,n)=>{try{let r=[{name:c.keys.bootloaderInit,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 b(e,{processId:n,action:"Zone-Update",data:r})}catch(r){throw new Error(r)}}}function Le(e){return async(t,n)=>{try{return await b(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 I(n)}catch(n){throw new Error(n.message??"Error getting zone")}}}function Re(e){return async(t,n)=>{let r=A(t.granteeId),o=A(n);if(!r)throw new Error("Invalid granteeId address");if(!o)throw new Error("Invalid zone address");try{return await b(e,{processId:n,action:"Role-Set",tags:[],data:{id:t.granteeId,roles:t.roles}})}catch(a){throw new Error(a)}}}function $e(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 Ge(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,...r.store,assets:r.assets}}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")}}}globalThis.Buffer||(globalThis.Buffer=it);function ct(e){return{createZone:z(e),updateZone:F(e),addToZone:Le(e),getZone:q(e),setZoneRoles:Re(e),createProfile:$e(e),updateProfile:Ge(e),getProfileById:X(e),getProfileByWalletAddress:We(e),createAtomicAsset:k(e),getAtomicAsset:Ae(e),getAtomicAssets:xe,createComment:Pe(e),getComment:Se(e),getComments:Ee(e),createCollection:De(e),updateCollectionAssets:Ce(e),getCollection:Ie(e),getCollections:be(e),resolveTransaction:we(e),getGQLData:T,getAggregatedGQLData:ye,createProcess:Te(e),readProcess:me(e),sendMessage:ge(e),waitForProcess:he,mapFromProcessCase:I,mapToProcessCase:L}}var Rn={init:ct};export{Rn 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