@contractspec/lib.content-gen 1.56.0 → 1.57.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.
@@ -1 +1 @@
1
- {"version":3,"file":"blog.d.ts","names":[],"sources":["../../src/generators/blog.ts"],"sourcesContent":[],"mappings":";;;cAOa,aAAA;;EAAA,iBAAa,KAAA;EAKF,iBAAA,WAAA;EAMA,WAAA,CAAA,OAAA,CAAA,EANA,gBAMA;EAAuB,QAAA,CAAA,KAAA,EAAvB,YAAuB,CAAA,EAAR,OAAQ,CAAA,gBAAA,CAAA;EAAR,QAAA,eAAA;EAAO,QAAA,qBAAA"}
1
+ {"version":3,"file":"blog.d.ts","names":[],"sources":["../../src/generators/blog.ts"],"mappings":";;;cAOa,aAAA;EAAA,iBACM,GAAA;EAAA,iBACA,KAAA;EAAA,iBACA,WAAA;cAEL,OAAA,GAAU,gBAAA;EAMhB,QAAA,CAAS,KAAA,EAAO,YAAA,GAAe,OAAA,CAAQ,gBAAA;EAAA,QAO/B,eAAA;EAAA,QAwCN,qBAAA;EAAA,QAoCA,YAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","names":[],"sources":["../../src/generators/email.ts"],"sourcesContent":[],"mappings":";;;cAOa,sBAAA;;EAAA,iBAAA,KAAA;EAKW,iBAAA,WAAA;EAMA,WAAA,CAAA,OAAA,CAAA,EANA,gBAMA;EAA6B,QAAA,CAAA,KAAA,EAA7B,kBAA6B,CAAA,EAAR,OAAQ,CAAA,UAAA,CAAA;EAAR,QAAA,eAAA;EAAO,QAAA,gBAAA"}
1
+ {"version":3,"file":"email.d.ts","names":[],"sources":["../../src/generators/email.ts"],"mappings":";;;cAOa,sBAAA;EAAA,iBACM,GAAA;EAAA,iBACA,KAAA;EAAA,iBACA,WAAA;cAEL,OAAA,GAAU,gBAAA;EAMhB,QAAA,CAAS,KAAA,EAAO,kBAAA,GAAqB,OAAA,CAAQ,UAAA;EAAA,QAQrC,eAAA;EAAA,QAuCN,gBAAA;EAAA,QAUA,QAAA;EAAA,QAeA,cAAA;EAAA,QAKA,UAAA;EAAA,QAmBA,WAAA;AAAA"}
@@ -63,7 +63,6 @@ var EmailCampaignGenerator = class {
63
63
  `New: ${title}`
64
64
  ];
65
65
  case "onboarding": return [`Get started with ${title}`, `Your ${title} guide`];
66
- case "nurture":
67
66
  default: return [`How ${title} speeds ops`, `Proof ${title} works`];
68
67
  }
69
68
  }
@@ -91,7 +90,6 @@ ${brief.callToAction ?? "Spin up a sandbox"} → ${(input.cadenceDay ?? 0) + 1}
91
90
  switch (variant) {
92
91
  case "announcement": return `${brief.title} is live. ${brief.summary}`;
93
92
  case "onboarding": return `Here is your next step to unlock ${brief.title}.`;
94
- case "nurture":
95
93
  default: return `Operators like ${brief.audience.role} keep asking how to automate policy checks. Here is what works.`;
96
94
  }
