dominion-cli 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/cli.js +13 -9
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/account.d.ts +1 -1
  4. package/dist/commands/account.d.ts.map +1 -1
  5. package/dist/commands/account.js +6 -9
  6. package/dist/commands/account.js.map +1 -1
  7. package/dist/commands/billing.d.ts +1 -1
  8. package/dist/commands/billing.d.ts.map +1 -1
  9. package/dist/commands/billing.js +3 -7
  10. package/dist/commands/billing.js.map +1 -1
  11. package/dist/commands/buy.d.ts +7 -7
  12. package/dist/commands/buy.d.ts.map +1 -1
  13. package/dist/commands/buy.js +45 -141
  14. package/dist/commands/buy.js.map +1 -1
  15. package/dist/commands/cart/add.d.ts +1 -1
  16. package/dist/commands/cart/add.d.ts.map +1 -1
  17. package/dist/commands/cart/add.js +9 -8
  18. package/dist/commands/cart/add.js.map +1 -1
  19. package/dist/commands/credits.js +1 -1
  20. package/dist/commands/dns/add.d.ts +3 -3
  21. package/dist/commands/dns/add.d.ts.map +1 -1
  22. package/dist/commands/dns/add.js +3 -3
  23. package/dist/commands/dns/add.js.map +1 -1
  24. package/dist/commands/dns/list.d.ts +3 -3
  25. package/dist/commands/dns/list.d.ts.map +1 -1
  26. package/dist/commands/dns/list.js +3 -3
  27. package/dist/commands/dns/list.js.map +1 -1
  28. package/dist/commands/dns/remove.d.ts +3 -3
  29. package/dist/commands/dns/remove.d.ts.map +1 -1
  30. package/dist/commands/dns/remove.js +3 -3
  31. package/dist/commands/dns/remove.js.map +1 -1
  32. package/dist/commands/domains/detail.d.ts +1 -1
  33. package/dist/commands/domains/detail.js +3 -3
  34. package/dist/commands/domains/detail.js.map +1 -1
  35. package/dist/commands/domains/list.d.ts +1 -1
  36. package/dist/commands/domains/list.js +3 -3
  37. package/dist/commands/domains/list.js.map +1 -1
  38. package/dist/commands/login.d.ts +6 -6
  39. package/dist/commands/login.d.ts.map +1 -1
  40. package/dist/commands/login.js +58 -42
  41. package/dist/commands/login.js.map +1 -1
  42. package/dist/commands/logout.d.ts +1 -1
  43. package/dist/commands/logout.js +1 -1
  44. package/dist/commands/search.d.ts +2 -2
  45. package/dist/commands/search.js +4 -4
  46. package/dist/commands/search.js.map +1 -1
  47. package/dist/commands/settings/set.d.ts +4 -4
  48. package/dist/commands/settings/set.d.ts.map +1 -1
  49. package/dist/commands/settings/set.js +10 -11
  50. package/dist/commands/settings/set.js.map +1 -1
  51. package/dist/commands/settings/view.d.ts +3 -3
  52. package/dist/commands/settings/view.d.ts.map +1 -1
  53. package/dist/commands/settings/view.js +4 -4
  54. package/dist/commands/settings/view.js.map +1 -1
  55. package/dist/commands/vercel/link.d.ts +4 -4
  56. package/dist/commands/vercel/link.d.ts.map +1 -1
  57. package/dist/commands/vercel/link.js +8 -8
  58. package/dist/commands/vercel/link.js.map +1 -1
  59. package/dist/commands/whoami.d.ts +1 -1
  60. package/dist/commands/whoami.js +3 -3
  61. package/dist/commands/whoami.js.map +1 -1
  62. package/dist/components/account-card.d.ts +3 -3
  63. package/dist/components/account-card.d.ts.map +1 -1
  64. package/dist/components/account-card.js +3 -3
  65. package/dist/components/account-card.js.map +1 -1
  66. package/dist/components/command-runner.d.ts +25 -0
  67. package/dist/components/command-runner.d.ts.map +1 -0
  68. package/dist/components/command-runner.js +67 -0
  69. package/dist/components/command-runner.js.map +1 -0
  70. package/dist/components/prompt.d.ts +24 -0
  71. package/dist/components/prompt.d.ts.map +1 -0
  72. package/dist/components/prompt.js +113 -0
  73. package/dist/components/prompt.js.map +1 -0
  74. package/dist/components/search-results.d.ts +1 -1
  75. package/dist/components/search-results.js +1 -1
  76. package/dist/lib/auth.d.ts +17 -9
  77. package/dist/lib/auth.d.ts.map +1 -1
  78. package/dist/lib/auth.js +125 -46
  79. package/dist/lib/auth.js.map +1 -1
  80. package/dist/lib/command-registry.d.ts +47 -0
  81. package/dist/lib/command-registry.d.ts.map +1 -0
  82. package/dist/lib/command-registry.js +384 -0
  83. package/dist/lib/command-registry.js.map +1 -0
  84. package/dist/lib/config.d.ts.map +1 -1
  85. package/dist/lib/config.js +0 -8
  86. package/dist/lib/config.js.map +1 -1
  87. package/dist/lib/dns-validation.d.ts +1 -1
  88. package/dist/lib/dns-validation.d.ts.map +1 -1
  89. package/dist/lib/dns-validation.js +2 -2
  90. package/dist/lib/dns-validation.js.map +1 -1
  91. package/dist/lib/dominion-client.d.ts +43 -0
  92. package/dist/lib/dominion-client.d.ts.map +1 -0
  93. package/dist/lib/dominion-client.js +183 -0
  94. package/dist/lib/dominion-client.js.map +1 -0
  95. package/dist/lib/error-personality.js +7 -7
  96. package/dist/lib/error-personality.js.map +1 -1
  97. package/dist/lib/history.d.ts +40 -0
  98. package/dist/lib/history.d.ts.map +1 -0
  99. package/dist/lib/history.js +113 -0
  100. package/dist/lib/history.js.map +1 -0
  101. package/dist/lib/nameserver-presets.js +4 -4
  102. package/dist/lib/nameserver-presets.js.map +1 -1
  103. package/dist/lib/purchase.d.ts +20 -23
  104. package/dist/lib/purchase.d.ts.map +1 -1
  105. package/dist/lib/purchase.js +42 -70
  106. package/dist/lib/purchase.js.map +1 -1
  107. package/dist/lib/schemas.d.ts +351 -352
  108. package/dist/lib/schemas.d.ts.map +1 -1
  109. package/dist/lib/schemas.js +1 -2
  110. package/dist/lib/schemas.js.map +1 -1
  111. package/dist/lib/types.d.ts +8 -11
  112. package/dist/lib/types.d.ts.map +1 -1
  113. package/dist/lib/types.js +1 -4
  114. package/dist/lib/types.js.map +1 -1
  115. package/dist/repl.d.ts +17 -0
  116. package/dist/repl.d.ts.map +1 -0
  117. package/dist/repl.js +189 -0
  118. package/dist/repl.js.map +1 -0
  119. package/package.json +2 -1
