@yagr/agent 0.2.11 → 0.2.13

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 (212) hide show
  1. package/dist/agent.d.ts +16 -12
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +40 -33
  4. package/dist/agent.js.map +1 -1
  5. package/dist/cli.d.ts +1 -0
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +109 -17
  8. package/dist/cli.js.map +1 -1
  9. package/dist/config/n8n-config-service.d.ts +16 -0
  10. package/dist/config/n8n-config-service.d.ts.map +1 -1
  11. package/dist/config/n8n-config-service.js +32 -1
  12. package/dist/config/n8n-config-service.js.map +1 -1
  13. package/dist/config/yagr-config-service.d.ts +16 -0
  14. package/dist/config/yagr-config-service.d.ts.map +1 -1
  15. package/dist/config/yagr-config-service.js.map +1 -1
  16. package/dist/engine/engine.d.ts +15 -1
  17. package/dist/engine/engine.d.ts.map +1 -1
  18. package/dist/gateway/cli.d.ts +2 -2
  19. package/dist/gateway/cli.d.ts.map +1 -1
  20. package/dist/gateway/cli.js +6 -3
  21. package/dist/gateway/cli.js.map +1 -1
  22. package/dist/gateway/format-message.d.ts +8 -4
  23. package/dist/gateway/format-message.d.ts.map +1 -1
  24. package/dist/gateway/format-message.js +10 -5
  25. package/dist/gateway/format-message.js.map +1 -1
  26. package/dist/gateway/interactive-ui.d.ts +2 -2
  27. package/dist/gateway/interactive-ui.d.ts.map +1 -1
  28. package/dist/gateway/interactive-ui.js +87 -82
  29. package/dist/gateway/interactive-ui.js.map +1 -1
  30. package/dist/gateway/manager.d.ts +6 -6
  31. package/dist/gateway/manager.d.ts.map +1 -1
  32. package/dist/gateway/manager.js.map +1 -1
  33. package/dist/gateway/telegram.d.ts +5 -5
  34. package/dist/gateway/telegram.d.ts.map +1 -1
  35. package/dist/gateway/telegram.js +100 -101
  36. package/dist/gateway/telegram.js.map +1 -1
  37. package/dist/gateway/webui.d.ts +52 -5
  38. package/dist/gateway/webui.d.ts.map +1 -1
  39. package/dist/gateway/webui.js +109 -237
  40. package/dist/gateway/webui.js.map +1 -1
  41. package/dist/gateway/workflow-diagram.d.ts +19 -0
  42. package/dist/gateway/workflow-diagram.d.ts.map +1 -0
  43. package/dist/gateway/workflow-diagram.js +124 -0
  44. package/dist/gateway/workflow-diagram.js.map +1 -0
  45. package/dist/index.d.ts +9 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +6 -1
  48. package/dist/index.js.map +1 -1
  49. package/dist/llm/anthropic-account.d.ts +2 -1
  50. package/dist/llm/anthropic-account.d.ts.map +1 -1
  51. package/dist/llm/anthropic-account.js +1 -1
  52. package/dist/llm/anthropic-account.js.map +1 -1
  53. package/dist/llm/capability-resolver.d.ts +10 -0
  54. package/dist/llm/capability-resolver.d.ts.map +1 -0
  55. package/dist/llm/capability-resolver.js +93 -0
  56. package/dist/llm/capability-resolver.js.map +1 -0
  57. package/dist/llm/copilot-account.d.ts +2 -1
  58. package/dist/llm/copilot-account.d.ts.map +1 -1
  59. package/dist/llm/copilot-account.js +323 -32
  60. package/dist/llm/copilot-account.js.map +1 -1
  61. package/dist/llm/create-language-model.d.ts.map +1 -1
  62. package/dist/llm/create-language-model.js +12 -171
  63. package/dist/llm/create-language-model.js.map +1 -1
  64. package/dist/llm/model-capabilities.d.ts +32 -0
  65. package/dist/llm/model-capabilities.d.ts.map +1 -0
  66. package/dist/llm/model-capabilities.js +144 -0
  67. package/dist/llm/model-capabilities.js.map +1 -0
  68. package/dist/llm/openai-account.d.ts +2 -1
  69. package/dist/llm/openai-account.d.ts.map +1 -1
  70. package/dist/llm/openai-account.js +29 -17
  71. package/dist/llm/openai-account.js.map +1 -1
  72. package/dist/llm/provider-discovery.d.ts +1 -1
  73. package/dist/llm/provider-discovery.d.ts.map +1 -1
  74. package/dist/llm/provider-discovery.js +3 -34
  75. package/dist/llm/provider-discovery.js.map +1 -1
  76. package/dist/llm/provider-metadata.d.ts +27 -0
  77. package/dist/llm/provider-metadata.d.ts.map +1 -0
  78. package/dist/llm/provider-metadata.js +327 -0
  79. package/dist/llm/provider-metadata.js.map +1 -0
  80. package/dist/llm/provider-plugin.d.ts +41 -0
  81. package/dist/llm/provider-plugin.d.ts.map +1 -0
  82. package/dist/llm/provider-plugin.js +429 -0
  83. package/dist/llm/provider-plugin.js.map +1 -0
  84. package/dist/llm/provider-registry.d.ts +5 -1
  85. package/dist/llm/provider-registry.d.ts.map +1 -1
  86. package/dist/llm/provider-registry.js +7 -24
  87. package/dist/llm/provider-registry.js.map +1 -1
  88. package/dist/llm/proxy-runtime.d.ts.map +1 -1
  89. package/dist/llm/proxy-runtime.js +16 -63
  90. package/dist/llm/proxy-runtime.js.map +1 -1
  91. package/dist/llm/test-model-policy.d.ts.map +1 -1
  92. package/dist/llm/test-model-policy.js +8 -10
  93. package/dist/llm/test-model-policy.js.map +1 -1
  94. package/dist/llm/tool-schema.d.ts +4 -0
  95. package/dist/llm/tool-schema.d.ts.map +1 -0
  96. package/dist/llm/tool-schema.js +80 -0
  97. package/dist/llm/tool-schema.js.map +1 -0
  98. package/dist/prompt/build-system-prompt.d.ts +3 -3
  99. package/dist/prompt/build-system-prompt.d.ts.map +1 -1
  100. package/dist/prompt/build-system-prompt.js +2 -0
  101. package/dist/prompt/build-system-prompt.js.map +1 -1
  102. package/dist/runtime/completion-gate.d.ts +4 -0
  103. package/dist/runtime/completion-gate.d.ts.map +1 -1
  104. package/dist/runtime/completion-gate.js +13 -2
  105. package/dist/runtime/completion-gate.js.map +1 -1
  106. package/dist/runtime/context-compaction.d.ts.map +1 -1
  107. package/dist/runtime/context-compaction.js +6 -5
  108. package/dist/runtime/context-compaction.js.map +1 -1
  109. package/dist/runtime/outcome.d.ts +3 -0
  110. package/dist/runtime/outcome.d.ts.map +1 -1
  111. package/dist/runtime/outcome.js +40 -3
  112. package/dist/runtime/outcome.js.map +1 -1
  113. package/dist/runtime/policy-hooks.d.ts +4 -0
  114. package/dist/runtime/policy-hooks.d.ts.map +1 -1
  115. package/dist/runtime/policy-hooks.js +137 -0
  116. package/dist/runtime/policy-hooks.js.map +1 -1
  117. package/dist/runtime/required-actions.d.ts +5 -0
  118. package/dist/runtime/required-actions.d.ts.map +1 -1
  119. package/dist/runtime/required-actions.js +22 -4
  120. package/dist/runtime/required-actions.js.map +1 -1
  121. package/dist/runtime/run-engine.d.ts +6 -3
  122. package/dist/runtime/run-engine.d.ts.map +1 -1
  123. package/dist/runtime/run-engine.js +699 -97
  124. package/dist/runtime/run-engine.js.map +1 -1
  125. package/dist/runtime/tool-runtime-strategy.d.ts +29 -0
  126. package/dist/runtime/tool-runtime-strategy.d.ts.map +1 -0
  127. package/dist/runtime/tool-runtime-strategy.js +102 -0
  128. package/dist/runtime/tool-runtime-strategy.js.map +1 -0
  129. package/dist/runtime/user-visible-updates.d.ts +12 -0
  130. package/dist/runtime/user-visible-updates.d.ts.map +1 -0
  131. package/dist/runtime/user-visible-updates.js +93 -0
  132. package/dist/runtime/user-visible-updates.js.map +1 -0
  133. package/dist/setup/application-services.d.ts +199 -0
  134. package/dist/setup/application-services.d.ts.map +1 -0
  135. package/dist/setup/application-services.js +468 -0
  136. package/dist/setup/application-services.js.map +1 -0
  137. package/dist/setup/setup-wizard.d.ts +1 -0
  138. package/dist/setup/setup-wizard.d.ts.map +1 -1
  139. package/dist/setup/setup-wizard.js +16 -18
  140. package/dist/setup/setup-wizard.js.map +1 -1
  141. package/dist/setup/status.d.ts +21 -0
  142. package/dist/setup/status.d.ts.map +1 -0
  143. package/dist/setup/status.js +47 -0
  144. package/dist/setup/status.js.map +1 -0
  145. package/dist/setup.d.ts +3 -14
  146. package/dist/setup.d.ts.map +1 -1
  147. package/dist/setup.js +30 -256
  148. package/dist/setup.js.map +1 -1
  149. package/dist/tools/build-tools.d.ts +160 -18
  150. package/dist/tools/build-tools.d.ts.map +1 -1
  151. package/dist/tools/build-tools.js +11 -1
  152. package/dist/tools/build-tools.js.map +1 -1
  153. package/dist/tools/deploy.d.ts +2 -2
  154. package/dist/tools/deploy.d.ts.map +1 -1
  155. package/dist/tools/deploy.js.map +1 -1
  156. package/dist/tools/generate-workflow.d.ts +9 -9
  157. package/dist/tools/generate-workflow.d.ts.map +1 -1
  158. package/dist/tools/generate-workflow.js.map +1 -1
  159. package/dist/tools/index.d.ts +1 -1
  160. package/dist/tools/index.d.ts.map +1 -1
  161. package/dist/tools/index.js.map +1 -1
  162. package/dist/tools/list-workflows.d.ts +2 -2
  163. package/dist/tools/list-workflows.d.ts.map +1 -1
  164. package/dist/tools/list-workflows.js.map +1 -1
  165. package/dist/tools/manage-workflow.d.ts +2 -2
  166. package/dist/tools/manage-workflow.d.ts.map +1 -1
  167. package/dist/tools/manage-workflow.js.map +1 -1
  168. package/dist/tools/n8nac.d.ts +121 -4
  169. package/dist/tools/n8nac.d.ts.map +1 -1
  170. package/dist/tools/n8nac.js +183 -38
  171. package/dist/tools/n8nac.js.map +1 -1
  172. package/dist/tools/node-info.d.ts +2 -2
  173. package/dist/tools/node-info.d.ts.map +1 -1
  174. package/dist/tools/node-info.js.map +1 -1
  175. package/dist/tools/observer.d.ts +6 -35
  176. package/dist/tools/observer.d.ts.map +1 -1
  177. package/dist/tools/observer.js +18 -0
  178. package/dist/tools/observer.js.map +1 -1
  179. package/dist/tools/present-workflow-result.d.ts +1 -0
  180. package/dist/tools/present-workflow-result.d.ts.map +1 -1
  181. package/dist/tools/present-workflow-result.js +24 -5
  182. package/dist/tools/present-workflow-result.js.map +1 -1
  183. package/dist/tools/request-required-action.d.ts +7 -3
  184. package/dist/tools/request-required-action.d.ts.map +1 -1
  185. package/dist/tools/request-required-action.js +5 -3
  186. package/dist/tools/request-required-action.js.map +1 -1
  187. package/dist/tools/search-nodes.d.ts +2 -2
  188. package/dist/tools/search-nodes.d.ts.map +1 -1
  189. package/dist/tools/search-nodes.js.map +1 -1
  190. package/dist/tools/search-templates.d.ts +2 -2
  191. package/dist/tools/search-templates.d.ts.map +1 -1
  192. package/dist/tools/search-templates.js.map +1 -1
  193. package/dist/tools/toolsets.d.ts +11 -0
  194. package/dist/tools/toolsets.d.ts.map +1 -0
  195. package/dist/tools/toolsets.js +49 -0
  196. package/dist/tools/toolsets.js.map +1 -0
  197. package/dist/tools/validate.d.ts +2 -2
  198. package/dist/tools/validate.d.ts.map +1 -1
  199. package/dist/tools/validate.js.map +1 -1
  200. package/dist/tools/write-workspace-file.d.ts +25 -9
  201. package/dist/tools/write-workspace-file.d.ts.map +1 -1
  202. package/dist/tools/write-workspace-file.js +27 -4
  203. package/dist/tools/write-workspace-file.js.map +1 -1
  204. package/dist/types.d.ts +1 -0
  205. package/dist/types.d.ts.map +1 -1
  206. package/dist/webui/app.js +97 -101
  207. package/dist/webui/app.js.map +4 -4
  208. package/package.json +6 -5
  209. package/dist/llm/google-account.d.ts +0 -31
  210. package/dist/llm/google-account.d.ts.map +0 -1
  211. package/dist/llm/google-account.js +0 -851
  212. package/dist/llm/google-account.js.map +0 -1
