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 @google/generative-ai → @google/genai + add Deep Research config
Task 1 — SDK Migration:
- Replace @google/generative-ai with @google/genai in package.json
- lib/gemini.ts: lazy-init GoogleGenAI client, ai.models.generateContent()
- lib/sponsor/gemini-intent.ts: migrate to new SDK API surface
- lib/sponsor/gemini-outreach.ts: migrate to new SDK API surface
- response.text is now a property (not method) in new SDK
Task 2 — Deep Research Config:
- pipelineConfig.ts: add enableDeepResearch, deepResearchAgent,
deepResearchPromptTemplate, infographicModel fields
- lib/types/config.ts: add matching PipelineConfig interface fields
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