You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: migrate to @google/genai SDK + add Deep Research config fields
- Replace @google/generative-ai with @google/genai (new SDK with Interactions API support)\n- Lazy-init GoogleGenAI client in lib/gemini.ts\n- Migrate gemini-intent.ts and gemini-outreach.ts to new SDK\n- Add pipelineConfig fields: enableDeepResearch, deepResearchAgent, deepResearchPromptTemplate, infographicModel\n- Add matching TypeScript types to PipelineConfig interface\n\nUnblocks Sprint 2: Gemini Deep Research client + infographic generation service.
constprompt=`You are analyzing an inbound sponsorship inquiry for CodingCat.dev, a developer education platform with YouTube videos, podcasts, blog posts, and newsletters.
Copy file name to clipboardExpand all lines: sanity/schemas/singletons/pipelineConfig.ts
+29-1Lines changed: 29 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ export default defineType({
34
34
name: "youtubeChannelId",
35
35
title: "YouTube Channel ID",
36
36
type: "string",
37
-
description: "Your YouTube channel ID \u2014 used for analytics and upload targeting",
37
+
description: "Your YouTube channel ID — used for analytics and upload targeting",
38
38
initialValue: "",
39
39
}),
40
40
defineField({
@@ -44,6 +44,34 @@ export default defineType({
44
44
description: "When enabled, the ingest cron creates a NotebookLM notebook for deep research before script generation. Requires NOTEBOOKLM_AUTH_JSON env var",
45
45
initialValue: false,
46
46
}),
47
+
defineField({
48
+
name: "enableDeepResearch",
49
+
title: "Enable Deep Research",
50
+
type: "boolean",
51
+
description: "When enabled, the ingest cron uses Gemini Deep Research API for comprehensive topic research before script generation. Replaces NotebookLM research.",
52
+
initialValue: false,
53
+
}),
54
+
defineField({
55
+
name: "deepResearchAgent",
56
+
title: "Deep Research Agent",
57
+
type: "string",
58
+
description: "The Gemini Deep Research agent model ID. This is the agent used for autonomous web research via the Interactions API",
description: "Template for Deep Research queries. Use {topic} as placeholder for the trend topic. Sent to the Deep Research agent for autonomous web research",
66
+
initialValue: "Research comprehensively: \"{topic}\"\n\nFocus areas:\n- What is it and why does it matter?\n- How does it work technically?\n- Key features and capabilities\n- Comparison with alternatives\n- Getting started guide\n- Common pitfalls and best practices\n\nTarget audience: Web developers learning new tech.\nTone: Educational, accessible, engaging.",
67
+
}),
68
+
defineField({
69
+
name: "infographicModel",
70
+
title: "Infographic Model",
71
+
type: "string",
72
+
description: "Model used for generating brand-consistent infographics from research data. Imagen 4 Fast ($0.02/image) supports seed-based reproducibility",
0 commit comments