@yagr/agent 0.2.9 → 0.2.11

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 (157) hide show
  1. package/dist/cli.js +251 -9
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config/n8n-config-service.d.ts +2 -1
  4. package/dist/config/n8n-config-service.d.ts.map +1 -1
  5. package/dist/config/n8n-config-service.js +2 -1
  6. package/dist/config/n8n-config-service.js.map +1 -1
  7. package/dist/config/yagr-config-service.d.ts +1 -1
  8. package/dist/config/yagr-config-service.d.ts.map +1 -1
  9. package/dist/config/yagr-home.d.ts +7 -0
  10. package/dist/config/yagr-home.d.ts.map +1 -1
  11. package/dist/config/yagr-home.js +19 -0
  12. package/dist/config/yagr-home.js.map +1 -1
  13. package/dist/gateway/format-message.d.ts +3 -0
  14. package/dist/gateway/format-message.d.ts.map +1 -1
  15. package/dist/gateway/format-message.js +63 -10
  16. package/dist/gateway/format-message.js.map +1 -1
  17. package/dist/gateway/interactive-ui.d.ts.map +1 -1
  18. package/dist/gateway/interactive-ui.js +49 -4
  19. package/dist/gateway/interactive-ui.js.map +1 -1
  20. package/dist/gateway/local-open-bridge.d.ts +3 -0
  21. package/dist/gateway/local-open-bridge.d.ts.map +1 -0
  22. package/dist/gateway/local-open-bridge.js +54 -0
  23. package/dist/gateway/local-open-bridge.js.map +1 -0
  24. package/dist/gateway/webui.d.ts.map +1 -1
  25. package/dist/gateway/webui.js +50 -53
  26. package/dist/gateway/webui.js.map +1 -1
  27. package/dist/gateway/workflow-links.d.ts +12 -0
  28. package/dist/gateway/workflow-links.d.ts.map +1 -0
  29. package/dist/gateway/workflow-links.js +53 -0
  30. package/dist/gateway/workflow-links.js.map +1 -0
  31. package/dist/llm/anthropic-account.d.ts +20 -0
  32. package/dist/llm/anthropic-account.d.ts.map +1 -0
  33. package/dist/llm/anthropic-account.js +111 -0
  34. package/dist/llm/anthropic-account.js.map +1 -0
  35. package/dist/llm/copilot-account.d.ts +36 -0
  36. package/dist/llm/copilot-account.d.ts.map +1 -0
  37. package/dist/llm/copilot-account.js +573 -0
  38. package/dist/llm/copilot-account.js.map +1 -0
  39. package/dist/llm/create-language-model.d.ts +2 -2
  40. package/dist/llm/create-language-model.d.ts.map +1 -1
  41. package/dist/llm/create-language-model.js +187 -38
  42. package/dist/llm/create-language-model.js.map +1 -1
  43. package/dist/llm/google-account.d.ts +31 -0
  44. package/dist/llm/google-account.d.ts.map +1 -0
  45. package/dist/llm/google-account.js +851 -0
  46. package/dist/llm/google-account.js.map +1 -0
  47. package/dist/llm/model-catalog-cache.d.ts +4 -0
  48. package/dist/llm/model-catalog-cache.d.ts.map +1 -0
  49. package/dist/llm/model-catalog-cache.js +46 -0
  50. package/dist/llm/model-catalog-cache.js.map +1 -0
  51. package/dist/llm/openai-account.d.ts +33 -0
  52. package/dist/llm/openai-account.d.ts.map +1 -0
  53. package/dist/llm/openai-account.js +578 -0
  54. package/dist/llm/openai-account.js.map +1 -0
  55. package/dist/llm/provider-discovery.d.ts +3 -0
  56. package/dist/llm/provider-discovery.d.ts.map +1 -0
  57. package/dist/llm/provider-discovery.js +40 -0
  58. package/dist/llm/provider-discovery.js.map +1 -0
  59. package/dist/llm/provider-registry.d.ts +37 -0
  60. package/dist/llm/provider-registry.d.ts.map +1 -0
  61. package/dist/llm/provider-registry.js +186 -0
  62. package/dist/llm/provider-registry.js.map +1 -0
  63. package/dist/llm/proxy-runtime.d.ts +37 -0
  64. package/dist/llm/proxy-runtime.d.ts.map +1 -0
  65. package/dist/llm/proxy-runtime.js +462 -0
  66. package/dist/llm/proxy-runtime.js.map +1 -0
  67. package/dist/llm/test-model-policy.d.ts +3 -0
  68. package/dist/llm/test-model-policy.d.ts.map +1 -0
  69. package/dist/llm/test-model-policy.js +16 -0
  70. package/dist/llm/test-model-policy.js.map +1 -0
  71. package/dist/n8n-local/bootstrap.d.ts +12 -0
  72. package/dist/n8n-local/bootstrap.d.ts.map +1 -0
  73. package/dist/n8n-local/bootstrap.js +281 -0
  74. package/dist/n8n-local/bootstrap.js.map +1 -0
  75. package/dist/n8n-local/browser-auth.d.ts +12 -0
  76. package/dist/n8n-local/browser-auth.d.ts.map +1 -0
  77. package/dist/n8n-local/browser-auth.js +159 -0
  78. package/dist/n8n-local/browser-auth.js.map +1 -0
  79. package/dist/n8n-local/detect.d.ts +50 -0
  80. package/dist/n8n-local/detect.d.ts.map +1 -0
  81. package/dist/n8n-local/detect.js +207 -0
  82. package/dist/n8n-local/detect.js.map +1 -0
  83. package/dist/n8n-local/direct-manager.d.ts +15 -0
  84. package/dist/n8n-local/direct-manager.d.ts.map +1 -0
  85. package/dist/n8n-local/direct-manager.js +232 -0
  86. package/dist/n8n-local/direct-manager.js.map +1 -0
  87. package/dist/n8n-local/docker-manager.d.ts +18 -0
  88. package/dist/n8n-local/docker-manager.d.ts.map +1 -0
  89. package/dist/n8n-local/docker-manager.js +217 -0
  90. package/dist/n8n-local/docker-manager.js.map +1 -0
  91. package/dist/n8n-local/managed-runtime.d.ts +17 -0
  92. package/dist/n8n-local/managed-runtime.d.ts.map +1 -0
  93. package/dist/n8n-local/managed-runtime.js +122 -0
  94. package/dist/n8n-local/managed-runtime.js.map +1 -0
  95. package/dist/n8n-local/owner-credentials.d.ts +15 -0
  96. package/dist/n8n-local/owner-credentials.d.ts.map +1 -0
  97. package/dist/n8n-local/owner-credentials.js +50 -0
  98. package/dist/n8n-local/owner-credentials.js.map +1 -0
  99. package/dist/n8n-local/plan.d.ts +16 -0
  100. package/dist/n8n-local/plan.d.ts.map +1 -0
  101. package/dist/n8n-local/plan.js +48 -0
  102. package/dist/n8n-local/plan.js.map +1 -0
  103. package/dist/n8n-local/state.d.ts +42 -0
  104. package/dist/n8n-local/state.d.ts.map +1 -0
  105. package/dist/n8n-local/state.js +108 -0
  106. package/dist/n8n-local/state.js.map +1 -0
  107. package/dist/n8n-local/workflow-open.d.ts +21 -0
  108. package/dist/n8n-local/workflow-open.d.ts.map +1 -0
  109. package/dist/n8n-local/workflow-open.js +50 -0
  110. package/dist/n8n-local/workflow-open.js.map +1 -0
  111. package/dist/runtime/context-compaction.d.ts.map +1 -1
  112. package/dist/runtime/context-compaction.js +7 -0
  113. package/dist/runtime/context-compaction.js.map +1 -1
  114. package/dist/runtime/run-engine.d.ts.map +1 -1
  115. package/dist/runtime/run-engine.js +52 -1
  116. package/dist/runtime/run-engine.js.map +1 -1
  117. package/dist/setup/setup-wizard.d.ts +36 -3
  118. package/dist/setup/setup-wizard.d.ts.map +1 -1
  119. package/dist/setup/setup-wizard.js +470 -62
  120. package/dist/setup/setup-wizard.js.map +1 -1
  121. package/dist/setup.d.ts +2 -1
  122. package/dist/setup.d.ts.map +1 -1
  123. package/dist/setup.js +204 -89
  124. package/dist/setup.js.map +1 -1
  125. package/dist/system/open-external.d.ts +2 -0
  126. package/dist/system/open-external.d.ts.map +1 -0
  127. package/dist/system/open-external.js +25 -0
  128. package/dist/system/open-external.js.map +1 -0
  129. package/dist/system/package-manager.d.ts +6 -0
  130. package/dist/system/package-manager.d.ts.map +1 -0
  131. package/dist/system/package-manager.js +13 -0
  132. package/dist/system/package-manager.js.map +1 -0
  133. package/dist/tools/build-tools.d.ts +110 -65
  134. package/dist/tools/build-tools.d.ts.map +1 -1
  135. package/dist/tools/deploy.d.ts +14 -14
  136. package/dist/tools/generate-workflow.d.ts +5 -5
  137. package/dist/tools/n8nac.d.ts +96 -53
  138. package/dist/tools/n8nac.d.ts.map +1 -1
  139. package/dist/tools/n8nac.js +52 -20
  140. package/dist/tools/n8nac.js.map +1 -1
  141. package/dist/tools/observer.d.ts +1 -0
  142. package/dist/tools/observer.d.ts.map +1 -1
  143. package/dist/tools/observer.js.map +1 -1
  144. package/dist/tools/present-workflow-result.d.ts +2 -0
  145. package/dist/tools/present-workflow-result.d.ts.map +1 -1
  146. package/dist/tools/present-workflow-result.js +11 -2
  147. package/dist/tools/present-workflow-result.js.map +1 -1
  148. package/dist/tools/request-required-action.d.ts +7 -7
  149. package/dist/tools/request-required-action.js +4 -4
  150. package/dist/tools/request-required-action.js.map +1 -1
  151. package/dist/tools/validate.d.ts +14 -14
  152. package/dist/tools/write-workspace-file.d.ts +5 -5
  153. package/dist/types.d.ts +1 -0
  154. package/dist/types.d.ts.map +1 -1
  155. package/dist/webui/app.js +14 -1
  156. package/dist/webui/app.js.map +2 -2
  157. package/package.json +15 -2
