dominion-cli 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 (298) hide show
  1. package/README.md +304 -0
  2. package/dist/app.d.ts +15 -0
  3. package/dist/app.d.ts.map +1 -0
  4. package/dist/app.js +36 -0
  5. package/dist/app.js.map +1 -0
  6. package/dist/cli.d.ts +9 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +369 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/commands/account.d.ts +28 -0
  11. package/dist/commands/account.d.ts.map +1 -0
  12. package/dist/commands/account.js +133 -0
  13. package/dist/commands/account.js.map +1 -0
  14. package/dist/commands/billing.d.ts +16 -0
  15. package/dist/commands/billing.d.ts.map +1 -0
  16. package/dist/commands/billing.js +61 -0
  17. package/dist/commands/billing.js.map +1 -0
  18. package/dist/commands/buy.d.ts +27 -0
  19. package/dist/commands/buy.d.ts.map +1 -0
  20. package/dist/commands/buy.js +293 -0
  21. package/dist/commands/buy.js.map +1 -0
  22. package/dist/commands/cart/add.d.ts +17 -0
  23. package/dist/commands/cart/add.d.ts.map +1 -0
  24. package/dist/commands/cart/add.js +119 -0
  25. package/dist/commands/cart/add.js.map +1 -0
  26. package/dist/commands/cart/clear.d.ts +12 -0
  27. package/dist/commands/cart/clear.d.ts.map +1 -0
  28. package/dist/commands/cart/clear.js +49 -0
  29. package/dist/commands/cart/clear.js.map +1 -0
  30. package/dist/commands/cart/index.d.ts +8 -0
  31. package/dist/commands/cart/index.d.ts.map +1 -0
  32. package/dist/commands/cart/index.js +8 -0
  33. package/dist/commands/cart/index.js.map +1 -0
  34. package/dist/commands/cart/list.d.ts +14 -0
  35. package/dist/commands/cart/list.d.ts.map +1 -0
  36. package/dist/commands/cart/list.js +51 -0
  37. package/dist/commands/cart/list.js.map +1 -0
  38. package/dist/commands/cart/remove.d.ts +13 -0
  39. package/dist/commands/cart/remove.d.ts.map +1 -0
  40. package/dist/commands/cart/remove.js +24 -0
  41. package/dist/commands/cart/remove.js.map +1 -0
  42. package/dist/commands/credits.d.ts +10 -0
  43. package/dist/commands/credits.d.ts.map +1 -0
  44. package/dist/commands/credits.js +139 -0
  45. package/dist/commands/credits.js.map +1 -0
  46. package/dist/commands/dns/add.d.ts +30 -0
  47. package/dist/commands/dns/add.d.ts.map +1 -0
  48. package/dist/commands/dns/add.js +144 -0
  49. package/dist/commands/dns/add.js.map +1 -0
  50. package/dist/commands/dns/index.d.ts +7 -0
  51. package/dist/commands/dns/index.d.ts.map +1 -0
  52. package/dist/commands/dns/index.js +7 -0
  53. package/dist/commands/dns/index.js.map +1 -0
  54. package/dist/commands/dns/list.d.ts +24 -0
  55. package/dist/commands/dns/list.d.ts.map +1 -0
  56. package/dist/commands/dns/list.js +111 -0
  57. package/dist/commands/dns/list.js.map +1 -0
  58. package/dist/commands/dns/remove.d.ts +24 -0
  59. package/dist/commands/dns/remove.d.ts.map +1 -0
  60. package/dist/commands/dns/remove.js +137 -0
  61. package/dist/commands/dns/remove.js.map +1 -0
  62. package/dist/commands/domains/detail.d.ts +20 -0
  63. package/dist/commands/domains/detail.d.ts.map +1 -0
  64. package/dist/commands/domains/detail.js +112 -0
  65. package/dist/commands/domains/detail.js.map +1 -0
  66. package/dist/commands/domains/index.d.ts +6 -0
  67. package/dist/commands/domains/index.d.ts.map +1 -0
  68. package/dist/commands/domains/index.js +6 -0
  69. package/dist/commands/domains/index.js.map +1 -0
  70. package/dist/commands/domains/list.d.ts +21 -0
  71. package/dist/commands/domains/list.d.ts.map +1 -0
  72. package/dist/commands/domains/list.js +106 -0
  73. package/dist/commands/domains/list.js.map +1 -0
  74. package/dist/commands/hack.d.ts +9 -0
  75. package/dist/commands/hack.d.ts.map +1 -0
  76. package/dist/commands/hack.js +104 -0
  77. package/dist/commands/hack.js.map +1 -0
  78. package/dist/commands/integrations.d.ts +20 -0
  79. package/dist/commands/integrations.d.ts.map +1 -0
  80. package/dist/commands/integrations.js +92 -0
  81. package/dist/commands/integrations.js.map +1 -0
  82. package/dist/commands/login.d.ts +15 -0
  83. package/dist/commands/login.d.ts.map +1 -0
  84. package/dist/commands/login.js +95 -0
  85. package/dist/commands/login.js.map +1 -0
  86. package/dist/commands/logout.d.ts +13 -0
  87. package/dist/commands/logout.d.ts.map +1 -0
  88. package/dist/commands/logout.js +32 -0
  89. package/dist/commands/logout.js.map +1 -0
  90. package/dist/commands/search.d.ts +24 -0
  91. package/dist/commands/search.d.ts.map +1 -0
  92. package/dist/commands/search.js +162 -0
  93. package/dist/commands/search.js.map +1 -0
  94. package/dist/commands/settings/index.d.ts +6 -0
  95. package/dist/commands/settings/index.d.ts.map +1 -0
  96. package/dist/commands/settings/index.js +6 -0
  97. package/dist/commands/settings/index.js.map +1 -0
  98. package/dist/commands/settings/set.d.ts +25 -0
  99. package/dist/commands/settings/set.d.ts.map +1 -0
  100. package/dist/commands/settings/set.js +215 -0
  101. package/dist/commands/settings/set.js.map +1 -0
  102. package/dist/commands/settings/view.d.ts +17 -0
  103. package/dist/commands/settings/view.d.ts.map +1 -0
  104. package/dist/commands/settings/view.js +99 -0
  105. package/dist/commands/settings/view.js.map +1 -0
  106. package/dist/commands/team/add.d.ts +17 -0
  107. package/dist/commands/team/add.d.ts.map +1 -0
  108. package/dist/commands/team/add.js +64 -0
  109. package/dist/commands/team/add.js.map +1 -0
  110. package/dist/commands/team/index.d.ts +7 -0
  111. package/dist/commands/team/index.d.ts.map +1 -0
  112. package/dist/commands/team/index.js +7 -0
  113. package/dist/commands/team/index.js.map +1 -0
  114. package/dist/commands/team/list.d.ts +13 -0
  115. package/dist/commands/team/list.d.ts.map +1 -0
  116. package/dist/commands/team/list.js +51 -0
  117. package/dist/commands/team/list.js.map +1 -0
  118. package/dist/commands/team/remove.d.ts +14 -0
  119. package/dist/commands/team/remove.d.ts.map +1 -0
  120. package/dist/commands/team/remove.js +57 -0
  121. package/dist/commands/team/remove.js.map +1 -0
  122. package/dist/commands/vercel/index.d.ts +8 -0
  123. package/dist/commands/vercel/index.d.ts.map +1 -0
  124. package/dist/commands/vercel/index.js +8 -0
  125. package/dist/commands/vercel/index.js.map +1 -0
  126. package/dist/commands/vercel/link.d.ts +25 -0
  127. package/dist/commands/vercel/link.d.ts.map +1 -0
  128. package/dist/commands/vercel/link.js +176 -0
  129. package/dist/commands/vercel/link.js.map +1 -0
  130. package/dist/commands/vercel/setup.d.ts +13 -0
  131. package/dist/commands/vercel/setup.d.ts.map +1 -0
  132. package/dist/commands/vercel/setup.js +113 -0
  133. package/dist/commands/vercel/setup.js.map +1 -0
  134. package/dist/commands/vercel/status.d.ts +15 -0
  135. package/dist/commands/vercel/status.d.ts.map +1 -0
  136. package/dist/commands/vercel/status.js +103 -0
  137. package/dist/commands/vercel/status.js.map +1 -0
  138. package/dist/commands/vercel/unlink.d.ts +16 -0
  139. package/dist/commands/vercel/unlink.d.ts.map +1 -0
  140. package/dist/commands/vercel/unlink.js +118 -0
  141. package/dist/commands/vercel/unlink.js.map +1 -0
  142. package/dist/commands/webhooks/add.d.ts +16 -0
  143. package/dist/commands/webhooks/add.d.ts.map +1 -0
  144. package/dist/commands/webhooks/add.js +61 -0
  145. package/dist/commands/webhooks/add.js.map +1 -0
  146. package/dist/commands/webhooks/index.d.ts +7 -0
  147. package/dist/commands/webhooks/index.d.ts.map +1 -0
  148. package/dist/commands/webhooks/index.js +7 -0
  149. package/dist/commands/webhooks/index.js.map +1 -0
  150. package/dist/commands/webhooks/list.d.ts +14 -0
  151. package/dist/commands/webhooks/list.d.ts.map +1 -0
  152. package/dist/commands/webhooks/list.js +47 -0
  153. package/dist/commands/webhooks/list.js.map +1 -0
  154. package/dist/commands/webhooks/remove.d.ts +14 -0
  155. package/dist/commands/webhooks/remove.d.ts.map +1 -0
  156. package/dist/commands/webhooks/remove.js +57 -0
  157. package/dist/commands/webhooks/remove.js.map +1 -0
  158. package/dist/commands/whoami.d.ts +13 -0
  159. package/dist/commands/whoami.d.ts.map +1 -0
  160. package/dist/commands/whoami.js +33 -0
  161. package/dist/commands/whoami.js.map +1 -0
  162. package/dist/components/account-card.d.ts +17 -0
  163. package/dist/components/account-card.d.ts.map +1 -0
  164. package/dist/components/account-card.js +19 -0
  165. package/dist/components/account-card.js.map +1 -0
  166. package/dist/components/billing-table.d.ts +22 -0
  167. package/dist/components/billing-table.d.ts.map +1 -0
  168. package/dist/components/billing-table.js +53 -0
  169. package/dist/components/billing-table.js.map +1 -0
  170. package/dist/components/celebration.d.ts +21 -0
  171. package/dist/components/celebration.d.ts.map +1 -0
  172. package/dist/components/celebration.js +55 -0
  173. package/dist/components/celebration.js.map +1 -0
  174. package/dist/components/contact-form.d.ts +23 -0
  175. package/dist/components/contact-form.d.ts.map +1 -0
  176. package/dist/components/contact-form.js +109 -0
  177. package/dist/components/contact-form.js.map +1 -0
  178. package/dist/components/dns-table.d.ts +14 -0
  179. package/dist/components/dns-table.d.ts.map +1 -0
  180. package/dist/components/dns-table.js +71 -0
  181. package/dist/components/dns-table.js.map +1 -0
  182. package/dist/components/domain-card.d.ts +14 -0
  183. package/dist/components/domain-card.d.ts.map +1 -0
  184. package/dist/components/domain-card.js +41 -0
  185. package/dist/components/domain-card.js.map +1 -0
  186. package/dist/components/domain-table.d.ts +30 -0
  187. package/dist/components/domain-table.d.ts.map +1 -0
  188. package/dist/components/domain-table.js +87 -0
  189. package/dist/components/domain-table.js.map +1 -0
  190. package/dist/components/error-display.d.ts +25 -0
  191. package/dist/components/error-display.d.ts.map +1 -0
  192. package/dist/components/error-display.js +51 -0
  193. package/dist/components/error-display.js.map +1 -0
  194. package/dist/components/layout.d.ts +14 -0
  195. package/dist/components/layout.d.ts.map +1 -0
  196. package/dist/components/layout.js +21 -0
  197. package/dist/components/layout.js.map +1 -0
  198. package/dist/components/logo.d.ts +37 -0
  199. package/dist/components/logo.d.ts.map +1 -0
  200. package/dist/components/logo.js +70 -0
  201. package/dist/components/logo.js.map +1 -0
  202. package/dist/components/matrix-rain.d.ts +17 -0
  203. package/dist/components/matrix-rain.d.ts.map +1 -0
  204. package/dist/components/matrix-rain.js +105 -0
  205. package/dist/components/matrix-rain.js.map +1 -0
  206. package/dist/components/purchase-confirmation.d.ts +17 -0
  207. package/dist/components/purchase-confirmation.d.ts.map +1 -0
  208. package/dist/components/purchase-confirmation.js +17 -0
  209. package/dist/components/purchase-confirmation.js.map +1 -0
  210. package/dist/components/search-results.d.ts +30 -0
  211. package/dist/components/search-results.d.ts.map +1 -0
  212. package/dist/components/search-results.js +53 -0
  213. package/dist/components/search-results.js.map +1 -0
  214. package/dist/components/settings-card.d.ts +14 -0
  215. package/dist/components/settings-card.d.ts.map +1 -0
  216. package/dist/components/settings-card.js +40 -0
  217. package/dist/components/settings-card.js.map +1 -0
  218. package/dist/components/spinner-messages.d.ts +19 -0
  219. package/dist/components/spinner-messages.d.ts.map +1 -0
  220. package/dist/components/spinner-messages.js +55 -0
  221. package/dist/components/spinner-messages.js.map +1 -0
  222. package/dist/lib/achievements.d.ts +107 -0
  223. package/dist/lib/achievements.d.ts.map +1 -0
  224. package/dist/lib/achievements.js +341 -0
  225. package/dist/lib/achievements.js.map +1 -0
  226. package/dist/lib/auth.d.ts +45 -0
  227. package/dist/lib/auth.d.ts.map +1 -0
  228. package/dist/lib/auth.js +125 -0
  229. package/dist/lib/auth.js.map +1 -0
  230. package/dist/lib/cart.d.ts +69 -0
  231. package/dist/lib/cart.d.ts.map +1 -0
  232. package/dist/lib/cart.js +131 -0
  233. package/dist/lib/cart.js.map +1 -0
  234. package/dist/lib/config.d.ts +51 -0
  235. package/dist/lib/config.d.ts.map +1 -0
  236. package/dist/lib/config.js +116 -0
  237. package/dist/lib/config.js.map +1 -0
  238. package/dist/lib/dns-validation.d.ts +51 -0
  239. package/dist/lib/dns-validation.d.ts.map +1 -0
  240. package/dist/lib/dns-validation.js +185 -0
  241. package/dist/lib/dns-validation.js.map +1 -0
  242. package/dist/lib/easter-eggs.d.ts +21 -0
  243. package/dist/lib/easter-eggs.d.ts.map +1 -0
  244. package/dist/lib/easter-eggs.js +64 -0
  245. package/dist/lib/easter-eggs.js.map +1 -0
  246. package/dist/lib/error-personality.d.ts +35 -0
  247. package/dist/lib/error-personality.d.ts.map +1 -0
  248. package/dist/lib/error-personality.js +191 -0
  249. package/dist/lib/error-personality.js.map +1 -0
  250. package/dist/lib/errors.d.ts +8 -0
  251. package/dist/lib/errors.d.ts.map +1 -0
  252. package/dist/lib/errors.js +7 -0
  253. package/dist/lib/errors.js.map +1 -0
  254. package/dist/lib/konami.d.ts +51 -0
  255. package/dist/lib/konami.d.ts.map +1 -0
  256. package/dist/lib/konami.js +107 -0
  257. package/dist/lib/konami.js.map +1 -0
  258. package/dist/lib/loading-messages.d.ts +13 -0
  259. package/dist/lib/loading-messages.d.ts.map +1 -0
  260. package/dist/lib/loading-messages.js +13 -0
  261. package/dist/lib/loading-messages.js.map +1 -0
  262. package/dist/lib/namecom-client.d.ts +73 -0
  263. package/dist/lib/namecom-client.d.ts.map +1 -0
  264. package/dist/lib/namecom-client.js +260 -0
  265. package/dist/lib/namecom-client.js.map +1 -0
  266. package/dist/lib/nameserver-presets.d.ts +27 -0
  267. package/dist/lib/nameserver-presets.d.ts.map +1 -0
  268. package/dist/lib/nameserver-presets.js +45 -0
  269. package/dist/lib/nameserver-presets.js.map +1 -0
  270. package/dist/lib/purchase.d.ts +71 -0
  271. package/dist/lib/purchase.d.ts.map +1 -0
  272. package/dist/lib/purchase.js +160 -0
  273. package/dist/lib/purchase.js.map +1 -0
  274. package/dist/lib/schemas.d.ts +1968 -0
  275. package/dist/lib/schemas.d.ts.map +1 -0
  276. package/dist/lib/schemas.js +112 -0
  277. package/dist/lib/schemas.js.map +1 -0
  278. package/dist/lib/team.d.ts +71 -0
  279. package/dist/lib/team.d.ts.map +1 -0
  280. package/dist/lib/team.js +135 -0
  281. package/dist/lib/team.js.map +1 -0
  282. package/dist/lib/theme.d.ts +152 -0
  283. package/dist/lib/theme.d.ts.map +1 -0
  284. package/dist/lib/theme.js +185 -0
  285. package/dist/lib/theme.js.map +1 -0
  286. package/dist/lib/types.d.ts +136 -0
  287. package/dist/lib/types.d.ts.map +1 -0
  288. package/dist/lib/types.js +19 -0
  289. package/dist/lib/types.js.map +1 -0
  290. package/dist/lib/vercel-client.d.ts +110 -0
  291. package/dist/lib/vercel-client.d.ts.map +1 -0
  292. package/dist/lib/vercel-client.js +196 -0
  293. package/dist/lib/vercel-client.js.map +1 -0
  294. package/dist/lib/webhooks.d.ts +83 -0
  295. package/dist/lib/webhooks.d.ts.map +1 -0
  296. package/dist/lib/webhooks.js +195 -0
  297. package/dist/lib/webhooks.js.map +1 -0
  298. package/package.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/dns/list.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * dominion dns <domain> remove <record-id> — delete a DNS record.
