@aexol/spectral 0.9.155 → 0.9.156

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 (59) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/mcp/direct-tools.js +1 -1
  5. package/dist/memory/tool-output-compressor.d.ts +1 -1
  6. package/dist/memory/tool-output-compressor.d.ts.map +1 -1
  7. package/dist/memory/tool-output-compressor.js +1 -32
  8. package/dist/relay/dispatcher.d.ts.map +1 -1
  9. package/dist/relay/dispatcher.js +7 -1
  10. package/dist/sdk/agent-core/types.d.ts +1 -1
  11. package/dist/sdk/ai/env-api-keys.d.ts.map +1 -1
  12. package/dist/sdk/ai/env-api-keys.js +0 -3
  13. package/dist/sdk/ai/models.generated.d.ts +0 -515
  14. package/dist/sdk/ai/models.generated.d.ts.map +1 -1
  15. package/dist/sdk/ai/models.generated.js +0 -361
  16. package/dist/sdk/ai/providers/anthropic.d.ts.map +1 -1
  17. package/dist/sdk/ai/providers/anthropic.js +2 -26
  18. package/dist/sdk/ai/providers/openai-completions.d.ts.map +1 -1
  19. package/dist/sdk/ai/providers/openai-completions.js +0 -9
  20. package/dist/sdk/ai/types.d.ts +1 -1
  21. package/dist/sdk/ai/types.d.ts.map +1 -1
  22. package/dist/sdk/ai/utils/oauth/index.d.ts +0 -2
  23. package/dist/sdk/ai/utils/oauth/index.d.ts.map +1 -1
  24. package/dist/sdk/ai/utils/oauth/index.js +0 -5
  25. package/dist/sdk/ai/utils/overflow.d.ts.map +1 -1
  26. package/dist/sdk/ai/utils/overflow.js +1 -2
  27. package/dist/sdk/coding-agent/core/extensions/index.d.ts +2 -2
  28. package/dist/sdk/coding-agent/core/extensions/index.d.ts.map +1 -1
  29. package/dist/sdk/coding-agent/core/extensions/index.js +1 -1
  30. package/dist/sdk/coding-agent/core/extensions/types.d.ts +3 -13
  31. package/dist/sdk/coding-agent/core/extensions/types.d.ts.map +1 -1
  32. package/dist/sdk/coding-agent/core/extensions/types.js +0 -3
  33. package/dist/sdk/coding-agent/core/model-resolver.d.ts.map +1 -1
  34. package/dist/sdk/coding-agent/core/model-resolver.js +0 -1
  35. package/dist/sdk/coding-agent/core/sdk.d.ts +2 -2
  36. package/dist/sdk/coding-agent/core/sdk.d.ts.map +1 -1
  37. package/dist/sdk/coding-agent/core/sdk.js +2 -2
  38. package/dist/sdk/coding-agent/core/system-prompt.d.ts.map +1 -1
  39. package/dist/sdk/coding-agent/core/system-prompt.js +2 -4
  40. package/dist/sdk/coding-agent/core/tools/bash-blocklist.js +1 -1
  41. package/dist/sdk/coding-agent/core/tools/index.d.ts +1 -4
  42. package/dist/sdk/coding-agent/core/tools/index.d.ts.map +1 -1
  43. package/dist/sdk/coding-agent/core/tools/index.js +0 -11
  44. package/dist/sdk/coding-agent/index.d.ts +4 -4
  45. package/dist/sdk/coding-agent/index.d.ts.map +1 -1
  46. package/dist/sdk/coding-agent/index.js +3 -3
  47. package/dist/server/storage.d.ts +18 -0
  48. package/dist/server/storage.d.ts.map +1 -1
  49. package/dist/server/storage.js +47 -0
  50. package/package.json +1 -1
  51. package/dist/sdk/ai/providers/github-copilot-headers.d.ts +0 -8
  52. package/dist/sdk/ai/providers/github-copilot-headers.d.ts.map +0 -1
  53. package/dist/sdk/ai/providers/github-copilot-headers.js +0 -28
  54. package/dist/sdk/ai/utils/oauth/github-copilot.d.ts +0 -30
  55. package/dist/sdk/ai/utils/oauth/github-copilot.d.ts.map +0 -1
  56. package/dist/sdk/ai/utils/oauth/github-copilot.js +0 -270
  57. package/dist/sdk/coding-agent/core/tools/find.d.ts +0 -35
  58. package/dist/sdk/coding-agent/core/tools/find.d.ts.map +0 -1
  59. package/dist/sdk/coding-agent/core/tools/find.js +0 -343
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/server/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/server/storage.ts"],"names":[],"mappings":"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"}
@@ -607,6 +607,53 @@ export class SessionStore {
607
607
  messageCount: r.message_count,
608
608
  }));
