scribe-cms 0.0.2 → 0.0.4

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 (58) hide show
  1. package/README.md +2 -3
  2. package/bin/scribe.js +2 -11
  3. package/dist/cli/index.cjs +1284 -171
  4. package/dist/cli/index.cjs.map +1 -1
  5. package/dist/cli/index.js +1284 -171
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/prompt-translate.d.ts +16 -0
  8. package/dist/cli/prompt-translate.d.ts.map +1 -0
  9. package/dist/cli/translate-progress.d.ts +11 -0
  10. package/dist/cli/translate-progress.d.ts.map +1 -0
  11. package/dist/index.cjs +479 -101
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.js +475 -102
  14. package/dist/index.js.map +1 -1
  15. package/dist/runtime.cjs +12 -2
  16. package/dist/runtime.cjs.map +1 -1
  17. package/dist/runtime.js +12 -2
  18. package/dist/runtime.js.map +1 -1
  19. package/dist/src/core/field.d.ts +2 -0
  20. package/dist/src/core/field.d.ts.map +1 -1
  21. package/dist/src/core/types.d.ts +1 -1
  22. package/dist/src/core/types.d.ts.map +1 -1
  23. package/dist/src/export/build-static-raw-exports.d.ts +37 -0
  24. package/dist/src/export/build-static-raw-exports.d.ts.map +1 -0
  25. package/dist/src/export/write-static-raw-exports.d.ts +12 -0
  26. package/dist/src/export/write-static-raw-exports.d.ts.map +1 -0
  27. package/dist/src/history/record-revision.d.ts +2 -0
  28. package/dist/src/history/record-revision.d.ts.map +1 -1
  29. package/dist/src/index.d.ts +7 -0
  30. package/dist/src/index.d.ts.map +1 -1
  31. package/dist/src/storage/sqlite.d.ts.map +1 -1
  32. package/dist/src/storage/translations.d.ts +6 -0
  33. package/dist/src/storage/translations.d.ts.map +1 -1
  34. package/dist/src/translate/gemini-client.d.ts +7 -0
  35. package/dist/src/translate/gemini-client.d.ts.map +1 -1
  36. package/dist/src/translate/gemini-models.d.ts +8 -0
  37. package/dist/src/translate/gemini-models.d.ts.map +1 -0
  38. package/dist/src/translate/gemini-pricing.d.ts +11 -0
  39. package/dist/src/translate/gemini-pricing.d.ts.map +1 -0
  40. package/dist/src/translate/page-translator.d.ts +38 -1
  41. package/dist/src/translate/page-translator.d.ts.map +1 -1
  42. package/dist/src/translate/prompts/translation-prompt.d.ts +1 -2
  43. package/dist/src/translate/prompts/translation-prompt.d.ts.map +1 -1
  44. package/dist/src/translate/response-schema.d.ts +7 -0
  45. package/dist/src/translate/response-schema.d.ts.map +1 -0
  46. package/dist/src/translate/validate-translation.d.ts +14 -0
  47. package/dist/src/translate/validate-translation.d.ts.map +1 -0
  48. package/dist/src/translate/worklist.d.ts +3 -0
  49. package/dist/src/translate/worklist.d.ts.map +1 -1
  50. package/dist/src/validate/validate-project.d.ts.map +1 -1
  51. package/dist/studio/server.cjs +611 -194
  52. package/dist/studio/server.cjs.map +1 -1
  53. package/dist/studio/server.d.ts +1 -1
  54. package/dist/studio/server.d.ts.map +1 -1
  55. package/dist/studio/server.js +611 -194
  56. package/dist/studio/server.js.map +1 -1
  57. package/package.json +16 -5
  58. package/bin/ensure-built.mjs +0 -31
package/dist/runtime.js CHANGED
@@ -409,7 +409,7 @@ function seoFieldsFromEn(enDoc) {
409
409
  redirectTo: enDoc.redirectTo
410
410
  };
411
411
  }
412
- var SCHEMA_VERSION = 2;
412
+ var SCHEMA_VERSION = 3;
413
413
  var MIGRATIONS = [
414
414
  `CREATE TABLE IF NOT EXISTS meta (
415
415
  key TEXT PRIMARY KEY,
@@ -466,17 +466,27 @@ function resolveStorePath(config) {
466
466
  }
467
467
  function openStore(config, mode = "readwrite") {
468
468
  const storePath = resolveStorePath(config);
469
- fs2.mkdirSync(path3.dirname(storePath), { recursive: true });
469
+ if (mode === "readwrite") {
470
+ fs2.mkdirSync(path3.dirname(storePath), { recursive: true });
471
+ }
470
472
  const db = new Database(storePath, { readonly: mode === "readonly" });
471
473
  if (mode === "readwrite") {
472
474
  migrate(db);
473
475
  }
474
476
  return db;
475
477
  }
478
+ function addColumnIfMissing(db, table, column, ddlType) {
479
+ const columns = db.prepare(`PRAGMA table_info(${table})`).all();
480
+ if (!columns.some((c) => c.name === column)) {
481
+ db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${ddlType}`);
482
+ }
483
+ }
476
484
  function migrate(db) {
477
485
  for (const sql of MIGRATIONS) {
478
486
  db.exec(sql);
479
487
  }
488
+ addColumnIfMissing(db, "revisions", "frontmatter_json", "TEXT");
489
+ addColumnIfMissing(db, "revisions", "body", "TEXT");
480
490
  db.prepare(
481
491
  `INSERT INTO meta(key, value) VALUES('schema_version', ?)
482
492
  ON CONFLICT(key) DO UPDATE SET value = excluded.value`