grok-dev 1.0.0-rc1

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 (112) hide show
  1. package/.cursor/rules/development-workflow.mdc +66 -0
  2. package/.cursor/rules/project-overview.mdc +66 -0
  3. package/.cursor/rules/react-ink-components.mdc +45 -0
  4. package/.cursor/rules/tools-and-agent.mdc +62 -0
  5. package/.cursor/rules/typescript-conventions.mdc +54 -0
  6. package/.grok/settings.json +3 -0
  7. package/.husky/pre-commit +1 -0
  8. package/LICENSE +21 -0
  9. package/README.md +526 -0
  10. package/biome.json +51 -0
  11. package/dist/agent/agent.d.ts +62 -0
  12. package/dist/agent/agent.js +701 -0
  13. package/dist/agent/agent.js.map +1 -0
  14. package/dist/agent/delegations.d.ts +42 -0
  15. package/dist/agent/delegations.js +273 -0
  16. package/dist/agent/delegations.js.map +1 -0
  17. package/dist/grok/client.d.ts +12 -0
  18. package/dist/grok/client.js +37 -0
  19. package/dist/grok/client.js.map +1 -0
  20. package/dist/grok/models.d.ts +5 -0
  21. package/dist/grok/models.js +73 -0
  22. package/dist/grok/models.js.map +1 -0
  23. package/dist/grok/tools.d.ts +12 -0
  24. package/dist/grok/tools.js +230 -0
  25. package/dist/grok/tools.js.map +1 -0
  26. package/dist/index.d.ts +2 -0
  27. package/dist/index.js +192 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/storage/db.d.ts +18 -0
  30. package/dist/storage/db.js +71 -0
  31. package/dist/storage/db.js.map +1 -0
  32. package/dist/storage/index.d.ts +4 -0
  33. package/dist/storage/index.js +5 -0
  34. package/dist/storage/index.js.map +1 -0
  35. package/dist/storage/migrations.d.ts +2 -0
  36. package/dist/storage/migrations.js +92 -0
  37. package/dist/storage/migrations.js.map +1 -0
  38. package/dist/storage/sessions.d.ts +15 -0
  39. package/dist/storage/sessions.js +135 -0
  40. package/dist/storage/sessions.js.map +1 -0
  41. package/dist/storage/transcript.d.ts +6 -0
  42. package/dist/storage/transcript.js +261 -0
  43. package/dist/storage/transcript.js.map +1 -0
  44. package/dist/storage/usage.d.ts +9 -0
  45. package/dist/storage/usage.js +58 -0
  46. package/dist/storage/usage.js.map +1 -0
  47. package/dist/storage/workspaces.d.ts +9 -0
  48. package/dist/storage/workspaces.js +60 -0
  49. package/dist/storage/workspaces.js.map +1 -0
  50. package/dist/telegram/bridge.d.ts +39 -0
  51. package/dist/telegram/bridge.js +164 -0
  52. package/dist/telegram/bridge.js.map +1 -0
  53. package/dist/telegram/index.d.ts +3 -0
  54. package/dist/telegram/index.js +4 -0
  55. package/dist/telegram/index.js.map +1 -0
  56. package/dist/telegram/limits.d.ts +3 -0
  57. package/dist/telegram/limits.js +12 -0
  58. package/dist/telegram/limits.js.map +1 -0
  59. package/dist/telegram/pairing.d.ts +9 -0
  60. package/dist/telegram/pairing.js +30 -0
  61. package/dist/telegram/pairing.js.map +1 -0
  62. package/dist/telegram/preview-stream.d.ts +22 -0
  63. package/dist/telegram/preview-stream.js +181 -0
  64. package/dist/telegram/preview-stream.js.map +1 -0
  65. package/dist/telegram/turn-coordinator.d.ts +7 -0
  66. package/dist/telegram/turn-coordinator.js +14 -0
  67. package/dist/telegram/turn-coordinator.js.map +1 -0
  68. package/dist/telegram/typing-refresh.d.ts +3 -0
  69. package/dist/telegram/typing-refresh.js +12 -0
  70. package/dist/telegram/typing-refresh.js.map +1 -0
  71. package/dist/tools/bash.d.ts +27 -0
  72. package/dist/tools/bash.js +261 -0
  73. package/dist/tools/bash.js.map +1 -0
  74. package/dist/tools/file.d.ts +15 -0
  75. package/dist/tools/file.js +94 -0
  76. package/dist/tools/file.js.map +1 -0
  77. package/dist/types/index.d.ts +151 -0
  78. package/dist/types/index.js +6 -0
  79. package/dist/types/index.js.map +1 -0
  80. package/dist/ui/app.d.ts +15 -0
  81. package/dist/ui/app.js +1720 -0
  82. package/dist/ui/app.js.map +1 -0
  83. package/dist/ui/markdown.d.ts +5 -0
  84. package/dist/ui/markdown.js +38 -0
  85. package/dist/ui/markdown.js.map +1 -0
  86. package/dist/ui/plan.d.ts +24 -0
  87. package/dist/ui/plan.js +122 -0
  88. package/dist/ui/plan.js.map +1 -0
  89. package/dist/ui/terminal-selection-text.d.ts +23 -0
  90. package/dist/ui/terminal-selection-text.js +59 -0
  91. package/dist/ui/terminal-selection-text.js.map +1 -0
  92. package/dist/ui/theme.d.ts +53 -0
  93. package/dist/ui/theme.js +53 -0
  94. package/dist/ui/theme.js.map +1 -0
  95. package/dist/utils/git-root.d.ts +1 -0
  96. package/dist/utils/git-root.js +16 -0
  97. package/dist/utils/git-root.js.map +1 -0
  98. package/dist/utils/host-clipboard.d.ts +4 -0
  99. package/dist/utils/host-clipboard.js +32 -0
  100. package/dist/utils/host-clipboard.js.map +1 -0
  101. package/dist/utils/instructions.d.ts +1 -0
  102. package/dist/utils/instructions.js +73 -0
  103. package/dist/utils/instructions.js.map +1 -0
  104. package/dist/utils/settings.d.ts +33 -0
  105. package/dist/utils/settings.js +88 -0
  106. package/dist/utils/settings.js.map +1 -0
  107. package/dist/utils/skills.d.ts +17 -0
  108. package/dist/utils/skills.js +161 -0
  109. package/dist/utils/skills.js.map +1 -0
  110. package/package.json +67 -0
  111. package/skills-lock.json +10 -0
  112. package/tmp/large_class.py +633 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { DelegationRun, DelegationStatus, TaskRequest, ToolResult } from "../types/index";