@@ -3,7 +3,7 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
3
3
  * dominion vercel link <domain> — link a domain to a Vercel project.
4
4
  *
5
5
  * Flow:
6
- * 1. Verify Name.com auth and Vercel config exist
6
+ * 1. Verify auth and Vercel config exist
7
7
  * 2. Auto-configure DNS (A + CNAME pointing to Vercel)
8
8
  * 3. Add domain to Vercel project via VercelClient.addDomain()
9
9
  * 4. Poll verification status with progress indicator
@@ -15,7 +15,7 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
15
15
  import { Box, Text, useApp } from "ink";
16
16
  import { useState, useEffect, useRef } from "react";
17
17
  import { ConfigManager } from "../../lib/config.js";
18
- import { NamecomClient } from "../../lib/namecom-client.js";
18
+ import { DominionClient } from "../../lib/dominion-client.js";
19
19
  import { VercelClient } from "../../lib/vercel-client.js";
20
20
  import { getAuthStatus } from "../../lib/auth.js";
21
21
  import { getRandomMessage } from "../../components/spinner-messages.js";
@@ -24,7 +24,7 @@ import { DomainError } from "../../lib/types.js";
24
24
  const VERCEL_A_RECORD_IP = "76.76.21.21";
25
25
  const VERCEL_CNAME_TARGET = "cname.vercel-dns.com";
26
26
  const DEFAULT_TTL = 300;
