cyrus-gemini-runner 0.2.4

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 (40) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +411 -0
  3. package/dist/GeminiRunner.d.ts +136 -0
  4. package/dist/GeminiRunner.d.ts.map +1 -0
  5. package/dist/GeminiRunner.js +683 -0
  6. package/dist/GeminiRunner.js.map +1 -0
  7. package/dist/SimpleGeminiRunner.d.ts +27 -0
  8. package/dist/SimpleGeminiRunner.d.ts.map +1 -0
  9. package/dist/SimpleGeminiRunner.js +149 -0
  10. package/dist/SimpleGeminiRunner.js.map +1 -0
  11. package/dist/adapters.d.ts +37 -0
  12. package/dist/adapters.d.ts.map +1 -0
  13. package/dist/adapters.js +317 -0
  14. package/dist/adapters.js.map +1 -0
  15. package/dist/formatter.d.ts +40 -0
  16. package/dist/formatter.d.ts.map +1 -0
  17. package/dist/formatter.js +363 -0
  18. package/dist/formatter.js.map +1 -0
  19. package/dist/index.d.ts +36 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +56 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/prompts/system.md +108 -0
  24. package/dist/schemas.d.ts +1472 -0
  25. package/dist/schemas.d.ts.map +1 -0
  26. package/dist/schemas.js +678 -0
  27. package/dist/schemas.js.map +1 -0
  28. package/dist/settingsGenerator.d.ts +72 -0
  29. package/dist/settingsGenerator.d.ts.map +1 -0
  30. package/dist/settingsGenerator.js +255 -0
  31. package/dist/settingsGenerator.js.map +1 -0
  32. package/dist/systemPromptManager.d.ts +27 -0
  33. package/dist/systemPromptManager.d.ts.map +1 -0
  34. package/dist/systemPromptManager.js +65 -0
  35. package/dist/systemPromptManager.js.map +1 -0
  36. package/dist/types.d.ts +113 -0
  37. package/dist/types.d.ts.map +1 -0
  38. package/dist/types.js +23 -0
  39. package/dist/types.js.map +1 -0
  40. package/package.json +37 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeminiRunner.js","sourceRoot":"","sources":["../src/GeminiRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { SDKMessage } from "cyrus-core";
