workos 0.0.24 → 0.1.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 (305) hide show
  1. package/.claude-plugin/plugin.json +13 -0
  2. package/LICENSE +47 -0
  3. package/README.md +154 -1
  4. package/dist/bin.d.ts +2 -0
  5. package/dist/bin.js +163 -0
  6. package/dist/bin.js.map +1 -0
  7. package/dist/cli.config.d.ts +52 -0
  8. package/dist/cli.config.js +70 -0
  9. package/dist/cli.config.js.map +1 -0
  10. package/dist/package.json +87 -0
  11. package/dist/src/commands/install-skill.d.ts +20 -0
  12. package/dist/src/commands/install-skill.js +130 -0
  13. package/dist/src/commands/install-skill.js.map +1 -0
  14. package/dist/src/commands/install.d.ts +22 -0
  15. package/dist/src/commands/install.js +57 -0
  16. package/dist/src/commands/install.js.map +1 -0
  17. package/dist/src/commands/login.d.ts +1 -0
  18. package/dist/src/commands/login.js +141 -0
  19. package/dist/src/commands/login.js.map +1 -0
  20. package/dist/src/commands/logout.d.ts +1 -0
  21. package/dist/src/commands/logout.js +17 -0
  22. package/dist/src/commands/logout.js.map +1 -0
  23. package/dist/src/dashboard/components/AnimatedLogo.d.ts +8 -0
  24. package/dist/src/dashboard/components/AnimatedLogo.js +16 -0
  25. package/dist/src/dashboard/components/AnimatedLogo.js.map +1 -0
  26. package/dist/src/dashboard/components/CompletionView.d.ts +13 -0
  27. package/dist/src/dashboard/components/CompletionView.js +21 -0
  28. package/dist/src/dashboard/components/CompletionView.js.map +1 -0
  29. package/dist/src/dashboard/components/ConfirmPrompt.d.ts +9 -0
  30. package/dist/src/dashboard/components/ConfirmPrompt.js +25 -0
  31. package/dist/src/dashboard/components/ConfirmPrompt.js.map +1 -0
  32. package/dist/src/dashboard/components/CredentialsForm.d.ts +10 -0
  33. package/dist/src/dashboard/components/CredentialsForm.js +47 -0
  34. package/dist/src/dashboard/components/CredentialsForm.js.map +1 -0
  35. package/dist/src/dashboard/components/Dashboard.d.ts +3 -0
  36. package/dist/src/dashboard/components/Dashboard.js +100 -0
  37. package/dist/src/dashboard/components/Dashboard.js.map +1 -0
  38. package/dist/src/dashboard/components/DashboardLayout.d.ts +24 -0
  39. package/dist/src/dashboard/components/DashboardLayout.js +25 -0
  40. package/dist/src/dashboard/components/DashboardLayout.js.map +1 -0
  41. package/dist/src/dashboard/components/DiffPanel.d.ts +9 -0
  42. package/dist/src/dashboard/components/DiffPanel.js +136 -0
  43. package/dist/src/dashboard/components/DiffPanel.js.map +1 -0
  44. package/dist/src/dashboard/components/InlinePrompt.d.ts +8 -0
  45. package/dist/src/dashboard/components/InlinePrompt.js +19 -0
  46. package/dist/src/dashboard/components/InlinePrompt.js.map +1 -0
  47. package/dist/src/dashboard/components/OutputPanel.d.ts +10 -0
  48. package/dist/src/dashboard/components/OutputPanel.js +100 -0
  49. package/dist/src/dashboard/components/OutputPanel.js.map +1 -0
  50. package/dist/src/dashboard/components/Panel.d.ts +12 -0
  51. package/dist/src/dashboard/components/Panel.js +6 -0
  52. package/dist/src/dashboard/components/Panel.js.map +1 -0
  53. package/dist/src/dashboard/components/TextInput.d.ts +13 -0
  54. package/dist/src/dashboard/components/TextInput.js +57 -0
  55. package/dist/src/dashboard/components/TextInput.js.map +1 -0
  56. package/dist/src/dashboard/components/WelcomeArt.d.ts +2 -0
  57. package/dist/src/dashboard/components/WelcomeArt.js +9 -0
  58. package/dist/src/dashboard/components/WelcomeArt.js.map +1 -0
  59. package/dist/src/dashboard/hooks/useAnimation.d.ts +7 -0
  60. package/dist/src/dashboard/hooks/useAnimation.js +24 -0
  61. package/dist/src/dashboard/hooks/useAnimation.js.map +1 -0
  62. package/dist/src/dashboard/hooks/useKeyboard.d.ts +8 -0
  63. package/dist/src/dashboard/hooks/useKeyboard.js +18 -0
  64. package/dist/src/dashboard/hooks/useKeyboard.js.map +1 -0
  65. package/dist/src/dashboard/hooks/useTerminalSize.d.ts +8 -0
  66. package/dist/src/dashboard/hooks/useTerminalSize.js +23 -0
  67. package/dist/src/dashboard/hooks/useTerminalSize.js.map +1 -0
  68. package/dist/src/dashboard/index.d.ts +6 -0
  69. package/dist/src/dashboard/index.js +36 -0
  70. package/dist/src/dashboard/index.js.map +1 -0
  71. package/dist/src/dashboard/lib/diff-utils.d.ts +21 -0
  72. package/dist/src/dashboard/lib/diff-utils.js +271 -0
  73. package/dist/src/dashboard/lib/diff-utils.js.map +1 -0
  74. package/dist/src/dashboard/lib/logo-frames.d.ts +20 -0
  75. package/dist/src/dashboard/lib/logo-frames.js +109 -0
  76. package/dist/src/dashboard/lib/logo-frames.js.map +1 -0
  77. package/dist/src/dashboard/lib/welcome-art.d.ts +1 -0
  78. package/dist/src/dashboard/lib/welcome-art.js +5 -0
  79. package/dist/src/dashboard/lib/welcome-art.js.map +1 -0
  80. package/dist/src/dashboard/types.d.ts +5 -0
  81. package/dist/src/dashboard/types.js +2 -0
  82. package/dist/src/dashboard/types.js.map +1 -0
  83. package/dist/src/lib/__tests__/test-utils.d.ts +40 -0
  84. package/dist/src/lib/__tests__/test-utils.js +108 -0
  85. package/dist/src/lib/__tests__/test-utils.js.map +1 -0
  86. package/dist/src/lib/adapters/cli-adapter.d.ts +56 -0
  87. package/dist/src/lib/adapters/cli-adapter.js +318 -0
  88. package/dist/src/lib/adapters/cli-adapter.js.map +1 -0
  89. package/dist/src/lib/adapters/dashboard-adapter.d.ts +30 -0
  90. package/dist/src/lib/adapters/dashboard-adapter.js +97 -0
  91. package/dist/src/lib/adapters/dashboard-adapter.js.map +1 -0
  92. package/dist/src/lib/adapters/index.d.ts +3 -0
  93. package/dist/src/lib/adapters/index.js +3 -0
  94. package/dist/src/lib/adapters/index.js.map +1 -0
  95. package/dist/src/lib/adapters/types.d.ts +41 -0
  96. package/dist/src/lib/adapters/types.js +2 -0
  97. package/dist/src/lib/adapters/types.js.map +1 -0
  98. package/dist/src/lib/agent-interface.d.ts +75 -0
  99. package/dist/src/lib/agent-interface.js +563 -0
  100. package/dist/src/lib/agent-interface.js.map +1 -0
  101. package/dist/src/lib/agent-runner.d.ts +9 -0
  102. package/dist/src/lib/agent-runner.js +213 -0
  103. package/dist/src/lib/agent-runner.js.map +1 -0
  104. package/dist/src/lib/api.d.ts +25 -0
  105. package/dist/src/lib/api.js +120 -0
  106. package/dist/src/lib/api.js.map +1 -0
  107. package/dist/src/lib/config.d.ts +60 -0
  108. package/dist/src/lib/config.js +88 -0
  109. package/dist/src/lib/config.js.map +1 -0
  110. package/dist/src/lib/constants.d.ts +32 -0
  111. package/dist/src/lib/constants.js +53 -0
  112. package/dist/src/lib/constants.js.map +1 -0
  113. package/dist/src/lib/credentials.d.ts +19 -0
  114. package/dist/src/lib/credentials.js +55 -0
  115. package/dist/src/lib/credentials.js.map +1 -0
  116. package/dist/src/lib/env-writer.d.ts +14 -0
  117. package/dist/src/lib/env-writer.js +39 -0
  118. package/dist/src/lib/env-writer.js.map +1 -0
  119. package/dist/src/lib/events.d.ts +114 -0
  120. package/dist/src/lib/events.js +19 -0
  121. package/dist/src/lib/events.js.map +1 -0
  122. package/dist/src/lib/framework-config.d.ts +108 -0
  123. package/dist/src/lib/framework-config.js +11 -0
  124. package/dist/src/lib/framework-config.js.map +1 -0
  125. package/dist/src/lib/helper-functions.d.ts +1 -0
  126. package/dist/src/lib/helper-functions.js +2 -0
  127. package/dist/src/lib/helper-functions.js.map +1 -0
  128. package/dist/src/lib/port-detection.d.ts +7 -0
  129. package/dist/src/lib/port-detection.js +112 -0
  130. package/dist/src/lib/port-detection.js.map +1 -0
  131. package/dist/src/lib/progress-tracker.d.ts +22 -0
  132. package/dist/src/lib/progress-tracker.js +47 -0
  133. package/dist/src/lib/progress-tracker.js.map +1 -0
  134. package/dist/src/lib/run-with-core.d.ts +2 -0
  135. package/dist/src/lib/run-with-core.js +266 -0
  136. package/dist/src/lib/run-with-core.js.map +1 -0
  137. package/dist/src/lib/safe-tools.d.ts +2 -0
  138. package/dist/src/lib/safe-tools.js +212 -0
  139. package/dist/src/lib/safe-tools.js.map +1 -0
  140. package/dist/src/lib/settings.d.ts +59 -0
  141. package/dist/src/lib/settings.js +36 -0
  142. package/dist/src/lib/settings.js.map +1 -0
  143. package/dist/src/lib/token-refresh.d.ts +12 -0
  144. package/dist/src/lib/token-refresh.js +26 -0
  145. package/dist/src/lib/token-refresh.js.map +1 -0
  146. package/dist/src/lib/validation/build-validator.d.ts +9 -0
  147. package/dist/src/lib/validation/build-validator.js +118 -0
  148. package/dist/src/lib/validation/build-validator.js.map +1 -0
  149. package/dist/src/lib/validation/index.d.ts +3 -0
  150. package/dist/src/lib/validation/index.js +3 -0
  151. package/dist/src/lib/validation/index.js.map +1 -0
  152. package/dist/src/lib/validation/types.d.ts +41 -0
  153. package/dist/src/lib/validation/types.js +2 -0
  154. package/dist/src/lib/validation/types.js.map +1 -0
  155. package/dist/src/lib/validation/validator.d.ts +6 -0
  156. package/dist/src/lib/validation/validator.js +647 -0
  157. package/dist/src/lib/validation/validator.js.map +1 -0
  158. package/dist/src/lib/wizard-core.d.ts +200 -0
  159. package/dist/src/lib/wizard-core.js +392 -0
  160. package/dist/src/lib/wizard-core.js.map +1 -0
  161. package/dist/src/lib/wizard-core.types.d.ts +73 -0
  162. package/dist/src/lib/wizard-core.types.js +2 -0
  163. package/dist/src/lib/wizard-core.types.js.map +1 -0
  164. package/dist/src/lib/workos-management.d.ts +32 -0
  165. package/dist/src/lib/workos-management.js +142 -0
  166. package/dist/src/lib/workos-management.js.map +1 -0
  167. package/dist/src/nextjs/nextjs-wizard-agent.d.ts +6 -0
  168. package/dist/src/nextjs/nextjs-wizard-agent.js +97 -0
  169. package/dist/src/nextjs/nextjs-wizard-agent.js.map +1 -0
  170. package/dist/src/nextjs/utils.d.ts +8 -0
  171. package/dist/src/nextjs/utils.js +53 -0
  172. package/dist/src/nextjs/utils.js.map +1 -0
  173. package/dist/src/react/react-wizard-agent.d.ts +2 -0
  174. package/dist/src/react/react-wizard-agent.js +47 -0
  175. package/dist/src/react/react-wizard-agent.js.map +1 -0
  176. package/dist/src/react-router/react-router-wizard-agent.d.ts +6 -0
  177. package/dist/src/react-router/react-router-wizard-agent.js +103 -0
  178. package/dist/src/react-router/react-router-wizard-agent.js.map +1 -0
  179. package/dist/src/react-router/utils.d.ts +19 -0
  180. package/dist/src/react-router/utils.js +210 -0
  181. package/dist/src/react-router/utils.js.map +1 -0
  182. package/dist/src/run.d.ts +24 -0
  183. package/dist/src/run.js +48 -0
  184. package/dist/src/run.js.map +1 -0
  185. package/dist/src/steps/add-or-update-environment-variables.d.ts +10 -0
  186. package/dist/src/steps/add-or-update-environment-variables.js +155 -0
  187. package/dist/src/steps/add-or-update-environment-variables.js.map +1 -0
  188. package/dist/src/steps/index.d.ts +3 -0
  189. package/dist/src/steps/index.js +4 -0
  190. package/dist/src/steps/index.js.map +1 -0
  191. package/dist/src/steps/run-prettier.d.ts +5 -0
  192. package/dist/src/steps/run-prettier.js +54 -0
  193. package/dist/src/steps/run-prettier.js.map +1 -0
  194. package/dist/src/steps/upload-environment-variables/EnvironmentProvider.d.ts +8 -0
  195. package/dist/src/steps/upload-environment-variables/EnvironmentProvider.js +7 -0
  196. package/dist/src/steps/upload-environment-variables/EnvironmentProvider.js.map +1 -0
  197. package/dist/src/steps/upload-environment-variables/index.d.ts +6 -0
  198. package/dist/src/steps/upload-environment-variables/index.js +57 -0
  199. package/dist/src/steps/upload-environment-variables/index.js.map +1 -0
  200. package/dist/src/steps/upload-environment-variables/providers/vercel.d.ts +14 -0
  201. package/dist/src/steps/upload-environment-variables/providers/vercel.js +104 -0
  202. package/dist/src/steps/upload-environment-variables/providers/vercel.js.map +1 -0
  203. package/dist/src/tanstack-start/tanstack-start-wizard-agent.d.ts +2 -0
  204. package/dist/src/tanstack-start/tanstack-start-wizard-agent.js +49 -0
  205. package/dist/src/tanstack-start/tanstack-start-wizard-agent.js.map +1 -0
  206. package/dist/src/telemetry.d.ts +2 -0
  207. package/dist/src/telemetry.js +29 -0
  208. package/dist/src/telemetry.js.map +1 -0
  209. package/dist/src/utils/analytics.d.ts +24 -0
  210. package/dist/src/utils/analytics.js +139 -0
  211. package/dist/src/utils/analytics.js.map +1 -0
  212. package/dist/src/utils/bash.d.ts +2 -0
  213. package/dist/src/utils/bash.js +17 -0
  214. package/dist/src/utils/bash.js.map +1 -0
  215. package/dist/src/utils/clack-utils.d.ts +93 -0
  216. package/dist/src/utils/clack-utils.js +397 -0
  217. package/dist/src/utils/clack-utils.js.map +1 -0
  218. package/dist/src/utils/clack.d.ts +5 -0
  219. package/dist/src/utils/clack.js +34 -0
  220. package/dist/src/utils/clack.js.map +1 -0
  221. package/dist/src/utils/cli-symbols.d.ts +32 -0
  222. package/dist/src/utils/cli-symbols.js +46 -0
  223. package/dist/src/utils/cli-symbols.js.map +1 -0
  224. package/dist/src/utils/debug.d.ts +7 -0
  225. package/dist/src/utils/debug.js +88 -0
  226. package/dist/src/utils/debug.js.map +1 -0
  227. package/dist/src/utils/env-parser.d.ts +5 -0
  228. package/dist/src/utils/env-parser.js +18 -0
  229. package/dist/src/utils/env-parser.js.map +1 -0
  230. package/dist/src/utils/environment.d.ts +4 -0
  231. package/dist/src/utils/environment.js +69 -0
  232. package/dist/src/utils/environment.js.map +1 -0
  233. package/dist/src/utils/errors.d.ts +3 -0
  234. package/dist/src/utils/errors.js +7 -0
  235. package/dist/src/utils/errors.js.map +1 -0
  236. package/dist/src/utils/logging.d.ts +9 -0
  237. package/dist/src/utils/logging.js +36 -0
  238. package/dist/src/utils/logging.js.map +1 -0
  239. package/dist/src/utils/package-json.d.ts +25 -0
  240. package/dist/src/utils/package-json.js +21 -0
  241. package/dist/src/utils/package-json.js.map +1 -0
  242. package/dist/src/utils/package-manager.d.ts +21 -0
  243. package/dist/src/utils/package-manager.js +167 -0
  244. package/dist/src/utils/package-manager.js.map +1 -0
  245. package/dist/src/utils/redact.d.ts +5 -0
  246. package/dist/src/utils/redact.js +29 -0
  247. package/dist/src/utils/redact.js.map +1 -0
  248. package/dist/src/utils/semver.d.ts +10 -0
  249. package/dist/src/utils/semver.js +43 -0
  250. package/dist/src/utils/semver.js.map +1 -0
  251. package/dist/src/utils/string.d.ts +1 -0
  252. package/dist/src/utils/string.js +6 -0
  253. package/dist/src/utils/string.js.map +1 -0
  254. package/dist/src/utils/telemetry-client.d.ts +15 -0
  255. package/dist/src/utils/telemetry-client.js +57 -0
  256. package/dist/src/utils/telemetry-client.js.map +1 -0
  257. package/dist/src/utils/telemetry-types.d.ts +51 -0
  258. package/dist/src/utils/telemetry-types.js +6 -0
  259. package/dist/src/utils/telemetry-types.js.map +1 -0
  260. package/dist/src/utils/types.d.ts +80 -0
  261. package/dist/src/utils/types.js +2 -0
  262. package/dist/src/utils/types.js.map +1 -0
  263. package/dist/src/utils/urls.d.ts +7 -0
  264. package/dist/src/utils/urls.js +8 -0
  265. package/dist/src/utils/urls.js.map +1 -0
  266. package/dist/src/utils/vendor/is-unicorn-supported.d.ts +1 -0
  267. package/dist/src/utils/vendor/is-unicorn-supported.js +21 -0
  268. package/dist/src/utils/vendor/is-unicorn-supported.js.map +1 -0
  269. package/dist/src/vanilla-js/vanilla-js-wizard-agent.d.ts +2 -0
  270. package/dist/src/vanilla-js/vanilla-js-wizard-agent.js +47 -0
  271. package/dist/src/vanilla-js/vanilla-js-wizard-agent.js.map +1 -0
  272. package/package.json +76 -84
  273. package/skills/workos-authkit-base/SKILL.md +113 -0
  274. package/skills/workos-authkit-nextjs/SKILL.md +115 -0
  275. package/skills/workos-authkit-react/SKILL.md +91 -0
  276. package/skills/workos-authkit-react-router/SKILL.md +106 -0
  277. package/skills/workos-authkit-tanstack-start/SKILL.md +104 -0
  278. package/skills/workos-authkit-vanilla-js/SKILL.md +81 -0
  279. package/build/apps/index.js +0 -50
  280. package/build/apps/slack.js +0 -151
  281. package/build/cli.js +0 -42
  282. package/build/config.js +0 -34
  283. package/build/dev.js +0 -5
  284. package/build/enable-api-access.png +0 -0
  285. package/build/groups.js +0 -480
  286. package/build/index.js +0 -3
  287. package/build/info.js +0 -69
  288. package/build/login.js +0 -161
  289. package/build/main.js +0 -214
  290. package/build/users.js +0 -402
  291. package/build/util.js +0 -157
  292. package/coverage/clover.xml +0 -66
  293. package/coverage/coverage-final.json +0 -4
  294. package/coverage/lcov-report/base.css +0 -212
  295. package/coverage/lcov-report/cli.ts.html +0 -329
  296. package/coverage/lcov-report/config.ts.html +0 -152
  297. package/coverage/lcov-report/index.html +0 -119
  298. package/coverage/lcov-report/prettify.css +0 -1
  299. package/coverage/lcov-report/prettify.js +0 -1
  300. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  301. package/coverage/lcov-report/sorter.js +0 -158
  302. package/coverage/lcov-report/util.ts.html +0 -350
  303. package/coverage/lcov.info +0 -121
  304. package/package-lock.json +0 -7617
  305. package/tests/util.test.ts +0 -35