27
- export function VercelLink({ domain, configManager, namecomClient, vercelClient, }) {
27
+ export function VercelLink({ domain, configManager, dominionClient, vercelClient, }) {
28
28
  const { exit } = useApp();
29
29
  const [state, setState] = useState("checking");
30
30
  const [loadingMessage, setLoadingMessage] = useState(getRandomMessage());
@@ -51,7 +51,7 @@ export function VercelLink({ domain, configManager, namecomClient, vercelClient,
51
51
  let cancelled = false;
52
52
  const manager = configManager ?? new ConfigManager();
53
53
  async function linkDomain() {
54
- // 1. Check Name.com auth
54
+ // 1. Check auth
55
55
  const authStatus = getAuthStatus(manager);
56
56
  if (!authStatus.authenticated) {
57
57
  setErrorMessage("Please run `dominion login` first.");
@@ -72,16 +72,16 @@ export function VercelLink({ domain, configManager, namecomClient, vercelClient,
72
72
  if (cancelled)
73
73
  return;
74
74
  setState("configuring-dns");
75
- const namecom = namecomClient ?? new NamecomClient();
75
+ const client = dominionClient ?? new DominionClient();
76
76
  // Create A record: @ -> 76.76.21.21
77
- await namecom.createDnsRecord(domain, {
77
+ await client.createDnsRecord(domain, {
78
78
  host: "",
79
79
  type: "A",
80
80
  answer: VERCEL_A_RECORD_IP,
81
81
  ttl: DEFAULT_TTL,
82
82
  });
83
83
  // Create CNAME record: www -> cname.vercel-dns.com
84
- await namecom.createDnsRecord(domain, {
84
+ await client.createDnsRecord(domain, {
85
85
  host: "www",
86
86
  type: "CNAME",
87
87
  answer: VERCEL_CNAME_TARGET,
@@ -143,7 +143,7 @@ export function VercelLink({ domain, configManager, namecomClient, vercelClient,
143
143
  return () => {
144
144
  cancelled = true;
145
145
  };
146
- }, [domain, configManager, namecomClient, vercelClient, exit]);
146
+ }, [domain, configManager, dominionClient, vercelClient, exit]);
147
147
  // ─── Checking state ─────────────────────────────────────────────────────────
148
148
  if (state === "checking") {
149
149
  return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsxs(Text, { bold: true, color: "cyan", children: ["Linking ", domain, " to Vercel..."] }), _jsxs(Text, { color: "yellow", children: ["\u2837", " Checking credentials..."] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/commands/vercel/link.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/commands/vercel/link.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * dominion whoami — display authenticated user info.
3
3
  *
4
- * Shows username, domain count, and config path when logged in.
4
+ * Shows email, domain count, and config path when logged in.
5
5
  * Shows "Not logged in" with hint when not authenticated.
6
6
  */
7
7
  import { ConfigManager } from "../lib/config.js";
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * dominion whoami — display authenticated user info.
4
4
  *
5
- * Shows username, domain count, and config path when logged in.
5
+ * Shows email, domain count, and config path when logged in.
6
6
  * Shows "Not logged in" with hint when not authenticated.
7
7
  */
8
8
  import { Box, Text, useApp } from "ink";
@@ -25,9 +25,9 @@ export function Whoami({ configManager }) {
25
25
  return (_jsx(Box, { children: _jsx(Text, { color: "yellow", children: "Checking authentication..." }) }));
26
26
  }
27
27
  if (!authStatus.authenticated) {
28
- return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { color: "yellow", bold: true, children: "Not logged in" }), _jsxs(Text, { color: "gray", children: ["Run ", _jsx(Text, { bold: true, color: "white", children: "dominion login" }), " to authenticate with your Name.com credentials."] })] }));
28
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { color: "yellow", bold: true, children: "Not logged in" }), _jsxs(Text, { color: "gray", children: ["Run ", _jsx(Text, { bold: true, color: "white", children: "dominion login" }), " or ", _jsx(Text, { bold: true, color: "white", children: "dominion register" }), " to get started."] })] }));
29
29
  }
30
- return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Authenticated User" }), _jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Username: " }), _jsx(Text, { bold: true, color: "white", children: authStatus.username })] }), authStatus.domainCount !== undefined && (_jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Domains: " }), _jsxs(Text, { bold: true, color: "white", children: [authStatus.domainCount, " domain", authStatus.domainCount !== 1 ? "s" : ""] })] })), _jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Config: " }), _jsx(Text, { color: "white", children: authStatus.configPath })] })] }));
30
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Authenticated User" }), _jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Email: " }), _jsx(Text, { bold: true, color: "white", children: authStatus.email })] }), authStatus.domainCount !== undefined && (_jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Domains: " }), _jsxs(Text, { bold: true, color: "white", children: [authStatus.domainCount, " domain", authStatus.domainCount !== 1 ? "s" : ""] })] })), _jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Config: " }), _jsx(Text, { color: "white", children: authStatus.configPath })] })] }));
31
31
  }
32
32
  export default Whoami;
33
33
  //# sourceMappingURL=whoami.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,4BAA4B,EAAmB,MAAM,gBAAgB,CAAC;AAQ/E,MAAM,UAAU,MAAM,CAAC,EAAE,aAAa,EAAe;IACnD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAc,SAAS,CAAC,CAAC;IAC3D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAoB,IAAI,CAAC,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,aAAa,IAAI,IAAI,aAAa,EAAE,CAAC;QAErD,4BAA4B,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACpD,aAAa,CAAC,MAAM,CAAC,CAAC;YACtB,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,CACL,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,2CAAkC,GAClD,CACP,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,oCAElB,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,qBACZ,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,+BAAsB,wDAC7C,IACH,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,mCAEhB,EAEP,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2BAAkB,EACpC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,YAAE,UAAU,CAAC,QAAQ,GAAQ,IACjD,EAEL,UAAU,CAAC,WAAW,KAAK,SAAS,IAAI,CACvC,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2BAAkB,EACpC,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,aACrB,UAAU,CAAC,WAAW,aAAS,UAAU,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAClE,IACH,CACP,EAED,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2BAAkB,EACpC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,UAAU,CAAC,UAAU,GAAQ,IAC9C,IACF,CACP,CAAC;AACJ,CAAC;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,4BAA4B,EAAmB,MAAM,gBAAgB,CAAC;AAQ/E,MAAM,UAAU,MAAM,CAAC,EAAE,aAAa,EAAe;IACnD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAc,SAAS,CAAC,CAAC;IAC3D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAoB,IAAI,CAAC,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,aAAa,IAAI,IAAI,aAAa,EAAE,CAAC;QAErD,4BAA4B,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACpD,aAAa,CAAC,MAAM,CAAC,CAAC;YACtB,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,CACL,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,2CAAkC,GAClD,CACP,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,oCAElB,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,qBACZ,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,+BAAsB,UAAI,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,kCAAyB,wBAClG,IACH,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,mCAEhB,EAEP,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2BAAkB,EACpC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,YAAE,UAAU,CAAC,KAAK,GAAQ,IAC9C,EAEL,UAAU,CAAC,WAAW,KAAK,SAAS,IAAI,CACvC,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2BAAkB,EACpC,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,aACrB,UAAU,CAAC,WAAW,aAAS,UAAU,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAClE,IACH,CACP,EAED,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2BAAkB,EACpC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,UAAU,CAAC,UAAU,GAAQ,IAC9C,IACF,CACP,CAAC;AACJ,CAAC;AAED,eAAe,MAAM,CAAC"}
