@permaweb/libs 0.0.19 → 0.0.21

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,4 +1,4 @@
1
- var Ne=Object.create;var J=Object.defineProperty;var Re=Object.getOwnPropertyDescriptor;var We=Object.getOwnPropertyNames;var Me=Object.getPrototypeOf,$e=Object.prototype.hasOwnProperty;var Ge=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Oe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of We(t))!$e.call(e,o)&&o!==n&&J(e,o,{get:()=>t[o],enumerable:!(r=Re(t,o))||r.enumerable});return e};var l=(e,t,n)=>(n=e!=null?Ne(Me(e)):{},Oe(t||!e||!e.__esModule?J(n,"default",{value:e,enumerable:!0}):n,e));var c=Ge((pt,ee)=>{var g=ee.exports={},w,v;function F(){throw new Error("setTimeout has not been defined")}function H(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?w=setTimeout:w=F}catch{w=F}try{typeof clearTimeout=="function"?v=clearTimeout:v=H}catch{v=H}})();function Y(e){if(w===setTimeout)return setTimeout(e,0);if((w===F||!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 Be(e){if(v===clearTimeout)return clearTimeout(e);if((v===H||!v)&&clearTimeout)return v=clearTimeout,clearTimeout(e);try{return v(e)}catch{try{return v.call(null,e)}catch{return v.call(this,e)}}}var A=[],k=!1,C,$=-1;function Qe(){!k||!C||(k=!1,C.length?A=C.concat(A):$=-1,A.length&&K())}function K(){if(!k){var e=Y(Qe);k=!0;for(var t=A.length;t;){for(C=A,A=[];++$<t;)C&&C[$].run();$=-1,t=A.length}C=null,k=!1,Be(e)}}g.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 X(e,t)),A.length===1&&!k&&Y(K)};function X(e,t){this.fun=e,this.array=t}X.prototype.run=function(){this.fun.apply(null,this.array)};g.title="browser";g.browser=!0;g.env={};g.argv=[];g.version="";g.versions={};function b(){}g.on=b;g.addListener=b;g.once=b;g.off=b;g.removeListener=b;g.removeAllListeners=b;g.emit=b;g.prependListener=b;g.prependOnceListener=b;g.listeners=function(e){return[]};g.binding=function(e){throw new Error("process.binding is not supported")};g.cwd=function(){return"/"};g.chdir=function(e){throw new Error("process.chdir is not supported")};g.umask=function(){return 0}});var Pn=l(c(),1);import{Buffer as it}from"buffer";var vt=l(c(),1);var yt=l(c(),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:"Dw8yZwAc8Sg1lo2juHJc79RANWS7AOxe1DJDGScqmIo",collection:"2ZDuM2VUCN8WHoAKOOjiH4_7Apq0ZHKnTWdLppxCdGY"},collectionsRegistry:"TFWDmf8a3_nw43GCm_CuYlYoylHAjCcFGbgHfDaGcsg"},te={"application/json":{type:"application/json",serialize:e=>JSON.stringify(e)}},T={arweave:"arweave.net",goldsky:"arweave-search.goldsky.com"},ne={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"}},re={node1:"https://up.arweave.net",node2:"https://turbo.ardrive.io",batchSize:1,chunkSize:75e5,dispatchUploadSize:100*1024};var ht=l(c(),1);var mt=l(c(),1);function S(e){return e?/^[a-z0-9_-]{43}$/i.test(e):!1}function ae(e,t){if(!e)return"";if(!S(e))return e;let n=e.substring(0,5)+"..."+e.substring(36,e.length);return t?`(${n})`:n}function y(e,t){for(let n=0;n<e.length;n++)if(e[n]&&e[n].name===t)return e[n].value;return null}function oe(e){let t=e.match(/^data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+);base64,/);return t?t[1]:null}function se(e){return e.split(",")[1]}function ie(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 R(e){let t;return t=e.replace(/\[|\]/g,""),t}var I=(...e)=>{console.log("[@permaweb/libs]",...e)};function Ue(e){return e.replace(/^[a-z]/,t=>t.toUpperCase())}function G(e){return Array.isArray(e)?e.map(G):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let o=Ue(n);return t[o]=G(r),t},{}):e}function Ze(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=Ze(n);return t[o]=x(r),t},{}):e}function f(e,t){return{name:`${s.keys.bootloader}-${e}`,value:t}}var qe="https://arweave.net";function L(e){return`${qe}/${e}`}var wt=l(c(),1);var Ot=l(c(),1);var Rt=l(c(),1);var It=l(c(),1);var ce={p1:"P1",end:"END"},le={default:100};async function h(e){let t=e.paginator?e.paginator:le.default,n=[],r=0,o=null;if(e.ids&&!e.ids.length)return{data:n,count:r,nextCursor:o,previousCursor:null};try{let a=He(e),i=await je({gateway:e.gateway,query:Fe(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=ce.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 Fe(e){let t={query:`query { ${e} }`};return JSON.stringify(t)}function He(e){let t=e.paginator?e.paginator:le.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,p=e.cursor&&e.cursor!==ce.end?`"${e.cursor}"`:null,u=`first: ${t}`,d="",M="data { size type } owner { address } block { height timestamp }",q="";switch(e.gateway){case T.arweave:break;case T.goldsky:d="count";break}let z=`
1
+ var Le=Object.create;var J=Object.defineProperty;var Ne=Object.getOwnPropertyDescriptor;var We=Object.getOwnPropertyNames;var Me=Object.getPrototypeOf,$e=Object.prototype.hasOwnProperty;var Ge=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Oe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of We(t))!$e.call(e,o)&&o!==n&&J(e,o,{get:()=>t[o],enumerable:!(r=Ne(t,o))||r.enumerable});return e};var l=(e,t,n)=>(n=e!=null?Le(Me(e)):{},Oe(t||!e||!e.__esModule?J(n,"default",{value:e,enumerable:!0}):n,e));var c=Ge((pt,ee)=>{var m=ee.exports={},w,v;function q(){throw new Error("setTimeout has not been defined")}function H(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?w=setTimeout:w=q}catch{w=q}try{typeof clearTimeout=="function"?v=clearTimeout:v=H}catch{v=H}})();function Y(e){if(w===setTimeout)return setTimeout(e,0);if((w===q||!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 Qe(e){if(v===clearTimeout)return clearTimeout(e);if((v===H||!v)&&clearTimeout)return v=clearTimeout,clearTimeout(e);try{return v(e)}catch{try{return v.call(null,e)}catch{return v.call(this,e)}}}var A=[],k=!1,C,$=-1;function Be(){!k||!C||(k=!1,C.length?A=C.concat(A):$=-1,A.length&&K())}function K(){if(!k){var e=Y(Be);k=!0;for(var t=A.length;t;){for(C=A,A=[];++$<t;)C&&C[$].run();$=-1,t=A.length}C=null,k=!1,Qe(e)}}m.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 X(e,t)),A.length===1&&!k&&Y(K)};function X(e,t){this.fun=e,this.array=t}X.prototype.run=function(){this.fun.apply(null,this.array)};m.title="browser";m.browser=!0;m.env={};m.argv=[];m.version="";m.versions={};function b(){}m.on=b;m.addListener=b;m.once=b;m.off=b;m.removeListener=b;m.removeAllListeners=b;m.emit=b;m.prependListener=b;m.prependOnceListener=b;m.listeners=function(e){return[]};m.binding=function(e){throw new Error("process.binding is not supported")};m.cwd=function(){return"/"};m.chdir=function(e){throw new Error("process.chdir is not supported")};m.umask=function(){return 0}});var En=l(c(),1);import{Buffer as it}from"buffer";var vt=l(c(),1);var yt=l(c(),1),g={module:"Do_Uc2Sju_ffp6Ev0AnLVdPtot15rvMjP-a9VVaA5fM",scheduler:"_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA",mu:"fcoN_xJeisVsPXA-trzVAuIiqO3ydLQxM-L4XbrQKzY",src:{asset:"Xr4vjtRZLlW-8pv7jZC_89xXXfjQ_VgjdRbt8fN47mg",zone:"M9G2B9Uvk8VK1pxloESeT4XScguRKSzLyd4as1HFOJ8",collection:"2ZDuM2VUCN8WHoAKOOjiH4_7Apq0ZHKnTWdLppxCdGY"},collectionsRegistry:"TFWDmf8a3_nw43GCm_CuYlYoylHAjCcFGbgHfDaGcsg"},te={"application/json":{type:"application/json",serialize:e=>JSON.stringify(e)}},T={arweave:"arweave.net",goldsky:"arweave-search.goldsky.com"},ne={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"}},re={node1:"https://up.arweave.net",node2:"https://turbo.ardrive.io",batchSize:1,chunkSize:75e5,dispatchUploadSize:100*1024};var ht=l(c(),1);var gt=l(c(),1);function S(e){return e?/^[a-z0-9_-]{43}$/i.test(e):!1}function ae(e,t){if(!e)return"";if(!S(e))return e;let n=e.substring(0,5)+"..."+e.substring(36,e.length);return t?`(${n})`:n}function y(e,t){for(let n=0;n<e.length;n++)if(e[n]&&e[n].name===t)return e[n].value;return null}function oe(e){let t=e.match(/^data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+);base64,/);return t?t[1]:null}function se(e){return e.split(",")[1]}function ie(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 I=(...e)=>{console.log("[@permaweb/libs]",...e)};function Ue(e){return e.replace(/^[a-z]/,t=>t.toUpperCase())}function G(e){return Array.isArray(e)?e.map(G):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let o=Ue(n);return t[o]=G(r),t},{}):e}function Ze(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=Ze(n);return t[o]=x(r),t},{}):e}function f(e,t){return{name:`${s.keys.bootloader}-${e}`,value:t}}var ze="https://arweave.net";function R(e){return`${ze}/${e}`}var wt=l(c(),1);var Ot=l(c(),1);var Nt=l(c(),1);var It=l(c(),1);var ce={p1:"P1",end:"END"},le={default:100};async function h(e){let t=e.paginator?e.paginator:le.default,n=[],r=0,o=null;if(e.ids&&!e.ids.length)return{data:n,count:r,nextCursor:o,previousCursor:null};try{let a=He(e),i=await je({gateway:e.gateway,query:qe(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=ce.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 qe(e){let t={query:`query { ${e} }`};return JSON.stringify(t)}function He(e){let t=e.paginator?e.paginator:le.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,p=e.cursor&&e.cursor!==ce.end?`"${e.cursor}"`:null,u=`first: ${t}`,d="",N="data { size type } owner { address } block { height timestamp }",z="";switch(e.gateway){case T.arweave:break;case T.goldsky:d="count";break}let F=`
2
2
  transactions(
3
3
  ids: ${n},
4
4
  tags: ${a},
@@ -6,7 +6,7 @@ var Ne=Object.create;var J=Object.defineProperty;var Re=Object.getOwnPropertyDes
6
6
  owners: ${i},
7
7
  block: ${o},
8
8
  after: ${p},
9
- ${q}
9
+ ${z}
10
10
 
11
11
  ){
12
12
  ${d}
@@ -21,8 +21,8 @@ var Ne=Object.create;var J=Object.defineProperty;var Re=Object.getOwnPropertyDes
21
21
  name
22
22
  value
23
23
  }
24
- ${M}
24
+ ${N}
25
25
  }
