@tigrisdata/cli 3.8.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +21 -2
  2. package/SKILL.md +1 -0
  3. package/dist/auth/iam.js +1 -1
  4. package/dist/auth/provider.js +1 -1
  5. package/dist/{chunk-LBT5RYWD.js → chunk-54KNZAI5.js} +1 -1
  6. package/dist/chunk-64FBY7Z6.js +1 -0
  7. package/dist/{chunk-ZTXDZIWN.js → chunk-AFES4NT6.js} +1 -1
  8. package/dist/{chunk-IZ24VXZP.js → chunk-E5CPKJ4N.js} +1 -1
  9. package/dist/{chunk-JTLRSM54.js → chunk-FKHFOOA3.js} +1 -1
  10. package/dist/chunk-KIT6R3V2.js +1 -0
  11. package/dist/{chunk-RJKK3Z7Y.js → chunk-LKNUDKJD.js} +1 -1
  12. package/dist/{chunk-53WGD3ZA.js → chunk-N76NIM6R.js} +1 -1
  13. package/dist/{chunk-7POBS5HR.js → chunk-QUCEBYIQ.js} +1 -1
  14. package/dist/{chunk-C272RML4.js → chunk-UUPTUOXD.js} +1 -1
  15. package/dist/{chunk-ZXKDIMZY.js → chunk-WIJB3E2C.js} +1 -1
  16. package/dist/{chunk-D4UGWRGR.js → chunk-XHR75GDI.js} +1 -1
  17. package/dist/{chunk-U5QIVG66.js → chunk-XUHRL6QY.js} +1 -1
  18. package/dist/{chunk-KBJD6TVB.js → chunk-ZBRCGJ6R.js} +1 -1
  19. package/dist/cli-core.js +1 -1
  20. package/dist/cli.js +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/lib/access-keys/assign.js +1 -1
  23. package/dist/lib/access-keys/attach-policy.js +1 -1
  24. package/dist/lib/access-keys/create.js +1 -1
  25. package/dist/lib/access-keys/delete.js +1 -1
  26. package/dist/lib/access-keys/detach-policy.js +1 -1
  27. package/dist/lib/access-keys/get.js +1 -1
  28. package/dist/lib/access-keys/list-policies.js +1 -1
  29. package/dist/lib/access-keys/list.js +1 -1
  30. package/dist/lib/access-keys/rotate.js +1 -1
  31. package/dist/lib/buckets/create.js +1 -1
  32. package/dist/lib/buckets/delete.js +1 -1
  33. package/dist/lib/buckets/disable-snapshots.js +1 -1
  34. package/dist/lib/buckets/enable-snapshots.js +1 -1
  35. package/dist/lib/buckets/get.js +1 -1
  36. package/dist/lib/buckets/lifecycle/create.js +1 -1
  37. package/dist/lib/buckets/lifecycle/edit.js +1 -1
  38. package/dist/lib/buckets/lifecycle/list.js +1 -1
  39. package/dist/lib/buckets/lifecycle/shared.js +1 -1
  40. package/dist/lib/buckets/list.js +1 -1
  41. package/dist/lib/buckets/merge.js +1 -1
  42. package/dist/lib/buckets/migrate.js +1 -1
  43. package/dist/lib/buckets/rebase.js +1 -1
  44. package/dist/lib/buckets/restore.js +1 -1
  45. package/dist/lib/buckets/set-cors.js +1 -1
  46. package/dist/lib/buckets/set-locations.js +1 -1
  47. package/dist/lib/buckets/set-migration.js +1 -1
  48. package/dist/lib/buckets/set-notifications.js +1 -1
  49. package/dist/lib/buckets/set.js +1 -1
  50. package/dist/lib/bundle.js +1 -1
  51. package/dist/lib/configure/index.js +1 -1
  52. package/dist/lib/cp.js +1 -1
  53. package/dist/lib/credentials/test.js +1 -1
  54. package/dist/lib/iam/policies/create.js +1 -1
  55. package/dist/lib/iam/policies/delete.js +1 -1
  56. package/dist/lib/iam/policies/edit.js +1 -1
  57. package/dist/lib/iam/policies/get.js +1 -1
  58. package/dist/lib/iam/policies/link-key.js +1 -1
  59. package/dist/lib/iam/policies/list-keys.js +1 -1
  60. package/dist/lib/iam/policies/list.js +1 -1
  61. package/dist/lib/iam/policies/select-policy.js +1 -1
  62. package/dist/lib/iam/policies/unlink-key.js +1 -1
  63. package/dist/lib/iam/teams/create.js +1 -1
  64. package/dist/lib/iam/teams/edit.js +1 -1
  65. package/dist/lib/iam/teams/list.js +1 -1
  66. package/dist/lib/iam/teams/shared.js +1 -1
  67. package/dist/lib/iam/users/invite.js +1 -1
  68. package/dist/lib/iam/users/list.js +1 -1
  69. package/dist/lib/iam/users/remove.js +1 -1
  70. package/dist/lib/iam/users/revoke-invitation.js +1 -1
  71. package/dist/lib/iam/users/update-role.js +1 -1
  72. package/dist/lib/login/credentials.js +1 -1
  73. package/dist/lib/login/oauth.js +1 -1
  74. package/dist/lib/login/select.js +1 -1
  75. package/dist/lib/logout.js +1 -1
  76. package/dist/lib/ls.js +1 -1
  77. package/dist/lib/mk.js +1 -1
  78. package/dist/lib/mv.js +1 -1
  79. package/dist/lib/objects/delete.js +1 -1
  80. package/dist/lib/objects/get.js +1 -1
  81. package/dist/lib/objects/info.js +1 -1
  82. package/dist/lib/objects/list-versions.js +1 -1
  83. package/dist/lib/objects/list.js +1 -1
  84. package/dist/lib/objects/put.js +1 -1
  85. package/dist/lib/objects/restore-info.js +1 -1
  86. package/dist/lib/objects/restore.js +1 -1
  87. package/dist/lib/objects/set-access.js +1 -1
  88. package/dist/lib/objects/set.js +1 -1
  89. package/dist/lib/organizations/create.js +1 -1
  90. package/dist/lib/organizations/list.js +1 -1
  91. package/dist/lib/organizations/select.js +1 -1
  92. package/dist/lib/presign.js +1 -1
  93. package/dist/lib/rm.js +1 -1
  94. package/dist/lib/snapshots/delete.js +1 -0
  95. package/dist/lib/snapshots/list.js +1 -1
  96. package/dist/lib/snapshots/take.js +1 -1
  97. package/dist/lib/stat.js +1 -1
  98. package/dist/lib/telemetry/disable.js +1 -1
  99. package/dist/lib/telemetry/enable.js +1 -1
  100. package/dist/lib/telemetry/status.js +1 -1
  101. package/dist/lib/touch.js +1 -1
  102. package/dist/lib/update.js +1 -1
  103. package/dist/lib/whoami.js +1 -1
  104. package/dist/specs.yaml +35 -1
  105. package/dist/utils/analytics.js +1 -1
  106. package/dist/utils/exit.js +1 -1
  107. package/dist/utils/path.js +1 -1
  108. package/dist/utils/telemetry.js +1 -1
  109. package/dist/utils/update-check.js +1 -1
  110. package/package.json +1 -1
  111. package/dist/chunk-3XXEYQSC.js +0 -1
  112. package/dist/chunk-7ZCVOA6A.js +0 -1
  113. /package/dist/{chunk-RKWWRLWW.js → chunk-2TPTTPAT.js} +0 -0
