@frase/mcp-server 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/api-client.d.ts +3 -90
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +2 -214
- package/dist/api-client.js.map +1 -1
- package/dist/cache.d.ts +2 -49
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +2 -94
- package/dist/cache.js.map +1 -1
- package/dist/cli/config-writer.d.ts.map +1 -1
- package/dist/cli/config-writer.js +52 -7
- package/dist/cli/config-writer.js.map +1 -1
- package/dist/config.d.ts +3 -14
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -28
- package/dist/config.js.map +1 -1
- package/dist/formatter.d.ts +2 -44
- package/dist/formatter.d.ts.map +1 -1
- package/dist/formatter.js +2 -142
- package/dist/formatter.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/prompts/cms-publishing.d.ts +16 -0
- package/dist/prompts/cms-publishing.d.ts.map +1 -0
- package/dist/prompts/cms-publishing.js +84 -0
- package/dist/prompts/cms-publishing.js.map +1 -0
- package/dist/prompts/competitive-intelligence.d.ts +16 -0
- package/dist/prompts/competitive-intelligence.d.ts.map +1 -0
- package/dist/prompts/competitive-intelligence.js +78 -0
- package/dist/prompts/competitive-intelligence.js.map +1 -0
- package/dist/prompts/content-governance.d.ts +16 -0
- package/dist/prompts/content-governance.d.ts.map +1 -0
- package/dist/prompts/content-governance.js +113 -0
- package/dist/prompts/content-governance.js.map +1 -0
- package/dist/prompts/geo-optimization.d.ts +17 -0
- package/dist/prompts/geo-optimization.d.ts.map +1 -0
- package/dist/prompts/geo-optimization.js +79 -0
- package/dist/prompts/geo-optimization.js.map +1 -0
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +15 -0
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/sites.d.ts.map +1 -1
- package/dist/resources/sites.js +5 -7
- package/dist/resources/sites.js.map +1 -1
- package/dist/tools/ai-visibility.d.ts.map +1 -1
- package/dist/tools/ai-visibility.js +131 -71
- package/dist/tools/ai-visibility.js.map +1 -1
- package/dist/tools/analytics.d.ts.map +1 -1
- package/dist/tools/analytics.js +96 -49
- package/dist/tools/analytics.js.map +1 -1
- package/dist/tools/atomization.d.ts +8 -0
- package/dist/tools/atomization.d.ts.map +1 -0
- package/dist/tools/atomization.js +172 -0
- package/dist/tools/atomization.js.map +1 -0
- package/dist/tools/audits.d.ts +15 -6
- package/dist/tools/audits.d.ts.map +1 -1
- package/dist/tools/audits.js +32 -10
- package/dist/tools/audits.js.map +1 -1
- package/dist/tools/briefs.d.ts +225 -5
- package/dist/tools/briefs.d.ts.map +1 -1
- package/dist/tools/briefs.js +412 -26
- package/dist/tools/briefs.js.map +1 -1
- package/dist/tools/clusters.d.ts +9 -0
- package/dist/tools/clusters.d.ts.map +1 -0
- package/dist/tools/clusters.js +166 -0
- package/dist/tools/clusters.js.map +1 -0
- package/dist/tools/cms-connections.d.ts +7 -0
- package/dist/tools/cms-connections.d.ts.map +1 -0
- package/dist/tools/cms-connections.js +96 -0
- package/dist/tools/cms-connections.js.map +1 -0
- package/dist/tools/competitive-analysis.js +2 -2
- package/dist/tools/competitive-analysis.js.map +1 -1
- package/dist/tools/content.d.ts +12 -2
- package/dist/tools/content.d.ts.map +1 -1
- package/dist/tools/content.js +170 -18
- package/dist/tools/content.js.map +1 -1
- package/dist/tools/discover.d.ts +15 -0
- package/dist/tools/discover.d.ts.map +1 -0
- package/dist/tools/discover.js +180 -0
- package/dist/tools/discover.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +37 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/jobs.d.ts +2 -2
- package/dist/tools/opportunities.d.ts +11 -0
- package/dist/tools/opportunities.d.ts.map +1 -0
- package/dist/tools/opportunities.js +122 -0
- package/dist/tools/opportunities.js.map +1 -0
- package/dist/tools/optimizations.d.ts.map +1 -1
- package/dist/tools/optimizations.js +93 -39
- package/dist/tools/optimizations.js.map +1 -1
- package/dist/tools/playbooks.d.ts.map +1 -1
- package/dist/tools/playbooks.js +34 -5
- package/dist/tools/playbooks.js.map +1 -1
- package/dist/tools/rules.d.ts +16 -1
- package/dist/tools/rules.d.ts.map +1 -1
- package/dist/tools/rules.js +49 -14
- package/dist/tools/rules.js.map +1 -1
- package/dist/tools/site-health.d.ts +7 -0
- package/dist/tools/site-health.d.ts.map +1 -0
- package/dist/tools/site-health.js +120 -0
- package/dist/tools/site-health.js.map +1 -0
- package/dist/tools/sites.d.ts.map +1 -1
- package/dist/tools/sites.js +1 -2
- package/dist/tools/sites.js.map +1 -1
- package/dist/tools/templates.d.ts +17 -0
- package/dist/tools/templates.d.ts.map +1 -0
- package/dist/tools/templates.js +521 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/webhooks.d.ts.map +1 -1
- package/dist/tools/webhooks.js +44 -24
- package/dist/tools/webhooks.js.map +1 -1
- package/dist/types.d.ts +2 -181
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +26 -7
- package/server.json +4 -4
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Governance Prompt
|
|
3
|
+
*
|
|
4
|
+
* Template + rules + playbook automation workflow.
|
|
5
|
+
* Sets up content quality standards and automated workflows.
|
|
6
|
+
*/
|
|
7
|
+
export const contentGovernancePrompt = {
|
|
8
|
+
name: "content_governance",
|
|
9
|
+
description: "Set up and run content governance using templates, rules, and playbooks. Creates quality standards (SEO/GEO score thresholds, term compliance, word counts), applies content templates, and configures automated playbook workflows with human review gates.",
|
|
10
|
+
arguments: [
|
|
11
|
+
{
|
|
12
|
+
name: "site_id",
|
|
13
|
+
description: "Site ID to set up governance for (required)",
|
|
14
|
+
required: true,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: "action",
|
|
18
|
+
description: "What to do: 'setup' (create rules + templates), 'evaluate' (check content against rules), 'run_playbook' (execute automated workflow). Default: setup.",
|
|
19
|
+
required: false,
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: "content_id",
|
|
23
|
+
description: "Content ID to evaluate (required when action is 'evaluate')",
|
|
24
|
+
required: false,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: "topic",
|
|
28
|
+
description: "Topic for playbook execution (required when action is 'run_playbook')",
|
|
29
|
+
required: false,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
};
|
|
33
|
+
export function getContentGovernanceMessages(args) {
|
|
34
|
+
const siteId = args.site_id || "";
|
|
35
|
+
const action = args.action || "setup";
|
|
36
|
+
const contentId = args.content_id || "";
|
|
37
|
+
const topic = args.topic || "";
|
|
38
|
+
if (action === "evaluate" && contentId) {
|
|
39
|
+
return [
|
|
40
|
+
{
|
|
41
|
+
role: "user",
|
|
42
|
+
content: {
|
|
43
|
+
type: "text",
|
|
44
|
+
text: `Evaluate content "${contentId}" against all active content governance rules.
|
|
45
|
+
|
|
46
|
+
**Steps:**
|
|
47
|
+
1. Use list_rule_sets with site_id "${siteId}" to find active rule sets
|
|
48
|
+
2. For each active rule set, use evaluate_rules with content_id "${contentId}" and the rule_set_id
|
|
49
|
+
3. Report pass/fail for each rule with specific details on failures
|
|
50
|
+
4. For failing rules, provide actionable recommendations to fix
|
|
51
|
+
5. If SEO/GEO score thresholds fail, run start_optimization and show the current score vs required threshold`,
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
}
|
|
56
|
+
if (action === "run_playbook" && topic) {
|
|
57
|
+
return [
|
|
58
|
+
{
|
|
59
|
+
role: "user",
|
|
60
|
+
content: {
|
|
61
|
+
type: "text",
|
|
62
|
+
text: `Run a content playbook for topic "${topic}" on site "${siteId}".
|
|
63
|
+
|
|
64
|
+
**Steps:**
|
|
65
|
+
1. Use list_playbooks with site_id "${siteId}" to find available playbooks
|
|
66
|
+
2. Select the most appropriate playbook for the topic
|
|
67
|
+
3. Use run_playbook with the playbook_id, topic "${topic}", and site_id "${siteId}"
|
|
68
|
+
4. Monitor progress using get_playbook_run_status (poll every 10 seconds)
|
|
69
|
+
5. Report each step's completion status
|
|
70
|
+
6. If a human_review step is encountered, pause and report what needs review
|
|
71
|
+
7. Provide a final summary with all created artifact IDs (brief, content, optimization)`,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
// Default: setup
|
|
77
|
+
return [
|
|
78
|
+
{
|
|
79
|
+
role: "user",
|
|
80
|
+
content: {
|
|
81
|
+
type: "text",
|
|
82
|
+
text: `Set up content governance for site "${siteId}". Create quality rules, review templates, and configure playbook automation.
|
|
83
|
+
|
|
84
|
+
**Execute these steps:**
|
|
85
|
+
|
|
86
|
+
**Step 1 — Review Existing Setup:**
|
|
87
|
+
- Use list_rule_sets with site_id "${siteId}" to see current rules
|
|
88
|
+
- Use list_templates with site_id "${siteId}" to see available templates
|
|
89
|
+
- Use list_playbooks with site_id "${siteId}" to see configured playbooks
|
|
90
|
+
|
|
91
|
+
**Step 2 — Recommend Rule Set:** Based on the site's content, recommend a rule set configuration covering:
|
|
92
|
+
- SEO score threshold (minimum 70 recommended)
|
|
93
|
+
- GEO score threshold (minimum 60 recommended for AI visibility)
|
|
94
|
+
- Word count minimums (300+ for standard content, 1500+ for pillar content)
|
|
95
|
+
- Meta tag requirements (title and description required)
|
|
96
|
+
- Internal link minimum (at least 2 per article)
|
|
97
|
+
Present the recommendations and ask whether to create the rule set.
|
|
98
|
+
|
|
99
|
+
**Step 3 — Review Templates:** Check if the site has content templates. If templates exist, list them. If not, suggest extracting a template from the best-performing content using extract_template.
|
|
100
|
+
|
|
101
|
+
**Step 4 — Review Playbooks:** Check available playbooks. Report their step configurations and suggest improvements if any steps are missing (e.g., no rule_check step before publish, no optimization step).
|
|
102
|
+
|
|
103
|
+
**Provide a governance status report:**
|
|
104
|
+
- Active rule sets and their rules
|
|
105
|
+
- Available templates
|
|
106
|
+
- Configured playbooks
|
|
107
|
+
- Recommendations for improvements
|
|
108
|
+
- Coverage gaps (e.g., "no GEO score threshold configured")`,
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
];
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=content-governance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-governance.js","sourceRoot":"","sources":["../../src/prompts/content-governance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAAwB;IAC1D,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,8PAA8P;IAChQ,SAAS,EAAE;QACT;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,6CAA6C;YAC1D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wJAAwJ;YACrK,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,6DAA6D;YAC1E,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,uEAAuE;YACpF,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,IAA4B;IAIvE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAE/B,IAAI,MAAM,KAAK,UAAU,IAAI,SAAS,EAAE,CAAC;QACvC,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qBAAqB,SAAS;;;sCAGR,MAAM;mEACuB,SAAS;;;6GAGiC;iBACpG;aACF;SACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,cAAc,IAAI,KAAK,EAAE,CAAC;QACvC,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qCAAqC,KAAK,cAAc,MAAM;;;sCAGxC,MAAM;;mDAEO,KAAK,mBAAmB,MAAM;;;;wFAIO;iBAC/E;aACF;SACF,CAAC;IACJ,CAAC;IAED,iBAAiB;IACjB,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,uCAAuC,MAAM;;;;;qCAKtB,MAAM;qCACN,MAAM;qCACN,MAAM;;;;;;;;;;;;;;;;;;;4DAmBiB;aACrD;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GEO Optimization Prompt
|
|
3
|
+
*
|
|
4
|
+
* Optimize content for AI engine citation (GEO/AEO).
|
|
5
|
+
* Analyzes content quotability, structures for AI extraction,
|
|
6
|
+
* and tracks before/after AI visibility changes.
|
|
7
|
+
*/
|
|
8
|
+
import type { McpPromptDefinition } from "../types.js";
|
|
9
|
+
export declare const geoOptimizationPrompt: McpPromptDefinition;
|
|
10
|
+
export declare function getGeoOptimizationMessages(args: Record<string, string>): Array<{
|
|
11
|
+
role: "user" | "assistant";
|
|
12
|
+
content: {
|
|
13
|
+
type: "text";
|
|
14
|
+
text: string;
|
|
15
|
+
};
|
|
16
|
+
}>;
|
|
17
|
+
//# sourceMappingURL=geo-optimization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geo-optimization.d.ts","sourceRoot":"","sources":["../../src/prompts/geo-optimization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,qBAAqB,EAAE,mBAqBnC,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC9E,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CAkDD"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GEO Optimization Prompt
|
|
3
|
+
*
|
|
4
|
+
* Optimize content for AI engine citation (GEO/AEO).
|
|
5
|
+
* Analyzes content quotability, structures for AI extraction,
|
|
6
|
+
* and tracks before/after AI visibility changes.
|
|
7
|
+
*/
|
|
8
|
+
export const geoOptimizationPrompt = {
|
|
9
|
+
name: "geo_optimization",
|
|
10
|
+
description: "Optimize content for AI engine citation (GEO/AEO). Analyzes quotability, restructures content for AI extraction, and tracks visibility changes across ChatGPT, Perplexity, Claude, Google AI Overviews, Copilot, Grok, DeepSeek, and Gemini.",
|
|
11
|
+
arguments: [
|
|
12
|
+
{
|
|
13
|
+
name: "content_id",
|
|
14
|
+
description: "Content ID to optimize for GEO (required)",
|
|
15
|
+
required: true,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: "site_id",
|
|
19
|
+
description: "Site ID for AI visibility tracking (required)",
|
|
20
|
+
required: true,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: "target_brand",
|
|
24
|
+
description: "Brand name to track in AI citations (required)",
|
|
25
|
+
required: true,
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
export function getGeoOptimizationMessages(args) {
|
|
30
|
+
const contentId = args.content_id || "";
|
|
31
|
+
const siteId = args.site_id || "";
|
|
32
|
+
const targetBrand = args.target_brand || "";
|
|
33
|
+
return [
|
|
34
|
+
{
|
|
35
|
+
role: "user",
|
|
36
|
+
content: {
|
|
37
|
+
type: "text",
|
|
38
|
+
text: `Optimize content "${contentId}" for AI engine citation (GEO/AEO). Make it quotable by ChatGPT, Perplexity, Claude, Google AI Overviews, Copilot, Grok, DeepSeek, and Gemini.
|
|
39
|
+
|
|
40
|
+
**Configuration:**
|
|
41
|
+
- Content ID: ${contentId}
|
|
42
|
+
- Site ID: ${siteId}
|
|
43
|
+
- Brand: ${targetBrand}
|
|
44
|
+
|
|
45
|
+
**Execute these steps:**
|
|
46
|
+
|
|
47
|
+
**Step 1 — Baseline AI Visibility:** Use get_ai_visibility with site_id "${siteId}" to get current visibility metrics. Note which platforms currently cite this content and which don't.
|
|
48
|
+
|
|
49
|
+
**Step 2 — Get Content:** Use get_content with content_id "${contentId}" to review the current content structure.
|
|
50
|
+
|
|
51
|
+
**Step 3 — Run Optimization:** Use start_optimization with content_id "${contentId}". Wait for completion using get_job_status, then use get_optimization to review both SEO and GEO scores and suggestions.
|
|
52
|
+
|
|
53
|
+
**Step 4 — Apply GEO-Specific Improvements:** Focus on suggestions that improve AI quotability:
|
|
54
|
+
- Add structured claims with citations (e.g., "According to [source], X increases Y by Z%")
|
|
55
|
+
- Include statistics and data points with sources
|
|
56
|
+
- Write clear, quotable one-sentence statements
|
|
57
|
+
- Add FAQ sections with concise 2-3 sentence answers
|
|
58
|
+
- Use clear H2/H3 headings that match common queries
|
|
59
|
+
- Add comparison tables for "vs" queries
|
|
60
|
+
- Include a summary/TL;DR section
|
|
61
|
+
Apply high-priority suggestions using apply_optimization.
|
|
62
|
+
|
|
63
|
+
**Step 5 — Re-Score:** Use start_optimization again to verify the GEO score improved. Target GEO score >= 70. Repeat optimization up to 2 more times if below target.
|
|
64
|
+
|
|
65
|
+
**Step 6 — Set Up Monitoring:** Use create_prompt with a natural question about this content's topic and target_brand "${targetBrand}". This tracks future AI citations.
|
|
66
|
+
|
|
67
|
+
**Step 7 — Check AI Insights:** Use get_insights for actionable recommendations and get_competitors to see who currently gets cited for related queries.
|
|
68
|
+
|
|
69
|
+
**Provide a summary report:**
|
|
70
|
+
- Before/after GEO score
|
|
71
|
+
- Key GEO improvements applied
|
|
72
|
+
- Citation gap diagnosis (content, authority, entity, or citation gap)
|
|
73
|
+
- AI visibility monitoring status
|
|
74
|
+
- Recommended next steps`,
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=geo-optimization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geo-optimization.js","sourceRoot":"","sources":["../../src/prompts/geo-optimization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,8OAA8O;IAChP,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,IAA4B;IAIrE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;IAE5C,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB,SAAS;;;gBAG5B,SAAS;aACZ,MAAM;WACR,WAAW;;;;2EAIqD,MAAM;;6DAEpB,SAAS;;yEAEG,SAAS;;;;;;;;;;;;;;yHAcuC,WAAW;;;;;;;;;yBAS3G;aAClB;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA+DvD,eAAO,MAAM,WAAW,EAAE,mBAAmB,EAc5C,CAAC;AA+BF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAE7E;AAMD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,KAAK,CAAC;IACP,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CAOD;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
|
package/dist/prompts/index.js
CHANGED
|
@@ -12,6 +12,11 @@ import { competitorAnalysisPrompt, getCompetitorAnalysisMessages, } from "./comp
|
|
|
12
12
|
import { contentAuditPrompt, getContentAuditMessages, } from "./content-audit.js";
|
|
13
13
|
import { contentPipelinePrompt, getContentPipelineMessages, } from "./content-pipeline.js";
|
|
14
14
|
import { contentWatchdogPrompt, getContentWatchdogMessages, } from "./content-watchdog.js";
|
|
15
|
+
// New prompts (GEO/AEO, Competitive, Governance, Publishing)
|
|
16
|
+
import { geoOptimizationPrompt, getGeoOptimizationMessages, } from "./geo-optimization.js";
|
|
17
|
+
import { competitiveIntelligencePrompt, getCompetitiveIntelligenceMessages, } from "./competitive-intelligence.js";
|
|
18
|
+
import { contentGovernancePrompt, getContentGovernanceMessages, } from "./content-governance.js";
|
|
19
|
+
import { cmsPublishingPrompt, getCmsPublishingMessages, } from "./cms-publishing.js";
|
|
15
20
|
// ============================================
|
|
16
21
|
// All Prompts
|
|
17
22
|
// ============================================
|
|
@@ -23,6 +28,11 @@ export const ALL_PROMPTS = [
|
|
|
23
28
|
contentAuditPrompt,
|
|
24
29
|
contentPipelinePrompt,
|
|
25
30
|
contentWatchdogPrompt,
|
|
31
|
+
// New prompts
|
|
32
|
+
geoOptimizationPrompt,
|
|
33
|
+
competitiveIntelligencePrompt,
|
|
34
|
+
contentGovernancePrompt,
|
|
35
|
+
cmsPublishingPrompt,
|
|
26
36
|
];
|
|
27
37
|
const PROMPT_MESSAGE_GENERATORS = {
|
|
28
38
|
create_seo_article: getCreateSeoArticleMessages,
|
|
@@ -32,6 +42,11 @@ const PROMPT_MESSAGE_GENERATORS = {
|
|
|
32
42
|
content_audit: getContentAuditMessages,
|
|
33
43
|
content_pipeline: getContentPipelineMessages,
|
|
34
44
|
content_watchdog: getContentWatchdogMessages,
|
|
45
|
+
// New prompts
|
|
46
|
+
geo_optimization: getGeoOptimizationMessages,
|
|
47
|
+
competitive_intelligence: getCompetitiveIntelligenceMessages,
|
|
48
|
+
content_governance: getContentGovernanceMessages,
|
|
49
|
+
cms_publishing: getCmsPublishingMessages,
|
|
35
50
|
};
|
|
36
51
|
// ============================================
|
|
37
52
|
// Get Prompt by Name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,wBAAwB;AACxB,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C,MAAM,CAAC,MAAM,WAAW,GAA0B;IAChD,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,wBAAwB;IACxB,kBAAkB;IAClB,qBAAqB;IACrB,qBAAqB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,wBAAwB;AACxB,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,6DAA6D;AAC7D,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C,MAAM,CAAC,MAAM,WAAW,GAA0B;IAChD,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,wBAAwB;IACxB,kBAAkB;IAClB,qBAAqB;IACrB,qBAAqB;IAErB,cAAc;IACd,qBAAqB;IACrB,6BAA6B;IAC7B,uBAAuB;IACvB,mBAAmB;CACpB,CAAC;AAWF,MAAM,yBAAyB,GAA2C;IACxE,kBAAkB,EAAE,2BAA2B;IAC/C,gBAAgB,EAAE,0BAA0B;IAC5C,gBAAgB,EAAE,0BAA0B;IAC5C,mBAAmB,EAAE,6BAA6B;IAClD,aAAa,EAAE,uBAAuB;IACtC,gBAAgB,EAAE,0BAA0B;IAC5C,gBAAgB,EAAE,0BAA0B;IAE5C,cAAc;IACd,gBAAgB,EAAE,0BAA0B;IAC5C,wBAAwB,EAAE,kCAAkC;IAC5D,kBAAkB,EAAE,4BAA4B;IAChD,cAAc,EAAE,wBAAwB;CACzC,CAAC;AAEF,+CAA+C;AAC/C,qBAAqB;AACrB,+CAA+C;AAE/C,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,IAA4B;IAK5B,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C,MAAM,UAAU,cAAc;IAC5B,OAAO,WAAW,CAAC,MAAM,CAAC;AAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../src/resources/sites.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EAIZ,MAAM,aAAa,CAAC;AAQrB,eAAO,MAAM,SAAS,kBAAkB,CAAC;AACzC,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAMhD,eAAO,MAAM,qBAAqB;;;;;GAOjC,CAAC;AAMF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC,CAuCzB;AAMD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAWjB;
|
|
1
|
+
{"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../src/resources/sites.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EAIZ,MAAM,aAAa,CAAC;AAQrB,eAAO,MAAM,SAAS,kBAAkB,CAAC;AACzC,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAMhD,eAAO,MAAM,qBAAqB;;;;;GAOjC,CAAC;AAMF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC,CAuCzB;AAMD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAuDD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD"}
|
package/dist/resources/sites.js
CHANGED
|
@@ -19,7 +19,7 @@ export const siteResourceTemplates = [
|
|
|
19
19
|
{
|
|
20
20
|
uriTemplate: "frase://sites/{site_id}",
|
|
21
21
|
name: "Site",
|
|
22
|
-
description: "A specific Frase site
|
|
22
|
+
description: "A specific Frase site",
|
|
23
23
|
mimeType: "text/markdown",
|
|
24
24
|
},
|
|
25
25
|
];
|
|
@@ -39,7 +39,7 @@ export async function listSiteResources(context) {
|
|
|
39
39
|
resources.push({
|
|
40
40
|
uri: `${SITE_URI_PREFIX}${site.id}`,
|
|
41
41
|
name: site.name || site.domain,
|
|
42
|
-
description: `Site: ${site.domain}
|
|
42
|
+
description: `Site: ${site.domain}`,
|
|
43
43
|
mimeType: "text/markdown",
|
|
44
44
|
});
|
|
45
45
|
}
|
|
@@ -77,11 +77,10 @@ async function readSitesList(context) {
|
|
|
77
77
|
markdown += "_No sites found. Connect a site in the Frase dashboard._\n";
|
|
78
78
|
return markdown;
|
|
79
79
|
}
|
|
80
|
-
markdown += `| Name | Domain |
|
|
81
|
-
markdown +=
|
|
80
|
+
markdown += `| Name | Domain | Created |\n`;
|
|
81
|
+
markdown += `|------|--------|--------|\n`;
|
|
82
82
|
for (const site of response.data) {
|
|
83
|
-
|
|
84
|
-
markdown += `| ${site.name || "-"} | ${site.domain} | ${gsc} | ${formatDate(site.created_at)} |\n`;
|
|
83
|
+
markdown += `| ${site.name || "-"} | ${site.domain} | ${formatDate(site.created_at)} |\n`;
|
|
85
84
|
}
|
|
86
85
|
markdown += `\n**Total:** ${response.data.length} site(s)\n`;
|
|
87
86
|
return markdown;
|
|
@@ -93,7 +92,6 @@ async function readSiteDetails(siteId, context) {
|
|
|
93
92
|
markdown += formatKeyValue({
|
|
94
93
|
ID: site.id,
|
|
95
94
|
Domain: site.domain,
|
|
96
|
-
"GSC Connected": site.gsc_connected ? "Yes" : "No",
|
|
97
95
|
Created: formatDate(site.created_at),
|
|
98
96
|
Updated: site.updated_at ? formatDate(site.updated_at) : "-",
|
|
99
97
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/resources/sites.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7D,+CAA+C;AAC/C,gBAAgB;AAChB,+CAA+C;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;AACzC,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEhD,+CAA+C;AAC/C,qBAAqB;AACrB,+CAA+C;AAE/C,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC;QACE,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/resources/sites.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-visibility.d.ts","sourceRoot":"","sources":["../../src/tools/ai-visibility.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,UAAU,EAGX,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-visibility.d.ts","sourceRoot":"","sources":["../../src/tools/ai-visibility.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,UAAU,EAGX,MAAM,aAAa,CAAC;AAiIrB,eAAO,MAAM,mBAAmB,EAAE,iBAajC,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAiFrB;AAYD,eAAO,MAAM,eAAe,EAAE,iBAoB7B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CA8CrB;AAeD,eAAO,MAAM,gBAAgB,EAAE,iBAoC9B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAyCrB;AAUD,eAAO,MAAM,aAAa,EAAE,iBAa3B,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAiErB;AAcD,eAAO,MAAM,gBAAgB,EAAE,iBAiC9B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAoCrB;AAYD,eAAO,MAAM,kBAAkB,EAAE,iBAoBhC,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAuDrB;AAWD,eAAO,MAAM,aAAa,EAAE,iBAgB3B,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAsDrB;AAYD,eAAO,MAAM,eAAe,EAAE,iBAoB7B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAoErB;AAoBD,eAAO,MAAM,kBAAkB,EAAE,iBAqBhC,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAqDrB;AAMD,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,EAUhD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,MAAM,EACN,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,CAAC,CAW9D,CAAC"}
|