sproutkit-code 1.11.0 → 1.11.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.
Files changed (2) hide show
  1. package/dist/index.js +67 -4
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -81604,6 +81604,7 @@ var require_builder = __commonJS({
81604
81604
  var sdk_1 = __importDefault(require_sdk());
81605
81605
  var axios_1 = __importDefault(require_axios());
81606
81606
  var crypto_1 = require("crypto");
81607
+ var vm = __importStar(require("vm"));
81607
81608
  var runtime_1 = require_runtime();
81608
81609
  var db_1 = require_db();
81609
81610
  var llm_1 = require_llm();
@@ -81617,6 +81618,58 @@ var require_builder = __commonJS({
81617
81618
  var analytics_runtime_1 = require_analytics_runtime();
81618
81619
  var cms_runtime_1 = require_cms_runtime();
81619
81620
  var booking_runtime_1 = require_booking_runtime();
81621
+ function storedSetting(key) {
81622
+ try {
81623
+ const row = (0, db_1.getDb)().get("SELECT value FROM settings WHERE key = ?", [key]);
81624
+ return row ? (0, runtime_1.decryptSettingValue)(key, row.value) : null;
81625
+ } catch {
81626
+ return null;
81627
+ }
81628
+ }
81629
+ function extractFallback(code) {
81630
+ const m = /const\s+FALLBACK\s*=\s*\{/.exec(code);
81631
+ if (!m)
81632
+ return null;
81633
+ const start = m.index + m[0].length - 1;
81634
+ let depth = 0;
81635
+ let quote = null;
81636
+ for (let i = start; i < code.length; i++) {
81637
+ const ch = code[i];
81638
+ if (quote) {
81639
+ if (ch === "\\")
81640
+ i++;
81641
+ else if (ch === quote)
81642
+ quote = null;
81643
+ continue;
81644
+ }
81645
+ if (ch === "/" && code[i + 1] === "/") {
81646
+ i = code.indexOf("\n", i);
81647
+ if (i < 0)
81648
+ return null;
81649
+ continue;
81650
+ }
81651
+ if (ch === "/" && code[i + 1] === "*") {
81652
+ i = code.indexOf("*/", i) + 1;
81653
+ if (i <= 0)
81654
+ return null;
81655
+ continue;
81656
+ }
81657
+ if (ch === '"' || ch === "'" || ch === "`")
81658
+ quote = ch;
81659
+ else if (ch === "{")
81660
+ depth++;
81661
+ else if (ch === "}" && --depth === 0) {
81662
+ try {
81663
+ const v = vm.runInNewContext("(" + code.slice(start, i + 1) + ")", /* @__PURE__ */ Object.create(null), { timeout: 100 });
81664
+ const json = JSON.parse(JSON.stringify(v));
81665
+ return json && typeof json === "object" && json.business ? json : null;
81666
+ } catch {
81667
+ return null;
81668
+ }
81669
+ }
81670
+ }
81671
+ return null;
81672
+ }
81620
81673
  function siteUidFor(leadId) {
81621
81674
  const db2 = (0, db_1.getDb)();
81622
81675
  const row = db2.get("SELECT site_uid FROM leads WHERE id = ?", [leadId]);
@@ -81901,7 +81954,9 @@ var require_builder = __commonJS({
81901
81954
  }
81902
81955
  }
81903
81956
  async function buildAndDeploySite(args) {
81904
- const { lead, anthropicKey, vercelToken, placesKey, customInstructions, onProgress, includeCms, blobToken, reuseAdminPassword, skipContentExtraction, multipage, pages, skipQa } = args;
81957
+ const { lead, anthropicKey, vercelToken, placesKey, customInstructions, onProgress, reuseAdminPassword, skipContentExtraction, multipage, pages, skipQa } = args;
81958
+ const blobToken = args.blobToken ?? storedSetting("blob_token");
81959
+ const includeCms = args.includeCms ?? (!!blobToken && storedSetting("build_with_editor") !== "0");
81905
81960
  const pageList = multipage && (!pages || pages.length === 0) ? ["Home", "Services", "About", "Contact"] : pages ?? [];
81906
81961
  const credit = (0, agency_1.siteCredit)();
81907
81962
  const footerCredit = credit.url ? `Built by ${credit.label} \xB7 ${credit.url}` : `Built by ${credit.label}`;
@@ -82369,7 +82424,15 @@ export default defineConfig({ plugins: [react()] });`;
82369
82424
  theme: { variant: "premium-dark", accent: "#22c55e" },
82370
82425
  photos: photosArr
82371
82426
  };
82372
- const initialContent = cmsSeedContent ? {
82427
+ const fromCode = cmsSeedContent ? null : extractFallback(appCode);
82428
+ const initialContent = fromCode ? {
82429
+ ...defaultContent,
82430
+ ...fromCode,
82431
+ business: { ...defaultContent.business, ...fromCode.business },
82432
+ hero: { ...defaultContent.hero, ...fromCode.hero },
82433
+ contact: { ...defaultContent.contact, ...fromCode.contact },
82434
+ photos: photosArr
82435
+ } : cmsSeedContent ? {
82373
82436
  ...defaultContent,
82374
82437
  ...cmsSeedContent,
82375
82438
  business: {
@@ -98617,7 +98680,7 @@ var require_auto_mode = __commonJS({
98617
98680
  }
98618
98681
  }
98619
98682
  });
98620
- db2.run("UPDATE leads SET site_url = ?, status = 'site_built', site_built_at = datetime('now') WHERE id = ?", [result.url, leadId]);
98683
+ db2.run("UPDATE leads SET site_url = ?, status = 'site_built', site_built_at = datetime('now'), admin_url = ?, admin_password = ? WHERE id = ?", [result.url, result.admin?.url ?? null, result.admin?.password ?? null, leadId]);
98621
98684
  state.status = "built";
98622
98685
  state.siteUrl = result.url;
98623
98686
  state.message = "Built";
@@ -99728,7 +99791,7 @@ var require_package2 = __commonJS({
99728
99791
  "package.json"(exports2, module2) {
99729
99792
  module2.exports = {
99730
99793
  name: "sproutkit-code",
99731
- version: "1.11.0",
99794
+ version: "1.11.1",
99732
99795
  description: "Sproutkit in your terminal \u2014 find leads, build sites, run outreach, all via chat.",
99733
99796
  bin: {
99734
99797
  sproutkit: "./dist/index.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sproutkit-code",
3
- "version": "1.11.0",
3
+ "version": "1.11.1",
4
4
  "description": "Sproutkit in your terminal — find leads, build sites, run outreach, all via chat.",
5
5
  "bin": {
6
6
  "sproutkit": "./dist/index.js"