@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
@@ -0,0 +1,573 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { ensureYagrHomeDir, getYagrPaths } from '../config/yagr-home.js';
4
+ export const DEFAULT_COPILOT_API_BASE_URL = 'https://api.individual.githubcopilot.com';
5
+ export const GITHUB_COPILOT_DEFAULT_MODEL = 'gpt-4.1';
6
+ const GITHUB_CLIENT_ID = 'Iv1.b507a08c87ecfe98';
7
+ const GITHUB_DEVICE_CODE_URL = 'https://github.com/login/device/code';
8
+ const GITHUB_ACCESS_TOKEN_URL = 'https://github.com/login/oauth/access_token';
9
+ const COPILOT_TOKEN_URL = 'https://api.github.com/copilot_internal/v2/token';
10
+ const COPILOT_USER_AGENT = 'GitHubCopilotChat/0.26.7';
11
+ const COPILOT_EDITOR_VERSION = 'vscode/1.96.2';
12
+ const COPILOT_EDITOR_PLUGIN_VERSION = 'copilot-chat/0.26.7';
13
+ export function getGitHubCopilotSession() {
14
+ const envToken = readOptionalString(process.env.COPILOT_GITHUB_TOKEN)
15
+ || readOptionalString(process.env.GH_TOKEN)
16
+ || readOptionalString(process.env.GITHUB_TOKEN);
17
+ if (envToken) {
18
+ return {
19
+ githubToken: envToken,
20
+ source: 'env',
21
+ };
22
+ }
23
+ const stored = readStoredGitHubSession();
24
+ if (!stored) {
25
+ return undefined;
26
+ }
27
+ return {
28
+ githubToken: stored.githubToken,
29
+ source: 'yagr',
30
+ };
31
+ }
32
+ export async function ensureGitHubCopilotSession() {
33
+ const existing = getGitHubCopilotSession();
34
+ if (existing) {
35
+ return existing;
36
+ }
37
+ return undefined;
38
+ }
39
+ export async function resolveCopilotApiToken(githubToken) {
40
+ const cachePath = getCopilotTokenCachePath();
41
+ const cached = readCachedCopilotToken(cachePath);
42
+ if (cached && isCopilotTokenUsable(cached)) {
43
+ return {
44
+ token: cached.token,
45
+ expiresAt: cached.expiresAt,
46
+ baseUrl: deriveCopilotApiBaseUrlFromToken(cached.token) ?? DEFAULT_COPILOT_API_BASE_URL,
47
+ };
48
+ }
49
+ const response = await fetch(COPILOT_TOKEN_URL, {
50
+ method: 'GET',
51
+ headers: {
52
+ Accept: 'application/json',
53
+ Authorization: `Bearer ${githubToken}`,
54
+ 'User-Agent': 'GitHubCopilotChat/0.26.7',
55
+ },
56
+ });
57
+ if (!response.ok) {
58
+ throw new Error(`Copilot token exchange failed: HTTP ${response.status}`);
59
+ }
60
+ const payload = parseCopilotTokenResponse(await response.json());
61
+ writeCachedCopilotToken(cachePath, {
62
+ token: payload.token,
63
+ expiresAt: payload.expiresAt,
64
+ updatedAt: Date.now(),
65
+ });
66
+ return {
67
+ token: payload.token,
68
+ expiresAt: payload.expiresAt,
69
+ baseUrl: deriveCopilotApiBaseUrlFromToken(payload.token) ?? DEFAULT_COPILOT_API_BASE_URL,
70
+ };
71
+ }
72
+ export async function validateGitHubCopilotRuntime(modelId = GITHUB_COPILOT_DEFAULT_MODEL) {
73
+ if (process.env.YAGR_SKIP_COPILOT_RUNTIME_VALIDATION === '1') {
74
+ return { ok: true, text: 'OK' };
75
+ }
76
+ try {
77
+ const result = await runGitHubCopilotCompletion(modelId, {
78
+ inputFormat: 'prompt',
79
+ mode: { type: 'regular' },
80
+ prompt: [{ role: 'user', content: [{ type: 'text', text: 'Reply with exactly OK.' }] }],
81
+ });
82
+ return {
83
+ ok: result.text.trim().toUpperCase().includes('OK'),
84
+ text: result.text,
85
+ };
86
+ }
87
+ catch (error) {
88
+ return {
89
+ ok: false,
90
+ error: error instanceof Error ? error.message : String(error),
91
+ };
92
+ }
93
+ }
94
+ export async function fetchGitHubCopilotModels(token, baseUrl = DEFAULT_COPILOT_API_BASE_URL) {
95
+ const response = await fetch(`${baseUrl}/models`, {
96
+ method: 'GET',
97
+ headers: {
98
+ Authorization: `Bearer ${token}`,
99
+ Accept: 'application/json',
100
+ 'User-Agent': COPILOT_USER_AGENT,
101
+ 'Editor-Version': COPILOT_EDITOR_VERSION,
102
+ 'Editor-Plugin-Version': COPILOT_EDITOR_PLUGIN_VERSION,
103
+ },
104
+ });
105
+ if (!response.ok) {
106
+ const body = await response.text().catch(() => '');
107
+ const detail = body.trim();
108
+ throw new Error(detail || `GitHub Copilot model discovery failed: HTTP ${response.status}`);
109
+ }
110
+ const payload = await response.json();
111
+ const models = (payload.data ?? [])
112
+ .map((entry) => entry.id?.trim())
113
+ .filter((entry) => Boolean(entry))
114
+ .sort((a, b) => a.localeCompare(b));
115
+ return [...new Set(models)];
116
+ }
117
+ export function createGitHubCopilotLanguageModel(modelId) {
118
+ return {
119
+ specificationVersion: 'v1',
120
+ provider: 'copilot-proxy.github',
121
+ modelId,
122
+ defaultObjectGenerationMode: undefined,
123
+ supportsImageUrls: false,
124
+ supportsStructuredOutputs: false,
125
+ async doGenerate(options) {
126
+ const execution = await runGitHubCopilotCompletion(modelId, options);
127
+ return {
128
+ text: execution.text,
129
+ finishReason: execution.finishReason,
130
+ usage: execution.usage,
131
+ ...(execution.toolCalls ? { toolCalls: execution.toolCalls } : {}),
132
+ rawCall: {
133
+ rawPrompt: options.prompt,
134
+ rawSettings: { modelId },
135
+ },
136
+ warnings: execution.warnings,
137
+ response: {
138
+ timestamp: new Date(),
139
+ modelId,
140
+ },
141
+ };
142
+ },
143
+ async doStream(options) {
144
+ const execution = await runGitHubCopilotCompletion(modelId, options);
145
+ const stream = new ReadableStream({
146
+ start(controller) {
147
+ if (execution.text) {
148
+ controller.enqueue({ type: 'text-delta', textDelta: execution.text });
149
+ }
150
+ controller.enqueue({
151
+ type: 'finish',
152
+ finishReason: execution.finishReason,
153
+ usage: execution.usage,
154
+ });
155
+ controller.close();
156
+ },
157
+ });
158
+ return {
159
+ stream,
160
+ rawCall: {
161
+ rawPrompt: options.prompt,
162
+ rawSettings: { modelId },
163
+ },
164
+ warnings: execution.warnings,
165
+ };
166
+ },
167
+ };
168
+ }
169
+ async function runGitHubCopilotCompletion(modelId, options) {
170
+ const session = await ensureGitHubCopilotSession();
171
+ if (!session) {
172
+ throw new Error('GitHub Copilot OAuth session not found. Run `yagr setup` again.');
173
+ }
174
+ const runtimeAuth = await resolveCopilotApiToken(session.githubToken);
175
+ const regularMode = options.mode.type === 'regular' ? options.mode : undefined;
176
+ const tools = getFunctionTools(options.mode);
177
+ const warnings = buildCopilotWarnings(options, tools);
178
+ const response = await fetch(`${runtimeAuth.baseUrl}/chat/completions`, {
179
+ method: 'POST',
180
+ headers: {
181
+ Authorization: `Bearer ${runtimeAuth.token}`,
182
+ 'Content-Type': 'application/json',
183
+ Accept: 'application/json',
184
+ 'User-Agent': COPILOT_USER_AGENT,
185
+ 'Editor-Version': COPILOT_EDITOR_VERSION,
186
+ 'Editor-Plugin-Version': COPILOT_EDITOR_PLUGIN_VERSION,
187
+ },
188
+ body: JSON.stringify({
189
+ model: modelId,
190
+ messages: toOpenAiMessages(options.prompt),
191
+ ...(tools.length > 0 ? { tools: toOpenAiTools(tools), tool_choice: toOpenAiToolChoice(regularMode?.toolChoice) } : {}),
192
+ stream: false,
193
+ }),
194
+ });
195
+ if (!response.ok) {
196
+ const body = await response.text();
197
+ throw new Error(body.trim() || `GitHub Copilot chat completion failed: HTTP ${response.status}`);
198
+ }
199
+ const payload = await response.json();
200
+ const toolCalls = extractOpenAiToolCalls(payload);
201
+ const finishReason = normalizeFinishReason(payload, toolCalls);
202
+ return {
203
+ text: extractCopilotText(payload),
204
+ finishReason,
205
+ usage: extractOpenAiUsage(payload),
206
+ ...(toolCalls.length > 0 ? { toolCalls } : {}),
207
+ warnings,
208
+ };
209
+ }
210
+ export async function beginGitHubCopilotAuth() {
211
+ const device = await requestDeviceCode();
212
+ return {
213
+ verificationUri: device.verification_uri,
214
+ userCode: device.user_code,
215
+ deviceCode: device.device_code,
216
+ intervalMs: Math.max(1000, device.interval * 1000),
217
+ expiresAt: Date.now() + device.expires_in * 1000,
218
+ };
219
+ }
220
+ export async function completeGitHubCopilotAuth(challenge) {
221
+ const githubToken = await pollForAccessToken(challenge);
222
+ const stored = {
223
+ provider: 'copilot-proxy',
224
+ githubToken,
225
+ createdAt: new Date().toISOString(),
226
+ updatedAt: new Date().toISOString(),
227
+ };
228
+ writeStoredGitHubSession(stored);
229
+ return {
230
+ githubToken: stored.githubToken,
231
+ source: 'yagr',
232
+ };
233
+ }
234
+ async function requestDeviceCode() {
235
+ const body = new URLSearchParams({
236
+ client_id: GITHUB_CLIENT_ID,
237
+ scope: 'read:user',
238
+ });
239
+ const response = await fetch(GITHUB_DEVICE_CODE_URL, {
240
+ method: 'POST',
241
+ headers: {
242
+ Accept: 'application/json',
243
+ 'Content-Type': 'application/x-www-form-urlencoded',
244
+ },
245
+ body,
246
+ });
247
+ if (!response.ok) {
248
+ throw new Error(`GitHub device code failed: HTTP ${response.status}`);
249
+ }
250
+ return await response.json();
251
+ }
252
+ async function pollForAccessToken(params) {
253
+ const body = new URLSearchParams({
254
+ client_id: GITHUB_CLIENT_ID,
255
+ device_code: params.deviceCode,
256
+ grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
257
+ });
258
+ while (Date.now() < params.expiresAt) {
259
+ const response = await fetch(GITHUB_ACCESS_TOKEN_URL, {
260
+ method: 'POST',
261
+ headers: {
262
+ Accept: 'application/json',
263
+ 'Content-Type': 'application/x-www-form-urlencoded',
264
+ },
265
+ body,
266
+ });
267
+ if (!response.ok) {
268
+ throw new Error(`GitHub access token failed: HTTP ${response.status}`);
269
+ }
270
+ const payload = await response.json();
271
+ if ('access_token' in payload && typeof payload.access_token === 'string') {
272
+ return payload.access_token;
273
+ }
274
+ const error = 'error' in payload ? payload.error : 'unknown';
275
+ if (error === 'authorization_pending') {
276
+ await delay(params.intervalMs);
277
+ continue;
278
+ }
279
+ if (error === 'slow_down') {
280
+ await delay(params.intervalMs + 2000);
281
+ continue;
282
+ }
283
+ if (error === 'access_denied') {
284
+ throw new Error('GitHub login cancelled.');
285
+ }
286
+ if (error === 'expired_token') {
287
+ throw new Error('GitHub device code expired. Retry setup.');
288
+ }
289
+ throw new Error(`GitHub device flow error: ${error}`);
290
+ }
291
+ throw new Error('GitHub device code expired. Retry setup.');
292
+ }
293
+ function getGitHubSessionPath() {
294
+ const override = process.env.YAGR_COPILOT_SESSION_PATH?.trim();
295
+ if (override) {
296
+ return override;
297
+ }
298
+ ensureYagrHomeDir();
299
+ return path.join(getYagrPaths().accountAuthDir, 'copilot-oauth.json');
300
+ }
301
+ function readStoredGitHubSession() {
302
+ const sessionPath = getGitHubSessionPath();
303
+ if (!fs.existsSync(sessionPath)) {
304
+ return undefined;
305
+ }
306
+ try {
307
+ const parsed = JSON.parse(fs.readFileSync(sessionPath, 'utf8'));
308
+ return parsed.githubToken ? parsed : undefined;
309
+ }
310
+ catch {
311
+ return undefined;
312
+ }
313
+ }
314
+ function writeStoredGitHubSession(session) {
315
+ const sessionPath = getGitHubSessionPath();
316
+ fs.mkdirSync(path.dirname(sessionPath), { recursive: true });
317
+ fs.writeFileSync(sessionPath, JSON.stringify(session, null, 2));
318
+ }
319
+ function getCopilotTokenCachePath() {
320
+ const override = readOptionalString(process.env.YAGR_COPILOT_TOKEN_CACHE_PATH);
321
+ if (override) {
322
+ return override;
323
+ }
324
+ ensureYagrHomeDir();
325
+ return path.join(getYagrPaths().accountAuthDir, 'copilot-runtime-token.json');
326
+ }
327
+ function readCachedCopilotToken(cachePath) {
328
+ if (!fs.existsSync(cachePath)) {
329
+ return undefined;
330
+ }
331
+ try {
332
+ return JSON.parse(fs.readFileSync(cachePath, 'utf8'));
333
+ }
334
+ catch {
335
+ return undefined;
336
+ }
337
+ }
338
+ function writeCachedCopilotToken(cachePath, token) {
339
+ fs.mkdirSync(path.dirname(cachePath), { recursive: true });
340
+ fs.writeFileSync(cachePath, JSON.stringify(token, null, 2));
341
+ }
342
+ function isCopilotTokenUsable(cache, now = Date.now()) {
343
+ return cache.expiresAt - now > 5 * 60 * 1000;
344
+ }
345
+ function parseCopilotTokenResponse(value) {
346
+ if (!value || typeof value !== 'object') {
347
+ throw new Error('Unexpected response from GitHub Copilot token endpoint');
348
+ }
349
+ const record = value;
350
+ const token = readOptionalString(record.token);
351
+ const expiresAt = normalizeEpochMillis(record.expires_at);
352
+ if (!token || !expiresAt) {
353
+ throw new Error('Invalid Copilot token response.');
354
+ }
355
+ return { token, expiresAt };
356
+ }
357
+ export function deriveCopilotApiBaseUrlFromToken(token) {
358
+ const match = token.trim().match(/(?:^|;)\s*proxy-ep=([^;\s]+)/i);
359
+ const proxyEndpoint = match?.[1]?.trim();
360
+ if (!proxyEndpoint) {
361
+ return null;
362
+ }
363
+ const host = proxyEndpoint.replace(/^https?:\/\//, '').replace(/^proxy\./i, 'api.');
364
+ return host ? `https://${host}` : null;
365
+ }
366
+ function buildCopilotWarnings(options, functionTools) {
367
+ if (options.mode.type !== 'regular' || !options.mode.tools || options.mode.tools.length === 0) {
368
+ return [];
369
+ }
370
+ const warnings = [];
371
+ for (const tool of options.mode.tools) {
372
+ if (tool.type === 'provider-defined') {
373
+ warnings.push({
374
+ type: 'unsupported-tool',
375
+ tool,
376
+ details: 'GitHub Copilot OAuth only supports function tools in OpenAI-compatible format.',
377
+ });
378
+ }
379
+ }
380
+ if (functionTools.length > 0) {
381
+ return warnings;
382
+ }
383
+ return options.mode.tools.map((tool) => ({
384
+ type: 'unsupported-tool',
385
+ tool,
386
+ details: 'GitHub Copilot OAuth did not receive any function tools for this call.',
387
+ }));
388
+ }
389
+ function getFunctionTools(mode) {
390
+ if (mode.type !== 'regular' || !Array.isArray(mode.tools) || mode.tools.length === 0) {
391
+ return [];
392
+ }
393
+ return mode.tools.filter((tool) => tool.type === 'function');
394
+ }
395
+ function toOpenAiTools(tools) {
396
+ return tools.map((tool) => ({
397
+ type: 'function',
398
+ function: {
399
+ name: tool.name,
400
+ ...(tool.description ? { description: tool.description } : {}),
401
+ parameters: tool.parameters,
402
+ },
403
+ }));
404
+ }
405
+ function toOpenAiToolChoice(toolChoice) {
406
+ if (!toolChoice || toolChoice.type === 'auto') {
407
+ return 'auto';
408
+ }
409
+ if (toolChoice.type === 'none' || toolChoice.type === 'required') {
410
+ return toolChoice.type;
411
+ }
412
+ if (toolChoice.type === 'tool') {
413
+ return {
414
+ type: 'function',
415
+ function: {
416
+ name: toolChoice.toolName,
417
+ },
418
+ };
419
+ }
420
+ return 'auto';
421
+ }
422
+ function toOpenAiMessages(prompt) {
423
+ return prompt.map((message) => {
424
+ if (message.role === 'system') {
425
+ return { role: 'system', content: message.content };
426
+ }
427
+ if (message.role === 'user') {
428
+ return {
429
+ role: 'user',
430
+ content: message.content.map((part) => part.type === 'text' ? part.text : `[${part.type}]`).join('\n'),
431
+ };
432
+ }
433
+ if (message.role === 'assistant') {
434
+ const textContent = message.content
435
+ .filter((part) => part.type === 'text' || part.type === 'reasoning')
436
+ .map((part) => part.text)
437
+ .join('\n')
438
+ .trim();
439
+ const toolCalls = message.content
440
+ .filter((part) => part.type === 'tool-call')
441
+ .map((part) => ({
442
+ id: part.toolCallId,
443
+ type: 'function',
444
+ function: {
445
+ name: part.toolName,
446
+ arguments: JSON.stringify(part.args ?? {}),
447
+ },
448
+ }));
449
+ return {
450
+ role: 'assistant',
451
+ content: textContent.length > 0 ? textContent : '',
452
+ ...(toolCalls.length > 0 ? { tool_calls: toolCalls } : {}),
453
+ };
454
+ }
455
+ return message.content.map((part) => ({
456
+ role: 'tool',
457
+ tool_call_id: part.toolCallId,
458
+ name: part.toolName,
459
+ content: stringifyToolResult(part.result),
460
+ }));
461
+ }).flat();
462
+ }
463
+ function extractCopilotText(payload) {
464
+ const choices = payload.choices;
465
+ if (!Array.isArray(choices) || choices.length === 0) {
466
+ return '';
467
+ }
468
+ const firstChoice = choices[0];
469
+ const message = firstChoice.message;
470
+ const content = message?.content;
471
+ if (typeof content === 'string') {
472
+ return content;
473
+ }
474
+ if (Array.isArray(content)) {
475
+ return content.map((part) => typeof part === 'object' && part && typeof part.text === 'string'
476
+ ? part.text
477
+ : '').join('');
478
+ }
479
+ return '';
480
+ }
481
+ function extractOpenAiUsage(payload) {
482
+ const usage = payload.usage;
483
+ return {
484
+ promptTokens: typeof usage?.prompt_tokens === 'number' ? usage.prompt_tokens : 0,
485
+ completionTokens: typeof usage?.completion_tokens === 'number' ? usage.completion_tokens : 0,
486
+ };
487
+ }
488
+ function extractOpenAiToolCalls(payload) {
489
+ const choices = payload.choices;
490
+ if (!Array.isArray(choices) || choices.length === 0) {
491
+ return [];
492
+ }
493
+ const message = choices[0]?.message;
494
+ const rawToolCalls = message?.tool_calls;
495
+ if (!Array.isArray(rawToolCalls)) {
496
+ return [];
497
+ }
498
+ return rawToolCalls
499
+ .map((entry, index) => {
500
+ if (!entry || typeof entry !== 'object') {
501
+ return undefined;
502
+ }
503
+ const call = entry;
504
+ const id = readOptionalString(call.id) || `copilot-tool-call-${index + 1}`;
505
+ const fn = call.function;
506
+ const toolName = readOptionalString(fn?.name);
507
+ if (!toolName) {
508
+ return undefined;
509
+ }
510
+ const argsRaw = fn?.arguments;
511
+ const args = typeof argsRaw === 'string' ? argsRaw : JSON.stringify(argsRaw ?? {});
512
+ return {
513
+ toolCallType: 'function',
514
+ toolCallId: id,
515
+ toolName,
516
+ args,
517
+ };
518
+ })
519
+ .filter((entry) => Boolean(entry));
520
+ }
521
+ function normalizeFinishReason(payload, toolCalls) {
522
+ if (toolCalls.length > 0) {
523
+ return 'tool-calls';
524
+ }
525
+ const choices = payload.choices;
526
+ if (!Array.isArray(choices) || choices.length === 0) {
527
+ return 'unknown';
528
+ }
529
+ const raw = readOptionalString(choices[0]?.finish_reason);
530
+ if (!raw) {
531
+ return 'unknown';
532
+ }
533
+ if (raw === 'stop' || raw === 'length' || raw === 'content-filter' || raw === 'tool-calls' || raw === 'error' || raw === 'other' || raw === 'unknown') {
534
+ return raw;
535
+ }
536
+ if (raw === 'tool_calls') {
537
+ return 'tool-calls';
538
+ }
539
+ if (raw === 'content_filter') {
540
+ return 'content-filter';
541
+ }
542
+ return 'other';
543
+ }
544
+ function stringifyToolResult(value) {
545
+ if (typeof value === 'string') {
546
+ return value;
547
+ }
548
+ try {
549
+ return JSON.stringify(value ?? null);
550
+ }
551
+ catch {
552
+ return String(value);
553
+ }
554
+ }
555
+ function readOptionalString(value) {
556
+ return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
557
+ }
558
+ function normalizeEpochMillis(value) {
559
+ if (typeof value === 'number' && Number.isFinite(value)) {
560
+ return value > 10_000_000_000 ? value : value * 1000;
561
+ }
562
+ if (typeof value === 'string' && value.trim().length > 0) {
563
+ const parsed = Number.parseInt(value, 10);
564
+ if (Number.isFinite(parsed)) {
565
+ return parsed > 10_000_000_000 ? parsed : parsed * 1000;
566
+ }
567
+ }
568
+ return undefined;
569
+ }
570
+ function delay(ms) {
571
+ return new Promise((resolve) => setTimeout(resolve, ms));
572
+ }
573
+ //# sourceMappingURL=copilot-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-account.js","sourceRoot":"","sources":["../../src/llm/copilot-account.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type YagrLocalConfig } from '../config/yagr-config-service.js';
2
- export type YagrModelProvider = 'anthropic' | 'openai' | 'google' | 'groq' | 'mistral' | 'openrouter';
2
+ import { type YagrModelProvider } from './provider-registry.js';
3
+ export type { YagrModelProvider } from './provider-registry.js';
3
4
  export interface YagrModelContextProfile {
4
5
  provider: YagrModelProvider;
5
6
  model: string;
@@ -27,5 +28,4 @@ export declare function resolveModelProvider(explicitProvider?: string, configSt
27
28
  export declare function resolveModelName(provider: YagrModelProvider, explicitModel?: string, configStore?: YagrLanguageModelConfigStore): string;
28
29
  export declare function resolveLanguageModelConfig(config?: YagrLanguageModelConfig, configStore?: YagrLanguageModelConfigStore): ResolvedYagrLanguageModelConfig;
29
30
  export declare function createLanguageModel(config?: YagrLanguageModelConfig): import("ai").LanguageModelV1;
30
- export {};
31
31
  //# sourceMappingURL=create-language-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-language-model.d.ts","sourceRoot":"","sources":["../../src/llm/create-language-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAE3F,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;AAEtG,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,4BAA4B;IACpC,cAAc,IAAI,eAAe,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5D;AAsCD,wBAAgB,0BAA0B,CAAC,MAAM,GAAE,uBAA4B,GAAG,uBAAuB,CASxG;AAED,wBAAgB,oBAAoB,CAClC,gBAAgB,CAAC,EAAE,MAAM,EACzB,WAAW,GAAE,4BAAsD,GAClE,iBAAiB,CAgBnB;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,iBAAiB,EAC3B,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,GAAE,4BAAsD,GAClE,MAAM,CAmBR;AAED,wBAAgB,0BAA0B,CACxC,MAAM,GAAE,uBAA4B,EACpC,WAAW,GAAE,4BAAsD,GAClE,+BAA+B,CASjC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,uBAA4B,gCAkCvE"}
1
+ {"version":3,"file":"create-language-model.d.ts","sourceRoot":"","sources":["../../src/llm/create-language-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAK3F,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,4BAA4B;IACpC,cAAc,IAAI,eAAe,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5D;AAqCD,wBAAgB,0BAA0B,CAAC,MAAM,GAAE,uBAA4B,GAAG,uBAAuB,CASxG;AAED,wBAAgB,oBAAoB,CAClC,gBAAgB,CAAC,EAAE,MAAM,EACzB,WAAW,GAAE,4BAAsD,GAClE,iBAAiB,CAgBnB;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,iBAAiB,EAC3B,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,GAAE,4BAAsD,GAClE,MAAM,CAmBR;AAED,wBAAgB,0BAA0B,CACxC,MAAM,GAAE,uBAA4B,EACpC,WAAW,GAAE,4BAAsD,GAClE,+BAA+B,CASjC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,uBAA4B,gCAiEvE"}