@keystrokehq/gamma 0.1.1 → 0.1.2

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 (33) hide show
  1. package/dist/action.cjs.map +1 -1
  2. package/dist/action.mjs.map +1 -1
  3. package/dist/actions/create-from-template.cjs +6 -6
  4. package/dist/actions/create-from-template.cjs.map +1 -1
  5. package/dist/actions/create-from-template.d.cts +7 -19
  6. package/dist/actions/create-from-template.d.mts +7 -19
  7. package/dist/actions/create-from-template.mjs +6 -6
  8. package/dist/actions/create-from-template.mjs.map +1 -1
  9. package/dist/actions/generate-gamma.cjs +6 -6
  10. package/dist/actions/generate-gamma.cjs.map +1 -1
  11. package/dist/actions/generate-gamma.d.cts +7 -19
  12. package/dist/actions/generate-gamma.d.mts +7 -19
  13. package/dist/actions/generate-gamma.mjs +6 -6
  14. package/dist/actions/generate-gamma.mjs.map +1 -1
  15. package/dist/actions/get-gamma-file-urls.cjs +5 -5
  16. package/dist/actions/get-gamma-file-urls.cjs.map +1 -1
  17. package/dist/actions/get-gamma-file-urls.d.cts +6 -17
  18. package/dist/actions/get-gamma-file-urls.d.mts +6 -17
  19. package/dist/actions/get-gamma-file-urls.mjs +5 -5
  20. package/dist/actions/get-gamma-file-urls.mjs.map +1 -1
  21. package/dist/actions/list-folders.cjs +1 -1
  22. package/dist/actions/list-folders.cjs.map +1 -1
  23. package/dist/actions/list-folders.d.cts +2 -11
  24. package/dist/actions/list-folders.d.mts +2 -11
  25. package/dist/actions/list-folders.mjs +1 -1
  26. package/dist/actions/list-folders.mjs.map +1 -1
  27. package/dist/actions/list-themes.cjs +4 -4
  28. package/dist/actions/list-themes.cjs.map +1 -1
  29. package/dist/actions/list-themes.d.cts +5 -17
  30. package/dist/actions/list-themes.d.mts +5 -17
  31. package/dist/actions/list-themes.mjs +4 -4
  32. package/dist/actions/list-themes.mjs.map +1 -1
  33. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"action.cjs","names":["gamma","executeGammaTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { gamma } from \"./app\";\nimport { executeGammaTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action<\n TInput extends z.ZodType,\n TOutput extends z.ZodType,\n>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: TOutput;\n },\n) {\n return gamma.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeGammaTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OAId,MACA,KAOA;CACA,OAAOA,YAAAA,MAAM,OAAO;EAClB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAMC,gBAAAA,iBAAiB,MAAM,KAAgC,CAAC;EACxF;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"action.cjs","names":["gamma","executeGammaTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { gamma } from \"./app\";\nimport { executeGammaTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action<TInput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: z.ZodType;\n },\n) {\n return gamma.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output as z.ZodTypeAny,\n async run(input) {\n return def.output.parse(await executeGammaTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAOA,YAAAA,MAAM,OAAO;EAClB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAMC,gBAAAA,iBAAiB,MAAM,KAAgC,CAAC;EACxF;CACF,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { gamma } from \"./app\";\nimport { executeGammaTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action<\n TInput extends z.ZodType,\n TOutput extends z.ZodType,\n>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: TOutput;\n },\n) {\n return gamma.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeGammaTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OAId,MACA,KAOA;CACA,OAAO,MAAM,OAAO;EAClB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,iBAAiB,MAAM,KAAgC,CAAC;EACxF;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { gamma } from \"./app\";\nimport { executeGammaTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action<TInput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: z.ZodType;\n },\n) {\n return gamma.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output as z.ZodTypeAny,\n async run(input) {\n return def.output.parse(await executeGammaTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAO,MAAM,OAAO;EAClB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,iBAAiB,MAAM,KAAgC,CAAC;EACxF;CACF,CAAC;AACH"}
@@ -21,15 +21,15 @@ const GammaCreateFromTemplateInput = zod.z.object({
21
21
  }).passthrough().describe("Access control options for the generated content.\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#sharingoptions").optional()
22
22
  }).passthrough().describe("Request schema for POST /v1.0/generations/from-template.\nDocs: https://developers.gamma.app/reference/create-from-template");
23
23
  const GammaCreateFromTemplate_CreditsSchema = zod.z.object({
24
- deducted: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.number().int().describe("Number of credits deducted for this generation.").optional()),
25
- remaining: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.number().int().describe("Number of credits remaining after this generation.").optional())
24
+ deducted: zod.z.number().int().describe("Number of credits deducted for this generation.").nullable().optional(),
25
+ remaining: zod.z.number().int().describe("Number of credits remaining after this generation.").nullable().optional()
26
26
  }).passthrough().describe("Credit usage information from Gamma API.");
27
27
  const GammaCreateFromTemplateOutput = zod.z.object({
28
28
  status: zod.z.string().describe("Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').").nullable(),
29
- credits: zod.z.preprocess((value) => value === null ? void 0 : value, GammaCreateFromTemplate_CreditsSchema.optional()),
30
- gammaUrl: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.").optional()),
31
- exportUrl: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.").optional()),
32
- timed_out: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.boolean().describe("True if the 2-minute polling timeout was reached without completion.").optional()),
29
+ credits: GammaCreateFromTemplate_CreditsSchema.nullable().optional(),
30
+ gammaUrl: zod.z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.").nullable().optional(),
31
+ exportUrl: zod.z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.").nullable().optional(),
32
+ timed_out: zod.z.boolean().describe("True if the 2-minute polling timeout was reached without completion.").nullable().optional(),
33
33
  generationId: zod.z.string().describe("Unique identifier for the generation job.").nullable()
34
34
  }).passthrough().describe("Response schema for POST /v1.0/generations/from-template with polling.\nOn success within 2 minutes: Returns gammaUrl directly.\nOn timeout after 2 minutes: Returns generationId for manual checking.");
