@bulkpublishing/mcp-server 1.2.3 → 1.3.1

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.
@@ -27,4 +27,10 @@ export declare function buildGenerationPrompt(options: {
27
27
  systemPrompt: string;
28
28
  userPrompt: string;
29
29
  };
30
+ /**
31
+ * Build a humanize prompt that also includes knowledge base context,
32
+ * so the humanizer pass doesn't reintroduce banned words or violate
33
+ * user-defined style rules.
34
+ */
35
+ export declare function buildHumanizePrompt(content: string, knowledgeBaseContext?: string): string;
30
36
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,eAAO,MAAM,sBAAsB,wvIA2ElC,CAAC;AAMF,eAAO,MAAM,oBAAoB,wsBAkBW,CAAC;AAM7C,eAAO,MAAM,eAAe,s6BAqB3B,CAAC;AAMF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BnF;AAMD,eAAO,MAAM,eAAe,obAS6E,CAAC;AAQ1G,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAmC/C"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,eAAO,MAAM,sBAAsB,wvIA2ElC,CAAC;AAMF,eAAO,MAAM,oBAAoB,wsBAkBW,CAAC;AAM7C,eAAO,MAAM,eAAe,s6BAqB3B,CAAC;AAMF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BnF;AAMD,eAAO,MAAM,eAAe,obAS6E,CAAC;AAQ1G,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAmC/C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAM1F"}
@@ -194,7 +194,7 @@ export function buildGenerationPrompt(options) {
194
194
  userPrompt += `\n\nTone: ${options.tone}`;
195
195
  }
196
196
  if (options.knowledgeBaseContext) {
197
- systemPrompt = `${options.knowledgeBaseContext}\n\n${systemPrompt}`;
197
+ systemPrompt = `${systemPrompt}\n\n${options.knowledgeBaseContext}\n\n⚠️ FINAL REMINDER: The knowledge base rules above are NON-NEGOTIABLE. If a banned word list exists, do NOT use ANY word from that list anywhere in the article. Re-read the banned list before writing each section.`;
198
198
  }
199
199
  if (options.researchContext) {
200
200
  userPrompt += `\n\n=== RESEARCH DATA (USE THIS AS PRIMARY SOURCE) ===\n${options.researchContext}`;
@@ -204,4 +204,16 @@ export function buildGenerationPrompt(options) {
204
204
  }
205
205
  return { systemPrompt, userPrompt };
206
206
  }
207
+ /**
208
+ * Build a humanize prompt that also includes knowledge base context,
209
+ * so the humanizer pass doesn't reintroduce banned words or violate
210
+ * user-defined style rules.
211
+ */
212
+ export function buildHumanizePrompt(content, knowledgeBaseContext) {
213
+ let prompt = HUMANIZE_PROMPT.replace('{{content}}', content);
214
+ if (knowledgeBaseContext) {
215
+ prompt += `\n\n${knowledgeBaseContext}\n\n⚠️ The knowledge base rules above ALSO apply to this humanization pass. Do NOT reintroduce any banned words or violate any style rules during rewriting.`;
216
+ }
217
+ return prompt;
218
+ }
207
219
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,8 @@ export declare function getApiKey(provider: string): string | undefined;
76
76
  export declare function getProjectSettings(projectId?: string): ProjectContext | undefined;
77
77
  /**
78
78
  * Get knowledge base items for the active project (includes global items).
79
+ * Wraps items in strong enforcement framing so AI models treat them as
80
+ * mandatory constraints rather than optional background info.
79
81
  */
80
82
  export declare function getKnowledgeBaseContext(projectId?: string): string;
