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":"vercel-client.js","sourceRoot":"","sources":["../../src/lib/vercel-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * WebhookManager — manages ~/.dominion/webhooks.json.
3
+ *
4
+ * Stores webhook configurations locally for CLI-triggered automation.
5
+ * When the CLI performs domain operations (purchase, DNS change, etc.),
6
+ * it fires POST requests to configured webhook URLs.
7
+ * Webhooks are local-only — triggered by CLI operations, not server events.
8
+ */
9
+ export type WebhookEvent = "domain.registered" | "domain.expired" | "dns.changed" | "domain.renewed";
10
+ export interface Webhook {
11
+ id: string;
12
+ url: string;
13
+ events: WebhookEvent[];
14
+ active: boolean;
15
+ createdAt: string;
16
+ lastTriggeredAt: string | null;
17
+ }
18
+ export interface WebhookData {
19
+ webhooks: Webhook[];
20
+ }
21
+ export interface WebhookTriggerResult {
22
+ webhookId: string;
23
+ url: string;
24
+ success: boolean;
25
+ statusCode?: number;
26
+ error?: string;
27
+ }
28
+ export declare const VALID_EVENTS: WebhookEvent[];
29
+ export declare class WebhookManager {
30
+ private readonly webhookPath;
31
+ private readonly configDir;
32
+ constructor(configDir?: string);
33
+ /**
34
+ * Load webhook data from disk. Returns empty list if file doesn't exist.
35
+ */
36
+ private loadRaw;
37
+ /**
38
+ * Save webhook data to disk. Creates directory if needed.
39
+ */
40
+ private saveRaw;
41
+ /**
42
+ * List all configured webhooks.
43
+ */
44
+ list(): Webhook[];
45
+ /**
46
+ * Add a new webhook with the specified URL and events.
47
+ * Returns the created webhook.
48
+ */
49
+ add(url: string, events: WebhookEvent[]): Webhook;
50
+ /**
51
+ * Remove a webhook by ID.
52
+ * Returns true if the webhook was found and removed.
53
+ */
54
+ remove(id: string): boolean;
55
+ /**
56
+ * Get a webhook by ID.
57
+ * Returns undefined if not found.
58
+ */
59
+ getById(id: string): Webhook | undefined;
60
+ /**
61
+ * Trigger all active webhooks subscribed to the given event.
62
+ * Sends a POST request with the payload to each matching webhook URL.
63
+ * Returns results for each triggered webhook.
64
+ */
65
+ trigger(event: WebhookEvent, payload: Record<string, unknown>): Promise<WebhookTriggerResult[]>;
66
+ /**
67
+ * Get the number of configured webhooks.
68
+ */
69
+ count(): number;
70
+ /**
71
+ * Get the path to the webhooks file.
72
+ */
73
+ getWebhookPath(): string;
74
+ }
75
+ /**
76
+ * Validate that a string is a valid webhook event.
77
+ */
78
+ export declare function isValidEvent(event: string): event is WebhookEvent;
79
+ /**
80
+ * Get the list of valid webhook events.
81
+ */
82
+ export declare function getValidEvents(): WebhookEvent[];
83
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/lib/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,MAAM,YAAY,GACpB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,gBAAgB,CAAC;AAErB,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,eAAO,MAAM,YAAY,EAAE,YAAY,EAKtC,CAAC;AAIF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,SAAS,CAAC,EAAE,MAAM;IAK9B;;OAEG;IACH,OAAO,CAAC,OAAO;IAgBf;;OAEG;IACH,OAAO,CAAC,OAAO;IAOf;;OAEG;IACH,IAAI,IAAI,OAAO,EAAE;IAIjB;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO;IA2CjD;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAc3B;;;OAGG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIxC;;;;OAIG;IACG,OAAO,CACX,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqDlC;;OAEG;IACH,KAAK,IAAI,MAAM;IAIf;;OAEG;IACH,cAAc,IAAI,MAAM;CAGzB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEjE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,YAAY,EAAE,CAE/C"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * WebhookManager — manages ~/.dominion/webhooks.json.
3
+ *
4
+ * Stores webhook configurations locally for CLI-triggered automation.
5
+ * When the CLI performs domain operations (purchase, DNS change, etc.),
6
+ * it fires POST requests to configured webhook URLs.
7
+ * Webhooks are local-only — triggered by CLI operations, not server events.
8
+ */
9
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
10
+ import { join } from "node:path";
11
+ import { homedir } from "node:os";
12
+ import { randomUUID } from "node:crypto";
13
+ // ─── Constants ──────────────────────────────────────────────────────────────
14
+ const DOMINION_DIR = join(homedir(), ".dominion");
15
+ export const VALID_EVENTS = [
16
+ "domain.registered",
17
+ "domain.expired",
18
+ "dns.changed",
19
+ "domain.renewed",
20
+ ];
21
+ // ─── WebhookManager ────────────────────────────────────────────────────────
22
+ export class WebhookManager {
23
+ webhookPath;
24
+ configDir;
25
+ constructor(configDir) {
26
+ this.configDir = configDir ?? DOMINION_DIR;
27
+ this.webhookPath = join(this.configDir, "webhooks.json");
28
+ }
29
+ /**
30
+ * Load webhook data from disk. Returns empty list if file doesn't exist.
31
+ */
32
+ loadRaw() {
33
+ if (!existsSync(this.webhookPath)) {
34
+ return { webhooks: [] };
35
+ }
36
+ try {
37
+ const raw = readFileSync(this.webhookPath, "utf-8");
38
+ const parsed = JSON.parse(raw);
39
+ return {
40
+ webhooks: Array.isArray(parsed.webhooks) ? parsed.webhooks : [],
41
+ };
42
+ }
43
+ catch {
44
+ return { webhooks: [] };
45
+ }
46
+ }
47
+ /**
48
+ * Save webhook data to disk. Creates directory if needed.
49
+ */
50
+ saveRaw(data) {
51
+ if (!existsSync(this.configDir)) {
52
+ mkdirSync(this.configDir, { recursive: true });
53
+ }
54
+ writeFileSync(this.webhookPath, JSON.stringify(data, null, 2), "utf-8");
55
+ }
56
+ /**
57
+ * List all configured webhooks.
58
+ */
59
+ list() {
60
+ return this.loadRaw().webhooks;
61
+ }
62
+ /**
63
+ * Add a new webhook with the specified URL and events.
64
+ * Returns the created webhook.
65
+ */
66
+ add(url, events) {
67
+ const trimmed = url.trim();
68
+ if (!trimmed) {
69
+ throw new Error("Webhook URL cannot be empty.");
70
+ }
71
+ // Basic URL validation
72
+ try {
73
+ new URL(trimmed);
74
+ }
75
+ catch {
76
+ throw new Error(`Invalid URL: "${trimmed}". Must be a valid URL (e.g. https://example.com/webhook).`);
77
+ }
78
+ if (events.length === 0) {
79
+ throw new Error("At least one event must be specified.");
80
+ }
81
+ // Validate all events
82
+ for (const event of events) {
83
+ if (!VALID_EVENTS.includes(event)) {
84
+ throw new Error(`Invalid event "${event}". Must be one of: ${VALID_EVENTS.join(", ")}`);
85
+ }
86
+ }
87
+ const data = this.loadRaw();
88
+ const webhook = {
89
+ id: randomUUID().slice(0, 8),
90
+ url: trimmed,
91
+ events: [...new Set(events)], // Deduplicate events
92
+ active: true,
93
+ createdAt: new Date().toISOString(),
94
+ lastTriggeredAt: null,
95
+ };
96
+ data.webhooks.push(webhook);
97
+ this.saveRaw(data);
98
+ return webhook;
99
+ }
100
+ /**
101
+ * Remove a webhook by ID.
102
+ * Returns true if the webhook was found and removed.
103
+ */
104
+ remove(id) {
105
+ const data = this.loadRaw();
106
+ const originalLength = data.webhooks.length;
107
+ data.webhooks = data.webhooks.filter((w) => w.id !== id);
108
+ if (data.webhooks.length === originalLength) {
109
+ return false; // Webhook was not found
110
+ }
111
+ this.saveRaw(data);
112
+ return true;
113
+ }
114
+ /**
115
+ * Get a webhook by ID.
116
+ * Returns undefined if not found.
117
+ */
118
+ getById(id) {
119
+ return this.loadRaw().webhooks.find((w) => w.id === id);
120
+ }
121
+ /**
122
+ * Trigger all active webhooks subscribed to the given event.
123
+ * Sends a POST request with the payload to each matching webhook URL.
124
+ * Returns results for each triggered webhook.
125
+ */
126
+ async trigger(event, payload) {
127
+ const data = this.loadRaw();
128
+ const matching = data.webhooks.filter((w) => w.active && w.events.includes(event));
129
+ if (matching.length === 0) {
130
+ return [];
131
+ }
132
+ const results = [];
133
+ for (const webhook of matching) {
134
+ try {
135
+ const response = await fetch(webhook.url, {
136
+ method: "POST",
137
+ headers: {
138
+ "Content-Type": "application/json",
139
+ "X-Dominion-Event": event,
140
+ "X-Dominion-Webhook-Id": webhook.id,
141
+ },
142
+ body: JSON.stringify({
143
+ event,
144
+ payload,
145
+ timestamp: new Date().toISOString(),
146
+ }),
147
+ });
148
+ // Update lastTriggeredAt
149
+ webhook.lastTriggeredAt = new Date().toISOString();
150
+ results.push({
151
+ webhookId: webhook.id,
152
+ url: webhook.url,
153
+ success: response.ok,
154
+ statusCode: response.status,
155
+ });
156
+ }
157
+ catch (err) {
158
+ results.push({
159
+ webhookId: webhook.id,
160
+ url: webhook.url,
161
+ success: false,
162
+ error: err instanceof Error ? err.message : "Unknown error",
163
+ });
164
+ }
165
+ }
166
+ // Persist the updated lastTriggeredAt timestamps
167
+ this.saveRaw(data);
168
+ return results;
169
+ }
170
+ /**
171
+ * Get the number of configured webhooks.
172
+ */
173
+ count() {
174
+ return this.loadRaw().webhooks.length;
175
+ }
176
+ /**
177
+ * Get the path to the webhooks file.
178
+ */
179
+ getWebhookPath() {
180
+ return this.webhookPath;
181
+ }
182
+ }
183
+ /**
184
+ * Validate that a string is a valid webhook event.
185
+ */
186
+ export function isValidEvent(event) {
187
+ return VALID_EVENTS.includes(event);
188
+ }
189
+ /**
190
+ * Get the list of valid webhook events.
191
+ */
192
+ export function getValidEvents() {
193
+ return [...VALID_EVENTS];
194
+ }
195
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/lib/webhooks.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "dominion-cli",
3
+ "version": "0.1.0",
4
+ "description": "Domain management CLI — DNS, registrar, SSL from your terminal",
5
+ "type": "module",
6
+ "bin": {
7
+ "dominion": "./dist/cli.js"
8
+ },
9
+ "main": "./dist/cli.js",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc",
15
+ "prepublishOnly": "npm run build",
16
+ "dev": "tsx src/cli.ts",
17
+ "test": "vitest run",
18
+ "test:watch": "vitest",
19
+ "test:coverage": "vitest run --coverage",
20
+ "lint": "eslint src/ tests/",
21
+ "format": "prettier --write 'src/**/*.{ts,tsx}' 'tests/**/*.{ts,tsx}'",
22
+ "format:check": "prettier --check 'src/**/*.{ts,tsx}' 'tests/**/*.{ts,tsx}'",
23
+ "typecheck": "tsc --noEmit"
24
+ },
25
+ "keywords": [
26
+ "cli",
27
+ "domain",
28
+ "dns",
29
+ "namecom",
30
+ "tui",
31
+ "ink",
32
+ "terminal"
33
+ ],
34
+ "author": "Dominion",
35
+ "license": "MIT",
36
+ "dependencies": {
37
+ "chalk": "^5.4.1",
38
+ "cli-table3": "^0.6.5",
39
+ "commander": "^13.1.0",
40
+ "figlet": "^1.8.0",
41
+ "gradient-string": "^3.0.0",
42
+ "ink": "^5.2.0",
43
+ "ora": "^8.2.0",
44
+ "react": "^18.3.1",
45
+ "zod": "^3.24.0"
46
+ },
47
+ "devDependencies": {
48
+ "@eslint/js": "^9.17.0",
49
+ "@types/figlet": "^1.7.0",
50
+ "@types/gradient-string": "^1.1.6",
51
+ "@types/node": "^25.3.0",
52
+ "@types/react": "^18.3.18",
53
+ "eslint": "^9.17.0",
54
+ "eslint-plugin-react": "^7.37.4",
55
+ "eslint-plugin-react-hooks": "^5.1.0",
56
+ "ink-testing-library": "^4.0.0",
57
+ "prettier": "^3.5.0",
58
+ "tsx": "^4.19.0",
59
+ "typescript": "^5.7.0",
60
+ "typescript-eslint": "^8.23.0",
61
+ "vitest": "^3.0.0"
62
+ },
63
+ "engines": {
64
+ "node": ">=18.0.0"
65
+ }
66
+ }