@meilisearch/cli 0.0.0 → 0.2.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 (182) hide show
  1. package/README.md +36 -11
  2. package/dist/commands/auth/login.js +5 -4
  3. package/dist/commands/auth/login.js.map +1 -1
  4. package/dist/commands/auth/logout.js +9 -6
  5. package/dist/commands/auth/logout.js.map +1 -1
  6. package/dist/commands/auth/refresh.js +4 -5
  7. package/dist/commands/auth/refresh.js.map +1 -1
  8. package/dist/commands/auth/status.js +6 -6
  9. package/dist/commands/auth/status.js.map +1 -1
  10. package/dist/commands/{get/batches.js → batch/list.js} +6 -6
  11. package/dist/commands/batch/list.js.map +1 -0
  12. package/dist/commands/batch/view.js +18 -0
  13. package/dist/commands/batch/view.js.map +1 -0
  14. package/dist/commands/config/list.js +3 -2
  15. package/dist/commands/config/list.js.map +1 -1
  16. package/dist/commands/config/set.js +3 -4
  17. package/dist/commands/config/set.js.map +1 -1
  18. package/dist/commands/config/sync-with-cloud.js +5 -5
  19. package/dist/commands/config/sync-with-cloud.js.map +1 -1
  20. package/dist/commands/config/unset.js +3 -8
  21. package/dist/commands/config/unset.js.map +1 -1
  22. package/dist/commands/config/update.js +4 -4
  23. package/dist/commands/config/update.js.map +1 -1
  24. package/dist/commands/{add/documents.js → document/add.js} +6 -5
  25. package/dist/commands/document/add.js.map +1 -0
  26. package/dist/commands/{delete/documents.js → document/delete.js} +7 -6
  27. package/dist/commands/document/delete.js.map +1 -0
  28. package/dist/commands/{get/documents.js → document/list.js} +7 -8
  29. package/dist/commands/document/list.js.map +1 -0
  30. package/dist/commands/{update/documents.js → document/update.js} +6 -5
  31. package/dist/commands/document/update.js.map +1 -0
  32. package/dist/commands/document/view.js +42 -0
  33. package/dist/commands/document/view.js.map +1 -0
  34. package/dist/commands/export.js +3 -2
  35. package/dist/commands/export.js.map +1 -1
  36. package/dist/commands/facet-search.js +3 -2
  37. package/dist/commands/facet-search.js.map +1 -1
  38. package/dist/commands/{get/health.js → health.js} +3 -4
  39. package/dist/commands/health.js.map +1 -0
  40. package/dist/commands/{add/indexes.js → index/add.js} +7 -5
  41. package/dist/commands/index/add.js.map +1 -0
  42. package/dist/commands/{delete/indexes.js → index/delete.js} +6 -5
  43. package/dist/commands/index/delete.js.map +1 -0
  44. package/dist/commands/index/list.js +21 -0
  45. package/dist/commands/index/list.js.map +1 -0
  46. package/dist/commands/{update/indexes.js → index/update.js} +6 -5
  47. package/dist/commands/index/update.js.map +1 -0
  48. package/dist/commands/index/view.js +18 -0
  49. package/dist/commands/index/view.js.map +1 -0
  50. package/dist/commands/info.js +15 -0
  51. package/dist/commands/info.js.map +1 -0
  52. package/dist/commands/{add/keys.js → key/add.js} +9 -7
  53. package/dist/commands/key/add.js.map +1 -0
  54. package/dist/commands/{delete/keys.js → key/delete.js} +6 -5
  55. package/dist/commands/key/delete.js.map +1 -0
  56. package/dist/commands/key/list.js +24 -0
  57. package/dist/commands/key/list.js.map +1 -0
  58. package/dist/commands/{update/keys.js → key/update.js} +7 -5
  59. package/dist/commands/key/update.js.map +1 -0
  60. package/dist/commands/key/view.js +26 -0
  61. package/dist/commands/key/view.js.map +1 -0
  62. package/dist/commands/multi-search.js +4 -2
  63. package/dist/commands/multi-search.js.map +1 -1
  64. package/dist/commands/organization/delete.js +24 -0
  65. package/dist/commands/organization/delete.js.map +1 -0
  66. package/dist/commands/organization/list.js +15 -0
  67. package/dist/commands/organization/list.js.map +1 -0
  68. package/dist/commands/organization/update.js +32 -0
  69. package/dist/commands/organization/update.js.map +1 -0
  70. package/dist/commands/organization/view.js +21 -0
  71. package/dist/commands/organization/view.js.map +1 -0
  72. package/dist/commands/{add/projects.js → project/add.js} +7 -6
  73. package/dist/commands/project/add.js.map +1 -0
  74. package/dist/commands/{delete/projects.js → project/delete.js} +6 -5
  75. package/dist/commands/project/delete.js.map +1 -0
  76. package/dist/commands/project/list.js +28 -0
  77. package/dist/commands/project/list.js.map +1 -0
  78. package/dist/commands/{update/projects.js → project/update.js} +3 -4
  79. package/dist/commands/project/update.js.map +1 -0
  80. package/dist/commands/project/view.js +29 -0
  81. package/dist/commands/project/view.js.map +1 -0
  82. package/dist/commands/region/list.js +15 -0
  83. package/dist/commands/region/list.js.map +1 -0
  84. package/dist/commands/resource/list.js +28 -0
  85. package/dist/commands/resource/list.js.map +1 -0
  86. package/dist/commands/schema.js +4 -3
  87. package/dist/commands/schema.js.map +1 -1
  88. package/dist/commands/search.js +3 -2
  89. package/dist/commands/search.js.map +1 -1
  90. package/dist/commands/{delete/settings.js → settings/delete.js} +7 -6
  91. package/dist/commands/settings/delete.js.map +1 -0
  92. package/dist/commands/{update/settings.js → settings/update.js} +7 -5
  93. package/dist/commands/settings/update.js.map +1 -0
  94. package/dist/commands/{get/settings.js → settings/view.js} +7 -8
  95. package/dist/commands/settings/view.js.map +1 -0
  96. package/dist/commands/similar.js +3 -2
  97. package/dist/commands/similar.js.map +1 -1
  98. package/dist/commands/{get/stats.js → stats.js} +7 -6
  99. package/dist/commands/stats.js.map +1 -0
  100. package/dist/commands/{cancel/tasks.js → task/cancel.js} +7 -5
  101. package/dist/commands/task/cancel.js.map +1 -0
  102. package/dist/commands/{delete/tasks.js → task/delete.js} +7 -5
  103. package/dist/commands/{delete/tasks.js.map → task/delete.js.map} +1 -1
  104. package/dist/commands/{get/tasks.js → task/list.js} +6 -6
  105. package/dist/commands/task/list.js.map +1 -0
  106. package/dist/commands/task/view.js +20 -0
  107. package/dist/commands/task/view.js.map +1 -0
  108. package/dist/commands/team/add.js +32 -0
  109. package/dist/commands/team/add.js.map +1 -0
  110. package/dist/commands/team/delete.js +20 -0
  111. package/dist/commands/team/delete.js.map +1 -0
  112. package/dist/commands/team/list.js +15 -0
  113. package/dist/commands/team/list.js.map +1 -0
  114. package/dist/commands/team/update.js +32 -0
  115. package/dist/commands/team/update.js.map +1 -0
  116. package/dist/commands/team/view.js +17 -0
  117. package/dist/commands/team/view.js.map +1 -0
  118. package/dist/commands/teleport.js +37 -29
  119. package/dist/commands/teleport.js.map +1 -1
  120. package/dist/commands/version.js +11 -0
  121. package/dist/commands/version.js.map +1 -0
  122. package/dist/lib/analytics.js +135 -0
  123. package/dist/lib/analytics.js.map +1 -0
  124. package/dist/lib/api-naming.js +73 -62
  125. package/dist/lib/api-naming.js.map +1 -1
  126. package/dist/lib/base-command.js +46 -33
  127. package/dist/lib/base-command.js.map +1 -1
  128. package/dist/lib/clients/analytics.js +24 -0
  129. package/dist/lib/clients/analytics.js.map +1 -0
  130. package/dist/lib/clients/meilisearch.js +2 -2
  131. package/dist/lib/clients/oauth.js +1 -1
  132. package/dist/lib/clients/oauth.js.map +1 -1
  133. package/dist/lib/cloud-sync.js +1 -1
  134. package/dist/lib/config.js +13 -4
  135. package/dist/lib/config.js.map +1 -1
  136. package/dist/lib/errors.js +51 -16
  137. package/dist/lib/errors.js.map +1 -1
  138. package/dist/lib/help.js +67 -14
  139. package/dist/lib/help.js.map +1 -1
  140. package/dist/lib/login.js +10 -6
  141. package/dist/lib/login.js.map +1 -1
  142. package/dist/lib/output.js +5 -29
  143. package/dist/lib/output.js.map +1 -1
  144. package/dist/lib/session.js +12 -1
  145. package/dist/lib/session.js.map +1 -1
  146. package/dist/lib/task-filters.js +4 -4
  147. package/dist/lib/task-filters.js.map +1 -1
  148. package/dist/lib/tasks.js +1 -1
  149. package/dist/lib/tasks.js.map +1 -1
  150. package/dist/lib/terminal.js +29 -7
  151. package/dist/lib/terminal.js.map +1 -1
  152. package/oclif.manifest.json +5787 -3133
  153. package/package.json +50 -31
  154. package/dist/commands/add/documents.js.map +0 -1
  155. package/dist/commands/add/indexes.js.map +0 -1
  156. package/dist/commands/add/keys.js.map +0 -1
  157. package/dist/commands/add/projects.js.map +0 -1
  158. package/dist/commands/cancel/tasks.js.map +0 -1
  159. package/dist/commands/delete/documents.js.map +0 -1
  160. package/dist/commands/delete/indexes.js.map +0 -1
  161. package/dist/commands/delete/keys.js.map +0 -1
  162. package/dist/commands/delete/projects.js.map +0 -1
  163. package/dist/commands/delete/settings.js.map +0 -1
  164. package/dist/commands/get/batches.js.map +0 -1
  165. package/dist/commands/get/documents.js.map +0 -1
  166. package/dist/commands/get/health.js.map +0 -1
  167. package/dist/commands/get/indexes.js +0 -33
  168. package/dist/commands/get/indexes.js.map +0 -1
  169. package/dist/commands/get/keys.js +0 -36
  170. package/dist/commands/get/keys.js.map +0 -1
  171. package/dist/commands/get/projects.js +0 -40
  172. package/dist/commands/get/projects.js.map +0 -1
  173. package/dist/commands/get/settings.js.map +0 -1
  174. package/dist/commands/get/stats.js.map +0 -1
  175. package/dist/commands/get/tasks.js.map +0 -1
  176. package/dist/commands/get/version.js +0 -16
  177. package/dist/commands/get/version.js.map +0 -1
  178. package/dist/commands/update/documents.js.map +0 -1
  179. package/dist/commands/update/indexes.js.map +0 -1
  180. package/dist/commands/update/keys.js.map +0 -1
  181. package/dist/commands/update/projects.js.map +0 -1
  182. package/dist/commands/update/settings.js.map +0 -1