97
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","names":[],"sources":["../../src/generators/email.ts"],"sourcesContent":["import type {\n EmailCampaignBrief,\n EmailDraft,\n GeneratorOptions,\n} from '../types';\nimport type { LLMProvider } from '@contractspec/lib.contracts/integrations/providers/llm';\n\nexport class EmailCampaignGenerator {\n private readonly llm?: LLMProvider;\n private readonly model?: string;\n private readonly temperature: number;\n\n constructor(options?: GeneratorOptions) {\n this.llm = options?.llm;\n this.model = options?.model;\n this.temperature = options?.temperature ?? 0.6;\n }\n\n async generate(input: EmailCampaignBrief): Promise<EmailDraft> {\n if (this.llm) {\n const draft = await this.generateWithLlm(input);\n if (draft) return draft;\n }\n return this.generateFallback(input);\n }\n\n private async generateWithLlm(\n input: EmailCampaignBrief\n ): Promise<EmailDraft | null> {\n if (!this.llm) return null;\n const response = await this.llm.chat(\n [\n {\n role: 'system',\n content: [\n {\n type: 'text',\n text: 'Draft product marketing email as JSON {subject, previewText, body, cta}.',\n },\n ],\n },\n {\n role: 'user',\n content: [{ type: 'text', text: JSON.stringify(input) }],\n },\n ],\n {\n responseFormat: 'json',\n model: this.model,\n temperature: this.temperature,\n }\n );\n const jsonPart = response.message.content.find((chunk) => 'text' in chunk);\n if (!jsonPart || !('text' in jsonPart)) return null;\n const parsed = JSON.parse(jsonPart.text) as Partial<EmailDraft>;\n if (!parsed.subject || !parsed.body || !parsed.cta) return null;\n return {\n subject: parsed.subject,\n previewText: parsed.previewText ?? this.defaultPreview(input),\n body: parsed.body,\n cta: parsed.cta,\n variant: input.variant,\n };\n }\n\n private generateFallback(input: EmailCampaignBrief): EmailDraft {\n const { brief, variant } = input;\n const subject =\n this.subjects(brief.title, variant)[0] ?? `${brief.title} update`;\n const previewText = this.defaultPreview(input);\n const body = this.renderBody(input);\n const cta = brief.callToAction ?? 'Explore the sandbox';\n return { subject, previewText, body, cta, variant };\n }\n\n private subjects(\n title: string,\n variant: EmailCampaignBrief['variant']\n ): string[] {\n switch (variant) {\n case 'announcement':\n return [`Launch: ${title}`, `${title} is live`, `New: ${title}`];\n case 'onboarding':\n return [`Get started with ${title}`, `Your ${title} guide`];\n case 'nurture':\n default:\n return [`How ${title} speeds ops`, `Proof ${title} works`];\n }\n }\n\n private defaultPreview(input: EmailCampaignBrief) {\n const win = input.brief.metrics?.[0] ?? 'ship faster without policy gaps';\n return `See how teams ${win}.`;\n }\n\n private renderBody(input: EmailCampaignBrief): string {\n const { brief, variant } = input;\n const greeting = 'Hi there,';\n const hook = this.variantHook(variant, brief);\n const proof =\n brief.metrics?.map((metric) => `• ${metric}`).join('\\n') ?? '';\n return `${greeting}\n\n${hook}\n\nTop reasons teams adopt ${brief.title}:\n${brief.solutions.map((solution) => `• ${solution}`).join('\\n')}\n\n${proof}\n\n${brief.callToAction ?? 'Spin up a sandbox'} → ${(input.cadenceDay ?? 0) + 1}\n`;\n }\n\n private variantHook(\n variant: EmailCampaignBrief['variant'],\n brief: EmailCampaignBrief['brief']\n ): string {\n switch (variant) {\n case 'announcement':\n return `${brief.title} is live. ${brief.summary}`;\n case 'onboarding':\n return `Here is your next step to unlock ${brief.title}.`;\n case 'nurture':\n default:\n return `Operators like ${brief.audience.role} keep asking how to automate policy checks. Here is what works.`;\n }\n }\n}\n"],"mappings":";AAOA,IAAa,yBAAb,MAAoC;CAClC,AAAiB;CACjB,AAAiB;CACjB,AAAiB;CAEjB,YAAY,SAA4B;AACtC,OAAK,MAAM,SAAS;AACpB,OAAK,QAAQ,SAAS;AACtB,OAAK,cAAc,SAAS,eAAe;;CAG7C,MAAM,SAAS,OAAgD;AAC7D,MAAI,KAAK,KAAK;GACZ,MAAM,QAAQ,MAAM,KAAK,gBAAgB,MAAM;AAC/C,OAAI,MAAO,QAAO;;AAEpB,SAAO,KAAK,iBAAiB,MAAM;;CAGrC,MAAc,gBACZ,OAC4B;AAC5B,MAAI,CAAC,KAAK,IAAK,QAAO;EAuBtB,MAAM,YAtBW,MAAM,KAAK,IAAI,KAC9B,CACE;GACE,MAAM;GACN,SAAS,CACP;IACE,MAAM;IACN,MAAM;IACP,CACF;GACF,EACD;GACE,MAAM;GACN,SAAS,CAAC;IAAE,MAAM;IAAQ,MAAM,KAAK,UAAU,MAAM;IAAE,CAAC;GACzD,CACF,EACD;GACE,gBAAgB;GAChB,OAAO,KAAK;GACZ,aAAa,KAAK;GACnB,CACF,EACyB,QAAQ,QAAQ,MAAM,UAAU,UAAU,MAAM;AAC1E,MAAI,CAAC,YAAY,EAAE,UAAU,UAAW,QAAO;EAC/C,MAAM,SAAS,KAAK,MAAM,SAAS,KAAK;AACxC,MAAI,CAAC,OAAO,WAAW,CAAC,OAAO,QAAQ,CAAC,OAAO,IAAK,QAAO;AAC3D,SAAO;GACL,SAAS,OAAO;GAChB,aAAa,OAAO,eAAe,KAAK,eAAe,MAAM;GAC7D,MAAM,OAAO;GACb,KAAK,OAAO;GACZ,SAAS,MAAM;GAChB;;CAGH,AAAQ,iBAAiB,OAAuC;EAC9D,MAAM,EAAE,OAAO,YAAY;AAM3B,SAAO;GAAE,SAJP,KAAK,SAAS,MAAM,OAAO,QAAQ,CAAC,MAAM,GAAG,MAAM,MAAM;GAIzC,aAHE,KAAK,eAAe,MAAM;GAGf,MAFlB,KAAK,WAAW,MAAM;GAEE,KADzB,MAAM,gBAAgB;GACQ;GAAS;;CAGrD,AAAQ,SACN,OACA,SACU;AACV,UAAQ,SAAR;GACE,KAAK,eACH,QAAO;IAAC,WAAW;IAAS,GAAG,MAAM;IAAW,QAAQ;IAAQ;GAClE,KAAK,aACH,QAAO,CAAC,oBAAoB,SAAS,QAAQ,MAAM,QAAQ;GAC7D,KAAK;GACL,QACE,QAAO,CAAC,OAAO,MAAM,cAAc,SAAS,MAAM,QAAQ;;;CAIhE,AAAQ,eAAe,OAA2B;AAEhD,SAAO,iBADK,MAAM,MAAM,UAAU,MAAM,kCACZ;;CAG9B,AAAQ,WAAW,OAAmC;EACpD,MAAM,EAAE,OAAO,YAAY;EAC3B,MAAM,WAAW;EACjB,MAAM,OAAO,KAAK,YAAY,SAAS,MAAM;EAC7C,MAAM,QACJ,MAAM,SAAS,KAAK,WAAW,KAAK,SAAS,CAAC,KAAK,KAAK,IAAI;AAC9D,SAAO,GAAG,SAAS;;EAErB,KAAK;;0BAEmB,MAAM,MAAM;EACpC,MAAM,UAAU,KAAK,aAAa,KAAK,WAAW,CAAC,KAAK,KAAK,CAAC;;EAE9D,MAAM;;EAEN,MAAM,gBAAgB,oBAAoB,MAAM,MAAM,cAAc,KAAK,EAAE;;;CAI3E,AAAQ,YACN,SACA,OACQ;AACR,UAAQ,SAAR;GACE,KAAK,eACH,QAAO,GAAG,MAAM,MAAM,YAAY,MAAM;GAC1C,KAAK,aACH,QAAO,oCAAoC,MAAM,MAAM;GACzD,KAAK;GACL,QACE,QAAO,kBAAkB,MAAM,SAAS,KAAK"}
1
+ {"version":3,"file":"email.js","names":[],"sources":["../../src/generators/email.ts"],"sourcesContent":["import type {\n EmailCampaignBrief,\n EmailDraft,\n GeneratorOptions,\n} from '../types';\nimport type { LLMProvider } from '@contractspec/lib.contracts/integrations/providers/llm';\n\nexport class EmailCampaignGenerator {\n private readonly llm?: LLMProvider;\n private readonly model?: string;\n private readonly temperature: number;\n\n constructor(options?: GeneratorOptions) {\n this.llm = options?.llm;\n this.model = options?.model;\n this.temperature = options?.temperature ?? 0.6;\n }\n\n async generate(input: EmailCampaignBrief): Promise<EmailDraft> {\n if (this.llm) {\n const draft = await this.generateWithLlm(input);\n if (draft) return draft;\n }\n return this.generateFallback(input);\n }\n\n private async generateWithLlm(\n input: EmailCampaignBrief\n ): Promise<EmailDraft | null> {\n if (!this.llm) return null;\n const response = await this.llm.chat(\n [\n {\n role: 'system',\n content: [\n {\n type: 'text',\n text: 'Draft product marketing email as JSON {subject, previewText, body, cta}.',\n },\n ],\n },\n {\n role: 'user',\n content: [{ type: 'text', text: JSON.stringify(input) }],\n },\n ],\n {\n responseFormat: 'json',\n model: this.model,\n temperature: this.temperature,\n }\n );\n const jsonPart = response.message.content.find((chunk) => 'text' in chunk);\n if (!jsonPart || !('text' in jsonPart)) return null;\n const parsed = JSON.parse(jsonPart.text) as Partial<EmailDraft>;\n if (!parsed.subject || !parsed.body || !parsed.cta) return null;\n return {\n subject: parsed.subject,\n previewText: parsed.previewText ?? this.defaultPreview(input),\n body: parsed.body,\n cta: parsed.cta,\n variant: input.variant,\n };\n }\n\n private generateFallback(input: EmailCampaignBrief): EmailDraft {\n const { brief, variant } = input;\n const subject =\n this.subjects(brief.title, variant)[0] ?? `${brief.title} update`;\n const previewText = this.defaultPreview(input);\n const body = this.renderBody(input);\n const cta = brief.callToAction ?? 'Explore the sandbox';\n return { subject, previewText, body, cta, variant };\n }\n\n private subjects(\n title: string,\n variant: EmailCampaignBrief['variant']\n ): string[] {\n switch (variant) {\n case 'announcement':\n return [`Launch: ${title}`, `${title} is live`, `New: ${title}`];\n case 'onboarding':\n return [`Get started with ${title}`, `Your ${title} guide`];\n case 'nurture':\n default:\n return [`How ${title} speeds ops`, `Proof ${title} works`];\n }\n }\n\n private defaultPreview(input: EmailCampaignBrief) {\n const win = input.brief.metrics?.[0] ?? 'ship faster without policy gaps';\n return `See how teams ${win}.`;\n }\n\n private renderBody(input: EmailCampaignBrief): string {\n const { brief, variant } = input;\n const greeting = 'Hi there,';\n const hook = this.variantHook(variant, brief);\n const proof =\n brief.metrics?.map((metric) => `• ${metric}`).join('\\n') ?? '';\n return `${greeting}\n\n${hook}\n\nTop reasons teams adopt ${brief.title}:\n${brief.solutions.map((solution) => `• ${solution}`).join('\\n')}\n\n${proof}\n\n${brief.callToAction ?? 'Spin up a sandbox'} → ${(input.cadenceDay ?? 0) + 1}\n`;\n }\n\n private variantHook(\n variant: EmailCampaignBrief['variant'],\n brief: EmailCampaignBrief['brief']\n ): string {\n switch (variant) {\n case 'announcement':\n return `${brief.title} is live. ${brief.summary}`;\n case 'onboarding':\n return `Here is your next step to unlock ${brief.title}.`;\n case 'nurture':\n default:\n return `Operators like ${brief.audience.role} keep asking how to automate policy checks. Here is what works.`;\n }\n }\n}\n"],"mappings":";AAOA,IAAa,yBAAb,MAAoC;CAClC,AAAiB;CACjB,AAAiB;CACjB,AAAiB;CAEjB,YAAY,SAA4B;AACtC,OAAK,MAAM,SAAS;AACpB,OAAK,QAAQ,SAAS;AACtB,OAAK,cAAc,SAAS,eAAe;;CAG7C,MAAM,SAAS,OAAgD;AAC7D,MAAI,KAAK,KAAK;GACZ,MAAM,QAAQ,MAAM,KAAK,gBAAgB,MAAM;AAC/C,OAAI,MAAO,QAAO;;AAEpB,SAAO,KAAK,iBAAiB,MAAM;;CAGrC,MAAc,gBACZ,OAC4B;AAC5B,MAAI,CAAC,KAAK,IAAK,QAAO;EAuBtB,MAAM,YAtBW,MAAM,KAAK,IAAI,KAC9B,CACE;GACE,MAAM;GACN,SAAS,CACP;IACE,MAAM;IACN,MAAM;IACP,CACF;GACF,EACD;GACE,MAAM;GACN,SAAS,CAAC;IAAE,MAAM;IAAQ,MAAM,KAAK,UAAU,MAAM;IAAE,CAAC;GACzD,CACF,EACD;GACE,gBAAgB;GAChB,OAAO,KAAK;GACZ,aAAa,KAAK;GACnB,CACF,EACyB,QAAQ,QAAQ,MAAM,UAAU,UAAU,MAAM;AAC1E,MAAI,CAAC,YAAY,EAAE,UAAU,UAAW,QAAO;EAC/C,MAAM,SAAS,KAAK,MAAM,SAAS,KAAK;AACxC,MAAI,CAAC,OAAO,WAAW,CAAC,OAAO,QAAQ,CAAC,OAAO,IAAK,QAAO;AAC3D,SAAO;GACL,SAAS,OAAO;GAChB,aAAa,OAAO,eAAe,KAAK,eAAe,MAAM;GAC7D,MAAM,OAAO;GACb,KAAK,OAAO;GACZ,SAAS,MAAM;GAChB;;CAGH,AAAQ,iBAAiB,OAAuC;EAC9D,MAAM,EAAE,OAAO,YAAY;AAM3B,SAAO;GAAE,SAJP,KAAK,SAAS,MAAM,OAAO,QAAQ,CAAC,MAAM,GAAG,MAAM,MAAM;GAIzC,aAHE,KAAK,eAAe,MAAM;GAGf,MAFlB,KAAK,WAAW,MAAM;GAEE,KADzB,MAAM,gBAAgB;GACQ;GAAS;;CAGrD,AAAQ,SACN,OACA,SACU;AACV,UAAQ,SAAR;GACE,KAAK,eACH,QAAO;IAAC,WAAW;IAAS,GAAG,MAAM;IAAW,QAAQ;IAAQ;GAClE,KAAK,aACH,QAAO,CAAC,oBAAoB,SAAS,QAAQ,MAAM,QAAQ;GAE7D,QACE,QAAO,CAAC,OAAO,MAAM,cAAc,SAAS,MAAM,QAAQ;;;CAIhE,AAAQ,eAAe,OAA2B;AAEhD,SAAO,iBADK,MAAM,MAAM,UAAU,MAAM,kCACZ;;CAG9B,AAAQ,WAAW,OAAmC;EACpD,MAAM,EAAE,OAAO,YAAY;EAC3B,MAAM,WAAW;EACjB,MAAM,OAAO,KAAK,YAAY,SAAS,MAAM;EAC7C,MAAM,QACJ,MAAM,SAAS,KAAK,WAAW,KAAK,SAAS,CAAC,KAAK,KAAK,IAAI;AAC9D,SAAO,GAAG,SAAS;;EAErB,KAAK;;0BAEmB,MAAM,MAAM;EACpC,MAAM,UAAU,KAAK,aAAa,KAAK,WAAW,CAAC,KAAK,KAAK,CAAC;;EAE9D,MAAM;;EAEN,MAAM,gBAAgB,oBAAoB,MAAM,MAAM,cAAc,KAAK,EAAE;;;CAI3E,AAAQ,YACN,SACA,OACQ;AACR,UAAQ,SAAR;GACE,KAAK,eACH,QAAO,GAAG,MAAM,MAAM,YAAY,MAAM;GAC1C,KAAK,aACH,QAAO,oCAAoC,MAAM,MAAM;GAEzD,QACE,QAAO,kBAAkB,MAAM,SAAS,KAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"landing-page.d.ts","names":[],"sources":["../../src/generators/landing-page.ts"],"sourcesContent":[],"mappings":";;;UAGiB,eAAA;;IAAA,OAAA,CAAA,EAAA,MAAe;IAQlB,KAAA,EAAA,MAAA;IACC,QAAA,EAAA,MAAA;IACR,UAAA,EAAA,MAAA;IAAY,YAAA,CAAA,EAAA,MAAA;EAGN,CAAA;EAI4B,UAAA,EAT3B,YAS2B,EAAA;EAKjB,WAAA,EAbT,YAaS;EAAuB,GAAA,EAZxC,YAYwC,EAAA;;AAAD,cATjC,oBAAA,CASiC;;;;wBALL;kBAKjB,eAAe,QAAQ"}
1
+ {"version":3,"file":"landing-page.d.ts","names":[],"sources":["../../src/generators/landing-page.ts"],"mappings":";;;UAGiB,eAAA;EACf,IAAA;IACE,OAAA;IACA,KAAA;IACA,QAAA;IACA,UAAA;IACA,YAAA;EAAA;EAEF,UAAA,EAAY,YAAA;EACZ,WAAA,EAAa,YAAA;EACb,GAAA,EAAK,YAAA;AAAA;AAAA,cAGM,oBAAA;EAAA,iBAIkB,OAAA;EAAA,iBAHZ,GAAA;EAAA,iBACA,KAAA;cAEY,OAAA,GAAU,gBAAA;EAKjC,QAAA,CAAS,KAAA,EAAO,YAAA,GAAe,OAAA,CAAQ,eAAA;EAAA,QAO/B,eAAA;EAAA,QAiCN,gBAAA;EAAA,QA4BA,QAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"social.d.ts","names":[],"sources":["../../src/generators/social.ts"],"sourcesContent":[],"mappings":";;;cAGa,mBAAA;;EAAA,iBAAA,KAAmB;EAIR,WAAA,CAAA,OAAA,CAAA,EAAA,gBAAA;EAKA,QAAA,CAAA,KAAA,EAAA,YAAA,CAAA,EAAe,OAAf,CAAuB,UAAvB,EAAA,CAAA;EAAuB,QAAA,eAAA;EAAR,QAAA,gBAAA;EAAO,QAAA,aAAA"}
1
+ {"version":3,"file":"social.d.ts","names":[],"sources":["../../src/generators/social.ts"],"mappings":";;;cAGa,mBAAA;EAAA,iBACM,GAAA;EAAA,iBACA,KAAA;cAEL,OAAA,GAAU,gBAAA;EAKhB,QAAA,CAAS,KAAA,EAAO,YAAA,GAAe,OAAA,CAAQ,UAAA;EAAA,QAQ/B,eAAA;EAAA,QAyBN,gBAAA;EAAA,QAuBA,aAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer.d.ts","names":[],"sources":["../../src/seo/optimizer.ts"],"sourcesContent":[],"mappings":";;;cAEa,YAAA;kBACK,eAAe;EADpB,QAAA,QAAY"}
1
+ {"version":3,"file":"optimizer.d.ts","names":[],"sources":["../../src/seo/optimizer.ts"],"mappings":";;;cAEa,YAAA;EACX,QAAA,CAAS,KAAA,EAAO,YAAA,GAAe,WAAA;EAAA,QASvB,QAAA;EAAA,QASA,OAAA;EAAA,QAOA,MAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";;;UAEiB,eAAA;;EAAA,QAAA,CAAA,EAAA,MAAA;EAQA,MAAA,CAAA,EAAA,MAAY;EAaZ,QAAA,CAAA,EAAA,OAAY,GAAA,SAAA,GAAA,YAAA;EAOZ,UAAA,CAAA,EAAA,MAAgB,EAAA;AAQjC;AAMiB,UAlCA,YAAA,CAkCkB;EAMlB,KAAA,EAAA,MAAU;EAQV,OAAA,EAAA,MAAU;EAQV,QAAA,EAAA,MAAW,EAAA;;;;;YAhDhB;;;;;;;UAKK,YAAA;;;;;;UAOA,gBAAA;;;;YAIL;;;UAIK,gBAAA;QACT;;;;UAKS,kBAAA;SACR;;;;UAKQ,UAAA;;;;;WAKN;;UAGM,UAAA;;;;;;;UAQA,WAAA;;;;;gBAKD"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;;UAEiB,eAAA;EACf,IAAA;EACA,QAAA;EACA,MAAA;EACA,QAAA;EACA,UAAA;AAAA;AAAA,UAGe,YAAA;EACf,KAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,WAAA;EACA,eAAA;EACA,QAAA,EAAU,eAAA;EACV,YAAA;EACA,UAAA;IAAe,KAAA;IAAe,GAAA;EAAA;AAAA;AAAA,UAGf,YAAA;EACf,OAAA;EACA,IAAA;EACA,OAAA;EACA,GAAA;AAAA;AAAA,UAGe,gBAAA;EACf,KAAA;EACA,QAAA;EACA,KAAA;EACA,QAAA,EAAU,YAAA;EACV,KAAA;AAAA;AAAA,UAGe,gBAAA;EACf,GAAA,GAAM,WAAA;EACN,KAAA;EACA,WAAA;AAAA;AAAA,UAGe,kBAAA;EACf,KAAA,EAAO,YAAA;EACP,OAAA;EACA,UAAA;AAAA;AAAA,UAGe,UAAA;EACf,OAAA;EACA,WAAA;EACA,IAAA;EACA,GAAA;EACA,OAAA,EAAS,kBAAA;AAAA;AAAA,UAGM,UAAA;EACf,OAAA;EACA,IAAA;EACA,QAAA;EACA,GAAA;EACA,IAAA;AAAA;AAAA,UAGe,WAAA;EACf,SAAA;EACA,eAAA;EACA,QAAA;EACA,IAAA;EACA,YAAA,EAAc,MAAA;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contractspec/lib.content-gen",
3
- "version": "1.56.0",
3
+ "version": "1.57.0",
4
4
  "description": "AI-powered content generation for blog, email, and social",
5
5
  "keywords": [
6
6
  "contractspec",
@@ -30,12 +30,12 @@
30
30
  "test": "bun test"
31
31
  },
32
32
  "dependencies": {
33
- "@contractspec/lib.contracts": "1.56.0"
33
+ "@contractspec/lib.contracts": "1.57.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@contractspec/tool.tsdown": "1.56.0",
37
- "@contractspec/tool.typescript": "1.56.0",
38
- "tsdown": "^0.19.0",
36
+ "@contractspec/tool.tsdown": "1.57.0",
37
+ "@contractspec/tool.typescript": "1.57.0",
38
+ "tsdown": "^0.20.3",
39
39
  "typescript": "^5.9.3"
40
40
  },
41
41
  "exports": {