35
35
  const gammaCreateFromTemplate = require_action.action("GAMMA_CREATE_FROM_TEMPLATE", {
@@ -1 +1 @@
1
- {"version":3,"file":"create-from-template.cjs","names":["z","action"],"sources":["../../src/actions/create-from-template.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaCreateFromTemplateInput = z.object({\n prompt: z.string().describe(\"Text instructions, image URLs, and guidance for adapting the template. Supports 1-100,000 tokens. Can include content to fill into the template and specific customization instructions.\"),\n gammaId: z.string().describe(\"Unique identifier of the gamma template to use as the base for content generation. This determines the structure and layout of the generated content.\"),\n themeId: z.string().describe(\"Theme identifier obtained from the List Themes API. Use the 'id' field (e.g., 'chisel', 'alien', 'aurora'), NOT the 'name' field which contains human-readable theme names. If not specified, uses the template's default theme.\").optional(),\n exportAs: z.string().describe(\"Additional export format for the generated content. Options: 'pdf' (static document) or 'pptx' (editable PowerPoint). Download links expire after a period—download promptly.\").optional(),\n folderIds: z.array(z.string()).describe(\"Array of folder IDs where the generated gamma should be stored. Use List Folders API to get available folder IDs.\").optional(),\n imageOptions: z.object({\n model: z.string().describe(\"AI image model to use for generating images. Options: 'flux-1-pro' (high-quality), 'imagen-4-pro' (photorealistic), 'dall-e-3' (creative), 'flux-1-quick' (quick drafts). Auto-selected if not specified. See: https://developers.gamma.app/docs/image-models\").optional(),\n style: z.string().describe(\"Artistic style/direction for AI-generated images. Defines visual consistency across images. Examples: 'photorealistic', 'claymation', 'pixel art', 'minimal, black and white, line art'. Maximum 500 characters.\").optional(),\n}).passthrough().describe(\"Image generation options for template content.\\nDocs: https://developers.gamma.app/docs/image-models\").optional(),\n sharingOptions: z.object({\n emailOptions: z.object({\n access: z.string().describe(\"Access level granted to email recipients. Options: 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\"),\n recipients: z.array(z.string()).describe(\"Array of email addresses to notify about the generated content.\"),\n}).passthrough().describe(\"Email notification options for sharing the generated content.\").optional(),\n externalAccess: z.string().describe(\"Access level for external users (outside workspace). Options: 'noAccess' (team-only), 'view' (public read-only), 'comment' (public feedback), 'edit' (public modifications).\").optional(),\n workspaceAccess: z.string().describe(\"Access level for workspace members. Options: 'noAccess' (private), 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\").optional(),\n}).passthrough().describe(\"Access control options for the generated content.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#sharingoptions\").optional(),\n}).passthrough().describe(\"Request schema for POST /v1.0/generations/from-template.\\nDocs: https://developers.gamma.app/reference/create-from-template\");\nconst GammaCreateFromTemplate_CreditsSchema = z.object({\n deducted: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits deducted for this generation.\").optional()),\n remaining: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits remaining after this generation.\").optional()),\n}).passthrough().describe(\"Credit usage information from Gamma API.\");\nexport const GammaCreateFromTemplateOutput = z.object({\n status: z.string().describe(\"Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').\").nullable(),\n credits: z.preprocess((value) => (value === null ? undefined : value), GammaCreateFromTemplate_CreditsSchema.optional()),\n gammaUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.\").optional()),\n exportUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.\").optional()),\n timed_out: z.preprocess((value) => (value === null ? undefined : value), z.boolean().describe(\"True if the 2-minute polling timeout was reached without completion.\").optional()),\n generationId: z.string().describe(\"Unique identifier for the generation job.\").nullable(),\n}).passthrough().describe(\"Response schema for POST /v1.0/generations/from-template with polling.\\nOn success within 2 minutes: Returns gammaUrl directly.\\nOn timeout after 2 minutes: Returns generationId for manual checking.\");\n\nexport const gammaCreateFromTemplate = action(\"GAMMA_CREATE_FROM_TEMPLATE\", {\n slug: \"gamma-create-from-template\",\n name: \"Create from Template\",\n description: \"Tool to create new Gamma content based on an existing template. Use when you need to generate content with a predefined structure/layout by providing custom instructions and prompt. The API creates content asynchronously. This action polls the generation status and returns the gammaUrl when complete, or a generationId if the 2-minute timeout is reached.\",\n input: GammaCreateFromTemplateInput,\n output: GammaCreateFromTemplateOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"create-from-template.cjs","names":["z","action"],"sources":["../../src/actions/create-from-template.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaCreateFromTemplateInput = z.object({\n prompt: z.string().describe(\"Text instructions, image URLs, and guidance for adapting the template. Supports 1-100,000 tokens. Can include content to fill into the template and specific customization instructions.\"),\n gammaId: z.string().describe(\"Unique identifier of the gamma template to use as the base for content generation. This determines the structure and layout of the generated content.\"),\n themeId: z.string().describe(\"Theme identifier obtained from the List Themes API. Use the 'id' field (e.g., 'chisel', 'alien', 'aurora'), NOT the 'name' field which contains human-readable theme names. If not specified, uses the template's default theme.\").optional(),\n exportAs: z.string().describe(\"Additional export format for the generated content. Options: 'pdf' (static document) or 'pptx' (editable PowerPoint). Download links expire after a period—download promptly.\").optional(),\n folderIds: z.array(z.string()).describe(\"Array of folder IDs where the generated gamma should be stored. Use List Folders API to get available folder IDs.\").optional(),\n imageOptions: z.object({\n model: z.string().describe(\"AI image model to use for generating images. Options: 'flux-1-pro' (high-quality), 'imagen-4-pro' (photorealistic), 'dall-e-3' (creative), 'flux-1-quick' (quick drafts). Auto-selected if not specified. See: https://developers.gamma.app/docs/image-models\").optional(),\n style: z.string().describe(\"Artistic style/direction for AI-generated images. Defines visual consistency across images. Examples: 'photorealistic', 'claymation', 'pixel art', 'minimal, black and white, line art'. Maximum 500 characters.\").optional(),\n}).passthrough().describe(\"Image generation options for template content.\\nDocs: https://developers.gamma.app/docs/image-models\").optional(),\n sharingOptions: z.object({\n emailOptions: z.object({\n access: z.string().describe(\"Access level granted to email recipients. Options: 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\"),\n recipients: z.array(z.string()).describe(\"Array of email addresses to notify about the generated content.\"),\n}).passthrough().describe(\"Email notification options for sharing the generated content.\").optional(),\n externalAccess: z.string().describe(\"Access level for external users (outside workspace). Options: 'noAccess' (team-only), 'view' (public read-only), 'comment' (public feedback), 'edit' (public modifications).\").optional(),\n workspaceAccess: z.string().describe(\"Access level for workspace members. Options: 'noAccess' (private), 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\").optional(),\n}).passthrough().describe(\"Access control options for the generated content.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#sharingoptions\").optional(),\n}).passthrough().describe(\"Request schema for POST /v1.0/generations/from-template.\\nDocs: https://developers.gamma.app/reference/create-from-template\");\nconst GammaCreateFromTemplate_CreditsSchema = z.object({\n deducted: z.number().int().describe(\"Number of credits deducted for this generation.\").nullable().optional(),\n remaining: z.number().int().describe(\"Number of credits remaining after this generation.\").nullable().optional(),\n}).passthrough().describe(\"Credit usage information from Gamma API.\");\nexport const GammaCreateFromTemplateOutput = z.object({\n status: z.string().describe(\"Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').\").nullable(),\n credits: GammaCreateFromTemplate_CreditsSchema.nullable().optional(),\n gammaUrl: z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.\").nullable().optional(),\n exportUrl: z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.\").nullable().optional(),\n timed_out: z.boolean().describe(\"True if the 2-minute polling timeout was reached without completion.\").nullable().optional(),\n generationId: z.string().describe(\"Unique identifier for the generation job.\").nullable(),\n}).passthrough().describe(\"Response schema for POST /v1.0/generations/from-template with polling.\\nOn success within 2 minutes: Returns gammaUrl directly.\\nOn timeout after 2 minutes: Returns generationId for manual checking.\");\n\nexport const gammaCreateFromTemplate = action(\"GAMMA_CREATE_FROM_TEMPLATE\", {\n slug: \"gamma-create-from-template\",\n name: \"Create from Template\",\n description: \"Tool to create new Gamma content based on an existing template. Use when you need to generate content with a predefined structure/layout by providing custom instructions and prompt. The API creates content asynchronously. This action polls the generation status and returns the gammaUrl when complete, or a generationId if the 2-minute timeout is reached.\",\n input: GammaCreateFromTemplateInput,\n output: GammaCreateFromTemplateOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA+BA,IAAAA,EAAE,OAAO;CACnD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0LAA0L;CACtN,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uJAAuJ;CACpL,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kOAAkO,CAAC,CAAC,SAAS;CAC1Q,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+KAA+K,CAAC,CAAC,SAAS;CACxN,WAAWA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;CACtK,cAAcA,IAAAA,EAAE,OAAO;EACvB,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+PAA+P,CAAC,CAAC,SAAS;EACrS,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kNAAkN,CAAC,CAAC,SAAS;CAC1P,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;CACzI,gBAAgBA,IAAAA,EAAE,OAAO;EACzB,cAAcA,IAAAA,EAAE,OAAO;GACvB,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mKAAmK;GAC/L,YAAYA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,iEAAiE;EAC5G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;EAClG,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8KAA8K,CAAC,CAAC,SAAS;EAC7N,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mLAAmL,CAAC,CAAC,SAAS;CACrO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6IAA6I,CAAC,CAAC,SAAS;AAClL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6HAA6H;AACvJ,MAAM,wCAAwCA,IAAAA,EAAE,OAAO;CACrD,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3G,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACjH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,0CAA0C;AACpE,MAAa,gCAAgCA,IAAAA,EAAE,OAAO;CACpD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;CAC/G,SAAS,sCAAsC,SAAS,CAAC,CAAC,SAAS;CACnE,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iGAAiG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrJ,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0IAA0I,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/L,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5H,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;AAC1F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wMAAwM;AAElO,MAAa,0BAA0BC,eAAAA,OAAO,8BAA8B;CAC1E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -22,13 +22,13 @@ declare const GammaCreateFromTemplateInput: z.ZodObject<{
22
22
  }, z.core.$loose>;
23
23
  declare const GammaCreateFromTemplateOutput: z.ZodObject<{
24
24
  status: z.ZodNullable<z.ZodString>;
25
- credits: z.ZodPreprocess<z.ZodOptional<z.ZodObject<{
26
- deducted: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
27
- remaining: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
25
+ credits: z.ZodOptional<z.ZodNullable<z.ZodObject<{
26
+ deducted: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27
+ remaining: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
28
28
  }, z.core.$loose>>>;
29
- gammaUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
30
- exportUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
31
- timed_out: z.ZodPreprocess<z.ZodOptional<z.ZodBoolean>>;
29
+ gammaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ exportUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
+ timed_out: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
32
32
  generationId: z.ZodNullable<z.ZodString>;
33
33
  }, z.core.$loose>;
34
34
  declare const gammaCreateFromTemplate: import("@keystrokehq/action").WorkflowActionDefinition<{
@@ -53,19 +53,7 @@ declare const gammaCreateFromTemplate: import("@keystrokehq/action").WorkflowAct
53
53
  externalAccess?: string | undefined;
54
54
  workspaceAccess?: string | undefined;
55
55
  } | undefined;
56
- }, {
57
- [x: string]: unknown;
58
- status: string | null;
59
- generationId: string | null;
60
- credits?: {
61
- [x: string]: unknown;
62
- deducted?: number | undefined;
63
- remaining?: number | undefined;
64
- } | undefined;
65
- gammaUrl?: string | undefined;
66
- exportUrl?: string | undefined;
67
- timed_out?: boolean | undefined;
68
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
56
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
69
57
  //#endregion
70
58
  export { gammaCreateFromTemplate };
71
59
  //# sourceMappingURL=create-from-template.d.cts.map
@@ -22,13 +22,13 @@ declare const GammaCreateFromTemplateInput: z.ZodObject<{
22
22
  }, z.core.$loose>;
23
23
  declare const GammaCreateFromTemplateOutput: z.ZodObject<{
24
24
  status: z.ZodNullable<z.ZodString>;
25
- credits: z.ZodPreprocess<z.ZodOptional<z.ZodObject<{
26
- deducted: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
27
- remaining: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
25
+ credits: z.ZodOptional<z.ZodNullable<z.ZodObject<{
26
+ deducted: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27
+ remaining: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
28
28
  }, z.core.$loose>>>;
29
- gammaUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
30
- exportUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
31
- timed_out: z.ZodPreprocess<z.ZodOptional<z.ZodBoolean>>;
29
+ gammaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ exportUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
+ timed_out: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
32
32
  generationId: z.ZodNullable<z.ZodString>;
33
33
  }, z.core.$loose>;
34
34
  declare const gammaCreateFromTemplate: import("@keystrokehq/action").WorkflowActionDefinition<{
@@ -53,19 +53,7 @@ declare const gammaCreateFromTemplate: import("@keystrokehq/action").WorkflowAct
53
53
  externalAccess?: string | undefined;
54
54
  workspaceAccess?: string | undefined;
55
55
  } | undefined;
56
- }, {
57
- [x: string]: unknown;
58
- status: string | null;
59
- generationId: string | null;
60
- credits?: {
61
- [x: string]: unknown;
62
- deducted?: number | undefined;
63
- remaining?: number | undefined;
64
- } | undefined;
65
- gammaUrl?: string | undefined;
66
- exportUrl?: string | undefined;
67
- timed_out?: boolean | undefined;
68
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
56
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
69
57
  //#endregion
70
58
  export { gammaCreateFromTemplate };
71
59
  //# sourceMappingURL=create-from-template.d.mts.map
@@ -21,8 +21,8 @@ const GammaCreateFromTemplateInput = z.object({
21
21
  }).passthrough().describe("Access control options for the generated content.\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#sharingoptions").optional()
22
22
  }).passthrough().describe("Request schema for POST /v1.0/generations/from-template.\nDocs: https://developers.gamma.app/reference/create-from-template");
23
23
  const GammaCreateFromTemplate_CreditsSchema = z.object({
24
- deducted: z.preprocess((value) => value === null ? void 0 : value, z.number().int().describe("Number of credits deducted for this generation.").optional()),
25
- remaining: z.preprocess((value) => value === null ? void 0 : value, z.number().int().describe("Number of credits remaining after this generation.").optional())
24
+ deducted: z.number().int().describe("Number of credits deducted for this generation.").nullable().optional(),
25
+ remaining: z.number().int().describe("Number of credits remaining after this generation.").nullable().optional()
26
26
  }).passthrough().describe("Credit usage information from Gamma API.");
27
27
  const gammaCreateFromTemplate = action("GAMMA_CREATE_FROM_TEMPLATE", {
28
28
  slug: "gamma-create-from-template",
@@ -31,10 +31,10 @@ const gammaCreateFromTemplate = action("GAMMA_CREATE_FROM_TEMPLATE", {
31
31
  input: GammaCreateFromTemplateInput,
32
32
  output: z.object({
33
33
  status: z.string().describe("Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').").nullable(),
34
- credits: z.preprocess((value) => value === null ? void 0 : value, GammaCreateFromTemplate_CreditsSchema.optional()),
35
- gammaUrl: z.preprocess((value) => value === null ? void 0 : value, z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.").optional()),
36
- exportUrl: z.preprocess((value) => value === null ? void 0 : value, z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.").optional()),
37
- timed_out: z.preprocess((value) => value === null ? void 0 : value, z.boolean().describe("True if the 2-minute polling timeout was reached without completion.").optional()),
34
+ credits: GammaCreateFromTemplate_CreditsSchema.nullable().optional(),
35
+ gammaUrl: z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.").nullable().optional(),
36
+ exportUrl: z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.").nullable().optional(),
37
+ timed_out: z.boolean().describe("True if the 2-minute polling timeout was reached without completion.").nullable().optional(),
38
38
  generationId: z.string().describe("Unique identifier for the generation job.").nullable()
39
39
  }).passthrough().describe("Response schema for POST /v1.0/generations/from-template with polling.\nOn success within 2 minutes: Returns gammaUrl directly.\nOn timeout after 2 minutes: Returns generationId for manual checking.")
40
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-from-template.mjs","names":[],"sources":["../../src/actions/create-from-template.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaCreateFromTemplateInput = z.object({\n prompt: z.string().describe(\"Text instructions, image URLs, and guidance for adapting the template. Supports 1-100,000 tokens. Can include content to fill into the template and specific customization instructions.\"),\n gammaId: z.string().describe(\"Unique identifier of the gamma template to use as the base for content generation. This determines the structure and layout of the generated content.\"),\n themeId: z.string().describe(\"Theme identifier obtained from the List Themes API. Use the 'id' field (e.g., 'chisel', 'alien', 'aurora'), NOT the 'name' field which contains human-readable theme names. If not specified, uses the template's default theme.\").optional(),\n exportAs: z.string().describe(\"Additional export format for the generated content. Options: 'pdf' (static document) or 'pptx' (editable PowerPoint). Download links expire after a period—download promptly.\").optional(),\n folderIds: z.array(z.string()).describe(\"Array of folder IDs where the generated gamma should be stored. Use List Folders API to get available folder IDs.\").optional(),\n imageOptions: z.object({\n model: z.string().describe(\"AI image model to use for generating images. Options: 'flux-1-pro' (high-quality), 'imagen-4-pro' (photorealistic), 'dall-e-3' (creative), 'flux-1-quick' (quick drafts). Auto-selected if not specified. See: https://developers.gamma.app/docs/image-models\").optional(),\n style: z.string().describe(\"Artistic style/direction for AI-generated images. Defines visual consistency across images. Examples: 'photorealistic', 'claymation', 'pixel art', 'minimal, black and white, line art'. Maximum 500 characters.\").optional(),\n}).passthrough().describe(\"Image generation options for template content.\\nDocs: https://developers.gamma.app/docs/image-models\").optional(),\n sharingOptions: z.object({\n emailOptions: z.object({\n access: z.string().describe(\"Access level granted to email recipients. Options: 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\"),\n recipients: z.array(z.string()).describe(\"Array of email addresses to notify about the generated content.\"),\n}).passthrough().describe(\"Email notification options for sharing the generated content.\").optional(),\n externalAccess: z.string().describe(\"Access level for external users (outside workspace). Options: 'noAccess' (team-only), 'view' (public read-only), 'comment' (public feedback), 'edit' (public modifications).\").optional(),\n workspaceAccess: z.string().describe(\"Access level for workspace members. Options: 'noAccess' (private), 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\").optional(),\n}).passthrough().describe(\"Access control options for the generated content.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#sharingoptions\").optional(),\n}).passthrough().describe(\"Request schema for POST /v1.0/generations/from-template.\\nDocs: https://developers.gamma.app/reference/create-from-template\");\nconst GammaCreateFromTemplate_CreditsSchema = z.object({\n deducted: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits deducted for this generation.\").optional()),\n remaining: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits remaining after this generation.\").optional()),\n}).passthrough().describe(\"Credit usage information from Gamma API.\");\nexport const GammaCreateFromTemplateOutput = z.object({\n status: z.string().describe(\"Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').\").nullable(),\n credits: z.preprocess((value) => (value === null ? undefined : value), GammaCreateFromTemplate_CreditsSchema.optional()),\n gammaUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.\").optional()),\n exportUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.\").optional()),\n timed_out: z.preprocess((value) => (value === null ? undefined : value), z.boolean().describe(\"True if the 2-minute polling timeout was reached without completion.\").optional()),\n generationId: z.string().describe(\"Unique identifier for the generation job.\").nullable(),\n}).passthrough().describe(\"Response schema for POST /v1.0/generations/from-template with polling.\\nOn success within 2 minutes: Returns gammaUrl directly.\\nOn timeout after 2 minutes: Returns generationId for manual checking.\");\n\nexport const gammaCreateFromTemplate = action(\"GAMMA_CREATE_FROM_TEMPLATE\", {\n slug: \"gamma-create-from-template\",\n name: \"Create from Template\",\n description: \"Tool to create new Gamma content based on an existing template. Use when you need to generate content with a predefined structure/layout by providing custom instructions and prompt. The API creates content asynchronously. This action polls the generation status and returns the gammaUrl when complete, or a generationId if the 2-minute timeout is reached.\",\n input: GammaCreateFromTemplateInput,\n output: GammaCreateFromTemplateOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA+B,EAAE,OAAO;CACnD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0LAA0L;CACtN,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,uJAAuJ;CACpL,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,kOAAkO,CAAC,CAAC,SAAS;CAC1Q,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,+KAA+K,CAAC,CAAC,SAAS;CACxN,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;CACtK,cAAc,EAAE,OAAO;EACvB,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+PAA+P,CAAC,CAAC,SAAS;EACrS,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,kNAAkN,CAAC,CAAC,SAAS;CAC1P,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;CACzI,gBAAgB,EAAE,OAAO;EACzB,cAAc,EAAE,OAAO;GACvB,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,mKAAmK;GAC/L,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,iEAAiE;EAC5G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;EAClG,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,8KAA8K,CAAC,CAAC,SAAS;EAC7N,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,mLAAmL,CAAC,CAAC,SAAS;CACrO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6IAA6I,CAAC,CAAC,SAAS;AAClL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6HAA6H;AACvJ,MAAM,wCAAwC,EAAE,OAAO;CACrD,UAAU,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS,CAAC;CAC/J,WAAW,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC;AACrK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,0CAA0C;AAUpE,MAAa,0BAA0B,OAAO,8BAA8B;CAC1E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAd2C,EAAE,OAAO;EACpD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;EAC/G,SAAS,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,sCAAsC,SAAS,CAAC;EACvH,UAAU,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,iGAAiG,CAAC,CAAC,SAAS,CAAC;EACzM,WAAW,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0IAA0I,CAAC,CAAC,SAAS,CAAC;EACnP,WAAW,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS,CAAC;EAChL,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CAC1F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wMAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"create-from-template.mjs","names":[],"sources":["../../src/actions/create-from-template.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaCreateFromTemplateInput = z.object({\n prompt: z.string().describe(\"Text instructions, image URLs, and guidance for adapting the template. Supports 1-100,000 tokens. Can include content to fill into the template and specific customization instructions.\"),\n gammaId: z.string().describe(\"Unique identifier of the gamma template to use as the base for content generation. This determines the structure and layout of the generated content.\"),\n themeId: z.string().describe(\"Theme identifier obtained from the List Themes API. Use the 'id' field (e.g., 'chisel', 'alien', 'aurora'), NOT the 'name' field which contains human-readable theme names. If not specified, uses the template's default theme.\").optional(),\n exportAs: z.string().describe(\"Additional export format for the generated content. Options: 'pdf' (static document) or 'pptx' (editable PowerPoint). Download links expire after a period—download promptly.\").optional(),\n folderIds: z.array(z.string()).describe(\"Array of folder IDs where the generated gamma should be stored. Use List Folders API to get available folder IDs.\").optional(),\n imageOptions: z.object({\n model: z.string().describe(\"AI image model to use for generating images. Options: 'flux-1-pro' (high-quality), 'imagen-4-pro' (photorealistic), 'dall-e-3' (creative), 'flux-1-quick' (quick drafts). Auto-selected if not specified. See: https://developers.gamma.app/docs/image-models\").optional(),\n style: z.string().describe(\"Artistic style/direction for AI-generated images. Defines visual consistency across images. Examples: 'photorealistic', 'claymation', 'pixel art', 'minimal, black and white, line art'. Maximum 500 characters.\").optional(),\n}).passthrough().describe(\"Image generation options for template content.\\nDocs: https://developers.gamma.app/docs/image-models\").optional(),\n sharingOptions: z.object({\n emailOptions: z.object({\n access: z.string().describe(\"Access level granted to email recipients. Options: 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\"),\n recipients: z.array(z.string()).describe(\"Array of email addresses to notify about the generated content.\"),\n}).passthrough().describe(\"Email notification options for sharing the generated content.\").optional(),\n externalAccess: z.string().describe(\"Access level for external users (outside workspace). Options: 'noAccess' (team-only), 'view' (public read-only), 'comment' (public feedback), 'edit' (public modifications).\").optional(),\n workspaceAccess: z.string().describe(\"Access level for workspace members. Options: 'noAccess' (private), 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\").optional(),\n}).passthrough().describe(\"Access control options for the generated content.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#sharingoptions\").optional(),\n}).passthrough().describe(\"Request schema for POST /v1.0/generations/from-template.\\nDocs: https://developers.gamma.app/reference/create-from-template\");\nconst GammaCreateFromTemplate_CreditsSchema = z.object({\n deducted: z.number().int().describe(\"Number of credits deducted for this generation.\").nullable().optional(),\n remaining: z.number().int().describe(\"Number of credits remaining after this generation.\").nullable().optional(),\n}).passthrough().describe(\"Credit usage information from Gamma API.\");\nexport const GammaCreateFromTemplateOutput = z.object({\n status: z.string().describe(\"Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').\").nullable(),\n credits: GammaCreateFromTemplate_CreditsSchema.nullable().optional(),\n gammaUrl: z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.\").nullable().optional(),\n exportUrl: z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.\").nullable().optional(),\n timed_out: z.boolean().describe(\"True if the 2-minute polling timeout was reached without completion.\").nullable().optional(),\n generationId: z.string().describe(\"Unique identifier for the generation job.\").nullable(),\n}).passthrough().describe(\"Response schema for POST /v1.0/generations/from-template with polling.\\nOn success within 2 minutes: Returns gammaUrl directly.\\nOn timeout after 2 minutes: Returns generationId for manual checking.\");\n\nexport const gammaCreateFromTemplate = action(\"GAMMA_CREATE_FROM_TEMPLATE\", {\n slug: \"gamma-create-from-template\",\n name: \"Create from Template\",\n description: \"Tool to create new Gamma content based on an existing template. Use when you need to generate content with a predefined structure/layout by providing custom instructions and prompt. The API creates content asynchronously. This action polls the generation status and returns the gammaUrl when complete, or a generationId if the 2-minute timeout is reached.\",\n input: GammaCreateFromTemplateInput,\n output: GammaCreateFromTemplateOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA+B,EAAE,OAAO;CACnD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0LAA0L;CACtN,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,uJAAuJ;CACpL,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,kOAAkO,CAAC,CAAC,SAAS;CAC1Q,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,+KAA+K,CAAC,CAAC,SAAS;CACxN,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;CACtK,cAAc,EAAE,OAAO;EACvB,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+PAA+P,CAAC,CAAC,SAAS;EACrS,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,kNAAkN,CAAC,CAAC,SAAS;CAC1P,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;CACzI,gBAAgB,EAAE,OAAO;EACzB,cAAc,EAAE,OAAO;GACvB,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,mKAAmK;GAC/L,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,iEAAiE;EAC5G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;EAClG,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,8KAA8K,CAAC,CAAC,SAAS;EAC7N,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,mLAAmL,CAAC,CAAC,SAAS;CACrO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6IAA6I,CAAC,CAAC,SAAS;AAClL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6HAA6H;AACvJ,MAAM,wCAAwC,EAAE,OAAO;CACrD,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3G,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACjH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,0CAA0C;AAUpE,MAAa,0BAA0B,OAAO,8BAA8B;CAC1E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAd2C,EAAE,OAAO;EACpD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;EAC/G,SAAS,sCAAsC,SAAS,CAAC,CAAC,SAAS;EACnE,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,iGAAiG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrJ,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,0IAA0I,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/L,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC5H,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CAC1F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wMAOhB;AACV,CAAC"}
@@ -220,15 +220,15 @@ const GammaGenerateGammaInput = zod.z.object({
220
220
  additionalInstructions: zod.z.string().describe("Extra specifications for content, layouts, etc. Character limits: 1-2000.").optional()
221
221
  }).describe("Request schema for POST /v1.0/generations.\nComplete documentation: https://developers.gamma.app/docs/generate-api-parameters-explained");
222
222
  const GammaGenerateGamma_CreditsSchema = zod.z.object({
223
- deducted: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.number().int().describe("Number of credits deducted for this generation.").optional()),
224
- remaining: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.number().int().describe("Number of credits remaining after this generation.").optional())
223
+ deducted: zod.z.number().int().describe("Number of credits deducted for this generation.").nullable().optional(),
224
+ remaining: zod.z.number().int().describe("Number of credits remaining after this generation.").nullable().optional()
225
225
  }).passthrough().describe("Credit usage information from Gamma API.");
226
226
  const GammaGenerateGammaOutput = zod.z.object({
227
227
  status: zod.z.string().describe("Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').").nullable(),
228
- credits: zod.z.preprocess((value) => value === null ? void 0 : value, GammaGenerateGamma_CreditsSchema.optional()),
229
- gammaUrl: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.").optional()),
230
- exportUrl: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.").optional()),
231
- timed_out: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.boolean().describe("True if the 2-minute polling timeout was reached without completion.").optional()),
228
+ credits: GammaGenerateGamma_CreditsSchema.nullable().optional(),
229
+ gammaUrl: zod.z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.").nullable().optional(),
230
+ exportUrl: zod.z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.").nullable().optional(),
231
+ timed_out: zod.z.boolean().describe("True if the 2-minute polling timeout was reached without completion.").nullable().optional(),
232
232
  generationId: zod.z.string().describe("Unique identifier for the generation.").nullable()
233
233
  }).passthrough().describe("Response for POST /v1.0/generations with polling.\nOn success within 2 minutes: Returns file URLs directly.\nOn timeout after 2 minutes: Returns generationId for manual checking.");
234
234
  const gammaGenerateGamma = require_action.action("GAMMA_GENERATE_GAMMA", {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-gamma.cjs","names":["z","action"],"sources":["../../src/actions/generate-gamma.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaGenerateGammaInput = z.object({\n format: z.string().describe(\"Output type. 'presentation' (slide deck), 'document' (continuous page/report), 'webpage' (web page), 'social' (Instagram/TikTok/LinkedIn posts). Default: 'presentation'\").optional(),\n themeId: z.string().describe(\"Visual theme identifier defining color palette and typography. To use the default theme, omit this field entirely — do NOT pass 'default' as a value. IMPORTANT: Theme IDs cannot be guessed - you MUST retrieve them using the List Themes API first. Standard themes use lowercase words ('alien', 'aurora'), hyphens ('default-dark', 'blue-steel'), or alphanumeric IDs ('ag4mc9ggtxi8iyi'). Custom workspace themes use 'theme_' prefix ('theme_abc123xyz'). DO NOT use underscore-separated words like 'corporate_blue' - these are invalid. Both standard (global) and custom (workspace-specific) themes are supported.\").optional(),\n exportAs: z.string().describe(\"Additional download format alongside Gamma URL. 'pdf' (static document) or 'pptx' (editable PowerPoint). Links provided in GET response expire after time—download promptly.\").optional(),\n numCards: z.number().int().describe(\"Number of cards to create (when cardSplit='auto'). Pro users: 1-60, Ultra users: 1-75. Default: 10\").optional(),\n textMode: z.string().describe(\"Content transformation mode. 'generate' (AI expands brief inputs into full content), 'condense' (summarizes long text to fit slides), 'preserve' (keeps exact wording, adds structure).\"),\n cardSplit: z.string().describe(\"Card division logic. 'auto' (AI splits into numCards slides, ignores \\\\n---\\\\n), 'inputTextBreaks' (splits at each \\\\n---\\\\n marker, ignores numCards). Default: 'auto'\").optional(),\n folderIds: z.array(z.string()).describe(\"Target folder(s) for storing the generated gamma. Retrieve available folder IDs using the List Folders API. Multiple folders can be specified.\").optional(),\n inputText: z.string().describe(\"Text and image URLs to generate gamma from. Can be brief (few words) or extensive (pages). Token limits: 100,000 tokens (~400,000 characters). Image URLs can be included where they should appear. Use '\\\\n---\\\\n' to control card splits.\"),\n cardOptions: z.object({\n dimensions: z.string().describe(\"Card aspect ratio. Presentation: 'fluid' (expands with content, default), '16x9' (widescreen), '4x3' (classic). Document: 'fluid' (default), 'pageless' (web), 'letter' (US 8.5x11), 'a4' (international). Social: '1x1' (square), '4x5' (Instagram/LinkedIn, default), '9x16' (Stories/Reels/TikTok)\").optional(),\n headerFooter: z.object({\n topLeft: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n topRight: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n topCenter: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomLeft: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomRight: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomCenter: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n hideFromLastCard: z.boolean().describe(\"Hide header/footer from the last card. Default: false.\").optional(),\n hideFromFirstCard: z.boolean().describe(\"Hide header/footer from the first card. Default: false.\").optional(),\n}).describe(\"Header and footer configuration for cards.\\nNot applicable for 'webpage' format.\\nDocs: https://developers.gamma.app/docs/generate-api-parameters-explained\").optional(),\n}).describe(\"Card layout options.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#cardoptions\").optional(),\n textOptions: z.object({\n tone: z.string().describe(\"Writing voice/mood (only for textMode='generate'). Shapes language formality and energy. Single word ('professional', 'casual') or combined ('professional, upbeat, inspiring'). 1-500 chars.\").optional(),\n amount: z.enum([\"brief\", \"medium\", \"detailed\", \"extensive\"]).describe(\"Valid values for textOptions.amount field.\").optional(),\n audience: z.string().describe(\"Target readers (only for textMode='generate'). Tailors complexity and terminology. Examples: 'executives', 'seven year olds', 'technical developers'. 1-500 chars.\").optional(),\n language: z.enum([\"af\", \"sq\", \"ar\", \"ar-sa\", \"bn\", \"bs\", \"bg\", \"ca\", \"hr\", \"cs\", \"da\", \"nl\", \"en\", \"en-in\", \"en-gb\", \"et\", \"fi\", \"fr\", \"de\", \"el\", \"gu\", \"ha\", \"he\", \"hi\", \"hu\", \"is\", \"id\", \"it\", \"ja\", \"ja-da\", \"kn\", \"kk\", \"ko\", \"lv\", \"lt\", \"mk\", \"ms\", \"ml\", \"mr\", \"nb\", \"fa\", \"pl\", \"pt-br\", \"pt-pt\", \"ro\", \"ru\", \"sr\", \"zh-cn\", \"sl\", \"es\", \"es-419\", \"es-mx\", \"es-es\", \"sw\", \"sv\", \"tl\", \"ta\", \"te\", \"th\", \"zh-tw\", \"tr\", \"uk\", \"ur\", \"uz\", \"vi\", \"cy\", \"yo\"]).describe(\"Output language code (overrides inputText language). For languages with regional variants, use the specific code: Portuguese requires 'pt-br' (Brazilian) or 'pt-pt' (European), Spanish supports 'es' (Spain), 'es-mx' (Mexico), 'es-es' (Spain), 'es-419' (Latin America), English supports 'en' (US), 'en-gb' (UK), 'en-in' (India), Chinese supports 'zh-cn' (Simplified), 'zh-tw' (Traditional), Arabic supports 'ar' (generic), 'ar-sa' (Saudi Arabia). Default: 'en'\").optional(),\n}).describe(\"Text generation options.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#textoptions\").optional(),\n imageOptions: z.object({\n model: z.string().describe(\"AI model (only when source='aiGenerated'). Fast: 'flux-1-quick', 'flux-kontext-fast', 'imagen-3-flash', 'luma-photon-flash-1'. Standard: 'flux-1-pro', 'imagen-3-pro', 'imagen-4-pro', 'ideogram-v3-turbo', 'luma-photon-1'. Premium: 'dall-e-3', 'flux-kontext-pro', 'ideogram-v3', 'recraft-v3', 'gpt-image-1-medium'. Ultra: 'flux-1-ultra', 'imagen-4-ultra', 'flux-kontext-max', 'recraft-v3-svg', 'gpt-image-1-high'. Auto-selected if omitted. See: https://developers.gamma.app/docs/image-models\").optional(),\n style: z.string().describe(\"Visual style (only when source='aiGenerated'). Define artistic direction for consistency. Examples: 'photorealistic', 'claymation' (stop-motion look), 'pixel art' (retro 8-bit), 'minimal, black and white, line art'. Highly recommended for cohesive visuals. 1-500 chars.\").optional(),\n source: z.string().describe(\"Image source. Official documented options: 'aiGenerated' (custom AI images, requires model+style), 'pictographic' (hand-drawn illustrations/icons), 'pexels' (Pexels photography), 'giphy' (animated GIFs), 'webAllImages' (any web image, licensing unknown), 'webFreeToUse' (personal use only), 'webFreeToUseCommercially' (business/sales use), 'placeholder' (blank slots for manual upload), 'noImages' (text-only). Default: 'aiGenerated'.\").optional(),\n}).describe(\"Image options for gamma generation.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#imageoptions\").optional(),\n sharingOptions: z.object({\n emailOptions: z.object({\n access: z.string().describe(\"Access level for email recipients. 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\").optional(),\n recipients: z.array(z.string()).describe(\"Email addresses to share the generated gamma with.\").optional(),\n}).describe(\"Email sharing options for generated gamma.\").optional(),\n externalAccess: z.string().describe(\"External user permissions (outside workspace). 'noAccess' (team-only), 'view' (public read-only), 'comment' (public feedback), 'edit' (public modifications). Default: workspace settings\").optional(),\n workspaceAccess: z.string().describe(\"Workspace member permissions. 'noAccess' (private), 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share). Default: workspace settings\").optional(),\n}).describe(\"Sharing and access control options.\\nDocs: https://developers.gamma.app/docs/generate-api-parameters-explained\").optional(),\n additionalInstructions: z.string().describe(\"Extra specifications for content, layouts, etc. Character limits: 1-2000.\").optional(),\n}).describe(\"Request schema for POST /v1.0/generations.\\nComplete documentation: https://developers.gamma.app/docs/generate-api-parameters-explained\");\nconst GammaGenerateGamma_CreditsSchema = z.object({\n deducted: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits deducted for this generation.\").optional()),\n remaining: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits remaining after this generation.\").optional()),\n}).passthrough().describe(\"Credit usage information from Gamma API.\");\nexport const GammaGenerateGammaOutput = z.object({\n status: z.string().describe(\"Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').\").nullable(),\n credits: z.preprocess((value) => (value === null ? undefined : value), GammaGenerateGamma_CreditsSchema.optional()),\n gammaUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.\").optional()),\n exportUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.\").optional()),\n timed_out: z.preprocess((value) => (value === null ? undefined : value), z.boolean().describe(\"True if the 2-minute polling timeout was reached without completion.\").optional()),\n generationId: z.string().describe(\"Unique identifier for the generation.\").nullable(),\n}).passthrough().describe(\"Response for POST /v1.0/generations with polling.\\nOn success within 2 minutes: Returns file URLs directly.\\nOn timeout after 2 minutes: Returns generationId for manual checking.\");\n\nexport const gammaGenerateGamma = action(\"GAMMA_GENERATE_GAMMA\", {\n slug: \"gamma-generate-gamma\",\n name: \"Generate a Gamma\",\n description: \"Generate a Gamma presentation, document, webpage, or social media content using AI. Documentation: https://developers.gamma.app/docs/generate-api-parameters-explained The API creates content asynchronously. Poll the returned generationId to check status.\",\n input: GammaGenerateGammaInput,\n output: GammaGenerateGammaOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"generate-gamma.cjs","names":["z","action"],"sources":["../../src/actions/generate-gamma.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaGenerateGammaInput = z.object({\n format: z.string().describe(\"Output type. 'presentation' (slide deck), 'document' (continuous page/report), 'webpage' (web page), 'social' (Instagram/TikTok/LinkedIn posts). Default: 'presentation'\").optional(),\n themeId: z.string().describe(\"Visual theme identifier defining color palette and typography. To use the default theme, omit this field entirely — do NOT pass 'default' as a value. IMPORTANT: Theme IDs cannot be guessed - you MUST retrieve them using the List Themes API first. Standard themes use lowercase words ('alien', 'aurora'), hyphens ('default-dark', 'blue-steel'), or alphanumeric IDs ('ag4mc9ggtxi8iyi'). Custom workspace themes use 'theme_' prefix ('theme_abc123xyz'). DO NOT use underscore-separated words like 'corporate_blue' - these are invalid. Both standard (global) and custom (workspace-specific) themes are supported.\").optional(),\n exportAs: z.string().describe(\"Additional download format alongside Gamma URL. 'pdf' (static document) or 'pptx' (editable PowerPoint). Links provided in GET response expire after time—download promptly.\").optional(),\n numCards: z.number().int().describe(\"Number of cards to create (when cardSplit='auto'). Pro users: 1-60, Ultra users: 1-75. Default: 10\").optional(),\n textMode: z.string().describe(\"Content transformation mode. 'generate' (AI expands brief inputs into full content), 'condense' (summarizes long text to fit slides), 'preserve' (keeps exact wording, adds structure).\"),\n cardSplit: z.string().describe(\"Card division logic. 'auto' (AI splits into numCards slides, ignores \\\\n---\\\\n), 'inputTextBreaks' (splits at each \\\\n---\\\\n marker, ignores numCards). Default: 'auto'\").optional(),\n folderIds: z.array(z.string()).describe(\"Target folder(s) for storing the generated gamma. Retrieve available folder IDs using the List Folders API. Multiple folders can be specified.\").optional(),\n inputText: z.string().describe(\"Text and image URLs to generate gamma from. Can be brief (few words) or extensive (pages). Token limits: 100,000 tokens (~400,000 characters). Image URLs can be included where they should appear. Use '\\\\n---\\\\n' to control card splits.\"),\n cardOptions: z.object({\n dimensions: z.string().describe(\"Card aspect ratio. Presentation: 'fluid' (expands with content, default), '16x9' (widescreen), '4x3' (classic). Document: 'fluid' (default), 'pageless' (web), 'letter' (US 8.5x11), 'a4' (international). Social: '1x1' (square), '4x5' (Instagram/LinkedIn, default), '9x16' (Stories/Reels/TikTok)\").optional(),\n headerFooter: z.object({\n topLeft: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n topRight: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n topCenter: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomLeft: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomRight: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomCenter: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n hideFromLastCard: z.boolean().describe(\"Hide header/footer from the last card. Default: false.\").optional(),\n hideFromFirstCard: z.boolean().describe(\"Hide header/footer from the first card. Default: false.\").optional(),\n}).describe(\"Header and footer configuration for cards.\\nNot applicable for 'webpage' format.\\nDocs: https://developers.gamma.app/docs/generate-api-parameters-explained\").optional(),\n}).describe(\"Card layout options.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#cardoptions\").optional(),\n textOptions: z.object({\n tone: z.string().describe(\"Writing voice/mood (only for textMode='generate'). Shapes language formality and energy. Single word ('professional', 'casual') or combined ('professional, upbeat, inspiring'). 1-500 chars.\").optional(),\n amount: z.enum([\"brief\", \"medium\", \"detailed\", \"extensive\"]).describe(\"Valid values for textOptions.amount field.\").optional(),\n audience: z.string().describe(\"Target readers (only for textMode='generate'). Tailors complexity and terminology. Examples: 'executives', 'seven year olds', 'technical developers'. 1-500 chars.\").optional(),\n language: z.enum([\"af\", \"sq\", \"ar\", \"ar-sa\", \"bn\", \"bs\", \"bg\", \"ca\", \"hr\", \"cs\", \"da\", \"nl\", \"en\", \"en-in\", \"en-gb\", \"et\", \"fi\", \"fr\", \"de\", \"el\", \"gu\", \"ha\", \"he\", \"hi\", \"hu\", \"is\", \"id\", \"it\", \"ja\", \"ja-da\", \"kn\", \"kk\", \"ko\", \"lv\", \"lt\", \"mk\", \"ms\", \"ml\", \"mr\", \"nb\", \"fa\", \"pl\", \"pt-br\", \"pt-pt\", \"ro\", \"ru\", \"sr\", \"zh-cn\", \"sl\", \"es\", \"es-419\", \"es-mx\", \"es-es\", \"sw\", \"sv\", \"tl\", \"ta\", \"te\", \"th\", \"zh-tw\", \"tr\", \"uk\", \"ur\", \"uz\", \"vi\", \"cy\", \"yo\"]).describe(\"Output language code (overrides inputText language). For languages with regional variants, use the specific code: Portuguese requires 'pt-br' (Brazilian) or 'pt-pt' (European), Spanish supports 'es' (Spain), 'es-mx' (Mexico), 'es-es' (Spain), 'es-419' (Latin America), English supports 'en' (US), 'en-gb' (UK), 'en-in' (India), Chinese supports 'zh-cn' (Simplified), 'zh-tw' (Traditional), Arabic supports 'ar' (generic), 'ar-sa' (Saudi Arabia). Default: 'en'\").optional(),\n}).describe(\"Text generation options.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#textoptions\").optional(),\n imageOptions: z.object({\n model: z.string().describe(\"AI model (only when source='aiGenerated'). Fast: 'flux-1-quick', 'flux-kontext-fast', 'imagen-3-flash', 'luma-photon-flash-1'. Standard: 'flux-1-pro', 'imagen-3-pro', 'imagen-4-pro', 'ideogram-v3-turbo', 'luma-photon-1'. Premium: 'dall-e-3', 'flux-kontext-pro', 'ideogram-v3', 'recraft-v3', 'gpt-image-1-medium'. Ultra: 'flux-1-ultra', 'imagen-4-ultra', 'flux-kontext-max', 'recraft-v3-svg', 'gpt-image-1-high'. Auto-selected if omitted. See: https://developers.gamma.app/docs/image-models\").optional(),\n style: z.string().describe(\"Visual style (only when source='aiGenerated'). Define artistic direction for consistency. Examples: 'photorealistic', 'claymation' (stop-motion look), 'pixel art' (retro 8-bit), 'minimal, black and white, line art'. Highly recommended for cohesive visuals. 1-500 chars.\").optional(),\n source: z.string().describe(\"Image source. Official documented options: 'aiGenerated' (custom AI images, requires model+style), 'pictographic' (hand-drawn illustrations/icons), 'pexels' (Pexels photography), 'giphy' (animated GIFs), 'webAllImages' (any web image, licensing unknown), 'webFreeToUse' (personal use only), 'webFreeToUseCommercially' (business/sales use), 'placeholder' (blank slots for manual upload), 'noImages' (text-only). Default: 'aiGenerated'.\").optional(),\n}).describe(\"Image options for gamma generation.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#imageoptions\").optional(),\n sharingOptions: z.object({\n emailOptions: z.object({\n access: z.string().describe(\"Access level for email recipients. 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\").optional(),\n recipients: z.array(z.string()).describe(\"Email addresses to share the generated gamma with.\").optional(),\n}).describe(\"Email sharing options for generated gamma.\").optional(),\n externalAccess: z.string().describe(\"External user permissions (outside workspace). 'noAccess' (team-only), 'view' (public read-only), 'comment' (public feedback), 'edit' (public modifications). Default: workspace settings\").optional(),\n workspaceAccess: z.string().describe(\"Workspace member permissions. 'noAccess' (private), 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share). Default: workspace settings\").optional(),\n}).describe(\"Sharing and access control options.\\nDocs: https://developers.gamma.app/docs/generate-api-parameters-explained\").optional(),\n additionalInstructions: z.string().describe(\"Extra specifications for content, layouts, etc. Character limits: 1-2000.\").optional(),\n}).describe(\"Request schema for POST /v1.0/generations.\\nComplete documentation: https://developers.gamma.app/docs/generate-api-parameters-explained\");\nconst GammaGenerateGamma_CreditsSchema = z.object({\n deducted: z.number().int().describe(\"Number of credits deducted for this generation.\").nullable().optional(),\n remaining: z.number().int().describe(\"Number of credits remaining after this generation.\").nullable().optional(),\n}).passthrough().describe(\"Credit usage information from Gamma API.\");\nexport const GammaGenerateGammaOutput = z.object({\n status: z.string().describe(\"Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').\").nullable(),\n credits: GammaGenerateGamma_CreditsSchema.nullable().optional(),\n gammaUrl: z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.\").nullable().optional(),\n exportUrl: z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.\").nullable().optional(),\n timed_out: z.boolean().describe(\"True if the 2-minute polling timeout was reached without completion.\").nullable().optional(),\n generationId: z.string().describe(\"Unique identifier for the generation.\").nullable(),\n}).passthrough().describe(\"Response for POST /v1.0/generations with polling.\\nOn success within 2 minutes: Returns file URLs directly.\\nOn timeout after 2 minutes: Returns generationId for manual checking.\");\n\nexport const gammaGenerateGamma = action(\"GAMMA_GENERATE_GAMMA\", {\n slug: \"gamma-generate-gamma\",\n name: \"Generate a Gamma\",\n description: \"Generate a Gamma presentation, document, webpage, or social media content using AI. Documentation: https://developers.gamma.app/docs/generate-api-parameters-explained The API creates content asynchronously. Poll the returned generationId to check status.\",\n input: GammaGenerateGammaInput,\n output: GammaGenerateGammaOutput,\n});\n"],"mappings":"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"}
@@ -227,13 +227,13 @@ declare const GammaGenerateGammaInput: z.ZodObject<{
227
227
  }, z.core.$strip>;
228
228
  declare const GammaGenerateGammaOutput: z.ZodObject<{
229
229
  status: z.ZodNullable<z.ZodString>;
230
- credits: z.ZodPreprocess<z.ZodOptional<z.ZodObject<{
231
- deducted: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
232
- remaining: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
230
+ credits: z.ZodOptional<z.ZodNullable<z.ZodObject<{
231
+ deducted: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
232
+ remaining: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
233
233
  }, z.core.$loose>>>;
234
- gammaUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
235
- exportUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
236
- timed_out: z.ZodPreprocess<z.ZodOptional<z.ZodBoolean>>;
234
+ gammaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
235
+ exportUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
236
+ timed_out: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
237
237
  generationId: z.ZodNullable<z.ZodString>;
238
238
  }, z.core.$loose>;
239
239
  declare const gammaGenerateGamma: import("@keystrokehq/action").WorkflowActionDefinition<{
@@ -338,19 +338,7 @@ declare const gammaGenerateGamma: import("@keystrokehq/action").WorkflowActionDe
338
338
  workspaceAccess?: string | undefined;
339
339
  } | undefined;
340
340
  additionalInstructions?: string | undefined;
341
- }, {
342
- [x: string]: unknown;
343
- status: string | null;
344
- generationId: string | null;
345
- credits?: {
346
- [x: string]: unknown;
347
- deducted?: number | undefined;
348
- remaining?: number | undefined;
349
- } | undefined;
350
- gammaUrl?: string | undefined;
351
- exportUrl?: string | undefined;
352
- timed_out?: boolean | undefined;
353
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
341
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
354
342
  //#endregion
355
343
  export { gammaGenerateGamma };
356
344
  //# sourceMappingURL=generate-gamma.d.cts.map
@@ -227,13 +227,13 @@ declare const GammaGenerateGammaInput: z.ZodObject<{
227
227
  }, z.core.$strip>;
228
228
  declare const GammaGenerateGammaOutput: z.ZodObject<{
229
229
  status: z.ZodNullable<z.ZodString>;
230
- credits: z.ZodPreprocess<z.ZodOptional<z.ZodObject<{
231
- deducted: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
232
- remaining: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
230
+ credits: z.ZodOptional<z.ZodNullable<z.ZodObject<{
231
+ deducted: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
232
+ remaining: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
233
233
  }, z.core.$loose>>>;
234
- gammaUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
235
- exportUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
236
- timed_out: z.ZodPreprocess<z.ZodOptional<z.ZodBoolean>>;
234
+ gammaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
235
+ exportUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
236
+ timed_out: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
237
237
  generationId: z.ZodNullable<z.ZodString>;
238
238
  }, z.core.$loose>;
239
239
  declare const gammaGenerateGamma: import("@keystrokehq/action").WorkflowActionDefinition<{
@@ -338,19 +338,7 @@ declare const gammaGenerateGamma: import("@keystrokehq/action").WorkflowActionDe
338
338
  workspaceAccess?: string | undefined;
339
339
  } | undefined;
340
340
  additionalInstructions?: string | undefined;
341
- }, {
342
- [x: string]: unknown;
343
- status: string | null;
344
- generationId: string | null;
345
- credits?: {
346
- [x: string]: unknown;
347
- deducted?: number | undefined;
348
- remaining?: number | undefined;
349
- } | undefined;
350
- gammaUrl?: string | undefined;
351
- exportUrl?: string | undefined;
352
- timed_out?: boolean | undefined;
353
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
341
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
354
342
  //#endregion
355
343
  export { gammaGenerateGamma };
356
344
  //# sourceMappingURL=generate-gamma.d.mts.map
@@ -220,8 +220,8 @@ const GammaGenerateGammaInput = z.object({
220
220
  additionalInstructions: z.string().describe("Extra specifications for content, layouts, etc. Character limits: 1-2000.").optional()
221
221
  }).describe("Request schema for POST /v1.0/generations.\nComplete documentation: https://developers.gamma.app/docs/generate-api-parameters-explained");
222
222
  const GammaGenerateGamma_CreditsSchema = z.object({
223
- deducted: z.preprocess((value) => value === null ? void 0 : value, z.number().int().describe("Number of credits deducted for this generation.").optional()),
224
- remaining: z.preprocess((value) => value === null ? void 0 : value, z.number().int().describe("Number of credits remaining after this generation.").optional())
223
+ deducted: z.number().int().describe("Number of credits deducted for this generation.").nullable().optional(),
224
+ remaining: z.number().int().describe("Number of credits remaining after this generation.").nullable().optional()
225
225
  }).passthrough().describe("Credit usage information from Gamma API.");
226
226
  const gammaGenerateGamma = action("GAMMA_GENERATE_GAMMA", {
227
227
  slug: "gamma-generate-gamma",
@@ -230,10 +230,10 @@ const gammaGenerateGamma = action("GAMMA_GENERATE_GAMMA", {
230
230
  input: GammaGenerateGammaInput,
231
231
  output: z.object({
232
232
  status: z.string().describe("Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').").nullable(),
233
- credits: z.preprocess((value) => value === null ? void 0 : value, GammaGenerateGamma_CreditsSchema.optional()),
234
- gammaUrl: z.preprocess((value) => value === null ? void 0 : value, z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.").optional()),
235
- exportUrl: z.preprocess((value) => value === null ? void 0 : value, z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.").optional()),
236
- timed_out: z.preprocess((value) => value === null ? void 0 : value, z.boolean().describe("True if the 2-minute polling timeout was reached without completion.").optional()),
233
+ credits: GammaGenerateGamma_CreditsSchema.nullable().optional(),
234
+ gammaUrl: z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.").nullable().optional(),
235
+ exportUrl: z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.").nullable().optional(),
236
+ timed_out: z.boolean().describe("True if the 2-minute polling timeout was reached without completion.").nullable().optional(),
237
237
  generationId: z.string().describe("Unique identifier for the generation.").nullable()
238
238
  }).passthrough().describe("Response for POST /v1.0/generations with polling.\nOn success within 2 minutes: Returns file URLs directly.\nOn timeout after 2 minutes: Returns generationId for manual checking.")
239
239
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generate-gamma.mjs","names":[],"sources":["../../src/actions/generate-gamma.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaGenerateGammaInput = z.object({\n format: z.string().describe(\"Output type. 'presentation' (slide deck), 'document' (continuous page/report), 'webpage' (web page), 'social' (Instagram/TikTok/LinkedIn posts). Default: 'presentation'\").optional(),\n themeId: z.string().describe(\"Visual theme identifier defining color palette and typography. To use the default theme, omit this field entirely — do NOT pass 'default' as a value. IMPORTANT: Theme IDs cannot be guessed - you MUST retrieve them using the List Themes API first. Standard themes use lowercase words ('alien', 'aurora'), hyphens ('default-dark', 'blue-steel'), or alphanumeric IDs ('ag4mc9ggtxi8iyi'). Custom workspace themes use 'theme_' prefix ('theme_abc123xyz'). DO NOT use underscore-separated words like 'corporate_blue' - these are invalid. Both standard (global) and custom (workspace-specific) themes are supported.\").optional(),\n exportAs: z.string().describe(\"Additional download format alongside Gamma URL. 'pdf' (static document) or 'pptx' (editable PowerPoint). Links provided in GET response expire after time—download promptly.\").optional(),\n numCards: z.number().int().describe(\"Number of cards to create (when cardSplit='auto'). Pro users: 1-60, Ultra users: 1-75. Default: 10\").optional(),\n textMode: z.string().describe(\"Content transformation mode. 'generate' (AI expands brief inputs into full content), 'condense' (summarizes long text to fit slides), 'preserve' (keeps exact wording, adds structure).\"),\n cardSplit: z.string().describe(\"Card division logic. 'auto' (AI splits into numCards slides, ignores \\\\n---\\\\n), 'inputTextBreaks' (splits at each \\\\n---\\\\n marker, ignores numCards). Default: 'auto'\").optional(),\n folderIds: z.array(z.string()).describe(\"Target folder(s) for storing the generated gamma. Retrieve available folder IDs using the List Folders API. Multiple folders can be specified.\").optional(),\n inputText: z.string().describe(\"Text and image URLs to generate gamma from. Can be brief (few words) or extensive (pages). Token limits: 100,000 tokens (~400,000 characters). Image URLs can be included where they should appear. Use '\\\\n---\\\\n' to control card splits.\"),\n cardOptions: z.object({\n dimensions: z.string().describe(\"Card aspect ratio. Presentation: 'fluid' (expands with content, default), '16x9' (widescreen), '4x3' (classic). Document: 'fluid' (default), 'pageless' (web), 'letter' (US 8.5x11), 'a4' (international). Social: '1x1' (square), '4x5' (Instagram/LinkedIn, default), '9x16' (Stories/Reels/TikTok)\").optional(),\n headerFooter: z.object({\n topLeft: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n topRight: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n topCenter: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomLeft: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomRight: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomCenter: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n hideFromLastCard: z.boolean().describe(\"Hide header/footer from the last card. Default: false.\").optional(),\n hideFromFirstCard: z.boolean().describe(\"Hide header/footer from the first card. Default: false.\").optional(),\n}).describe(\"Header and footer configuration for cards.\\nNot applicable for 'webpage' format.\\nDocs: https://developers.gamma.app/docs/generate-api-parameters-explained\").optional(),\n}).describe(\"Card layout options.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#cardoptions\").optional(),\n textOptions: z.object({\n tone: z.string().describe(\"Writing voice/mood (only for textMode='generate'). Shapes language formality and energy. Single word ('professional', 'casual') or combined ('professional, upbeat, inspiring'). 1-500 chars.\").optional(),\n amount: z.enum([\"brief\", \"medium\", \"detailed\", \"extensive\"]).describe(\"Valid values for textOptions.amount field.\").optional(),\n audience: z.string().describe(\"Target readers (only for textMode='generate'). Tailors complexity and terminology. Examples: 'executives', 'seven year olds', 'technical developers'. 1-500 chars.\").optional(),\n language: z.enum([\"af\", \"sq\", \"ar\", \"ar-sa\", \"bn\", \"bs\", \"bg\", \"ca\", \"hr\", \"cs\", \"da\", \"nl\", \"en\", \"en-in\", \"en-gb\", \"et\", \"fi\", \"fr\", \"de\", \"el\", \"gu\", \"ha\", \"he\", \"hi\", \"hu\", \"is\", \"id\", \"it\", \"ja\", \"ja-da\", \"kn\", \"kk\", \"ko\", \"lv\", \"lt\", \"mk\", \"ms\", \"ml\", \"mr\", \"nb\", \"fa\", \"pl\", \"pt-br\", \"pt-pt\", \"ro\", \"ru\", \"sr\", \"zh-cn\", \"sl\", \"es\", \"es-419\", \"es-mx\", \"es-es\", \"sw\", \"sv\", \"tl\", \"ta\", \"te\", \"th\", \"zh-tw\", \"tr\", \"uk\", \"ur\", \"uz\", \"vi\", \"cy\", \"yo\"]).describe(\"Output language code (overrides inputText language). For languages with regional variants, use the specific code: Portuguese requires 'pt-br' (Brazilian) or 'pt-pt' (European), Spanish supports 'es' (Spain), 'es-mx' (Mexico), 'es-es' (Spain), 'es-419' (Latin America), English supports 'en' (US), 'en-gb' (UK), 'en-in' (India), Chinese supports 'zh-cn' (Simplified), 'zh-tw' (Traditional), Arabic supports 'ar' (generic), 'ar-sa' (Saudi Arabia). Default: 'en'\").optional(),\n}).describe(\"Text generation options.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#textoptions\").optional(),\n imageOptions: z.object({\n model: z.string().describe(\"AI model (only when source='aiGenerated'). Fast: 'flux-1-quick', 'flux-kontext-fast', 'imagen-3-flash', 'luma-photon-flash-1'. Standard: 'flux-1-pro', 'imagen-3-pro', 'imagen-4-pro', 'ideogram-v3-turbo', 'luma-photon-1'. Premium: 'dall-e-3', 'flux-kontext-pro', 'ideogram-v3', 'recraft-v3', 'gpt-image-1-medium'. Ultra: 'flux-1-ultra', 'imagen-4-ultra', 'flux-kontext-max', 'recraft-v3-svg', 'gpt-image-1-high'. Auto-selected if omitted. See: https://developers.gamma.app/docs/image-models\").optional(),\n style: z.string().describe(\"Visual style (only when source='aiGenerated'). Define artistic direction for consistency. Examples: 'photorealistic', 'claymation' (stop-motion look), 'pixel art' (retro 8-bit), 'minimal, black and white, line art'. Highly recommended for cohesive visuals. 1-500 chars.\").optional(),\n source: z.string().describe(\"Image source. Official documented options: 'aiGenerated' (custom AI images, requires model+style), 'pictographic' (hand-drawn illustrations/icons), 'pexels' (Pexels photography), 'giphy' (animated GIFs), 'webAllImages' (any web image, licensing unknown), 'webFreeToUse' (personal use only), 'webFreeToUseCommercially' (business/sales use), 'placeholder' (blank slots for manual upload), 'noImages' (text-only). Default: 'aiGenerated'.\").optional(),\n}).describe(\"Image options for gamma generation.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#imageoptions\").optional(),\n sharingOptions: z.object({\n emailOptions: z.object({\n access: z.string().describe(\"Access level for email recipients. 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\").optional(),\n recipients: z.array(z.string()).describe(\"Email addresses to share the generated gamma with.\").optional(),\n}).describe(\"Email sharing options for generated gamma.\").optional(),\n externalAccess: z.string().describe(\"External user permissions (outside workspace). 'noAccess' (team-only), 'view' (public read-only), 'comment' (public feedback), 'edit' (public modifications). Default: workspace settings\").optional(),\n workspaceAccess: z.string().describe(\"Workspace member permissions. 'noAccess' (private), 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share). Default: workspace settings\").optional(),\n}).describe(\"Sharing and access control options.\\nDocs: https://developers.gamma.app/docs/generate-api-parameters-explained\").optional(),\n additionalInstructions: z.string().describe(\"Extra specifications for content, layouts, etc. Character limits: 1-2000.\").optional(),\n}).describe(\"Request schema for POST /v1.0/generations.\\nComplete documentation: https://developers.gamma.app/docs/generate-api-parameters-explained\");\nconst GammaGenerateGamma_CreditsSchema = z.object({\n deducted: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits deducted for this generation.\").optional()),\n remaining: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits remaining after this generation.\").optional()),\n}).passthrough().describe(\"Credit usage information from Gamma API.\");\nexport const GammaGenerateGammaOutput = z.object({\n status: z.string().describe(\"Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').\").nullable(),\n credits: z.preprocess((value) => (value === null ? undefined : value), GammaGenerateGamma_CreditsSchema.optional()),\n gammaUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.\").optional()),\n exportUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.\").optional()),\n timed_out: z.preprocess((value) => (value === null ? undefined : value), z.boolean().describe(\"True if the 2-minute polling timeout was reached without completion.\").optional()),\n generationId: z.string().describe(\"Unique identifier for the generation.\").nullable(),\n}).passthrough().describe(\"Response for POST /v1.0/generations with polling.\\nOn success within 2 minutes: Returns file URLs directly.\\nOn timeout after 2 minutes: Returns generationId for manual checking.\");\n\nexport const gammaGenerateGamma = action(\"GAMMA_GENERATE_GAMMA\", {\n slug: \"gamma-generate-gamma\",\n name: \"Generate a Gamma\",\n description: \"Generate a Gamma presentation, document, webpage, or social media content using AI. Documentation: https://developers.gamma.app/docs/generate-api-parameters-explained The API creates content asynchronously. Poll the returned generationId to check status.\",\n input: GammaGenerateGammaInput,\n output: GammaGenerateGammaOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"generate-gamma.mjs","names":[],"sources":["../../src/actions/generate-gamma.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaGenerateGammaInput = z.object({\n format: z.string().describe(\"Output type. 'presentation' (slide deck), 'document' (continuous page/report), 'webpage' (web page), 'social' (Instagram/TikTok/LinkedIn posts). Default: 'presentation'\").optional(),\n themeId: z.string().describe(\"Visual theme identifier defining color palette and typography. To use the default theme, omit this field entirely — do NOT pass 'default' as a value. IMPORTANT: Theme IDs cannot be guessed - you MUST retrieve them using the List Themes API first. Standard themes use lowercase words ('alien', 'aurora'), hyphens ('default-dark', 'blue-steel'), or alphanumeric IDs ('ag4mc9ggtxi8iyi'). Custom workspace themes use 'theme_' prefix ('theme_abc123xyz'). DO NOT use underscore-separated words like 'corporate_blue' - these are invalid. Both standard (global) and custom (workspace-specific) themes are supported.\").optional(),\n exportAs: z.string().describe(\"Additional download format alongside Gamma URL. 'pdf' (static document) or 'pptx' (editable PowerPoint). Links provided in GET response expire after time—download promptly.\").optional(),\n numCards: z.number().int().describe(\"Number of cards to create (when cardSplit='auto'). Pro users: 1-60, Ultra users: 1-75. Default: 10\").optional(),\n textMode: z.string().describe(\"Content transformation mode. 'generate' (AI expands brief inputs into full content), 'condense' (summarizes long text to fit slides), 'preserve' (keeps exact wording, adds structure).\"),\n cardSplit: z.string().describe(\"Card division logic. 'auto' (AI splits into numCards slides, ignores \\\\n---\\\\n), 'inputTextBreaks' (splits at each \\\\n---\\\\n marker, ignores numCards). Default: 'auto'\").optional(),\n folderIds: z.array(z.string()).describe(\"Target folder(s) for storing the generated gamma. Retrieve available folder IDs using the List Folders API. Multiple folders can be specified.\").optional(),\n inputText: z.string().describe(\"Text and image URLs to generate gamma from. Can be brief (few words) or extensive (pages). Token limits: 100,000 tokens (~400,000 characters). Image URLs can be included where they should appear. Use '\\\\n---\\\\n' to control card splits.\"),\n cardOptions: z.object({\n dimensions: z.string().describe(\"Card aspect ratio. Presentation: 'fluid' (expands with content, default), '16x9' (widescreen), '4x3' (classic). Document: 'fluid' (default), 'pageless' (web), 'letter' (US 8.5x11), 'a4' (international). Social: '1x1' (square), '4x5' (Instagram/LinkedIn, default), '9x16' (Stories/Reels/TikTok)\").optional(),\n headerFooter: z.object({\n topLeft: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n topRight: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n topCenter: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomLeft: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomRight: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n bottomCenter: z.union([z.object({\n type: z.string().describe(\"Content type must be 'text' for text elements.\"),\n value: z.string().describe(\"Text content to display in the header or footer.\"),\n}).describe(\"Text content configuration for header/footer.\"), z.object({\n src: z.string().nullable().optional(),\n size: z.enum([\"sm\", \"md\", \"lg\", \"xl\"]).describe(\"Valid image sizes for header/footer images.\").nullable().optional(),\n type: z.string().describe(\"Content type must be 'image' for image elements.\"),\n source: z.enum([\"themeLogo\", \"custom\"]).describe(\"Image source: 'themeLogo' (use theme's logo) or 'custom' (custom URL).\"),\n}).describe(\"Image content configuration for header/footer.\"), z.object({\n type: z.string().describe(\"Content type must be 'cardNumber' to display card numbers.\"),\n}).describe(\"Card number content configuration for header/footer.\")]).optional(),\n hideFromLastCard: z.boolean().describe(\"Hide header/footer from the last card. Default: false.\").optional(),\n hideFromFirstCard: z.boolean().describe(\"Hide header/footer from the first card. Default: false.\").optional(),\n}).describe(\"Header and footer configuration for cards.\\nNot applicable for 'webpage' format.\\nDocs: https://developers.gamma.app/docs/generate-api-parameters-explained\").optional(),\n}).describe(\"Card layout options.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#cardoptions\").optional(),\n textOptions: z.object({\n tone: z.string().describe(\"Writing voice/mood (only for textMode='generate'). Shapes language formality and energy. Single word ('professional', 'casual') or combined ('professional, upbeat, inspiring'). 1-500 chars.\").optional(),\n amount: z.enum([\"brief\", \"medium\", \"detailed\", \"extensive\"]).describe(\"Valid values for textOptions.amount field.\").optional(),\n audience: z.string().describe(\"Target readers (only for textMode='generate'). Tailors complexity and terminology. Examples: 'executives', 'seven year olds', 'technical developers'. 1-500 chars.\").optional(),\n language: z.enum([\"af\", \"sq\", \"ar\", \"ar-sa\", \"bn\", \"bs\", \"bg\", \"ca\", \"hr\", \"cs\", \"da\", \"nl\", \"en\", \"en-in\", \"en-gb\", \"et\", \"fi\", \"fr\", \"de\", \"el\", \"gu\", \"ha\", \"he\", \"hi\", \"hu\", \"is\", \"id\", \"it\", \"ja\", \"ja-da\", \"kn\", \"kk\", \"ko\", \"lv\", \"lt\", \"mk\", \"ms\", \"ml\", \"mr\", \"nb\", \"fa\", \"pl\", \"pt-br\", \"pt-pt\", \"ro\", \"ru\", \"sr\", \"zh-cn\", \"sl\", \"es\", \"es-419\", \"es-mx\", \"es-es\", \"sw\", \"sv\", \"tl\", \"ta\", \"te\", \"th\", \"zh-tw\", \"tr\", \"uk\", \"ur\", \"uz\", \"vi\", \"cy\", \"yo\"]).describe(\"Output language code (overrides inputText language). For languages with regional variants, use the specific code: Portuguese requires 'pt-br' (Brazilian) or 'pt-pt' (European), Spanish supports 'es' (Spain), 'es-mx' (Mexico), 'es-es' (Spain), 'es-419' (Latin America), English supports 'en' (US), 'en-gb' (UK), 'en-in' (India), Chinese supports 'zh-cn' (Simplified), 'zh-tw' (Traditional), Arabic supports 'ar' (generic), 'ar-sa' (Saudi Arabia). Default: 'en'\").optional(),\n}).describe(\"Text generation options.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#textoptions\").optional(),\n imageOptions: z.object({\n model: z.string().describe(\"AI model (only when source='aiGenerated'). Fast: 'flux-1-quick', 'flux-kontext-fast', 'imagen-3-flash', 'luma-photon-flash-1'. Standard: 'flux-1-pro', 'imagen-3-pro', 'imagen-4-pro', 'ideogram-v3-turbo', 'luma-photon-1'. Premium: 'dall-e-3', 'flux-kontext-pro', 'ideogram-v3', 'recraft-v3', 'gpt-image-1-medium'. Ultra: 'flux-1-ultra', 'imagen-4-ultra', 'flux-kontext-max', 'recraft-v3-svg', 'gpt-image-1-high'. Auto-selected if omitted. See: https://developers.gamma.app/docs/image-models\").optional(),\n style: z.string().describe(\"Visual style (only when source='aiGenerated'). Define artistic direction for consistency. Examples: 'photorealistic', 'claymation' (stop-motion look), 'pixel art' (retro 8-bit), 'minimal, black and white, line art'. Highly recommended for cohesive visuals. 1-500 chars.\").optional(),\n source: z.string().describe(\"Image source. Official documented options: 'aiGenerated' (custom AI images, requires model+style), 'pictographic' (hand-drawn illustrations/icons), 'pexels' (Pexels photography), 'giphy' (animated GIFs), 'webAllImages' (any web image, licensing unknown), 'webFreeToUse' (personal use only), 'webFreeToUseCommercially' (business/sales use), 'placeholder' (blank slots for manual upload), 'noImages' (text-only). Default: 'aiGenerated'.\").optional(),\n}).describe(\"Image options for gamma generation.\\nDocs: https://developers.gamma.app/docs/how-does-the-generations-api-work#imageoptions\").optional(),\n sharingOptions: z.object({\n emailOptions: z.object({\n access: z.string().describe(\"Access level for email recipients. 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share).\").optional(),\n recipients: z.array(z.string()).describe(\"Email addresses to share the generated gamma with.\").optional(),\n}).describe(\"Email sharing options for generated gamma.\").optional(),\n externalAccess: z.string().describe(\"External user permissions (outside workspace). 'noAccess' (team-only), 'view' (public read-only), 'comment' (public feedback), 'edit' (public modifications). Default: workspace settings\").optional(),\n workspaceAccess: z.string().describe(\"Workspace member permissions. 'noAccess' (private), 'view' (read-only), 'comment' (add feedback), 'edit' (modify content), 'fullAccess' (view+comment+edit+share). Default: workspace settings\").optional(),\n}).describe(\"Sharing and access control options.\\nDocs: https://developers.gamma.app/docs/generate-api-parameters-explained\").optional(),\n additionalInstructions: z.string().describe(\"Extra specifications for content, layouts, etc. Character limits: 1-2000.\").optional(),\n}).describe(\"Request schema for POST /v1.0/generations.\\nComplete documentation: https://developers.gamma.app/docs/generate-api-parameters-explained\");\nconst GammaGenerateGamma_CreditsSchema = z.object({\n deducted: z.number().int().describe(\"Number of credits deducted for this generation.\").nullable().optional(),\n remaining: z.number().int().describe(\"Number of credits remaining after this generation.\").nullable().optional(),\n}).passthrough().describe(\"Credit usage information from Gamma API.\");\nexport const GammaGenerateGammaOutput = z.object({\n status: z.string().describe(\"Generation status (e.g., 'pending', 'completed', 'failed', 'timeout').\").nullable(),\n credits: GammaGenerateGamma_CreditsSchema.nullable().optional(),\n gammaUrl: z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status='completed'.\").nullable().optional(),\n exportUrl: z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified. Available when status='completed'. Download promptly as links expire.\").nullable().optional(),\n timed_out: z.boolean().describe(\"True if the 2-minute polling timeout was reached without completion.\").nullable().optional(),\n generationId: z.string().describe(\"Unique identifier for the generation.\").nullable(),\n}).passthrough().describe(\"Response for POST /v1.0/generations with polling.\\nOn success within 2 minutes: Returns file URLs directly.\\nOn timeout after 2 minutes: Returns generationId for manual checking.\");\n\nexport const gammaGenerateGamma = action(\"GAMMA_GENERATE_GAMMA\", {\n slug: \"gamma-generate-gamma\",\n name: \"Generate a Gamma\",\n description: \"Generate a Gamma presentation, document, webpage, or social media content using AI. Documentation: https://developers.gamma.app/docs/generate-api-parameters-explained The API creates content asynchronously. Poll the returned generationId to check status.\",\n input: GammaGenerateGammaInput,\n output: GammaGenerateGammaOutput,\n});\n"],"mappings":"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"}
@@ -3,14 +3,14 @@ let zod = require("zod");
3
3
  //#region src/actions/get-gamma-file-urls.ts
4
4
  const GammaGetGammaFileUrlsInput = zod.z.object({ generation_id: zod.z.string().describe("The generationId obtained from the POST generations endpoint. Must contain only letters and numbers (alphanumeric characters).") }).describe("Request path parameter for GET /v1.0/generations/{generationId}.\nRefer to: https://developers.gamma.app/reference/get-generation-status");
5
5
  const GammaGetGammaFileUrls_CreditsSchema = zod.z.object({
6
- deducted: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.number().int().describe("Number of credits deducted for this generation.").optional()),
7
- remaining: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.number().int().describe("Number of credits remaining after this generation.").optional())
6
+ deducted: zod.z.number().int().describe("Number of credits deducted for this generation.").nullable().optional(),
7
+ remaining: zod.z.number().int().describe("Number of credits remaining after this generation.").nullable().optional()
8
8
  }).passthrough().describe("Credit usage information returned by Gamma API.");
9
9
  const GammaGetGammaFileUrlsOutput = zod.z.object({
10
10
  status: zod.z.string().describe("Generation status (pending, completed, or failed).").nullable(),
11
- credits: zod.z.preprocess((value) => value === null ? void 0 : value, GammaGetGammaFileUrls_CreditsSchema.optional()),
12
- gammaUrl: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status is 'completed'.").optional()),
13
- exportUrl: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified during generation. Available when status is 'completed'.").optional()),
11
+ credits: GammaGetGammaFileUrls_CreditsSchema.nullable().optional(),
12
+ gammaUrl: zod.z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status is 'completed'.").nullable().optional(),
13
+ exportUrl: zod.z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified during generation. Available when status is 'completed'.").nullable().optional(),
14
14
  generationId: zod.z.string().describe("The unique identifier for this generation request.").nullable()
15
15
  }).passthrough().describe("Response model for GET /v1.0/generations/{generationId} endpoint.\nReturns generation status, file URLs, and credit usage information.");
16
16
  const gammaGetGammaFileUrls = require_action.action("GAMMA_GET_GAMMA_FILE_URLS", {
@@ -1 +1 @@
1
- {"version":3,"file":"get-gamma-file-urls.cjs","names":["z","action"],"sources":["../../src/actions/get-gamma-file-urls.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaGetGammaFileUrlsInput = z.object({\n generation_id: z.string().describe(\"The generationId obtained from the POST generations endpoint. Must contain only letters and numbers (alphanumeric characters).\"),\n}).describe(\"Request path parameter for GET /v1.0/generations/{generationId}.\\nRefer to: https://developers.gamma.app/reference/get-generation-status\");\nconst GammaGetGammaFileUrls_CreditsSchema = z.object({\n deducted: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits deducted for this generation.\").optional()),\n remaining: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits remaining after this generation.\").optional()),\n}).passthrough().describe(\"Credit usage information returned by Gamma API.\");\nexport const GammaGetGammaFileUrlsOutput = z.object({\n status: z.string().describe(\"Generation status (pending, completed, or failed).\").nullable(),\n credits: z.preprocess((value) => (value === null ? undefined : value), GammaGetGammaFileUrls_CreditsSchema.optional()),\n gammaUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status is 'completed'.\").optional()),\n exportUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified during generation. Available when status is 'completed'.\").optional()),\n generationId: z.string().describe(\"The unique identifier for this generation request.\").nullable(),\n}).passthrough().describe(\"Response model for GET /v1.0/generations/{generationId} endpoint.\\nReturns generation status, file URLs, and credit usage information.\");\n\nexport const gammaGetGammaFileUrls = action(\"GAMMA_GET_GAMMA_FILE_URLS\", {\n slug: \"gamma-get-gamma-file-urls\",\n name: \"Get Gamma File URLs\",\n description: \"Retrieve generation status and file URLs. Poll this endpoint every ~5 seconds until status is 'completed'. Docs: https://developers.gamma.app/reference/get-generation-status\",\n input: GammaGetGammaFileUrlsInput,\n output: GammaGetGammaFileUrlsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA6BA,IAAAA,EAAE,OAAO,EACjD,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI,EACrK,CAAC,CAAC,CAAC,SAAS,0IAA0I;AACtJ,MAAM,sCAAsCA,IAAAA,EAAE,OAAO;CACnD,UAAUA,IAAAA,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS,CAAC;CAC/J,WAAWA,IAAAA,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC;AACrK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iDAAiD;AAC3E,MAAa,8BAA8BA,IAAAA,EAAE,OAAO;CAClD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CAC3F,SAASA,IAAAA,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,oCAAoC,SAAS,CAAC;CACrH,UAAUA,IAAAA,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oGAAoG,CAAC,CAAC,SAAS,CAAC;CAC5M,WAAWA,IAAAA,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS,CAAC;CACrO,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;AACnG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wIAAwI;AAElK,MAAa,wBAAwBC,eAAAA,OAAO,6BAA6B;CACvE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"get-gamma-file-urls.cjs","names":["z","action"],"sources":["../../src/actions/get-gamma-file-urls.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaGetGammaFileUrlsInput = z.object({\n generation_id: z.string().describe(\"The generationId obtained from the POST generations endpoint. Must contain only letters and numbers (alphanumeric characters).\"),\n}).describe(\"Request path parameter for GET /v1.0/generations/{generationId}.\\nRefer to: https://developers.gamma.app/reference/get-generation-status\");\nconst GammaGetGammaFileUrls_CreditsSchema = z.object({\n deducted: z.number().int().describe(\"Number of credits deducted for this generation.\").nullable().optional(),\n remaining: z.number().int().describe(\"Number of credits remaining after this generation.\").nullable().optional(),\n}).passthrough().describe(\"Credit usage information returned by Gamma API.\");\nexport const GammaGetGammaFileUrlsOutput = z.object({\n status: z.string().describe(\"Generation status (pending, completed, or failed).\").nullable(),\n credits: GammaGetGammaFileUrls_CreditsSchema.nullable().optional(),\n gammaUrl: z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status is 'completed'.\").nullable().optional(),\n exportUrl: z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified during generation. Available when status is 'completed'.\").nullable().optional(),\n generationId: z.string().describe(\"The unique identifier for this generation request.\").nullable(),\n}).passthrough().describe(\"Response model for GET /v1.0/generations/{generationId} endpoint.\\nReturns generation status, file URLs, and credit usage information.\");\n\nexport const gammaGetGammaFileUrls = action(\"GAMMA_GET_GAMMA_FILE_URLS\", {\n slug: \"gamma-get-gamma-file-urls\",\n name: \"Get Gamma File URLs\",\n description: \"Retrieve generation status and file URLs. Poll this endpoint every ~5 seconds until status is 'completed'. Docs: https://developers.gamma.app/reference/get-generation-status\",\n input: GammaGetGammaFileUrlsInput,\n output: GammaGetGammaFileUrlsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA6BA,IAAAA,EAAE,OAAO,EACjD,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI,EACrK,CAAC,CAAC,CAAC,SAAS,0IAA0I;AACtJ,MAAM,sCAAsCA,IAAAA,EAAE,OAAO;CACnD,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3G,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACjH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iDAAiD;AAC3E,MAAa,8BAA8BA,IAAAA,EAAE,OAAO;CAClD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CAC3F,SAAS,oCAAoC,SAAS,CAAC,CAAC,SAAS;CACjE,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oGAAoG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxJ,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjL,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;AACnG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wIAAwI;AAElK,MAAa,wBAAwBC,eAAAA,OAAO,6BAA6B;CACvE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -6,28 +6,17 @@ declare const GammaGetGammaFileUrlsInput: z.ZodObject<{
6
6
  }, z.core.$strip>;
7
7
  declare const GammaGetGammaFileUrlsOutput: z.ZodObject<{
8
8
  status: z.ZodNullable<z.ZodString>;
9
- credits: z.ZodPreprocess<z.ZodOptional<z.ZodObject<{
10
- deducted: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
11
- remaining: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
9
+ credits: z.ZodOptional<z.ZodNullable<z.ZodObject<{
10
+ deducted: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
11
+ remaining: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
12
12
  }, z.core.$loose>>>;
13
- gammaUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
14
- exportUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
13
+ gammaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
+ exportUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
15
  generationId: z.ZodNullable<z.ZodString>;
16
16
  }, z.core.$loose>;
17
17
  declare const gammaGetGammaFileUrls: import("@keystrokehq/action").WorkflowActionDefinition<{
18
18
  generation_id: string;
19
- }, {
20
- [x: string]: unknown;
21
- status: string | null;
22
- generationId: string | null;
23
- credits?: {
24
- [x: string]: unknown;
25
- deducted?: number | undefined;
26
- remaining?: number | undefined;
27
- } | undefined;
28
- gammaUrl?: string | undefined;
29
- exportUrl?: string | undefined;
30
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
19
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
31
20
  //#endregion
32
21
  export { gammaGetGammaFileUrls };
33
22
  //# sourceMappingURL=get-gamma-file-urls.d.cts.map
@@ -6,28 +6,17 @@ declare const GammaGetGammaFileUrlsInput: z.ZodObject<{
6
6
  }, z.core.$strip>;
7
7
  declare const GammaGetGammaFileUrlsOutput: z.ZodObject<{
8
8
  status: z.ZodNullable<z.ZodString>;
9
- credits: z.ZodPreprocess<z.ZodOptional<z.ZodObject<{
10
- deducted: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
11
- remaining: z.ZodPreprocess<z.ZodOptional<z.ZodNumber>>;
9
+ credits: z.ZodOptional<z.ZodNullable<z.ZodObject<{
10
+ deducted: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
11
+ remaining: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
12
12
  }, z.core.$loose>>>;
13
- gammaUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
14
- exportUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
13
+ gammaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
+ exportUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
15
  generationId: z.ZodNullable<z.ZodString>;
16
16
  }, z.core.$loose>;
17
17
  declare const gammaGetGammaFileUrls: import("@keystrokehq/action").WorkflowActionDefinition<{
18
18
  generation_id: string;
19
- }, {
20
- [x: string]: unknown;
21
- status: string | null;
22
- generationId: string | null;
23
- credits?: {
24
- [x: string]: unknown;
25
- deducted?: number | undefined;
26
- remaining?: number | undefined;
27
- } | undefined;
28
- gammaUrl?: string | undefined;
29
- exportUrl?: string | undefined;
30
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
19
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
31
20
  //#endregion
32
21
  export { gammaGetGammaFileUrls };
33
22
  //# sourceMappingURL=get-gamma-file-urls.d.mts.map
@@ -3,8 +3,8 @@ import { z } from "zod";
3
3
  //#region src/actions/get-gamma-file-urls.ts
4
4
  const GammaGetGammaFileUrlsInput = z.object({ generation_id: z.string().describe("The generationId obtained from the POST generations endpoint. Must contain only letters and numbers (alphanumeric characters).") }).describe("Request path parameter for GET /v1.0/generations/{generationId}.\nRefer to: https://developers.gamma.app/reference/get-generation-status");
5
5
  const GammaGetGammaFileUrls_CreditsSchema = z.object({
6
- deducted: z.preprocess((value) => value === null ? void 0 : value, z.number().int().describe("Number of credits deducted for this generation.").optional()),
7
- remaining: z.preprocess((value) => value === null ? void 0 : value, z.number().int().describe("Number of credits remaining after this generation.").optional())
6
+ deducted: z.number().int().describe("Number of credits deducted for this generation.").nullable().optional(),
7
+ remaining: z.number().int().describe("Number of credits remaining after this generation.").nullable().optional()
8
8
  }).passthrough().describe("Credit usage information returned by Gamma API.");
9
9
  const gammaGetGammaFileUrls = action("GAMMA_GET_GAMMA_FILE_URLS", {
10
10
  slug: "gamma-get-gamma-file-urls",
@@ -13,9 +13,9 @@ const gammaGetGammaFileUrls = action("GAMMA_GET_GAMMA_FILE_URLS", {
13
13
  input: GammaGetGammaFileUrlsInput,
14
14
  output: z.object({
15
15
  status: z.string().describe("Generation status (pending, completed, or failed).").nullable(),
16
- credits: z.preprocess((value) => value === null ? void 0 : value, GammaGetGammaFileUrls_CreditsSchema.optional()),
17
- gammaUrl: z.preprocess((value) => value === null ? void 0 : value, z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status is 'completed'.").optional()),
18
- exportUrl: z.preprocess((value) => value === null ? void 0 : value, z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified during generation. Available when status is 'completed'.").optional()),
16
+ credits: GammaGetGammaFileUrls_CreditsSchema.nullable().optional(),
17
+ gammaUrl: z.string().describe("URL to the generated Gamma document (editable in Gamma app). Available when status is 'completed'.").nullable().optional(),
18
+ exportUrl: z.string().describe("URL to the exported file (PDF or PPTX), if exportAs was specified during generation. Available when status is 'completed'.").nullable().optional(),
19
19
  generationId: z.string().describe("The unique identifier for this generation request.").nullable()
20
20
  }).passthrough().describe("Response model for GET /v1.0/generations/{generationId} endpoint.\nReturns generation status, file URLs, and credit usage information.")
21
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"get-gamma-file-urls.mjs","names":[],"sources":["../../src/actions/get-gamma-file-urls.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaGetGammaFileUrlsInput = z.object({\n generation_id: z.string().describe(\"The generationId obtained from the POST generations endpoint. Must contain only letters and numbers (alphanumeric characters).\"),\n}).describe(\"Request path parameter for GET /v1.0/generations/{generationId}.\\nRefer to: https://developers.gamma.app/reference/get-generation-status\");\nconst GammaGetGammaFileUrls_CreditsSchema = z.object({\n deducted: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits deducted for this generation.\").optional()),\n remaining: z.preprocess((value) => (value === null ? undefined : value), z.number().int().describe(\"Number of credits remaining after this generation.\").optional()),\n}).passthrough().describe(\"Credit usage information returned by Gamma API.\");\nexport const GammaGetGammaFileUrlsOutput = z.object({\n status: z.string().describe(\"Generation status (pending, completed, or failed).\").nullable(),\n credits: z.preprocess((value) => (value === null ? undefined : value), GammaGetGammaFileUrls_CreditsSchema.optional()),\n gammaUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status is 'completed'.\").optional()),\n exportUrl: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified during generation. Available when status is 'completed'.\").optional()),\n generationId: z.string().describe(\"The unique identifier for this generation request.\").nullable(),\n}).passthrough().describe(\"Response model for GET /v1.0/generations/{generationId} endpoint.\\nReturns generation status, file URLs, and credit usage information.\");\n\nexport const gammaGetGammaFileUrls = action(\"GAMMA_GET_GAMMA_FILE_URLS\", {\n slug: \"gamma-get-gamma-file-urls\",\n name: \"Get Gamma File URLs\",\n description: \"Retrieve generation status and file URLs. Poll this endpoint every ~5 seconds until status is 'completed'. Docs: https://developers.gamma.app/reference/get-generation-status\",\n input: GammaGetGammaFileUrlsInput,\n output: GammaGetGammaFileUrlsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA6B,EAAE,OAAO,EACjD,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI,EACrK,CAAC,CAAC,CAAC,SAAS,0IAA0I;AACtJ,MAAM,sCAAsC,EAAE,OAAO;CACnD,UAAU,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS,CAAC;CAC/J,WAAW,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC;AACrK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iDAAiD;AAS3E,MAAa,wBAAwB,OAAO,6BAA6B;CACvE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAbyC,EAAE,OAAO;EAClD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;EAC3F,SAAS,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,oCAAoC,SAAS,CAAC;EACrH,UAAU,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,oGAAoG,CAAC,CAAC,SAAS,CAAC;EAC5M,WAAW,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS,CAAC;EACrO,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CACnG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wIAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"get-gamma-file-urls.mjs","names":[],"sources":["../../src/actions/get-gamma-file-urls.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaGetGammaFileUrlsInput = z.object({\n generation_id: z.string().describe(\"The generationId obtained from the POST generations endpoint. Must contain only letters and numbers (alphanumeric characters).\"),\n}).describe(\"Request path parameter for GET /v1.0/generations/{generationId}.\\nRefer to: https://developers.gamma.app/reference/get-generation-status\");\nconst GammaGetGammaFileUrls_CreditsSchema = z.object({\n deducted: z.number().int().describe(\"Number of credits deducted for this generation.\").nullable().optional(),\n remaining: z.number().int().describe(\"Number of credits remaining after this generation.\").nullable().optional(),\n}).passthrough().describe(\"Credit usage information returned by Gamma API.\");\nexport const GammaGetGammaFileUrlsOutput = z.object({\n status: z.string().describe(\"Generation status (pending, completed, or failed).\").nullable(),\n credits: GammaGetGammaFileUrls_CreditsSchema.nullable().optional(),\n gammaUrl: z.string().describe(\"URL to the generated Gamma document (editable in Gamma app). Available when status is 'completed'.\").nullable().optional(),\n exportUrl: z.string().describe(\"URL to the exported file (PDF or PPTX), if exportAs was specified during generation. Available when status is 'completed'.\").nullable().optional(),\n generationId: z.string().describe(\"The unique identifier for this generation request.\").nullable(),\n}).passthrough().describe(\"Response model for GET /v1.0/generations/{generationId} endpoint.\\nReturns generation status, file URLs, and credit usage information.\");\n\nexport const gammaGetGammaFileUrls = action(\"GAMMA_GET_GAMMA_FILE_URLS\", {\n slug: \"gamma-get-gamma-file-urls\",\n name: \"Get Gamma File URLs\",\n description: \"Retrieve generation status and file URLs. Poll this endpoint every ~5 seconds until status is 'completed'. Docs: https://developers.gamma.app/reference/get-generation-status\",\n input: GammaGetGammaFileUrlsInput,\n output: GammaGetGammaFileUrlsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA6B,EAAE,OAAO,EACjD,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI,EACrK,CAAC,CAAC,CAAC,SAAS,0IAA0I;AACtJ,MAAM,sCAAsC,EAAE,OAAO;CACnD,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3G,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACjH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iDAAiD;AAS3E,MAAa,wBAAwB,OAAO,6BAA6B;CACvE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAbyC,EAAE,OAAO;EAClD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;EAC3F,SAAS,oCAAoC,SAAS,CAAC,CAAC,SAAS;EACjE,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,oGAAoG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACxJ,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjL,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CACnG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wIAOhB;AACV,CAAC"}
@@ -13,7 +13,7 @@ const GammaListFolders_FolderItemSchema = zod.z.object({
13
13
  const GammaListFoldersOutput = zod.z.object({
14
14
  data: zod.z.array(GammaListFolders_FolderItemSchema).describe("Array of folder objects."),
15
15
  hasMore: zod.z.boolean().describe("Indicates whether more pages exist. When true, use nextCursor to fetch the next page.").nullable(),
16
- nextCursor: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.string().describe("Opaque cursor token for the next page. Pass this value to the 'after' parameter in your next request. Returns null on the last page.").optional())
16
+ nextCursor: zod.z.string().describe("Opaque cursor token for the next page. Pass this value to the 'after' parameter in your next request. Returns null on the last page.").nullable().optional()
17
17
  }).passthrough().describe("Response for GET /v1.0/folders with pagination support.");
18
18
  const gammaListFolders = require_action.action("GAMMA_LIST_FOLDERS", {
19
19
  slug: "gamma-list-folders",
@@ -1 +1 @@
1
- {"version":3,"file":"list-folders.cjs","names":["z","action"],"sources":["../../src/actions/list-folders.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaListFoldersInput = z.object({\n after: z.string().describe(\"Cursor token for fetching the next page. Use the nextCursor value from the previous response. Pagination is forward-only.\").optional(),\n limit: z.number().int().describe(\"Number of items to return per page. Maximum: 50.\").optional(),\n query: z.string().describe(\"Search by name (case-insensitive). Filters results to items matching the search term.\").optional(),\n}).describe(\"Request parameters for GET /v1.0/folders.\\nDocs: https://developers.gamma.app/docs/list-themes-and-list-folders-apis-explained\");\nconst GammaListFolders_FolderItemSchema = z.object({\n id: z.string().describe(\"Unique folder identifier.\").nullable(),\n name: z.string().describe(\"Folder name.\").nullable(),\n}).passthrough().describe(\"Individual folder object.\");\nexport const GammaListFoldersOutput = z.object({\n data: z.array(GammaListFolders_FolderItemSchema).describe(\"Array of folder objects.\"),\n hasMore: z.boolean().describe(\"Indicates whether more pages exist. When true, use nextCursor to fetch the next page.\").nullable(),\n nextCursor: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"Opaque cursor token for the next page. Pass this value to the 'after' parameter in your next request. Returns null on the last page.\").optional()),\n}).passthrough().describe(\"Response for GET /v1.0/folders with pagination support.\");\n\nexport const gammaListFolders = action(\"GAMMA_LIST_FOLDERS\", {\n slug: \"gamma-list-folders\",\n name: \"List Folders\",\n description: \"Tool to retrieve a paginated list of folders in your Gamma workspace. Use when you need folder IDs to organize generated content or to search for specific folders by name.\",\n input: GammaListFoldersInput,\n output: GammaListFoldersOutput,\n});\n"],"mappings":";;;AAIA,MAAa,wBAAwBA,IAAAA,EAAE,OAAO;CAC5C,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2HAA2H,CAAC,CAAC,SAAS;CACjK,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS;CAC9F,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uFAAuF,CAAC,CAAC,SAAS;AAC/H,CAAC,CAAC,CAAC,SAAS,gIAAgI;AAC5I,MAAM,oCAAoCA,IAAAA,EAAE,OAAO;CACjD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS;CAC9D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,SAAS;AACrD,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,2BAA2B;AACrD,MAAa,yBAAyBA,IAAAA,EAAE,OAAO;CAC7C,MAAMA,IAAAA,EAAE,MAAM,iCAAiC,CAAC,CAAC,SAAS,0BAA0B;CACpF,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,uFAAuF,CAAC,CAAC,SAAS;CAChI,YAAYA,IAAAA,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sIAAsI,CAAC,CAAC,SAAS,CAAC;AAClP,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,yDAAyD;AAEnF,MAAa,mBAAmBC,eAAAA,OAAO,sBAAsB;CAC3D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"list-folders.cjs","names":["z","action"],"sources":["../../src/actions/list-folders.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaListFoldersInput = z.object({\n after: z.string().describe(\"Cursor token for fetching the next page. Use the nextCursor value from the previous response. Pagination is forward-only.\").optional(),\n limit: z.number().int().describe(\"Number of items to return per page. Maximum: 50.\").optional(),\n query: z.string().describe(\"Search by name (case-insensitive). Filters results to items matching the search term.\").optional(),\n}).describe(\"Request parameters for GET /v1.0/folders.\\nDocs: https://developers.gamma.app/docs/list-themes-and-list-folders-apis-explained\");\nconst GammaListFolders_FolderItemSchema = z.object({\n id: z.string().describe(\"Unique folder identifier.\").nullable(),\n name: z.string().describe(\"Folder name.\").nullable(),\n}).passthrough().describe(\"Individual folder object.\");\nexport const GammaListFoldersOutput = z.object({\n data: z.array(GammaListFolders_FolderItemSchema).describe(\"Array of folder objects.\"),\n hasMore: z.boolean().describe(\"Indicates whether more pages exist. When true, use nextCursor to fetch the next page.\").nullable(),\n nextCursor: z.string().describe(\"Opaque cursor token for the next page. Pass this value to the 'after' parameter in your next request. Returns null on the last page.\").nullable().optional(),\n}).passthrough().describe(\"Response for GET /v1.0/folders with pagination support.\");\n\nexport const gammaListFolders = action(\"GAMMA_LIST_FOLDERS\", {\n slug: \"gamma-list-folders\",\n name: \"List Folders\",\n description: \"Tool to retrieve a paginated list of folders in your Gamma workspace. Use when you need folder IDs to organize generated content or to search for specific folders by name.\",\n input: GammaListFoldersInput,\n output: GammaListFoldersOutput,\n});\n"],"mappings":";;;AAIA,MAAa,wBAAwBA,IAAAA,EAAE,OAAO;CAC5C,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2HAA2H,CAAC,CAAC,SAAS;CACjK,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS;CAC9F,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uFAAuF,CAAC,CAAC,SAAS;AAC/H,CAAC,CAAC,CAAC,SAAS,gIAAgI;AAC5I,MAAM,oCAAoCA,IAAAA,EAAE,OAAO;CACjD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS;CAC9D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,SAAS;AACrD,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,2BAA2B;AACrD,MAAa,yBAAyBA,IAAAA,EAAE,OAAO;CAC7C,MAAMA,IAAAA,EAAE,MAAM,iCAAiC,CAAC,CAAC,SAAS,0BAA0B;CACpF,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,uFAAuF,CAAC,CAAC,SAAS;CAChI,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sIAAsI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9L,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,yDAAyD;AAEnF,MAAa,mBAAmBC,eAAAA,OAAO,sBAAsB;CAC3D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -12,22 +12,13 @@ declare const GammaListFoldersOutput: z.ZodObject<{
12
12
  name: z.ZodNullable<z.ZodString>;
13
13
  }, z.core.$loose>>;
14
14
  hasMore: z.ZodNullable<z.ZodBoolean>;
15
- nextCursor: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
15
+ nextCursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
16
  }, z.core.$loose>;
17
17
  declare const gammaListFolders: import("@keystrokehq/action").WorkflowActionDefinition<{
18
18
  after?: string | undefined;
19
19
  limit?: number | undefined;
20
20
  query?: string | undefined;
21
- }, {
22
- [x: string]: unknown;
23
- data: {
24
- [x: string]: unknown;
25
- id: string | null;
26
- name: string | null;
27
- }[];
28
- hasMore: boolean | null;
29
- nextCursor?: string | undefined;
30
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
21
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
31
22
  //#endregion
32
23
  export { gammaListFolders };
33
24
  //# sourceMappingURL=list-folders.d.cts.map
@@ -12,22 +12,13 @@ declare const GammaListFoldersOutput: z.ZodObject<{
12
12
  name: z.ZodNullable<z.ZodString>;
13
13
  }, z.core.$loose>>;
14
14
  hasMore: z.ZodNullable<z.ZodBoolean>;
15
- nextCursor: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
15
+ nextCursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
16
  }, z.core.$loose>;
17
17
  declare const gammaListFolders: import("@keystrokehq/action").WorkflowActionDefinition<{
18
18
  after?: string | undefined;
19
19
  limit?: number | undefined;
20
20
  query?: string | undefined;
21
- }, {
22
- [x: string]: unknown;
23
- data: {
24
- [x: string]: unknown;
25
- id: string | null;
26
- name: string | null;
27
- }[];
28
- hasMore: boolean | null;
29
- nextCursor?: string | undefined;
30
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
21
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
31
22
  //#endregion
32
23
  export { gammaListFolders };
33
24
  //# sourceMappingURL=list-folders.d.mts.map
@@ -18,7 +18,7 @@ const gammaListFolders = action("GAMMA_LIST_FOLDERS", {
18
18
  output: z.object({
19
19
  data: z.array(GammaListFolders_FolderItemSchema).describe("Array of folder objects."),
20
20
  hasMore: z.boolean().describe("Indicates whether more pages exist. When true, use nextCursor to fetch the next page.").nullable(),
21
- nextCursor: z.preprocess((value) => value === null ? void 0 : value, z.string().describe("Opaque cursor token for the next page. Pass this value to the 'after' parameter in your next request. Returns null on the last page.").optional())
21
+ nextCursor: z.string().describe("Opaque cursor token for the next page. Pass this value to the 'after' parameter in your next request. Returns null on the last page.").nullable().optional()
22
22
  }).passthrough().describe("Response for GET /v1.0/folders with pagination support.")
23
23
  });
24
24
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"list-folders.mjs","names":[],"sources":["../../src/actions/list-folders.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaListFoldersInput = z.object({\n after: z.string().describe(\"Cursor token for fetching the next page. Use the nextCursor value from the previous response. Pagination is forward-only.\").optional(),\n limit: z.number().int().describe(\"Number of items to return per page. Maximum: 50.\").optional(),\n query: z.string().describe(\"Search by name (case-insensitive). Filters results to items matching the search term.\").optional(),\n}).describe(\"Request parameters for GET /v1.0/folders.\\nDocs: https://developers.gamma.app/docs/list-themes-and-list-folders-apis-explained\");\nconst GammaListFolders_FolderItemSchema = z.object({\n id: z.string().describe(\"Unique folder identifier.\").nullable(),\n name: z.string().describe(\"Folder name.\").nullable(),\n}).passthrough().describe(\"Individual folder object.\");\nexport const GammaListFoldersOutput = z.object({\n data: z.array(GammaListFolders_FolderItemSchema).describe(\"Array of folder objects.\"),\n hasMore: z.boolean().describe(\"Indicates whether more pages exist. When true, use nextCursor to fetch the next page.\").nullable(),\n nextCursor: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"Opaque cursor token for the next page. Pass this value to the 'after' parameter in your next request. Returns null on the last page.\").optional()),\n}).passthrough().describe(\"Response for GET /v1.0/folders with pagination support.\");\n\nexport const gammaListFolders = action(\"GAMMA_LIST_FOLDERS\", {\n slug: \"gamma-list-folders\",\n name: \"List Folders\",\n description: \"Tool to retrieve a paginated list of folders in your Gamma workspace. Use when you need folder IDs to organize generated content or to search for specific folders by name.\",\n input: GammaListFoldersInput,\n output: GammaListFoldersOutput,\n});\n"],"mappings":";;;AAIA,MAAa,wBAAwB,EAAE,OAAO;CAC5C,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,2HAA2H,CAAC,CAAC,SAAS;CACjK,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS;CAC9F,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,uFAAuF,CAAC,CAAC,SAAS;AAC/H,CAAC,CAAC,CAAC,SAAS,gIAAgI;AAC5I,MAAM,oCAAoC,EAAE,OAAO;CACjD,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS;CAC9D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,SAAS;AACrD,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,2BAA2B;AAOrD,MAAa,mBAAmB,OAAO,sBAAsB;CAC3D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAXoC,EAAE,OAAO;EAC7C,MAAM,EAAE,MAAM,iCAAiC,CAAC,CAAC,SAAS,0BAA0B;EACpF,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,uFAAuF,CAAC,CAAC,SAAS;EAChI,YAAY,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sIAAsI,CAAC,CAAC,SAAS,CAAC;CAClP,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,yDAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"list-folders.mjs","names":[],"sources":["../../src/actions/list-folders.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaListFoldersInput = z.object({\n after: z.string().describe(\"Cursor token for fetching the next page. Use the nextCursor value from the previous response. Pagination is forward-only.\").optional(),\n limit: z.number().int().describe(\"Number of items to return per page. Maximum: 50.\").optional(),\n query: z.string().describe(\"Search by name (case-insensitive). Filters results to items matching the search term.\").optional(),\n}).describe(\"Request parameters for GET /v1.0/folders.\\nDocs: https://developers.gamma.app/docs/list-themes-and-list-folders-apis-explained\");\nconst GammaListFolders_FolderItemSchema = z.object({\n id: z.string().describe(\"Unique folder identifier.\").nullable(),\n name: z.string().describe(\"Folder name.\").nullable(),\n}).passthrough().describe(\"Individual folder object.\");\nexport const GammaListFoldersOutput = z.object({\n data: z.array(GammaListFolders_FolderItemSchema).describe(\"Array of folder objects.\"),\n hasMore: z.boolean().describe(\"Indicates whether more pages exist. When true, use nextCursor to fetch the next page.\").nullable(),\n nextCursor: z.string().describe(\"Opaque cursor token for the next page. Pass this value to the 'after' parameter in your next request. Returns null on the last page.\").nullable().optional(),\n}).passthrough().describe(\"Response for GET /v1.0/folders with pagination support.\");\n\nexport const gammaListFolders = action(\"GAMMA_LIST_FOLDERS\", {\n slug: \"gamma-list-folders\",\n name: \"List Folders\",\n description: \"Tool to retrieve a paginated list of folders in your Gamma workspace. Use when you need folder IDs to organize generated content or to search for specific folders by name.\",\n input: GammaListFoldersInput,\n output: GammaListFoldersOutput,\n});\n"],"mappings":";;;AAIA,MAAa,wBAAwB,EAAE,OAAO;CAC5C,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,2HAA2H,CAAC,CAAC,SAAS;CACjK,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS;CAC9F,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,uFAAuF,CAAC,CAAC,SAAS;AAC/H,CAAC,CAAC,CAAC,SAAS,gIAAgI;AAC5I,MAAM,oCAAoC,EAAE,OAAO;CACjD,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS;CAC9D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,SAAS;AACrD,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,2BAA2B;AAOrD,MAAa,mBAAmB,OAAO,sBAAsB;CAC3D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAXoC,EAAE,OAAO;EAC7C,MAAM,EAAE,MAAM,iCAAiC,CAAC,CAAC,SAAS,0BAA0B;EACpF,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,uFAAuF,CAAC,CAAC,SAAS;EAChI,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,sIAAsI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9L,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,yDAOhB;AACV,CAAC"}
@@ -10,13 +10,13 @@ const GammaListThemes_ThemeSchema = zod.z.object({
10
10
  id: zod.z.string().describe("Unique identifier for the theme.").nullable(),
11
11
  name: zod.z.string().describe("Display name of the theme.").nullable(),
12
12
  type: zod.z.string().describe("Theme type: 'standard' (global/workspace-agnostic) or 'custom' (workspace-specific).").nullable(),
13
- toneKeywords: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.array(zod.z.string()).describe("Array of descriptive style tags (e.g., 'playful', 'modern', 'sophisticated').").optional()),
14
- colorKeywords: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.array(zod.z.string()).describe("Array of descriptive color-related tags (e.g., 'light', 'blue', 'gradient').").optional())
13
+ toneKeywords: zod.z.array(zod.z.string()).describe("Array of descriptive style tags (e.g., 'playful', 'modern', 'sophisticated').").nullable().optional(),
14
+ colorKeywords: zod.z.array(zod.z.string()).describe("Array of descriptive color-related tags (e.g., 'light', 'blue', 'gradient').").nullable().optional()
15
15
  }).passthrough().describe("Individual theme object with styling metadata.");
16
16
  const GammaListThemesOutput = zod.z.object({
17
- data: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.array(GammaListThemes_ThemeSchema).describe("Array of theme objects available in the workspace.").optional()),
17
+ data: zod.z.array(GammaListThemes_ThemeSchema).describe("Array of theme objects available in the workspace.").nullable().optional(),
18
18
  hasMore: zod.z.boolean().describe("Boolean indicating whether additional pages of themes exist.").nullable(),
19
- nextCursor: zod.z.preprocess((value) => value === null ? void 0 : value, zod.z.string().describe("Opaque cursor token for fetching the next page. Null when on the final page.").optional())
19
+ nextCursor: zod.z.string().describe("Opaque cursor token for fetching the next page. Null when on the final page.").nullable().optional()
20
20
  }).passthrough().describe("Response schema for GET /v1.0/themes with paginated results.");
21
21
  const gammaListThemes = require_action.action("GAMMA_LIST_THEMES", {
22
22
  slug: "gamma-list-themes",
@@ -1 +1 @@
1
- {"version":3,"file":"list-themes.cjs","names":["z","action"],"sources":["../../src/actions/list-themes.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaListThemesInput = z.object({\n after: z.string().describe(\"Cursor token for pagination. Use the nextCursor value from the previous response to fetch the next page.\").optional(),\n limit: z.number().int().describe(\"Maximum number of themes to return per page. Must be between 1 and 50.\").optional(),\n query: z.string().describe(\"Search themes by name. Filter the list to only themes matching this query string.\").optional(),\n}).passthrough().describe(\"Request schema for GET /v1.0/themes.\\nDocumentation: https://developers.gamma.app/docs/list-themes-and-list-folders-apis-explained\");\nconst GammaListThemes_ThemeSchema = z.object({\n id: z.string().describe(\"Unique identifier for the theme.\").nullable(),\n name: z.string().describe(\"Display name of the theme.\").nullable(),\n type: z.string().describe(\"Theme type: 'standard' (global/workspace-agnostic) or 'custom' (workspace-specific).\").nullable(),\n toneKeywords: z.preprocess((value) => (value === null ? undefined : value), z.array(z.string()).describe(\"Array of descriptive style tags (e.g., 'playful', 'modern', 'sophisticated').\").optional()),\n colorKeywords: z.preprocess((value) => (value === null ? undefined : value), z.array(z.string()).describe(\"Array of descriptive color-related tags (e.g., 'light', 'blue', 'gradient').\").optional()),\n}).passthrough().describe(\"Individual theme object with styling metadata.\");\nexport const GammaListThemesOutput = z.object({\n data: z.preprocess((value) => (value === null ? undefined : value), z.array(GammaListThemes_ThemeSchema).describe(\"Array of theme objects available in the workspace.\").optional()),\n hasMore: z.boolean().describe(\"Boolean indicating whether additional pages of themes exist.\").nullable(),\n nextCursor: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"Opaque cursor token for fetching the next page. Null when on the final page.\").optional()),\n}).passthrough().describe(\"Response schema for GET /v1.0/themes with paginated results.\");\n\nexport const gammaListThemes = action(\"GAMMA_LIST_THEMES\", {\n slug: \"gamma-list-themes\",\n name: \"List Themes\",\n description: \"Fetch the list of themes available in your workspace. Returns both standard (global) and custom (workspace-specific) themes in a paginated format. Use this to discover available theme IDs and names for use with the Generate API. Filter by name using the query parameter.\",\n input: GammaListThemesInput,\n output: GammaListThemesOutput,\n});\n"],"mappings":";;;AAIA,MAAa,uBAAuBA,IAAAA,EAAE,OAAO;CAC3C,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS;CAChJ,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;CACpH,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;AAC3H,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oIAAoI;AAC9J,MAAM,8BAA8BA,IAAAA,EAAE,OAAO;CAC3C,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CACrE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS;CACjE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CAC3H,cAAcA,IAAAA,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,+EAA+E,CAAC,CAAC,SAAS,CAAC;CACpM,eAAeA,IAAAA,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC;AACtM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD;AAC1E,MAAa,wBAAwBA,IAAAA,EAAE,OAAO;CAC5C,MAAMA,IAAAA,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQA,IAAAA,EAAE,MAAM,2BAA2B,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC;CAClL,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;CACvG,YAAYA,IAAAA,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC;AAC1L,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8DAA8D;AAExF,MAAa,kBAAkBC,eAAAA,OAAO,qBAAqB;CACzD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"list-themes.cjs","names":["z","action"],"sources":["../../src/actions/list-themes.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaListThemesInput = z.object({\n after: z.string().describe(\"Cursor token for pagination. Use the nextCursor value from the previous response to fetch the next page.\").optional(),\n limit: z.number().int().describe(\"Maximum number of themes to return per page. Must be between 1 and 50.\").optional(),\n query: z.string().describe(\"Search themes by name. Filter the list to only themes matching this query string.\").optional(),\n}).passthrough().describe(\"Request schema for GET /v1.0/themes.\\nDocumentation: https://developers.gamma.app/docs/list-themes-and-list-folders-apis-explained\");\nconst GammaListThemes_ThemeSchema = z.object({\n id: z.string().describe(\"Unique identifier for the theme.\").nullable(),\n name: z.string().describe(\"Display name of the theme.\").nullable(),\n type: z.string().describe(\"Theme type: 'standard' (global/workspace-agnostic) or 'custom' (workspace-specific).\").nullable(),\n toneKeywords: z.array(z.string()).describe(\"Array of descriptive style tags (e.g., 'playful', 'modern', 'sophisticated').\").nullable().optional(),\n colorKeywords: z.array(z.string()).describe(\"Array of descriptive color-related tags (e.g., 'light', 'blue', 'gradient').\").nullable().optional(),\n}).passthrough().describe(\"Individual theme object with styling metadata.\");\nexport const GammaListThemesOutput = z.object({\n data: z.array(GammaListThemes_ThemeSchema).describe(\"Array of theme objects available in the workspace.\").nullable().optional(),\n hasMore: z.boolean().describe(\"Boolean indicating whether additional pages of themes exist.\").nullable(),\n nextCursor: z.string().describe(\"Opaque cursor token for fetching the next page. Null when on the final page.\").nullable().optional(),\n}).passthrough().describe(\"Response schema for GET /v1.0/themes with paginated results.\");\n\nexport const gammaListThemes = action(\"GAMMA_LIST_THEMES\", {\n slug: \"gamma-list-themes\",\n name: \"List Themes\",\n description: \"Fetch the list of themes available in your workspace. Returns both standard (global) and custom (workspace-specific) themes in a paginated format. Use this to discover available theme IDs and names for use with the Generate API. Filter by name using the query parameter.\",\n input: GammaListThemesInput,\n output: GammaListThemesOutput,\n});\n"],"mappings":";;;AAIA,MAAa,uBAAuBA,IAAAA,EAAE,OAAO;CAC3C,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS;CAChJ,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;CACpH,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;AAC3H,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oIAAoI;AAC9J,MAAM,8BAA8BA,IAAAA,EAAE,OAAO;CAC3C,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CACrE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS;CACjE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CAC3H,cAAcA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,+EAA+E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChJ,eAAeA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAClJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD;AAC1E,MAAa,wBAAwBA,IAAAA,EAAE,OAAO;CAC5C,MAAMA,IAAAA,EAAE,MAAM,2BAA2B,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9H,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;CACvG,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACtI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8DAA8D;AAExF,MAAa,kBAAkBC,eAAAA,OAAO,qBAAqB;CACzD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -7,34 +7,22 @@ declare const GammaListThemesInput: z.ZodObject<{
7
7
  query: z.ZodOptional<z.ZodString>;
8
8
  }, z.core.$loose>;
9
9
  declare const GammaListThemesOutput: z.ZodObject<{
10
- data: z.ZodPreprocess<z.ZodOptional<z.ZodArray<z.ZodObject<{
10
+ data: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
11
11
  id: z.ZodNullable<z.ZodString>;
12
12
  name: z.ZodNullable<z.ZodString>;
13
13
  type: z.ZodNullable<z.ZodString>;
14
- toneKeywords: z.ZodPreprocess<z.ZodOptional<z.ZodArray<z.ZodString>>>;
15
- colorKeywords: z.ZodPreprocess<z.ZodOptional<z.ZodArray<z.ZodString>>>;
14
+ toneKeywords: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
15
+ colorKeywords: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
16
16
  }, z.core.$loose>>>>;
17
17
  hasMore: z.ZodNullable<z.ZodBoolean>;
18
- nextCursor: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
18
+ nextCursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
19
  }, z.core.$loose>;
20
20
  declare const gammaListThemes: import("@keystrokehq/action").WorkflowActionDefinition<{
21
21
  [x: string]: unknown;
22
22
  after?: string | undefined;
23
23
  limit?: number | undefined;
24
24
  query?: string | undefined;
25
- }, {
26
- [x: string]: unknown;
27
- hasMore: boolean | null;
28
- data?: {
29
- [x: string]: unknown;
30
- id: string | null;
31
- name: string | null;
32
- type: string | null;
33
- toneKeywords?: string[] | undefined;
34
- colorKeywords?: string[] | undefined;
35
- }[] | undefined;
36
- nextCursor?: string | undefined;
37
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
25
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
38
26
  //#endregion
39
27
  export { gammaListThemes };
40
28
  //# sourceMappingURL=list-themes.d.cts.map
@@ -7,34 +7,22 @@ declare const GammaListThemesInput: z.ZodObject<{
7
7
  query: z.ZodOptional<z.ZodString>;
8
8
  }, z.core.$loose>;
9
9
  declare const GammaListThemesOutput: z.ZodObject<{
10
- data: z.ZodPreprocess<z.ZodOptional<z.ZodArray<z.ZodObject<{
10
+ data: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
11
11
  id: z.ZodNullable<z.ZodString>;
12
12
  name: z.ZodNullable<z.ZodString>;
13
13
  type: z.ZodNullable<z.ZodString>;
14
- toneKeywords: z.ZodPreprocess<z.ZodOptional<z.ZodArray<z.ZodString>>>;
15
- colorKeywords: z.ZodPreprocess<z.ZodOptional<z.ZodArray<z.ZodString>>>;
14
+ toneKeywords: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
15
+ colorKeywords: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
16
16
  }, z.core.$loose>>>>;
17
17
  hasMore: z.ZodNullable<z.ZodBoolean>;
18
- nextCursor: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
18
+ nextCursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
19
  }, z.core.$loose>;
20
20
  declare const gammaListThemes: import("@keystrokehq/action").WorkflowActionDefinition<{
21
21
  [x: string]: unknown;
22
22
  after?: string | undefined;
23
23
  limit?: number | undefined;
24
24
  query?: string | undefined;
25
- }, {
26
- [x: string]: unknown;
27
- hasMore: boolean | null;
28
- data?: {
29
- [x: string]: unknown;
30
- id: string | null;
31
- name: string | null;
32
- type: string | null;
33
- toneKeywords?: string[] | undefined;
34
- colorKeywords?: string[] | undefined;
35
- }[] | undefined;
36
- nextCursor?: string | undefined;
37
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
25
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
38
26
  //#endregion
39
27
  export { gammaListThemes };
40
28
  //# sourceMappingURL=list-themes.d.mts.map
@@ -10,8 +10,8 @@ const GammaListThemes_ThemeSchema = z.object({
10
10
  id: z.string().describe("Unique identifier for the theme.").nullable(),
11
11
  name: z.string().describe("Display name of the theme.").nullable(),
12
12
  type: z.string().describe("Theme type: 'standard' (global/workspace-agnostic) or 'custom' (workspace-specific).").nullable(),
13
- toneKeywords: z.preprocess((value) => value === null ? void 0 : value, z.array(z.string()).describe("Array of descriptive style tags (e.g., 'playful', 'modern', 'sophisticated').").optional()),
14
- colorKeywords: z.preprocess((value) => value === null ? void 0 : value, z.array(z.string()).describe("Array of descriptive color-related tags (e.g., 'light', 'blue', 'gradient').").optional())
13
+ toneKeywords: z.array(z.string()).describe("Array of descriptive style tags (e.g., 'playful', 'modern', 'sophisticated').").nullable().optional(),
14
+ colorKeywords: z.array(z.string()).describe("Array of descriptive color-related tags (e.g., 'light', 'blue', 'gradient').").nullable().optional()
15
15
  }).passthrough().describe("Individual theme object with styling metadata.");
16
16
  const gammaListThemes = action("GAMMA_LIST_THEMES", {
17
17
  slug: "gamma-list-themes",
@@ -19,9 +19,9 @@ const gammaListThemes = action("GAMMA_LIST_THEMES", {
19
19
  description: "Fetch the list of themes available in your workspace. Returns both standard (global) and custom (workspace-specific) themes in a paginated format. Use this to discover available theme IDs and names for use with the Generate API. Filter by name using the query parameter.",
20
20
  input: GammaListThemesInput,
21
21
  output: z.object({
22
- data: z.preprocess((value) => value === null ? void 0 : value, z.array(GammaListThemes_ThemeSchema).describe("Array of theme objects available in the workspace.").optional()),
22
+ data: z.array(GammaListThemes_ThemeSchema).describe("Array of theme objects available in the workspace.").nullable().optional(),
23
23
  hasMore: z.boolean().describe("Boolean indicating whether additional pages of themes exist.").nullable(),
24
- nextCursor: z.preprocess((value) => value === null ? void 0 : value, z.string().describe("Opaque cursor token for fetching the next page. Null when on the final page.").optional())
24
+ nextCursor: z.string().describe("Opaque cursor token for fetching the next page. Null when on the final page.").nullable().optional()
25
25
  }).passthrough().describe("Response schema for GET /v1.0/themes with paginated results.")
26
26
  });
27
27
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"list-themes.mjs","names":[],"sources":["../../src/actions/list-themes.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaListThemesInput = z.object({\n after: z.string().describe(\"Cursor token for pagination. Use the nextCursor value from the previous response to fetch the next page.\").optional(),\n limit: z.number().int().describe(\"Maximum number of themes to return per page. Must be between 1 and 50.\").optional(),\n query: z.string().describe(\"Search themes by name. Filter the list to only themes matching this query string.\").optional(),\n}).passthrough().describe(\"Request schema for GET /v1.0/themes.\\nDocumentation: https://developers.gamma.app/docs/list-themes-and-list-folders-apis-explained\");\nconst GammaListThemes_ThemeSchema = z.object({\n id: z.string().describe(\"Unique identifier for the theme.\").nullable(),\n name: z.string().describe(\"Display name of the theme.\").nullable(),\n type: z.string().describe(\"Theme type: 'standard' (global/workspace-agnostic) or 'custom' (workspace-specific).\").nullable(),\n toneKeywords: z.preprocess((value) => (value === null ? undefined : value), z.array(z.string()).describe(\"Array of descriptive style tags (e.g., 'playful', 'modern', 'sophisticated').\").optional()),\n colorKeywords: z.preprocess((value) => (value === null ? undefined : value), z.array(z.string()).describe(\"Array of descriptive color-related tags (e.g., 'light', 'blue', 'gradient').\").optional()),\n}).passthrough().describe(\"Individual theme object with styling metadata.\");\nexport const GammaListThemesOutput = z.object({\n data: z.preprocess((value) => (value === null ? undefined : value), z.array(GammaListThemes_ThemeSchema).describe(\"Array of theme objects available in the workspace.\").optional()),\n hasMore: z.boolean().describe(\"Boolean indicating whether additional pages of themes exist.\").nullable(),\n nextCursor: z.preprocess((value) => (value === null ? undefined : value), z.string().describe(\"Opaque cursor token for fetching the next page. Null when on the final page.\").optional()),\n}).passthrough().describe(\"Response schema for GET /v1.0/themes with paginated results.\");\n\nexport const gammaListThemes = action(\"GAMMA_LIST_THEMES\", {\n slug: \"gamma-list-themes\",\n name: \"List Themes\",\n description: \"Fetch the list of themes available in your workspace. Returns both standard (global) and custom (workspace-specific) themes in a paginated format. Use this to discover available theme IDs and names for use with the Generate API. Filter by name using the query parameter.\",\n input: GammaListThemesInput,\n output: GammaListThemesOutput,\n});\n"],"mappings":";;;AAIA,MAAa,uBAAuB,EAAE,OAAO;CAC3C,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS;CAChJ,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;CACpH,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;AAC3H,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oIAAoI;AAC9J,MAAM,8BAA8B,EAAE,OAAO;CAC3C,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CACrE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS;CACjE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CAC3H,cAAc,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,+EAA+E,CAAC,CAAC,SAAS,CAAC;CACpM,eAAe,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC;AACtM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD;AAO1E,MAAa,kBAAkB,OAAO,qBAAqB;CACzD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAXmC,EAAE,OAAO;EAC5C,MAAM,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,MAAM,2BAA2B,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC;EAClL,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;EACvG,YAAY,EAAE,YAAY,UAAW,UAAU,OAAO,SAAY,OAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC;CAC1L,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8DAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"list-themes.mjs","names":[],"sources":["../../src/actions/list-themes.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const GammaListThemesInput = z.object({\n after: z.string().describe(\"Cursor token for pagination. Use the nextCursor value from the previous response to fetch the next page.\").optional(),\n limit: z.number().int().describe(\"Maximum number of themes to return per page. Must be between 1 and 50.\").optional(),\n query: z.string().describe(\"Search themes by name. Filter the list to only themes matching this query string.\").optional(),\n}).passthrough().describe(\"Request schema for GET /v1.0/themes.\\nDocumentation: https://developers.gamma.app/docs/list-themes-and-list-folders-apis-explained\");\nconst GammaListThemes_ThemeSchema = z.object({\n id: z.string().describe(\"Unique identifier for the theme.\").nullable(),\n name: z.string().describe(\"Display name of the theme.\").nullable(),\n type: z.string().describe(\"Theme type: 'standard' (global/workspace-agnostic) or 'custom' (workspace-specific).\").nullable(),\n toneKeywords: z.array(z.string()).describe(\"Array of descriptive style tags (e.g., 'playful', 'modern', 'sophisticated').\").nullable().optional(),\n colorKeywords: z.array(z.string()).describe(\"Array of descriptive color-related tags (e.g., 'light', 'blue', 'gradient').\").nullable().optional(),\n}).passthrough().describe(\"Individual theme object with styling metadata.\");\nexport const GammaListThemesOutput = z.object({\n data: z.array(GammaListThemes_ThemeSchema).describe(\"Array of theme objects available in the workspace.\").nullable().optional(),\n hasMore: z.boolean().describe(\"Boolean indicating whether additional pages of themes exist.\").nullable(),\n nextCursor: z.string().describe(\"Opaque cursor token for fetching the next page. Null when on the final page.\").nullable().optional(),\n}).passthrough().describe(\"Response schema for GET /v1.0/themes with paginated results.\");\n\nexport const gammaListThemes = action(\"GAMMA_LIST_THEMES\", {\n slug: \"gamma-list-themes\",\n name: \"List Themes\",\n description: \"Fetch the list of themes available in your workspace. Returns both standard (global) and custom (workspace-specific) themes in a paginated format. Use this to discover available theme IDs and names for use with the Generate API. Filter by name using the query parameter.\",\n input: GammaListThemesInput,\n output: GammaListThemesOutput,\n});\n"],"mappings":";;;AAIA,MAAa,uBAAuB,EAAE,OAAO;CAC3C,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS;CAChJ,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;CACpH,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;AAC3H,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oIAAoI;AAC9J,MAAM,8BAA8B,EAAE,OAAO;CAC3C,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CACrE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS;CACjE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CAC3H,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,+EAA+E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChJ,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAClJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD;AAO1E,MAAa,kBAAkB,OAAO,qBAAqB;CACzD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAXmC,EAAE,OAAO;EAC5C,MAAM,EAAE,MAAM,2BAA2B,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC9H,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;EACvG,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8DAOhB;AACV,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keystrokehq/gamma",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"