@@ -1 +1 @@
1
- import{a as T,g as w}from"../../chunk-AFM3TY2D.js";import{e as S}from"../../chunk-7ZCVOA6A.js";import{e as P}from"../../chunk-RKWWRLWW.js";import{a as e,b as j,c as z}from"../../chunk-S6KFKBMY.js";import{b as s}from"../../chunk-JTLRSM54.js";import{b as l,c as h,e as b,i as y,j as x}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{list as q}from"@tigrisdata/storage";var n=x("objects","list");async function v(t){l(n);let a=e(t,["bucket"]),O=e(t,["prefix","p","P"]),i=j(t),c=e(t,["snapshot-version","snapshotVersion","snapshot"]),f=e(t,["source"]),{limit:m,pageToken:p}=z(t);a||s(n,"Bucket name is required");let g=S(a),A=g.bucket,E=O||g.path||void 0,F=await P(),{data:o,error:d}=await q({prefix:E,...c?{snapshotVersion:c}:{},...f?{source:f}:{},...m!==void 0?{limit:m}:{},...p?{paginationToken:p}:{},config:{...F,bucket:A}});if(d&&s(n,d),!o.items||o.items.length===0){b(n);return}let u=o.items.map(r=>({key:r.name,size:T(r.size),modified:r.lastModified})),M=[{key:"key",header:"Key"},{key:"size",header:"Size"},{key:"modified",header:"Modified"}],k=o.paginationToken||void 0,V=w(u,i,"objects","object",M,{paginationToken:k});console.log(V),i!=="json"&&i!=="xml"&&y(k),h(n,{count:u.length})}export{v as default};
1
+ import{a as T,g as w}from"../../chunk-AFM3TY2D.js";import{e as S}from"../../chunk-KIT6R3V2.js";import{e as P}from"../../chunk-2TPTTPAT.js";import{a as e,b as j,c as z}from"../../chunk-S6KFKBMY.js";import{b as s}from"../../chunk-FKHFOOA3.js";import{b as l,c as h,e as b,i as y,j as x}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{list as q}from"@tigrisdata/storage";var n=x("objects","list");async function v(t){l(n);let a=e(t,["bucket"]),O=e(t,["prefix","p","P"]),i=j(t),c=e(t,["snapshot-version","snapshotVersion","snapshot"]),f=e(t,["source"]),{limit:m,pageToken:p}=z(t);a||s(n,"Bucket name is required");let g=S(a),A=g.bucket,E=O||g.path||void 0,F=await P(),{data:o,error:d}=await q({prefix:E,...c?{snapshotVersion:c}:{},...f?{source:f}:{},...m!==void 0?{limit:m}:{},...p?{paginationToken:p}:{},config:{...F,bucket:A}});if(d&&s(n,d),!o.items||o.items.length===0){b(n);return}let u=o.items.map(r=>({key:r.name,size:T(r.size),modified:r.lastModified})),M=[{key:"key",header:"Key"},{key:"size",header:"Size"},{key:"modified",header:"Modified"}],k=o.paginationToken||void 0,V=w(u,i,"objects","object",M,{paginationToken:k});console.log(V),i!=="json"&&i!=="xml"&&y(k),h(n,{count:u.length})}export{v as default};
@@ -1 +1 @@
1
- import{a as R}from"../../chunk-EKW6XTGL.js";import{a as A}from"../../chunk-HPICBIXL.js";import{a as s,f as v}from"../../chunk-AFM3TY2D.js";import{h as j}from"../../chunk-7ZCVOA6A.js";import{e as w}from"../../chunk-RKWWRLWW.js";import{a as n,b as z}from"../../chunk-S6KFKBMY.js";import{b as i,d as T}from"../../chunk-JTLRSM54.js";import{b as k,c as S,j as h}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{createReadStream as E,statSync as M}from"fs";import{Readable as $}from"stream";import{put as N}from"@tigrisdata/storage";var t=h("objects","put");async function Y(r){k(t);let u=n(r,["bucket"]),l=n(r,["key"]),y=n(r,["file"]),C=n(r,["access","a","A"],"private"),O=n(r,["content-type","contentType","t","T"]),P=z(r);u||i(t,"Bucket name or path is required");let d=j(u),m=d.bucket,a=d.key||l,e=d.key&&l||y;a||i(t,"Object key is required");let q=!process.stdin.isTTY;!e&&!q&&i(t,"File path is required (or pipe data via stdin)");let f,o;if(e){try{o=M(e).size}catch{i(t,`File not found: ${e}`)}let p=E(e);f=$.toWeb(p)}else f=$.toWeb(process.stdin);let U=await w({withCredentialProvider:!0}),x=e?R(o):{multipart:!0,partSize:5*1024*1024,queueSize:8},F=O??(e?A(e):void 0),{data:c,error:g}=await N(a,f,{access:C==="public"?"public":"private",contentType:F,...x,onUploadProgress:({loaded:p,percentage:b})=>{o!==void 0&&o>0?process.stdout.write(`\rUploading: ${s(p)} / ${s(o)} (${b}%)`):process.stdout.write(`\rUploading: ${s(p)}`)},config:{...U,bucket:m}});process.stdout.write(`\r${" ".repeat(60)}\r`),g&&i(t,g);let W=[{path:c.path,size:s(c.size??o??0),contentType:c.contentType||"-",modified:c.modified}],B=v(W,P,"objects","object",[{key:"path",header:"Path"},{key:"size",header:"Size"},{key:"contentType",header:"Content-Type"},{key:"modified",header:"Modified"}]);console.log(B),S(t,{key:a,bucket:m}),T(t,{key:a,bucket:m})}export{Y as default};
1
+ import{a as R}from"../../chunk-EKW6XTGL.js";import{a as A}from"../../chunk-HPICBIXL.js";import{a as s,f as v}from"../../chunk-AFM3TY2D.js";import{h as j}from"../../chunk-KIT6R3V2.js";import{e as w}from"../../chunk-2TPTTPAT.js";import{a as n,b as z}from"../../chunk-S6KFKBMY.js";import{b as i,d as T}from"../../chunk-FKHFOOA3.js";import{b as k,c as S,j as h}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{createReadStream as E,statSync as M}from"fs";import{Readable as $}from"stream";import{put as N}from"@tigrisdata/storage";var t=h("objects","put");async function Y(r){k(t);let u=n(r,["bucket"]),l=n(r,["key"]),y=n(r,["file"]),C=n(r,["access","a","A"],"private"),O=n(r,["content-type","contentType","t","T"]),P=z(r);u||i(t,"Bucket name or path is required");let d=j(u),m=d.bucket,a=d.key||l,e=d.key&&l||y;a||i(t,"Object key is required");let q=!process.stdin.isTTY;!e&&!q&&i(t,"File path is required (or pipe data via stdin)");let f,o;if(e){try{o=M(e).size}catch{i(t,`File not found: ${e}`)}let p=E(e);f=$.toWeb(p)}else f=$.toWeb(process.stdin);let U=await w({withCredentialProvider:!0}),x=e?R(o):{multipart:!0,partSize:5*1024*1024,queueSize:8},F=O??(e?A(e):void 0),{data:c,error:g}=await N(a,f,{access:C==="public"?"public":"private",contentType:F,...x,onUploadProgress:({loaded:p,percentage:b})=>{o!==void 0&&o>0?process.stdout.write(`\rUploading: ${s(p)} / ${s(o)} (${b}%)`):process.stdout.write(`\rUploading: ${s(p)}`)},config:{...U,bucket:m}});process.stdout.write(`\r${" ".repeat(60)}\r`),g&&i(t,g);let W=[{path:c.path,size:s(c.size??o??0),contentType:c.contentType||"-",modified:c.modified}],B=v(W,P,"objects","object",[{key:"path",header:"Path"},{key:"size",header:"Size"},{key:"contentType",header:"Content-Type"},{key:"modified",header:"Modified"}]);console.log(B),S(t,{key:a,bucket:m}),T(t,{key:a,bucket:m})}export{Y as default};
@@ -1 +1 @@
1
- import{f as y}from"../../chunk-AFM3TY2D.js";import{h as v}from"../../chunk-7ZCVOA6A.js";import{e as h}from"../../chunk-RKWWRLWW.js";import{a as e,b as d}from"../../chunk-S6KFKBMY.js";import{b as i}from"../../chunk-JTLRSM54.js";import{b as g,c as p,e as l,j as k}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{getRestoreInfo as A}from"@tigrisdata/storage";var t=k("objects","restore-info");async function I(r){g(t);let n=d(r),c=e(r,["bucket"]),S=e(r,["key"]),a=e(r,["version-id","versionId"]),f=e(r,["snapshot-version","snapshotVersion","snapshot"]);c||i(t,"Bucket name or path is required");let{bucket:m,key:o}=v(c,S);o||i(t,"Object key is required");let b=await h(),{data:s,error:u}=await A(o,{...a?{versionId:a}:{},...f?{snapshotVersion:f}:{},config:{...b,bucket:m}});if(u&&i(t,u),!s){n==="json"?console.log(JSON.stringify({status:null})):l(t);return}let O=[{metric:"Path",value:o},{metric:"Status",value:s.status},...s.expiresAt?[{metric:"Expires",value:s.expiresAt.toISOString()}]:[]],x=y(O,n,"restore-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(x),p(t,{bucket:m,key:o})}export{I as default};
1
+ import{f as y}from"../../chunk-AFM3TY2D.js";import{h as v}from"../../chunk-KIT6R3V2.js";import{e as h}from"../../chunk-2TPTTPAT.js";import{a as e,b as d}from"../../chunk-S6KFKBMY.js";import{b as i}from"../../chunk-FKHFOOA3.js";import{b as g,c as p,e as l,j as k}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{getRestoreInfo as A}from"@tigrisdata/storage";var t=k("objects","restore-info");async function I(r){g(t);let n=d(r),c=e(r,["bucket"]),S=e(r,["key"]),a=e(r,["version-id","versionId"]),f=e(r,["snapshot-version","snapshotVersion","snapshot"]);c||i(t,"Bucket name or path is required");let{bucket:m,key:o}=v(c,S);o||i(t,"Object key is required");let b=await h(),{data:s,error:u}=await A(o,{...a?{versionId:a}:{},...f?{snapshotVersion:f}:{},config:{...b,bucket:m}});if(u&&i(t,u),!s){n==="json"?console.log(JSON.stringify({status:null})):l(t);return}let O=[{metric:"Path",value:o},{metric:"Status",value:s.status},...s.expiresAt?[{metric:"Expires",value:s.expiresAt.toISOString()}]:[]],x=y(O,n,"restore-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(x),p(t,{bucket:m,key:o})}export{I as default};
@@ -1 +1 @@
1
- import{h as k}from"../../chunk-7ZCVOA6A.js";import{e as y}from"../../chunk-RKWWRLWW.js";import{a as t,b as p}from"../../chunk-S6KFKBMY.js";import{b as n}from"../../chunk-JTLRSM54.js";import{b as d,c as u,j as b}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{restoreObject as j}from"@tigrisdata/storage";var s=b("objects","restore");async function O(e){d(s);let h=p(e),c=t(e,["bucket"]),l=t(e,["key"]),a=t(e,["version-id","versionId"]),f=t(e,["snapshot-version","snapshotVersion","snapshot"]),g=t(e,["days","d"]);c||n(s,"Bucket name or path is required");let{bucket:i,key:o}=k(c,l);o||n(s,"Object key is required");let r;g!==void 0&&(r=Number(g),(!Number.isInteger(r)||r<1)&&n(s,"--days must be a positive integer"));let v=await y(),{error:m}=await j(o,{...r!==void 0?{days:r}:{},...a?{versionId:a}:{},...f?{snapshotVersion:f}:{},config:{...v,bucket:i}});m&&n(s,m),h==="json"&&console.log(JSON.stringify({action:"restore-requested",bucket:i,key:o,days:r??1})),u(s,{key:o,bucket:i})}export{O as default};
1
+ import{h as k}from"../../chunk-KIT6R3V2.js";import{e as y}from"../../chunk-2TPTTPAT.js";import{a as t,b as p}from"../../chunk-S6KFKBMY.js";import{b as n}from"../../chunk-FKHFOOA3.js";import{b as d,c as u,j as b}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{restoreObject as j}from"@tigrisdata/storage";var s=b("objects","restore");async function O(e){d(s);let h=p(e),c=t(e,["bucket"]),l=t(e,["key"]),a=t(e,["version-id","versionId"]),f=t(e,["snapshot-version","snapshotVersion","snapshot"]),g=t(e,["days","d"]);c||n(s,"Bucket name or path is required");let{bucket:i,key:o}=k(c,l);o||n(s,"Object key is required");let r;g!==void 0&&(r=Number(g),(!Number.isInteger(r)||r<1)&&n(s,"--days must be a positive integer"));let v=await y(),{error:m}=await j(o,{...r!==void 0?{days:r}:{},...a?{versionId:a}:{},...f?{snapshotVersion:f}:{},config:{...v,bucket:i}});m&&n(s,m),h==="json"&&console.log(JSON.stringify({action:"restore-requested",bucket:i,key:o,days:r??1})),u(s,{key:o,bucket:i})}export{O as default};
@@ -1 +1 @@
1
- import{h as l}from"../../chunk-7ZCVOA6A.js";import{e as k}from"../../chunk-RKWWRLWW.js";import{a as o,b}from"../../chunk-S6KFKBMY.js";import{b as c}from"../../chunk-JTLRSM54.js";import{b as m,c as u,j as p}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{setObjectAccess as v}from"@tigrisdata/storage";var e=p("objects","set-access");async function j(r){m(e);let d=b(r),a=o(r,["bucket"]),f=o(r,["key"]),y=o(r,["access"]);a||c(e,"Bucket name or path is required");let i=l(a),n=i.bucket,s=i.key||f,t=i.key?f:y;s||c(e,"Object key is required"),t||c(e,"Access level is required (public or private)"),t!=="public"&&t!=="private"&&c(e,'Access level must be either "public" or "private"');let A=await k(),{error:g}=await v(s,{access:t,config:{...A,bucket:n}});g&&c(e,g),d==="json"&&console.log(JSON.stringify({action:"updated",bucket:n,key:s,access:t})),u(e,{key:s,bucket:n,access:t})}export{j as default};
1
+ import{h as l}from"../../chunk-KIT6R3V2.js";import{e as k}from"../../chunk-2TPTTPAT.js";import{a as o,b}from"../../chunk-S6KFKBMY.js";import{b as c}from"../../chunk-FKHFOOA3.js";import{b as m,c as u,j as p}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{setObjectAccess as v}from"@tigrisdata/storage";var e=p("objects","set-access");async function j(r){m(e);let d=b(r),a=o(r,["bucket"]),f=o(r,["key"]),y=o(r,["access"]);a||c(e,"Bucket name or path is required");let i=l(a),n=i.bucket,s=i.key||f,t=i.key?f:y;s||c(e,"Object key is required"),t||c(e,"Access level is required (public or private)"),t!=="public"&&t!=="private"&&c(e,'Access level must be either "public" or "private"');let A=await k(),{error:g}=await v(s,{access:t,config:{...A,bucket:n}});g&&c(e,g),d==="json"&&console.log(JSON.stringify({action:"updated",bucket:n,key:s,access:t})),u(e,{key:s,bucket:n,access:t})}export{j as default};
@@ -1 +1 @@
1
- import{h as d}from"../../chunk-7ZCVOA6A.js";import{e as b}from"../../chunk-RKWWRLWW.js";import{a as i,b as y}from"../../chunk-S6KFKBMY.js";import{b as t}from"../../chunk-JTLRSM54.js";import{b as p,c as k,j as l}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{move as v,setObjectAccess as A}from"@tigrisdata/storage";var e=l("objects","set");async function O(r){p(e);let w=y(r),f=i(r,["bucket"]),j=i(r,["key"]),s=i(r,["access","a","A"]),c=i(r,["new-key","n","newKey"]);f||t(e,"Bucket name or path is required");let{bucket:n,key:a}=d(f,j);a||t(e,"Object key is required"),s||t(e,"Access level is required (--access public|private)");let g={...await b(),bucket:n},o=a;if(c){let{error:u}=await v(a,c,{config:g});u&&t(e,u),o=c}let{error:m}=await A(o,{access:s==="public"?"public":"private",config:g});m&&t(e,m),w==="json"&&console.log(JSON.stringify({action:"updated",bucket:n,key:o,access:s,...c?{newKey:c}:{}})),k(e,{key:o,bucket:n})}export{O as default};
1
+ import{h as d}from"../../chunk-KIT6R3V2.js";import{e as b}from"../../chunk-2TPTTPAT.js";import{a as i,b as y}from"../../chunk-S6KFKBMY.js";import{b as t}from"../../chunk-FKHFOOA3.js";import{b as p,c as k,j as l}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{move as v,setObjectAccess as A}from"@tigrisdata/storage";var e=l("objects","set");async function O(r){p(e);let w=y(r),f=i(r,["bucket"]),j=i(r,["key"]),s=i(r,["access","a","A"]),c=i(r,["new-key","n","newKey"]);f||t(e,"Bucket name or path is required");let{bucket:n,key:a}=d(f,j);a||t(e,"Object key is required"),s||t(e,"Access level is required (--access public|private)");let g={...await b(),bucket:n},o=a;if(c){let{error:u}=await v(a,c,{config:g});u&&t(e,u),o=c}let{error:m}=await A(o,{access:s==="public"?"public":"private",config:g});m&&t(e,m),w==="json"&&console.log(JSON.stringify({action:"updated",bucket:n,key:o,access:s,...c?{newKey:c}:{}})),k(e,{key:o,bucket:n})}export{O as default};
@@ -1 +1 @@
1
- import{e as O,g as d}from"../../chunk-RKWWRLWW.js";import{a as p,b as u}from"../../chunk-S6KFKBMY.js";import{b as i,d as m}from"../../chunk-JTLRSM54.js";import{b as e,c,g as f,j as g}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import{a as s}from"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{createOrganization as w}from"@tigrisdata/iam";var r=g("organizations","create");async function x(n){if(e(r),d("Organization creation")||s("Organization creation"))return;let t=p(n,["name","N"]);t||i(r,"Organization name is required");let z=await O(),l=u(n),{data:S,error:o}=await w(t,{config:z});o&&i(r,o);let a=S.id;l==="json"&&console.log(JSON.stringify({action:"created",name:t,id:a})),c(r,{name:t,id:a}),f(r,{name:t}),m(r,{name:t})}export{x as default};
1
+ import{e as O,g as d}from"../../chunk-2TPTTPAT.js";import{a as p,b as u}from"../../chunk-S6KFKBMY.js";import{b as i,d as m}from"../../chunk-FKHFOOA3.js";import{b as e,c,g as f,j as g}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import{a as s}from"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{createOrganization as w}from"@tigrisdata/iam";var r=g("organizations","create");async function x(n){if(e(r),d("Organization creation")||s("Organization creation"))return;let t=p(n,["name","N"]);t||i(r,"Organization name is required");let z=await O(),l=u(n),{data:S,error:o}=await w(t,{config:z});o&&i(r,o);let a=S.id;l==="json"&&console.log(JSON.stringify({action:"created",name:t,id:a})),c(r,{name:t,id:a}),f(r,{name:t}),m(r,{name:t})}export{x as default};
@@ -1 +1 @@
1
- import{f as q}from"../../chunk-AFM3TY2D.js";import{a as y}from"../../chunk-S77OAN6Y.js";import{e as k,g as I}from"../../chunk-RKWWRLWW.js";import{b as S}from"../../chunk-S6KFKBMY.js";import{b as O}from"../../chunk-JTLRSM54.js";import{b as u,c as r,e as h,j as z}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import{c as w}from"../../chunk-J3MAV7JB.js";import{h as f,i as p}from"../../chunk-F4AGJWCK.js";import{listOrganizations as F}from"@tigrisdata/iam";import U from"enquirer";var i=z("organizations","list");async function $(x){if(u(i),I("Organization listing and selection"))return;let s=S(x,"select"),c=w(),e;if(await c.isFlyUser())e=await c.fetchOrganizationsFromUserInfo()??[];else{let n=await k(),{data:g,error:a}=await F({config:n});a&&O(i,a),e=g?.organizations??[]}if(e.length===0){h(i);return}let o=p();if(s==="select"){let n=e.map(t=>({name:t.id,message:`${t.name} (${t.id})`,hint:t.id===o?"currently selected":void 0}));y("Use --format table or --format json");let l=(await U.prompt({type:"select",name:"organization",message:"Select an organization:",choices:n.map(t=>t.message),initial:o?e.findIndex(t=>t.id===o):0})).organization.match(/\(([^)]+)\)$/),d=l?l[1]:e[0].id;await f(d);let E=e.find(t=>t.id===d);r(i,{name:E?.name});return}let m=e.map(n=>({id:n.id,name:n.name,slug:n.slug,selected:n.id===o?"*":""})),C=q(m,s,"organizations","organization",[{key:"selected",header:" ",width:1},{key:"id",header:"ID"},{key:"name",header:"Name"},{key:"slug",header:"Slug"}]);console.log(C),r(i,{count:m.length})}export{$ as default};
1
+ import{f as q}from"../../chunk-AFM3TY2D.js";import{a as y}from"../../chunk-S77OAN6Y.js";import{e as k,g as I}from"../../chunk-2TPTTPAT.js";import{b as S}from"../../chunk-S6KFKBMY.js";import{b as O}from"../../chunk-FKHFOOA3.js";import{b as u,c as r,e as h,j as z}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import{c as w}from"../../chunk-J3MAV7JB.js";import{h as f,i as p}from"../../chunk-F4AGJWCK.js";import{listOrganizations as F}from"@tigrisdata/iam";import U from"enquirer";var i=z("organizations","list");async function $(x){if(u(i),I("Organization listing and selection"))return;let s=S(x,"select"),c=w(),e;if(await c.isFlyUser())e=await c.fetchOrganizationsFromUserInfo()??[];else{let n=await k(),{data:g,error:a}=await F({config:n});a&&O(i,a),e=g?.organizations??[]}if(e.length===0){h(i);return}let o=p();if(s==="select"){let n=e.map(t=>({name:t.id,message:`${t.name} (${t.id})`,hint:t.id===o?"currently selected":void 0}));y("Use --format table or --format json");let l=(await U.prompt({type:"select",name:"organization",message:"Select an organization:",choices:n.map(t=>t.message),initial:o?e.findIndex(t=>t.id===o):0})).organization.match(/\(([^)]+)\)$/),d=l?l[1]:e[0].id;await f(d);let E=e.find(t=>t.id===d);r(i,{name:E?.name});return}let m=e.map(n=>({id:n.id,name:n.name,slug:n.slug,selected:n.id===o?"*":""})),C=q(m,s,"organizations","organization",[{key:"selected",header:" ",width:1},{key:"id",header:"ID"},{key:"name",header:"Name"},{key:"slug",header:"Slug"}]);console.log(C),r(i,{count:m.length})}export{$ as default};
@@ -1,4 +1,4 @@
1
- import{e as S,g as $}from"../../chunk-RKWWRLWW.js";import{a as z,b as O}from"../../chunk-S6KFKBMY.js";import{a as p,b as r,d as u}from"../../chunk-JTLRSM54.js";import{b as c,c as f,d as l,j as d}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import{h as g}from"../../chunk-F4AGJWCK.js";import{listOrganizations as A}from"@tigrisdata/iam";var n=d("organizations","select");async function N(a){if(c(n),$("Organization selection"))return;let w=O(a),i=z(a,["name","N"]);i||r(n,"Organization name or ID is required");let x=await S(),{data:h,error:e}=await A({config:x});e&&r(n,e);let s=h?.organizations??[],t=s.find(o=>o.id===i||o.name===i);if(!t){let o=s.map(m=>` - ${m.name} (${m.id})`).join(`
1
+ import{e as S,g as $}from"../../chunk-2TPTTPAT.js";import{a as z,b as O}from"../../chunk-S6KFKBMY.js";import{a as p,b as r,d as u}from"../../chunk-FKHFOOA3.js";import{b as c,c as f,d as l,j as d}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import{h as g}from"../../chunk-F4AGJWCK.js";import{listOrganizations as A}from"@tigrisdata/iam";var n=d("organizations","select");async function N(a){if(c(n),$("Organization selection"))return;let w=O(a),i=z(a,["name","N"]);i||r(n,"Organization name or ID is required");let x=await S(),{data:h,error:e}=await A({config:x});e&&r(n,e);let s=h?.organizations??[],t=s.find(o=>o.id===i||o.name===i);if(!t){let o=s.map(m=>` - ${m.name} (${m.id})`).join(`
2
2
  `);l(n,`Organization "${i}" not found
3
3
 
4
4
  Available organizations:
@@ -1,3 +1,3 @@
1
- import{b as A}from"../chunk-AFM3TY2D.js";import{e as v}from"../chunk-7ZCVOA6A.js";import{a as K,e as w}from"../chunk-RKWWRLWW.js";import{a,b as k}from"../chunk-S6KFKBMY.js";import{a as n}from"../chunk-JTLRSM54.js";import"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-ZTXDZIWN.js";import"../chunk-DV3LCXRH.js";import"../chunk-3XXEYQSC.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import{c as h}from"../chunk-J3MAV7JB.js";import{i as m,p}from"../chunk-F4AGJWCK.js";import{listAccessKeys as P}from"@tigrisdata/iam";import{getPresignedUrl as T}from"@tigrisdata/storage";import $ from"enquirer";var{prompt:b}=$;async function q(s){let r=a(s,["path"]);r||n("path argument is required");let{bucket:o,path:e}=v(r);o||n("Invalid path"),e||n("Object key is required");let t=a(s,["method","m"])??"get",i=parseInt(a(s,["expires-in","expiresIn","e"])??"3600",10),l=k(s,"url"),c=a(s,["access-key","accessKey"]),C=a(s,["select"]),f=a(s,["snapshot-version","snapshotVersion","snapshot"]);f&&t!=="get"&&n("Snapshot version is only supported for GET requests");let d=await w(),g;c?g=c:d.accessKeyId?g=d.accessKeyId:(p()!=="oauth"&&n("Presigning requires an access key. Pass --access-key or configure credentials."),C?g=await O(o,t):g=await E(o,t)),g||n("Presigning requires an access key. Pass --access-key or configure credentials.");let{data:u,error:y}=await T(e,{method:t,expiresIn:i,accessKeyId:g,...f?{snapshotVersion:f}:{},config:{...d,bucket:o}});y&&n(y),console.log(l==="json"?A({url:u.url,expiresIn:u.expiresIn,method:t,bucket:o,key:e}):u.url),process.exit(0)}async function I(){let r=await h().getAccessToken(),o=m(),e=K(),{data:t,error:i}=await P({config:{sessionToken:r,organizationId:o??void 0,iamEndpoint:e.iamEndpoint}});return i&&n(i),(!t.accessKeys||t.accessKeys.length===0)&&n('No access keys found. Create one with "tigris access-keys create <name>"'),t.accessKeys}function x(s,r,o){return s.roles?s.roles.some(e=>e.role==="NamespaceAdmin"?!0:e.bucket!==r&&e.bucket!=="*"?!1:o==="put"?e.role==="Editor":e.role==="Editor"||e.role==="ReadOnly"):!1}async function E(s,r){let e=(await I()).filter(i=>i.status==="active");e.length===0&&n('No active access keys found. Create one with "tigris access-keys create <name>"');let t=e.find(i=>x(i,s,r));return t||n(`No access key with ${r==="put"?"Editor":"Editor or ReadOnly"} access to bucket "${s}" found.
1
+ import{b as A}from"../chunk-AFM3TY2D.js";import{e as v}from"../chunk-KIT6R3V2.js";import{a as K,e as w}from"../chunk-2TPTTPAT.js";import{a,b as k}from"../chunk-S6KFKBMY.js";import{a as n}from"../chunk-FKHFOOA3.js";import"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-AFES4NT6.js";import"../chunk-DV3LCXRH.js";import"../chunk-64FBY7Z6.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import{c as h}from"../chunk-J3MAV7JB.js";import{i as m,p}from"../chunk-F4AGJWCK.js";import{listAccessKeys as P}from"@tigrisdata/iam";import{getPresignedUrl as T}from"@tigrisdata/storage";import $ from"enquirer";var{prompt:b}=$;async function q(s){let r=a(s,["path"]);r||n("path argument is required");let{bucket:o,path:e}=v(r);o||n("Invalid path"),e||n("Object key is required");let t=a(s,["method","m"])??"get",i=parseInt(a(s,["expires-in","expiresIn","e"])??"3600",10),l=k(s,"url"),c=a(s,["access-key","accessKey"]),C=a(s,["select"]),f=a(s,["snapshot-version","snapshotVersion","snapshot"]);f&&t!=="get"&&n("Snapshot version is only supported for GET requests");let d=await w(),g;c?g=c:d.accessKeyId?g=d.accessKeyId:(p()!=="oauth"&&n("Presigning requires an access key. Pass --access-key or configure credentials."),C?g=await O(o,t):g=await E(o,t)),g||n("Presigning requires an access key. Pass --access-key or configure credentials.");let{data:u,error:y}=await T(e,{method:t,expiresIn:i,accessKeyId:g,...f?{snapshotVersion:f}:{},config:{...d,bucket:o}});y&&n(y),console.log(l==="json"?A({url:u.url,expiresIn:u.expiresIn,method:t,bucket:o,key:e}):u.url),process.exit(0)}async function I(){let r=await h().getAccessToken(),o=m(),e=K(),{data:t,error:i}=await P({config:{sessionToken:r,organizationId:o??void 0,iamEndpoint:e.iamEndpoint}});return i&&n(i),(!t.accessKeys||t.accessKeys.length===0)&&n('No access keys found. Create one with "tigris access-keys create <name>"'),t.accessKeys}function x(s,r,o){return s.roles?s.roles.some(e=>e.role==="NamespaceAdmin"?!0:e.bucket!==r&&e.bucket!=="*"?!1:o==="put"?e.role==="Editor":e.role==="Editor"||e.role==="ReadOnly"):!1}async function E(s,r){let e=(await I()).filter(i=>i.status==="active");e.length===0&&n('No active access keys found. Create one with "tigris access-keys create <name>"');let t=e.find(i=>x(i,s,r));return t||n(`No access key with ${r==="put"?"Editor":"Editor or ReadOnly"} access to bucket "${s}" found.
2
2
  Create one: tigris access-keys create <name>
3
3
  Then assign: tigris access-keys assign <id> --bucket ${s} --role Editor`),console.error(`Using access key: ${t.name} (${t.id})`),t.id}async function O(s,r){process.stdin.isTTY||n("Interactive selection requires a TTY. Omit --select to auto-resolve, or pass --access-key tid_...");let e=(await I()).filter(c=>c.status==="active");e.length===0&&n('No active access keys found. Create one with "tigris access-keys create <name>"');let t=e.filter(c=>x(c,s,r)),i;if(t.length>0?i=t:(console.error(`No access keys with explicit access to bucket "${s}" found. Showing all active keys.`),i=e),i.length===1)return console.error(`Using access key: ${i[0].name} (${i[0].id})`),i[0].id;let{selectedKey:l}=await b({type:"select",name:"selectedKey",message:"Select an access key for presigning:",choices:i.map(c=>({name:c.id,message:`${c.name} (${c.id})`}))});return l}export{q as default,x as keyMatchesOperation};
package/dist/lib/rm.js CHANGED
@@ -1 +1 @@
1
- import{a as v,b as h}from"../chunk-S77OAN6Y.js";import{a as j,b as I,d as N,f as O,g as E,i as J}from"../chunk-7ZCVOA6A.js";import{e as W}from"../chunk-RKWWRLWW.js";import{a as $,b as P}from"../chunk-S6KFKBMY.js";import{a as s}from"../chunk-JTLRSM54.js";import"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-ZTXDZIWN.js";import"../chunk-DV3LCXRH.js";import"../chunk-3XXEYQSC.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import"../chunk-J3MAV7JB.js";import"../chunk-F4AGJWCK.js";import{list as U,remove as b,removeBucket as T}from"@tigrisdata/storage";var i=!1;async function q(m){let d=$(m,["path"]),g=$(m,["yes","y","force","f"]),k=!!$(m,["recursive","r"]);i=P(m)==="json",d||s("path argument is required"),j(d)||s("Path must be a remote Tigris path (t3:// or tigris://)");let{bucket:e,path:o}=I(d);e||s("Invalid path");let n=await W(),R=d.endsWith("/");if(!o&&!R){if(!g&&(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 T(e,{config:n,force:g});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 N(e,o,n)),u&&!a&&!k&&s("Source is a remote folder (not removed). Use -r to remove recursively."),a||u){let r=a?E(o):o?o.endsWith("/")?o:`${o}/`:"",{items:w,error:S}=await J(e,r||void 0,n);S&&s(S);let f=w;if(a){let t=o.split("/").pop(),l=O(t);f=f.filter(A=>{let F=r?A.name.slice(r.length):A.name;return!k&&F.includes("/")?!1:l.test(F.split("/").pop())})}let c=r,M=f.some(t=>t.name===c),y=!1;if(!M&&!a){let{data:t}=await U({prefix:c,limit:1,config:{...n,bucket:e}});y=t?.items?.some(l=>l.name===c)||!1}let x=f.length+(y?1:0);if(x===0){console.log(i?JSON.stringify({action:"removed",count:0}):"No objects to remove");return}if(!g&&(v("Use --yes to skip confirmation"),!await h(`Are you sure you want to delete ${x} object(s)?`))){i||console.log("Aborted");return}let p=0;for(let t of f){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(!g&&(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{q as default};
1
+ import{a as p,b as v}from"../chunk-S77OAN6Y.js";import{a as I,b as M,d as N,f as E,g as J,i as T,j as R,k as U}from"../chunk-KIT6R3V2.js";import{e as W}from"../chunk-2TPTTPAT.js";import{a as h,b as P}from"../chunk-S6KFKBMY.js";import{a as s}from"../chunk-FKHFOOA3.js";import"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-AFES4NT6.js";import"../chunk-DV3LCXRH.js";import"../chunk-64FBY7Z6.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import"../chunk-J3MAV7JB.js";import"../chunk-F4AGJWCK.js";import{list as C,remove as S,removeBucket as D}from"@tigrisdata/storage";var i=!1;async function K(m){let d=h(m,["path"]),u=h(m,["yes","y","force","f"]),x=!!h(m,["recursive","r"]);i=P(m)==="json",d||s("path argument is required"),I(d)||s("Path must be a remote Tigris path (t3:// or tigris://)");let{bucket:o,path:t}=M(d);o||s("Invalid path");let n=await W(),F=d.endsWith("/");if(!t&&!F){if(!u&&(p("Use --yes to skip confirmation"),!await v(`Are you sure you want to delete bucket '${o}'?`))){i||console.log("Aborted");return}let{error:r}=await D(o,{config:n,force:u});r&&s(r),console.log(i?JSON.stringify({action:"removed",bucket:o}):`Removed bucket '${o}'`);return}let c=t.includes("*"),g=t.endsWith("/")||!t&&F;if(!c&&!g&&(g=await N(o,t,n)),g&&!c&&!x&&s("Source is a remote folder (not removed). Use -r to remove recursively."),c||g){let r=c?J(t):t?t.endsWith("/")?t:`${t}/`:"",{items:y,error:A}=await U(o,r||void 0,n);A&&s(A);let l=y;if(c){let e=t.split("/").pop(),f=E(e);l=l.filter(k=>{if(k.name===r)return!1;let O=r?k.name.slice(r.length):k.name;return!x&&O.includes("/")?!1:f.test(O.split("/").pop())})}let a=r,q=l.some(e=>e.name===a),w=!1;if(!q&&!c){let{data:e}=await C({prefix:a,limit:1,config:{...n,bucket:o}});w=e?.items?.some(f=>f.name===a)||!1}let $=[...l.map(e=>e.name),...w?[a]:[]];if($.length===0){console.log(i?JSON.stringify({action:"removed",count:0}):"No objects to remove");return}let B=R($);if(!u&&(p("Use --yes to skip confirmation"),!await v(`Are you sure you want to delete ${B} object(s)?`))){i||console.log("Aborted");return}let b=[];for(let e of l){let{error:f}=await S(e.name,{config:{...n,bucket:o}});f?console.error(`Failed to remove ${e.name}: ${f.message}`):(!i&&!T(e.name)&&console.log(`Removed t3://${o}/${e.name}`),b.push(e.name))}if(w){let{error:e}=await S(a,{config:{...n,bucket:o}});e?console.error(`Failed to remove ${a}: ${e.message}`):b.push(a)}let j=R($,b);console.log(i?JSON.stringify({action:"removed",count:j}):`Removed ${j} object(s)`)}else{if(!u&&(p("Use --yes to skip confirmation"),!await v(`Are you sure you want to delete 't3://${o}/${t}'?`))){i||console.log("Aborted");return}let{error:r}=await S(t,{config:{...n,bucket:o}});r&&s(r),console.log(i?JSON.stringify({action:"removed",count:1,path:`t3://${o}/${t}`}):`Removed t3://${o}/${t}`)}process.exit(0)}export{K as default};
@@ -0,0 +1 @@
1
+ import{a as S,b as x}from"../../chunk-S77OAN6Y.js";import{e as A}from"../../chunk-2TPTTPAT.js";import{a,b as y}from"../../chunk-S6KFKBMY.js";import{a as d,b as c,c as h,d as v}from"../../chunk-FKHFOOA3.js";import{b as m,c as l,d as u,j as p}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{deleteBucketSnapshot as q}from"@tigrisdata/storage";var t=p("snapshots","delete");async function N(n){m(t);let k=y(n),r=a(n,["name"]),s=a(n,["version"]),w=a(n,["yes","y","force"]);r||c(t,"Bucket name is required"),s||c(t,"Snapshot version is required");let f=(Array.isArray(s)?s:[s]).filter(e=>e.length>0);f.length===0&&c(t,"Snapshot version is required");let b=await A();if(!w&&(S("Use --yes to skip confirmation"),!await x(`Delete ${f.length} snapshot(s) from '${r}'? This cannot be undone.`))){console.log("Aborted");return}let g=[],i=[];for(let e of f){let{error:o}=await q(r,e,{config:b});o?(u(t,o.message,{name:r,version:e}),i.push({version:e,error:o.message})):(g.push(e),l(t,{name:r,version:e}))}if(k==="json"){let e=h(t,{name:r}),o={action:"deleted",bucket:r,versions:g,errors:i};e.length>0&&(o.nextActions=e),console.log(JSON.stringify(o))}i.length>0&&d(i[0].error,t),v(t,{name:r})}export{N as default};
@@ -1 +1 @@
1
- import{g as S}from"../../chunk-AFM3TY2D.js";import{e as x}from"../../chunk-RKWWRLWW.js";import{a as k,b as y,c as T}from"../../chunk-S6KFKBMY.js";import{b as i}from"../../chunk-JTLRSM54.js";import{b as f,c as u,e as d,i as h,j as l}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{listBucketSnapshots as P}from"@tigrisdata/storage";var t=l("snapshots","list");async function B(o){f(t);let r=k(o,["name"]),e=y(o),{limit:s,pageToken:m}=T(o);r||i(t,"Bucket name is required");let v=await x(),{data:n,error:c}=await P(r,{...s!==void 0?{limit:s}:{},...m?{paginationToken:m}:{},config:v});if(c&&i(t,c),!n.snapshots||n.snapshots.length===0){d(t);return}let p=n.snapshots.map(a=>({name:a.name||"",version:a.version||"",created:a.creationDate})),w=[{key:"name",header:"Name"},{key:"version",header:"Version"},{key:"created",header:"Created"}],g=n.paginationToken||void 0,O=S(p,e,"snapshots","snapshot",w,{paginationToken:g});console.log(O),e!=="json"&&e!=="xml"&&h(g),u(t,{count:p.length})}export{B as default};
1
+ import{g as S}from"../../chunk-AFM3TY2D.js";import{e as x}from"../../chunk-2TPTTPAT.js";import{a as k,b as y,c as T}from"../../chunk-S6KFKBMY.js";import{b as i}from"../../chunk-FKHFOOA3.js";import{b as f,c as u,e as d,i as h,j as l}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{listBucketSnapshots as P}from"@tigrisdata/storage";var t=l("snapshots","list");async function B(o){f(t);let r=k(o,["name"]),e=y(o),{limit:s,pageToken:m}=T(o);r||i(t,"Bucket name is required");let v=await x(),{data:n,error:c}=await P(r,{...s!==void 0?{limit:s}:{},...m?{paginationToken:m}:{},config:v});if(c&&i(t,c),!n.snapshots||n.snapshots.length===0){d(t);return}let p=n.snapshots.map(a=>({name:a.name||"",version:a.version||"",created:a.creationDate})),w=[{key:"name",header:"Name"},{key:"version",header:"Version"},{key:"created",header:"Created"}],g=n.paginationToken||void 0,O=S(p,e,"snapshots","snapshot",w,{paginationToken:g});console.log(O),e!=="json"&&e!=="xml"&&h(g),u(t,{count:p.length})}export{B as default};
@@ -1 +1 @@
1
- import{e as g}from"../../chunk-RKWWRLWW.js";import{a,b as f}from"../../chunk-S6KFKBMY.js";import{b as r}from"../../chunk-JTLRSM54.js";import{b as m,c,j as p}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{createBucketSnapshot as k}from"@tigrisdata/storage";var o=p("snapshots","take");async function S(n){m(o);let h=f(n),t=a(n,["name"]),e=a(n,["snapshot-name","snapshotName"]);t||r(o,"Bucket name is required");let u=await g(),{data:s,error:i}=await k(t,{name:e,config:u});i&&r(o,i),h==="json"&&console.log(JSON.stringify({action:"taken",bucket:t,version:s?.snapshotVersion})),c(o,{name:t,snapshotName:e||s?.snapshotVersion,version:s?.snapshotVersion})}export{S as default};
1
+ import{e as g}from"../../chunk-2TPTTPAT.js";import{a,b as f}from"../../chunk-S6KFKBMY.js";import{b as r}from"../../chunk-FKHFOOA3.js";import{b as m,c,j as p}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{createBucketSnapshot as k}from"@tigrisdata/storage";var o=p("snapshots","take");async function S(n){m(o);let h=f(n),t=a(n,["name"]),e=a(n,["snapshot-name","snapshotName"]);t||r(o,"Bucket name is required");let u=await g(),{data:s,error:i}=await k(t,{name:e,config:u});i&&r(o,i),h==="json"&&console.log(JSON.stringify({action:"taken",bucket:t,version:s?.snapshotVersion})),c(o,{name:t,snapshotName:e||s?.snapshotVersion,version:s?.snapshotVersion})}export{S as default};
package/dist/lib/stat.js CHANGED
@@ -1 +1 @@
1
- import{c as w}from"../chunk-JNSFDQGG.js";import{a as d,f as m}from"../chunk-AFM3TY2D.js";import"../chunk-N3Y6RFSK.js";import"../chunk-S77OAN6Y.js";import{e as I}from"../chunk-7ZCVOA6A.js";import{e as j}from"../chunk-RKWWRLWW.js";import{a as u,b as O}from"../chunk-S6KFKBMY.js";import{b as i}from"../chunk-JTLRSM54.js";import{b as y,c,j as b}from"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-ZTXDZIWN.js";import"../chunk-DV3LCXRH.js";import"../chunk-3XXEYQSC.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import"../chunk-J3MAV7JB.js";import"../chunk-F4AGJWCK.js";import{getBucketInfo as A,getStats as M,head as z}from"@tigrisdata/storage";var t=b("stat");async function C(s){y(t);let h=u(s,["path"]),f=O(s),v=u(s,["snapshot-version","snapshotVersion","snapshot"]),S=u(s,["version-id","versionId"]),l=await j();if(!h){let{data:o,error:a}=await M({config:l});a&&i(t,a);let p=[{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:d(o.stats.totalStorageBytes)}],g=m(p,f,"stats","stat",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(g),c(t),process.exit(0)}let{bucket:r,path:n}=I(h);if(r||i(t,"Invalid path"),!n||n==="/"){let{data:o,error:a}=await A(r,{config:l});a&&i(t,a);let p=w(o).map(({label:T,value:V})=>({metric:T,value:V})),g=m(p,f,"bucket-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(g),c(t,{bucket:r}),process.exit(0)}let{data:e,error:k}=await z(n,{...v?{snapshotVersion:v}:{},...S?{versionId:S}:{},config:{...l,bucket:r}});k&&i(t,k),e||i(t,"Object not found");let x=[{metric:"Path",value:e.path},{metric:"Size",value:d(e.size)},{metric:"Content-Type",value:e.contentType||"N/A"},{metric:"Content-Disposition",value:e.contentDisposition||"N/A"},{metric:"Modified",value:e.modified.toISOString()}],B=m(x,f,"object-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(B),c(t,{bucket:r,path:n}),process.exit(0)}export{C as default};
1
+ import{c as w}from"../chunk-JNSFDQGG.js";import{a as d,f as m}from"../chunk-AFM3TY2D.js";import"../chunk-N3Y6RFSK.js";import"../chunk-S77OAN6Y.js";import{e as I}from"../chunk-KIT6R3V2.js";import{e as j}from"../chunk-2TPTTPAT.js";import{a as u,b as O}from"../chunk-S6KFKBMY.js";import{b as i}from"../chunk-FKHFOOA3.js";import{b as y,c,j as b}from"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-AFES4NT6.js";import"../chunk-DV3LCXRH.js";import"../chunk-64FBY7Z6.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import"../chunk-J3MAV7JB.js";import"../chunk-F4AGJWCK.js";import{getBucketInfo as A,getStats as M,head as z}from"@tigrisdata/storage";var t=b("stat");async function C(s){y(t);let h=u(s,["path"]),f=O(s),v=u(s,["snapshot-version","snapshotVersion","snapshot"]),S=u(s,["version-id","versionId"]),l=await j();if(!h){let{data:o,error:a}=await M({config:l});a&&i(t,a);let p=[{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:d(o.stats.totalStorageBytes)}],g=m(p,f,"stats","stat",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(g),c(t),process.exit(0)}let{bucket:r,path:n}=I(h);if(r||i(t,"Invalid path"),!n||n==="/"){let{data:o,error:a}=await A(r,{config:l});a&&i(t,a);let p=w(o).map(({label:T,value:V})=>({metric:T,value:V})),g=m(p,f,"bucket-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(g),c(t,{bucket:r}),process.exit(0)}let{data:e,error:k}=await z(n,{...v?{snapshotVersion:v}:{},...S?{versionId:S}:{},config:{...l,bucket:r}});k&&i(t,k),e||i(t,"Object not found");let x=[{metric:"Path",value:e.path},{metric:"Size",value:d(e.size)},{metric:"Content-Type",value:e.contentType||"N/A"},{metric:"Content-Disposition",value:e.contentDisposition||"N/A"},{metric:"Modified",value:e.modified.toISOString()}],B=m(x,f,"object-info","info",[{key:"metric",header:"Metric"},{key:"value",header:"Value"}]);console.log(B),c(t,{bucket:r,path:n}),process.exit(0)}export{C as default};
@@ -1 +1 @@
1
- import{b as m}from"../../chunk-S6KFKBMY.js";import{b as r}from"../../chunk-JTLRSM54.js";import{c as i,j as s}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import{a as o,g as n}from"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";var t=s("telemetry","disable");async function l(a={}){try{let e=m(a);if(n(!0)||r(t,new Error(`Could not save your preference to ${o}. Set TIGRIS_NO_TELEMETRY=1 in your environment to disable telemetry instead.`)),e==="json"){console.log(JSON.stringify({enabled:!1,action:"disabled"}));return}i(t)}catch(e){r(t,e)}}export{l as default};
1
+ import{b as m}from"../../chunk-S6KFKBMY.js";import{b as r}from"../../chunk-FKHFOOA3.js";import{c as i,j as s}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import{a as o,g as n}from"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";var t=s("telemetry","disable");async function l(a={}){try{let e=m(a);if(n(!0)||r(t,new Error(`Could not save your preference to ${o}. Set TIGRIS_NO_TELEMETRY=1 in your environment to disable telemetry instead.`)),e==="json"){console.log(JSON.stringify({enabled:!1,action:"disabled"}));return}i(t)}catch(e){r(t,e)}}export{l as default};
@@ -1,3 +1,3 @@
1
- import{b as c}from"../../chunk-S6KFKBMY.js";import{b as o}from"../../chunk-JTLRSM54.js";import{c as l,j as a}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import{a as r,d as i,g as s}from"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";var n=a("telemetry","enable");async function m(f={}){try{let t=c(f);s(!1)||o(n,new Error(`Could not save your preference to ${r}. Check the permissions on that file and its directory.`));let e=i();if(t==="json"){console.log(JSON.stringify({enabled:e===null,action:"enabled",...e?{stillDisabledBy:e}:{}}));return}l(n),(e==="TIGRIS_NO_TELEMETRY"||e==="DO_NOT_TRACK")&&console.log(`
1
+ import{b as c}from"../../chunk-S6KFKBMY.js";import{b as o}from"../../chunk-FKHFOOA3.js";import{c as l,j as a}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import{a as r,d as i,g as s}from"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";var n=a("telemetry","enable");async function m(f={}){try{let t=c(f);s(!1)||o(n,new Error(`Could not save your preference to ${r}. Check the permissions on that file and its directory.`));let e=i();if(t==="json"){console.log(JSON.stringify({enabled:e===null,action:"enabled",...e?{stillDisabledBy:e}:{}}));return}l(n),(e==="TIGRIS_NO_TELEMETRY"||e==="DO_NOT_TRACK")&&console.log(`
2
2
  Note: ${e} is set in this environment, which still turns telemetry off.
3
3
  Unset it to let this setting take effect.`)}catch(t){o(n,t)}}export{m as default};
@@ -1,2 +1,2 @@
1
- import{b as m}from"../../chunk-S6KFKBMY.js";import{b as l}from"../../chunk-JTLRSM54.js";import{j as a}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-ZTXDZIWN.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-3XXEYQSC.js";import"../../chunk-BMWWPXMU.js";import{a as r,d as i}from"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import{homedir as d}from"os";var c=a("telemetry","status"),h={TIGRIS_NO_TELEMETRY:"the TIGRIS_NO_TELEMETRY environment variable is set",DO_NOT_TRACK:"the DO_NOT_TRACK environment variable is set","opt-out":"you disabled it on this machine",development:"this is a development build",test:"this is a test environment"};function u(n){let t=d();return n.startsWith(t)?`~${n.slice(t.length)}`:n}async function T(n={}){try{let t=m(n),e=i(),o=e===null;if(t==="json"){console.log(JSON.stringify({enabled:o,disabledReason:e,settingsFile:r}));return}let s=["",`Telemetry: ${o?"enabled":"disabled"}`];o||s.push(` Reason: ${h[e]}`),s.push("","What is collected:"," Usage analytics which commands you run and their arguments, CLI"," version, OS, install method, and whether you are in CI"," Error reports crashes and unexpected failures","","Never collected:"," credentials of any kind \u2014 access keys, secrets, tokens, passwords \u2014"," or your hostname. Both are stripped before anything is sent.","",`Settings file: ${u(r)}`,""),e==="TIGRIS_NO_TELEMETRY"||e==="DO_NOT_TRACK"?s.push(`Unset ${e} to re-enable, then run "tigris telemetry enable".`,""):o?s.push("To disable: tigris telemetry disable",""):e==="opt-out"&&s.push("To re-enable: tigris telemetry enable",""),console.log(s.join(`
1
+ import{b as m}from"../../chunk-S6KFKBMY.js";import{b as l}from"../../chunk-FKHFOOA3.js";import{j as a}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-AFES4NT6.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-64FBY7Z6.js";import"../../chunk-BMWWPXMU.js";import{a as r,d as i}from"../../chunk-APJUJ6TW.js";import"../../chunk-672QCRVD.js";import{homedir as d}from"os";var c=a("telemetry","status"),h={TIGRIS_NO_TELEMETRY:"the TIGRIS_NO_TELEMETRY environment variable is set",DO_NOT_TRACK:"the DO_NOT_TRACK environment variable is set","opt-out":"you disabled it on this machine",development:"this is a development build",test:"this is a test environment"};function u(n){let t=d();return n.startsWith(t)?`~${n.slice(t.length)}`:n}async function T(n={}){try{let t=m(n),e=i(),o=e===null;if(t==="json"){console.log(JSON.stringify({enabled:o,disabledReason:e,settingsFile:r}));return}let s=["",`Telemetry: ${o?"enabled":"disabled"}`];o||s.push(` Reason: ${h[e]}`),s.push("","What is collected:"," Usage analytics which commands you run and their arguments, CLI"," version, OS, install method, and whether you are in CI"," Error reports crashes and unexpected failures","","Never collected:"," credentials of any kind \u2014 access keys, secrets, tokens, passwords \u2014"," or your hostname. Both are stripped before anything is sent.","",`Settings file: ${u(r)}`,""),e==="TIGRIS_NO_TELEMETRY"||e==="DO_NOT_TRACK"?s.push(`Unset ${e} to re-enable, then run "tigris telemetry enable".`,""):o?s.push("To disable: tigris telemetry disable",""):e==="opt-out"&&s.push("To re-enable: tigris telemetry enable",""),console.log(s.join(`
2
2
  `))}catch(t){l(c,t)}}export{T as default};
package/dist/lib/touch.js CHANGED
@@ -1 +1 @@
1
- import{e as f}from"../chunk-7ZCVOA6A.js";import{e as s}from"../chunk-RKWWRLWW.js";import{a,b as c}from"../chunk-S6KFKBMY.js";import{a as t}from"../chunk-JTLRSM54.js";import"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-ZTXDZIWN.js";import"../chunk-DV3LCXRH.js";import"../chunk-3XXEYQSC.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import"../chunk-J3MAV7JB.js";import"../chunk-F4AGJWCK.js";import{put as p}from"@tigrisdata/storage";async function u(e){let i=a(e,["path"]);i||t("path argument is required");let{bucket:o,path:r}=f(i);o||t("Invalid path"),r||t("Object key is required (use mk to create buckets)");let g=c(e),m=await s(),{error:n}=await p(r,"",{config:{...m,bucket:o}});n&&t(n),console.log(g==="json"?JSON.stringify({action:"created",bucket:o,path:r}):`Created '${o}/${r}'`),process.exit(0)}export{u as default};
1
+ import{e as f}from"../chunk-KIT6R3V2.js";import{e as s}from"../chunk-2TPTTPAT.js";import{a,b as c}from"../chunk-S6KFKBMY.js";import{a as t}from"../chunk-FKHFOOA3.js";import"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-AFES4NT6.js";import"../chunk-DV3LCXRH.js";import"../chunk-64FBY7Z6.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import"../chunk-J3MAV7JB.js";import"../chunk-F4AGJWCK.js";import{put as p}from"@tigrisdata/storage";async function u(e){let i=a(e,["path"]);i||t("path argument is required");let{bucket:o,path:r}=f(i);o||t("Invalid path"),r||t("Object key is required (use mk to create buckets)");let g=c(e),m=await s(),{error:n}=await p(r,"",{config:{...m,bucket:o}});n&&t(n),console.log(g==="json"?JSON.stringify({action:"created",bucket:o,path:r}):`Created '${o}/${r}'`),process.exit(0)}export{u as default};
@@ -1 +1 @@
1
- import{b as d}from"../chunk-S6KFKBMY.js";import{b as l,c as p,d as f}from"../chunk-LBT5RYWD.js";import"../chunk-G4OJTPSI.js";import{b as m}from"../chunk-JTLRSM54.js";import{b as s,c as i,f as a,j as c}from"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-ZTXDZIWN.js";import"../chunk-DV3LCXRH.js";import{a as t}from"../chunk-3XXEYQSC.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import{execSync as h}from"child_process";var r=c("update");async function v(u={}){let g=d(u);s(r);try{let o=await f(),e=l(t,o),n=p();if(g==="json"){console.log(JSON.stringify({currentVersion:t,latestVersion:o,updateAvailable:e,updateCommand:n}));return}console.log(`Current version: ${t}`),e?(console.log(`Latest version: ${o}`),console.log("Updating..."),h(n,{stdio:"inherit",...process.platform==="win32"?{shell:"powershell.exe"}:{}}),i(r,{latestVersion:o})):a(r,{currentVersion:t})}catch(o){m(r,o)}}export{v as default};
1
+ import{b as d}from"../chunk-S6KFKBMY.js";import{b as l,c as p,d as f}from"../chunk-54KNZAI5.js";import"../chunk-G4OJTPSI.js";import{b as m}from"../chunk-FKHFOOA3.js";import{b as s,c as i,f as a,j as c}from"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-AFES4NT6.js";import"../chunk-DV3LCXRH.js";import{a as t}from"../chunk-64FBY7Z6.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import{execSync as h}from"child_process";var r=c("update");async function v(u={}){let g=d(u);s(r);try{let o=await f(),e=l(t,o),n=p();if(g==="json"){console.log(JSON.stringify({currentVersion:t,latestVersion:o,updateAvailable:e,updateCommand:n}));return}console.log(`Current version: ${t}`),e?(console.log(`Latest version: ${o}`),console.log("Updating..."),h(n,{stdio:"inherit",...process.platform==="win32"?{shell:"powershell.exe"}:{}}),i(r,{latestVersion:o})):a(r,{currentVersion:t})}catch(o){m(r,o)}}export{v as default};
@@ -1,2 +1,2 @@
1
- import{a as $,d as b}from"../chunk-RKWWRLWW.js";import{b as w}from"../chunk-S6KFKBMY.js";import{b as y}from"../chunk-JTLRSM54.js";import{f as g,j as A}from"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-ZTXDZIWN.js";import"../chunk-DV3LCXRH.js";import"../chunk-3XXEYQSC.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import{c as z}from"../chunk-J3MAV7JB.js";import{i as I}from"../chunk-F4AGJWCK.js";import{whoami as k}from"@tigrisdata/iam";var f=A("whoami"),v={"aws-profile":"AWS Profile",oauth:"OAuth",credentials:"Access Key Credentials",environment:"Environment Variables",configured:"Configured Credentials"};async function l(h,u){try{let t=$(),{data:c}=await k({config:{accessKeyId:h,secretAccessKey:u,iamEndpoint:t.iamEndpoint}});return{userId:c?.userId,organizationId:c?.organizationId}}catch{return{userId:void 0,organizationId:void 0}}}async function K(h={}){try{let u=w(h),t=await b();if(t.type==="none"){g(f);return}let c,r,o,n,d,e=[""],m=v[t.type]??t.type;switch(t.type){case"aws-profile":{e.push(`Auth method: ${m} (${t.profile})`);let i=await l(t.accessKeyId,t.secretAccessKey);r=i.userId,o=i.organizationId;break}case"oauth":{e.push(`Auth method: ${m}`);let i=z();if(!await i.isAuthenticated()){g(f);return}let a=await i.getIdTokenClaims();c=a.email,r=a.sub,d=I(),n=await i.getOrganizations();break}case"credentials":{e.push(`Auth method: ${m}`);let i=await l(t.accessKeyId,t.secretAccessKey);r=i.userId,o=i.organizationId;break}case"environment":{let i=t.source==="tigris"?"TIGRIS_STORAGE_*":"AWS_*";e.push(`Auth method: ${m} (${i})`);let s=await l(t.accessKeyId,t.secretAccessKey);r=s.userId,o=s.organizationId;break}case"configured":{e.push(`Auth method: ${m}`);let i=await l(t.accessKeyId,t.secretAccessKey);r=i.userId,o=i.organizationId;break}}if(e.push(""),e.push("User Information:"),e.push(` Email: ${c||"N/A"}`),e.push(` User ID: ${r||"N/A"}`),n)if(n.length>0){let s=n.slice(0,5);if(e.push(""),e.push(`Organizations (${n.length}):`),s.forEach(a=>{let O=a.id===d?">":" ";e.push(` ${O} ${a.name} (${a.id})`)}),n.length>5&&e.push(` ... and ${n.length-5} more. Run "tigris organizations list" to see all.`),d){let a=n.find(p=>p.id===d);a&&(e.push(""),e.push(`Active: ${a.name}`))}}else e.push(""),e.push("Organizations: None");else o&&e.push(` Organization: ${o}`);if(u==="json"){let i={authMethod:t.type,email:c,userId:r};if(n&&(i.organizations=n.map(s=>({id:s.id,name:s.name})),d)){let s=n.find(a=>a.id===d);s&&(i.activeOrganization=s.name)}o&&(i.organizationId=o),console.log(JSON.stringify(i));return}e.push(""),console.log(e.join(`
1
+ import{a as $,d as b}from"../chunk-2TPTTPAT.js";import{b as w}from"../chunk-S6KFKBMY.js";import{b as y}from"../chunk-FKHFOOA3.js";import{f as g,j as A}from"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-AFES4NT6.js";import"../chunk-DV3LCXRH.js";import"../chunk-64FBY7Z6.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";import{c as z}from"../chunk-J3MAV7JB.js";import{i as I}from"../chunk-F4AGJWCK.js";import{whoami as k}from"@tigrisdata/iam";var f=A("whoami"),v={"aws-profile":"AWS Profile",oauth:"OAuth",credentials:"Access Key Credentials",environment:"Environment Variables",configured:"Configured Credentials"};async function l(h,u){try{let t=$(),{data:c}=await k({config:{accessKeyId:h,secretAccessKey:u,iamEndpoint:t.iamEndpoint}});return{userId:c?.userId,organizationId:c?.organizationId}}catch{return{userId:void 0,organizationId:void 0}}}async function K(h={}){try{let u=w(h),t=await b();if(t.type==="none"){g(f);return}let c,r,o,n,d,e=[""],m=v[t.type]??t.type;switch(t.type){case"aws-profile":{e.push(`Auth method: ${m} (${t.profile})`);let i=await l(t.accessKeyId,t.secretAccessKey);r=i.userId,o=i.organizationId;break}case"oauth":{e.push(`Auth method: ${m}`);let i=z();if(!await i.isAuthenticated()){g(f);return}let a=await i.getIdTokenClaims();c=a.email,r=a.sub,d=I(),n=await i.getOrganizations();break}case"credentials":{e.push(`Auth method: ${m}`);let i=await l(t.accessKeyId,t.secretAccessKey);r=i.userId,o=i.organizationId;break}case"environment":{let i=t.source==="tigris"?"TIGRIS_STORAGE_*":"AWS_*";e.push(`Auth method: ${m} (${i})`);let s=await l(t.accessKeyId,t.secretAccessKey);r=s.userId,o=s.organizationId;break}case"configured":{e.push(`Auth method: ${m}`);let i=await l(t.accessKeyId,t.secretAccessKey);r=i.userId,o=i.organizationId;break}}if(e.push(""),e.push("User Information:"),e.push(` Email: ${c||"N/A"}`),e.push(` User ID: ${r||"N/A"}`),n)if(n.length>0){let s=n.slice(0,5);if(e.push(""),e.push(`Organizations (${n.length}):`),s.forEach(a=>{let O=a.id===d?">":" ";e.push(` ${O} ${a.name} (${a.id})`)}),n.length>5&&e.push(` ... and ${n.length-5} more. Run "tigris organizations list" to see all.`),d){let a=n.find(p=>p.id===d);a&&(e.push(""),e.push(`Active: ${a.name}`))}}else e.push(""),e.push("Organizations: None");else o&&e.push(` Organization: ${o}`);if(u==="json"){let i={authMethod:t.type,email:c,userId:r};if(n&&(i.organizations=n.map(s=>({id:s.id,name:s.name})),d)){let s=n.find(a=>a.id===d);s&&(i.activeOrganization=s.name)}o&&(i.organizationId=o),console.log(JSON.stringify(i));return}e.push(""),console.log(e.join(`
2
2
  `))}catch(u){y(f,u)}}export{K as default};
package/dist/specs.yaml CHANGED
@@ -1342,11 +1342,12 @@ commands:
1342
1342
  # Manage snapshots
1343
1343
  #########################
1344
1344
  - name: snapshots
1345
- description: List and take snapshots. A snapshot is a point-in-time, read-only copy of a bucket's state
1345
+ description: List, take, and delete snapshots. A snapshot is a point-in-time, read-only copy of a bucket's state
1346
1346
  alias: s
1347
1347
  examples:
1348
1348
  - "tigris snapshots list my-bucket"
1349
1349
  - "tigris snapshots take my-bucket"
1350
+ - "tigris snapshots delete my-bucket 1765889000501544464"
1350
1351
  commands:
1351
1352
  # list
1352
1353
  - name: list
@@ -1400,6 +1401,39 @@ commands:
1400
1401
  required: false
1401
1402
  examples:
1402
1403
  - my-snapshot
1404
+ # delete
1405
+ - name: delete
1406
+ description: Delete one or more snapshots of a bucket by version. Deletion is permanent; forks already created from a snapshot are unaffected
1407
+ alias: d
1408
+ examples:
1409
+ - "tigris snapshots delete my-bucket 1765889000501544464 --yes"
1410
+ - "tigris snapshots delete my-bucket 1765889000501544464,1765889000501544465 --yes"
1411
+ messages:
1412
+ onStart: 'Deleting snapshot...'
1413
+ onSuccess: "Snapshot '{{version}}' deleted from bucket '{{name}}'"
1414
+ onFailure: "Failed to delete snapshot '{{version}}'"
1415
+ nextActions:
1416
+ - command: 'tigris snapshots list {{name}}'
1417
+ description: 'List remaining snapshots'
1418
+ arguments:
1419
+ - name: name
1420
+ description: Name of the bucket
1421
+ type: positional
1422
+ required: true
1423
+ examples:
1424
+ - my-bucket
1425
+ - name: version
1426
+ description: Snapshot version, or comma separated list of versions. Find versions with "tigris snapshots list"
1427
+ type: positional
1428
+ required: true
1429
+ multiple: true
1430
+ examples:
1431
+ # Quoted: an unquoted 19-digit literal parses as a float and
1432
+ # loses its trailing digits in help output.
1433
+ - "1765889000501544464"
1434
+ - name: force
1435
+ type: flag
1436
+ description: Skip confirmation prompts (alias for --yes)
1403
1437
 
1404
1438
  #########################
1405
1439
  # Manage objects
@@ -1 +1 @@
1
- import{a,b,c,d,e,f}from"../chunk-C272RML4.js";import"../chunk-G4OJTPSI.js";import"../chunk-3XXEYQSC.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";export{d as captureCommand,c as decodeTokenEmail,f as identifyOnLogin,a as isCI,e as trackCommand,b as usedFlags};
1
+ import{a,b,c,d,e,f}from"../chunk-UUPTUOXD.js";import"../chunk-G4OJTPSI.js";import"../chunk-64FBY7Z6.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";export{d as captureCommand,c as decodeTokenEmail,f as identifyOnLogin,a as isCI,e as trackCommand,b as usedFlags};
@@ -1 +1 @@
1
- import{a,b,c,d}from"../chunk-JTLRSM54.js";import"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-ZTXDZIWN.js";import"../chunk-DV3LCXRH.js";import"../chunk-3XXEYQSC.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";export{a as exitWithError,b as failWithError,c as getSuccessNextActions,d as printNextActions};
1
+ import{a,b,c,d}from"../chunk-FKHFOOA3.js";import"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-AFES4NT6.js";import"../chunk-DV3LCXRH.js";import"../chunk-64FBY7Z6.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";export{a as exitWithError,b as failWithError,c as getSuccessNextActions,d as printNextActions};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i}from"../chunk-7ZCVOA6A.js";export{f as globToRegex,d as isPathFolder,a as isRemotePath,i as listAllItems,e as parseAnyPath,c as parsePath,b as parseRemotePath,h as resolveObjectArgs,g as wildcardPrefix};
1
+ import{a,b,c,d,e,f,g,h,i,j,k}from"../chunk-KIT6R3V2.js";export{j as countObjects,f as globToRegex,i as isFolderMarker,d as isPathFolder,a as isRemotePath,k as listAllItems,e as parseAnyPath,c as parsePath,b as parseRemotePath,h as resolveObjectArgs,g as wildcardPrefix};
@@ -1 +1 @@
1
- import{a as c,b as d,c as e,d as f,e as g}from"../chunk-ZTXDZIWN.js";import"../chunk-3XXEYQSC.js";import{a,b}from"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";export{d as beforeSend,f as captureError,g as flushTelemetry,e as initTelemetry,c as invocationCommand,a as redactSecrets,b as scrubArgv};
1
+ import{a as c,b as d,c as e,d as f,e as g}from"../chunk-AFES4NT6.js";import"../chunk-64FBY7Z6.js";import{a,b}from"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-672QCRVD.js";export{d as beforeSend,f as captureError,g as flushTelemetry,e as initTelemetry,c as invocationCommand,a as redactSecrets,b as scrubArgv};
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"../chunk-LBT5RYWD.js";import"../chunk-G4OJTPSI.js";import"../chunk-3XXEYQSC.js";import"../chunk-672QCRVD.js";export{e as checkForUpdates,d as fetchLatestVersion,c as getUpdateCommand,b as isNewerVersion,a as readUpdateCache};
1
+ import{a,b,c,d,e}from"../chunk-54KNZAI5.js";import"../chunk-G4OJTPSI.js";import"../chunk-64FBY7Z6.js";import"../chunk-672QCRVD.js";export{e as checkForUpdates,d as fetchLatestVersion,c as getUpdateCommand,b as isNewerVersion,a as readUpdateCache};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tigrisdata/cli",
3
- "version": "3.8.0",
3
+ "version": "3.9.0",
4
4
  "description": "Command line interface for Tigris object storage",
5
5
  "type": "module",
6
6
  "exports": {
@@ -1 +0,0 @@
1
- var e="3.8.0";export{e as a};
@@ -1 +0,0 @@
1
- import{list as a}from"@tigrisdata/storage";var g=["t3://","tigris://"];function p(t){return g.some(e=>t.startsWith(e))}function u(t){let e=g.find(r=>t.startsWith(r));return c(t.slice(e.length))}function c(t){let e=t.split("/");return{bucket:e[0],path:e.slice(1).join("/")}}async function l(t,e,r){let{data:i}=await a({prefix:`${e}/`,limit:1,config:{...r,bucket:t}});return!!(i?.items&&i.items.length>0)}function f(t){return p(t)?u(t):c(t)}function d(t){let e=t.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]*");return new RegExp(`^${e}$`)}function x(t){let e=t.indexOf("*"),r=t.lastIndexOf("/",e);return r>=0?t.slice(0,r+1):""}function h(t,e){let r=f(t);return e?{bucket:r.bucket,key:e}:{bucket:r.bucket,key:r.path}}async function P(t,e,r){let i=[],s;do{let{data:n,error:o}=await a({prefix:e,paginationToken:s,config:{...r,bucket:t}});if(o)return{items:i,error:o};n?.items&&i.push(...n.items),s=n?.hasMore?n.paginationToken:void 0}while(s);return{items:i}}export{p as a,u as b,c,l as d,f as e,d as f,x as g,h,P as i};
File without changes