@yagr/agent 0.2.6 → 0.2.7

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 (86) hide show
  1. package/dist/agent.d.ts +15 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +35 -4
  4. package/dist/agent.js.map +1 -1
  5. package/dist/cli.js +124 -36
  6. package/dist/cli.js.map +1 -1
  7. package/dist/config/gateway-daemon.d.ts +10 -0
  8. package/dist/config/gateway-daemon.d.ts.map +1 -0
  9. package/dist/config/gateway-daemon.js +42 -0
  10. package/dist/config/gateway-daemon.js.map +1 -0
  11. package/dist/config/init-yagr-home.js +5 -4
  12. package/dist/config/init-yagr-home.js.map +1 -1
  13. package/dist/config/local-state.js +2 -2
  14. package/dist/config/local-state.js.map +1 -1
  15. package/dist/config/n8n-config-service.d.ts +8 -0
  16. package/dist/config/n8n-config-service.d.ts.map +1 -1
  17. package/dist/config/n8n-config-service.js +21 -2
  18. package/dist/config/n8n-config-service.js.map +1 -1
  19. package/dist/config/yagr-home.d.ts +4 -0
  20. package/dist/config/yagr-home.d.ts.map +1 -1
  21. package/dist/config/yagr-home.js +12 -4
  22. package/dist/config/yagr-home.js.map +1 -1
  23. package/dist/gateway/format-message.d.ts +25 -0
  24. package/dist/gateway/format-message.d.ts.map +1 -0
  25. package/dist/gateway/format-message.js +166 -0
  26. package/dist/gateway/format-message.js.map +1 -0
  27. package/dist/gateway/interactive-ui.d.ts.map +1 -1
  28. package/dist/gateway/interactive-ui.js +127 -15
  29. package/dist/gateway/interactive-ui.js.map +1 -1
  30. package/dist/gateway/manager.d.ts +7 -0
  31. package/dist/gateway/manager.d.ts.map +1 -1
  32. package/dist/gateway/manager.js +76 -0
  33. package/dist/gateway/manager.js.map +1 -1
  34. package/dist/gateway/telegram.d.ts.map +1 -1
  35. package/dist/gateway/telegram.js +70 -13
  36. package/dist/gateway/telegram.js.map +1 -1
  37. package/dist/gateway/webui.d.ts.map +1 -1
  38. package/dist/gateway/webui.js +19 -7
  39. package/dist/gateway/webui.js.map +1 -1
  40. package/dist/prompt/build-system-prompt.d.ts +11 -0
  41. package/dist/prompt/build-system-prompt.d.ts.map +1 -1
  42. package/dist/prompt/build-system-prompt.js +99 -57
  43. package/dist/prompt/build-system-prompt.js.map +1 -1
  44. package/dist/runtime/completion-gate.js +1 -1
  45. package/dist/runtime/completion-gate.js.map +1 -1
  46. package/dist/runtime/context-compaction.d.ts.map +1 -1
  47. package/dist/runtime/context-compaction.js +2 -7
  48. package/dist/runtime/context-compaction.js.map +1 -1
  49. package/dist/runtime/policy-hooks.d.ts.map +1 -1
  50. package/dist/runtime/policy-hooks.js +9 -1
  51. package/dist/runtime/policy-hooks.js.map +1 -1
  52. package/dist/runtime/run-engine.d.ts +12 -1
  53. package/dist/runtime/run-engine.d.ts.map +1 -1
  54. package/dist/runtime/run-engine.js +108 -61
  55. package/dist/runtime/run-engine.js.map +1 -1
  56. package/dist/setup/setup-wizard.d.ts +1 -1
  57. package/dist/setup/setup-wizard.d.ts.map +1 -1
  58. package/dist/setup/setup-wizard.js +40 -5
  59. package/dist/setup/setup-wizard.js.map +1 -1
  60. package/dist/setup/start-launcher.d.ts +2 -21
  61. package/dist/setup/start-launcher.d.ts.map +1 -1
  62. package/dist/setup/start-launcher.js +14 -63
  63. package/dist/setup/start-launcher.js.map +1 -1
  64. package/dist/setup.d.ts +1 -0
  65. package/dist/setup.d.ts.map +1 -1
  66. package/dist/setup.js +31 -7
  67. package/dist/setup.js.map +1 -1
  68. package/dist/tools/build-tools.d.ts +9 -3
  69. package/dist/tools/build-tools.d.ts.map +1 -1
  70. package/dist/tools/n8nac.d.ts +5 -3
  71. package/dist/tools/n8nac.d.ts.map +1 -1
  72. package/dist/tools/n8nac.js +7 -5
  73. package/dist/tools/n8nac.js.map +1 -1
  74. package/dist/tools/present-workflow-result.d.ts +4 -0
  75. package/dist/tools/present-workflow-result.d.ts.map +1 -1
  76. package/dist/tools/present-workflow-result.js +3 -3
  77. package/dist/tools/present-workflow-result.js.map +1 -1
  78. package/dist/tools/workspace-utils.js +2 -2
  79. package/dist/tools/workspace-utils.js.map +1 -1
  80. package/dist/types.d.ts +2 -0
  81. package/dist/types.d.ts.map +1 -1
  82. package/dist/webui/app.js +6 -3
  83. package/dist/webui/app.js.map +2 -2
  84. package/dist/webui/styles.css +34 -24
  85. package/dist/webui/styles.css.map +2 -2
  86. package/package.json +2 -2