81
83
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/auth/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,WAAW;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACN,QAAQ,EAAE,OAAO,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpC,cAAc,EAAE;YACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;SACnC,CAAC;QACF,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE;QACN,gBAAgB,CAAC,EAAE;YACf,OAAO,EAAE,OAAO,CAAC;YACjB,WAAW,EAAE,MAAM,EAAE,CAAC;YACtB,eAAe,EAAE,MAAM,CAAC;YACxB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5B,CAAC;QACF,aAAa,CAAC,EAAE;YACZ,OAAO,EAAE,OAAO,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,eAAe,EAAE,MAAM,CAAC;SAC3B,CAAC;QACF,SAAS,CAAC,EAAE;YACR,SAAS,EAAE,OAAO,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;SACvB,CAAC;KACL,CAAC;CACL;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CAChB;AAkBD,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAErD;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiB9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAIjF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CASlE"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/auth/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,WAAW;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACN,QAAQ,EAAE,OAAO,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpC,cAAc,EAAE;YACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;SACnC,CAAC;QACF,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE;QACN,gBAAgB,CAAC,EAAE;YACf,OAAO,EAAE,OAAO,CAAC;YACjB,WAAW,EAAE,MAAM,EAAE,CAAC;YACtB,eAAe,EAAE,MAAM,CAAC;YACxB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5B,CAAC;QACF,aAAa,CAAC,EAAE;YACZ,OAAO,EAAE,OAAO,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,eAAe,EAAE,MAAM,CAAC;SAC3B,CAAC;QACF,SAAS,CAAC,EAAE;YACR,SAAS,EAAE,OAAO,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;SACvB,CAAC;KACL,CAAC;CACL;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CAChB;AAkBD,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAErD;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiB9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAIjF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBlE"}
@@ -57,12 +57,19 @@ export function getProjectSettings(projectId) {
57
57
  }
58
58
  /**
59
59
  * Get knowledge base items for the active project (includes global items).
60
+ * Wraps items in strong enforcement framing so AI models treat them as
61
+ * mandatory constraints rather than optional background info.
60
62
  */
61
63
  export function getKnowledgeBaseContext(projectId) {
62
64
  const targetId = projectId || _context.activeProjectId;
63
65
  const items = _context.knowledgeBase.filter(kb => kb.project_id === targetId || kb.project_id === null);
64
66
  if (items.length === 0)
65
67
  return '';
66
- return items.map(kb => `[${kb.type || 'context'}] ${kb.title}:\n${kb.content}`).join('\n\n---\n\n');
68
+ const header = `=== MANDATORY KNOWLEDGE BASE RULES ===
69
+ The following rules and context were configured by the user and MUST be followed without exception.
70
+ Any item containing word bans, style rules, or formatting requirements is a STRICT constraint.
71
+ Violating ANY of these rules is a generation FAILURE. Re-read each rule before writing.\n\n`;
72
+ const body = items.map(kb => `### ${kb.title}\n${kb.content}`).join('\n\n---\n\n');
73
+ return header + body;
67
74
  }
