seshat-scribe 0.9.0 → 0.9.2

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.
@@ -1,5 +1,5 @@
1
- import type { BlogPlan } from './planner.js';
2
- import type { SeshatConfig } from '../config.js';
1
+ import type { BlogPlan } from "./planner.js";
2
+ import type { SeshatConfig } from "../config.js";
3
3
  /**
4
4
  * Use Gemini to write content as structured markdown that we'll parse into Portable Text
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"portable-writer.d.ts","sourceRoot":"","sources":["../../src/core/portable-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA0BjD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,GAAG,EAAE,CAAC,CAiFhB"}
1
+ {"version":3,"file":"portable-writer.d.ts","sourceRoot":"","sources":["../../src/core/portable-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA2CjD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,GAAG,EAAE,CAAC,CAqFhB"}
@@ -1,43 +1,57 @@
1
- import { createGenAIClient } from '../lib/gemini.js';
2
- import { addUsage, fromGenerateContentResponse } from '../lib/usage.js';
1
+ import { createGenAIClient } from "../lib/gemini.js";
2
+ import { addUsage, fromGenerateContentResponse } from "../lib/usage.js";
3
3
  /**
4
4
  * Generate a unique key for Sanity documents
5
5
  */
6
6
  function generateKey() {
7
7
  return Math.random().toString(36).substring(2, 15);
8
8
  }
9
- const WRITE_MODEL = 'gemini-3-flash-preview';
9
+ const WRITE_MODEL = "gemini-3-flash-preview";
10
10
  function pickOne(arr) {
11
11
  return arr[Math.floor(Math.random() * arr.length)];
12
12
  }
13
13
  const OPENING_STYLES = [
14
- { instruction: 'Start with 1–2 sentences on why this matters to the reader.' },
15
- { instruction: 'Open with a question that the post will answer.' },
16
- { instruction: 'Open with a bold or surprising claim, then back it up.' },
17
- { instruction: 'Open with a very short anecdote or moment (2–3 sentences) that leads into the topic.' },
18
- { instruction: 'Dive straight into the technical content; no preamble. Start with a concrete example or definition.' },
19
- { instruction: 'Start with an understated, almost casual observation that draws the reader in.' },
20
- { instruction: 'Start by contradicting a common belief or practice, then explain.' },
21
- { instruction: 'Start with a specific frustration or "this used to confuse me" and then resolve it.' },
14
+ {
15
+ instruction: "Start with 1–2 sentences on why this matters to the reader.",
16
+ },
17
+ { instruction: "Open with a question that the post will answer." },
18
+ { instruction: "Open with a bold or surprising claim, then back it up." },
19
+ {
20
+ instruction: "Open with a very short anecdote or moment (2–3 sentences) that leads into the topic.",
21
+ },
22
+ {
23
+ instruction: "Dive straight into the technical content; no preamble. Start with a concrete example or definition.",
24
+ },
25
+ {
26
+ instruction: "Start with an understated, almost casual observation that draws the reader in.",
27
+ },
28
+ {
29
+ instruction: "Start by contradicting a common belief or practice, then explain.",
30
+ },
31
+ {
32
+ instruction: 'Start with a specific frustration or "this used to confuse me" and then resolve it.',
33
+ },
22
34
  ];
23
35
  /**
24
36
  * Use Gemini to write content as structured markdown that we'll parse into Portable Text
25
37
  */