@@ -6,10 +6,11 @@ export default class Similar extends BaseCommand {
6
6
  static api = "meilisearch";
7
7
  static routes = ["POST /indexes/{index_uid}/similar"];
8
8
  static keyActions = ["search"];
9
- static description = "Find the documents an index holds that are closest to one of its documents, named by --id and compared with --embedder.";
9
+ static description = `Find the documents similar to one document.
10
+
11
+ --id names the document, and --embedder the embedder that compares them.`;
10
12
  static examples = [
11
13
  "<%= config.bin %> <%= command.id %> --project prod --index movies --id 143 --embedder default",
12
- "<%= config.bin %> <%= command.id %> --project prod --index movies --id 143 --embedder default --output json",
13
14
  "<%= config.bin %> <%= command.id %> --project prod --index movies --id 143 --embedder default --filter 'genres = horror' --limit 5",
14
15
  '<%= config.bin %> <%= command.id %> --project prod --index movies --data \'{"id":143,"embedder":"default","retrieveVectors":true}\'',
15
16
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"similar.js","sourceRoot":"","sources":["../../src/commands/similar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"similar.js","sourceRoot":"","sources":["../../src/commands/similar.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  import { Flags } from "@oclif/core";
2
- import { BaseCommand } from "../../lib/base-command.js";
3
- import { fetchStats } from "../../lib/clients/meilisearch.js";
4
- export default class GetStats extends BaseCommand {
2
+ import { BaseCommand } from "../lib/base-command.js";
3
+ import { fetchStats } from "../lib/clients/meilisearch.js";
4
+ export default class Stats extends BaseCommand {
5
5
  static api = "meilisearch";
6
6
  static routes = ["GET /stats", "GET /indexes/{index_uid}/stats"];
7
7
  static keyActions = ["stats.get"];
8
- static description = "Get the statistics of the whole instance, or those of one index with --index.";
8
+ static description = `Get the statistics of the instance, or of one index.
9
+
10
+ --index names the index.`;
9
11
  static examples = [
10
12
  "<%= config.bin %> <%= command.id %> --project prod",
11
- "<%= config.bin %> <%= command.id %> --project prod --output json",
12
13
  "<%= config.bin %> <%= command.id %> --project prod --index movies",
13
14
  "<%= config.bin %> <%= command.id %> --project prod --index movies --size-format human --show-internal-database-sizes",
14
15
  ];
@@ -27,7 +28,7 @@ export default class GetStats extends BaseCommand {
27
28
  })(),
28
29
  };
29
30
  async run() {
30
- const { flags } = await this.parse(GetStats);
31
+ const { flags } = await this.parse(Stats);
31
32
  await this.output(await fetchStats(this.meilisearch, flags.index, {
32
33
  showInternalDatabaseSizes: flags["show-internal-database-sizes"] ? true : undefined,
33
34
  sizeFormat: flags["size-format"],
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;IAEjE,MAAM,CAAC,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;IAElC,MAAM,CAAU,WAAW,GAAG;;yBAEP,CAAC;IAExB,MAAM,CAAU,QAAQ,GAAG;QACzB,oDAAoD;QACpD,mEAAmE;QACnE,sHAAsH;KACvH,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,eAAe;QAC9B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,sEAAsE;YACnF,SAAS,EAAE,SAAS;SACrB,CAAC;QACF,8BAA8B,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5C,WAAW,EAAE,gFAAgF;SAC9F,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;YAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAU;YAClC,WAAW,EACT,gGAAgG;SACnG,CAAC,EAAE;KACL,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,MAAM,CACf,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE;YAC9C,yBAAyB,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACnF,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;SACjC,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
@@ -1,13 +1,15 @@
1
1
  import { BaseCommand } from "../../lib/base-command.js";
2
2
  import { taskFilterFlags, taskFilterQuery } from "../../lib/task-filters.js";
3
- export default class CancelTasks extends BaseCommand {
3
+ export default class TaskCancel extends BaseCommand {
4
4
  static api = "meilisearch";
5
5
  static routes = ["POST /tasks/cancel"];
6
6
  static keyActions = ["tasks.cancel"];
7
- static description = "Cancel the enqueued and processing tasks matched by --ids, --statuses, --types and the other filters of the route.";
7
+ static description = `Cancel tasks.
8
+
9
+ Cancels the enqueued and processing tasks matched by --ids, --statuses, --types and the other filters of the route.`;
8
10
  static examples = [
9
11
  "<%= config.bin %> <%= command.id %> --project prod --ids 42,1344",
10
- "<%= config.bin %> <%= command.id %> --project prod --ids 42 --output json",
12
+ "<%= config.bin %> <%= command.id %> --project prod --ids 42",
11
13
  "<%= config.bin %> <%= command.id %> --project prod --statuses enqueued --index-ids movies",
12
14
  "<%= config.bin %> <%= command.id %> --project prod --statuses processing --wait",
13
15
  ];
@@ -17,8 +19,8 @@ export default class CancelTasks extends BaseCommand {
17
19
  ...BaseCommand.waitFlags,
18
20
  };
19
21
  async run() {
20
- const { flags } = await this.parse(CancelTasks);
22
+ const { flags } = await this.parse(TaskCancel);
21
23
  await this.outputTask(await this.meilisearch.tasks.cancelTasks(taskFilterQuery(flags)), flags);
22
24
  }
23
25
  }
24
- //# sourceMappingURL=tasks.js.map
26
+ //# sourceMappingURL=cancel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/commands/task/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAEvC,MAAM,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;IAErC,MAAM,CAAU,WAAW,GAAG;;oHAEoF,CAAC;IAEnH,MAAM,CAAU,QAAQ,GAAG;QACzB,kEAAkE;QAClE,6DAA6D;QAC7D,2FAA2F;QAC3F,iFAAiF;KAClF,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,eAAe;QAC9B,GAAG,eAAe;QAClB,GAAG,WAAW,CAAC,SAAS;KACzB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjG,CAAC;CACF"}
@@ -1,14 +1,16 @@
1
1
  import { BaseCommand } from "../../lib/base-command.js";
2
2
  import { MeiliCliError } from "../../lib/errors.js";
3
3
  import { taskFilterFlags, taskFilterQuery } from "../../lib/task-filters.js";
4
- export default class DeleteTasks extends BaseCommand {
4
+ export default class TaskDelete extends BaseCommand {
5
5
  static api = "meilisearch";
6
6
  static routes = ["DELETE /tasks"];
7
7
  static keyActions = ["tasks.delete"];
8
- static description = "Delete the finished tasks matched by --ids, --statuses, --types and the other filters of the route.";
8
+ static description = `Delete finished tasks.
9
+
10
+ Deletes the finished tasks matched by --ids, --statuses, --types and the other filters of the route.`;
9
11
  static examples = [
10
12
  "<%= config.bin %> <%= command.id %> --project prod --ids 42,1344 --yes",
11
- "<%= config.bin %> <%= command.id %> --project prod --ids 42 --yes --output json",
13
+ "<%= config.bin %> <%= command.id %> --project prod --ids 42 --yes",
12
14
  "<%= config.bin %> <%= command.id %> --project prod --statuses succeeded --before-enqueued-at 2026-01-01T00:00:00Z --yes",
13
15
  "<%= config.bin %> <%= command.id %> --project prod --index-ids movies --yes --wait",
14
16
  ];
@@ -19,7 +21,7 @@ export default class DeleteTasks extends BaseCommand {
19
21
  ...BaseCommand.confirmFlags,
20
22
  };
21
23
  async run() {
22
- const { flags } = await this.parse(DeleteTasks);
24
+ const { flags } = await this.parse(TaskDelete);
23
25
  const query = taskFilterQuery(flags);
24
26
  // docs/contract/output.md, Destructive commands. There is no --all here:
25
27
  // the route has no form that deletes every task.
@@ -31,4 +33,4 @@ export default class DeleteTasks extends BaseCommand {
31
33
  await this.outputTask(await this.meilisearch.tasks.deleteTasks(query), flags);
32
34
  }
33
35
  }
34
- //# sourceMappingURL=tasks.js.map
36
+ //# sourceMappingURL=delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/commands/delete/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,eAAe,CAAC,CAAC;IAElC,MAAM,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;IAErC,MAAM,CAAU,WAAW,GACzB,qGAAqG,CAAC;IAExG,MAAM,CAAU,QAAQ,GAAG;QACzB,wEAAwE;QACxE,iFAAiF;QACjF,yHAAyH;QACzH,oFAAoF;KACrF,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,eAAe;QAC9B,GAAG,eAAe;QAClB,GAAG,WAAW,CAAC,SAAS;QACxB,GAAG,WAAW,CAAC,YAAY;KAC5B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,yEAAyE;QACzE,iDAAiD;QACjD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,kCAAkC,EAAE;gBACvE,IAAI,EAAE,+KAA+K;aACtL,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;CACF"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/task/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,eAAe,CAAC,CAAC;IAElC,MAAM,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;IAErC,MAAM,CAAU,WAAW,GAAG;;qGAEqE,CAAC;IAEpG,MAAM,CAAU,QAAQ,GAAG;QACzB,wEAAwE;QACxE,mEAAmE;QACnE,yHAAyH;QACzH,oFAAoF;KACrF,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,eAAe;QAC9B,GAAG,eAAe;QAClB,GAAG,WAAW,CAAC,SAAS;QACxB,GAAG,WAAW,CAAC,YAAY;KAC5B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,yEAAyE;QACzE,iDAAiD;QACjD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,kCAAkC,EAAE;gBACvE,IAAI,EAAE,+KAA+K;aACtL,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;CACF"}
@@ -2,18 +2,18 @@ import { Flags } from "@oclif/core";
2
2
  import { BaseCommand } from "../../lib/base-command.js";
3
3
  import { nextFromQuery } from "../../lib/pagination.js";
4
4
  import { taskFilterFlags, taskFilterQuery } from "../../lib/task-filters.js";
5
- export default class GetTasks extends BaseCommand {
5
+ export default class TaskList extends BaseCommand {
6
6
  static api = "meilisearch";
7
7
  static routes = ["GET /tasks"];
8
8
  static keyActions = ["tasks.get"];
9
- static description = "List the tasks of the instance, narrowed by --ids, --statuses, --types and the other filters of the route.";
9
+ static description = `List the tasks of the instance.
10
+
11
+ --ids, --statuses, --types and the other filters of the route narrow the list.`;
10
12
  static examples = [
11
13
  "<%= config.bin %> <%= command.id %> --project prod",
12
- "<%= config.bin %> <%= command.id %> --project prod --output json",
13
14
  "<%= config.bin %> <%= command.id %> --project prod --ids 42",
14
15
  "<%= config.bin %> <%= command.id %> --project prod --statuses failed,canceled --limit 5",
15
16
  "<%= config.bin %> <%= command.id %> --project prod --index-ids movies --types documentAdditionOrUpdate",
16
- "<%= config.bin %> <%= command.id %> --project prod --all --output ndjson",
17
17
  ];
18
18
  static flags = {
19
19
  ...BaseCommand.connectionFlags,
@@ -24,7 +24,7 @@ export default class GetTasks extends BaseCommand {
24
24
  ...BaseCommand.fromPaginationFlags,
25
25
  };
26
26
  async run() {
27
- const { flags } = await this.parse(GetTasks);
27
+ const { flags } = await this.parse(TaskList);
28
28
  const filters = {
29
29
  ...taskFilterQuery(flags),
30
30
  reverse: flags.reverse ? true : undefined,
@@ -32,4 +32,4 @@ export default class GetTasks extends BaseCommand {
32
32
  await this.outputList((page) => this.meilisearch.tasks.getTasks({ ...filters, ...page }), { limit: flags.limit, from: flags.from }, flags.all, nextFromQuery);
33
33
  }
34
34
  }
35
- //# sourceMappingURL=tasks.js.map
35
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/task/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC;IAE/B,MAAM,CAAC,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;IAElC,MAAM,CAAU,WAAW,GAAG;;+EAE+C,CAAC;IAE9E,MAAM,CAAU,QAAQ,GAAG;QACzB,oDAAoD;QACpD,6DAA6D;QAC7D,yFAAyF;QACzF,wGAAwG;KACzG,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,eAAe;QAC9B,GAAG,eAAe;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,sEAAsE;SACpF,CAAC;QACF,GAAG,WAAW,CAAC,mBAAmB;KACnC,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG;YACd,GAAG,eAAe,CAAC,KAAK,CAAC;YACzB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAC1C,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CACnB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,EAClE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EACxC,KAAK,CAAC,GAAG,EACT,aAAa,CACd,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { Flags } from "@oclif/core";
2
+ import { BaseCommand } from "../../lib/base-command.js";
3
+ export default class TaskView extends BaseCommand {
4
+ static api = "meilisearch";
5
+ static routes = ["GET /tasks/{task_id}"];
6
+ static keyActions = ["tasks.get"];
7
+ static description = `Get one task.
8
+
9
+ Prints its status and its error.`;
10
+ static examples = ["<%= config.bin %> <%= command.id %> --project prod --id 42"];
11
+ static flags = {
12
+ ...BaseCommand.connectionFlags,
13
+ id: Flags.integer({ required: true, description: "The task uid.", helpValue: "<uid>" }),
14
+ };
15
+ async run() {
16
+ const { flags } = await this.parse(TaskView);
17
+ await this.output(await this.meilisearch.tasks.getTask(flags.id));
18
+ }
19
+ }
20
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/task/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEzC,MAAM,CAAC,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;IAElC,MAAM,CAAU,WAAW,GAAG;;iCAEC,CAAC;IAEhC,MAAM,CAAU,QAAQ,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAE1F,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,eAAe;QAC9B,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;KACxF,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import { Flags } from "@oclif/core";
2
+ import { BaseCommand } from "../../lib/base-command.js";
3
+ import { postApiV2Teams } from "../../lib/clients/management/generated/sdk.gen.js";
4
+ import { readBodyWithFields } from "../../lib/input.js";
5
+ export default class TeamAdd extends BaseCommand {
6
+ static api = "management";
7
+ static routes = ["POST /api/v2/teams"];
8
+ static description = `Create a Meilisearch Cloud team.
9
+
10
+ Creates it in an organization.`;
11
+ static examples = [
12
+ "<%= config.bin %> <%= command.id %> --name search --organization-id 1",
13
+ '<%= config.bin %> <%= command.id %> --data \'{"name":"search","organizationId":1}\'',
14
+ ];
15
+ static flags = {
16
+ name: Flags.string({ description: "Name of the team.", helpValue: "<name>" }),
17
+ "organization-id": Flags.integer({
18
+ description: "Organization that owns the team.",
19
+ helpValue: "<id>",
20
+ }),
21
+ ...BaseCommand.bodyInputFlags,
22
+ };
23
+ async run() {
24
+ const { flags } = await this.parse(TeamAdd);
25
+ const body = readBodyWithFields(flags, {
26
+ name: flags.name,
27
+ organizationId: flags["organization-id"],
28
+ });
29
+ await this.output(await postApiV2Teams({ client: this.managementClient, body }));
30
+ }
31
+ }
32
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/team/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,MAAM,CAAC,GAAG,GAAQ,YAAY,CAAC;IAE/B,MAAM,CAAC,MAAM,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAEvC,MAAM,CAAU,WAAW,GAAG;;+BAED,CAAC;IAE9B,MAAM,CAAU,QAAQ,GAAG;QACzB,uEAAuE;QACvE,qFAAqF;KACtF,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC7E,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,kCAAkC;YAC/C,SAAS,EAAE,MAAM;SAClB,CAAC;QACF,GAAG,WAAW,CAAC,cAAc;KAC9B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE;YACrC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC;SACzC,CAA+B,CAAC;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { Flags } from "@oclif/core";
2
+ import { BaseCommand } from "../../lib/base-command.js";
3
+ import { deleteApiV2TeamsById } from "../../lib/clients/management/generated/sdk.gen.js";
4
+ export default class TeamDelete extends BaseCommand {
5
+ static api = "management";
6
+ static routes = ["DELETE /api/v2/teams/{id}"];
7
+ static description = `Delete a Meilisearch Cloud team.
8
+
9
+ The team must have no project left. Prints nothing on success.`;
10
+ static examples = ["<%= config.bin %> <%= command.id %> --id 12 --yes"];
11
+ static flags = {
12
+ id: Flags.integer({ description: "The team to delete.", helpValue: "<id>", required: true }),
13
+ ...BaseCommand.confirmFlags,
14
+ };
15
+ async run() {
16
+ const { flags } = await this.parse(TeamDelete);
17
+ await deleteApiV2TeamsById({ client: this.managementClient, path: { id: flags.id } });
18
+ }
19
+ }
20
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/team/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAEzF,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,GAAG,GAAQ,YAAY,CAAC;IAE/B,MAAM,CAAC,MAAM,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAE9C,MAAM,CAAU,WAAW,GAAG;;+DAE+B,CAAC;IAE9D,MAAM,CAAU,QAAQ,GAAG,CAAC,mDAAmD,CAAC,CAAC;IAEjF,MAAM,CAAU,KAAK,GAAG;QACtB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5F,GAAG,WAAW,CAAC,YAAY;KAC5B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import { BaseCommand } from "../../lib/base-command.js";
2
+ import { getApiV2Teams } from "../../lib/clients/management/generated/sdk.gen.js";
3
+ export default class TeamList extends BaseCommand {
4
+ static api = "management";
5
+ static routes = ["GET /api/v2/teams"];
6
+ static description = `List the Meilisearch Cloud teams.
7
+
8
+ Only the teams the token sees.`;
9
+ static examples = ["<%= config.bin %> <%= command.id %>"];
10
+ async run() {
11
+ await this.parse(TeamList);
12
+ await this.output(await getApiV2Teams({ client: this.managementClient }));
13
+ }
14
+ }
15
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/team/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAElF,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,GAAG,GAAQ,YAAY,CAAC;IAE/B,MAAM,CAAC,MAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEtC,MAAM,CAAU,WAAW,GAAG;;+BAED,CAAC;IAE9B,MAAM,CAAU,QAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEnE,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import { Flags } from "@oclif/core";
2
+ import { BaseCommand } from "../../lib/base-command.js";
3
+ import { patchApiV2TeamsById } from "../../lib/clients/management/generated/sdk.gen.js";
4
+ import { readBodyWithFields } from "../../lib/input.js";
5
+ export default class TeamUpdate extends BaseCommand {
6
+ static api = "management";
7
+ static routes = ["PATCH /api/v2/teams/{id}"];
8
+ static description = "Rename a Meilisearch Cloud team, or change its owner.";
9
+ static examples = [
10
+ "<%= config.bin %> <%= command.id %> --id 12 --name renamed",
11
+ "<%= config.bin %> <%= command.id %> --id 12 --owner-id 5b7c2f1e-8a3d-4e6f-9b0a-1c2d3e4f5a6b",
12
+ '<%= config.bin %> <%= command.id %> --id 12 --data \'{"name":"renamed"}\'',
13
+ ];
14
+ static flags = {
15
+ id: Flags.integer({ description: "The team to update.", helpValue: "<id>", required: true }),
16
+ name: Flags.string({ description: "New name of the team.", helpValue: "<name>" }),
17
+ "owner-id": Flags.string({
18
+ description: "UUID of the new owner, who must already be a member of the team.",
19
+ helpValue: "<uuid>",
20
+ }),
21
+ ...BaseCommand.bodyInputFlags,
22
+ };
23
+ async run() {
24
+ const { flags } = await this.parse(TeamUpdate);
25
+ const body = readBodyWithFields(flags, {
26
+ name: flags.name,
27
+ ownerId: flags["owner-id"],
28
+ });
29
+ await this.output(await patchApiV2TeamsById({ client: this.managementClient, path: { id: flags.id }, body }));
30
+ }
31
+ }
32
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/team/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAExF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,GAAG,GAAQ,YAAY,CAAC;IAE/B,MAAM,CAAC,MAAM,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAE7C,MAAM,CAAU,WAAW,GAAG,uDAAuD,CAAC;IAEtF,MAAM,CAAU,QAAQ,GAAG;QACzB,4DAA4D;QAC5D,6FAA6F;QAC7F,2EAA2E;KAC5E,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5F,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACjF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,kEAAkE;YAC/E,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,GAAG,WAAW,CAAC,cAAc;KAC9B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE;YACrC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;SAC3B,CAAoC,CAAC;QACtC,MAAM,IAAI,CAAC,MAAM,CACf,MAAM,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAC3F,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import { Flags } from "@oclif/core";
2
+ import { BaseCommand } from "../../lib/base-command.js";
3
+ import { getApiV2TeamsById } from "../../lib/clients/management/generated/sdk.gen.js";
4
+ export default class TeamView extends BaseCommand {
5
+ static api = "management";
6
+ static routes = ["GET /api/v2/teams/{id}"];
7
+ static description = "Get one Meilisearch Cloud team.";
8
+ static examples = ["<%= config.bin %> <%= command.id %> --id 12"];
9
+ static flags = {
10
+ id: Flags.integer({ required: true, description: "The team to get.", helpValue: "<id>" }),
11
+ };
12
+ async run() {
13
+ const { flags } = await this.parse(TeamView);
14
+ await this.output(await getApiV2TeamsById({ client: this.managementClient, path: { id: flags.id } }));
15
+ }
16
+ }
17
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/team/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAEtF,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,GAAG,GAAQ,YAAY,CAAC;IAE/B,MAAM,CAAC,MAAM,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAE3C,MAAM,CAAU,WAAW,GAAG,iCAAiC,CAAC;IAEhE,MAAM,CAAU,QAAQ,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAE3E,MAAM,CAAU,KAAK,GAAG;QACtB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;KAC1F,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CACf,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CACnF,CAAC;IACJ,CAAC;CACF"}
@@ -10,19 +10,19 @@ import { ManagementApiError, MeiliCliError, parseErrorBody, toRenderedError, } f
10
10
  import { logInWithBrowser } from "../lib/login.js";
11
11
  import { resolveOauthClient } from "../lib/session.js";
12
12
  import { isTaskFailure, isTaskFinal, pollUntil } from "../lib/tasks.js";
13
- import { ask, askSecret, bar, choose, detail, elapsed, endStatus, field, heading, paint, problem, say, status, step, } from "../lib/terminal.js";
13
+ import { ask, askSecret, bar, choose, detail, elapsed, endStatus, field, heading, isPromptExit, paint, problem, say, status, step, } from "../lib/terminal.js";
14
14
  const PRICING_URL = "https://www.meilisearch.com/pricing";
15
15
  const SUPPORT = "support@meilisearch.com";
16
16
  /** Shown in turn while Meilisearch Cloud creates the project, `<name>` replaced by its name. */
17
17
  const TIPS = [
18
18
  `Choose the best plan for your usage: ${PRICING_URL}`,
19
- "Meilisearch Cloud upgrades your project to new Meilisearch versions smoothly.",
20
- "`meili get indexes --project <name>` lists the indexes of the project.",
21
- "Meilisearch Cloud monitors your instance for you.",
22
- '`meili search --project <name> --index <uid> --q "<query>"` searches an index.',
23
- "Meilisearch Cloud shows analytics on how your project is searched.",
24
- "`meili get stats --project <name>` shows the number of documents of each index.",
25
- "`meili get tasks --project <name> --statuses failed` lists the tasks that failed.",
19
+ "Meilisearch Cloud upgrades your project to new Meilisearch versions automatically, at the time you schedule.",
20
+ "`meili index list --project <name>` lists the indexes of the project.",
21
+ "Monitor and manage your project from the Meilisearch Cloud dashboard.",
22
+ "`meili task list --project <name> --statuses enqueued,processing` lists the tasks not finished yet.",
23
+ "Meilisearch Cloud shows the usage analytics of your project, like the most searched queries.",
24
+ "`meili stats --project <name>` shows the number of documents of each index.",
25
+ "`meili task list --project <name> --statuses failed` lists the tasks that failed.",
26
26
  "`meili config list` shows the projects of your config file.",
27
27
  ];
28
28
  const TIP_MS = 8000;
@@ -38,14 +38,16 @@ const PROJECT_NAME = /^.{3,40}$/;
38
38
  const NO_DEADLINE = Number.POSITIVE_INFINITY;
39
39
  const NEVER = () => new MeiliCliError("cli_internal", "A wait without a deadline timed out.");
40
40
  /** What an agent runs in place of `teleport`. */
41
- const WITHOUT_TELEPORT = "Run `meili auth login`, then `meili add projects --name <name> --team-id <id> --resource-id <id> --sync-config --wait`, then `meili export --project <source> --project-destination <name> --wait`, then `meili get tasks --project <name> --statuses enqueued,processing` until it lists no task.";
41
+ const WITHOUT_TELEPORT = "Run `meili auth login`, then `meili project add --name <name> --team-id <id> --resource-id <id> --sync-config --wait`, then `meili export --project <source> --project-destination <name> --wait`, then `meili task list --project <name> --statuses enqueued,processing` until it lists no task.";
42
42
  export default class Teleport extends BaseCommand {
43
43
  static api = "none";
44
- static description = `Move the data of a Meilisearch project to a new Meilisearch Cloud project, by asking questions on the terminal. An interactive command, for humans: an agent never runs it.
44
+ static description = `Interactive command. Move a project to Meilisearch Cloud.
45
+
46
+ Moves the data of a Meilisearch project to a new Meilisearch Cloud project, by asking questions on the terminal.
45
47
 
46
48
  It checks that the source can export, logs in to Meilisearch Cloud, creates a project in the region, team and plan chosen, adds it to the config file, exports the data to it, and waits until the new project has indexed it. It refuses to run without a terminal.
47
49
 
48
- An agent does the same without questions. ${WITHOUT_TELEPORT}`;
50
+ The same steps, without questions: ${WITHOUT_TELEPORT}`;
49
51
  static examples = [
50
52
  "<%= config.bin %> <%= command.id %>",
51
53
  "<%= config.bin %> <%= command.id %> --project local",
@@ -61,21 +63,22 @@ An agent does the same without questions. ${WITHOUT_TELEPORT}`;
61
63
  async run() {
62
64
  const { flags } = await this.parse(Teleport);
63
65
  if (process.stdin.isTTY !== true || process.stderr.isTTY !== true) {
64
- throw new MeiliCliError("cli_usage", "`meili teleport` asks questions, so it runs only in a terminal, for a human.", { hint: WITHOUT_TELEPORT });
66
+ throw new MeiliCliError("cli_usage", "`meili teleport` asks questions, so it runs only in a terminal.", { hint: WITHOUT_TELEPORT });
65
67
  }
66
68
  const onInterrupt = () => {
67
69
  endStatus();
68
70
  // The export is enqueued: the transfer goes on without the CLI.
69
71
  if (this.created?.transferring === true) {
70
72
  say();
71
- say(`⏳ ${paint("bold", "The transfer goes on in Meilisearch Cloud. meili stopped watching it.")}`);
73
+ say(`⏳ ${paint("bold", "The transfer continues in Meilisearch Cloud. meili CLI stopped watching it.")}`);
72
74
  say();
73
75
  field("Watch it", `${this.created.link}/batches`);
74
76
  sayLinks(this.created.link);
75
- process.exit(0);
77
+ void this.exitNow(0);
78
+ return;
76
79
  }
77
80
  this.sayWhatExists();
78
- process.exit(130);
81
+ void this.exitNow(130);
79
82
  };
80
83
  process.once("SIGINT", onInterrupt);
81
84
  try {
@@ -99,7 +102,7 @@ An agent does the same without questions. ${WITHOUT_TELEPORT}`;
99
102
  everyPage((query) => getApiV2Organizations({ client, query }), { page: 1 }),
100
103
  everyPage((query) => getApiV2Teams({ client, query }), { page: 1 }),
101
104
  ]);
102
- const region = await choose("Region of the new project", await closestFirst(regions));
105
+ const region = await choose("region", "Region of the new project", await closestFirst(regions));
103
106
  step("Region", region.name);
104
107
  const team = await chooseTeam(organizations, teams);
105
108
  const created = await this.createProject(file, await askName(file, `${source.name ?? "meilisearch"}-cloud`), team, region.id, dashboard);
@@ -174,16 +177,20 @@ ${paint("dim", `Tip: ${tip.replaceAll("<name>", name)}`)}`;
174
177
  const names = Object.keys(file.projects);
175
178
  const picked = names.length === 0
176
179
  ? null
177
- : await choose("Which project moves to Meilisearch Cloud?", [
178
- ...names.map((each) => ({ name: `${each} ${file.projects[each]?.url}`, value: each })),
179
- { name: "Another one: enter its URL and its API key", value: null },
180
+ : await choose("source", "Which project moves to Meilisearch Cloud?", [
181
+ ...names.map((each) => ({
182
+ name: `${each} ${file.projects[each]?.url}`,
183
+ value: each,
184
+ id: "config-entry",
185
+ })),
186
+ { name: "Another one: enter its URL and its API key", value: null, id: "enter-url" },
180
187
  ]);
181
188
  if (picked !== null)
182
189
  return this.pickSource(file, picked);
183
- const url = await ask("URL of the Meilisearch instance", {
190
+ const url = await ask("source-url", "URL of the Meilisearch instance", {
184
191
  validate: (value) => isProjectUrl(value) || "Enter an HTTP(S) URL, for example http://localhost:7700.",
185
192
  });
186
- const apiKey = await askSecret("Its API key, with the export action (empty when it has none)");
193
+ const apiKey = await askSecret("source-api-key", "Its API key, with the export action (empty when it has none)");
187
194
  return { name: undefined, url, client: this.meilisearchClient(url, apiKey || undefined) };
188
195
  }
189
196
  /** Connects with the stored session, or logs in with the browser first. */
@@ -191,7 +198,7 @@ ${paint("dim", `Tip: ${tip.replaceAll("<name>", name)}`)}`;
191
198
  let me = await this.loggedInUser();
192
199
  if (me === undefined) {
193
200
  say("Log in to Meilisearch Cloud in your browser. Without an account, you create one there.");
194
- await logInWithBrowser(this.env, true, detail);
201
+ await logInWithBrowser(this.env, true, this.userAgent, detail);
195
202
  await this.connectManagement();
196
203
  me = await getApiV2Me({ client: this.managementClient });
197
204
  }
@@ -255,7 +262,7 @@ ${paint("dim", `Tip: ${tip.replaceAll("<name>", name)}`)}`;
255
262
  }
256
263
  }
257
264
  }
258
- /** Adds the project as an entry named after it, as `add projects --sync-config` does. */
265
+ /** Adds the project as an entry named after it, as `project add --sync-config` does. */
259
266
  addToConfigFile(project, apiKey, teams) {
260
267
  const { name, url } = project;
261
268
  try {
@@ -280,7 +287,7 @@ ${paint("dim", `Tip: ${tip.replaceAll("<name>", name)}`)}`;
280
287
  }
281
288
  endStatus();
282
289
  // Ctrl-C on a question.
283
- if (error instanceof Error && error.name === "ExitPromptError") {
290
+ if (isPromptExit(error)) {
284
291
  this.sayWhatExists();
285
292
  this.exit(130);
286
293
  }
@@ -336,7 +343,7 @@ async function closestFirst(regions) {
336
343
  const name = `${region.name}${region.greenLabel ? " 🌱" : ""}`.padEnd(width);
337
344
  const ms = latency === undefined ? "" : `${String(latency).padStart(4)}ms`;
338
345
  const closest = index === 0 && latency !== undefined ? " (closest)" : "";
339
- return { name: `${name}${ms}${closest}`.trimEnd(), value: region };
346
+ return { name: `${name}${ms}${closest}`.trimEnd(), value: region, id: region.name };
340
347
  });
341
348
  }
342
349
  /** The team of the new project, asked only when there are several, grouped by organization. */
@@ -344,7 +351,7 @@ async function chooseTeam(organizations, teams) {
344
351
  const [only] = teams;
345
352
  const team = only !== undefined && teams.length === 1
346
353
  ? only
347
- : await choose("Team of the new project", organizations.flatMap((organization) => {
354
+ : await choose("team", "Team of the new project", organizations.flatMap((organization) => {
348
355
  const its = teams.filter((each) => each.organizationId === organization.id);
349
356
  return its.length === 0
350
357
  ? []
@@ -359,7 +366,7 @@ async function chooseTeam(organizations, teams) {
359
366
  }
360
367
  /** A name Meilisearch Cloud accepts and the config file does not have yet. */
361
368
  function askName(file, suggested) {
362
- return ask("Name of the new project", {
369
+ return ask("project-name", "Name of the new project", {
363
370
  default: suggested,
364
371
  validate: (value) => !PROJECT_NAME.test(value)
365
372
  ? "A project name has 3 to 40 characters."
@@ -381,11 +388,12 @@ function choosePlan(resources, why) {
381
388
  const estimation = resource.name === "Build" ? undefined : monthlyEstimation(resource);
382
389
  return estimation === undefined ? [] : [{ resource, estimation }];
383
390
  });
384
- return choose("Plan of the new project", priced
391
+ return choose("plan", "Plan of the new project", priced
385
392
  .sort((a, b) => rank(a.resource) - rank(b.resource))
386
393
  .map(({ resource, estimation }) => ({
387
394
  name: describeResource(resource, estimation),
388
395
  value: resource.id,
396
+ id: resource.name,
389
397
  })));
390
398
  }
391
399
  /**
@@ -460,7 +468,7 @@ async function followIndexing(client, entry) {
460
468
  problem(`Task ${task.uid} (${task.type}) failed: ${task.error?.message ?? "no error message"}`);
461
469
  }
462
470
  throw new MeiliCliError("cli_task_failed", `${tasks(failed.total)} failed in project ${entry}.`, {
463
- hint: `Run \`meili get tasks --project ${entry} --statuses failed\` to see them.`,
471
+ hint: `Run \`meili task list --project ${entry} --statuses failed\` to see them.`,
464
472
  });
465
473
  }
466
474
  //# sourceMappingURL=teleport.js.map