package/dist/setup.js CHANGED
@@ -1,68 +1,21 @@
1
- import { N8nApiClient, WorkspaceSetupService, getDisplayProjectName, } from 'n8nac';
2
- import { Command } from 'commander';
3
- import { UpdateAiCommand } from 'n8nac/dist/commands/init-ai.js';
4
- import { normalizeGatewaySurfaces, YagrConfigService } from './config/yagr-config-service.js';
5
- import { resolveWorkflowDir, YagrN8nConfigService } from './config/n8n-config-service.js';
6
- import { getYagrN8nWorkspaceDir } from './config/yagr-home.js';
7
- import { getGatewaySupervisorStatus } from './gateway/manager.js';
1
+ import { N8nApiClient, } from 'n8nac';
2
+ import { YagrConfigService } from './config/yagr-config-service.js';
3
+ import { YagrN8nConfigService } from './config/n8n-config-service.js';
8
4
  import { createOnboardingToken, resolveTelegramBotIdentity } from './gateway/telegram.js';
9
- import { resolveModelProvider } from './llm/create-language-model.js';
10
- import { beginGitHubCopilotAuth, completeGitHubCopilotAuth } from './llm/copilot-account.js';
11
- import { beginGeminiAccountAuth, completeGeminiAccountAuth } from './llm/google-account.js';
12
- import { beginCodexAuth, completeCodexAuth, ensureOpenAiAccountSession } from './llm/openai-account.js';
13
- import { fetchAvailableModels } from './llm/provider-discovery.js';
14
- import { getDefaultBaseUrlForProvider, isProviderConfigured, providerNeedsBaseUrlInput, YAGR_MODEL_PROVIDERS, } from './llm/provider-registry.js';
15
- import { prepareProviderRuntime } from './llm/proxy-runtime.js';
16
5
  import { bootstrapManagedLocalN8n } from './n8n-local/bootstrap.js';