@@ -2,7 +2,6 @@ import { randomUUID } from 'node:crypto';
2
2
  import { generateText, streamText } from 'ai';
3
3
  import { createLanguageModel } from '../llm/create-language-model.js';
4
4
  import { resolveModelContextProfile } from '../llm/create-language-model.js';
5
- import { buildSystemPrompt } from '../prompt/build-system-prompt.js';
6
5
  import { buildTools } from '../tools/index.js';
7
6
  import { evaluateCompletionGate } from './completion-gate.js';
8
7
  import { compactConversationContext } from './context-compaction.js';
@@ -15,23 +14,14 @@ const EXECUTE_RECOVERY_MAX_STEPS = 6;
15
14
  const MAX_EXECUTION_ATTEMPTS = 3;
16
15
  const PHASE_ORDER = ['inspect', 'plan', 'edit', 'validate', 'sync', 'verify', 'summarize'];
17
16
  const STREAM_FILTER_HOLDBACK = 256;
18
- const INTERNAL_PROMPT_PATTERNS = [
19
- /Yagr internal phase:\s*(?:inspect|execute)\.\s*/g,
20
- /Yagr internal recovery pass \d+\.\s*/g,
21
- /Analyze the request and gather only the context needed to execute it correctly\.\s*/g,
22
- /Use tools to inspect the workspace, existing workflow files, workspace instructions, examples, and n8nac workspace status when needed\.\s*/g,
23
- /Favor correctness over speed in this phase\. If an example or rule is likely to determine the right implementation, read it before acting\.\s*/g,
24
- /Do not claim completion in this phase\.\s*/g,
25
- /Complete the task end-to-end using the gathered context\.\s*/g,
26
- /When appropriate, author or edit workflow files, validate them, sync them, verify them, and then summarize what changed\.\s*/g,
27
- /Ask the user only when a specific missing value blocks execution\.\s*/g,
28
- /Do not summarize yet\.\s*/g,
29
- /Inspect the failing tool output, correct the local files or command arguments, and retry the necessary steps now\.\s*/g,
30
- /Only stop if a genuine blocker remains that cannot be resolved locally in this run\.\s*/g,
31
- /Actions en echec:[^\n]*(?:\n|$)/g,
32
- /Etapes non confirmees:[^\n]*(?:\n|$)/g,
33
- /Original request:[^\n]*(?:\n|$)/g,
34
- ];
17
+ /**
18
+ * Structural delimiters injected around every internal prompt (phase instructions,
19
+ * recovery prompts). The stream filter strips everything between an open and a close
20
+ * tag one single regex, no coupling to the prompt wording.
21
+ */
22
+ export const INTERNAL_TAG_OPEN = '\u200B\u27E8yagr:internal\u27E9\u200B';
23
+ export const INTERNAL_TAG_CLOSE = '\u200B\u27E8/yagr:internal\u27E9\u200B';
24
+ const INTERNAL_TAG_REGEX = new RegExp(`${INTERNAL_TAG_OPEN.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}[\\s\\S]*?${INTERNAL_TAG_CLOSE.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}`, 'g');
35
25
  class RepetitiveAssistantOutputError extends Error {
36
26
  partialText;
37
27
  constructor(message, partialText) {
@@ -60,24 +50,28 @@ function throwIfAborted(signal) {
60
50
  }
61
51
  throw createAbortError(typeof signal.reason === 'string' && signal.reason ? signal.reason : undefined);
62
52
  }
53
+ function wrapInternal(text) {
54
+ return `${INTERNAL_TAG_OPEN}${text}${INTERNAL_TAG_CLOSE}`;
55
+ }
63
56
  function createPhasePrompt(phase, userPrompt) {
64
57
  if (phase === 'inspect') {
65
- return [
58
+ return wrapInternal([
66
59
  'Yagr internal phase: inspect.',
67
60
  'Analyze the request and gather only the context needed to execute it correctly.',
68
- 'Use tools to inspect the workspace, existing workflow files, workspace instructions, examples, and n8nac workspace status when needed.',
61
+ 'Use tools to inspect the workspace, existing workflow files, examples, and n8nac workspace status when needed.',
62
+ 'Do not reread the workspace AGENT.md or AGENTS.md file during inspect unless a specific later detail is missing from the current context.',
69
63
  'Favor correctness over speed in this phase. If an example or rule is likely to determine the right implementation, read it before acting.',
70
64
  'Do not claim completion in this phase.',
71
65
  `Original request: ${userPrompt}`,
72
- ].join('\n');
66
+ ].join('\n'));
73
67
  }
74
- return [
68
+ return wrapInternal([
75
69
  'Yagr internal phase: execute.',
76
70
  'Complete the task end-to-end using the gathered context.',
77
71
  'When appropriate, author or edit workflow files, validate them, sync them, verify them, and then summarize what changed.',
78
72
  'Ask the user only when a specific missing value blocks execution.',
79
73
  `Original request: ${userPrompt}`,
80
- ].join('\n');
74
+ ].join('\n'));
81
75
  }
82
76
  function trimAssistantVisibleText(text, maxChars = 12_000) {
83
77
  return text.length <= maxChars ? text : text.slice(-maxChars);
@@ -97,11 +91,7 @@ function hasRepeatedSuffix(text, minimumBlockSize = 180, maximumBlockSize = 4_00
97
91
  return false;
98
92
  }
99
93
  function stripInternalPromptScaffolding(text) {
100
- let next = text;
101
- for (const pattern of INTERNAL_PROMPT_PATTERNS) {
102
- next = next.replace(pattern, '');
103
- }
104
- return next;
94
+ return text.replace(INTERNAL_TAG_REGEX, '');
105
95
  }
106
96
  export function sanitizeAssistantOutput(text) {
107
97
  return stripInternalPromptScaffolding(text)
@@ -111,9 +101,46 @@ export function sanitizeAssistantOutput(text) {
111
101
  .join('\n')
112
102
  .trim();
113
103
  }
104
+ export function sanitizeAssistantMessageContent(content) {
105
+ if (typeof content === 'string') {
106
+ return sanitizeAssistantOutput(content);
107
+ }
108
+ if (!Array.isArray(content)) {
109
+ return content;
110
+ }
111
+ const sanitizedParts = content.flatMap((part) => {
112
+ if (!part || typeof part !== 'object') {
113
+ return [];
114
+ }
115
+ if ('type' in part && part.type === 'text' && 'text' in part && typeof part.text === 'string') {
116
+ const text = sanitizeAssistantOutput(part.text);
117
+ return text ? [{ ...part, text }] : [];
118
+ }
119
+ return [part];
120
+ });
121
+ return sanitizedParts;
122
+ }
123
+ export function sanitizeAssistantResponseMessages(messages) {
124
+ const sanitizedMessages = [];
125
+ for (const message of messages) {
126
+ if (message.role !== 'assistant') {
127
+ sanitizedMessages.push(message);
128
+ continue;
129
+ }
130
+ const content = sanitizeAssistantMessageContent(message.content);
131
+ if (typeof content === 'string' && !content) {
132
+ continue;
133
+ }
134
+ if (Array.isArray(content) && content.length === 0) {
135
+ continue;
136
+ }
137
+ sanitizedMessages.push({ ...message, content });
138
+ }
139
+ return sanitizedMessages;
140
+ }
114
141
  export function shouldAbortForInternalPromptLeak(rawText, visibleText = '') {
115
- const internalMarkerCount = (rawText.match(/Yagr internal (?:phase|recovery pass)/g) ?? []).length;
116
- if (internalMarkerCount < 2) {
142
+ const tagCount = (rawText.match(INTERNAL_TAG_REGEX) ?? []).length;
143
+ if (tagCount < 2) {
117
144
  return false;
118
145
  }
119
146
  return sanitizeAssistantOutput(visibleText).length === 0;
@@ -123,15 +150,7 @@ export function shouldAbortForRepetitiveAssistantOutput(visibleText) {
123
150
  if (normalized.length < 240) {
124
151
  return false;
125
152
  }
126
- if (hasRepeatedSuffix(normalized)) {
127
- return true;
128
- }
129
- const repeatedWorkflowBundle = [
130
- 'Final workflow content:',
131
- 'Final workflow status:',
132
- 'Final workflow URL:',
133
- ].every((marker) => normalized.indexOf(marker) !== -1 && normalized.indexOf(marker) !== normalized.lastIndexOf(marker));
134
- return repeatedWorkflowBundle;
153
+ return hasRepeatedSuffix(normalized);
135
154
  }
136
155
  function appendVisibleAssistantText(state, text) {
137
156
  if (!text) {
@@ -153,7 +172,7 @@ function createAssistantStreamFilterState() {
153
172
  function consumeAssistantTextDelta(state, delta) {
154
173
  state.rawText += delta;
155
174
  state.pendingRaw += delta;
156
- if (shouldAbortForInternalPromptLeak(state.rawText)) {
175
+ if (shouldAbortForInternalPromptLeak(state.rawText, state.visibleText)) {
157
176
  throw new Error('Run stopped after repeated internal prompt leakage. The model kept echoing Yagr internal instructions instead of progressing.');
158
177
  }
159
178
  if (state.pendingRaw.length <= STREAM_FILTER_HOLDBACK) {
@@ -275,16 +294,13 @@ function buildGroundedSummary(_prompt, finishReason, journal, requiredActions) {
275
294
  }
276
295
  return lines.join('\n');
277
296
  }
278
- async function ensureFinalText(_options, prompt, finishReason, journal, existingText, requiredActions, completionAccepted) {
279
- const groundedSummary = buildGroundedSummary(prompt, finishReason, journal, requiredActions);
297
+ function ensureFinalText(prompt, finishReason, journal, existingText, requiredActions, completionAccepted) {
280
298
  const sanitizedText = sanitizeAssistantOutput(existingText);
281
- if (!completionAccepted) {
282
- return groundedSummary;
299
+ if (completionAccepted && sanitizedText) {
300
+ return sanitizedText;
283
301
  }
284
- if (!sanitizedText) {
285
- return groundedSummary;
286
- }
287
- return sanitizedText;
302
+ return buildGroundedSummary(prompt, finishReason, journal, requiredActions)
303
+ || 'Run stopped before producing a grounded result.';
288
304
  }
289
305
  function buildRuntimeContext(state) {
290
306
  return {
@@ -396,13 +412,13 @@ function buildRecoveryPrompt(outcome, attemptNumber) {
396
412
  failedActions ? `Actions en echec: ${failedActions}.` : '',
397
413
  missingChecks.length > 0 ? `Etapes non confirmees: ${missingChecks.join(', ')}.` : '',
398
414
  ].filter(Boolean).join(' ');
399
- return [
415
+ return wrapInternal([
400
416
  `Yagr internal recovery pass ${attemptNumber}.`,
401
417
  issues,
402
418
  'Do not summarize yet.',
403
419
  'Inspect the failing tool output, correct the local files or command arguments, and retry the necessary steps now.',
404
420
  'Only stop if a genuine blocker remains that cannot be resolved locally in this run.',
405
- ].join(' ');
421
+ ].join(' '));
406
422
  }
407
423
  async function executePhase(state, options, systemPrompt, tools, messages, maxSteps) {
408
424
  throwIfAborted(options.abortSignal);
@@ -524,9 +540,11 @@ async function recordStep(state, options, step) {
524
540
  export class YagrRunEngine {
525
541
  engine;
526
542
  history;
527
- constructor(engine, history) {
543
+ systemPrompt;
544
+ constructor(engine, history, systemPrompt) {
528
545
  this.engine = engine;
529
546
  this.history = history;
547
+ this.systemPrompt = systemPrompt;
530
548
  }
531
549
  async execute(prompt, options = {}) {
532
550
  const state = {
@@ -541,7 +559,6 @@ export class YagrRunEngine {
541
559
  role: 'user',
542
560
  content: prompt,
543
561
  };
544
- const systemPrompt = buildSystemPrompt(this.engine);
545
562
  const runtimeHooks = [...createDefaultRuntimeHooks(), ...(options.runtimeHooks ?? [])];
546
563
  const baseTools = buildTools(this.engine, {
547
564
  onToolEvent: withRuntimeToolEvents(state, options),
@@ -563,7 +580,7 @@ export class YagrRunEngine {
563
580
  try {
564
581
  throwIfAborted(options.abortSignal);
565
582
  await transitionPhase(state, options, 'inspect', 'started', 'Inspecting workspace and task context.');
566
- executionContext = await maybeCompactMessages(state, options, systemPrompt, prompt, executionContext);
583
+ executionContext = await maybeCompactMessages(state, options, this.systemPrompt, prompt, executionContext);
567
584
  const inspectInstruction = {
568
585
  role: 'user',
569
586
  content: createPhasePrompt('inspect', prompt),
@@ -571,7 +588,7 @@ export class YagrRunEngine {
571
588
  const inspectResult = await generateText({
572
589
  abortSignal: options.abortSignal,
573
590
  model: createLanguageModel(options),
574
- system: systemPrompt,
591
+ system: this.systemPrompt,
575
592
  tools,
576
593
  messages: [...executionContext, inspectInstruction],
577
594
  maxSteps: Math.min(options.maxSteps ?? 8, INSPECT_MAX_STEPS),
@@ -594,7 +611,7 @@ export class YagrRunEngine {
594
611
  if (state.currentPhase === 'inspect') {
595
612
  await transitionPhase(state, options, 'inspect', 'completed', 'Inspection completed.');
596
613
  }
597
- executionContext.push(inspectInstruction, ...inspectResult.response.messages);
614
+ executionContext.push(...sanitizeAssistantResponseMessages(inspectResult.response.messages));
598
615
  throwIfAborted(options.abortSignal);
599
616
  await transitionPhase(state, options, 'plan', 'started', 'Preparing execution plan.');
600
617
  await transitionPhase(state, options, 'plan', 'completed', 'Execution plan ready.');
@@ -610,13 +627,15 @@ export class YagrRunEngine {
610
627
  let responseMessages = [];
611
628
  for (let attemptNumber = 1; attemptNumber <= MAX_EXECUTION_ATTEMPTS; attemptNumber += 1) {
612
629
  throwIfAborted(options.abortSignal);
613
- executeMessages = await maybeCompactMessages(state, options, systemPrompt, prompt, executeMessages);
614
- const phaseResult = await executePhase(state, options, systemPrompt, tools, executeMessages, attemptNumber === 1 ? (options.maxSteps ?? EXECUTE_MAX_STEPS) : Math.min(options.maxSteps ?? EXECUTE_MAX_STEPS, EXECUTE_RECOVERY_MAX_STEPS));
615
- text = phaseResult.text;
630
+ executeMessages = await maybeCompactMessages(state, options, this.systemPrompt, prompt, executeMessages);
631
+ const phaseResult = await executePhase(state, options, this.systemPrompt, tools, executeMessages, attemptNumber === 1 ? (options.maxSteps ?? EXECUTE_MAX_STEPS) : Math.min(options.maxSteps ?? EXECUTE_MAX_STEPS, EXECUTE_RECOVERY_MAX_STEPS));
632
+ if (phaseResult.text) {
633
+ text = phaseResult.text;
634
+ }
616
635
  finishReason = phaseResult.finishReason;
617
636
  steps += phaseResult.steps;
618
637
  toolCalls = phaseResult.toolCalls;
619
- responseMessages = [...responseMessages, ...phaseResult.responseMessages];
638
+ responseMessages = [...responseMessages, ...sanitizeAssistantResponseMessages(phaseResult.responseMessages)];
620
639
  const outcome = analyzeRunOutcome(state.journal);
621
640
  const requiredActions = collectRequiredActions(state.journal);
622
641
  if (!shouldAttemptRecovery(outcome, attemptNumber, requiredActions)) {
@@ -631,7 +650,7 @@ export class YagrRunEngine {
631
650
  });
632
651
  executeMessages = [
633
652
  ...executeMessages,
634
- ...phaseResult.responseMessages,
653
+ ...sanitizeAssistantResponseMessages(phaseResult.responseMessages),
635
654
  {
636
655
  role: 'user',
637
656
  content: buildRecoveryPrompt(outcome, attemptNumber + 1),
@@ -665,7 +684,7 @@ export class YagrRunEngine {
665
684
  });
666
685
  }
667
686
  throwIfAborted(options.abortSignal);
668
- text = await ensureFinalText(options, prompt, finishReason, state.journal, text, completionDecision.requiredActions, completionDecision.accepted);
687
+ text = ensureFinalText(prompt, finishReason, state.journal, text, completionDecision.requiredActions, completionDecision.accepted);
669
688
  if (state.currentPhase && state.currentPhase !== 'summarize') {
670
689
  await transitionPhase(state, options, state.currentPhase, 'completed', `${state.currentPhase} phase completed.`);
671
690
  }
@@ -699,6 +718,7 @@ export class YagrRunEngine {
699
718
  journal: state.journal,
700
719
  },
701
720
  persistedMessages,
721
+ workspaceInstructionsMayHaveChanged: hasSuccessfulWorkspaceInstructionsRefresh(state.journal),
702
722
  };
703
723
  }
704
724
  catch (error) {
@@ -726,4 +746,31 @@ export class YagrRunEngine {
726
746
  }
727
747
  }
728
748
  }
749
+ function hasSuccessfulWorkspaceInstructionsRefresh(journal) {
750
+ return journal.some((entry) => {
751
+ if (entry.type !== 'step' || !entry.step) {
752
+ return false;
753
+ }
754
+ const n8nacActions = entry.step.toolCalls
755
+ .filter((toolCall) => toolCall.toolName === 'n8nac' && toolCall.args && typeof toolCall.args === 'object')
756
+ .map((toolCall) => {
757
+ const action = toolCall.args.action;
758
+ return typeof action === 'string' ? action : undefined;
759
+ })
760
+ .filter((action) => Boolean(action));
761
+ if (n8nacActions.includes('init_project')) {
762
+ return entry.step.toolResults.some((toolResult) => (toolResult.toolName === 'n8nac'
763
+ && toolResult.result
764
+ && typeof toolResult.result === 'object'
765
+ && toolResult.result.aiContextRefreshed === true));
766
+ }
767
+ if (n8nacActions.includes('update_ai')) {
768
+ return entry.step.toolResults.some((toolResult) => (toolResult.toolName === 'n8nac'
769
+ && toolResult.result
770
+ && typeof toolResult.result === 'object'
771
+ && toolResult.result.exitCode === 0));
772
+ }
773
+ return false;
774
+ });
775
+ }
729
776
  //# sourceMappingURL=run-engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-engine.js","sourceRoot":"","sources":["../../src/runtime/run-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-engine.js","sourceRoot":"","sources":["../../src/runtime/run-engine.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export interface SetupCallbacks {
18
18
  getLlmDefaults(): {
19
19
  provider?: YagrModelProvider;
20
20
  getApiKey(prov: YagrModelProvider): string | undefined;
21
- getDefaultModel(prov: YagrModelProvider): string;
21
+ getDefaultModel(prov: YagrModelProvider): string | undefined;
22
22
  getBaseUrl(prov: YagrModelProvider): string | undefined;
23
23
  needsBaseUrl(prov: YagrModelProvider): boolean;
24
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../src/setup/setup-wizard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAoBzE,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,aAAa,CAAC,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxG,cAAc,IAAI;QAChB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;QAC7B,SAAS,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;QACvD,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAC;QACjD,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;QACxD,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC;KAChD,CAAC;IACF,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,aAAa,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzG,kBAAkB,IAAI;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IACrD,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,YAAY,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CACvG;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAM9E"}
1
+ {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../src/setup/setup-wizard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAoBzE,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,aAAa,CAAC,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxG,cAAc,IAAI;QAChB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;QAC7B,SAAS,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;QACvD,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;QAC7D,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;QACxD,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC;KAChD,CAAC;IACF,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,aAAa,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzG,kBAAkB,IAAI;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IACrD,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,YAAY,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CACvG;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAM9E"}
@@ -258,6 +258,14 @@ function SetupWizard({ callbacks, onDone }) {
258
258
  if (guard !== asyncGuard.current)
259
259
  return;
260
260
  const llmProvider = llmDef.provider;
261
+ if (llmProvider) {
262
+ const existingApiKey = llmDef.getApiKey(llmProvider);
263
+ const existingModel = llmDef.getDefaultModel(llmProvider);
264
+ if (existingApiKey && existingModel) {
265
+ setPhase({ kind: 'llm-reuse-config', provider: llmProvider, apiKey: existingApiKey, model: existingModel, cursor: 0 });
266
+ return;
267
+ }
268
+ }
261
269
  setPhase({ kind: 'llm-provider', initial: llmProvider, cursor: llmProvider ? VALID_PROVIDERS.indexOf(llmProvider) : 0 });
262
270
  }
263
271
  catch (err) {
@@ -278,7 +286,7 @@ function SetupWizard({ callbacks, onDone }) {
278
286
  if (guard !== asyncGuard.current)
279
287
  return;
280
288
  const displayedOptions = getDisplayedModelOptions(models);
281
- const idx = displayedOptions.indexOf(phase.defModel);
289
+ const idx = phase.defModel ? displayedOptions.indexOf(phase.defModel) : -1;
282
290
  setPhase({
283
291
  kind: 'llm-model',
284
292
  provider: phase.provider, apiKey: phase.apiKey,
@@ -424,6 +432,24 @@ function SetupWizard({ callbacks, onDone }) {
424
432
  else if (key.escape)
425
433
  cancel('Setup cancelled.');
426
434
  }
435
+ else if (phase.kind === 'llm-reuse-config') {
436
+ if (key.upArrow)
437
+ setPhase({ ...phase, cursor: Math.max(0, phase.cursor - 1) });
438
+ else if (key.downArrow)
439
+ setPhase({ ...phase, cursor: Math.min(1, phase.cursor + 1) });
440
+ else if (key.return) {
441
+ if (phase.cursor === 0) {
442
+ llmApiKeyDraftsRef.current[phase.provider] = phase.apiKey;
443
+ callbacks.saveLlmConfig({ provider: phase.provider, apiKey: phase.apiKey, model: phase.model, baseUrl: llmDef.getBaseUrl(phase.provider) });
444
+ setPhase({ kind: 'surfaces', cursor: 0, selected: surfDef.surfaces });
445
+ }
446
+ else {
447
+ setPhase({ kind: 'llm-provider', initial: phase.provider, cursor: VALID_PROVIDERS.indexOf(phase.provider) });
448
+ }
449
+ }
450
+ else if (key.escape)
451
+ cancel('Setup cancelled.');
452
+ }
427
453
  else if (phase.kind === 'llm-provider') {
428
454
  if (key.upArrow)
429
455
  setPhase({ ...phase, cursor: Math.max(0, phase.cursor - 1) });
@@ -470,7 +496,12 @@ function SetupWizard({ callbacks, onDone }) {
470
496
  setPhase({ ...phase, cursor: Math.min(allOptions.length - 1, phase.cursor + 1) });
471
497
  else if (key.return) {
472
498
  const selected = allOptions[phase.cursor];
473
- const model = selected === '__custom__' ? phase.defModel : selected;
499
+ if (selected === '__custom__') {
500
+ setPhase({ ...phase, models: [] });
501
+ setTextValue(phase.defModel ?? '');
502
+ return;
503
+ }
504
+ const model = selected;
474
505
  const needsUrl = llmDef.needsBaseUrl(phase.provider);
475
506
  if (needsUrl || llmDef.getBaseUrl(phase.provider)) {
476
507
  setPhase({ kind: 'llm-baseurl', provider: phase.provider, apiKey: phase.apiKey, model, def: llmDef.getBaseUrl(phase.provider) ?? '' });
@@ -538,7 +569,7 @@ function SetupWizard({ callbacks, onDone }) {
538
569
  cancel('Setup cancelled.');
539
570
  }
540
571
  }, [phase, cancel, callbacks, llmDef, surfDef, n8nDef.syncFolder, app, onDone]);
541
- const isSelectPhase = ['n8n-reuse-apikey', 'n8n-project', 'llm-provider', 'llm-reuse-apikey', 'surfaces', 'telegram-reuse-token'].includes(phase.kind)
572
+ const isSelectPhase = ['n8n-reuse-apikey', 'n8n-project', 'llm-provider', 'llm-reuse-config', 'llm-reuse-apikey', 'surfaces', 'telegram-reuse-token'].includes(phase.kind)
542
573
  || (phase.kind === 'llm-model' && phase.models.length > 0);
543
574
  useInput((input, key) => {
544
575
  if (key.ctrl && input === 'c')
@@ -563,6 +594,8 @@ function SetupWizard({ callbacks, onDone }) {
563
594
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(FieldLabel, { label: "Local workflow sync folder" }), _jsx(Box, { marginLeft: 2, children: _jsx(WizardTextInput, { value: textValue, onChange: setTextValue, onSubmit: handleSyncFolderSubmit(phase.url, phase.apiKey, phase.project), placeholder: "workflows" }) }), phase.err ? _jsx(ErrorLine, { message: phase.err }) : null, _jsx(HintBar, { hints: ['Enter ↵ confirm', 'Ctrl+C cancel'] })] }));
564
595
  case 'n8n-saving':
565
596
  return (_jsx(Box, { flexDirection: "column", children: _jsx(SpinnerDisplay, { message: "Saving n8n configuration and refreshing workspace\u2026", frame: spinnerFrame }) }));
597
+ case 'llm-reuse-config':
598
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(FieldLabel, { label: "LLM configuration" }), _jsxs(Text, { dimColor: true, children: [" Currently configured: ", phase.provider, " / ", phase.model] }), _jsx(SelectList, { options: ['Keep current configuration', 'Change provider or model'], cursor: phase.cursor, getLabel: (v) => v, maxVisibleRows: getListViewportHeight(terminalRows, 11), maxLineWidth: listLineWidth }), _jsx(HintBar, { hints: ['↑↓ move', 'Enter ↵ confirm', 'Ctrl+C cancel'] })] }));
566
599
  case 'llm-provider':
567
600
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(FieldLabel, { label: "Default LLM provider" }), _jsx(SelectList, { options: VALID_PROVIDERS, cursor: phase.cursor, getLabel: (v) => v, getHint: (v) => v === phase.initial ? 'currently configured' : undefined, maxVisibleRows: getListViewportHeight(terminalRows, 10), maxLineWidth: listLineWidth }), _jsx(HintBar, { hints: ['↑↓ move', 'Enter ↵ select', 'Ctrl+C cancel'] })] }));
568
601
  case 'llm-reuse-apikey':
@@ -577,7 +610,9 @@ function SetupWizard({ callbacks, onDone }) {
577
610
  case 'llm-model': {
578
611
  const modelOptions = getDisplayedModelOptions(phase.models);
579
612
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(FieldLabel, { label: `Default model · ${phase.provider}` }), phase.models.length === 0 ? (_jsx(Box, { marginLeft: 2, children: _jsx(WizardTextInput, { value: textValue, onChange: setTextValue, onSubmit: (v) => {
580
- const m = v.trim() || phase.defModel;
613
+ const m = v.trim() || phase.defModel || '';
614
+ if (!m)
615
+ return;
581
616
  const needsUrl = llmDef.needsBaseUrl(phase.provider);
582
617
  if (needsUrl || llmDef.getBaseUrl(phase.provider)) {
583
618
  setPhase({ kind: 'llm-baseurl', provider: phase.provider, apiKey: phase.apiKey, model: m, def: llmDef.getBaseUrl(phase.provider) ?? '' });
@@ -587,7 +622,7 @@ function SetupWizard({ callbacks, onDone }) {
587
622
  callbacks.saveLlmConfig({ provider: phase.provider, apiKey: phase.apiKey, model: m });
588
623
  setPhase({ kind: 'surfaces', cursor: 0, selected: surfDef.surfaces });
589
624
  }
590
- }, placeholder: phase.defModel }) })) : (_jsx(SelectList, { options: modelOptions, cursor: phase.cursor, getLabel: (v) => v === '__custom__' ? '⌨ enter manually…' : v, getHint: (v) => v === phase.defModel ? 'recommended' : undefined, maxVisibleRows: getListViewportHeight(terminalRows, 10), maxLineWidth: listLineWidth })), _jsx(HintBar, { hints: phase.models.length > 0 ? ['↑↓ move', 'Enter ↵ select', 'Ctrl+C cancel'] : ['Enter ↵ confirm', 'Ctrl+C cancel'] })] }));
625
+ }, placeholder: phase.defModel }) })) : (_jsx(SelectList, { options: modelOptions, cursor: phase.cursor, getLabel: (v) => v === '__custom__' ? '⌨ enter manually…' : v, getHint: (v) => (phase.defModel && v === phase.defModel) ? 'previously selected' : undefined, maxVisibleRows: getListViewportHeight(terminalRows, 10), maxLineWidth: listLineWidth })), _jsx(HintBar, { hints: phase.models.length > 0 ? ['↑↓ move', 'Enter ↵ select', 'Ctrl+C cancel'] : ['Enter ↵ confirm', 'Ctrl+C cancel'] })] }));
591
626
  }
592
627
  case 'llm-baseurl':
593
628
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(FieldLabel, { label: `${phase.provider} base URL` }), _jsx(Text, { dimColor: true, children: " Leave empty to use the default endpoint" }), _jsx(Box, { marginLeft: 2, children: _jsx(WizardTextInput, { value: textValue, onChange: setTextValue, onSubmit: handleBaseUrlSubmit(phase.provider, phase.apiKey, phase.model), placeholder: phase.def || 'https://api.example.com/v1' }) }), phase.err ? _jsx(ErrorLine, { message: phase.err }) : null, _jsx(HintBar, { hints: ['Enter ↵ confirm (empty = default)', 'Ctrl+C cancel'] })] }));