@hs-x/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 (137) hide show
  1. package/dist/account-store.d.ts +45 -22
  2. package/dist/account-store.d.ts.map +1 -1
  3. package/dist/account-store.js +73 -16
  4. package/dist/account-store.js.map +1 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +170 -13
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/cli/kit.d.ts +1 -1
  9. package/dist/cli/kit.d.ts.map +1 -1
  10. package/dist/cli/kit.js.map +1 -1
  11. package/dist/commands/account.d.ts +6 -6
  12. package/dist/commands/account.d.ts.map +1 -1
  13. package/dist/commands/account.js +25 -23
  14. package/dist/commands/account.js.map +1 -1
  15. package/dist/commands/api.d.ts +1 -1
  16. package/dist/commands/completion.d.ts.map +1 -1
  17. package/dist/commands/completion.js +6 -4
  18. package/dist/commands/completion.js.map +1 -1
  19. package/dist/commands/connect.d.ts +16 -0
  20. package/dist/commands/connect.d.ts.map +1 -1
  21. package/dist/commands/connect.js +143 -17
  22. package/dist/commands/connect.js.map +1 -1
  23. package/dist/commands/control-plane-read.d.ts +3 -3
  24. package/dist/commands/control-plane-read.d.ts.map +1 -1
  25. package/dist/commands/control-plane-read.js +21 -33
  26. package/dist/commands/control-plane-read.js.map +1 -1
  27. package/dist/commands/deploy-promote.d.ts +1 -1
  28. package/dist/commands/deploy-promote.d.ts.map +1 -1
  29. package/dist/commands/deploy-promote.js +3 -3
  30. package/dist/commands/deploy-promote.js.map +1 -1
  31. package/dist/commands/deploy.d.ts.map +1 -1
  32. package/dist/commands/deploy.js +39 -2
  33. package/dist/commands/deploy.js.map +1 -1
  34. package/dist/commands/dev.d.ts.map +1 -1
  35. package/dist/commands/dev.js +11 -0
  36. package/dist/commands/dev.js.map +1 -1
  37. package/dist/commands/doctor.d.ts +1 -1
  38. package/dist/commands/doctor.js +2 -2
  39. package/dist/commands/doctor.js.map +1 -1
  40. package/dist/commands/flags.d.ts +1 -1
  41. package/dist/commands/flags.d.ts.map +1 -1
  42. package/dist/commands/flags.js +59 -35
  43. package/dist/commands/flags.js.map +1 -1
  44. package/dist/commands/help-command.d.ts +14 -0
  45. package/dist/commands/help-command.d.ts.map +1 -1
  46. package/dist/commands/help-command.js +274 -20
  47. package/dist/commands/help-command.js.map +1 -1
  48. package/dist/commands/init.d.ts +11 -8
  49. package/dist/commands/init.d.ts.map +1 -1
  50. package/dist/commands/init.js +435 -246
  51. package/dist/commands/init.js.map +1 -1
  52. package/dist/commands/link.d.ts +1 -26
  53. package/dist/commands/link.d.ts.map +1 -1
  54. package/dist/commands/link.js +11 -236
  55. package/dist/commands/link.js.map +1 -1
  56. package/dist/commands/login.d.ts +4 -12
  57. package/dist/commands/login.d.ts.map +1 -1
  58. package/dist/commands/login.js +196 -390
  59. package/dist/commands/login.js.map +1 -1
  60. package/dist/commands/migrate.d.ts +2 -7
  61. package/dist/commands/migrate.d.ts.map +1 -1
  62. package/dist/commands/migrate.js +84 -201
  63. package/dist/commands/migrate.js.map +1 -1
  64. package/dist/commands/rollback.d.ts +1 -20
  65. package/dist/commands/rollback.d.ts.map +1 -1
  66. package/dist/commands/rollback.js +6 -275
  67. package/dist/commands/rollback.js.map +1 -1
  68. package/dist/commands/status.d.ts +1 -1
  69. package/dist/commands/status.js +1 -1
  70. package/dist/commands/status.js.map +1 -1
  71. package/dist/commands/unlink.d.ts +1 -21
  72. package/dist/commands/unlink.d.ts.map +1 -1
  73. package/dist/commands/unlink.js +12 -94
  74. package/dist/commands/unlink.js.map +1 -1
  75. package/dist/commands/update.js +7 -7
  76. package/dist/commands/update.js.map +1 -1
  77. package/dist/commands/validate.d.ts +2 -2
  78. package/dist/commands/validate.d.ts.map +1 -1
  79. package/dist/commands/validate.js +1 -1
  80. package/dist/commands/validate.js.map +1 -1
  81. package/dist/config.d.ts +1 -0
  82. package/dist/config.d.ts.map +1 -1
  83. package/dist/config.js +7 -0
  84. package/dist/config.js.map +1 -1
  85. package/dist/constants.d.ts +1 -1
  86. package/dist/constants.d.ts.map +1 -1
  87. package/dist/constants.js +5 -1
  88. package/dist/constants.js.map +1 -1
  89. package/dist/control-plane-fetch.d.ts.map +1 -1
  90. package/dist/control-plane-fetch.js +2 -2
  91. package/dist/control-plane-fetch.js.map +1 -1
  92. package/dist/control-plane-loader.d.ts +1 -1
  93. package/dist/control-plane-loader.js +1 -1
  94. package/dist/errors-registry.js +1 -1
  95. package/dist/errors-registry.js.map +1 -1
  96. package/dist/help.d.ts.map +1 -1
  97. package/dist/help.js +3 -2
  98. package/dist/help.js.map +1 -1
  99. package/dist/init/templates.d.ts +11 -3
  100. package/dist/init/templates.d.ts.map +1 -1
  101. package/dist/init/templates.js +96 -25
  102. package/dist/init/templates.js.map +1 -1
  103. package/dist/project-binding.d.ts +17 -0
  104. package/dist/project-binding.d.ts.map +1 -0
  105. package/dist/project-binding.js +30 -0
  106. package/dist/project-binding.js.map +1 -0
  107. package/dist/prompt.d.ts +21 -0
  108. package/dist/prompt.d.ts.map +1 -1
  109. package/dist/prompt.js +186 -50
  110. package/dist/prompt.js.map +1 -1
  111. package/dist/reporter/human.d.ts +5 -0
  112. package/dist/reporter/human.d.ts.map +1 -1
  113. package/dist/reporter/human.js +48 -18
  114. package/dist/reporter/human.js.map +1 -1
  115. package/dist/reporter/json.d.ts +6 -0
  116. package/dist/reporter/json.d.ts.map +1 -1
  117. package/dist/reporter/json.js +16 -0
  118. package/dist/reporter/json.js.map +1 -1
  119. package/dist/reporter/style.d.ts +1 -1
  120. package/dist/reporter/style.d.ts.map +1 -1
  121. package/dist/reporter/style.js +10 -3
  122. package/dist/reporter/style.js.map +1 -1
  123. package/dist/reporter/types.d.ts +9 -0
  124. package/dist/reporter/types.d.ts.map +1 -1
  125. package/dist/reporter/types.js.map +1 -1
  126. package/dist/services/account-store.d.ts +9 -4
  127. package/dist/services/account-store.d.ts.map +1 -1
  128. package/dist/services/account-store.js +46 -22
  129. package/dist/services/account-store.js.map +1 -1
  130. package/dist/services/control-plane.js +3 -2
  131. package/dist/services/control-plane.js.map +1 -1
  132. package/dist/services/live.d.ts +1 -1
  133. package/dist/services/reporter.d.ts +3 -0
  134. package/dist/services/reporter.d.ts.map +1 -1
  135. package/dist/services/reporter.js +2 -0
  136. package/dist/services/reporter.js.map +1 -1
  137. package/package.json +11 -8
