@radkode/neo 1.1.2 → 1.3.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 (117) hide show
  1. package/README.md +81 -9
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +46 -8
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/agent/context/index.d.ts.map +1 -1
  6. package/dist/commands/agent/context/index.js +84 -78
  7. package/dist/commands/agent/context/index.js.map +1 -1
  8. package/dist/commands/agent/index.d.ts.map +1 -1
  9. package/dist/commands/agent/index.js +7 -1
  10. package/dist/commands/agent/index.js.map +1 -1
  11. package/dist/commands/agent/init/index.d.ts.map +1 -1
  12. package/dist/commands/agent/init/index.js +36 -33
  13. package/dist/commands/agent/init/index.js.map +1 -1
  14. package/dist/commands/alias/setup/index.d.ts.map +1 -1
  15. package/dist/commands/alias/setup/index.js +57 -52
  16. package/dist/commands/alias/setup/index.js.map +1 -1
  17. package/dist/commands/completions/index.d.ts.map +1 -1
  18. package/dist/commands/completions/index.js +20 -12
  19. package/dist/commands/completions/index.js.map +1 -1
  20. package/dist/commands/config/index.d.ts.map +1 -1
  21. package/dist/commands/config/index.js +173 -158
  22. package/dist/commands/config/index.js.map +1 -1
  23. package/dist/commands/config/profile/index.d.ts.map +1 -1
  24. package/dist/commands/config/profile/index.js +169 -232
  25. package/dist/commands/config/profile/index.js.map +1 -1
  26. package/dist/commands/gh/pr/create/index.d.ts.map +1 -1
  27. package/dist/commands/gh/pr/create/index.js +86 -56
  28. package/dist/commands/gh/pr/create/index.js.map +1 -1
  29. package/dist/commands/git/branch/index.d.ts.map +1 -1
  30. package/dist/commands/git/branch/index.js +56 -43
  31. package/dist/commands/git/branch/index.js.map +1 -1
  32. package/dist/commands/git/commit/index.d.ts.map +1 -1
  33. package/dist/commands/git/commit/index.js +67 -45
  34. package/dist/commands/git/commit/index.js.map +1 -1
  35. package/dist/commands/git/pull/index.d.ts +7 -1
  36. package/dist/commands/git/pull/index.d.ts.map +1 -1
  37. package/dist/commands/git/pull/index.js +62 -70
  38. package/dist/commands/git/pull/index.js.map +1 -1
  39. package/dist/commands/git/push/index.d.ts +2 -0
  40. package/dist/commands/git/push/index.d.ts.map +1 -1
  41. package/dist/commands/git/push/index.js +61 -39
  42. package/dist/commands/git/push/index.js.map +1 -1
  43. package/dist/commands/git/stash/index.d.ts.map +1 -1
  44. package/dist/commands/git/stash/index.js +42 -11
  45. package/dist/commands/git/stash/index.js.map +1 -1
  46. package/dist/commands/git/worktree/add.d.ts.map +1 -1
  47. package/dist/commands/git/worktree/add.js +21 -15
  48. package/dist/commands/git/worktree/add.js.map +1 -1
  49. package/dist/commands/git/worktree/list.d.ts.map +1 -1
  50. package/dist/commands/git/worktree/list.js +32 -20
  51. package/dist/commands/git/worktree/list.js.map +1 -1
  52. package/dist/commands/git/worktree/remove.d.ts.map +1 -1
  53. package/dist/commands/git/worktree/remove.js +17 -8
  54. package/dist/commands/git/worktree/remove.js.map +1 -1
  55. package/dist/commands/git/worktree/switch.d.ts.map +1 -1
  56. package/dist/commands/git/worktree/switch.js +23 -9
  57. package/dist/commands/git/worktree/switch.js.map +1 -1
  58. package/dist/commands/index.d.ts +1 -0
  59. package/dist/commands/index.d.ts.map +1 -1
  60. package/dist/commands/index.js +3 -0
  61. package/dist/commands/index.js.map +1 -1
  62. package/dist/commands/init/index.d.ts.map +1 -1
  63. package/dist/commands/init/index.js +53 -28
  64. package/dist/commands/init/index.js.map +1 -1
  65. package/dist/commands/pr/index.d.ts.map +1 -1
  66. package/dist/commands/pr/index.js +6 -20
  67. package/dist/commands/pr/index.js.map +1 -1
  68. package/dist/commands/schema/index.d.ts +44 -0
  69. package/dist/commands/schema/index.d.ts.map +1 -0
  70. package/dist/commands/schema/index.js +214 -0
  71. package/dist/commands/schema/index.js.map +1 -0
  72. package/dist/commands/update/index.d.ts.map +1 -1
  73. package/dist/commands/update/index.js +103 -91
  74. package/dist/commands/update/index.js.map +1 -1
  75. package/dist/services/ai/index.d.ts.map +1 -1
  76. package/dist/services/ai/index.js +9 -2
  77. package/dist/services/ai/index.js.map +1 -1
  78. package/dist/services/ai/prompts.d.ts +6 -1
  79. package/dist/services/ai/prompts.d.ts.map +1 -1
  80. package/dist/services/ai/prompts.js +10 -4
  81. package/dist/services/ai/prompts.js.map +1 -1
  82. package/dist/types/schemas.d.ts +3 -7
  83. package/dist/types/schemas.d.ts.map +1 -1
  84. package/dist/types/schemas.js +3 -3
  85. package/dist/types/schemas.js.map +1 -1
  86. package/dist/utils/agent.d.ts.map +1 -1
  87. package/dist/utils/agent.js +5 -11
  88. package/dist/utils/agent.js.map +1 -1
  89. package/dist/utils/config.js +1 -1
  90. package/dist/utils/config.js.map +1 -1
  91. package/dist/utils/logger.d.ts +1 -0
  92. package/dist/utils/logger.d.ts.map +1 -1
  93. package/dist/utils/logger.js +52 -11
  94. package/dist/utils/logger.js.map +1 -1
  95. package/dist/utils/output.d.ts +15 -0
  96. package/dist/utils/output.d.ts.map +1 -0
  97. package/dist/utils/output.js +50 -0
  98. package/dist/utils/output.js.map +1 -0
  99. package/dist/utils/prompt.d.ts +17 -2
  100. package/dist/utils/prompt.d.ts.map +1 -1
  101. package/dist/utils/prompt.js +66 -11
  102. package/dist/utils/prompt.js.map +1 -1
  103. package/dist/utils/run-action.d.ts +3 -0
  104. package/dist/utils/run-action.d.ts.map +1 -0
  105. package/dist/utils/run-action.js +19 -0
  106. package/dist/utils/run-action.js.map +1 -0
  107. package/dist/utils/runtime-context.d.ts +27 -0
  108. package/dist/utils/runtime-context.d.ts.map +1 -0
  109. package/dist/utils/runtime-context.js +74 -0
  110. package/dist/utils/runtime-context.js.map +1 -0
  111. package/dist/utils/ui-types.d.ts +2 -0
  112. package/dist/utils/ui-types.d.ts.map +1 -1
  113. package/dist/utils/ui.d.ts +2 -0
  114. package/dist/utils/ui.d.ts.map +1 -1
  115. package/dist/utils/ui.js +96 -22
  116. package/dist/utils/ui.js.map +1 -1
  117. package/package.json +1 -1
