llm-actions 0.1.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.
@@ -0,0 +1,17 @@
1
+ import { GoogleGenAIOptions } from "@google/genai";
2
+ import { ExtractActionArgs, GenerateTextActionArgs, LLMActionsInterface, ProcessActionArgs, SummarizeActionArgs, ValidateActionArgs } from "./types";
3
+ export type GeminiInterfaceOptions = {
4
+ model: string;
5
+ } & GoogleGenAIOptions;
6
+ export declare class GeminiInterface implements LLMActionsInterface {
7
+ private llm;
8
+ private model;
9
+ constructor(opts: GeminiInterfaceOptions);
10
+ summarize(args: SummarizeActionArgs): Promise<string>;
11
+ extract<T>(args: ExtractActionArgs): Promise<T>;
12
+ process<T>(args: ProcessActionArgs): Promise<T>;
13
+ validate(args: ValidateActionArgs): Promise<boolean>;
14
+ generateText(args: GenerateTextActionArgs): Promise<string>;
15
+ private validateGeneratedSchema;
16
+ }
17
+ //# sourceMappingURL=IGemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGemini.d.ts","sourceRoot":"","sources":["../src/IGemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAEL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EAEnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAIjB,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,kBAAkB,CAAC;AAEvB,qBAAa,eAAgB,YAAW,mBAAmB;IACzD,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,KAAK,CAAS;gBACV,IAAI,EAAE,sBAAsB;IAMlC,SAAS,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBrD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IAqC/C,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IAuB/C,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BpD,YAAY,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBjE,OAAO,CAAC,uBAAuB;CAqBhC"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeminiInterface = void 0;
4
+ const genai_1 = require("@google/genai");
5
+ const types_1 = require("./types");
6
+ const constants_1 = require("./constants");
7
+ class GeminiInterface {
8
+ constructor(opts) {
9
+ const { model, ...llmOptions } = opts;
10
+ this.llm = new genai_1.GoogleGenAI(llmOptions);
11
+ this.model = opts.model;
12
+ }
13
+ async summarize(args) {
14
+ const defaultInstructions = `Make copntent clear, and around 50% of the original length.`;
15
+ try {
16
+ const response = await this.llm.models.generateContent({
17
+ model: this.model,
18
+ contents: `Input: "${args.input}"\n\nInstructions: "${args.instructions ?? defaultInstructions}"\n\n${args.desiredAvgTokenLength ? `Desired average token length: ${args.desiredAvgTokenLength}` : ""}`,
19
+ config: {
20
+ systemInstruction: constants_1.SYSTEM_PROMPTS["SUMMARIZE"],
21
+ },
22
+ });
23
+ return response.text ?? String(args.defaultOutput) ?? "";
24
+ }
25
+ catch (e) {
26
+ if (args.throwOnError) {
27
+ throw e;
28
+ }
29
+ return String(args.defaultOutput) ?? "";
30
+ }
31
+ }
32
+ async extract(args) {
33
+ const { input, extractionContext, desiredOutput, confidenceScoreThreshold, defaultAttributeValue, errorOnExtractionFailed, } = args;
34
+ try {
35
+ const response = await this.llm.models.generateContent({
36
+ model: this.model,
37
+ contents: `Text to extract from: "${input}"\n\n${extractionContext ? `Extraction context: "${extractionContext}"\n\n` : ""}\n\n${confidenceScoreThreshold ? `Confidence score threshold: ${confidenceScoreThreshold}\n\n` : ""}${defaultAttributeValue ? `Default attribute value: ${defaultAttributeValue}\n\n` : ""}`,
38
+ config: {
39
+ systemInstruction: constants_1.SYSTEM_PROMPTS["EXTRACT"],
40
+ responseMimeType: "application/json",
41
+ responseSchema: desiredOutput.toJSONSchema(),
42
+ },
43
+ });
44
+ const generated = response.text ?? "{}";
45
+ return this.validateGeneratedSchema(generated, desiredOutput);
46
+ }
47
+ catch (e) {
48
+ if (e instanceof types_1.ParsingOutputError) {
49
+ if (errorOnExtractionFailed) {
50
+ throw e;
51
+ }
52
+ }
53
+ if (args.throwOnError) {
54
+ throw e;
55
+ }
56
+ return {};
57
+ }
58
+ }
59
+ async process(args) {
60
+ const { input, instructions, processingContext, desiredOutput } = args;
61
+ try {
62
+ const response = await this.llm.models.generateContent({
63
+ model: this.model,
64
+ contents: `Text to process: "${input}"\n\nInstructions: "${instructions}"\n\n${processingContext ? `Processing context: "${processingContext}"\n\n` : ""}`,
65
+ config: {
66
+ systemInstruction: constants_1.SYSTEM_PROMPTS["PROCESS"],
67
+ responseMimeType: "application/json",
68
+ responseSchema: desiredOutput.toJSONSchema(),
69
+ },
70
+ });
71
+ const generated = response.text ?? "{}";
72
+ return this.validateGeneratedSchema(generated, desiredOutput);
73
+ }
74
+ catch (e) {
75
+ if (args.throwOnError) {
76
+ throw e;
77
+ }
78
+ return {};
79
+ }
80
+ }
81
+ async validate(args) {
82
+ const { input, validation, validationContext } = args;
83
+ try {
84
+ const response = await this.llm.models.generateContent({
85
+ model: this.model,
86
+ contents: `Text to validate: "${input}"\n\nValidation criteria: "${validation}"\n\n${validationContext ? `Validation context: "${validationContext}"\n\n` : ""}`,
87
+ config: {
88
+ systemInstruction: constants_1.SYSTEM_PROMPTS["VALIDATE"],
89
+ responseMimeType: "application/json",
90
+ responseSchema: types_1.BooleanParseSchema.toJSONSchema(),
91
+ },
92
+ });
93
+ const generated = response.text ?? "false";
94
+ const result = this.validateGeneratedSchema(generated, types_1.BooleanParseSchema);
95
+ return result.value;
96
+ }
97
+ catch (e) {
98
+ if (args.throwOnError) {
99
+ throw e;
100
+ }
101
+ return false;
102
+ }
103
+ }
104
+ async generateText(args) {
105
+ const { prompt, systemPrompt } = args;
106
+ try {
107
+ const response = await this.llm.models.generateContent({
108
+ model: this.model,
109
+ contents: prompt,
110
+ config: {
111
+ systemInstruction: systemPrompt,
112
+ },
113
+ });
114
+ return response.text ?? "";
115
+ }
116
+ catch (e) {
117
+ if (args.throwOnError) {
118
+ throw e;
119
+ }
120
+ return "";
121
+ }
122
+ }
123
+ validateGeneratedSchema(generated, schema) {
124
+ try {
125
+ let cleanedOutput = generated.trim();
126
+ const jsonMatch = cleanedOutput.match(/```(?:json)?\s*([\s\S]*?)\s*```/);
127
+ if (jsonMatch) {
128
+ cleanedOutput = jsonMatch[1].trim();
129
+ }
130
+ const parsed = JSON.parse(cleanedOutput);
131
+ return schema.parse(parsed);
132
+ }
133
+ catch (e) {
134
+ throw new types_1.ParsingOutputError(`Failed to parse generated output as JSON. Error: ${e instanceof Error ? e.message : String(e)}. Generated output: ${generated}`, generated);
135
+ }
136
+ }
137
+ }
138
+ exports.GeminiInterface = GeminiInterface;
139
+ //# sourceMappingURL=IGemini.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGemini.js","sourceRoot":"","sources":["../src/IGemini.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { GeminiInterface } from "./IGemini";
2
+ import { LLMActionsArgs } from "./types";
3
+ export declare class LLMActions {
4
+ model: GeminiInterface;
5
+ constructor(args: LLMActionsArgs);
6
+ }
7
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,UAAU;IACrB,KAAK,kBAAC;gBACM,IAAI,EAAE,cAAc;CASjC"}
package/dist/client.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LLMActions = void 0;
4
+ const IGemini_1 = require("./IGemini");
5
+ class LLMActions {
6
+ constructor(args) {
7
+ switch (args.provider) {
8
+ case "gemini":
9
+ this.model = new IGemini_1.GeminiInterface(args.providerOptions);
10
+ break;
11
+ default:
12
+ throw new Error(`Unsupported provider: ${args.provider}`);
13
+ }
14
+ }
15
+ }
16
+ exports.LLMActions = LLMActions;
17
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,uCAA4C;AAG5C,MAAa,UAAU;IAErB,YAAY,IAAoB;QAC9B,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,QAAQ;gBACX,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACvD,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF;AAXD,gCAWC"}
@@ -0,0 +1,3 @@
1
+ import { ACTION } from "./types";
2
+ export declare const SYSTEM_PROMPTS: Record<ACTION, string>;
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASjD,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SYSTEM_PROMPTS = void 0;
4
+ exports.SYSTEM_PROMPTS = {
5
+ SUMMARIZE: "Summarize provided texts based on the received summarization instructions. Do not include any information that is not present in the input text. If instructions are not clear, summarize the text in a concise manner.",
6
+ EXTRACT: "Extract required information from the provided texts based on the expected output schema provided. Use schema context If available to disambiguate the extraction process. Only return extracted information that meets the threshold criteria, and If default attribute value is provided, use it for any attributes that are missing, could not be extracted from the input text, or thresholds are not met.",
7
+ PROCESS: "Process the provided texts based on the received processing instructions and the expected output schema. Use processing context If available to improve the processing quality.",
8
+ VALIDATE: "Validate the provided texts based on the received validation criteria. Use validation context If available to improve the decision quality. Return true if the validation criteria are met, and false otherwise.",
9
+ };
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,cAAc,GAA2B;IACpD,SAAS,EACP,yNAAyN;IAC3N,OAAO,EACL,gZAAgZ;IAClZ,OAAO,EACL,iLAAiL;IACnL,QAAQ,EACN,kNAAkN;CACrN,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./IGemini";
2
+ export * from "./client";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./IGemini"), exports);
18
+ __exportStar(require("./client"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB"}
@@ -0,0 +1,54 @@
1
+ import z from "zod";
2
+ import { GeminiInterfaceOptions } from "./IGemini";
3
+ type BaseTextInputArgs = {
4
+ input: string;
5
+ throwOnError?: boolean;
6
+ defaultOutput?: unknown;
7
+ };
8
+ export type LLMProviderOptions = GeminiInterfaceOptions;
9
+ export type LLMActionsArgs = {
10
+ provider: "gemini";
11
+ providerOptions: LLMProviderOptions;
12
+ };
13
+ export type ACTION = "SUMMARIZE" | "EXTRACT" | "PROCESS" | "VALIDATE";
14
+ export type SummarizeActionArgs = BaseTextInputArgs & {
15
+ instructions?: string;
16
+ desiredAvgTokenLength?: number;
17
+ };
18
+ export type ExtractActionArgs = BaseTextInputArgs & {
19
+ extractionContext?: string;
20
+ desiredOutput: z.ZodObject;
21
+ confidenceScoreThreshold?: number;
22
+ defaultAttributeValue?: unknown;
23
+ errorOnExtractionFailed?: boolean;
24
+ };
25
+ export type ProcessActionArgs = BaseTextInputArgs & {
26
+ instructions: string;
27
+ processingContext?: string;
28
+ desiredOutput: z.ZodObject;
29
+ };
30
+ export type ValidateActionArgs = BaseTextInputArgs & {
31
+ validation: string;
32
+ validationContext?: string;
33
+ };
34
+ export type GenerateTextActionArgs = {
35
+ prompt: string;
36
+ systemPrompt: string;
37
+ throwOnError?: boolean;
38
+ };
39
+ export declare abstract class LLMActionsInterface {
40
+ abstract summarize(args: SummarizeActionArgs): Promise<string>;
41
+ abstract extract<T>(args: ExtractActionArgs): Promise<T>;
42
+ abstract process<T>(args: ProcessActionArgs): Promise<T>;
43
+ abstract validate(args: ValidateActionArgs): Promise<boolean>;
44
+ abstract generateText(args: GenerateTextActionArgs): Promise<string>;
45
+ }
46
+ export declare class ParsingOutputError extends Error {
47
+ generatedOutput: string;
48
+ constructor(message: string, generatedOutput: string);
49
+ }
50
+ export declare const BooleanParseSchema: z.ZodObject<{
51
+ value: z.ZodBoolean;
52
+ }, z.core.$strip>;
53
+ export {};
54
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,kBAAkB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,8BAAsB,mBAAmB;IACvC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9D,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAC7D,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;CACrE;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,eAAe,EAAE,MAAM,CAAC;gBACZ,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAIrD;AAED,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BooleanParseSchema = exports.ParsingOutputError = exports.LLMActionsInterface = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ class LLMActionsInterface {
9
+ }
10
+ exports.LLMActionsInterface = LLMActionsInterface;
11
+ class ParsingOutputError extends Error {
12
+ constructor(message, generatedOutput) {
13
+ super(message);
14
+ this.generatedOutput = generatedOutput;
15
+ }
16
+ }
17
+ exports.ParsingOutputError = ParsingOutputError;
18
+ exports.BooleanParseSchema = zod_1.default.object({
19
+ value: zod_1.default.boolean(),
20
+ });
21
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAgDpB,MAAsB,mBAAmB;CAMxC;AAND,kDAMC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAE3C,YAAY,OAAe,EAAE,eAAuB;QAClD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;CACF;AAND,gDAMC;AAEY,QAAA,kBAAkB,GAAG,aAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,aAAC,CAAC,OAAO,EAAE;CACnB,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "llm-actions",
3
+ "version": "0.1.0",
4
+ "description": "LLM Actions package",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "prepare": "pnpm run build",
13
+ "test": ""
14
+ },
15
+ "keywords": [],
16
+ "author": "MateoGuerreroE",
17
+ "license": "ISC",
18
+ "packageManager": "pnpm@10.33.0",
19
+ "devDependencies": {
20
+ "@types/node": "^25.9.1",
21
+ "typescript": "^6.0.3"
22
+ },
23
+ "dependencies": {
24
+ "@google/genai": "^2.6.0",
25
+ "zod": "^4.4.3"
26
+ }
27
+ }