@tigrisdata/cli 2.13.1 → 2.14.0-beta.2

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 (83) hide show
  1. package/dist/auth/s3-client.js +1 -1
  2. package/dist/chunk-5LRGY6RN.js +2 -0
  3. package/dist/chunk-DHUR7FTP.js +4 -0
  4. package/dist/chunk-DV3LCXRH.js +1 -0
  5. package/dist/chunk-FP2FMNEE.js +8 -0
  6. package/dist/chunk-GHTFMDGV.js +4 -0
  7. package/dist/chunk-S5P27E6L.js +7 -0
  8. package/dist/chunk-S77OAN6Y.js +1 -0
  9. package/dist/chunk-TD2HGNDY.js +1 -0
  10. package/dist/chunk-XLRVNE6T.js +1 -0
  11. package/dist/chunk-ZK3HJDIZ.js +1 -0
  12. package/dist/cli-core.js +1 -1
  13. package/dist/cli.js +1 -1
  14. package/dist/index.js +1 -1
  15. package/dist/lib/access-keys/assign.js +3 -2
  16. package/dist/lib/access-keys/create.js +3 -2
  17. package/dist/lib/access-keys/delete.js +3 -2
  18. package/dist/lib/access-keys/get.js +3 -2
  19. package/dist/lib/access-keys/list.js +3 -2
  20. package/dist/lib/buckets/create.js +1 -1
  21. package/dist/lib/buckets/delete.js +1 -1
  22. package/dist/lib/buckets/get.js +1 -1
  23. package/dist/lib/buckets/list.js +1 -1
  24. package/dist/lib/buckets/set-cors.js +1 -1
  25. package/dist/lib/buckets/set-locations.js +1 -0
  26. package/dist/lib/buckets/set-migration.js +1 -1
  27. package/dist/lib/buckets/set-notifications.js +1 -1
  28. package/dist/lib/buckets/set-transition.js +1 -1
  29. package/dist/lib/buckets/set-ttl.js +1 -1
  30. package/dist/lib/buckets/set.js +1 -1
  31. package/dist/lib/configure/index.js +1 -1
  32. package/dist/lib/cp.js +1 -1
  33. package/dist/lib/credentials/test.js +1 -1
  34. package/dist/lib/forks/create.js +1 -1
  35. package/dist/lib/forks/list.js +1 -1
  36. package/dist/lib/iam/policies/create.js +3 -2
  37. package/dist/lib/iam/policies/delete.js +3 -2
  38. package/dist/lib/iam/policies/edit.js +3 -2
  39. package/dist/lib/iam/policies/get.js +3 -2
  40. package/dist/lib/iam/policies/list.js +3 -2
  41. package/dist/lib/iam/users/invite.js +4 -3
  42. package/dist/lib/iam/users/list.js +8 -7
  43. package/dist/lib/iam/users/remove.js +4 -3
  44. package/dist/lib/iam/users/revoke-invitation.js +4 -3
  45. package/dist/lib/iam/users/update-role.js +4 -3
  46. package/dist/lib/login/credentials.js +1 -1
  47. package/dist/lib/login/oauth.js +1 -1
  48. package/dist/lib/login/select.js +1 -1
  49. package/dist/lib/logout.js +1 -1
  50. package/dist/lib/ls.js +1 -1
  51. package/dist/lib/mk.js +1 -1
  52. package/dist/lib/mv.js +1 -1
  53. package/dist/lib/objects/delete.js +1 -1
  54. package/dist/lib/objects/get.js +1 -1
  55. package/dist/lib/objects/list.js +1 -1
  56. package/dist/lib/objects/put.js +1 -1
  57. package/dist/lib/objects/set.js +1 -1
  58. package/dist/lib/organizations/create.js +3 -3
  59. package/dist/lib/organizations/list.js +2 -2
  60. package/dist/lib/organizations/select.js +4 -4
  61. package/dist/lib/presign.js +1 -1
  62. package/dist/lib/rm.js +1 -1
  63. package/dist/lib/snapshots/list.js +1 -1
  64. package/dist/lib/snapshots/take.js +1 -1
  65. package/dist/lib/stat.js +1 -1
  66. package/dist/lib/touch.js +1 -1
  67. package/dist/lib/whoami.js +2 -2
  68. package/dist/specs.yaml +324 -15
  69. package/dist/utils/errors.js +1 -0
  70. package/dist/utils/exit.js +1 -0
  71. package/dist/utils/interactive.js +1 -0
  72. package/dist/utils/locations.js +1 -1
  73. package/dist/utils/messages.js +1 -1
  74. package/dist/utils/update-check.js +1 -1
  75. package/package.json +5 -4
  76. package/dist/chunk-47THEW77.js +0 -8
  77. package/dist/chunk-4V35SYMM.js +0 -9
  78. package/dist/chunk-F2VBJEK7.js +0 -1
  79. package/dist/chunk-Q4KOY3VK.js +0 -1
  80. package/dist/chunk-SYGTCM6P.js +0 -2
  81. package/dist/chunk-TNOMT3EP.js +0 -4
  82. package/dist/chunk-YERF43U2.js +0 -1
  83. /package/dist/{chunk-VOQSWXBS.js → chunk-IJYKPR4W.js} +0 -0