17
6
  import { installManagedDirectN8n } from './n8n-local/direct-manager.js';
18
7
  import { installManagedDockerN8n } from './n8n-local/docker-manager.js';
19
8
  import { inspectLocalN8nBootstrap } from './n8n-local/detect.js';
20
9
  import { markManagedN8nBootstrapStage } from './n8n-local/state.js';
10
+ import { YagrSetupApplicationService } from './setup/application-services.js';
11
+ import { buildYagrSetupStatus as buildYagrSetupStatusBase, getYagrSetupStatus as getYagrSetupStatusBase, } from './setup/status.js';
21
12
  import { runSetupWizard } from './setup/setup-wizard.js';
22
13
  import { openExternalUrl } from './system/open-external.js';
23
- const VALID_PROVIDERS = [...YAGR_MODEL_PROVIDERS];
24
14
  export function buildYagrSetupStatus(input) {
25
- const missingSteps = [];
26
- if (!input.n8nConfigured) {
27
- missingSteps.push('n8n');
28
- }
29
- if (!input.llmConfigured) {
30
- missingSteps.push('llm');
31
- }
32
- return {
33
- ready: missingSteps.length === 0,
34
- n8nConfigured: input.n8nConfigured,
35
- llmConfigured: input.llmConfigured,
36
- enabledSurfaces: input.enabledSurfaces,
37
- startableSurfaces: input.startableSurfaces,
38
- missingSteps,
39
- };
15
+ return buildYagrSetupStatusBase(input);
40
16
  }
