@keystrokehq/gemini 0.1.1 → 0.1.3
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/README.md +1 -1
- package/dist/action.cjs.map +1 -1
- package/dist/action.mjs.map +1 -1
- package/dist/actions/count-tokens.cjs +3 -3
- package/dist/actions/count-tokens.cjs.map +1 -1
- package/dist/actions/count-tokens.d.cts +4 -10
- package/dist/actions/count-tokens.d.mts +4 -10
- package/dist/actions/count-tokens.mjs +3 -3
- package/dist/actions/count-tokens.mjs.map +1 -1
- package/dist/actions/embed-content.cjs +1 -1
- package/dist/actions/embed-content.cjs.map +1 -1
- package/dist/actions/embed-content.d.cts +2 -5
- package/dist/actions/embed-content.d.mts +2 -5
- package/dist/actions/embed-content.mjs +1 -1
- package/dist/actions/embed-content.mjs.map +1 -1
- package/dist/actions/generate-content.cjs +8 -8
- package/dist/actions/generate-content.cjs.map +1 -1
- package/dist/actions/generate-content.d.cts +9 -17
- package/dist/actions/generate-content.d.cts.map +1 -1
- package/dist/actions/generate-content.d.mts +9 -17
- package/dist/actions/generate-content.d.mts.map +1 -1
- package/dist/actions/generate-content.mjs +8 -8
- package/dist/actions/generate-content.mjs.map +1 -1
- package/dist/actions/generate-image.cjs +3 -3
- package/dist/actions/generate-image.cjs.map +1 -1
- package/dist/actions/generate-image.d.cts +5 -10
- package/dist/actions/generate-image.d.mts +5 -10
- package/dist/actions/generate-image.mjs +3 -3
- package/dist/actions/generate-image.mjs.map +1 -1
- package/dist/actions/generate-videos.cjs +8 -20
- package/dist/actions/generate-videos.cjs.map +1 -1
- package/dist/actions/generate-videos.d.cts +8 -21
- package/dist/actions/generate-videos.d.cts.map +1 -1
- package/dist/actions/generate-videos.d.mts +8 -21
- package/dist/actions/generate-videos.d.mts.map +1 -1
- package/dist/actions/generate-videos.mjs +8 -20
- package/dist/actions/generate-videos.mjs.map +1 -1
- package/dist/actions/list-models.cjs +18 -18
- package/dist/actions/list-models.cjs.map +1 -1
- package/dist/actions/list-models.d.cts +30 -64
- package/dist/actions/list-models.d.mts +30 -64
- package/dist/actions/list-models.mjs +18 -18
- package/dist/actions/list-models.mjs.map +1 -1
- package/dist/actions/wait-for-video.cjs +8 -8
- package/dist/actions/wait-for-video.cjs.map +1 -1
- package/dist/actions/wait-for-video.d.cts +8 -21
- package/dist/actions/wait-for-video.d.mts +8 -21
- package/dist/actions/wait-for-video.mjs +8 -8
- package/dist/actions/wait-for-video.mjs.map +1 -1
- package/dist/execute.cjs +1 -1
- package/dist/execute.cjs.map +1 -1
- package/dist/execute.mjs +1 -1
- package/dist/execute.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -8,78 +8,44 @@ declare const GeminiListModelsInput: z.ZodObject<{
|
|
|
8
8
|
}, z.core.$strip>;
|
|
9
9
|
declare const GeminiListModelsOutput: z.ZodObject<{
|
|
10
10
|
raw: z.ZodNullable<z.ZodObject<{
|
|
11
|
-
models: z.
|
|
11
|
+
models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
12
12
|
name: z.ZodNullable<z.ZodString>;
|
|
13
|
-
topK: z.
|
|
14
|
-
topP: z.
|
|
13
|
+
topK: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
14
|
+
topP: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
15
15
|
version: z.ZodNullable<z.ZodString>;
|
|
16
|
-
thinking: z.
|
|
17
|
-
baseModelId: z.
|
|
18
|
-
description: z.
|
|
19
|
-
displayName: z.
|
|
20
|
-
temperature: z.
|
|
21
|
-
maxTemperature: z.
|
|
22
|
-
inputTokenLimit: z.
|
|
23
|
-
outputTokenLimit: z.
|
|
24
|
-
supportedGenerationMethods: z.
|
|
25
|
-
}, z.core.$
|
|
26
|
-
nextPageToken: z.
|
|
27
|
-
}, z.core.$
|
|
28
|
-
models: z.
|
|
16
|
+
thinking: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
17
|
+
baseModelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
18
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
19
|
+
displayName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
20
|
+
temperature: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodNumber, z.ZodNumber]>>>;
|
|
21
|
+
maxTemperature: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodNumber, z.ZodNumber]>>>;
|
|
22
|
+
inputTokenLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
23
|
+
outputTokenLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
24
|
+
supportedGenerationMethods: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
25
|
+
}, z.core.$loose>>>>;
|
|
26
|
+
nextPageToken: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
27
|
+
}, z.core.$loose>>;
|
|
28
|
+
models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
29
29
|
name: z.ZodNullable<z.ZodString>;
|
|
30
|
-
topK: z.
|
|
31
|
-
topP: z.
|
|
30
|
+
topK: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
31
|
+
topP: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
32
32
|
version: z.ZodNullable<z.ZodString>;
|
|
33
|
-
thinking: z.
|
|
34
|
-
baseModelId: z.
|
|
35
|
-
description: z.
|
|
36
|
-
displayName: z.
|
|
37
|
-
temperature: z.
|
|
38
|
-
maxTemperature: z.
|
|
39
|
-
inputTokenLimit: z.
|
|
40
|
-
outputTokenLimit: z.
|
|
41
|
-
supportedGenerationMethods: z.
|
|
42
|
-
}, z.core.$
|
|
43
|
-
}, z.core.$
|
|
33
|
+
thinking: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
34
|
+
baseModelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
35
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
36
|
+
displayName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
37
|
+
temperature: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodNumber, z.ZodNumber]>>>;
|
|
38
|
+
maxTemperature: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodNumber, z.ZodNumber]>>>;
|
|
39
|
+
inputTokenLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
40
|
+
outputTokenLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
41
|
+
supportedGenerationMethods: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
42
|
+
}, z.core.$loose>>>>;
|
|
43
|
+
}, z.core.$loose>;
|
|
44
44
|
declare const geminiListModels: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
45
45
|
page_size?: number | undefined;
|
|
46
46
|
page_token?: string | undefined;
|
|
47
47
|
filter_prefix?: string | undefined;
|
|
48
|
-
},
|
|
49
|
-
raw: {
|
|
50
|
-
models?: {
|
|
51
|
-
name: string | null;
|
|
52
|
-
version: string | null;
|
|
53
|
-
topK?: number | undefined;
|
|
54
|
-
topP?: number | undefined;
|
|
55
|
-
thinking?: boolean | undefined;
|
|
56
|
-
baseModelId?: string | undefined;
|
|
57
|
-
description?: string | undefined;
|
|
58
|
-
displayName?: string | undefined;
|
|
59
|
-
temperature?: number | undefined;
|
|
60
|
-
maxTemperature?: number | undefined;
|
|
61
|
-
inputTokenLimit?: number | undefined;
|
|
62
|
-
outputTokenLimit?: number | undefined;
|
|
63
|
-
supportedGenerationMethods?: string[] | undefined;
|
|
64
|
-
}[] | undefined;
|
|
65
|
-
nextPageToken?: string | undefined;
|
|
66
|
-
} | null;
|
|
67
|
-
models?: {
|
|
68
|
-
name: string | null;
|
|
69
|
-
version: string | null;
|
|
70
|
-
topK?: number | undefined;
|
|
71
|
-
topP?: number | undefined;
|
|
72
|
-
thinking?: boolean | undefined;
|
|
73
|
-
baseModelId?: string | undefined;
|
|
74
|
-
description?: string | undefined;
|
|
75
|
-
displayName?: string | undefined;
|
|
76
|
-
temperature?: number | undefined;
|
|
77
|
-
maxTemperature?: number | undefined;
|
|
78
|
-
inputTokenLimit?: number | undefined;
|
|
79
|
-
outputTokenLimit?: number | undefined;
|
|
80
|
-
supportedGenerationMethods?: string[] | undefined;
|
|
81
|
-
}[] | undefined;
|
|
82
|
-
}, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
48
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
83
49
|
//#endregion
|
|
84
50
|
export { geminiListModels };
|
|
85
51
|
//# sourceMappingURL=list-models.d.mts.map
|
|
@@ -8,32 +8,32 @@ const GeminiListModelsInput = z.object({
|
|
|
8
8
|
});
|
|
9
9
|
const GeminiListModels_ModelSchema = z.object({
|
|
10
10
|
name: z.string().describe("Resource identifier in format models/{model}").nullable(),
|
|
11
|
-
topK: z.
|
|
12
|
-
topP: z.
|
|
11
|
+
topK: z.number().int().describe("Default top-k sampling parameter").nullable().optional(),
|
|
12
|
+
topP: z.number().describe("Default nucleus sampling parameter").nullable().optional(),
|
|
13
13
|
version: z.string().describe("Major version number").nullable(),
|
|
14
|
-
thinking: z.
|
|
15
|
-
baseModelId: z.
|
|
16
|
-
description: z.
|
|
17
|
-
displayName: z.
|
|
18
|
-
temperature: z.
|
|
19
|
-
maxTemperature: z.
|
|
20
|
-
inputTokenLimit: z.
|
|
21
|
-
outputTokenLimit: z.
|
|
22
|
-
supportedGenerationMethods: z.
|
|
23
|
-
}).describe("Represents a Gemini model with its capabilities and limits.");
|
|
14
|
+
thinking: z.boolean().describe("Whether model supports thinking capability").nullable().optional(),
|
|
15
|
+
baseModelId: z.string().describe("Base model name for generation requests").nullable().optional(),
|
|
16
|
+
description: z.string().describe("Brief model summary").nullable().optional(),
|
|
17
|
+
displayName: z.string().describe("Human-readable model name").nullable().optional(),
|
|
18
|
+
temperature: z.union([z.number().int(), z.number()]).nullable().optional(),
|
|
19
|
+
maxTemperature: z.union([z.number().int(), z.number()]).nullable().optional(),
|
|
20
|
+
inputTokenLimit: z.number().int().describe("Maximum input tokens allowed").nullable().optional(),
|
|
21
|
+
outputTokenLimit: z.number().int().describe("Maximum output tokens available").nullable().optional(),
|
|
22
|
+
supportedGenerationMethods: z.array(z.string()).describe("Supported methods like generateContent").nullable().optional()
|
|
23
|
+
}).passthrough().describe("Represents a Gemini model with its capabilities and limits.");
|
|
24
24
|
const GeminiListModels_RawListModelsResponseSchema = z.object({
|
|
25
|
-
models: z.
|
|
26
|
-
nextPageToken: z.
|
|
27
|
-
}).describe("Raw API response from the models.list endpoint.");
|
|
25
|
+
models: z.array(GeminiListModels_ModelSchema).describe("List of models").nullable().optional(),
|
|
26
|
+
nextPageToken: z.string().describe("Token for retrieving next page").nullable().optional()
|
|
27
|
+
}).passthrough().describe("Raw API response from the models.list endpoint.");
|
|
28
28
|
const geminiListModels = action("GEMINI_LIST_MODELS", {
|
|
29
29
|
slug: "gemini-list-models",
|
|
30
30
|
name: "List Models (Gemini API)",
|
|
31
|
-
description: "Lists available Gemini and Veo models with their capabilities and limits. Useful for discovering supported models and their features before making generation requests.
|
|
31
|
+
description: "Lists available Gemini and Veo models with their capabilities and limits. Useful for discovering supported models and their features before making generation requests.",
|
|
32
32
|
input: GeminiListModelsInput,
|
|
33
33
|
output: z.object({
|
|
34
34
|
raw: GeminiListModels_RawListModelsResponseSchema.nullable(),
|
|
35
|
-
models: z.
|
|
36
|
-
})
|
|
35
|
+
models: z.array(GeminiListModels_ModelSchema).describe("List of available models").nullable().optional()
|
|
36
|
+
}).passthrough()
|
|
37
37
|
});
|
|
38
38
|
//#endregion
|
|
39
39
|
export { geminiListModels };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-models.mjs","names":[],"sources":["../../src/actions/list-models.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GeminiListModelsInput = z.object({\n page_size: z.number().int().describe(\"Maximum number of models to return per page (default 50, max 1000).\").optional(),\n page_token: z.string().describe(\"Token from a previous response's nextPageToken to retrieve the next page.\").optional(),\n filter_prefix: z.string().default(\"\").describe(\"Filter models by name prefix (client-side). Leave empty to get all models.\").optional(),\n});\nconst GeminiListModels_ModelSchema = z.object({\n name: z.string().describe(\"Resource identifier in format models/{model}\").nullable(),\n topK: z.
|
|
1
|
+
{"version":3,"file":"list-models.mjs","names":[],"sources":["../../src/actions/list-models.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GeminiListModelsInput = z.object({\n page_size: z.number().int().describe(\"Maximum number of models to return per page (default 50, max 1000).\").optional(),\n page_token: z.string().describe(\"Token from a previous response's nextPageToken to retrieve the next page.\").optional(),\n filter_prefix: z.string().default(\"\").describe(\"Filter models by name prefix (client-side). Leave empty to get all models.\").optional(),\n});\nconst GeminiListModels_ModelSchema = z.object({\n name: z.string().describe(\"Resource identifier in format models/{model}\").nullable(),\n topK: z.number().int().describe(\"Default top-k sampling parameter\").nullable().optional(),\n topP: z.number().describe(\"Default nucleus sampling parameter\").nullable().optional(),\n version: z.string().describe(\"Major version number\").nullable(),\n thinking: z.boolean().describe(\"Whether model supports thinking capability\").nullable().optional(),\n baseModelId: z.string().describe(\"Base model name for generation requests\").nullable().optional(),\n description: z.string().describe(\"Brief model summary\").nullable().optional(),\n displayName: z.string().describe(\"Human-readable model name\").nullable().optional(),\n temperature: z.union([z.number().int(), z.number()]).nullable().optional(),\n maxTemperature: z.union([z.number().int(), z.number()]).nullable().optional(),\n inputTokenLimit: z.number().int().describe(\"Maximum input tokens allowed\").nullable().optional(),\n outputTokenLimit: z.number().int().describe(\"Maximum output tokens available\").nullable().optional(),\n supportedGenerationMethods: z.array(z.string()).describe(\"Supported methods like generateContent\").nullable().optional(),\n}).passthrough().describe(\"Represents a Gemini model with its capabilities and limits.\");\nconst GeminiListModels_RawListModelsResponseSchema = z.object({\n models: z.array(GeminiListModels_ModelSchema).describe(\"List of models\").nullable().optional(),\n nextPageToken: z.string().describe(\"Token for retrieving next page\").nullable().optional(),\n}).passthrough().describe(\"Raw API response from the models.list endpoint.\");\nexport const GeminiListModelsOutput = z.object({\n raw: GeminiListModels_RawListModelsResponseSchema.nullable(),\n models: z.array(GeminiListModels_ModelSchema).describe(\"List of available models\").nullable().optional(),\n}).passthrough();\n\nexport const geminiListModels = action(\"GEMINI_LIST_MODELS\", {\n slug: \"gemini-list-models\",\n name: \"List Models (Gemini API)\",\n description: \"Lists available Gemini and Veo models with their capabilities and limits. Useful for discovering supported models and their features before making generation requests.\",\n input: GeminiListModelsInput,\n output: GeminiListModelsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,wBAAwB,EAAE,OAAO;CAC5C,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qEAAqE,CAAC,CAAC,SAAS;CACrH,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS;CACtH,eAAe,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,4EAA4E,CAAC,CAAC,SAAS;AACxI,CAAC;AACD,MAAM,+BAA+B,EAAE,OAAO;CAC5C,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;CACnF,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxF,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpF,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS;CAC9D,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjG,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChG,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClF,aAAa,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzE,gBAAgB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/F,kBAAkB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnG,4BAA4B,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACzH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6DAA6D;AACvF,MAAM,+CAA+C,EAAE,OAAO;CAC5D,QAAQ,EAAE,MAAM,4BAA4B,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7F,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC3F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iDAAiD;AAM3E,MAAa,mBAAmB,OAAO,sBAAsB;CAC3D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAVoC,EAAE,OAAO;EAC7C,KAAK,6CAA6C,SAAS;EAC3D,QAAQ,EAAE,MAAM,4BAA4B,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzG,CAAC,CAAC,CAAC,YAOO;AACV,CAAC"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
const require_action = require("../action.cjs");
|
|
2
2
|
let zod = require("zod");
|
|
3
3
|
//#region src/actions/wait-for-video.ts
|
|
4
|
-
const GeminiWaitForVideoInput = zod.z.object({ operation_name: zod.z.string().describe("The full operation name returned by GEMINI_GENERATE_VIDEOS. Format: 'models/<model-id>/operations/<operation-id>' where <operation-id> is an alphanumeric string (e.g., 'models/veo-3.
|
|
4
|
+
const GeminiWaitForVideoInput = zod.z.object({ operation_name: zod.z.string().describe("The full operation name returned by GEMINI_GENERATE_VIDEOS. Format: 'models/<model-id>/operations/<operation-id>' where <operation-id> is an alphanumeric string (e.g., 'models/veo-3.1-generate-preview/operations/m8dl4dtqqzg8'). IMPORTANT: Do NOT use placeholder values like '...' - use the exact operation_name string from the generate videos response. Do not reuse operation_name from a failed GEMINI_GENERATE_VIDEOS job — always start a new GEMINI_GENERATE_VIDEOS call for retried requests.") });
|
|
5
5
|
const GeminiWaitForVideo_FileDownloadableSchema = zod.z.object({
|
|
6
6
|
name: zod.z.string().describe("Name of the file").nullable(),
|
|
7
7
|
s3url: zod.z.string().describe("S3 URL of the downloaded file.").nullable(),
|
|
8
8
|
mimetype: zod.z.string().describe("Mime type of the file.").nullable()
|
|
9
|
-
});
|
|
9
|
+
}).passthrough();
|
|
10
10
|
const GeminiWaitForVideo_RaiFilteringResultSchema = zod.z.object({
|
|
11
11
|
message: zod.z.string().describe("Human-readable message explaining the filtering and suggesting next steps.").nullable(),
|
|
12
|
-
filtered: zod.z.
|
|
13
|
-
filter_reasons: zod.z.
|
|
12
|
+
filtered: zod.z.boolean().default(true).describe("Always True when this object is present, indicating content was filtered.").nullable().optional(),
|
|
13
|
+
filter_reasons: zod.z.array(zod.z.string()).describe("List of reasons why the content was blocked by safety filters.").nullable().optional(),
|
|
14
14
|
filtered_count: zod.z.number().int().describe("Number of videos filtered by RAI safety policies.").nullable()
|
|
15
|
-
}).describe("Represents when video generation was blocked by Responsible AI safety filters.");
|
|
15
|
+
}).passthrough().describe("Represents when video generation was blocked by Responsible AI safety filters.");
|
|
16
16
|
const GeminiWaitForVideoOutput = zod.z.object({
|
|
17
17
|
success: zod.z.boolean().describe("True if video was successfully generated and downloaded, False if it was filtered by RAI safety policies.").nullable(),
|
|
18
|
-
video_file:
|
|
19
|
-
rai_filtering:
|
|
20
|
-
});
|
|
18
|
+
video_file: GeminiWaitForVideo_FileDownloadableSchema.nullable().optional(),
|
|
19
|
+
rai_filtering: GeminiWaitForVideo_RaiFilteringResultSchema.nullable().optional()
|
|
20
|
+
}).passthrough();
|
|
21
21
|
const geminiWaitForVideo = require_action.action("GEMINI_WAIT_FOR_VIDEO", {
|
|
22
22
|
slug: "gemini-wait-for-video",
|
|
23
23
|
name: "Wait and Download Video (Veo)",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait-for-video.cjs","names":["z","action"],"sources":["../../src/actions/wait-for-video.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GeminiWaitForVideoInput = z.object({\n operation_name: z.string().describe(\"The full operation name returned by GEMINI_GENERATE_VIDEOS. Format: 'models/<model-id>/operations/<operation-id>' where <operation-id> is an alphanumeric string (e.g., 'models/veo-3.
|
|
1
|
+
{"version":3,"file":"wait-for-video.cjs","names":["z","action"],"sources":["../../src/actions/wait-for-video.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GeminiWaitForVideoInput = z.object({\n operation_name: z.string().describe(\"The full operation name returned by GEMINI_GENERATE_VIDEOS. Format: 'models/<model-id>/operations/<operation-id>' where <operation-id> is an alphanumeric string (e.g., 'models/veo-3.1-generate-preview/operations/m8dl4dtqqzg8'). IMPORTANT: Do NOT use placeholder values like '...' - use the exact operation_name string from the generate videos response. Do not reuse operation_name from a failed GEMINI_GENERATE_VIDEOS job — always start a new GEMINI_GENERATE_VIDEOS call for retried requests.\"),\n});\nconst GeminiWaitForVideo_FileDownloadableSchema = z.object({\n name: z.string().describe(\"Name of the file\").nullable(),\n s3url: z.string().describe(\"S3 URL of the downloaded file.\").nullable(),\n mimetype: z.string().describe(\"Mime type of the file.\").nullable(),\n}).passthrough();\nconst GeminiWaitForVideo_RaiFilteringResultSchema = z.object({\n message: z.string().describe(\"Human-readable message explaining the filtering and suggesting next steps.\").nullable(),\n filtered: z.boolean().default(true).describe(\"Always True when this object is present, indicating content was filtered.\").nullable().optional(),\n filter_reasons: z.array(z.string()).describe(\"List of reasons why the content was blocked by safety filters.\").nullable().optional(),\n filtered_count: z.number().int().describe(\"Number of videos filtered by RAI safety policies.\").nullable(),\n}).passthrough().describe(\"Represents when video generation was blocked by Responsible AI safety filters.\");\nexport const GeminiWaitForVideoOutput = z.object({\n success: z.boolean().describe(\"True if video was successfully generated and downloaded, False if it was filtered by RAI safety policies.\").nullable(),\n video_file: GeminiWaitForVideo_FileDownloadableSchema.nullable().optional(),\n rai_filtering: GeminiWaitForVideo_RaiFilteringResultSchema.nullable().optional(),\n}).passthrough();\n\nexport const geminiWaitForVideo = action(\"GEMINI_WAIT_FOR_VIDEO\", {\n slug: \"gemini-wait-for-video\",\n name: \"Wait and Download Video (Veo)\",\n description: \"Polls a Veo video generation operation until completion, then downloads and returns the video file. Generation takes 30–120+ seconds (up to ~10–12 min); long waits are normal, not failures. A done=true response without a video file indicates safety filter rejection (check raiMediaFilteredReasons) or quota exhaustion — adjust the prompt and regenerate. On timeout, use GEMINI_GET_VIDEOS_OPERATION with incremental backoff before starting a new job. Keep parallel jobs to 3–5 to avoid 429 RESOURCE_EXHAUSTED errors.\",\n input: GeminiWaitForVideoInput,\n output: GeminiWaitForVideoOutput,\n});\n"],"mappings":";;;AAIA,MAAa,0BAA0BA,IAAAA,EAAE,OAAO,EAC9C,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8eAA8e,EACphB,CAAC;AACD,MAAM,4CAA4CA,IAAAA,EAAE,OAAO;CACzD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS;CACvD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CACtE,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;AACnE,CAAC,CAAC,CAAC,YAAY;AACf,MAAM,8CAA8CA,IAAAA,EAAE,OAAO;CAC3D,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E,CAAC,CAAC,SAAS;CACpH,UAAUA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9I,gBAAgBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnI,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;AAC1G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gFAAgF;AAC1G,MAAa,2BAA2BA,IAAAA,EAAE,OAAO;CAC/C,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2GAA2G,CAAC,CAAC,SAAS;CACpJ,YAAY,0CAA0C,SAAS,CAAC,CAAC,SAAS;CAC1E,eAAe,4CAA4C,SAAS,CAAC,CAAC,SAAS;AACjF,CAAC,CAAC,CAAC,YAAY;AAEf,MAAa,qBAAqBC,eAAAA,OAAO,yBAAyB;CAChE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -6,34 +6,21 @@ declare const GeminiWaitForVideoInput: z.ZodObject<{
|
|
|
6
6
|
}, z.core.$strip>;
|
|
7
7
|
declare const GeminiWaitForVideoOutput: z.ZodObject<{
|
|
8
8
|
success: z.ZodNullable<z.ZodBoolean>;
|
|
9
|
-
video_file: z.
|
|
9
|
+
video_file: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
10
10
|
name: z.ZodNullable<z.ZodString>;
|
|
11
11
|
s3url: z.ZodNullable<z.ZodString>;
|
|
12
12
|
mimetype: z.ZodNullable<z.ZodString>;
|
|
13
|
-
}, z.core.$
|
|
14
|
-
rai_filtering: z.
|
|
13
|
+
}, z.core.$loose>>>;
|
|
14
|
+
rai_filtering: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
15
15
|
message: z.ZodNullable<z.ZodString>;
|
|
16
|
-
filtered: z.
|
|
17
|
-
filter_reasons: z.
|
|
16
|
+
filtered: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
|
|
17
|
+
filter_reasons: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
18
18
|
filtered_count: z.ZodNullable<z.ZodNumber>;
|
|
19
|
-
}, z.core.$
|
|
20
|
-
}, z.core.$
|
|
19
|
+
}, z.core.$loose>>>;
|
|
20
|
+
}, z.core.$loose>;
|
|
21
21
|
declare const geminiWaitForVideo: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
22
22
|
operation_name: string;
|
|
23
|
-
},
|
|
24
|
-
success: boolean | null;
|
|
25
|
-
video_file?: {
|
|
26
|
-
name: string | null;
|
|
27
|
-
s3url: string | null;
|
|
28
|
-
mimetype: string | null;
|
|
29
|
-
} | undefined;
|
|
30
|
-
rai_filtering?: {
|
|
31
|
-
message: string | null;
|
|
32
|
-
filtered_count: number | null;
|
|
33
|
-
filtered?: boolean | undefined;
|
|
34
|
-
filter_reasons?: string[] | undefined;
|
|
35
|
-
} | undefined;
|
|
36
|
-
}, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
23
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
37
24
|
//#endregion
|
|
38
25
|
export { geminiWaitForVideo };
|
|
39
26
|
//# sourceMappingURL=wait-for-video.d.cts.map
|
|
@@ -6,34 +6,21 @@ declare const GeminiWaitForVideoInput: z.ZodObject<{
|
|
|
6
6
|
}, z.core.$strip>;
|
|
7
7
|
declare const GeminiWaitForVideoOutput: z.ZodObject<{
|
|
8
8
|
success: z.ZodNullable<z.ZodBoolean>;
|
|
9
|
-
video_file: z.
|
|
9
|
+
video_file: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
10
10
|
name: z.ZodNullable<z.ZodString>;
|
|
11
11
|
s3url: z.ZodNullable<z.ZodString>;
|
|
12
12
|
mimetype: z.ZodNullable<z.ZodString>;
|
|
13
|
-
}, z.core.$
|
|
14
|
-
rai_filtering: z.
|
|
13
|
+
}, z.core.$loose>>>;
|
|
14
|
+
rai_filtering: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
15
15
|
message: z.ZodNullable<z.ZodString>;
|
|
16
|
-
filtered: z.
|
|
17
|
-
filter_reasons: z.
|
|
16
|
+
filtered: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
|
|
17
|
+
filter_reasons: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
18
18
|
filtered_count: z.ZodNullable<z.ZodNumber>;
|
|
19
|
-
}, z.core.$
|
|
20
|
-
}, z.core.$
|
|
19
|
+
}, z.core.$loose>>>;
|
|
20
|
+
}, z.core.$loose>;
|
|
21
21
|
declare const geminiWaitForVideo: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
22
22
|
operation_name: string;
|
|
23
|
-
},
|
|
24
|
-
success: boolean | null;
|
|
25
|
-
video_file?: {
|
|
26
|
-
name: string | null;
|
|
27
|
-
s3url: string | null;
|
|
28
|
-
mimetype: string | null;
|
|
29
|
-
} | undefined;
|
|
30
|
-
rai_filtering?: {
|
|
31
|
-
message: string | null;
|
|
32
|
-
filtered_count: number | null;
|
|
33
|
-
filtered?: boolean | undefined;
|
|
34
|
-
filter_reasons?: string[] | undefined;
|
|
35
|
-
} | undefined;
|
|
36
|
-
}, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
23
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
37
24
|
//#endregion
|
|
38
25
|
export { geminiWaitForVideo };
|
|
39
26
|
//# sourceMappingURL=wait-for-video.d.mts.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { action } from "../action.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region src/actions/wait-for-video.ts
|
|
4
|
-
const GeminiWaitForVideoInput = z.object({ operation_name: z.string().describe("The full operation name returned by GEMINI_GENERATE_VIDEOS. Format: 'models/<model-id>/operations/<operation-id>' where <operation-id> is an alphanumeric string (e.g., 'models/veo-3.
|
|
4
|
+
const GeminiWaitForVideoInput = z.object({ operation_name: z.string().describe("The full operation name returned by GEMINI_GENERATE_VIDEOS. Format: 'models/<model-id>/operations/<operation-id>' where <operation-id> is an alphanumeric string (e.g., 'models/veo-3.1-generate-preview/operations/m8dl4dtqqzg8'). IMPORTANT: Do NOT use placeholder values like '...' - use the exact operation_name string from the generate videos response. Do not reuse operation_name from a failed GEMINI_GENERATE_VIDEOS job — always start a new GEMINI_GENERATE_VIDEOS call for retried requests.") });
|
|
5
5
|
const GeminiWaitForVideo_FileDownloadableSchema = z.object({
|
|
6
6
|
name: z.string().describe("Name of the file").nullable(),
|
|
7
7
|
s3url: z.string().describe("S3 URL of the downloaded file.").nullable(),
|
|
8
8
|
mimetype: z.string().describe("Mime type of the file.").nullable()
|
|
9
|
-
});
|
|
9
|
+
}).passthrough();
|
|
10
10
|
const GeminiWaitForVideo_RaiFilteringResultSchema = z.object({
|
|
11
11
|
message: z.string().describe("Human-readable message explaining the filtering and suggesting next steps.").nullable(),
|
|
12
|
-
filtered: z.
|
|
13
|
-
filter_reasons: z.
|
|
12
|
+
filtered: z.boolean().default(true).describe("Always True when this object is present, indicating content was filtered.").nullable().optional(),
|
|
13
|
+
filter_reasons: z.array(z.string()).describe("List of reasons why the content was blocked by safety filters.").nullable().optional(),
|
|
14
14
|
filtered_count: z.number().int().describe("Number of videos filtered by RAI safety policies.").nullable()
|
|
15
|
-
}).describe("Represents when video generation was blocked by Responsible AI safety filters.");
|
|
15
|
+
}).passthrough().describe("Represents when video generation was blocked by Responsible AI safety filters.");
|
|
16
16
|
const geminiWaitForVideo = action("GEMINI_WAIT_FOR_VIDEO", {
|
|
17
17
|
slug: "gemini-wait-for-video",
|
|
18
18
|
name: "Wait and Download Video (Veo)",
|
|
@@ -20,9 +20,9 @@ const geminiWaitForVideo = action("GEMINI_WAIT_FOR_VIDEO", {
|
|
|
20
20
|
input: GeminiWaitForVideoInput,
|
|
21
21
|
output: z.object({
|
|
22
22
|
success: z.boolean().describe("True if video was successfully generated and downloaded, False if it was filtered by RAI safety policies.").nullable(),
|
|
23
|
-
video_file:
|
|
24
|
-
rai_filtering:
|
|
25
|
-
})
|
|
23
|
+
video_file: GeminiWaitForVideo_FileDownloadableSchema.nullable().optional(),
|
|
24
|
+
rai_filtering: GeminiWaitForVideo_RaiFilteringResultSchema.nullable().optional()
|
|
25
|
+
}).passthrough()
|
|
26
26
|
});
|
|
27
27
|
//#endregion
|
|
28
28
|
export { geminiWaitForVideo };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait-for-video.mjs","names":[],"sources":["../../src/actions/wait-for-video.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GeminiWaitForVideoInput = z.object({\n operation_name: z.string().describe(\"The full operation name returned by GEMINI_GENERATE_VIDEOS. Format: 'models/<model-id>/operations/<operation-id>' where <operation-id> is an alphanumeric string (e.g., 'models/veo-3.
|
|
1
|
+
{"version":3,"file":"wait-for-video.mjs","names":[],"sources":["../../src/actions/wait-for-video.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GeminiWaitForVideoInput = z.object({\n operation_name: z.string().describe(\"The full operation name returned by GEMINI_GENERATE_VIDEOS. Format: 'models/<model-id>/operations/<operation-id>' where <operation-id> is an alphanumeric string (e.g., 'models/veo-3.1-generate-preview/operations/m8dl4dtqqzg8'). IMPORTANT: Do NOT use placeholder values like '...' - use the exact operation_name string from the generate videos response. Do not reuse operation_name from a failed GEMINI_GENERATE_VIDEOS job — always start a new GEMINI_GENERATE_VIDEOS call for retried requests.\"),\n});\nconst GeminiWaitForVideo_FileDownloadableSchema = z.object({\n name: z.string().describe(\"Name of the file\").nullable(),\n s3url: z.string().describe(\"S3 URL of the downloaded file.\").nullable(),\n mimetype: z.string().describe(\"Mime type of the file.\").nullable(),\n}).passthrough();\nconst GeminiWaitForVideo_RaiFilteringResultSchema = z.object({\n message: z.string().describe(\"Human-readable message explaining the filtering and suggesting next steps.\").nullable(),\n filtered: z.boolean().default(true).describe(\"Always True when this object is present, indicating content was filtered.\").nullable().optional(),\n filter_reasons: z.array(z.string()).describe(\"List of reasons why the content was blocked by safety filters.\").nullable().optional(),\n filtered_count: z.number().int().describe(\"Number of videos filtered by RAI safety policies.\").nullable(),\n}).passthrough().describe(\"Represents when video generation was blocked by Responsible AI safety filters.\");\nexport const GeminiWaitForVideoOutput = z.object({\n success: z.boolean().describe(\"True if video was successfully generated and downloaded, False if it was filtered by RAI safety policies.\").nullable(),\n video_file: GeminiWaitForVideo_FileDownloadableSchema.nullable().optional(),\n rai_filtering: GeminiWaitForVideo_RaiFilteringResultSchema.nullable().optional(),\n}).passthrough();\n\nexport const geminiWaitForVideo = action(\"GEMINI_WAIT_FOR_VIDEO\", {\n slug: \"gemini-wait-for-video\",\n name: \"Wait and Download Video (Veo)\",\n description: \"Polls a Veo video generation operation until completion, then downloads and returns the video file. Generation takes 30–120+ seconds (up to ~10–12 min); long waits are normal, not failures. A done=true response without a video file indicates safety filter rejection (check raiMediaFilteredReasons) or quota exhaustion — adjust the prompt and regenerate. On timeout, use GEMINI_GET_VIDEOS_OPERATION with incremental backoff before starting a new job. Keep parallel jobs to 3–5 to avoid 429 RESOURCE_EXHAUSTED errors.\",\n input: GeminiWaitForVideoInput,\n output: GeminiWaitForVideoOutput,\n});\n"],"mappings":";;;AAIA,MAAa,0BAA0B,EAAE,OAAO,EAC9C,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,8eAA8e,EACphB,CAAC;AACD,MAAM,4CAA4C,EAAE,OAAO;CACzD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS;CACvD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CACtE,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;AACnE,CAAC,CAAC,CAAC,YAAY;AACf,MAAM,8CAA8C,EAAE,OAAO;CAC3D,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E,CAAC,CAAC,SAAS;CACpH,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9I,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnI,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;AAC1G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gFAAgF;AAO1G,MAAa,qBAAqB,OAAO,yBAAyB;CAChE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAXsC,EAAE,OAAO;EAC/C,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,2GAA2G,CAAC,CAAC,SAAS;EACpJ,YAAY,0CAA0C,SAAS,CAAC,CAAC,SAAS;EAC1E,eAAe,4CAA4C,SAAS,CAAC,CAAC,SAAS;CACjF,CAAC,CAAC,CAAC,YAOO;AACV,CAAC"}
|
package/dist/execute.cjs
CHANGED
|
@@ -2,7 +2,7 @@ let _keystrokehq_keystroke_client = require("@keystrokehq/keystroke/client");
|
|
|
2
2
|
//#region src/execute.ts
|
|
3
3
|
const APP_SLUG = "gemini";
|
|
4
4
|
/** Pinned app version — updated on regeneration. */
|
|
5
|
-
const APP_VERSION = "
|
|
5
|
+
const APP_VERSION = "20260707_00";
|
|
6
6
|
async function executeGeminiTool(tool, args) {
|
|
7
7
|
const { result } = await (0, _keystrokehq_keystroke_client.createKeystrokeClient)().tools.execute({
|
|
8
8
|
app: APP_SLUG,
|
package/dist/execute.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"gemini\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"
|
|
1
|
+
{"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"gemini\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260707_00\";\n\nexport async function executeGeminiTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,kBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,OAAA,GAAA,8BAAA,sBAAA,CAA4B,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
|
package/dist/execute.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { createKeystrokeClient } from "@keystrokehq/keystroke/client";
|
|
|
2
2
|
//#region src/execute.ts
|
|
3
3
|
const APP_SLUG = "gemini";
|
|
4
4
|
/** Pinned app version — updated on regeneration. */
|
|
5
|
-
const APP_VERSION = "
|
|
5
|
+
const APP_VERSION = "20260707_00";
|
|
6
6
|
async function executeGeminiTool(tool, args) {
|
|
7
7
|
const { result } = await createKeystrokeClient().tools.execute({
|
|
8
8
|
app: APP_SLUG,
|
package/dist/execute.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"gemini\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"
|
|
1
|
+
{"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"gemini\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260707_00\";\n\nexport async function executeGeminiTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,kBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,MAAM,sBAAsB,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
|