@idea1/cli 1.4.3 → 1.4.5

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 (49) hide show
  1. package/dist/cli/resolver.d.ts +1 -1
  2. package/dist/cli/resolver.js +4 -4
  3. package/dist/cli/resolver.js.map +1 -1
  4. package/dist/cli.js +1 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/approve-pr.d.ts.map +1 -1
  7. package/dist/commands/approve-pr.js +3 -17
  8. package/dist/commands/approve-pr.js.map +1 -1
  9. package/dist/commands/close-worktree.d.ts.map +1 -1
  10. package/dist/commands/close-worktree.js +3 -31
  11. package/dist/commands/close-worktree.js.map +1 -1
  12. package/dist/commands/get-project-item-url.d.ts +3 -0
  13. package/dist/commands/get-project-item-url.d.ts.map +1 -0
  14. package/dist/commands/get-project-item-url.js +14 -0
  15. package/dist/commands/get-project-item-url.js.map +1 -0
  16. package/dist/commands/index.d.ts +2 -1
  17. package/dist/commands/index.d.ts.map +1 -1
  18. package/dist/commands/index.js +3 -1
  19. package/dist/commands/index.js.map +1 -1
  20. package/dist/commands/push.d.ts.map +1 -1
  21. package/dist/commands/push.js +2 -16
  22. package/dist/commands/push.js.map +1 -1
  23. package/dist/commands/release.d.ts.map +1 -1
  24. package/dist/commands/release.js +4 -34
  25. package/dist/commands/release.js.map +1 -1
  26. package/dist/commands/start-project-item.js +7 -7
  27. package/dist/commands/start-project-item.js.map +1 -1
  28. package/dist/commands/update-branch.d.ts.map +1 -1
  29. package/dist/commands/update-branch.js +4 -25
  30. package/dist/commands/update-branch.js.map +1 -1
  31. package/dist/interactive.d.ts +0 -19
  32. package/dist/interactive.d.ts.map +1 -1
  33. package/dist/interactive.js +2 -302
  34. package/dist/interactive.js.map +1 -1
  35. package/dist/lib/prompt.d.ts +35 -0
  36. package/dist/lib/prompt.d.ts.map +1 -0
  37. package/dist/lib/prompt.js +120 -0
  38. package/dist/lib/prompt.js.map +1 -0
  39. package/dist/services/claude.js +1 -1
  40. package/dist/services/claude.js.map +1 -1
  41. package/dist/services/hooks.d.ts.map +1 -1
  42. package/dist/services/hooks.js +7 -24
  43. package/dist/services/hooks.js.map +1 -1
  44. package/dist/services/setup.d.ts.map +1 -1
  45. package/dist/services/setup.js +3 -11
  46. package/dist/services/setup.js.map +1 -1
  47. package/dist/version.d.ts +1 -1
  48. package/dist/version.js +1 -1
  49. package/package.json +1 -1