@@ -1,26 +1,81 @@
1
- import { CLI_VERSION } from '../constants.js';
1
+ // Starter UI-extension card. Scaffolded on `contacts` so it's valid against any
2
+ // template (we ensure the matching read scope); the developer edits from there.
3
+ const CARD = {
4
+ id: 'demo-card',
5
+ name: 'Demo card',
6
+ component: 'DemoCard',
7
+ location: 'crm.record.tab',
8
+ objectType: 'contacts',
9
+ scope: 'crm.objects.contacts.read',
10
+ entrypoint: './cards/DemoCard.tsx',
11
+ };
12
+ function cardComponentFile() {
13
+ return {
14
+ path: 'cards/DemoCard.tsx',
15
+ contents: `import { Flex, Text, hubspot } from "@hubspot/ui-extensions";
16
+
17
+ // Register the extension with HubSpot (do NOT export the component).
18
+ hubspot.extend(() => <DemoCard />);
19
+
20
+ function DemoCard() {
21
+ return (
22
+ <Flex direction="column" gap="small">
23
+ <Text format={{ fontWeight: "bold" }}>Hello from HS-X</Text>
24
+ <Text>Edit cards/DemoCard.tsx to build your UI extension.</Text>
25
+ </Flex>
26
+ );
27
+ }
28
+ `,
29
+ };
30
+ }
2
31
  // Scaffolded apps are installed by an external user OUTSIDE this monorepo, so