@@ -1,2 +1,3 @@
1
- import{a as O,b as p}from"../../../chunk-Y7MJZRR4.js";import{a as S,b as A,c as t,d as P,g as T}from"../../../chunk-SYGTCM6P.js";import{a as r}from"../../../chunk-JRALYIRA.js";import{a as E}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as w}from"../../../chunk-E4MLGABW.js";import{g as x}from"../../../chunk-DOUR5YEY.js";import{c as y}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import{existsSync as N,readFileSync as R}from"fs";import q from"enquirer";import{editPolicy as M,getPolicy as z,listPolicies as F}from"@tigrisdata/iam";var{prompt:I}=q,e=T("iam policies","edit");async function Y(c){S(e);let o=r(c,["resource"]),n=r(c,["document","d"]),a=r(c,["description"]);await E()!=="oauth"&&(t(e,`Policies can only be edited when logged in via OAuth.
2
- Run "tigris login oauth" first.`),process.exit(1));let g=w();await g.isAuthenticated()||(t(e,'Not authenticated. Run "tigris login oauth" first.'),process.exit(1));let C=await g.getAccessToken(),D=x(),k=y(),d={sessionToken:C,organizationId:D??void 0,iamEndpoint:k.iamEndpoint};if(!o){process.stdin.isTTY||(t(e,"Policy ARN is required when piping document via stdin."),process.exit(1));let{data:i,error:h}=await F({config:d});if(h&&(t(e,h.message),process.exit(1)),!i.policies||i.policies.length===0){P(e);return}let{selected:J}=await I({type:"select",name:"selected",message:"Select a policy to edit:",choices:i.policies.map(m=>({name:m.resource,message:`${m.name} (${m.resource})`}))});o=J}let s;if(n){let i;N(n)?i=R(n,"utf-8"):i=n;try{s=p(i)}catch{t(e,"Invalid JSON in policy document"),process.exit(1)}}else if(!process.stdin.isTTY&&!a){let i=await O();try{s=p(i)}catch{t(e,"Invalid JSON in policy document"),process.exit(1)}}!s&&!a&&(t(e,"Either --document or --description is required."),process.exit(1));let{data:l,error:u}=await z(o,{config:d});u&&(t(e,u.message),process.exit(1));let{data:v,error:f}=await M(o,{document:s??l.document,description:a??l.description,config:d});f&&(t(e,f.message),process.exit(1)),A(e,{resource:v.resource})}export{Y as default};
1
+ import{a as T,b as f}from"../../../chunk-Y7MJZRR4.js";import{a as E}from"../../../chunk-S77OAN6Y.js";import{a as c}from"../../../chunk-JRALYIRA.js";import{a as R}from"../../../chunk-IJYKPR4W.js";import{a as e}from"../../../chunk-GHTFMDGV.js";import"../../../chunk-DV3LCXRH.js";import{b as w,c as A,d as t,e as P,i as S}from"../../../chunk-5LRGY6RN.js";import"../../../chunk-BETAO4PB.js";import{b as O}from"../../../chunk-E4MLGABW.js";import{g as N}from"../../../chunk-DOUR5YEY.js";import{c as v}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import{existsSync as D,readFileSync as k}from"fs";import M from"enquirer";import{editPolicy as z,getPolicy as F,listPolicies as Y}from"@tigrisdata/iam";var{prompt:b}=M,i=S("iam policies","edit");async function $(a){w(i);let n=c(a,["resource"]),r=c(a,["document","d"]),d=c(a,["description"]);await R()!=="oauth"&&(t(i,`Policies can only be edited when logged in via OAuth.
2
+ Run "tigris login oauth" first.`),e(`Policies can only be edited when logged in via OAuth.
3
+ Run "tigris login oauth" first.`,i));let h=O();await h.isAuthenticated()||(t(i,'Not authenticated. Run "tigris login oauth" first.'),e('Not authenticated. Run "tigris login oauth" first.',i));let q=await h.getAccessToken(),I=N(),J=v(),m={sessionToken:q,organizationId:I??void 0,iamEndpoint:J.iamEndpoint};if(!n){process.stdin.isTTY||(t(i,"Policy ARN is required when piping document via stdin."),e("Policy ARN is required when piping document via stdin.",i));let{data:o,error:g}=await Y({config:m});if(g&&(t(i,g.message),e(g,i)),!o.policies||o.policies.length===0){P(i);return}E("Provide the policy ARN as a positional argument");let{selected:C}=await b({type:"select",name:"selected",message:"Select a policy to edit:",choices:o.policies.map(p=>({name:p.resource,message:`${p.name} (${p.resource})`}))});n=C}let s;if(r){let o;D(r)?o=k(r,"utf-8"):o=r;try{s=f(o)}catch{t(i,"Invalid JSON in policy document"),e("Invalid JSON in policy document",i)}}else if(!process.stdin.isTTY&&!d){let o=await T();try{s=f(o)}catch{t(i,"Invalid JSON in policy document"),e("Invalid JSON in policy document",i)}}!s&&!d&&(t(i,"Either --document or --description is required."),e("Either --document or --description is required.",i));let{data:y,error:u}=await F(n,{config:m});u&&(t(i,u.message),e(u,i));let{data:x,error:l}=await z(n,{document:s??y.document,description:d??y.description,config:m});l&&(t(i,l.message),e(l,i)),A(i,{resource:x.resource})}export{$ as default};
@@ -1,2 +1,3 @@
1
- import{a as y,b as r,c as i,d as v,g as A}from"../../../chunk-SYGTCM6P.js";import{f as O}from"../../../chunk-CQCBYE3X.js";import{a as c}from"../../../chunk-JRALYIRA.js";import{a as S}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as h}from"../../../chunk-E4MLGABW.js";import{g as p}from"../../../chunk-DOUR5YEY.js";import{c as m}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import E from"enquirer";import{getPolicy as P,listPolicies as R}from"@tigrisdata/iam";var{prompt:I}=E,o=A("iam policies","get");async function T(a){y(o);let n=c(a,["resource"]),l=c(a,["format","f","F"],"table");await S()!=="oauth"&&(i(o,`Policies can only be retrieved when logged in via OAuth.
2
- Run "tigris login oauth" first.`),process.exit(1));let u=h();await u.isAuthenticated()||(i(o,'Not authenticated. Run "tigris login oauth" first.'),process.exit(1));let w=await u.getAccessToken(),C=p(),$=m(),f={sessionToken:w,organizationId:C??void 0,iamEndpoint:$.iamEndpoint};if(!n){let{data:t,error:d}=await R({config:f});if(d&&(i(o,d.message),process.exit(1)),!t.policies||t.policies.length===0){v(o);return}let{selected:D}=await I({type:"select",name:"selected",message:"Select a policy:",choices:t.policies.map(s=>({name:s.resource,message:`${s.name} (${s.resource})`}))});n=D}let{data:e,error:g}=await P(n,{config:f});if(g&&(i(o,g.message),process.exit(1)),l==="json"){console.log(JSON.stringify(e,null,2)),r(o);return}let k=[{field:"Name",value:e.name},{field:"ID",value:e.id},{field:"Resource",value:e.resource},{field:"Description",value:e.description||"-"},{field:"Path",value:e.path},{field:"Version",value:e.defaultVersionId},{field:"Attachments",value:String(e.attachmentCount)},{field:"Created",value:e.createDate.toISOString()},{field:"Updated",value:e.updateDate.toISOString()}],x=O(k,l,"policy","field",[{key:"field",header:"Field"},{key:"value",header:"Value"}]);if(console.log(x),e.users&&e.users.length>0){console.log("Attached Users:");for(let t of e.users)console.log(` - ${t}`);console.log()}console.log("Policy Document:"),console.log(` Version: ${e.document.version}`),console.log(" Statements:");for(let t of e.document.statements)console.log(` - Effect: ${t.effect}`),console.log(` Action: ${Array.isArray(t.action)?t.action.join(", "):t.action}`),console.log(` Resource: ${Array.isArray(t.resource)?t.resource.join(", "):t.resource}`);r(o)}export{T as default};
1
+ import{f as w}from"../../../chunk-CQCBYE3X.js";import{a as r}from"../../../chunk-JRALYIRA.js";import{a as O}from"../../../chunk-IJYKPR4W.js";import{a as n}from"../../../chunk-GHTFMDGV.js";import"../../../chunk-DV3LCXRH.js";import{b as p,c as g,d as i,e as h,i as y}from"../../../chunk-5LRGY6RN.js";import"../../../chunk-BETAO4PB.js";import{b as S}from"../../../chunk-E4MLGABW.js";import{g as A}from"../../../chunk-DOUR5YEY.js";import{c as v}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import E from"enquirer";import{getPolicy as I,listPolicies as b}from"@tigrisdata/iam";var{prompt:P}=E,o=y("iam policies","get");async function N(s){p(o);let a=r(s,["resource"]),f=r(s,["json"])?"json":r(s,["format","f","F"],"table");await O()!=="oauth"&&(i(o,`Policies can only be retrieved when logged in via OAuth.
2
+ Run "tigris login oauth" first.`),n(`Policies can only be retrieved when logged in via OAuth.
3
+ Run "tigris login oauth" first.`,o));let d=S();await d.isAuthenticated()||(i(o,'Not authenticated. Run "tigris login oauth" first.'),n('Not authenticated. Run "tigris login oauth" first.',o));let j=await d.getAccessToken(),C=A(),R=v(),m={sessionToken:j,organizationId:C??void 0,iamEndpoint:R.iamEndpoint};if(!a){let{data:t,error:l}=await b({config:m});if(l&&(i(o,l.message),n(l,o)),!t.policies||t.policies.length===0){h(o);return}let{selected:D}=await P({type:"select",name:"selected",message:"Select a policy:",choices:t.policies.map(u=>({name:u.resource,message:`${u.name} (${u.resource})`}))});a=D}let{data:e,error:c}=await I(a,{config:m});if(c&&(i(o,c.message),n(c,o)),f==="json"){console.log(JSON.stringify(e,null,2)),g(o);return}let $=[{field:"Name",value:e.name},{field:"ID",value:e.id},{field:"Resource",value:e.resource},{field:"Description",value:e.description||"-"},{field:"Path",value:e.path},{field:"Version",value:e.defaultVersionId},{field:"Attachments",value:String(e.attachmentCount)},{field:"Created",value:e.createDate.toISOString()},{field:"Updated",value:e.updateDate.toISOString()}],k=w($,f,"policy","field",[{key:"field",header:"Field"},{key:"value",header:"Value"}]);if(console.log(k),e.users&&e.users.length>0){console.log("Attached Users:");for(let t of e.users)console.log(` - ${t}`);console.log()}console.log("Policy Document:"),console.log(` Version: ${e.document.version}`),console.log(" Statements:");for(let t of e.document.statements)console.log(` - Effect: ${t.effect}`),console.log(` Action: ${Array.isArray(t.action)?t.action.join(", "):t.action}`),console.log(` Resource: ${Array.isArray(t.resource)?t.resource.join(", "):t.resource}`);g(o)}export{N as default};
@@ -1,2 +1,3 @@
1
- import{a as m,b as p,c as i,d as u,g}from"../../../chunk-SYGTCM6P.js";import{f as l}from"../../../chunk-CQCBYE3X.js";import{a as f}from"../../../chunk-JRALYIRA.js";import{a as h}from"../../../chunk-VOQSWXBS.js";import"../../../chunk-BETAO4PB.js";import{b as d}from"../../../chunk-E4MLGABW.js";import{g as c}from"../../../chunk-DOUR5YEY.js";import{c as s}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import{listPolicies as O}from"@tigrisdata/iam";var e=g("iam policies","list");async function D(k){m(e);let A=f(k,["format","f","F"],"table");await h()!=="oauth"&&(i(e,`Policies can only be listed when logged in via OAuth.
2
- Run "tigris login oauth" first.`),process.exit(1));let n=d();await n.isAuthenticated()||(i(e,'Not authenticated. Run "tigris login oauth" first.'),process.exit(1));let w=await n.getAccessToken(),C=c(),x=s(),{data:o,error:r}=await O({config:{sessionToken:w,organizationId:C??void 0,iamEndpoint:x.iamEndpoint}});if(r&&(i(e,r.message),process.exit(1)),!o.policies||o.policies.length===0){u(e);return}let a=o.policies.map(t=>({name:t.name,id:t.id,resource:t.resource,description:t.description||"-",attachments:t.attachmentCount,created:t.createDate,updated:t.updateDate})),y=l(a,A,"policies","policy",[{key:"id",header:"ID"},{key:"resource",header:"Resource"},{key:"name",header:"Name"},{key:"description",header:"Description"},{key:"attachments",header:"Attachments"},{key:"created",header:"Created"},{key:"updated",header:"Updated"}]);console.log(y),p(e,{count:a.length})}export{D as default};
1
+ import{f as A}from"../../../chunk-CQCBYE3X.js";import{a as r}from"../../../chunk-JRALYIRA.js";import{a as k}from"../../../chunk-IJYKPR4W.js";import{a as o}from"../../../chunk-GHTFMDGV.js";import"../../../chunk-DV3LCXRH.js";import{b as u,c as g,d as i,e as m,i as h}from"../../../chunk-5LRGY6RN.js";import"../../../chunk-BETAO4PB.js";import{b as f}from"../../../chunk-E4MLGABW.js";import{g as p}from"../../../chunk-DOUR5YEY.js";import{c as l}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import{listPolicies as b}from"@tigrisdata/iam";var t=h("iam policies","list");async function j(s){u(t);let w=r(s,["json"])?"json":r(s,["format","f","F"],"table");await k()!=="oauth"&&(i(t,`Policies can only be listed when logged in via OAuth.
2
+ Run "tigris login oauth" first.`),o(`Policies can only be listed when logged in via OAuth.
3
+ Run "tigris login oauth" first.`,t));let c=f();await c.isAuthenticated()||(i(t,'Not authenticated. Run "tigris login oauth" first.'),o('Not authenticated. Run "tigris login oauth" first.',t));let y=await c.getAccessToken(),C=p(),O=l(),{data:n,error:a}=await b({config:{sessionToken:y,organizationId:C??void 0,iamEndpoint:O.iamEndpoint}});if(a&&(i(t,a.message),o(a,t)),!n.policies||n.policies.length===0){m(t);return}let d=n.policies.map(e=>({name:e.name,id:e.id,resource:e.resource,description:e.description||"-",attachments:e.attachmentCount,created:e.createDate,updated:e.updateDate})),R=A(d,w,"policies","policy",[{key:"id",header:"ID"},{key:"resource",header:"Resource"},{key:"name",header:"Name"},{key:"description",header:"Description"},{key:"attachments",header:"Attachments"},{key:"created",header:"Created"},{key:"updated",header:"Updated"}]);console.log(R),g(t,{count:d.length})}export{j as default};
@@ -1,5 +1,6 @@
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
- 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.
1
+ import{a as R}from"../../../chunk-GZ7JBHFT.js";import{a as l}from"../../../chunk-JRALYIRA.js";import{a as b}from"../../../chunk-IJYKPR4W.js";import{a as n}from"../../../chunk-GHTFMDGV.js";import"../../../chunk-DV3LCXRH.js";import{b as c,c as f,d as t,i as h}from"../../../chunk-5LRGY6RN.js";import"../../../chunk-BETAO4PB.js";import{b as y}from"../../../chunk-E4MLGABW.js";import{g as v}from"../../../chunk-DOUR5YEY.js";import{c as p}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import{inviteUser as M}from"@tigrisdata/iam";var i=h("iam users","invite");async function U(m){c(i),await b()!=="oauth"&&(t(i,`Users can only be invited when logged in via OAuth.
2
+ Run "tigris login oauth" first.`),n(`Users can only be invited when logged in via OAuth.
3
+ Run "tigris login oauth" first.`,i));let g=v();if(R(g??void 0)){console.log(`User management is not available for Fly.io organizations.
3
4
  Your users are managed through Fly.io.
4
5
 
5
- Visit https://fly.io to manage your organization members.`);return}let e=s(r,["email"]),o=s(r,["role","r"])??"member",n=Array.isArray(e)?e:e?[e]:[];n.length===0&&(t(i,"Email address is required"),process.exit(1));let m=["admin","member"];m.includes(o)||(t(i,`Invalid role "${o}". Must be one of: ${m.join(", ")}`),process.exit(1));let A=o,c=f();await c.isAuthenticated()||(t(i,'Not authenticated. Run "tigris login oauth" first.'),process.exit(1));let b=await c.getAccessToken(),l=d(),x=n.map(w=>({email:w,role:A})),{error:g}=await E(x,{config:{sessionToken:b,organizationId:a??void 0,iamEndpoint:l.iamEndpoint,mgmtEndpoint:l.mgmtEndpoint}});g&&(t(i,g.message),process.exit(1)),y(i,{email:n.join(", ")})}export{O as default};
6
+ Visit https://fly.io to manage your organization members.`);return}let o=l(m,["email"]),e=l(m,["role","r"])??"member",r=Array.isArray(o)?o:o?[o]:[];r.length===0&&(t(i,"Email address is required"),n("Email address is required",i));let s=["admin","member"];s.includes(e)||(t(i,`Invalid role "${e}". Must be one of: ${s.join(", ")}`),n(`Invalid role "${e}". Must be one of: ${s.join(", ")}`,i));let A=e,d=y();await d.isAuthenticated()||(t(i,'Not authenticated. Run "tigris login oauth" first.'),n('Not authenticated. Run "tigris login oauth" first.',i));let w=await d.getAccessToken(),u=p(),E=r.map(O=>({email:O,role:A})),{error:a}=await M(E,{config:{sessionToken:w,organizationId:g??void 0,iamEndpoint:u.iamEndpoint,mgmtEndpoint:u.mgmtEndpoint}});a&&(t(i,a.message),n(a,i)),f(i,{email:r.join(", ")})}export{U as default};
@@ -1,9 +1,10 @@
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
- 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.
1
+ import{a as v}from"../../../chunk-GZ7JBHFT.js";import{b as T,d as l,e as m}from"../../../chunk-CQCBYE3X.js";import{a as r}from"../../../chunk-JRALYIRA.js";import{a as E}from"../../../chunk-IJYKPR4W.js";import{a}from"../../../chunk-GHTFMDGV.js";import"../../../chunk-DV3LCXRH.js";import{b as p,c as y,d as i,e as k,i as b}from"../../../chunk-5LRGY6RN.js";import"../../../chunk-BETAO4PB.js";import{b as C}from"../../../chunk-E4MLGABW.js";import{g as w}from"../../../chunk-DOUR5YEY.js";import{c as U}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import{listUsers as j}from"@tigrisdata/iam";var e=b("iam users","list");async function z(g){p(e);let u=r(g,["json"])?"json":r(g,["format","f","F"],"table");await E()!=="oauth"&&(i(e,`Users can only be listed when logged in via OAuth.
2
+ Run "tigris login oauth" first.`),a(`Users can only be listed when logged in via OAuth.
3
+ Run "tigris login oauth" first.`,e));let c=w();if(v(c??void 0)){console.log(`User management is not available for Fly.io organizations.
3
4
  Your users are managed through Fly.io.
4
5
 
5
- Visit https://fly.io to manage your organization members.`);return}let m=h();await m.isAuthenticated()||(i(n,'Not authenticated. Run "tigris login oauth" first.'),process.exit(1));let E=await m.getAccessToken(),g=u(),{data:c,error:d}=await A({config:{sessionToken:E,organizationId:l??void 0,iamEndpoint:g.iamEndpoint,mgmtEndpoint:g.mgmtEndpoint}});d&&(i(n,d.message),process.exit(1));let t=c.users.map(e=>({email:e.email,name:e.userName||"-",role:e.isOrgOwner?"owner":e.role,userId:e.userId})),o=c.invitations.map(e=>({id:e.id,email:e.email,role:e.role,status:e.status,validUntil:e.validUntil.toLocaleDateString()}));if(t.length===0&&o.length===0){b(n);return}let I=[{key:"email",header:"Email"},{key:"name",header:"Name"},{key:"role",header:"Role"},{key:"userId",header:"User ID"}],x=[{key:"id",header:"ID"},{key:"email",header:"Email"},{key:"role",header:"Role"},{key:"status",header:"Status"},{key:"validUntil",header:"Valid Until"}];if(r==="json")console.log(T({users:t,invitations:o}));else if(r==="xml"){let e=["<organization>"];e.push(" "+s(t,"users","user").replace(/\n/g,`
6
- `)),e.push(" "+s(o,"invitations","invitation").replace(/\n/g,`
7
- `)),e.push("</organization>"),console.log(e.join(`
8
- `))}else t.length>0&&(console.log(`
9
- Members`),console.log(a(t,I))),o.length>0&&(console.log("Pending Invitations"),console.log(a(o,x)));let z=t.length+o.length;k(n,{count:z})}export{O as default};
6
+ Visit https://fly.io to manage your organization members.`);return}let d=C();await d.isAuthenticated()||(i(e,'Not authenticated. Run "tigris login oauth" first.'),a('Not authenticated. Run "tigris login oauth" first.',e));let A=await d.getAccessToken(),h=U(),{data:f,error:s}=await j({config:{sessionToken:A,organizationId:c??void 0,iamEndpoint:h.iamEndpoint,mgmtEndpoint:h.mgmtEndpoint}});s&&(i(e,s.message),a(s,e));let o=f.users.map(t=>({email:t.email,name:t.userName||"-",role:t.isOrgOwner?"owner":t.role,userId:t.userId})),n=f.invitations.map(t=>({id:t.id,email:t.email,role:t.role,status:t.status,validUntil:t.validUntil.toLocaleDateString()}));if(o.length===0&&n.length===0){k(e);return}let I=[{key:"email",header:"Email"},{key:"name",header:"Name"},{key:"role",header:"Role"},{key:"userId",header:"User ID"}],O=[{key:"id",header:"ID"},{key:"email",header:"Email"},{key:"role",header:"Role"},{key:"status",header:"Status"},{key:"validUntil",header:"Valid Until"}];if(u==="json")console.log(T({users:o,invitations:n}));else if(u==="xml"){let t=["<organization>"];t.push(" "+l(o,"users","user").replace(/\n/g,`
7
+ `)),t.push(" "+l(n,"invitations","invitation").replace(/\n/g,`
8
+ `)),t.push("</organization>"),console.log(t.join(`
9
+ `))}else o.length>0&&(console.log(`
10
+ Members`),console.log(m(o,I))),n.length>0&&(console.log("Pending Invitations"),console.log(m(n,O)));let R=o.length+n.length;y(e,{count:R})}export{z as default};
@@ -1,5 +1,6 @@
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
- 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.
1
+ import{a as E}from"../../../chunk-GZ7JBHFT.js";import{a as c,b}from"../../../chunk-S77OAN6Y.js";import{a as g}from"../../../chunk-JRALYIRA.js";import{a as R}from"../../../chunk-IJYKPR4W.js";import{a as o}from"../../../chunk-GHTFMDGV.js";import"../../../chunk-DV3LCXRH.js";import{b as h,c as y,d as t,e as v,i as w}from"../../../chunk-5LRGY6RN.js";import"../../../chunk-BETAO4PB.js";import{b as U}from"../../../chunk-E4MLGABW.js";import{g as O}from"../../../chunk-DOUR5YEY.js";import{c as A}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import z from"enquirer";import{removeUser as S,listUsers as T}from"@tigrisdata/iam";var{prompt:I}=z,e=w("iam users","remove");async function x(l){h(e);let i=g(l,["resource"]),k=g(l,["force","yes","y"]);await R()!=="oauth"&&(t(e,`Users can only be removed when logged in via OAuth.
2
+ Run "tigris login oauth" first.`),o(`Users can only be removed when logged in via OAuth.
3
+ Run "tigris login oauth" first.`,e));let u=O();if(E(u??void 0)){console.log(`User management is not available for Fly.io organizations.
3
4
  Your users are managed through Fly.io.
