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.
- package/LICENSE +674 -0
- package/README.md +411 -0
- package/dist/GeminiRunner.d.ts +136 -0
- package/dist/GeminiRunner.d.ts.map +1 -0
- package/dist/GeminiRunner.js +683 -0
- package/dist/GeminiRunner.js.map +1 -0
- package/dist/SimpleGeminiRunner.d.ts +27 -0
- package/dist/SimpleGeminiRunner.d.ts.map +1 -0
- package/dist/SimpleGeminiRunner.js +149 -0
- package/dist/SimpleGeminiRunner.js.map +1 -0
- package/dist/adapters.d.ts +37 -0
- package/dist/adapters.d.ts.map +1 -0
- package/dist/adapters.js +317 -0
- package/dist/adapters.js.map +1 -0
- package/dist/formatter.d.ts +40 -0
- package/dist/formatter.d.ts.map +1 -0
- package/dist/formatter.js +363 -0
- package/dist/formatter.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/system.md +108 -0
- package/dist/schemas.d.ts +1472 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +678 -0
- package/dist/schemas.js.map +1 -0
- package/dist/settingsGenerator.d.ts +72 -0
- package/dist/settingsGenerator.d.ts.map +1 -0
- package/dist/settingsGenerator.js +255 -0
- package/dist/settingsGenerator.js.map +1 -0
- package/dist/systemPromptManager.d.ts +27 -0
- package/dist/systemPromptManager.d.ts.map +1 -0
- package/dist/systemPromptManager.js +65 -0
- package/dist/systemPromptManager.js.map +1 -0
- package/dist/types.d.ts +113 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +23 -0
- package/dist/types.js.map +1 -0
- 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":"AACA,OAAO,EACN,eAAe,EACf,YAAY,EAEZ,iBAAiB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,kBAAqC,SAAQ,iBAAoB;IAC7E;;OAEG;IACO,KAAK,CAAC,YAAY,CAC3B,MAAc,EACd,OAAiC;QAEjC,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAClC,IAAI,YAAY,GAAiB,IAAI,CAAC;QAEtC,iDAAiD;QACjD,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO;YAClC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,OAAO,MAAM,EAAE;YACnC,CAAC,CAAC,MAAM,CAAC;QAEV,yCAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;YAC/B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAC9C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;YACxC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC5C,iCAAiC;YACjC,eAAe,EAAE,OAAO,EAAE,gBAAgB;gBACzC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YACpD,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;SAC/C,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YAChC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,YAAY,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACJ,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAE/B,uCAAuC;YACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,IAAI,CAAC;YAClD,IAAI,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,QAAQ,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC5B,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;IACF,CAAC;IAED;;OAEG;IACO,eAAe,CAAC,QAAsB;QAC/C,oDAAoD;QACpD,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,IACC,OAAO,CAAC,IAAI,KAAK,WAAW;gBAC5B,SAAS,IAAI,OAAO;gBACpB,OAAO,CAAC,OAAO;gBACf,OAAO,CAAC,OAAO,CAAC,OAAO,EACtB,CAAC;gBACF,mCAAmC;gBACnC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC7C,IACC,OAAO,KAAK,KAAK,QAAQ;wBACzB,KAAK,KAAK,IAAI;wBACd,MAAM,IAAI,KAAK;wBACf,KAAK,CAAC,IAAI,KAAK,MAAM;wBACrB,MAAM,IAAI,KAAK,EACd,CAAC;wBACF,yDAAyD;wBACzD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC;wBACzD,IAAI,OAAO,EAAE,CAAC;4BACb,IAAI,CAAC,YAAY,CAAC;gCACjB,IAAI,EAAE,mBAAmB;gCACzB,iBAAiB,EAAE,OAAO;6BAC1B,CAAC,CAAC;4BACH,OAAO,OAAO,CAAC;wBAChB,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY;QACjC,8BAA8B;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAElD,qBAAqB;QACrB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAE9C,gBAAgB;QAChB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAE9C,kBAAkB;QAClB,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzB,0EAA0E;QAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;QAED,wDAAwD;QACxD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,OAAmB;QACxC,IACC,OAAO,CAAC,IAAI,KAAK,WAAW;YAC5B,SAAS,IAAI,OAAO;YACpB,OAAO,CAAC,OAAO;YACf,OAAO,CAAC,OAAO,CAAC,OAAO,EACtB,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;oBACpE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;wBAC9C,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,IAAc,EAAE,CAAC,CAAC;oBACrE,CAAC;yBAAM,IACN,KAAK,CAAC,IAAI,KAAK,UAAU;wBACzB,MAAM,IAAI,KAAK;wBACf,OAAO,IAAI,KAAK,EACf,CAAC;wBACF,IAAI,CAAC,YAAY,CAAC;4BACjB,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE,KAAK,CAAC,IAAc;4BAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;yBAClB,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;CACD"}
|
|
@@ -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"}
|
package/dist/adapters.js
ADDED
|
@@ -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"}
|