@aeptus/aexeo-emdash 0.2.0 → 0.3.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.
@@ -169,6 +169,11 @@ function documentKey(route) {
169
169
  const normalized = route === "" || route === "/" ? "/" : route;
170
170
  return `document:${normalized}`;
171
171
  }
172
+ var FACTS_KEY = "facts:current";
173
+ async function readStoredFacts(kv) {
174
+ const stored = await kv.get(FACTS_KEY);
175
+ return stored === void 0 ? null : stored;
176
+ }
172
177
  async function readAllDocuments(kv) {
173
178
  return (await readAllStoredDocuments(kv)).map((s) => s.document);
174
179
  }
@@ -206,97 +211,6 @@ async function readFindings(kv, route) {
206
211
  return stored.findings;
207
212
  }
208
213
 
209
- // src/data-route.ts
210
- async function handleDataRoute(ctx, options) {
211
- let summary = null;
212
- if (options.refresh) {
213
- summary = await evaluateAndPersistAll(ctx, {
214
- collections: options.collections,
215
- evaluator: options.evaluator
216
- });
217
- }
218
- const payload = await buildFindingsPayload(ctx);
219
- return { payload, summary };
220
- }
221
- async function buildFindingsPayload(ctx) {
222
- const stored = await readAllStoredDocuments(ctx.kv);
223
- const documents = /* @__PURE__ */ new Map();
224
- for (const entry of stored) {
225
- documents.set(entry.document.route, entry);
226
- }
227
- const entries = await ctx.kv.list(
228
- "findings:"
229
- );
230
- const findings = [];
231
- const sitewide = [];
232
- const perRoute = /* @__PURE__ */ new Map();
233
- for (const entry of entries) {
234
- if (entry.value === null) continue;
235
- const route = entry.key.replace(/^findings:/, "");
236
- if (route === "*") {
237
- sitewide.push(...entry.value.findings);
238
- continue;
239
- }
240
- let bucket = perRoute.get(route);
241
- if (bucket === void 0) {
242
- bucket = { findings: [], errors: 0, warnings: 0 };
243
- perRoute.set(route, bucket);
244
- }
245
- for (const finding of entry.value.findings) {
246
- bucket.findings.push(finding);
247
- if (finding.severity === "error") bucket.errors += 1;
248
- else if (finding.severity === "warning") bucket.warnings += 1;
249
- findings.push({ ...finding, route });
250
- }
251
- }
252
- findings.sort((a, b) => severityRank(a.severity) - severityRank(b.severity));
253
- const siteUrl = ctx.site?.url ?? "";
254
- const routes = [];
255
- for (const [route, bucket] of perRoute) {
256
- const stored2 = documents.get(route);
257
- routes.push({
258
- route,
259
- title: stored2?.meta.title ?? route,
260
- status: stored2?.meta.status ?? "",
261
- collection: stored2?.meta.collection ?? "",
262
- id: stored2?.meta.id ?? "",
263
- editUrl: stored2 ? buildEditUrl(stored2.meta) : "",
264
- publishedUrl: stored2 ? buildPublishedUrl(stored2.meta, route, siteUrl) : "",
265
- findingCount: bucket.findings.length,
266
- errorCount: bucket.errors,
267
- warningCount: bucket.warnings
268
- });
269
- }
270
- routes.sort((a, b) => b.errorCount - a.errorCount || a.route.localeCompare(b.route));
271
- return {
272
- routes,
273
- findings,
274
- totals: {
275
- routes: routes.length,
276
- findings: findings.length,
277
- errors: findings.filter((f) => f.severity === "error").length,
278
- warnings: findings.filter((f) => f.severity === "warning").length,
279
- documentsIndexed: documents.size
280
- },
281
- sitewideFindings: sitewide
282
- };
283
- }
284
- function severityRank(severity) {
285
- if (severity === "error") return 0;
286
- if (severity === "warning") return 1;
287
- return 2;
288
- }
289
- function buildEditUrl(meta) {
290
- if (meta.collection === "" || meta.id === "") return "";
291
- return `/_emdash/admin/content/${encodeURIComponent(meta.collection)}/${encodeURIComponent(meta.id)}`;
292
- }
293
- function buildPublishedUrl(meta, route, siteUrl) {
294
- if (meta.status !== "published") return "";
295
- if (siteUrl === "") return "";
296
- const trimmed = siteUrl.endsWith("/") ? siteUrl.slice(0, -1) : siteUrl;
297
- return `${trimmed}${route}`;
298
- }
299
-
300
214
  // wasm/aexeo_emdash_bridge_bg.js