609
609
  }
610
+ /**
611
+ * Batched variant of {@link listSessionsByProject} for many projects at once.
612
+ *
613
+ * Issues a SINGLE SQL query (independent of project/session count) with a
614
+ * LEFT JOIN + GROUP BY aggregation for message counts, instead of the
615
+ * O(projects) per-project queries (each with a per-session correlated
616
+ * COUNT(*) subquery) that {@link listSessionsByProject} would require when
617
+ * called in a loop.
618
+ *
619
+ * Per-project ordering is preserved: rows are globally ordered by
620
+ * `updated_at DESC`, then grouped by `project_id` in JS — each project's
621
+ * array is therefore a subsequence of the globally-sorted result, retaining
622
+ * `updated_at DESC` order (matching {@link listSessionsByProject}).
623
+ *
624
+ * Every requested project id is present in the returned Map; projects with
625
+ * no sessions map to an empty array.
626
+ */
627
+ listSessionsByProjectIds(projectIds) {
628
+ const result = new Map();
629
+ for (const id of projectIds)
630
+ result.set(id, []);
631
+ if (projectIds.length === 0)
632
+ return result;
633
+ const placeholders = projectIds.map(() => "?").join(", ");
634
+ const stmt = this.db.prepare(`SELECT s.id, s.project_id, s.title, s.created_at, s.updated_at,
635
+ COUNT(m.id) AS message_count
636
+ FROM sessions s
637
+ LEFT JOIN messages m ON m.session_id = s.id
638
+ WHERE s.project_id IN (${placeholders})
639
+ GROUP BY s.id, s.project_id, s.title, s.created_at, s.updated_at
640
+ ORDER BY s.updated_at DESC, s.created_at DESC, s.id DESC`);
641
+ const rows = stmt.all(...projectIds);
642
+ for (const r of rows) {
643
+ const list = result.get(r.project_id);
644
+ if (!list)
645
+ continue;
646
+ list.push({
647
+ id: r.id,
648
+ projectId: r.project_id,
649
+ title: r.title,
650
+ createdAt: r.created_at,
651
+ updatedAt: r.updated_at,
652
+ messageCount: r.message_count,
653
+ });
654
+ }
655
+ return result;
656
+ }
610
657
  // ----------------------------------------------------------------------
611
658
  // Sessions
612
659
  // ----------------------------------------------------------------------
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aexol/spectral",
3
- "version": "0.9.155",
3
+ "version": "0.9.156",
4
4
  "description": "AI coding agent for Aexol with relay-based browser access.",
5
5
  "type": "module",
6
6
  "private": false,
