@aeptus/aexeo-emdash 0.8.16 → 0.8.18

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 (73) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/INSTALL.md +9 -10
  3. package/LICENSE +0 -0
  4. package/README.md +6 -3
  5. package/dist/adapter.d.ts +32 -1
  6. package/dist/adapter.d.ts.map +1 -1
  7. package/dist/admin/Absorbability.d.ts +0 -0
  8. package/dist/admin/Absorbability.d.ts.map +0 -0
  9. package/dist/admin/Accessibility.d.ts +0 -0
  10. package/dist/admin/Accessibility.d.ts.map +0 -0
  11. package/dist/admin/Citability.d.ts +0 -0
  12. package/dist/admin/Citability.d.ts.map +0 -0
  13. package/dist/admin/EntityLegitimacy.d.ts +0 -0
  14. package/dist/admin/EntityLegitimacy.d.ts.map +0 -0
  15. package/dist/admin/EntityPresence.d.ts +0 -0
  16. package/dist/admin/EntityPresence.d.ts.map +0 -0
  17. package/dist/admin/Facts.d.ts +0 -0
  18. package/dist/admin/Facts.d.ts.map +0 -0
  19. package/dist/admin/Findings.d.ts +0 -0
  20. package/dist/admin/Findings.d.ts.map +0 -0
  21. package/dist/admin/PillarView.d.ts +0 -0
  22. package/dist/admin/PillarView.d.ts.map +0 -0
  23. package/dist/admin/Retrievability.d.ts +0 -0
  24. package/dist/admin/Retrievability.d.ts.map +0 -0
  25. package/dist/admin.d.ts +0 -0
  26. package/dist/admin.d.ts.map +0 -0
  27. package/dist/admin.js +0 -0
  28. package/dist/configured.d.ts +0 -0
  29. package/dist/configured.d.ts.map +1 -1
  30. package/dist/configured.js +247 -60
  31. package/dist/data-route.d.ts +0 -0
  32. package/dist/data-route.d.ts.map +1 -1
  33. package/dist/evaluator-sandbox.d.ts +0 -0
  34. package/dist/evaluator-sandbox.d.ts.map +0 -0
  35. package/dist/evaluator.d.ts +0 -0
  36. package/dist/evaluator.d.ts.map +0 -0
  37. package/dist/facts-route.d.ts +0 -0
  38. package/dist/facts-route.d.ts.map +0 -0
  39. package/dist/index.d.ts +0 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +12 -22
  42. package/dist/indexnow.d.ts +0 -0
  43. package/dist/indexnow.d.ts.map +0 -0
  44. package/dist/mcp.d.ts +0 -0
  45. package/dist/mcp.d.ts.map +0 -0
  46. package/dist/plugin.d.ts +3 -1
  47. package/dist/plugin.d.ts.map +1 -1
  48. package/dist/presence-check.d.ts +0 -0
  49. package/dist/presence-check.d.ts.map +0 -0
  50. package/dist/presence-route.d.ts +0 -0
  51. package/dist/presence-route.d.ts.map +0 -0
  52. package/dist/sandbox-entry.d.ts +1 -1
  53. package/dist/sandbox-entry.d.ts.map +1 -1
  54. package/dist/sandbox-entry.js +363 -125
  55. package/dist/sandbox.d.ts +0 -0
  56. package/dist/sandbox.d.ts.map +1 -1
  57. package/dist/sidecar.d.ts +0 -0
  58. package/dist/sidecar.d.ts.map +1 -1
  59. package/dist/suppressions.d.ts +0 -0
  60. package/dist/suppressions.d.ts.map +0 -0
  61. package/dist/types.d.ts +0 -0
  62. package/dist/types.d.ts.map +0 -0
  63. package/dist/version.d.ts +1 -1
  64. package/dist/version.d.ts.map +0 -0
  65. package/dist/wasm-init.d.ts +0 -0
  66. package/dist/wasm-init.d.ts.map +0 -0
  67. package/package.json +8 -4
  68. package/wasm/aexeo_emdash_bridge.d.ts +0 -0
  69. package/wasm/aexeo_emdash_bridge.js +0 -0
  70. package/wasm/aexeo_emdash_bridge_bg.d.ts +0 -0
  71. package/wasm/aexeo_emdash_bridge_bg.js +0 -0
  72. package/wasm/aexeo_emdash_bridge_bg.wasm +0 -0
  73. package/wasm/aexeo_emdash_bridge_bg.wasm.d.ts +0 -0