@@ -1,17 +1,17 @@
1
1
  /**
2
2
  * AccountCard — boxen-style card layout for account detail view.
3
3
  *
4
- * Displays: Name.com username, total domains, config file location,
4
+ * Displays: email, total domains, config file location,
5
5
  * stored contact info (if set), integration status (Vercel y/n).
6
6
  */
7
7
  import type { ContactInfo } from "../lib/types.js";
8
8
  export interface AccountCardProps {
9
- username: string;
9
+ email: string;
10
10
  domainCount: number;
11
11
  configPath: string;
12
12
  contactInfo?: ContactInfo;
13
13
  vercelConnected: boolean;
14
14
  }
15
- export declare function AccountCard({ username, domainCount, configPath, contactInfo, vercelConnected, }: AccountCardProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function AccountCard({ email, domainCount, configPath, contactInfo, vercelConnected, }: AccountCardProps): import("react/jsx-runtime").JSX.Element;
16
16
  export default AccountCard;
17
17
  //# sourceMappingURL=account-card.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-card.d.ts","sourceRoot":"","sources":["../../src/components/account-card.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAgBD,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,WAAW,EACX,UAAU,EACV,WAAW,EACX,eAAe,GAChB,EAAE,gBAAgB,2CAsFlB;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"account-card.d.ts","sourceRoot":"","sources":["../../src/components/account-card.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAgBD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,UAAU,EACV,WAAW,EACX,eAAe,GAChB,EAAE,gBAAgB,2CAsFlB;AAED,eAAe,WAAW,CAAC"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  /**
3
3
  * AccountCard — boxen-style card layout for account detail view.
4
4
  *
5
- * Displays: Name.com username, total domains, config file location,
5
+ * Displays: email, total domains, config file location,
6
6
  * stored contact info (if set), integration status (Vercel y/n).
7
7
  */
8
8
  import { Box, Text } from "ink";
@@ -12,8 +12,8 @@ import { Box, Text } from "ink";
12
12
  function CardRow({ label, children }) {
13
13
  return (_jsxs(Box, { children: [_jsx(Box, { width: 22, children: _jsx(Text, { color: "gray", children: label }) }), children] }));
14
14
  }
15
- export function AccountCard({ username, domainCount, configPath, contactInfo, vercelConnected, }) {
16
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { bold: true, color: "cyan", children: "Account Details" }) }), _jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: "white", underline: true, children: "Identity" }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(CardRow, { label: "Username:", children: _jsx(Text, { bold: true, color: "white", children: username }) }), _jsx(CardRow, { label: "Total Domains:", children: _jsxs(Text, { color: "white", children: [domainCount, " domain", domainCount !== 1 ? "s" : ""] }) }), _jsx(CardRow, { label: "Config File:", children: _jsx(Text, { color: "white", children: configPath }) })] })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, color: "white", underline: true, children: "Contact Info" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: contactInfo ? (_jsxs(_Fragment, { children: [_jsx(CardRow, { label: "Name:", children: _jsxs(Text, { color: "white", children: [contactInfo.firstName, " ", contactInfo.lastName] }) }), _jsx(CardRow, { label: "Email:", children: _jsx(Text, { color: "white", children: contactInfo.email }) }), _jsx(CardRow, { label: "Phone:", children: _jsx(Text, { color: "white", children: contactInfo.phone }) }), _jsx(CardRow, { label: "Address:", children: _jsxs(Text, { color: "white", children: [contactInfo.address1, contactInfo.address2 ? `, ${contactInfo.address2}` : ""] }) }), _jsx(CardRow, { label: "Location:", children: _jsxs(Text, { color: "white", children: [contactInfo.city, ", ", contactInfo.state, " ", contactInfo.zip, ", ", contactInfo.country] }) })] })) : (_jsx(CardRow, { label: "Status:", children: _jsxs(Text, { color: "yellow", children: ["Not set \u2014 run", " ", _jsx(Text, { bold: true, color: "white", children: "dominion account set contact" }), " ", "to configure"] }) })) })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, color: "white", underline: true, children: "Integrations" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: _jsx(CardRow, { label: "Vercel:", children: _jsx(Text, { color: vercelConnected ? "green" : "gray", children: vercelConnected ? "Connected" : "Not connected" }) }) })] })] }));
15
+ export function AccountCard({ email, domainCount, configPath, contactInfo, vercelConnected, }) {
16
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { bold: true, color: "cyan", children: "Account Details" }) }), _jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: "white", underline: true, children: "Identity" }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(CardRow, { label: "Email:", children: _jsx(Text, { bold: true, color: "white", children: email }) }), _jsx(CardRow, { label: "Total Domains:", children: _jsxs(Text, { color: "white", children: [domainCount, " domain", domainCount !== 1 ? "s" : ""] }) }), _jsx(CardRow, { label: "Config File:", children: _jsx(Text, { color: "white", children: configPath }) })] })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, color: "white", underline: true, children: "Contact Info" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: contactInfo ? (_jsxs(_Fragment, { children: [_jsx(CardRow, { label: "Name:", children: _jsxs(Text, { color: "white", children: [contactInfo.firstName, " ", contactInfo.lastName] }) }), _jsx(CardRow, { label: "Email:", children: _jsx(Text, { color: "white", children: contactInfo.email }) }), _jsx(CardRow, { label: "Phone:", children: _jsx(Text, { color: "white", children: contactInfo.phone }) }), _jsx(CardRow, { label: "Address:", children: _jsxs(Text, { color: "white", children: [contactInfo.address1, contactInfo.address2 ? `, ${contactInfo.address2}` : ""] }) }), _jsx(CardRow, { label: "Location:", children: _jsxs(Text, { color: "white", children: [contactInfo.city, ", ", contactInfo.state, " ", contactInfo.zip, ", ", contactInfo.country] }) })] })) : (_jsx(CardRow, { label: "Status:", children: _jsxs(Text, { color: "yellow", children: ["Not set \u2014 run", " ", _jsx(Text, { bold: true, color: "white", children: "dominion account set contact" }), " ", "to configure"] }) })) })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, color: "white", underline: true, children: "Integrations" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: _jsx(CardRow, { label: "Vercel:", children: _jsx(Text, { color: vercelConnected ? "green" : "gray", children: vercelConnected ? "Connected" : "Not connected" }) }) })] })] }));
17
17
  }