41
17
  export function getYagrSetupStatus(yagrConfigService = new YagrConfigService(), n8nConfigService = new YagrN8nConfigService(), options = {}) {
42
- const yagrConfig = yagrConfigService.getLocalConfig();
43
- const n8nConfig = n8nConfigService.getLocalConfig();
44
- const gatewayStatus = getGatewaySupervisorStatus(yagrConfigService);
45
- const activeSurfaces = normalizeGatewaySurfaces(options.activeSurfaces);
46
- const n8nConfigured = Boolean(n8nConfig.host
47
- && n8nConfig.syncFolder
48
- && n8nConfig.projectId
49
- && n8nConfig.projectName
50
- && n8nConfigService.getApiKey(n8nConfig.host));
51
- let llmConfigured = false;
52
- try {
53
- llmConfigured = isProviderConfigured(yagrConfig, (provider) => yagrConfigService.getApiKey(provider));
54
- }
55
- catch {
56
- llmConfigured = false;
57
- }
58
- const enabledSurfaces = Array.from(new Set([...gatewayStatus.enabledSurfaces, ...activeSurfaces]));
59
- const startableSurfaces = Array.from(new Set([...gatewayStatus.startableSurfaces, ...activeSurfaces]));
60
- return buildYagrSetupStatus({
61
- n8nConfigured,
62
- llmConfigured,
63
- enabledSurfaces,
64
- startableSurfaces,
65
- });
18
+ return getYagrSetupStatusBase(yagrConfigService, n8nConfigService, options);
66
19
  }
