@liorium/youtube-omni-mcp 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/src/core/synthesis.d.ts +38 -0
- package/dist/src/core/synthesis.js +94 -2
- package/dist/src/core/synthesis.js.map +1 -1
- package/dist/src/providers/types.d.ts +4 -0
- package/dist/src/schemas/planning.d.ts +8 -0
- package/dist/src/schemas/planning.js +7 -0
- package/dist/src/schemas/planning.js.map +1 -1
- package/dist/src/schemas/research.d.ts +15 -0
- package/dist/src/schemas/research.js +12 -0
- package/dist/src/schemas/research.js.map +1 -1
- package/dist/src/server.d.ts +1 -1
- package/dist/src/server.js +29 -2
- package/dist/src/server.js.map +1 -1
- package/dist/src/tools/comments.d.ts +2 -0
- package/dist/src/tools/planning.d.ts +13 -0
- package/dist/src/tools/planning.js +30 -3
- package/dist/src/tools/planning.js.map +1 -1
- package/dist/src/tools/research.d.ts +26 -9
- package/dist/src/tools/research.js +71 -7
- package/dist/src/tools/research.js.map +1 -1
- package/dist/src/tools/safety.js +1 -1
- package/dist/src/tools/safety.js.map +1 -1
- package/docs/superpowers/plans/2026-05-14-v0.2.6-public-readonly-intelligence.md +427 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.6 - 2026-05-14
|
|
4
|
+
|
|
5
|
+
- Add channel-level read-only intelligence: positioning analysis, content pillar extraction, and channel comparison.
|
|
6
|
+
- Add planning video idea generation linked to benchmark videos and public comment request signals.
|
|
7
|
+
- Improve outlier ranking with views-to-subscribers ratio, benchmark rank, and explicit rationale fields.
|
|
8
|
+
- Deduplicate comment text before summarization and expose raw/deduped comment counts.
|
|
9
|
+
- Expand the V0 MCP surface to 23 public read-only tools while keeping write/operations locked by default.
|
|
10
|
+
|
|
3
11
|
## 0.2.5 - 2026-05-14
|
|
4
12
|
|
|
5
13
|
- Add deeper read-only synthesis for transcript structure, claim-like moments, hook pattern classification, comment themes, and research briefs.
|
|
@@ -31,6 +31,8 @@ export declare function summarizeCommentSet(comments: Array<{
|
|
|
31
31
|
likeCount?: number;
|
|
32
32
|
}>, includeQuestions?: boolean, includeRequests?: boolean): {
|
|
33
33
|
summary: string;
|
|
34
|
+
rawCommentCount: number;
|
|
35
|
+
dedupedCommentCount: number;
|
|
34
36
|
questions: string[];
|
|
35
37
|
contentRequests: string[];
|
|
36
38
|
themes: {
|
|
@@ -48,3 +50,39 @@ export declare function summarizeCommentSet(comments: Array<{
|
|
|
48
50
|
dominant: string;
|
|
49
51
|
};
|
|
50
52
|
};
|
|
53
|
+
export type ChannelPillar = {
|
|
54
|
+
pillar: string;
|
|
55
|
+
count: number;
|
|
56
|
+
evidence: string[];
|
|
57
|
+
};
|
|
58
|
+
export declare function normalizeCommentText(text: string): string;
|
|
59
|
+
export declare function dedupeComments<T extends {
|
|
60
|
+
text?: string;
|
|
61
|
+
}>(comments: T[]): T[];
|
|
62
|
+
export declare function extractChannelPillars(videos: Array<{
|
|
63
|
+
videoId?: string;
|
|
64
|
+
title?: string;
|
|
65
|
+
}>): ChannelPillar[];
|
|
66
|
+
export declare function inferRepeatableFormats(videos: Array<{
|
|
67
|
+
title?: string;
|
|
68
|
+
}>): string[];
|
|
69
|
+
export declare function inferChannelPositioning(channelTitle: string, videos: Array<{
|
|
70
|
+
title?: string;
|
|
71
|
+
}>): {
|
|
72
|
+
channelPositioning: string;
|
|
73
|
+
contentPillars: ChannelPillar[];
|
|
74
|
+
repeatableFormats: string[];
|
|
75
|
+
audiencePromise: string;
|
|
76
|
+
differentiation: string;
|
|
77
|
+
};
|
|
78
|
+
export declare function generateIdeasFromBenchmarks(topic: string, videos: Array<{
|
|
79
|
+
videoId?: string;
|
|
80
|
+
title?: string;
|
|
81
|
+
}>, requests: string[], ideaCount: number): {
|
|
82
|
+
title: string;
|
|
83
|
+
angle: string;
|
|
84
|
+
hook: string;
|
|
85
|
+
evidence: (string | undefined)[];
|
|
86
|
+
rationale: string;
|
|
87
|
+
risk: string;
|
|
88
|
+
}[];
|
|
@@ -103,11 +103,12 @@ export function classifyComment(text) {
|
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
105
|
export function summarizeCommentSet(comments, includeQuestions = true, includeRequests = true) {
|
|
106
|
-
const
|
|
106
|
+
const dedupedComments = dedupeComments(comments);
|
|
107
|
+
const texts = dedupedComments.map((comment) => String(comment.text ?? '').trim()).filter(Boolean);
|
|
107
108
|
const grouped = new Map();
|
|
108
109
|
let positiveCount = 0;
|
|
109
110
|
let concernCount = 0;
|
|
110
|
-
for (const comment of
|
|
111
|
+
for (const comment of dedupedComments) {
|
|
111
112
|
const text = String(comment.text ?? '').trim();
|
|
112
113
|
if (!text)
|
|
113
114
|
continue;
|
|
@@ -129,6 +130,8 @@ export function summarizeCommentSet(comments, includeQuestions = true, includeRe
|
|
|
129
130
|
const topTheme = themes[0]?.theme ?? 'no clear theme';
|
|
130
131
|
return {
|
|
131
132
|
summary: `${texts.length} comments analyzed. Top signal: ${topTheme}. ${questions.length} questions and ${contentRequests.length} requests detected.`,
|
|
133
|
+
rawCommentCount: comments.length,
|
|
134
|
+
dedupedCommentCount: dedupedComments.length,
|
|
132
135
|
questions,
|
|
133
136
|
contentRequests,
|
|
134
137
|
themes,
|
|
@@ -140,4 +143,93 @@ export function summarizeCommentSet(comments, includeQuestions = true, includeRe
|
|
|
140
143
|
}
|
|
141
144
|
};
|
|
142
145
|
}
|
|
146
|
+
export function normalizeCommentText(text) {
|
|
147
|
+
return text.normalize('NFKC').toLowerCase().replace(/\s+/g, ' ').replace(/[^\p{L}\p{N} ?!]/gu, '').trim();
|
|
148
|
+
}
|
|
149
|
+
export function dedupeComments(comments) {
|
|
150
|
+
const seen = new Set();
|
|
151
|
+
const deduped = [];
|
|
152
|
+
for (const comment of comments) {
|
|
153
|
+
const key = normalizeCommentText(String(comment.text ?? ''));
|
|
154
|
+
if (!key || seen.has(key))
|
|
155
|
+
continue;
|
|
156
|
+
seen.add(key);
|
|
157
|
+
deduped.push(comment);
|
|
158
|
+
}
|
|
159
|
+
return deduped;
|
|
160
|
+
}
|
|
161
|
+
function classifyPillar(title) {
|
|
162
|
+
const lower = title.toLowerCase();
|
|
163
|
+
if (/\b(tried|days?|case study|experiment|built|rebuilt)\b/i.test(lower))
|
|
164
|
+
return 'case studies';
|
|
165
|
+
if (/\b(guide|how to|tutorial|beginner|step|workflow)\b/i.test(lower))
|
|
166
|
+
return 'tutorials and workflows';
|
|
167
|
+
if (/\b(tool|tools|review|comparison|vs\.?|best)\b/i.test(lower))
|
|
168
|
+
return 'tool reviews';
|
|
169
|
+
if (/\b(hidden|risk|mistake|danger|problem|cost|nobody)\b/i.test(lower))
|
|
170
|
+
return 'mistakes and risks';
|
|
171
|
+
if (/\b(news|trend|update|latest|new)\b/i.test(lower))
|
|
172
|
+
return 'news and trends';
|
|
173
|
+
if (/\b(history|documentary|explained|story|why)\b/i.test(lower))
|
|
174
|
+
return 'documentary explainers';
|
|
175
|
+
return 'general education';
|
|
176
|
+
}
|
|
177
|
+
export function extractChannelPillars(videos) {
|
|
178
|
+
const grouped = new Map();
|
|
179
|
+
for (const video of videos) {
|
|
180
|
+
const pillar = classifyPillar(String(video.title ?? ''));
|
|
181
|
+
const existing = grouped.get(pillar) ?? { pillar, count: 0, evidence: [] };
|
|
182
|
+
existing.count += 1;
|
|
183
|
+
if (video.videoId && existing.evidence.length < 5)
|
|
184
|
+
existing.evidence.push(video.videoId);
|
|
185
|
+
grouped.set(pillar, existing);
|
|
186
|
+
}
|
|
187
|
+
return [...grouped.values()].sort((a, b) => b.count - a.count || a.pillar.localeCompare(b.pillar));
|
|
188
|
+
}
|
|
189
|
+
export function inferRepeatableFormats(videos) {
|
|
190
|
+
const titles = videos.map((video) => String(video.title ?? '')).join(' | ').toLowerCase();
|
|
191
|
+
const formats = [];
|
|
192
|
+
if (/\btried|\b\d+ days?|case study|experiment/.test(titles))
|
|
193
|
+
formats.push('challenge/case-study experiments');
|
|
194
|
+
if (/beginner|guide|how to|workflow|step/.test(titles))
|
|
195
|
+
formats.push('beginner workflow guides');
|
|
196
|
+
if (/hidden|risk|mistake|cost|danger/.test(titles))
|
|
197
|
+
formats.push('hidden-risk explainers');
|
|
198
|
+
if (/tool|review|comparison|best/.test(titles))
|
|
199
|
+
formats.push('tool comparison reviews');
|
|
200
|
+
return formats.length ? formats : ['topic explainers'];
|
|
201
|
+
}
|
|
202
|
+
export function inferChannelPositioning(channelTitle, videos) {
|
|
203
|
+
const pillars = extractChannelPillars(videos);
|
|
204
|
+
const topPillars = pillars.slice(0, 2).map((pillar) => pillar.pillar).join(' + ') || 'general education';
|
|
205
|
+
const repeatableFormats = inferRepeatableFormats(videos);
|
|
206
|
+
return {
|
|
207
|
+
channelPositioning: `${channelTitle || 'This channel'} positions around ${topPillars} using ${repeatableFormats[0]}.`,
|
|
208
|
+
contentPillars: pillars,
|
|
209
|
+
repeatableFormats,
|
|
210
|
+
audiencePromise: `Help viewers understand and act on ${topPillars} with clearer decisions.`,
|
|
211
|
+
differentiation: repeatableFormats.includes('challenge/case-study experiments')
|
|
212
|
+
? 'Uses lived experiments and concrete workflows rather than generic commentary.'
|
|
213
|
+
: 'Packages public signals into repeatable, evidence-led explainers.'
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
export function generateIdeasFromBenchmarks(topic, videos, requests, ideaCount) {
|
|
217
|
+
const seeds = videos.length ? videos : [{ videoId: undefined, title: `${topic}: The Hidden Cost Nobody Mentions` }];
|
|
218
|
+
return Array.from({ length: ideaCount }, (_, index) => {
|
|
219
|
+
const video = seeds[index % seeds.length];
|
|
220
|
+
const titleBase = String(video.title ?? `${topic} angle ${index + 1}`).replace(/\s+/g, ' ').trim();
|
|
221
|
+
const pillar = classifyPillar(titleBase);
|
|
222
|
+
const request = requests[index % Math.max(1, requests.length)] ?? '';
|
|
223
|
+
return {
|
|
224
|
+
title: index === 0 ? `${topic}: The Hidden Cost Nobody Mentions` : titleBase,
|
|
225
|
+
angle: pillar,
|
|
226
|
+
hook: pillar === 'case studies'
|
|
227
|
+
? `What happens when one creator tests ${topic} under real constraints?`
|
|
228
|
+
: `What if ${topic} has a hidden cost most viewers miss?`,
|
|
229
|
+
evidence: [video.videoId].filter(Boolean),
|
|
230
|
+
rationale: request ? `Combines benchmark title pattern with audience request: ${request}` : 'Combines benchmark discovery with a clear public-data content angle.',
|
|
231
|
+
risk: 'Avoid copying competitor content; verify factual claims before scripting.'
|
|
232
|
+
};
|
|
233
|
+
});
|
|
234
|
+
}
|
|
143
235
|
//# sourceMappingURL=synthesis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesis.js","sourceRoot":"","sources":["../../../src/core/synthesis.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI;SACR,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,KAAK,CAAC,eAAe,CAAC;SACtB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,0DAA0D,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChG,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAClH,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,gEAAgE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1I,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,GAAG,gBAAgB,CAAC;IAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAAE,OAAO,GAAG,eAAe,CAAC;SACnH,IAAI,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAAE,OAAO,GAAG,kBAAkB,CAAC;SACjF,IAAI,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAAE,OAAO,GAAG,eAAe,CAAC;SAC3E,IAAI,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAAE,OAAO,GAAG,iBAAiB,CAAC;SAC/E,IAAI,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAAE,OAAO,GAAG,eAAe,CAAC;IAE9E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,EAAE,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAY,EAAE,aAAa,GAAG,IAAI;IAC3E,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,+EAA+E,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IACtK,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG;QACd,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,yCAAyC,EAAE;QACvF,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE;QAC/G,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE;QACnJ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kCAAkC,EAAE;KACnF,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,4GAA4G,CAAC;IACnI,MAAM,MAAM,GAAG,aAAa;QAC1B,CAAC,CAAC,SAAS;aACR,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAClD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,kDAAkD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACjK,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;YACjC,YAAY,CAAC,OAAO;YACpB,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU;YACzC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;SACrD,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,WAAW;QAChB,OAAO;QACP,MAAM;QACN,cAAc;QACd,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,8EAA8E,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9F,OAAO;YACL,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,iEAAiE;SAC/E,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,6DAA6D,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnG,OAAO;YACL,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,gFAAgF;SAC9F,CAAC;IACJ,CAAC;IACD,IAAI,yDAAyD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzE,OAAO;YACL,KAAK,EAAE,mBAAmB;YAC1B,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,wEAAwE;SACtF,CAAC;IACJ,CAAC;IACD,IAAI,iDAAiD,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,OAAO;YACL,KAAK,EAAE,yBAAyB;YAChC,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,gEAAgE;SAC9E,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,qDAAqD;KACnE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAsD,EAAE,gBAAgB,GAAG,IAAI,EAAE,eAAe,GAAG,IAAI;IACzI,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyH,CAAC;IACjJ,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,cAAc,CAAC,MAAM,KAAK,QAAQ;YAAE,aAAa,IAAI,CAAC,CAAC;QAC3D,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,KAAK,WAAW;YAAE,YAAY,IAAI,CAAC,CAAC;QACpG,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACnH,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IACtG,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5I,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8EAA8E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9K,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,gBAAgB,CAAC;IAEtD,OAAO;QACL,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,mCAAmC,QAAQ,KAAK,SAAS,CAAC,MAAM,kBAAkB,eAAe,CAAC,MAAM,qBAAqB;QACrJ,SAAS;QACT,eAAe;QACf,MAAM;QACN,eAAe,EAAE;YACf,aAAa;YACb,YAAY;YACZ,KAAK,EAAE,aAAa,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC;YAC5C,QAAQ,EAAE,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SAChG;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"synthesis.js","sourceRoot":"","sources":["../../../src/core/synthesis.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,3 +7,11 @@ export declare const researchBriefSchema: z.ZodObject<{
|
|
|
7
7
|
includeTranscripts: z.ZodDefault<z.ZodBoolean>;
|
|
8
8
|
includeComments: z.ZodDefault<z.ZodBoolean>;
|
|
9
9
|
}, z.core.$strip>;
|
|
10
|
+
export declare const videoIdeasSchema: z.ZodObject<{
|
|
11
|
+
topic: z.ZodString;
|
|
12
|
+
regionCode: z.ZodDefault<z.ZodString>;
|
|
13
|
+
sampleSize: z.ZodDefault<z.ZodNumber>;
|
|
14
|
+
ideaCount: z.ZodDefault<z.ZodNumber>;
|
|
15
|
+
includeComments: z.ZodDefault<z.ZodBoolean>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export type VideoIdeasInput = z.infer<typeof videoIdeasSchema>;
|
|
@@ -8,4 +8,11 @@ export const researchBriefSchema = z.object({
|
|
|
8
8
|
includeTranscripts: z.boolean().default(true),
|
|
9
9
|
includeComments: z.boolean().default(true)
|
|
10
10
|
});
|
|
11
|
+
export const videoIdeasSchema = z.object({
|
|
12
|
+
topic: z.string().min(1),
|
|
13
|
+
regionCode: regionCodeSchema,
|
|
14
|
+
sampleSize: maxResultsSchema,
|
|
15
|
+
ideaCount: z.number().int().min(1).max(20).default(10),
|
|
16
|
+
includeComments: z.boolean().default(true)
|
|
17
|
+
});
|
|
11
18
|
//# sourceMappingURL=planning.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../src/schemas/planning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,UAAU,EAAE,gBAAgB;IAC5B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,UAAU,EAAE,gBAAgB;IAC5B,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC3C,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../src/schemas/planning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,UAAU,EAAE,gBAAgB;IAC5B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,UAAU,EAAE,gBAAgB;IAC5B,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC3C,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC3C,CAAC,CAAC"}
|
|
@@ -30,8 +30,23 @@ export declare const videoAngleMatrixSchema: z.ZodObject<{
|
|
|
30
30
|
rows: z.ZodDefault<z.ZodNumber>;
|
|
31
31
|
regionCode: z.ZodDefault<z.ZodString>;
|
|
32
32
|
}, z.core.$strip>;
|
|
33
|
+
export declare const researchChannelPositioningSchema: z.ZodObject<{
|
|
34
|
+
channelId: z.ZodString;
|
|
35
|
+
maxVideos: z.ZodDefault<z.ZodNumber>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export declare const channelContentPillarsSchema: z.ZodObject<{
|
|
38
|
+
channelId: z.ZodString;
|
|
39
|
+
maxVideos: z.ZodDefault<z.ZodNumber>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
export declare const compareChannelsSchema: z.ZodObject<{
|
|
42
|
+
channelIds: z.ZodArray<z.ZodString>;
|
|
43
|
+
maxVideosPerChannel: z.ZodDefault<z.ZodNumber>;
|
|
44
|
+
}, z.core.$strip>;
|
|
33
45
|
export type OutlierVideosInput = z.infer<typeof outlierVideosSchema>;
|
|
34
46
|
export type CompareHooksInput = z.infer<typeof compareHooksSchema>;
|
|
35
47
|
export type TopicAnglesInput = z.infer<typeof topicAnglesSchema>;
|
|
36
48
|
export type CommentPainPointsInput = z.infer<typeof commentPainPointsSchema>;
|
|
37
49
|
export type VideoAngleMatrixInput = z.infer<typeof videoAngleMatrixSchema>;
|
|
50
|
+
export type ResearchChannelPositioningInput = z.infer<typeof researchChannelPositioningSchema>;
|
|
51
|
+
export type ChannelContentPillarsInput = z.infer<typeof channelContentPillarsSchema>;
|
|
52
|
+
export type CompareChannelsInput = z.infer<typeof compareChannelsSchema>;
|
|
@@ -25,4 +25,16 @@ export const videoAngleMatrixSchema = z.object({
|
|
|
25
25
|
rows: z.number().int().min(3).max(20).default(10),
|
|
26
26
|
regionCode: regionCodeSchema
|
|
27
27
|
});
|
|
28
|
+
export const researchChannelPositioningSchema = z.object({
|
|
29
|
+
channelId: z.string().min(1),
|
|
30
|
+
maxVideos: z.number().int().min(3).max(50).default(10)
|
|
31
|
+
});
|
|
32
|
+
export const channelContentPillarsSchema = z.object({
|
|
33
|
+
channelId: z.string().min(1),
|
|
34
|
+
maxVideos: z.number().int().min(3).max(50).default(10)
|
|
35
|
+
});
|
|
36
|
+
export const compareChannelsSchema = z.object({
|
|
37
|
+
channelIds: z.array(z.string().min(1)).min(2).max(10),
|
|
38
|
+
maxVideosPerChannel: z.number().int().min(3).max(20).default(10)
|
|
39
|
+
});
|
|
28
40
|
//# sourceMappingURL=research.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../../src/schemas/research.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAC5B,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;CACpG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC1D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,UAAU,EAAE,gBAAgB;CAC7B,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../../src/schemas/research.ts"],"names":[],"mappings":"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"}
|
package/dist/src/server.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type YoutubeOmniConfig } from './config.js';
|
|
2
2
|
import { ProviderRegistry } from './core/provider-registry.js';
|
|
3
3
|
import type { YoutubeOmniProvider } from './providers/types.js';
|
|
4
|
-
export declare const V0_TOOL_NAMES: readonly ["youtube.discovery.search_videos", "youtube.discovery.get_video_categories", "youtube.video.get_details", "youtube.video.compare", "youtube.channel.get_statistics", "youtube.channel.get_top_videos", "youtube.transcript.get_segments", "youtube.transcript.get_full_text", "youtube.transcript.analyze_structure", "youtube.comments.get", "youtube.comments.summarize", "youtube.planning.generate_research_brief", "youtube.research.find_outlier_videos", "youtube.research.compare_hooks", "youtube.research.extract_topic_angles", "youtube.research.summarize_comment_pain_points", "youtube.research.generate_video_angle_matrix", "youtube.safety.classify_action_risk", "youtube.safety.list_capabilities"];
|
|
4
|
+
export declare const V0_TOOL_NAMES: readonly ["youtube.discovery.search_videos", "youtube.discovery.get_video_categories", "youtube.video.get_details", "youtube.video.compare", "youtube.channel.get_statistics", "youtube.channel.get_top_videos", "youtube.transcript.get_segments", "youtube.transcript.get_full_text", "youtube.transcript.analyze_structure", "youtube.comments.get", "youtube.comments.summarize", "youtube.planning.generate_research_brief", "youtube.planning.generate_video_ideas", "youtube.research.find_outlier_videos", "youtube.research.compare_hooks", "youtube.research.extract_topic_angles", "youtube.research.summarize_comment_pain_points", "youtube.research.generate_video_angle_matrix", "youtube.research.analyze_channel_positioning", "youtube.research.extract_channel_content_pillars", "youtube.research.compare_channels", "youtube.safety.classify_action_risk", "youtube.safety.list_capabilities"];
|
|
5
5
|
export declare const OPERATION_TOOL_NAMES: readonly ["youtube.operations.update_video_metadata", "youtube.operations.schedule_upload", "youtube.operations.update_thumbnail", "youtube.operations.update_playlist", "youtube.operations.moderate_comment", "youtube.operations.create_community_post"];
|
|
6
6
|
export type V0ToolName = typeof V0_TOOL_NAMES[number];
|
|
7
7
|
export type OperationToolName = typeof OPERATION_TOOL_NAMES[number];
|
package/dist/src/server.js
CHANGED
|
@@ -9,9 +9,9 @@ import { getVideoDetails, compareVideos } from './tools/video.js';
|
|
|
9
9
|
import { getChannelStatistics, getChannelTopVideos } from './tools/channel.js';
|
|
10
10
|
import { getTranscriptSegments, getTranscriptFullText, analyzeTranscriptStructure } from './tools/transcript.js';
|
|
11
11
|
import { getVideoComments, summarizeComments } from './tools/comments.js';
|
|
12
|
-
import { generateResearchBrief } from './tools/planning.js';
|
|
12
|
+
import { generateResearchBrief, generateVideoIdeas } from './tools/planning.js';
|
|
13
13
|
import { classifyActionRiskTool, listCapabilities } from './tools/safety.js';
|
|
14
|
-
import { compareHooks, extractTopicAngles, findOutlierVideos, generateVideoAngleMatrix, summarizeCommentPainPoints } from './tools/research.js';
|
|
14
|
+
import { analyzeChannelPositioning, compareHooks, compareChannels, extractTopicAngles, extractChannelContentPillars, findOutlierVideos, generateVideoAngleMatrix, summarizeCommentPainPoints } from './tools/research.js';
|
|
15
15
|
import { createCommunityPost, moderateComment, scheduleUpload, updatePlaylist, updateThumbnail, updateVideoMetadata } from './tools/operations.js';
|
|
16
16
|
export const V0_TOOL_NAMES = [
|
|
17
17
|
'youtube.discovery.search_videos',
|
|
@@ -26,11 +26,15 @@ export const V0_TOOL_NAMES = [
|
|
|
26
26
|
'youtube.comments.get',
|
|
27
27
|
'youtube.comments.summarize',
|
|
28
28
|
'youtube.planning.generate_research_brief',
|
|
29
|
+
'youtube.planning.generate_video_ideas',
|
|
29
30
|
'youtube.research.find_outlier_videos',
|
|
30
31
|
'youtube.research.compare_hooks',
|
|
31
32
|
'youtube.research.extract_topic_angles',
|
|
32
33
|
'youtube.research.summarize_comment_pain_points',
|
|
33
34
|
'youtube.research.generate_video_angle_matrix',
|
|
35
|
+
'youtube.research.analyze_channel_positioning',
|
|
36
|
+
'youtube.research.extract_channel_content_pillars',
|
|
37
|
+
'youtube.research.compare_channels',
|
|
34
38
|
'youtube.safety.classify_action_risk',
|
|
35
39
|
'youtube.safety.list_capabilities'
|
|
36
40
|
];
|
|
@@ -136,6 +140,13 @@ export const V0_TOOL_INPUT_SCHEMAS = {
|
|
|
136
140
|
includeTranscripts: booleanSchema('Include transcript signals where available.', true),
|
|
137
141
|
includeComments: booleanSchema('Include comment signals where available.', true)
|
|
138
142
|
}, ['topic']),
|
|
143
|
+
'youtube.planning.generate_video_ideas': objectSchema({
|
|
144
|
+
topic: stringSchema('Topic or niche for video idea generation.', { minLength: 1 }),
|
|
145
|
+
regionCode: stringSchema('Two-letter country code.', { pattern: '^[A-Z]{2}$', default: 'US' }),
|
|
146
|
+
sampleSize: numberSchema('Number of benchmark videos to sample.', 1, 50, 10),
|
|
147
|
+
ideaCount: numberSchema('Number of ideas to generate.', 1, 20, 10),
|
|
148
|
+
includeComments: booleanSchema('Include public comment request signals where available.', true)
|
|
149
|
+
}, ['topic']),
|
|
139
150
|
'youtube.research.find_outlier_videos': objectSchema({
|
|
140
151
|
query: stringSchema('Topic or niche to discover outlier videos for.', { minLength: 1 }),
|
|
141
152
|
maxResults: numberSchema('Maximum videos to inspect.', 1, 50, 10),
|
|
@@ -161,6 +172,18 @@ export const V0_TOOL_INPUT_SCHEMAS = {
|
|
|
161
172
|
rows: numberSchema('Number of matrix rows to generate.', 3, 20, 10),
|
|
162
173
|
regionCode: stringSchema('Two-letter country code.', { pattern: '^[A-Z]{2}$', default: 'US' })
|
|
163
174
|
}, ['topic']),
|
|
175
|
+
'youtube.research.analyze_channel_positioning': objectSchema({
|
|
176
|
+
channelId: stringSchema('YouTube channel ID.', { minLength: 1 }),
|
|
177
|
+
maxVideos: numberSchema('Number of top videos to inspect.', 3, 50, 10)
|
|
178
|
+
}, ['channelId']),
|
|
179
|
+
'youtube.research.extract_channel_content_pillars': objectSchema({
|
|
180
|
+
channelId: stringSchema('YouTube channel ID.', { minLength: 1 }),
|
|
181
|
+
maxVideos: numberSchema('Number of top videos to inspect.', 3, 50, 10)
|
|
182
|
+
}, ['channelId']),
|
|
183
|
+
'youtube.research.compare_channels': objectSchema({
|
|
184
|
+
channelIds: stringArraySchema('YouTube channel IDs to compare.', 2, 10),
|
|
185
|
+
maxVideosPerChannel: numberSchema('Number of top videos to inspect per channel.', 3, 20, 10)
|
|
186
|
+
}, ['channelIds']),
|
|
164
187
|
'youtube.operations.update_video_metadata': objectSchema({
|
|
165
188
|
videoId: stringSchema('YouTube video ID.', { minLength: 1 }),
|
|
166
189
|
title: stringSchema('Optional replacement title.', { minLength: 1, maxLength: 100 }),
|
|
@@ -246,11 +269,15 @@ export function createToolHandlers(registry = createDefaultRegistry(), config =
|
|
|
246
269
|
'youtube.comments.get': (input) => getVideoComments(input, registry),
|
|
247
270
|
'youtube.comments.summarize': (input) => summarizeComments(input, registry),
|
|
248
271
|
'youtube.planning.generate_research_brief': (input) => generateResearchBrief(input, registry),
|
|
272
|
+
'youtube.planning.generate_video_ideas': (input) => generateVideoIdeas(input, registry),
|
|
249
273
|
'youtube.research.find_outlier_videos': (input) => findOutlierVideos(input, registry),
|
|
250
274
|
'youtube.research.compare_hooks': (input) => compareHooks(input, registry),
|
|
251
275
|
'youtube.research.extract_topic_angles': (input) => extractTopicAngles(input, registry),
|
|
252
276
|
'youtube.research.summarize_comment_pain_points': (input) => summarizeCommentPainPoints(input, registry),
|
|
253
277
|
'youtube.research.generate_video_angle_matrix': (input) => generateVideoAngleMatrix(input, registry),
|
|
278
|
+
'youtube.research.analyze_channel_positioning': (input) => analyzeChannelPositioning(input, registry),
|
|
279
|
+
'youtube.research.extract_channel_content_pillars': (input) => extractChannelContentPillars(input, registry),
|
|
280
|
+
'youtube.research.compare_channels': (input) => compareChannels(input, registry),
|
|
254
281
|
'youtube.safety.classify_action_risk': (input) => classifyActionRiskTool(input),
|
|
255
282
|
'youtube.safety.list_capabilities': (_input) => listCapabilities({})
|
|
256
283
|
};
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0B,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,iCAAiC;IACjC,wCAAwC;IACxC,2BAA2B;IAC3B,uBAAuB;IACvB,gCAAgC;IAChC,gCAAgC;IAChC,iCAAiC;IACjC,kCAAkC;IAClC,sCAAsC;IACtC,sBAAsB;IACtB,4BAA4B;IAC5B,0CAA0C;IAC1C,sCAAsC;IACtC,gCAAgC;IAChC,uCAAuC;IACvC,gDAAgD;IAChD,8CAA8C;IAC9C,qCAAqC;IACrC,kCAAkC;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,0CAA0C;IAC1C,oCAAoC;IACpC,qCAAqC;IACrC,oCAAoC;IACpC,qCAAqC;IACrC,0CAA0C;CAClC,CAAC;AAcX,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,QAAoB,EAAE,EAAc,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAC9H,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,OAAe,EAAE,OAAe,EAAE,YAAoB,EAAc,EAAE,CAAC,CAAC;IACjH,IAAI,EAAE,QAAQ;IACd,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,CAAC,WAAmB,EAAE,YAAqB,EAAc,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;AAC5I,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,QAAgB,EAAc,EAAE,CAAC,CAAC;IAClG,IAAI,EAAE,OAAO;IACb,WAAW;IACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;IACvC,QAAQ;IACR,QAAQ;CACT,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,MAAgB,EAAE,YAAqB,EAAc,EAAE,CAAC,CAAC;IAChG,IAAI,EAAE,QAAQ;IACd,WAAW;IACX,IAAI,EAAE,MAAM;IACZ,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACnD,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,CAAC,UAAsC,EAAE,WAAqB,EAAE,EAAc,EAAE,CAAC,CAAC;IACrG,IAAI,EAAE,QAAQ;IACd,UAAU;IACV,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,oBAAoB,EAAE,KAAK;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAA+B;IAC/D,iCAAiC,EAAE,YAAY,CAAC;QAC9C,KAAK,EAAE,YAAY,CAAC,qCAAqC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC5E,UAAU,EAAE,YAAY,CAAC,sCAAsC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;QAC3E,KAAK,EAAE,UAAU,CAAC,yBAAyB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC;QAC7F,aAAa,EAAE,UAAU,CAAC,2BAA2B,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;QACjG,OAAO,EAAE,UAAU,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC;QACpI,UAAU,EAAE,YAAY,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC/F,EAAE,CAAC,OAAO,CAAC,CAAC;IACb,wCAAwC,EAAE,YAAY,CAAC;QACrD,UAAU,EAAE,YAAY,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC/F,CAAC;IACF,2BAA2B,EAAE,YAAY,CAAC;QACxC,QAAQ,EAAE,iBAAiB,CAAC,+BAA+B,EAAE,CAAC,EAAE,EAAE,CAAC;QACnE,WAAW,EAAE,aAAa,CAAC,8BAA8B,EAAE,KAAK,CAAC;QACjE,iBAAiB,EAAE,UAAU,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;KAChG,EAAE,CAAC,UAAU,CAAC,CAAC;IAChB,uBAAuB,EAAE,YAAY,CAAC;QACpC,QAAQ,EAAE,iBAAiB,CAAC,+BAA+B,EAAE,CAAC,EAAE,EAAE,CAAC;QACnE,WAAW,EAAE,aAAa,CAAC,8BAA8B,EAAE,KAAK,CAAC;KAClE,EAAE,CAAC,UAAU,CAAC,CAAC;IAChB,gCAAgC,EAAE,YAAY,CAAC;QAC7C,UAAU,EAAE,iBAAiB,CAAC,iCAAiC,EAAE,CAAC,EAAE,EAAE,CAAC;KACxE,EAAE,CAAC,YAAY,CAAC,CAAC;IAClB,gCAAgC,EAAE,YAAY,CAAC;QAC7C,SAAS,EAAE,YAAY,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAChE,UAAU,EAAE,YAAY,CAAC,qCAAqC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;QAC1E,WAAW,EAAE,aAAa,CAAC,8BAA8B,EAAE,KAAK,CAAC;QACjE,iBAAiB,EAAE,UAAU,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;KAChG,EAAE,CAAC,WAAW,CAAC,CAAC;IACjB,iCAAiC,EAAE,YAAY,CAAC;QAC9C,QAAQ,EAAE,iBAAiB,CAAC,qDAAqD,EAAE,CAAC,EAAE,EAAE,CAAC;QACzF,IAAI,EAAE,YAAY,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrG,MAAM,EAAE,UAAU,CAAC,4BAA4B,EAAE,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;KACnF,EAAE,CAAC,UAAU,CAAC,CAAC;IAChB,kCAAkC,EAAE,YAAY,CAAC;QAC/C,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC5D,IAAI,EAAE,YAAY,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrG,QAAQ,EAAE,YAAY,CAAC,0CAA0C,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC;KACvF,EAAE,CAAC,SAAS,CAAC,CAAC;IACf,sCAAsC,EAAE,YAAY,CAAC;QACnD,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC5D,IAAI,EAAE,YAAY,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrG,aAAa,EAAE,aAAa,CAAC,6CAA6C,EAAE,IAAI,CAAC;KAClF,EAAE,CAAC,SAAS,CAAC,CAAC;IACf,sBAAsB,EAAE,YAAY,CAAC;QACnC,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC5D,UAAU,EAAE,YAAY,CAAC,uCAAuC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QAC7E,KAAK,EAAE,UAAU,CAAC,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAC5E,UAAU,EAAE,YAAY,CAAC,8BAA8B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjE,aAAa,EAAE,UAAU,CAAC,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC;KAClF,EAAE,CAAC,SAAS,CAAC,CAAC;IACf,4BAA4B,EAAE,YAAY,CAAC;QACzC,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC5D,WAAW,EAAE,YAAY,CAAC,gCAAgC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACvE,gBAAgB,EAAE,aAAa,CAAC,6BAA6B,EAAE,IAAI,CAAC;QACpE,eAAe,EAAE,aAAa,CAAC,4BAA4B,EAAE,IAAI,CAAC;KACnE,EAAE,CAAC,SAAS,CAAC,CAAC;IACf,0CAA0C,EAAE,YAAY,CAAC;QACvD,KAAK,EAAE,YAAY,CAAC,wCAAwC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC/E,UAAU,EAAE,YAAY,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9F,eAAe,EAAE,YAAY,CAAC,qCAAqC,CAAC;QACpE,UAAU,EAAE,YAAY,CAAC,6BAA6B,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;QAClE,kBAAkB,EAAE,aAAa,CAAC,6CAA6C,EAAE,IAAI,CAAC;QACtF,eAAe,EAAE,aAAa,CAAC,0CAA0C,EAAE,IAAI,CAAC;KACjF,EAAE,CAAC,OAAO,CAAC,CAAC;IACb,sCAAsC,EAAE,YAAY,CAAC;QACnD,KAAK,EAAE,YAAY,CAAC,gDAAgD,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACvF,UAAU,EAAE,YAAY,CAAC,4BAA4B,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;QACjE,UAAU,EAAE,YAAY,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9F,qBAAqB,EAAE,YAAY,CAAC,uDAAuD,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACvG,OAAO,EAAE,UAAU,CAAC,wBAAwB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC;KAC1H,EAAE,CAAC,OAAO,CAAC,CAAC;IACb,gCAAgC,EAAE,YAAY,CAAC;QAC7C,QAAQ,EAAE,iBAAiB,CAAC,mDAAmD,EAAE,CAAC,EAAE,EAAE,CAAC;QACvF,IAAI,EAAE,YAAY,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KACnE,EAAE,CAAC,UAAU,CAAC,CAAC;IAChB,uCAAuC,EAAE,YAAY,CAAC;QACpD,KAAK,EAAE,YAAY,CAAC,+CAA+C,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACtF,UAAU,EAAE,YAAY,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9F,UAAU,EAAE,YAAY,CAAC,6BAA6B,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;KACnE,EAAE,CAAC,OAAO,CAAC,CAAC;IACb,gDAAgD,EAAE,YAAY,CAAC;QAC7D,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC5D,WAAW,EAAE,YAAY,CAAC,8BAA8B,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;KACtE,EAAE,CAAC,SAAS,CAAC,CAAC;IACf,8CAA8C,EAAE,YAAY,CAAC;QAC3D,KAAK,EAAE,YAAY,CAAC,6CAA6C,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACpF,IAAI,EAAE,YAAY,CAAC,oCAAoC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;QACnE,UAAU,EAAE,YAAY,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC/F,EAAE,CAAC,OAAO,CAAC,CAAC;IACb,0CAA0C,EAAE,YAAY,CAAC;QACvD,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC5D,KAAK,EAAE,YAAY,CAAC,6BAA6B,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QACpF,WAAW,EAAE,YAAY,CAAC,mCAAmC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACnF,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzH,UAAU,EAAE,YAAY,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,aAAa,CAAC,oDAAoD,EAAE,IAAI,CAAC;KAClF,EAAE,CAAC,SAAS,CAAC,CAAC;IACf,oCAAoC,EAAE,YAAY,CAAC;QACjD,QAAQ,EAAE,YAAY,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACzE,KAAK,EAAE,YAAY,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QACtE,WAAW,EAAE,YAAY,CAAC,uCAAuC,CAAC;QAClE,UAAU,EAAE,YAAY,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,aAAa,CAAC,oDAAoD,EAAE,IAAI,CAAC;KAClF,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzB,qCAAqC,EAAE,YAAY,CAAC;QAClD,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC5D,SAAS,EAAE,YAAY,CAAC,6BAA6B,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACxE,UAAU,EAAE,YAAY,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,aAAa,CAAC,oDAAoD,EAAE,IAAI,CAAC;KAClF,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC5B,oCAAoC,EAAE,YAAY,CAAC;QACjD,UAAU,EAAE,YAAY,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC5D,MAAM,EAAE,UAAU,CAAC,2BAA2B,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC;QACpF,UAAU,EAAE,YAAY,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,aAAa,CAAC,oDAAoD,EAAE,IAAI,CAAC;KAClF,EAAE,CAAC,YAAY,CAAC,CAAC;IAClB,qCAAqC,EAAE,YAAY,CAAC;QAClD,SAAS,EAAE,YAAY,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAChE,MAAM,EAAE,UAAU,CAAC,4BAA4B,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzF,UAAU,EAAE,YAAY,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,aAAa,CAAC,oDAAoD,EAAE,IAAI,CAAC;KAClF,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3B,0CAA0C,EAAE,YAAY,CAAC;QACvD,SAAS,EAAE,YAAY,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAChE,IAAI,EAAE,YAAY,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7E,UAAU,EAAE,YAAY,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,aAAa,CAAC,oDAAoD,EAAE,IAAI,CAAC;KAClF,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzB,qCAAqC,EAAE,YAAY,CAAC;QAClD,MAAM,EAAE,YAAY,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAClE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,IAAI,EAAE;KACnG,EAAE,CAAC,QAAQ,CAAC,CAAC;IACd,kCAAkC,EAAE,YAAY,CAAC,EAAE,CAAC;CACrD,CAAC;AAEF,SAAS,qBAAqB,CAAC,MAAoE;IACjG,OAAO,MAAM,CAAC,gBAAgB,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAuE,UAAU,EAAE;IAC9G,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAuE,UAAU,EAAE;IACpH,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI;QACJ,WAAW,EAAE,mCAAmC,IAAI,EAAE;QACtD,WAAW,EAAE,qBAAqB,CAAC,IAAI,CAAC;KACzC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA4B,UAAU,EAAE;IACtE,IAAI,CAAC,MAAM,CAAC,aAAa;QAAE,OAAO,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IAE9D,IAAI,YAAY,GAAwB,IAAI,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzF,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5C,YAAY,GAAG,IAAI,kBAAkB,CAAC,YAAY,EAAE,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IACpH,CAAC;IAED,OAAO,CAAC,YAAY,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAA4B,UAAU,EAAE;IAC5E,OAAO,IAAI,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAA6B,qBAAqB,EAAE,EAAE,SAAuE,UAAU,EAAE;IAC1K,MAAM,QAAQ,GAAqD;QACjE,iCAAiC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;QACpF,wCAAwC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC;QACjG,2BAA2B,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC;QACjF,uBAAuB,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC3E,gCAAgC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC3F,gCAAgC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC1F,iCAAiC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC7F,kCAAkC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC9F,sCAAsC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC;QACvG,sBAAsB,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC7E,4BAA4B,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC;QACpF,0CAA0C,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC;QACtG,sCAAsC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC9F,gCAAgC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;QACnF,uCAAuC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAChG,gDAAgD,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC;QACjH,8CAA8C,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC7G,qCAAqC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAA6D,CAAC;QAChJ,kCAAkC,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;KAC9E,CAAC;IAEF,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,0CAA0C,CAAC,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACtG,QAAQ,CAAC,oCAAoC,CAAC,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3F,QAAQ,CAAC,qCAAqC,CAAC,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC7F,QAAQ,CAAC,oCAAoC,CAAC,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3F,QAAQ,CAAC,qCAAqC,CAAC,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC7F,QAAQ,CAAC,0CAA0C,CAAC,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACxG,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export declare function getVideoComments(input: unknown, registry: ProviderRegis
|
|
|
5
5
|
}>>;
|
|
6
6
|
export declare function summarizeComments(input: unknown, registry: ProviderRegistry): Promise<import("../core/envelope.js").ToolEnvelope<{
|
|
7
7
|
summary: string;
|
|
8
|
+
rawCommentCount: number;
|
|
9
|
+
dedupedCommentCount: number;
|
|
8
10
|
questions: string[];
|
|
9
11
|
contentRequests: string[];
|
|
10
12
|
themes: {
|
|
@@ -24,3 +24,16 @@ export declare function generateResearchBrief(input: unknown, registry: Provider
|
|
|
24
24
|
risks: string[];
|
|
25
25
|
};
|
|
26
26
|
}>>;
|
|
27
|
+
export declare function generateVideoIdeas(input: unknown, registry: ProviderRegistry): Promise<import("../core/envelope.js").ToolEnvelope<{
|
|
28
|
+
topic: string;
|
|
29
|
+
ideas: {
|
|
30
|
+
title: string;
|
|
31
|
+
angle: string;
|
|
32
|
+
hook: string;
|
|
33
|
+
evidence: (string | undefined)[];
|
|
34
|
+
rationale: string;
|
|
35
|
+
risk: string;
|
|
36
|
+
}[];
|
|
37
|
+
benchmarkVideos: any[];
|
|
38
|
+
audienceRequests: string[];
|
|
39
|
+
}>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { makeEnvelope } from '../core/envelope.js';
|
|
2
|
-
import { analyzeHookPattern, summarizeCommentSet } from '../core/synthesis.js';
|
|
3
|
-
import { researchBriefSchema } from '../schemas/planning.js';
|
|
2
|
+
import { analyzeHookPattern, summarizeCommentSet, generateIdeasFromBenchmarks } from '../core/synthesis.js';
|
|
3
|
+
import { researchBriefSchema, videoIdeasSchema } from '../schemas/planning.js';
|
|
4
4
|
function unique(items) {
|
|
5
5
|
return [...new Set(items)];
|
|
6
6
|
}
|
|
@@ -10,7 +10,7 @@ function angleFromTitle(title, topic, index) {
|
|
|
10
10
|
export async function generateResearchBrief(input, registry) {
|
|
11
11
|
const parsed = researchBriefSchema.parse(input);
|
|
12
12
|
const searchProvider = registry.requireCapability('search');
|
|
13
|
-
const videos = await searchProvider.searchVideos({ query: parsed.topic, maxResults: parsed.sampleSize });
|
|
13
|
+
const videos = await searchProvider.searchVideos({ query: parsed.topic, maxResults: parsed.sampleSize, regionCode: parsed.regionCode });
|
|
14
14
|
const benchmarkVideos = videos.videos;
|
|
15
15
|
const videoIds = benchmarkVideos.map((video) => video.videoId).filter(Boolean).slice(0, 5);
|
|
16
16
|
let hookPatterns = [];
|
|
@@ -78,4 +78,31 @@ export async function generateResearchBrief(input, registry) {
|
|
|
78
78
|
warnings: ['Draft only; no upload or publishing action is performed. Transcript/comment synthesis is heuristic.']
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
|
+
export async function generateVideoIdeas(input, registry) {
|
|
82
|
+
const parsed = videoIdeasSchema.parse(input);
|
|
83
|
+
const searchProvider = registry.requireCapability('search');
|
|
84
|
+
const videos = await searchProvider.searchVideos({ query: parsed.topic, maxResults: parsed.sampleSize, regionCode: parsed.regionCode });
|
|
85
|
+
const benchmarkVideos = videos.videos;
|
|
86
|
+
const videoIds = benchmarkVideos.map((video) => video.videoId).filter(Boolean).slice(0, 3);
|
|
87
|
+
let requests = [];
|
|
88
|
+
if (parsed.includeComments && videoIds[0]) {
|
|
89
|
+
try {
|
|
90
|
+
const commentsProvider = registry.requireCapability('comments');
|
|
91
|
+
const comments = await commentsProvider.getVideoComments({ videoId: videoIds[0], maxResults: 50, maxReplies: 0 });
|
|
92
|
+
requests = summarizeCommentSet(comments.comments, true, true).contentRequests;
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
requests = [];
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const ideas = generateIdeasFromBenchmarks(parsed.topic, benchmarkVideos, requests, parsed.ideaCount);
|
|
99
|
+
return makeEnvelope({
|
|
100
|
+
tool: 'youtube.planning.generate_video_ideas',
|
|
101
|
+
provider: searchProvider.id,
|
|
102
|
+
authTier: searchProvider.authTier,
|
|
103
|
+
data: { topic: parsed.topic, ideas, benchmarkVideos, audienceRequests: requests },
|
|
104
|
+
warnings: ['Ideas are draft planning suggestions only; no upload or publishing action is performed.'],
|
|
105
|
+
nextActions: ['youtube.planning.generate_research_brief', 'youtube.research.compare_hooks']
|
|
106
|
+
});
|
|
107
|
+
}
|
|
81
108
|
//# sourceMappingURL=planning.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../src/tools/planning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../src/tools/planning.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import type { ProviderRegistry } from '../core/provider-registry.js';
|
|
2
2
|
export declare function findOutlierVideos(input: unknown, registry: ProviderRegistry): Promise<import("../core/envelope.js").ToolEnvelope<{
|
|
3
3
|
query: string;
|
|
4
|
-
outliers:
|
|
5
|
-
videoId: any;
|
|
6
|
-
title: any;
|
|
7
|
-
channelId: any;
|
|
8
|
-
viewCount: number;
|
|
9
|
-
subscriberCount: number;
|
|
10
|
-
score: number;
|
|
11
|
-
reason: string;
|
|
12
|
-
}[];
|
|
4
|
+
outliers: any[];
|
|
13
5
|
}>>;
|
|
14
6
|
export declare function compareHooks(input: unknown, registry: ProviderRegistry): Promise<import("../core/envelope.js").ToolEnvelope<{
|
|
15
7
|
hooks: {
|
|
@@ -49,3 +41,28 @@ export declare function generateVideoAngleMatrix(input: unknown, registry: Provi
|
|
|
49
41
|
suggestedHook: string;
|
|
50
42
|
}[];
|
|
51
43
|
}>>;
|
|
44
|
+
export declare function analyzeChannelPositioning(input: unknown, registry: ProviderRegistry): Promise<import("../core/envelope.js").ToolEnvelope<{
|
|
45
|
+
channelPositioning: string;
|
|
46
|
+
contentPillars: import("../core/synthesis.js").ChannelPillar[];
|
|
47
|
+
repeatableFormats: string[];
|
|
48
|
+
audiencePromise: string;
|
|
49
|
+
differentiation: string;
|
|
50
|
+
channelId: string;
|
|
51
|
+
channel: any;
|
|
52
|
+
topVideos: any[];
|
|
53
|
+
}>>;
|
|
54
|
+
export declare function extractChannelContentPillars(input: unknown, registry: ProviderRegistry): Promise<import("../core/envelope.js").ToolEnvelope<{
|
|
55
|
+
channelId: string;
|
|
56
|
+
pillars: import("../core/synthesis.js").ChannelPillar[];
|
|
57
|
+
videosAnalyzed: number;
|
|
58
|
+
}>>;
|
|
59
|
+
export declare function compareChannels(input: unknown, registry: ProviderRegistry): Promise<import("../core/envelope.js").ToolEnvelope<{
|
|
60
|
+
channels: any[];
|
|
61
|
+
comparisonMatrix: {
|
|
62
|
+
channelId: string;
|
|
63
|
+
positioning: string;
|
|
64
|
+
pillars: string[];
|
|
65
|
+
repeatableFormats: string[];
|
|
66
|
+
differentiation: string;
|
|
67
|
+
}[];
|
|
68
|
+
}>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { makeEnvelope } from '../core/envelope.js';
|
|
2
|
-
import { analyzeHookPattern, classifyComment } from '../core/synthesis.js';
|
|
3
|
-
import { commentPainPointsSchema, compareHooksSchema, outlierVideosSchema, topicAnglesSchema, videoAngleMatrixSchema } from '../schemas/research.js';
|
|
2
|
+
import { analyzeHookPattern, classifyComment, inferChannelPositioning, extractChannelPillars } from '../core/synthesis.js';
|
|
3
|
+
import { commentPainPointsSchema, compareHooksSchema, compareChannelsSchema, channelContentPillarsSchema, researchChannelPositioningSchema, outlierVideosSchema, topicAnglesSchema, videoAngleMatrixSchema } from '../schemas/research.js';
|
|
4
4
|
function numberFrom(value, fallback = 0) {
|
|
5
5
|
const parsed = Number(value);
|
|
6
6
|
return Number.isFinite(parsed) ? parsed : fallback;
|
|
@@ -16,7 +16,7 @@ export async function findOutlierVideos(input, registry) {
|
|
|
16
16
|
const searchProvider = registry.requireCapability('search');
|
|
17
17
|
const detailsProvider = registry.requireCapability('video_details');
|
|
18
18
|
const channelProvider = registry.requireCapability('channel_stats');
|
|
19
|
-
const search = await searchProvider.searchVideos({ query: parsed.query, maxResults: parsed.maxResults });
|
|
19
|
+
const search = await searchProvider.searchVideos({ query: parsed.query, maxResults: parsed.maxResults, regionCode: parsed.regionCode, recency: parsed.recency });
|
|
20
20
|
const videoIds = search.videos.map((video) => video.videoId).filter(Boolean);
|
|
21
21
|
const details = await detailsProvider.getVideoDetails({ videoIds, includeTags: false, descriptionDetail: 'snippet' });
|
|
22
22
|
const channelIds = [...new Set(details.videos.map((video) => video.channelId).filter(Boolean))];
|
|
@@ -26,16 +26,21 @@ export async function findOutlierVideos(input, registry) {
|
|
|
26
26
|
const views = numberFrom(video.statistics?.viewCount);
|
|
27
27
|
const subscribers = Math.max(1, numberFrom(subscriberByChannel.get(video.channelId), 1));
|
|
28
28
|
const ratio = views / subscribers;
|
|
29
|
+
const roundedRatio = Number(ratio.toFixed(4));
|
|
29
30
|
return {
|
|
30
31
|
videoId: video.videoId,
|
|
31
32
|
title: video.title,
|
|
32
33
|
channelId: video.channelId,
|
|
33
34
|
viewCount: views,
|
|
34
35
|
subscriberCount: subscribers,
|
|
36
|
+
viewsToSubscriberRatio: roundedRatio,
|
|
35
37
|
score: Number(Math.max(ratio, ratio >= parsed.minViewToChannelRatio ? ratio * 2 : ratio).toFixed(4)),
|
|
36
|
-
reason: ratio >= parsed.minViewToChannelRatio ? 'views exceed configured channel-size ratio' : 'ranked by views-to-subscribers ratio'
|
|
38
|
+
reason: ratio >= parsed.minViewToChannelRatio ? 'views exceed configured channel-size ratio' : 'ranked by views-to-subscribers ratio',
|
|
39
|
+
rationale: ratio >= parsed.minViewToChannelRatio
|
|
40
|
+
? `Strong outlier: views-to-subscribers ratio ${roundedRatio} exceeds threshold ${parsed.minViewToChannelRatio}.`
|
|
41
|
+
: `Ranked by views-to-subscribers ratio ${roundedRatio}; below configured threshold ${parsed.minViewToChannelRatio}.`
|
|
37
42
|
};
|
|
38
|
-
}).sort((a, b) => b.score - a.score);
|
|
43
|
+
}).sort((a, b) => b.score - a.score).map((outlier, index) => ({ ...outlier, benchmarkRank: index + 1 }));
|
|
39
44
|
return makeEnvelope({
|
|
40
45
|
tool: 'youtube.research.find_outlier_videos',
|
|
41
46
|
provider: searchProvider.id,
|
|
@@ -65,7 +70,7 @@ export async function compareHooks(input, registry) {
|
|
|
65
70
|
export async function extractTopicAngles(input, registry) {
|
|
66
71
|
const parsed = topicAnglesSchema.parse(input);
|
|
67
72
|
const provider = registry.requireCapability('search');
|
|
68
|
-
const data = await provider.searchVideos({ query: parsed.topic, maxResults: parsed.sampleSize });
|
|
73
|
+
const data = await provider.searchVideos({ query: parsed.topic, maxResults: parsed.sampleSize, regionCode: parsed.regionCode });
|
|
69
74
|
const angles = data.videos.map((video, index) => ({
|
|
70
75
|
angle: titleAngle(video.title, parsed.topic, index),
|
|
71
76
|
evidence: [video.videoId].filter(Boolean),
|
|
@@ -107,7 +112,7 @@ export async function summarizeCommentPainPoints(input, registry) {
|
|
|
107
112
|
export async function generateVideoAngleMatrix(input, registry) {
|
|
108
113
|
const parsed = videoAngleMatrixSchema.parse(input);
|
|
109
114
|
const provider = registry.requireCapability('search');
|
|
110
|
-
const data = await provider.searchVideos({ query: parsed.topic, maxResults: parsed.rows });
|
|
115
|
+
const data = await provider.searchVideos({ query: parsed.topic, maxResults: parsed.rows, regionCode: parsed.regionCode });
|
|
111
116
|
const matrix = data.videos.slice(0, parsed.rows).map((video, index) => ({
|
|
112
117
|
angle: titleAngle(video.title, parsed.topic, index),
|
|
113
118
|
evidence: [video.videoId].filter(Boolean),
|
|
@@ -122,4 +127,63 @@ export async function generateVideoAngleMatrix(input, registry) {
|
|
|
122
127
|
nextActions: ['youtube.planning.generate_research_brief']
|
|
123
128
|
});
|
|
124
129
|
}
|
|
130
|
+
export async function analyzeChannelPositioning(input, registry) {
|
|
131
|
+
const parsed = researchChannelPositioningSchema.parse(input);
|
|
132
|
+
const topProvider = registry.requireCapability('channel_top_videos');
|
|
133
|
+
const statsProvider = registry.requireCapability('channel_stats');
|
|
134
|
+
const [topVideos, stats] = await Promise.all([
|
|
135
|
+
topProvider.getChannelTopVideos({ channelId: parsed.channelId, maxResults: parsed.maxVideos }),
|
|
136
|
+
statsProvider.getChannelStatistics({ channelIds: [parsed.channelId] })
|
|
137
|
+
]);
|
|
138
|
+
const channel = stats.channels[0] ?? { channelId: parsed.channelId, title: parsed.channelId };
|
|
139
|
+
const positioning = inferChannelPositioning(String(channel.title ?? parsed.channelId), topVideos.videos);
|
|
140
|
+
return makeEnvelope({
|
|
141
|
+
tool: 'youtube.research.analyze_channel_positioning',
|
|
142
|
+
provider: topProvider.id,
|
|
143
|
+
authTier: topProvider.authTier,
|
|
144
|
+
data: { channelId: parsed.channelId, channel, topVideos: topVideos.videos, ...positioning },
|
|
145
|
+
nextActions: ['youtube.planning.generate_video_ideas', 'youtube.research.compare_channels']
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
export async function extractChannelContentPillars(input, registry) {
|
|
149
|
+
const parsed = channelContentPillarsSchema.parse(input);
|
|
150
|
+
const provider = registry.requireCapability('channel_top_videos');
|
|
151
|
+
const topVideos = await provider.getChannelTopVideos({ channelId: parsed.channelId, maxResults: parsed.maxVideos });
|
|
152
|
+
const pillars = extractChannelPillars(topVideos.videos);
|
|
153
|
+
return makeEnvelope({
|
|
154
|
+
tool: 'youtube.research.extract_channel_content_pillars',
|
|
155
|
+
provider: provider.id,
|
|
156
|
+
authTier: provider.authTier,
|
|
157
|
+
data: { channelId: parsed.channelId, pillars, videosAnalyzed: topVideos.videos.length },
|
|
158
|
+
nextActions: ['youtube.research.analyze_channel_positioning', 'youtube.planning.generate_video_ideas']
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
export async function compareChannels(input, registry) {
|
|
162
|
+
const parsed = compareChannelsSchema.parse(input);
|
|
163
|
+
const topProvider = registry.requireCapability('channel_top_videos');
|
|
164
|
+
const statsProvider = registry.requireCapability('channel_stats');
|
|
165
|
+
const stats = await statsProvider.getChannelStatistics({ channelIds: parsed.channelIds });
|
|
166
|
+
const channels = [];
|
|
167
|
+
const comparisonMatrix = [];
|
|
168
|
+
for (const channelId of parsed.channelIds) {
|
|
169
|
+
const topVideos = await topProvider.getChannelTopVideos({ channelId, maxResults: parsed.maxVideosPerChannel });
|
|
170
|
+
const channel = stats.channels.find((item) => item.channelId === channelId) ?? { channelId, title: channelId };
|
|
171
|
+
const positioning = inferChannelPositioning(String(channel.title ?? channelId), topVideos.videos);
|
|
172
|
+
channels.push({ ...channel, videosAnalyzed: topVideos.videos.length });
|
|
173
|
+
comparisonMatrix.push({
|
|
174
|
+
channelId,
|
|
175
|
+
positioning: positioning.channelPositioning,
|
|
176
|
+
pillars: positioning.contentPillars.map((pillar) => pillar.pillar),
|
|
177
|
+
repeatableFormats: positioning.repeatableFormats,
|
|
178
|
+
differentiation: positioning.differentiation
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
return makeEnvelope({
|
|
182
|
+
tool: 'youtube.research.compare_channels',
|
|
183
|
+
provider: topProvider.id,
|
|
184
|
+
authTier: topProvider.authTier,
|
|
185
|
+
data: { channels, comparisonMatrix },
|
|
186
|
+
nextActions: ['youtube.research.extract_channel_content_pillars']
|
|
187
|
+
});
|
|
188
|
+
}
|
|
125
189
|
//# sourceMappingURL=research.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../../src/tools/research.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../../src/tools/research.ts"],"names":[],"mappings":"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"}
|
package/dist/src/tools/safety.js
CHANGED
|
@@ -5,6 +5,6 @@ export async function classifyActionRiskTool(input) {
|
|
|
5
5
|
return makeEnvelope({ tool: 'youtube.safety.classify_action_risk', provider: 'core', authTier: 'none', data: risk, warnings: risk.allowedInV0 ? [] : ['This action is part of the full scope but locked in v0.'] });
|
|
6
6
|
}
|
|
7
7
|
export async function listCapabilities(_input) {
|
|
8
|
-
return makeEnvelope({ tool: 'youtube.safety.list_capabilities', provider: 'core', authTier: 'none', data: { version: '0.2.
|
|
8
|
+
return makeEnvelope({ tool: 'youtube.safety.list_capabilities', provider: 'core', authTier: 'none', data: { version: '0.2.6', phase: 'v0.2.6-public-readonly-intelligence', enabledNamespaces: ['discovery', 'video', 'channel', 'transcript', 'comments', 'planning', 'research', 'safety'], lockedNamespaces: ['operations', 'community-write', 'analytics-oauth', 'reporting', 'media-download', 'shorts-render', 'music-private'] }, warnings: [] });
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=safety.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safety.js","sourceRoot":"","sources":["../../../src/tools/safety.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAA2D;IACtG,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,qCAAqC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yDAAyD,CAAC,EAAE,CAAC,CAAC;AACtN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAA6B;IAClE,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,kCAAkC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"safety.js","sourceRoot":"","sources":["../../../src/tools/safety.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAA2D;IACtG,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,qCAAqC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yDAAyD,CAAC,EAAE,CAAC,CAAC;AACtN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAA6B;IAClE,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,kCAAkC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,qCAAqC,EAAE,iBAAiB,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3b,CAAC"}
|
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
# v0.2.6 Public Read-Only Intelligence Implementation Plan
|
|
2
|
+
|
|
3
|
+
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
|
|
4
|
+
|
|
5
|
+
**Goal:** Complete the public read-only intelligence layer by adding channel-level positioning analysis, video idea generation, and stronger research ranking rationales without enabling authenticated or write operations.
|
|
6
|
+
|
|
7
|
+
**Architecture:** Keep the V0 surface public/read-only. Add new research/planning tools that compose existing provider capabilities (`search`, `video_details`, `channel_stats`, `channel_top_videos`, `transcript`, `comments`) and shared deterministic synthesis helpers. Existing write/operations namespaces remain locked by default.
|
|
8
|
+
|
|
9
|
+
**Tech Stack:** TypeScript, Vitest, Zod schemas, MCP tool definitions in `src/server.ts`, provider abstraction in `src/providers/types.ts`.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## File Structure
|
|
14
|
+
|
|
15
|
+
- Modify: `src/core/synthesis.ts`
|
|
16
|
+
- Add deterministic helpers for deduplication, title pattern classification, channel positioning/content pillar extraction, and evidence-based idea generation.
|
|
17
|
+
- Modify: `src/schemas/research.ts`
|
|
18
|
+
- Add schemas/types for channel positioning, content pillar extraction, and channel comparison.
|
|
19
|
+
- Modify: `src/schemas/planning.ts`
|
|
20
|
+
- Add schema/type for read-only video idea generation.
|
|
21
|
+
- Modify: `src/tools/research.ts`
|
|
22
|
+
- Add `analyzeChannelPositioning`, `extractChannelContentPillars`, and `compareChannels` tool handlers.
|
|
23
|
+
- Improve `findOutlierVideos` ranking rationale.
|
|
24
|
+
- Modify: `src/tools/planning.ts`
|
|
25
|
+
- Add `generateVideoIdeas` tool handler.
|
|
26
|
+
- Reuse synthesis helpers for evidence-linked ideas.
|
|
27
|
+
- Modify: `src/server.ts`
|
|
28
|
+
- Register new tool names, input schemas, and handlers.
|
|
29
|
+
- Modify: `src/tools/safety.ts`
|
|
30
|
+
- Ensure list capabilities still describes V0 as read-only and exposes new tools under existing read-only namespaces.
|
|
31
|
+
- Modify: `tests/tools/research.test.ts`
|
|
32
|
+
- Add failing tests for the three new research tools and outlier rationale.
|
|
33
|
+
- Modify: `tests/tools/deep-synthesis.test.ts`
|
|
34
|
+
- Add richer fixture tests for channel positioning and video idea generation.
|
|
35
|
+
- Modify: `tests/tools/planning.test.ts` or create if absent
|
|
36
|
+
- Add failing tests for `youtube.planning.generate_video_ideas`.
|
|
37
|
+
- Modify: `tests/mcp-tool-schema.test.ts` / `tests/mcp-smoke.test.ts`
|
|
38
|
+
- Update expected V0 tool count and schema registration coverage.
|
|
39
|
+
- Modify: `CHANGELOG.md`, `package.json`, `package-lock.json`
|
|
40
|
+
- Prepare version `0.2.6` after implementation and validation.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
### Task 1: Add failing tests for channel-level research tools
|
|
45
|
+
|
|
46
|
+
**Files:**
|
|
47
|
+
- Modify: `tests/tools/research.test.ts`
|
|
48
|
+
- Modify: `tests/tools/deep-synthesis.test.ts`
|
|
49
|
+
|
|
50
|
+
- [ ] **Step 1: Write failing tests for channel positioning and pillars**
|
|
51
|
+
|
|
52
|
+
Add tests expecting these new handlers to exist and return structured read-only intelligence:
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
import {
|
|
56
|
+
analyzeChannelPositioning,
|
|
57
|
+
compareChannels,
|
|
58
|
+
extractChannelContentPillars
|
|
59
|
+
} from '../../src/tools/research.js';
|
|
60
|
+
|
|
61
|
+
it('analyzes channel positioning from top videos and channel stats', async () => {
|
|
62
|
+
const result = await analyzeChannelPositioning({ channelId: 'UC_1', maxVideos: 5 }, registry);
|
|
63
|
+
|
|
64
|
+
expect(result.ok).toBe(true);
|
|
65
|
+
expect(result.data?.channelId).toBe('UC_1');
|
|
66
|
+
expect(result.data?.channelPositioning).toEqual(expect.any(String));
|
|
67
|
+
expect(result.data?.contentPillars[0]).toMatchObject({ pillar: expect.any(String), evidence: expect.any(Array) });
|
|
68
|
+
expect(result.data?.repeatableFormats[0]).toEqual(expect.any(String));
|
|
69
|
+
expect(result.data?.audiencePromise).toEqual(expect.any(String));
|
|
70
|
+
expect(result.data?.differentiation).toEqual(expect.any(String));
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
it('extracts channel content pillars with evidence counts', async () => {
|
|
74
|
+
const result = await extractChannelContentPillars({ channelId: 'UC_1', maxVideos: 10 }, registry);
|
|
75
|
+
|
|
76
|
+
expect(result.ok).toBe(true);
|
|
77
|
+
expect(result.data?.pillars[0]).toMatchObject({ pillar: expect.any(String), count: expect.any(Number), evidence: expect.any(Array) });
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
it('compares multiple channels without requiring OAuth', async () => {
|
|
81
|
+
const result = await compareChannels({ channelIds: ['UC_1', 'UC_2'], maxVideosPerChannel: 5 }, registry);
|
|
82
|
+
|
|
83
|
+
expect(result.ok).toBe(true);
|
|
84
|
+
expect(result.data?.channels).toHaveLength(2);
|
|
85
|
+
expect(result.data?.comparisonMatrix[0]).toMatchObject({ channelId: expect.any(String), positioning: expect.any(String), pillars: expect.any(Array) });
|
|
86
|
+
});
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
- [ ] **Step 2: Run tests to verify RED**
|
|
90
|
+
|
|
91
|
+
Run:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm test -- tests/tools/research.test.ts tests/tools/deep-synthesis.test.ts
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Expected: FAIL because the new exports/schemas/tool registrations do not exist yet.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### Task 2: Implement channel-level research schemas and handlers
|
|
102
|
+
|
|
103
|
+
**Files:**
|
|
104
|
+
- Modify: `src/schemas/research.ts`
|
|
105
|
+
- Modify: `src/core/synthesis.ts`
|
|
106
|
+
- Modify: `src/tools/research.ts`
|
|
107
|
+
|
|
108
|
+
- [ ] **Step 1: Add schemas**
|
|
109
|
+
|
|
110
|
+
Add Zod schemas:
|
|
111
|
+
|
|
112
|
+
```ts
|
|
113
|
+
export const channelPositioningSchema = z.object({
|
|
114
|
+
channelId: z.string().min(1),
|
|
115
|
+
maxVideos: z.number().int().min(3).max(50).default(10)
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
export const channelContentPillarsSchema = z.object({
|
|
119
|
+
channelId: z.string().min(1),
|
|
120
|
+
maxVideos: z.number().int().min(3).max(50).default(10)
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
export const compareChannelsSchema = z.object({
|
|
124
|
+
channelIds: z.array(z.string().min(1)).min(2).max(10),
|
|
125
|
+
maxVideosPerChannel: z.number().int().min(3).max(20).default(10)
|
|
126
|
+
});
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
- [ ] **Step 2: Add deterministic synthesis helpers**
|
|
130
|
+
|
|
131
|
+
Implement helpers that classify title/text signals into pillars such as `tool reviews`, `case studies`, `tutorials`, `mistakes and risks`, `news and trends`, `documentary explainers`, and fallback `general education`.
|
|
132
|
+
|
|
133
|
+
- [ ] **Step 3: Implement handlers**
|
|
134
|
+
|
|
135
|
+
Each handler should:
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
const topProvider = registry.requireCapability('channel_top_videos');
|
|
139
|
+
const statsProvider = registry.requireCapability('channel_stats');
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Use `getChannelTopVideos` for evidence and `getChannelStatistics` for size/context. Return via `makeEnvelope` with:
|
|
143
|
+
|
|
144
|
+
```ts
|
|
145
|
+
tool: 'youtube.research.analyze_channel_positioning'
|
|
146
|
+
nextActions: ['youtube.planning.generate_video_ideas', 'youtube.research.compare_channels']
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
- [ ] **Step 4: Run tests to verify GREEN**
|
|
150
|
+
|
|
151
|
+
Run:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm test -- tests/tools/research.test.ts tests/tools/deep-synthesis.test.ts
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Expected: PASS for the new channel-level tests.
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
### Task 3: Add failing tests for video idea generation
|
|
162
|
+
|
|
163
|
+
**Files:**
|
|
164
|
+
- Modify: `tests/tools/deep-synthesis.test.ts`
|
|
165
|
+
- Create or modify: `tests/tools/planning.test.ts`
|
|
166
|
+
|
|
167
|
+
- [ ] **Step 1: Write failing tests**
|
|
168
|
+
|
|
169
|
+
Add test:
|
|
170
|
+
|
|
171
|
+
```ts
|
|
172
|
+
import { generateVideoIdeas } from '../../src/tools/planning.js';
|
|
173
|
+
|
|
174
|
+
it('generates read-only video ideas linked to benchmark evidence and audience requests', async () => {
|
|
175
|
+
const result = await generateVideoIdeas({ topic: 'AI documentary', sampleSize: 3, ideaCount: 5, includeComments: true }, registry);
|
|
176
|
+
|
|
177
|
+
expect(result.ok).toBe(true);
|
|
178
|
+
expect(result.data?.ideas).toHaveLength(5);
|
|
179
|
+
expect(result.data?.ideas[0]).toMatchObject({
|
|
180
|
+
title: expect.any(String),
|
|
181
|
+
angle: expect.any(String),
|
|
182
|
+
hook: expect.any(String),
|
|
183
|
+
evidence: expect.any(Array),
|
|
184
|
+
rationale: expect.any(String),
|
|
185
|
+
risk: expect.any(String)
|
|
186
|
+
});
|
|
187
|
+
expect(result.data?.ideas[0].evidence.length).toBeGreaterThan(0);
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
- [ ] **Step 2: Run RED**
|
|
192
|
+
|
|
193
|
+
Run:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
npm test -- tests/tools/deep-synthesis.test.ts
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Expected: FAIL because `generateVideoIdeas` does not exist.
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
### Task 4: Implement video idea generation
|
|
204
|
+
|
|
205
|
+
**Files:**
|
|
206
|
+
- Modify: `src/schemas/planning.ts`
|
|
207
|
+
- Modify: `src/tools/planning.ts`
|
|
208
|
+
- Modify: `src/core/synthesis.ts`
|
|
209
|
+
|
|
210
|
+
- [ ] **Step 1: Add schema**
|
|
211
|
+
|
|
212
|
+
```ts
|
|
213
|
+
export const videoIdeasSchema = z.object({
|
|
214
|
+
topic: z.string().min(1),
|
|
215
|
+
regionCode: regionCodeSchema,
|
|
216
|
+
sampleSize: maxResultsSchema,
|
|
217
|
+
ideaCount: z.number().int().min(1).max(20).default(10),
|
|
218
|
+
includeComments: z.boolean().default(true)
|
|
219
|
+
});
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
- [ ] **Step 2: Implement handler**
|
|
223
|
+
|
|
224
|
+
Handler should search benchmark videos, optionally summarize top comment signals, and produce ideas such as:
|
|
225
|
+
|
|
226
|
+
```json
|
|
227
|
+
{
|
|
228
|
+
"title": "AI documentary: The Hidden Cost Nobody Mentions",
|
|
229
|
+
"angle": "hidden-cost explainer",
|
|
230
|
+
"hook": "What if the safest AI tool is quietly changing every decision you make?",
|
|
231
|
+
"evidence": ["VIDEO_1"],
|
|
232
|
+
"rationale": "Combines benchmark title pattern with audience follow-up requests.",
|
|
233
|
+
"risk": "Avoid implying guaranteed outcomes; verify claims before scripting."
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
- [ ] **Step 3: Run GREEN**
|
|
238
|
+
|
|
239
|
+
Run:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
npm test -- tests/tools/deep-synthesis.test.ts
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Expected: PASS.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
### Task 5: Register MCP surface and update smoke/schema expectations
|
|
250
|
+
|
|
251
|
+
**Files:**
|
|
252
|
+
- Modify: `src/server.ts`
|
|
253
|
+
- Modify: `tests/mcp-tool-schema.test.ts`
|
|
254
|
+
- Modify: `tests/mcp-smoke.test.ts`
|
|
255
|
+
- Modify: `scripts/validate-v0-surface.ts` if it has fixed count/name expectations
|
|
256
|
+
|
|
257
|
+
- [ ] **Step 1: Add new V0 tool names**
|
|
258
|
+
|
|
259
|
+
Add:
|
|
260
|
+
|
|
261
|
+
```ts
|
|
262
|
+
'youtube.research.analyze_channel_positioning',
|
|
263
|
+
'youtube.research.extract_channel_content_pillars',
|
|
264
|
+
'youtube.research.compare_channels',
|
|
265
|
+
'youtube.planning.generate_video_ideas'
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
- [ ] **Step 2: Add input schemas and handlers**
|
|
269
|
+
|
|
270
|
+
Register input schemas with strict `additionalProperties: false` and add handlers in `createToolHandlers`.
|
|
271
|
+
|
|
272
|
+
- [ ] **Step 3: Run MCP schema tests**
|
|
273
|
+
|
|
274
|
+
Run:
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
npm test -- tests/mcp-tool-schema.test.ts tests/mcp-smoke.test.ts
|
|
278
|
+
npm run validate:v0
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
Expected: PASS with updated V0 surface count.
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
### Task 6: Improve outlier ranking rationale and comment deduplication
|
|
286
|
+
|
|
287
|
+
**Files:**
|
|
288
|
+
- Modify: `src/core/synthesis.ts`
|
|
289
|
+
- Modify: `src/tools/research.ts`
|
|
290
|
+
- Modify: `src/tools/comments.ts`
|
|
291
|
+
- Modify: `tests/tools/research.test.ts`
|
|
292
|
+
- Modify: `tests/tools/comments.test.ts`
|
|
293
|
+
|
|
294
|
+
- [ ] **Step 1: Add failing tests**
|
|
295
|
+
|
|
296
|
+
Expected outlier item fields:
|
|
297
|
+
|
|
298
|
+
```ts
|
|
299
|
+
expect(result.data?.outliers[0]).toMatchObject({
|
|
300
|
+
viewsToSubscriberRatio: expect.any(Number),
|
|
301
|
+
benchmarkRank: expect.any(Number),
|
|
302
|
+
rationale: expect.stringContaining('views-to-subscribers')
|
|
303
|
+
});
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
Expected comment summary deduplicates repeated comments:
|
|
307
|
+
|
|
308
|
+
```ts
|
|
309
|
+
expect(result.data?.dedupedCommentCount).toBeLessThan(result.data?.rawCommentCount);
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
- [ ] **Step 2: Run RED**
|
|
313
|
+
|
|
314
|
+
Run:
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
npm test -- tests/tools/research.test.ts tests/tools/comments.test.ts
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
Expected: FAIL because fields do not exist yet.
|
|
321
|
+
|
|
322
|
+
- [ ] **Step 3: Implement minimal changes**
|
|
323
|
+
|
|
324
|
+
Add normalized text deduplication and richer ranking metadata.
|
|
325
|
+
|
|
326
|
+
- [ ] **Step 4: Run GREEN**
|
|
327
|
+
|
|
328
|
+
Run:
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
npm test -- tests/tools/research.test.ts tests/tools/comments.test.ts
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
Expected: PASS.
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
### Task 7: Version, docs, validation, PR/release prep
|
|
339
|
+
|
|
340
|
+
**Files:**
|
|
341
|
+
- Modify: `package.json`
|
|
342
|
+
- Modify: `package-lock.json`
|
|
343
|
+
- Modify: `CHANGELOG.md`
|
|
344
|
+
|
|
345
|
+
- [ ] **Step 1: Version bump**
|
|
346
|
+
|
|
347
|
+
Run:
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
npm version 0.2.6 --no-git-tag-version
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
- [ ] **Step 2: Update CHANGELOG**
|
|
354
|
+
|
|
355
|
+
Add `0.2.6 — Complete Public Read-Only Intelligence` with bullets for:
|
|
356
|
+
|
|
357
|
+
```text
|
|
358
|
+
- channel positioning analysis
|
|
359
|
+
- channel content pillars
|
|
360
|
+
- channel comparison
|
|
361
|
+
- video idea generation
|
|
362
|
+
- outlier rationale improvements
|
|
363
|
+
- comment deduplication
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
- [ ] **Step 3: Full validation**
|
|
367
|
+
|
|
368
|
+
Run:
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
npm test
|
|
372
|
+
npm run build
|
|
373
|
+
npm run validate:v0
|
|
374
|
+
npm run validate:secrets
|
|
375
|
+
npm run smoke:mcp
|
|
376
|
+
npm pack --dry-run
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
Expected: all PASS.
|
|
380
|
+
|
|
381
|
+
- [ ] **Step 4: Commit and PR**
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
git add src tests scripts package.json package-lock.json CHANGELOG.md docs/superpowers/plans/2026-05-14-v0.2.6-public-readonly-intelligence.md
|
|
385
|
+
git commit -m "feat: complete public readonly intelligence"
|
|
386
|
+
git push -u origin feat/v0.2.6-public-readonly-intelligence
|
|
387
|
+
gh pr create --title "feat: complete public readonly intelligence" --body-file /tmp/v0.2.6-pr.md
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
- [ ] **Step 5: Release after merge**
|
|
391
|
+
|
|
392
|
+
After merge and final validation on `main`:
|
|
393
|
+
|
|
394
|
+
```bash
|
|
395
|
+
git tag v0.2.6
|
|
396
|
+
git push origin main --tags
|
|
397
|
+
gh release create v0.2.6 --title "v0.2.6 — Complete Public Read-Only Intelligence" --notes-file /tmp/release-v0.2.6.md --latest
|
|
398
|
+
npm publish --access public
|
|
399
|
+
npm view @liorium/youtube-omni-mcp version
|
|
400
|
+
gh release list --limit 5
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## Self-Review
|
|
406
|
+
|
|
407
|
+
### Spec coverage
|
|
408
|
+
|
|
409
|
+
- Public read-only intelligence remains the scope: covered by Task 2, Task 4, Task 5.
|
|
410
|
+
- Channel-level intelligence: covered by Task 1 and Task 2.
|
|
411
|
+
- Video idea/angle generation: covered by Task 3 and Task 4.
|
|
412
|
+
- Research ranking rationale: covered by Task 6.
|
|
413
|
+
- Comment deduplication/quality: covered by Task 6.
|
|
414
|
+
- GitHub Release + npm release convention: covered by Task 7.
|
|
415
|
+
|
|
416
|
+
### Placeholder scan
|
|
417
|
+
|
|
418
|
+
No `TBD`, `TODO`, or unspecified implementation placeholders remain. All tasks include paths, concrete commands, and expected outcomes.
|
|
419
|
+
|
|
420
|
+
### Type consistency
|
|
421
|
+
|
|
422
|
+
New handler names, schema names, and MCP tool names are consistent across tasks:
|
|
423
|
+
|
|
424
|
+
- `analyzeChannelPositioning` → `youtube.research.analyze_channel_positioning`
|
|
425
|
+
- `extractChannelContentPillars` → `youtube.research.extract_channel_content_pillars`
|
|
426
|
+
- `compareChannels` → `youtube.research.compare_channels`
|
|
427
|
+
- `generateVideoIdeas` → `youtube.planning.generate_video_ideas`
|