@@ -0,0 +1,214 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import packageJson from '../../../package.json' with { type: 'json' };
3
+ import { emitJson } from '../../utils/output.js';
4
+ import { ui } from '../../utils/ui.js';
5
+ function describeOption(opt) {
6
+ const o = opt;
7
+ const takesArg = /[<[]/.test(o.flags);
8
+ const schema = {
9
+ flags: o.flags,
10
+ description: o.description,
11
+ required: Boolean(o.required),
12
+ takesArg,
13
+ };
14
+ if (o.long)
15
+ schema.long = o.long;
16
+ if (o.short)
17
+ schema.short = o.short;
18
+ if (o.defaultValue !== undefined)
19
+ schema.defaultValue = o.defaultValue;
20
+ if (o.argChoices && o.argChoices.length > 0)
21
+ schema.choices = o.argChoices;
22
+ return schema;
23
+ }
24
+ function describeArguments(cmd) {
25
+ const args = cmd
26
+ .registeredArguments;
27
+ if (!args || args.length === 0)
28
+ return [];
29
+ return args.map((a) => ({
30
+ name: a.name(),
31
+ description: a.description,
32
+ required: a.required,
33
+ variadic: a.variadic,
34
+ }));
35
+ }
36
+ function buildCommandSchema(cmd, parentPath = []) {
37
+ const name = cmd.name();
38
+ const path = [...parentPath, name].join(' ');
39
+ const options = (cmd.options ?? []).map(describeOption);
40
+ const schema = {
41
+ name,
42
+ path,
43
+ description: cmd.description() || '',
44
+ aliases: cmd.aliases(),
45
+ arguments: describeArguments(cmd),
46
+ options,
47
+ subcommands: cmd.commands
48
+ .filter((c) => c.name() !== 'help')
49
+ .map((c) => buildCommandSchema(c, [...parentPath, name])),
50
+ };
51
+ return schema;
52
+ }
53
+ export async function buildFullSchema(root) {
54
+ const globalOptions = (root.options ?? []).map(describeOption);
55
+ const commands = root.commands
56
+ .filter((c) => c.name() !== 'help' && c.name() !== 'schema')
57
+ .map((c) => buildCommandSchema(c));
58
+ return {
59
+ $schema: 'opencli-lite/v1',
60
+ name: root.name(),
61
+ version: packageJson.version,
62
+ description: packageJson.description ?? '',
63
+ globalOptions,
64
+ commands,
65
+ agentNotes: {
66
+ nonInteractive: 'Pass --json (implies --non-interactive and --quiet) or --yes to skip interactive prompts. Required fields that cannot be inferred will exit with code 2.',
67
+ json: 'stdout is reserved for final JSON payloads; logs/spinners/banners go to stderr. Under --json, errors emit as {"error": {...}} on stdout.',
68
+ exitCodes: {
69
+ '0': 'Success',
70
+ '1': 'Command failure',
71
+ '2': 'Non-interactive prompt required — missing flag',
72
+ },
73
+ envVars: {
74
+ NEO_JSON: 'Equivalent to --json',
75
+ NEO_YES: 'Equivalent to --yes',
76
+ NEO_NON_INTERACTIVE: 'Equivalent to --non-interactive',
77
+ NEO_QUIET: 'Equivalent to --quiet',
78
+ NO_COLOR: 'Standard — disables colors',
79
+ CI: 'When set, implies --non-interactive and suppresses banner/update-check',
80
+ },
81
+ },
82
+ };
83
+ }
84
+ function getRootProgram(cmd) {
85
+ let current = cmd;
86
+ while (current.parent) {
87
+ current = current.parent;
88
+ }
89
+ return current;
90
+ }
91
+ function renderOptionMarkdown(opt) {
92
+ const parts = [`- \`${opt.flags}\``];
93
+ if (opt.description)
94
+ parts.push(`— ${opt.description}`);
95
+ const meta = [];
96
+ if (opt.required)
97
+ meta.push('required');
98
+ if (opt.defaultValue !== undefined)
99
+ meta.push(`default: \`${JSON.stringify(opt.defaultValue)}\``);
100
+ if (opt.choices && opt.choices.length > 0) {
101
+ meta.push(`choices: ${opt.choices.map((c) => `\`${c}\``).join(', ')}`);
102
+ }
103
+ if (meta.length > 0)
104
+ parts.push(`(${meta.join(', ')})`);
105
+ return parts.join(' ');
106
+ }
107
+ function renderArgumentMarkdown(arg) {
108
+ const decoration = arg.required ? '<>' : '[]';
109
+ const left = decoration[0];
110
+ const right = decoration[1];
111
+ const name = arg.variadic ? `${arg.name}...` : arg.name;
112
+ const parts = [`- \`${left}${name}${right}\``];
113
+ if (arg.description)
114
+ parts.push(`— ${arg.description}`);
115
+ return parts.join(' ');
116
+ }
117
+ function renderCommandMarkdown(cmd, depth) {
118
+ const heading = '#'.repeat(Math.min(depth, 6));
119
+ const lines = [`${heading} neo ${cmd.path}`, ''];
120
+ if (cmd.description) {
121
+ lines.push(cmd.description, '');
122
+ }
123
+ if (cmd.aliases.length > 0) {
124
+ lines.push(`**Aliases:** ${cmd.aliases.map((a) => `\`${a}\``).join(', ')}`, '');
125
+ }
126
+ if (cmd.arguments.length > 0) {
127
+ lines.push('**Arguments:**', '');
128
+ for (const arg of cmd.arguments) {
129
+ lines.push(renderArgumentMarkdown(arg));
130
+ }
131
+ lines.push('');
132
+ }
133
+ if (cmd.options.length > 0) {
134
+ lines.push('**Options:**', '');
135
+ for (const opt of cmd.options) {
136
+ lines.push(renderOptionMarkdown(opt));
137
+ }
138
+ lines.push('');
139
+ }
140
+ for (const sub of cmd.subcommands) {
141
+ lines.push(...renderCommandMarkdown(sub, depth + 1));
142
+ }
143
+ return lines;
144
+ }
145
+ function renderSchemaMarkdown(schema) {
146
+ const lines = [
147
+ `# ${schema.name}`,
148
+ '',
149
+ `**Version:** ${schema.version}`,
150
+ '',
151
+ ];
152
+ if (schema.description) {
153
+ lines.push(schema.description, '');
154
+ }
155
+ if (schema.globalOptions.length > 0) {
156
+ lines.push('## Global options', '');
157
+ for (const opt of schema.globalOptions) {
158
+ lines.push(renderOptionMarkdown(opt));
159
+ }
160
+ lines.push('');
161
+ }
162
+ lines.push('## Agent notes', '');
163
+ lines.push(`- **Non-interactive:** ${schema.agentNotes.nonInteractive}`);
164
+ lines.push(`- **JSON:** ${schema.agentNotes.json}`);
165
+ lines.push('', '**Exit codes:**', '');
166
+ for (const [code, desc] of Object.entries(schema.agentNotes.exitCodes)) {
167
+ lines.push(`- \`${code}\` — ${desc}`);
168
+ }
169
+ lines.push('', '**Environment variables:**', '');
170
+ for (const [name, desc] of Object.entries(schema.agentNotes.envVars)) {
171
+ lines.push(`- \`${name}\` — ${desc}`);
172
+ }
173
+ lines.push('', '## Commands', '');
174
+ for (const cmd of schema.commands) {
175
+ lines.push(...renderCommandMarkdown(cmd, 3));
176
+ }
177
+ return lines.join('\n').replace(/\n{3,}/g, '\n\n').trimEnd() + '\n';
178
+ }
179
+ export function createSchemaCommand() {
180
+ const command = new Command('schema');
181
+ command
182
+ .description('Emit a machine-readable description of every command and option')
183
+ .option('--pretty', 'pretty-print the JSON')
184
+ .option('--markdown', 'emit markdown documentation instead of JSON')
185
+ .addHelpText('after', `
186
+ Agents: use this to discover commands and flags dynamically.
187
+
188
+ Example:
189
+ $ neo schema | jq '.commands[] | .path'
190
+ $ neo schema --pretty > neo-schema.json
191
+ $ neo schema --markdown > AGENTS.md
192
+ `)
193
+ .action(async (opts) => {
194
+ const root = getRootProgram(command);
195
+ const schema = await buildFullSchema(root);
196
+ if (opts.markdown) {
197
+ process.stdout.write(renderSchemaMarkdown(schema));
198
+ return;
199
+ }
200
+ if (opts.pretty) {
201
+ process.stdout.write(`${JSON.stringify(schema, null, 2)}\n`);
202
+ }
203
+ else {
204
+ emitJson(schema, {
205
+ text: () => process.stdout.write(`${JSON.stringify(schema)}\n`),
206
+ });
207
+ }
208
+ if (process.stdout.isTTY) {
209
+ ui.muted('Tip: pipe through `jq` to filter. Use --pretty or --markdown for human output.');
210
+ }
211
+ });
212
+ return command;
213
+ }
214
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/schema/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAU,MAAM,6BAA6B,CAAC;AAC9D,OAAO,WAAW,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AA6CnC,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,CAAC,GAAG,GAST,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,MAAM,GAAiB;QAC3B,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7B,QAAQ;KACT,CAAC;IACF,IAAI,CAAC,CAAC,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACjC,IAAI,CAAC,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACpC,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;QAAE,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;IACvE,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC;AASD,SAAS,iBAAiB,CAAC,GAAY;IACrC,MAAM,IAAI,GAAI,GAAiE;SAC5E,mBAAmB,CAAC;IACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACd,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;KACrB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY,EAAE,aAAuB,EAAE;IACjE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAExD,MAAM,MAAM,GAAkB;QAC5B,IAAI;QACJ,IAAI;QACJ,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE;QACpC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;QACtB,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC;QACjC,OAAO;QACP,WAAW,EAAG,GAAG,CAAC,QAAsB;aACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;KAC5D,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAa;IACjD,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAI,IAAI,CAAC,QAAsB;SAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;SAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAErC,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;QACjB,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;QAC1C,aAAa;QACb,QAAQ;QACR,UAAU,EAAE;YACV,cAAc,EACZ,0JAA0J;YAC5J,IAAI,EAAE,0IAA0I;YAChJ,SAAS,EAAE;gBACT,GAAG,EAAE,SAAS;gBACd,GAAG,EAAE,iBAAiB;gBACtB,GAAG,EAAE,gDAAgD;aACtD;YACD,OAAO,EAAE;gBACP,QAAQ,EAAE,sBAAsB;gBAChC,OAAO,EAAE,qBAAqB;gBAC9B,mBAAmB,EAAE,iCAAiC;gBACtD,SAAS,EAAE,uBAAuB;gBAClC,QAAQ,EAAE,4BAA4B;gBACtC,EAAE,EAAE,wEAAwE;aAC7E;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,OAAO,GAAY,GAAG,CAAC;IAC3B,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,GAAG,OAAO,CAAC,MAAiB,CAAC;IACtC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAiB;IAC7C,MAAM,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,GAAG,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAClG,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAmB;IACjD,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACxD,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC;IAC/C,IAAI,GAAG,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAkB,EAAE,KAAa;IAC9D,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAa,CAAC,GAAG,OAAO,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAkB;IAC9C,MAAM,KAAK,GAAa;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE;QAClB,EAAE;QACF,gBAAgB,MAAM,CAAC,OAAO,EAAE;QAChC,EAAE;KACH,CAAC;IACF,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,4BAA4B,EAAE,EAAE,CAAC,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,OAAO;SACJ,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,UAAU,EAAE,uBAAuB,CAAC;SAC3C,MAAM,CAAC,YAAY,EAAE,6CAA6C,CAAC;SACnE,WAAW,CACV,OAAO,EACP;;;;;;;CAOL,CACI;SACA,MAAM,CAAC,KAAK,EAAE,IAA8C,EAAE,EAAE;QAC/D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAEhB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAA4C,EAAE;gBACrD,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;QAGD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,EAAE,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAmFtD,wBAAgB,mBAAmB,IAAI,OAAO,CA+I7C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AA0FtD,wBAAgB,mBAAmB,IAAI,OAAO,CAgK7C"}
@@ -4,9 +4,13 @@ import inquirer from 'inquirer';
4
4
  import packageJson from '../../../package.json' with { type: 'json' };