package/build/groups.js DELETED
@@ -1,480 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- return new (P || (P = Promise))(function (resolve, reject) {
15
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
18
- step((generator = generator.apply(thisArg, _arguments || [])).next());
19
- });
20
- };
21
- var __generator = (this && this.__generator) || function (thisArg, body) {
22
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
- function verb(n) { return function (v) { return step([n, v]); }; }
25
- function step(op) {
26
- if (f) throw new TypeError("Generator is already executing.");
27
- while (_) try {
28
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
- if (y = 0, t) op = [op[0] & 2, t.value];
30
- switch (op[0]) {
31
- case 0: case 1: t = op; break;
32
- case 4: _.label++; return { value: op[1], done: false };
33
- case 5: _.label++; y = op[1]; op = [0]; continue;
34
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
- default:
36
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
- if (t[2]) _.ops.pop();
41
- _.trys.pop(); continue;
42
- }
43
- op = body.call(thisArg, _);
44
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
- }
47
- };
48
- var __importDefault = (this && this.__importDefault) || function (mod) {
49
- return (mod && mod.__esModule) ? mod : { "default": mod };
50
- };
51
- var _this = this;
52
- Object.defineProperty(exports, "__esModule", { value: true });
53
- var got_1 = __importDefault(require("got"));
54
- var ora_1 = __importDefault(require("ora"));
55
- var inquirer_1 = __importDefault(require("inquirer"));
56
- var figures_1 = __importDefault(require("figures"));
57
- var email_validator_1 = __importDefault(require("email-validator"));
58
- var chalk_1 = __importDefault(require("chalk"));
59
- var columnify = require('columnify'); // TODO typings are busted
60
- var cli_1 = require("./cli");
61
- var config_1 = require("./config");
62
- var util_1 = require("./util");
63
- var util_2 = require("./util");
64
- exports.groupCommand = function () { return __awaiter(_this, void 0, void 0, function () {
65
- var command, groupId, userId, _a;
66
- return __generator(this, function (_b) {
67
- switch (_b.label) {
68
- case 0:
69
- command = cli_1.cli.input[0];
70
- groupId = util_2.addDomainToEmailName(cli_1.cli.input[1]);
71
- if (cli_1.cli.flags.create) { // Override if passed the create flag
72
- command = 'group:create';
73
- }
74
- if (cli_1.cli.flags.add && cli_1.cli.flags.remove) {
75
- util_1.logError('Cannot add and remove users at the same time');
76
- process.exit();
77
- }
78
- userId = util_2.addDomainToEmailName(cli_1.cli.flags.add || cli_1.cli.flags.remove);
79
- _a = command;
80
- switch (_a) {
81
- case 'group': return [3 /*break*/, 1];
82
- case 'group:info': return [3 /*break*/, 1];
83
- case 'group:settings': return [3 /*break*/, 1];
84
- case 'groups': return [3 /*break*/, 1];
85
- case 'groups:info': return [3 /*break*/, 1];
86
- case 'groups:settings': return [3 /*break*/, 1];
87
- case 'group:list': return [3 /*break*/, 7];
88
- case 'groups:list': return [3 /*break*/, 7];
89
- case 'groups:create': return [3 /*break*/, 11];
90
- case 'group:create': return [3 /*break*/, 11];
91
- case 'group:members': return [3 /*break*/, 13];
92
- case 'groups:members': return [3 /*break*/, 13];
93
- case 'groups:delete': return [3 /*break*/, 19];
94
- case 'group:delete': return [3 /*break*/, 19];
95
- case 'groups:undelete': return [3 /*break*/, 21];
96
- case 'group:undelete': return [3 /*break*/, 21];
97
- }
98
- return [3 /*break*/, 23];
99
- case 1:
100
- if (!(groupId && !cli_1.cli.flags.add && !cli_1.cli.flags.remove)) return [3 /*break*/, 3];
101
- return [4 /*yield*/, groupInfo(groupId)];
102
- case 2:
103
- _b.sent();
104
- return [3 /*break*/, 24];
105
- case 3:
106
- if (!(groupId && cli_1.cli.flags.add)) return [3 /*break*/, 5];
107
- util_1.debug("UserId: " + userId + " \n GroupId " + groupId);
108
- return [4 /*yield*/, addToGroup(groupId, userId)];
109
- case 4:
110
- _b.sent();
111
- return [3 /*break*/, 24];
112
- case 5:
113
- if (!(groupId && cli_1.cli.flags.remove)) return [3 /*break*/, 7];
114
- util_1.debug("UserId: " + userId + " \n GroupId " + groupId);
115
- return [4 /*yield*/, removeFromGroup(groupId, userId)];
116
- case 6:
117
- _b.sent();
118
- return [3 /*break*/, 24];
119
- case 7:
120
- if (!cli_1.cli.flags.deleted) return [3 /*break*/, 9];
121
- return [4 /*yield*/, listDeletedGroups()];
122
- case 8:
123
- _b.sent();
124
- return [3 /*break*/, 24];
125
- case 9: return [4 /*yield*/, listGroups()];
126
- case 10:
127
- _b.sent();
128
- return [3 /*break*/, 24];
129
- case 11: return [4 /*yield*/, createGroup(groupId)];
130
- case 12:
131
- _b.sent();
132
- return [3 /*break*/, 24];
133
- case 13:
134
- if (!groupId) {
135
- util_1.log("Group ID required");
136
- process.exit();
137
- }
138
- if (!cli_1.cli.flags.add) return [3 /*break*/, 15];
139
- util_1.debug("UserId: " + userId + " \n GroupId " + groupId);
140
- return [4 /*yield*/, addToGroup(groupId, userId)];
141
- case 14:
142
- _b.sent();
143
- return [3 /*break*/, 24];
144
- case 15:
145
- if (!cli_1.cli.flags.remove) return [3 /*break*/, 17];
146
- util_1.debug("UserId: " + userId + " \n GroupId " + groupId);
147
- return [4 /*yield*/, removeFromGroup(groupId, userId)];
148
- case 16:
149
- _b.sent();
150
- return [3 /*break*/, 24];
151
- case 17: return [4 /*yield*/, showGroupMembers(groupId)];
152
- case 18:
153
- _b.sent();
154
- return [3 /*break*/, 24];
155
- case 19:
156
- if (!groupId) {
157
- util_1.log("Please provide a group email address");
158
- return [3 /*break*/, 24];
159
- }
160
- return [4 /*yield*/, deleteGroup(groupId)];
161
- case 20:
162
- _b.sent();
163
- return [3 /*break*/, 24];
164
- case 21:
165
- if (!groupId) {
166
- util_1.log("Please provide a deleted group's email address");
167
- return [3 /*break*/, 24];
168
- }
169
- return [4 /*yield*/, undeleteGroup(groupId)];
170
- case 22:
171
- _b.sent();
172
- return [3 /*break*/, 24];
173
- case 23:
174
- util_1.logError("Unknown command " + command);
175
- return [3 /*break*/, 24];
176
- case 24: return [2 /*return*/];
177
- }
178
- });
179
- }); };
180
- var listGroups = function () { return __awaiter(_this, void 0, void 0, function () {
181
- var apiResp, groups, data, columns;
182
- return __generator(this, function (_a) {
183
- switch (_a.label) {
184
- case 0: return [4 /*yield*/, got_1.default(config_1.API_BASE_URL + "/groups", {
185
- json: true,
186
- headers: { 'Authorization': "Bearer " + config_1.API_TOKEN }
187
- })];
188
- case 1:
189
- apiResp = _a.sent();
190
- groups = apiResp.body;
191
- if (!groups) {
192
- console.log(chalk_1.default.dim('No groups.'));
193
- }
194
- console.log();
195
- data = groups.map(function (group) {
196
- return {
197
- 'Membership': group.is_member ? chalk_1.default.cyanBright('✓') : ' ',
198
- 'Email': group.is_member ? chalk_1.default.cyanBright(group.email) : group.email,
199
- 'Name': group.name,
200
- 'Members': group.member_count,
201
- 'Description': group.description
202
- };
203
- });
204
- columns = columnify(data, {
205
- // minWidth: 20,
206
- columnSplitter: ' ',
207
- maxLineWidth: 'auto',
208
- truncate: true,
209
- config: {
210
- Membership: { headingTransform: function () { return ' '; } },
211
- Email: { headingTransform: chalk_1.default.dim },
212
- Name: { headingTransform: chalk_1.default.dim },
213
- Members: { headingTransform: chalk_1.default.dim, align: 'right' },
214
- Description: { headingTransform: chalk_1.default.dim, maxLineWidth: 'auto' }
215
- }
216
- });
217
- console.log(columns);
218
- console.log(chalk_1.default.dim("\nTotal groups: " + groups.length));
219
- return [2 /*return*/];
220
- }
221
- });
222
- }); };
223
- var createGroup = function (groupId) { return __awaiter(_this, void 0, void 0, function () {
224
- var capitalizeFirstLetter, answers, form, spinner, resp, newGroup;
225
- return __generator(this, function (_a) {
226
- switch (_a.label) {
227
- case 0:
228
- capitalizeFirstLetter = function (toCap) {
229
- return toCap.charAt(0).toUpperCase() + toCap.slice(1);
230
- };
231
- return [4 /*yield*/, inquirer_1.default.prompt([
232
- {
233
- type: 'input',
234
- prefix: figures_1.default.pointer,
235
- name: 'email',
236
- message: 'Group email address:',
237
- default: groupId ? groupId + "@" + config_1.G_SUITE_DOMAIN : undefined,
238
- filter: function (val) {
239
- return util_2.addDomainToEmailName(val.trim().toLowerCase());
240
- },
241
- validate: function (value) {
242
- if (!value) {
243
- return "Please enter the group name";
244
- }
245
- value = util_2.addDomainToEmailName(value.trim().toLowerCase());
246
- if (!email_validator_1.default.validate(value)) {
247
- return "Please enter a valid email address with no spaces";
248
- }
249
- return true;
250
- }
251
- }, {
252
- type: 'input',
253
- prefix: figures_1.default.pointer,
254
- name: 'name',
255
- message: 'Group name (optional):',
256
- filter: function (val) { return val.trim(); },
257
- default: function (currentAnswers) {
258
- return capitalizeFirstLetter(currentAnswers.email.split('@')[0]);
259
- },
260
- }, {
261
- type: 'input',
262
- prefix: figures_1.default.pointer,
263
- name: 'description',
264
- message: 'Group description (optional):'
265
- }
266
- ])
267
- // Post to API endpoint and create new user
268
- ];
269
- case 1:
270
- answers = _a.sent();
271
- form = __assign({}, answers);
272
- util_1.debug('Sending to create group API endpoint');
273
- spinner = ora_1.default("Creating group...").start();
274
- return [4 /*yield*/, got_1.default.post(config_1.API_BASE_URL + '/groups', { body: form,
275
- json: true,
276
- headers: { 'Authorization': "Bearer " + config_1.API_TOKEN }
277
- })];
278
- case 2:
279
- resp = _a.sent();
280
- newGroup = resp.body;
281
- util_1.debug('Created group!');
282
- spinner.succeed("Success!\n");
283
- console.log(newGroup);
284
- return [2 /*return*/];
285
- }
286
- });
287
- }); };
288
- var _loadGroupForId = function (groupId) { return __awaiter(_this, void 0, void 0, function () {
289
- var resp;
290
- return __generator(this, function (_a) {
291
- switch (_a.label) {
292
- case 0:
293
- util_1.debug("Loading group with ID: " + groupId);
294
- return [4 /*yield*/, got_1.default.get(config_1.API_BASE_URL + "/groups/" + groupId, { json: true,
295
- headers: { 'Authorization': "Bearer " + config_1.API_TOKEN }
296
- })];
297
- case 1:
298
- resp = _a.sent();
299
- return [2 /*return*/, resp.body];
300
- }
301
- });
302
- }); };
303
- var showGroupMembers = function (groupId) { return __awaiter(_this, void 0, void 0, function () {
304
- var group, data;
305
- return __generator(this, function (_a) {
306
- switch (_a.label) {
307
- case 0: return [4 /*yield*/, _loadGroupForId(groupId)];
308
- case 1:
309
- group = _a.sent();
310
- if (group.members.length === 0) {
311
- console.log(chalk_1.default.dim('Group has no members.'));
312
- return [2 /*return*/];
313
- }
314
- data = group.members.map(function (member) {
315
- return {
316
- 'Email': member.email,
317
- 'Type': member.type,
318
- 'Role': member.role,
319
- 'Status': member.status
320
- };
321
- });
322
- console.log();
323
- console.log(columnify(data, {
324
- columnSplitter: ' ',
325
- maxLineWidth: 'auto',
326
- truncate: true,
327
- config: {
328
- Email: { minWidth: 35, headingTransform: chalk_1.default.dim },
329
- Type: { minWidth: 10, headingTransform: chalk_1.default.dim },
330
- Role: { minWidth: 10, headingTransform: chalk_1.default.dim },
331
- Status: { minWidth: 10, headingTransform: chalk_1.default.dim }
332
- }
333
- }));
334
- console.log(chalk_1.default.dim("\nTotal members: " + group.members.length));
335
- return [2 /*return*/];
336
- }
337
- });
338
- }); };
339
- var groupInfo = function (groupId) { return __awaiter(_this, void 0, void 0, function () {
340
- var group, data;
341
- return __generator(this, function (_a) {
342
- switch (_a.label) {
343
- case 0: return [4 /*yield*/, _loadGroupForId(groupId)];
344
- case 1:
345
- group = _a.sent();
346
- util_1.debug(group);
347
- console.log("Name: " + (group.name));
348
- console.log("Description: " + (group.description ? group.description : '(None)'));
349
- console.log("Email address: " + chalk_1.default.cyanBright(group.email));
350
- if (group.members.length === 0) {
351
- console.log('\nGroup is empty.\n');
352
- return [2 /*return*/];
353
- }
354
- else {
355
- console.log();
356
- }
357
- data = group.members.map(function (member) {
358
- return {
359
- 'Member Email': member.email,
360
- 'Type': member.type,
361
- 'Role': member.role,
362
- 'Status': member.status
363
- };
364
- });
365
- console.log(columnify(data, {
366
- columnSplitter: ' ',
367
- maxLineWidth: 'auto',
368
- truncate: true,
369
- config: {
370
- 'Member Email': { minWidth: 35, headingTransform: chalk_1.default.dim },
371
- Type: { minWidth: 10, headingTransform: chalk_1.default.dim },
372
- Role: { minWidth: 10, headingTransform: chalk_1.default.dim },
373
- Status: { minWidth: 10, headingTransform: chalk_1.default.dim }
374
- }
375
- }));
376
- console.log(chalk_1.default.dim("\nTotal members: " + group.members.length));
377
- return [2 /*return*/];
378
- }
379
- });
380
- }); };
381
- var addToGroup = function (groupId, userId) { return __awaiter(_this, void 0, void 0, function () {
382
- var spinner, error_1;
383
- return __generator(this, function (_a) {
384
- switch (_a.label) {
385
- case 0:
386
- spinner = ora_1.default("Adding " + userId + " to " + groupId + " ...").start();
387
- _a.label = 1;
388
- case 1:
389
- _a.trys.push([1, 3, , 4]);
390
- return [4 /*yield*/, got_1.default.post(config_1.API_BASE_URL + "/groups/" + groupId + "/add_member", { body: { email: userId },
391
- json: true,
392
- headers: { 'Authorization': "Bearer " + config_1.API_TOKEN }
393
- })];
394
- case 2:
395
- _a.sent();
396
- spinner.succeed("Success! Added " + chalk_1.default.cyan(userId) + " to " + chalk_1.default.cyan(groupId));
397
- return [3 /*break*/, 4];
398
- case 3:
399
- error_1 = _a.sent();
400
- spinner.fail(error_1);
401
- return [3 /*break*/, 4];
402
- case 4: return [2 /*return*/];
403
- }
404
- });
405
- }); };
406
- var removeFromGroup = function (groupId, userId) { return __awaiter(_this, void 0, void 0, function () {
407
- var spinner, error_2;
408
- return __generator(this, function (_a) {
409
- switch (_a.label) {
410
- case 0:
411
- spinner = ora_1.default("Removing " + userId + " from " + groupId + " ...").start();
412
- _a.label = 1;
413
- case 1:
414
- _a.trys.push([1, 3, , 4]);
415
- return [4 /*yield*/, got_1.default.post(config_1.API_BASE_URL + "/groups/" + groupId + "/remove_member", { body: { email: userId },
416
- json: true,
417
- headers: { 'Authorization': "Bearer " + config_1.API_TOKEN }
418
- })];
419
- case 2:
420
- _a.sent();
421
- spinner.succeed("Success! Removed " + chalk_1.default.cyan(userId) + " from " + chalk_1.default.cyan(groupId));
422
- return [3 /*break*/, 4];
423
- case 3:
424
- error_2 = _a.sent();
425
- spinner.fail(error_2);
426
- return [3 /*break*/, 4];
427
- case 4: return [2 /*return*/];
428
- }
429
- });
430
- }); };
431
- var deleteGroup = function (groupId) { return __awaiter(_this, void 0, void 0, function () {
432
- var answers, spinner, error_3;
433
- return __generator(this, function (_a) {
434
- switch (_a.label) {
435
- case 0:
436
- if (!!cli_1.cli.flags.yes) return [3 /*break*/, 2];
437
- return [4 /*yield*/, inquirer_1.default.prompt([
438
- { type: 'confirm',
439
- name: 'confirmed',
440
- default: false,
441
- prefix: figures_1.default.pointer,
442
- message: "Are you sure you want to delete the group " + groupId + " ? ",
443
- }
444
- ])];
445
- case 1:
446
- answers = _a.sent();
447
- if (!answers.confirmed) {
448
- process.exit();
449
- }
450
- _a.label = 2;
451
- case 2:
452
- spinner = ora_1.default(" Deleting group " + groupId + " ...").start();
453
- _a.label = 3;
454
- case 3:
455
- _a.trys.push([3, 5, , 6]);
456
- return [4 /*yield*/, got_1.default.delete(config_1.API_BASE_URL + "/groups/" + groupId + "/", { headers: { 'Authorization': "Bearer " + config_1.API_TOKEN }
457
- })];
458
- case 4:
459
- _a.sent();
460
- spinner.succeed("Success! Removed group " + chalk_1.default.cyan(groupId));
461
- return [3 /*break*/, 6];
462
- case 5:
463
- error_3 = _a.sent();
464
- spinner.fail(error_3);
465
- return [3 /*break*/, 6];
466
- case 6: return [2 /*return*/];
467
- }
468
- });
469
- }); };
470
- var listDeletedGroups = function () { return __awaiter(_this, void 0, void 0, function () {
471
- return __generator(this, function (_a) {
472
- throw Error('Not implemented yet.');
473
- });
474
- }); };
475
- var undeleteGroup = function (groupId) { return __awaiter(_this, void 0, void 0, function () {
476
- return __generator(this, function (_a) {
477
- throw Error('Not implemented yet.');
478
- });
479
- }); };
480
- //# sourceMappingURL=groups.js.map
package/build/index.js DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- require('./main').main();
3
- //# sourceMappingURL=index.js.map
package/build/info.js DELETED
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- var __importDefault = (this && this.__importDefault) || function (mod) {
38
- return (mod && mod.__esModule) ? mod : { "default": mod };
39
- };
40
- var _this = this;
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- var util_1 = require("./util");
43
- var config_1 = require("./config");
44
- var got_1 = __importDefault(require("got"));
45
- exports.showInfo = function () { return __awaiter(_this, void 0, void 0, function () {
46
- var account, apiResp;
47
- return __generator(this, function (_a) {
48
- switch (_a.label) {
49
- case 0:
50
- account = config_1.config.get('ACCOUNT');
51
- util_1.log("Account: " + JSON.stringify(account, null, 2));
52
- util_1.log("API_TOKEN: " + config_1.API_TOKEN);
53
- util_1.log("OAUTH_BASE_URL: " + config_1.OAUTH_BASE_URL);
54
- util_1.log("API_BASE_URL: " + config_1.API_BASE_URL);
55
- util_1.log("G_SUITE_DOMAIN: " + config_1.G_SUITE_DOMAIN);
56
- return [4 /*yield*/, got_1.default(config_1.API_BASE_URL + "/me", {
57
- json: true,
58
- headers: {
59
- 'Authorization': "Bearer " + config_1.API_TOKEN
60
- }
61
- })];
62
- case 1:
63
- apiResp = _a.sent();
64
- util_1.log(JSON.stringify(apiResp.body, undefined, 2));
65
- return [2 /*return*/];
66
- }
67
- });
68
- }); };
69
- //# sourceMappingURL=info.js.map