68
75
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/auth/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiEH,qDAAqD;AACrD,IAAI,QAAQ,GAAgB;IACxB,aAAa,EAAE,KAAK;IACpB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACrC,QAAQ,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,EAAE;QAClB,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,IAAI;KACtB;IACD,QAAQ,EAAE,EAAE;IACZ,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,GAAgB;IAC3C,QAAQ,GAAG,GAAG,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc;IAC1B,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAkC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,oCAAoC;IACpC,MAAM,MAAM,GAA2B;QACnC,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,cAAc;KACvB,CAAC;IAEF,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAkB;IACjD,MAAM,QAAQ,GAAG,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC;IACvD,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B;IACxE,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAkB;IACtD,MAAM,QAAQ,GAAG,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC;IACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CACvC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI,CAC7D,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,SAAS,KAAK,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACxG,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/auth/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiEH,qDAAqD;AACrD,IAAI,QAAQ,GAAgB;IACxB,aAAa,EAAE,KAAK;IACpB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACrC,QAAQ,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,EAAE;QAClB,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,IAAI;KACtB;IACD,QAAQ,EAAE,EAAE;IACZ,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,GAAgB;IAC3C,QAAQ,GAAG,GAAG,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc;IAC1B,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAkC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,oCAAoC;IACpC,MAAM,MAAM,GAA2B;QACnC,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,cAAc;KACvB,CAAC;IAEF,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAkB;IACjD,MAAM,QAAQ,GAAG,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC;IACvD,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B;IACxE,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAkB;IACtD,MAAM,QAAQ,GAAG,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC;IACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CACvC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI,CAC7D,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG;;;4FAGyE,CAAC;IAEzF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEnF,OAAO,MAAM,GAAG,IAAI,CAAC;AACzB,CAAC"}
package/dist/index.js CHANGED
@@ -72,12 +72,13 @@ async function startServer() {
72
72
  const { registerKnowledgeBaseTools } = await import('./tools/knowledgebase.js');
73
73
  const { registerLinkingTools } = await import('./tools/linking.js');
74
74
  const { registerArticleTools } = await import('./tools/articles.js');
75
+ const { registerImageTools } = await import('./tools/images.js');
75
76
  // ============================================
76
77
  // SERVER SETUP
77
78
  // ============================================
78
79
  const server = new McpServer({
79
80
  name: 'Bulk Publishing AI',
80
- version: '1.1.0',
81
+ version: '1.3.0',
81
82
  }, {
82
83
  capabilities: {
83
84
  tools: {},
@@ -96,6 +97,7 @@ async function startServer() {
96
97
  registerKnowledgeBaseTools(server);
97
98
  registerLinkingTools(server);
98
99
  registerArticleTools(server);
100
+ registerImageTools(server);
99
101
  // ============================================
100
102
  // START SERVER
101
103
  // ============================================
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../../src/tools/generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,QAugBxD"}
1
+ {"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../../src/tools/generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,QA6gBxD"}
@@ -11,10 +11,11 @@
11
11
  */
12
12
  import { z } from 'zod';
13
13
  import { generateContent, generateContentWithRetry, listModels } from '../ai/engine.js';
14
- import { buildGenerationPrompt, HUMANIZE_PROMPT } from '../ai/prompts.js';
14
+ import { buildGenerationPrompt, buildHumanizePrompt } from '../ai/prompts.js';
15
15
  import { getUserContext, getApiKey, getKnowledgeBaseContext, getProjectSettings } from '../auth/context.js';
16
16
  import { fetchAllSitemapUrls, detectPermalinkPattern } from './linking.js';
17
17
  import { saveArticle } from '../db/articles.js';
18
+ import { withProgress } from '../utils/progress.js';
18
19
  export function registerGenerationTools(server) {
19
20
  // ============================================
20
21
  // generate_article
@@ -34,7 +35,7 @@ export function registerGenerationTools(server) {
34
35
  sitemap_url: z.string().optional().describe('Inline override: fetch this sitemap URL for link candidates instead of using project settings. Useful when project settings are not pre-configured.'),
35
36
  link_candidates: z.array(z.string()).optional().describe('Inline override: provide a direct list of URLs for internal linking. Takes priority over sitemap_url and project settings.'),
36
37
  project_id: z.string().optional().describe('Project ID (defaults to active project)'),
37
- }, async (args) => {
38
+ }, async (args, extra) => {
38
39
  const ctx = getUserContext();
39
40
  if (!ctx.authenticated) {
40
41
  return { content: [{ type: 'text', text: JSON.stringify({ error: 'Not authenticated. Check your BPAI_API_KEY.' }, null, 2) }] };
@@ -101,13 +102,15 @@ export function registerGenerationTools(server) {
101
102
  temperature: args.temperature ?? 0.7,
102
103
  maxTokens: Math.min(args.word_count ? args.word_count * 3 : 16384, 65536),
103
104
  };
104
- // Generate
105
- const result = await generateContent({
105
+ // Generate (with progress heartbeat to prevent stdio timeout)
106
+ const result = await withProgress(extra, () => generateContent({
106
107
  provider,
107
108
  systemPrompt,
108
109
  userPrompt,
109
110
  settings,
110
- }, keys);
111
+ }, keys), {
112
+ label: `Generating article with ${settings.model}`,
113
+ });
111
114
  if (result.error) {
112
115
  return {
113
116
  content: [{
@@ -122,13 +125,15 @@ export function registerGenerationTools(server) {
122
125
  let finalText = result.text;
123
126
  // Humanization pass
124
127
  if (args.humanize && finalText) {
125
- const humanizePrompt = HUMANIZE_PROMPT.replace('{{content}}', finalText);
126
- const humanized = await generateContent({
128
+ const humanizePrompt = buildHumanizePrompt(finalText, kbContext);
129
+ const humanized = await withProgress(extra, () => generateContent({
127
130
  provider,
128
131
  systemPrompt: 'You are a senior human editor.',
129
132
  userPrompt: humanizePrompt,
130
133
  settings: { ...settings, maxTokens: 65536 },
131
- }, keys);
134
+ }, keys), {
135
+ label: 'Humanizing content',
136
+ });
132
137
  if (humanized.text && humanized.text.length > finalText.length * 0.5) {
133
138
  finalText = humanized.text;
134
139
  }
@@ -204,7 +209,7 @@ export function registerGenerationTools(server) {
204
209
  keyword_slugs: z.record(z.string(), z.string()).optional().describe('Explicit keyword→slug mapping for cross-linking (e.g., {"best coffee makers": "best-coffee-makers-2026"}). Overrides auto-slugify for specific keywords.'),
205
210
  delay_between_articles: z.number().optional().default(5).describe('Seconds to wait between article generations to prevent rate limit crashes (1-60, default: 5)'),
206
211
  project_id: z.string().optional().describe('Project ID (defaults to active project)'),
207
- }, async (args) => {
212
+ }, async (args, extra) => {
208
213
  const ctx = getUserContext();
209
214
  if (!ctx.authenticated) {
210
215
  return { content: [{ type: 'text', text: JSON.stringify({ error: 'Not authenticated.' }, null, 2) }] };
@@ -363,12 +368,14 @@ export function registerGenerationTools(server) {
363
368
  maxTokens: Math.min((args.word_count || 2500) * 3, 65536),
364
369
  };
365
370
  // Use retry wrapper for resilience against transient failures
366
- const result = await generateContentWithRetry({
371
+ const result = await withProgress(extra, () => generateContentWithRetry({
367
372
  provider,
368
373
  systemPrompt,
369
374
  userPrompt,
370
375
  settings,
371
- }, keys);
376
+ }, keys), {
377
+ label: `Generating article ${i + 1}/${args.keywords.length}: "${keyword}" with ${settings.model}`,
378
+ });
372
379
  // Increment the global generation counter (for health monitoring)
373
380
  try {
374
381
  globalThis.__bpaiGenerationCount?.increment();
@@ -1 +1 @@
1
- {"version":3,"file":"generation.js","sourceRoot":"","sources":["../../src/tools/generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generation.js","sourceRoot":"","sources":["../../src/tools/generation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * BPAI MCP Server — Image Generation Tools
3
+ *
4
+ * MCP tool handlers for:
5
+ * - generate_image: Generate a single image from a text prompt using Gemini
6
+ * - generate_article_images: Generate hero + section images for an article keyword
7
+ *
8
+ * Uses Gemini's Nano Banana image models:
9
+ * - gemini-3.1-flash-image-preview (Nano Banana 2) — recommended
10
+ * - gemini-3-pro-image-preview (Nano Banana Pro) — highest quality
11
+ * - gemini-2.5-flash-image (Nano Banana) — fastest
12
+ *
13
+ * API keys are loaded from the authenticated user's BPAI account.
14
+ */
15
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
16
+ export declare function registerImageTools(server: McpServer): void;
17
+ //# sourceMappingURL=images.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/tools/images.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2BzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,QA+LnD"}
@@ -0,0 +1,277 @@
1
+ /**
2
+ * BPAI MCP Server — Image Generation Tools
3
+ *
4
+ * MCP tool handlers for:
5
+ * - generate_image: Generate a single image from a text prompt using Gemini
6
+ * - generate_article_images: Generate hero + section images for an article keyword
7
+ *
8
+ * Uses Gemini's Nano Banana image models:
9
+ * - gemini-3.1-flash-image-preview (Nano Banana 2) — recommended
10
+ * - gemini-3-pro-image-preview (Nano Banana Pro) — highest quality
11
+ * - gemini-2.5-flash-image (Nano Banana) — fastest
12
+ *
13
+ * API keys are loaded from the authenticated user's BPAI account.
14
+ */
15
+ import { z } from 'zod';
16
+ import { getApiKey } from '../auth/context.js';
17
+ import { withProgress } from '../utils/progress.js';
18
+ // ============================================
19
+ // CONSTANTS
20
+ // ============================================
21
+ const DEFAULT_IMAGE_MODEL = 'gemini-3.1-flash-image-preview';
22
+ const IMAGE_MODELS = [
23
+ { id: 'gemini-3.1-flash-image-preview', name: 'Nano Banana 2 (Fast + Quality)', recommended: true },
24
+ { id: 'gemini-3-pro-image-preview', name: 'Nano Banana Pro (Highest Quality, 4K)' },
25
+ { id: 'gemini-2.5-flash-image', name: 'Nano Banana (Fastest, High Volume)' },
26
+ ];
27
+ const STYLE_PROMPTS = {
28
+ hero: 'Create a professional, photorealistic blog hero image. Clean composition, natural lighting, vibrant but natural colors. No text, watermarks, or logos. Should feel like a premium stock photo.',
29
+ infographic: 'Create a clean, modern infographic-style illustration. Use flat design with a professional color palette. Include visual data representations, icons, and clear visual hierarchy. Minimal text labels only. White or light background.',
30
+ illustration: 'Create a modern, editorial-quality digital illustration. Clean lines, professional style, cohesive color palette. Suitable for a blog article header. No text overlays.',
31
+ photo: 'Create a photorealistic, high-resolution photograph. Natural lighting, professional composition, magazine-quality. Suitable for editorial use. No text, watermarks, or logos.',
32
+ };
33
+ // ============================================
34
+ // TOOL REGISTRATION
35
+ // ============================================
36
+ export function registerImageTools(server) {
37
+ // ============================================
38
+ // generate_image
39
+ // ============================================
40
+ server.tool('generate_image', 'Generate a single image from a text prompt using Gemini Nano Banana models. Returns base64 image data. Supports styles: hero (blog header), infographic (data visualization), illustration (editorial art), photo (photorealistic). Great for creating blog hero images or infographics per post.', {
41
+ prompt: z.string().describe('The image prompt or topic (e.g., "best coffee makers 2026", "SEO growth strategies")'),
42
+ style: z.enum(['hero', 'infographic', 'illustration', 'photo']).default('hero').describe('Image style: hero (blog header), infographic (data visualization), illustration (editorial art), photo (photorealistic)'),
43
+ model: z.string().optional().describe(`Gemini image model. Options: ${IMAGE_MODELS.map(m => m.id).join(', ')}. Default: ${DEFAULT_IMAGE_MODEL}`),
44
+ aspect_ratio: z.enum(['16:9', '1:1', '4:3', '3:4', '9:16']).default('16:9').describe('Image aspect ratio'),
45
+ custom_instructions: z.string().optional().describe('Additional instructions to append to the image prompt (e.g., "include coffee beans and a kitchen counter")'),
46
+ }, async (args, extra) => {
47
+ const geminiKey = getApiKey('gemini');
48
+ if (!geminiKey) {
49
+ return {
50
+ content: [{
51
+ type: 'text', text: JSON.stringify({
52
+ error: 'Missing Gemini API key. Add your Gemini API key in the BPAI web dashboard under Settings → API Keys. Image generation requires a Gemini key.',
53
+ }, null, 2)
54
+ }],
55
+ };
56
+ }
57
+ const model = args.model || DEFAULT_IMAGE_MODEL;
58
+ const stylePrompt = STYLE_PROMPTS[args.style] || STYLE_PROMPTS.hero;
59
+ // Build combined prompt
60
+ const fullPrompt = buildPrompt(args.prompt, stylePrompt, args.custom_instructions);
61
+ console.error(`[Image Gen] Generating ${args.style} image | Model: ${model} | Ratio: ${args.aspect_ratio}`);
62
+ console.error(`[Image Gen] Prompt: ${fullPrompt.substring(0, 120)}...`);
63
+ const result = await withProgress(extra, () => callGeminiImageApi(geminiKey, model, fullPrompt, args.aspect_ratio), {
64
+ label: `Generating ${args.style} image with ${model}`,
65
+ });
66
+ if (result.error) {
67
+ return {
68
+ content: [{
69
+ type: 'text', text: JSON.stringify({
70
+ status: 'failed',
71
+ error: result.error,
72
+ model,
73
+ style: args.style,
74
+ }, null, 2)
75
+ }],
76
+ };
77
+ }
78
+ const fileName = slugifyFilename(args.prompt) + '.png';
79
+ return {
80
+ content: [{
81
+ type: 'text', text: JSON.stringify({
82
+ status: 'success',
83
+ image: {
84
+ base64Data: result.base64Data,
85
+ mimeType: result.mimeType,
86
+ altText: args.prompt,
87
+ fileName,
88
+ sizeKB: Math.round((result.base64Data?.length || 0) / 1024),
89
+ },
90
+ model,
91
+ style: args.style,
92
+ aspect_ratio: args.aspect_ratio,
93
+ }, null, 2)
94
+ }],
95
+ };
96
+ });
97
+ // ============================================
98
+ // generate_article_images
99
+ // ============================================
100
+ server.tool('generate_article_images', 'Generate one or more images for a blog article. Creates a hero image from the article title/keyword, plus optional section images. Returns an array of base64 images ready for embedding or WordPress upload.', {
101
+ keyword: z.string().describe('Article keyword or title to generate images for'),
102
+ count: z.number().optional().default(1).describe('Number of images to generate (1-5). 1 = hero only, 2+ = hero + section images'),
103
+ style: z.enum(['hero', 'infographic', 'illustration', 'photo']).default('hero').describe('Image style for all generated images'),
104
+ model: z.string().optional().describe(`Gemini image model. Default: ${DEFAULT_IMAGE_MODEL}`),
105
+ aspect_ratio: z.enum(['16:9', '1:1', '4:3', '3:4', '9:16']).default('16:9').describe('Image aspect ratio'),
106
+ section_topics: z.array(z.string()).optional().describe('Optional specific topics for section images (one per image after the hero). If not provided, variants are auto-generated from the keyword.'),
107
+ }, async (args, extra) => {
108
+ const geminiKey = getApiKey('gemini');
109
+ if (!geminiKey) {
110
+ return {
111
+ content: [{
112
+ type: 'text', text: JSON.stringify({
113
+ error: 'Missing Gemini API key. Add your Gemini API key in BPAI Settings → API Keys.',
114
+ }, null, 2)
115
+ }],
116
+ };
117
+ }
118
+ const model = args.model || DEFAULT_IMAGE_MODEL;
119
+ const count = Math.min(Math.max(args.count || 1, 1), 5);
120
+ const stylePrompt = STYLE_PROMPTS[args.style] || STYLE_PROMPTS.hero;
121
+ console.error(`[Article Images] Generating ${count} ${args.style} image(s) for: "${args.keyword}" | Model: ${model}`);
122
+ const images = [];
123
+ const errors = [];
124
+ for (let i = 0; i < count; i++) {
125
+ // First image = hero from keyword, rest = section variants
126
+ let topic;
127
+ if (i === 0) {
128
+ topic = args.keyword;
129
+ }
130
+ else if (args.section_topics && args.section_topics[i - 1]) {
131
+ topic = args.section_topics[i - 1];
132
+ }
133
+ else {
134
+ topic = `${args.keyword} (aspect ${i + 1})`;
135
+ }
136
+ const fullPrompt = buildPrompt(topic, stylePrompt);
137
+ console.error(`[Article Images] Image ${i + 1}/${count}: "${topic.substring(0, 60)}"`);
138
+ const result = await withProgress(extra, () => callGeminiImageApi(geminiKey, model, fullPrompt, args.aspect_ratio), {
139
+ label: `Generating image ${i + 1}/${count}: "${topic.substring(0, 40)}"`,
140
+ });
141
+ if (result.error) {
142
+ console.error(`[Article Images] Image ${i + 1} failed: ${result.error}`);
143
+ errors.push(`Image ${i + 1}: ${result.error}`);
144
+ }
145
+ else {
146
+ const fileName = `${slugifyFilename(args.keyword)}${i === 0 ? '-hero' : `-section-${i}`}.png`;
147
+ images.push({
148
+ index: i,
149
+ type: i === 0 ? 'hero' : 'section',
150
+ base64Data: result.base64Data,
151
+ mimeType: result.mimeType,
152
+ altText: topic,
153
+ fileName,
154
+ sizeKB: Math.round((result.base64Data?.length || 0) / 1024),
155
+ });
156
+ }
157
+ // Brief delay between images to avoid rate limiting
158
+ if (i < count - 1) {
159
+ await new Promise(r => setTimeout(r, 2000));
160
+ }
161
+ }
162
+ return {
163
+ content: [{
164
+ type: 'text', text: JSON.stringify({
165
+ status: images.length > 0 ? 'success' : 'failed',
166
+ keyword: args.keyword,
167
+ requested: count,
168
+ generated: images.length,
169
+ failed: errors.length,
170
+ model,
171
+ style: args.style,
172
+ aspect_ratio: args.aspect_ratio,
173
+ images,
174
+ errors: errors.length > 0 ? errors : undefined,
175
+ }, null, 2)
176
+ }],
177
+ };
178
+ });
179
+ // ============================================
180
+ // list_image_models
181
+ // ============================================
182
+ server.tool('list_image_models', 'List available Gemini image generation models with their capabilities.', {}, async () => {
183
+ return {
184
+ content: [{
185
+ type: 'text', text: JSON.stringify({
186
+ models: IMAGE_MODELS,
187
+ styles: Object.keys(STYLE_PROMPTS),
188
+ aspect_ratios: ['16:9', '1:1', '4:3', '3:4', '9:16'],
189
+ default_model: DEFAULT_IMAGE_MODEL,
190
+ default_style: 'hero',
191
+ }, null, 2)
192
+ }],
193
+ };
194
+ });
195
+ }
196
+ async function callGeminiImageApi(apiKey, model, prompt, aspectRatio) {
197
+ try {
198
+ const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${apiKey}`;
199
+ const generationConfig = {
200
+ responseModalities: ['Image'],
201
+ imageConfig: {
202
+ aspectRatio,
203
+ },
204
+ };
205
+ // Gemini 3.x image-preview models support imageSize
206
+ if (model === 'gemini-3.1-flash-image-preview' || model === 'gemini-3-pro-image-preview') {
207
+ generationConfig.imageConfig.imageSize = '2K';
208
+ }
209
+ const res = await fetch(url, {
210
+ method: 'POST',
211
+ headers: { 'Content-Type': 'application/json' },
212
+ body: JSON.stringify({
213
+ contents: [{ role: 'user', parts: [{ text: prompt }] }],
214
+ generationConfig,
215
+ }),
216
+ });
217
+ if (!res.ok) {
218
+ const errorText = await res.text();
219
+ let errorMsg;
220
+ try {
221
+ const errorData = JSON.parse(errorText);
222
+ errorMsg = errorData?.error?.message || `HTTP ${res.status}`;
223
+ }
224
+ catch {
225
+ errorMsg = errorText.substring(0, 200) || `HTTP ${res.status}`;
226
+ }
227
+ if (res.status === 429) {
228
+ return { error: `Rate limited (429). Wait a moment and try again.` };
229
+ }
230
+ if (res.status === 400) {
231
+ return { error: `Request rejected (400): ${errorMsg}` };
232
+ }
233
+ return { error: `API error (${res.status}): ${errorMsg}` };
234
+ }
235
+ const data = await res.json();
236
+ const parts = data?.candidates?.[0]?.content?.parts;
237
+ if (!parts || parts.length === 0) {
238
+ return { error: 'No content in response. May have been blocked by safety filters.' };
239
+ }
240
+ for (const part of parts) {
241
+ if (part.inlineData) {
242
+ const { data: base64Data, mimeType } = part.inlineData;
243
+ if (base64Data && mimeType) {
244
+ console.error(`[Gemini Image] Success: ${mimeType} (${Math.round(base64Data.length / 1024)}KB base64)`);
245
+ return { base64Data, mimeType };
246
+ }
247
+ }
248
+ }
249
+ return { error: 'Response received but no image data found in output.' };
250
+ }
251
+ catch (e) {
252
+ const message = e instanceof Error ? e.message : 'Unknown error';
253
+ console.error(`[Gemini Image] Network error: ${message}`);
254
+ return { error: `Network error: ${message}` };
255
+ }
256
+ }
257
+ // ============================================
258
+ // HELPERS
259
+ // ============================================
260
+ function buildPrompt(topic, styleInstructions, customInstructions) {
261
+ let prompt = `${styleInstructions}\n\nTopic/Subject: "${topic}"\n\nThe image must be visually relevant to this topic and suitable for a professional blog article.`;
262
+ if (customInstructions) {
263
+ prompt += `\n\nAdditional instructions: ${customInstructions}`;
264
+ }
265
+ return prompt;
266
+ }
267
+ function slugifyFilename(text) {
268
+ return text
269
+ .toLowerCase()
270
+ .trim()
271
+ .replace(/[^\w\s-]/g, '')
272
+ .replace(/\s+/g, '-')
273
+ .replace(/-+/g, '-')
274
+ .replace(/^-+|-+$/g, '')
275
+ .substring(0, 60);
276
+ }
277
+ //# sourceMappingURL=images.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.js","sourceRoot":"","sources":["../../src/tools/images.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -203,4 +203,17 @@ export interface MCPServerConfig {
203
203
  wordpressProxyUrl?: string;
204
204
  broadcasterUrl?: string;
205
205
  }
206
+ export interface ImageGenerationSettings {
207
+ enabled?: boolean;
208
+ model?: string;
209
+ aspectRatio?: string;
210
+ imagesPerArticle?: number;
211
+ setAsFeatured?: boolean;
212
+ }
213
+ export interface GeneratedImage {
214
+ base64Data: string;
215
+ mimeType: string;
216
+ altText: string;
217
+ fileName?: string;
218
+ }
206
219
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * MCP Progress Heartbeat Utility
3
+ *
4
+ * Wraps long-running async operations with periodic MCP progress notifications
5
+ * to keep the stdio pipe alive. Without this, operations >30s cause clients
6
+ * to interpret silence as a dead connection and kill the subprocess.
7
+ */
8
+ interface ProgressSender {
9
+ sendNotification: (notification: any) => Promise<void>;
10
+ }
11
+ interface ProgressOptions {
12
+ /** Milliseconds between heartbeat signals (default: 10000) */
13
+ intervalMs?: number;
14
+ /** Human-readable label shown to the client */
15
+ label?: string;
16
+ }
17
+ /**
18
+ * Wraps an async operation with MCP progress heartbeats.
19
+ * Sends notifications/progress every intervalMs to keep stdio alive.
20
+ *
21
+ * Usage:
22
+ * const result = await withProgress(extra, () => generateContent(...), {
23
+ * label: 'Generating article with gemini-3.1-pro-preview'
24
+ * });
25
+ */
26
+ export declare function withProgress<T>(extra: ProgressSender, operation: () => Promise<T>, options?: ProgressOptions): Promise<T>;
27
+ export {};
28
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/utils/progress.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,UAAU,cAAc;IACpB,gBAAgB,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,UAAU,eAAe;IACrB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAChC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,CAAC,CAAC,CA+BZ"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * MCP Progress Heartbeat Utility
3
+ *
4
+ * Wraps long-running async operations with periodic MCP progress notifications
5
+ * to keep the stdio pipe alive. Without this, operations >30s cause clients
6
+ * to interpret silence as a dead connection and kill the subprocess.
7
+ */
8
+ /**
9
+ * Wraps an async operation with MCP progress heartbeats.
10
+ * Sends notifications/progress every intervalMs to keep stdio alive.
11
+ *
12
+ * Usage:
13
+ * const result = await withProgress(extra, () => generateContent(...), {
14
+ * label: 'Generating article with gemini-3.1-pro-preview'
15
+ * });
16
+ */
17
+ export async function withProgress(extra, operation, options) {
18
+ const interval = options?.intervalMs ?? 10_000;
19
+ const label = options?.label ?? 'Processing';
20
+ let step = 0;
21
+ const timer = setInterval(async () => {
22
+ step++;
23
+ const elapsed = step * (interval / 1000);
24
+ try {
25
+ await extra.sendNotification({
26
+ method: 'notifications/progress',
27
+ params: {
28
+ progressToken: `heartbeat-${Date.now()}`,
29
+ progress: step,
30
+ message: `${label}... (${elapsed}s elapsed)`,
31
+ },
32
+ });
33
+ }
34
+ catch {
35
+ // Client may not support progress notifications — silent ignore
36
+ }
37
+ // Also write to stderr as a secondary keepalive signal
38
+ // Some MCP clients monitor stderr for signs of life
39
+ console.error(`[Progress] ${label}... (${elapsed}s)`);
40
+ }, interval);
41
+ try {
42
+ return await operation();
43
+ }
44
+ finally {
45
+ clearInterval(timer);
46
+ }
47
+ }
48
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/utils/progress.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,KAAqB,EACrB,SAA2B,EAC3B,OAAyB;IAEzB,MAAM,QAAQ,GAAG,OAAO,EAAE,UAAU,IAAI,MAAM,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,YAAY,CAAC;IAC7C,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACjC,IAAI,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC;YACD,MAAM,KAAK,CAAC,gBAAgB,CAAC;gBACzB,MAAM,EAAE,wBAAwB;gBAChC,MAAM,EAAE;oBACJ,aAAa,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE;oBACxC,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,GAAG,KAAK,QAAQ,OAAO,YAAY;iBAC/C;aACJ,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACL,gEAAgE;QACpE,CAAC;QAED,uDAAuD;QACvD,oDAAoD;QACpD,OAAO,CAAC,KAAK,CAAC,cAAc,KAAK,QAAQ,OAAO,IAAI,CAAC,CAAC;IAC1D,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEb,IAAI,CAAC;QACD,OAAO,MAAM,SAAS,EAAE,CAAC;IAC7B,CAAC;YAAS,CAAC;QACP,aAAa,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bulkpublishing/mcp-server",
3
- "version": "1.2.3",
3
+ "version": "1.3.1",
4
4
  "description": "Bulk Publishing AI MCP Server - Content generation, WordPress publishing, and SEO indexing tools for MCP-compatible clients",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",