18
18
  export default AccountCard;
19
19
  //# sourceMappingURL=account-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-card.js","sourceRoot":"","sources":["../../src/components/account-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-card.js","sourceRoot":"","sources":["../../src/components/account-card.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAWhC;;GAEG;AACH,SAAS,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAgD;IAChF,OAAO,CACL,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,KAAK,GAAQ,GAC7B,EACL,QAAQ,IACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,UAAU,EACV,WAAW,EACX,eAAe,GACE;IACjB,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,MAAM,EAClB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,aAGX,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,gCAAuB,GAC1C,EAGN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,EAAC,SAAS,+BAAgB,EAClD,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,KAAC,OAAO,IAAC,KAAK,EAAC,QAAQ,YACrB,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,YAAE,KAAK,GAAQ,GAC/B,EACV,KAAC,OAAO,IAAC,KAAK,EAAC,gBAAgB,YAC7B,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,aAChB,WAAW,aAAS,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAC5C,GACC,EACV,KAAC,OAAO,IAAC,KAAK,EAAC,cAAc,YAC3B,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,UAAU,GAAQ,GAC/B,IACN,IACF,EAGN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,EAAC,SAAS,mCAAoB,EACtD,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,WAAW,CAAC,CAAC,CAAC,CACb,8BACE,KAAC,OAAO,IAAC,KAAK,EAAC,OAAO,YACpB,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,aAChB,WAAW,CAAC,SAAS,OAAG,WAAW,CAAC,QAAQ,IACxC,GACC,EACV,KAAC,OAAO,IAAC,KAAK,EAAC,QAAQ,YACrB,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,WAAW,CAAC,KAAK,GAAQ,GACtC,EACV,KAAC,OAAO,IAAC,KAAK,EAAC,QAAQ,YACrB,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,WAAW,CAAC,KAAK,GAAQ,GACtC,EACV,KAAC,OAAO,IAAC,KAAK,EAAC,UAAU,YACvB,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,aAChB,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IACnD,GACC,EACV,KAAC,OAAO,IAAC,KAAK,EAAC,WAAW,YACxB,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,aAChB,WAAW,CAAC,IAAI,QAAI,WAAW,CAAC,KAAK,OAAG,WAAW,CAAC,GAAG,QAAI,WAAW,CAAC,OAAO,IAC1E,GACC,IACT,CACJ,CAAC,CAAC,CAAC,CACF,KAAC,OAAO,IAAC,KAAK,EAAC,SAAS,YACtB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,mCACJ,GAAG,EACjB,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,6CAAoC,EAC3D,GAAG,oBACC,GACC,CACX,GACG,IACF,EAGN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,EAAC,SAAS,mCAAoB,EACtD,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACtC,KAAC,OAAO,IAAC,KAAK,EAAC,SAAS,YACtB,KAAC,IAAI,IAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAC5C,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,GAC3C,GACC,GACN,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * CommandRunner — wraps command components for REPL mode.