@@ -0,0 +1,120 @@
1
+ import { input, select, confirm } from '@inquirer/prompts';
2
+ import * as readline from 'readline';
3
+ /**
4
+ * Check if an error is a cancellation from inquirer:
5
+ * - AbortPromptError: thrown when Escape is pressed (our AbortController handler)
6
+ * - ExitPromptError: thrown on SIGINT (defensive; Ctrl+C is clipboard copy on Windows Console)
7
+ */
8
+ function isCancellationError(error) {
9
+ if (!(error instanceof Error))
10
+ return false;
11
+ return error.name === 'ExitPromptError' || error.name === 'AbortPromptError';
12
+ }
13
+ /**
14
+ * Convert cancellation errors to a "command cancelled" error so the REPL loop
15
+ * can catch it and return to the main prompt instead of exiting.
16
+ */
17
+ function rethrowAsCancelled(error) {
18
+ if (isCancellationError(error)) {
19
+ throw new Error('command cancelled');
20
+ }
21
+ throw error;
22
+ }
23
+ /**
24
+ * Create an AbortController that aborts when Escape is pressed.
25
+ * Returns both the controller and a cleanup function to remove the listener.
26
+ */
27
+ function createEscapeAbort() {
28
+ const controller = new AbortController();
29
+ // Enable keypress events on stdin
30
+ if (process.stdin.isTTY) {
31
+ readline.emitKeypressEvents(process.stdin);
32
+ }
33
+ const keypressHandler = (_ch, key) => {
34
+ if (key?.name === 'escape') {
35
+ controller.abort();
36
+ }
37
+ };
38
+ process.stdin.on('keypress', keypressHandler);
39
+ const cleanup = () => {
40
+ process.stdin.removeListener('keypress', keypressHandler);
41
+ };
42
+ return { controller, cleanup };
43
+ }
44
+ /**
45
+ * Prompt for text input.
46
+ * Press Escape to cancel.
47
+ */
48
+ export async function promptInput(message, options) {
49
+ const { controller, cleanup } = createEscapeAbort();
50
+ try {
51
+ const value = await input({
52
+ message,
53
+ default: options?.default,
54
+ validate: options?.validate
55
+ }, { signal: controller.signal });
56
+ return value;
57
+ }
58
+ catch (error) {
59
+ rethrowAsCancelled(error);
60
+ }
61
+ finally {
62
+ cleanup();
63
+ }
64
+ }
65
+ /**
66
+ * Prompt for selection from a list of choices.
67
+ * Accepts choices in the { label, value } format used by CommandOption.choices,
68
+ * and maps them to @inquirer/select's { name, value } format.
69
+ * Press Escape to cancel.
70
+ */
71
+ export async function promptSelect(message, choices, options) {
72
+ const { controller, cleanup } = createEscapeAbort();
73
+ try {
74
+ const value = await select({
75
+ message,
76
+ choices: choices.map(c => ({ name: c.label, value: c.value })),
77
+ default: options?.default
78
+ }, { signal: controller.signal });
79
+ return value;
80
+ }
81
+ catch (error) {
82
+ rethrowAsCancelled(error);
83
+ }
84
+ finally {
85
+ cleanup();
86
+ }
87
+ }
88
+ /**
89
+ * Prompt for yes/no confirmation.
90
+ * Press Escape to cancel.
91
+ */
92
+ export async function promptConfirm(message, options) {
93
+ const { controller, cleanup } = createEscapeAbort();
94
+ try {
95
+ const value = await confirm({
96
+ message,
97
+ default: options?.default ?? true
98
+ }, { signal: controller.signal });
99
+ return value;
100
+ }
101
+ catch (error) {
102
+ rethrowAsCancelled(error);
103
+ }
104
+ finally {
105
+ cleanup();
106
+ }
107
+ }
108
+ /**
109
+ * Prompt for a project item URL.
110
+ * Shared between push and close-worktree commands.
111
+ */
112
+ export async function promptProjectItemUrl(options) {
113
+ const url = await promptInput(options.required
114
+ ? 'Please paste the project item URL'
115
+ : 'Please paste the project item URL (or press Enter to skip):', {
116
+ validate: (input) => !options.required || input.trim() ? true : 'Project item URL is required'
117
+ });
118
+ return url.trim();
119
+ }
120
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,7 @@ export async function generateBranchName(itemUrl) {
106
106
  * Get the implementation prompt for a project item
107
107
  */
108
108
  export function getImplementationPrompt(itemUrl) {
109
- return `Think deeply and make a step-by-step plan to implement the idea1.ai project item ${itemUrl}. Remember the project item's url so you can refer to the url later. Save the plan locally in .idea1/AGENT_IMPLEMENTATION_PLAN.md and to idea1.ai using save_item_plan. Read the project items' context and description from idea1.ai using get_item_context_for_agent_implementation. Ask me to approve the plan before you implement it.`;
109
+ return `Think deeply and make a step-by-step plan to implement the Idea1 project item ${itemUrl}. Read the project items' context and description from Idea1 using get_item_context_for_agent_implementation.`;
110
110
  }
111
111
  /**
112
112
  * Output the implementation prompt as structured output for an already-running Claude session.
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/services/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/services/claude.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/services/hooks.ts"],"names":[],"mappings":"AA0DA;;GAEG;AACH,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAqCjD"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/services/hooks.ts"],"names":[],"mappings":"AAoDA;;GAEG;AACH,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAkCjD"}
@@ -1,7 +1,7 @@
1
1
  import path from 'path';
2
- import inquirer from 'inquirer';
2
+ import { promptSelect, promptInput } from '../lib/prompt.js';
3
3
  import { logger } from '../lib/logger.js';
4
- import { exec, resolveBash } from '../lib/shell.js';
4
+ import { execWithOutput, resolveBash } from '../lib/shell.js';
5
5
  import { readSettings } from '../lib/settings.js';
6
6
  /**
7
7
  * Normalize a hook to HookConfig format
@@ -19,23 +19,10 @@ async function collectHookInputs(inputs) {
19
19
  const collected = {};
20
20
  for (const input of inputs) {
21
21
  if (input.type === 'select' && input.choices) {
22
- const { value } = await inquirer.prompt([{
23
- type: 'list',
24
- name: 'value',
25
- message: input.label,
26
- choices: input.choices.map(c => ({ name: c.label, value: c.value })),
27
- default: input.default
28
- }]);
29
- collected[input.name] = value;
22
+ collected[input.name] = await promptSelect(input.label, input.choices, { default: input.default });
30
23
  }
31
24
  else {
32
- const { value } = await inquirer.prompt([{
33
- type: 'input',
34
- name: 'value',
35
- message: input.label,
36
- default: input.default
37
- }]);
38
- collected[input.name] = value;
25
+ collected[input.name] = await promptInput(input.label, { default: input.default });
39
26
  }
40
27
  }
41
28
  return collected;
@@ -72,13 +59,9 @@ export async function runHook(hookName, repoRoot) {
72
59
  const hookCwd = config.cwd ? path.join(repoRoot, config.cwd) : repoRoot;
73
60
  logger.step(`Running ${hookName} hook: ${config.command}`);
74
61
  const bash = resolveBash();
75
- const result = await exec(bash, [config.command, ...args], { cwd: hookCwd });
76
- if (result.stdout)
77
- process.stdout.write(result.stdout);
78
- if (result.exitCode !== 0) {
79
- if (result.stderr)
80
- process.stderr.write(result.stderr);
81
- logger.error(`${hookName} hook failed with exit code ${result.exitCode}`);
62
+ const exitCode = await execWithOutput(bash, [config.command, ...args], { cwd: hookCwd });
63
+ if (exitCode !== 0) {
64
+ logger.error(`${hookName} hook failed with exit code ${exitCode}`);
82
65
  return { success: false, skipped: false };
83
66
  }
84
67
  logger.success(`${hookName} hook completed`);
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/services/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/services/hooks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/services/setup.ts"],"names":[],"mappings":"AAqFA;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAmBnD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBjE"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/services/setup.ts"],"names":[],"mappings":"AAoFA;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAmBnD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBjE"}
@@ -1,6 +1,6 @@
1
1
  import { existsSync, mkdirSync, writeFileSync } from 'fs';
2
2
  import { join } from 'path';
3
- import inquirer from 'inquirer';
3
+ import { promptConfirm } from '../lib/prompt.js';
4
4
  import { logger } from '../lib/logger.js';
5
5
  const IDEA1_DIR = '.idea1';
6
6
  const SETTINGS_FILE = 'settings.json';
@@ -15,7 +15,6 @@ const DEFAULT_SETTINGS = {
15
15
  }
16
16
  };
17
17
  const GITIGNORE_CONTENT = `# Agent temporary files
18
- AGENT_IMPLEMENTATION_PLAN.md
19
18
  `;
20
19
  const README_CONTENT = `# Idea1 CLI Configuration
21
20
 
@@ -110,15 +109,8 @@ export async function ensureSetup(repoRoot) {
110
109
  if (!isSetupComplete(repoRoot)) {
111
110
  logger.info('Idea1 CLI has not been set up in this repository.');
112
111
  logger.info('Setup will create a .idea1/ folder with default configuration.');
113
- const { confirm } = await inquirer.prompt([
114
- {
115
- type: 'confirm',
116
- name: 'confirm',
117
- message: 'Would you like to perform initial setup?',
118
- default: true
119
- }
120
- ]);
121
- if (!confirm) {
112
+ const confirmed = await promptConfirm('Would you like to perform initial setup?', { default: true });
113
+ if (!confirmed) {
122
114
  logger.error('Setup is required to use Idea1 CLI.');
123
115
  process.exit(1);
124
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/services/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,SAAS,GAAG,QAAQ,CAAC;AAC3B,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,cAAc,GAAG,YAAY,CAAC;AACpC,MAAM,WAAW,GAAG,WAAW,CAAC;AAEhC,MAAM,gBAAgB,GAAG;IACvB,KAAK,EAAE,EACN;IACD,QAAQ,EAAE;QACR,YAAY,EAAE,eAAe;QAC7B,UAAU,EAAE,iBAAiB;QAC7B,WAAW,EAAE,cAAc;KAC5B;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAG;;CAEzB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DtB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE/C,0BAA0B;IAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,uBAAuB;IACvB,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE9E,oBAAoB;IACpB,aAAa,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAEhD,mBAAmB;IACnB,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE1C,MAAM,CAAC,OAAO,CAAC,yEAAyE,CAAC,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAE9E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACxC;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,0CAA0C;gBACnD,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/services/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,SAAS,GAAG,QAAQ,CAAC;AAC3B,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,cAAc,GAAG,YAAY,CAAC;AACpC,MAAM,WAAW,GAAG,WAAW,CAAC;AAEhC,MAAM,gBAAgB,GAAG;IACvB,KAAK,EAAE,EACN;IACD,QAAQ,EAAE;QACR,YAAY,EAAE,eAAe;QAC7B,UAAU,EAAE,iBAAiB;QAC7B,WAAW,EAAE,cAAc;KAC5B;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAG;CACzB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DtB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE/C,0BAA0B;IAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,uBAAuB;IACvB,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE9E,oBAAoB;IACpB,aAAa,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAEhD,mBAAmB;IACnB,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE1C,MAAM,CAAC,OAAO,CAAC,yEAAyE,CAAC,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAE9E,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,0CAA0C,EAC1C,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.4.3";
1
+ export declare const VERSION = "1.4.5";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by scripts/generate-version.js - do not edit manually
2
- export const VERSION = '1.4.3';
2
+ export const VERSION = '1.4.5';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idea1/cli",
3
- "version": "1.4.3",
3
+ "version": "1.4.5",
4
4
  "description": "CLI tool for Idea1.ai workflow automation - AI-assisted development workflows",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",