@tigrisdata/cli 2.6.2 → 2.8.0
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/README.md +242 -80
- package/dist/auth/client.js +1 -1
- package/dist/auth/config.js +1 -1
- package/dist/auth/s3-client.js +1 -1
- package/dist/auth/storage.js +1 -1
- package/dist/chunk-2BGB3HM3.js +2 -0
- package/dist/chunk-2HJMXAYU.js +8 -0
- package/dist/{chunk-HE7E7ZMA.js → chunk-4CKYRXYB.js} +1 -1
- package/dist/{chunk-6U4U4JM6.js → chunk-7F4WI32C.js} +1 -1
- package/dist/chunk-BP52O7NB.js +1 -0
- package/dist/chunk-CQCBYE3X.js +6 -0
- package/dist/{chunk-QZXBLNMQ.js → chunk-DC3ZKGQV.js} +1 -1
- package/dist/{chunk-A3TXP5Y2.js → chunk-I52LJ637.js} +1 -1
- package/dist/{chunk-DJIPPZGR.js → chunk-KBDSESA4.js} +1 -1
- package/dist/chunk-LY55GPPO.js +1 -0
- package/dist/chunk-TF2BX3PY.js +10 -0
- package/dist/{chunk-JVB3Y42V.js → chunk-UUITLEOI.js} +1 -1
- package/dist/chunk-Y7MJZRR4.js +1 -0
- package/dist/cli.js +1 -1
- package/dist/constants.js +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/access-keys/assign.js +2 -2
- package/dist/lib/access-keys/create.js +2 -2
- package/dist/lib/access-keys/delete.js +2 -2
- package/dist/lib/access-keys/get.js +2 -2
- package/dist/lib/access-keys/list.js +2 -2
- package/dist/lib/buckets/create.js +1 -1
- package/dist/lib/buckets/delete.js +1 -1
- package/dist/lib/buckets/get.js +1 -1
- package/dist/lib/buckets/list.js +1 -1
- package/dist/lib/buckets/set.js +1 -1
- package/dist/lib/configure/index.js +1 -1
- package/dist/lib/cp.js +1 -1
- package/dist/lib/credentials/test.js +1 -1
- package/dist/lib/forks/create.js +1 -1
- package/dist/lib/forks/list.js +1 -1
- package/dist/lib/iam/policies/create.js +2 -0
- package/dist/lib/iam/policies/delete.js +2 -0
- package/dist/lib/iam/policies/edit.js +2 -0
- package/dist/lib/iam/policies/get.js +2 -0
- package/dist/lib/iam/policies/list.js +2 -0
- package/dist/lib/iam/policies/utils.js +1 -0
- package/dist/lib/login/credentials.js +1 -1
- package/dist/lib/login/oauth.js +1 -1
- package/dist/lib/login/select.js +1 -1
- package/dist/lib/logout.js +1 -1
- package/dist/lib/ls.js +1 -1
- package/dist/lib/mk.js +1 -1
- package/dist/lib/mv.js +1 -1
- package/dist/lib/objects/delete.js +1 -1
- package/dist/lib/objects/get.js +1 -1
- package/dist/lib/objects/list.js +1 -1
- package/dist/lib/objects/put.js +1 -1
- package/dist/lib/objects/set.js +1 -0
- package/dist/lib/organizations/create.js +2 -2
- package/dist/lib/organizations/list.js +2 -2
- package/dist/lib/organizations/select.js +3 -3
- package/dist/lib/rm.js +1 -1
- package/dist/lib/snapshots/list.js +1 -1
- package/dist/lib/snapshots/take.js +1 -1
- package/dist/lib/stat.js +1 -0
- package/dist/lib/touch.js +1 -1
- package/dist/lib/whoami.js +1 -1
- package/dist/specs.yaml +386 -76
- package/dist/utils/format.js +1 -1
- package/dist/utils/messages.js +1 -1
- package/dist/utils/specs.js +1 -1
- package/dist/utils/update-check.js +1 -1
- package/package.json +5 -3
- package/postinstall.cjs +32 -0
- package/dist/chunk-4LGKN5DA.js +0 -1
- package/dist/chunk-D63SZLT5.js +0 -1
- package/dist/chunk-ESJWTUFN.js +0 -1
- package/dist/chunk-HGIJOGCZ.js +0 -6
- package/dist/chunk-TPUZYSCZ.js +0 -12
- package/dist/chunk-TUJTXB5G.js +0 -8
- package/dist/lib/_stat.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as u}from"../../chunk-JRALYIRA.js";import{a,b as s,c as o,f as g,g as c}from"../../chunk-I52LJ637.js";import"../../chunk-LY55GPPO.js";import{b as l}from"../../chunk-2BGB3HM3.js";import"../../chunk-DC3ZKGQV.js";import"../../chunk-7F4WI32C.js";import{k as e,s as r}from"../../chunk-UUITLEOI.js";import"../../chunk-BP52O7NB.js";import{createOrganization as h}from"@tigrisdata/iam";var i=c("organizations","create");async function w(m){if(a(i),r()!=="oauth"){e()?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
|
-
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 t=
|
|
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 t=u(m,["name","N"]);t||(o(i,"Organization name is required"),process.exit(1));let f=await l(),{data:p,error:n}=await h(t,{config:f});n&&(o(i,n.message),process.exit(1));let d=p.id;s(i,{name:t,id:d}),g(i,{name:t})}export{w as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as O}from"../../chunk-JRALYIRA.js";import{a as f,b as a,c as h,d as z,g as w}from"../../chunk-I52LJ637.js";import{f as S}from"../../chunk-CQCBYE3X.js";import"../../chunk-LY55GPPO.js";import{b as y}from"../../chunk-2BGB3HM3.js";import"../../chunk-DC3ZKGQV.js";import"../../chunk-7F4WI32C.js";import{f as d,g as m,k as u,s as p}from"../../chunk-UUITLEOI.js";import"../../chunk-BP52O7NB.js";import{listOrganizations as b}from"@tigrisdata/iam";import C from"enquirer";var i=w("organizations","list");async function E(k){if(f(i),p()!=="oauth"){u()?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
|
-
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 s=
|
|
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 s=O(k,["format","f","F"],"select"),x=await y(),{data:I,error:r}=await b({config:x});r&&(h(i,r.message),process.exit(1));let e=I?.organizations??[];if(e.length===0){z(i);return}let o=m();if(s==="select"){let n=e.map(t=>({name:t.id,message:`${t.name} (${t.id})`,hint:t.id===o?"currently selected":void 0})),g=(await C.prompt({type:"select",name:"organization",message:"Select an organization:",choices:n.map(t=>t.message),initial:o?e.findIndex(t=>t.id===o):0})).organization.match(/\(([^)]+)\)$/),l=g?g[1]:e[0].id;await d(l);let $=e.find(t=>t.id===l);a(i,{name:$?.name});return}let c=e.map(n=>({id:n.id,name:n.name,slug:n.slug,selected:n.id===o?"*":""})),M=S(c,s,"organizations","organization",[{key:"selected",header:" ",width:1},{key:"id",header:"ID"},{key:"name",header:"Name"},{key:"slug",header:"Slug"}]);console.log(M),a(i,{count:c.length})}export{E as default};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as p}from"../../chunk-JRALYIRA.js";import{a as m,b as u,c as t,g as d}from"../../chunk-I52LJ637.js";import"../../chunk-LY55GPPO.js";import{b as f}from"../../chunk-2BGB3HM3.js";import"../../chunk-DC3ZKGQV.js";import"../../chunk-7F4WI32C.js";import{f as g,k as c,s as l}from"../../chunk-UUITLEOI.js";import"../../chunk-BP52O7NB.js";import{listOrganizations as O}from"@tigrisdata/iam";var i=d("organizations","select");async function x(h){if(m(i),l()!=="oauth"){c()?console.log(`You are using access key credentials, which belong to a single organization.
|
|
2
2
|
Organization selection is only available with OAuth login.
|
|
3
3
|
|
|
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 n=
|
|
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 n=p(h,["name","N"]);n||(t(i,"Organization name or ID is required"),process.exit(1));let z=await f(),{data:w,error:a}=await O({config:z});a&&(t(i,a.message),process.exit(1));let r=w?.organizations??[],e=r.find(o=>o.id===n||o.name===n);if(!e){let o=r.map(s=>` - ${s.name} (${s.id})`).join(`
|
|
5
5
|
`);t(i,`Organization "${n}" not found
|
|
6
6
|
|
|
7
7
|
Available organizations:
|
|
8
|
-
${o}`),process.exit(1)}await
|
|
8
|
+
${o}`),process.exit(1)}await g(e.id),u(i,{name:e.name})}export{x as default};
|
package/dist/lib/rm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as g}from"../chunk-JRALYIRA.js";import{b as j}from"../chunk-
|
|
1
|
+
import{a as g}from"../chunk-JRALYIRA.js";import{a as A,b as F,d as I,g as S,h as W,i as j}from"../chunk-LCWHZUZZ.js";import{b as P}from"../chunk-2BGB3HM3.js";import"../chunk-DC3ZKGQV.js";import"../chunk-7F4WI32C.js";import"../chunk-UUITLEOI.js";import"../chunk-BP52O7NB.js";import*as E from"readline";import{remove as w,removeBucket as T,list as q}from"@tigrisdata/storage";async function $(l){let s=E.createInterface({input:process.stdin,output:process.stdout});return new Promise(m=>{s.question(`${l} (y/N): `,d=>{s.close(),m(d.toLowerCase()==="y")})})}async function C(l){let s=g(l,["path"]),m=g(l,["force","f","F"]),d=!!g(l,["recursive","r"]);s||(console.error("path argument is required"),process.exit(1)),A(s)||(console.error("Path must be a remote Tigris path (t3:// or tigris://)"),process.exit(1));let{bucket:e,path:o}=F(s);e||(console.error("Invalid path"),process.exit(1));let i=await P(),b=s.endsWith("/");if(!o&&!b){if(!m&&!await $(`Are you sure you want to delete bucket '${e}'?`)){console.log("Aborted");return}let{error:t}=await T(e,{config:i});t&&(console.error(t.message),process.exit(1)),console.log(`Removed bucket '${e}'`);return}let n=o.includes("*"),u=o.endsWith("/")||!o&&b;if(!n&&!u&&(u=await I(e,o,i)),u&&!n&&!d&&(console.error("Source is a remote folder (not removed). Use -r to remove recursively."),process.exit(1)),n||u){let t=n?W(o):o?o.endsWith("/")?o:`${o}/`:"",{items:p,error:x}=await j(e,t||void 0,i);x&&(console.error(x.message),process.exit(1));let f=p;if(n){let r=o.split("/").pop(),a=S(r);f=f.filter(R=>{let k=t?R.name.slice(t.length):R.name;return!d&&k.includes("/")?!1:a.test(k.split("/").pop())})}let c=t,M=f.some(r=>r.name===c),v=!1;if(!M&&!n){let{data:r}=await q({prefix:c,limit:1,config:{...i,bucket:e}});v=r?.items?.some(a=>a.name===c)||!1}let y=f.length+(v?1:0);if(y===0){console.log("No objects to remove");return}if(!m&&!await $(`Are you sure you want to delete ${y} object(s)?`)){console.log("Aborted");return}let h=0;for(let r of f){let{error:a}=await w(r.name,{config:{...i,bucket:e}});a?console.error(`Failed to remove ${r.name}: ${a.message}`):(console.log(`Removed t3://${e}/${r.name}`),h++)}if(v){let{error:r}=await w(c,{config:{...i,bucket:e}});r?console.error(`Failed to remove ${c}: ${r.message}`):(console.log(`Removed t3://${e}/${c}`),h++)}console.log(`Removed ${h} object(s)`)}else{if(!m&&!await $(`Are you sure you want to delete 't3://${e}/${o}'?`)){console.log("Aborted");return}let{error:t}=await w(o,{config:{...i,bucket:e}});t&&(console.error(t.message),process.exit(1)),console.log(`Removed t3://${e}/${o}`)}process.exit(0)}export{C as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as n}from"../../chunk-JRALYIRA.js";import{a as c,b as p,c as o,d as f,g as u}from"../../chunk-I52LJ637.js";import{f as d}from"../../chunk-CQCBYE3X.js";import"../../chunk-LY55GPPO.js";import{b as g}from"../../chunk-2BGB3HM3.js";import"../../chunk-DC3ZKGQV.js";import"../../chunk-7F4WI32C.js";import"../../chunk-UUITLEOI.js";import"../../chunk-BP52O7NB.js";import{listBucketSnapshots as y}from"@tigrisdata/storage";var t=u("snapshots","list");async function x(s){c(t);let a=n(s,["name"]),l=n(s,["format","f","F"],"table");a||(o(t,"Bucket name is required"),process.exit(1));let h=await g(),{data:e,error:i}=await y(a,{config:h});if(i&&(o(t,i.message),process.exit(1)),!e||e.length===0){f(t);return}let m=e.map(r=>({name:r.name||"",version:r.version||"",created:r.creationDate})),k=d(m,l,"snapshots","snapshot",[{key:"name",header:"Name"},{key:"version",header:"Version"},{key:"created",header:"Created"}]);console.log(k),p(t,{count:m.length})}export{x as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as e}from"../../chunk-JRALYIRA.js";import{a as m,b as p,c as n,g as c}from"../../chunk-I52LJ637.js";import"../../chunk-LY55GPPO.js";import{b as f}from"../../chunk-2BGB3HM3.js";import"../../chunk-DC3ZKGQV.js";import"../../chunk-7F4WI32C.js";import"../../chunk-UUITLEOI.js";import"../../chunk-BP52O7NB.js";import{createBucketSnapshot as h}from"@tigrisdata/storage";var t=c("snapshots","take");async function u(o){m(t);let s=e(o,["name"]),a=e(o,["snapshot-name","snapshotName"]);s||(n(t,"Bucket name is required"),process.exit(1));let g=await f(),{data:r,error:i}=await h(s,{name:a,config:g});i&&(n(t,i.message),process.exit(1)),p(t,{name:s,snapshotName:a||r?.snapshotVersion,version:r?.snapshotVersion})}export{u as default};
|
package/dist/lib/stat.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as v,b as c,c as s,g as b}from"../chunk-I52LJ637.js";import{a as l,f as u}from"../chunk-CQCBYE3X.js";import{f as k}from"../chunk-LCWHZUZZ.js";import"../chunk-LY55GPPO.js";import{b as S}from"../chunk-2BGB3HM3.js";import"../chunk-DC3ZKGQV.js";import"../chunk-7F4WI32C.js";import"../chunk-UUITLEOI.js";import"../chunk-BP52O7NB.js";import{getStats as j,getBucketInfo as y,head as I}from"@tigrisdata/storage";var e=b("stat");async function x(f){v(e);let d=f.path||f._positional?.[0],m=f.format||"table",p=await S();if(!d){let{data:t,error:a}=await j({config:p});a&&(s(e,a.message),process.exit(1));let r=[{metric:"Active Buckets",value:String(t.stats.activeBuckets)},{metric:"Total Objects",value:String(t.stats.totalObjects)},{metric:"Total Unique Objects",value:String(t.stats.totalUniqueObjects)},{metric:"Total Storage",value:l(t.stats.totalStorageBytes)}],g=u(r,m,"stats","stat",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(g),c(e),process.exit(0)}let{bucket:i,path:n}=k(d);if(i||(s(e,"Invalid path"),process.exit(1)),!n||n==="/"){let{data:t,error:a}=await y(i,{config:p});a&&(s(e,a.message),process.exit(1));let r=[{metric:"Number of Objects",value:t.sizeInfo.numberOfObjects?.toString()??"N/A"},{metric:"Total Size",value:t.sizeInfo.size!==void 0?l(t.sizeInfo.size):"N/A"},{metric:"All Versions Count",value:t.sizeInfo.numberOfObjectsAllVersions?.toString()??"N/A"},{metric:"Snapshots Enabled",value:t.isSnapshotEnabled?"Yes":"No"},{metric:"Default Tier",value:t.settings.defaultTier},{metric:"Allow Object ACL",value:t.settings.allowObjectAcl?"Yes":"No"},{metric:"Has Forks",value:t.forkInfo?.hasChildren?"Yes":"No"}];t.forkInfo?.parents?.length&&(r.push({metric:"Forked From",value:t.forkInfo.parents[0].bucketName}),r.push({metric:"Fork Snapshot",value:t.forkInfo.parents[0].snapshot}));let g=u(r,m,"bucket-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(g),c(e,{bucket:i}),process.exit(0)}let{data:o,error:h}=await I(n,{config:{...p,bucket:i}});h&&(s(e,h.message),process.exit(1)),o||(s(e,"Object not found"),process.exit(1));let O=[{metric:"Path",value:o.path},{metric:"Size",value:l(o.size)},{metric:"Content-Type",value:o.contentType||"N/A"},{metric:"Content-Disposition",value:o.contentDisposition||"N/A"},{metric:"Modified",value:o.modified.toISOString()}],A=u(O,m,"object-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(A),c(e,{bucket:i,path:n}),process.exit(0)}export{x as default};
|
package/dist/lib/touch.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as n}from"../chunk-JRALYIRA.js";import{f as i}from"../chunk-LCWHZUZZ.js";import{b as s}from"../chunk-2BGB3HM3.js";import"../chunk-DC3ZKGQV.js";import"../chunk-7F4WI32C.js";import"../chunk-UUITLEOI.js";import"../chunk-BP52O7NB.js";import{put as p}from"@tigrisdata/storage";async function f(c){let r=n(c,["path"]);r||(console.error("path argument is required"),process.exit(1));let{bucket:o,path:e}=i(r);o||(console.error("Invalid path"),process.exit(1)),e||(console.error("Object key is required (use mk to create buckets)"),process.exit(1));let a=await s(),{error:t}=await p(e,"",{config:{...a,bucket:o}});t&&(console.error(t.message),process.exit(1)),console.log(`Created '${o}/${e}'`),process.exit(0)}export{f as default};
|
package/dist/lib/whoami.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c,e as h,g as
|
|
1
|
+
import{c,e as h,g as O}from"../chunk-I52LJ637.js";import"../chunk-LY55GPPO.js";import{b as $}from"../chunk-2BGB3HM3.js";import{b as z}from"../chunk-DC3ZKGQV.js";import"../chunk-7F4WI32C.js";import{g as f,k as p,s as A}from"../chunk-UUITLEOI.js";import"../chunk-BP52O7NB.js";import{listOrganizations as C}from"@tigrisdata/iam";var s=O("whoami");async function y(){try{let i=A(),d=p(),l,u;if(i==="oauth"){let n=z();if(!await n.isAuthenticated()){h(s);return}let a=await n.getIdTokenClaims();l=a.email,u=a.sub}else if(d)l=void 0,u=d.accessKeyId;else{h(s);return}let e=[];if(e.push(""),e.push("User Information:"),e.push(` Email: ${l||"N/A"}`),e.push(` User ID: ${u||"N/A"}`),i==="oauth"){let n=await $(),o=f(),{data:a,error:g}=await C({config:n});g&&(c(s,g.message),process.exit(1));let r=a?.organizations??[];if(r.length>0){if(e.push(""),e.push(`Organizations (${r.length}):`),r.forEach(t=>{let w=t.id===o?">":" ";e.push(` ${w} ${t.name} (${t.id})`)}),o){let t=r.find(m=>m.id===o);t&&(e.push(""),e.push(`Active: ${t.name}`))}}else e.push(""),e.push("Organizations: None")}else e.push(""),e.push("Login method: Access Key Credentials"),e.push(" (Organization listing requires OAuth login: tigris login)");e.push(""),console.log(e.join(`
|
|
2
2
|
`))}catch(i){i instanceof Error?c(s,i.message):c(s),process.exit(1)}}export{y as default};
|