@tigrisdata/cli 3.10.0 → 3.11.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 (120) hide show
  1. package/README.md +35 -3
  2. package/dist/auth/iam.js +1 -1
  3. package/dist/auth/provider.js +1 -1
  4. package/dist/{chunk-R3KHIAWP.js → chunk-5AGM4LUA.js} +1 -1
  5. package/dist/{chunk-HAYPV4J6.js → chunk-5QNWWNPL.js} +1 -1
  6. package/dist/{chunk-IIF5VLQ7.js → chunk-6TTEDYLD.js} +1 -1
  7. package/dist/{chunk-ZTZF3OHU.js → chunk-7BUC7A7V.js} +1 -1
  8. package/dist/{chunk-RDJQLQQY.js → chunk-7Q44GQ2Y.js} +1 -1
  9. package/dist/{chunk-4FAKNMI5.js → chunk-GMZ3URGL.js} +1 -1
  10. package/dist/{chunk-UZIIZW33.js → chunk-GZMEHP36.js} +1 -1
  11. package/dist/{chunk-JUOJKZRI.js → chunk-IEFUKJDE.js} +1 -1
  12. package/dist/chunk-IUIKP2LU.js +1 -0
  13. package/dist/chunk-KJXUEGXY.js +8 -0
  14. package/dist/{chunk-TFXO4OXM.js → chunk-PUHRE62R.js} +1 -1
  15. package/dist/chunk-QPUL2AAI.js +1 -0
  16. package/dist/{chunk-CEEDWOY2.js → chunk-TVH7NCXE.js} +1 -1
  17. package/dist/{chunk-MQEI5KKF.js → chunk-VPELL4UB.js} +1 -1
  18. package/dist/chunk-Z54TMLIH.js +1 -0
  19. package/dist/{chunk-PNRZDYCK.js → chunk-Z5DYQHN2.js} +1 -1
  20. package/dist/cli-core.js +1 -1
  21. package/dist/cli.js +1 -1
  22. package/dist/constants.js +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/lib/access-keys/assign.js +1 -1
  25. package/dist/lib/access-keys/attach-policy.js +1 -1
  26. package/dist/lib/access-keys/create.js +1 -1
  27. package/dist/lib/access-keys/delete.js +1 -1
  28. package/dist/lib/access-keys/detach-policy.js +1 -1
  29. package/dist/lib/access-keys/get.js +1 -1
  30. package/dist/lib/access-keys/list-policies.js +1 -1
  31. package/dist/lib/access-keys/list.js +1 -1
  32. package/dist/lib/access-keys/rotate.js +1 -1
  33. package/dist/lib/buckets/create.js +1 -1
  34. package/dist/lib/buckets/delete.js +1 -1
  35. package/dist/lib/buckets/disable-snapshots.js +1 -1
  36. package/dist/lib/buckets/enable-snapshots.js +1 -1
  37. package/dist/lib/buckets/get.js +1 -1
  38. package/dist/lib/buckets/lifecycle/create.js +1 -1
  39. package/dist/lib/buckets/lifecycle/edit.js +1 -1
  40. package/dist/lib/buckets/lifecycle/list.js +1 -1
  41. package/dist/lib/buckets/lifecycle/shared.js +1 -1
  42. package/dist/lib/buckets/list.js +1 -1
  43. package/dist/lib/buckets/merge.js +1 -1
  44. package/dist/lib/buckets/migrate.js +1 -1
  45. package/dist/lib/buckets/rebase.js +1 -1
  46. package/dist/lib/buckets/restore.js +1 -1
  47. package/dist/lib/buckets/set-cors.js +1 -1
  48. package/dist/lib/buckets/set-locations.js +1 -1
  49. package/dist/lib/buckets/set-migration.js +1 -1
  50. package/dist/lib/buckets/set-notifications.js +1 -1
  51. package/dist/lib/buckets/set.js +1 -1
  52. package/dist/lib/buckets/share.js +1 -0
  53. package/dist/lib/bundle.js +1 -1
  54. package/dist/lib/configure/index.js +1 -1
  55. package/dist/lib/cp.js +1 -1
  56. package/dist/lib/credentials/test.js +1 -1
  57. package/dist/lib/iam/policies/create.js +1 -1
  58. package/dist/lib/iam/policies/delete.js +1 -1
  59. package/dist/lib/iam/policies/edit.js +1 -1
  60. package/dist/lib/iam/policies/get.js +1 -1
  61. package/dist/lib/iam/policies/link-key.js +1 -1
  62. package/dist/lib/iam/policies/list-keys.js +1 -1
  63. package/dist/lib/iam/policies/list.js +1 -1
  64. package/dist/lib/iam/policies/select-policy.js +1 -1
  65. package/dist/lib/iam/policies/unlink-key.js +1 -1
  66. package/dist/lib/iam/teams/create.js +1 -1
  67. package/dist/lib/iam/teams/edit.js +1 -1
  68. package/dist/lib/iam/teams/list.js +1 -1
  69. package/dist/lib/iam/teams/shared.js +1 -1
  70. package/dist/lib/iam/users/invite.js +1 -1
  71. package/dist/lib/iam/users/list.js +1 -1
  72. package/dist/lib/iam/users/remove.js +1 -1
  73. package/dist/lib/iam/users/revoke-invitation.js +1 -1
  74. package/dist/lib/iam/users/update-role.js +1 -1
  75. package/dist/lib/init/index.js +1 -1
  76. package/dist/lib/login/credentials.js +1 -1
  77. package/dist/lib/login/oauth.js +1 -1
  78. package/dist/lib/login/select.js +1 -1
  79. package/dist/lib/logout.js +1 -1
  80. package/dist/lib/ls.js +1 -1
  81. package/dist/lib/mk.js +1 -1
  82. package/dist/lib/mv.js +1 -1
  83. package/dist/lib/objects/delete.js +1 -1
  84. package/dist/lib/objects/get.js +1 -1
  85. package/dist/lib/objects/info.js +1 -1
  86. package/dist/lib/objects/list-versions.js +1 -1
  87. package/dist/lib/objects/list.js +1 -1
  88. package/dist/lib/objects/purge.js +1 -1
  89. package/dist/lib/objects/put.js +1 -1
  90. package/dist/lib/objects/restore-deleted.js +1 -1
  91. package/dist/lib/objects/restore-info.js +1 -1
  92. package/dist/lib/objects/restore.js +1 -1
  93. package/dist/lib/objects/set-access.js +1 -1
  94. package/dist/lib/objects/set.js +1 -1
  95. package/dist/lib/organizations/create.js +1 -1
  96. package/dist/lib/organizations/list.js +1 -1
  97. package/dist/lib/organizations/select.js +1 -1
  98. package/dist/lib/presign.js +2 -2
  99. package/dist/lib/rm.js +1 -1
  100. package/dist/lib/snapshots/delete.js +1 -1
  101. package/dist/lib/snapshots/list.js +1 -1
  102. package/dist/lib/snapshots/take.js +1 -1
  103. package/dist/lib/stat.js +1 -1
  104. package/dist/lib/telemetry/disable.js +1 -1
  105. package/dist/lib/telemetry/enable.js +1 -1
  106. package/dist/lib/telemetry/status.js +1 -1
  107. package/dist/lib/touch.js +1 -1
  108. package/dist/lib/update.js +1 -1
  109. package/dist/lib/whoami.js +1 -1
  110. package/dist/specs.yaml +57 -2
  111. package/dist/utils/analytics.js +1 -1
  112. package/dist/utils/bucket-info.js +1 -1
  113. package/dist/utils/exit.js +1 -1
  114. package/dist/utils/telemetry.js +1 -1
  115. package/dist/utils/update-check.js +1 -1
  116. package/package.json +3 -3
  117. package/dist/chunk-76VFN2EJ.js +0 -8
  118. package/dist/chunk-JNSFDQGG.js +0 -1
  119. package/dist/chunk-RH6Z22EN.js +0 -1
  120. package/dist/chunk-V6JZFDRE.js +0 -1
package/README.md CHANGED
@@ -390,11 +390,13 @@ tigris cp <src> <dest> [flags]
390
390
  |------|-------------|
391
391
  | `-r, --recursive` | Copy directories recursively |
392
392
  | `-a, --access` | Access level for uploaded objects (only applies to local-to-remote uploads) |
393
+ | `--cache-control` | Cache-Control header stored with uploaded objects (only applies to local-to-remote uploads) |
393
394
 
394
395
  **Examples:**
395
396
  ```bash
396
397
  tigris cp ./file.txt t3://my-bucket/file.txt
397
398
  tigris cp ./logo.png t3://my-bucket/logo.png --access public
399
+ tigris cp ./dist/ t3://my-bucket/assets/ -r --cache-control 'public, max-age=31536000, immutable'
398
400
  tigris cp t3://my-bucket/file.txt ./local-copy.txt
399
401
  tigris cp t3://my-bucket/src/ t3://my-bucket/dest/ -r
400
402
  tigris cp ./images/ t3://my-bucket/images/ -r
@@ -541,6 +543,7 @@ Create, inspect, update, and delete buckets. Buckets are top-level containers th
541
543
  | `tigris buckets lifecycle` (lc) | Manage bucket lifecycle rules. Each rule combines an optional storage-class transition and/or expiration (TTL), scoped to an optional key prefix |
542
544
  | `tigris buckets set-notifications` | Configure object event notifications on a bucket. Sends webhook requests to a URL when objects are created, updated, or deleted |
543
545
  | `tigris buckets set-cors` | Configure CORS rules on a bucket. Each invocation adds a rule unless --override or --reset is used |
546
+ | `tigris buckets share` | Share a bucket with your whole organization, specific teams, or specific users. Existing shares are kept unless --override or --reset is used |
544
547
 
545
548
  #### `tigris buckets list` (l)
546
549
 
@@ -938,6 +941,33 @@ tigris buckets set-cors my-bucket --origins https://example.com --override
938
941
  tigris buckets set-cors my-bucket --reset
939
942
  ```
940
943
 
944
+ #### `tigris buckets share`
945
+
946
+ Share a bucket with your whole organization, specific teams, or specific users. Existing shares are kept unless --override or --reset is used
947
+
948
+ ```
949
+ tigris buckets share <name> [flags]
950
+ ```
951
+
952
+ | Flag | Description |
953
+ |------|-------------|
954
+ | `-org, --organization` | Give access to everyone in your organization. Takes exactly one --role and cannot be combined with --team or --user |
955
+ | `-t, --team` | Team ID to share with (can specify multiple, comma-separated). Each team is paired positionally with a --role value |
956
+ | `-u, --user` | User ID to share with (can specify multiple, comma-separated). Each user is paired positionally with a --role value |
957
+ | `-r, --role` | Role to grant (can specify multiple, comma-separated). A single role applies to every target; otherwise each role pairs with the corresponding --team or --user value |
958
+ | `--override` | Replace all existing shares instead of merging with them |
959
+ | `--reset` | Remove all shares from the bucket |
960
+
961
+ **Examples:**
962
+ ```bash
963
+ tigris buckets share my-bucket --organization --role ReadOnly
964
+ tigris buckets share my-bucket --team tmid_MQQUhV --role Editor
965
+ tigris buckets share my-bucket --user uid_MQQUhV --role ReadOnly
966
+ tigris buckets share my-bucket --team tmid_A,tmid_B --role Editor,ReadOnly
967
+ tigris buckets share my-bucket --team tmid_MQQUhV --role Editor --override
968
+ tigris buckets share my-bucket --reset
969
+ ```
970
+
941
971
  ### `tigris snapshots` (s)
942
972
 
943
973
  List, take, and delete snapshots. A snapshot is a point-in-time, read-only copy of a bucket's state
@@ -1035,7 +1065,7 @@ tigris objects list <bucket> [flags]
1035
1065
  | `--limit` | Maximum number of items to return per page |
1036
1066
  | `-pt, --page-token` | Pagination token from a previous request to fetch the next page |
1037
1067
  | `--source` | List objects from a specific storage source on buckets with shadow migration enabled |
1038
- | `--deleted` | List soft-deleted objects instead of live ones. Requires soft delete on the bucket. Not the recovery path for snapshot buckets use "tigris objects list-versions" for those |
1068
+ | `--deleted` | List soft-deleted objects instead of live ones. Requires soft delete on the bucket. On a snapshot bucket a plain delete records a delete marker instead, so use "tigris objects list-versions" for those |
1039
1069
 
1040
1070
  **Examples:**
1041
1071
  ```bash
@@ -1108,6 +1138,7 @@ tigris objects put <bucket> [key] [file] [flags]
1108
1138
  |------|-------------|
1109
1139
  | `-a, --access` | Access level (default: private) |
1110
1140
  | `-t, --content-type` | Content type (auto-detected from extension if omitted) |
1141
+ | `--cache-control` | Cache-Control header stored with the object and returned on every read (e.g. "public, max-age=31536000, immutable") |
1111
1142
  | `--format` | Output format (default: table) |
1112
1143
 
1113
1144
  **Examples:**
@@ -1115,6 +1146,7 @@ tigris objects put <bucket> [key] [file] [flags]
1115
1146
  tigris objects put my-bucket report.pdf ./report.pdf
1116
1147
  tigris objects put t3://my-bucket/report.pdf ./report.pdf
1117
1148
  tigris objects put my-bucket logo.png ./logo.png --access public --content-type image/png
1149
+ tigris objects put my-bucket app.js ./app.js --cache-control 'public, max-age=31536000, immutable'
1118
1150
  echo 'hello' | tigris objects put t3://my-bucket/hello.txt
1119
1151
  cat report.pdf | tigris objects put my-bucket report.pdf --content-type application/pdf
1120
1152
  ```
@@ -1295,7 +1327,7 @@ Create, list, inspect, delete, and assign roles to access keys. Access keys are
1295
1327
  | `tigris access-keys create` (c) | Create a new access key with the given name. Returns the key ID and secret (shown only once) |
1296
1328
  | `tigris access-keys delete` (d) | Permanently delete an access key by its ID. This revokes all access immediately |
1297
1329
  | `tigris access-keys get` (g) | Show details for an access key including its name, creation date, and assigned bucket roles |
1298
- | `tigris access-keys assign` (a) | Assign per-bucket roles to an access key. Pair each --bucket with a --role (Editor or ReadOnly), or use --admin for org-wide access |
1330
+ | `tigris access-keys assign` (a) | Assign per-bucket roles to an access key. Pair each --bucket with a --role (Editor, ReadWrite, or ReadOnly), or use --admin for org-wide access |
1299
1331
  | `tigris access-keys rotate` (r) | Rotate an access key's secret. The current secret is immediately invalidated and a new one is returned (shown only once) |
1300
1332
  | `tigris access-keys attach-policy` (ap) | Attach an IAM policy to an access key. If no policy ARN is provided, shows interactive selection of available policies |
1301
1333
  | `tigris access-keys detach-policy` (dp) | Detach an IAM policy from an access key. If no policy ARN is provided, shows interactive selection of attached policies |
@@ -1365,7 +1397,7 @@ tigris access-keys get tid_AaBbCcDdEeFf
1365
1397
 
1366
1398
  #### `tigris access-keys assign` (a)
1367
1399
 
1368
- Assign per-bucket roles to an access key. Pair each --bucket with a --role (Editor or ReadOnly), or use --admin for org-wide access
1400
+ Assign per-bucket roles to an access key. Pair each --bucket with a --role (Editor, ReadWrite, or ReadOnly), or use --admin for org-wide access
1369
1401
 
