@rudderhq/agent-runtime-gemini-local 0.1.0-canary.0

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 (60) hide show
  1. package/LICENSE +14 -0
  2. package/dist/cli/format-event.d.ts +2 -0
  3. package/dist/cli/format-event.d.ts.map +1 -0
  4. package/dist/cli/format-event.js +198 -0
  5. package/dist/cli/format-event.js.map +1 -0
  6. package/dist/cli/index.d.ts +2 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +2 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/index.d.ts +9 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +47 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/server/execute.d.ts +3 -0
  15. package/dist/server/execute.d.ts.map +1 -0
  16. package/dist/server/execute.js +489 -0
  17. package/dist/server/execute.js.map +1 -0
  18. package/dist/server/index.d.ts +7 -0
  19. package/dist/server/index.d.ts.map +1 -0
  20. package/dist/server/index.js +62 -0
  21. package/dist/server/index.js.map +1 -0
  22. package/dist/server/parse.d.ts +38 -0
  23. package/dist/server/parse.d.ts.map +1 -0
  24. package/dist/server/parse.js +238 -0
  25. package/dist/server/parse.js.map +1 -0
  26. package/dist/server/skills.d.ts +7 -0
  27. package/dist/server/skills.d.ts.map +1 -0
  28. package/dist/server/skills.js +66 -0
  29. package/dist/server/skills.js.map +1 -0
  30. package/dist/server/test.d.ts +3 -0
  31. package/dist/server/test.d.ts.map +1 -0
  32. package/dist/server/test.js +219 -0
  33. package/dist/server/test.js.map +1 -0
  34. package/dist/server/utils.d.ts +2 -0
  35. package/dist/server/utils.d.ts.map +1 -0
  36. package/dist/server/utils.js +7 -0
  37. package/dist/server/utils.js.map +1 -0
  38. package/dist/ui/build-config.d.ts +3 -0
  39. package/dist/ui/build-config.d.ts.map +1 -0
  40. package/dist/ui/build-config.js +84 -0
  41. package/dist/ui/build-config.js.map +1 -0
  42. package/dist/ui/index.d.ts +3 -0
  43. package/dist/ui/index.d.ts.map +1 -0
  44. package/dist/ui/index.js +3 -0
  45. package/dist/ui/index.js.map +1 -0
  46. package/dist/ui/parse-stdout.d.ts +3 -0
  47. package/dist/ui/parse-stdout.d.ts.map +1 -0
  48. package/dist/ui/parse-stdout.js +247 -0
  49. package/dist/ui/parse-stdout.js.map +1 -0
  50. package/package.json +61 -0
  51. package/skills/para-memory-files/SKILL.md +114 -0
  52. package/skills/para-memory-files/references/schemas.md +35 -0
  53. package/skills/rudder/SKILL.md +265 -0
  54. package/skills/rudder/references/api-reference.md +253 -0
  55. package/skills/rudder/references/cli-reference.md +67 -0
  56. package/skills/rudder/references/organization-skills.md +155 -0
  57. package/skills/rudder-create-agent/SKILL.md +166 -0
  58. package/skills/rudder-create-agent/references/api-reference.md +172 -0
  59. package/skills/rudder-create-agent/references/cli-reference.md +126 -0
  60. package/skills/rudder-create-plugin/SKILL.md +103 -0