2
+ import { type SimpleAgentQueryOptions, SimpleAgentRunner } from "cyrus-simple-agent-runner";
3
+ /**
4
+ * Concrete implementation using GeminiRunner from cyrus-gemini-runner package.
5
+ *
6
+ * This implementation uses the Gemini CLI to execute queries and
7
+ * constrains the responses to an enumerated set.
8
+ */
9
+ export declare class SimpleGeminiRunner<T extends string> extends SimpleAgentRunner<T> {
10
+ /**
11
+ * Execute the agent using GeminiRunner
12
+ */
13
+ protected executeAgent(prompt: string, options?: SimpleAgentQueryOptions): Promise<SDKMessage[]>;
14
+ /**
15
+ * Extract the final response from the last assistant message
16
+ */
17
+ protected extractResponse(messages: SDKMessage[]): string;
18
+ /**
19
+ * Clean the response text to extract the actual value
20
+ */
21
+ private cleanResponse;
22
+ /**
23
+ * Handle incoming messages for progress events
24
+ */
25
+ private handleMessage;
26
+ }
27
+ //# sourceMappingURL=SimpleGeminiRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleGeminiRunner.d.ts","sourceRoot":"","sources":["../src/SimpleGeminiRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAGN,KAAK,uBAAuB,EAC5B,iBAAiB,EACjB,MAAM,2BAA2B,CAAC;AAGnC;;;;;GAKG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC7E;;OAEG;cACa,YAAY,CAC3B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,UAAU,EAAE,CAAC;IA6DxB;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM;IAsCzD;;OAEG;IACH,OAAO,CAAC,aAAa;IAyBrB;;OAEG;IACH,OAAO,CAAC,aAAa;CA0BrB"}
@@ -0,0 +1,149 @@
1
+ import { NoResponseError, SessionError, SimpleAgentRunner, } from "cyrus-simple-agent-runner";
2
+ import { GeminiRunner } from "./GeminiRunner.js";
3
+ /**
4
+ * Concrete implementation using GeminiRunner from cyrus-gemini-runner package.
5
+ *
6
+ * This implementation uses the Gemini CLI to execute queries and
7
+ * constrains the responses to an enumerated set.
8
+ */
9
+ export class SimpleGeminiRunner extends SimpleAgentRunner {
10
+ /**
11
+ * Execute the agent using GeminiRunner
12
+ */
13
+ async executeAgent(prompt, options) {
14
+ const messages = [];
15
+ let sessionError = null;
16
+ // Build the full prompt with context if provided
17
+ const fullPrompt = options?.context
18
+ ? `${options.context}\n\n${prompt}`
19
+ : prompt;
20
+ // Create GeminiRunner with configuration
21
+ const runner = new GeminiRunner({
22
+ workingDirectory: this.config.workingDirectory,
23
+ cyrusHome: this.config.cyrusHome,
24
+ model: this.config.model,
25
+ fallbackModel: this.config.fallbackModel,
26
+ maxTurns: this.config.maxTurns,
27
+ appendSystemPrompt: this.buildSystemPrompt(),
28
+ // Limit tools for simple queries
29
+ disallowedTools: options?.allowFileReading
30
+ ? []
31
+ : ["Read", "Edit", "Write", "Bash", "Glob", "Grep"],
32
+ allowedDirectories: options?.allowedDirectories,
33
+ });
34
+ // Set up event handlers
35
+ runner.on("message", (message) => {
36
+ messages.push(message);
37
+ this.handleMessage(message);
38
+ });
39
+ runner.on("error", (error) => {
40
+ sessionError = error;
41
+ });
42
+ runner.on("complete", () => {
43
+ this.emitProgress({ type: "validating", response: "complete" });
44
+ });
45
+ try {
46
+ this.emitProgress({ type: "started", sessionId: null });
47
+ await runner.start(fullPrompt);
48
+ // Update session ID in progress events
49
+ const sessionId = messages[0]?.session_id || null;
50
+ if (sessionId) {
51
+ this.emitProgress({ type: "started", sessionId });
52
+ }
53
+ if (sessionError) {
54
+ throw new SessionError(sessionError, messages);
55
+ }
56
+ return messages;
57
+ }
58
+ catch (error) {
59
+ if (error instanceof Error) {
60
+ throw error;
61
+ }
62
+ throw new SessionError(new Error(String(error)), messages);
63
+ }
64
+ }
65
+ /**
66
+ * Extract the final response from the last assistant message
67
+ */
68
+ extractResponse(messages) {
69
+ // Find the last assistant message with text content
70
+ for (let i = messages.length - 1; i >= 0; i--) {
71
+ const message = messages[i];
72
+ if (!message)
73
+ continue;
74
+ if (message.type === "assistant" &&
75
+ "message" in message &&
76
+ message.message &&
77
+ message.message.content) {
78
+ // Extract text from content blocks
79
+ for (const block of message.message.content) {
80
+ if (typeof block === "object" &&
81
+ block !== null &&
82
+ "type" in block &&
83
+ block.type === "text" &&
84
+ "text" in block) {
85
+ // Clean the response (remove whitespace, markdown, etc.)
86
+ const cleaned = this.cleanResponse(block.text);
87
+ if (cleaned) {
88
+ this.emitProgress({
89
+ type: "response-detected",
90
+ candidateResponse: cleaned,
91
+ });
92
+ return cleaned;
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ throw new NoResponseError(messages);
99
+ }
100
+ /**
101
+ * Clean the response text to extract the actual value
102
+ */
103
+ cleanResponse(text) {
104
+ // Remove markdown code blocks
105
+ let cleaned = text.replace(/```[\s\S]*?```/g, "");
106
+ // Remove inline code
107
+ cleaned = cleaned.replace(/`([^`]+)`/g, "$1");
108
+ // Remove quotes
109
+ cleaned = cleaned.replace(/^["']|["']$/g, "");
110
+ // Trim whitespace
111
+ cleaned = cleaned.trim();
112
+ // If the response is multi-line, try to find a valid response on any line
113
+ const lines = cleaned.split("\n").map((l) => l.trim());
114
+ for (const line of lines) {
115
+ if (this.isValidResponse(line)) {
116
+ return line;
117
+ }
118
+ }
119
+ // Return the cleaned text (will be validated by caller)
120
+ return cleaned;
121
+ }
122
+ /**
123
+ * Handle incoming messages for progress events
124
+ */
125
+ handleMessage(message) {
126
+ if (message.type === "assistant" &&
127
+ "message" in message &&
128
+ message.message &&
129
+ message.message.content) {
130
+ for (const block of message.message.content) {
131
+ if (typeof block === "object" && block !== null && "type" in block) {
132
+ if (block.type === "text" && "text" in block) {
133
+ this.emitProgress({ type: "thinking", text: block.text });
134
+ }
135
+ else if (block.type === "tool_use" &&
136
+ "name" in block &&
137
+ "input" in block) {
138
+ this.emitProgress({
139
+ type: "tool-use",
140
+ toolName: block.name,
141
+ input: block.input,
142
+ });
143
+ }
144
+ }
145
+ }
146
+ }
147
+ }
148
+ }
149
+ //# sourceMappingURL=SimpleGeminiRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleGeminiRunner.js","sourceRoot":"","sources":["../src/SimpleGeminiRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { SDKAssistantMessage, SDKMessage, SDKUserMessage } from "cyrus-core";
2
+ import type { GeminiStreamEvent } from "./types.js";
3
+ /**
4
+ * Convert a Gemini stream event to cyrus-core SDKMessage format
5
+ *
6
+ * This adapter maps Gemini CLI's streaming events to the cyrus-core SDKMessage
7
+ * format, allowing GeminiRunner to implement the IAgentRunner interface.
8
+ *
9
+ * NOTE: This adapter is stateless and creates a separate SDK message for each event.
10
+ * For delta messages (message events with delta: true), the caller (GeminiRunner)
11
+ * should accumulate multiple delta events into a single message before emitting.
12
+ *
13
+ * @param event - Gemini CLI stream event
14
+ * @param sessionId - Current session ID (may be null initially)
15
+ * @param lastAssistantMessage - Last assistant message for result coercion (optional)
16
+ * @returns SDKMessage or null if event type doesn't map to a message
17
+ */
18
+ export declare function geminiEventToSDKMessage(event: GeminiStreamEvent, sessionId: string | null, lastAssistantMessage?: SDKAssistantMessage | null): SDKMessage | null;
19
+ /**
20
+ * Create a Cyrus Core SDK UserMessage from a plain string prompt
21
+ *
22
+ * Helper function to create properly formatted SDKUserMessage objects
23
+ * for the Gemini CLI input.
24
+ *
25
+ * @param content - The prompt text
26
+ * @param sessionId - Current session ID (may be null for initial message)
27
+ * @returns Formatted SDKUserMessage
28
+ */
29
+ export declare function createUserMessage(content: string, sessionId: string | null): SDKUserMessage;
30
+ /**
31
+ * Extract session ID from Gemini init event
32
+ *
33
+ * @param event - Gemini stream event
34
+ * @returns Session ID if event is init type, null otherwise
35
+ */
36
+ export declare function extractSessionId(event: GeminiStreamEvent): string | null;
37
+ //# sourceMappingURL=adapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,mBAAmB,EACnB,UAAU,EAEV,cAAc,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAGX,iBAAiB,EACjB,MAAM,YAAY,CAAC;AAyCpB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,oBAAoB,CAAC,EAAE,mBAAmB,GAAG,IAAI,GAC/C,UAAU,GAAG,IAAI,CA6OnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,IAAI,GACtB,cAAc,CAUhB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAKxE"}
@@ -0,0 +1,317 @@
1
+ import crypto from "node:crypto";
2
+ import { cwd } from "node:process";
3
+ /**
4
+ * Create a minimal BetaMessage for assistant responses
5
+ *
6
+ * Since we're adapting from Gemini CLI to Claude SDK format, we create
7
+ * a minimal valid BetaMessage structure with placeholder values for fields
8
+ * that Gemini doesn't provide (model, usage, etc.).
9
+ */
10
+ function createBetaMessage(content, messageId = crypto.randomUUID()) {
11
+ // Type assertion needed because we're constructing content blocks from Gemini format
12
+ // which has the same structure but TypeScript can't verify the runtime types
13
+ const contentBlocks = (typeof content === "string"
14
+ ? [{ type: "text", text: content }]
15
+ : content);
16
+ return {
17
+ id: messageId,
18
+ type: "message",
19
+ role: "assistant",
20
+ content: contentBlocks,
21
+ model: "gemini-3",
22
+ stop_reason: null,
23
+ stop_sequence: null,
24
+ usage: {
25
+ input_tokens: 0,
26
+ output_tokens: 0,
27
+ cache_creation_input_tokens: 0,
28
+ cache_read_input_tokens: 0,
29
+ cache_creation: null,
30
+ server_tool_use: null,
31
+ service_tier: null,
32
+ },
33
+ container: null,
34
+ context_management: null,
35
+ };
36
+ }
37
+ /**
38
+ * Convert a Gemini stream event to cyrus-core SDKMessage format
39
+ *
40
+ * This adapter maps Gemini CLI's streaming events to the cyrus-core SDKMessage
41
+ * format, allowing GeminiRunner to implement the IAgentRunner interface.
42
+ *
43
+ * NOTE: This adapter is stateless and creates a separate SDK message for each event.
44
+ * For delta messages (message events with delta: true), the caller (GeminiRunner)
45
+ * should accumulate multiple delta events into a single message before emitting.
46
+ *
47
+ * @param event - Gemini CLI stream event
48
+ * @param sessionId - Current session ID (may be null initially)
49
+ * @param lastAssistantMessage - Last assistant message for result coercion (optional)
50
+ * @returns SDKMessage or null if event type doesn't map to a message
51
+ */
52
+ export function geminiEventToSDKMessage(event, sessionId, lastAssistantMessage) {
53
+ switch (event.type) {
54
+ case "message": {
55
+ const messageEvent = event;
56
+ if (messageEvent.role === "user") {
57
+ const userMessage = {
58
+ type: "user",
59
+ message: {
60
+ role: "user",
61
+ content: messageEvent.content,
62
+ },
63
+ parent_tool_use_id: null,
64
+ session_id: sessionId || "pending",
65
+ };
66
+ return userMessage;
67
+ }
68
+ else {
69
+ // Assistant message - create full BetaMessage structure
70
+ const assistantMessage = {
71
+ type: "assistant",
72
+ message: createBetaMessage(messageEvent.content),
73
+ parent_tool_use_id: null,
74
+ uuid: crypto.randomUUID(),
75
+ session_id: sessionId || "pending",
76
+ };
77
+ return assistantMessage;
78
+ }
79
+ }
80
+ case "init": {
81
+ const initEvent = event;
82
+ const systemMessage = {
83
+ type: "system",
84
+ subtype: "init",
85
+ agents: undefined,
86
+ apiKeySource: "user",
87
+ claude_code_version: "gemini-adapter",
88
+ cwd: cwd(),
89
+ tools: [],
90
+ mcp_servers: [],
91
+ model: initEvent.model,
92
+ permissionMode: "default",
93
+ slash_commands: [],
94
+ output_style: "default",
95
+ skills: [],
96
+ plugins: [],
97
+ uuid: crypto.randomUUID(),
98
+ session_id: initEvent.session_id,
99
+ };
100
+ return systemMessage;
101
+ }
102
+ case "tool_use": {
103
+ // Map to Claude's tool_use format
104
+ // NOTE: Use tool_id from Gemini CLI, not generated client-side
105
+ const toolUseMessage = {
106
+ type: "assistant",
107
+ message: createBetaMessage([
108
+ {
109
+ type: "tool_use",
110
+ id: event.tool_id, // Use tool_id from Gemini CLI
111
+ name: event.tool_name,
112
+ input: event.parameters,
113
+ },
114
+ ]),
115
+ parent_tool_use_id: null,
116
+ uuid: crypto.randomUUID(),
117
+ session_id: sessionId || "pending",
118
+ };
119
+ return toolUseMessage;
120
+ }
121
+ case "tool_result": {
122
+ // Map to Claude's tool_result format
123
+ // NOTE: Use tool_id from Gemini (matches tool_use event)
124
+ // Handle both success (output) and error cases
125
+ let content;
126
+ let isError = false;
127
+ if (event.status === "error" && event.error) {
128
+ // Format error message
129
+ content = `Error: ${event.error.message}`;
130
+ if (event.error.code) {
131
+ content += ` (code: ${event.error.code})`;
132
+ }
133
+ if (event.error.type) {
134
+ content += ` [${event.error.type}]`;
135
+ }
136
+ isError = true;
137
+ }
138
+ else if (event.output !== undefined) {
139
+ // Success case with output
140
+ content = event.output;
141
+ }
142
+ else {
143
+ // Fallback for empty success
144
+ content = "Success";
145
+ }
146
+ const toolResultMessage = {
147
+ type: "user",
148
+ message: {
149
+ role: "user",
150
+ content: [
151
+ {
152
+ type: "tool_result",
153
+ tool_use_id: event.tool_id, // Use tool_id from Gemini CLI
154
+ content: content,
155
+ is_error: isError,
156
+ },
157
+ ],
158
+ },
159
+ parent_tool_use_id: null,
160
+ session_id: sessionId || "pending",
161
+ };
162
+ return toolResultMessage;
163
+ }
164
+ case "result": {
165
+ // Final result event - map to SDKResultMessage
166
+ // Contains stats and final status (success or error)
167
+ const stats = event.stats || {};
168
+ const durationMs = stats.duration_ms || 0;
169
+ if (event.status === "success") {
170
+ // Extract result content from last assistant message if available
171
+ // This ensures the result contains the actual final output, not just metadata
172
+ let resultContent = "Session completed successfully";
173
+ if (lastAssistantMessage?.message?.content) {
174
+ const content = lastAssistantMessage.message.content;
175
+ if (Array.isArray(content) && content.length > 0) {
176
+ const textBlock = content.find((block) => block.type === "text");
177
+ if (textBlock && "text" in textBlock) {
178
+ resultContent = textBlock.text;
179
+ }
180
+ }
181
+ }
182
+ const resultMessage = {
183
+ type: "result",
184
+ subtype: "success",
185
+ duration_ms: durationMs,
186
+ duration_api_ms: 0, // Gemini doesn't separate API time
187
+ is_error: false,
188
+ num_turns: stats.tool_calls || 0, // Use tool calls as proxy for turns
189
+ result: resultContent,
190
+ total_cost_usd: 0, // Gemini doesn't provide cost info
191
+ usage: {
192
+ input_tokens: stats.input_tokens || 0,
193
+ output_tokens: stats.output_tokens || 0,
194
+ cache_creation_input_tokens: 0,
195
+ cache_read_input_tokens: 0,
196
+ cache_creation: {
197
+ ephemeral_1h_input_tokens: 0,
198
+ ephemeral_5m_input_tokens: 0,
199
+ },
200
+ server_tool_use: {
201
+ web_fetch_requests: 0,
202
+ web_search_requests: 0,
203
+ },
204
+ service_tier: "standard",
205
+ },
206
+ modelUsage: {},
207
+ permission_denials: [],
208
+ uuid: crypto.randomUUID(),
209
+ session_id: sessionId || "pending",
210
+ };
211
+ return resultMessage;
212
+ }
213
+ else {
214
+ // Error case
215
+ const errorMessage = {
216
+ type: "result",
217
+ subtype: "error_during_execution",
218
+ duration_ms: durationMs,
219
+ duration_api_ms: 0,
220
+ is_error: true,
221
+ num_turns: stats.tool_calls || 0,
222
+ errors: [event.error?.message || "Unknown error"],
223
+ total_cost_usd: 0,
224
+ usage: {
225
+ input_tokens: stats.input_tokens || 0,
226
+ output_tokens: stats.output_tokens || 0,
227
+ cache_creation_input_tokens: 0,
228
+ cache_read_input_tokens: 0,
229
+ cache_creation: {
230
+ ephemeral_1h_input_tokens: 0,
231
+ ephemeral_5m_input_tokens: 0,
232
+ },
233
+ server_tool_use: {
234
+ web_fetch_requests: 0,
235
+ web_search_requests: 0,
236
+ },
237
+ service_tier: "standard",
238
+ },
239
+ modelUsage: {},
240
+ permission_denials: [],
241
+ uuid: crypto.randomUUID(),
242
+ session_id: sessionId || "pending",
243
+ };
244
+ return errorMessage;
245
+ }
246
+ }
247
+ case "error": {
248
+ // Non-fatal error event - map to error result message
249
+ const errorMessage = {
250
+ type: "result",
251
+ subtype: "error_during_execution",
252
+ duration_ms: 0,
253
+ duration_api_ms: 0,
254
+ is_error: true,
255
+ num_turns: 0,
256
+ errors: [event.message],
257
+ total_cost_usd: 0,
258
+ usage: {
259
+ input_tokens: 0,
260
+ output_tokens: 0,
261
+ cache_creation_input_tokens: 0,
262
+ cache_read_input_tokens: 0,
263
+ cache_creation: {
264
+ ephemeral_1h_input_tokens: 0,
265
+ ephemeral_5m_input_tokens: 0,
266
+ },
267
+ server_tool_use: {
268
+ web_fetch_requests: 0,
269
+ web_search_requests: 0,
270
+ },
271
+ service_tier: "standard",
272
+ },
273
+ modelUsage: {},
274
+ permission_denials: [],
275
+ uuid: crypto.randomUUID(),
276
+ session_id: sessionId || "pending",
277
+ };
278
+ return errorMessage;
279
+ }
280
+ default:
281
+ return null;
282
+ }
283
+ }
284
+ /**
285
+ * Create a Cyrus Core SDK UserMessage from a plain string prompt
286
+ *
287
+ * Helper function to create properly formatted SDKUserMessage objects
288
+ * for the Gemini CLI input.
289
+ *
290
+ * @param content - The prompt text
291
+ * @param sessionId - Current session ID (may be null for initial message)
292
+ * @returns Formatted SDKUserMessage
293
+ */
294
+ export function createUserMessage(content, sessionId) {
295
+ return {
296
+ type: "user",
297
+ message: {
298
+ role: "user",
299
+ content: content,
300
+ },
301
+ parent_tool_use_id: null,
302
+ session_id: sessionId || "pending",
303
+ };
304
+ }
305
+ /**
306
+ * Extract session ID from Gemini init event
307
+ *
308
+ * @param event - Gemini stream event
309
+ * @returns Session ID if event is init type, null otherwise
310
+ */
311
+ export function extractSessionId(event) {
312
+ if (event.type === "init") {
313
+ return event.session_id;
314
+ }
315
+ return null;
316
+ }
317
+ //# sourceMappingURL=adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Gemini Message Formatter
3
+ *
4
+ * Implements message formatting for Gemini CLI tool messages.
5
+ * This formatter understands Gemini's specific tool format and converts
6
+ * tool use/result messages into human-readable content for Linear.
7
+ *
8
+ * Gemini CLI tool names:
9
+ * - read_file: Read file contents
10
+ * - write_file: Write content to a file
11
+ * - list_directory: List directory contents
12
+ * - search_file_content: Search for patterns in files
13
+ * - run_shell_command: Execute shell commands
14
+ * - write_todos: Update task list
15
+ * - replace: Edit/replace content in files
16
+ */
17
+ import type { IMessageFormatter } from "cyrus-core";
18
+ import type { FormatterToolInput } from "./schemas.js";
19
+ export declare class GeminiMessageFormatter implements IMessageFormatter {
20
+ /**
21
+ * Format TodoWrite tool parameter as a nice checklist
22
+ */
23
+ formatTodoWriteParameter(jsonContent: string): string;
24
+ /**
25
+ * Format tool input for display in Linear agent activities
26
+ * Converts raw tool inputs into user-friendly parameter strings
27
+ */
28
+ formatToolParameter(toolName: string, toolInput: FormatterToolInput): string;
29
+ /**
30
+ * Format tool action name with description for shell command tool
31
+ * Puts the description in round brackets after the tool name in the action field
32
+ */
33
+ formatToolActionName(toolName: string, toolInput: FormatterToolInput, isError: boolean): string;
34
+ /**
35
+ * Format tool result for display in Linear agent activities
36
+ * Converts raw tool results into formatted Markdown
37
+ */
38
+ formatToolResult(toolName: string, toolInput: FormatterToolInput, result: string, isError: boolean): string;
39
+ }
40
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAyBvD,qBAAa,sBAAuB,YAAW,iBAAiB;IAC/D;;OAEG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IA8CrD;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,GAAG,MAAM;IA6H5E;;;OAGG;IACH,oBAAoB,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,OAAO,GACd,MAAM;IAcT;;;OAGG;IACH,gBAAgB,CACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACd,MAAM;CA+KT"}