@@ -5,15 +5,42 @@ var __export = (target, all) => {
5
5
  };
6
6
 
7
7
  // src/adapter.ts
8
- function adaptContentItem(content) {
9
- const route = deriveRoute(content);
8
+ async function adaptContentItemWithContext(content, contentApi, defaultLocale) {
9
+ const publicUrl = content.status === "published" ? await contentApi.getPublicUrl(content.type, content.id) : null;
10
+ const route = publicUrl === null ? deriveRoute(content) : routeFromPublicUrl(publicUrl);
11
+ const adapted = adaptContentItem(content, {
12
+ route,
13
+ publicUrl,
14
+ ...defaultLocale === void 0 ? {} : { defaultLocale }
15
+ });
16
+ const translationSet = await contentApi.getTranslations(
17
+ content.type,
18
+ content.id
19
+ );
20
+ const alternates = await Promise.all(
21
+ translationSet.translations.filter(
22
+ (translation) => translation.status === "published" && typeof translation.locale === "string" && translation.locale.length > 0
23
+ ).map(async (translation) => {
24
+ const href = translation.id === content.id ? publicUrl : await contentApi.getPublicUrl(content.type, translation.id);
25
+ if (href === null) return null;
26
+ return { lang: translation.locale, href };
27
+ })
28
+ );
29
+ const uniqueAlternates = /* @__PURE__ */ new Map();
30
+ for (const alternate of alternates) {
31
+ if (alternate !== null) uniqueAlternates.set(alternate.lang, alternate);
32
+ }
33
+ if (uniqueAlternates.size > 0) {
34
+ adapted.document.alternates = [...uniqueAlternates.values()];
35
+ }
36
+ return adapted;
37
+ }
38
+ function adaptContentItem(content, options = {}) {
39
+ const route = options.route ?? deriveRoute(content);
10
40
  const title = stringOrEmpty(
11
41
  content.seo?.title ?? content.data["title"] ?? content.slug ?? content.id
12
42
  );
13
- const document = {
14
- route,
15
- title
16
- };
43
+ const document = { route, title };
17
44
  const description = content.seo?.description ?? content.data["description"];
18
45
  if (typeof description === "string" && description.length > 0) {
19
46
  document.description = description;
@@ -22,13 +49,12 @@ function adaptContentItem(content) {
22
49
  if (typeof canonical === "string" && canonical.length > 0) {
23
50
  document.canonical = canonical;
24
51
  }
25
- if (content.locale !== null) {
26
- document.lang = content.locale;
52
+ const locale = content.locale || options.defaultLocale;
53
+ if (typeof locale === "string" && locale.length > 0) {
54
+ document.lang = locale;
27
55
  }
28
56
  const body = extractPortableText(content.data);
29
- if (body !== null) {
30
- document.body = body;
31
- }
57
+ if (body !== null) document.body = body;
32
58
  return {
33
59
  document,
34
60
  meta: {
@@ -36,49 +62,152 @@ function adaptContentItem(content) {
36
62
  collection: content.type,
37
63
  slug: content.slug,
38
64
  status: content.status,
39
- title
65
+ title,
66
+ publicUrl: options.publicUrl ?? null
40
67
  }
41
68
  };
42
69
  }
43
70
  function deriveRoute(content) {
44
- if (typeof content.slug === "string" && content.slug.length > 0) {
45
- return content.slug.startsWith("/") ? content.slug : `/${content.slug}`;
71
+ return `/${encodeURIComponent(content.type)}/${encodeURIComponent(content.id)}`;
72
+ }
73
+ function routeFromPublicUrl(publicUrl) {
74
+ try {
75
+ return new URL(publicUrl).pathname || "/";
76
+ } catch (cause) {
77
+ throw new Error(`EmDash returned an invalid public URL: ${publicUrl}`, {
78
+ cause
79
+ });
46
80
  }
47
- return `/${content.type}/${content.id}`;
48
81
  }
49
82
  function stringOrEmpty(value) {
50
83
  return typeof value === "string" ? value : "";
51
84
  }
52
85
  function extractPortableText(data) {
53
- const candidates = ["body", "content"];
54
- for (const slug of candidates) {
86
+ for (const slug of ["body", "content"]) {
55
87
  const value = data[slug];
56
- if (isPortableTextArray(value)) {
57
- return value;
88
+ if (isPortableTextArray(value)) return value;
89
+ if (isEmdashBlocksArray(value, slug)) return blocksToPortableText(value);
90
+ if (typeof value === "string" && value.trim().length > 0) {
91
+ return [portableTextBlock(value.trim(), `${slug}-text`)];
58
92
  }
59
93
  }
60
- for (const value of Object.values(data)) {
61
- if (isPortableTextArray(value)) {
62
- return value;
63
- }
94
+ const blocks = data["blocks"];
95
+ if (isPortableTextArray(blocks)) return blocks;
96
+ if (isEmdashBlocksArray(blocks, "blocks")) return blocksToPortableText(blocks);
97
+ for (const [field, value] of Object.entries(data)) {
98
+ if (field === "body" || field === "content" || field === "blocks") continue;
99
+ if (isPortableTextArray(value)) return value;
100
+ if (isEmdashBlocksArray(value, field)) return blocksToPortableText(value);
64
101
  }
65
102
  return null;
66
103
  }
67
104
  function isPortableTextArray(value) {
68
- if (!Array.isArray(value) || value.length === 0) {
69
- return false;
105
+ return Array.isArray(value) && value.length > 0 && value.every(
106
+ (item) => isRecord(item) && item["_type"] === "block" && Array.isArray(item["children"]) && item["children"].every(
107
+ (child) => isRecord(child) && typeof child["text"] === "string"
108
+ )
109
+ );
110
+ }
111
+ function isEmdashBlocksArray(value, field) {
112
+ if (!Array.isArray(value) || value.length === 0) return false;
113
+ return value.every(
114
+ (item) => isRecord(item) && typeof item["_type"] === "string" && typeof item["_key"] === "string" && (typeof item["_version"] === "number" || field === "blocks")
115
+ );
116
+ }
117
+ function blocksToPortableText(blocks) {
118
+ const paragraphs = [];
119
+ for (const block of blocks) {
120
+ const segments = [];
121
+ collectText(block, "", segments);
122
+ const text = segments.map((segment) => segment.trim()).filter(Boolean).join(" ");
123
+ if (text.length > 0) {
124
+ paragraphs.push(portableTextBlock(text, stringOrEmpty(block["_key"])));
125
+ }
70
126
  }
71
- const first = value[0];
72
- return typeof first === "object" && first !== null && "_type" in first && typeof first._type === "string";
127
+ return paragraphs;
128
+ }
129
+ function collectText(value, key, out) {
130
+ if (typeof value === "string") {
131
+ if (!isStructuralField(key) && value.trim().length > 0) out.push(value);
132
+ return;
133
+ }
134
+ if (Array.isArray(value)) {
135
+ for (const item of value) collectText(item, key, out);
136
+ return;
137
+ }
138
+ if (!isRecord(value)) return;
139
+ for (const [childKey, childValue] of Object.entries(value)) {
140
+ if (isStructuralField(childKey)) continue;
141
+ collectText(childValue, childKey, out);
142
+ }
143
+ }
144
+ var STRUCTURAL_FIELDS = /* @__PURE__ */ new Set([
145
+ "_key",
146
+ "_ref",
147
+ "_type",
148
+ "_version",
149
+ "asset",
150
+ "align",
151
+ "alignment",
152
+ "autoplay",
153
+ "color",
154
+ "controls",
155
+ "focalpoint",
156
+ "height",
157
+ "href",
158
+ "id",
159
+ "layout",
160
+ "level",
161
+ "loop",
162
+ "markdefs",
163
+ "marks",
164
+ "mime_type",
165
+ "mimetype",
166
+ "position",
167
+ "rel",
168
+ "size",
169
+ "src",
170
+ "style",
171
+ "target",
172
+ "theme",
173
+ "tone",
174
+ "url",
175
+ "variant",
176
+ "width"
177
+ ]);
178
+ function isStructuralField(key) {
179
+ const normalized = key.toLowerCase();
180
+ return normalized.startsWith("_") || STRUCTURAL_FIELDS.has(normalized);
181
+ }
182
+ function portableTextBlock(text, key) {
183
+ return {
184
+ _type: "block",
185
+ ...key.length === 0 ? {} : { _key: key },
186
+ children: [
187
+ {
188
+ _type: "span",
189
+ ...key.length === 0 ? {} : { _key: `${key}-text` },
190
+ text,
191
+ marks: []
192
+ }
193
+ ]
194
+ };
195
+ }
196
+ function isRecord(value) {
197
+ return typeof value === "object" && value !== null && !Array.isArray(value);
73
198
  }
74
199
 
75
200
  // src/plugin.ts
76
201
  async function handleAfterSaveConfigured(event, ctx, evaluator, suppressionFilter) {
77
- const adapted = adaptContentItem(event.content);
202
+ const adapted = await adaptContentItemWithContext(
203
+ event.content,
204
+ ctx.content,
205
+ ctx.site?.locale
206
+ );
78
207
  const document = adapted.document;
79
208
  const { kv, log } = ctx;
80
209
  const stored = { document, meta: adapted.meta };
81
- await kv.set(documentKey(document.route), stored);
210
+ await persistDocument(ctx, stored);
82
211
  const result = await evaluator([document]);
83
212
  if (!result.ok) {
84
213
  log?.error?.(`afterSave evaluator failure (${result.reason})`, {
@@ -125,7 +254,11 @@ async function evaluateAndPersistAll(ctx, options) {
125
254
  ...cursor === void 0 ? {} : { cursor }
126
255
  });
127
256
  for (const item of page.items) {
128
- const adapted = adaptContentItem(item);
257
+ const adapted = await adaptContentItemWithContext(
258
+ item,
259
+ ctx.content,
260
+ ctx.site?.locale
261
+ );
129
262
  documents.push(adapted.document);
130
263
  documentRoutes.add(adapted.document.route);
131
264
  adaptedByRoute.set(adapted.document.route, {
@@ -177,8 +310,57 @@ async function evaluateAndPersistAll(ctx, options) {
177
310
  totalAfterSuppression += filtered.length;
178
311
  }
179
312
  summary.totalFindings = totalAfterSuppression;
313
+ if (summary.errors.length === 0) {
314
+ await removeStaleDocuments(ctx, collections, documentRoutes);
315
+ }
180
316
  return summary;
181
317
  }
318
+ async function persistDocument(ctx, stored) {
319
+ const route = stored.document.route;
320
+ const entries = await ctx.kv.list("document:");
321
+ for (const entry of entries) {
322
+ const previous = toStoredDocument(entry.value);
323
+ if (previous === null || previous.document.route === route || previous.meta.id !== stored.meta.id || previous.meta.collection !== stored.meta.collection) {
324
+ continue;
325
+ }
326
+ await ctx.kv.delete(entry.key);
327
+ await ctx.kv.delete(findingsKey(previous.document.route));
328
+ }
329
+ await ctx.kv.set(documentKey(route), stored);
330
+ }
331
+ async function removeStaleDocuments(ctx, collections, currentRoutes) {
332
+ const scannedCollections = new Set(collections);
333
+ const entries = await ctx.kv.list("document:");
334
+ for (const entry of entries) {
335
+ const stored = toStoredDocument(entry.value);
336
+ if (stored === null || !scannedCollections.has(stored.meta.collection) || currentRoutes.has(stored.document.route)) {
337
+ continue;
338
+ }
339
+ await ctx.kv.delete(entry.key);
340
+ await ctx.kv.delete(findingsKey(stored.document.route));
341
+ }
342
+ }
343
+ function toStoredDocument(value) {
344
+ if (value === null || typeof value !== "object") return null;
345
+ if ("document" in value && "meta" in value && value.document !== null && typeof value.document === "object" && "route" in value.document && typeof value.document.route === "string" && value.meta !== null && typeof value.meta === "object") {
346
+ return value;
347
+ }
348
+ if ("route" in value && typeof value.route === "string") {
349
+ const document = value;
350
+ return {
351
+ document,
352
+ meta: {
353
+ id: document.route,
354
+ collection: "",
355
+ slug: null,
356
+ status: "",
357
+ title: document.title ?? "",
358
+ publicUrl: null
359
+ }
360
+ };
361
+ }
362
+ return null;
363
+ }
182
364
  function findingsKey(route) {
183
365
  const normalized = route === "" || route === "/" ? "/" : route;
184
366
  return `findings:${normalized}`;
@@ -199,25 +381,8 @@ async function readAllStoredDocuments(kv) {
199
381
  const entries = await kv.list("document:");
200
382
  const out = [];
201
383
  for (const entry of entries) {
202
- const value = entry.value;
203
- if (value === null || typeof value !== "object") continue;
204
- if ("document" in value && "meta" in value) {
205
- out.push(value);
206
- continue;
207
- }
208
- if ("route" in value) {
209
- const document = value;
210
- out.push({
211
- document,
212
- meta: {
213
- id: document.route,
214
- collection: "",
215
- slug: null,
216
- status: "",
217
- title: document.title ?? ""
218
- }
219
- });
220
- }
384
+ const stored = toStoredDocument(entry.value);
385
+ if (stored !== null) out.push(stored);
221
386
  }
222
387
  return out;
223
388
  }
@@ -559,7 +724,6 @@ async function buildFindingsPayload(ctx) {
559
724
  }
560
725
  }
561
726
  findings.sort((a, b) => severityRank(a.severity) - severityRank(b.severity));
562
- const siteUrl = ctx.site?.url ?? "";
563
727
  const routes = [];
564
728
  for (const [route, bucket] of perRoute) {
565
729
  const stored2 = documents.get(route);
@@ -570,7 +734,7 @@ async function buildFindingsPayload(ctx) {
570
734
  collection: stored2?.meta.collection ?? "",
571
735
  id: stored2?.meta.id ?? "",
572
736
  editUrl: stored2 ? buildEditUrl(stored2.meta) : "",
573
- publishedUrl: stored2 ? buildPublishedUrl(stored2.meta, route, siteUrl) : "",
737
+ publishedUrl: stored2?.meta.publicUrl ?? "",
574
738
  findingCount: bucket.findings.length,
575
739
  errorCount: bucket.errors,
576
740
  warningCount: bucket.warnings
@@ -696,12 +860,6 @@ function buildEditUrl(meta) {
696
860
  if (meta.collection === "" || meta.id === "") return "";
697
861
  return `/_emdash/admin/content/${encodeURIComponent(meta.collection)}/${encodeURIComponent(meta.id)}`;
698
862
  }
699
- function buildPublishedUrl(meta, route, siteUrl) {
700
- if (meta.status !== "published") return "";
701
- if (siteUrl === "") return "";
702
- const trimmed = siteUrl.endsWith("/") ? siteUrl.slice(0, -1) : siteUrl;
703
- return `${trimmed}${route}`;
704
- }
705
863
 
706
864
  // src/facts-route.ts
707
865
  import { PluginRouteError } from "emdash";
@@ -1215,7 +1373,7 @@ function globToMatcher(pattern) {
1215
1373
  }
1216
1374
 
1217
1375
  // src/version.ts
1218
- var PACKAGE_VERSION = "0.8.16";
1376
+ var PACKAGE_VERSION = "0.8.18";
1219
1377
 
1220
1378
  // src/configured.ts
1221
1379
  import { definePlugin } from "emdash";
@@ -1284,7 +1442,7 @@ function createPlugin(options = {}) {
1284
1442
  return definePlugin({
1285
1443
  id: "aexeo-emdash",
1286
1444
  version: PACKAGE_VERSION,
1287
- capabilities: ["read:content"],
1445
+ capabilities: ["content:read"],
1288
1446
  hooks: {
1289
1447
  // afterSave processes one saved document at a time — collections
1290
1448
  // list isn't needed here. The hook always runs regardless of
@@ -1371,8 +1529,37 @@ function createPlugin(options = {}) {
1371
1529
  });
1372
1530
  }
1373
1531
  var configured_default = createPlugin;
1532
+ function normalizeInteraction(input) {
1533
+ if (!input || typeof input !== "object") {
1534
+ return { type: "page_load", page: "/findings" };
1535
+ }
1536
+ const raw = input;
1537
+ if (raw.type === "page_load") {
1538
+ return {
1539
+ type: "page_load",
1540
+ page: typeof raw.page === "string" && raw.page.length > 0 ? raw.page : "/findings"
1541
+ };
1542
+ }
1543
+ if (raw.type === "block_action") {
1544
+ return {
1545
+ type: "block_action",
1546
+ action_id: typeof raw.action_id === "string" ? raw.action_id : "",
1547
+ ...typeof raw.block_id === "string" ? { block_id: raw.block_id } : {},
1548
+ value: raw.value
1549
+ };
1550
+ }
1551
+ if (raw.type === "form_submit") {
1552
+ return {
1553
+ type: "form_submit",
1554
+ action_id: typeof raw.action_id === "string" ? raw.action_id : "",
1555
+ ...typeof raw.block_id === "string" ? { block_id: raw.block_id } : {},
1556
+ values: raw.values && typeof raw.values === "object" ? raw.values : {}
1557
+ };
1558
+ }
1559
+ return { type: "page_load", page: "/findings" };
1560
+ }
1374
1561
  async function handleAdminRoute(ctx, collections) {
1375
- const body = ctx.input;
1562
+ const body = normalizeInteraction(ctx.input);
1376
1563
  if (body.type === "page_load") {
1377
1564
  return handlePageLoad(ctx, body.page);
1378
1565
  }
File without changes
@@ -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;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,cAAc,EAAE,cAAc,EAAE,CAAC;IAIjC,gBAAgB,EAAE,OAAO,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,YAAY,EAAE,KAAK,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;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;IAM1B,MAAM,CAAC,EAAE,OAAO,YAAY,EAAE,UAAU,CAAC;CAC1C;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,WAAW,CAAC;IAIvB,OAAO,EAAE,OAAO,CAAC;IAIjB,iBAAiB,CAAC,EAAE,OAAO,mBAAmB,EAAE,iBAAiB,CAAC;CACnE;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,CAmBD;AA6ID,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,IAAI,CAAC,CAGf"}
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,cAAc,EAAE,cAAc,EAAE,CAAC;IAIjC,gBAAgB,EAAE,OAAO,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,YAAY,EAAE,KAAK,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;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;IAM1B,MAAM,CAAC,EAAE,OAAO,YAAY,EAAE,UAAU,CAAC;CAC1C;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,WAAW,CAAC;IAIvB,OAAO,EAAE,OAAO,CAAC;IAIjB,iBAAiB,CAAC,EAAE,OAAO,mBAAmB,EAAE,iBAAiB,CAAC;CACnE;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,CAmBD;AA4ID,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,IAAI,CAAC,CAGf"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/index.d.ts CHANGED
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,GACtB,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,kBAAkB;IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;CACvC;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,wBAAgB,WAAW,CACzB,OAAO,GAAE,kBAAuB,GAC/B,0BAA0B,CAqE5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,GACtB,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,kBAAkB;IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;CACvC;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,wBAAgB,WAAW,CACzB,OAAO,GAAE,kBAAuB,GAC/B,0BAA0B,CAiE5B"}
package/dist/index.js CHANGED
@@ -1,29 +1,23 @@
1
1
  // src/plugin.ts
2
- var baseCapabilities = [
3
- "read:content",
4
- "read:schema",
5
- "write:artifacts:public/llms.txt",
6
- "write:artifacts:public/llms-full.txt",
7
- "write:artifacts:public/facts.json",
8
- "write:artifacts:public/*.md.txt",
9
- "kv:aexeo-baselines"
10
- ];
2
+ var baseCapabilities = ["content:read"];
11
3
  function buildCapabilities(evaluatorHost) {
12
- if (evaluatorHost === null) {
4
+ const host = normalizeHost(evaluatorHost);
5
+ if (host === null) {
13
6
  return baseCapabilities;
14
7
  }
15
- return [...baseCapabilities, "network:fetch"];
8
+ return [...baseCapabilities, "network:request"];
16
9
  }
17
10
  function buildAllowedHosts(evaluatorHost) {
18
- const hosts = ["api.indexnow.org"];
19
- if (evaluatorHost !== null && evaluatorHost.length > 0) {
20
- hosts.push(evaluatorHost);
21
- }
22
- return hosts;
11
+ const host = normalizeHost(evaluatorHost);
12
+ return host === null ? [] : [host];
13
+ }
14
+ function normalizeHost(evaluatorHost) {
15
+ const host = evaluatorHost?.trim() ?? "";
16
+ return host.length === 0 ? null : host;
23
17
  }
24
18
 
25
19
  // src/version.ts
26
- var PACKAGE_VERSION = "0.8.16";
20
+ var PACKAGE_VERSION = "0.8.18";
27
21
 
28
22
  // src/sandbox.ts
29
23
  function aexeoPluginSandboxed(options = {}) {
@@ -87,11 +81,7 @@ function aexeoPlugin(options = {}) {
87
81
  }))
88
82
  }
89
83
  },
90
- capabilities: [
91
- "read:content",
92
- "read:schema",
93
- "kv:aexeo-baselines"
94
- ],
84
+ capabilities: ["content:read"],
95
85
  // adminPages drives the admin sidebar — one nav entry per item.
96
86
  // Don't list "/" alongside "/findings": both would render as
97
87
  // duplicate "SEO findings" links in the sidebar (0.1.0 / 0.1.1
File without changes
File without changes
package/dist/mcp.d.ts CHANGED
File without changes
package/dist/mcp.d.ts.map CHANGED
File without changes
package/dist/plugin.d.ts CHANGED
@@ -37,6 +37,8 @@ export interface SandboxContentApi {
37
37
  limit?: number;
38
38
  cursor?: string;
39
39
  }): Promise<ContentList>;
40
+ getPublicUrl(collection: string, id: string): Promise<string | null>;
41
+ getTranslations: import("./adapter.js").ContentUrlApi["getTranslations"];
40
42
  }
41
43
  export interface SandboxCtx {
42
44
  kv: KvNamespace;
@@ -58,7 +60,7 @@ export interface ContentAfterSaveEvent {
58
60
  collection: string;
59
61
  isNew: boolean;
60
62
  }
61
- export declare function handleAfterSave(_event: ContentAfterSaveEvent, _ctx: SandboxCtx): Promise<void>;
63
+ export declare function handleAfterSave(event: ContentAfterSaveEvent, ctx: SandboxCtx): Promise<void>;
62
64
  export declare function handleAfterSaveConfigured(event: ContentAfterSaveEvent, ctx: SandboxCtx, evaluator: EvaluatorFn, suppressionFilter?: SuppressionFilter): Promise<void>;
63
65
  export declare const DEFAULT_COLLECTIONS: readonly ["posts", "pages"];
64
66
  export interface RefreshSummary {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
@@ -15,7 +15,7 @@ export type BlockInteraction = {
15
15
  values: Record<string, unknown>;
16
16
  };
17
17
  export interface RouteInput {
18
- input: BlockInteraction;
18
+ input?: unknown;
19
19
  request?: unknown;
20
20
  requestMeta?: unknown;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-entry.d.ts","sourceRoot":"","sources":["../src/sandbox-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAEX,UAAU,EAEX,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,eAAe,EAKhB,MAAM,aAAa,CAAC;AAiBrB,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAON,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAID,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,EAAE,WAAW,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;KAAE,CAAC;CACjE;AAMD,iBAAe,gBAAgB,CAC7B,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,aAAa,CAAC,CAuBxB;;;;;;;;;;;;AAkhBD,wBAWG"}
1
+ {"version":3,"file":"sandbox-entry.d.ts","sourceRoot":"","sources":["../src/sandbox-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAEX,UAAU,EAEX,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,eAAe,EAKhB,MAAM,aAAa,CAAC;AAiBrB,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAYN,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAqDD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,EAAE,WAAW,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;KAAE,CAAC;CACjE;AAMD,iBAAe,gBAAgB,CAC7B,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,aAAa,CAAC,CAwBxB;;;;;;;;;;;;AA8gBD,wBAWG"}