@tigrisdata/cli 2.13.0 → 2.13.1-beta.1
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/chunk-CRBBZ6SI.js +8 -0
- package/dist/{chunk-6QGF7HBW.js → chunk-TISFPZQN.js} +1 -1
- package/dist/chunk-WIOXQDND.js +1 -0
- package/dist/cli.js +1 -1
- package/dist/global.d.js +0 -0
- package/dist/index.js +1 -1
- package/dist/lib/buckets/get.js +1 -1
- package/dist/lib/buckets/set-transition.js +1 -1
- package/dist/lib/cp.js +1 -1
- package/dist/lib/iam/users/invite.js +1 -1
- package/dist/lib/iam/users/list.js +1 -1
- package/dist/lib/iam/users/remove.js +1 -1
- package/dist/lib/iam/users/revoke-invitation.js +1 -1
- package/dist/lib/iam/users/update-role.js +1 -1
- package/dist/lib/objects/put.js +1 -1
- package/dist/lib/organizations/create.js +1 -1
- package/dist/lib/organizations/list.js +1 -1
- package/dist/lib/stat.js +1 -1
- package/dist/utils/bucket-info.js +1 -0
- package/dist/utils/update-check.js +1 -1
- package/package.json +11 -9
- package/dist/chunk-KXYHOCBV.js +0 -8
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{d as m,e as d,f}from"./chunk-2XAO2OYD.js";import{readFileSync as I,writeFileSync as T,mkdirSync as N}from"fs";import{join as g}from"path";import{homedir as h}from"os";import j from"https";var u="2.13.1-beta.1";var b=g(h(),".tigris","update-check.json");function y(){try{let t=I(b,"utf-8"),s=JSON.parse(t);return typeof s.latestVersion=="string"&&typeof s.lastChecked=="number"?s:null}catch{return null}}function v(t){try{N(g(h(),".tigris"),{recursive:!0}),T(b,JSON.stringify(t),"utf-8")}catch{}}function E(t,s){let a=o=>{let r=o.startsWith("v")?o.slice(1):o,c=null,l=r.indexOf("-");l!==-1&&(c=r.slice(l+1),r=r.slice(0,l));let p=r.split(".");if(p.length!==3)return null;let n=p.map(Number);return n.some(isNaN)?null:{major:n[0],minor:n[1],patch:n[2],prerelease:c}},e=a(t),i=a(s);return!e||!i?!1:i.major>e.major?!0:i.major<e.major?!1:i.minor>e.minor?!0:i.minor<e.minor?!1:i.patch>e.patch?!0:i.patch<e.patch?!1:e.prerelease&&!i.prerelease?!0:(!e.prerelease&&i.prerelease,!1)}function w(){try{let t=j.get(m,{timeout:5e3},s=>{let a="";s.on("data",e=>{a+=e}),s.on("end",()=>{try{let e=JSON.parse(a);if(typeof e.version=="string"){let i=y();v({...i,latestVersion:e.version,lastChecked:Date.now()})}}catch{}})});t.on("error",()=>{}),t.on("timeout",()=>{t.destroy()}),t.end(),t.on("socket",s=>{s.unref()})}catch{}}function V(){if(process.env.TIGRIS_NO_UPDATE_CHECK==="1"||!process.stdout.isTTY)return;let t=y(),s=Number(process.env.TIGRIS_UPDATE_NOTIFY_INTERVAL_MS)||216e5;if(t&&E(u,t.latestVersion)&&(!t.lastNotified||Date.now()-t.lastNotified>s)){let e=globalThis.__TIGRIS_BINARY===!0,i=process.platform==="win32",o=`Update available: ${u} \u2192 ${t.latestVersion}`,r;e?i?r="Run `irm https://raw.githubusercontent.com/tigrisdata/cli/main/scripts/install.ps1 | iex`":r="Run `curl -fsSL https://raw.githubusercontent.com/tigrisdata/cli/main/scripts/install.sh | sh`":r="Run `npm install -g @tigrisdata/cli` to upgrade.";let c=Math.max(o.length,r.length)+4,l="\u250C"+"\u2500".repeat(c-2)+"\u2510",p="\u2514"+"\u2500".repeat(c-2)+"\u2518",n=_=>"\u2502 "+_.padEnd(c-4)+" \u2502";console.log(`
|
|
2
|
+
${l}
|
|
3
|
+
${n("")}
|
|
4
|
+
${n(o)}
|
|
5
|
+
${n(r)}
|
|
6
|
+
${n("")}
|
|
7
|
+
${p}
|
|
8
|
+
`),v({...t,lastNotified:Date.now()})}let a=Number(process.env.TIGRIS_UPDATE_CHECK_INTERVAL_MS)||864e5;(!t||Date.now()-t.lastChecked>a)&&w()}export{u as a,E as b,V as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as s,c as l}from"./chunk-
|
|
1
|
+
import{a as s,c as l}from"./chunk-CRBBZ6SI.js";import{b as m}from"./chunk-BETAO4PB.js";import{a as t,k as i}from"./chunk-4V35SYMM.js";import{existsSync as c}from"fs";import{join as a,dirname as u}from"path";import{fileURLToPath as f}from"url";t();var j=f(import.meta.url),d=u(j),h=m(),y=o=>{if(o.length===0)return!1;let e=a(d,"lib",...o)+".js";if(c(e))return!0;let r=a(d,"lib",...o,"index.js");return!!c(r)},b=async o=>{let e=[`./lib/${o.join("/")}.js`,`./lib/${o.join("/")}/index.js`];for(let p of e){let n=await import(p).catch(()=>null);if(n)return{module:n,error:null}}return{module:null,error:`Command not found: ${o.join(" ")}`}},x=i({specs:h,version:s,loadModule:b,hasImplementation:y});x.parse();l();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as n}from"./chunk-CQCBYE3X.js";function i(e){let s=[{label:"Number of Objects",value:e.sizeInfo.numberOfObjects?.toString()??"N/A"},{label:"Total Size",value:e.sizeInfo.size!==void 0?n(e.sizeInfo.size):"N/A"},{label:"All Versions Count",value:e.sizeInfo.numberOfObjectsAllVersions?.toString()??"N/A"},{label:"Default Tier",value:e.settings.defaultTier},{label:"Snapshots Enabled",value:e.isSnapshotEnabled?"Yes":"No"},{label:"Delete Protection",value:e.settings.deleteProtection?"Yes":"No"},{label:"Allow Object ACL",value:e.settings.allowObjectAcl?"Yes":"No"},{label:"Custom Domain",value:e.settings.customDomain??"None"},{label:"Has Forks",value:e.forkInfo?.hasChildren?"Yes":"No"}];return e.forkInfo?.parents?.length&&(s.push({label:"Forked From",value:e.forkInfo.parents[0].bucketName}),s.push({label:"Fork Snapshot",value:e.forkInfo.parents[0].snapshot})),e.settings.ttlConfig&&s.push({label:"TTL",value:e.settings.ttlConfig.enabled?e.settings.ttlConfig.days?`${e.settings.ttlConfig.days} days`:e.settings.ttlConfig.date??"Enabled":"Disabled"}),e.settings.lifecycleRules?.length&&s.push({label:"Lifecycle Rules",value:e.settings.lifecycleRules.map(l=>`${l.storageClass}${l.days?` after ${l.days}d`:""}${l.enabled?"":" (disabled)"}`).join(", ")}),e.settings.corsRules.length&&s.push({label:"CORS Rules",value:`${e.settings.corsRules.length} rule(s)`}),e.settings.notifications&&s.push({label:"Notifications",value:e.settings.notifications.enabled!==!1?"Enabled":"Disabled"}),e.settings.dataMigration&&s.push({label:"Data Migration",value:e.settings.dataMigration.endpoint?`${e.settings.dataMigration.name??"N/A"} (${e.settings.dataMigration.endpoint})`:e.settings.dataMigration.name??"Configured"}),s}export{i as a};
|
package/dist/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import"./chunk-
|
|
2
|
+
import"./chunk-TISFPZQN.js";import"./chunk-CRBBZ6SI.js";import"./chunk-BETAO4PB.js";import"./chunk-4V35SYMM.js";import"./chunk-2XAO2OYD.js";
|
package/dist/global.d.js
ADDED
|
File without changes
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-
|
|
1
|
+
import"./chunk-TISFPZQN.js";import"./chunk-CRBBZ6SI.js";import"./chunk-BETAO4PB.js";import"./chunk-4V35SYMM.js";import"./chunk-2XAO2OYD.js";
|
package/dist/lib/buckets/get.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as u}from"../../chunk-WIOXQDND.js";import{a as i,b as p,c as r,g as m}from"../../chunk-SYGTCM6P.js";import{f as s}from"../../chunk-CQCBYE3X.js";import{a as o}from"../../chunk-JRALYIRA.js";import{b as c}from"../../chunk-VOQSWXBS.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{getBucketInfo as b}from"@tigrisdata/storage";var t=m("buckets","get");async function x(n){i(t);let e=o(n,["name"]),f=o(n,["format"])||"table";e||(r(t,"Bucket name is required"),process.exit(1));let{data:g,error:a}=await b(e,{config:await c()});a&&(r(t,a.message),process.exit(1));let l=[{property:"Name",value:e},...u(g).map(({label:y,value:d})=>({property:y,value:d}))],k=s(l,f,"bucket","property",[{key:"property",header:"Property"},{key:"value",header:"Value"}]);console.log(k),p(t)}export{x as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as m,b,c as s,g as p}from"../../chunk-SYGTCM6P.js";import{a as
|
|
1
|
+
import{a as m,b,c as s,g as p}from"../../chunk-SYGTCM6P.js";import{a as n}from"../../chunk-JRALYIRA.js";import{b as y}from"../../chunk-VOQSWXBS.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import{g}from"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{setBucketLifecycle as R}from"@tigrisdata/storage";var e=p("buckets","set-transition"),x=["STANDARD_IA","GLACIER","GLACIER_IR"];async function S(a){m(e);let d=n(a,["name"]),o=n(a,["storage-class","storageClass"]),i=n(a,["days"]),t=n(a,["date"]),c=n(a,["enable"]),r=n(a,["disable"]);d||(s(e,"Bucket name is required"),process.exit(1)),c&&r&&(s(e,"Cannot use both --enable and --disable"),process.exit(1)),r&&(i!==void 0||t!==void 0||o!==void 0)&&(s(e,"Cannot use --disable with --days, --date, or --storage-class"),process.exit(1)),!c&&!r&&i===void 0&&t===void 0&&(s(e,"Provide --days, --date, --enable, or --disable"),process.exit(1)),(i!==void 0||t!==void 0)&&!o&&(s(e,"--storage-class is required when setting --days or --date"),process.exit(1)),o&&!x.includes(o)&&(s(e,`--storage-class must be one of: ${x.join(", ")} (STANDARD is not a valid transition target)`),process.exit(1)),i!==void 0&&(isNaN(Number(i))||Number(i)<=0)&&(s(e,"--days must be a positive number"),process.exit(1)),t!==void 0&&(typeof t!="string"||!/^\d{4}-\d{2}-\d{2}/.test(t)||isNaN(new Date(t).getTime()))&&(s(e,"--date must be a valid ISO-8601 date (e.g. 2026-06-01)"),process.exit(1));let f=await y(),l=g(),C={...f,...l&&!f.organizationId?{organizationId:l}:{}},N={...c?{enabled:!0}:{},...r?{enabled:!1}:{},...o?{storageClass:o}:{},...i!==void 0?{days:Number(i)}:{},...t!==void 0?{date:t}:{}},{error:u}=await R(d,{lifecycleRules:[N],config:C});u&&(s(e,u.message),process.exit(1)),b(e,{name:d})}export{S as default};
|
package/dist/lib/cp.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as N}from"../chunk-EKW6XTGL.js";import{a as C}from"../chunk-SAAGVLRE.js";import{a as b}from"../chunk-CQCBYE3X.js";import{a as D}from"../chunk-JRALYIRA.js";import{a as U,b as S,d as v,g as T,h as B,i as I}from"../chunk-LCWHZUZZ.js";import{b as O}from"../chunk-VOQSWXBS.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{createReadStream as Z,createWriteStream as _,statSync as M,readdirSync as z,mkdirSync as P,existsSync as J}from"fs";import{resolve as q,dirname as K,basename as E,join as F,relative as G}from"path";import{homedir as ee}from"os";import{Readable as Q}from"stream";import{pipeline as te}from"stream/promises";import{get as V,put as L,list as oe,head as X}from"@tigrisdata/storage";function re(r,e){let t=U(r),a=U(e);return!t&&!a&&(console.error("At least one path must be a remote Tigris path (t3:// or tigris://)"),process.exit(1)),t&&a?"remote-to-remote":t?"remote-to-local":"local-to-remote"}function Y(r){return r==="~"||r.startsWith("~/")?q(ee(),r.slice(2)):q(r)}function ne(r){return z(r,{recursive:!0,withFileTypes:!0}).filter(t=>t.isFile()).map(t=>{let a=t.parentPath??t.path;return F(a,t.name)})}function ie(r,e){let t=K(r),a=E(r),l=T(a);return J(t)?e?z(t,{recursive:!0,withFileTypes:!0}).filter(o=>o.isFile()&&l.test(o.name)).map(o=>{let i=o.parentPath??o.path;return F(i,o.name)}):z(t,{withFileTypes:!0}).filter(i=>i.isFile()&&l.test(i.name)).map(i=>F(t,i.name)):[]}async function j(r,e,t,a,l=!1){let c;try{c=M(r).size}catch{return{error:`File not found: ${r}`}}let o=Z(r),i=Q.toWeb(o),{error:n}=await L(t,i,{...N(c),onUploadProgress:l?({loaded:s})=>{if(c!==void 0&&c>0){let p=Math.round(s/c*100);process.stdout.write(`\rUploading: ${b(s)} / ${b(c)} (${p}%)`)}else process.stdout.write(`\rUploading: ${b(s)}`)}:void 0,config:{...a,bucket:e}});return l&&process.stdout.write("\r"+" ".repeat(60)+"\r"),n?{error:n.message}:{}}async function H(r,e,t,a,l=!1){let c;if(l){let{data:u}=await X(e,{config:{...a,bucket:r}});c=u?.size}let{data:o,error:i}=await V(e,"stream",{config:{...a,bucket:r}});if(i)return{error:i.message};let n=K(t);J(n)||P(n,{recursive:!0});let s=_(t),p=Q.fromWeb(o);if(l&&c!==void 0&&c>0){let u=0;p.on("data",f=>{u+=f.length;let m=Math.round(u/c*100);process.stdout.write(`\rDownloading: ${b(u)} / ${b(c)} (${m}%)`)})}return await te(p,s),l&&process.stdout.write("\r"+" ".repeat(60)+"\r"),{}}async function A(r,e,t,a,l,c=!1){if(t.endsWith("/")){let{error:p}=await L(l,"",{config:{...r,bucket:a}});return p?{error:p.message}:{}}let o;if(c){let{data:p}=await X(t,{config:{...r,bucket:e}});o=p?.size}let{data:i,error:n}=await V(t,"stream",{config:{...r,bucket:e}});if(n)return{error:n.message};let{error:s}=await L(l,i,{...N(o),onUploadProgress:c?({loaded:p})=>{if(o!==void 0&&o>0){let u=Math.round(p/o*100);process.stdout.write(`\rCopying: ${b(p)} / ${b(o)} (${u}%)`)}else process.stdout.write(`\rCopying: ${b(p)}`)}:void 0,config:{...r,bucket:a}});return c&&process.stdout.write("\r"+" ".repeat(60)+"\r"),s?{error:s.message}:{}}async function ae(r,e,t,a){let l=Y(r);if(r.includes("*")){let i=ie(l,a);if(i.length===0){console.log("No files matching pattern");return}let n=K(l),s=i.map(f=>async()=>{let m=G(n,f),w=e.path?`${e.path.replace(/\/$/,"")}/${m}`:m,d=await j(f,e.bucket,w,t);return d.error?(console.error(`Failed to upload ${f}: ${d.error}`),!1):(console.log(`Uploaded ${f} -> t3://${e.bucket}/${w}`),!0)}),u=(await C(s,8)).filter(Boolean).length;console.log(`Uploaded ${u} file(s)`);return}let o;try{o=M(l)}catch{console.error(`Source not found: ${r}`),process.exit(1)}if(o.isDirectory()){a||(console.error(`${r} is a directory (not copied). Use -r to copy recursively.`),process.exit(1));let i=ne(l);if(i.length===0){console.log("No files to upload");return}let n=r.endsWith("/")?"":E(l),s=i.map(f=>async()=>{let m=G(l,f),d=[e.path?.replace(/\/$/,""),n,m].filter(Boolean).join("/"),W=await j(f,e.bucket,d,t);return W.error?(console.error(`Failed to upload ${f}: ${W.error}`),!1):(console.log(`Uploaded ${f} -> t3://${e.bucket}/${d}`),!0)}),u=(await C(s,8)).filter(Boolean).length;console.log(`Uploaded ${u} file(s)`)}else{let i=E(l),n;e.path?r.endsWith("/")||e.path.endsWith("/")?n=`${e.path.replace(/\/$/,"")}/${i}`:await v(e.bucket,e.path,t)?n=`${e.path}/${i}`:n=e.path:n=i;let s=await j(l,e.bucket,n,t,!0);s.error&&(console.error(s.error),process.exit(1)),console.log(`Uploaded ${r} -> t3://${e.bucket}/${n}`)}}async function se(r,e,t,a,l){let c=r.endsWith("/");!e.path&&!c&&(console.error("Cannot copy a bucket. Provide a path within the bucket."),process.exit(1));let o=Y(t),i=e.path.includes("*"),n=e.path.endsWith("/")||!e.path&&c;if(!i&&!n&&(n=await v(e.bucket,e.path,a)),n&&!i&&!l&&(console.error("Source is a remote folder (not copied). Use -r to copy recursively."),process.exit(1)),i||n){let s=i?B(e.path):e.path?e.path.endsWith("/")?e.path:`${e.path}/`:"",p=!i&&e.path&&!e.path.endsWith("/")?e.path.split("/").filter(Boolean).pop()??"":"",{items:u,error:f}=await I(e.bucket,s||void 0,a);f&&(console.error(f.message),process.exit(1));let m=u.filter(g=>!g.name.endsWith("/"));if(i){let g=e.path.split("/").pop(),$=T(g);m=m.filter(y=>{let h=s?y.name.slice(s.length):y.name;return!l&&h.includes("/")?!1:$.test(h.split("/").pop())})}if(m.length===0){console.log("No objects to download");return}let w=m.map(g=>async()=>{let $=s?g.name.slice(s.length):g.name,y=p?F(o,p,$):F(o,$),h=await H(e.bucket,g.name,y,a);return h.error?(console.error(`Failed to download ${g.name}: ${h.error}`),!1):(console.log(`Downloaded t3://${e.bucket}/${g.name} -> ${y}`),!0)}),W=(await C(w,8)).filter(Boolean).length;console.log(`Downloaded ${W} file(s)`)}else{let s=e.path.split("/").pop(),p,u=!1;try{u=M(o).isDirectory()}catch{}u||t.endsWith("/")?p=F(o,s):p=o;let f=await H(e.bucket,e.path,p,a,!0);f.error&&(console.error(f.error),process.exit(1)),console.log(`Downloaded t3://${e.bucket}/${e.path} -> ${p}`)}}async function le(r,e,t,a,l){let c=r.endsWith("/");!e.path&&!c&&(console.error("Cannot copy a bucket. Provide a path within the bucket."),process.exit(1));let o=r.includes("*"),i=e.path.endsWith("/")||!e.path&&c;if(!o&&!i&&e.path&&(i=await v(e.bucket,e.path,a)),i&&!o&&!l&&(console.error("Source is a remote folder (not copied). Use -r to copy recursively."),process.exit(1)),o||i){let n=o?B(e.path):e.path?e.path.endsWith("/")?e.path:`${e.path}/`:"",s=!o&&e.path&&!e.path.endsWith("/")?e.path.split("/").filter(Boolean).pop()??"":"",u=[t.path?.replace(/\/$/,"")||"",s].filter(Boolean).join("/"),f=u?`${u}/`:"";e.bucket===t.bucket&&n===f&&(console.error("Source and destination are the same"),process.exit(1));let{items:m,error:w}=await I(e.bucket,n||void 0,a);w&&(console.error(w.message),process.exit(1));let d=m.filter(h=>h.name!==n);if(o){let h=e.path.split("/").pop(),k=T(h);d=d.filter(x=>{let R=n?x.name.slice(n.length):x.name;return!l&&R.includes("/")?!1:k.test(R.split("/").pop())})}let W=d.map(h=>async()=>{let k=n?h.name.slice(n.length):h.name,x=u?`${u}/${k}`:k,R=await A(a,e.bucket,h.name,t.bucket,x);return R.error?(console.error(`Failed to copy ${h.name}: ${R.error}`),!1):(console.log(`Copied t3://${e.bucket}/${h.name} -> t3://${t.bucket}/${x}`),!0)}),$=(await C(W,8)).filter(Boolean).length,y=!1;if(u&&n){let{data:h}=await oe({prefix:n,limit:1,config:{...a,bucket:e.bucket}});if(h?.items?.some(k=>k.name===n)){let k=`${u}/`,x=await A(a,e.bucket,n,t.bucket,k);x.error?console.error(`Failed to copy folder marker: ${x.error}`):y=!0}}if($===0&&y&&($=1),$===0){console.log("No objects to copy");return}console.log(`Copied ${$} object(s)`)}else{let n=e.path.split("/").pop(),s;t.path?t.path.endsWith("/")?s=`${t.path}${n}`:await v(t.bucket,t.path,a)?s=`${t.path}/${n}`:s=t.path:s=n,e.bucket===t.bucket&&e.path===s&&(console.error("Source and destination are the same"),process.exit(1));let p=await A(a,e.bucket,e.path,t.bucket,s,!0);p.error&&(console.error(p.error),process.exit(1)),console.log(`Copied t3://${e.bucket}/${e.path} -> t3://${t.bucket}/${s}`)}}async function ce(r){let e=D(r,["src"]),t=D(r,["dest"]);(!e||!t)&&(console.error("Both src and dest arguments are required"),process.exit(1));let a=!!D(r,["recursive","r"]),l=re(e,t),c=await O({withCredentialProvider:!0});switch(l){case"local-to-remote":{let o=S(t);o.bucket||(console.error("Invalid destination path"),process.exit(1)),await ae(e,o,c,a);break}case"remote-to-local":{let o=S(e);o.bucket||(console.error("Invalid source path"),process.exit(1)),await se(e,o,t,c,a);break}case"remote-to-remote":{let o=S(e),i=S(t);o.bucket||(console.error("Invalid source path"),process.exit(1)),i.bucket||(console.error("Invalid destination path"),process.exit(1)),await le(e,o,i,c,a);break}}process.exit(0)}export{ce as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as h,b as y,c as t,g as v}from"../../../chunk-SYGTCM6P.js";import{a as s}from"../../../chunk-JRALYIRA.js";import{a as R}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as f}from"../../../chunk-E4MLGABW.js";import{g as u}from"../../../chunk-DOUR5YEY.js";import{
|
|
1
|
+
import{a as p}from"../../../chunk-GZ7JBHFT.js";import{a as h,b as y,c as t,g as v}from"../../../chunk-SYGTCM6P.js";import{a as s}from"../../../chunk-JRALYIRA.js";import{a as R}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as f}from"../../../chunk-E4MLGABW.js";import{g as u}from"../../../chunk-DOUR5YEY.js";import{c as d}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import{inviteUser as E}from"@tigrisdata/iam";var i=v("iam users","invite");async function O(r){h(i),await R()!=="oauth"&&(t(i,`Users can only be invited when logged in via OAuth.
|
|
2
2
|
Run "tigris login oauth" first.`),process.exit(1));let a=u();if(p(a??void 0)){console.log(`User management is not available for Fly.io organizations.
|
|
3
3
|
Your users are managed through Fly.io.
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as y,b as k,c as i,d as b,g as C}from"../../../chunk-SYGTCM6P.js";import{b as T,d as s,e as a}from"../../../chunk-CQCBYE3X.js";import{a as w}from"../../../chunk-JRALYIRA.js";import{a as U}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as h}from"../../../chunk-E4MLGABW.js";import{g as f}from"../../../chunk-DOUR5YEY.js";import{
|
|
1
|
+
import{a as p}from"../../../chunk-GZ7JBHFT.js";import{a as y,b as k,c as i,d as b,g as C}from"../../../chunk-SYGTCM6P.js";import{b as T,d as s,e as a}from"../../../chunk-CQCBYE3X.js";import{a as w}from"../../../chunk-JRALYIRA.js";import{a as U}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as h}from"../../../chunk-E4MLGABW.js";import{g as f}from"../../../chunk-DOUR5YEY.js";import{c as u}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import{listUsers as A}from"@tigrisdata/iam";var n=C("iam users","list");async function O(v){y(n);let r=w(v,["format","f","F"],"table");await U()!=="oauth"&&(i(n,`Users can only be listed when logged in via OAuth.
|
|
2
2
|
Run "tigris login oauth" first.`),process.exit(1));let l=f();if(p(l??void 0)){console.log(`User management is not available for Fly.io organizations.
|
|
3
3
|
Your users are managed through Fly.io.
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as h,b as y,c as t,d as w,g as v}from"../../../chunk-SYGTCM6P.js";import{a as O}from"../../../chunk-JRALYIRA.js";import{a as A}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as f}from"../../../chunk-E4MLGABW.js";import{g as p}from"../../../chunk-DOUR5YEY.js";import{
|
|
1
|
+
import{a as d}from"../../../chunk-GZ7JBHFT.js";import{a as h,b as y,c as t,d as w,g as v}from"../../../chunk-SYGTCM6P.js";import{a as O}from"../../../chunk-JRALYIRA.js";import{a as A}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as f}from"../../../chunk-E4MLGABW.js";import{g as p}from"../../../chunk-DOUR5YEY.js";import{c as u}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import C from"enquirer";import{removeUser as k,listUsers as z}from"@tigrisdata/iam";var{prompt:F}=C,e=v("iam users","remove");async function S(U){h(e);let o=O(U,["resource"]);await A()!=="oauth"&&(t(e,`Users can only be removed when logged in via OAuth.
|
|
2
2
|
Run "tigris login oauth" first.`),process.exit(1));let n=p();if(d(n??void 0)){console.log(`User management is not available for Fly.io organizations.
|
|
3
3
|
Your users are managed through Fly.io.
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as h,b as v,c as e,d as y,g as k}from"../../../chunk-SYGTCM6P.js";import{a as A}from"../../../chunk-JRALYIRA.js";import{a as w}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as f}from"../../../chunk-E4MLGABW.js";import{g as p}from"../../../chunk-DOUR5YEY.js";import{
|
|
1
|
+
import{a as d}from"../../../chunk-GZ7JBHFT.js";import{a as h,b as v,c as e,d as y,g as k}from"../../../chunk-SYGTCM6P.js";import{a as A}from"../../../chunk-JRALYIRA.js";import{a as w}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as f}from"../../../chunk-E4MLGABW.js";import{g as p}from"../../../chunk-DOUR5YEY.js";import{c as u}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import I from"enquirer";import{revokeInvitation as z,listUsers as F}from"@tigrisdata/iam";var{prompt:O}=I,t=k("iam users","revoke-invitation");async function S(x){h(t);let i=A(x,["resource"]);await w()!=="oauth"&&(e(t,`Invitations can only be revoked when logged in via OAuth.
|
|
2
2
|
Run "tigris login oauth" first.`),process.exit(1));let r=p();if(d(r??void 0)){console.log(`User management is not available for Fly.io organizations.
|
|
3
3
|
Your users are managed through Fly.io.
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as b,b as x,c as t,d as O,g as U}from"../../../chunk-SYGTCM6P.js";import{a as c}from"../../../chunk-JRALYIRA.js";import{a as v}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as w}from"../../../chunk-E4MLGABW.js";import{g as R}from"../../../chunk-DOUR5YEY.js";import{
|
|
1
|
+
import{a as A}from"../../../chunk-GZ7JBHFT.js";import{a as b,b as x,c as t,d as O,g as U}from"../../../chunk-SYGTCM6P.js";import{a as c}from"../../../chunk-JRALYIRA.js";import{a as v}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as w}from"../../../chunk-E4MLGABW.js";import{g as R}from"../../../chunk-DOUR5YEY.js";import{c as y}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import k from"enquirer";import{updateUserRole as F,listUsers as M}from"@tigrisdata/iam";var{prompt:z}=k,e=U("iam users","update-role");async function S(m){b(e),await v()!=="oauth"&&(t(e,`User roles can only be updated when logged in via OAuth.
|
|
2
2
|
Run "tigris login oauth" first.`),process.exit(1));let g=R();if(A(g??void 0)){console.log(`User management is not available for Fly.io organizations.
|
|
3
3
|
Your users are managed through Fly.io.
|
|
4
4
|
|
package/dist/lib/objects/put.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as l,b as g,c as o,g as b}from"../../chunk-SYGTCM6P.js";import{a
|
|
1
|
+
import{a as h}from"../../chunk-EKW6XTGL.js";import{a as l,b as g,c as o,g as b}from"../../chunk-SYGTCM6P.js";import{a,f as S}from"../../chunk-CQCBYE3X.js";import{a as e}from"../../chunk-JRALYIRA.js";import{b as y}from"../../chunk-VOQSWXBS.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{createReadStream as q,statSync as v}from"fs";import{Readable as k}from"stream";import{put as F}from"@tigrisdata/storage";var t=b("objects","put");async function O(r){l(t);let p=e(r,["bucket"]),d=e(r,["key"]),i=e(r,["file"]),z=e(r,["access","a","A"],"private"),T=e(r,["content-type","contentType","t","T"]),w=e(r,["format","f","F"],"table");p||(o(t,"Bucket name is required"),process.exit(1)),d||(o(t,"Object key is required"),process.exit(1));let x=!process.stdin.isTTY;!i&&!x&&(o(t,"File path is required (or pipe data via stdin)"),process.exit(1));let f,s;if(i){try{s=v(i).size}catch{o(t,`File not found: ${i}`),process.exit(1)}let c=q(i);f=k.toWeb(c)}else f=k.toWeb(process.stdin);let R=await y({withCredentialProvider:!0}),j=i?h(s):{multipart:!0,partSize:5*1024*1024,queueSize:8},{data:n,error:m}=await F(d,f,{access:z==="public"?"public":"private",contentType:T,...j,onUploadProgress:({loaded:c,percentage:u})=>{s!==void 0&&s>0?process.stdout.write(`\rUploading: ${a(c)} / ${a(s)} (${u}%)`):process.stdout.write(`\rUploading: ${a(c)}`)},config:{...R,bucket:p}});process.stdout.write("\r"+" ".repeat(60)+"\r"),m&&(o(t,m.message),process.exit(1));let P=[{path:n.path,size:a(n.size??s??0),contentType:n.contentType||"-",modified:n.modified}],$=S(P,w,"objects","object",[{key:"path",header:"Path"},{key:"size",header:"Size"},{key:"contentType",header:"Content-Type"},{key:"modified",header:"Modified"}]);console.log($),g(t,{key:d,bucket:p})}export{O as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as g,b as c,c as t,f as l,g as u}from"../../chunk-SYGTCM6P.js";import{a as f}from"../../chunk-JRALYIRA.js";import{b as m}from"../../chunk-VOQSWXBS.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import{g as e,k as r,s as a}from"../../chunk-DOUR5YEY.js";import
|
|
1
|
+
import{a as s}from"../../chunk-GZ7JBHFT.js";import{a as g,b as c,c as t,f as l,g as u}from"../../chunk-SYGTCM6P.js";import{a as f}from"../../chunk-JRALYIRA.js";import{b as m}from"../../chunk-VOQSWXBS.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import{g as e,k as r,s as a}from"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{createOrganization as O}from"@tigrisdata/iam";var i=u("organizations","create");async function w(d){if(g(i),a()!=="oauth"){r()?console.log(`You are using access key credentials, which belong to a single organization.
|
|
2
2
|
Organization creation is only available with OAuth login.
|
|
3
3
|
|
|
4
4
|
Run "tigris login" to login with your Tigris account.`):console.log('Not authenticated. Please run "tigris login" to login with your Tigris account.');return}let p=e();if(s(p??void 0)){console.log(`Organization creation is not available for Fly.io users.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as O,b as r,c as k,d as S,g as C}from"../../chunk-SYGTCM6P.js";import{f as I}from"../../chunk-CQCBYE3X.js";import{a as F}from"../../chunk-JRALYIRA.js";import{b as x}from"../../chunk-VOQSWXBS.js";import"../../chunk-BETAO4PB.js";import{b as z}from"../../chunk-E4MLGABW.js";import{f as u,g as f,k as p,s as h}from"../../chunk-DOUR5YEY.js";import
|
|
1
|
+
import{a as w,b as y}from"../../chunk-GZ7JBHFT.js";import{a as O,b as r,c as k,d as S,g as C}from"../../chunk-SYGTCM6P.js";import{f as I}from"../../chunk-CQCBYE3X.js";import{a as F}from"../../chunk-JRALYIRA.js";import{b as x}from"../../chunk-VOQSWXBS.js";import"../../chunk-BETAO4PB.js";import{b as z}from"../../chunk-E4MLGABW.js";import{f as u,g as f,k as p,s as h}from"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{listOrganizations as b}from"@tigrisdata/iam";import E from"enquirer";var i=C("organizations","list");async function N(T){if(O(i),h()!=="oauth"){p()?console.log(`You are using access key credentials, which belong to a single organization.
|
|
2
2
|
Organization listing and selection is only available with OAuth login.
|
|
3
3
|
|
|
4
4
|
Run "tigris login" to login with your Tigris account.`):console.log('Not authenticated. Please run "tigris login" to login with your Tigris account.');return}let c=F(T,["format","f","F"],"select"),A=await z().getAccessToken(),a=await y(A),M=a?.some(t=>w(t.id))??!1,n;if(M&&a)n=a.map(t=>({id:t.id,name:t.name,slug:t.name}));else{let t=await x(),{data:l,error:s}=await b({config:t});s&&(k(i,s.message),process.exit(1)),n=l?.organizations??[]}if(n.length===0){S(i);return}let o=f();if(c==="select"){let t=n.map(e=>({name:e.id,message:`${e.name} (${e.id})`,hint:e.id===o?"currently selected":void 0})),m=(await E.prompt({type:"select",name:"organization",message:"Select an organization:",choices:t.map(e=>e.message),initial:o?n.findIndex(e=>e.id===o):0})).organization.match(/\(([^)]+)\)$/),d=m?m[1]:n[0].id;await u(d);let $=n.find(e=>e.id===d);r(i,{name:$?.name});return}let g=n.map(t=>({id:t.id,name:t.name,slug:t.slug,selected:t.id===o?"*":""})),U=I(g,c,"organizations","organization",[{key:"selected",header:" ",width:1},{key:"id",header:"ID"},{key:"name",header:"Name"},{key:"slug",header:"Slug"}]);console.log(U),r(i,{count:g.length})}export{N as default};
|
package/dist/lib/stat.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as v,b as c,c as
|
|
1
|
+
import{a as b}from"../chunk-WIOXQDND.js";import{a as v,b as c,c as i,g as S}from"../chunk-SYGTCM6P.js";import{a as g,f as n}from"../chunk-CQCBYE3X.js";import{f as y}from"../chunk-LCWHZUZZ.js";import{b as k}from"../chunk-VOQSWXBS.js";import"../chunk-BETAO4PB.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{getStats as T,getBucketInfo as w,head as A}from"@tigrisdata/storage";var t=S("stat");async function I(u){v(t);let d=u.path||u._positional?.[0],m=u.format||"table",f=await k();if(!d){let{data:o,error:s}=await T({config:f});s&&(i(t,s.message),process.exit(1));let l=[{metric:"Active Buckets",value:String(o.stats.activeBuckets)},{metric:"Total Objects",value:String(o.stats.totalObjects)},{metric:"Total Unique Objects",value:String(o.stats.totalUniqueObjects)},{metric:"Total Storage",value:g(o.stats.totalStorageBytes)}],p=n(l,m,"stats","stat",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(p),c(t),process.exit(0)}let{bucket:a,path:r}=y(d);if(a||(i(t,"Invalid path"),process.exit(1)),!r||r==="/"){let{data:o,error:s}=await w(a,{config:f});s&&(i(t,s.message),process.exit(1));let l=b(o).map(({label:j,value:B})=>({metric:j,value:B})),p=n(l,m,"bucket-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(p),c(t,{bucket:a}),process.exit(0)}let{data:e,error:h}=await A(r,{config:{...f,bucket:a}});h&&(i(t,h.message),process.exit(1)),e||(i(t,"Object not found"),process.exit(1));let x=[{metric:"Path",value:e.path},{metric:"Size",value:g(e.size)},{metric:"Content-Type",value:e.contentType||"N/A"},{metric:"Content-Disposition",value:e.contentDisposition||"N/A"},{metric:"Modified",value:e.modified.toISOString()}],O=n(x,m,"object-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(O),c(t,{bucket:a,path:r}),process.exit(0)}export{I as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"../chunk-WIOXQDND.js";import"../chunk-CQCBYE3X.js";export{a as buildBucketInfo};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as a,c as b}from"../chunk-
|
|
1
|
+
import{b as a,c as b}from"../chunk-CRBBZ6SI.js";import"../chunk-2XAO2OYD.js";export{b as checkForUpdates,a as isNewerVersion};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tigrisdata/cli",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.1-beta.1",
|
|
4
4
|
"description": "Command line interface for Tigris object storage",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"access": "public"
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
|
-
"build": "tsup",
|
|
26
|
-
"dev": "export $(grep -v '^#' .env | xargs) && tsup --watch",
|
|
25
|
+
"build": "tsc --noEmit && tsup",
|
|
26
|
+
"dev": "export $(grep -v '^#' .env | xargs) && (tsc --noEmit --watch --preserveWatchOutput & tsup --watch)",
|
|
27
27
|
"cli": "node dist/cli.js",
|
|
28
28
|
"lint": "eslint src",
|
|
29
29
|
"lint:fix": "eslint src --fix",
|
|
@@ -37,8 +37,9 @@
|
|
|
37
37
|
"updatedocs": "tsx scripts/update-docs.ts",
|
|
38
38
|
"postinstall": "node postinstall.cjs",
|
|
39
39
|
"generate:registry": "tsx scripts/generate-registry.ts",
|
|
40
|
-
"build:binary": "npm run generate:registry && tsx scripts/build-binaries.ts",
|
|
41
|
-
"build:binary:current": "npm run generate:registry && bun build src/cli-binary.ts --compile --outfile=bin/tigris",
|
|
40
|
+
"build:binary": "npm run generate:registry && tsc --noEmit -p tsconfig.binary.json && tsx scripts/build-binaries.ts",
|
|
41
|
+
"build:binary:current": "npm run generate:registry && tsc --noEmit -p tsconfig.binary.json && bun build src/cli-binary.ts --compile --outfile=bin/tigris",
|
|
42
|
+
"dev:binary": "npm run generate:registry && tsc --noEmit --watch --preserveWatchOutput -p tsconfig.binary.json & bun build src/cli-binary.ts --compile --watch --outfile=bin/tigris",
|
|
42
43
|
"prepublishOnly": "npm run build",
|
|
43
44
|
"clean": "rm -rf dist",
|
|
44
45
|
"semantic-release": "semantic-release",
|
|
@@ -64,10 +65,11 @@
|
|
|
64
65
|
},
|
|
65
66
|
"release": {
|
|
66
67
|
"branches": [
|
|
67
|
-
"
|
|
68
|
+
"release",
|
|
68
69
|
{
|
|
69
|
-
"name": "
|
|
70
|
-
"prerelease":
|
|
70
|
+
"name": "main",
|
|
71
|
+
"prerelease": "beta",
|
|
72
|
+
"channel": "beta"
|
|
71
73
|
}
|
|
72
74
|
],
|
|
73
75
|
"plugins": [
|
|
@@ -82,7 +84,7 @@
|
|
|
82
84
|
"@aws-sdk/credential-providers": "^3.1000.0",
|
|
83
85
|
"@smithy/shared-ini-file-loader": "^4.4.5",
|
|
84
86
|
"@tigrisdata/iam": "^1.3.0",
|
|
85
|
-
"@tigrisdata/storage": "^2.15.
|
|
87
|
+
"@tigrisdata/storage": "^2.15.5",
|
|
86
88
|
"axios": "^1.13.6",
|
|
87
89
|
"commander": "^14.0.3",
|
|
88
90
|
"enquirer": "^2.4.1",
|
package/dist/chunk-KXYHOCBV.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{d as m,e as d,f}from"./chunk-2XAO2OYD.js";import{readFileSync as I,writeFileSync as T,mkdirSync as N}from"fs";import{join as g}from"path";import{homedir as h}from"os";import k from"https";var u="2.13.0";var b=g(h(),".tigris","update-check.json");function y(){try{let e=I(b,"utf-8"),i=JSON.parse(e);return typeof i.latestVersion=="string"&&typeof i.lastChecked=="number"?i:null}catch{return null}}function v(e){try{N(g(h(),".tigris"),{recursive:!0}),T(b,JSON.stringify(e),"utf-8")}catch{}}function j(e,i){let a=o=>{let r=o.startsWith("v")?o.slice(1):o,c=null,l=r.indexOf("-");l!==-1&&(c=r.slice(l+1),r=r.slice(0,l));let p=r.split(".");if(p.length!==3)return null;let n=p.map(Number);return n.some(isNaN)?null:{major:n[0],minor:n[1],patch:n[2],prerelease:c}},t=a(e),s=a(i);return!t||!s?!1:s.major>t.major?!0:s.major<t.major?!1:s.minor>t.minor?!0:s.minor<t.minor?!1:s.patch>t.patch?!0:s.patch<t.patch?!1:t.prerelease&&!s.prerelease?!0:(!t.prerelease&&s.prerelease,!1)}function x(){try{let e=k.get(m,{timeout:5e3},i=>{let a="";i.on("data",t=>{a+=t}),i.on("end",()=>{try{let t=JSON.parse(a);if(typeof t.version=="string"){let s=y();v({...s,latestVersion:t.version,lastChecked:Date.now()})}}catch{}})});e.on("error",()=>{}),e.on("timeout",()=>{e.destroy()}),e.end(),e.on("socket",i=>{i.unref()})}catch{}}function V(){if(process.env.TIGRIS_NO_UPDATE_CHECK==="1"||!process.stdout.isTTY)return;let e=y(),i=Number(process.env.TIGRIS_UPDATE_NOTIFY_INTERVAL_MS)||216e5;if(e&&j(u,e.latestVersion)&&(!e.lastNotified||Date.now()-e.lastNotified>i)){let t=globalThis.__TIGRIS_BINARY===!0,s=process.platform==="win32",o=`Update available: ${u} \u2192 ${e.latestVersion}`,r;t?s?r="Run `irm https://raw.githubusercontent.com/tigrisdata/cli/main/scripts/install.ps1 | iex`":r="Run `curl -fsSL https://raw.githubusercontent.com/tigrisdata/cli/main/scripts/install.sh | sh`":r="Run `npm install -g @tigrisdata/cli` to upgrade.";let c=Math.max(o.length,r.length)+4,l="\u250C"+"\u2500".repeat(c-2)+"\u2510",p="\u2514"+"\u2500".repeat(c-2)+"\u2518",n=_=>"\u2502 "+_.padEnd(c-4)+" \u2502";console.log(`
|
|
2
|
-
${l}
|
|
3
|
-
${n("")}
|
|
4
|
-
${n(o)}
|
|
5
|
-
${n(r)}
|
|
6
|
-
${n("")}
|
|
7
|
-
${p}
|
|
8
|
-
`),v({...e,lastNotified:Date.now()})}let a=Number(process.env.TIGRIS_UPDATE_CHECK_INTERVAL_MS)||864e5;(!e||Date.now()-e.lastChecked>a)&&x()}export{u as a,j as b,V as c};
|