1370
1402
  ```
1371
1403
  tigris access-keys assign <id> [flags]
package/dist/auth/iam.js CHANGED
@@ -1 +1 @@
1
- import{a as b,b as c}from"../chunk-UZIIZW33.js";import"../chunk-R3KHIAWP.js";import"../chunk-IIF5VLQ7.js";import"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-RDJQLQQY.js";import"../chunk-DV3LCXRH.js";import"../chunk-RH6Z22EN.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-V6JZFDRE.js";import"../chunk-J3MAV7JB.js";import{a}from"../chunk-KJBSIIND.js";import"../chunk-F4AGJWCK.js";export{c as getIAMConfig,b as getOAuthIAMConfig,a as isFlyOrganization};
1
+ import{a as b,b as c}from"../chunk-GZMEHP36.js";import"../chunk-5AGM4LUA.js";import"../chunk-6TTEDYLD.js";import"../chunk-D7WXNA2O.js";import"../chunk-NI4EYBQH.js";import"../chunk-7Q44GQ2Y.js";import"../chunk-DV3LCXRH.js";import"../chunk-Z54TMLIH.js";import"../chunk-BMWWPXMU.js";import"../chunk-APJUJ6TW.js";import"../chunk-QPUL2AAI.js";import"../chunk-J3MAV7JB.js";import{a}from"../chunk-KJBSIIND.js";import"../chunk-F4AGJWCK.js";export{c as getIAMConfig,b as getOAuthIAMConfig,a as isFlyOrganization};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g}from"../chunk-R3KHIAWP.js";import"../chunk-V6JZFDRE.js";import"../chunk-J3MAV7JB.js";import"../chunk-F4AGJWCK.js";export{c as getEnvCredentials,b as getEnvForcePathStyle,e as getStorageConfig,f as getStorageConfigWithOrg,a as getTigrisConfig,g as requireOAuthLogin,d as resolveAuthMethod};
1
+ import{a,b,c,d,e,f,g}from"../chunk-5AGM4LUA.js";import"../chunk-QPUL2AAI.js";import"../chunk-J3MAV7JB.js";import"../chunk-F4AGJWCK.js";export{c as getEnvCredentials,b as getEnvForcePathStyle,e as getStorageConfig,f as getStorageConfigWithOrg,a as getTigrisConfig,g as requireOAuthLogin,d as resolveAuthMethod};
@@ -1,4 +1,4 @@
1
- import{a as o,b as a,c as g}from"./chunk-V6JZFDRE.js";import{a as A,c as I}from"./chunk-J3MAV7JB.js";import{i as c,j as l,k as y,l as i,p as d}from"./chunk-F4AGJWCK.js";import{fromIni as S}from"@aws-sdk/credential-providers";function _(){return process.env.AWS_ENDPOINT_URL_S3||process.env.AWS_ENDPOINT_URL_IAM?{endpoint:process.env.AWS_ENDPOINT_URL_S3||o,iamEndpoint:process.env.AWS_ENDPOINT_URL_IAM||a,mgmtEndpoint:process.env.AWS_ENDPOINT_URL_MGMT||g}:{endpoint:process.env.TIGRIS_STORAGE_ENDPOINT||o,iamEndpoint:process.env.TIGRIS_IAM_ENDPOINT||a,mgmtEndpoint:process.env.TIGRIS_MGMT_ENDPOINT||g}}function K(){let e=process.env.TIGRIS_FORCE_PATH_STYLE?.trim().toLowerCase();return e==="1"||e==="true"||e==="yes"||e==="on"}var r=_(),T=A();function p(){if(process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY){let e=process.env.AWS_ENDPOINT_URL_S3||o;return{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,endpoint:e,source:"aws"}}if(process.env.TIGRIS_STORAGE_ACCESS_KEY_ID&&process.env.TIGRIS_STORAGE_SECRET_ACCESS_KEY){let e=process.env.TIGRIS_STORAGE_ENDPOINT||o;return{accessKeyId:process.env.TIGRIS_STORAGE_ACCESS_KEY_ID,secretAccessKey:process.env.TIGRIS_STORAGE_SECRET_ACCESS_KEY,endpoint:e,source:"tigris"}}return null}var f=!1;async function C(){if(f||!process.stdin.isTTY)return!1;f=!0,console.log(`Not authenticated. Starting login...
1
+ import{a as o,b as a,c as g}from"./chunk-QPUL2AAI.js";import{a as A,c as I}from"./chunk-J3MAV7JB.js";import{i as c,j as l,k as y,l as i,p as d}from"./chunk-F4AGJWCK.js";import{fromIni as S}from"@aws-sdk/credential-providers";function _(){return process.env.AWS_ENDPOINT_URL_S3||process.env.AWS_ENDPOINT_URL_IAM?{endpoint:process.env.AWS_ENDPOINT_URL_S3||o,iamEndpoint:process.env.AWS_ENDPOINT_URL_IAM||a,mgmtEndpoint:process.env.AWS_ENDPOINT_URL_MGMT||g}:{endpoint:process.env.TIGRIS_STORAGE_ENDPOINT||o,iamEndpoint:process.env.TIGRIS_IAM_ENDPOINT||a,mgmtEndpoint:process.env.TIGRIS_MGMT_ENDPOINT||g}}function K(){let e=process.env.TIGRIS_FORCE_PATH_STYLE?.trim().toLowerCase();return e==="1"||e==="true"||e==="yes"||e==="on"}var r=_(),T=A();function p(){if(process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY){let e=process.env.AWS_ENDPOINT_URL_S3||o;return{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,endpoint:e,source:"aws"}}if(process.env.TIGRIS_STORAGE_ACCESS_KEY_ID&&process.env.TIGRIS_STORAGE_SECRET_ACCESS_KEY){let e=process.env.TIGRIS_STORAGE_ENDPOINT||o;return{accessKeyId:process.env.TIGRIS_STORAGE_ACCESS_KEY_ID,secretAccessKey:process.env.TIGRIS_STORAGE_SECRET_ACCESS_KEY,endpoint:e,source:"tigris"}}return null}var f=!1;async function C(){if(f||!process.stdin.isTTY)return!1;f=!0,console.log(`Not authenticated. Starting login...
2
2
  `);let{default:e}=await import("./lib/login/select.js");return await e({}),console.log(),!0}async function h(){if(l()){let s=process.env.AWS_PROFILE||"default",u=await S({profile:s})();return{type:"aws-profile",profile:s,accessKeyId:u.accessKeyId,secretAccessKey:u.secretAccessKey}}let e=p();if(e)return{type:"environment",accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,source:e.source};let t=d();if(t==="oauth")return{type:"oauth"};if(t==="credentials"){let s=i();if(s)return{type:"credentials",accessKeyId:s.accessKeyId,secretAccessKey:s.secretAccessKey}}let n=i();return n?{type:"configured",accessKeyId:n.accessKeyId,secretAccessKey:n.secretAccessKey}:{type:"none"}}async function m(e){let t=await E(e);return K()?{...t,forcePathStyle:!0}:t}async function E(e){let t=await h();switch(t.type){case"aws-profile":{let n=await y(t.profile);return{accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,endpoint:n.endpoint||r.endpoint||o,iamEndpoint:n.iamEndpoint||r.iamEndpoint}}case"oauth":{let n=I(),s=c();if(!s)throw new Error('No organization selected. Please run "tigris orgs select" first.');return{sessionToken:await n.getAccessToken(),accessKeyId:"",secretAccessKey:"",...e?.withCredentialProvider&&{credentialProvider:async()=>({accessKeyId:"",secretAccessKey:"",sessionToken:await n.getAccessToken(),expiration:new Date(Date.now()+600*1e3)})},endpoint:r.endpoint,organizationId:s,iamEndpoint:r.iamEndpoint,authDomain:T.domain}}case"credentials":{let n=c();return{accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,endpoint:i()?.endpoint||o,organizationId:n??void 0,iamEndpoint:r.iamEndpoint}}case"environment":return{accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,endpoint:p()?.endpoint||o};case"configured":{let n=c();return{accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,endpoint:i()?.endpoint||o,organizationId:n??void 0,iamEndpoint:r.iamEndpoint}}case"none":{if(await C())return E(e);throw new Error('Not authenticated. Please run "tigris login" or "tigris configure" first.')}}}async function O(){let e=await m(),t=c();return{...e,...t&&!e.organizationId?{organizationId:t}:{}}}function R(e){return d()==="oauth"?!1:(p()||i()?console.log(`You are using access key credentials, which belong to a single organization.
3
3
  ${e} is only available with OAuth login.
4
4
 
@@ -1 +1 @@
1
- import{a as d,b as o}from"./chunk-JNSFDQGG.js";import{a}from"./chunk-S6KFKBMY.js";import{b as i}from"./chunk-IIF5VLQ7.js";import{getBucketInfo as l,setBucketLifecycle as g}from"@tigrisdata/storage";var f=["STANDARD_IA","GLACIER","GLACIER_IR"];function c(e){return f.includes(e)}function u(e){return/^\d{4}-\d{2}-\d{2}/.test(e)&&!Number.isNaN(new Date(e).getTime())}function C(e){return{prefix:a(e,["prefix"]),storageClass:a(e,["storage-class","storageClass"]),days:a(e,["days"]),date:a(e,["date"]),expireDays:a(e,["expire-days","expireDays"]),expireDate:a(e,["expire-date","expireDate"]),enable:a(e,["enable"]),disable:a(e,["disable"])}}function p(e,{requireStorageClassForTiming:r=!0}={}){if(e.enable&&e.disable)return"Cannot use both --enable and --disable";if(r&&(e.days!==void 0||e.date!==void 0)&&!e.storageClass)return"--storage-class is required when setting --days or --date";if(e.storageClass&&!c(e.storageClass))return`--storage-class must be one of: ${f.join(", ")} (STANDARD is not a valid transition target)`;if(e.days!==void 0&&e.date!==void 0)return"Cannot specify both --days and --date";if(e.days!==void 0&&(Number.isNaN(Number(e.days))||Number(e.days)<=0))return"--days must be a positive number";if(e.date!==void 0&&!u(e.date))return"--date must be a valid ISO-8601 date (e.g. 2026-06-01)";if(e.expireDays!==void 0&&e.expireDate!==void 0)return"Cannot specify both --expire-days and --expire-date";if(e.expireDays!==void 0&&(Number.isNaN(Number(e.expireDays))||Number(e.expireDays)<=0))return"--expire-days must be a positive number";if(e.expireDate!==void 0&&!u(e.expireDate))return"--expire-date must be a valid ISO-8601 date (e.g. 2026-06-01)";if(e.prefix!==void 0&&e.prefix==="")return"--prefix cannot be empty"}function D(e){let r={};return e.storageClass&&(r.storageClass=e.storageClass),e.days!==void 0?(r.days=Number(e.days),r.date=void 0):e.date!==void 0&&(r.date=e.date,r.days=void 0),r}function R(e){if(e.expireDays!==void 0)return{days:Number(e.expireDays),date:void 0};if(e.expireDate!==void 0)return{date:e.expireDate,days:void 0}}function I(e){if(e.enable)return!0;if(e.disable)return!1}async function N(e,r,n){let{data:t,error:s}=await l(r,{config:n});return s&&i(e,s),t?.settings.lifecycleRules??[]}async function T(e,r,n,t){let{error:s}=await g(r,{lifecycleRules:n,config:t});s&&i(e,s)}function S(e){return d(e)??"-"}function A(e){return o(e)??"-"}export{C as a,p as b,D as c,R as d,I as e,N as f,T as g,S as h,A as i};
1
+ import{a as d,b as o}from"./chunk-IUIKP2LU.js";import{a}from"./chunk-S6KFKBMY.js";import{b as i}from"./chunk-6TTEDYLD.js";import{getBucketInfo as l,setBucketLifecycle as g}from"@tigrisdata/storage";var f=["STANDARD_IA","GLACIER","GLACIER_IR"];function c(e){return f.includes(e)}function u(e){return/^\d{4}-\d{2}-\d{2}/.test(e)&&!Number.isNaN(new Date(e).getTime())}function C(e){return{prefix:a(e,["prefix"]),storageClass:a(e,["storage-class","storageClass"]),days:a(e,["days"]),date:a(e,["date"]),expireDays:a(e,["expire-days","expireDays"]),expireDate:a(e,["expire-date","expireDate"]),enable:a(e,["enable"]),disable:a(e,["disable"])}}function p(e,{requireStorageClassForTiming:r=!0}={}){if(e.enable&&e.disable)return"Cannot use both --enable and --disable";if(r&&(e.days!==void 0||e.date!==void 0)&&!e.storageClass)return"--storage-class is required when setting --days or --date";if(e.storageClass&&!c(e.storageClass))return`--storage-class must be one of: ${f.join(", ")} (STANDARD is not a valid transition target)`;if(e.days!==void 0&&e.date!==void 0)return"Cannot specify both --days and --date";if(e.days!==void 0&&(Number.isNaN(Number(e.days))||Number(e.days)<=0))return"--days must be a positive number";if(e.date!==void 0&&!u(e.date))return"--date must be a valid ISO-8601 date (e.g. 2026-06-01)";if(e.expireDays!==void 0&&e.expireDate!==void 0)return"Cannot specify both --expire-days and --expire-date";if(e.expireDays!==void 0&&(Number.isNaN(Number(e.expireDays))||Number(e.expireDays)<=0))return"--expire-days must be a positive number";if(e.expireDate!==void 0&&!u(e.expireDate))return"--expire-date must be a valid ISO-8601 date (e.g. 2026-06-01)";if(e.prefix!==void 0&&e.prefix==="")return"--prefix cannot be empty"}function D(e){let r={};return e.storageClass&&(r.storageClass=e.storageClass),e.days!==void 0?(r.days=Number(e.days),r.date=void 0):e.date!==void 0&&(r.date=e.date,r.days=void 0),r}function R(e){if(e.expireDays!==void 0)return{days:Number(e.expireDays),date:void 0};if(e.expireDate!==void 0)return{date:e.expireDate,days:void 0}}function I(e){if(e.enable)return!0;if(e.disable)return!1}async function N(e,r,n){let{data:t,error:s}=await l(r,{config:n});return s&&i(e,s),t?.settings.lifecycleRules??[]}async function T(e,r,n,t){let{error:s}=await g(r,{lifecycleRules:n,config:t});s&&i(e,s)}function S(e){return d(e)??"-"}function A(e){return o(e)??"-"}export{C as a,p as b,D as c,R as d,I as e,N as f,T as g,S as h,A as i};
@@ -1,4 +1,4 @@
1
- import{a as r,d as a}from"./chunk-D7WXNA2O.js";import{c}from"./chunk-NI4EYBQH.js";import{d as m}from"./chunk-RDJQLQQY.js";import{b as i}from"./chunk-DV3LCXRH.js";function p(){return globalThis.__TIGRIS_JSON_MODE===!0}function g(){return process.stderr.isTTY===!0}function f(){return process.stdout.isTTY===!0}function u(t,o,n){let e=i(t);if(p()){let s={error:{message:e.message,code:e.exitCode,category:e.category}};e.nextActions.length>0&&(s.nextActions=e.nextActions),console.error(JSON.stringify(s))}else if(o||console.error(`
1
+ import{a as r,d as a}from"./chunk-D7WXNA2O.js";import{c}from"./chunk-NI4EYBQH.js";import{d as m}from"./chunk-7Q44GQ2Y.js";import{b as i}from"./chunk-DV3LCXRH.js";function p(){return globalThis.__TIGRIS_JSON_MODE===!0}function g(){return process.stderr.isTTY===!0}function f(){return process.stdout.isTTY===!0}function u(t,o,n){let e=i(t);if(p()){let s={error:{message:e.message,code:e.exitCode,category:e.category}};e.nextActions.length>0&&(s.nextActions=e.nextActions),console.error(JSON.stringify(s))}else if(o||console.error(`
2
2
  Error: ${e.message}`),g()&&e.nextActions.length>0){console.error(`
3
3
  Next steps:`);for(let s of e.nextActions)console.error(` \u2192 ${s.command} ${s.description}`)}n?.skipCapture||m(t,{category:e.category,command:o?.command,exitCode:e.exitCode}),process.exit(e.exitCode)}function M(t,o){let n=o instanceof Error?o.message:String(o);a(t,n),u(o,t)}function x(t,o){let n=c(t.command,t.operation);return n?.messages?.nextActions?n.messages.nextActions.map(e=>({command:r(e.command,o),description:r(e.description,o)})):[]}function T(t,o){if(!f()||p())return;let n=x(t,o);if(n.length!==0){console.log(`
4
4
  Next steps:`);for(let e of n)console.log(` \u2192 ${e.command} ${e.description}`)}}export{u as a,M as b,x as c,T as d};
@@ -1,4 +1,4 @@
1
- import{a as p,b as a}from"./chunk-G4OJTPSI.js";import{a as r}from"./chunk-RH6Z22EN.js";import{b as f}from"./chunk-BMWWPXMU.js";import{e as c,f as I,h as _,i as g}from"./chunk-APJUJ6TW.js";import{i as l,j as m}from"./chunk-V6JZFDRE.js";import{request as O}from"http";import{request as v}from"https";var E="/i/v0/e/",N=1e3;function y(){return process.env.TIGRIS_POSTHOG_KEY?.trim()||l}function R(){return process.env.TIGRIS_POSTHOG_HOST?.trim()||m}var C=["CI","CONTINUOUS_INTEGRATION","BUILD_NUMBER","GITHUB_ACTIONS","GITLAB_CI","CIRCLECI","TRAVIS","JENKINS_URL","BUILDKITE","TEAMCITY_VERSION","TF_BUILD"];function w(){return C.some(e=>{let t=process.env[e];return t!==void 0&&t!==""&&t!=="0"&&t.toLowerCase()!=="false"})}var k=/^[a-z0-9][a-z0-9-]*$/i;function M(e){let t=new Set;for(let o of e){if(o==="--")break;if(!o.startsWith("-")||o==="-")continue;let n=o.split("=")[0].replace(/^--?/,"");k.test(n)&&t.add(n)}return[...t].sort()}function b(e){try{let t=e.split(".")[1];if(!t)return;let n=JSON.parse(Buffer.from(t,"base64url").toString("utf8"))?.email;return typeof n=="string"&&n.length>0?n:void 0}catch{return}}async function h(){let e=I(),t={distinctId:e,anonymousId:e,isIdentified:!1,authMethod:"none"};try{let o=await import("./auth/storage.js"),n=await o.getTokens(),i=n?.idToken?b(n.idToken):void 0;return{distinctId:i??e,anonymousId:e,isIdentified:i!==void 0,authMethod:o.getLoginMethod()??"none",organizationId:o.getSelectedOrganization()??void 0}}catch{return t}}function T(){return{$lib:"tigris-cli",$lib_version:r,interface:"cli",cli_version:r,runtime:p()?"binary":"node",install_method:a(),node_version:process.version,os:process.platform,arch:process.arch,is_ci:w(),is_tty:process.stdout.isTTY===!0}}function S(e){return new Promise(t=>{let o=!1,n=()=>{o||(o=!0,t())};try{let i=new URL(E,R()),u=JSON.stringify(e),s=(i.protocol==="http:"?O:v)({protocol:i.protocol,hostname:i.hostname,port:i.port||void 0,path:i.pathname,method:"POST",timeout:N,headers:{"content-type":"application/json","content-length":Buffer.byteLength(u),"user-agent":`tigris-cli/${r}`}},d=>{d.resume(),d.on("end",n),d.on("error",n)});s.on("error",n),s.on("timeout",()=>{s.destroy(),n()}),s.end(u)}catch{n()}})}var L=`
1
+ import{a as p,b as a}from"./chunk-G4OJTPSI.js";import{a as r}from"./chunk-Z54TMLIH.js";import{b as f}from"./chunk-BMWWPXMU.js";import{e as c,f as I,h as _,i as g}from"./chunk-APJUJ6TW.js";import{j as l,k as m}from"./chunk-QPUL2AAI.js";import{request as O}from"http";import{request as v}from"https";var E="/i/v0/e/",N=1e3;function y(){return process.env.TIGRIS_POSTHOG_KEY?.trim()||l}function R(){return process.env.TIGRIS_POSTHOG_HOST?.trim()||m}var C=["CI","CONTINUOUS_INTEGRATION","BUILD_NUMBER","GITHUB_ACTIONS","GITLAB_CI","CIRCLECI","TRAVIS","JENKINS_URL","BUILDKITE","TEAMCITY_VERSION","TF_BUILD"];function w(){return C.some(e=>{let t=process.env[e];return t!==void 0&&t!==""&&t!=="0"&&t.toLowerCase()!=="false"})}var k=/^[a-z0-9][a-z0-9-]*$/i;function M(e){let t=new Set;for(let o of e){if(o==="--")break;if(!o.startsWith("-")||o==="-")continue;let n=o.split("=")[0].replace(/^--?/,"");k.test(n)&&t.add(n)}return[...t].sort()}function b(e){try{let t=e.split(".")[1];if(!t)return;let n=JSON.parse(Buffer.from(t,"base64url").toString("utf8"))?.email;return typeof n=="string"&&n.length>0?n:void 0}catch{return}}async function h(){let e=I(),t={distinctId:e,anonymousId:e,isIdentified:!1,authMethod:"none"};try{let o=await import("./auth/storage.js"),n=await o.getTokens(),i=n?.idToken?b(n.idToken):void 0;return{distinctId:i??e,anonymousId:e,isIdentified:i!==void 0,authMethod:o.getLoginMethod()??"none",organizationId:o.getSelectedOrganization()??void 0}}catch{return t}}function T(){return{$lib:"tigris-cli",$lib_version:r,interface:"cli",cli_version:r,runtime:p()?"binary":"node",install_method:a(),node_version:process.version,os:process.platform,arch:process.arch,is_ci:w(),is_tty:process.stdout.isTTY===!0}}function S(e){return new Promise(t=>{let o=!1,n=()=>{o||(o=!0,t())};try{let i=new URL(E,R()),u=JSON.stringify(e),s=(i.protocol==="http:"?O:v)({protocol:i.protocol,hostname:i.hostname,port:i.port||void 0,path:i.pathname,method:"POST",timeout:N,headers:{"content-type":"application/json","content-length":Buffer.byteLength(u),"user-agent":`tigris-cli/${r}`}},d=>{d.resume(),d.on("end",n),d.on("error",n)});s.on("error",n),s.on("timeout",()=>{s.destroy(),n()}),s.end(u)}catch{n()}})}var L=`
2
2
  Tigris CLI collects usage analytics (which commands you run and their
3
3
  arguments, CLI version, OS) and error reports, to help us decide what to
4
4
  improve. Credentials \u2014 access keys, secrets, tokens \u2014 are never collected.
@@ -1 +1 @@
1
- import{a as c}from"./chunk-RH6Z22EN.js";import{a as u,b as y}from"./chunk-BMWWPXMU.js";import{e as l}from"./chunk-APJUJ6TW.js";import{h as m}from"./chunk-V6JZFDRE.js";import*as t from"@sentry/node";var g=new Set(["general","network"]),p=!1,a=!1;function S(){return process.env.TIGRIS_SENTRY_DSN?.trim()||m}var E=process.env.TIGRIS_ENV==="development"?"development":"production";function h(r){let e=r[0];return e&&!e.startsWith("-")?e:void 0}var T=new Set(["OnUncaughtException","OnUnhandledRejection","LocalVariables","LocalVariablesAsync","Console","ChildProcess"]);function f(r){if(typeof r=="string")return u(r);if(Array.isArray(r))return r.map(f);if(r!==null&&typeof r=="object"){let e=r;for(let n of Object.keys(e))e[n]=f(e[n]);return e}return r}function R(r){return r.server_name=void 0,f(r)}function w(){if(p)return;p=!0;let r=S();if(!(!r||l()))try{t.init({dsn:r,release:`@tigrisdata/cli@${c}`,environment:E,tracesSampleRate:0,sendDefaultPii:!1,integrations:i=>i.filter(s=>!T.has(s.name)),beforeSend:R}),t.setContext("cli",{version:c,node:process.version,platform:process.platform,arch:process.arch});let e=process.argv.slice(2);t.setContext("invocation",{command:y(e).join(" ")});let n=h(e);n&&t.setTag("command",n),a=!0}catch{a=!1}}function A(r,e={}){if(!a)return;let{category:n,command:i,crash:s,exitCode:d}=e;if(!(!s&&n&&!g.has(n)))try{t.captureException(r,o=>(o.setTag("crash",s===!0),n&&o.setTag("error.category",n),i&&o.setTag("command",i),d!==void 0&&o.setTag("exit_code",d),o))}catch{}}async function I(r=2e3){if(a)try{await t.flush(r)}catch{}}export{h as a,R as b,w as c,A as d,I as e};
1
+ import{a as c}from"./chunk-Z54TMLIH.js";import{a as u,b as y}from"./chunk-BMWWPXMU.js";import{e as l}from"./chunk-APJUJ6TW.js";import{i as m}from"./chunk-QPUL2AAI.js";import*as t from"@sentry/node";var g=new Set(["general","network"]),p=!1,a=!1;function S(){return process.env.TIGRIS_SENTRY_DSN?.trim()||m}var E=process.env.TIGRIS_ENV==="development"?"development":"production";function h(r){let e=r[0];return e&&!e.startsWith("-")?e:void 0}var T=new Set(["OnUncaughtException","OnUnhandledRejection","LocalVariables","LocalVariablesAsync","Console","ChildProcess"]);function f(r){if(typeof r=="string")return u(r);if(Array.isArray(r))return r.map(f);if(r!==null&&typeof r=="object"){let e=r;for(let n of Object.keys(e))e[n]=f(e[n]);return e}return r}function R(r){return r.server_name=void 0,f(r)}function w(){if(p)return;p=!0;let r=S();if(!(!r||l()))try{t.init({dsn:r,release:`@tigrisdata/cli@${c}`,environment:E,tracesSampleRate:0,sendDefaultPii:!1,integrations:i=>i.filter(s=>!T.has(s.name)),beforeSend:R}),t.setContext("cli",{version:c,node:process.version,platform:process.platform,arch:process.arch});let e=process.argv.slice(2);t.setContext("invocation",{command:y(e).join(" ")});let n=h(e);n&&t.setTag("command",n),a=!0}catch{a=!1}}function A(r,e={}){if(!a)return;let{category:n,command:i,crash:s,exitCode:d}=e;if(!(!s&&n&&!g.has(n)))try{t.captureException(r,o=>(o.setTag("crash",s===!0),n&&o.setTag("error.category",n),i&&o.setTag("command",i),d!==void 0&&o.setTag("exit_code",d),o))}catch{}}async function I(r=2e3){if(a)try{await t.flush(r)}catch{}}export{h as a,R as b,w as c,A as d,I as e};
@@ -1,4 +1,4 @@
1
- import{b as h}from"./chunk-S6KFKBMY.js";import{f as c}from"./chunk-ZTZF3OHU.js";import{a as d,d as e}from"./chunk-IIF5VLQ7.js";import{b as l,c as r,d as f,g as m,j as p}from"./chunk-D7WXNA2O.js";import{c as u}from"./chunk-J3MAV7JB.js";import{h as g,r as s}from"./chunk-F4AGJWCK.js";var o=p("login","oauth");async function O(w={}){l(o);let a=h(w);try{let t=u();await t.login({onDeviceCode:(i,y)=>{console.log(`
1
+ import{b as h}from"./chunk-S6KFKBMY.js";import{f as c}from"./chunk-7BUC7A7V.js";import{a as d,d as e}from"./chunk-6TTEDYLD.js";import{b as l,c as r,d as f,g as m,j as p}from"./chunk-D7WXNA2O.js";import{c as u}from"./chunk-J3MAV7JB.js";import{h as g,r as s}from"./chunk-F4AGJWCK.js";var o=p("login","oauth");async function O(w={}){l(o);let a=h(w);try{let t=u();await t.login({onDeviceCode:(i,y)=>{console.log(`
2
2
  Your confirmation code: ${i}
3
3
  `),console.log(`If browser doesn't open, visit: ${y}`)},onWaiting:()=>console.log(`
4
4
  Waiting for authentication...`)}),await s();let n=await t.getOrganizations();if(n.length>0){let i=n[0];await g(i.id),a==="json"&&console.log(JSON.stringify({action:"logged_in"})),r(o,{org:i.name}),e(o),n.length>1&&m(o,{count:n.length})}else a==="json"&&console.log(JSON.stringify({action:"logged_in"})),r(o,{org:"none"}),e(o);c()}catch(t){f(o),d(t,o)}}var j=O;export{O as a,j as b};
@@ -1,2 +1,2 @@
1
- import{a as o,d as a}from"./chunk-R3KHIAWP.js";import{b as i}from"./chunk-IIF5VLQ7.js";import{c as r}from"./chunk-J3MAV7JB.js";import{i as n,p as s}from"./chunk-F4AGJWCK.js";async function d(e){s()!=="oauth"&&i(e,`This operation requires OAuth login.
1
+ import{a as o,d as a}from"./chunk-5AGM4LUA.js";import{b as i}from"./chunk-6TTEDYLD.js";import{c as r}from"./chunk-J3MAV7JB.js";import{i as n,p as s}from"./chunk-F4AGJWCK.js";async function d(e){s()!=="oauth"&&i(e,`This operation requires OAuth login.
2
2
  Run "tigris login oauth" first.`);let t=r();await t.isAuthenticated()||i(e,'Not authenticated. Run "tigris login oauth" first.');let c=n(),{iamEndpoint:g,mgmtEndpoint:u}=o();return{sessionToken:await t.getAccessToken(),organizationId:c??void 0,iamEndpoint:g,mgmtEndpoint:u}}async function A(e){let t=await a();switch(t.type){case"oauth":return d(e);case"aws-profile":case"credentials":case"environment":case"configured":return{accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,organizationId:n()??void 0,iamEndpoint:o().iamEndpoint};case"none":i(e,'Not authenticated. Run "tigris login" or "tigris configure" first.')}}export{d as a,A as b};
@@ -1 +1 @@
1
- import{a as n}from"./chunk-S77OAN6Y.js";import{b as s}from"./chunk-IIF5VLQ7.js";import{e as o}from"./chunk-D7WXNA2O.js";import m from"enquirer";import{listPolicies as f}from"@tigrisdata/iam";var{prompt:p}=m;async function h(a,t,c="Select a policy:"){let{data:e,error:r}=await f({config:a});if(r&&s(t,r),!e.policies||e.policies.length===0){o(t);return}n("Provide the policy ARN as a positional argument");let{selected:l}=await p({type:"select",name:"selected",message:c,choices:e.policies.map(i=>({name:i.resource,message:`${i.name} (${i.resource})`}))});return l}export{h as a};
1
+ import{a as n}from"./chunk-S77OAN6Y.js";import{b as s}from"./chunk-6TTEDYLD.js";import{e as o}from"./chunk-D7WXNA2O.js";import m from"enquirer";import{listPolicies as f}from"@tigrisdata/iam";var{prompt:p}=m;async function h(a,t,c="Select a policy:"){let{data:e,error:r}=await f({config:a});if(r&&s(t,r),!e.policies||e.policies.length===0){o(t);return}n("Provide the policy ARN as a positional argument");let{selected:l}=await p({type:"select",name:"selected",message:c,choices:e.policies.map(i=>({name:i.resource,message:`${i.name} (${i.resource})`}))});return l}export{h as a};
@@ -0,0 +1 @@
1
+ import{a as l}from"./chunk-AFM3TY2D.js";import{b as r}from"./chunk-N3Y6RFSK.js";function a(e){if(e.storageClass)return e.days!==void 0?`${e.storageClass} after ${e.days}d`:e.date!==void 0?`${e.storageClass} on ${e.date}`:e.storageClass}function f(e){if(e.expiration){if(e.expiration.days!==void 0)return`${e.expiration.days}d`;if(e.expiration.date!==void 0)return e.expiration.date}}function u(e){let i=[],t=a(e);t&&i.push(t);let s=f(e);s&&i.push(e.expiration?.days!==void 0?`expire after ${s}`:`expire on ${s}`);let n=[];e.filter?.prefix&&n.push(`prefix=${e.filter.prefix}`),e.enabled===!1&&n.push("disabled");let o=i.join(", ");return n.length>0?`${o} (${n.join(", ")})`:o}function p(e){let i=[{label:"Number of Objects",value:e.sizeInfo.numberOfObjects?.toString()??"N/A"},{label:"Total Size",value:e.sizeInfo.size!==void 0?l(e.sizeInfo.size):"N/A"},{label:"All Versions Count",value:e.sizeInfo.numberOfObjectsAllVersions?.toString()??"N/A"},{label:"Default Tier",value:e.settings.defaultTier},{label:"Locations",value:r(e.locations)},{label:"Snapshots Enabled",value:e.isSnapshotEnabled?"Yes":"No"},{label:"Delete Protection",value:e.settings.deleteProtection?"Yes":"No"},{label:"Soft Delete",value:e.settings.softDelete.enabled?`Enabled (${e.settings.softDelete.retentionDays} day retention)`:"Disabled"},{label:"Allow Object ACL",value:e.settings.allowObjectAcl?"Yes":"No"},{label:"Custom Domain",value:e.settings.customDomain??"None"},{label:"Has Forks",value:e.forkInfo?.hasChildren?"Yes":"No"}];e.forkInfo?.parents?.length&&(i.push({label:"Forked From",value:e.forkInfo.parents[0].bucketName}),i.push({label:"Fork Snapshot",value:e.forkInfo.parents[0].snapshot})),e.settings.lifecycleRules?.length&&i.push({label:"Lifecycle Rules",value:e.settings.lifecycleRules.map(n=>u(n)).join(", ")}),e.settings.additionalHeaders&&i.push({label:"Additional Headers",value:Object.entries(e.settings.additionalHeaders).map(([n,o])=>`${n}: ${o}`).join(", ")}),e.settings.corsRules.length&&i.push({label:"CORS Rules",value:`${e.settings.corsRules.length} rule(s)`});let t=e.settings.shares,s=[...t.organization?[`Everyone in organization (${t.organization.role})`]:[],...t.team.map(n=>`${n.teamId} (${n.role})`),...t.user.map(n=>`${n.userId} (${n.role})`)];return s.length&&i.push({label:"Shared With",value:s.join(", ")}),e.settings.notifications&&i.push({label:"Notifications",value:e.settings.notifications.enabled!==!1?"Enabled":"Disabled"}),e.settings.dataMigration&&i.push({label:"Data Migration",value:e.settings.dataMigration.endpoint?`${e.settings.dataMigration.name??"N/A"} (${e.settings.dataMigration.endpoint})`:e.settings.dataMigration.name??"Configured"}),i}export{a,f as b,p as c};
@@ -0,0 +1,8 @@
1
+ import{b as g}from"./chunk-G4OJTPSI.js";import{a as p}from"./chunk-Z54TMLIH.js";import{d as m,e as f,f as d,g as h}from"./chunk-QPUL2AAI.js";import{mkdirSync as I,readFileSync as S,writeFileSync as U}from"fs";import b from"https";import{homedir as C}from"os";import{join as N}from"path";var _=N(C(),".tigris","update-check.json");function E(){try{let r=S(_,"utf-8"),o=JSON.parse(r);return typeof o.latestVersion=="string"&&typeof o.lastChecked=="number"?o:null}catch{return null}}function T(r){try{I(N(C(),".tigris"),{recursive:!0}),U(_,JSON.stringify(r),"utf-8")}catch{}}function w(r,o){let i=s=>{let n=s.startsWith("v")?s.slice(1):s,c=null,a=n.indexOf("-");a!==-1&&(c=n.slice(a+1),n=n.slice(0,a));let l=n.split(".");if(l.length!==3)return null;let u=l.map(Number);return u.some(Number.isNaN)?null:{major:u[0],minor:u[1],patch:u[2],prerelease:c}},t=i(r),e=i(o);return!t||!e?!1:e.major>t.major?!0:e.major<t.major?!1:e.minor>t.minor?!0:e.minor<t.minor?!1:e.patch>t.patch?!0:e.patch<t.patch?!1:t.prerelease&&!e.prerelease?!0:(!t.prerelease&&e.prerelease,!1)}function D(){switch(g()){case"npm":return"npm install -g @tigrisdata/cli";case"homebrew":return"brew upgrade tigris";default:return process.platform==="win32"?`irm ${f}/install.ps1 | iex`:`curl -fsSL ${f}/install.sh | sh`}}function y(r={}){return new Promise((o,i)=>{let t=b.get(m,{timeout:1e4},e=>{let s="";e.on("data",n=>{s+=n}),e.on("end",()=>{try{let n=JSON.parse(s);typeof n.version=="string"?(T({...E(),latestVersion:n.version,lastChecked:Date.now()}),o(n.version)):i(new Error("Unexpected registry response"))}catch{i(new Error("Failed to parse registry response"))}})});t.on("error",e=>{i(e)}),t.on("timeout",()=>{t.destroy(),i(new Error("Request timed out"))}),r.unref&&t.on("socket",e=>{e.unref()}),t.end()})}function k(){y({unref:!0}).catch(()=>{})}function M(){if(process.env.TIGRIS_NO_UPDATE_CHECK==="1"||!process.stdout.isTTY)return;let r=E(),o=Number(process.env.TIGRIS_UPDATE_NOTIFY_INTERVAL_MS)||36e5;if(r&&w(p,r.latestVersion)&&(!r.lastNotified||Date.now()-r.lastNotified>o)){let t=`Update available: ${p} \u2192 ${r.latestVersion}`,e='Run "tigris update" to upgrade.',s=Math.max(t.length,e.length)+4,n=`\u250C${"\u2500".repeat(s-2)}\u2510`,c=`\u2514${"\u2500".repeat(s-2)}\u2518`,a=l=>`\u2502 ${l.padEnd(s-4)} \u2502`;console.log(`
2
+ ${n}
3
+ ${a("")}
4
+ ${a(t)}
5
+ ${a(e)}
6
+ ${a("")}
7
+ ${c}
8
+ `),T({...r,lastNotified:Date.now()})}let i=Number(process.env.TIGRIS_UPDATE_CHECK_INTERVAL_MS)||216e5;(!r||Date.now()-r.lastChecked>i)&&k()}export{E as a,w as b,D as c,y as d,M as e};
@@ -1 +1 @@
1
- import{b as n}from"./chunk-IIF5VLQ7.js";function o(s,e){if(e===void 0)return;let t=(Array.isArray(e)?e:[e]).map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0);return t.length===0&&n(s,"--members requires at least one email address"),t}export{o as a};
1
+ import{b as n}from"./chunk-6TTEDYLD.js";function o(s,e){if(e===void 0)return;let t=(Array.isArray(e)?e:[e]).map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0);return t.length===0&&n(s,"--members requires at least one email address"),t}export{o as a};
@@ -0,0 +1 @@
1
+ var t="https://t3.storage.dev",o="https://iam.storageapi.dev",s="https://mgmt.storageapi.dev",e="https://registry.npmjs.org/@tigrisdata/cli/latest",p="https://get.t3.storage.dev",_=216e5,r=36e5,T="TIGRIS_NO_BANNER",E="https://c3a84c6a2811c557d70e42412cda4ffa@o4507410155896832.ingest.us.sentry.io/4511767771545600",N="phc_6a2zd9w9hGzIqYl527bL4dXk3Wz8J9pEHyXTwP1hHq4",c="https://ph.tigrisdata.com";export{t as a,o as b,s as c,e as d,p as e,_ as f,r as g,T as h,E as i,N as j,c as k};
@@ -1,4 +1,4 @@
1
- import{e as x}from"./chunk-ZTZF3OHU.js";import{a as S}from"./chunk-IIF5VLQ7.js";import{h as C}from"./chunk-D7WXNA2O.js";import{c as b,d as k,e as E}from"./chunk-RDJQLQQY.js";import{b as v}from"./chunk-DV3LCXRH.js";import{Command as V,Option as H}from"commander";function y(n,o,e,a,t){let r=n[n.length-1],i=typeof r=="object"&&r!==null&&"args"in r?r.args:n.filter(m=>typeof m=="string");if(i.length===0)return i;let l=i[0],d=(o.commands??[]).filter(m=>g(m,[...e,m.name],t));if(!new Set(d.flatMap(m=>[m.name,...Array.isArray(m.alias)?m.alias:m.alias?[m.alias]:[]])).has(l)){let m=d.map(u=>u.name),p=e.length>0?`'${l}' for '${e.join(" ")}'`:`'${l}'`;console.error(`Unknown command ${p}.`),m.length>0&&console.error(`Available commands: ${m.join(", ")}`);let f=e.length>0?`${a.name} ${e.join(" ")} help`:`${a.name} help`;console.error(`
1
+ import{e as x}from"./chunk-7BUC7A7V.js";import{a as S}from"./chunk-6TTEDYLD.js";import{h as C}from"./chunk-D7WXNA2O.js";import{c as b,d as k,e as E}from"./chunk-7Q44GQ2Y.js";import{b as v}from"./chunk-DV3LCXRH.js";import{Command as V,Option as H}from"commander";function y(n,o,e,a,t){let r=n[n.length-1],i=typeof r=="object"&&r!==null&&"args"in r?r.args:n.filter(m=>typeof m=="string");if(i.length===0)return i;let l=i[0],d=(o.commands??[]).filter(m=>g(m,[...e,m.name],t));if(!new Set(d.flatMap(m=>[m.name,...Array.isArray(m.alias)?m.alias:m.alias?[m.alias]:[]])).has(l)){let m=d.map(u=>u.name),p=e.length>0?`'${l}' for '${e.join(" ")}'`:`'${l}'`;console.error(`Unknown command ${p}.`),m.length>0&&console.error(`Available commands: ${m.join(", ")}`);let f=e.length>0?`${a.name} ${e.join(" ")} help`:`${a.name} help`;console.error(`
2
2
  Run "${f}" for usage.`),process.exit(1)}return i}function Z(){b();let n=!1,o=async e=>{n&&process.exit(1),n=!0,k(e,{crash:!0,exitCode:v(e).exitCode}),await E(),S(e,void 0,{skipCapture:!0})};process.on("unhandledRejection",e=>{(e===""||e===void 0)&&(console.error(`
3
3
  Operation cancelled`),process.exit(1)),o(e)}),process.on("uncaughtException",e=>{o(e)})}function T(n){return/^[a-zA-Z0-9_-]+$/.test(n)}function W(n){let o;n.type==="positional"?o=` ${n.name}`:(o=` --${n.name}`,n.alias&&typeof n.alias=="string"&&(o+=n.alias.length===1?`, -${n.alias}`:`, --${n.alias}`));let e=26,a=o.length>=e?`${o} `:o.padEnd(e),t=n.description;return n.options&&(Array.isArray(n.options)&&typeof n.options[0]=="string"?t+=` (options: ${n.options.join(", ")})`:t+=` (options: ${n.options.map(r=>r.value).join(", ")})`),n.default&&(t+=` [default: ${n.default}]`),n.required&&(t+=" [required]"),n.deprecated&&(t+=n.replaced_by?` [deprecated: use ${n.replaced_by}]`:" [deprecated]"),n["required-when"]&&(t+=` [required when: ${n["required-when"]}]`),n.multiple&&(t+=" [multiple values: comma-separated]"),n.type==="positional"&&(t+=" [positional argument]"),n.examples&&n.examples.length>0&&(t+=` (examples: ${n.examples.join(", ")})`),`${a}${t}`}function g(n,o,e){return n.removed||e(o)?!0:n.commands?n.commands.some(a=>g(a,[...o,a.name],e)):!1}function D(n,o){let e=o?` Use ${o} instead.`:" See the changelog for migration guidance.";console.error(`${n} was removed in this version.${e}`),process.exit(1)}function j(n,o){if(n)for(let e of n){if(!e.removed)continue;h(o,e.name,n)!==void 0&&D(`--${e.name}`,e.replaced_by)}}function I(n,o,e,a){let t=e.join(" ");if(console.log(`
4
4
  ${n.name} ${t} - ${o.description??""}
@@ -1 +1 @@
1
- import{a as K}from"./chunk-S77OAN6Y.js";import{a as w}from"./chunk-R3KHIAWP.js";import{b as S}from"./chunk-S6KFKBMY.js";import{b as u,d as l}from"./chunk-IIF5VLQ7.js";import{b as f,c as y,j as p}from"./chunk-D7WXNA2O.js";import{a as i}from"./chunk-V6JZFDRE.js";import{l as n,n as o,o as d,q as m,s as g}from"./chunk-F4AGJWCK.js";import C from"enquirer";import{whoami as k}from"@tigrisdata/iam";var{prompt:I}=C,a=p("login","credentials");async function q(e){f(a);let A=S(e),s=e["access-key"]||e.accessKey||e.key||e.Key||e.accesskey,r=e["access-secret"]||e.accessSecret||e.secret||e.Secret||e.accesssecret;if(!s||!r){let t=[];s||t.push({type:"input",name:"accessKey",message:"Access Key ID:",required:!0}),r||t.push({type:"password",name:"accessSecret",message:"Secret Access Key:",required:!0}),K("Provide --access-key and --access-secret");let c=await I(t);s=s||c.accessKey,r=r||c.accessSecret}(!s||!r)&&u(a,"Access key and secret are required");let h=n()?.endpoint||i;await o({accessKeyId:s,secretAccessKey:r,endpoint:h}),await d("credentials"),await g();try{let t=w(),{data:c}=await k({config:{accessKeyId:s,secretAccessKey:r,iamEndpoint:t.iamEndpoint}});c?.organizationId&&await m(c.organizationId,"temporary")}catch{}A==="json"&&console.log(JSON.stringify({action:"logged_in"})),y(a),l(a)}export{q as a};
1
+ import{a as K}from"./chunk-S77OAN6Y.js";import{a as w}from"./chunk-5AGM4LUA.js";import{b as S}from"./chunk-S6KFKBMY.js";import{b as u,d as l}from"./chunk-6TTEDYLD.js";import{b as f,c as y,j as p}from"./chunk-D7WXNA2O.js";import{a as i}from"./chunk-QPUL2AAI.js";import{l as n,n as o,o as d,q as m,s as g}from"./chunk-F4AGJWCK.js";import C from"enquirer";import{whoami as k}from"@tigrisdata/iam";var{prompt:I}=C,a=p("login","credentials");async function q(e){f(a);let A=S(e),s=e["access-key"]||e.accessKey||e.key||e.Key||e.accesskey,r=e["access-secret"]||e.accessSecret||e.secret||e.Secret||e.accesssecret;if(!s||!r){let t=[];s||t.push({type:"input",name:"accessKey",message:"Access Key ID:",required:!0}),r||t.push({type:"password",name:"accessSecret",message:"Secret Access Key:",required:!0}),K("Provide --access-key and --access-secret");let c=await I(t);s=s||c.accessKey,r=r||c.accessSecret}(!s||!r)&&u(a,"Access key and secret are required");let h=n()?.endpoint||i;await o({accessKeyId:s,secretAccessKey:r,endpoint:h}),await d("credentials"),await g();try{let t=w(),{data:c}=await k({config:{accessKeyId:s,secretAccessKey:r,iamEndpoint:t.iamEndpoint}});c?.organizationId&&await m(c.organizationId,"temporary")}catch{}A==="json"&&console.log(JSON.stringify({action:"logged_in"})),y(a),l(a)}export{q as a};
@@ -0,0 +1 @@
1
+ var e="3.11.0";export{e as a};
@@ -1 +1 @@
1
- import{e as l}from"./chunk-76VFN2EJ.js";import{a as m,k as s}from"./chunk-CEEDWOY2.js";import{b as i}from"./chunk-NI4EYBQH.js";import{a as t}from"./chunk-RH6Z22EN.js";import{existsSync as c}from"fs";import{dirname as u,join as a}from"path";import{fileURLToPath as f}from"url";m();var j=f(import.meta.url),d=u(j),h=i(),y=o=>{if(o.length===0)return!1;let e=`${a(d,"lib",...o)}.js`;if(c(e))return!0;let r=a(d,"lib",...o,"index.js");return!!c(r)},b=async o=>{let e=[`./lib/${o.join("/")}.js`,`./lib/${o.join("/")}/index.js`];for(let p of e){let n=await import(p).catch(()=>null);if(n)return{module:n,error:null}}return{module:null,error:`Command not found: ${o.join(" ")}`}},x=s({specs:h,version:t,loadModule:b,hasImplementation:y});x.parse();l();
1
+ import{e as l}from"./chunk-KJXUEGXY.js";import{a as m,k as s}from"./chunk-TVH7NCXE.js";import{b as i}from"./chunk-NI4EYBQH.js";import{a as t}from"./chunk-Z54TMLIH.js";import{existsSync as c}from"fs";import{dirname as u,join as a}from"path";import{fileURLToPath as f}from"url";m();var j=f(import.meta.url),d=u(j),h=i(),y=o=>{if(o.length===0)return!1;let e=`${a(d,"lib",...o)}.js`;if(c(e))return!0;let r=a(d,"lib",...o,"index.js");return!!c(r)},b=async o=>{let e=[`./lib/${o.join("/")}.js`,`./lib/${o.join("/")}/index.js`];for(let p of e){let n=await import(p).catch(()=>null);if(n)return{module:n,error:null}}return{module:null,error:`Command not found: ${o.join(" ")}`}},x=s({specs:h,version:t,loadModule:b,hasImplementation:y});x.parse();l();
package/dist/cli-core.js CHANGED
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-CEEDWOY2.js";import"./chunk-ZTZF3OHU.js";import"./chunk-G4OJTPSI.js";import"./chunk-IIF5VLQ7.js";import"./chunk-D7WXNA2O.js";import"./chunk-NI4EYBQH.js";import"./chunk-RDJQLQQY.js";import"./chunk-DV3LCXRH.js";import"./chunk-RH6Z22EN.js";import"./chunk-BMWWPXMU.js";import"./chunk-APJUJ6TW.js";import"./chunk-V6JZFDRE.js";export{g as addArgumentsToCommand,d as commandHasAnyImplementation,k as createProgram,i as extractArgumentValues,c as formatArgumentHelp,b as isValidCommandName,j as registerCommands,a as setupErrorHandlers,e as showCommandHelp,f as showMainHelp,h as validateRequiredWhen};
1
+ import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-TVH7NCXE.js";import"./chunk-7BUC7A7V.js";import"./chunk-G4OJTPSI.js";import"./chunk-6TTEDYLD.js";import"./chunk-D7WXNA2O.js";import"./chunk-NI4EYBQH.js";import"./chunk-7Q44GQ2Y.js";import"./chunk-DV3LCXRH.js";import"./chunk-Z54TMLIH.js";import"./chunk-BMWWPXMU.js";import"./chunk-APJUJ6TW.js";import"./chunk-QPUL2AAI.js";export{g as addArgumentsToCommand,d as commandHasAnyImplementation,k as createProgram,i as extractArgumentValues,c as formatArgumentHelp,b as isValidCommandName,j as registerCommands,a as setupErrorHandlers,e as showCommandHelp,f as showMainHelp,h as validateRequiredWhen};
package/dist/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import"./chunk-PNRZDYCK.js";import"./chunk-76VFN2EJ.js";import"./chunk-CEEDWOY2.js";import"./chunk-ZTZF3OHU.js";import"./chunk-G4OJTPSI.js";import"./chunk-IIF5VLQ7.js";import"./chunk-D7WXNA2O.js";import"./chunk-NI4EYBQH.js";import"./chunk-RDJQLQQY.js";import"./chunk-DV3LCXRH.js";import"./chunk-RH6Z22EN.js";import"./chunk-BMWWPXMU.js";import"./chunk-APJUJ6TW.js";import"./chunk-V6JZFDRE.js";
2
+ import"./chunk-Z5DYQHN2.js";import"./chunk-KJXUEGXY.js";import"./chunk-TVH7NCXE.js";import"./chunk-7BUC7A7V.js";import"./chunk-G4OJTPSI.js";import"./chunk-6TTEDYLD.js";import"./chunk-D7WXNA2O.js";import"./chunk-NI4EYBQH.js";import"./chunk-7Q44GQ2Y.js";import"./chunk-DV3LCXRH.js";import"./chunk-Z54TMLIH.js";import"./chunk-BMWWPXMU.js";import"./chunk-APJUJ6TW.js";import"./chunk-QPUL2AAI.js";
package/dist/constants.js CHANGED
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j}from"./chunk-V6JZFDRE.js";export{b as DEFAULT_IAM_ENDPOINT,c as DEFAULT_MGMT_ENDPOINT,a as DEFAULT_STORAGE_ENDPOINT,g as NO_BANNER_ENV,d as NPM_REGISTRY_URL,j as POSTHOG_HOST,i as POSTHOG_KEY,h as SENTRY_DSN,e as UPDATE_CHECK_INTERVAL_MS,f as UPDATE_NOTIFY_INTERVAL_MS};
1
+ import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-QPUL2AAI.js";export{b as DEFAULT_IAM_ENDPOINT,c as DEFAULT_MGMT_ENDPOINT,a as DEFAULT_STORAGE_ENDPOINT,e as INSTALL_BASE_URL,h as NO_BANNER_ENV,d as NPM_REGISTRY_URL,k as POSTHOG_HOST,j as POSTHOG_KEY,i as SENTRY_DSN,f as UPDATE_CHECK_INTERVAL_MS,g as UPDATE_NOTIFY_INTERVAL_MS};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-PNRZDYCK.js";import"./chunk-76VFN2EJ.js";import"./chunk-CEEDWOY2.js";import"./chunk-ZTZF3OHU.js";import"./chunk-G4OJTPSI.js";import"./chunk-IIF5VLQ7.js";import"./chunk-D7WXNA2O.js";import"./chunk-NI4EYBQH.js";import"./chunk-RDJQLQQY.js";import"./chunk-DV3LCXRH.js";import"./chunk-RH6Z22EN.js";import"./chunk-BMWWPXMU.js";import"./chunk-APJUJ6TW.js";import"./chunk-V6JZFDRE.js";
1
+ import"./chunk-Z5DYQHN2.js";import"./chunk-KJXUEGXY.js";import"./chunk-TVH7NCXE.js";import"./chunk-7BUC7A7V.js";import"./chunk-G4OJTPSI.js";import"./chunk-6TTEDYLD.js";import"./chunk-D7WXNA2O.js";import"./chunk-NI4EYBQH.js";import"./chunk-7Q44GQ2Y.js";import"./chunk-DV3LCXRH.js";import"./chunk-Z54TMLIH.js";import"./chunk-BMWWPXMU.js";import"./chunk-APJUJ6TW.js";import"./chunk-QPUL2AAI.js";
@@ -1 +1 @@
1
- import{b as y}from"../../chunk-UZIIZW33.js";import"../../chunk-R3KHIAWP.js";import{a as s,b as h}from"../../chunk-S6KFKBMY.js";import{b as n,c as b,d as p}from"../../chunk-IIF5VLQ7.js";import{b as A,c as f,j as R}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{assignBucketRoles as x,revokeAllBucketRoles as w}from"@tigrisdata/iam";var e=R("access-keys","assign"),N=["Editor","ReadOnly","NamespaceAdmin"];function v(r){return r?Array.isArray(r)?r:[r]:[]}async function O(r){A(e);let g=h(r),i=s(r,["id"]),m=s(r,["admin"]),d=s(r,["revokeRoles","revoke-roles"]),l=v(s(r,["bucket","b"])),t=v(s(r,["role","r"]));i||n(e,"Access key ID is required"),m&&d&&n(e,"Cannot use --admin and --revoke-roles together");let u=await y(e);if(d){let{error:o}=await w(i,{config:u});o&&n(e,o),g==="json"&&console.log(JSON.stringify({action:"revoked",id:i})),f(e);return}let a;if(m)a=[{bucket:"*",role:"NamespaceAdmin"}];else{l.length===0&&n(e,"At least one bucket name is required (or use --admin or --revoke-roles)"),t.length===0&&n(e,"At least one role is required (or use --admin or --revoke-roles)");for(let o of t)N.includes(o)||n(e,`Invalid role "${o}". Valid roles are: ${N.join(", ")}`);t.length===1?a=l.map(o=>({bucket:o,role:t[0]})):t.length===l.length?a=l.map((o,c)=>({bucket:o,role:t[c]})):n(e,`Number of roles (${t.length}) must be 1 or match number of buckets (${l.length})`)}let{error:k}=await x(i,a,{config:u});if(k&&n(e,k),g==="json"){let o=b(e),c={action:"assigned",id:i,assignments:a};o.length>0&&(c.nextActions=o),console.log(JSON.stringify(c))}f(e),p(e)}export{O as default};
1
+ import{b as p}from"../../chunk-GZMEHP36.js";import"../../chunk-5AGM4LUA.js";import{a as r,b as h}from"../../chunk-S6KFKBMY.js";import{b as s,c as R,d as b}from"../../chunk-6TTEDYLD.js";import{b as A,c as f,j as y}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{ACCESS_KEY_ROLES as S,assignBucketRoles as x,revokeAllBucketRoles as N}from"@tigrisdata/iam";var e=y("access-keys","assign");function v(t){return t?Array.isArray(t)?t:[t]:[]}async function w(t){A(e);let g=h(t),i=r(t,["id"]),m=r(t,["admin"]),u=r(t,["revokeRoles","revoke-roles"]),c=v(r(t,["bucket","b"])),n=v(r(t,["role","r"]));i||s(e,"Access key ID is required"),m&&u&&s(e,"Cannot use --admin and --revoke-roles together");let d=await p(e);if(u){let{error:o}=await N(i,{config:d});o&&s(e,o),g==="json"&&console.log(JSON.stringify({action:"revoked",id:i})),f(e);return}let l;if(m)l=[{bucket:"*",role:"NamespaceAdmin"}];else{c.length===0&&s(e,"At least one bucket name is required (or use --admin or --revoke-roles)"),n.length===0&&s(e,"At least one role is required (or use --admin or --revoke-roles)");for(let o of n)S.includes(o)||s(e,`Invalid role "${o}". Valid roles are: ${S.join(", ")}`);n.length===1?l=c.map(o=>({bucket:o,role:n[0]})):n.length===c.length?l=c.map((o,a)=>({bucket:o,role:n[a]})):s(e,`Number of roles (${n.length}) must be 1 or match number of buckets (${c.length})`)}let{error:k}=await x(i,l,{config:d});if(k&&s(e,k),g==="json"){let o=R(e),a={action:"assigned",id:i,assignments:l};o.length>0&&(a.nextActions=o),console.log(JSON.stringify(a))}f(e),b(e)}export{w as default};
@@ -1 +1 @@
1
- import{b as u}from"../../chunk-UZIIZW33.js";import{a as d}from"../../chunk-S77OAN6Y.js";import"../../chunk-R3KHIAWP.js";import{a as l,b as h}from"../../chunk-S6KFKBMY.js";import{b as t}from"../../chunk-IIF5VLQ7.js";import{b as p,c as y,j as g}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import S from"enquirer";import{attachPolicyToAccessKey as N,listPolicies as R,listPoliciesForAccessKey as q}from"@tigrisdata/iam";var{prompt:k}=S,e=g("access-keys","attach-policy");async function v(s){p(e);let A=h(s),o=l(s,["id"]),r=l(s,["policyArn","policy-arn"]);o||t(e,"Access key ID is required");let c=await u(e);if(!r){d("Use --policy-arn to specify the policy ARN");let[a,n]=await Promise.all([R({config:c}),q(o,{config:c})]);a.error&&t(e,a.error),n.error&&t(e,n.error);let w=new Set(n.data.policies),f=a.data.policies.filter(i=>!w.has(i.name));f.length===0&&t(e,"No unassigned policies available. All policies are already attached to this access key.");let{selected:P}=await k({type:"select",name:"selected",message:"Select a policy to attach:",choices:f.map(i=>({name:i.resource,message:`${i.name} (${i.resource})`}))});r=P}let{error:m}=await N(o,r,{config:c});m&&t(e,m),A==="json"&&console.log(JSON.stringify({action:"attached",id:o,policyArn:r})),y(e)}export{v as default};
1
+ import{b as u}from"../../chunk-GZMEHP36.js";import{a as d}from"../../chunk-S77OAN6Y.js";import"../../chunk-5AGM4LUA.js";import{a as l,b as h}from"../../chunk-S6KFKBMY.js";import{b as t}from"../../chunk-6TTEDYLD.js";import{b as p,c as y,j as g}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import S from"enquirer";import{attachPolicyToAccessKey as N,listPolicies as R,listPoliciesForAccessKey as q}from"@tigrisdata/iam";var{prompt:k}=S,e=g("access-keys","attach-policy");async function v(s){p(e);let A=h(s),o=l(s,["id"]),r=l(s,["policyArn","policy-arn"]);o||t(e,"Access key ID is required");let c=await u(e);if(!r){d("Use --policy-arn to specify the policy ARN");let[a,n]=await Promise.all([R({config:c}),q(o,{config:c})]);a.error&&t(e,a.error),n.error&&t(e,n.error);let w=new Set(n.data.policies),f=a.data.policies.filter(i=>!w.has(i.name));f.length===0&&t(e,"No unassigned policies available. All policies are already attached to this access key.");let{selected:P}=await k({type:"select",name:"selected",message:"Select a policy to attach:",choices:f.map(i=>({name:i.resource,message:`${i.name} (${i.resource})`}))});r=P}let{error:m}=await N(o,r,{config:c});m&&t(e,m),A==="json"&&console.log(JSON.stringify({action:"attached",id:o,policyArn:r})),y(e)}export{v as default};
@@ -1 +1 @@
1
- import{b as u}from"../../chunk-UZIIZW33.js";import"../../chunk-R3KHIAWP.js";import{a as d,b as p}from"../../chunk-S6KFKBMY.js";import{b as o,c as g,d as f}from"../../chunk-IIF5VLQ7.js";import{b as a,c as m,j as l}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{createAccessKey as w}from"@tigrisdata/iam";var t=l("access-keys","create");async function x(n){a(t);let A=p(n),c=d(n,["name"]);c||o(t,"Access key name is required");let y=await u(t),{data:e,error:s}=await w(c,{config:y});if(s&&o(t,s),A==="json"){let r=g(t,{name:e.name,id:e.id}),i={action:"created",name:e.name,id:e.id,secret:e.secret};r.length>0&&(i.nextActions=r),console.log(JSON.stringify(i))}else console.log(` Name: ${e.name}`),console.log(` Access Key ID: ${e.id}`),console.log(` Secret Access Key: ${e.secret}`),console.log(""),console.log(" Save these credentials securely. The secret will not be shown again.");m(t),f(t,{name:e.name,id:e.id})}export{x as default};
1
+ import{b as u}from"../../chunk-GZMEHP36.js";import"../../chunk-5AGM4LUA.js";import{a as d,b as p}from"../../chunk-S6KFKBMY.js";import{b as o,c as g,d as f}from"../../chunk-6TTEDYLD.js";import{b as a,c as m,j as l}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{createAccessKey as w}from"@tigrisdata/iam";var t=l("access-keys","create");async function x(n){a(t);let A=p(n),c=d(n,["name"]);c||o(t,"Access key name is required");let y=await u(t),{data:e,error:s}=await w(c,{config:y});if(s&&o(t,s),A==="json"){let r=g(t,{name:e.name,id:e.id}),i={action:"created",name:e.name,id:e.id,secret:e.secret};r.length>0&&(i.nextActions=r),console.log(JSON.stringify(i))}else console.log(` Name: ${e.name}`),console.log(` Access Key ID: ${e.id}`),console.log(` Secret Access Key: ${e.secret}`),console.log(""),console.log(" Save these credentials securely. The secret will not be shown again.");m(t),f(t,{name:e.name,id:e.id})}export{x as default};
@@ -1 +1 @@
1
- import{b as g}from"../../chunk-UZIIZW33.js";import{a as m,b as a}from"../../chunk-S77OAN6Y.js";import"../../chunk-R3KHIAWP.js";import{a as i,b as d}from"../../chunk-S6KFKBMY.js";import{b as t}from"../../chunk-IIF5VLQ7.js";import{b as n,c as s,j as f}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{removeAccessKey as u}from"@tigrisdata/iam";var e=f("access-keys","delete");async function k(r){n(e);let l=d(r),o=i(r,["id"]),p=i(r,["yes","y","force"]);if(o||t(e,"Access key ID is required"),!p&&(m("Use --yes to skip confirmation"),!await a(`Delete access key '${o}'?`))){console.log("Aborted");return}let y=await g(e),{error:c}=await u(o,{config:y});c&&t(e,c),l==="json"&&console.log(JSON.stringify({action:"deleted",id:o})),s(e)}export{k as default};
1
+ import{b as g}from"../../chunk-GZMEHP36.js";import{a as m,b as a}from"../../chunk-S77OAN6Y.js";import"../../chunk-5AGM4LUA.js";import{a as i,b as d}from"../../chunk-S6KFKBMY.js";import{b as t}from"../../chunk-6TTEDYLD.js";import{b as n,c as s,j as f}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{removeAccessKey as u}from"@tigrisdata/iam";var e=f("access-keys","delete");async function k(r){n(e);let l=d(r),o=i(r,["id"]),p=i(r,["yes","y","force"]);if(o||t(e,"Access key ID is required"),!p&&(m("Use --yes to skip confirmation"),!await a(`Delete access key '${o}'?`))){console.log("Aborted");return}let y=await g(e),{error:c}=await u(o,{config:y});c&&t(e,c),l==="json"&&console.log(JSON.stringify({action:"deleted",id:o})),s(e)}export{k as default};
@@ -1 +1 @@
1
- import{b as A}from"../../chunk-UZIIZW33.js";import{a as m,b as h}from"../../chunk-S77OAN6Y.js";import"../../chunk-R3KHIAWP.js";import{a,b as u}from"../../chunk-S6KFKBMY.js";import{b as o}from"../../chunk-IIF5VLQ7.js";import{b as p,c as y,j as g}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import N from"enquirer";import{detachPolicyFromAccessKey as $,listPolicies as q,listPoliciesForAccessKey as F}from"@tigrisdata/iam";var{prompt:R}=N,e=g("access-keys","detach-policy");async function I(c){p(e);let w=u(c),t=a(c,["id"]),i=a(c,["policyArn","policy-arn"]),k=a(c,["yes","y","force"]);t||o(e,"Access key ID is required");let n=await A(e);if(!i){m("Use --policy-arn to specify the policy ARN");let[s,l]=await Promise.all([F(t,{config:n}),q({config:n})]);s.error&&o(e,s.error),l.error&&o(e,l.error);let P=new Set(s.data.policies),d=l.data.policies.filter(r=>P.has(r.name));d.length===0&&o(e,"No policies are attached to this access key.");let{selected:S}=await R({type:"select",name:"selected",message:"Select a policy to detach:",choices:d.map(r=>({name:r.resource,message:`${r.name} (${r.resource})`}))});i=S}if(!k&&(m("Use --yes to skip confirmation"),!await h(`Detach policy '${i}' from access key '${t}'?`))){console.log("Aborted");return}let{error:f}=await $(t,i,{config:n});f&&o(e,f),w==="json"&&console.log(JSON.stringify({action:"detached",id:t,policyArn:i})),y(e)}export{I as default};
1
+ import{b as A}from"../../chunk-GZMEHP36.js";import{a as m,b as h}from"../../chunk-S77OAN6Y.js";import"../../chunk-5AGM4LUA.js";import{a,b as u}from"../../chunk-S6KFKBMY.js";import{b as o}from"../../chunk-6TTEDYLD.js";import{b as p,c as y,j as g}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import N from"enquirer";import{detachPolicyFromAccessKey as $,listPolicies as q,listPoliciesForAccessKey as F}from"@tigrisdata/iam";var{prompt:R}=N,e=g("access-keys","detach-policy");async function I(c){p(e);let w=u(c),t=a(c,["id"]),i=a(c,["policyArn","policy-arn"]),k=a(c,["yes","y","force"]);t||o(e,"Access key ID is required");let n=await A(e);if(!i){m("Use --policy-arn to specify the policy ARN");let[s,l]=await Promise.all([F(t,{config:n}),q({config:n})]);s.error&&o(e,s.error),l.error&&o(e,l.error);let P=new Set(s.data.policies),d=l.data.policies.filter(r=>P.has(r.name));d.length===0&&o(e,"No policies are attached to this access key.");let{selected:S}=await R({type:"select",name:"selected",message:"Select a policy to detach:",choices:d.map(r=>({name:r.resource,message:`${r.name} (${r.resource})`}))});i=S}if(!k&&(m("Use --yes to skip confirmation"),!await h(`Detach policy '${i}' from access key '${t}'?`))){console.log("Aborted");return}let{error:f}=await $(t,i,{config:n});f&&o(e,f),w==="json"&&console.log(JSON.stringify({action:"detached",id:t,policyArn:i})),y(e)}export{I as default};
@@ -1 +1 @@
1
- import{b as m}from"../../chunk-UZIIZW33.js";import"../../chunk-R3KHIAWP.js";import{a,b as f}from"../../chunk-S6KFKBMY.js";import{b as t}from"../../chunk-IIF5VLQ7.js";import{b as c,c as l,j as g}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{getAccessKey as u}from"@tigrisdata/iam";var e=g("access-keys","get");async function $(s){c(e);let d=f(s),r=a(s,["id"]);r||t(e,"Access key ID is required");let p=await m(e),{data:o,error:n}=await u(r,{config:p});if(n&&t(e,n),d==="json")console.log(JSON.stringify(o));else if(console.log(` Name: ${o.name}`),console.log(` ID: ${o.id}`),console.log(` Status: ${o.status}`),console.log(` Created: ${o.createdAt}`),console.log(` Organization: ${o.organizationId}`),o.roles&&o.roles.length>0){console.log(" Roles:");for(let i of o.roles)console.log(` - ${i.bucket}: ${i.role}`)}else console.log(" Roles: None");l(e)}export{$ as default};
1
+ import{b as m}from"../../chunk-GZMEHP36.js";import"../../chunk-5AGM4LUA.js";import{a,b as f}from"../../chunk-S6KFKBMY.js";import{b as t}from"../../chunk-6TTEDYLD.js";import{b as c,c as l,j as g}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{getAccessKey as u}from"@tigrisdata/iam";var e=g("access-keys","get");async function $(s){c(e);let d=f(s),r=a(s,["id"]);r||t(e,"Access key ID is required");let p=await m(e),{data:o,error:n}=await u(r,{config:p});if(n&&t(e,n),d==="json")console.log(JSON.stringify(o));else if(console.log(` Name: ${o.name}`),console.log(` ID: ${o.id}`),console.log(` Status: ${o.status}`),console.log(` Created: ${o.createdAt}`),console.log(` Organization: ${o.organizationId}`),o.roles&&o.roles.length>0){console.log(" Roles:");for(let i of o.roles)console.log(` - ${i.bucket}: ${i.role}`)}else console.log(" Roles: None");l(e)}export{$ as default};
@@ -1 +1 @@
1
- import{b as P}from"../../chunk-UZIIZW33.js";import{g as A}from"../../chunk-AFM3TY2D.js";import"../../chunk-R3KHIAWP.js";import{a as y,b as k,c as h}from"../../chunk-S6KFKBMY.js";import{b as c}from"../../chunk-IIF5VLQ7.js";import{b as m,c as g,e as f,i as d,j as u}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{listPoliciesForAccessKey as E}from"@tigrisdata/iam";var i=u("access-keys","list-policies");async function F(o){m(i);let n=k(o),{limit:s,pageToken:r}=h(o),a=y(o,["id"]);a||c(i,"Access key ID is required");let T=await P(i),{data:t,error:p}=await E(a,{...s!==void 0?{limit:s}:{},...r?{paginationToken:r}:{},config:T});if(p&&c(i,p),!t.policies||t.policies.length===0){f(i);return}let e=t.policies.map(O=>({policy:O})),x=[{key:"policy",header:e.length>1?"Attached Policies":"Attached Policy"}],l=t.paginationToken||void 0,w=A(e,n,"policies","policy",x,{paginationToken:l});console.log(w),n!=="json"&&n!=="xml"&&d(l),g(i,{count:e.length})}export{F as default};
1
+ import{b as P}from"../../chunk-GZMEHP36.js";import{g as A}from"../../chunk-AFM3TY2D.js";import"../../chunk-5AGM4LUA.js";import{a as y,b as k,c as h}from"../../chunk-S6KFKBMY.js";import{b as c}from"../../chunk-6TTEDYLD.js";import{b as m,c as g,e as f,i as d,j as u}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{listPoliciesForAccessKey as E}from"@tigrisdata/iam";var i=u("access-keys","list-policies");async function F(o){m(i);let n=k(o),{limit:s,pageToken:r}=h(o),a=y(o,["id"]);a||c(i,"Access key ID is required");let T=await P(i),{data:t,error:p}=await E(a,{...s!==void 0?{limit:s}:{},...r?{paginationToken:r}:{},config:T});if(p&&c(i,p),!t.policies||t.policies.length===0){f(i);return}let e=t.policies.map(O=>({policy:O})),x=[{key:"policy",header:e.length>1?"Attached Policies":"Attached Policy"}],l=t.paginationToken||void 0,w=A(e,n,"policies","policy",x,{paginationToken:l});console.log(w),n!=="json"&&n!=="xml"&&d(l),g(i,{count:e.length})}export{F as default};
@@ -1 +1 @@
1
- import{b as h}from"../../chunk-UZIIZW33.js";import{g as T}from"../../chunk-AFM3TY2D.js";import"../../chunk-R3KHIAWP.js";import{b as k,c as y}from"../../chunk-S6KFKBMY.js";import{b as l}from"../../chunk-IIF5VLQ7.js";import{b as d,c as p,e as f,i as g,j as u}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{listAccessKeys as A}from"@tigrisdata/iam";var t=u("access-keys","list");async function P(a){d(t);let o=k(a),{limit:s,pageToken:i}=y(a),x=await h(t),{data:e,error:r}=await A({...s!==void 0?{limit:s}:{},...i?{paginationToken:i}:{},config:x});if(r&&l(t,r),!e.accessKeys||e.accessKeys.length===0){f(t);return}let c=e.accessKeys.map(n=>({name:n.name,id:n.id,status:n.status,created:n.createdAt})),K=[{key:"name",header:"Name"},{key:"id",header:"ID"},{key:"status",header:"Status"},{key:"created",header:"Created"}],m=e.paginationToken||void 0,w=T(c,o,"keys","key",K,{paginationToken:m});console.log(w),o!=="json"&&o!=="xml"&&g(m),p(t,{count:c.length})}export{P as default};
1
+ import{b as h}from"../../chunk-GZMEHP36.js";import{g as T}from"../../chunk-AFM3TY2D.js";import"../../chunk-5AGM4LUA.js";import{b as k,c as y}from"../../chunk-S6KFKBMY.js";import{b as l}from"../../chunk-6TTEDYLD.js";import{b as d,c as p,e as f,i as g,j as u}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{listAccessKeys as A}from"@tigrisdata/iam";var t=u("access-keys","list");async function P(a){d(t);let o=k(a),{limit:s,pageToken:i}=y(a),x=await h(t),{data:e,error:r}=await A({...s!==void 0?{limit:s}:{},...i?{paginationToken:i}:{},config:x});if(r&&l(t,r),!e.accessKeys||e.accessKeys.length===0){f(t);return}let c=e.accessKeys.map(n=>({name:n.name,id:n.id,status:n.status,created:n.createdAt})),K=[{key:"name",header:"Name"},{key:"id",header:"ID"},{key:"status",header:"Status"},{key:"created",header:"Created"}],m=e.paginationToken||void 0,w=T(c,o,"keys","key",K,{paginationToken:m});console.log(w),o!=="json"&&o!=="xml"&&g(m),p(t,{count:c.length})}export{P as default};
@@ -1 +1 @@
1
- import{b as w}from"../../chunk-UZIIZW33.js";import{a as u,b as y}from"../../chunk-S77OAN6Y.js";import"../../chunk-R3KHIAWP.js";import{a as i,b as p}from"../../chunk-S6KFKBMY.js";import{b as n,c as g,d as m}from"../../chunk-IIF5VLQ7.js";import{b as f,c as l,j as d}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{rotateAccessKey as k}from"@tigrisdata/iam";var e=d("access-keys","rotate");async function x(o){f(e);let A=p(o),r=i(o,["id"]),S=i(o,["yes","y","force"]);if(r||n(e,"Access key ID is required"),!S&&(u("Use --yes to skip confirmation"),!await y(`Rotate access key '${r}'? The current secret will be invalidated.`))){console.log("Aborted");return}let h=await w(e),{data:t,error:s}=await k(r,{config:h});if(s&&n(e,s),A==="json"){let c=g(e,{id:t.id}),a={action:"rotated",id:t.id,secret:t.newSecret};c.length>0&&(a.nextActions=c),console.log(JSON.stringify(a))}else console.log(` Access Key ID: ${t.id}`),console.log(` New Secret Access Key: ${t.newSecret}`),console.log(""),console.log(" Save these credentials securely. The secret will not be shown again.");l(e),m(e,{id:t.id})}export{x as default};
1
+ import{b as w}from"../../chunk-GZMEHP36.js";import{a as u,b as y}from"../../chunk-S77OAN6Y.js";import"../../chunk-5AGM4LUA.js";import{a as i,b as p}from"../../chunk-S6KFKBMY.js";import{b as n,c as g,d as m}from"../../chunk-6TTEDYLD.js";import{b as f,c as l,j as d}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-KJBSIIND.js";import"../../chunk-F4AGJWCK.js";import{rotateAccessKey as k}from"@tigrisdata/iam";var e=d("access-keys","rotate");async function x(o){f(e);let A=p(o),r=i(o,["id"]),S=i(o,["yes","y","force"]);if(r||n(e,"Access key ID is required"),!S&&(u("Use --yes to skip confirmation"),!await y(`Rotate access key '${r}'? The current secret will be invalidated.`))){console.log("Aborted");return}let h=await w(e),{data:t,error:s}=await k(r,{config:h});if(s&&n(e,s),A==="json"){let c=g(e,{id:t.id}),a={action:"rotated",id:t.id,secret:t.newSecret};c.length>0&&(a.nextActions=c),console.log(JSON.stringify(a))}else console.log(` Access Key ID: ${t.id}`),console.log(` New Secret Access Key: ${t.newSecret}`),console.log(""),console.log(" Save these credentials securely. The secret will not be shown again.");l(e),m(e,{id:t.id})}export{x as default};
@@ -1 +1 @@
1
- import{a as C,c as j}from"../../chunk-N3Y6RFSK.js";import{a as B}from"../../chunk-S77OAN6Y.js";import{e as T}from"../../chunk-R3KHIAWP.js";import{a as t,b as O}from"../../chunk-S6KFKBMY.js";import{b as i,c as x,d as D}from"../../chunk-IIF5VLQ7.js";import{b as w,c as v,j as L}from"../../chunk-D7WXNA2O.js";import{d as p,e as g}from"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{createBucket as E}from"@tigrisdata/storage";import F from"enquirer";var{prompt:J}=F,a=L("buckets","create");async function W(e){w(a);let q=O(e),s=t(e,["name"]),b=t(e,["public"])?"public":t(e,["access","a","A"]),d=t(e,["enable-snapshots","enableSnapshots","s","S"]),N=t(e,["allow-object-acl","allowObjectAcl"]),P=t(e,["enable-directory-listing","enableDirectoryListing"]),h=t(e,["default-tier","t","T"]),I=t(e,["locations","l","L"]),o=t(e,["fork-of","forkOf","fork"]),u=t(e,["source-snapshot","sourceSnapshot","source-snap"]),R=!s,S;if(R){B("Provide --name to skip interactive mode");let c=p("buckets","access","create"),n=g(c),f=n?.findIndex(r=>r.value===c?.default),y=p("buckets","default-tier","create"),A=g(y),m=A?.findIndex(r=>r.value===y?.default),l=await J([{type:"input",name:"name",message:"Bucket name:",required:!0},{type:"select",name:"access",message:"Access level:",choices:n||[],initial:f!==void 0&&f>=0?f:0},{type:"select",name:"defaultTier",message:"Default storage tier:",choices:A||[],initial:m!==void 0&&m>=0?m:0},{type:"confirm",name:"enableSnapshots",message:"Enable snapshots?",initial:!0}]);s=l.name,b=l.access,h=l.defaultTier,d=l.enableSnapshots;try{S=await C()}catch(r){i(a,r)}}s||i(a,"Bucket name is required"),u&&!o&&i(a,"--source-snapshot requires --fork-of");let{error:k}=await E(s,{defaultTier:h??"STANDARD",enableSnapshot:d===!0,allowObjectAcl:N===!0,enableDirectoryListing:P===!0,access:b??"private",locations:S??j(I??"global"),...o?{sourceBucketName:o}:{},...u?{sourceBucketSnapshot:u}:{},config:await T()});if(k&&i(a,k),q==="json"){let c=x(a,{name:s}),n={action:"created",name:s,...o?{forkOf:o}:{}};c.length>0&&(n.nextActions=c),console.log(JSON.stringify(n))}v(a,{name:s}),D(a,{name:s})}export{W as default};
1
+ import{a as C,c as j}from"../../chunk-N3Y6RFSK.js";import{a as B}from"../../chunk-S77OAN6Y.js";import{e as T}from"../../chunk-5AGM4LUA.js";import{a as t,b as O}from"../../chunk-S6KFKBMY.js";import{b as i,c as x,d as D}from"../../chunk-6TTEDYLD.js";import{b as w,c as v,j as L}from"../../chunk-D7WXNA2O.js";import{d as p,e as g}from"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{createBucket as E}from"@tigrisdata/storage";import F from"enquirer";var{prompt:J}=F,a=L("buckets","create");async function W(e){w(a);let q=O(e),s=t(e,["name"]),b=t(e,["public"])?"public":t(e,["access","a","A"]),d=t(e,["enable-snapshots","enableSnapshots","s","S"]),N=t(e,["allow-object-acl","allowObjectAcl"]),P=t(e,["enable-directory-listing","enableDirectoryListing"]),h=t(e,["default-tier","t","T"]),I=t(e,["locations","l","L"]),o=t(e,["fork-of","forkOf","fork"]),u=t(e,["source-snapshot","sourceSnapshot","source-snap"]),R=!s,S;if(R){B("Provide --name to skip interactive mode");let c=p("buckets","access","create"),n=g(c),f=n?.findIndex(r=>r.value===c?.default),y=p("buckets","default-tier","create"),A=g(y),m=A?.findIndex(r=>r.value===y?.default),l=await J([{type:"input",name:"name",message:"Bucket name:",required:!0},{type:"select",name:"access",message:"Access level:",choices:n||[],initial:f!==void 0&&f>=0?f:0},{type:"select",name:"defaultTier",message:"Default storage tier:",choices:A||[],initial:m!==void 0&&m>=0?m:0},{type:"confirm",name:"enableSnapshots",message:"Enable snapshots?",initial:!0}]);s=l.name,b=l.access,h=l.defaultTier,d=l.enableSnapshots;try{S=await C()}catch(r){i(a,r)}}s||i(a,"Bucket name is required"),u&&!o&&i(a,"--source-snapshot requires --fork-of");let{error:k}=await E(s,{defaultTier:h??"STANDARD",enableSnapshot:d===!0,allowObjectAcl:N===!0,enableDirectoryListing:P===!0,access:b??"private",locations:S??j(I??"global"),...o?{sourceBucketName:o}:{},...u?{sourceBucketSnapshot:u}:{},config:await T()});if(k&&i(a,k),q==="json"){let c=x(a,{name:s}),n={action:"created",name:s,...o?{forkOf:o}:{}};c.length>0&&(n.nextActions=c),console.log(JSON.stringify(n))}v(a,{name:s}),D(a,{name:s})}export{W as default};
@@ -1 +1 @@
1
- import{a as x,b as y}from"../../chunk-S77OAN6Y.js";import{e as b}from"../../chunk-R3KHIAWP.js";import{a as s,b as A}from"../../chunk-S6KFKBMY.js";import{a as p,b as d,c as k,d as h}from"../../chunk-IIF5VLQ7.js";import{b as f,c as g,d as u,j as l}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{removeBucket as N}from"@tigrisdata/storage";var e=l("buckets","delete");async function B(i){f(e);let w=A(i),o=s(i,["name"]),c=s(i,["yes","y","force"]);o||d(e,"Bucket name is required");let a=Array.isArray(o)?o:[o],S=await b();if(!c&&(x("Use --yes to skip confirmation"),!await y(`Delete ${a.length} bucket(s)?`))){console.log("Aborted");return}let m=[],n=[];for(let t of a){let{error:r}=await N(t,{config:S,force:c});r?(u(e,r.message,{name:t}),n.push({name:t,error:r.message})):(m.push(t),g(e,{name:t}))}if(w==="json"){let t=k(e),r={action:"deleted",names:m,errors:n};t.length>0&&(r.nextActions=t),console.log(JSON.stringify(r))}n.length>0&&p(n[0].error,e),h(e)}export{B as default};
1
+ import{a as x,b as y}from"../../chunk-S77OAN6Y.js";import{e as b}from"../../chunk-5AGM4LUA.js";import{a as s,b as A}from"../../chunk-S6KFKBMY.js";import{a as p,b as d,c as k,d as h}from"../../chunk-6TTEDYLD.js";import{b as f,c as g,d as u,j as l}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{removeBucket as N}from"@tigrisdata/storage";var e=l("buckets","delete");async function B(i){f(e);let w=A(i),o=s(i,["name"]),c=s(i,["yes","y","force"]);o||d(e,"Bucket name is required");let a=Array.isArray(o)?o:[o],S=await b();if(!c&&(x("Use --yes to skip confirmation"),!await y(`Delete ${a.length} bucket(s)?`))){console.log("Aborted");return}let m=[],n=[];for(let t of a){let{error:r}=await N(t,{config:S,force:c});r?(u(e,r.message,{name:t}),n.push({name:t,error:r.message})):(m.push(t),g(e,{name:t}))}if(w==="json"){let t=k(e),r={action:"deleted",names:m,errors:n};t.length>0&&(r.nextActions=t),console.log(JSON.stringify(r))}n.length>0&&p(n[0].error,e),h(e)}export{B as default};
@@ -1 +1 @@
1
- import{f as m}from"../../chunk-R3KHIAWP.js";import{a as f,b as c}from"../../chunk-S6KFKBMY.js";import{b as i}from"../../chunk-IIF5VLQ7.js";import{b as s,c as a,j as e}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{disableSnapshot as l}from"@tigrisdata/storage";var o=e("buckets","disable-snapshots");async function d(n){s(o);let g=c(n),t=f(n,["name"]);t||i(o,"Bucket name is required");let p=await m(),{error:r}=await l(t,{config:p});r&&i(o,r),g==="json"&&console.log(JSON.stringify({action:"snapshots-disabled",name:t})),a(o,{name:t})}export{d as default};
1
+ import{f as m}from"../../chunk-5AGM4LUA.js";import{a as f,b as c}from"../../chunk-S6KFKBMY.js";import{b as i}from"../../chunk-6TTEDYLD.js";import{b as s,c as a,j as e}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{disableSnapshot as l}from"@tigrisdata/storage";var o=e("buckets","disable-snapshots");async function d(n){s(o);let g=c(n),t=f(n,["name"]);t||i(o,"Bucket name is required");let p=await m(),{error:r}=await l(t,{config:p});r&&i(o,r),g==="json"&&console.log(JSON.stringify({action:"snapshots-disabled",name:t})),a(o,{name:t})}export{d as default};
@@ -1 +1 @@
1
- import{f as m}from"../../chunk-R3KHIAWP.js";import{a as f,b as c}from"../../chunk-S6KFKBMY.js";import{b as n}from"../../chunk-IIF5VLQ7.js";import{b as e,c as a,j as s}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{enableSnapshot as l}from"@tigrisdata/storage";var o=s("buckets","enable-snapshots");async function u(r){e(o);let g=c(r),t=f(r,["name"]);t||n(o,"Bucket name is required");let p=await m(),{error:i}=await l(t,{config:p});i&&n(o,i),g==="json"&&console.log(JSON.stringify({action:"snapshots-enabled",name:t})),a(o,{name:t})}export{u as default};
1
+ import{f as m}from"../../chunk-5AGM4LUA.js";import{a as f,b as c}from"../../chunk-S6KFKBMY.js";import{b as n}from"../../chunk-6TTEDYLD.js";import{b as e,c as a,j as s}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{enableSnapshot as l}from"@tigrisdata/storage";var o=s("buckets","enable-snapshots");async function u(r){e(o);let g=c(r),t=f(r,["name"]);t||n(o,"Bucket name is required");let p=await m(),{error:i}=await l(t,{config:p});i&&n(o,i),g==="json"&&console.log(JSON.stringify({action:"snapshots-enabled",name:t})),a(o,{name:t})}export{u as default};
@@ -1 +1 @@
1
- import{c as s}from"../../chunk-JNSFDQGG.js";import{f as u}from"../../chunk-AFM3TY2D.js";import"../../chunk-N3Y6RFSK.js";import"../../chunk-S77OAN6Y.js";import{e as f}from"../../chunk-R3KHIAWP.js";import{a as p,b as c}from"../../chunk-S6KFKBMY.js";import{b as o}from"../../chunk-IIF5VLQ7.js";import{b as a,c as i,j as m}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{getBucketInfo as h}from"@tigrisdata/storage";var t=m("buckets","get");async function w(e){a(t);let r=p(e,["name"]),g=c(e);r||o(t,"Bucket name is required");let{data:k,error:n}=await h(r,{config:await f()});n&&o(t,n);let l=[{property:"Name",value:r},...s(k).map(({label:d,value:b})=>({property:d,value:b}))],y=u(l,g,"bucket","property",[{key:"property",header:"Property"},{key:"value",header:"Value"}]);console.log(y),i(t)}export{w as default};
1
+ import{c as s}from"../../chunk-IUIKP2LU.js";import{f as u}from"../../chunk-AFM3TY2D.js";import"../../chunk-N3Y6RFSK.js";import"../../chunk-S77OAN6Y.js";import{e as f}from"../../chunk-5AGM4LUA.js";import{a as p,b as c}from"../../chunk-S6KFKBMY.js";import{b as o}from"../../chunk-6TTEDYLD.js";import{b as a,c as i,j as m}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{getBucketInfo as h}from"@tigrisdata/storage";var t=m("buckets","get");async function w(e){a(t);let r=p(e,["name"]),g=c(e);r||o(t,"Bucket name is required");let{data:k,error:n}=await h(r,{config:await f()});n&&o(t,n);let l=[{property:"Name",value:r},...s(k).map(({label:d,value:b})=>({property:d,value:b}))],y=u(l,g,"bucket","property",[{key:"property",header:"Property"},{key:"value",header:"Value"}]);console.log(y),i(t)}export{w as default};
@@ -1 +1 @@
1
- import{a as R,b as k,c as b,d as F,e as I,f as c,g as h}from"../../../chunk-HAYPV4J6.js";import"../../../chunk-JNSFDQGG.js";import"../../../chunk-AFM3TY2D.js";import"../../../chunk-N3Y6RFSK.js";import"../../../chunk-S77OAN6Y.js";import{f as y}from"../../../chunk-R3KHIAWP.js";import{a as x,b as w}from"../../../chunk-S6KFKBMY.js";import{b as n}from"../../../chunk-IIF5VLQ7.js";import{b as m,c as p,j as g}from"../../../chunk-D7WXNA2O.js";import"../../../chunk-NI4EYBQH.js";import"../../../chunk-RDJQLQQY.js";import"../../../chunk-DV3LCXRH.js";import"../../../chunk-RH6Z22EN.js";import"../../../chunk-BMWWPXMU.js";import"../../../chunk-APJUJ6TW.js";import"../../../chunk-V6JZFDRE.js";import"../../../chunk-J3MAV7JB.js";import"../../../chunk-F4AGJWCK.js";var t=g("buckets lifecycle","create");async function O(r){m(t);let C=w(r),i=x(r,["name"]);i||n(t,"Bucket name is required");let e=R(r),d=k(e);d&&n(t,d);let a=b(e),o=F(e);!a.storageClass&&!o&&n(t,"A new rule must include a transition (--storage-class with --days or --date) and/or an expiration (--expire-days or --expire-date)"),a.storageClass&&e.days===void 0&&e.date===void 0&&n(t,"--storage-class requires --days or --date for a new transition rule");let f=I(e),s=await y(),u=await c(t,i,s),S={...a,...o?{expiration:o}:{},...e.prefix!==void 0?{filter:{prefix:e.prefix}}:{},...f!==void 0?{enabled:f}:{}};await h(t,i,[...u,S],s);let l=(await c(t,i,s)).find(B=>!u.some(E=>E.id===B.id))?.id??"(unknown)";C==="json"&&console.log(JSON.stringify({action:"created",bucket:i,id:l})),p(t,{name:i,id:l})}export{O as default};
1
+ import{a as R,b as k,c as b,d as F,e as I,f as c,g as h}from"../../../chunk-5QNWWNPL.js";import"../../../chunk-IUIKP2LU.js";import"../../../chunk-AFM3TY2D.js";import"../../../chunk-N3Y6RFSK.js";import"../../../chunk-S77OAN6Y.js";import{f as y}from"../../../chunk-5AGM4LUA.js";import{a as x,b as w}from"../../../chunk-S6KFKBMY.js";import{b as n}from"../../../chunk-6TTEDYLD.js";import{b as m,c as p,j as g}from"../../../chunk-D7WXNA2O.js";import"../../../chunk-NI4EYBQH.js";import"../../../chunk-7Q44GQ2Y.js";import"../../../chunk-DV3LCXRH.js";import"../../../chunk-Z54TMLIH.js";import"../../../chunk-BMWWPXMU.js";import"../../../chunk-APJUJ6TW.js";import"../../../chunk-QPUL2AAI.js";import"../../../chunk-J3MAV7JB.js";import"../../../chunk-F4AGJWCK.js";var t=g("buckets lifecycle","create");async function O(r){m(t);let C=w(r),i=x(r,["name"]);i||n(t,"Bucket name is required");let e=R(r),d=k(e);d&&n(t,d);let a=b(e),o=F(e);!a.storageClass&&!o&&n(t,"A new rule must include a transition (--storage-class with --days or --date) and/or an expiration (--expire-days or --expire-date)"),a.storageClass&&e.days===void 0&&e.date===void 0&&n(t,"--storage-class requires --days or --date for a new transition rule");let f=I(e),s=await y(),u=await c(t,i,s),S={...a,...o?{expiration:o}:{},...e.prefix!==void 0?{filter:{prefix:e.prefix}}:{},...f!==void 0?{enabled:f}:{}};await h(t,i,[...u,S],s);let l=(await c(t,i,s)).find(B=>!u.some(E=>E.id===B.id))?.id??"(unknown)";C==="json"&&console.log(JSON.stringify({action:"created",bucket:i,id:l})),p(t,{name:i,id:l})}export{O as default};
@@ -1 +1 @@
1
- import{a as C,b as R,c as k,d as F,e as S,f as q,g as w}from"../../../chunk-HAYPV4J6.js";import"../../../chunk-JNSFDQGG.js";import"../../../chunk-AFM3TY2D.js";import"../../../chunk-N3Y6RFSK.js";import"../../../chunk-S77OAN6Y.js";import{f as b}from"../../../chunk-R3KHIAWP.js";import{a as c,b as x}from"../../../chunk-S6KFKBMY.js";import{b as t}from"../../../chunk-IIF5VLQ7.js";import{b as p,c as y,j as h}from"../../../chunk-D7WXNA2O.js";import"../../../chunk-NI4EYBQH.js";import"../../../chunk-RDJQLQQY.js";import"../../../chunk-DV3LCXRH.js";import"../../../chunk-RH6Z22EN.js";import"../../../chunk-BMWWPXMU.js";import"../../../chunk-APJUJ6TW.js";import"../../../chunk-V6JZFDRE.js";import"../../../chunk-J3MAV7JB.js";import"../../../chunk-F4AGJWCK.js";var i=h("buckets lifecycle","edit");async function E(o){p(i);let T=x(o),n=c(o,["name"]),s=c(o,["id"]);n||t(i,"Bucket name is required"),s||t(i,"Rule id is required");let e=C(o),l=R(e,{requireStorageClassForTiming:!1});l&&t(i,l);let d=k(e),f=F(e),u=S(e);d.storageClass!==void 0||d.days!==void 0||d.date!==void 0||f!==void 0||u!==void 0||e.prefix!==void 0||t(i,"Provide at least one field to change (--storage-class, --days, --date, --expire-days, --expire-date, --prefix, --enable, --disable)");let g=await b(),m=await q(i,n,g),r=m.find(a=>a.id===s);if(r||t(i,`No lifecycle rule with id "${s}" found. Run \`tigris buckets lifecycle list ${n}\` to see ids.`),e.storageClass!==void 0||e.days!==void 0||e.date!==void 0){let a=d.storageClass??r.storageClass,B=e.days!==void 0?Number(e.days):e.date!==void 0?void 0:r.days,D=e.date!==void 0?e.date:e.days!==void 0?void 0:r.date;a||t(i,"--storage-class is required (this rule has no existing transition target)"),B===void 0&&D===void 0&&t(i,"--days or --date is required (this rule has no existing transition timing)")}let I={...r,...d,...f?{expiration:f}:{},...e.prefix!==void 0?{filter:{prefix:e.prefix}}:{},...u!==void 0?{enabled:u}:{}},v=m.map(a=>a.id===s?I:a);await w(i,n,v,g),T==="json"&&console.log(JSON.stringify({action:"updated",bucket:n,id:s})),y(i,{name:n,id:s})}export{E as default};
1
+ import{a as C,b as R,c as k,d as F,e as S,f as q,g as w}from"../../../chunk-5QNWWNPL.js";import"../../../chunk-IUIKP2LU.js";import"../../../chunk-AFM3TY2D.js";import"../../../chunk-N3Y6RFSK.js";import"../../../chunk-S77OAN6Y.js";import{f as b}from"../../../chunk-5AGM4LUA.js";import{a as c,b as x}from"../../../chunk-S6KFKBMY.js";import{b as t}from"../../../chunk-6TTEDYLD.js";import{b as p,c as y,j as h}from"../../../chunk-D7WXNA2O.js";import"../../../chunk-NI4EYBQH.js";import"../../../chunk-7Q44GQ2Y.js";import"../../../chunk-DV3LCXRH.js";import"../../../chunk-Z54TMLIH.js";import"../../../chunk-BMWWPXMU.js";import"../../../chunk-APJUJ6TW.js";import"../../../chunk-QPUL2AAI.js";import"../../../chunk-J3MAV7JB.js";import"../../../chunk-F4AGJWCK.js";var i=h("buckets lifecycle","edit");async function E(o){p(i);let T=x(o),n=c(o,["name"]),s=c(o,["id"]);n||t(i,"Bucket name is required"),s||t(i,"Rule id is required");let e=C(o),l=R(e,{requireStorageClassForTiming:!1});l&&t(i,l);let d=k(e),f=F(e),u=S(e);d.storageClass!==void 0||d.days!==void 0||d.date!==void 0||f!==void 0||u!==void 0||e.prefix!==void 0||t(i,"Provide at least one field to change (--storage-class, --days, --date, --expire-days, --expire-date, --prefix, --enable, --disable)");let g=await b(),m=await q(i,n,g),r=m.find(a=>a.id===s);if(r||t(i,`No lifecycle rule with id "${s}" found. Run \`tigris buckets lifecycle list ${n}\` to see ids.`),e.storageClass!==void 0||e.days!==void 0||e.date!==void 0){let a=d.storageClass??r.storageClass,B=e.days!==void 0?Number(e.days):e.date!==void 0?void 0:r.days,D=e.date!==void 0?e.date:e.days!==void 0?void 0:r.date;a||t(i,"--storage-class is required (this rule has no existing transition target)"),B===void 0&&D===void 0&&t(i,"--days or --date is required (this rule has no existing transition timing)")}let I={...r,...d,...f?{expiration:f}:{},...e.prefix!==void 0?{filter:{prefix:e.prefix}}:{},...u!==void 0?{enabled:u}:{}},v=m.map(a=>a.id===s?I:a);await w(i,n,v,g),T==="json"&&console.log(JSON.stringify({action:"updated",bucket:n,id:s})),y(i,{name:n,id:s})}export{E as default};
@@ -1 +1 @@
1
- import{h,i as b}from"../../../chunk-HAYPV4J6.js";import"../../../chunk-JNSFDQGG.js";import{b as x,d as y,e as k}from"../../../chunk-AFM3TY2D.js";import"../../../chunk-N3Y6RFSK.js";import"../../../chunk-S77OAN6Y.js";import{e as g}from"../../../chunk-R3KHIAWP.js";import{a as u,b as d}from"../../../chunk-S6KFKBMY.js";import{b as r}from"../../../chunk-IIF5VLQ7.js";import{b as f,c as m,e as c,j as p}from"../../../chunk-D7WXNA2O.js";import"../../../chunk-NI4EYBQH.js";import"../../../chunk-RDJQLQQY.js";import"../../../chunk-DV3LCXRH.js";import"../../../chunk-RH6Z22EN.js";import"../../../chunk-BMWWPXMU.js";import"../../../chunk-APJUJ6TW.js";import"../../../chunk-V6JZFDRE.js";import"../../../chunk-J3MAV7JB.js";import"../../../chunk-F4AGJWCK.js";import{getBucketInfo as T}from"@tigrisdata/storage";var e=p("buckets lifecycle","list");async function w(n){f(e);let a=u(n,["name"]),s=d(n);a||r(e,"Bucket name is required");let{data:C,error:l}=await T(a,{config:await g()});l&&r(e,l);let o=C?.settings.lifecycleRules??[];if(o.length===0){c(e);return}let i=o.map(t=>({id:t.id??"-",prefix:t.filter?.prefix??"-",transition:h(t),expiration:b(t),status:t.enabled===!1?"disabled":"enabled"}));console.log(s==="json"?x(i):s==="xml"?y(i,"lifecycleRules","rule"):k(i,[{key:"id",header:"ID"},{key:"prefix",header:"Prefix"},{key:"transition",header:"Transition"},{key:"expiration",header:"Expiration"},{key:"status",header:"Status"}])),m(e,{count:o.length})}export{w as default};
1
+ import{h,i as b}from"../../../chunk-5QNWWNPL.js";import"../../../chunk-IUIKP2LU.js";import{b as x,d as y,e as k}from"../../../chunk-AFM3TY2D.js";import"../../../chunk-N3Y6RFSK.js";import"../../../chunk-S77OAN6Y.js";import{e as g}from"../../../chunk-5AGM4LUA.js";import{a as u,b as d}from"../../../chunk-S6KFKBMY.js";import{b as r}from"../../../chunk-6TTEDYLD.js";import{b as f,c as m,e as c,j as p}from"../../../chunk-D7WXNA2O.js";import"../../../chunk-NI4EYBQH.js";import"../../../chunk-7Q44GQ2Y.js";import"../../../chunk-DV3LCXRH.js";import"../../../chunk-Z54TMLIH.js";import"../../../chunk-BMWWPXMU.js";import"../../../chunk-APJUJ6TW.js";import"../../../chunk-QPUL2AAI.js";import"../../../chunk-J3MAV7JB.js";import"../../../chunk-F4AGJWCK.js";import{getBucketInfo as T}from"@tigrisdata/storage";var e=p("buckets lifecycle","list");async function w(n){f(e);let a=u(n,["name"]),s=d(n);a||r(e,"Bucket name is required");let{data:C,error:l}=await T(a,{config:await g()});l&&r(e,l);let o=C?.settings.lifecycleRules??[];if(o.length===0){c(e);return}let i=o.map(t=>({id:t.id??"-",prefix:t.filter?.prefix??"-",transition:h(t),expiration:b(t),status:t.enabled===!1?"disabled":"enabled"}));console.log(s==="json"?x(i):s==="xml"?y(i,"lifecycleRules","rule"):k(i,[{key:"id",header:"ID"},{key:"prefix",header:"Prefix"},{key:"transition",header:"Transition"},{key:"expiration",header:"Expiration"},{key:"status",header:"Status"}])),m(e,{count:o.length})}export{w as default};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i}from"../../../chunk-HAYPV4J6.js";import"../../../chunk-JNSFDQGG.js";import"../../../chunk-AFM3TY2D.js";import"../../../chunk-N3Y6RFSK.js";import"../../../chunk-S77OAN6Y.js";import"../../../chunk-S6KFKBMY.js";import"../../../chunk-IIF5VLQ7.js";import"../../../chunk-D7WXNA2O.js";import"../../../chunk-NI4EYBQH.js";import"../../../chunk-RDJQLQQY.js";import"../../../chunk-DV3LCXRH.js";import"../../../chunk-RH6Z22EN.js";import"../../../chunk-BMWWPXMU.js";import"../../../chunk-APJUJ6TW.js";import"../../../chunk-V6JZFDRE.js";export{e as enabledFromInput,d as expirationFromInput,f as fetchExistingRules,i as formatExpirationCell,h as formatTransitionCell,a as readRuleInput,g as submitRules,c as transitionDeltaFromInput,b as validateRuleFieldCombinations};
1
+ import{a,b,c,d,e,f,g,h,i}from"../../../chunk-5QNWWNPL.js";import"../../../chunk-IUIKP2LU.js";import"../../../chunk-AFM3TY2D.js";import"../../../chunk-N3Y6RFSK.js";import"../../../chunk-S77OAN6Y.js";import"../../../chunk-S6KFKBMY.js";import"../../../chunk-6TTEDYLD.js";import"../../../chunk-D7WXNA2O.js";import"../../../chunk-NI4EYBQH.js";import"../../../chunk-7Q44GQ2Y.js";import"../../../chunk-DV3LCXRH.js";import"../../../chunk-Z54TMLIH.js";import"../../../chunk-BMWWPXMU.js";import"../../../chunk-APJUJ6TW.js";import"../../../chunk-QPUL2AAI.js";export{e as enabledFromInput,d as expirationFromInput,f as fetchExistingRules,i as formatExpirationCell,h as formatTransitionCell,a as readRuleInput,g as submitRules,c as transitionDeltaFromInput,b as validateRuleFieldCombinations};
@@ -1 +1 @@
1
- import{g as l}from"../../chunk-AFM3TY2D.js";import{e as j}from"../../chunk-R3KHIAWP.js";import{a as g,b as P,c as S}from"../../chunk-S6KFKBMY.js";import{b as m}from"../../chunk-IIF5VLQ7.js";import{b as D,c as d,e as k,i as u,j as E}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{listBuckets as A,listForks as B}from"@tigrisdata/storage";var e=E("buckets","list");async function H(o){D(e);let n=P(o),s=g(o,["forks-of","forksOf"]),c=g(o,["deleted"]),{limit:r,pageToken:i}=S(o),p=await j();s&&c&&console.warn("\u26A0 --deleted is ignored when --forks-of is used; use --deleted on its own to list soft-deleted buckets");let b=[{key:"name",header:"Name"},{key:"created",header:"Created"}];if(s){let{data:t,error:x}=await B(s,{...r!==void 0?{limit:r}:{},...i?{paginationToken:i}:{},config:p});if(x&&m(e,x),!t.forks||t.forks.length===0){k(e);return}let f=[];for(let O of t.forks)f.push({name:O.name,created:O.creationDate});let y=t.paginationToken||void 0,F=l(f,n,"forks","fork",b,{paginationToken:y});console.log(F),n!=="json"&&n!=="xml"&&u(y),d(e,{count:f.length});return}let{data:a,error:h}=await A({...r!==void 0?{limit:r}:{},...i?{paginationToken:i}:{},...c?{deleted:c}:{},config:p});if(h&&m(e,h),!a.buckets||a.buckets.length===0){k(e);return}let T=a.buckets.map(t=>({name:t.name,created:t.creationDate})),w=a.paginationToken||void 0,C=l(T,n,"buckets","bucket",b,{paginationToken:w});console.log(C),n!=="json"&&n!=="xml"&&u(w),d(e,{count:T.length})}export{H as default};
1
+ import{g as l}from"../../chunk-AFM3TY2D.js";import{e as j}from"../../chunk-5AGM4LUA.js";import{a as g,b as P,c as S}from"../../chunk-S6KFKBMY.js";import{b as m}from"../../chunk-6TTEDYLD.js";import{b as D,c as d,e as k,i as u,j as E}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{listBuckets as A,listForks as B}from"@tigrisdata/storage";var e=E("buckets","list");async function H(o){D(e);let n=P(o),s=g(o,["forks-of","forksOf"]),c=g(o,["deleted"]),{limit:r,pageToken:i}=S(o),p=await j();s&&c&&console.warn("\u26A0 --deleted is ignored when --forks-of is used; use --deleted on its own to list soft-deleted buckets");let b=[{key:"name",header:"Name"},{key:"created",header:"Created"}];if(s){let{data:t,error:x}=await B(s,{...r!==void 0?{limit:r}:{},...i?{paginationToken:i}:{},config:p});if(x&&m(e,x),!t.forks||t.forks.length===0){k(e);return}let f=[];for(let O of t.forks)f.push({name:O.name,created:O.creationDate});let y=t.paginationToken||void 0,F=l(f,n,"forks","fork",b,{paginationToken:y});console.log(F),n!=="json"&&n!=="xml"&&u(y),d(e,{count:f.length});return}let{data:a,error:h}=await A({...r!==void 0?{limit:r}:{},...i?{paginationToken:i}:{},...c?{deleted:c}:{},config:p});if(h&&m(e,h),!a.buckets||a.buckets.length===0){k(e);return}let T=a.buckets.map(t=>({name:t.name,created:t.creationDate})),w=a.paginationToken||void 0,C=l(T,n,"buckets","bucket",b,{paginationToken:w});console.log(C),n!=="json"&&n!=="xml"&&u(w),d(e,{count:T.length})}export{H as default};
@@ -1 +1 @@
1
- import{a as b,b as S}from"../../chunk-S77OAN6Y.js";import{e as x}from"../../chunk-R3KHIAWP.js";import{a as c,b as w}from"../../chunk-S6KFKBMY.js";import{b as s,c as h,d as l}from"../../chunk-IIF5VLQ7.js";import{b as k,c as p,j as d}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-RDJQLQQY.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-RH6Z22EN.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-V6JZFDRE.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{getBucketInfo as $,mergeFork as F}from"@tigrisdata/storage";var r=d("buckets","merge");async function I(n){k(r);let y=w(n),o=c(n,["fork"]),t=c(n,["into","source"]),f=c(n,["from-snapshot","fromSnapshot","from-snap"]),A=c(n,["yes","y"]);o||s(r,"Fork bucket name is required");let a=await x();if(!t){let{data:e,error:i}=await $(o,{config:a});i&&s(r,i);let u=e?.forkInfo?.parents?.[0]?.bucketName;u||s(r,`'${o}' is not a fork or its source bucket could not be determined. Pass --into <source-bucket>.`),t=u}if(!A&&(b("Use --yes to skip confirmation"),!await S(`Merge fork '${o}' into source '${t}'? This writes the fork's changes into '${t}'.`))){console.log("Aborted");return}let{data:N,error:m}=await F(o,t,{...f?{forkSnapshot:f}:{},config:a});m&&s(r,m);let g=N?.snapshotVersion??"";if(y==="json"){let e=h(r,{fork:o,into:t}),i={action:"merged",fork:o,into:t,snapshotVersion:g};e.length>0&&(i.nextActions=e),console.log(JSON.stringify(i))}p(r,{fork:o,into:t,snapshotVersion:g}),l(r,{fork:o,into:t})}export{I as default};
1
+ import{a as b,b as S}from"../../chunk-S77OAN6Y.js";import{e as x}from"../../chunk-5AGM4LUA.js";import{a as c,b as w}from"../../chunk-S6KFKBMY.js";import{b as s,c as h,d as l}from"../../chunk-6TTEDYLD.js";import{b as k,c as p,j as d}from"../../chunk-D7WXNA2O.js";import"../../chunk-NI4EYBQH.js";import"../../chunk-7Q44GQ2Y.js";import"../../chunk-DV3LCXRH.js";import"../../chunk-Z54TMLIH.js";import"../../chunk-BMWWPXMU.js";import"../../chunk-APJUJ6TW.js";import"../../chunk-QPUL2AAI.js";import"../../chunk-J3MAV7JB.js";import"../../chunk-F4AGJWCK.js";import{getBucketInfo as $,mergeFork as F}from"@tigrisdata/storage";var r=d("buckets","merge");async function I(n){k(r);let y=w(n),o=c(n,["fork"]),t=c(n,["into","source"]),f=c(n,["from-snapshot","fromSnapshot","from-snap"]),A=c(n,["yes","y"]);o||s(r,"Fork bucket name is required");let a=await x();if(!t){let{data:e,error:i}=await $(o,{config:a});i&&s(r,i);let u=e?.forkInfo?.parents?.[0]?.bucketName;u||s(r,`'${o}' is not a fork or its source bucket could not be determined. Pass --into <source-bucket>.`),t=u}if(!A&&(b("Use --yes to skip confirmation"),!await S(`Merge fork '${o}' into source '${t}'? This writes the fork's changes into '${t}'.`))){console.log("Aborted");return}let{data:N,error:m}=await F(o,t,{...f?{forkSnapshot:f}:{},config:a});m&&s(r,m);let g=N?.snapshotVersion??"";if(y==="json"){let e=h(r,{fork:o,into:t}),i={action:"merged",fork:o,into:t,snapshotVersion:g};e.length>0&&(i.nextActions=e),console.log(JSON.stringify(i))}p(r,{fork:o,into:t,snapshotVersion:g}),l(r,{fork:o,into:t})}export{I as default};