@@ -13,18 +13,14 @@ import { getYagrN8nWorkspaceDir } from '../config/yagr-home.js';
13
13
  import { createOnboardingToken, getTelegramGatewayStatus, resetTelegramGateway, } from './telegram.js';
14
14
  import { getYagrSetupStatus } from '../setup.js';
15
15
  import { resolveLanguageModelConfig } from '../llm/create-language-model.js';
16
+ import { fetchAvailableModels } from '../llm/provider-discovery.js';
17
+ import { providerRequiresApiKey, YAGR_MODEL_PROVIDERS, } from '../llm/provider-registry.js';
18
+ import { resolveManagedN8nWorkflowOpen } from '../n8n-local/workflow-open.js';
16
19
  const __filename = fileURLToPath(import.meta.url);
17
20
  const __dirname = path.dirname(__filename);
18
21
  const DEFAULT_HOST = '127.0.0.1';
19
22
  const DEFAULT_PORT = 3789;
20
- const VALID_PROVIDERS = [
21
- 'anthropic',
22
- 'openai',
23
- 'google',
24
- 'groq',
25
- 'mistral',
26
- 'openrouter',
27
- ];
23
+ const VALID_PROVIDERS = [...YAGR_MODEL_PROVIDERS];
28
24
  const ACTIVE_WEBUI_SURFACES = ['webui'];
