@permaweb/libs 0.0.17 → 0.0.18

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 Pe=Object.create;var K=Object.defineProperty;var Le=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,We=Object.prototype.hasOwnProperty;var $e=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ge=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Ne(t))!We.call(e,a)&&a!==n&&K(e,a,{get:()=>t[a],enumerable:!(r=Le(t,a))||r.enumerable});return e};var p=(e,t,n)=>(n=e!=null?Pe(Re(e)):{},Ge(t||!e||!e.__esModule?K(n,"default",{value:e,enumerable:!0}):n,e));var l=$e((ct,ne)=>{var d=ne.exports={},w,v;function _(){throw new Error("setTimeout has not been defined")}function V(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?w=setTimeout:w=_}catch{w=_}try{typeof clearTimeout=="function"?v=clearTimeout:v=V}catch{v=V}})();function X(e){if(w===setTimeout)return setTimeout(e,0);if((w===_||!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 Me(e){if(v===clearTimeout)return clearTimeout(e);if((v===V||!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 A=[],P=!1,S,M=-1;function Oe(){!P||!S||(P=!1,S.length?A=S.concat(A):M=-1,A.length&&ee())}function ee(){if(!P){var e=X(Oe);P=!0;for(var t=A.length;t;){for(S=A,A=[];++M<t;)S&&S[M].run();M=-1,t=A.length}S=null,P=!1,Me(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];A.push(new te(e,t)),A.length===1&&!P&&X(ee)};function te(e,t){this.fun=e,this.array=t}te.prototype.run=function(){this.fun.apply(null,this.array)};d.title="browser";d.browser=!0;d.env={};d.argv=[];d.version="";d.versions={};function b(){}d.on=b;d.addListener=b;d.once=b;d.off=b;d.removeListener=b;d.removeAllListeners=b;d.emit=b;d.prependListener=b;d.prependOnceListener=b;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 Sn=p(l(),1);import{Buffer as at}from"buffer";var ht=p(l(),1);var pt=p(l(),1),m={module:"Do_Uc2Sju_ffp6Ev0AnLVdPtot15rvMjP-a9VVaA5fM",scheduler:"_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA",mu:"fcoN_xJeisVsPXA-trzVAuIiqO3ydLQxM-L4XbrQKzY",src:{asset:"gyvfBebLlNJw0_bdq6NLL_BK_dqpgj9nRTYebyoOmKI",zone:"UmDqxL8ufIj2Zj9eKDQfDj_hyJ8rWZn7VaTgpyeRT94",collection:"2ZDuM2VUCN8WHoAKOOjiH4_7Apq0ZHKnTWdLppxCdGY"},collectionsRegistry:"TFWDmf8a3_nw43GCm_CuYlYoylHAjCcFGbgHfDaGcsg"},re={"application/json":{type:"application/json",serialize:e=>JSON.stringify(e)}},f={arweave:"arweave.net",goldsky:"arweave-search.goldsky.com"},oe={udl:{label:"Universal Data License",address:"dE0rmDfl9_OWjkDznNEXHaSO_JohJkRolvMzaCroUdw"}},s={keys:{access:"Access-Fee",ans110:{title:"Title",description:"Description",topic:"Topic:*",type:"Type",implements:"Implements",license:"License"},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"}},ae={node1:"https://up.arweave.net",node2:"https://turbo.ardrive.io",batchSize:1,chunkSize:75e5,dispatchUploadSize:100*1024};var ft=p(l(),1);var dt=p(l(),1);function I(e){return e?/^[a-z0-9_-]{43}$/i.test(e):!1}function se(e,t){if(!e)return"";if(!I(e))return e;let n=e.substring(0,5)+"..."+e.substring(36,e.length);return t?`(${n})`:n}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 ie(e){let t=e.match(/^data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+);base64,/);return t?t[1]:null}function ce(e){return e.split(",")[1]}function le(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 W(e){let t;return t=e.replace(/\[|\]/g,""),t}var L=(...e)=>{console.log("[@permaweb/libs]",...e)};function Qe(e){return e.replace(/^[a-z]/,t=>t.toUpperCase())}function O(e){return Array.isArray(e)?e.map(O):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let a=Qe(n);return t[a]=O(r),t},{}):e}function Be(e){return e.charAt(0).toLowerCase()+e.slice(1)}function x(e){return Array.isArray(e)?e.map(x):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let a=Be(n);return t[a]=x(r),t},{}):e}function T(e,t){return{name:`${s.keys.bootloader}-${e}`,value:t}}var Ue="https://arweave.net";function Q(e){return`${Ue}/${e}`}var Tt=p(l(),1);var Gt=p(l(),1);var Lt=p(l(),1);var Ct=p(l(),1);var pe={p1:"P1",end:"END"},ue={default:100};async function h(e){let t=e.paginator?e.paginator:ue.default,n=[],r=0,a=null;if(e.ids&&!e.ids.length)return{data:n,count:r,nextCursor:a,previousCursor:null};try{let o=Fe(e),i=await ze({gateway:e.gateway,query:qe(o)});return i.data.transactions.edges.length?(n=[...i.data.transactions.edges],r=i.data.transactions.count??0,n.length<t||!i.data.transactions.pageInfo.hasNextPage?a=pe.end:a=n[n.length-1].cursor,{data:n,count:r,nextCursor:a,previousCursor:null}):{data:n,count:r,nextCursor:a,previousCursor:null}}catch(o){return console.error(o),{data:n,count:r,nextCursor:a,previousCursor:null}}}function qe(e){let t={query:`query { ${e} }`};return JSON.stringify(t)}function Fe(e){let t=e.paginator?e.paginator:ue.default,n=e.ids?JSON.stringify(e.ids):null,r=null;e.minBlock!==void 0&&e.minBlock!==null&&(r={},r.min=e.minBlock);let a=r?JSON.stringify(r).replace(/"([^"]+)":/g,"$1:"):null,o=e.tags?JSON.stringify(e.tags).replace(/"(name)":/g,"$1:").replace(/"(values)":/g,"$1:").replace(/"FUZZY_OR"/g,"FUZZY_OR"):null,i=e.owners?JSON.stringify(e.owners):null,c=e.cursor&&e.cursor!==pe.end?`"${e.cursor}"`:null,g=`first: ${t}`,y="",R="data { size type } owner { address } block { height timestamp }",G="";switch(e.gateway){case f.arweave:break;case f.goldsky:y="count";break}let C=`
1
+ var We=Object.create;var K=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Me=Object.getOwnPropertyNames;var Ge=Object.getPrototypeOf,Oe=Object.prototype.hasOwnProperty;var Qe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Be=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Me(t))!Oe.call(e,o)&&o!==n&&K(e,o,{get:()=>t[o],enumerable:!(r=$e(t,o))||r.enumerable});return e};var p=(e,t,n)=>(n=e!=null?We(Ge(e)):{},Be(t||!e||!e.__esModule?K(n,"default",{value:e,enumerable:!0}):n,e));var l=Qe((yt,ne)=>{var d=ne.exports={},w,v;function j(){throw new Error("setTimeout has not been defined")}function _(){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=_}catch{v=_}})();function X(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 Ue(e){if(v===clearTimeout)return clearTimeout(e);if((v===_||!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 A=[],L=!1,S,O=-1;function Ze(){!L||!S||(L=!1,S.length?A=S.concat(A):O=-1,A.length&&ee())}function ee(){if(!L){var e=X(Ze);L=!0;for(var t=A.length;t;){for(S=A,A=[];++O<t;)S&&S[O].run();O=-1,t=A.length}S=null,L=!1,Ue(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];A.push(new te(e,t)),A.length===1&&!L&&X(ee)};function te(e,t){this.fun=e,this.array=t}te.prototype.run=function(){this.fun.apply(null,this.array)};d.title="browser";d.browser=!0;d.env={};d.argv=[];d.version="";d.versions={};function b(){}d.on=b;d.addListener=b;d.once=b;d.off=b;d.removeListener=b;d.removeAllListeners=b;d.emit=b;d.prependListener=b;d.prependOnceListener=b;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 Ln=p(l(),1);import{Buffer as lt}from"buffer";var bt=p(l(),1);var gt=p(l(),1),m={module:"Do_Uc2Sju_ffp6Ev0AnLVdPtot15rvMjP-a9VVaA5fM",scheduler:"_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA",mu:"fcoN_xJeisVsPXA-trzVAuIiqO3ydLQxM-L4XbrQKzY",src:{asset:"gyvfBebLlNJw0_bdq6NLL_BK_dqpgj9nRTYebyoOmKI",zone:"UmDqxL8ufIj2Zj9eKDQfDj_hyJ8rWZn7VaTgpyeRT94",collection:"2ZDuM2VUCN8WHoAKOOjiH4_7Apq0ZHKnTWdLppxCdGY"},collectionsRegistry:"TFWDmf8a3_nw43GCm_CuYlYoylHAjCcFGbgHfDaGcsg"},re={"application/json":{type:"application/json",serialize:e=>JSON.stringify(e)}},f={arweave:"arweave.net",goldsky:"arweave-search.goldsky.com"},ae={udl:{label:"Universal Data License",address:"dE0rmDfl9_OWjkDznNEXHaSO_JohJkRolvMzaCroUdw"}},s={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"}},oe={node1:"https://up.arweave.net",node2:"https://turbo.ardrive.io",batchSize:1,chunkSize:75e5,dispatchUploadSize:100*1024};var vt=p(l(),1);var Tt=p(l(),1);function I(e){return e?/^[a-z0-9_-]{43}$/i.test(e):!1}function se(e,t){if(!e)return"";if(!I(e))return e;let n=e.substring(0,5)+"..."+e.substring(36,e.length);return t?`(${n})`:n}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 ie(e){let t=e.match(/^data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+);base64,/);return t?t[1]:null}function ce(e){return e.split(",")[1]}function le(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 V(e){let t;return t=e.replace(/\[|\]/g,""),`[[${t}]]`}function $(e){let t;return t=e.replace(/\[|\]/g,""),t}var R=(...e)=>{console.log("[@permaweb/libs]",...e)};function qe(e){return e.replace(/^[a-z]/,t=>t.toUpperCase())}function Q(e){return Array.isArray(e)?e.map(Q):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let o=qe(n);return t[o]=Q(r),t},{}):e}function Fe(e){return e.charAt(0).toLowerCase()+e.slice(1)}function x(e){return Array.isArray(e)?e.map(x):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let o=Fe(n);return t[o]=x(r),t},{}):e}function T(e,t){return{name:`${s.keys.bootloader}-${e}`,value:t}}var ze="https://arweave.net";function N(e){return`${ze}/${e}`}var At=p(l(),1);var Bt=p(l(),1);var $t=p(l(),1);var kt=p(l(),1);var pe={p1:"P1",end:"END"},ue={default:100};async function h(e){let t=e.paginator?e.paginator:ue.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),i=await Ve({gateway:e.gateway,query:je(a)});return i.data.transactions.edges.length?(n=[...i.data.transactions.edges],r=i.data.transactions.count??0,n.length<t||!i.data.transactions.pageInfo.hasNextPage?o=pe.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}}}function je(e){let t={query:`query { ${e} }`};return JSON.stringify(t)}function _e(e){let t=e.paginator?e.paginator:ue.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(/"FUZZY_OR"/g,"FUZZY_OR"):null,i=e.owners?JSON.stringify(e.owners):null,c=e.cursor&&e.cursor!==pe.end?`"${e.cursor}"`:null,g=`first: ${t}`,y="",W="data { size type } owner { address } block { height timestamp }",G="";switch(e.gateway){case f.arweave:break;case f.goldsky:y="count";break}let C=`
2
2
  transactions(
3
3
  ids: ${n},
4
- tags: ${o},
4
+ tags: ${a},
5
5
  ${g}
6
6
  owners: ${i},
7
- block: ${a},
7
+ block: ${o},
8
8
  after: ${c},
9
9
  ${G}
10
10
 
@@ -21,8 +21,8 @@ var Pe=Object.create;var K=Object.defineProperty;var Le=Object.getOwnPropertyDes
21
21
  name
22
22
  value
23
23
  }
24
- ${R}
24
+ ${W}
25
25
  }
26
26
  }
27
- }`;return e.queryKey&&(C=`${e.queryKey}: ${C}`),C}async function ze(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 He=f.goldsky,je=1e3;async function ye(e,t){let n=[{name:"Authority",value:m.mu}];t.tags&&t.tags.length>0&&t.tags.forEach(r=>n.push(r));try{return await e.ao.spawn({module:t.module,scheduler:t.scheduler,signer:e.signer,tags:n,data:t.data})}catch(r){throw new Error(r.message??"Error spawning process")}}async function N(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 D(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(o){throw console.error(o),new Error("Invalid JSON data")}r=t.data}let a=await e.ao.dryrun({process:t.processId,tags:n,data:r});if(a.Messages&&a.Messages.length){if(a.Messages[0].Data)return JSON.parse(a.Messages[0].Data);if(a.Messages[0].Tags)return a.Messages[0].Tags.reduce((o,i)=>(o[i.name]=i.value,o),{})}}catch(n){throw new Error(n.message??"Error dryrunning process")}}async function _e(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(a=>{let o=u(a.Tags,"Action")||t.action,i=null,c=a.Data;if(c)try{i=JSON.parse(c)}catch{i=c}let g=u(a.Tags,"Status"),y=u(a.Tags,"Message");r[o]={id:t.messageId,status:g,message:y,data:i}}),r}else return null}catch(n){console.error(n)}}async function de(e,t){let n=null;if(t.evalSrc?n=t.evalSrc:t.evalTxId&&(n=await Ve(t.evalTxId)),n)try{let r=await N(e,{processId:t.processId,action:"Eval",data:n,tags:t.evalTags||null,useRawData:!0});return L(`Eval: ${r}`),await _e(e,{processId:t.processId,messageId:r,action:"Eval"})}catch(r){throw new Error(r.message??"Error sending process eval")}return null}function ge(e){return async(t,n)=>{try{let r={module:t.module||m.module,scheduler:t.scheduler||m.scheduler};t.spawnData&&(r.data=t.spawnData),t.spawnTags&&(r.tags=t.spawnTags),n&&n("Spawning process...");let a=await ye(e,r);if(t.evalTxId||t.evalSrc){n&&n("Retrieving process..."),await me(a,n),n&&n("Process retrieved!"),n&&n("Sending eval...");try{await de(e,{processId:a,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(o){throw new Error(o.message??"Error creating process")}}return a}catch(r){throw new Error(r.message??"Error creating process")}}}async function B(e,t,n){try{let r={module:t.module||m.module,scheduler:t.scheduler||m.scheduler};t.spawnData&&(r.data=t.spawnData),t.spawnTags&&(r.tags=t.spawnTags),n&&n("Spawning process...");let a=await ye(e,r);if(n&&n("Retrieving process..."),await me(a,n),t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await de(e,{processId:a,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(o){throw new Error(o.message??"Error creating process")}}return a}catch(r){throw new Error(r.message??"Error creating process")}}async function me(e,t){let n=0;for(;n<je;){await new Promise(a=>setTimeout(a,2e3));let r=await h({gateway:He,ids:[e]});if(r?.data?.length){let a=r.data[0].node.id;return L(`Fetched transaction: ${a} (Try ${n+1})`),a}else L(`Transaction not found: ${e} (Try ${n+1})`),n++}throw new Error("Process not found, please try again")}async function Ve(e){try{return await(await fetch(Q(e))).text()}catch(t){throw new Error(t)}}var $t=p(l(),1);function fe(e){return async t=>{if(I(t))return t;if(!e.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await Te(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}}async function k(e,t){if(I(t))return t;if(!e.arweave)throw new Error("Must initialize with Arweave in order to create transactions");try{return await Te(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}async function Te(e,t){let n=null,r=null;try{typeof t.data=="string"&&t.data.startsWith("data:")&&(n=Buffer.from(ce(t.data),"base64"),r=ie(t.data))}catch(a){throw new Error(a)}if(n&&r){let a=le(n);if(L(`Content upload size: ${a}`),a<Number(ae.dispatchUploadSize)){let o=await e.arweave.createTransaction({data:n},"use_wallet");return o.addTag(s.keys.contentType,r),t.tags&&t.tags.length>0&&t.tags.forEach(c=>o.addTag(c.name,c.value)),(await global.window.arweaveWallet.dispatch(o)).id}else throw new Error("Data exceeds max upload limit")}else throw new Error("Error preparing transaction data")}var Tn=p(l(),1);var zt=p(l(),1);function U(e){return async(t,n)=>{let r=nt(t);if(r)throw new Error(r);let a=re[t.contentType]?.serialize(t.data)??t.data,o=[{name:s.keys.bootloaderInit,value:t.src??m.src.asset}];o.push(...tt(t)),o.push(T("Name",t.title)),o.push(T("Ticker","ATOMIC")),o.push(T("Denomination",t.denomination?t.denomination.toString():"1")),o.push(T("TotalSupply",t.supply?t.supply.toString():"1")),t.creator&&o.push(T("Creator",t.creator)),t.collectionId&&o.push(T("Collection",t.collectionId)),t.transferable||o.push(T("Transferable","false"));try{return await B(e,{spawnTags:o,spawnData:a},n?c=>n(c):void 0)}catch(i){throw new Error(i.message??"Error creating asset")}}}function Z(e){return async t=>{try{let n=await h({gateway:f.goldsky,ids:[t],tags:null,owners:null,cursor:null});if(n&&n.data.length){let r=q(n.data[0]),a={ticker:null,denomination:null,balances:null,transferable:null,creator:null,metadata:{}},o=await D(e,{processId:r.id,action:"Info"});if(o&&((o.Name||o.name)&&(r.title=o.Name||o.name),(o.Ticker||o.ticker)&&(a.ticker=o.Ticker||o.ticker),(o.Denomination||o.denomination)&&(a.denomination=o.Denomination||o.denomination),(o.Logo||o.logo)&&(r.thumbnail=o.Logo||o.logo),o.Balances&&(a.balances=Object.fromEntries(Object.entries(o.Balances).filter(([i,c])=>Number(c)!==0))),o.Transferable!==void 0?a.transferable=o.Transferable:a.transferable=!0,(o.Creator||o.creator)&&(a.creator=o.Creator||o.creator),o.AssetMetadata))for(let[i,c]of Object.entries(o.AssetMetadata))i in a||(a.metadata[i]=c);if(!a.balances)try{let i=await D(e,{processId:r.id,action:"Balances"});i&&(a.balances=i)}catch(i){console.error(i)}return{...r,...x(a)}}return null}catch(n){throw new Error(n.message||"Error fetching atomic asset")}}}async function he(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=>q(n)):null}catch(t){throw new Error(t)}}function q(e){let t=new Set([s.keys.creator,s.keys.title,s.keys.name,s.keys.description,s.keys.type,s.keys.topic,s.keys.implements,s.keys.contentType,s.keys.renderWith,s.keys.thumbnail,s.keys.license,s.keys.access,s.keys.derivations,s.keys.commericalUse,s.keys.dataModelTraining,s.keys.paymentMode,s.keys.paymentAddress,s.keys.currency,s.keys.collectionId,s.keys.dateCreated]);return{id:e.node.id,owner:e.node.owner.address,creator:u(e.node.tags,s.keys.creator),title:Ye(e),description:u(e.node.tags,s.keys.description),type:u(e.node.tags,s.keys.type),topics:Ke(e),implementation:u(e.node.tags,s.keys.implements),contentType:u(e.node.tags,s.keys.contentType),renderWith:u(e.node.tags,s.keys.renderWith),thumbnail:u(e.node.tags,s.keys.thumbnail),udl:et(e),collectionId:u(e.node.tags,s.keys.collectionId),dateCreated:Xe(e),blockHeight:e.node.block?e.node.block.height:0,tags:e.node.tags.filter(r=>!t.has(r.name))}}function Ye(e){return u(e.node.tags,s.keys.title)||u(e.node.tags,s.keys.name)||se(e.node.id,!1)}function Ke(e){return e.node.tags.filter(t=>t.name.includes(s.keys.topic.toLowerCase())).map(t=>t.value)}function Xe(e){if(e.node.block)return e.node.block.timestamp*1e3;let t=u(e.node.tags,s.keys.dateCreated);return t?Number(t):0}function et(e){let t=u(e.node.tags,s.keys.license);return t&&t===oe.udl.address?{access:{value:u(e.node.tags,s.keys.access)},derivations:{value:u(e.node.tags,s.keys.derivations)},commercialUse:{value:u(e.node.tags,s.keys.commericalUse)},dataModelTraining:{value:u(e.node.tags,s.keys.dataModelTraining)},paymentMode:u(e.node.tags,s.keys.paymentMode),paymentAddress:u(e.node.tags,s.keys.paymentAddress),currency:u(e.node.tags,s.keys.currency)}:null}function tt(e){let t=[{name:s.keys.title,value:e.title},{name:s.keys.description,value:e.description},{name:s.keys.type,value:e.type},{name:s.keys.contentType,value:e.contentType},{name:s.keys.implements,value:"ANS-110"},{name:s.keys.dateCreated,value:new Date().getTime().toString()}];return e.topics.forEach(n=>t.push({name:s.keys.topic,value:n})),e.creator&&t.push({name:s.keys.creator,value:e.creator}),e.collectionId&&t.push({name:s.keys.collectionId,value:e.collectionId}),e.renderWith&&t.push({name:s.keys.renderWith,value:e.renderWith}),e.thumbnail&&I(e.thumbnail)&&t.push({name:s.keys.thumbnail,value:e.thumbnail}),e.tags&&e.tags.forEach(n=>t.push(n)),t}function nt(e){if(typeof e!="object"||e===null)return"The provided arguments are invalid or empty.";let t=["title","description","type","topics","contentType","data"];for(let n of t)if(!(n in e))return`Missing field '${n}'.`;return typeof e.title!="string"||e.title.trim()===""?"Title is required":typeof e.description!="string"?"The description must be a valid string":typeof e.type!="string"||e.type.trim()===""?"Type must be a non-empty string":!Array.isArray(e.topics)||e.topics.length===0?"Topics are required":typeof e.contentType!="string"||e.contentType.trim()===""?"Content type must be a non-empty string":e.data===void 0||e.data===null?"The data field is required":"creator"in e&&typeof e.creator!="string"?"Creator must be a valid string":"collectionId"in e&&typeof e.collectionId!="string"?"Collection ID must be a valid string":"renderWith"in e&&typeof e.renderWith!="string"?"Render with value must be a valid string":"thumbnail"in e&&typeof e.thumbnail!="string"?"Thumbnail must be a valid string":"supply"in e&&(typeof e.supply!="number"||e.supply<=0)?"Supply must be a positive number":"transferable"in e&&typeof e.transferable!="boolean"?"Transferable must be a boolean value":"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 Xt=p(l(),1);var rt="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",$="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function we(e){return async t=>{if(!e.signer)throw new Error("Must provide a signer when initializing to create collections");let n=new Date().getTime().toString(),r=[{name:s.keys.contentType,value:"application/json"},{name:s.keys.creator,value:t.creator},{name:s.keys.ans110.title,value:W(t.title)},{name:s.keys.ans110.description,value:W(t.description)},{name:s.keys.ans110.type,value:s.values.document},{name:s.keys.dateCreated,value:n},{name:s.keys.name,value:W(t.title)},{name:"Action",value:"Add-Collection"}],a=t.banner?await k(e,t.thumbnail):$,o=t.banner?await k(e,t.banner):rt;t.thumbnail&&r.push({name:s.keys.thumbnail,value:a}),t.banner&&r.push({name:s.keys.banner,value:o});let i=await fetch(Q(m.src.collection));if(!i.ok)throw new Error("Unable to fetch process src");let c=await i.text();c=c.replace(/'<NAME>'/g,J(t.title)),c=c.replace(/'<DESCRIPTION>'/g,J(t.description)),c=c.replace(/<CREATOR>/g,t.creator),c=c.replace(/<BANNER>/g,o||$),c=c.replace(/<THUMBNAIL>/g,a||$),c=c.replace(/<DATECREATED>/g,n),c=c.replace(/<LASTUPDATE>/g,n);let g,y=0,R=25;for(;!g&&y<R;)try{g=await e.ao.spawn({module:m.module,scheduler:m.scheduler,signer:e.signer,tags:r}),console.log(`Collection process: ${g}`)}catch(E){if(console.error(`Spawn attempt ${y+1} failed:`,E),y++,y<R)await new Promise(j=>setTimeout(j,1e3));else throw new Error(`Failed to spawn process after ${R} attempts`)}let G;for(y=0;!G;){await new Promise(j=>setTimeout(j,2e3));let E=await h({gateway:f.goldsky,ids:[g||""],owners:null,cursor:null});if(E&&E.data.length)console.log("Fetched transaction",E.data[0].node.id,0),G=E.data[0].node.id;else if(console.log("Transaction not found",g,0),y++,y>=10)throw new Error("Transaction not found after 10 attempts, process deployment retries failed")}await e.ao.message({process:g,signer:e.signer,tags:[{name:"Action",value:"Eval"}],data:c});let C=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:g},{name:"Name",value:W(t.title)},{name:"Creator",value:t.creator},{name:"DateCreated",value:n}];return o&&C.push({name:"Banner",value:o}),a&&C.push({name:"Thumbnail",value:a}),await e.ao.message({process:m.collectionsRegistry,signer:e.signer,tags:C}),await e.ao.message({process:g,signer:e.signer,tags:[{name:"Action",value:"Add-Collection-To-Profile"},{name:"ProfileProcess",value:t.creator}]}),g}}function ve(e){return async t=>await N(e,{processId:t.profileId,action:"Run-Action",tags:null,data:{Target:t.collectionId,Action:"Update-Assets",Input:JSON.stringify({AssetIds:t.assetIds,UpdateType:"Add"})}})}function Ae(e){return async t=>{let n=await D(e,{processId:t,action:"Info"});return{...{id:t,title:n.Name,description:n.Description,creator:n.Creator,dateCreated:n.DateCreated,thumbnail:n.Thumbnail??$,banner:n.Banner??$},assetIds:n.Assets}}}function be(e){return async t=>{let n=t.creator?"Get-Collections-By-User":"Get-Collections",r=await D(e,{processId:m.collectionsRegistry,action:n,tags:t.creator?[{name:"Creator",value:t.creator}]:null});return r&&r.Collections&&r.Collections.length?r.Collections.map(o=>({id:o.Id,title:o.Name.replace(/\[|\]/g,""),description:o.Description,creator:o.Creator,dateCreated:o.DateCreated,banner:o.Banner,thumbnail:o.Thumbnail})):null}}var on=p(l(),1);function xe(e){let t=U(e);return async(n,r)=>{let a=n.tags?n.tags:[];a.push({name:"Data-Source",value:n.parentId}),a.push({name:"Root-Source",value:n.rootId??n.parentId});let o={title:`Comment on ${n.parentId}`,description:`Comment on ${n.parentId}`,type:"comment",topics:[],contentType:"text/plain",data:n.content,creator:n.creator,src:m.src.asset,tags:a};return t(o,r)}}function De(e){let t=Z(e);return async n=>{let r=await t(n.parentId),a=r?.tags?.find(c=>c.name==="Data-Source")?.value,o=r?.tags?.find(c=>c.name==="Root-Source")?.value;if(!a||!o)throw new Error("dataSource and rootSource must be present on a comment");return{...r,dataSource:a,rootSource:o}}}function Ce(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}),a=[];return r&&r.data.length&&(a=r.data.map(o=>q(o))),a.map(o=>{let i=o?.tags?.find(y=>y.name==="Data-Source")?.value,c=o?.tags?.find(y=>y.name==="Root-Source")?.value;if(!i||!c)throw new Error("dataSource and rootSource must be present on a comment");return{...o,dataSource:i,rootSource:c}})}}var fn=p(l(),1);var ln=p(l(),1);function F(e){return async(t,n)=>{try{let r=[{name:s.keys.bootloaderInit,value:m.src.zone}];return t.tags&&t.tags.length&&t.tags.forEach(o=>r.push(o)),await B(e,{spawnTags:r},n?o=>n(o):void 0)}catch(r){throw new Error(r.message??"Error creating zone")}}}function z(e){return async(t,n)=>{try{let r=Object.entries(t).map(([o,i])=>({key:o,value:i}));return await N(e,{processId:n,action:"Zone-Update",data:r})}catch(r){throw new Error(r)}}}function Se(e){return async(t,n)=>{try{return await N(e,{processId:n,action:"Zone-Append",tags:[{name:"Path",value:t.path}],data:t.data})}catch(r){throw new Error(r)}}}function H(e){return async t=>{try{return await D(e,{processId:t,action:"Info"})}catch(n){throw new Error(n)}}}function Ie(e){let t=F(e);return async(n,r)=>{let a=null,o=[{name:s.keys.dataProtocol,value:"Zone"},{name:s.keys.zoneType,value:"User"}],i=async c=>{let g=c.toLowerCase();if(n[g])try{let y=await k(e,n[g]);o.push(T(c,y))}catch(y){r?r(`Failed to resolve ${c}: ${y.message}`):console.error(y)}};o.push(T("Username",n.username)),o.push(T("DisplayName",n.displayName)),o.push(T("Description",n.description)),await Promise.all([i("Thumbnail"),i("Banner")]);try{a=await t({tags:o},r)}catch(c){throw new Error(c.message??"Error creating profile")}return a}}function ke(e){let t=z(e);return async(n,r,a)=>{if(r){let o={Username:n.username,DisplayName:n.displayName,Description:n.description};if(n.thumbnail)try{o.Thumbnail=await k(e,n.thumbnail)}catch(i){a&&a(`Failed to resolve thumbnail: ${i.message}`)}if(n.banner)try{o.Banner=await k(e,n.banner)}catch(i){a&&a(`Failed to resolve banner: ${i.message}`)}try{return await t(o,r)}catch(i){throw new Error(i.message??"Error creating profile")}}else throw new Error("No profile provided")}}function Y(e){let t=H(e);return async n=>{try{let r=await t(n);return{id:n,...x(r.Store??{}),assets:x(r.Assets??[])}}catch(r){throw new Error(r.message??"Error fetching profile")}}}function Ee(e){let t=Y(e);return async n=>{try{let r=await h({gateway:f.arweave,tags:[{name:s.keys.dataProtocol,values:["Zone"]},{name:s.keys.zoneType,values:["User"]}],owners:[n]});return r?.data?.length>0?(r.data.sort((a,o)=>{let i=a.node.block?.timestamp??0;return(o.node.block?.timestamp??0)-i}),await t(r.data[0].node.id)):{id:null}}catch(r){throw new Error(r.message??"Error fetching profile")}}}globalThis.Buffer||(globalThis.Buffer=at);function st(e){return{createZone:F(e),updateZone:z(e),addToZone:Se(e),getZone:H(e),createAtomicAsset:U(e),getAtomicAsset:Z(e),getAtomicAssets:he,createProfile:Ie(e),updateProfile:ke(e),getProfileById:Y(e),getProfileByWalletAddress:Ee(e),createComment:xe(e),getComment:De(e),getComments:Ce(e),createCollection:we(e),updateCollectionAssets:ve(e),getCollection:Ae(e),getCollections:be(e),resolveTransaction:fe(e),getGQLData:h,createProcess:ge(e),mapFromProcessCase:x,mapToProcessCase:O}}var Dn={init:st};export{Dn as default};
27
+ }`;return e.queryKey&&(C=`${e.queryKey}: ${C}`),C}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,Ye=1e3;async function ye(e,t){let n=[{name:"Authority",value:m.mu}];t.tags&&t.tags.length>0&&t.tags.forEach(r=>n.push(r));try{return await e.ao.spawn({module:t.module,scheduler:t.scheduler,signer:e.signer,tags:n,data:t.data})}catch(r){throw new Error(r.message??"Error spawning process")}}function de(e){return async t=>await E(e,t)}async function E(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)}}function ge(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;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,i)=>(a[i.name]=i.value,a),{})}}catch(n){throw new Error(n.message??"Error dryrunning process")}}async function Ke(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,i=null,c=o.Data;if(c)try{i=JSON.parse(c)}catch{i=c}let g=u(o.Tags,"Status"),y=u(o.Tags,"Message");r[a]={id:t.messageId,status:g,message:y,data:i}}),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 Xe(t.evalTxId)),n)try{let r=await E(e,{processId:t.processId,action:"Eval",data:n,tags:t.evalTags||null,useRawData:!0});return R(`Eval: ${r}`),await Ke(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||m.module,scheduler:t.scheduler||m.scheduler};t.spawnData&&(r.data=t.spawnData),t.spawnTags&&(r.tags=t.spawnTags),n&&n("Spawning process...");let o=await ye(e,r);if(t.evalTxId||t.evalSrc){n&&n("Retrieving process..."),await Te(o,n),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 B(e,t,n){try{let r={module:t.module||m.module,scheduler:t.scheduler||m.scheduler};t.spawnData&&(r.data=t.spawnData),t.spawnTags&&(r.tags=t.spawnTags),n&&n("Spawning process...");let o=await ye(e,r);if(n&&n("Retrieving process..."),await Te(o,n),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 Te(e,t){let n=0;for(;n<Ye;){await new Promise(o=>setTimeout(o,2e3));let r=await h({gateway:Je,ids:[e]});if(r?.data?.length){let o=r.data[0].node.id;return R(`Fetched transaction: ${o} (Try ${n+1})`),o}else R(`Transaction not found: ${e} (Try ${n+1})`),n++}throw new Error("Process not found, please try again")}async function Xe(e){try{return await(await fetch(N(e))).text()}catch(t){throw new Error(t)}}var Qt=p(l(),1);function he(e){return async t=>{if(I(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 k(e,t){if(I(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;try{typeof t.data=="string"&&t.data.startsWith("data:")&&(n=Buffer.from(ce(t.data),"base64"),r=ie(t.data))}catch(o){throw new Error(o)}if(n&&r){let o=le(n);if(R(`Content upload size: ${o}`),o<Number(oe.dispatchUploadSize)){let a=await e.arweave.createTransaction({data:n},"use_wallet");return a.addTag(s.keys.contentType,r),t.tags&&t.tags.length>0&&t.tags.forEach(c=>a.addTag(c.name,c.value)),(await global.window.arweaveWallet.dispatch(a)).id}else throw new Error("Data exceeds max upload limit")}else throw new Error("Error preparing transaction data")}var bn=p(l(),1);var Vt=p(l(),1);function U(e){return async(t,n)=>{let r=st(t);if(r)throw new Error(r);let o=re[t.contentType]?.serialize(t.data)??t.data,a=[{name:s.keys.bootloaderInit,value:t.src??m.src.asset}];a.push(...ot(t)),a.push(T("Name",t.title)),a.push(T("Ticker","ATOMIC")),a.push(T("Denomination",t.denomination?t.denomination.toString():"1")),a.push(T("TotalSupply",t.supply?t.supply.toString():"1")),t.creator&&a.push(T("Creator",t.creator)),t.collectionId&&a.push(T("Collection",t.collectionId)),t.transferable||a.push(T("Transferable","false"));try{return await B(e,{spawnTags:a,spawnData:o},n?c=>n(c):void 0)}catch(i){throw new Error(i.message??"Error creating asset")}}}async function J(e,t){try{let n=await h({gateway:f.goldsky,ids:[t],tags:null,owners:null,cursor:null});if(n&&n.data.length){let r=Z(n.data[0]),o={ticker:null,denomination:null,balances:null,transferable:null,creator:null,metadata:{}},a=await D(e,{processId:r.id,action:"Info"});if(a&&((a.Name||a.name)&&(r.title=a.Name||a.name),(a.Ticker||a.ticker)&&(o.ticker=a.Ticker||a.ticker),(a.Denomination||a.denomination)&&(o.denomination=a.Denomination||a.denomination),(a.Logo||a.logo)&&(r.thumbnail=a.Logo||a.logo),a.Balances&&(o.balances=Object.fromEntries(Object.entries(a.Balances).filter(([i,c])=>Number(c)!==0))),a.Transferable!==void 0?o.transferable=a.Transferable:o.transferable=!0,(a.Creator||a.creator)&&(o.creator=a.Creator||a.creator),a.AssetMetadata))for(let[i,c]of Object.entries(a.AssetMetadata))i in o||(o.metadata[i]=c);if(!o.balances)try{let i=await D(e,{processId:r.id,action:"Balances"});i&&(o.balances=i)}catch(i){console.error(i)}return{...r,...x(o)}}return null}catch(n){throw new Error(n.message||"Error fetching atomic asset")}}function ve(e){return async t=>await J(e,t)}async function Ae(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=new Set([s.keys.creator,s.keys.title,s.keys.name,s.keys.description,s.keys.type,s.keys.topic,s.keys.implements,s.keys.contentType,s.keys.renderWith,s.keys.thumbnail,s.keys.license,s.keys.access,s.keys.derivations,s.keys.commericalUse,s.keys.dataModelTraining,s.keys.paymentMode,s.keys.paymentAddress,s.keys.currency,s.keys.collectionId,s.keys.dateCreated]);return{id:e.node.id,owner:e.node.owner.address,creator:u(e.node.tags,s.keys.creator),title:tt(e),description:u(e.node.tags,s.keys.description),type:u(e.node.tags,s.keys.type),topics:nt(e),implementation:u(e.node.tags,s.keys.implements),contentType:u(e.node.tags,s.keys.contentType),renderWith:u(e.node.tags,s.keys.renderWith),thumbnail:u(e.node.tags,s.keys.thumbnail),udl:at(e),collectionId:u(e.node.tags,s.keys.collectionId),dateCreated:rt(e),blockHeight:e.node.block?e.node.block.height:0,tags:e.node.tags.filter(r=>!t.has(r.name))}}function tt(e){return u(e.node.tags,s.keys.title)||u(e.node.tags,s.keys.name)||se(e.node.id,!1)}function nt(e){return e.node.tags.filter(t=>t.name.includes(s.keys.topic.toLowerCase())).map(t=>t.value)}function rt(e){if(e.node.block)return e.node.block.timestamp*1e3;let t=u(e.node.tags,s.keys.dateCreated);return t?Number(t):0}function at(e){let t=u(e.node.tags,s.keys.license);return t&&t===ae.udl.address?{access:{value:u(e.node.tags,s.keys.access)},derivations:{value:u(e.node.tags,s.keys.derivations)},commercialUse:{value:u(e.node.tags,s.keys.commericalUse)},dataModelTraining:{value:u(e.node.tags,s.keys.dataModelTraining)},paymentMode:u(e.node.tags,s.keys.paymentMode),paymentAddress:u(e.node.tags,s.keys.paymentAddress),currency:u(e.node.tags,s.keys.currency)}:null}function ot(e){let t=[{name:s.keys.title,value:e.title},{name:s.keys.description,value:e.description},{name:s.keys.assetType,value:e.type},{name:s.keys.contentType,value:e.contentType},{name:s.keys.implements,value:"ANS-110"},{name:s.keys.dateCreated,value:new Date().getTime().toString()}];return e.topics.forEach(n=>t.push({name:s.keys.topic,value:n})),e.creator&&t.push({name:s.keys.creator,value:e.creator}),e.collectionId&&t.push({name:s.keys.collectionId,value:e.collectionId}),e.renderWith&&t.push({name:s.keys.renderWith,value:e.renderWith}),e.thumbnail&&I(e.thumbnail)&&t.push({name:s.keys.thumbnail,value:e.thumbnail}),e.tags&&e.tags.forEach(n=>t.push(n)),t}function st(e){if(typeof e!="object"||e===null)return"The provided arguments are invalid or empty.";let t=["title","description","type","topics","contentType","data"];for(let n of t)if(!(n in e))return`Missing field '${n}'.`;return typeof e.title!="string"||e.title.trim()===""?"Title is required":typeof e.description!="string"?"The description must be a valid string":typeof e.type!="string"||e.type.trim()===""?"Type must be a non-empty string":!Array.isArray(e.topics)||e.topics.length===0?"Topics are required":typeof e.contentType!="string"||e.contentType.trim()===""?"Content type must be a non-empty string":e.data===void 0||e.data===null?"The data field is required":"creator"in e&&typeof e.creator!="string"?"Creator must be a valid string":"collectionId"in e&&typeof e.collectionId!="string"?"Collection ID must be a valid string":"renderWith"in e&&typeof e.renderWith!="string"?"Render with value must be a valid string":"thumbnail"in e&&typeof e.thumbnail!="string"?"Thumbnail must be a valid string":"supply"in e&&(typeof e.supply!="number"||e.supply<=0)?"Supply must be a positive number":"transferable"in e&&typeof e.transferable!="boolean"?"Transferable must be a boolean value":"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=p(l(),1);var it="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",M="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function be(e){return async t=>{if(!e.signer)throw new Error("Must provide a signer when initializing to create collections");let n=new Date().getTime().toString(),r=[{name:s.keys.contentType,value:"application/json"},{name:s.keys.creator,value:t.creator},{name:s.keys.ans110.title,value:$(t.title)},{name:s.keys.ans110.description,value:$(t.description)},{name:s.keys.ans110.type,value:s.values.document},{name:s.keys.dateCreated,value:n},{name:s.keys.name,value:$(t.title)},{name:"Action",value:"Add-Collection"}],o=t.banner?await k(e,t.thumbnail):M,a=t.banner?await k(e,t.banner):it;t.thumbnail&&r.push({name:s.keys.thumbnail,value:o}),t.banner&&r.push({name:s.keys.banner,value:a});let i=await fetch(N(m.src.collection));if(!i.ok)throw new Error("Unable to fetch process src");let c=await i.text();c=c.replace(/'<NAME>'/g,V(t.title)),c=c.replace(/'<DESCRIPTION>'/g,V(t.description)),c=c.replace(/<CREATOR>/g,t.creator),c=c.replace(/<BANNER>/g,a||M),c=c.replace(/<THUMBNAIL>/g,o||M),c=c.replace(/<DATECREATED>/g,n),c=c.replace(/<LASTUPDATE>/g,n);let g,y=0,W=25;for(;!g&&y<W;)try{g=await e.ao.spawn({module:m.module,scheduler:m.scheduler,signer:e.signer,tags:r}),console.log(`Collection process: ${g}`)}catch(P){if(console.error(`Spawn attempt ${y+1} failed:`,P),y++,y<W)await new Promise(H=>setTimeout(H,1e3));else throw new Error(`Failed to spawn process after ${W} attempts`)}let G;for(y=0;!G;){await new Promise(H=>setTimeout(H,2e3));let P=await h({gateway:f.goldsky,ids:[g||""],owners:null,cursor:null});if(P&&P.data.length)console.log("Fetched transaction",P.data[0].node.id,0),G=P.data[0].node.id;else if(console.log("Transaction not found",g,0),y++,y>=10)throw new Error("Transaction not found after 10 attempts, process deployment retries failed")}await e.ao.message({process:g,signer:e.signer,tags:[{name:"Action",value:"Eval"}],data:c});let C=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:g},{name:"Name",value:$(t.title)},{name:"Creator",value:t.creator},{name:"DateCreated",value:n}];return a&&C.push({name:"Banner",value:a}),o&&C.push({name:"Thumbnail",value:o}),await e.ao.message({process:m.collectionsRegistry,signer:e.signer,tags:C}),await e.ao.message({process:g,signer:e.signer,tags:[{name:"Action",value:"Add-Collection-To-Profile"},{name:"ProfileProcess",value:t.creator}]}),g}}function xe(e){return async t=>await E(e,{processId:t.profileId,action:"Run-Action",tags:null,data:{Target:t.collectionId,Action:"Update-Assets",Input:JSON.stringify({AssetIds:t.assetIds,UpdateType:"Add"})}})}function De(e){return async t=>{let n=await D(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 Ce(e){return async t=>{let n=t.creator?"Get-Collections-By-User":"Get-Collections",r=await D(e,{processId:m.collectionsRegistry,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=p(l(),1);function Se(e){let t=U(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={title:`Comment on ${n.parentId}`,description:`Comment on ${n.parentId}`,type:"comment",topics:["comment"],contentType:"text/plain",data:n.content,creator:n.creator,src:m.src.asset,tags:o};return t(a,r)}}function Ie(e){return async t=>{try{let n=await J(e,t),r=n?.tags?.find(a=>a.name==="Data-Source")?.value,o=n?.tags?.find(a=>a.name==="Root-Source")?.value;if(!r||!o)throw new Error("dataSource and rootSource must be present on a comment");return{...n,content:await ke(t),dataSource:r,rootSource: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 h({gateway:f.goldsky,ids:null,tags:n,owners:null,cursor:null}),o=[];r&&r.data.length&&(o=r.data.map(i=>Z(i)));let a=[];for(let i of o){let c=i?.tags?.find(y=>y.name==="Data-Source")?.value,g=i?.tags?.find(y=>y.name==="Root-Source")?.value;if(!c||!g)throw new Error("dataSource and rootSource must be present on a comment");a.push({...i,content:await ke(i.id),dataSource:c,rootSource:g})}return a}}async function ke(e){try{return await(await fetch(N(e))).text()}catch(t){throw new Error(t.message??"Error getting comment data")}}var An=p(l(),1);var gn=p(l(),1);function q(e){return async(t,n)=>{try{let r=[{name:s.keys.bootloaderInit,value:m.src.zone}];return t.tags&&t.tags.length&&t.tags.forEach(a=>r.push(a)),await B(e,{spawnTags: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,i])=>({key:a,value:i}));return await E(e,{processId:n,action:"Zone-Update",data:r})}catch(r){throw new Error(r)}}}function Pe(e){return async(t,n)=>{try{return await E(e,{processId:n,action:"Zone-Append",tags:[{name:"Path",value:t.path}],data:t.data})}catch(r){throw new Error(r)}}}function z(e){return async t=>{try{return await D(e,{processId:t,action:"Info"})}catch(n){throw new Error(n)}}}function Le(e){let t=q(e);return async(n,r)=>{let o=null,a=[{name:s.keys.dataProtocol,value:"Zone"},{name:s.keys.zoneType,value:"User"}],i=async c=>{let g=c.toLowerCase();if(n[g])try{let y=await k(e,n[g]);a.push(T(c,y))}catch(y){r?r(`Failed to resolve ${c}: ${y.message}`):console.error(y)}};a.push(T("Username",n.username)),a.push(T("DisplayName",n.displayName)),a.push(T("Description",n.description)),await Promise.all([i("Thumbnail"),i("Banner")]);try{o=await t({tags:a},r)}catch(c){throw new Error(c.message??"Error creating profile")}return o}}function Re(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 k(e,n.thumbnail)}catch(i){o&&o(`Failed to resolve thumbnail: ${i.message}`)}if(n.banner)try{a.Banner=await k(e,n.banner)}catch(i){o&&o(`Failed to resolve banner: ${i.message}`)}try{return await t(a,r)}catch(i){throw new Error(i.message??"Error creating profile")}}else throw new Error("No profile provided")}}function Y(e){let t=z(e);return async n=>{try{let r=await t(n);return{id:n,...x(r.Store??{}),assets:x(r.Assets??[])}}catch(r){throw new Error(r.message??"Error fetching profile")}}}function Ne(e){let t=Y(e);return async n=>{try{let r=await h({gateway:f.arweave,tags:[{name:s.keys.dataProtocol,values:["Zone"]},{name:s.keys.zoneType,values:["User"]}],owners:[n]});return r?.data?.length>0?(r.data.sort((o,a)=>{let i=o.node.block?.timestamp??0;return(a.node.block?.timestamp??0)-i}),await t(r.data[0].node.id)):{id:null}}catch(r){throw new Error(r.message??"Error fetching profile")}}}globalThis.Buffer||(globalThis.Buffer=lt);function pt(e){return{createZone:q(e),updateZone:F(e),addToZone:Pe(e),getZone:z(e),createAtomicAsset:U(e),getAtomicAsset:ve(e),getAtomicAssets:Ae,createProfile:Le(e),updateProfile:Re(e),getProfileById:Y(e),getProfileByWalletAddress:Ne(e),createComment:Se(e),getComment:Ie(e),getComments:Ee(e),createCollection:be(e),updateCollectionAssets:xe(e),getCollection:De(e),getCollections:Ce(e),resolveTransaction:he(e),getGQLData:h,createProcess:fe(e),readProcess:ge(e),sendMessage:de(e),mapFromProcessCase:x,mapToProcessCase:Q}}var kn={init:pt};export{kn as default};
28
28
  //# sourceMappingURL=index.js.map