@permaweb/libs 0.0.21 → 0.0.22

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