@permaweb/libs 0.0.1-beta

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.
Files changed (66) hide show
  1. package/dist/bundle.esm.js +1 -0
  2. package/dist/common/ao.d.ts +24 -0
  3. package/dist/common/ao.js +326 -0
  4. package/dist/common/ao.js.map +1 -0
  5. package/dist/common/arweave.d.ts +7 -0
  6. package/dist/common/arweave.js +62 -0
  7. package/dist/common/arweave.js.map +1 -0
  8. package/dist/common/gql.d.ts +3 -0
  9. package/dist/common/gql.js +176 -0
  10. package/dist/common/gql.js.map +1 -0
  11. package/dist/common/index.d.ts +3 -0
  12. package/dist/common/index.js +4 -0
  13. package/dist/common/index.js.map +1 -0
  14. package/dist/helpers/config.d.ts +67 -0
  15. package/dist/helpers/config.js +68 -0
  16. package/dist/helpers/config.js.map +1 -0
  17. package/dist/helpers/endpoints.d.ts +3 -0
  18. package/dist/helpers/endpoints.js +17 -0
  19. package/dist/helpers/endpoints.js.map +1 -0
  20. package/dist/helpers/index.d.ts +4 -0
  21. package/dist/helpers/index.js +5 -0
  22. package/dist/helpers/index.js.map +1 -0
  23. package/dist/helpers/types.d.ts +184 -0
  24. package/dist/helpers/types.js +2 -0
  25. package/dist/helpers/types.js.map +1 -0
  26. package/dist/helpers/utils.d.ts +37 -0
  27. package/dist/helpers/utils.js +245 -0
  28. package/dist/helpers/utils.js.map +1 -0
  29. package/dist/index.cjs +28 -0
  30. package/dist/index.cjs.js +153 -0
  31. package/dist/index.cjs.js.map +7 -0
  32. package/dist/index.cjs.map +7 -0
  33. package/dist/index.d.ts +3 -0
  34. package/dist/index.esm.js +41 -0
  35. package/dist/index.esm.js.map +7 -0
  36. package/dist/index.js +28 -0
  37. package/dist/index.js.map +7 -0
  38. package/dist/services/assets.d.ts +5 -0
  39. package/dist/services/assets.js +277 -0
  40. package/dist/services/assets.js.map +1 -0
  41. package/dist/services/index.d.ts +3 -0
  42. package/dist/services/index.js +4 -0
  43. package/dist/services/index.js.map +1 -0
  44. package/dist/services/profiles.d.ts +5 -0
  45. package/dist/services/profiles.js +146 -0
  46. package/dist/services/profiles.js.map +1 -0
  47. package/dist/services/zones.d.ts +10 -0
  48. package/dist/services/zones.js +78 -0
  49. package/dist/services/zones.js.map +1 -0
  50. package/dist/types/common/ao.d.ts +25 -0
  51. package/dist/types/common/arweave.d.ts +8 -0
  52. package/dist/types/common/gql.d.ts +3 -0
  53. package/dist/types/common/index.d.ts +3 -0
  54. package/dist/types/helpers/config.d.ts +82 -0
  55. package/dist/types/helpers/endpoints.d.ts +3 -0
  56. package/dist/types/helpers/index.d.ts +4 -0
  57. package/dist/types/helpers/types.d.ts +230 -0
  58. package/dist/types/helpers/utils.d.ts +38 -0
  59. package/dist/types/index.d.ts +63 -0
  60. package/dist/types/services/assets.d.ts +7 -0
  61. package/dist/types/services/collections.d.ts +18 -0
  62. package/dist/types/services/comments.d.ts +27 -0
  63. package/dist/types/services/index.d.ts +5 -0
  64. package/dist/types/services/profiles.d.ts +5 -0
  65. package/dist/types/services/zones.d.ts +10 -0
  66. package/package.json +65 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";var Se=Object.create;var $=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Ee=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Pe=Object.prototype.hasOwnProperty;var Re=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Le=(e,t)=>{for(var n in t)$(e,n,{get:t[n],enumerable:!0})},j=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Ee(t))!Pe.call(e,a)&&a!==n&&$(e,a,{get:()=>t[a],enumerable:!(r=Ie(t,a))||r.enumerable});return e};var l=(e,t,n)=>(n=e!=null?Se(ke(e)):{},j(t||!e||!e.__esModule?$(n,"default",{value:e,enumerable:!0}):n,e)),Ne=e=>j($({},"__esModule",{value:!0}),e);var c=Re((st,Y)=>{var d=Y.exports={},T,h;function F(){throw new Error("setTimeout has not been defined")}function q(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?T=setTimeout:T=F}catch{T=F}try{typeof clearTimeout=="function"?h=clearTimeout:h=q}catch{h=q}})();function V(e){if(T===setTimeout)return setTimeout(e,0);if((T===F||!T)&&setTimeout)return T=setTimeout,setTimeout(e,0);try{return T(e,0)}catch{try{return T.call(null,e,0)}catch{return T.call(this,e,0)}}}function Me(e){if(h===clearTimeout)return clearTimeout(e);if((h===q||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(e);try{return h(e)}catch{try{return h.call(null,e)}catch{return h.call(this,e)}}}var v=[],E=!1,D,G=-1;function $e(){!E||!D||(E=!1,D.length?v=D.concat(v):G=-1,v.length&&_())}function _(){if(!E){var e=V($e);E=!0;for(var t=v.length;t;){for(D=v,v=[];++G<t;)D&&D[G].run();G=-1,t=v.length}D=null,E=!1,Me(e)}}d.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];v.push(new J(e,t)),v.length===1&&!E&&V(_)};function J(e,t){this.fun=e,this.array=t}J.prototype.run=function(){this.fun.apply(null,this.array)};d.title="browser";d.browser=!0;d.env={};d.argv=[];d.version="";d.versions={};function A(){}d.on=A;d.addListener=A;d.once=A;d.off=A;d.removeListener=A;d.removeAllListeners=A;d.emit=A;d.prependListener=A;d.prependOnceListener=A;d.listeners=function(e){return[]};d.binding=function(e){throw new Error("process.binding is not supported")};d.cwd=function(){return"/"};d.chdir=function(e){throw new Error("process.chdir is not supported")};d.umask=function(){return 0}});var at={};Le(at,{default:()=>rt});module.exports=Ne(at);var Dn=l(c(),1),Ce=require("buffer");var ft=l(c(),1);var ct=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"},K={"application/json":{type:"application/json",serialize:e=>JSON.stringify(e)}},f={arweave:"arweave.net",goldsky:"arweave-search.goldsky.com"},X={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"}},ee={node1:"https://up.arweave.net",node2:"https://turbo.ardrive.io",batchSize:1,chunkSize:75e5,dispatchUploadSize:100*1024};var mt=l(c(),1);var ut=l(c(),1);function S(e){return e?/^[a-z0-9_-]{43}$/i.test(e):!1}function te(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 p(e,t){for(let n=0;n<e.length;n++)if(e[n]&&e[n].name===t)return e[n].value;return null}function ne(e){let t=e.match(/^data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+);base64,/);return t?t[1]:null}function re(e){return e.split(",")[1]}function ae(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 Z(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 Ge(e){return e.replace(/^[a-z]/,t=>t.toUpperCase())}function W(e){return Array.isArray(e)?e.map(W):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let a=Ge(n);return t[a]=W(r),t},{}):e}function We(e){return e.charAt(0).toLowerCase()+e.slice(1)}function C(e){return Array.isArray(e)?e.map(C):e&&typeof e=="object"?Object.entries(e).reduce((t,[n,r])=>{let a=We(n);return t[a]=C(r),t},{}):e}function b(e,t){return{name:`${s.keys.bootloader}-${e}`,value:t}}var Oe="https://arweave.net";function k(e){return`${Oe}/${e}`}var gt=l(c(),1);var Mt=l(c(),1);var kt=l(c(),1);var xt=l(c(),1);var oe={p1:"P1",end:"END"},se={default:100};async function w(e){let t=e.paginator?e.paginator:se.default,n=[],r=0,a=null;if(e.ids&&!e.ids.length)return{data:n,count:r,nextCursor:a,previousCursor:null};try{let o=Be(e),i=await ze({gateway:e.gateway,query:Ue(o)});return i.data.transactions.edges.length?(n=[...i.data.transactions.edges],r=i.data.transactions.count??0,n.length<t||!i.data.transactions.pageInfo.hasNextPage?a=oe.end:a=n[n.length-1].cursor,{data:n,count:r,nextCursor:a,previousCursor:null}):{data:n,count:r,nextCursor:a,previousCursor:null}}catch(o){return console.error(o),{data:n,count:r,nextCursor:a,previousCursor:null}}}function Ue(e){let t={query:`query { ${e} }`};return JSON.stringify(t)}function Be(e){let t=e.paginator?e.paginator:se.default,n=e.ids?JSON.stringify(e.ids):null,r=null;e.minBlock!==void 0&&e.minBlock!==null&&(r={},r.min=e.minBlock);let a=r?JSON.stringify(r).replace(/"([^"]+)":/g,"$1:"):null,o=e.tags?JSON.stringify(e.tags).replace(/"(name)":/g,"$1:").replace(/"(values)":/g,"$1:").replace(/"FUZZY_OR"/g,"FUZZY_OR"):null,i=e.owners?JSON.stringify(e.owners):null,y=e.cursor&&e.cursor!==oe.end?`"${e.cursor}"`:null,u=`first: ${t}`,m="",P="data { size type } owner { address } block { height timestamp }",B="";switch(e.gateway){case f.arweave:break;case f.goldsky:m="count";break}let z=`
2
+ transactions(
3
+ ids: ${n},
4
+ tags: ${o},
5
+ ${u}
6
+ owners: ${i},
7
+ block: ${a},
8
+ after: ${y},
9
+ ${B}
10
+
11
+ ){
12
+ ${m}
13
+ pageInfo {
14
+ hasNextPage
15
+ }
16
+ edges {
17
+ cursor
18
+ node {
19
+ id
20
+ tags {
21
+ name
22
+ value
23
+ }
24
+ ${P}
25
+ }
26
+ }
27
+ }`;return e.queryKey&&(z=`${e.queryKey}: ${z}`),z}async function ze(e){try{return await(await fetch(`https://${e.gateway}/graphql`,{method:"POST",headers:{"Content-Type":"application/json"},body:e.query})).json()}catch(t){throw t}}var Fe=f.goldsky,qe=1e3;async function ie(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 ce(e){return async t=>await L(e,t)}async function L(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 le(e){return async t=>await x(e,t)}async function x(e,t){try{let n=[{name:"Action",value:t.action}];t.tags&&n.push(...t.tags);let r;if(typeof t.data=="object")r=JSON.stringify(t.data||{});else if(typeof t.data=="string"){try{JSON.parse(t.data)}catch(o){throw console.error(o),new Error("Invalid JSON data")}r=t.data}let a=await e.ao.dryrun({process:t.processId,tags:n,data:r});if(a.Messages&&a.Messages.length){if(a.Messages[0].Data)return JSON.parse(a.Messages[0].Data);if(a.Messages[0].Tags)return a.Messages[0].Tags.reduce((o,i)=>(o[i.name]=i.value,o),{})}}catch(n){throw new Error(n.message??"Error dryrunning process")}}async function Ze(e,t){try{let{Messages:n}=await e.ao.result({message:t.messageId,process:t.processId});if(n&&n.length){let r={};return n.forEach(a=>{let o=p(a.Tags,"Action")||t.action,i=null,y=a.Data;if(y)try{i=JSON.parse(y)}catch{i=y}let u=p(a.Tags,"Status"),m=p(a.Tags,"Message");r[o]={id:t.messageId,status:u,message:m,data:i}}),r}else return null}catch(n){console.error(n)}}async function pe(e,t){let n=null;if(t.evalSrc?n=t.evalSrc:t.evalTxId&&(n=await He(t.evalTxId)),n)try{let r=await L(e,{processId:t.processId,action:"Eval",data:n,tags:t.evalTags||null,useRawData:!0});return I(`Eval: ${r}`),await Ze(e,{processId:t.processId,messageId:r,action:"Eval"})}catch(r){throw new Error(r.message??"Error sending process eval")}return null}function ue(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 a=await ie(e,r);if(t.evalTxId||t.evalSrc){n&&n("Retrieving process..."),await ye(a,n),n&&n("Process retrieved!"),n&&n("Sending eval...");try{await pe(e,{processId:a,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(o){throw new Error(o.message??"Error creating process")}}return a}catch(r){throw new Error(r.message??"Error creating process")}}}async function N(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 a=await ie(e,r);if(n&&n("Retrieving process..."),await ye(a,n),t.evalTxId||t.evalSrc){n&&n("Process retrieved!"),n&&n("Sending eval...");try{await pe(e,{processId:a,evalTxId:t.evalTxId||null,evalSrc:t.evalSrc||null,evalTags:t.evalTags})&&n&&n("Eval complete")}catch(o){throw new Error(o.message??"Error creating process")}}return a}catch(r){throw new Error(r.message??"Error creating process")}}async function ye(e,t){let n=0;for(;n<qe;){await new Promise(a=>setTimeout(a,2e3));let r=await w({gateway:Fe,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 He(e){try{return await(await fetch(k(e))).text()}catch(t){throw new Error(t)}}var Nt=l(c(),1);function de(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 me(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}}async function O(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 me(e,{data:t})}catch(n){throw new Error(n.message??"Error resolving transaction")}}async function me(e,t){let n=null,r=null;try{typeof t.data=="string"&&t.data.startsWith("data:")&&(n=Buffer.from(re(t.data),"base64"),r=ne(t.data))}catch(a){throw new Error(a)}if(n&&r){let a=ae(n);if(I(`Content upload size: ${a}`),a<Number(ee.dispatchUploadSize)){let o=await e.arweave.createTransaction({data:n},"use_wallet");return o.addTag(s.keys.contentType,r),t.tags&&t.tags.length>0&&t.tags.forEach(y=>o.addTag(y.name,y.value)),(await global.window.arweaveWallet.dispatch(o)).id}else throw new Error("Data exceeds max upload limit")}else throw new Error("Error preparing transaction data")}var hn=l(c(),1);var Ft=l(c(),1);function Q(e){return async(t,n)=>{let r=Xe(t);if(r)throw new Error(r);let a=K[t.contentType]?.serialize(t.data)??t.data,o=[{name:s.keys.bootloaderInit,value:t.src??g.src.asset}];o.push(...Ke(t)),o.push(b("Name",t.name)),o.push(b("Creator",t.creator)),o.push(b("Ticker","ATOMIC")),o.push(b("Denomination",t.denomination?t.denomination.toString():"1")),o.push(b("TotalSupply",t.supply?t.supply.toString():"1")),t.collectionId&&o.push(b("Collection",t.collectionId)),t.transferable||o.push(b("Transferable","false"));try{return await N(e,{spawnTags:o,spawnData:a},n?y=>n(y):void 0)}catch(i){throw new Error(i.message??"Error creating asset")}}}async function H(e,t){try{let n=await w({gateway:f.goldsky,ids:[t],tags:null,owners:null,cursor:null});if(n&&n.data.length){let r=U(n.data[0]),a={ticker:null,denomination:null,balances:null,transferable:null,creator:null,metadata:{}},o=await x(e,{processId:r.id,action:"Info"});if(o=C(o),o&&(o.name&&(r.name=o.name),o.ticker&&(a.ticker=o.ticker),o.denomination&&(a.denomination=o.denomination),o.logo&&(r.thumbnail=o.logo),o.creator&&(a.creator=o.creator),o.balances&&(a.balances=Object.fromEntries(Object.entries(o.balances).filter(([i,y])=>Number(y)!==0))),o.transferable!==void 0?a.transferable=o.transferable:a.transferable=!0,o.assetMetadata))for(let[i,y]of Object.entries(o.assetMetadata))i in a||(a.metadata[i]=y);if(!a.balances)try{let i=await x(e,{processId:r.id,action:"Balances"});i&&(a.balances=i)}catch(i){console.error(i)}return{...r,...a}}return null}catch(n){throw new Error(n.message||"Error fetching atomic asset")}}function ge(e){return async t=>await H(e,t)}async function fe(e){try{let t=await w({gateway:f.arweave,ids:e??null,tags:null,owners:null,cursor:null});return t&&t.data.length?t.data.map(n=>U(n)):null}catch(t){throw new Error(t)}}function U(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:p(e.node.tags,s.keys.creator),name:Ve(e),description:p(e.node.tags,s.keys.description),type:p(e.node.tags,s.keys.type),topics:_e(e),implementation:p(e.node.tags,s.keys.implements),contentType:p(e.node.tags,s.keys.contentType),renderWith:p(e.node.tags,s.keys.renderWith),thumbnail:p(e.node.tags,s.keys.thumbnail),udl:Ye(e),collectionId:p(e.node.tags,s.keys.collectionId),dateCreated:Je(e),blockHeight:e.node.block?e.node.block.height:0,tags:e.node.tags.filter(r=>!t.has(r.name))}}function Ve(e){return p(e.node.tags,s.keys.name)||p(e.node.tags,s.keys.title)||te(e.node.id,!1)}function _e(e){return e.node.tags.filter(t=>t.name.includes(s.keys.topic.toLowerCase())).map(t=>t.value)}function Je(e){if(e.node.block)return e.node.block.timestamp*1e3;let t=p(e.node.tags,s.keys.dateCreated);return t?Number(t):0}function Ye(e){let t=p(e.node.tags,s.keys.license);return t&&t===X.udl.address?{access:{value:p(e.node.tags,s.keys.access)},derivations:{value:p(e.node.tags,s.keys.derivations)},commercialUse:{value:p(e.node.tags,s.keys.commericalUse)},dataModelTraining:{value:p(e.node.tags,s.keys.dataModelTraining)},paymentMode:p(e.node.tags,s.keys.paymentMode),paymentAddress:p(e.node.tags,s.keys.paymentAddress),currency:p(e.node.tags,s.keys.currency)}:null}function Ke(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 Xe(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 Jt=l(c(),1);var et="eXCtpVbcd_jZ0dmU2PZ8focaKxBGECBQ8wMib7sIVPo",M="lJovHqM9hwNjHV5JoY9NGWtt0WD-5D4gOqNL2VWW5jk";function Te(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: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"}],o=null,i=null;try{o=t.banner?await O(e,t.thumbnail):M,i=t.banner?await O(e,t.banner):et,t.thumbnail&&a.push({name:s.keys.thumbnail,value:o}),t.banner&&a.push({name:s.keys.banner,value:i})}catch(m){console.error(m)}let y=await fetch(k(g.src.collection));if(!y.ok)throw new Error("Unable to fetch process src");let u=await y.text();u=u.replace(/'<NAME>'/g,Z(t.title)),u=u.replace(/'<DESCRIPTION>'/g,Z(t.description)),u=u.replace(/<CREATOR>/g,t.creator),u=u.replace(/<THUMBNAIL>/g,o||M),u=u.replace(/<BANNER>/g,i||M),u=u.replace(/<DATECREATED>/g,r),u=u.replace(/<LASTUPDATE>/g,r);try{let m=await N(e,{spawnTags:a},n?B=>n(B):void 0);await e.ao.message({process:m,signer:e.signer,tags:[{name:"Action",value:"Eval"}],data:u});let P=[{name:"Action",value:"Add-Collection"},{name:"CollectionId",value:m},{name:"Name",value:R(t.title)},{name:"Creator",value:t.creator},{name:"DateCreated",value:r}];return i&&P.push({name:"Banner",value:i}),o&&P.push({name:"Thumbnail",value:o}),await e.ao.message({process:g.collectionsRegistry,signer:e.signer,tags:P}),await e.ao.message({process:m,signer:e.signer,tags:[{name:"Action",value:"Add-Collection-To-Profile"},{name:"ProfileProcess",value:t.creator}]}),m}catch(m){throw new Error(m.message??"Error creating collection")}}}function he(e){return async t=>await L(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 we(e){return async t=>{let n=await x(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 ve(e){return async t=>{let n=t.creator?"Get-Collections-By-User":"Get-Collections",r=await x(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(o=>({id:o.Id,title:o.Name.replace(/\[|\]/g,""),description:o.Description,creator:o.Creator,dateCreated:o.DateCreated,banner:o.Banner,thumbnail:o.Thumbnail})):null}}var nn=l(c(),1);function Ae(e){let t=Q(e);return async(n,r)=>{let a=n.tags?n.tags:[];a.push({name:"Data-Source",value:n.parentId}),a.push({name:"Root-Source",value:n.rootId??n.parentId});let o={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:a};return t(o,r)}}function be(e){return async t=>{try{let n=await H(e,t),r=n?.tags?.find(o=>o.name==="Data-Source")?.value,a=n?.tags?.find(o=>o.name==="Root-Source")?.value;if(!r||!a)throw new Error("dataSource and rootSource must be present on a comment");return{...n,content:await De(t),dataSource:r,rootSource:a}}catch(n){throw new Error(n.message??"Error getting comment")}}}function xe(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 w({gateway:f.goldsky,ids:null,tags:n,owners:null,cursor:null}),a=[];r&&r.data.length&&(a=r.data.map(i=>U(i)));let o=[];for(let i of a){let y=i?.tags?.find(m=>m.name==="Data-Source")?.value,u=i?.tags?.find(m=>m.name==="Root-Source")?.value;if(!y||!u)throw new Error("dataSource and rootSource must be present on a comment");o.push({...i,content:await De(i.id),dataSource:y,rootSource:u})}return o}}async function De(e){try{return await(await fetch(k(e))).text()}catch(t){throw new Error(t.message??"Error getting comment data")}}var Tn=l(c(),1);var sn=l(c(),1);globalThis.Buffer||(globalThis.Buffer=Ce.Buffer);function nt(e){return{createAtomicAsset:Q(e),getAtomicAsset:ge(e),getAtomicAssets:fe,createComment:Ae(e),getComment:be(e),getComments:xe(e),createCollection:Te(e),updateCollectionAssets:he(e),getCollection:we(e),getCollections:ve(e),resolveTransaction:de(e),getGQLData:w,createProcess:ue(e),readProcess:le(e),sendMessage:ce(e),mapFromProcessCase:C,mapToProcessCase:W}}var rt={init:nt};
28
+ //# sourceMappingURL=index.cjs.map