67
20
  export async function runYagrSetup(yagrConfigService = new YagrConfigService(), n8nConfigService = new YagrN8nConfigService()) {
68
21
  const callbacks = createSetupCallbacks(yagrConfigService, n8nConfigService);
@@ -83,6 +36,10 @@ export async function runYagrLlmSetup(yagrConfigService = new YagrConfigService(
83
36
  return result.ok;
84
37
  }
85
38
  function createSetupCallbacks(yagrConfigService, n8nConfigService) {
39
+ const setupService = new YagrSetupApplicationService(yagrConfigService, n8nConfigService, {
40
+ resolveTelegramIdentity: resolveTelegramBotIdentity,
41
+ createOnboardingToken,
42
+ });
86
43
  const callbacks = {
87
44
  getN8nDefaults(urlOverride) {
88
45
  const cfg = n8nConfigService.getLocalConfig();
@@ -106,29 +63,15 @@ function createSetupCallbacks(yagrConfigService, n8nConfigService) {
106
63
  return projects;
107
64
  },
108
65
  async saveN8nConfig({ url, apiKey, project, syncFolder, runtimeSource }) {
109
- n8nConfigService.saveApiKey(url, apiKey);
110
- n8nConfigService.saveBootstrapState(url, syncFolder, runtimeSource);
111
- const instanceIdentifier = await n8nConfigService.getOrCreateInstanceIdentifier(url);
112
- const currentConfig = n8nConfigService.getLocalConfig();
113
- const projectName = getDisplayProjectName(project);
114
- n8nConfigService.saveLocalConfig({
66
+ const warning = await setupService.saveN8nConfig({
115
67
  host: url,
116
- syncFolder,
68
+ apiKey,
117
69
  projectId: project.id,
118
- projectName,
119
- instanceIdentifier,
120
- customNodesPath: currentConfig.customNodesPath,
70
+ syncFolder,
121
71
  runtimeSource,
122
72
  });
123
- const workflowDir = resolveWorkflowDir({ syncFolder, instanceIdentifier, projectName });
124
- if (workflowDir) {
125
- WorkspaceSetupService.ensureWorkspaceFiles(workflowDir);
126
- }
127
- try {
128
- await refreshAiContext({ host: url, apiKey });
129
- }
130
- catch (err) {
131
- process.stderr.write(`Warning: n8n workspace instructions refresh failed: ${err instanceof Error ? err.message : String(err)}\n`);
73
+ if (warning) {
74
+ process.stderr.write(`Warning: ${warning}\n`);
132
75
  }
133
76
  markManagedN8nBootstrapStage(url, 'connected');
134
77
  },
@@ -168,212 +111,43 @@ function createSetupCallbacks(yagrConfigService, n8nConfigService) {
168
111
  await openExternalUrl(url);
169
112
  },
170
113
  getLlmDefaults() {
171
- const cfg = yagrConfigService.getLocalConfig();
172
- let initialProvider = cfg.provider;
173
- if (!initialProvider) {
174
- try {
175
- initialProvider = resolveModelProvider(undefined, yagrConfigService);
176
- }
177
- catch {
178
- initialProvider = undefined;
179
- }
180
- }
181
- return {
182
- provider: initialProvider,
183
- getApiKey: (prov) => yagrConfigService.getApiKey(prov),
184
- getDefaultModel: (prov) => cfg.provider === prov && cfg.model ? cfg.model : undefined,
185
- getBaseUrl: (prov) => cfg.provider === prov ? cfg.baseUrl : getDefaultBaseUrlForProvider(prov),
186
- needsBaseUrl: (prov) => providerNeedsBaseUrlInput(prov),
187
- };
114
+ return setupService.getLlmDefaults();
188
115
  },
189
116
  async prepareProvider(provider, apiKey) {
190
- const cfg = yagrConfigService.getLocalConfig();
191
- const prepared = await prepareProviderRuntime(provider, {
192
- apiKey,
193
- baseUrl: cfg.provider === provider ? cfg.baseUrl : getDefaultBaseUrlForProvider(provider),
194
- });
195
- return {
196
- ready: prepared.ready,
197
- apiKey: prepared.runtime?.apiKey,
198
- baseUrl: prepared.runtime?.baseUrl,
199
- models: prepared.runtime?.models,
200
- notes: prepared.notes,
201
- error: prepared.reason,
202
- };
117
+ return setupService.prepareProvider(provider, apiKey);
118
+ },
119
+ async hasAccountSession(provider) {
120
+ return setupService.hasAccountSession(provider);
203
121
  },
204
122
  async startAccountAuth(provider) {
205
- if (provider === 'openai-proxy') {
206
- const session = await ensureOpenAiAccountSession();
207
- if (session) {
208
- return { kind: 'none' };
209
- }
210
- const challenge = await beginCodexAuth();
211
- const callbackHint = challenge.callbackServerStarted
212
- ? 'After signing in, Yagr captures the callback automatically.'
213
- : 'If the browser does not open, copy the URL above and visit it manually.';
214
- return {
215
- kind: 'input',
216
- title: 'Connect OpenAI account (ChatGPT Plus)',
217
- instructions: [
218
- 'Open this URL in your browser and sign in with your ChatGPT account:',
219
- challenge.authUrl,
220
- 'This uses your ChatGPT subscription — no API credits are consumed.',
221
- callbackHint,
222
- ],
223
- placeholder: challenge.callbackServerStarted
224
- ? 'Press Enter after signing in'
225
- : `http://localhost:1455/auth/callback?code=...`,
226
- submitLabel: challenge.callbackServerStarted ? 'Continue after sign-in' : 'Submit redirect URL',
227
- };
228
- }
229
- if (provider === 'anthropic-proxy') {
230
- return {
231
- kind: 'input',
232
- title: 'Connect Claude token',
233
- instructions: [
234
- 'On a machine where Claude CLI is installed and logged in, run:',
235
- 'claude setup-token',
236
- 'Paste the generated setup-token below.',
237
- ],
238
- placeholder: 'Paste setup-token',
239
- submitLabel: 'Continue with setup-token',
240
- };
241
- }
242
- if (provider === 'google-proxy') {
243
- const challenge = await beginGeminiAccountAuth();
244
- const callbackHint = challenge.callbackServerStarted
245
- ? 'After authorization, Yagr captures the callback automatically on http://127.0.0.1:8085.'
246
- : 'If local callback is unavailable, paste the full redirect URL below.';
247
- return {
248
- kind: 'input',
249
- title: 'Complete Gemini OAuth',
250
- instructions: [
251
- 'Open this URL in your browser and sign in with Google:',
252
- challenge.authUrl,
253
- callbackHint,
254
- ],
255
- placeholder: challenge.callbackServerStarted
256
- ? 'Press Enter after browser authorization'
257
- : 'http://localhost:8085/oauth2callback?code=...',
258
- submitLabel: challenge.callbackServerStarted
259
- ? 'Continue after authorization'
260
- : 'Submit redirect URL',
261
- state: challenge.verifier,
262
- };
263
- }
264
- if (provider === 'copilot-proxy') {
265
- const challenge = await beginGitHubCopilotAuth();
266
- return {
267
- kind: 'input',
268
- title: 'Complete GitHub Copilot OAuth',
269
- instructions: [
270
- `Open: ${challenge.verificationUri}`,
271
- `Enter code: ${challenge.userCode}`,
272
- 'Authorize GitHub Copilot in your browser, then press Enter below to continue.',
273
- ],
274
- placeholder: 'Press Enter after browser authorization',
275
- submitLabel: 'Continue after authorization',
276
- state: JSON.stringify(challenge),
277
- };
278
- }
279
- return { kind: 'none' };
123
+ return setupService.startAccountAuth(provider);
280
124
  },
281
125
  async completeAccountAuth(provider, input, state) {
282
- if (provider === 'openai-proxy') {
283
- await completeCodexAuth();
284
- return { ok: true };
285
- }
286
- if (provider === 'google-proxy') {
287
- if (!state) {
288
- return { ok: false, error: 'Gemini OAuth state is missing.' };
289
- }
290
- await completeGeminiAccountAuth(input, state);
291
- return { ok: true };
292
- }
293
- if (provider === 'copilot-proxy') {
294
- if (!state) {
295
- return { ok: false, error: 'GitHub Copilot device flow state is missing.' };
296
- }
297
- const challenge = JSON.parse(state);
298
- await completeGitHubCopilotAuth(challenge);
299
- return { ok: true };
300
- }
301
- if (provider === 'anthropic-proxy') {
302
- const credential = input.trim();
303
- if (!credential) {
304
- return { ok: false, error: 'Paste a Claude setup-token.' };
305
- }
306
- return { ok: true, apiKey: credential };
307
- }
308
- return { ok: true };
126
+ return setupService.completeAccountAuth(provider, input, state);
309
127
  },
310
128
  async fetchModels(provider, apiKey) {
311
- const cfg = yagrConfigService.getLocalConfig();
312
- const baseUrl = cfg.provider === provider ? cfg.baseUrl : getDefaultBaseUrlForProvider(provider);
313
- return fetchAvailableModels(provider, apiKey, baseUrl);
129
+ return setupService.fetchModels(provider, apiKey);
314
130
  },
315
131
  saveLlmConfig({ provider, apiKey, model, baseUrl }) {
316
- const cfg = yagrConfigService.getLocalConfig();
317
- if (apiKey) {
318
- yagrConfigService.saveApiKey(provider, apiKey);
319
- }
320
- yagrConfigService.saveLocalConfig({
321
- ...cfg,
322
- provider,
323
- model,
324
- baseUrl: baseUrl ?? getDefaultBaseUrlForProvider(provider),
325
- });
132
+ setupService.saveLlmConfig({ provider, apiKey, model, baseUrl });
326
133
  },
327
134
  getSurfaceDefaults() {
328
- return { surfaces: yagrConfigService.getEnabledGatewaySurfaces() };
135
+ return setupService.getSurfaceDefaults();
329
136
  },
330
137
  getTelegramToken() {
331
- return yagrConfigService.getTelegramBotToken();
138
+ return setupService.getTelegramToken();
332
139
  },
333
140
  async setupTelegram(token) {
334
- return resolveTelegramBotIdentity(token);
141
+ return setupService.setupTelegram(token);
335
142
  },
336
143
  saveSurfaces({ surfaces, telegram }) {
337
- if (telegram) {
338
- yagrConfigService.saveTelegramBotToken(telegram.token);
339
- yagrConfigService.updateLocalConfig((cfg) => ({
340
- ...cfg,
341
- telegram: {
342
- ...cfg.telegram,
343
- botUsername: telegram.username,
344
- onboardingToken: cfg.telegram?.onboardingToken ?? createOnboardingToken(),
345
- linkedChats: cfg.telegram?.linkedChats ?? [],
346
- },
347
- }));
348
- yagrConfigService.enableGatewaySurface('telegram');
349
- }
350
- yagrConfigService.setEnabledGatewaySurfaces(surfaces);
144
+ setupService.saveSurfaces({ surfaces, telegram });
351
145
  },
352
146
  };
353
147
  return callbacks;
354
148
  }
355
149
  export async function refreshN8nWorkspaceInstructionsFromSavedConfig(n8nConfigService = new YagrN8nConfigService()) {
356
- const config = n8nConfigService.getLocalConfig();
357
- if (!config.host) {
358
- return false;
359
- }
360
- const apiKey = n8nConfigService.getApiKey(config.host);
361
- if (!apiKey) {
362
- return false;
363
- }
364
- await refreshAiContext({ host: config.host, apiKey });
365
- return true;
366
- }
367
- async function refreshAiContext(credentials) {
368
- const updateAi = new UpdateAiCommand(new Command());
369
- const previousCwd = process.cwd();
370
- try {
371
- process.chdir(getYagrN8nWorkspaceDir());
372
- await updateAi.run({}, credentials);
373
- }
374
- finally {
375
- process.chdir(previousCwd);
376
- }
150
+ return new YagrSetupApplicationService(new YagrConfigService(), n8nConfigService).refreshN8nWorkspaceInstructionsFromSavedConfig();
377
151
  }
378
152
  function sanitizeInputValue(value) {
379
153
  if (!value) {
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}