package/LICENSE ADDED
@@ -0,0 +1,14 @@
1
+ This package is part of the Rudder project.
2
+
3
+ Rudder began as a fork of an early version of Paperclip.
4
+
5
+ Licensing for this package follows the repository-level transition:
6
+ - new Rudder contributions are made under the Apache License, Version 2.0
7
+ - upstream-derived Paperclip portions preserve the original MIT notice where applicable
8
+
9
+ Canonical project-level license and attribution texts live in the source repository:
10
+ - `LICENSE`
11
+ - `NOTICE`
12
+ - `LICENSES/MIT-PAPERCLIP`
13
+
14
+ Source repository: https://github.com/Undertone0809/rudder
@@ -0,0 +1,2 @@
1
+ export declare function printGeminiStreamEvent(raw: string, _debug: boolean): void;
2
+ //# sourceMappingURL=format-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-event.d.ts","sourceRoot":"","sources":["../../src/cli/format-event.ts"],"names":[],"mappings":"AA4GA,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAmGzE"}
@@ -0,0 +1,198 @@
1
+ import pc from "picocolors";
2
+ function asRecord(value) {
3
+ if (typeof value !== "object" || value === null || Array.isArray(value))
4
+ return null;
5
+ return value;
6
+ }
7
+ function asString(value, fallback = "") {
8
+ return typeof value === "string" ? value : fallback;
9
+ }
10
+ function asNumber(value, fallback = 0) {
11
+ return typeof value === "number" && Number.isFinite(value) ? value : fallback;
12
+ }
13
+ function stringifyUnknown(value) {
14
+ if (typeof value === "string")
15
+ return value;
16
+ if (value === null || value === undefined)
17
+ return "";
18
+ try {
19
+ return JSON.stringify(value, null, 2);
20
+ }
21
+ catch {
22
+ return String(value);
23
+ }
24
+ }
25
+ function errorText(value) {
26
+ if (typeof value === "string")
27
+ return value;
28
+ const rec = asRecord(value);
29
+ if (!rec)
30
+ return "";
31
+ const msg = (typeof rec.message === "string" && rec.message) ||
32
+ (typeof rec.error === "string" && rec.error) ||
33
+ (typeof rec.code === "string" && rec.code) ||
34
+ "";
35
+ if (msg)
36
+ return msg;
37
+ try {
38
+ return JSON.stringify(rec);
39
+ }
40
+ catch {
41
+ return "";
42
+ }
43
+ }
44
+ function printTextMessage(prefix, colorize, messageRaw) {
45
+ if (typeof messageRaw === "string") {
46
+ const text = messageRaw.trim();
47
+ if (text)
48
+ console.log(colorize(`${prefix}: ${text}`));
49
+ return;
50
+ }
51
+ const message = asRecord(messageRaw);
52
+ if (!message)
53
+ return;
54
+ const directText = asString(message.text).trim();
55
+ if (directText)
56
+ console.log(colorize(`${prefix}: ${directText}`));
57
+ const content = Array.isArray(message.content) ? message.content : [];
58
+ for (const partRaw of content) {
59
+ const part = asRecord(partRaw);
60
+ if (!part)
61
+ continue;
62
+ const type = asString(part.type).trim();
63
+ if (type === "output_text" || type === "text" || type === "content") {
64
+ const text = asString(part.text).trim() || asString(part.content).trim();
65
+ if (text)
66
+ console.log(colorize(`${prefix}: ${text}`));
67
+ continue;
68
+ }
69
+ if (type === "thinking") {
70
+ const text = asString(part.text).trim();
71
+ if (text)
72
+ console.log(pc.gray(`thinking: ${text}`));
73
+ continue;
74
+ }
75
+ if (type === "tool_call") {
76
+ const name = asString(part.name, asString(part.tool, "tool"));
77
+ console.log(pc.yellow(`tool_call: ${name}`));
78
+ const input = part.input ?? part.arguments ?? part.args;
79
+ if (input !== undefined)
80
+ console.log(pc.gray(stringifyUnknown(input)));
81
+ continue;
82
+ }
83
+ if (type === "tool_result" || type === "tool_response") {
84
+ const isError = part.is_error === true || asString(part.status).toLowerCase() === "error";
85
+ const contentText = asString(part.output) ||
86
+ asString(part.text) ||
87
+ asString(part.result) ||
88
+ stringifyUnknown(part.output ?? part.result ?? part.text ?? part.response);
89
+ console.log((isError ? pc.red : pc.cyan)(`tool_result${isError ? " (error)" : ""}`));
90
+ if (contentText)
91
+ console.log((isError ? pc.red : pc.gray)(contentText));
92
+ }
93
+ }
94
+ }
95
+ function printUsage(parsed) {
96
+ const usage = asRecord(parsed.usage) ?? asRecord(parsed.usageMetadata);
97
+ const usageMetadata = asRecord(usage?.usageMetadata);
98
+ const source = usageMetadata ?? usage ?? {};
99
+ const input = asNumber(source.input_tokens, asNumber(source.inputTokens, asNumber(source.promptTokenCount)));
100
+ const output = asNumber(source.output_tokens, asNumber(source.outputTokens, asNumber(source.candidatesTokenCount)));
101
+ const cached = asNumber(source.cached_input_tokens, asNumber(source.cachedInputTokens, asNumber(source.cachedContentTokenCount)));
102
+ const cost = asNumber(parsed.total_cost_usd, asNumber(parsed.cost_usd, asNumber(parsed.cost)));
103
+ console.log(pc.blue(`tokens: in=${input} out=${output} cached=${cached} cost=$${cost.toFixed(6)}`));
104
+ }
105
+ export function printGeminiStreamEvent(raw, _debug) {
106
+ const line = raw.trim();
107
+ if (!line)
108
+ return;
109
+ let parsed = null;
110
+ try {
111
+ parsed = JSON.parse(line);
112
+ }
113
+ catch {
114
+ console.log(line);
115
+ return;
116
+ }
117
+ const type = asString(parsed.type);
118
+ if (type === "system") {
119
+ const subtype = asString(parsed.subtype);
120
+ if (subtype === "init") {
121
+ const sessionId = asString(parsed.session_id) ||
122
+ asString(parsed.sessionId) ||
123
+ asString(parsed.sessionID) ||
124
+ asString(parsed.checkpoint_id);
125
+ const model = asString(parsed.model);
126
+ const details = [sessionId ? `session: ${sessionId}` : "", model ? `model: ${model}` : ""]
127
+ .filter(Boolean)
128
+ .join(", ");
129
+ console.log(pc.blue(`Gemini init${details ? ` (${details})` : ""}`));
130
+ return;
131
+ }
132
+ if (subtype === "error") {
133
+ const text = errorText(parsed.error ?? parsed.message ?? parsed.detail);
134
+ if (text)
135
+ console.log(pc.red(`error: ${text}`));
136
+ return;
137
+ }
138
+ console.log(pc.blue(`system: ${subtype || "event"}`));
139
+ return;
140
+ }
141
+ if (type === "assistant") {
142
+ printTextMessage("assistant", pc.green, parsed.message);
143
+ return;
144
+ }
145
+ if (type === "user") {
146
+ printTextMessage("user", pc.gray, parsed.message);
147
+ return;
148
+ }
149
+ if (type === "thinking") {
150
+ const text = asString(parsed.text).trim() || asString(asRecord(parsed.delta)?.text).trim();
151
+ if (text)
152
+ console.log(pc.gray(`thinking: ${text}`));
153
+ return;
154
+ }
155
+ if (type === "tool_call") {
156
+ const subtype = asString(parsed.subtype).trim().toLowerCase();
157
+ const toolCall = asRecord(parsed.tool_call ?? parsed.toolCall);
158
+ const [toolName] = toolCall ? Object.keys(toolCall) : [];
159
+ if (!toolCall || !toolName) {
160
+ console.log(pc.yellow(`tool_call${subtype ? `: ${subtype}` : ""}`));
161
+ return;
162
+ }
163
+ const payload = asRecord(toolCall[toolName]) ?? {};
164
+ if (subtype === "started" || subtype === "start") {
165
+ console.log(pc.yellow(`tool_call: ${toolName}`));
166
+ console.log(pc.gray(stringifyUnknown(payload.args ?? payload.input ?? payload.arguments ?? payload)));
167
+ return;
168
+ }
169
+ if (subtype === "completed" || subtype === "complete" || subtype === "finished") {
170
+ const isError = parsed.is_error === true ||
171
+ payload.is_error === true ||
172
+ payload.error !== undefined ||
173
+ asString(payload.status).toLowerCase() === "error";
174
+ console.log((isError ? pc.red : pc.cyan)(`tool_result${isError ? " (error)" : ""}`));
175
+ console.log((isError ? pc.red : pc.gray)(stringifyUnknown(payload.result ?? payload.output ?? payload.error)));
176
+ return;
177
+ }
178
+ console.log(pc.yellow(`tool_call: ${toolName}${subtype ? ` (${subtype})` : ""}`));
179
+ return;
180
+ }
181
+ if (type === "result") {
182
+ printUsage(parsed);
183
+ const subtype = asString(parsed.subtype, "result");
184
+ const isError = parsed.is_error === true;
185
+ if (subtype || isError) {
186
+ console.log((isError ? pc.red : pc.blue)(`result: subtype=${subtype} is_error=${isError ? "true" : "false"}`));
187
+ }
188
+ return;
189
+ }
190
+ if (type === "error") {
191
+ const text = errorText(parsed.error ?? parsed.message ?? parsed.detail);
192
+ if (text)
193
+ console.log(pc.red(`error: ${text}`));
194
+ return;
195
+ }
196
+ console.log(line);
197
+ }
198
+ //# sourceMappingURL=format-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-event.js","sourceRoot":"","sources":["../../src/cli/format-event.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { printGeminiStreamEvent } from "./format-event.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { printGeminiStreamEvent } from "./format-event.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const type = "gemini_local";
2
+ export declare const label = "Gemini CLI (local)";
3
+ export declare const DEFAULT_GEMINI_LOCAL_MODEL = "auto";
4
+ export declare const models: {
5
+ id: string;
6
+ label: string;
7
+ }[];
8
+ export declare const agentConfigurationDoc = "# gemini_local agent configuration\n\nAdapter: gemini_local\n\nUse when:\n- You want Rudder to run the Gemini CLI locally on the host machine\n- You want Gemini chat sessions resumed across heartbeats with --resume\n- You want Rudder skills injected locally without polluting the global environment\n\nDon't use when:\n- You need webhook-style external invocation (use http or openclaw_gateway)\n- You only need a one-shot script without an AI coding agent loop (use process)\n- Gemini CLI is not installed on the machine that runs Rudder\n\nCore fields:\n- cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)\n- instructionsFilePath (string, optional): absolute path to a markdown instructions file prepended to the run prompt\n- promptTemplate (string, optional): run prompt template\n- model (string, optional): Gemini model id. Defaults to auto.\n- sandbox (boolean, optional): run in sandbox mode (default: false, passes --sandbox=none)\n- command (string, optional): defaults to \"gemini\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): SIGTERM grace period in seconds\n\nNotes:\n- Runs use positional prompt arguments, not stdin.\n- Sessions resume with --resume when stored session cwd matches the current cwd.\n- Rudder realizes only the bundled Rudder skills plus the skills explicitly enabled on the agent's Skills page.\n- Selected skills are linked into a Rudder-managed Gemini home for the run; unselected skills already present in the real user home do not load.\n- Authentication can use GEMINI_API_KEY / GOOGLE_API_KEY or local Gemini CLI login.\n";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,iBAAiB,CAAC;AACnC,eAAO,MAAM,KAAK,uBAAuB,CAAC;AAC1C,eAAO,MAAM,0BAA0B,SAAS,CAAC;AAEjD,eAAO,MAAM,MAAM;;;GAOlB,CAAC;AAEF,eAAO,MAAM,qBAAqB,6xDAkCjC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,47 @@
1
+ export const type = "gemini_local";
2
+ export const label = "Gemini CLI (local)";
3
+ export const DEFAULT_GEMINI_LOCAL_MODEL = "auto";
4
+ export const models = [
5
+ { id: DEFAULT_GEMINI_LOCAL_MODEL, label: "Auto" },
6
+ { id: "gemini-2.5-pro", label: "Gemini 2.5 Pro" },
7
+ { id: "gemini-2.5-flash", label: "Gemini 2.5 Flash" },
8
+ { id: "gemini-2.5-flash-lite", label: "Gemini 2.5 Flash Lite" },
9
+ { id: "gemini-2.0-flash", label: "Gemini 2.0 Flash" },
10
+ { id: "gemini-2.0-flash-lite", label: "Gemini 2.0 Flash Lite" },
11
+ ];
12
+ export const agentConfigurationDoc = `# gemini_local agent configuration
13
+
14
+ Adapter: gemini_local
15
+
16
+ Use when:
17
+ - You want Rudder to run the Gemini CLI locally on the host machine
18
+ - You want Gemini chat sessions resumed across heartbeats with --resume
19
+ - You want Rudder skills injected locally without polluting the global environment
20
+
21
+ Don't use when:
22
+ - You need webhook-style external invocation (use http or openclaw_gateway)
23
+ - You only need a one-shot script without an AI coding agent loop (use process)
24
+ - Gemini CLI is not installed on the machine that runs Rudder
25
+
26
+ Core fields:
27
+ - cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)
28
+ - instructionsFilePath (string, optional): absolute path to a markdown instructions file prepended to the run prompt
29
+ - promptTemplate (string, optional): run prompt template
30
+ - model (string, optional): Gemini model id. Defaults to auto.
31
+ - sandbox (boolean, optional): run in sandbox mode (default: false, passes --sandbox=none)
32
+ - command (string, optional): defaults to "gemini"
33
+ - extraArgs (string[], optional): additional CLI args
34
+ - env (object, optional): KEY=VALUE environment variables
35
+
36
+ Operational fields:
37
+ - timeoutSec (number, optional): run timeout in seconds
38
+ - graceSec (number, optional): SIGTERM grace period in seconds
39
+
40
+ Notes:
41
+ - Runs use positional prompt arguments, not stdin.
42
+ - Sessions resume with --resume when stored session cwd matches the current cwd.
43
+ - Rudder realizes only the bundled Rudder skills plus the skills explicitly enabled on the agent's Skills page.
44
+ - Selected skills are linked into a Rudder-managed Gemini home for the run; unselected skills already present in the real user home do not load.
45
+ - Authentication can use GEMINI_API_KEY / GOOGLE_API_KEY or local Gemini CLI login.
46
+ `;
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAC;AACnC,MAAM,CAAC,MAAM,KAAK,GAAG,oBAAoB,CAAC;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAEjD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,EAAE,EAAE,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE;IACjD,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACjD,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACrD,EAAE,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAE;IAC/D,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACrD,EAAE,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAE;CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCpC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { AgentRuntimeExecutionContext, AgentRuntimeExecutionResult } from "@rudderhq/agent-runtime-utils";
2
+ export declare function execute(ctx: AgentRuntimeExecutionContext): Promise<AgentRuntimeExecutionResult>;
3
+ //# sourceMappingURL=execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAkN/G,wBAAsB,OAAO,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA+YrG"}