3
+ *
4
+ * Fetches the record details first to display a confirmation prompt,
5
+ * then deletes via NamecomClient.deleteDnsRecord() and re-displays
6
+ * the updated record list.
7
+ *
8
+ * Features:
9
+ * - Shows record details before deletion for confirmation
10
+ * - Re-displays updated record list after removal
11
+ * - --json flag outputs the deleted record info as JSON
12
+ */
13
+ import { NamecomClient } from "../../lib/namecom-client.js";
14
+ import { ConfigManager } from "../../lib/config.js";
15
+ export interface DnsRemoveProps {
16
+ domain: string;
17
+ recordId: number;
18
+ json?: boolean;
19
+ configManager?: ConfigManager;
20
+ client?: NamecomClient;
21
+ }
22
+ export declare function DnsRemove({ domain, recordId, json, configManager, client }: DnsRemoveProps): import("react/jsx-runtime").JSX.Element | null;
23
+ export default DnsRemove;
24
+ //# sourceMappingURL=remove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/commands/dns/remove.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAID,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,cAAc,kDA2K1F;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,137 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * dominion dns <domain> remove <record-id> — delete a DNS record.
4
+ *
5
+ * Fetches the record details first to display a confirmation prompt,
6
+ * then deletes via NamecomClient.deleteDnsRecord() and re-displays
7
+ * the updated record list.
8
+ *
9
+ * Features:
10
+ * - Shows record details before deletion for confirmation
11
+ * - Re-displays updated record list after removal
12
+ * - --json flag outputs the deleted record info as JSON
13
+ */
14
+ import { Box, Text, useApp } from "ink";
15
+ import { useState, useEffect, useRef } from "react";
16
+ import { NamecomClient } from "../../lib/namecom-client.js";
17
+ import { ConfigManager } from "../../lib/config.js";
18
+ import { getAuthStatus } from "../../lib/auth.js";
19
+ import { getRandomMessage } from "../../components/spinner-messages.js";
20
+ import { DnsTable } from "../../components/dns-table.js";
21
+ import { DomainError } from "../../lib/types.js";
22
+ export function DnsRemove({ domain, recordId, json, configManager, client }) {
23
+ const { exit } = useApp();
24
+ const [state, setState] = useState("loading");
25
+ const [deletedRecord, setDeletedRecord] = useState(null);
26
+ const [allRecords, setAllRecords] = useState([]);
27
+ const [loadingMessage, setLoadingMessage] = useState(getRandomMessage());
28
+ const [errorMessage, setErrorMessage] = useState("");
29
+ const intervalRef = useRef(null);
30
+ // Rotate loading messages
31
+ useEffect(() => {
32
+ if (state === "loading" || state === "deleting" || state === "refreshing") {
33
+ intervalRef.current = setInterval(() => {
34
+ setLoadingMessage(getRandomMessage());
35
+ }, 2000);
36
+ return () => {
37
+ if (intervalRef.current) {
38
+ clearInterval(intervalRef.current);
39
+ }
40
+ };
41
+ }
42
+ }, [state]);
43
+ // Fetch record details, delete, and refresh
44
+ useEffect(() => {
45
+ let cancelled = false;
46
+ const manager = configManager ?? new ConfigManager();
47
+ async function removeRecord() {
48
+ // Check auth
49
+ const authStatus = getAuthStatus(manager);
50
+ if (!authStatus.authenticated) {
51
+ setErrorMessage("Please run `dominion login` first to manage DNS records.");
52
+ setState("error");
53
+ setTimeout(() => exit(), 200);
54
+ return;
55
+ }
56
+ try {
57
+ const apiClient = client ?? new NamecomClient();
58
+ // First, fetch all records to find the one being deleted (for display)
59
+ const response = await apiClient.listDnsRecords(domain);
60
+ if (cancelled)
61
+ return;
62
+ const targetRecord = response.records?.find((r) => r.id === recordId);
63
+ if (!targetRecord) {
64
+ setErrorMessage(`Record ID ${recordId} not found for ${domain}. Run \`dominion dns ${domain}\` to see all records.`);
65
+ setState("error");
66
+ setTimeout(() => exit(), 200);
67
+ return;
68
+ }
69
+ setDeletedRecord(targetRecord);
70
+ // Delete the record
71
+ setState("deleting");
72
+ await apiClient.deleteDnsRecord(domain, recordId);
73
+ if (cancelled)
74
+ return;
75
+ // For --json output, print deleted record info and exit
76
+ if (json) {
77
+ console.log(JSON.stringify({ deleted: targetRecord }, null, 2));
78
+ setState("done");
79
+ setTimeout(() => exit(), 200);
80
+ return;
81
+ }
82
+ // Refresh the records list
83
+ setState("refreshing");
84
+ const refreshed = await apiClient.listDnsRecords(domain);
85
+ if (cancelled)
86
+ return;
87
+ setAllRecords(refreshed.records ?? []);
88
+ setState("done");
89
+ setTimeout(() => exit(), 200);
90
+ }
91
+ catch (err) {
92
+ if (cancelled)
93
+ return;
94
+ if (err instanceof DomainError) {
95
+ if (err.code === "DOMAIN_NOT_FOUND") {
96
+ setErrorMessage(`Domain "${domain}" not found in your account. Run \`dominion domains\` to see your domains.`);
97
+ }
98
+ else {
99
+ setErrorMessage(err.message);
100
+ }
101
+ }
102
+ else {
103
+ setErrorMessage(err instanceof Error
104
+ ? err.message
105
+ : "An unexpected error occurred while removing the DNS record.");
106
+ }
107
+ setState("error");
108
+ setTimeout(() => exit(), 200);
109
+ }
110
+ }
111
+ removeRecord();
112
+ return () => {
113
+ cancelled = true;
114
+ };
115
+ }, [domain, recordId, json, configManager, client, exit]);
116
+ // ─── Loading state ──────────────────────────────────────────────────────────
117
+ if (state === "loading" || state === "deleting" || state === "refreshing") {
118
+ const statusMsg = state === "loading"
119
+ ? "Fetching record details..."
120
+ : state === "deleting"
121
+ ? `Deleting record ${recordId} from ${domain}...`
122
+ : "Refreshing record list...";
123
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: statusMsg }), _jsxs(Text, { color: "yellow", children: ["\u2837", " ", loadingMessage] })] }));
124
+ }
125
+ // ─── Error state ────────────────────────────────────────────────────────────
126
+ if (state === "error") {
127
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { bold: true, color: "red", children: "Failed to remove DNS record" }), _jsx(Text, { color: "red", children: errorMessage })] }));
128
+ }
129
+ // ─── JSON output ────────────────────────────────────────────────────────────
130
+ if (json) {
131
+ return null;
132
+ }
133
+ // ─── Success output ─────────────────────────────────────────────────────────
134
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: "green", children: ["\u2713", " "] }), _jsx(Text, { bold: true, color: "green", children: "DNS record removed" })] }), deletedRecord && (_jsx(Box, { flexDirection: "column", marginLeft: 2, children: _jsxs(Text, { color: "gray", children: ["Deleted: ", deletedRecord.type, " record for", " ", _jsx(Text, { color: "white", children: deletedRecord.host || "@" }), " → ", _jsx(Text, { color: "white", children: deletedRecord.answer }), _jsxs(Text, { color: "gray", children: [" (ID: ", deletedRecord.id, ")"] })] }) })), _jsxs(Text, { bold: true, color: "cyan", children: ["DNS Records for ", domain] }), _jsx(DnsTable, { records: allRecords, domain: domain })] }));
135
+ }
136
+ export default DnsRemove;
137
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/commands/dns/remove.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * dominion domains <domain> — view full details for a specific domain.
3
+ *
4
+ * Fetches domain info via NamecomClient.getDomain() and displays it
5
+ * in a boxen-style card layout with clear section headers.
6
+ *
7
+ * Features:
8
+ * - Domain name, nameservers, dates, auto-renew, lock, privacy, renewal price
9
+ * - Contacts displayed (name + email only)
10
+ * - --json flag outputs raw JSON for piping/scripting
11
+ */
12
+ import { ConfigManager } from "../../lib/config.js";
13
+ export interface DomainDetailProps {
14
+ domain: string;
15
+ json?: boolean;
16
+ configManager?: ConfigManager;
17
+ }
18
+ export declare function DomainDetail({ domain, json, configManager }: DomainDetailProps): import("react/jsx-runtime").JSX.Element | null;
19
+ export default DomainDetail;
20
+ //# sourceMappingURL=detail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail.d.ts","sourceRoot":"","sources":["../../../src/commands/domains/detail.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAID,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,iBAAiB,kDAoI9E;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,112 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * dominion domains <domain> — view full details for a specific domain.
4
+ *
5
+ * Fetches domain info via NamecomClient.getDomain() and displays it
6
+ * in a boxen-style card layout with clear section headers.
7
+ *
8
+ * Features:
9
+ * - Domain name, nameservers, dates, auto-renew, lock, privacy, renewal price
10
+ * - Contacts displayed (name + email only)
11
+ * - --json flag outputs raw JSON for piping/scripting
12
+ */
13
+ import { Box, Text, useApp } from "ink";
14
+ import { useState, useEffect, useRef } from "react";
15
+ import { NamecomClient } from "../../lib/namecom-client.js";
16
+ import { ConfigManager } from "../../lib/config.js";
17
+ import { getAuthStatus } from "../../lib/auth.js";
18
+ import { getRandomMessage } from "../../components/spinner-messages.js";
19
+ import { DomainCard } from "../../components/domain-card.js";
20
+ import { DomainError } from "../../lib/types.js";
21
+ export function DomainDetail({ domain, json, configManager }) {
22
+ const { exit } = useApp();
23
+ const [state, setState] = useState("loading");
24
+ const [domainData, setDomainData] = useState(null);
25
+ const [loadingMessage, setLoadingMessage] = useState(getRandomMessage());
26
+ const [errorMessage, setErrorMessage] = useState("");
27
+ const intervalRef = useRef(null);
28
+ // Rotate loading messages
29
+ useEffect(() => {
30
+ if (state === "loading") {
31
+ intervalRef.current = setInterval(() => {
32
+ setLoadingMessage(getRandomMessage());
33
+ }, 2000);
34
+ return () => {
35
+ if (intervalRef.current) {
36
+ clearInterval(intervalRef.current);
37
+ }
38
+ };
39
+ }
40
+ }, [state]);
41
+ // Fetch domain details
42
+ useEffect(() => {
43
+ let cancelled = false;
44
+ const manager = configManager ?? new ConfigManager();
45
+ async function fetchDomain() {
46
+ // Check auth
47
+ const authStatus = getAuthStatus(manager);
48
+ if (!authStatus.authenticated) {
49
+ setErrorMessage("Please run `dominion login` first to view domain details.");
50
+ setState("error");
51
+ setTimeout(() => exit(), 200);
52
+ return;
53
+ }
54
+ try {
55
+ const client = new NamecomClient();
56
+ const data = await client.getDomain(domain);
57
+ if (cancelled)
58
+ return;
59
+ setDomainData(data);
60
+ setState("done");
61
+ // For --json output, print and exit immediately
62
+ if (json) {
63
+ console.log(JSON.stringify(data, null, 2));
64
+ }
65
+ setTimeout(() => exit(), 200);
66
+ }
67
+ catch (err) {
68
+ if (cancelled)
69
+ return;
70
+ if (err instanceof DomainError) {
71
+ if (err.code === "DOMAIN_NOT_FOUND") {
72
+ setErrorMessage(`Domain "${domain}" not found in your account. Run \`dominion domains\` to see your domains.`);
73
+ }
74
+ else {
75
+ setErrorMessage(err.message);
76
+ }
77
+ }
78
+ else {
79
+ setErrorMessage(err instanceof Error
80
+ ? err.message
81
+ : "An unexpected error occurred while fetching domain details.");
82
+ }
83
+ setState("error");
84
+ setTimeout(() => exit(), 200);
85
+ }
86
+ }
87
+ fetchDomain();
88
+ return () => {
89
+ cancelled = true;
90
+ };
91
+ }, [domain, json, configManager, exit]);
92
+ // ─── Loading state ──────────────────────────────────────────────────────────
93
+ if (state === "loading") {
94
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsxs(Text, { bold: true, color: "cyan", children: ["Loading ", domain, "..."] }), _jsxs(Text, { color: "yellow", children: ["\u2837", " ", loadingMessage] })] }));
95
+ }
96
+ // ─── Error state ────────────────────────────────────────────────────────────
97
+ if (state === "error") {
98
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { bold: true, color: "red", children: "Failed to load domain details" }), _jsx(Text, { color: "red", children: errorMessage })] }));
99
+ }
100
+ // ─── JSON output ────────────────────────────────────────────────────────────
101
+ if (json) {
102
+ // JSON was already printed to stdout; show nothing in Ink
103
+ return null;
104
+ }
105
+ // ─── Card output ────────────────────────────────────────────────────────────
106
+ if (!domainData) {
107
+ return null;
108
+ }
109
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(DomainCard, { domain: domainData }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "gray", children: ["Manage DNS with", " ", _jsxs(Text, { bold: true, color: "white", children: ["dominion dns ", domain] }), " or change settings with ", _jsxs(Text, { bold: true, color: "white", children: ["dominion settings ", domain] })] }) })] }));
110
+ }
111
+ export default DomainDetail;
112
+ //# sourceMappingURL=detail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail.js","sourceRoot":"","sources":["../../../src/commands/domains/detail.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Barrel exports for domain management commands.
3
+ */
4
+ export { DomainsList } from "./list.js";
5
+ export { DomainDetail } from "./detail.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/domains/index.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Barrel exports for domain management commands.
3
+ */
4
+ export { DomainsList } from "./list.js";
5
+ export { DomainDetail } from "./detail.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/domains/index.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * dominion domains (alias: dominion domains ls) — list all domains.
3
+ *
4
+ * Fetches all domains via NamecomClient.listDomainsAllPages() and
5
+ * displays them in a formatted table with status highlighting.
6
+ *
7
+ * Features:
8
+ * - Domains expiring within 30 days highlighted in yellow
9
+ * - Expired domains highlighted in red
10
+ * - --json flag outputs raw JSON for piping/scripting
11
+ * - Automatic pagination (fetches all pages)
12
+ * - Empty state with hint to dominion search
13
+ */
14
+ import { ConfigManager } from "../../lib/config.js";
15
+ export interface DomainsListProps {
16
+ json?: boolean;
17
+ configManager?: ConfigManager;
18
+ }
19
+ export declare function DomainsList({ json, configManager }: DomainsListProps): import("react/jsx-runtime").JSX.Element | null;
20
+ export default DomainsList;
21
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/domains/list.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAID,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,gBAAgB,kDAiHpE;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,106 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * dominion domains (alias: dominion domains ls) — list all domains.
4
+ *
5
+ * Fetches all domains via NamecomClient.listDomainsAllPages() and
6
+ * displays them in a formatted table with status highlighting.
7
+ *
8
+ * Features:
9
+ * - Domains expiring within 30 days highlighted in yellow
10
+ * - Expired domains highlighted in red
11
+ * - --json flag outputs raw JSON for piping/scripting
12
+ * - Automatic pagination (fetches all pages)
13
+ * - Empty state with hint to dominion search
14
+ */
15
+ import { Box, Text, useApp } from "ink";
16
+ import { useState, useEffect, useRef } from "react";
17
+ import { NamecomClient } from "../../lib/namecom-client.js";
18
+ import { ConfigManager } from "../../lib/config.js";
19
+ import { getAuthStatus } from "../../lib/auth.js";
20
+ import { getRandomMessage } from "../../components/spinner-messages.js";
21
+ import { DomainTable } from "../../components/domain-table.js";
22
+ import { DomainError } from "../../lib/types.js";
23
+ export function DomainsList({ json, configManager }) {
24
+ const { exit } = useApp();
25
+ const [state, setState] = useState("loading");
26
+ const [domains, setDomains] = useState([]);
27
+ const [loadingMessage, setLoadingMessage] = useState(getRandomMessage());
28
+ const [errorMessage, setErrorMessage] = useState("");
29
+ const intervalRef = useRef(null);
30
+ // Rotate loading messages
31
+ useEffect(() => {
32
+ if (state === "loading") {
33
+ intervalRef.current = setInterval(() => {
34
+ setLoadingMessage(getRandomMessage());
35
+ }, 2000);
36
+ return () => {
37
+ if (intervalRef.current) {
38
+ clearInterval(intervalRef.current);
39
+ }
40
+ };
41
+ }
42
+ }, [state]);
43
+ // Fetch domains
44
+ useEffect(() => {
45
+ let cancelled = false;
46
+ const manager = configManager ?? new ConfigManager();
47
+ async function fetchDomains() {
48
+ // Check auth
49
+ const authStatus = getAuthStatus(manager);
50
+ if (!authStatus.authenticated) {
51
+ setErrorMessage("Please run `dominion login` first to list your domains.");
52
+ setState("error");
53
+ setTimeout(() => exit(), 200);
54
+ return;
55
+ }
56
+ try {
57
+ const client = new NamecomClient();
58
+ const allDomains = await client.listDomainsAllPages();
59
+ if (cancelled)
60
+ return;
61
+ setDomains(allDomains);
62
+ setState("done");
63
+ // For --json output, print and exit immediately
64
+ if (json) {
65
+ console.log(JSON.stringify(allDomains, null, 2));
66
+ }
67
+ setTimeout(() => exit(), 200);
68
+ }
69
+ catch (err) {
70
+ if (cancelled)
71
+ return;
72
+ if (err instanceof DomainError) {
73
+ setErrorMessage(err.message);
74
+ }
75
+ else {
76
+ setErrorMessage(err instanceof Error
77
+ ? err.message
78
+ : "An unexpected error occurred while fetching domains.");
79
+ }
80
+ setState("error");
81
+ setTimeout(() => exit(), 200);
82
+ }
83
+ }
84
+ fetchDomains();
85
+ return () => {
86
+ cancelled = true;
87
+ };
88
+ }, [json, configManager, exit]);
89
+ // ─── Loading state ──────────────────────────────────────────────────────────
90
+ if (state === "loading") {
91
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Loading domains..." }), _jsxs(Text, { color: "yellow", children: ["\u2837", " ", loadingMessage] })] }));
92
+ }
93
+ // ─── Error state ────────────────────────────────────────────────────────────
94
+ if (state === "error") {
95
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { bold: true, color: "red", children: "Failed to load domains" }), _jsx(Text, { color: "red", children: errorMessage })] }));
96
+ }
97
+ // ─── JSON output ────────────────────────────────────────────────────────────
98
+ if (json) {
99
+ // JSON was already printed to stdout; show nothing in Ink
100
+ return null;
101
+ }
102
+ // ─── Table output ───────────────────────────────────────────────────────────
103
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Your Domains" }), _jsx(DomainTable, { domains: domains })] }));
104
+ }
105
+ export default DomainsList;
106
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/domains/list.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * dominion hack — hidden easter egg command.
3
+ *
4
+ * "Hacking the mainframe" cyberpunk animation with fake progress bars.
5
+ * NOT listed in --help (truly hidden). Ends with a reassuring message.
6
+ */
7
+ export declare function Hack(): import("react/jsx-runtime").JSX.Element;
8
+ export default Hack;
9
+ //# sourceMappingURL=hack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hack.d.ts","sourceRoot":"","sources":["../../src/commands/hack.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2DH,wBAAgB,IAAI,4CAkHnB;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,104 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * dominion hack — hidden easter egg command.
4
+ *
5
+ * "Hacking the mainframe" cyberpunk animation with fake progress bars.
6
+ * NOT listed in --help (truly hidden). Ends with a reassuring message.
7
+ */
8
+ import { Box, Text, useApp } from "ink";
9
+ import { useState, useEffect } from "react";
10
+ const HACK_STAGES = [
11
+ { message: "Bypassing firewall", targetPercent: 23, color: "red" },
12
+ { message: "Injecting SQL", targetPercent: 67, color: "yellow" },
13
+ { message: "Stealing cookies", targetPercent: 91, color: "magenta" },
14
+ { message: "Decrypting passwords", targetPercent: 42, color: "cyan" },
15
+ { message: "Uploading backdoor", targetPercent: 78, color: "red" },
16
+ { message: "Deleting system32", targetPercent: 99, color: "yellow" },
17
+ { message: "Accessing mainframe", targetPercent: 100, color: "green" },
18
+ ];
19
+ // ─── ASCII Art ──────────────────────────────────────────────────────────────
20
+ const SKULL_ART = `
21
+ .-"""""-.
22
+ / \\
23
+ | .-. .-. |
24
+ | / Y \\ |
25
+ || 0 | 0 ||
26
+ |\\ ^ / |
27
+ | \\ |--| / |
28
+ | \`-....-' |
29
+ | {===} |
30
+ \\ /
31
+ '-.....-'
32
+ `;
33
+ const TERMINAL_ART = `
34
+ ┌──────────────────────────────────┐
35
+ │ root@dominion:~# ACCESS GRANTED │
36
+ │ > system compromised │
37
+ │ > all your domains are safe │
38
+ │ > ...just kidding │
39
+ └──────────────────────────────────┘
40
+ `;
41
+ // ─── Progress Bar ───────────────────────────────────────────────────────────
42
+ function renderProgressBar(percent, width = 30) {
43
+ const filled = Math.round((percent / 100) * width);
44
+ const empty = width - filled;
45
+ const bar = "█".repeat(filled) + "░".repeat(empty);
46
+ return `[${bar}] ${percent}%`;
47
+ }
48
+ // ─── Component ──────────────────────────────────────────────────────────────
49
+ export function Hack() {
50
+ const { exit } = useApp();
51
+ const [stageIndex, setStageIndex] = useState(0);
52
+ const [currentPercent, setCurrentPercent] = useState(0);
53
+ const [complete, setComplete] = useState(false);
54
+ const [showFinal, setShowFinal] = useState(false);
55
+ // Animate progress within each stage
56
+ useEffect(() => {
57
+ if (complete)
58
+ return;
59
+ if (stageIndex >= HACK_STAGES.length) {
60
+ setComplete(true);
61
+ return;
62
+ }
63
+ const stage = HACK_STAGES[stageIndex];
64
+ const interval = setInterval(() => {
65
+ setCurrentPercent((prev) => {
66
+ const next = prev + Math.floor(Math.random() * 8) + 2;
67
+ if (next >= stage.targetPercent) {
68
+ clearInterval(interval);
69
+ // Move to next stage after a brief pause
70
+ setTimeout(() => {
71
+ setStageIndex((s) => s + 1);
72
+ setCurrentPercent(0);
73
+ }, 300);
74
+ return stage.targetPercent;
75
+ }
76
+ return next;
77
+ });
78
+ }, 80);
79
+ return () => clearInterval(interval);
80
+ }, [stageIndex, complete]);
81
+ // Show final message after completion
82
+ useEffect(() => {
83
+ if (complete) {
84
+ const timer = setTimeout(() => {
85
+ setShowFinal(true);
86
+ }, 500);
87
+ return () => clearTimeout(timer);
88
+ }
89
+ }, [complete]);
90
+ // Auto-exit after showing final message
91
+ useEffect(() => {
92
+ if (showFinal) {
93
+ const timer = setTimeout(() => exit(), 3000);
94
+ return () => clearTimeout(timer);
95
+ }
96
+ }, [showFinal, exit]);
97
+ if (showFinal) {
98
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { color: "green", children: TERMINAL_ART }), _jsx(Box, { borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, children: _jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Just kidding." }), _jsx(Text, { color: "white", children: "But your domains are safe with us." }), _jsx(Text, { dimColor: true, color: "gray", children: "(No systems were harmed in the making of this easter egg)" })] }) })] }));
99
+ }
100
+ const stage = stageIndex < HACK_STAGES.length ? HACK_STAGES[stageIndex] : null;
101
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { color: "red", children: SKULL_ART }), _jsx(Text, { bold: true, color: "red", children: "\u26A0 INITIATING HACK SEQUENCE \u26A0" }), HACK_STAGES.slice(0, stageIndex).map((s, i) => (_jsxs(Box, { children: [_jsx(Text, { color: "green", children: "\u2713 " }), _jsxs(Text, { color: s.color, children: [s.message, "... ", s.targetPercent, "%"] })] }, i))), stage && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: stage.color, bold: true, children: [stage.message, "..."] }), _jsx(Text, { color: stage.color, children: renderProgressBar(currentPercent) })] })), complete && !showFinal && (_jsx(Text, { color: "green", bold: true, children: "ACCESS GRANTED \u2014 Mainframe compromised..." }))] }));
102
+ }
103
+ export default Hack;
104
+ //# sourceMappingURL=hack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hack.js","sourceRoot":"","sources":["../../src/commands/hack.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAU5C,MAAM,WAAW,GAAgB;IAC/B,EAAE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;IAClE,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;IAChE,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;IACpE,EAAE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;IACrE,EAAE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;IAClE,EAAE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpE,EAAE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE;CACvE,CAAC;AAEF,+EAA+E;AAE/E,MAAM,SAAS,GAAG;;;;;;;;;;;;CAYjB,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;CAOpB,CAAC;AAEF,+EAA+E;AAE/E,SAAS,iBAAiB,CAAC,OAAe,EAAE,KAAK,GAAG,EAAE;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,IAAI,GAAG,KAAK,OAAO,GAAG,CAAC;AAChC,CAAC;AAED,+EAA+E;AAE/E,MAAM,UAAU,IAAI;IAClB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,qCAAqC;IACrC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ;YAAE,OAAO;QACrB,IAAI,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACrC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtD,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBAChC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,yCAAyC;oBACzC,UAAU,CAAC,GAAG,EAAE;wBACd,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC5B,iBAAiB,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC,EAAE,GAAG,CAAC,CAAC;oBACR,OAAO,KAAK,CAAC,aAAa,CAAC;gBAC7B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3B,sCAAsC;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,wCAAwC;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAEtB,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,YAAY,GAAQ,EACzC,KAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAClE,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,8BAEhB,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,mDAEZ,EACP,KAAC,IAAI,IAAC,QAAQ,QAAC,KAAK,EAAC,MAAM,0EAEpB,IACH,GACF,IACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE/E,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAEhC,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,SAAS,GAAQ,EAEpC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,KAAK,uDAEf,EAGN,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9C,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,wBAAU,EAC7B,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAA4C,aACxD,CAAC,CAAC,OAAO,UAAM,CAAC,CAAC,aAAa,SAC1B,KAJC,CAAC,CAKL,CACP,CAAC,EAGD,KAAK,IAAI,CACR,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAA4C,EAAE,IAAI,mBAClE,KAAK,CAAC,OAAO,WACT,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAA4C,YAC5D,iBAAiB,CAAC,cAAc,CAAC,GAC7B,IACH,CACP,EAEA,QAAQ,IAAI,CAAC,SAAS,IAAI,CACzB,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,qEAEjB,CACR,IACG,CACP,CAAC;AACJ,CAAC;AAED,eAAe,IAAI,CAAC"}