301
215
  var aexeo_emdash_bridge_bg_exports = {};
302
216
  __export(aexeo_emdash_bridge_bg_exports, {
@@ -304,7 +218,9 @@ __export(aexeo_emdash_bridge_bg_exports, {
304
218
  __wbg_set_wasm: () => __wbg_set_wasm,
305
219
  __wbindgen_init_externref_table: () => __wbindgen_init_externref_table,
306
220
  evaluateDocuments: () => evaluateDocuments,
307
- scoreIntelligence: () => scoreIntelligence
221
+ generateFactsPrompt: () => generateFactsPrompt,
222
+ scoreIntelligence: () => scoreIntelligence,
223
+ validateFactsManifest: () => validateFactsManifest
308
224
  });
309
225
  function evaluateDocuments(documents_json, config_json) {
310
226
  let deferred4_0;
@@ -329,13 +245,13 @@ function evaluateDocuments(documents_json, config_json) {
329
245
  wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
330
246
  }
331
247
  }
332
- function scoreIntelligence(documents_json) {
248
+ function generateFactsPrompt(documents_json) {
333
249
  let deferred3_0;
334
250
  let deferred3_1;
335
251
  try {
336
252
  const ptr0 = passStringToWasm0(documents_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
337
253
  const len0 = WASM_VECTOR_LEN;
338
- const ret = wasm.scoreIntelligence(ptr0, len0);
254
+ const ret = wasm.generateFactsPrompt(ptr0, len0);
339
255
  var ptr2 = ret[0];
340
256
  var len2 = ret[1];
341
257
  if (ret[3]) {
@@ -350,6 +266,52 @@ function scoreIntelligence(documents_json) {
350
266
  wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
351
267
  }
352
268
  }
269
+ function scoreIntelligence(documents_json, manifest_json) {
270
+ let deferred4_0;
271
+ let deferred4_1;
272
+ try {
273
+ const ptr0 = passStringToWasm0(documents_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
274
+ const len0 = WASM_VECTOR_LEN;
275
+ var ptr1 = isLikeNone(manifest_json) ? 0 : passStringToWasm0(manifest_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
276
+ var len1 = WASM_VECTOR_LEN;
277
+ const ret = wasm.scoreIntelligence(ptr0, len0, ptr1, len1);
278
+ var ptr3 = ret[0];
279
+ var len3 = ret[1];
280
+ if (ret[3]) {
281
+ ptr3 = 0;
282
+ len3 = 0;
283
+ throw takeFromExternrefTable0(ret[2]);
284
+ }
285
+ deferred4_0 = ptr3;
286
+ deferred4_1 = len3;
287
+ return getStringFromWasm0(ptr3, len3);
288
+ } finally {
289
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
290
+ }
291
+ }
292
+ function validateFactsManifest(manifest_json, documents_json) {
293
+ let deferred4_0;
294
+ let deferred4_1;
295
+ try {
296
+ const ptr0 = passStringToWasm0(manifest_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
297
+ const len0 = WASM_VECTOR_LEN;
298
+ const ptr1 = passStringToWasm0(documents_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
299
+ const len1 = WASM_VECTOR_LEN;
300
+ const ret = wasm.validateFactsManifest(ptr0, len0, ptr1, len1);
301
+ var ptr3 = ret[0];
302
+ var len3 = ret[1];
303
+ if (ret[3]) {
304
+ ptr3 = 0;
305
+ len3 = 0;
306
+ throw takeFromExternrefTable0(ret[2]);
307
+ }
308
+ deferred4_0 = ptr3;
309
+ deferred4_1 = len3;
310
+ return getStringFromWasm0(ptr3, len3);
311
+ } finally {
312
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
313
+ }
314
+ }
353
315
  function __wbg_Error_960c155d3d49e4c2(arg0, arg1) {
354
316
  const ret = Error(getStringFromWasm0(arg0, arg1));
355
317
  return ret;
@@ -465,11 +427,306 @@ async function evaluateDocuments2(documentsJson, configJson) {
465
427
  ensureInitialized();
466
428
  return evaluateDocuments(documentsJson, configJson);
467
429
  }
468
- async function scoreIntelligence2(documentsJson) {
430
+ async function scoreIntelligence2(documentsJson, manifestJson) {
431
+ ensureInitialized();
432
+ return scoreIntelligence(documentsJson, manifestJson ?? void 0);
433
+ }
434
+ async function generateFactsPrompt2(documentsJson) {
469
435
  ensureInitialized();
470
- return scoreIntelligence(documentsJson);
436
+ return generateFactsPrompt(documentsJson);
437
+ }
438
+ async function validateFactsManifest2(manifestJson, documentsJson) {
439
+ ensureInitialized();
440
+ return validateFactsManifest(manifestJson, documentsJson);
441
+ }
442
+
443
+ // src/data-route.ts
444
+ async function handleDataRoute(ctx, options) {
445
+ let summary = null;
446
+ if (options.refresh) {
447
+ summary = await evaluateAndPersistAll(ctx, {
448
+ collections: options.collections,
449
+ evaluator: options.evaluator
450
+ });
451
+ await persistManifestStateFindings(ctx);
452
+ }
453
+ const payload = await buildFindingsPayload(ctx);
454
+ return { payload, summary };
455
+ }
456
+ async function buildFindingsPayload(ctx) {
457
+ const stored = await readAllStoredDocuments(ctx.kv);
458
+ const documents = /* @__PURE__ */ new Map();
459
+ for (const entry of stored) {
460
+ documents.set(entry.document.route, entry);
461
+ }
462
+ const entries = await ctx.kv.list(
463
+ "findings:"
464
+ );
465
+ const findings = [];
466
+ const sitewide = [];
467
+ const perRoute = /* @__PURE__ */ new Map();
468
+ for (const entry of entries) {
469
+ if (entry.value === null) continue;
470
+ const route = entry.key.replace(/^findings:/, "");
471
+ if (route === "*") {
472
+ sitewide.push(...entry.value.findings);
473
+ continue;
474
+ }
475
+ let bucket = perRoute.get(route);
476
+ if (bucket === void 0) {
477
+ bucket = { findings: [], errors: 0, warnings: 0 };
478
+ perRoute.set(route, bucket);
479
+ }
480
+ for (const finding of entry.value.findings) {
481
+ bucket.findings.push(finding);
482
+ if (finding.severity === "error") bucket.errors += 1;
483
+ else if (finding.severity === "warning") bucket.warnings += 1;
484
+ findings.push({ ...finding, route });
485
+ }
486
+ }
487
+ findings.sort((a, b) => severityRank(a.severity) - severityRank(b.severity));
488
+ const siteUrl = ctx.site?.url ?? "";
489
+ const routes = [];
490
+ for (const [route, bucket] of perRoute) {
491
+ const stored2 = documents.get(route);
492
+ routes.push({
493
+ route,
494
+ title: stored2?.meta.title ?? route,
495
+ status: stored2?.meta.status ?? "",
496
+ collection: stored2?.meta.collection ?? "",
497
+ id: stored2?.meta.id ?? "",
498
+ editUrl: stored2 ? buildEditUrl(stored2.meta) : "",
499
+ publishedUrl: stored2 ? buildPublishedUrl(stored2.meta, route, siteUrl) : "",
500
+ findingCount: bucket.findings.length,
501
+ errorCount: bucket.errors,
502
+ warningCount: bucket.warnings
503
+ });
504
+ }
505
+ routes.sort((a, b) => b.errorCount - a.errorCount || a.route.localeCompare(b.route));
506
+ const cached = await ctx.kv.get(
507
+ MANIFEST_FINDINGS_KEY
508
+ );
509
+ if (cached !== void 0 && cached !== null) {
510
+ sitewide.push(...cached.findings);
511
+ }
512
+ return {
513
+ routes,
514
+ findings,
515
+ totals: {
516
+ routes: routes.length,
517
+ findings: findings.length,
518
+ errors: findings.filter((f) => f.severity === "error").length,
519
+ warnings: findings.filter((f) => f.severity === "warning").length,
520
+ documentsIndexed: documents.size
521
+ },
522
+ sitewideFindings: sitewide
523
+ };
524
+ }
525
+ var MANIFEST_FINDINGS_KEY = "meta:facts-findings";
526
+ async function persistManifestStateFindings(ctx) {
527
+ const findings = await deriveManifestStateFindings(ctx);
528
+ await ctx.kv.set(MANIFEST_FINDINGS_KEY, { findings });
529
+ }
530
+ async function deriveManifestStateFindings(ctx) {
531
+ const manifest = await readStoredFacts(ctx.kv);
532
+ if (manifest === null) {
533
+ return [
534
+ {
535
+ rule_id: "FACTS001",
536
+ message: "No truth manifest authored yet. Open the Truth manifest page to generate an LLM authoring prompt and save your facts.json.",
537
+ severity: "warning",
538
+ path: "",
539
+ line: 0,
540
+ column: 0,
541
+ scope: "sitewide",
542
+ suggestion: null
543
+ }
544
+ ];
545
+ }
546
+ const documents = await readAllDocuments(ctx.kv);
547
+ if (documents.length === 0) {
548
+ return [];
549
+ }
550
+ try {
551
+ const raw = await validateFactsManifest2(
552
+ JSON.stringify(manifest),
553
+ JSON.stringify(documents)
554
+ );
555
+ const result = JSON.parse(raw);
556
+ const out = [];
557
+ if (!result.validation.valid || result.validation.errors.length > 0) {
558
+ out.push({
559
+ rule_id: "FACTS001",
560
+ message: `Truth manifest fails shape validation: ${result.validation.errors.slice(0, 3).join("; ")}`,
561
+ severity: "error",
562
+ path: "",
563
+ line: 0,
564
+ column: 0,
565
+ scope: "sitewide",
566
+ suggestion: null
567
+ });
568
+ }
569
+ const errCount = result.assessment.mismatches.filter(
570
+ (m) => m.severity === "error"
571
+ ).length;
572
+ const warnCount = result.assessment.mismatches.length - errCount;
573
+ if (result.assessment.mismatches.length > 0) {
574
+ out.push({
575
+ rule_id: "FACTS003",
576
+ message: `Truth manifest disagrees with on-page schema.org: ${errCount} errors, ${warnCount} warnings. Open the Truth manifest page to review and refresh.`,
577
+ severity: errCount > 0 ? "error" : "warning",
578
+ path: "",
579
+ line: 0,
580
+ column: 0,
581
+ scope: "sitewide",
582
+ suggestion: null
583
+ });
584
+ }
585
+ return out;
586
+ } catch {
587
+ return [];
588
+ }
589
+ }
590
+ function severityRank(severity) {
591
+ if (severity === "error") return 0;
592
+ if (severity === "warning") return 1;
593
+ return 2;
594
+ }
595
+ function buildEditUrl(meta) {
596
+ if (meta.collection === "" || meta.id === "") return "";
597
+ return `/_emdash/admin/content/${encodeURIComponent(meta.collection)}/${encodeURIComponent(meta.id)}`;
598
+ }
599
+ function buildPublishedUrl(meta, route, siteUrl) {
600
+ if (meta.status !== "published") return "";
601
+ if (siteUrl === "") return "";
602
+ const trimmed = siteUrl.endsWith("/") ? siteUrl.slice(0, -1) : siteUrl;
603
+ return `${trimmed}${route}`;
471
604
  }
472
605
 
606
+ // src/facts-route.ts
607
+ async function handleFactsRoute(ctx) {
608
+ const body = ctx.input ?? {};
609
+ switch (body.kind) {
610
+ case "data":
611
+ return await handleData(ctx);
612
+ case "prompt":
613
+ return await handlePrompt(ctx);
614
+ case "validate":
615
+ return await handleValidate(ctx, body);
616
+ case "save":
617
+ return await handleSave(ctx, body);
618
+ default:
619
+ return {
620
+ error: {
621
+ code: "unknown_kind",
622
+ message: `unknown facts route kind: ${String(body.kind)}`
623
+ }
624
+ };
625
+ }
626
+ }
627
+ async function handleData(ctx) {
628
+ const manifest = await readStoredFacts(ctx.kv);
629
+ return {
630
+ data: {
631
+ manifest,
632
+ // The presence flag lets the React component branch on
633
+ // "show authoring CTA" vs "show 'manifest stored' state" without
634
+ // having to introspect the manifest shape.
635
+ present: manifest !== null
636
+ }
637
+ };
638
+ }
639
+ async function handlePrompt(ctx) {
640
+ const documents = await readAllDocuments(ctx.kv);
641
+ if (documents.length === 0) {
642
+ return {
643
+ error: {
644
+ code: "no_documents",
645
+ message: "no documents indexed yet \u2014 click Refresh on the Findings page first, then come back to author the manifest"
646
+ }
647
+ };
648
+ }
649
+ const prompt = await generateFactsPrompt2(JSON.stringify(documents));
650
+ return { data: { prompt } };
651
+ }
652
+ async function handleValidate(ctx, body) {
653
+ if (typeof body.manifest_json !== "string" || body.manifest_json.length === 0) {
654
+ return {
655
+ error: {
656
+ code: "missing_manifest",
657
+ message: "manifest_json field is required"
658
+ }
659
+ };
660
+ }
661
+ const documents = await readAllDocuments(ctx.kv);
662
+ try {
663
+ const raw = await validateFactsManifest2(
664
+ body.manifest_json,
665
+ JSON.stringify(documents)
666
+ );
667
+ return { data: JSON.parse(raw) };
668
+ } catch (error) {
669
+ return {
670
+ error: {
671
+ code: "validate_failed",
672
+ message: error instanceof Error ? error.message : String(error)
673
+ }
674
+ };
675
+ }
676
+ }
677
+ async function handleSave(ctx, body) {
678
+ if (typeof body.manifest_json !== "string" || body.manifest_json.length === 0) {
679
+ return {
680
+ error: {
681
+ code: "missing_manifest",
682
+ message: "manifest_json field is required"
683
+ }
684
+ };
685
+ }
686
+ const documents = await readAllDocuments(ctx.kv);
687
+ let validation;
688
+ try {
689
+ const raw = await validateFactsManifest2(
690
+ body.manifest_json,
691
+ JSON.stringify(documents)
692
+ );
693
+ const parsed2 = JSON.parse(raw);
694
+ validation = parsed2.validation;
695
+ } catch (error) {
696
+ return {
697
+ error: {
698
+ code: "validate_failed",
699
+ message: error instanceof Error ? error.message : String(error)
700
+ }
701
+ };
702
+ }
703
+ if (!validation.valid || validation.errors.length > 0) {
704
+ return {
705
+ error: {
706
+ code: "validation_failed",
707
+ message: `manifest does not pass shape validation: ${validation.errors.slice(0, 3).join("; ")}`
708
+ }
709
+ };
710
+ }
711
+ let parsed;
712
+ try {
713
+ parsed = JSON.parse(body.manifest_json);
714
+ } catch (error) {
715
+ return {
716
+ error: {
717
+ code: "parse_failed",
718
+ message: error instanceof Error ? error.message : String(error)
719
+ }
720
+ };
721
+ }
722
+ await ctx.kv.set(FACTS_KEY, parsed);
723
+ await persistManifestStateFindings(ctx);
724
+ return { data: { saved: true } };
725
+ }
726
+
727
+ // src/version.ts
728
+ var PACKAGE_VERSION = "0.3.0";
729
+
473
730
  // src/configured.ts
474
731
  import { definePlugin } from "emdash";
475
732
  var inProcessEvaluator = async (documents) => {
@@ -493,7 +750,7 @@ function createPlugin(options = {}) {
493
750
  const collections = options.collections === void 0 ? DEFAULT_COLLECTIONS : [...options.collections];
494
751
  return definePlugin({
495
752
  id: "aexeo-seogeo",
496
- version: "0.0.1",
753
+ version: PACKAGE_VERSION,
497
754
  capabilities: ["read:content"],
498
755
  hooks: {
499
756
  // afterSave processes one saved document at a time — collections
@@ -528,6 +785,13 @@ function createPlugin(options = {}) {
528
785
  evaluator: inProcessEvaluator,
529
786
  refresh: true
530
787
  })
788
+ },
789
+ // /facts route serves the truth-manifest authoring UI. It
790
+ // multiplexes four operations (data / prompt / validate / save)
791
+ // onto one POST endpoint via a "kind" body field — see
792
+ // facts-route.ts for the full contract.
793
+ facts: {
794
+ handler: (ctx) => handleFactsRoute(ctx)
531
795
  }
532
796
  },
533
797
  admin: {
@@ -538,7 +802,8 @@ function createPlugin(options = {}) {
538
802
  // duplicate "SEO findings" sidebar entries — that was the
539
803
  // visible 0.1.0 / 0.1.1 bug fixed in 0.1.2.
540
804
  { path: "/findings", label: "SEO findings" },
541
- { path: "/document", label: "Document SEO" }
805
+ { path: "/document", label: "Document SEO" },
806
+ { path: "/facts", label: "Truth manifest" }
542
807
  ],
543
808
  widgets: [
544
809
  { id: "seogeo-score", size: "third", title: "SEO score" }
@@ -733,14 +998,16 @@ async function renderScoreWidget(ctx) {
733
998
  ]
734
999
  };
735
1000
  }
736
- const score = await scoreLocally(documents);
1001
+ const facts = await readStoredFacts(ctx.kv);
1002
+ const score = await scoreLocally(documents, facts);
1003
+ const truthLabel = formatTruthLabel(score);
737
1004
  const blocks = [
738
1005
  {
739
1006
  type: "stats",
740
1007
  items: [
741
1008
  { label: "Overall", value: `${score.overall_score}` },
742
1009
  { label: "Citation", value: `${score.citation_readiness_score}` },
743
- { label: "Truth", value: `${score.truth_consistency_score}` },
1010
+ { label: truthLabel, value: `${score.truth_consistency_score}` },
744
1011
  { label: "Answers", value: `${score.answer_pack_score}` }
745
1012
  ]
746
1013
  }
@@ -757,10 +1024,25 @@ async function renderScoreWidget(ctx) {
757
1024
  }
758
1025
  return { blocks };
759
1026
  }
760
- async function scoreLocally(documents) {
761
- const raw = await scoreIntelligence2(JSON.stringify(documents));
1027
+ async function scoreLocally(documents, manifest = null) {
1028
+ const manifestJson = manifest === null ? null : JSON.stringify(manifest);
1029
+ const raw = await scoreIntelligence2(JSON.stringify(documents), manifestJson);
762
1030
  return JSON.parse(raw);
763
1031
  }
1032
+ function formatTruthLabel(score) {
1033
+ switch (score.structured_truth_source) {
1034
+ case "schema_and_manifest":
1035
+ return "Truth (manifest+schema)";
1036
+ case "manifest":
1037
+ return "Truth (manifest only)";
1038
+ case "schema":
1039
+ return "Truth (schema only)";
1040
+ case "none":
1041
+ return "Truth (no signal)";
1042
+ default:
1043
+ return "Truth";
1044
+ }
1045
+ }
764
1046
  function topBlockersLine(score) {
765
1047
  const top = score.blockers.slice(0, 3).map((b) => b.message);
766
1048
  if (top.length === 0) return "No blockers identified.";
@@ -44,5 +44,6 @@ export declare function handleDataRoute(ctx: SandboxCtx, options: DataRouteOptio
44
44
  payload: FindingsPayload;
45
45
  summary: RefreshSummary | null;
46
46
  }>;
47
+ export declare function persistManifestStateFindings(ctx: SandboxCtx): Promise<void>;
47
48
  export {};
48
49
  //# sourceMappingURL=data-route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-route.d.ts","sourceRoot":"","sources":["../src/data-route.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,UAAU,EAEX,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAK1C,MAAM,WAAW,eAAe;IAG9B,MAAM,EAAE,YAAY,EAAE,CAAC;IAIvB,QAAQ,EAAE,UAAU,EAAE,CAAC;IAIvB,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAIF,gBAAgB,EAAE,OAAO,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IAIX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,WAAW,CAAC;IAIvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC;IACT,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAChC,CAAC,CAUD"}
1
+ {"version":3,"file":"data-route.d.ts","sourceRoot":"","sources":["../src/data-route.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,UAAU,EAEX,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAM1C,MAAM,WAAW,eAAe;IAG9B,MAAM,EAAE,YAAY,EAAE,CAAC;IAIvB,QAAQ,EAAE,UAAU,EAAE,CAAC;IAIvB,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAIF,gBAAgB,EAAE,OAAO,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IAIX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,WAAW,CAAC;IAIvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC;IACT,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAChC,CAAC,CAgBD;AAgGD,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,IAAI,CAAC,CAGf"}
@@ -0,0 +1,7 @@
1
+ import type { SandboxCtx } from "./plugin.js";
2
+ interface RouteContext extends SandboxCtx {
3
+ input?: unknown;
4
+ }
5
+ export declare function handleFactsRoute(ctx: RouteContext): Promise<unknown>;
6
+ export {};
7
+ //# sourceMappingURL=facts-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facts-route.d.ts","sourceRoot":"","sources":["../src/facts-route.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAa9C,UAAU,YAAa,SAAQ,UAAU;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAmB1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAWtB,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IAOnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,YAAY,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxE;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAED,wBAAgB,YAAY,CAC1B,OAAO,GAAE,mBAAwB,GAChC,0BAA0B,CA+C5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAYtB,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IAOnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,YAAY,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxE;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAED,wBAAgB,YAAY,CAC1B,OAAO,GAAE,mBAAwB,GAChC,0BAA0B,CA+C5B"}
package/dist/index.js CHANGED
@@ -22,12 +22,15 @@ function buildAllowedHosts(evaluatorHost) {
22
22
  return hosts;
23
23
  }
24
24
 
25
+ // src/version.ts
26
+ var PACKAGE_VERSION = "0.3.0";
27
+
25
28
  // src/sandbox.ts
26
29
  function seogeoPluginSandboxed(options = {}) {
27
30
  const evaluatorHost = options.evaluatorHost ?? process.env.SEOGEO_EVALUATOR_HOST ?? null;
28
31
  return {
29
32
  id: "aexeo-seogeo",
30
- version: "0.0.1",
33
+ version: PACKAGE_VERSION,
31
34
  // Subpath export of this same package; must match package.json
32
35
  // `exports["./sandbox"]`.
33
36
  entrypoint: "@aeptus/aexeo-emdash/sandbox",
@@ -52,7 +55,7 @@ function seogeoPluginSandboxed(options = {}) {
52
55
  function seogeoPlugin(options = {}) {
53
56
  return {
54
57
  id: "aexeo-seogeo",
55
- version: "0.0.1",
58
+ version: PACKAGE_VERSION,
56
59
  // Subpath import resolved by the consumer's bundler at build
57
60
  // time — must match the package.json `exports["./configured"]`
58
61
  // entry.
package/dist/plugin.d.ts CHANGED
@@ -81,6 +81,8 @@ export declare function evaluateAndPersistAll(ctx: SandboxCtx, options: {
81
81
  }): Promise<RefreshSummary>;
82
82
  export declare function findingsKey(route: string): string;
83
83
  export declare function documentKey(route: string): string;
84
+ export declare const FACTS_KEY = "facts:current";
85
+ export declare function readStoredFacts(kv: KvNamespace): Promise<unknown | null>;
84
86
  export declare function readAllDocuments(kv: KvNamespace): Promise<EmdashDocument[]>;
85
87
  export declare function readAllStoredDocuments(kv: KvNamespace): Promise<StoredDocument[]>;
86
88
  export declare function readFindings(kv: KvNamespace, route: string): Promise<Finding[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAGvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAOhD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAqCD,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,SAAS,MAAM,EAAE,CAKnB;AASD,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,SAAS,MAAM,EAAE,CAMnB;AAKD,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAAqB,CAAC;AAWhE,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,OAAO;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC3D;AAcD,eAAO,MAAM,cAAc,yBAAyB,CAAC;AACrD,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAUtC;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAGf;AAOD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CACF,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GACzC,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAK3B,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,GAAG,CAAC,EAAE;QACJ,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KAC1C,CAAC;CACH;AAOD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB;AA0BD,wBAAsB,eAAe,CACnC,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAEf;AAMD,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC,CAgCf;AAMD,eAAO,MAAM,mBAAmB,6BAA8B,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAKD,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,GACjC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAelD,MAAM,MAAM,WAAW,GAAG,CACxB,SAAS,EAAE,SAAS,cAAc,EAAE,KACjC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAMhC,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,UAAU,EACf,OAAO,EAAE;IAAE,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,WAAW,CAAA;CAAE,GACnE,OAAO,CAAC,cAAc,CAAC,CAwFzB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,cAAc,EAAE,CAAC,CAE3B;AAED,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,cAAc,EAAE,CAAC,CA+B3B;AAED,wBAAsB,YAAY,CAChC,EAAE,EAAE,WAAW,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,EAAE,CAAC,CAMpB"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IAGnB,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAGxC,YAAY,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC5C,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAeD,MAAM,WAAW,sBAAsB;IAgBrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,sBAA2B,GACnC,yBAAyB,CAwB3B"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IAGnB,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAGxC,YAAY,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC5C,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAeD,MAAM,WAAW,sBAAsB;IAgBrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,sBAA2B,GACnC,yBAAyB,CAwB3B"}