2
+ export interface StoredDelegation {
3
+ id: string;
4
+ agent: "explore";
5
+ description: string;
6
+ prompt: string;
7
+ cwd: string;
8
+ model: string;
9
+ maxToolRounds: number;
10
+ maxTokens: number;
11
+ status: DelegationStatus;
12
+ startedAt: string;
13
+ completedAt?: string;
14
+ pid?: number;
15
+ error?: string;
16
+ title?: string;
17
+ summary?: string;
18
+ outputPath: string;
19
+ notifiedAt?: string;
20
+ }
21
+ export interface DelegationNotification {
22
+ id: string;
23
+ message: string;
24
+ }
25
+ interface StartDelegationOptions {
26
+ model: string;
27
+ maxToolRounds: number;
28
+ maxTokens: number;
29
+ }
30
+ export declare class DelegationManager {
31
+ private readonly getCwd;
32
+ constructor(getCwd: () => string);
33
+ start(request: TaskRequest, options: StartDelegationOptions): Promise<ToolResult>;
34
+ list(): Promise<DelegationRun[]>;
35
+ read(id: string): Promise<string>;
36
+ consumeNotifications(): Promise<DelegationNotification[]>;
37
+ private getById;
38
+ }
39
+ export declare function loadDelegation(jobPath: string): Promise<StoredDelegation>;
40
+ export declare function completeDelegation(jobPath: string, output: string, fallbackSummary?: string): Promise<void>;
41
+ export declare function failDelegation(jobPath: string, error: string, output?: string): Promise<void>;
42
+ export {};
@@ -0,0 +1,273 @@
1
+ import { spawn } from "child_process";
2
+ import { createHash } from "crypto";
3
+ import { promises as fs } from "fs";
4
+ import os from "os";
5
+ import path from "path";
6
+ const ID_ADJECTIVES = ["brisk", "calm", "clever", "eager", "gentle", "keen", "lively", "nimble", "quiet", "steady"];
7
+ const ID_COLORS = ["amber", "blue", "copper", "emerald", "indigo", "ivory", "silver", "teal", "violet", "white"];
8
+ const ID_ANIMALS = ["badger", "falcon", "fox", "heron", "lynx", "otter", "owl", "panda", "sparrow", "wolf"];
9
+ export class DelegationManager {
10
+ getCwd;
11
+ constructor(getCwd) {
12
+ this.getCwd = getCwd;
13
+ }
14
+ async start(request, options) {
15
+ if (process.env.GROK_BACKGROUND_CHILD === "1") {
16
+ return {
17
+ success: false,
18
+ output: "Nested background delegations are disabled.",
19
+ };
20
+ }
21
+ if (request.agent !== "explore") {
22
+ return {
23
+ success: false,
24
+ output: "Background delegations are read-only. Use `delegate` with the `explore` agent, or use `task` for foreground work that may edit files.",
25
+ };
26
+ }
27
+ const cwd = this.getCwd();
28
+ const dir = await ensureDelegationsDir(cwd);
29
+ const id = await generateUniqueId(dir);
30
+ const outputPath = path.join(dir, `${id}.md`);
31
+ const jobPath = path.join(dir, `${id}.json`);
32
+ const record = {
33
+ id,
34
+ agent: "explore",
35
+ description: request.description,
36
+ prompt: request.prompt,
37
+ cwd,
38
+ model: options.model,
39
+ maxToolRounds: options.maxToolRounds,
40
+ maxTokens: options.maxTokens,
41
+ status: "running",
42
+ startedAt: new Date().toISOString(),
43
+ outputPath,
44
+ };
45
+ await writeRecord(jobPath, record);
46
+ const child = spawn(process.execPath, [...resolveCliArgs(), "--directory", cwd, "--background-task-file", jobPath], {
47
+ cwd,
48
+ detached: true,
49
+ stdio: "ignore",
50
+ env: { ...process.env, GROK_BACKGROUND_CHILD: "1" },
51
+ });
52
+ child.unref();
53
+ record.pid = child.pid;
54
+ await writeRecord(jobPath, record);
55
+ const output = [
56
+ `Delegation started: ${id}`,
57
+ "Agent: explore",
58
+ "You will be notified when it completes.",
59
+ `Use \`delegation_read("${id}")\` to retrieve the full result later.`,
60
+ ].join("\n");
61
+ return {
62
+ success: true,
63
+ output,
64
+ delegation: {
65
+ id,
66
+ agent: "explore",
67
+ description: request.description,
68
+ summary: "Running in the background.",
69
+ status: "running",
70
+ },
71
+ };
72
+ }
73
+ async list() {
74
+ const dir = await ensureDelegationsDir(this.getCwd());
75
+ const files = await readDelegationFiles(dir);
76
+ const items = await Promise.all(files.map(async (file) => readRecord(path.join(dir, file))));
77
+ return items
78
+ .filter((item) => item !== null)
79
+ .sort((a, b) => b.startedAt.localeCompare(a.startedAt))
80
+ .map(toDelegationRun);
81
+ }
82
+ async read(id) {
83
+ const record = await this.getById(id);
84
+ if (!record) {
85
+ return `Delegation "${id}" not found. Use \`delegation_list()\` to see available results.`;
86
+ }
87
+ if (record.status === "running") {
88
+ return `Delegation "${id}" is still running. Continue working and wait for the completion notice.`;
89
+ }
90
+ try {
91
+ return await fs.readFile(record.outputPath, "utf8");
92
+ }
93
+ catch {
94
+ if (record.error) {
95
+ return `Delegation "${id}" failed.\n\n${record.error}`;
96
+ }
97
+ return `Delegation "${id}" completed, but its saved output could not be read.`;
98
+ }
99
+ }
100
+ async consumeNotifications() {
101
+ const dir = await ensureDelegationsDir(this.getCwd());
102
+ const files = await readDelegationFiles(dir);
103
+ const notifications = [];
104
+ for (const file of files) {
105
+ const jobPath = path.join(dir, file);
106
+ const record = await readRecord(jobPath);
107
+ if (!record || record.status === "running" || record.notifiedAt)
108
+ continue;
109
+ record.notifiedAt = new Date().toISOString();
110
+ await writeRecord(jobPath, record);
111
+ notifications.push({
112
+ id: record.id,
113
+ message: formatNotification(record),
114
+ });
115
+ }
116
+ return notifications.sort((a, b) => a.id.localeCompare(b.id));
117
+ }
118
+ async getById(id) {
119
+ const dir = await ensureDelegationsDir(this.getCwd());
120
+ return readRecord(path.join(dir, `${id}.json`));
121
+ }
122
+ }
123
+ export async function loadDelegation(jobPath) {
124
+ const record = await readRecord(jobPath);
125
+ if (!record) {
126
+ throw new Error(`Delegation job not found: ${jobPath}`);
127
+ }
128
+ return record;
129
+ }
130
+ export async function completeDelegation(jobPath, output, fallbackSummary) {
131
+ const record = await loadDelegation(jobPath);
132
+ record.status = "complete";
133
+ record.completedAt = new Date().toISOString();
134
+ record.title = record.title || createTitle(output, record.description);
135
+ record.summary = createSummary(output || fallbackSummary || record.description);
136
+ await fs.mkdir(path.dirname(record.outputPath), { recursive: true });
137
+ await fs.writeFile(record.outputPath, renderOutput(record, output), "utf8");
138
+ await writeRecord(jobPath, record);
139
+ }
140
+ export async function failDelegation(jobPath, error, output = "") {
141
+ const record = await loadDelegation(jobPath);
142
+ record.status = "error";
143
+ record.completedAt = new Date().toISOString();
144
+ record.error = error;
145
+ record.title = record.title || createTitle(output || error, record.description);
146
+ record.summary = createSummary(output || error);
147
+ await fs.mkdir(path.dirname(record.outputPath), { recursive: true });
148
+ await fs.writeFile(record.outputPath, renderOutput(record, output || `Error: ${error}`), "utf8");
149
+ await writeRecord(jobPath, record);
150
+ }
151
+ async function ensureDelegationsDir(cwd) {
152
+ const projectId = getProjectId(cwd);
153
+ const dir = path.join(os.homedir(), ".grok", "delegations", projectId);
154
+ await fs.mkdir(dir, { recursive: true });
155
+ return dir;
156
+ }
157
+ async function readDelegationFiles(dir) {
158
+ try {
159
+ const files = await fs.readdir(dir);
160
+ return files.filter((file) => file.endsWith(".json"));
161
+ }
162
+ catch {
163
+ return [];
164
+ }
165
+ }
166
+ async function readRecord(filePath) {
167
+ try {
168
+ const raw = await fs.readFile(filePath, "utf8");
169
+ return JSON.parse(raw);
170
+ }
171
+ catch {
172
+ return null;
173
+ }
174
+ }
175
+ async function writeRecord(filePath, record) {
176
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
177
+ await fs.writeFile(filePath, JSON.stringify(record, null, 2), "utf8");
178
+ }
179
+ async function generateUniqueId(dir) {
180
+ for (let attempt = 0; attempt < 20; attempt++) {
181
+ const id = randomId();
182
+ try {
183
+ await fs.access(path.join(dir, `${id}.json`));
184
+ }
185
+ catch {
186
+ return id;
187
+ }
188
+ }
189
+ throw new Error("Failed to allocate a unique delegation ID.");
190
+ }
191
+ function randomId() {
192
+ return `${pick(ID_ADJECTIVES)}-${pick(ID_COLORS)}-${pick(ID_ANIMALS)}`;
193
+ }
194
+ function pick(values) {
195
+ return values[Math.floor(Math.random() * values.length)];
196
+ }
197
+ function resolveCliArgs() {
198
+ const entry = process.argv[1];
199
+ if (!entry) {
200
+ throw new Error("Could not resolve the CLI entrypoint for background delegation.");
201
+ }
202
+ return [entry];
203
+ }
204
+ function getProjectId(cwd) {
205
+ const base = path
206
+ .basename(cwd)
207
+ .replace(/[^a-zA-Z0-9._-]+/g, "-")
208
+ .replace(/^-+|-+$/g, "") || "project";
209
+ const hash = createHash("sha1").update(cwd).digest("hex").slice(0, 10);
210
+ return `${base}-${hash}`;
211
+ }
212
+ function createTitle(text, fallback) {
213
+ const firstLine = text
214
+ .split("\n")
215
+ .map((line) => line.trim())
216
+ .find(Boolean);
217
+ const source = firstLine || fallback.trim() || "Background delegation";
218
+ return source.length <= 48 ? source : `${source.slice(0, 45).trimEnd()}...`;
219
+ }
220
+ function createSummary(text) {
221
+ const compact = text.replace(/\s+/g, " ").trim();
222
+ if (!compact)
223
+ return "No summary available.";
224
+ return compact.length <= 180 ? compact : `${compact.slice(0, 177).trimEnd()}...`;
225
+ }
226
+ function renderOutput(record, content) {
227
+ const title = record.title || record.id;
228
+ const summary = record.summary || "No summary available.";
229
+ const completed = record.completedAt || "N/A";
230
+ const error = record.error ? `\n**Error:** ${record.error}\n` : "";
231
+ return [
232
+ `# ${title}`,
233
+ "",
234
+ summary,
235
+ "",
236
+ `**ID:** ${record.id}`,
237
+ `**Agent:** ${record.agent}`,
238
+ `**Status:** ${record.status}`,
239
+ `**Started:** ${record.startedAt}`,
240
+ `**Completed:** ${completed}`,
241
+ "",
242
+ `**Prompt:** ${record.description}`,
243
+ error.trimEnd(),
244
+ "",
245
+ "---",
246
+ "",
247
+ content.trim() || "(No output)",
248
+ "",
249
+ ]
250
+ .filter(Boolean)
251
+ .join("\n");
252
+ }
253
+ function formatNotification(record) {
254
+ const title = record.title || record.description || record.id;
255
+ const summary = record.summary || (record.error ? createSummary(record.error) : "No summary available.");
256
+ const statusText = record.status === "complete" ? "complete" : "failed";
257
+ const lines = [`Background agent ${statusText}: \`${record.id}\``, `Title: ${title}`, `Summary: ${summary}`];
258
+ if (record.error) {
259
+ lines.push(`Error: ${record.error}`);
260
+ }
261
+ lines.push(`Use \`delegation_read("${record.id}")\` to retrieve the full result.`);
262
+ return lines.join("\n");
263
+ }
264
+ function toDelegationRun(record) {
265
+ return {
266
+ id: record.id,
267
+ agent: "explore",
268
+ description: record.description,
269
+ summary: record.summary || (record.status === "running" ? "Running in the background." : "No summary available."),
270
+ status: record.status,
271
+ };
272
+ }
273
+ //# sourceMappingURL=delegations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegations.js","sourceRoot":"","sources":["../../src/agent/delegations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { createXai } from "@ai-sdk/xai";
2
+ export type XaiProvider = ReturnType<typeof createXai>;
3
+ export interface GeneratedTitle {
4
+ title: string;
5
+ usage?: {
6
+ totalTokens?: number;
7
+ inputTokens?: number;
8
+ outputTokens?: number;
9
+ };
10
+ }
11
+ export declare function createProvider(apiKey: string, baseURL?: string): XaiProvider;
12
+ export declare function generateTitle(provider: XaiProvider, userMessage: string): Promise<GeneratedTitle>;
@@ -0,0 +1,37 @@
1
+ import { createXai } from "@ai-sdk/xai";
2
+ import { generateText } from "ai";
3
+ export function createProvider(apiKey, baseURL) {
4
+ return createXai({
5
+ apiKey,
6
+ baseURL: baseURL || process.env.GROK_BASE_URL || "https://api.x.ai/v1",
7
+ });
8
+ }
9
+ export async function generateTitle(provider, userMessage) {
10
+ try {
11
+ const { text, usage } = await generateText({
12
+ model: provider("grok-3-mini-fast"),
13
+ temperature: 0.5,
14
+ maxOutputTokens: 60,
15
+ system: [
16
+ "You are a title generator. Output ONLY a short title. Nothing else.",
17
+ "Rules:",
18
+ "- Single line, ≤50 characters",
19
+ "- Use the same language as the user message",
20
+ "- Focus on the main topic or intent",
21
+ "- Keep technical terms, filenames, numbers exact",
22
+ "- Remove filler words (the, this, my, a, an)",
23
+ "- Never use tools or explain anything",
24
+ "- If the message is a greeting, output something like 'Quick chat'",
25
+ ].join("\n"),
26
+ prompt: userMessage,
27
+ });
28
+ return {
29
+ title: text?.trim().replace(/^["']|["']$/g, "") || "New session",
30
+ usage,
31
+ };
32
+ }
33
+ catch {
34
+ return { title: "New session" };
35
+ }
36
+ }
37
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/grok/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAYlC,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,OAAgB;IAC7D,OAAO,SAAS,CAAC;QACf,MAAM;QACN,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,qBAAqB;KACvE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAqB,EAAE,WAAmB;IAC5E,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,YAAY,CAAC;YACzC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC;YACnC,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,EAAE;YACnB,MAAM,EAAE;gBACN,qEAAqE;gBACrE,QAAQ;gBACR,+BAA+B;gBAC/B,6CAA6C;gBAC7C,qCAAqC;gBACrC,kDAAkD;gBAClD,8CAA8C;gBAC9C,uCAAuC;gBACvC,oEAAoE;aACrE,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QACH,OAAO;YACL,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,aAAa;YAChE,KAAK;SACN,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ModelInfo } from "../types/index";
2
+ export declare const MODELS: ModelInfo[];
3
+ export declare const DEFAULT_MODEL = "grok-4-1-fast";
4
+ export declare function getModelInfo(modelId: string): ModelInfo | undefined;
5
+ export declare function getModelIds(): string[];
@@ -0,0 +1,73 @@
1
+ export const MODELS = [
2
+ {
3
+ id: "grok-4-0709",
4
+ name: "Grok 4",
5
+ contextWindow: 256_000,
6
+ inputPrice: 3.0,
7
+ outputPrice: 15.0,
8
+ reasoning: true,
9
+ description: "Flagship reasoning model",
10
+ },
11
+ {
12
+ id: "grok-4.20-beta-0309",
13
+ name: "Grok 4.20 Beta",
14
+ contextWindow: 2_000_000,
15
+ inputPrice: 2.0,
16
+ outputPrice: 6.0,
17
+ reasoning: true,
18
+ description: "Multi-agent reasoning beta with 2M context",
19
+ },
20
+ {
21
+ id: "grok-4-fast",
22
+ name: "Grok 4 Fast",
23
+ contextWindow: 2_000_000,
24
+ inputPrice: 0.2,
25
+ outputPrice: 0.5,
26
+ reasoning: true,
27
+ description: "Fast reasoning with 2M context",
28
+ },
29
+ {
30
+ id: "grok-4-1-fast",
31
+ name: "Grok 4.1 Fast",
32
+ contextWindow: 2_000_000,
33
+ inputPrice: 0.2,
34
+ outputPrice: 0.5,
35
+ reasoning: true,
36
+ description: "Latest fast model with 2M context",
37
+ },
38
+ {
39
+ id: "grok-code-fast-1",
40
+ name: "Grok Code Fast",
41
+ contextWindow: 256_000,
42
+ inputPrice: 0.2,
43
+ outputPrice: 1.5,
44
+ reasoning: false,
45
+ description: "Optimized for code generation",
46
+ },
47
+ {
48
+ id: "grok-3",
49
+ name: "Grok 3",
50
+ contextWindow: 131_000,
51
+ inputPrice: 3.0,
52
+ outputPrice: 15.0,
53
+ reasoning: false,
54
+ description: "Grok 3 flagship",
55
+ },
56
+ {
57
+ id: "grok-3-mini",
58
+ name: "Grok 3 Mini",
59
+ contextWindow: 131_000,
60
+ inputPrice: 0.3,
61
+ outputPrice: 0.5,
62
+ reasoning: false,
63
+ description: "Budget-friendly compact model",
64
+ },
65
+ ];
66
+ export const DEFAULT_MODEL = "grok-4-1-fast";
67
+ export function getModelInfo(modelId) {
68
+ return MODELS.find((m) => m.id === modelId);
69
+ }
70
+ export function getModelIds() {
71
+ return MODELS.map((m) => m.id);
72
+ }
73
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/grok/models.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAgB;IACjC;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,OAAO;QACtB,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,0BAA0B;KACxC;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,gBAAgB;QACtB,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,gCAAgC;KAC9C;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,gBAAgB;QACtB,aAAa,EAAE,OAAO;QACtB,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,+BAA+B;KAC7C;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,OAAO;QACtB,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,aAAa,EAAE,OAAO;QACtB,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,+BAA+B;KAC7C;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type ToolSet } from "ai";
2
+ import type { BashTool } from "../tools/bash";
3
+ import type { AgentMode, TaskRequest, ToolResult } from "../types/index";
4
+ import type { XaiProvider } from "./client";
5
+ interface CreateToolsOptions {
6
+ runTask?: (request: TaskRequest, abortSignal?: AbortSignal) => Promise<ToolResult>;
7
+ runDelegation?: (request: TaskRequest, abortSignal?: AbortSignal) => Promise<ToolResult>;
8
+ readDelegation?: (id: string) => Promise<ToolResult>;
9
+ listDelegations?: () => Promise<ToolResult>;
10
+ }
11
+ export declare function createTools(bash: BashTool, provider: XaiProvider, mode?: AgentMode, options?: CreateToolsOptions): ToolSet;
12
+ export {};