29
25
  const WEB_UI_HTML = `<!doctype html>
30
26
  <html lang="en">
@@ -189,12 +185,18 @@ class WebUiGateway {
189
185
  if (method === 'POST' && url.pathname === '/api/llm/models') {
190
186
  const body = await this.readJson(request);
191
187
  const provider = this.assertProvider(String(body.provider ?? ''));
192
- const apiKey = body.apiKey ? String(body.apiKey) : this.configService.getApiKey(provider);
193
- if (!apiKey) {
188
+ const apiKey = body.apiKey !== undefined ? String(body.apiKey) : this.configService.getApiKey(provider);
189
+ if (providerRequiresApiKey(provider) && !apiKey) {
194
190
  throw new Error(`No API key available for ${provider}. Save one first.`);
195
191
  }
192
+ const configuredLlm = this.configService.getLocalConfig();
193
+ const baseUrl = body.baseUrl
194
+ ? String(body.baseUrl)
195
+ : configuredLlm.provider === provider
196
+ ? configuredLlm.baseUrl
197
+ : undefined;
196
198
  this.sendJson(response, 200, {
197
- models: await fetchAvailableModels(provider, apiKey),
199
+ models: await fetchAvailableModels(provider, apiKey, baseUrl),
198
200
  });
199
201
  return;
200
202
  }
@@ -302,6 +304,16 @@ class WebUiGateway {
302
304
  this.sendJson(response, 200, { ok: true });
303
305
  return;
304
306
  }
307
+ if (method === 'GET' && url.pathname === '/api/n8n/workflow-session') {
308
+ const target = String(url.searchParams.get('target') ?? '').trim();
309
+ await this.sendManagedN8nWorkflowSession(response, target);
310
+ return;
311
+ }
312
+ if (method === 'GET' && url.pathname === '/open/n8n-workflow') {
313
+ const target = String(url.searchParams.get('target') ?? '').trim();
314
+ await this.openManagedN8nWorkflow(response, target);
315
+ return;
316
+ }
305
317
  this.sendJson(response, 404, { error: 'Not found' });
306
318
  }
307
319
  async buildSnapshot() {
@@ -318,13 +330,11 @@ class WebUiGateway {
318
330
  let availableModels = [];
319
331
  if (yagrConfig.provider) {
320
332
  const apiKey = this.configService.getApiKey(yagrConfig.provider);
321
- if (apiKey) {
322
- try {
323
- availableModels = await fetchAvailableModels(yagrConfig.provider, apiKey);
324
- }
325
- catch {
326
- availableModels = [];
327
- }
333
+ try {
334
+ availableModels = await fetchAvailableModels(yagrConfig.provider, apiKey, yagrConfig.baseUrl);
335
+ }
336
+ catch {
337
+ availableModels = [];
328
338
  }
329
339
  }
330
340
  return {
@@ -372,6 +382,27 @@ class WebUiGateway {
372
382
  }
373
383
  return client.getProjects();
374
384
  }
385
+ async sendManagedN8nWorkflowSession(response, target) {
386
+ const session = resolveManagedN8nWorkflowOpen(target);
387
+ if (!session.ok) {
388
+ this.sendJson(response, session.statusCode, { error: session.error });
389
+ return;
390
+ }
391
+ this.sendJson(response, 200, session.payload);
392
+ }
393
+ async openManagedN8nWorkflow(response, target) {
394
+ const session = resolveManagedN8nWorkflowOpen(target);
395
+ if (!session.ok) {
396
+ this.sendText(response, session.statusCode, session.error, 'text/plain; charset=utf-8');
397
+ return;
398
+ }
399
+ if (session.payload.mode === 'direct') {
400
+ response.writeHead(302, { Location: session.payload.targetUrl });
401
+ response.end();
402
+ return;
403
+ }
404
+ this.sendText(response, 200, session.payload.fallbackPage, 'text/html; charset=utf-8');
405
+ }
375
406
  async saveN8nConfig(input) {
376
407
  const host = input.host.trim();
377
408
  const projectId = input.projectId.trim();
@@ -545,6 +576,7 @@ class WebUiGateway {
545
576
  kind: event.kind,
546
577
  workflowId: event.workflowId,
547
578
  url: event.url,
579
+ targetUrl: event.targetUrl,
548
580
  title: event.title,
549
581
  diagram: event.diagram,
550
582
  });
@@ -632,41 +664,6 @@ class WebUiGateway {
632
664
  }
633
665
  }
634
666
  }
635
- async function fetchAvailableModels(provider, apiKey) {
636
- const endpoints = {
637
- openrouter: {
638
- url: 'https://openrouter.ai/api/v1/models',
639
- map: (data) => data.data?.map((model) => model.id) ?? [],
640
- },
641
- openai: {
642
- url: 'https://api.openai.com/v1/models',
643
- map: (data) => data.data?.map((model) => model.id) ?? [],
644
- },
645
- groq: {
646
- url: 'https://api.groq.com/openai/v1/models',
647
- map: (data) => data.data?.map((model) => model.id) ?? [],
648
- },
649
- mistral: {
650
- url: 'https://api.mistral.ai/v1/models',
651
- map: (data) => data.data?.map((model) => model.id) ?? [],
652
- },
653
- };
654
- const endpoint = endpoints[provider];
655
- if (!endpoint) {
656
- return [];
657
- }
658
- const response = await fetch(endpoint.url, {
659
- headers: {
660
- Authorization: `Bearer ${apiKey}`,
661
- 'Content-Type': 'application/json',
662
- },
663
- });
664
- if (!response.ok) {
665
- throw new Error(`${response.status} ${response.statusText}`);
666
- }
667
- const payload = await response.json();
668
- return endpoint.map(payload).sort((left, right) => left.localeCompare(right));
669
- }
670
667
  async function resolveTelegramBotIdentity(botToken) {
671
668
  const { Telegraf } = await import('telegraf');
672
669
  const bot = new Telegraf(botToken);
@@ -1 +1 @@
1
- {"version":3,"file":"webui.js","sourceRoot":"","sources":["../../src/gateway/webui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webui.js","sourceRoot":"","sources":["../../src/gateway/webui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { YagrN8nConfigService } from '../config/n8n-config-service.js';
2
+ import { ManagedN8nOwnerCredentialService } from '../n8n-local/owner-credentials.js';
3
+ export interface WorkflowOpenLink {
4
+ openUrl: string;
5
+ targetUrl: string;
6
+ via: 'direct' | 'self-contained-auth';
7
+ }
8
+ export declare function resolveWorkflowOpenLink(workflowUrl: string, options?: {
9
+ n8nConfigService?: YagrN8nConfigService;
10
+ ownerCredentialService?: ManagedN8nOwnerCredentialService;
11
+ }): WorkflowOpenLink;
12
+ //# sourceMappingURL=workflow-links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-links.d.ts","sourceRoot":"","sources":["../../src/gateway/workflow-links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAErF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,QAAQ,GAAG,qBAAqB,CAAC;CACvC;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IACP,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,sBAAsB,CAAC,EAAE,gCAAgC,CAAC;CACtD,GACL,gBAAgB,CA2ClB"}
@@ -0,0 +1,53 @@
1
+ import { YagrN8nConfigService } from '../config/n8n-config-service.js';
2
+ import { buildManagedN8nWorkflowOpenDataUrl } from '../n8n-local/browser-auth.js';
3
+ import { ManagedN8nOwnerCredentialService } from '../n8n-local/owner-credentials.js';
4
+ export function resolveWorkflowOpenLink(workflowUrl, options = {}) {
5
+ const targetUrl = normalizeUrl(workflowUrl);
6
+ if (!targetUrl) {
7
+ return {
8
+ openUrl: workflowUrl,
9
+ targetUrl: workflowUrl,
10
+ via: 'direct',
11
+ };
12
+ }
13
+ const n8nConfigService = options.n8nConfigService ?? new YagrN8nConfigService();
14
+ const configuredHost = n8nConfigService.getLocalConfig().host;
15
+ if (configuredHost) {
16
+ const configuredOrigin = normalizeUrl(configuredHost)?.origin;
17
+ if (configuredOrigin && configuredOrigin !== targetUrl.origin) {
18
+ return {
19
+ openUrl: targetUrl.toString(),
20
+ targetUrl: targetUrl.toString(),
21
+ via: 'direct',
22
+ };
23
+ }
24
+ }
25
+ const ownerCredentialService = options.ownerCredentialService ?? new ManagedN8nOwnerCredentialService();
26
+ const ownerCredentials = ownerCredentialService.get(targetUrl.origin);
27
+ if (!ownerCredentials) {
28
+ return {
29
+ openUrl: targetUrl.toString(),
30
+ targetUrl: targetUrl.toString(),
31
+ via: 'direct',
32
+ };
33
+ }
34
+ const loginUrl = new URL('/rest/login', targetUrl.origin).toString();
35
+ return {
36
+ openUrl: buildManagedN8nWorkflowOpenDataUrl({
37
+ targetUrl: targetUrl.toString(),
38
+ loginUrl,
39
+ credentials: ownerCredentials,
40
+ }),
41
+ targetUrl: targetUrl.toString(),
42
+ via: 'self-contained-auth',
43
+ };
44
+ }
45
+ function normalizeUrl(value) {
46
+ try {
47
+ return new URL(value);
48
+ }
49
+ catch {
50
+ return undefined;
51
+ }
52
+ }
53
+ //# sourceMappingURL=workflow-links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-links.js","sourceRoot":"","sources":["../../src/gateway/workflow-links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAQrF,MAAM,UAAU,uBAAuB,CACrC,WAAmB,EACnB,UAGI,EAAE;IAEN,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,WAAW;YACtB,GAAG,EAAE,QAAQ;SACd,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,oBAAoB,EAAE,CAAC;IAChF,MAAM,cAAc,GAAG,gBAAgB,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC;IAC9D,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,gBAAgB,GAAG,YAAY,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAC9D,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YAC9D,OAAO;gBACL,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE;gBAC7B,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;gBAC/B,GAAG,EAAE,QAAQ;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,IAAI,IAAI,gCAAgC,EAAE,CAAC;IACxG,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE;YAC7B,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;YAC/B,GAAG,EAAE,QAAQ;SACd,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrE,OAAO;QACL,OAAO,EAAE,kCAAkC,CAAC;YAC1C,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;YAC/B,QAAQ;YACR,WAAW,EAAE,gBAAgB;SAC9B,CAAC;QACF,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;QAC/B,GAAG,EAAE,qBAAqB;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { LanguageModelV1 } from '@ai-sdk/provider';
2
+ export declare const ANTHROPIC_ACCOUNT_DEFAULT_MODEL = "claude-sonnet-4-5";
3
+ export interface AnthropicAccountSession {
4
+ /** Bearer token for the Anthropic API (API key or OAuth access token). */
5
+ apiKey: string;
6
+ email?: string;
7
+ /** Where the credential came from. */
8
+ source: 'env' | 'claude-config';
9
+ }
10
+ export declare function getClaudeConfigPath(): string;
11
+ export declare function getAnthropicAccountSession(): AnthropicAccountSession | undefined;
12
+ export declare function ensureAnthropicAccountSession(): Promise<AnthropicAccountSession | undefined>;
13
+ export declare function fetchAnthropicAccountModels(apiKey: string): Promise<string[]>;
14
+ export declare function validateAnthropicAccountRuntime(modelId?: string, overrideApiKey?: string): Promise<{
15
+ ok: boolean;
16
+ text?: string;
17
+ error?: string;
18
+ }>;
19
+ export declare function createAnthropicAccountLanguageModel(modelId: string, overrideApiKey?: string): LanguageModelV1;
20
+ //# sourceMappingURL=anthropic-account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic-account.d.ts","sourceRoot":"","sources":["../../src/llm/anthropic-account.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AAkBnE,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,MAAM,EAAE,KAAK,GAAG,eAAe,CAAC;CACjC;AAID,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAID,wBAAgB,0BAA0B,IAAI,uBAAuB,GAAG,SAAS,CAyChF;AAED,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAElG;AAID,wBAAsB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBnF;AAID,wBAAsB,+BAA+B,CACnD,OAAO,SAAkC,EACzC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC;IACT,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CA6BD;AAID,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,eAAe,CAW7G"}
@@ -0,0 +1,111 @@
1
+ import fs from 'node:fs';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ import { createAnthropic } from '@ai-sdk/anthropic';
5
+ export const ANTHROPIC_ACCOUNT_DEFAULT_MODEL = 'claude-sonnet-4-5';
6
+ // ─── Path helpers ──────────────────────────────────────────────────────────────
7
+ export function getClaudeConfigPath() {
8
+ return process.env.YAGR_CLAUDE_CONFIG_PATH || path.join(os.homedir(), '.claude', 'config.json');
9
+ }
10
+ // ─── Session reader ────────────────────────────────────────────────────────────
11
+ export function getAnthropicAccountSession() {
12
+ const yagrToken = process.env.YAGR_ANTHROPIC_SETUP_TOKEN?.trim();
13
+ if (yagrToken) {
14
+ return { apiKey: yagrToken, source: 'env' };
15
+ }
16
+ // 1. Environment variable (highest priority, e.g. CI or explicit override).
17
+ const envKey = process.env.ANTHROPIC_API_KEY?.trim();
18
+ if (envKey) {
19
+ return { apiKey: envKey, source: 'env' };
20
+ }
21
+ // 2. Claude Code config file (~/.claude/config.json).
22
+ const configPath = getClaudeConfigPath();
23
+ if (!fs.existsSync(configPath)) {
24
+ return undefined;
25
+ }
26
+ try {
27
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
28
+ // API key stored in Claude Code config.
29
+ const primaryApiKey = config.primaryApiKey?.trim();
30
+ if (primaryApiKey) {
31
+ return { apiKey: primaryApiKey, source: 'claude-config' };
32
+ }
33
+ // OAuth access token from Claude Code account login.
34
+ const oauthToken = config.oauthAccount?.tokenData?.accessToken?.trim();
35
+ if (oauthToken) {
36
+ return {
37
+ apiKey: oauthToken,
38
+ email: config.oauthAccount?.emailAddress,
39
+ source: 'claude-config',
40
+ };
41
+ }
42
+ }
43
+ catch {
44
+ return undefined;
45
+ }
46
+ return undefined;
47
+ }
48
+ export async function ensureAnthropicAccountSession() {
49
+ return getAnthropicAccountSession();
50
+ }
51
+ // ─── Model discovery ───────────────────────────────────────────────────────────
52
+ export async function fetchAnthropicAccountModels(apiKey) {
53
+ const response = await fetch('https://api.anthropic.com/v1/models', {
54
+ method: 'GET',
55
+ headers: {
56
+ 'x-api-key': apiKey,
57
+ 'anthropic-version': '2023-06-01',
58
+ Accept: 'application/json',
59
+ },
60
+ });
61
+ if (!response.ok) {
62
+ throw new Error(`Anthropic account model discovery failed: HTTP ${response.status}`);
63
+ }
64
+ const payload = await response.json();
65
+ const models = (payload.data ?? [])
66
+ .map((entry) => entry.id?.trim())
67
+ .filter((entry) => Boolean(entry))
68
+ .sort((a, b) => a.localeCompare(b));
69
+ return [...new Set(models)];
70
+ }
71
+ // ─── Runtime validation ─────────────────────────────────────────────────────────
72
+ export async function validateAnthropicAccountRuntime(modelId = ANTHROPIC_ACCOUNT_DEFAULT_MODEL, overrideApiKey) {
73
+ if (process.env.YAGR_SKIP_ANTHROPIC_RUNTIME_VALIDATION === '1') {
74
+ return { ok: true, text: 'OK' };
75
+ }
76
+ const session = await ensureAnthropicAccountSession();
77
+ const apiKey = overrideApiKey?.trim() || session?.apiKey;
78
+ if (!apiKey) {
79
+ return { ok: false, error: 'No Anthropic account credentials found. Install Claude Code or set ANTHROPIC_API_KEY.' };
80
+ }
81
+ try {
82
+ const model = createAnthropicAccountLanguageModel(modelId, apiKey);
83
+ const result = await model.doGenerate({
84
+ inputFormat: 'prompt',
85
+ mode: { type: 'regular' },
86
+ prompt: [{ role: 'user', content: [{ type: 'text', text: 'Reply with exactly OK.' }] }],
87
+ });
88
+ return {
89
+ ok: (result.text ?? '').trim().toUpperCase().includes('OK'),
90
+ text: result.text,
91
+ };
92
+ }
93
+ catch (error) {
94
+ const message = error instanceof Error ? error.message : String(error);
95
+ if (message.includes('429') || message.includes('overloaded') || message.includes('rate')) {
96
+ return { ok: true, text: 'Rate limited but endpoint reachable.' };
97
+ }
98
+ return { ok: false, error: message };
99
+ }
100
+ }
101
+ // ─── Language model ────────────────────────────────────────────────────────────
102
+ export function createAnthropicAccountLanguageModel(modelId, overrideApiKey) {
103
+ const session = getAnthropicAccountSession();
104
+ const apiKey = overrideApiKey?.trim() || session?.apiKey;
105
+ if (!apiKey) {
106
+ throw new Error('Anthropic account credentials not found. '
107
+ + 'Install Claude Code CLI (`claude`) and sign in, or set ANTHROPIC_API_KEY.');
108
+ }
109
+ return createAnthropic({ apiKey })(modelId);
110
+ }
111
+ //# sourceMappingURL=anthropic-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic-account.js","sourceRoot":"","sources":["../../src/llm/anthropic-account.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { LanguageModelV1 } from '@ai-sdk/provider';
2
+ export declare const DEFAULT_COPILOT_API_BASE_URL = "https://api.individual.githubcopilot.com";
3
+ export declare const GITHUB_COPILOT_DEFAULT_MODEL = "gpt-4.1";
4
+ export interface GitHubCopilotSession {
5
+ githubToken: string;
6
+ source: string;
7
+ }
8
+ export interface GitHubCopilotAuthChallenge {
9
+ verificationUri: string;
10
+ userCode: string;
11
+ deviceCode: string;
12
+ intervalMs: number;
13
+ expiresAt: number;
14
+ }
15
+ export declare function getGitHubCopilotSession(): GitHubCopilotSession | undefined;
16
+ export declare function ensureGitHubCopilotSession(): Promise<GitHubCopilotSession | undefined>;
17
+ export declare function resolveCopilotApiToken(githubToken: string): Promise<{
18
+ token: string;
19
+ expiresAt: number;
20
+ baseUrl: string;
21
+ }>;
22
+ export declare function validateGitHubCopilotRuntime(modelId?: string): Promise<{
23
+ ok: boolean;
24
+ text?: string;
25
+ error?: string;
26
+ }>;
27
+ export declare function fetchGitHubCopilotModels(token: string, baseUrl?: string): Promise<string[]>;
28
+ export declare function createGitHubCopilotLanguageModel(modelId: string): LanguageModelV1;
29
+ export declare function beginGitHubCopilotAuth(): Promise<GitHubCopilotAuthChallenge>;
30
+ export declare function completeGitHubCopilotAuth(challenge: {
31
+ deviceCode: string;
32
+ intervalMs: number;
33
+ expiresAt: number;
34
+ }): Promise<GitHubCopilotSession>;
35
+ export declare function deriveCopilotApiBaseUrlFromToken(token: string): string | null;
36
+ //# sourceMappingURL=copilot-account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-account.d.ts","sourceRoot":"","sources":["../../src/llm/copilot-account.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EAQhB,MAAM,kBAAkB,CAAC;AAG1B,eAAO,MAAM,4BAA4B,6CAA6C,CAAC;AACvF,eAAO,MAAM,4BAA4B,YAAY,CAAC;AA0CtD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,SAAS,CAoB1E;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAM5F;AAED,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAoCD;AAED,wBAAsB,4BAA4B,CAAC,OAAO,SAA+B,GAAG,OAAO,CAAC;IAClG,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAqBD;AAED,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAA+B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBvH;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAoDjF;AA2DD,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,0BAA0B,CAAC,CASlF;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAahC;AAuJD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS7E"}