3
+ *
4
+ * Intercepts useApp().exit() calls from child components so they
5
+ * signal "command done" instead of killing the entire Ink app.
6
+ * Also provides error boundary and timeout protection.
7
+ */
8
+ import { type ReactElement } from "react";
9
+ interface CommandRunnerProps {
10
+ /** The command element to render. */
11
+ element: ReactElement;
12
+ /** Called when the command finishes (either via exit() or error). */
13
+ onComplete: () => void;
14
+ /** Timeout in ms before force-completing. Default: 60000 (60s). */
15
+ timeout?: number;
16
+ }
17
+ /**
18
+ * Renders a command component with exit() interception.
19
+ *
20
+ * Shadows Ink's AppContext to replace the real exit() with a
21
+ * callback that signals the REPL to return to the prompt.
22
+ */
23
+ export declare function CommandRunner({ element, onComplete, timeout }: CommandRunnerProps): import("react/jsx-runtime").JSX.Element;
24
+ export {};
25
+ //# sourceMappingURL=command-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-runner.d.ts","sourceRoot":"","sources":["../../src/components/command-runner.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,YAAY,EAA6B,MAAM,OAAO,CAAC;AAKrE,UAAU,kBAAkB;IAC1B,qCAAqC;IACrC,OAAO,EAAE,YAAY,CAAC;IACtB,qEAAqE;IACrE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAmCD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAe,EAAE,EAAE,kBAAkB,2CAmCzF"}
@@ -0,0 +1,67 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * CommandRunner — wraps command components for REPL mode.
4
+ *
5
+ * Intercepts useApp().exit() calls from child components so they
6
+ * signal "command done" instead of killing the entire Ink app.
7
+ * Also provides error boundary and timeout protection.
8
+ */
9
+ import { Component } from "react";
10
+ import { useApp, Box, Text } from "ink";
11
+ import AppContext from "ink/build/components/AppContext.js";
12
+ import { inkColors } from "../lib/theme.js";
13
+ /**
14
+ * Error boundary that catches render errors from command components.
15
+ */
16
+ class CommandErrorBoundary extends Component {
17
+ constructor(props) {
18
+ super(props);
19
+ this.state = { error: null };
20
+ }
21
+ static getDerivedStateFromError(error) {
22
+ return { error };
23
+ }
24
+ componentDidCatch(error) {
25
+ this.props.onError(error);
26
+ }
27
+ render() {
28
+ if (this.state.error) {
29
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "red", bold: true, children: "Command error:" }), _jsx(Text, { color: inkColors.muted, children: this.state.error.message })] }));
30
+ }
31
+ return this.props.children;
32
+ }
33
+ }
34
+ /**
35
+ * Renders a command component with exit() interception.
36
+ *
37
+ * Shadows Ink's AppContext to replace the real exit() with a
38
+ * callback that signals the REPL to return to the prompt.
39
+ */
40
+ export function CommandRunner({ element, onComplete, timeout = 60000 }) {
41
+ const realApp = useApp();
42
+ // Create a fake app context that intercepts exit()
43
+ const fakeApp = {
44
+ ...realApp,
45
+ exit: (_error) => {
46
+ onComplete();
47
+ },
48
+ };
49
+ // Set up timeout protection
50
+ const timeoutRef = { current: null };
51
+ if (timeout > 0) {
52
+ // Clear previous timeout on re-render
53
+ if (timeoutRef.current)
54
+ clearTimeout(timeoutRef.current);
55
+ timeoutRef.current = setTimeout(() => {
56
+ onComplete();
57
+ }, timeout);
58
+ }
59
+ const handleError = (_error) => {
60
+ if (timeoutRef.current)
61
+ clearTimeout(timeoutRef.current);
62
+ // Error boundary renders the error message, then we complete after a delay
63
+ setTimeout(() => onComplete(), 2000);
64
+ };
65
+ return (_jsx(AppContext.Provider, { value: fakeApp, children: _jsx(CommandErrorBoundary, { onError: handleError, children: element }) }));
66
+ }
67
+ //# sourceMappingURL=command-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-runner.js","sourceRoot":"","sources":["../../src/components/command-runner.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AAEH,OAAO,EAAqB,SAAS,EAAkB,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACxC,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAW5C;;GAEG;AACH,MAAM,oBAAqB,SAAQ,SAGlC;IACC,YAAY,KAA+D;QACzE,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAY;QAC1C,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,KAAY;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,qCAAsB,EAC5C,KAAC,IAAI,IAAC,KAAK,EAAE,SAAS,CAAC,KAAK,YAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAQ,IAC3D,CACP,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,KAAK,EAAsB;IACxF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;IAEzB,mDAAmD;IACnD,MAAM,OAAO,GAAG;QACd,GAAG,OAAO;QACV,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE;YACvB,UAAU,EAAE,CAAC;QACf,CAAC;KACF,CAAC;IAEF,4BAA4B;IAC5B,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,IAA4C,EAAE,CAAC;IAE7E,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,sCAAsC;QACtC,IAAI,UAAU,CAAC,OAAO;YAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzD,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,UAAU,EAAE,CAAC;QACf,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,MAAa,EAAE,EAAE;QACpC,IAAI,UAAU,CAAC,OAAO;YAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzD,2EAA2E;QAC3E,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACjC,KAAC,oBAAoB,IAAC,OAAO,EAAE,WAAW,YACvC,OAAO,GACa,GACH,CACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Prompt — interactive input prompt for REPL mode.
3
+ *
4
+ * Renders "dominion> " and captures user input character by character
5
+ * using Ink's useInput hook. Supports history navigation and tab completion.
6
+ */
7
+ export interface PromptProps {
8
+ /** Called when user presses Enter with input text. */
9
+ onSubmit: (input: string) => void;
10
+ /** Disable input (during command execution). */
11
+ disabled?: boolean;
12
+ /** Prompt prefix (e.g., "corey@dominion"). */
13
+ prefix?: string;
14
+ /** Navigate history up. Returns previous entry or null. */
15
+ onHistoryUp?: () => string | null;
16
+ /** Navigate history down. Returns next entry or null. */
17
+ onHistoryDown?: () => string | null;
18
+ /** Tab completion handler. Returns completed text or null. */
19
+ onTab?: (partial: string) => string | null;
20
+ /** Completion candidates to display (shown below prompt). */
21
+ completionCandidates?: string[];
22
+ }
23
+ export declare function Prompt({ onSubmit, disabled, prefix, onHistoryUp, onHistoryDown, onTab, completionCandidates, }: PromptProps): import("react/jsx-runtime").JSX.Element | null;
24
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/components/prompt.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC3C,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,QAAgB,EAChB,MAAmB,EACnB,WAAW,EACX,aAAa,EACb,KAAK,EACL,oBAAoB,GACrB,EAAE,WAAW,kDAuIb"}
@@ -0,0 +1,113 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Prompt — interactive input prompt for REPL mode.
4
+ *
5
+ * Renders "dominion> " and captures user input character by character
6
+ * using Ink's useInput hook. Supports history navigation and tab completion.
7
+ */
8
+ import { Box, Text, useInput } from "ink";
9
+ import { useState, useCallback } from "react";
10
+ import { inkColors } from "../lib/theme.js";
11
+ export function Prompt({ onSubmit, disabled = false, prefix = "dominion", onHistoryUp, onHistoryDown, onTab, completionCandidates, }) {
12
+ const [input, setInput] = useState("");
13
+ const [savedInput, setSavedInput] = useState(null);
14
+ const [cursorOffset, setCursorOffset] = useState(0);
15
+ const cursorPos = input.length - cursorOffset;
16
+ const handleSubmit = useCallback(() => {
17
+ const trimmed = input.trim();
18
+ setInput("");
19
+ setCursorOffset(0);
20
+ setSavedInput(null);
21
+ if (trimmed) {
22
+ onSubmit(trimmed);
23
+ }
24
+ }, [input, onSubmit]);
25
+ useInput((ch, key) => {
26
+ if (disabled)
27
+ return;
28
+ // Enter — submit
29
+ if (key.return) {
30
+ handleSubmit();
31
+ return;
32
+ }
33
+ // Escape — clear line
34
+ if (key.escape) {
35
+ setInput("");
36
+ setCursorOffset(0);
37
+ setSavedInput(null);
38
+ return;
39
+ }
40
+ // Backspace
41
+ if (key.backspace || key.delete) {
42
+ if (cursorPos > 0) {
43
+ setInput((prev) => prev.slice(0, cursorPos - 1) + prev.slice(cursorPos));
44
+ if (cursorOffset > 0) {
45
+ // Keep cursor offset the same — cursor stays in place
46
+ }
47
+ else {
48
+ // Cursor at end, just remove last char
49
+ }
50
+ }
51
+ return;
52
+ }
53
+ // Up arrow — history
54
+ if (key.upArrow && onHistoryUp) {
55
+ if (savedInput === null) {
56
+ setSavedInput(input);
57
+ }
58
+ const prev = onHistoryUp();
59
+ if (prev !== null) {
60
+ setInput(prev);
61
+ setCursorOffset(0);
62
+ }
63
+ return;
64
+ }
65
+ // Down arrow — history
66
+ if (key.downArrow && onHistoryDown) {
67
+ const next = onHistoryDown();
68
+ if (next !== null) {
69
+ setInput(next);
70
+ setCursorOffset(0);
71
+ }
72
+ else if (savedInput !== null) {
73
+ setInput(savedInput);
74
+ setSavedInput(null);
75
+ setCursorOffset(0);
76
+ }
77
+ return;
78
+ }
79
+ // Left arrow
80
+ if (key.leftArrow) {
81
+ setCursorOffset((prev) => Math.min(prev + 1, input.length));
82
+ return;
83
+ }
84
+ // Right arrow
85
+ if (key.rightArrow) {
86
+ setCursorOffset((prev) => Math.max(prev - 1, 0));
87
+ return;
88
+ }
89
+ // Tab — completion
90
+ if (key.tab && onTab) {
91
+ const completed = onTab(input);
92
+ if (completed !== null) {
93
+ setInput(completed);
94
+ setCursorOffset(0);
95
+ }
96
+ return;
97
+ }
98
+ // Regular character input
99
+ if (ch && !key.ctrl && !key.meta) {
100
+ setInput((prev) => prev.slice(0, cursorPos) + ch + prev.slice(cursorPos));
101
+ return;
102
+ }
103
+ }, { isActive: !disabled });
104
+ if (disabled) {
105
+ return null;
106
+ }
107
+ // Render input with cursor
108
+ const before = input.slice(0, cursorPos);
109
+ const cursorChar = input[cursorPos] ?? " ";
110
+ const after = input.slice(cursorPos + 1);
111
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: inkColors.primary, bold: true, children: prefix }), _jsx(Text, { color: inkColors.muted, children: "> " }), _jsx(Text, { children: before }), _jsx(Text, { inverse: true, children: cursorChar }), _jsx(Text, { children: after })] }), completionCandidates && completionCandidates.length > 0 && (_jsx(Box, { paddingLeft: prefix.length + 2, children: _jsx(Text, { color: inkColors.muted, children: completionCandidates.join(" ") }) }))] }));
112
+ }
113
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/components/prompt.tsx"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export interface SearchResultsProps {
13
13
  }
