@syntrologie/adapt-product 2.53.0 → 2.55.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.
package/dist/cdn.js
CHANGED
|
@@ -342,6 +342,102 @@ var NotifyZ = z.object({
|
|
|
342
342
|
icon: z.string().optional().describe("Notification icon (emoji or URL)")
|
|
343
343
|
}).describe("Optional toast notification shown when this action triggers.").nullable().optional();
|
|
344
344
|
|
|
345
|
+
// ../../sdk-contracts/dist/telemetry-events.js
|
|
346
|
+
var entry = (e2) => e2;
|
|
347
|
+
var TELEMETRY_EVENTS = {
|
|
348
|
+
// --- intervention metrics (April 2026) — wire names unchanged, all plan-scope
|
|
349
|
+
syntro_config_served: entry({
|
|
350
|
+
subject: "config",
|
|
351
|
+
verb: "served",
|
|
352
|
+
scope: "plan",
|
|
353
|
+
props: ["tiles", "actions"]
|
|
354
|
+
}),
|
|
355
|
+
syntro_intervention_seen: entry({
|
|
356
|
+
subject: "intervention",
|
|
357
|
+
verb: "seen",
|
|
358
|
+
scope: "plan",
|
|
359
|
+
props: ["intervention_id", "intervention_kind"]
|
|
360
|
+
}),
|
|
361
|
+
syntro_intervention_triggered: entry({
|
|
362
|
+
subject: "intervention",
|
|
363
|
+
verb: "triggered",
|
|
364
|
+
scope: "plan",
|
|
365
|
+
props: ["intervention_id", "intervention_kind"]
|
|
366
|
+
}),
|
|
367
|
+
syntro_intervention_interacted: entry({
|
|
368
|
+
subject: "intervention",
|
|
369
|
+
verb: "interacted",
|
|
370
|
+
scope: "plan",
|
|
371
|
+
props: ["intervention_id", "intervention_kind", "interaction_type"]
|
|
372
|
+
}),
|
|
373
|
+
// --- concierge (FEAT-1789150184) ---------------------------------------
|
|
374
|
+
syntro_concierge_opened: entry({
|
|
375
|
+
subject: "concierge",
|
|
376
|
+
verb: "opened",
|
|
377
|
+
scope: "open",
|
|
378
|
+
props: ["trigger", "page_path"]
|
|
379
|
+
// trigger: ConciergeOpenTrigger
|
|
380
|
+
}),
|
|
381
|
+
syntro_concierge_closed: entry({
|
|
382
|
+
subject: "concierge",
|
|
383
|
+
verb: "closed",
|
|
384
|
+
scope: "open",
|
|
385
|
+
props: ["duration_ms", "reason", "messages_sent", "tiles_dismissed", "pages_viewed"]
|
|
386
|
+
// reason: ConciergeCloseReason
|
|
387
|
+
}),
|
|
388
|
+
syntro_deck_paged: entry({
|
|
389
|
+
subject: "deck",
|
|
390
|
+
verb: "paged",
|
|
391
|
+
scope: "open",
|
|
392
|
+
props: ["from_index", "to_index", "method"]
|
|
393
|
+
// method: DeckPageMethod
|
|
394
|
+
}),
|
|
395
|
+
syntro_tile_dismissed: entry({
|
|
396
|
+
subject: "tile",
|
|
397
|
+
verb: "dismissed",
|
|
398
|
+
scope: "open",
|
|
399
|
+
props: ["tile_id", "tile_kind", "visible_ms"]
|
|
400
|
+
}),
|
|
401
|
+
// The three chat atoms are OPEN-scope: they carry `surface` / `open_id` and
|
|
402
|
+
// only make sense inside a concierge open. An INLINE chat bar (no concierge)
|
|
403
|
+
// still dispatches them on every turn, and the core drops each one and
|
|
404
|
+
// increments the `telemetry_dropped` health counter. That is EXPECTED on an
|
|
405
|
+
// inline-chat host page, not a bug — `telemetry_dropped` there mixes "real
|
|
406
|
+
// defect" with "inline chat has no open scope", so do not alert on it alone.
|
|
407
|
+
syntro_chat_message_sent: entry({
|
|
408
|
+
subject: "chat_message",
|
|
409
|
+
verb: "sent",
|
|
410
|
+
scope: "open",
|
|
411
|
+
props: ["turn", "chars", "via"]
|
|
412
|
+
// via: ChatSendVia
|
|
413
|
+
}),
|
|
414
|
+
syntro_chat_reply_received: entry({
|
|
415
|
+
subject: "chat_reply",
|
|
416
|
+
verb: "received",
|
|
417
|
+
scope: "open",
|
|
418
|
+
props: ["turn", "ttft_ms", "total_ms", "mounts", "cards"]
|
|
419
|
+
}),
|
|
420
|
+
syntro_chat_interrupted: entry({
|
|
421
|
+
subject: "chat",
|
|
422
|
+
verb: "interrupted",
|
|
423
|
+
scope: "open",
|
|
424
|
+
props: ["turn", "after_ms"]
|
|
425
|
+
}),
|
|
426
|
+
syntro_chat_maximize_toggled: entry({
|
|
427
|
+
subject: "chat_maximize",
|
|
428
|
+
verb: "toggled",
|
|
429
|
+
scope: "open",
|
|
430
|
+
props: ["maximized"]
|
|
431
|
+
}),
|
|
432
|
+
syntro_chat_takeover_triggered: entry({
|
|
433
|
+
subject: "chat_takeover",
|
|
434
|
+
verb: "triggered",
|
|
435
|
+
scope: "open",
|
|
436
|
+
props: ["turn"]
|
|
437
|
+
})
|
|
438
|
+
};
|
|
439
|
+
var TELEMETRY_EVENT_NAMES = Object.keys(TELEMETRY_EVENTS);
|
|
440
|
+
|
|
345
441
|
// ../../sdk-contracts/dist/viewport.js
|
|
346
442
|
var VIEWPORT_CLASS_ATTR = "data-viewport";
|
|
347
443
|
var DESKTOP_MIN_WIDTH_PX = 720;
|
|
@@ -1068,9 +1164,9 @@ async function runTakeover(config, ports, opts = {}) {
|
|
|
1068
1164
|
// 1. host-derived entries (kind:sectionId) — review F2;
|
|
1069
1165
|
// 2. native kinds superseding a DECLARED host role (two-Q&As
|
|
1070
1166
|
// bug: our qa next to their attached FAQ).
|
|
1071
|
-
order: response2.plan.order.filter((
|
|
1072
|
-
if (
|
|
1073
|
-
const superseded = KIND_SUPERSEDES_ROLE[
|
|
1167
|
+
order: response2.plan.order.filter((entry2) => {
|
|
1168
|
+
if (entry2.includes(":")) return false;
|
|
1169
|
+
const superseded = KIND_SUPERSEDES_ROLE[entry2];
|
|
1074
1170
|
return !(superseded && declaredRoles.has(superseded));
|
|
1075
1171
|
}),
|
|
1076
1172
|
suppress: []
|
|
@@ -1678,23 +1774,23 @@ if (typeof customElements !== "undefined" && !customElements.get("syntro-pdp-slo
|
|
|
1678
1774
|
}
|
|
1679
1775
|
|
|
1680
1776
|
// src/takeover/renderModules.ts
|
|
1681
|
-
function parsePlanEntry(
|
|
1682
|
-
const i2 =
|
|
1683
|
-
if (i2 === -1) return { kind:
|
|
1684
|
-
return { kind:
|
|
1777
|
+
function parsePlanEntry(entry2) {
|
|
1778
|
+
const i2 = entry2.indexOf(":");
|
|
1779
|
+
if (i2 === -1) return { kind: entry2, hostSectionId: null };
|
|
1780
|
+
return { kind: entry2.slice(0, i2), hostSectionId: entry2.slice(i2 + 1) || null };
|
|
1685
1781
|
}
|
|
1686
1782
|
function createTakeoverModuleRenderer(deps) {
|
|
1687
1783
|
return async (plan, onModuleFailed) => {
|
|
1688
1784
|
const decisionArchetype = deps.getDecisionArchetype();
|
|
1689
1785
|
const row = deps.getPresetRow(decisionArchetype) ?? {};
|
|
1690
1786
|
const bakedWork = [];
|
|
1691
|
-
plan.order.forEach((
|
|
1692
|
-
const { kind, hostSectionId } = parsePlanEntry(
|
|
1787
|
+
plan.order.forEach((entry2, index) => {
|
|
1788
|
+
const { kind, hostSectionId } = parsePlanEntry(entry2);
|
|
1693
1789
|
const slotId = `pdp-slot-${kind}`;
|
|
1694
1790
|
const preset = row[slotId];
|
|
1695
1791
|
const tag = deps.resolveTag(kind, preset?.variant ?? null);
|
|
1696
1792
|
if (!tag) {
|
|
1697
|
-
deps.telemetry("takeover.module_kind_unknown", { entry, kind });
|
|
1793
|
+
deps.telemetry("takeover.module_kind_unknown", { entry: entry2, kind });
|
|
1698
1794
|
onModuleFailed(hostSectionId);
|
|
1699
1795
|
return;
|
|
1700
1796
|
}
|
|
@@ -1703,7 +1799,7 @@ function createTakeoverModuleRenderer(deps) {
|
|
|
1703
1799
|
const section = document.createElement("section");
|
|
1704
1800
|
section.toggleAttribute("data-syntro-pdp-section", true);
|
|
1705
1801
|
section.setAttribute("data-slot", slotId);
|
|
1706
|
-
section.setAttribute("data-syntro-takeover-entry",
|
|
1802
|
+
section.setAttribute("data-syntro-takeover-entry", entry2);
|
|
1707
1803
|
const header = document.createElement("syntro-pdp-section-header");
|
|
1708
1804
|
header.eyebrow = task.header.eyebrow ?? "";
|
|
1709
1805
|
header.title = task.header.title ?? "";
|
|
@@ -1724,7 +1820,7 @@ function createTakeoverModuleRenderer(deps) {
|
|
|
1724
1820
|
} else {
|
|
1725
1821
|
slotEl.state = "failed";
|
|
1726
1822
|
}
|
|
1727
|
-
deps.telemetry("takeover.module_failed", { entry, kind });
|
|
1823
|
+
deps.telemetry("takeover.module_failed", { entry: entry2, kind });
|
|
1728
1824
|
onModuleFailed(hostSectionId);
|
|
1729
1825
|
};
|
|
1730
1826
|
const mountPayload = async (payload) => {
|
|
@@ -12136,4 +12232,4 @@ export {
|
|
|
12136
12232
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
12137
12233
|
*)
|
|
12138
12234
|
*/
|
|
12139
|
-
//# sourceMappingURL=chunk-
|
|
12235
|
+
//# sourceMappingURL=chunk-QXR5X22R.js.map
|