5
5
  import { logger } from '../../utils/logger.js';
6
6
  import { ui } from '../../utils/ui.js';
7
- import { validate, isValidationError } from '../../utils/validation.js';
7
+ import { validate } from '../../utils/validation.js';
8
8
  import { updateOptionsSchema } from '../../types/schemas.js';
9
9
  import { compareVersions, fetchLatestCliVersion } from '../../utils/update-check.js';
10
+ import { getRuntimeContext } from '../../utils/runtime-context.js';
11
+ import { emitJson } from '../../utils/output.js';
12
+ import { NonInteractiveError } from '../../utils/prompt.js';
13
+ import { runAction } from '../../utils/run-action.js';
10
14
  function getCurrentVersion() {
11
15
  try {
12
16
  return packageJson.version;
@@ -55,7 +59,7 @@ async function executeUpdate(packageManager, force) {
55
59
  }
56
60
  }
57
61
  await execa(packageManager, commands[packageManager], {
58
- stdio: 'inherit',
62
+ stdio: ['ignore', process.stderr, process.stderr],
59
63
  });
60
64
  }
61
65
  export function createUpdateCommand() {
@@ -64,76 +68,85 @@ export function createUpdateCommand() {
64
68
  .description('Update Neo CLI to the latest version')
65
69
  .option('--check-only', 'only check for updates without installing')
66
70
  .option('--force', 'force update even if already on latest version')
67
- .action(async (options) => {
68
- let validatedOptions;
71
+ .action(runAction(async (options) => {
72
+ const validatedOptions = validate(updateOptionsSchema, options, 'update options');
73
+ const currentVersion = getCurrentVersion();
74
+ logger.debug(`Current version: ${currentVersion}`);
75
+ const spinner = ui.spinner('Checking for updates');
76
+ spinner.start();
77
+ let latestVersion;
69
78
  try {
70
- validatedOptions = validate(updateOptionsSchema, options, 'update options');
79
+ latestVersion = await getLatestVersion();
71
80
  }
72
- catch (error) {
73
- if (isValidationError(error)) {
74
- process.exit(1);
75
- }
76
- throw error;
81
+ catch {
82
+ spinner.fail('Failed to check for updates');
83
+ throw new Error('Could not connect to npm registry. Please check your internet connection.');
77
84
  }
78
- try {
79
- const currentVersion = getCurrentVersion();
80
- logger.debug(`Current version: ${currentVersion}`);
81
- const spinner = ui.spinner('Checking for updates');
82
- spinner.start();
83
- let latestVersion;
84
- try {
85
- latestVersion = await getLatestVersion();
86
- }
87
- catch {
88
- spinner.fail('Failed to check for updates');
89
- ui.error('Could not connect to npm registry. Please check your internet connection');
90
- process.exit(1);
91
- }
92
- logger.debug(`Latest version: ${latestVersion}`);
93
- const comparison = compareVersions(latestVersion, currentVersion);
94
- if (comparison === 0) {
95
- spinner.succeed('You are already on the latest version!');
96
- ui.info(`Current version: ${currentVersion}`);
97
- if (!validatedOptions.force) {
98
- return;
99
- }
100
- ui.warn('--force flag detected, proceeding with reinstall');
85
+ logger.debug(`Latest version: ${latestVersion}`);
86
+ const comparison = compareVersions(latestVersion, currentVersion);
87
+ if (comparison === 0) {
88
+ spinner.succeed('You are already on the latest version!');
89
+ ui.info(`Current version: ${currentVersion}`);
90
+ if (!validatedOptions.force) {
91
+ return;
101
92
  }
102
- else if (comparison < 0) {
103
- spinner.warn(`You are on a newer version (${currentVersion}) than the latest stable (${latestVersion})`);
104
- if (!validatedOptions.force && !validatedOptions.checkOnly) {
105
- const { shouldDowngrade } = await inquirer.prompt([
106
- {
107
- type: 'confirm',
108
- name: 'shouldDowngrade',
109
- message: 'Do you want to downgrade to the latest stable version?',
110
- default: false,
111
- },
112
- ]);
113
- if (!shouldDowngrade) {
114
- ui.muted('Update cancelled');
115
- return;
116
- }
93
+ ui.warn('--force flag detected, proceeding with reinstall');
94
+ }
95
+ else if (comparison < 0) {
96
+ spinner.warn(`You are on a newer version (${currentVersion}) than the latest stable (${latestVersion})`);
97
+ if (!validatedOptions.force && !validatedOptions.checkOnly) {
98
+ const rtCtx = getRuntimeContext();
99
+ if (rtCtx.nonInteractive || rtCtx.yes) {
100
+ throw new NonInteractiveError(`Downgrade from ${currentVersion} to ${latestVersion} requires explicit --force`, '--force');
117
101
  }
118
- else if (!validatedOptions.force) {
102
+ const { shouldDowngrade } = await inquirer.prompt([
103
+ {
104
+ type: 'confirm',
105
+ name: 'shouldDowngrade',
106
+ message: 'Do you want to downgrade to the latest stable version?',
107
+ default: false,
108
+ },
109
+ ]);
110
+ if (!shouldDowngrade) {
111
+ ui.muted('Update cancelled');
119
112
  return;
120
113
  }
121
114
  }
122
- else {
123
- spinner.succeed('Update available!');
124
- ui.keyValue([
125
- ['Current version', currentVersion],
126
- ['Latest version', latestVersion],
127
- ]);
128
- }
129
- if (validatedOptions.checkOnly) {
130
- if (comparison > 0) {
131
- ui.muted('Run neo update to install the latest version');
132
- }
115
+ else if (!validatedOptions.force) {
133
116
  return;
134
117
  }
135
- if (!validatedOptions.force && comparison !== 0) {
136
- const { confirm } = await inquirer.prompt([
118
+ }
119
+ else {
120
+ spinner.succeed('Update available!');
121
+ ui.keyValue([
122
+ ['Current version', currentVersion],
123
+ ['Latest version', latestVersion],
124
+ ]);
125
+ }
126
+ if (validatedOptions.checkOnly) {
127
+ emitJson({
128
+ ok: true,
129
+ command: 'update',
130
+ currentVersion,
131
+ latestVersion,
132
+ updateAvailable: comparison > 0,
133
+ });
134
+ if (comparison > 0) {
135
+ ui.muted('Run neo update to install the latest version');
136
+ }
137
+ return;
138
+ }
139
+ if (!validatedOptions.force && comparison !== 0) {
140
+ const rtCtx = getRuntimeContext();
141
+ let confirm;
142
+ if (rtCtx.yes) {
143
+ confirm = true;
144
+ }
145
+ else if (rtCtx.nonInteractive) {
146
+ throw new NonInteractiveError(`Update to ${latestVersion} requires confirmation`, '--yes');
147
+ }
148
+ else {
149
+ const answer = await inquirer.prompt([
137
150
  {
138
151
  type: 'confirm',
139
152
  name: 'confirm',
@@ -141,41 +154,40 @@ export function createUpdateCommand() {
141
154
  default: true,
142
155
  },
143
156
  ]);
144
- if (!confirm) {
145
- ui.muted('Update cancelled');
146
- return;
147
- }
148
- }
149
- const updateSpinner = ui.spinner('Detecting package manager');
150
- updateSpinner.start();
151
- const packageManager = await detectPackageManager();
152
- updateSpinner.text = `Updating via ${packageManager}...`;
153
- logger.debug(`Using package manager: ${packageManager}`);
154
- try {
155
- await executeUpdate(packageManager, validatedOptions.force || false);
156
- updateSpinner.succeed(`Successfully updated to version ${latestVersion}!`);
157
- ui.muted('Run neo --version to verify the installation');
157
+ confirm = Boolean(answer.confirm);
158
158
  }
159
- catch (error) {
160
- updateSpinner.fail('Update failed');
161
- const errorMessage = error instanceof Error ? error.message : String(error);
162
- if (errorMessage.includes('EACCES') || errorMessage.includes('permission denied')) {
163
- ui.error('Permission denied. Try running with sudo:');
164
- ui.muted(` sudo ${packageManager} ${packageManager === 'npm' ? 'install' : 'add'} -g @radkode/neo@latest`);
165
- }
166
- else {
167
- ui.error(`Update failed: ${errorMessage}`);
168
- ui.muted(`Try updating manually: ${packageManager} ${packageManager === 'npm' ? 'install' : 'add'} -g @radkode/neo@latest`);
169
- }
170
- process.exit(1);
159
+ if (!confirm) {
160
+ ui.muted('Update cancelled');
161
+ return;
171
162
  }
172
163
  }
164
+ const updateSpinner = ui.spinner('Detecting package manager');
165
+ updateSpinner.start();
166
+ const packageManager = await detectPackageManager();
167
+ updateSpinner.text = `Updating via ${packageManager}...`;
168
+ logger.debug(`Using package manager: ${packageManager}`);
169
+ try {
170
+ await executeUpdate(packageManager, validatedOptions.force || false);
171
+ updateSpinner.succeed(`Successfully updated to version ${latestVersion}!`);
172
+ emitJson({
173
+ ok: true,
174
+ command: 'update',
175
+ from: currentVersion,
176
+ to: latestVersion,
177
+ packageManager,
178
+ });
179
+ ui.muted('Run neo --version to verify the installation');
180
+ }
173
181
  catch (error) {
182
+ updateSpinner.fail('Update failed');
174
183
  const errorMessage = error instanceof Error ? error.message : String(error);
175
- ui.error(`Unexpected error: ${errorMessage}`);
176
- process.exit(1);
184
+ const installCmd = `${packageManager} ${packageManager === 'npm' ? 'install' : 'add'} -g @radkode/neo@latest`;
185
+ if (errorMessage.includes('EACCES') || errorMessage.includes('permission denied')) {
186
+ throw new Error(`Permission denied. Try running with sudo: sudo ${installCmd}`);
187
+ }
188
+ throw new Error(`Update failed: ${errorMessage}. Try updating manually: ${installCmd}`);
177
189
  }
178
- });
190
+ }));
179
191
  return command;
180
192
  }
181
193
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/ai/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,wBAAwB,CAAC;AAIvE,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAsKhD,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAsBvG;AAKD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/ai/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,wBAAwB,CAAC;AAIvE,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAEtB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAsLhD,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAsBvG;AAKD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG5D"}
@@ -16,7 +16,7 @@ async function getApiKey() {
16
16
  }
17
17
  async function getModel() {
18
18
  const config = await configManager.read();
19
- return config.ai.model || 'claude-3-haiku-20240307';
19
+ return config.ai.model || 'claude-haiku-4-5-20251001';
20
20
  }
21
21
  async function callAnthropicAPI(prompt, retries = 3) {
22
22
  const apiKey = await getApiKey();
@@ -37,10 +37,17 @@ async function callAnthropicAPI(prompt, retries = 3) {
37
37
  body: JSON.stringify({
38
38
  model,
39
39
  max_tokens: MAX_TOKENS,
40
+ system: [
41
+ {
42
+ type: 'text',
43
+ text: prompt.system,
44
+ cache_control: { type: 'ephemeral' },
45
+ },
46
+ ],
40
47
  messages: [
41
48
  {
42
49
  role: 'user',
43
- content: prompt,
50
+ content: prompt.user,
44
51
  },
45
52
  ],
46
53
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ai/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ai/index.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,12 @@ export interface AICommitResponse {
12
12
  body?: string;
13
13
  breaking: boolean;
14
14
  }
15
- export declare function buildCommitPrompt(request: AICommitRequest): string;
15
+ export interface StructuredCommitPrompt {
16
+ system: string;
17
+ user: string;
18
+ }
19
+ export declare function getCommitSystemPrompt(): string;
20
+ export declare function buildCommitPrompt(request: AICommitRequest): StructuredCommitPrompt;
16
21
  export declare function parseCommitResponse(response: string): AICommitResponse;
17
22
  export declare function isDiffTooLarge(diff: string): boolean;
18
23
  export declare function getDiffSize(diff: string): number;
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/services/ai/prompts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAKD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AA8CD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CA2ClE;AAKD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAqCtE;AAKD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIpD;AAKD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/services/ai/prompts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAKD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AA+CD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAsBD,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAKD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,sBAAsB,CAuBlF;AAKD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAqCtE;AAKD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIpD;AAKD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD"}
@@ -24,9 +24,7 @@ function truncateDiff(diff) {
24
24
  }
25
25
  return result.join('\n');
26
26
  }
27
- export function buildCommitPrompt(request) {
28
- const truncatedDiff = truncateDiff(request.diff);
29
- const systemPrompt = `You are a commit message generator. Generate a conventional commit message based on the staged changes.
27
+ const COMMIT_SYSTEM_PROMPT = `You are a commit message generator. Generate a conventional commit message based on the staged changes.
30
28
 
31
29
  Conventional commit format:
32
30
  - type(scope): message
@@ -45,6 +43,11 @@ Rules:
45
43
 
46
44
  Respond with ONLY a JSON object in this exact format (no markdown, no explanation):
47
45
  {"type":"feat","scope":"optional-scope","message":"lowercase imperative description","body":"optional longer explanation","breaking":false}`;
46
+ export function getCommitSystemPrompt() {
47
+ return COMMIT_SYSTEM_PROMPT;
48
+ }
49
+ export function buildCommitPrompt(request) {
50
+ const truncatedDiff = truncateDiff(request.diff);
48
51
  const contextParts = [];
49
52
  if (request.branchName && request.branchName !== 'main' && request.branchName !== 'master') {
50
53
  contextParts.push(`Current branch: ${request.branchName}`);
@@ -56,7 +59,10 @@ Respond with ONLY a JSON object in this exact format (no markdown, no explanatio
56
59
  contextParts.push(`Staged files (${request.stagedFiles.length}):\n${request.stagedFiles.slice(0, 20).join('\n')}`);
57
60
  }
58
61
  const context = contextParts.length > 0 ? contextParts.join('\n\n') + '\n\n' : '';
59
- return `${systemPrompt}\n\n${context}Staged diff:\n\`\`\`\n${truncatedDiff}\n\`\`\``;
62
+ return {
63
+ system: COMMIT_SYSTEM_PROMPT,
64
+ user: `${context}Staged diff:\n\`\`\`\n${truncatedDiff}\n\`\`\``,
65
+ };
60
66
  }
61
67
  export function parseCommitResponse(response) {
62
68
  let jsonStr = response.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/services/ai/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/services/ai/prompts.ts"],"names":[],"mappings":"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"}