26
38
  export async function writePortableTextContent(config, plan) {
27
39
  const ai = createGenAIClient();
28
- const primaryTag = plan.tags[0] || 'general';
40
+ const primaryTag = plan.tags[0] || "general";
29
41
  const opening = pickOne(OPENING_STYLES);
30
42
  // Build generation instructions
31
- let generationInstructions = '';
43
+ let generationInstructions = "";
32
44
  if (config.generation) {
33
45
  if (config.generation.targetWordCount) {
34
46
  generationInstructions += `\n- Target length: approximately ${config.generation.targetWordCount} words`;
35
47
  }
36
48
  if (config.generation.includeCodeExamples) {
37
- generationInstructions += '\n- Include multiple practical code examples throughout the post';
49
+ generationInstructions +=
50
+ "\n- Include multiple practical code examples throughout the post";
38
51
  }
39
52
  if (config.generation.seoOptimized) {
40
- generationInstructions += '\n- Optimize for SEO: use keywords naturally, clear headings, scannable structure';
53
+ generationInstructions +=
54
+ "\n- Optimize for SEO: use keywords naturally, clear headings, scannable structure";
41
55
  }
42
56
  if (config.generation.customInstructions) {
43
57
  generationInstructions += `\n- Additional instructions: ${config.generation.customInstructions}`;
@@ -90,10 +104,12 @@ Write a focused, valuable post that helps developers understand ${plan.title}.`;
90
104
  const u = fromGenerateContentResponse(WRITE_MODEL, response.usageMetadata);
91
105
  if (u)
92
106
  addUsage(u);
93
- let content = response.text?.trim() || '';
107
+ let content = response.text?.trim() || "";
94
108
  // Clean up: remove wrapping code blocks if Gemini added them
95
- if (content.startsWith('```')) {
96
- content = content.replace(/^```(?:markdown|md)?\\n/, '').replace(/\\n```$/, '');
109
+ if (content.startsWith("```")) {
110
+ content = content
111
+ .replace(/^```(?:markdown|md)?\\n/, "")
112
+ .replace(/\\n```$/, "");
97
113
  }
98
114
  // Convert markdown to Portable Text blocks
99
115
  return parseMarkdownToPortableText(content);
@@ -103,40 +119,40 @@ Write a focused, valuable post that helps developers understand ${plan.title}.`;
103
119
  */
104
120
  function parseMarkdownToPortableText(markdown) {
105
121
  const blocks = [];
106
- const lines = markdown.split('\n');
122
+ const lines = markdown.split("\n");
107
123
  let currentParagraph = [];
108
124
  let inCodeBlock = false;
109
125
  let codeBlockContent = [];
110
- let codeBlockLanguage = '';
126
+ let codeBlockLanguage = "";
111
127
  const flushParagraph = () => {
112
128
  if (currentParagraph.length > 0) {
113
- const text = currentParagraph.join('\n').trim();
129
+ const text = currentParagraph.join("\n").trim();
114
130
  if (text) {
115
- blocks.push(createTextBlock(text, 'normal'));
131
+ blocks.push(createTextBlock(text, "normal"));
116
132
  }
117
133
  currentParagraph = [];
118
134
  }
119
135
  };
120
136
  for (const line of lines) {
121
137
  // Handle code blocks
122
- if (line.startsWith('```')) {
138
+ if (line.startsWith("```")) {
123
139
  if (!inCodeBlock) {
124
140
  flushParagraph();
125
141
  inCodeBlock = true;
126
- codeBlockLanguage = line.slice(3).trim() || 'javascript';
142
+ codeBlockLanguage = line.slice(3).trim() || "javascript";
127
143
  codeBlockContent = [];
128
144
  }
129
145
  else {
130
146
  // End of code block
131
147
  blocks.push({
132
148
  _key: generateKey(),
133
- _type: 'code',
149
+ _type: "code",
134
150
  language: codeBlockLanguage,
135
- code: codeBlockContent.join('\n'),
151
+ code: codeBlockContent.join("\n"),
136
152
  });
137
153
  inCodeBlock = false;
138
154
  codeBlockContent = [];
139
- codeBlockLanguage = '';
155
+ codeBlockLanguage = "";
140
156
  }
141
157
  continue;
142
158
  }
@@ -145,34 +161,34 @@ function parseMarkdownToPortableText(markdown) {
145
161
  continue;
146
162
  }
147
163
  // Handle headings
148
- if (line.startsWith('#### ')) {
164
+ if (line.startsWith("#### ")) {
149
165
  flushParagraph();
150
- blocks.push(createTextBlock(line.slice(5), 'h4'));
166
+ blocks.push(createTextBlock(line.slice(5), "h4"));
151
167
  continue;
152
168
  }
153
- if (line.startsWith('### ')) {
169
+ if (line.startsWith("### ")) {
154
170
  flushParagraph();
155
- blocks.push(createTextBlock(line.slice(4), 'h3'));
171
+ blocks.push(createTextBlock(line.slice(4), "h3"));
156
172
  continue;
157
173
  }
158
- if (line.startsWith('## ')) {
174
+ if (line.startsWith("## ")) {
159
175
  flushParagraph();
160
- blocks.push(createTextBlock(line.slice(3), 'h2'));
176
+ blocks.push(createTextBlock(line.slice(3), "h2"));
161
177
  continue;
162
178
  }
163
- if (line.startsWith('# ')) {
179
+ if (line.startsWith("# ")) {
164
180
  flushParagraph();
165
- blocks.push(createTextBlock(line.slice(2), 'h1'));
181
+ blocks.push(createTextBlock(line.slice(2), "h1"));
166
182
  continue;
167
183
  }
168
184
  // Handle blockquotes
169
- if (line.startsWith('> ')) {
185
+ if (line.startsWith("> ")) {
170
186
  flushParagraph();
171
- blocks.push(createTextBlock(line.slice(2), 'blockquote'));
187
+ blocks.push(createTextBlock(line.slice(2), "blockquote"));
172
188
  continue;
173
189
  }
174
190
  // Empty lines separate paragraphs
175
- if (line.trim() === '') {
191
+ if (line.trim() === "") {
176
192
  flushParagraph();
177
193
  continue;
178
194
  }
@@ -190,7 +206,7 @@ function createTextBlock(text, style) {
190
206
  const children = parseInlineFormatting(text);
191
207
  return {
192
208
  _key: generateKey(),
193
- _type: 'block',
209
+ _type: "block",
194
210
  style,
195
211
  children,
196
212
  markDefs: [],
@@ -206,31 +222,31 @@ function parseInlineFormatting(text) {
206
222
  for (const part of parts) {
207
223
  if (!part)
208
224
  continue;
209
- if (part.startsWith('**') && part.endsWith('**')) {
225
+ if (part.startsWith("**") && part.endsWith("**")) {
210
226
  // Bold
211
227
  children.push({
212
228
  _key: generateKey(),
213
- _type: 'span',
229
+ _type: "span",
214
230
  text: part.slice(2, -2),
215
- marks: ['strong'],
231
+ marks: ["strong"],
216
232
  });
217
233
  }
218
- else if (part.startsWith('__') && part.endsWith('__')) {
234
+ else if (part.startsWith("__") && part.endsWith("__")) {
219
235
  // Bold (alternative)
220
236
  children.push({
221
237
  _key: generateKey(),
222
- _type: 'span',
238
+ _type: "span",
223
239
  text: part.slice(2, -2),
224
- marks: ['strong'],
240
+ marks: ["strong"],
225
241
  });
226
242
  }
227
- else if (part.startsWith('`') && part.endsWith('`')) {
243
+ else if (part.startsWith("`") && part.endsWith("`")) {
228
244
  // Inline code
229
245
  children.push({
230
246
  _key: generateKey(),
231
- _type: 'span',
247
+ _type: "span",
232
248
  text: part.slice(1, -1),
233
- marks: ['code'],
249
+ marks: ["code"],
234
250
  });
235
251
  }
236
252
  else if (part.match(/\[(.*?)\]\((.*?)\)/)) {
@@ -239,7 +255,7 @@ function parseInlineFormatting(text) {
239
255
  if (match) {
240
256
  children.push({
241
257
  _key: generateKey(),
242
- _type: 'span',
258
+ _type: "span",
243
259
  text: match[1],
244
260
  marks: [],
245
261
  });
@@ -249,12 +265,14 @@ function parseInlineFormatting(text) {
249
265
  // Regular text
250
266
  children.push({
251
267
  _key: generateKey(),
252
- _type: 'span',
268
+ _type: "span",
253
269
  text: part,
254
270
  marks: [],
255
271
  });
256
272
  }
257
273
  }
258
- return children.length > 0 ? children : [{ _key: generateKey(), _type: 'span', text, marks: [] }];
274
+ return children.length > 0
275
+ ? children
276
+ : [{ _key: generateKey(), _type: "span", text, marks: [] }];
259
277
  }
260
278
  //# sourceMappingURL=portable-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"portable-writer.js","sourceRoot":"","sources":["../../src/core/portable-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portable-writer.js","sourceRoot":"","sources":["../../src/core/portable-writer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/core/writer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAmBjD;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAE,IAAiB,EAC3B,SAAS,GAAE,MAAM,GAAG,IAA0B,GAC7C,OAAO,CAAC,MAAM,CAAC,CAmHjB"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/core/writer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAmBjD;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAE,IAAiB,EAC3B,SAAS,GAAE,MAAM,GAAG,IAA0B,GAC7C,OAAO,CAAC,MAAM,CAAC,CAoHjB"}
@@ -70,6 +70,7 @@ Do NOT start with "In this article we will...", "In today's post...", or similar
70
70
  - Use examples and code to clarify; show real code, not pseudo-code
71
71
  - Explain the "why" behind decisions; include edge cases or gotchas when relevant
72
72
  - Don't use perfect grammar, just write like a human.
73
+ - Avoid obvious AI writing patterns like "—" or "...", which a human would never use.
73
74
 
74
75
  **Structure:**
75
76
  - Use clear headings, but don't follow a cookie-cutter pattern (e.g. not always Intro → Background → Solution → Conclusion with equal weight)
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/core/writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAE7C,SAAS,OAAO,CAAI,GAAQ;IAC1B,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,cAAc,GAA8B;IAChD,EAAE,WAAW,EAAE,6DAA6D,EAAE;IAC9E,EAAE,WAAW,EAAE,iDAAiD,EAAE;IAClE,EAAE,WAAW,EAAE,wDAAwD,EAAE;IACzE,EAAE,WAAW,EAAE,sFAAsF,EAAE;IACvG,EAAE,WAAW,EAAE,qGAAqG,EAAE;IACtH,EAAE,WAAW,EAAE,gFAAgF,EAAE;IACjG,EAAE,WAAW,EAAE,mEAAmE,EAAE;IACpF,EAAE,WAAW,EAAE,qFAAqF,EAAE;CACvG,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAoB,EACpB,IAAc,EACd,WAAiB,IAAI,IAAI,EAAE,EAC3B,YAA2B,mBAAmB;IAE9C,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAE/B,mCAAmC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IAE7C,oEAAoE;IACpE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,yCAAyC;IACzC,MAAM,WAAW,GAAG,gBAAgB,CAClC,MAAM,CAAC,WAAW,EAClB;QACE,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,UAAU;QACf,SAAS;KACV,CACF,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAExC,gCAAgC;IAChC,IAAI,sBAAsB,GAAG,EAAE,CAAC;IAChC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YACtC,sBAAsB,IAAI,oCAAoC,MAAM,CAAC,UAAU,CAAC,eAAe,QAAQ,CAAC;QAC1G,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;YAC1C,sBAAsB,IAAI,kEAAkE,CAAC;QAC/F,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YACnC,sBAAsB,IAAI,mFAAmF,CAAC;QAChH,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACzC,sBAAsB,IAAI,gCAAgC,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACnG,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG;;;WAGN,IAAI,CAAC,KAAK;iBACJ,IAAI,CAAC,WAAW;SACxB,UAAU,GAAG,sBAAsB;;;EAG1C,OAAO,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;UAqBX,MAAM,CAAC,IAAI;;;;;EAKnB,WAAW;;;;;;;;;;;;;;;;;;;;;;kEAsBqD,IAAI,CAAC,KAAK,GAAG,CAAC;IAE9E,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;QAC/C,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,2BAA2B,CAAC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3E,IAAI,CAAC;QAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEnB,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAE1C,6DAA6D;IAC7D,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/core/writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "seshat-scribe",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "description": "The Autonomous Scribe for Static Blogs - AI-powered content generation using Google Gemini",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",