@@ -1,8 +0,0 @@
1
- import type { Message } from "../types.js";
2
- export declare function inferCopilotInitiator(messages: Message[]): "user" | "agent";
3
- export declare function hasCopilotVisionInput(messages: Message[]): boolean;
4
- export declare function buildCopilotDynamicHeaders(params: {
5
- messages: Message[];
6
- hasImages: boolean;
7
- }): Record<string, string>;
8
- //# sourceMappingURL=github-copilot-headers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github-copilot-headers.d.ts","sourceRoot":"","sources":["../../../../src/sdk/ai/providers/github-copilot-headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,OAAO,CAG3E;AAGD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAUlE;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IAClD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWzB"}
@@ -1,28 +0,0 @@
1
- // Copilot expects X-Initiator to indicate whether the request is user-initiated
2
- // or agent-initiated (e.g. follow-up after assistant/tool messages).
3
- export function inferCopilotInitiator(messages) {
4
- const last = messages[messages.length - 1];
5
- return last && last.role !== "user" ? "agent" : "user";
6
- }
7
- // Copilot requires Copilot-Vision-Request header when sending images
8
- export function hasCopilotVisionInput(messages) {
9
- return messages.some((msg) => {
10
- if (msg.role === "user" && Array.isArray(msg.content)) {
11
- return msg.content.some((c) => c.type === "image");
12
- }
13
- if (msg.role === "toolResult" && Array.isArray(msg.content)) {
14
- return msg.content.some((c) => c.type === "image");
15
- }
16
- return false;
17
- });
18
- }
19
- export function buildCopilotDynamicHeaders(params) {
20
- const headers = {
21
- "X-Initiator": inferCopilotInitiator(params.messages),
22
- "Openai-Intent": "conversation-edits",
23
- };
24
- if (params.hasImages) {
25
- headers["Copilot-Vision-Request"] = "true";
26
- }
27
- return headers;
28
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * GitHub Copilot OAuth flow
3
- */
4
- import type { OAuthCredentials, OAuthDeviceCodeInfo, OAuthProviderInterface } from "./types.js";
5
- export declare function normalizeDomain(input: string): string | null;
6
- export declare function getGitHubCopilotBaseUrl(token?: string, enterpriseDomain?: string): string;
7
- /**
8
- * Refresh GitHub Copilot token
9
- */
10
- export declare function refreshGitHubCopilotToken(refreshToken: string, enterpriseDomain?: string): Promise<OAuthCredentials>;
11
- /**
12
- * Login with GitHub Copilot OAuth (device code flow)
13
- *
14
- * @param options.onDeviceCode - Callback with URL and user code
15
- * @param options.onPrompt - Callback to prompt user for input
16
- * @param options.onProgress - Optional progress callback
17
- * @param options.signal - Optional AbortSignal for cancellation
18
- */
19
- export declare function loginGitHubCopilot(options: {
20
- onDeviceCode: (info: OAuthDeviceCodeInfo) => void;
21
- onPrompt: (prompt: {
22
- message: string;
23
- placeholder?: string;
24
- allowEmpty?: boolean;
25
- }) => Promise<string>;
26
- onProgress?: (message: string) => void;
27
- signal?: AbortSignal;
28
- }): Promise<OAuthCredentials>;
29
- export declare const githubCopilotOAuthProvider: OAuthProviderInterface;
30
- //# sourceMappingURL=github-copilot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github-copilot.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/ai/utils/oauth/github-copilot.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAuB,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAmCrH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS5D;AA4BD,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CASzF;AAmGD;;GAEG;AACH,wBAAsB,yBAAyB,CAC9C,YAAY,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,gBAAgB,CAAC,CA6B3B;AA8CD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IACjD,YAAY,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvG,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiC5B;AAED,eAAO,MAAM,0BAA0B,EAAE,sBAgCxC,CAAC"}
@@ -1,270 +0,0 @@
1
- /**
2
- * GitHub Copilot OAuth flow
3
- */
4
- import { getModels } from "../../models.js";
5
- import { pollOAuthDeviceCodeFlow } from "./device-code.js";
6
- const decode = (s) => atob(s);
7
- const CLIENT_ID = decode("SXYxLmI1MDdhMDhjODdlY2ZlOTg=");
8
- const COPILOT_HEADERS = {
9
- "User-Agent": "GitHubCopilotChat/0.35.0",
10
- "Editor-Version": "vscode/1.107.0",
11
- "Editor-Plugin-Version": "copilot-chat/0.35.0",
12
- "Copilot-Integration-Id": "vscode-chat",
13
- };
14
- export function normalizeDomain(input) {
15
- const trimmed = input.trim();
16
- if (!trimmed)
17
- return null;
18
- try {
19
- const url = trimmed.includes("://") ? new URL(trimmed) : new URL(`https://${trimmed}`);
20
- return url.hostname;
21
- }
22
- catch {
23
- return null;
24
- }
25
- }
26
- function getUrls(domain) {
27
- return {
28
- deviceCodeUrl: `https://${domain}/login/device/code`,
29
- accessTokenUrl: `https://${domain}/login/oauth/access_token`,
30
- copilotTokenUrl: `https://api.${domain}/copilot_internal/v2/token`,
31
- };
32
- }
33
- /**
34
- * Parse the proxy-ep from a Copilot token and convert to API base URL.
35
- * Token format: tid=...;exp=...;proxy-ep=proxy.individual.githubcopilot.com;...
36
- * Returns API URL like https://api.individual.githubcopilot.com
37
- */
38
- function getBaseUrlFromToken(token) {
39
- const match = token.match(/proxy-ep=([^;]+)/);
40
- if (!match)
41
- return null;
42
- const proxyHost = match[1];
43
- // Convert proxy.xxx to api.xxx
44
- const apiHost = proxyHost.replace(/^proxy\./, "api.");
45
- return `https://${apiHost}`;
46
- }
47
- export function getGitHubCopilotBaseUrl(token, enterpriseDomain) {
48
- // If we have a token, extract the base URL from proxy-ep
49
- if (token) {
50
- const urlFromToken = getBaseUrlFromToken(token);
51
- if (urlFromToken)
52
- return urlFromToken;
53
- }
54
- // Fallback for enterprise or if token parsing fails
55
- if (enterpriseDomain)
56
- return `https://copilot-api.${enterpriseDomain}`;
57
- return "https://api.individual.githubcopilot.com";
58
- }
59
- async function fetchJson(url, init) {
60
- const response = await fetch(url, init);
61
- if (!response.ok) {
62
- const text = await response.text();
63
- throw new Error(`${response.status} ${response.statusText}: ${text}`);
64
- }
65
- return response.json();
66
- }
67
- async function startDeviceFlow(domain) {
68
- const urls = getUrls(domain);
69
- const data = await fetchJson(urls.deviceCodeUrl, {
70
- method: "POST",
71
- headers: {
72
- Accept: "application/json",
73
- "Content-Type": "application/x-www-form-urlencoded",
74
- "User-Agent": "GitHubCopilotChat/0.35.0",
75
- },
76
- body: new URLSearchParams({
77
- client_id: CLIENT_ID,
78
- scope: "read:user",
79
- }),
80
- });
81
- if (!data || typeof data !== "object") {
82
- throw new Error("Invalid device code response");
83
- }
84
- const deviceCode = data.device_code;
85
- const userCode = data.user_code;
86
- const verificationUri = data.verification_uri;
87
- const interval = data.interval;
88
- const expiresIn = data.expires_in;
89
- if (typeof deviceCode !== "string" ||
90
- typeof userCode !== "string" ||
91
- typeof verificationUri !== "string" ||
92
- (interval !== undefined && typeof interval !== "number") ||
93
- typeof expiresIn !== "number") {
94
- throw new Error("Invalid device code response fields");
95
- }
96
- return {
97
- device_code: deviceCode,
98
- user_code: userCode,
99
- verification_uri: verificationUri,
100
- interval,
101
- expires_in: expiresIn,
102
- };
103
- }
104
- async function pollForGitHubAccessToken(domain, device, signal) {
105
- const urls = getUrls(domain);
106
- return pollOAuthDeviceCodeFlow({
107
- intervalSeconds: device.interval,
108
- expiresInSeconds: device.expires_in,
109
- signal,
110
- poll: async () => {
111
- const raw = await fetchJson(urls.accessTokenUrl, {
112
- method: "POST",
113
- headers: {
114
- Accept: "application/json",
115
- "Content-Type": "application/x-www-form-urlencoded",
116
- "User-Agent": "GitHubCopilotChat/0.35.0",
117
- },
118
- body: new URLSearchParams({
119
- client_id: CLIENT_ID,
120
- device_code: device.device_code,
121
- grant_type: "urn:ietf:params:oauth:grant-type:device_code",
122
- }),
123
- });
124
- if (raw && typeof raw === "object" && typeof raw.access_token === "string") {
125
- return { status: "complete", accessToken: raw.access_token };
126
- }
127
- if (raw && typeof raw === "object" && typeof raw.error === "string") {
128
- const { error, error_description: description } = raw;
129
- if (error === "authorization_pending") {
130
- return { status: "pending" };
131
- }
132
- if (error === "slow_down") {
133
- return { status: "slow_down" };
134
- }
135
- const descriptionSuffix = description ? `: ${description}` : "";
136
- return { status: "failed", message: `Device flow failed: ${error}${descriptionSuffix}` };
137
- }
138
- return { status: "failed", message: "Invalid device token response" };
139
- },
140
- });
141
- }
142
- /**
143
- * Refresh GitHub Copilot token
144
- */
145
- export async function refreshGitHubCopilotToken(refreshToken, enterpriseDomain) {
146
- const domain = enterpriseDomain || "github.com";
147
- const urls = getUrls(domain);
148
- const raw = await fetchJson(urls.copilotTokenUrl, {
149
- headers: {
150
- Accept: "application/json",
151
- Authorization: `Bearer ${refreshToken}`,
152
- ...COPILOT_HEADERS,
153
- },
154
- });
155
- if (!raw || typeof raw !== "object") {
156
- throw new Error("Invalid Copilot token response");
157
- }
158
- const token = raw.token;
159
- const expiresAt = raw.expires_at;
160
- if (typeof token !== "string" || typeof expiresAt !== "number") {
161
- throw new Error("Invalid Copilot token response fields");
162
- }
163
- return {
164
- refresh: refreshToken,
165
- access: token,
166
- expires: expiresAt * 1000 - 5 * 60 * 1000,
167
- enterpriseUrl: enterpriseDomain,
168
- };
169
- }
170
- /**
171
- * Enable a model for the user's GitHub Copilot account.
172
- * This is required for some models (like Claude, Grok) before they can be used.
173
- */
174
- async function enableGitHubCopilotModel(token, modelId, enterpriseDomain) {
175
- const baseUrl = getGitHubCopilotBaseUrl(token, enterpriseDomain);
176
- const url = `${baseUrl}/models/${modelId}/policy`;
177
- try {
178
- const response = await fetch(url, {
179
- method: "POST",
180
- headers: {
181
- "Content-Type": "application/json",
182
- Authorization: `Bearer ${token}`,
183
- ...COPILOT_HEADERS,
184
- "openai-intent": "chat-policy",
185
- "x-interaction-type": "chat-policy",
186
- },
187
- body: JSON.stringify({ state: "enabled" }),
188
- });
189
- return response.ok;
190
- }
191
- catch {
192
- return false;
193
- }
194
- }
195
- /**
196
- * Enable all known GitHub Copilot models that may require policy acceptance.
197
- * Called after successful login to ensure all models are available.
198
- */
199
- async function enableAllGitHubCopilotModels(token, enterpriseDomain, onProgress) {
200
- const models = getModels("github-copilot");
201
- await Promise.all(models.map(async (model) => {
202
- const success = await enableGitHubCopilotModel(token, model.id, enterpriseDomain);
203
- onProgress?.(model.id, success);
204
- }));
205
- }
206
- /**
207
- * Login with GitHub Copilot OAuth (device code flow)
208
- *
209
- * @param options.onDeviceCode - Callback with URL and user code
210
- * @param options.onPrompt - Callback to prompt user for input
211
- * @param options.onProgress - Optional progress callback
212
- * @param options.signal - Optional AbortSignal for cancellation
213
- */
214
- export async function loginGitHubCopilot(options) {
215
- const input = await options.onPrompt({
216
- message: "GitHub Enterprise URL/domain (blank for github.com)",
217
- placeholder: "company.ghe.com",
218
- allowEmpty: true,
219
- });
220
- if (options.signal?.aborted) {
221
- throw new Error("Login cancelled");
222
- }
223
- const trimmed = input.trim();
224
- const enterpriseDomain = normalizeDomain(input);
225
- if (trimmed && !enterpriseDomain) {
226
- throw new Error("Invalid GitHub Enterprise URL/domain");
227
- }
228
- const domain = enterpriseDomain || "github.com";
229
- const device = await startDeviceFlow(domain);
230
- options.onDeviceCode({
231
- userCode: device.user_code,
232
- verificationUri: device.verification_uri,
233
- intervalSeconds: device.interval,
234
- expiresInSeconds: device.expires_in,
235
- });
236
- const githubAccessToken = await pollForGitHubAccessToken(domain, device, options.signal);
237
- const credentials = await refreshGitHubCopilotToken(githubAccessToken, enterpriseDomain ?? undefined);
238
- // Enable all models after successful login
239
- options.onProgress?.("Enabling models...");
240
- await enableAllGitHubCopilotModels(credentials.access, enterpriseDomain ?? undefined);
241
- return credentials;
242
- }
243
- export const githubCopilotOAuthProvider = {
244
- id: "github-copilot",
245
- name: "GitHub Copilot",
246
- async login(callbacks) {
247
- if (!callbacks.onDeviceCode) {
248
- throw new Error("GitHub Copilot OAuth requires a device code callback");
249
- }
250
- return loginGitHubCopilot({
251
- onDeviceCode: callbacks.onDeviceCode,
252
- onPrompt: callbacks.onPrompt,
253
- onProgress: callbacks.onProgress,
254
- signal: callbacks.signal,
255
- });
256
- },
257
- async refreshToken(credentials) {
258
- const creds = credentials;
259
- return refreshGitHubCopilotToken(creds.refresh, creds.enterpriseUrl);
260
- },
261
- getApiKey(credentials) {
262
- return credentials.access;
263
- },
264
- modifyModels(models, credentials) {
265
- const creds = credentials;
266
- const domain = creds.enterpriseUrl ? (normalizeDomain(creds.enterpriseUrl) ?? undefined) : undefined;
267
- const baseUrl = getGitHubCopilotBaseUrl(creds.access, domain);
268
- return models.map((m) => (m.provider === "github-copilot" ? { ...m, baseUrl } : m));
269
- },
270
- };
@@ -1,35 +0,0 @@
1
- import type { AgentTool } from "../../../agent-core/index.js";
2
- import { type Static, Type } from "typebox";
3
- import type { ToolDefinition } from "../extensions/types.js";
4
- import { type TruncationResult } from "./truncate.js";
5
- declare const findSchema: Type.TObject<{
6
- pattern: Type.TString;
7
- path: Type.TOptional<Type.TString>;
8
- limit: Type.TOptional<Type.TNumber>;
9
- }>;
10
- export type FindToolInput = Static<typeof findSchema>;
11
- export interface FindToolDetails {
12
- truncation?: TruncationResult;
13
- resultLimitReached?: number;
14
- }
15
- /**
16
- * Pluggable operations for the find tool.
17
- * Override these to delegate file search to remote systems (for example SSH).
18
- */
19
- export interface FindOperations {
20
- /** Check if path exists */
21
- exists: (absolutePath: string) => Promise<boolean> | boolean;
22
- /** Find files matching glob pattern. Returns relative or absolute paths. */
23
- glob: (pattern: string, cwd: string, options: {
24
- ignore: string[];
25
- limit: number;
26
- }) => Promise<string[]> | string[];
27
- }
28
- export interface FindToolOptions {
29
- /** Custom operations for find. Default: local filesystem plus fd */
30
- operations?: FindOperations;
31
- }
32
- export declare function createFindToolDefinition(cwd: string, options?: FindToolOptions): ToolDefinition<typeof findSchema, FindToolDetails | undefined>;
33
- export declare function createFindTool(cwd: string, options?: FindToolOptions): AgentTool<typeof findSchema>;
34
- export {};
35
- //# sourceMappingURL=find.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/coding-agent/core/tools/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAI9D,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D,OAAO,EAAiC,KAAK,gBAAgB,EAAgB,MAAM,eAAe,CAAC;AAMnG,QAAA,MAAM,UAAU;;;;EAMd,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAiDtD,MAAM,WAAW,eAAe;IAC/B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,2BAA2B;IAC3B,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC7D,4EAA4E;IAC5E,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC;CACnH;AAQD,MAAM,WAAW,eAAe;IAC/B,oEAAoE;IACpE,UAAU,CAAC,EAAE,cAAc,CAAC;CAC5B;AAmDD,wBAAgB,wBAAwB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,eAAe,GACvB,cAAc,CAAC,OAAO,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC,CA0QhE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,OAAO,UAAU,CAAC,CAEnG"}