3
32
  // their package.json must reference PUBLISHED npm version ranges — never
4
33
  // `workspace:*`, which only resolves inside the workspace and makes a stranger's
5
- // `bun install` fail with "Workspace dependency not found". A caret range on the
6
- // current CLI version also resolves to the local workspace packages when an app
7
- // is scaffolded inside the monorepo (local versions satisfy the range), so one
8
- // value works in both contexts.
9
- const HSX_DEP_RANGE = `^${CLI_VERSION}`;
10
- function configFile(name, scopes, appName = name) {
11
- const scopeLines = scopes.map((s) => ` "${s}",`).join('\n');
34
+ // `bun install` fail with "Workspace dependency not found".
35
+ //
36
+ // This pins the published @hs-x LIBRARY floor, NOT the CLI's own version —
37
+ // the CLI can patch independently without forcing a library version that may
38
+ // not exist on npm. A caret floor also resolves to the local workspace
39
+ // packages when an app is scaffolded inside the monorepo. Bump this when the
40
+ // published libraries get a new minor/major (publish-closure.sh releases the
41
+ // whole closure at one version, so it tracks the family line).
42
+ const HSX_DEP_RANGE = '^0.2.0';
43
+ function configFile(name, scopes, options = {}) {
44
+ const appName = options.appName ?? name;
45
+ const distribution = options.distribution ?? 'private';
46
+ const auth = options.auth ?? 'oauth';
47
+ // A card needs read access to the object it renders on; add it if missing.
48
+ const effectiveScopes = options.uiExtension && !scopes.includes(CARD.scope) ? [...scopes, CARD.scope] : scopes;
49
+ const scopeLines = effectiveScopes.map((s) => ` "${s}",`).join('\n');
50
+ // Backtick strings on purpose: the clean-room gate treats a `from "@hs-x/…"`
51
+ // with no preceding backtick as a REAL static import of the CLI bundle.
52
+ const importLine = options.uiExtension
53
+ ? `import { card, defineApp } from "@hs-x/sdk";`
54
+ : `import { defineApp } from "@hs-x/sdk";`;
55
+ const cardsBlock = options.uiExtension
56
+ ? `
57
+ cards: [
58
+ card({
59
+ id: "${CARD.id}",
60
+ name: "${CARD.name}",
61
+ location: "${CARD.location}",
62
+ objectTypes: ["${CARD.objectType}"],
63
+ entrypoint: "${CARD.entrypoint}",
64
+ }),
65
+ ],`
66
+ : '';
12
67
  return {
13
68
  path: 'hsx.config.ts',
14
- contents: `import { defineApp } from "@hs-x/sdk";
69
+ contents: `${importLine}
15
70
 
16
71
  export default defineApp({
17
72
  name: "${appName}",
18
- distribution: "private",
19
- auth: "oauth",
73
+ distribution: "${distribution}",
74
+ auth: "${auth}",
20
75
  platformVersion: "2026.03",
21
76
  scopes: [
22
77
  ${scopeLines}
23
- ],
78
+ ],${cardsBlock}
24
79
  });
25
80
  `,
26
81
  };
@@ -36,11 +91,11 @@ function slugifyPackageName(value) {
36
91
  .replace(/^[-_.]+|[-_.]+$/g, '');
37
92
  return slug.length > 0 ? slug : 'hsx-app';
38
93
  }
39
- function packageJsonFile(name, appName) {
94
+ function packageJsonFile(name, options = {}) {
40
95
  return {
41
96
  path: 'package.json',
42
97
  contents: `${JSON.stringify({
43
- name: slugifyPackageName(appName ?? name),
98
+ name: slugifyPackageName(options.appName ?? name),
44
99
  private: true,
45
100
  type: 'module',
46
101
  scripts: {
@@ -57,6 +112,17 @@ function packageJsonFile(name, appName) {
57
112
  // local-dev toolchain (ui-extensions-dev-server → webpack/babel) into
58
113
  // every scaffold install, turning a starter `bun install` into a
59
114
  // multi-minute wait. The `scripts` below call the CLI from PATH.
115
+ //
116
+ // UI-extension cards render on HubSpot, which supplies these at runtime;
117
+ // they're devDependencies so the card .tsx type-checks locally.
118
+ ...(options.uiExtension
119
+ ? {
120
+ devDependencies: {
121
+ '@hubspot/ui-extensions': 'latest',
122
+ react: '^18.2.0',
123
+ },
124
+ }
125
+ : {}),
60
126
  }, null, 2)}\n`,
61
127
  };
62
128
  }
@@ -64,7 +130,7 @@ function packageJsonFile(name, appName) {
64
130
  // and via `tsc` out of the box. Deliberately self-contained (no `extends`, no
65
131
  // path aliases) — @hs-x/* resolve from node_modules once `bun install` runs.
66
132
  // `noEmit` because HS-X bundles the worker on deploy; tsc here is for the IDE.
67
- function tsconfigFile() {
133
+ function tsconfigFile(options = {}) {
68
134
  return {
69
135
  path: 'tsconfig.json',
70
136
  contents: `${JSON.stringify({
@@ -82,8 +148,10 @@ function tsconfigFile() {
82
148
  skipLibCheck: true,
83
149
  resolveJsonModule: true,
84
150
  noEmit: true,
151
+ // UI-extension cards are React .tsx; enable JSX for the IDE/tsc.
152
+ ...(options.uiExtension ? { jsx: 'react-jsx', lib: ['ES2023', 'DOM'] } : {}),
85
153
  },
86
- include: ['src', 'hsx.config.ts'],
154
+ include: options.uiExtension ? ['src', 'cards', 'hsx.config.ts'] : ['src', 'hsx.config.ts'],
87
155
  }, null, 2)}\n`,
88
156
  };
89
157
  }
@@ -123,10 +191,11 @@ const dealsTagger = {
123
191
  description: 'A callable HubSpot workflow action with a Worker handler',
124
192
  files(name, options = {}) {
125
193
  return [
126
- packageJsonFile(name, options.appName),
127
- tsconfigFile(),
194
+ packageJsonFile(name, options),
195
+ tsconfigFile(options),
128
196
  gitignoreFile(),
129
- configFile(name, ['crm.objects.deals.read', 'crm.objects.deals.write'], options.appName),
197
+ configFile(name, ['crm.objects.deals.read', 'crm.objects.deals.write'], options),
198
+ ...(options.uiExtension ? [cardComponentFile()] : []),
130
199
  {
131
200
  path: 'src/workers/deals.ts',
132
201
  contents: `import { defineWorker, ok } from "@hs-x/sdk";
@@ -160,10 +229,11 @@ const empty = {
160
229
  description: 'Bare HS-X project structure; add capabilities later',
161
230
  files(name, options = {}) {
162
231
  return [
163
- packageJsonFile(name, options.appName),
164
- tsconfigFile(),
232
+ packageJsonFile(name, options),
233
+ tsconfigFile(options),
165
234
  gitignoreFile(),
166
- configFile(name, ['crm.objects.contacts.read'], options.appName),
235
+ configFile(name, ['crm.objects.contacts.read'], options),
236
+ ...(options.uiExtension ? [cardComponentFile()] : []),
167
237
  {
168
238
  path: 'src/workers/.gitkeep',
169
239
  contents: '',
@@ -177,10 +247,11 @@ const syncSource = {
177
247
  description: 'Webhook-driven sync into a HubSpot custom object',
178
248
  files(name, options = {}) {
179
249
  return [
180
- packageJsonFile(name, options.appName),
181
- tsconfigFile(),
250
+ packageJsonFile(name, options),
251
+ tsconfigFile(options),
182
252
  gitignoreFile(),
183
- configFile(name, ['crm.objects.custom.read', 'crm.objects.custom.write', 'crm.schemas.custom.read'], options.appName),
253
+ configFile(name, ['crm.objects.custom.read', 'crm.objects.custom.write', 'crm.schemas.custom.read'], options),
254
+ ...(options.uiExtension ? [cardComponentFile()] : []),
184
255
  {
185
256
  path: 'src/workers/sync.ts',
186
257
  contents: `import { defineSource, defineWorker } from "@hs-x/sdk";
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Per-project, per-machine record of which HS-X account this checkout deploys
3
+ * under. A project maps 1:1 to an HS-X account (and thus one HubSpot portal),
4
+ * but we keep the binding in `.hs-x/project.json` (gitignored, excluded from
5
+ * the HubSpot bundle) rather than `hsx.config.ts` so the config stays portable
6
+ * and account-agnostic — mirroring how HubSpot's `hs` CLI keeps the active
7
+ * account out of the project source. `deploy`/`dev` prefer this over the global
8
+ * default account, so working across projects bound to different accounts does
9
+ * the right thing without re-specifying `--account-id` each time.
10
+ */
11
+ export interface ProjectBinding {
12
+ readonly accountId: string;
13
+ }
14
+ export declare function readProjectBinding(root: string): Promise<ProjectBinding | undefined>;
15
+ /** Persist the project's account binding, preserving any other project.json fields. */
16
+ export declare function writeProjectBinding(root: string, accountId: string): Promise<void>;
17
+ //# sourceMappingURL=project-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-binding.d.ts","sourceRoot":"","sources":["../src/project-binding.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAMD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAS1F;AAED,uFAAuF;AACvF,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxF"}
@@ -0,0 +1,30 @@
1
+ import { mkdir, readFile, writeFile } from 'node:fs/promises';
2
+ import { dirname, join } from 'node:path';
3
+ function bindingPath(root) {
4
+ return join(root, '.hs-x', 'project.json');
5
+ }
6
+ export async function readProjectBinding(root) {
7
+ try {
8
+ const parsed = JSON.parse(await readFile(bindingPath(root), 'utf8'));
9
+ return typeof parsed.accountId === 'string' && parsed.accountId.length > 0
10
+ ? { accountId: parsed.accountId }
11
+ : undefined;
12
+ }
13
+ catch {
14
+ return undefined;
15
+ }
16
+ }
17
+ /** Persist the project's account binding, preserving any other project.json fields. */
18
+ export async function writeProjectBinding(root, accountId) {
19
+ const path = bindingPath(root);
20
+ await mkdir(dirname(path), { recursive: true });
21
+ let existing = {};
22
+ try {
23
+ existing = JSON.parse(await readFile(path, 'utf8'));
24
+ }
25
+ catch {
26
+ // no/!invalid existing file — start fresh
27
+ }
28
+ await writeFile(path, `${JSON.stringify({ ...existing, accountId }, null, 2)}\n`, 'utf8');
29
+ }
30
+ //# sourceMappingURL=project-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-binding.js","sourceRoot":"","sources":["../src/project-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAgB1C,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAY;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAA4B,CAAC;QAChG,OAAO,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACxE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;YACjC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,SAAiB;IACvE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;IACD,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5F,CAAC"}
package/dist/prompt.d.ts CHANGED
@@ -1,20 +1,36 @@
1
+ /**
2
+ * Sentinel returned by prompts called with `allowBack: true` when the user
3
+ * presses Esc: the wizard should re-run the PREVIOUS step instead of
4
+ * cancelling. Ctrl+C always cancels (`undefined`).
5
+ */
6
+ export declare const BACK: unique symbol;
1
7
  export interface PromptOptions {
2
8
  readonly message: string;
3
9
  readonly default?: string;
4
10
  readonly validate?: (input: string) => string | undefined;
11
+ /** Esc returns the BACK sentinel instead of cancelling (Ctrl+C still cancels). */
12
+ readonly allowBack?: boolean;
5
13
  readonly stdin?: NodeJS.ReadableStream;
6
14
  readonly stderr?: NodeJS.WritableStream;
7
15
  readonly isTTY?: boolean;
8
16
  }
17
+ export declare function promptText(opts: PromptOptions & {
18
+ readonly allowBack: true;
19
+ }): Promise<string | undefined | typeof BACK>;
9
20
  export declare function promptText(opts: PromptOptions): Promise<string | undefined>;
10
21
  export declare function isInteractive(stdin?: NodeJS.ReadableStream, stderr?: NodeJS.WritableStream): boolean;
11
22
  export interface ConfirmOptions {
12
23
  readonly message: string;
13
24
  readonly default?: boolean;
25
+ /** Esc returns the BACK sentinel instead of cancelling (Ctrl+C still cancels). */
26
+ readonly allowBack?: boolean;
14
27
  readonly stdin?: NodeJS.ReadableStream;
15
28
  readonly stderr?: NodeJS.WritableStream;
16
29
  readonly isTTY?: boolean;
17
30
  }
31
+ export declare function promptConfirm(opts: ConfirmOptions & {
32
+ readonly allowBack: true;
33
+ }): Promise<boolean | undefined | typeof BACK>;
18
34
  export declare function promptConfirm(opts: ConfirmOptions): Promise<boolean | undefined>;
19
35
  export interface SelectOption<T extends string = string> {
20
36
  readonly value: T;
@@ -25,10 +41,15 @@ export interface SelectOptions<T extends string = string> {
25
41
  readonly message: string;
26
42
  readonly options: readonly SelectOption<T>[];
27
43
  readonly default?: T;
44
+ /** Esc returns the BACK sentinel instead of cancelling (Ctrl+C still cancels). */
45
+ readonly allowBack?: boolean;
28
46
  readonly stdin?: NodeJS.ReadableStream;
29
47
  readonly stderr?: NodeJS.WritableStream;
30
48
  readonly isTTY?: boolean;
31
49
  }
50
+ export declare function promptSelect<T extends string>(opts: SelectOptions<T> & {
51
+ readonly allowBack: true;
52
+ }): Promise<T | undefined | typeof BACK>;
32
53
  export declare function promptSelect<T extends string>(opts: SelectOptions<T>): Promise<T | undefined>;
33
54
  export interface MultiSelectOptions<T extends string = string> {
34
55
  readonly message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAQD,wBAAsB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA2CjF;AAED,wBAAgB,aAAa,CAC3B,KAAK,GAAE,MAAM,CAAC,cAA8B,EAC5C,MAAM,GAAE,MAAM,CAAC,cAA+B,GAC7C,OAAO,CAIT;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAiCtF;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACrD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACtD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EACjD,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAiBxB;AA2KD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EACtD,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAoHvC"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}