4
5
 
5
- Visit https://fly.io to manage your organization members.`);return}let s=f();await s.isAuthenticated()||(t(e,'Not authenticated. Run "tigris login oauth" first.'),process.exit(1));let x=await s.getAccessToken(),a=u(),m={sessionToken:x,organizationId:n??void 0,iamEndpoint:a.iamEndpoint,mgmtEndpoint:a.mgmtEndpoint},r=Array.isArray(o)?o:o?[o]:[];if(r.length===0){let{data:g,error:l}=await z({config:m});if(l&&(t(e,l.message),process.exit(1)),g.users.length===0){w(e);return}let{selected:E}=await F({type:"multiselect",name:"selected",message:"Select user(s) to remove (space to select, enter to confirm):",choices:g.users.map(i=>({name:i.userId,message:`${i.email} (${i.isOrgOwner?"owner":i.role})`}))});r=E}let{error:c}=await k(r,{config:m});c&&(t(e,c.message),process.exit(1)),y(e)}export{S as default};
6
+ Visit https://fly.io to manage your organization members.`);return}let f=U();await f.isAuthenticated()||(t(e,'Not authenticated. Run "tigris login oauth" first.'),o('Not authenticated. Run "tigris login oauth" first.',e));let C=await f.getAccessToken(),d=A(),p={sessionToken:C,organizationId:u??void 0,iamEndpoint:d.iamEndpoint,mgmtEndpoint:d.mgmtEndpoint},r=Array.isArray(i)?i:i?[i]:[];if(r.length===0){let{data:a,error:m}=await T({config:p});if(m&&(t(e,m.message),o(m,e)),a.users.length===0){v(e);return}c("Provide user ID(s) as a positional argument");let{selected:F}=await I({type:"multiselect",name:"selected",message:"Select user(s) to remove (space to select, enter to confirm):",choices:a.users.map(n=>({name:n.userId,message:`${n.email} (${n.isOrgOwner?"owner":n.role})`}))});r=F}if(!k&&(c("Use --yes to skip confirmation"),!await b(`Remove ${r.length} user(s)?`))){console.log("Aborted");return}let{error:s}=await S(r,{config:p});s&&(t(e,s.message),o(s,e)),y(e)}export{x as default};
@@ -1,5 +1,6 @@
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
- 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.
1
+ import{a as E}from"../../../chunk-GZ7JBHFT.js";import{a as g,b}from"../../../chunk-S77OAN6Y.js";import{a as m}from"../../../chunk-JRALYIRA.js";import{a as O}from"../../../chunk-IJYKPR4W.js";import{a as e}from"../../../chunk-GHTFMDGV.js";import"../../../chunk-DV3LCXRH.js";import{b as h,c as v,d as i,e as y,i as k}from"../../../chunk-5LRGY6RN.js";import"../../../chunk-BETAO4PB.js";import{b as I}from"../../../chunk-E4MLGABW.js";import{g as A}from"../../../chunk-DOUR5YEY.js";import{c as w}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import F from"enquirer";import{revokeInvitation as T,listUsers as U}from"@tigrisdata/iam";var{prompt:S}=F,t=k("iam users","revoke-invitation");async function $(l){h(t);let o=m(l,["resource"]),R=m(l,["force","yes","y"]);await O()!=="oauth"&&(i(t,`Invitations can only be revoked when logged in via OAuth.
2
+ Run "tigris login oauth" first.`),e(`Invitations can only be revoked when logged in via OAuth.
3
+ Run "tigris login oauth" first.`,t));let f=A();if(E(f??void 0)){console.log(`User management is not available for Fly.io organizations.
3
4
  Your users are managed through Fly.io.
4
5
 
5
- Visit https://fly.io to manage your organization members.`);return}let s=f();await s.isAuthenticated()||(e(t,'Not authenticated. Run "tigris login oauth" first.'),process.exit(1));let E=await s.getAccessToken(),a=u(),c={sessionToken:E,organizationId:r??void 0,iamEndpoint:a.iamEndpoint,mgmtEndpoint:a.mgmtEndpoint},n=Array.isArray(i)?i:i?[i]:[];if(n.length===0){let{data:m,error:l}=await F({config:c});if(l&&(e(t,l.message),process.exit(1)),m.invitations.length===0){y(t);return}let{selected:C}=await O({type:"multiselect",name:"selected",message:"Select invitation(s) to revoke (space to select, enter to confirm):",choices:m.invitations.map(o=>({name:o.id,message:`${o.email} (${o.role} - ${o.status})`}))});n=C}let{error:g}=await z(n,{config:c});g&&(e(t,g.message),process.exit(1)),v(t)}export{S as default};
6
+ Visit https://fly.io to manage your organization members.`);return}let u=I();await u.isAuthenticated()||(i(t,'Not authenticated. Run "tigris login oauth" first.'),e('Not authenticated. Run "tigris login oauth" first.',t));let C=await u.getAccessToken(),d=w(),p={sessionToken:C,organizationId:f??void 0,iamEndpoint:d.iamEndpoint,mgmtEndpoint:d.mgmtEndpoint},n=Array.isArray(o)?o:o?[o]:[];if(n.length===0){let{data:a,error:c}=await U({config:p});if(c&&(i(t,c.message),e(c,t)),a.invitations.length===0){y(t);return}g("Provide invitation ID(s) as a positional argument");let{selected:z}=await S({type:"multiselect",name:"selected",message:"Select invitation(s) to revoke (space to select, enter to confirm):",choices:a.invitations.map(r=>({name:r.id,message:`${r.email} (${r.role} - ${r.status})`}))});n=z}if(!R&&(g("Use --yes to skip confirmation"),!await b(`Revoke ${n.length} invitation(s)?`))){console.log("Aborted");return}let{error:s}=await T(n,{config:p});s&&(i(t,s.message),e(s,t)),v(t)}export{$ as default};
@@ -1,5 +1,6 @@
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
- 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.
1
+ import{a as U}from"../../../chunk-GZ7JBHFT.js";import{a as E}from"../../../chunk-S77OAN6Y.js";import{a as c}from"../../../chunk-JRALYIRA.js";import{a as I}from"../../../chunk-IJYKPR4W.js";import{a as i}from"../../../chunk-GHTFMDGV.js";import"../../../chunk-DV3LCXRH.js";import{b,c as R,d as r,e as v,i as w}from"../../../chunk-5LRGY6RN.js";import"../../../chunk-BETAO4PB.js";import{b as O}from"../../../chunk-E4MLGABW.js";import{g as $}from"../../../chunk-DOUR5YEY.js";import{c as A}from"../../../chunk-KH63ANUX.js";import"../../../chunk-2XAO2OYD.js";import q from"enquirer";import{updateUserRole as F,listUsers as N}from"@tigrisdata/iam";var{prompt:z}=q,e=w("iam users","update-role");async function S(d){b(e),await I()!=="oauth"&&(r(e,`User roles can only be updated when logged in via OAuth.
2
+ Run "tigris login oauth" first.`),i(`User roles can only be updated when logged in via OAuth.
3
+ Run "tigris login oauth" first.`,e));let f=$();if(U(f??void 0)){console.log(`User management is not available for Fly.io organizations.
3
4
  Your users are managed through Fly.io.
4
5
 
5
- Visit https://fly.io to manage your organization members.`);return}let u=["admin","member"],s=c(m,["role","r"]);s||(t(e,"Role is required. Use --role admin or --role member"),process.exit(1));let o=Array.isArray(s)?s:[s];for(let r of o)u.includes(r)||(t(e,`Invalid role "${r}". Must be one of: ${u.join(", ")}`),process.exit(1));let n=c(m,["resource"]),i=Array.isArray(n)?n:n?[n]:[],p=w();await p.isAuthenticated()||(t(e,'Not authenticated. Run "tigris login oauth" first.'),process.exit(1));let E=await p.getAccessToken(),d=y(),f={sessionToken:E,organizationId:g??void 0,iamEndpoint:d.iamEndpoint,mgmtEndpoint:d.mgmtEndpoint};if(i.length===0){let{data:r,error:a}=await M({config:f});if(a&&(t(e,a.message),process.exit(1)),r.users.length===0){O(e);return}let{selected:C}=await z({type:"multiselect",name:"selected",message:"Select user(s) to update (space to select, enter to confirm):",choices:r.users.map(l=>({name:l.userId,message:`${l.email} (${l.isOrgOwner?"owner":l.role})`}))});i=C}o.length>1&&o.length!==i.length&&(t(e,`Number of roles (${o.length}) must match number of users (${i.length}), or provide a single role for all users`),process.exit(1));let $=i.map((r,a)=>({userId:r,role:o.length===1?o[0]:o[a]})),{error:h}=await F($,{config:f});h&&(t(e,h.message),process.exit(1)),x(e)}export{S as default};
6
+ Visit https://fly.io to manage your organization members.`);return}let g=["admin","member"],a=c(d,["role","r"]);a||(r(e,"Role is required. Use --role admin or --role member"),i("Role is required. Use --role admin or --role member",e));let t=Array.isArray(a)?a:[a];for(let o of t)g.includes(o)||(r(e,`Invalid role "${o}". Must be one of: ${g.join(", ")}`),i(`Invalid role "${o}". Must be one of: ${g.join(", ")}`,e));let l=c(d,["resource"]),n=Array.isArray(l)?l:l?[l]:[],p=O();await p.isAuthenticated()||(r(e,'Not authenticated. Run "tigris login oauth" first.'),i('Not authenticated. Run "tigris login oauth" first.',e));let C=await p.getAccessToken(),h=A(),y={sessionToken:C,organizationId:f??void 0,iamEndpoint:h.iamEndpoint,mgmtEndpoint:h.mgmtEndpoint};if(n.length===0){let{data:o,error:s}=await N({config:y});if(s&&(r(e,s.message),i(s,e)),o.users.length===0){v(e);return}E("Provide user ID(s) as a positional argument");let{selected:k}=await z({type:"multiselect",name:"selected",message:"Select user(s) to update (space to select, enter to confirm):",choices:o.users.map(m=>({name:m.userId,message:`${m.email} (${m.isOrgOwner?"owner":m.role})`}))});n=k}t.length>1&&t.length!==n.length&&(r(e,`Number of roles (${t.length}) must match number of users (${n.length}), or provide a single role for all users`),i(`Number of roles (${t.length}) must match number of users (${n.length}), or provide a single role for all users`,e));let M=n.map((o,s)=>({userId:o,role:t.length===1?t[0]:t[s]})),{error:u}=await F(M,{config:y});u&&(r(e,u.message),i(u,e)),R(e)}export{S as default};
@@ -1 +1 @@
1
- import{a}from"../../chunk-F2VBJEK7.js";import"../../chunk-SYGTCM6P.js";import"../../chunk-BETAO4PB.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-2XAO2OYD.js";export{a as default};
1
+ import{a}from"../../chunk-XLRVNE6T.js";import"../../chunk-S77OAN6Y.js";import"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-2XAO2OYD.js";export{a as default};
@@ -1 +1 @@
1
- import{a,b}from"../../chunk-TNOMT3EP.js";import"../../chunk-SYGTCM6P.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";export{b as default,a as oauth};
1
+ import{a,b}from"../../chunk-DHUR7FTP.js";import"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";export{b as default,a as oauth};
@@ -1 +1 @@
1
- import{a as c}from"../../chunk-F2VBJEK7.js";import{a as s}from"../../chunk-TNOMT3EP.js";import"../../chunk-SYGTCM6P.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import m from"enquirer";var{prompt:h}=m;async function n(e){let a=e["access-key"]||e.accessKey||e.key||e.Key||e.accesskey,r=e["access-secret"]||e.accessSecret||e.secret||e.Secret||e.accesssecret;if(a||r){await c(e);return}let{method:t}=await h({type:"select",name:"method",message:"Choose login method:",choices:[{name:"user",message:"As a user (OAuth2 flow)"},{name:"machine",message:"As a machine (Access Key & Secret)"}]});t==="user"?await s():await c(e)}export{n as default};
1
+ import{a as r}from"../../chunk-DHUR7FTP.js";import{a as c}from"../../chunk-XLRVNE6T.js";import{a as s}from"../../chunk-S77OAN6Y.js";import"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import i from"enquirer";var{prompt:n}=i;async function u(e){let a=e["access-key"]||e.accessKey||e.key||e.Key||e.accesskey,t=e["access-secret"]||e.accessSecret||e.secret||e.Secret||e.accesssecret;if(a||t){await c(e);return}s('Use "tigris login oauth" or "tigris login credentials --access-key ... --access-secret ..."');let{method:m}=await n({type:"select",name:"method",message:"Choose login method:",choices:[{name:"user",message:"As a user (OAuth2 flow)"},{name:"machine",message:"As a machine (Access Key & Secret)"}]});m==="user"?await r():await c(e)}export{u as default};
@@ -1 +1 @@
1
- import{a as i,b as a,c as r,g as s}from"../chunk-SYGTCM6P.js";import"../chunk-BETAO4PB.js";import{t as e}from"../chunk-DOUR5YEY.js";import"../chunk-2XAO2OYD.js";var t=s("logout");async function c(){i(t);try{await e(),a(t)}catch(o){o instanceof Error?r(t,o.message):r(t),process.exit(1)}}export{c as default};
1
+ import{a as c}from"../chunk-GHTFMDGV.js";import"../chunk-DV3LCXRH.js";import{b as i,c as e,d as o,i as a}from"../chunk-5LRGY6RN.js";import"../chunk-BETAO4PB.js";import{t as n}from"../chunk-DOUR5YEY.js";import"../chunk-2XAO2OYD.js";var r=a("logout");async function s(){i(r);try{await n(),e(r)}catch(t){t instanceof Error?o(r,t.message):o(r),c(t,r)}}export{s as default};
package/dist/lib/ls.js CHANGED
@@ -1 +1 @@
1
- import{a as k,f as c}from"../chunk-CQCBYE3X.js";import{a as u}from"../chunk-JRALYIRA.js";import{f as p}from"../chunk-LCWHZUZZ.js";import{b as i}from"../chunk-VOQSWXBS.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{list as w,listBuckets as z}from"@tigrisdata/storage";async function S(g){let d=u(g,["path"]);if(!d){let e=await i(),{data:t,error:o}=await z({config:e});o&&(console.error(o.message),process.exit(1));let s=(t.buckets||[]).map(l=>({name:l.name,created:l.creationDate})),a=c(s,"table","buckets","bucket",[{key:"name",header:"Name"},{key:"created",header:"Created"}]);console.log(a);return}let{bucket:f,path:r}=p(d);f||(console.error("Invalid path"),process.exit(1));let h=await i(),n=r?r.endsWith("/")?r:`${r}/`:void 0,{data:y,error:m}=await w({prefix:n,config:{...h,bucket:f}});m&&(console.error(m.message),process.exit(1));let b=(y.items||[]).map(e=>{let t=n?e.name.slice(n.length):e.name,o=t.indexOf("/"),s=o===-1?t:t.slice(0,o+1),a=s.endsWith("/");return{key:s,size:a?"-":k(e.size),modified:e.lastModified}}).filter((e,t,o)=>e.key!==""&&o.findIndex(s=>s.key===e.key)===t),x=c(b,"table","objects","object",[{key:"key",header:"Key"},{key:"size",header:"Size"},{key:"modified",header:"Modified"}]);console.log(x)}export{S as default};
1
+ import{a as b,f as m}from"../chunk-CQCBYE3X.js";import{f as y}from"../chunk-LCWHZUZZ.js";import{a as s}from"../chunk-JRALYIRA.js";import{b as d}from"../chunk-IJYKPR4W.js";import{a as i}from"../chunk-GHTFMDGV.js";import"../chunk-DV3LCXRH.js";import"../chunk-5LRGY6RN.js";import"../chunk-BETAO4PB.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{list as S,listBuckets as O}from"@tigrisdata/storage";async function W(a){let p=s(a,["path"]),h=s(a,["snapshot-version","snapshotVersion","snapshot"]),l=s(a,["json"])?"json":s(a,["format","f","F"],"table");if(!p){let e=await d(),{data:t,error:o}=await O({config:e});o&&i(o);let n=(t.buckets||[]).map(g=>({name:g.name,created:g.creationDate})),f=m(n,l,"buckets","bucket",[{key:"name",header:"Name"},{key:"created",header:"Created"}]);console.log(f);return}let{bucket:u,path:r}=y(p);u||i("Invalid path");let j=await d(),c=r?r.endsWith("/")?r:`${r}/`:void 0,{data:w,error:k}=await S({prefix:c,...h?{snapshotVersion:h}:{},config:{...j,bucket:u}});k&&i(k);let x=(w.items||[]).map(e=>{let t=c?e.name.slice(c.length):e.name,o=t.indexOf("/"),n=o===-1?t:t.slice(0,o+1),f=n.endsWith("/");return{key:n,size:f?"-":b(e.size),modified:e.lastModified}}).filter((e,t,o)=>e.key!==""&&o.findIndex(n=>n.key===e.key)===t),z=m(x,l,"objects","object",[{key:"key",header:"Key"},{key:"size",header:"Size"},{key:"modified",header:"Modified"}]);console.log(z)}export{W as default};
package/dist/lib/mk.js CHANGED
@@ -1 +1 @@
1
- import{c as f}from"../chunk-Q4KOY3VK.js";import{a as e}from"../chunk-JRALYIRA.js";import{f as g}from"../chunk-LCWHZUZZ.js";import{b as p}from"../chunk-VOQSWXBS.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{createBucket as h,put as w}from"@tigrisdata/storage";async function S(t){let c=e(t,["path"]);c||(console.error("path argument is required"),process.exit(1));let{bucket:s,path:o}=g(c);s||(console.error("Invalid path"),process.exit(1));let i=await p();if(o){let n=o.endsWith("/")?o:`${o}/`,{error:r}=await w(n,"",{config:{...i,bucket:s}});r&&(console.error(r.message),process.exit(1)),console.log(`Folder '${s}/${n}' created`),process.exit(0)}else{let r=e(t,["public"])?"public":e(t,["access","a","A"]),u=e(t,["enableSnapshots","enable-snapshots","s","S"]),m=e(t,["defaultTier","default-tier","t","T"]),a=e(t,["locations","l","L"]),l=e(t,["region","r","R"]),b=e(t,["consistency","c","C"]);l!==void 0&&(console.warn("Warning: --region is deprecated, use --locations instead. See https://www.tigrisdata.com/docs/buckets/locations/"),a===void 0&&(a=l)),b!==void 0&&console.warn("Warning: --consistency is deprecated, use --locations instead. See https://www.tigrisdata.com/docs/buckets/locations/");let{error:d}=await h(s,{defaultTier:m??"STANDARD",enableSnapshot:u===!0,access:r??"private",locations:f(a??"global"),config:i});d&&(console.error(d.message),process.exit(1)),console.log(`Bucket '${s}' created`),process.exit(0)}}export{S as default};
1
+ import{b}from"../chunk-TD2HGNDY.js";import"../chunk-S77OAN6Y.js";import{f as m}from"../chunk-LCWHZUZZ.js";import{a as e}from"../chunk-JRALYIRA.js";import{b as h}from"../chunk-IJYKPR4W.js";import{a as o}from"../chunk-GHTFMDGV.js";import"../chunk-DV3LCXRH.js";import"../chunk-5LRGY6RN.js";import"../chunk-BETAO4PB.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{createBucket as y,put as j}from"@tigrisdata/storage";async function C(t){let f=e(t,["path"]);f||o("path argument is required");let{bucket:s,path:n}=m(f);s||o("Invalid path");let u=await h(),d=e(t,["json"])?"json":e(t,["format","f","F"],"table");if(n){let r=n.endsWith("/")?n:`${n}/`,{error:a}=await j(r,"",{config:{...u,bucket:s}});a&&o(a),console.log(d==="json"?JSON.stringify({action:"created",type:"folder",bucket:s,path:r}):`Folder '${s}/${r}' created`),process.exit(0)}else{let a=e(t,["public"])?"public":e(t,["access","a","A"]),S=e(t,["enableSnapshots","enable-snapshots","s","S"]),k=e(t,["defaultTier","default-tier","t","T"]),c=e(t,["locations","l","L"]),i=e(t,["fork-of","forkOf","fork"]),l=e(t,["source-snapshot","sourceSnapshot","source-snap"]),g=e(t,["region","r","R"]),w=e(t,["consistency","c","C"]);g!==void 0&&(console.warn("Warning: --region is deprecated, use --locations instead. See https://www.tigrisdata.com/docs/buckets/locations/"),c===void 0&&(c=g)),w!==void 0&&console.warn("Warning: --consistency is deprecated, use --locations instead. See https://www.tigrisdata.com/docs/buckets/locations/"),l&&!i&&o("--source-snapshot requires --fork-of");let{error:p}=await y(s,{defaultTier:k??"STANDARD",enableSnapshot:S===!0,access:a??"private",locations:b(c??"global"),...i?{sourceBucketName:i}:{},...l?{sourceBucketSnapshot:l}:{},config:u});p&&o(p),console.log(d==="json"?JSON.stringify({action:"created",type:"bucket",name:s}):`Bucket '${s}' created`),process.exit(0)}}export{C as default};
package/dist/lib/mv.js CHANGED
@@ -1 +1 @@
1
- import{a as T}from"../chunk-EKW6XTGL.js";import{a as x}from"../chunk-CQCBYE3X.js";import{a as $}from"../chunk-JRALYIRA.js";import{a as M,b as y,d as S,g as A,h as I,i as j}from"../chunk-LCWHZUZZ.js";import{b as R}from"../chunk-VOQSWXBS.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import*as z from"readline";import{get as L,put as D,remove as C,list as G,head as H}from"@tigrisdata/storage";async function N(i){let a=z.createInterface({input:process.stdin,output:process.stdout});return new Promise(n=>{a.question(`${i} (y/N): `,p=>{a.close(),n(p.toLowerCase()==="y")})})}async function J(i){let a=$(i,["src"]),n=$(i,["dest"]),p=$(i,["force","f","F"]),g=!!$(i,["recursive","r"]);(!a||!n)&&(console.error("both src and dest arguments are required"),process.exit(1)),(!M(a)||!M(n))&&(console.error("Both src and dest must be remote Tigris paths (t3:// or tigris://)"),process.exit(1));let e=y(a),r=y(n);e.bucket||(console.error("Invalid source path"),process.exit(1)),r.bucket||(console.error("Invalid destination path"),process.exit(1));let f=a.endsWith("/");!e.path&&!f&&(console.error("Cannot move a bucket. Provide a path within the bucket."),process.exit(1));let c=await R({withCredentialProvider:!0}),l=e.path.includes("*"),m=e.path.endsWith("/")||!e.path&&f;if(!l&&!m&&e.path&&(m=await S(e.bucket,e.path,c)),m&&!l&&!g&&(console.error("Source is a remote folder (not moved). Use -r to move recursively."),process.exit(1)),l||m){let t=l?I(e.path):e.path?e.path.endsWith("/")?e.path:`${e.path}/`:"",s=!l&&e.path&&!e.path.endsWith("/")?e.path.split("/").filter(Boolean).pop()??"":"",d=[r.path?.replace(/\/$/,"")||"",s].filter(Boolean).join("/"),U=d?`${d}/`:"";e.bucket===r.bucket&&t===U&&(console.error("Source and destination are the same"),process.exit(1));let{items:q,error:E}=await j(e.bucket,t||void 0,c);E&&(console.error(E.message),process.exit(1));let b=q.filter(o=>o.name!==t);if(l){let o=e.path.split("/").pop(),h=A(o);b=b.filter(k=>{let v=t?k.name.slice(t.length):k.name;return!g&&v.includes("/")?!1:h.test(v.split("/").pop())})}let{data:O}=await G({prefix:t,limit:1,config:{...c,bucket:e.bucket}}),P=t?O?.items?.some(o=>o.name===t):!1;if(b.length===0&&!P){console.log("No objects to move");return}let B=b.length+(P?1:0);if(!p&&!await N(`Are you sure you want to move ${B} object(s)?`)){console.log("Aborted");return}let w=0;for(let o of b){let h=t?o.name.slice(t.length):o.name,k=d?`${d}/${h}`:h,v=await W(c,e.bucket,o.name,r.bucket,k);v.error?console.error(`Failed to move ${o.name}: ${v.error}`):(console.log(`Moved t3://${e.bucket}/${o.name} -> t3://${r.bucket}/${k}`),w++)}let F=!1;if(P)if(d){let o=`${d}/`,h=await W(c,e.bucket,t,r.bucket,o);h.error?console.error(`Failed to move folder marker: ${h.error}`):F=!0}else{let{error:o}=await C(t,{config:{...c,bucket:e.bucket}});o?console.error(`Failed to remove source folder marker: ${o.message}`):F=!0}w===0&&F&&(w=1),console.log(`Moved ${w} object(s)`)}else{let t=e.path.split("/").pop(),s;if(r.path?r.path.endsWith("/")?s=`${r.path}${t}`:await S(r.bucket,r.path,c)?s=`${r.path}/${t}`:s=r.path:s=t,e.bucket===r.bucket&&e.path===s&&(console.error("Source and destination are the same"),process.exit(1)),!p&&!await N(`Are you sure you want to move 't3://${e.bucket}/${e.path}'?`)){console.log("Aborted");return}let u=await W(c,e.bucket,e.path,r.bucket,s,!0);u.error&&(console.error(u.error),process.exit(1)),console.log(`Moved t3://${e.bucket}/${e.path} -> t3://${r.bucket}/${s}`)}process.exit(0)}async function W(i,a,n,p,g,e=!1){if(n.endsWith("/")){let{error:s}=await D(g,"",{config:{...i,bucket:p}});if(s)return{error:s.message};let{error:u}=await C(n,{config:{...i,bucket:a}});return u?{error:`Copied but failed to delete source: ${u.message}`}:{}}let{data:r}=await H(n,{config:{...i,bucket:a}}),f=r?.size,{data:c,error:l}=await L(n,"stream",{config:{...i,bucket:a}});if(l)return{error:l.message};let{error:m}=await D(g,c,{...T(f),onUploadProgress:e?({loaded:s})=>{if(f!==void 0&&f>0){let u=Math.round(s/f*100);process.stdout.write(`\rMoving: ${x(s)} / ${x(f)} (${u}%)`)}else process.stdout.write(`\rMoving: ${x(s)}`)}:void 0,config:{...i,bucket:p}});if(e&&process.stdout.write("\r"+" ".repeat(60)+"\r"),m)return{error:m.message};let{error:t}=await C(n,{config:{...i,bucket:a}});return t?{error:`Copied but failed to delete source: ${t.message}`}:{}}export{J as default};
1
+ import{a as J}from"../chunk-EKW6XTGL.js";import{a as y}from"../chunk-CQCBYE3X.js";import{a as W,b as x}from"../chunk-S77OAN6Y.js";import{a as E,b as R,d as A,g as U,h as D,i as z}from"../chunk-LCWHZUZZ.js";import{a as h}from"../chunk-JRALYIRA.js";import{b as T}from"../chunk-IJYKPR4W.js";import{a as n}from"../chunk-GHTFMDGV.js";import"../chunk-DV3LCXRH.js";import"../chunk-5LRGY6RN.js";import"../chunk-BETAO4PB.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{get as L,put as q,remove as I,list as Q,head as V}from"@tigrisdata/storage";var m=!1;async function X(s){let l=h(s,["src"]),f=h(s,["dest"]),g=h(s,["force","f","F","yes","y"]),b=!!h(s,["recursive","r"]);m=(h(s,["json"])?"json":h(s,["format"],"table"))==="json",(!l||!f)&&n("both src and dest arguments are required"),(!E(l)||!E(f))&&n("Both src and dest must be remote Tigris paths (t3:// or tigris://)");let e=R(l),o=R(f);e.bucket||n("Invalid source path"),o.bucket||n("Invalid destination path");let k=l.endsWith("/");!e.path&&!k&&n("Cannot move a bucket. Provide a path within the bucket.");let i=await T({withCredentialProvider:!0}),u=e.path.includes("*"),a=e.path.endsWith("/")||!e.path&&k;if(!u&&!a&&e.path&&(a=await A(e.bucket,e.path,i)),a&&!u&&!b&&n("Source is a remote folder (not moved). Use -r to move recursively."),u||a){let t=u?D(e.path):e.path?e.path.endsWith("/")?e.path:`${e.path}/`:"",c=!u&&e.path&&!e.path.endsWith("/")?e.path.split("/").filter(Boolean).pop()??"":"",d=[o.path?.replace(/\/$/,"")||"",c].filter(Boolean).join("/"),B=d?`${d}/`:"";e.bucket===o.bucket&&t===B&&n("Source and destination are the same");let{items:_,error:O}=await z(e.bucket,t||void 0,i);O&&n(O);let v=_.filter(r=>r.name!==t);if(u){let r=e.path.split("/").pop(),p=U(r);v=v.filter(w=>{let P=t?w.name.slice(t.length):w.name;return!b&&P.includes("/")?!1:p.test(P.split("/").pop())})}let{data:G}=await Q({prefix:t,limit:1,config:{...i,bucket:e.bucket}}),S=t?G?.items?.some(r=>r.name===t):!1;if(v.length===0&&!S){console.log(m?JSON.stringify({action:"moved",count:0}):"No objects to move");return}let H=v.length+(S?1:0);if(!g&&(W("Use --yes to skip confirmation"),!await x(`Are you sure you want to move ${H} object(s)?`))){m||console.log("Aborted");return}let $=0;for(let r of v){let p=t?r.name.slice(t.length):r.name,w=d?`${d}/${p}`:p,P=await C(i,e.bucket,r.name,o.bucket,w);P.error?console.error(`Failed to move ${r.name}: ${P.error}`):(m||console.log(`Moved t3://${e.bucket}/${r.name} -> t3://${o.bucket}/${w}`),$++)}let j=!1;if(S)if(d){let r=`${d}/`,p=await C(i,e.bucket,t,o.bucket,r);p.error?console.error(`Failed to move folder marker: ${p.error}`):j=!0}else{let{error:r}=await I(t,{config:{...i,bucket:e.bucket}});r?console.error(`Failed to remove source folder marker: ${r.message}`):j=!0}$===0&&j&&($=1),console.log(m?JSON.stringify({action:"moved",count:$}):`Moved ${$} object(s)`)}else{let t=e.path.split("/").pop(),c;if(o.path?o.path.endsWith("/")?c=`${o.path}${t}`:await A(o.bucket,o.path,i)?c=`${o.path}/${t}`:c=o.path:c=t,e.bucket===o.bucket&&e.path===c&&n("Source and destination are the same"),!g&&(W("Use --yes to skip confirmation"),!await x(`Are you sure you want to move 't3://${e.bucket}/${e.path}'?`))){m||console.log("Aborted");return}let M=await C(i,e.bucket,e.path,o.bucket,c,!m);M.error&&n(M.error),console.log(m?JSON.stringify({action:"moved",count:1,src:`t3://${e.bucket}/${e.path}`,dest:`t3://${o.bucket}/${c}`}):`Moved t3://${e.bucket}/${e.path} -> t3://${o.bucket}/${c}`)}process.exit(0)}async function C(s,l,f,g,b,F=!1){if(f.endsWith("/")){let{error:a}=await q(b,"",{config:{...s,bucket:g}});if(a)return{error:a.message};let{error:t}=await I(f,{config:{...s,bucket:l}});return t?{error:`Copied but failed to delete source: ${t.message}`}:{}}let{data:N}=await V(f,{config:{...s,bucket:l}}),e=N?.size,{data:o,error:k}=await L(f,"stream",{config:{...s,bucket:l}});if(k)return{error:k.message};let{error:i}=await q(b,o,{...J(e),onUploadProgress:F?({loaded:a})=>{if(e!==void 0&&e>0){let t=Math.round(a/e*100);process.stdout.write(`\rMoving: ${y(a)} / ${y(e)} (${t}%)`)}else process.stdout.write(`\rMoving: ${y(a)}`)}:void 0,config:{...s,bucket:g}});if(F&&process.stdout.write("\r"+" ".repeat(60)+"\r"),i)return{error:i.message};let{error:u}=await I(f,{config:{...s,bucket:l}});return u?{error:`Copied but failed to delete source: ${u.message}`}:{}}export{X as default};
@@ -1 +1 @@
1
- import{a as f,b as a,c as r,g}from"../../chunk-SYGTCM6P.js";import{a as i}from"../../chunk-JRALYIRA.js";import{b as m}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{remove as k}from"@tigrisdata/storage";var e=g("objects","delete");async function y(s){f(e);let n=i(s,["bucket"]),t=i(s,["key"]);n||(r(e,"Bucket name is required"),process.exit(1)),t||(r(e,"Object key is required"),process.exit(1));let p=await m(),u=Array.isArray(t)?t:[t];for(let o of u){let{error:c}=await k(o,{config:{...p,bucket:n}});c&&(r(e,c.message,{key:o}),process.exit(1)),a(e,{key:o})}}export{y as default};
1
+ import{a as p,b}from"../../chunk-S77OAN6Y.js";import{a as n}from"../../chunk-JRALYIRA.js";import{b as j}from"../../chunk-IJYKPR4W.js";import{a,b as k,c as y}from"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import{b as u,c as l,d as f,i as d}from"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{remove as O}from"@tigrisdata/storage";var e=d("objects","delete");async function q(s){u(e);let x=n(s,["json"])?"json":n(s,["format","f","F"],"table"),r=n(s,["bucket"]),i=n(s,["key"]),A=n(s,["force","yes","y"]);r||(f(e,"Bucket name is required"),a("Bucket name is required",e)),i||(f(e,"Object key is required"),a("Object key is required",e));let h=await j(),g=Array.isArray(i)?i:[i];if(!A&&(p("Use --yes to skip confirmation"),!await b(`Delete ${g.length} object(s) from '${r}'?`))){console.log("Aborted");return}let m=[],c=[];for(let t of g){let{error:o}=await O(t,{config:{...h,bucket:r}});o?(f(e,o.message,{key:t}),c.push({key:t,error:o.message})):(m.push(t),l(e,{key:t}))}if(x==="json"){let t=k(e,{bucket:r}),o={action:"deleted",bucket:r,keys:m,errors:c};t.length>0&&(o.nextActions=t),console.log(JSON.stringify(o))}c.length>0&&a(c[0].error,e),y(e,{bucket:r})}export{q as default};
@@ -1 +1 @@
1
- import{a as p,b as n,c,g as f}from"../../chunk-SYGTCM6P.js";import{a as m}from"../../chunk-JRALYIRA.js";import{b as l}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{createWriteStream as j,writeFileSync as k}from"fs";import{Readable as d}from"stream";import{pipeline as u}from"stream/promises";import{extname as w}from"path";import{get as h}from"@tigrisdata/storage";var e=f("objects","get"),S=new Set([".js",".ts",".jsx",".tsx",".mjs",".cjs",".py",".rb",".php",".java",".go",".rs",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".scala",".clj",".ex",".exs",".erl",".sh",".bash",".zsh",".fish",".ps1",".bat",".cmd",".sql",".graphql",".gql",".json",".yaml",".yml",".toml",".ini",".cfg",".conf",".xml",".plist",".env",".properties",".html",".htm",".css",".scss",".sass",".less",".styl",".md",".markdown",".mdx",".rst",".txt",".text",".csv",".tsv",".log",".ejs",".hbs",".pug",".jade",".njk",".twig",".liquid",".svg",".gitignore",".dockerignore",".editorconfig"]);function y(r,o){let t=w(o||r).toLowerCase();return S.has(t)?"string":"stream"}async function q(r){p(e);let o=m(r,["bucket"]),s=m(r,["key"]),t=m(r,["output","o","O"]),x=m(r,["mode","m","M"]);o||(c(e,"Bucket name is required"),process.exit(1)),s||(c(e,"Object key is required"),process.exit(1));let g=await l();if((x||y(s,t))==="stream"){let{data:i,error:a}=await h(s,"stream",{config:{...g,bucket:o}});if(a&&(c(e,a.message),process.exit(1)),t){let b=j(t);await u(d.fromWeb(i),b),n(e,{key:s,output:t})}else await u(d.fromWeb(i),process.stdout),n(e)}else{let{data:i,error:a}=await h(s,"string",{config:{...g,bucket:o}});a&&(c(e,a.message),process.exit(1)),t?(k(t,i),n(e,{key:s,output:t})):(console.log(i),n(e))}}export{q as default};
1
+ import{a as r}from"../../chunk-JRALYIRA.js";import{b as j}from"../../chunk-IJYKPR4W.js";import{a as g}from"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import{b as u,c,d as m,i as h}from"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{createWriteStream as y,writeFileSync as O}from"fs";import{Readable as b}from"stream";import{pipeline as k}from"stream/promises";import{extname as q}from"path";import{get as w}from"@tigrisdata/storage";var t=h("objects","get"),v=new Set([".js",".ts",".jsx",".tsx",".mjs",".cjs",".py",".rb",".php",".java",".go",".rs",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".scala",".clj",".ex",".exs",".erl",".sh",".bash",".zsh",".fish",".ps1",".bat",".cmd",".sql",".graphql",".gql",".json",".yaml",".yml",".toml",".ini",".cfg",".conf",".xml",".plist",".env",".properties",".html",".htm",".css",".scss",".sass",".less",".styl",".md",".markdown",".mdx",".rst",".txt",".text",".csv",".tsv",".log",".ejs",".hbs",".pug",".jade",".njk",".twig",".liquid",".svg",".gitignore",".dockerignore",".editorconfig"]);function F(e,p){let i=q(p||e).toLowerCase();return v.has(i)?"string":"stream"}async function T(e){u(t);let l=r(e,["json"])?"json":r(e,["format","f","F"],"table"),i=r(e,["bucket"]),o=r(e,["key"]),s=r(e,["output","o","O"]),x=r(e,["mode","m","M"]),f=r(e,["snapshot-version","snapshotVersion","snapshot"]);i||(m(t,"Bucket name is required"),g("Bucket name is required",t)),o||(m(t,"Object key is required"),g("Object key is required",t));let d=await j();if((x||F(o,s))==="stream"){let{data:a,error:n}=await w(o,"stream",{...f?{snapshotVersion:f}:{},config:{...d,bucket:i}});if(n&&(m(t,n.message),g(n,t)),s){let S=y(s);await k(b.fromWeb(a),S),c(t,{key:o,output:s}),l==="json"&&console.log(JSON.stringify({action:"downloaded",bucket:i,key:o,output:s}))}else await k(b.fromWeb(a),process.stdout),c(t)}else{let{data:a,error:n}=await w(o,"string",{...f?{snapshotVersion:f}:{},config:{...d,bucket:i}});n&&(m(t,n.message),g(n,t)),s?(O(s,a),c(t,{key:o,output:s}),l==="json"&&console.log(JSON.stringify({action:"downloaded",bucket:i,key:o,output:s}))):(console.log(a),c(t))}}export{T as default};
@@ -1 +1 @@
1
- import{a,b as m,c as s,d as p,g as d}from"../../chunk-SYGTCM6P.js";import{a as g,f as l}from"../../chunk-CQCBYE3X.js";import{a as e}from"../../chunk-JRALYIRA.js";import{b as u}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{list as h}from"@tigrisdata/storage";var t=d("objects","list");async function j(i){a(t);let n=e(i,["bucket"]),k=e(i,["prefix","p","P"]),b=e(i,["format","f","F"],"table");n||(s(t,"Bucket name is required"),process.exit(1));let y=await u(),{data:o,error:c}=await h({prefix:k||void 0,config:{...y,bucket:n}});if(c&&(s(t,c.message),process.exit(1)),!o.items||o.items.length===0){p(t);return}let f=o.items.map(r=>({key:r.name,size:g(r.size),modified:r.lastModified})),x=l(f,b,"objects","object",[{key:"key",header:"Key"},{key:"size",header:"Size"},{key:"modified",header:"Modified"}]);console.log(x),m(t,{count:f.length})}export{j as default};
1
+ import{a as h,f as k}from"../../chunk-CQCBYE3X.js";import{a as e}from"../../chunk-JRALYIRA.js";import{b as l}from"../../chunk-IJYKPR4W.js";import{a}from"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import{b as p,c as d,d as n,e as u,i as g}from"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{list as z}from"@tigrisdata/storage";var t=g("objects","list");async function S(o){p(t);let c=e(o,["bucket"]),b=e(o,["prefix","p","P"]),j=e(o,["json"])?"json":e(o,["format","f","F"],"table"),f=e(o,["snapshot-version","snapshotVersion","snapshot"]);c||(n(t,"Bucket name is required"),a("Bucket name is required",t));let y=await l(),{data:i,error:r}=await z({prefix:b||void 0,...f?{snapshotVersion:f}:{},config:{...y,bucket:c}});if(r&&(n(t,r.message),a(r,t)),!i.items||i.items.length===0){u(t);return}let m=i.items.map(s=>({key:s.name,size:h(s.size),modified:s.lastModified})),x=k(m,j,"objects","object",[{key:"key",header:"Key"},{key:"size",header:"Size"},{key:"modified",header:"Modified"}]);console.log(x),d(t,{count:m.length})}export{S as default};
@@ -1 +1 @@
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
+ import{a as j}from"../../chunk-EKW6XTGL.js";import{a as n,f as k}from"../../chunk-CQCBYE3X.js";import{a as t}from"../../chunk-JRALYIRA.js";import{b as h}from"../../chunk-IJYKPR4W.js";import{a,c as S}from"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import{b,c as g,d as s,i as y}from"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{createReadStream as P,statSync as x}from"fs";import{Readable as z}from"stream";import{put as U}from"@tigrisdata/storage";var e=y("objects","put");async function C(r){b(e);let c=t(r,["bucket"]),d=t(r,["key"]),i=t(r,["file"]),T=t(r,["access","a","A"],"private"),q=t(r,["content-type","contentType","t","T"]),w=t(r,["json"])?"json":t(r,["format","f","F"],"table");c||(s(e,"Bucket name is required"),a("Bucket name is required",e)),d||(s(e,"Object key is required"),a("Object key is required",e));let F=!process.stdin.isTTY;!i&&!F&&(s(e,"File path is required (or pipe data via stdin)"),a("File path is required (or pipe data via stdin)",e));let m,o;if(i){try{o=x(i).size}catch{s(e,`File not found: ${i}`),a(`File not found: ${i}`,e)}let u=P(i);m=z.toWeb(u)}else m=z.toWeb(process.stdin);let R=await h({withCredentialProvider:!0}),$=i?j(o):{multipart:!0,partSize:5*1024*1024,queueSize:8},{data:p,error:f}=await U(d,m,{access:T==="public"?"public":"private",contentType:q,...$,onUploadProgress:({loaded:u,percentage:l})=>{o!==void 0&&o>0?process.stdout.write(`\rUploading: ${n(u)} / ${n(o)} (${l}%)`):process.stdout.write(`\rUploading: ${n(u)}`)},config:{...R,bucket:c}});process.stdout.write("\r"+" ".repeat(60)+"\r"),f&&(s(e,f.message),a(f,e));let v=[{path:p.path,size:n(p.size??o??0),contentType:p.contentType||"-",modified:p.modified}],O=k(v,w,"objects","object",[{key:"path",header:"Path"},{key:"size",header:"Size"},{key:"contentType",header:"Content-Type"},{key:"modified",header:"Modified"}]);console.log(O),g(e,{key:d,bucket:c}),S(e,{key:d,bucket:c})}export{C as default};
@@ -1 +1 @@
1
- import{a as p,b as u,c as t,g as f}from"../../chunk-SYGTCM6P.js";import{a as c}from"../../chunk-JRALYIRA.js";import{b as g}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{updateObject as b}from"@tigrisdata/storage";var e=f("objects","set");async function k(s){p(e);let i=c(s,["bucket"]),r=c(s,["key"]),n=c(s,["access","a","A"]),o=c(s,["new-key","n","newKey"]);i||(t(e,"Bucket name is required"),process.exit(1)),r||(t(e,"Object key is required"),process.exit(1)),n||(t(e,"Access level is required (--access public|private)"),process.exit(1));let m=await g(),{error:a}=await b(r,{access:n==="public"?"public":"private",...o&&{key:o},config:{...m,bucket:i}});a&&(t(e,a.message),process.exit(1)),u(e,{key:r,bucket:i})}export{k as default};
1
+ import{a as t}from"../../chunk-JRALYIRA.js";import{b as l}from"../../chunk-IJYKPR4W.js";import{a as i}from"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import{b as f,c as g,d as c,i as m}from"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{updateObject as d}from"@tigrisdata/storage";var e=m("objects","set");async function k(r){f(e);let p=t(r,["json"])?"json":t(r,["format","f","F"],"table"),s=t(r,["bucket"]),n=t(r,["key"]),a=t(r,["access","a","A"]),o=t(r,["new-key","n","newKey"]);s||(c(e,"Bucket name is required"),i("Bucket name is required",e)),n||(c(e,"Object key is required"),i("Object key is required",e)),a||(c(e,"Access level is required (--access public|private)"),i("Access level is required (--access public|private)",e));let b=await l(),{error:u}=await d(n,{access:a==="public"?"public":"private",...o&&{key:o},config:{...b,bucket:s}});u&&(c(e,u.message),i(u,e)),p==="json"&&console.log(JSON.stringify({action:"updated",bucket:s,key:n,access:a,...o?{newKey:o}:{}})),g(e,{key:n,bucket:s})}export{k as default};
@@ -1,7 +1,7 @@
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.
1
+ import{a as f}from"../../chunk-GZ7JBHFT.js";import{a as h}from"../../chunk-JRALYIRA.js";import{b as d}from"../../chunk-IJYKPR4W.js";import{a as r,c}from"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import{b as e,c as a,d as n,g as s,i as g}from"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import{g as l,k as u,s as m}from"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{createOrganization as x}from"@tigrisdata/iam";var i=g("organizations","create");async function F(p){if(e(i),m()!=="oauth"){u()?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 p=e();if(s(p??void 0)){console.log(`Organization creation is not available for Fly.io users.
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 y=l();if(f(y??void 0)){console.log(`Organization creation is not available for Fly.io users.
5
5
  Your organizations are managed through Fly.io.
6
6
 
7
- Visit https://fly.io to manage your organizations.`);return}let o=f(d,["name","N"]);o||(t(i,"Organization name is required"),process.exit(1));let h=await m(),{data:y,error:n}=await O(o,{config:h});n&&(t(i,n.message),process.exit(1));let z=y.id;c(i,{name:o,id:z}),l(i,{name:o})}export{w as default};
7
+ Visit https://fly.io to manage your organizations.`);return}let o=h(p,["name","N"]);o||(n(i,"Organization name is required"),r("Organization name is required",i));let z=await d(),{data:O,error:t}=await x(o,{config:z});t&&(n(i,t.message),r(t,i));let w=O.id;a(i,{name:o,id:w}),s(i,{name:o}),c(i,{name:o})}export{F as default};
@@ -1,4 +1,4 @@
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.
1
+ import{a as I,b}from"../../chunk-GZ7JBHFT.js";import{f as T}from"../../chunk-CQCBYE3X.js";import{a as x}from"../../chunk-S77OAN6Y.js";import{a as c}from"../../chunk-JRALYIRA.js";import{b as F}from"../../chunk-IJYKPR4W.js";import{a as y}from"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import{b as h,c as r,d as p,e as z,i as w}from"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import{b as C}from"../../chunk-E4MLGABW.js";import{f as O,g as k,k as S,s as j}from"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{listOrganizations as $}from"@tigrisdata/iam";import q from"enquirer";var i=w("organizations","list");async function v(l){if(h(i),j()!=="oauth"){S()?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 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};
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 g=c(l,["json"])?"json":c(l,["format","f","F"],"select"),U=await C().getAccessToken(),s=await b(U),A=s?.some(t=>I(t.id))??!1,n;if(A&&s)n=s.map(t=>({id:t.id,name:t.name,slug:t.name}));else{let t=await F(),{data:d,error:a}=await $({config:t});a&&(p(i,a.message),y(a,i)),n=d?.organizations??[]}if(n.length===0){z(i);return}let o=k();if(g==="select"){let t=n.map(e=>({name:e.id,message:`${e.name} (${e.id})`,hint:e.id===o?"currently selected":void 0}));x("Use --format table or --format json");let u=(await q.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(/\(([^)]+)\)$/),f=u?u[1]:n[0].id;await O(f);let M=n.find(e=>e.id===f);r(i,{name:M?.name});return}let m=n.map(t=>({id:t.id,name:t.name,slug:t.slug,selected:t.id===o?"*":""})),E=T(m,g,"organizations","organization",[{key:"selected",header:" ",width:1},{key:"id",header:"ID"},{key:"name",header:"Name"},{key:"slug",header:"Slug"}]);console.log(E),r(i,{count:m.length})}export{v as default};
@@ -1,8 +1,8 @@
1
- import{a as m,b as u,c as t,g as d}from"../../chunk-SYGTCM6P.js";import{a as p}from"../../chunk-JRALYIRA.js";import{b as f}from"../../chunk-VOQSWXBS.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import{f as g,k as c,s as l}from"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.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.
1
+ import{a as z}from"../../chunk-JRALYIRA.js";import{b as h}from"../../chunk-IJYKPR4W.js";import{a as e,c as u}from"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import{b as c,c as l,d as a,i as m}from"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import{f as d,k as f,s as p}from"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{listOrganizations as $}from"@tigrisdata/iam";var n=m("organizations","select");async function b(O){if(c(n),p()!=="oauth"){f()?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=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
- `);t(i,`Organization "${n}" not found
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 i=z(O,["name","N"]);i||(a(n,"Organization name or ID is required"),e("Organization name or ID is required",n));let w=await h(),{data:y,error:r}=await $({config:w});r&&(a(n,r.message),e(r,n));let s=y?.organizations??[],o=s.find(t=>t.id===i||t.name===i);if(!o){let t=s.map(g=>` - ${g.name} (${g.id})`).join(`
5
+ `);a(n,`Organization "${i}" not found
6
6
 
7
7
  Available organizations:
8
- ${o}`),process.exit(1)}await g(e.id),u(i,{name:e.name})}export{x as default};
8
+ ${t}`),e(`Organization "${i}" not found`,n)}await d(o.id),l(n,{name:o.name}),u(n,{name:o.name})}export{b as default};
@@ -1 +1 @@
1
- import{b as K}from"../chunk-CQCBYE3X.js";import{a as n}from"../chunk-JRALYIRA.js";import{f as k}from"../chunk-LCWHZUZZ.js";import{a as u,b as h}from"../chunk-VOQSWXBS.js";import{b as y}from"../chunk-E4MLGABW.js";import{g as p}from"../chunk-DOUR5YEY.js";import{c as d}from"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{getPresignedUrl as x}from"@tigrisdata/storage";import{listAccessKeys as w}from"@tigrisdata/iam";import I from"enquirer";var{prompt:A}=I;async function P(t){let m=n(t,["path"]);m||(console.error("path argument is required"),process.exit(1));let{bucket:o,path:a}=k(m);o||(console.error("Invalid path"),process.exit(1)),a||(console.error("Object key is required"),process.exit(1));let l=n(t,["method","m"])??"get",i=parseInt(n(t,["expires-in","expiresIn","e"])??"3600",10),f=n(t,["format","f"])??"url",g=n(t,["access-key","accessKey"]),s=await h(),r;g?r=g:s.accessKeyId?r=s.accessKeyId:(await u()!=="oauth"&&(console.error("Presigning requires an access key. Pass --access-key or configure credentials."),process.exit(1)),r=await v(o)),r||(console.error("Presigning requires an access key. Pass --access-key or configure credentials."),process.exit(1));let{data:e,error:c}=await x(a,{method:l,expiresIn:i,accessKeyId:r,config:{...s,bucket:o}});c&&(console.error(c.message),process.exit(1)),console.log(f==="json"?K({url:e.url,expiresIn:e.expiresIn,method:l,bucket:o,key:a}):e.url),process.exit(0)}async function v(t){process.stdin.isTTY||(console.error("Presigning requires an access key. Pass --access-key tid_..."),process.exit(1));let o=await y().getAccessToken(),a=p(),l=d(),{data:i,error:f}=await w({config:{sessionToken:o,organizationId:a??void 0,iamEndpoint:l.iamEndpoint}});f&&(console.error(`Failed to list access keys: ${f.message}`),process.exit(1)),(!i.accessKeys||i.accessKeys.length===0)&&(console.error('No access keys found. Create one with "tigris access-keys create <name>"'),process.exit(1));let g=i.accessKeys.filter(e=>e.status==="active"&&e.roles?.some(c=>c.bucket===t||c.bucket==="*")),s;if(g.length>0)s=g;else{let e=i.accessKeys.filter(c=>c.status==="active");e.length===0&&(console.error('No active access keys found. Create one with "tigris access-keys create <name>"'),process.exit(1)),console.error(`No access keys with explicit access to bucket "${t}" found. Showing all active keys.`),s=e}if(s.length===1)return console.error(`Using access key: ${s[0].name} (${s[0].id})`),s[0].id;let{selectedKey:r}=await A({type:"select",name:"selectedKey",message:"Select an access key for presigning:",choices:s.map(e=>({name:e.id,message:`${e.name} (${e.id})`}))});return r}export{P as default};
1
+ import{b as I}from"../chunk-CQCBYE3X.js";import{f as w}from"../chunk-LCWHZUZZ.js";import{a as n}from"../chunk-JRALYIRA.js";import{a as k,b as K}from"../chunk-IJYKPR4W.js";import{a as s}from"../chunk-GHTFMDGV.js";import"../chunk-DV3LCXRH.js";import"../chunk-5LRGY6RN.js";import"../chunk-BETAO4PB.js";import{b as h}from"../chunk-E4MLGABW.js";import{g as u}from"../chunk-DOUR5YEY.js";import{c as p}from"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{getPresignedUrl as A}from"@tigrisdata/storage";import{listAccessKeys as x}from"@tigrisdata/iam";import P from"enquirer";var{prompt:v}=P;async function C(i){let m=n(i,["path"]);m||s("path argument is required");let{bucket:r,path:a}=w(m);r||s("Invalid path"),a||s("Object key is required");let f=n(i,["method","m"])??"get",o=parseInt(n(i,["expires-in","expiresIn","e"])??"3600",10),l=n(i,["json"])?"json":n(i,["format","f"])??"url",t=n(i,["access-key","accessKey"]),g=await K(),e;t?e=t:g.accessKeyId?e=g.accessKeyId:(await k()!=="oauth"&&s("Presigning requires an access key. Pass --access-key or configure credentials."),e=await b(r)),e||s("Presigning requires an access key. Pass --access-key or configure credentials.");let{data:c,error:y}=await A(a,{method:f,expiresIn:o,accessKeyId:e,config:{...g,bucket:r}});y&&s(y),console.log(l==="json"?I({url:c.url,expiresIn:c.expiresIn,method:f,bucket:r,key:a}):c.url),process.exit(0)}async function b(i){process.stdin.isTTY||s("Presigning requires an access key. Pass --access-key tid_...");let r=await h().getAccessToken(),a=u(),f=p(),{data:o,error:d}=await x({config:{sessionToken:r,organizationId:a??void 0,iamEndpoint:f.iamEndpoint}});d&&s(d),(!o.accessKeys||o.accessKeys.length===0)&&s('No access keys found. Create one with "tigris access-keys create <name>"');let l=o.accessKeys.filter(e=>e.status==="active"&&e.roles?.some(c=>c.bucket===i||c.bucket==="*")),t;if(l.length>0)t=l;else{let e=o.accessKeys.filter(c=>c.status==="active");e.length===0&&s('No active access keys found. Create one with "tigris access-keys create <name>"'),console.error(`No access keys with explicit access to bucket "${i}" found. Showing all active keys.`),t=e}if(t.length===1)return console.error(`Using access key: ${t[0].name} (${t[0].id})`),t[0].id;let{selectedKey:g}=await v({type:"select",name:"selectedKey",message:"Select an access key for presigning:",choices:t.map(e=>({name:e.id,message:`${e.name} (${e.id})`}))});return g}export{C as default};
package/dist/lib/rm.js CHANGED
@@ -1 +1 @@
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-VOQSWXBS.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.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
+ import{a as v,b as h}from"../chunk-S77OAN6Y.js";import{a as P,b as W,d as I,g as N,h as O,i as E}from"../chunk-LCWHZUZZ.js";import{a as f}from"../chunk-JRALYIRA.js";import{b as A}from"../chunk-IJYKPR4W.js";import{a as s}from"../chunk-GHTFMDGV.js";import"../chunk-DV3LCXRH.js";import"../chunk-5LRGY6RN.js";import"../chunk-BETAO4PB.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{remove as b,removeBucket as M,list as U}from"@tigrisdata/storage";var i=!1;async function T(m){let g=f(m,["path"]),$=f(m,["force","f","F","yes","y"]),k=!!f(m,["recursive","r"]);i=(f(m,["json"])?"json":f(m,["format"],"table"))==="json",g||s("path argument is required"),P(g)||s("Path must be a remote Tigris path (t3:// or tigris://)");let{bucket:e,path:o}=W(g);e||s("Invalid path");let n=await A(),R=g.endsWith("/");if(!o&&!R){if(!$&&(v("Use --yes to skip confirmation"),!await h(`Are you sure you want to delete bucket '${e}'?`))){i||console.log("Aborted");return}let{error:r}=await M(e,{config:n});r&&s(r),console.log(i?JSON.stringify({action:"removed",bucket:e}):`Removed bucket '${e}'`);return}let a=o.includes("*"),u=o.endsWith("/")||!o&&R;if(!a&&!u&&(u=await I(e,o,n)),u&&!a&&!k&&s("Source is a remote folder (not removed). Use -r to remove recursively."),a||u){let r=a?O(o):o?o.endsWith("/")?o:`${o}/`:"",{items:w,error:j}=await E(e,r||void 0,n);j&&s(j);let d=w;if(a){let t=o.split("/").pop(),l=N(t);d=d.filter(S=>{let x=r?S.name.slice(r.length):S.name;return!k&&x.includes("/")?!1:l.test(x.split("/").pop())})}let c=r,J=d.some(t=>t.name===c),y=!1;if(!J&&!a){let{data:t}=await U({prefix:c,limit:1,config:{...n,bucket:e}});y=t?.items?.some(l=>l.name===c)||!1}let F=d.length+(y?1:0);if(F===0){console.log(i?JSON.stringify({action:"removed",count:0}):"No objects to remove");return}if(!$&&(v("Use --yes to skip confirmation"),!await h(`Are you sure you want to delete ${F} object(s)?`))){i||console.log("Aborted");return}let p=0;for(let t of d){let{error:l}=await b(t.name,{config:{...n,bucket:e}});l?console.error(`Failed to remove ${t.name}: ${l.message}`):(i||console.log(`Removed t3://${e}/${t.name}`),p++)}if(y){let{error:t}=await b(c,{config:{...n,bucket:e}});t?console.error(`Failed to remove ${c}: ${t.message}`):(i||console.log(`Removed t3://${e}/${c}`),p++)}console.log(i?JSON.stringify({action:"removed",count:p}):`Removed ${p} object(s)`)}else{if(!$&&(v("Use --yes to skip confirmation"),!await h(`Are you sure you want to delete 't3://${e}/${o}'?`))){i||console.log("Aborted");return}let{error:r}=await b(o,{config:{...n,bucket:e}});r&&s(r),console.log(i?JSON.stringify({action:"removed",count:1,path:`t3://${e}/${o}`}):`Removed t3://${e}/${o}`)}process.exit(0)}export{T as default};
@@ -1 +1 @@
1
- import{a as c,b as p,c as o,d as f,g as u}from"../../chunk-SYGTCM6P.js";import{f as d}from"../../chunk-CQCBYE3X.js";import{a as n}from"../../chunk-JRALYIRA.js";import{b as g}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{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
+ import{f as l}from"../../chunk-CQCBYE3X.js";import{a as e}from"../../chunk-JRALYIRA.js";import{b as d}from"../../chunk-IJYKPR4W.js";import{a as i}from"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import{b as f,c as p,d as a,e as u,i as g}from"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{listBucketSnapshots as j}from"@tigrisdata/storage";var t=g("snapshots","list");async function S(r){f(t);let m=e(r,["name"]),h=e(r,["json"])?"json":e(r,["format","f","F"],"table");m||(a(t,"Bucket name is required"),i("Bucket name is required",t));let k=await d(),{data:o,error:n}=await j(m,{config:k});if(n&&(a(t,n.message),i(n,t)),!o||o.length===0){u(t);return}let c=o.map(s=>({name:s.name||"",version:s.version||"",created:s.creationDate})),y=l(c,h,"snapshots","snapshot",[{key:"name",header:"Name"},{key:"version",header:"Version"},{key:"created",header:"Created"}]);console.log(y),p(t,{count:c.length})}export{S as default};
@@ -1 +1 @@
1
- import{a as m,b as p,c as n,g as c}from"../../chunk-SYGTCM6P.js";import{a as e}from"../../chunk-JRALYIRA.js";import{b as f}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{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};
1
+ import{a as s}from"../../chunk-JRALYIRA.js";import{b as g}from"../../chunk-IJYKPR4W.js";import{a as r}from"../../chunk-GHTFMDGV.js";import"../../chunk-DV3LCXRH.js";import{b as p,c,d as o,i as f}from"../../chunk-5LRGY6RN.js";import"../../chunk-BETAO4PB.js";import"../../chunk-E4MLGABW.js";import"../../chunk-DOUR5YEY.js";import"../../chunk-KH63ANUX.js";import"../../chunk-2XAO2OYD.js";import{createBucketSnapshot as h}from"@tigrisdata/storage";var t=f("snapshots","take");async function k(a){p(t);let n=s(a,["name"]),i=s(a,["snapshot-name","snapshotName"]);n||(o(t,"Bucket name is required"),r("Bucket name is required",t));let u=await g(),{data:m,error:e}=await h(n,{name:i,config:u});e&&(o(t,e.message),r(e,t)),c(t,{name:n,snapshotName:i||m?.snapshotVersion,version:m?.snapshotVersion})}export{k as default};
package/dist/lib/stat.js CHANGED
@@ -1 +1 @@
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};
1
+ import{a as x}from"../chunk-WIOXQDND.js";import{a as v,f}from"../chunk-CQCBYE3X.js";import{f as O}from"../chunk-LCWHZUZZ.js";import{a as n}from"../chunk-JRALYIRA.js";import{b as y}from"../chunk-IJYKPR4W.js";import{a as r}from"../chunk-GHTFMDGV.js";import"../chunk-DV3LCXRH.js";import{b,c as u,d as i,i as j}from"../chunk-5LRGY6RN.js";import"../chunk-BETAO4PB.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{getStats as V,getBucketInfo as A,head as M}from"@tigrisdata/storage";var t=j("stat");async function z(c){b(t);let S=n(c,["path"]),l=n(c,["json"])?"json":n(c,["format","f","F"],"table"),k=n(c,["snapshot-version","snapshotVersion","snapshot"]),p=await y();if(!S){let{data:a,error:e}=await V({config:p});e&&(i(t,e.message),r(e,t));let d=[{metric:"Active Buckets",value:String(a.stats.activeBuckets)},{metric:"Total Objects",value:String(a.stats.totalObjects)},{metric:"Total Unique Objects",value:String(a.stats.totalUniqueObjects)},{metric:"Total Storage",value:v(a.stats.totalStorageBytes)}],h=f(d,l,"stats","stat",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(h),u(t),process.exit(0)}let{bucket:s,path:m}=O(S);if(s||(i(t,"Invalid path"),r("Invalid path",t)),!m||m==="/"){let{data:a,error:e}=await A(s,{config:p});e&&(i(t,e.message),r(e,t));let d=x(a).map(({label:I,value:T})=>({metric:I,value:T})),h=f(d,l,"bucket-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(h),u(t,{bucket:s}),process.exit(0)}let{data:o,error:g}=await M(m,{...k?{snapshotVersion:k}:{},config:{...p,bucket:s}});g&&(i(t,g.message),r(g,t)),o||(i(t,"Object not found"),r("Object not found",t));let w=[{metric:"Path",value:o.path},{metric:"Size",value:v(o.size)},{metric:"Content-Type",value:o.contentType||"N/A"},{metric:"Content-Disposition",value:o.contentDisposition||"N/A"},{metric:"Modified",value:o.modified.toISOString()}],B=f(w,l,"object-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(B),u(t,{bucket:s,path:m}),process.exit(0)}export{z as default};
package/dist/lib/touch.js CHANGED
@@ -1 +1 @@
1
- import{a as n}from"../chunk-JRALYIRA.js";import{f as i}from"../chunk-LCWHZUZZ.js";import{b as s}from"../chunk-VOQSWXBS.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.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};
1
+ import{f as c}from"../chunk-LCWHZUZZ.js";import{a as e}from"../chunk-JRALYIRA.js";import{b as s}from"../chunk-IJYKPR4W.js";import{a as t}from"../chunk-GHTFMDGV.js";import"../chunk-DV3LCXRH.js";import"../chunk-5LRGY6RN.js";import"../chunk-BETAO4PB.js";import"../chunk-E4MLGABW.js";import"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{put as m}from"@tigrisdata/storage";async function p(n){let i=e(n,["path"]);i||t("path argument is required");let{bucket:o,path:r}=c(i);o||t("Invalid path"),r||t("Object key is required (use mk to create buckets)");let f=e(n,["json"])?"json":e(n,["format","f","F"],"table"),g=await s(),{error:a}=await m(r,"",{config:{...g,bucket:o}});a&&t(a),console.log(f==="json"?JSON.stringify({action:"created",bucket:o,path:r}):`Created '${o}/${r}'`),process.exit(0)}export{p as default};
@@ -1,2 +1,2 @@
1
- import{c,e as h,g as O}from"../chunk-SYGTCM6P.js";import{b as $}from"../chunk-VOQSWXBS.js";import"../chunk-BETAO4PB.js";import{b as z}from"../chunk-E4MLGABW.js";import{g as f,k as p,s as A}from"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.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
- `))}catch(i){i instanceof Error?c(s,i.message):c(s),process.exit(1)}}export{y as default};
1
+ import{a as h}from"../chunk-JRALYIRA.js";import{b as C}from"../chunk-IJYKPR4W.js";import{a as m}from"../chunk-GHTFMDGV.js";import"../chunk-DV3LCXRH.js";import{d as u,f,i as z}from"../chunk-5LRGY6RN.js";import"../chunk-BETAO4PB.js";import{b as y}from"../chunk-E4MLGABW.js";import{g as w,k as $,s as j}from"../chunk-DOUR5YEY.js";import"../chunk-KH63ANUX.js";import"../chunk-2XAO2OYD.js";import{listOrganizations as k}from"@tigrisdata/iam";var o=z("whoami");async function E(p={}){try{let I=h(p,["json"])?"json":h(p,["format","f","F"],"table"),l=j(),A=$(),d,g;if(l==="oauth"){let t=y();if(!await t.isAuthenticated()){f(o);return}let n=await t.getIdTokenClaims();d=n.email,g=n.sub}else if(A)d=void 0,g=A.accessKeyId;else{f(o);return}let e=[];e.push(""),e.push("User Information:"),e.push(` Email: ${d||"N/A"}`),e.push(` User ID: ${g||"N/A"}`);let s=[],r;if(l==="oauth"){let t=await C();r=w();let{data:i,error:n}=await k({config:t});if(n&&(u(o,n.message),m(n,o)),s=i?.organizations??[],s.length>0){if(e.push(""),e.push(`Organizations (${s.length}):`),s.forEach(a=>{let S=a.id===r?">":" ";e.push(` ${S} ${a.name} (${a.id})`)}),r){let a=s.find(O=>O.id===r);a&&(e.push(""),e.push(`Active: ${a.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)");if(I==="json"){let t={email:d,userId:g,loginMethod:l};if(l==="oauth"&&(t.organizations=s.map(i=>({id:i.id,name:i.name})),r)){let i=s.find(n=>n.id===r);i&&(t.activeOrganization=i.name)}console.log(JSON.stringify(t));return}e.push(""),console.log(e.join(`
2
+ `))}catch(c){c instanceof Error?u(o,c.message):u(o),m(c,o)}}export{E as default};