14
14
  /**
15
15
  * Format price from cents to dollars.
16
- * Name.com API returns prices in cents (e.g. 1299 = $12.99).
16
+ * Prices are in cents (e.g. 1299 = $12.99).
17
17
  */
18
18
  export declare function formatPrice(cents: number): string;
19
19
  /**
@@ -9,7 +9,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  import { Box, Text } from "ink";
10
10
  /**
11
11
  * Format price from cents to dollars.
12
- * Name.com API returns prices in cents (e.g. 1299 = $12.99).
12
+ * Prices are in cents (e.g. 1299 = $12.99).
13
13
  */
14
14
  export function formatPrice(cents) {
15
15
  return `$${(cents / 100).toFixed(2)}`;
@@ -1,31 +1,39 @@
1
1
  /**
2
- * Auth utilities for login, logout, and whoami flows.
2
+ * Auth utilities for login, register, logout, and whoami flows.
3
3
  *
4
- * Handles credential validation, storage, and retrieval.
4
+ * Authenticates against the Dominion API.
5
5
  * All credentials stored in ~/.dominion/config.json with 0600 permissions.
6
6
  */
7
7
  import { ConfigManager } from "./config.js";
8
8
  export interface AuthStatus {
9
9
  authenticated: boolean;
10
- username?: string;
10
+ email?: string;
11
11
  domainCount?: number;
12
12
  configPath: string;
13
13
  }
14
14
  export interface ValidateResult {
15
15
  success: boolean;
16
- username: string;
16
+ email: string;
17
+ token?: string;
17
18
  domainCount: number;
18
19
  error?: string;
19
20
  }
20
21
  /**
21
- * Validate Name.com credentials by calling listDomains().
22
- * Returns domain count on success for display in whoami.
22
+ * Register a new Dominion account.
23
23
  */
24
- export declare function validateCredentials(username: string, token: string): Promise<ValidateResult>;
24
+ export declare function register(email: string, password: string, configManager?: ConfigManager): Promise<ValidateResult>;
25
25
  /**
26
- * Save validated credentials to config.
26
+ * Login to an existing Dominion account.
27
27
  */
28
- export declare function saveCredentials(username: string, token: string, configManager?: ConfigManager): void;
28
+ export declare function login(email: string, password: string, configManager?: ConfigManager): Promise<ValidateResult>;
29
+ /**
30
+ * Validate current session by calling /auth/me.
31
+ */
32
+ export declare function validateSession(configManager?: ConfigManager): Promise<ValidateResult>;
33
+ /**
34
+ * Save auth credentials to config.
35
+ */
36
+ export declare function saveCredentials(email: string, token: string, configManager?: ConfigManager): void;
29
37
  /**
30
38
  * Clear credentials from config (logout).
31
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,CAAC,CA0BzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,aAAa,GAC5B,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAGpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,CAUvE;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,UAAU,CAAC,CAgCrB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9D"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,cAAc,CAAC,CAkCzB;AAED;;GAEG;AACH,wBAAsB,KAAK,CACzB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,cAAc,CAAC,CAkCzB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,cAAc,CAAC,CA+CzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,aAAa,GAC5B,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAKpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,CAUvE;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,UAAU,CAAC,CAmBrB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9D"}