26
26
  }
27
- }`;return e.queryKey&&(z=`${e.queryKey}: ${z}`),z}async function je(e){try{return await(await fetch(`https://${e.gateway}/graphql`,{method:"POST",headers:{"Content-Type":"application/json"},body:e.query})).json()}catch(t){throw t}}var _e=T.goldsky,Ve=1e3;async function pe(e,t){let n=[{name:"Authority",value:m.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 I(`Process ID: ${r}`),r}catch(r){throw new Error(r.message??"Error spawning process")}}function ue(e){return async t=>await P(e,t)}async function P(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 ye(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 Je(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=y(o.Tags,"Action")||t.action,i=null,p=o.Data;if(p)try{i=JSON.parse(p)}catch{i=p}let u=y(o.Tags,"Status"),d=y(o.Tags,"Message");r[a]={id:t.messageId,status:u,message:d,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 Ye(t.evalTxId)),n)try{let r=await P(e,{processId:t.processId,action:"Eval",data:n,tags:t.evalTags||null,useRawData:!0});return I(`Eval: ${r}`),await Je(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 o=await pe(e,r);if(t.evalTxId||t.evalSrc){n&&n("Retrieving process..."),await me(o,n),n&&n("Process retrieved!"),n&&n("Sending eval...");try{await de(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 N(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 pe(e,r);if(n&&n("Retrieving process..."),await me(o,n),t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await de(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 me(e,t){let n=0;for(;n<Ve;){await new Promise(o=>setTimeout(o,2e3));let r=await h({gateway:_e,ids:[e]});if(r?.data?.length){let o=r.data[0].node.id;return I(`Process found: ${o} (Try ${n+1})`),o}else I(`Process not found: ${e} (Try ${n+1})`),n++}throw new Error("Process not found, please try again")}async function Ye(e){try{return await(await fetch(L(e))).text()}catch(t){throw new Error(t)}}var Gt=l(c(),1);function fe(e){return async t=>{if(S(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 E(e,t){if(S(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(se(t.data),"base64"),r=oe(t.data))}catch(o){throw new Error(o)}if(n&&r){let o=ie(n);if(I(`Content upload size: ${o}`),o<Number(re.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(p=>a.addTag(p.name,p.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 wn=l(c(),1);var jt=l(c(),1);function O(e){return async(t,n)=>{let r=at(t);if(r)throw new Error(r);let o=te[t.contentType]?.serialize(t.data)??t.data,a=[{name:s.keys.bootloaderInit,value:t.src??m.src.asset}];a.push(...rt(t)),a.push(f("Name",t.title)),a.push(f("Ticker","ATOMIC")),a.push(f("Denomination",t.denomination?t.denomination.toString():"1")),a.push(f("TotalSupply",t.supply?t.supply.toString():"1")),t.creator&&a.push(f("Creator",t.creator)),t.collectionId&&a.push(f("Collection",t.collectionId)),t.transferable||a.push(f("Transferable","false"));try{return await N(e,{spawnTags:a,spawnData:o},n?p=>n(p):void 0)}catch(i){throw new Error(i.message??"Error creating asset")}}}async function _(e,t){try{let n=await h({gateway:T.goldsky,ids:[t],tags:null,owners:null,cursor:null});if(n&&n.data.length){let r=B(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,p])=>Number(p)!==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,p]of Object.entries(a.AssetMetadata))i in o||(o.metadata[i]=p);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 he(e){return async t=>await _(e,t)}async function we(e){try{let t=await h({gateway:T.arweave,ids:e??null,tags:null,owners:null,cursor:null});return t&&t.data.length?t.data.map(n=>B(n)):null}catch(t){throw new Error(t)}}function B(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:y(e.node.tags,s.keys.creator),title:Xe(e),description:y(e.node.tags,s.keys.description),type:y(e.node.tags,s.keys.type),topics:et(e),implementation:y(e.node.tags,s.keys.implements),contentType:y(e.node.tags,s.keys.contentType),renderWith:y(e.node.tags,s.keys.renderWith),thumbnail:y(e.node.tags,s.keys.thumbnail),udl:nt(e),collectionId:y(e.node.tags,s.keys.collectionId),dateCreated:tt(e),blockHeight:e.node.block?e.node.block.height:0,tags:e.node.tags.filter(r=>!t.has(r.name))}}function Xe(e){return y(e.node.tags,s.keys.title)||y(e.node.tags,s.keys.name)||ae(e.node.id,!1)}function et(e){return e.node.tags.filter(t=>t.name.includes(s.keys.topic.toLowerCase())).map(t=>t.value)}function tt(e){if(e.node.block)return e.node.block.timestamp*1e3;let t=y(e.node.tags,s.keys.dateCreated);return t?Number(t):0}function nt(e){let t=y(e.node.tags,s.keys.license);return t&&t===ne.udl.address?{access:{value:y(e.node.tags,s.keys.access)},derivations:{value:y(e.node.tags,s.keys.derivations)},commercialUse:{value:y(e.node.tags,s.keys.commericalUse)},dataModelTraining:{value:y(e.node.tags,s.keys.dataModelTraining)},paymentMode:y(e.node.tags,s.keys.paymentMode),paymentAddress:y(e.node.tags,s.keys.paymentAddress),currency:y(e.node.tags,s.keys.currency)}:null}function rt(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&&S(e.thumbnail)&&t.push({name:s.keys.thumbnail,value:e.thumbnail}),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=["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 en=l(c(),1);var ot="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",W="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function ve(e){return async(t,n)=>{if(!e.signer)throw new Error("Must provide a signer when initializing to create collections");let r=new Date().getTime().toString(),o=[{name:s.keys.contentType,value:"application/json"},{name:s.keys.creator,value:t.creator},{name:s.keys.ans110.title,value:R(t.title)},{name:s.keys.ans110.description,value:R(t.description)},{name:s.keys.ans110.type,value:s.values.document},{name:s.keys.dateCreated,value:r},{name:s.keys.name,value:R(t.title)},{name:"Action",value:"Add-Collection"}],a=null,i=null;try{a=t.banner?await E(e,t.thumbnail):W,i=t.banner?await E(e,t.banner):ot,t.thumbnail&&o.push({name:s.keys.thumbnail,value:a}),t.banner&&o.push({name:s.keys.banner,value:i})}catch(d){console.error(d)}let p=await fetch(L(m.src.collection));if(!p.ok)throw new Error("Unable to fetch process src");let u=await p.text();u=u.replace(/'<NAME>'/g,j(t.title)),u=u.replace(/'<DESCRIPTION>'/g,j(t.description)),u=u.replace(/<CREATOR>/g,t.creator),u=u.replace(/<THUMBNAIL>/g,a||W),u=u.replace(/<BANNER>/g,i||W),u=u.replace(/<DATECREATED>/g,r),u=u.replace(/<LASTUPDATE>/g,r);try{let d=await N(e,{spawnTags:o},n?q=>n(q):void 0);await e.ao.message({process:d,signer:e.signer,tags:[{name:"Action",value:"Eval"}],data:u});let M=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:d},{name:"Name",value:R(t.title)},{name:"Creator",value:t.creator},{name:"DateCreated",value:r}];return i&&M.push({name:"Banner",value:i}),a&&M.push({name:"Thumbnail",value:a}),await e.ao.message({process:d,signer:e.signer,tags:[{name:"Action",value:"Add-Collection-To-Profile"},{name:"ProfileProcess",value:t.creator}]}),d}catch(d){throw new Error(d.message??"Error creating collection")}}}function Ae(e){return async t=>await P(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 be(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??W,banner:n.Banner??W},assetIds:n.Assets}}}function xe(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 sn=l(c(),1);function De(e){let t=O(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 Ce(e){return async t=>{try{let n=await _(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 Ie(t),dataSource:r,rootSource:o}}catch(n){throw new Error(n.message??"Error getting comment")}}}function Se(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:T.goldsky,ids:null,tags:n,owners:null,cursor:null}),o=[];r&&r.data.length&&(o=r.data.map(i=>B(i)));let a=[];for(let i of o){let p=i?.tags?.find(d=>d.name==="Data-Source")?.value,u=i?.tags?.find(d=>d.name==="Root-Source")?.value;if(!p||!u)throw new Error("dataSource and rootSource must be present on a comment");a.push({...i,content:await Ie(i.id),dataSource:p,rootSource:u})}return a}}async function Ie(e){try{return await(await fetch(L(e))).text()}catch(t){throw new Error(t.message??"Error getting comment data")}}var hn=l(c(),1);var un=l(c(),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 N(e,{spawnTags:r},n?a=>n(a):void 0)}catch(r){throw new Error(r.message??"Error creating zone")}}}function U(e){return async(t,n)=>{try{let r=Object.entries(t).map(([a,i])=>({key:a,value:i}));return await P(e,{processId:n,action:"Zone-Update",data:r})}catch(r){throw new Error(r)}}}function Pe(e){return async(t,n)=>{try{return await P(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 Ee(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 p=>{let u=p.toLowerCase();if(n[u])try{let d=await E(e,n[u]);a.push(f(p,d))}catch(d){r?r(`Failed to resolve ${p}: ${d.message}`):console.error(d)}};a.push(f("Username",n.username)),a.push(f("DisplayName",n.displayName)),a.push(f("Description",n.description)),await Promise.all([i("Thumbnail"),i("Banner")]);try{o=await t({tags:a},r)}catch(p){throw new Error(p.message??"Error creating profile")}return o}}function ke(e){let t=U(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(i){o&&o(`Failed to resolve thumbnail: ${i.message}`)}if(n.banner)try{a.Banner=await E(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 V(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 Le(e){let t=V(e);return async n=>{try{let r=await h({gateway:T.goldsky,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=it);function ct(e){return{createZone:Q(e),updateZone:U(e),addToZone:Pe(e),getZone:Z(e),createAtomicAsset:O(e),getAtomicAsset:he(e),getAtomicAssets:we,createProfile:Ee(e),updateProfile:ke(e),getProfileById:V(e),getProfileByWalletAddress:Le(e),createComment:De(e),getComment:Ce(e),getComments:Se(e),createCollection:ve(e),updateCollectionAssets:Ae(e),getCollection:be(e),getCollections:xe(e),resolveTransaction:fe(e),getGQLData:h,createProcess:ge(e),readProcess:ye(e),sendMessage:ue(e),mapFromProcessCase:x,mapToProcessCase:G}}var Sn={init:ct};export{Sn as default};
27
+ }`;return e.queryKey&&(F=`${e.queryKey}: ${F}`),F}async function je(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 Ve=T.goldsky,_e=1e3;async function pe(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 I(`Process ID: ${r}`),r}catch(r){throw new Error(r.message??"Error spawning process")}}function ue(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 ye(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 Je(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=y(o.Tags,"Action")||t.action,i=null,p=o.Data;if(p)try{i=JSON.parse(p)}catch{i=p}let u=y(o.Tags,"Status"),d=y(o.Tags,"Message");r[a]={id:t.messageId,status:u,message:d,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 Ye(t.evalTxId)),n)try{let r=await E(e,{processId:t.processId,action:"Eval",data:n,tags:t.evalTags||null,useRawData:!0});return I(`Eval: ${r}`),await Je(e,{processId:t.processId,messageId:r,action:"Eval"})}catch(r){throw new Error(r.message??"Error sending process eval")}return null}function me(e){return async(t,n)=>{try{let r={module:t.module||g.module,scheduler:t.scheduler||g.scheduler};t.spawnData&&(r.data=t.spawnData),t.spawnTags&&(r.tags=t.spawnTags),n&&n("Spawning process...");let o=await pe(e,r);if(t.evalTxId||t.evalSrc){n&&n("Retrieving process..."),await ge(o,n),n&&n("Process retrieved!"),n&&n("Sending eval...");try{await de(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 L(e,t,n){try{let r={module:t.module||g.module,scheduler:t.scheduler||g.scheduler};t.spawnData&&(r.data=t.spawnData),t.spawnTags&&(r.tags=t.spawnTags),n&&n("Spawning process...");let o=await pe(e,r);if(n&&n("Retrieving process..."),await ge(o,n),t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await de(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 ge(e,t){let n=0;for(;n<_e;){await new Promise(o=>setTimeout(o,2e3));let r=await h({gateway:Ve,ids:[e]});if(r?.data?.length){let o=r.data[0].node.id;return I(`Process found: ${o} (Try ${n+1})`),o}else I(`Process not found: ${e} (Try ${n+1})`),n++}throw new Error("Process not found, please try again")}async function Ye(e){try{return await(await fetch(R(e))).text()}catch(t){throw new Error(t)}}var Gt=l(c(),1);function fe(e){return async t=>{if(S(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 P(e,t){if(S(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(se(t.data),"base64"),r=oe(t.data))}catch(o){throw new Error(o)}if(n&&r){let o=ie(n);if(I(`Content upload size: ${o}`),o<Number(re.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(p=>a.addTag(p.name,p.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 wn=l(c(),1);var jt=l(c(),1);function O(e){return async(t,n)=>{let r=at(t);if(r)throw new Error(r);let o=te[t.contentType]?.serialize(t.data)??t.data,a=[{name:s.keys.bootloaderInit,value:t.src??g.src.asset}];a.push(...rt(t)),a.push(f("Name",t.name)),a.push(f("Creator",t.creator)),a.push(f("Ticker","ATOMIC")),a.push(f("Denomination",t.denomination?t.denomination.toString():"1")),a.push(f("TotalSupply",t.supply?t.supply.toString():"1")),t.collectionId&&a.push(f("Collection",t.collectionId)),t.transferable||a.push(f("Transferable","false"));try{return await L(e,{spawnTags:a,spawnData:o},n?p=>n(p):void 0)}catch(i){throw new Error(i.message??"Error creating asset")}}}async function V(e,t){try{let n=await h({gateway:T.goldsky,ids:[t],tags:null,owners:null,cursor:null});if(n&&n.data.length){let r=Q(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=x(a),a&&(a.name&&(r.name=a.name),a.ticker&&(o.ticker=a.ticker),a.denomination&&(o.denomination=a.denomination),a.logo&&(r.thumbnail=a.logo),a.creator&&(o.creator=a.creator),a.balances&&(o.balances=Object.fromEntries(Object.entries(a.balances).filter(([i,p])=>Number(p)!==0))),a.transferable!==void 0?o.transferable=a.transferable:o.transferable=!0,a.assetMetadata))for(let[i,p]of Object.entries(a.assetMetadata))i in o||(o.metadata[i]=p);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,...o}}return null}catch(n){throw new Error(n.message||"Error fetching atomic asset")}}function he(e){return async t=>await V(e,t)}async function we(e){try{let t=await h({gateway:T.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:y(e.node.tags,s.keys.creator),name:Xe(e),description:y(e.node.tags,s.keys.description),type:y(e.node.tags,s.keys.type),topics:et(e),implementation:y(e.node.tags,s.keys.implements),contentType:y(e.node.tags,s.keys.contentType),renderWith:y(e.node.tags,s.keys.renderWith),thumbnail:y(e.node.tags,s.keys.thumbnail),udl:nt(e),collectionId:y(e.node.tags,s.keys.collectionId),dateCreated:tt(e),blockHeight:e.node.block?e.node.block.height:0,tags:e.node.tags.filter(r=>!t.has(r.name))}}function Xe(e){return y(e.node.tags,s.keys.name)||y(e.node.tags,s.keys.title)||ae(e.node.id,!1)}function et(e){return e.node.tags.filter(t=>t.name.includes(s.keys.topic.toLowerCase())).map(t=>t.value)}function tt(e){if(e.node.block)return e.node.block.timestamp*1e3;let t=y(e.node.tags,s.keys.dateCreated);return t?Number(t):0}function nt(e){let t=y(e.node.tags,s.keys.license);return t&&t===ne.udl.address?{access:{value:y(e.node.tags,s.keys.access)},derivations:{value:y(e.node.tags,s.keys.derivations)},commercialUse:{value:y(e.node.tags,s.keys.commericalUse)},dataModelTraining:{value:y(e.node.tags,s.keys.dataModelTraining)},paymentMode:y(e.node.tags,s.keys.paymentMode),paymentAddress:y(e.node.tags,s.keys.paymentAddress),currency:y(e.node.tags,s.keys.currency)}:null}function rt(e){let t=[{name:s.keys.title,value:e.name},{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&&S(e.thumbnail)&&t.push({name:s.keys.thumbnail,value:e.thumbnail}),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","type","topics","contentType","data"];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":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?"Data field is required":typeof e.creator!="string"||e.creator.trim()===""?"Creator is required":"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 en=l(c(),1);var ot="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",M="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function ve(e){return async(t,n)=>{if(!e.signer)throw new Error("Must provide a signer when initializing to create collections");let r=new Date().getTime().toString(),o=[{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:r},{name:s.keys.name,value:W(t.title)},{name:"Action",value:"Add-Collection"}],a=null,i=null;try{a=t.banner?await P(e,t.thumbnail):M,i=t.banner?await P(e,t.banner):ot,t.thumbnail&&o.push({name:s.keys.thumbnail,value:a}),t.banner&&o.push({name:s.keys.banner,value:i})}catch(d){console.error(d)}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,j(t.title)),u=u.replace(/'<DESCRIPTION>'/g,j(t.description)),u=u.replace(/<CREATOR>/g,t.creator),u=u.replace(/<THUMBNAIL>/g,a||M),u=u.replace(/<BANNER>/g,i||M),u=u.replace(/<DATECREATED>/g,r),u=u.replace(/<LASTUPDATE>/g,r);try{let d=await L(e,{spawnTags:o},n?z=>n(z):void 0);await e.ao.message({process:d,signer:e.signer,tags:[{name:"Action",value:"Eval"}],data:u});let N=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:d},{name:"Name",value:W(t.title)},{name:"Creator",value:t.creator},{name:"DateCreated",value:r}];return i&&N.push({name:"Banner",value:i}),a&&N.push({name:"Thumbnail",value:a}),await e.ao.message({process:g.collectionsRegistry,signer:e.signer,tags:N}),await e.ao.message({process:d,signer:e.signer,tags:[{name:"Action",value:"Add-Collection-To-Profile"},{name:"ProfileProcess",value:t.creator}]}),d}catch(d){throw new Error(d.message??"Error creating collection")}}}function Ae(e){return async t=>await E(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 be(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 xe(e){return async t=>{let n=t.creator?"Get-Collections-By-User":"Get-Collections",r=await D(e,{processId:g.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 sn=l(c(),1);function De(e){let t=O(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}`,type:"comment",topics:["comment"],contentType:"text/plain",data:n.content,creator:n.creator,src:g.src.asset,tags:o};return t(a,r)}}function Ce(e){return async t=>{try{let n=await V(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 Ie(t),dataSource:r,rootSource:o}}catch(n){throw new Error(n.message??"Error getting comment")}}}function Se(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:T.goldsky,ids:null,tags:n,owners:null,cursor:null}),o=[];r&&r.data.length&&(o=r.data.map(i=>Q(i)));let a=[];for(let i of o){let p=i?.tags?.find(d=>d.name==="Data-Source")?.value,u=i?.tags?.find(d=>d.name==="Root-Source")?.value;if(!p||!u)throw new Error("dataSource and rootSource must be present on a comment");a.push({...i,content:await Ie(i.id),dataSource:p,rootSource:u})}return a}}async function Ie(e){try{return await(await fetch(R(e))).text()}catch(t){throw new Error(t.message??"Error getting comment data")}}var hn=l(c(),1);var un=l(c(),1);function B(e){return async(t,n)=>{try{let r=[{name:s.keys.bootloaderInit,value:g.src.zone}];return t.tags&&t.tags.length&&t.tags.forEach(a=>r.push(a)),await L(e,{spawnTags:r},n?a=>n(a):void 0)}catch(r){throw new Error(r.message??"Error creating zone")}}}function U(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 Ee(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 Pe(e){let t=B(e);return async(n,r)=>{let o=null,a=[{name:s.keys.dataProtocol,value:"Zone"},{name:s.keys.zoneType,value:"User"}],i=async p=>{let u=p.toLowerCase();if(n[u])try{let d=await P(e,n[u]);a.push(f(p,d))}catch(d){r?r(`Failed to resolve ${p}: ${d.message}`):console.error(d)}};a.push(f("Username",n.username)),a.push(f("DisplayName",n.displayName)),a.push(f("Description",n.description)),await Promise.all([i("Thumbnail"),i("Banner")]);try{o=await t({tags:a},r)}catch(p){throw new Error(p.message??"Error creating profile")}return o}}function ke(e){let t=U(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(i){o&&o(`Failed to resolve thumbnail: ${i.message}`)}if(n.banner)try{a.Banner=await P(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 _(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 Re(e){let t=_(e);return async n=>{try{let r=await h({gateway:T.goldsky,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=it);function ct(e){return{createZone:B(e),updateZone:U(e),addToZone:Ee(e),getZone:Z(e),createAtomicAsset:O(e),getAtomicAsset:he(e),getAtomicAssets:we,createProfile:Pe(e),updateProfile:ke(e),getProfileById:_(e),getProfileByWalletAddress:Re(e),createComment:De(e),getComment:Ce(e),getComments:Se(e),createCollection:ve(e),updateCollectionAssets:Ae(e),getCollection:be(e),getCollections:xe(e),resolveTransaction:fe(e),getGQLData:h,createProcess:me(e),readProcess:ye(e),sendMessage:ue(e),mapFromProcessCase:x,mapToProcessCase:G}}var Sn={init:ct};export{Sn as default};
28
28
  //# sourceMappingURL=index.js.map