@sentropic/track 0.85.10 → 0.85.13

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.
@@ -1,5 +1,5 @@
1
1
  import { BUCKETS } from './buckets.js';
2
- import { buildDirectives, decisionNeedsFocus, dispatchQueueOf, } from './directive.js';
2
+ import { buildDirectives, decisionNeedsFocus, dispatchQueueOf, keystoneOf, } from './directive.js';
3
3
  const BACKSLASH = String.fromCharCode(92);
4
4
  // Markdown metacharacters escaped in `md` titles so a user title can't inject formatting.
5
5
  const MD_META = new Set([
@@ -303,32 +303,86 @@ function droppedLeaves(node) {
303
303
  walk(node);
304
304
  return out;
305
305
  }
306
+ /**
307
+ * §A3 — a short human STATUS tag for one open leaf. It is the COHORT KEY for the render-only collapse:
308
+ * two leaves in the SAME WP with the same tag are one cohort. RENDER-ONLY — never touches `directives[]`.
309
+ */
310
+ function leafStatusTag(l) {
311
+ if (l.acceptance === 'fail')
312
+ return 'acceptance fail';
313
+ if (l.acceptance === 'stale')
314
+ return 'acceptance stale';
315
+ if (l.realization === 'in-progress')
316
+ return 'en cours';
317
+ if (l.bucket === 'AWAITED')
318
+ return 'en attente';
319
+ if (l.openBlockers.length > 0)
320
+ return 'bloqué';
321
+ if (l.specStatus === 'to-specify')
322
+ return 'à spécifier';
323
+ return 'à démarrer';
324
+ }
325
+ /**
326
+ * §A3 — cohort-collapse: fold a WP's open leaves into `{tag, count, titles}` groups by `leafStatusTag`.
327
+ * RENDER-ONLY and STRICTLY INTRA-WP (the caller passes ONE WP's leaves, so a cohort never spans WPs). The
328
+ * machine `directives[]` / `dispatchQueue` are NEVER collapsed — this is a pure presentation fold. Cohorts
329
+ * are ordered by first appearance in id-sorted leaf order (deterministic, no flicker).
330
+ */
331
+ export function collapseLeafCohorts(leaves) {
332
+ const byId = [...leaves].sort((a, b) => a.id.localeCompare(b.id));
333
+ const order = [];
334
+ const groups = new Map();
335
+ for (const l of byId) {
336
+ const tag = leafStatusTag(l);
337
+ let g = groups.get(tag);
338
+ if (g === undefined) {
339
+ g = { tag, count: 0, titles: [] };
340
+ groups.set(tag, g);
341
+ order.push(tag);
342
+ }
343
+ g.count++;
344
+ g.titles.push(clean(l.title));
345
+ }
346
+ return order.map((tag) => groups.get(tag));
347
+ }
306
348
  /**
307
349
  * Render ONE directive to a human FR phrase — RENDER-ONLY (no phrase is ever stored as data, DESIGN §3).
308
350
  * Maps the langue-neutre `(mode, step, gate)` to a sentence. An UNKNOWN `step.code` (a future vocabulary
309
351
  * entry this renderer predates) degrades to the `inspect-fallback` phrasing — forward-compat (DESIGN §7).
310
352
  */
311
353
  export function directivePhrase(d) {
354
+ // §A6 — a directive renders a CONCRETE next move + the actor, and NAMES what blocks (the info the
355
+ // `sujet` column does NOT already carry). All interpolated titles/refs are RAW here — the render layer
356
+ // (table `esc`, inline `clean`, html `escapeHtml`) escapes them (§A4). A decision surfaces as a "décision"
357
+ // line ONLY when it genuinely blocks (mode `human-decision`); otherwise the phrase préconise a step.
358
+ const on = () => {
359
+ const t = d.gate?.blockedByTitle;
360
+ if (t !== undefined && t.trim() !== '')
361
+ return ` sur « ${t} »`;
362
+ const r = d.gate?.ref;
363
+ return r !== undefined && r.trim() !== '' ? ` (réf ${r})` : '';
364
+ };
312
365
  if (d.mode === 'human-decision') {
313
366
  const who = d.facts.accountable ?? 'owner';
314
367
  return d.step.code === 'focus-decision'
315
- ? `décision (${who}): focus dossier (questions/options) puis trancher outcome`
368
+ ? `décision (${who}): instruire le dossier (questions/options) puis trancher outcome`
316
369
  : `décision (${who}): trancher outcome`;
317
370
  }
318
371
  if (d.mode === 'h2a-engagement') {
319
- return 'engagement (h2a): relancer engagement puis intégrer le retour';
372
+ const ref = d.gate?.ref;
373
+ return `engagement (h2a): relancer l'engagement${ref !== undefined && ref.trim() !== '' ? ` ${ref}` : ''} puis intégrer le retour`;
320
374
  }
321
375
  const mode = d.mode === 'local' ? 'local' : 'subagent';
322
376
  const phrase = {
323
- 'focus-decision': `action (${mode}): focus dossier puis trancher outcome`,
377
+ 'focus-decision': `action (${mode}): instruire le dossier puis trancher outcome`,
324
378
  'settle-decision': `action (${mode}): trancher outcome`,
325
- 'resume-engagement': `action (${mode}): relancer engagement puis intégrer le retour`,
326
- 'resolve-external-blocker': `action (${mode}): lever le blocage puis reprendre`,
327
- 'amend-spec': `action (${mode}): spécifier avant de démarrer`,
328
- 'fix-acceptance': `action (${mode}): corriger puis revalider acceptance (fail)`,
329
- 'rerun-acceptance': `action (${mode}): relancer acceptance (stale) sur le commit courant`,
330
- 'finish-increment': `action (${mode}): terminer l'incrément en cours`,
331
- 'start-increment': `action (${mode}): continuer le premier item ouvert puis enregistrer preuve/acceptance`,
379
+ 'resume-engagement': `action (${mode}): relancer l'engagement puis intégrer le retour`,
380
+ 'resolve-external-blocker': `action (${mode}): lever le blocage${on()} puis reprendre`,
381
+ 'amend-spec': `action (${mode}): spécifier avant de démarrer l'incrément`,
382
+ 'fix-acceptance': `action (${mode}): corriger puis revalider l'acceptance (fail)`,
383
+ 'rerun-acceptance': `action (${mode}): relancer l'acceptance (stale) sur le commit courant`,
384
+ 'finish-increment': `action (${mode}): terminer l'incrément en cours${on()}`,
385
+ 'start-increment': `action (${mode}): démarrer l'incrément puis enregistrer preuve/acceptance`,
332
386
  'prioritize-backlog': `action (${mode}): prioriser le backlog (WSJF absent) puis reprendre`,
333
387
  'inspect-fallback': `action (${mode}): inspecter l'état puis décider la suite`,
334
388
  };
@@ -348,6 +402,7 @@ export function buildWpConductorView(tree, decisions = []) {
348
402
  // stay the same rollup-driven tables (unchanged back-compat).
349
403
  const directives = buildDirectives(tree, decisions);
350
404
  const dispatchQueue = dispatchQueueOf(directives);
405
+ const keystone = keystoneOf(tree);
351
406
  const humanDecisions = directives.filter((d) => d.mode === 'human-decision');
352
407
  const focusNeeded = humanDecisions.filter((d) => d.step.code === 'focus-decision').length;
353
408
  const generalRecommendation = focusNeeded >= 2 || humanDecisions.length >= 4
@@ -391,6 +446,7 @@ export function buildWpConductorView(tree, decisions = []) {
391
446
  generalRecommendation,
392
447
  directives,
393
448
  dispatchQueue,
449
+ ...(keystone !== undefined ? { keystone } : {}),
394
450
  };
395
451
  }
396
452
  function renderReportView(view, format) {
@@ -414,6 +470,65 @@ function renderReportView(view, format) {
414
470
  export function formatWpConductor(tree, format, decisions = []) {
415
471
  return renderReportView(buildWpConductorView(tree, decisions), format);
416
472
  }
473
+ /** Clean + hard-truncate a line to `width` with a trailing ellipsis (never a silent cut mid-report). */
474
+ function truncateLine(s, width) {
475
+ const c = clean(s);
476
+ return c.length <= width ? c : `${c.slice(0, Math.max(1, width - 1))}…`;
477
+ }
478
+ /**
479
+ * Fit `head + mid + tail` to `width` by truncating ONLY the middle (the long title), keeping the head
480
+ * (rank/scope) and the tail (the concrete ACTION) intact — so the most useful part is never the part cut.
481
+ * Falls back to a whole-line truncation only when head+tail alone already overflow (a very long phrase).
482
+ */
483
+ function fitMiddle(head, mid, tail, width) {
484
+ const budget = width - head.length - tail.length;
485
+ if (budget < 8)
486
+ return truncateLine(head + mid + tail, width);
487
+ const m = mid.length <= budget ? mid : `${mid.slice(0, Math.max(1, budget - 1))}…`;
488
+ return head + m + tail;
489
+ }
490
+ export function formatWpConductorInline(tree, decisions = [], opts = {}) {
491
+ const width = Math.min(200, Math.max(48, opts.width ?? 80));
492
+ const maxDir = Math.max(1, opts.maxDirectives ?? 10);
493
+ const view = buildWpConductorView(tree, decisions);
494
+ const totals = wpTotals(tree);
495
+ const wpName = (n) => `${n.label} · ${clean(stripWpPrefix(n.title))}`;
496
+ const lines = [];
497
+ // FAIT — one line: global progress + the closed WPs (by label).
498
+ const closed = tree.filter((n) => n.pct === 100).map((n) => n.label);
499
+ lines.push(truncateLine(`FAIT ${totals.done}/${totals.active} (${pctStr(totals.pct)})${closed.length > 0 ? ` · clos: ${closed.join(', ')}` : ''}`, width));
500
+ // À-FAIRE — one line per open WP that actually HAS open direct work; open leaves cohort-collapsed
501
+ // (N× tag) so it stays on screen. WPs/streams with no open direct item ("0/0 — aucun item ouvert")
502
+ // are pure noise (their remaining work, if any, shows under a child WP) and are dropped.
503
+ lines.push('À-FAIRE');
504
+ const openWps = tree.filter((n) => n.pct !== 100);
505
+ let shown = 0;
506
+ for (const n of openWps) {
507
+ const cohorts = collapseLeafCohorts(openLeaves(n));
508
+ const parts = cohorts.map((c) => (c.count > 1 ? `${c.count}× ${c.tag}` : (c.titles[0] ?? c.tag)));
509
+ if (parts.length === 0)
510
+ continue; // no open direct item — skip, don't print an empty row
511
+ lines.push(truncateLine(` ${wpName(n)} ${n.done}/${n.active} ${pctStr(n.pct)} — ${parts.join(' · ')}`, width));
512
+ shown++;
513
+ }
514
+ if (shown === 0)
515
+ lines.push(truncateLine(' (aucun item ouvert au niveau WP)', width));
516
+ // PRÉCO — one compact line per directive (concrete action + actor); keystone bottleneck flagged.
517
+ lines.push(truncateLine(view.keystone !== undefined ? `PRÉCO (goulot: ${clean(view.keystone.title)} bloque ${view.keystone.blocks})` : 'PRÉCO', width));
518
+ const dirs = view.directives;
519
+ if (dirs.length === 0)
520
+ lines.push(truncateLine(' (aucune action ouverte)', width));
521
+ for (const d of dirs.slice(0, maxDir)) {
522
+ const rank = d.rank.split('_')[0]; // P1..P5
523
+ // Keep the rank/scope head AND the concrete action tail intact; truncate the (long) title in the
524
+ // middle — so the action a human is meant to take is never the thing that gets cut off.
525
+ lines.push(fitMiddle(` ‣ [${rank}] ${directiveScopeLabel(d)} · `, clean(d.target.title ?? d.target.id), ` — ${clean(directivePhrase(d))}`, width));
526
+ }
527
+ if (dirs.length > maxDir) {
528
+ lines.push(truncateLine(` (+${dirs.length - maxDir} autres — track report --format json)`, width));
529
+ }
530
+ return lines.join('\n') + '\n';
531
+ }
417
532
  export function formatRows(rows, format) {
418
533
  if (format === 'json')
419
534
  return JSON.stringify(rows, null, 2);
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/report/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/report/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type ReportView } from './format.js';
2
+ import type { DecisionRow } from './build.js';
3
+ import type { WpNode } from './rollup.js';
4
+ import { type DsFragmentHooks, type DsFragmentPresenter } from './present.js';
5
+ /** Render a `ReportView` to a sanitized, DS-styled `<article>` fragment (the shared presenter, §C). */
6
+ export declare const renderReportHtml: DsFragmentPresenter<ReportView>;
7
+ /** Build the conductor view from the forest and render its DS fragment (the CLI `--format html` path). */
8
+ export declare function formatWpConductorHtml(tree: readonly WpNode[], decisions?: readonly DecisionRow[], hooks?: DsFragmentHooks): string;
9
+ //# sourceMappingURL=html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":"AAOA,OAAO,EAAyC,KAAK,UAAU,EAAwB,MAAM,aAAa,CAAA;AAC1G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAA8B,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAgEzG,uGAAuG;AACvG,eAAO,MAAM,gBAAgB,EAAE,mBAAmB,CAAC,UAAU,CAU5D,CAAA;AAED,0GAA0G;AAC1G,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,GAAE,SAAS,WAAW,EAAO,EACtC,KAAK,GAAE,eAAgC,GACtC,MAAM,CAER"}
@@ -0,0 +1,76 @@
1
+ // report-revamp §C — the DS-compatible HTML FRAGMENT renderer for the conductor report. Implements the
2
+ // shared `DsFragmentPresenter` contract (present.ts) — the SAME presenter path as focus's `renderHtml`, not
3
+ // a second engine: a self-contained `<article>` with namespaced classes + `data-*` variants, every
4
+ // interpolation escaped (§A4), the whole fragment run through the host `sanitizeHtml` hook. It consumes the
5
+ // SAME `ReportView` the JSON path exposes (tables + directives + keystone), so the HTML and the table render
6
+ // share one derived model. The design system supplies the CSS/tokens and embeds the fragment.
7
+ import { buildWpConductorView, directivePhrase } from './format.js';
8
+ import { escapeHtml, IDENTITY_HOOKS } from './present.js';
9
+ /** One conductor table → a `<section>` with a `<table class="report-table">`; cells escaped (§A4). */
10
+ function renderTable(t) {
11
+ const head = t.columns.map((c) => `<th>${escapeHtml(c.label)}</th>`).join('');
12
+ const body = t.rows
13
+ .map((row) => `<tr>${t.columns.map((c) => `<td>${escapeHtml(row[c.id] ?? '')}</td>`).join('')}</tr>`)
14
+ .join('');
15
+ return (`<section class="report-section" data-section="${escapeHtml(t.id)}">` +
16
+ `<h2>${escapeHtml(t.title)}</h2>` +
17
+ `<table class="report-table"><thead><tr>${head}</tr></thead><tbody>${body}</tbody></table>` +
18
+ `</section>`);
19
+ }
20
+ /**
21
+ * The machine-attributed directive list — the DS-consumable variant surface (mirrors focus's
22
+ * `data-annotation`/`data-modality` convention): each `<li>` carries `data-mode`, `data-advice-kind`,
23
+ * `data-rank`, `data-step`, and (when present) `data-gate`/`data-blocked-by`/`data-fan-in`, so the design
24
+ * system styles chips WITHOUT parsing the phrase. The rendered phrase reuses `directivePhrase` (same bytes
25
+ * as the table). Every interpolated title/ref is escaped.
26
+ */
27
+ function renderDirectives(dirs) {
28
+ if (dirs.length === 0)
29
+ return '';
30
+ const items = dirs
31
+ .map((d) => {
32
+ const g = d.gate;
33
+ const attrs = [
34
+ `data-mode="${escapeHtml(d.mode)}"`,
35
+ `data-advice-kind="${escapeHtml(d.adviceKind)}"`,
36
+ `data-rank="${escapeHtml(d.rank)}"`,
37
+ `data-step="${escapeHtml(d.step.code)}"`,
38
+ ...(g?.code !== undefined ? [`data-gate="${escapeHtml(g.code)}"`] : []),
39
+ ...(g?.blockedBy !== undefined ? [`data-blocked-by="${escapeHtml(g.blockedBy)}"`] : []),
40
+ ...(d.facts.fanIn !== undefined ? [`data-fan-in="${escapeHtml(String(d.facts.fanIn))}"`] : []),
41
+ ].join(' ');
42
+ const subject = escapeHtml(d.target.title ?? d.target.id);
43
+ const blocker = g?.blockedByTitle !== undefined
44
+ ? ` <span class="report-directive-blocker">bloqué par « ${escapeHtml(g.blockedByTitle)} »</span>`
45
+ : '';
46
+ return (`<li class="report-directive" ${attrs}>` +
47
+ `<strong class="report-directive-subject">${subject}</strong> — ` +
48
+ `<span class="report-directive-phrase">${escapeHtml(directivePhrase(d))}</span>${blocker}</li>`);
49
+ })
50
+ .join('');
51
+ return `<section class="report-section" data-section="directives"><h2>Directives</h2><ul class="report-directives">${items}</ul></section>`;
52
+ }
53
+ function renderHeader(view) {
54
+ const k = view.keystone;
55
+ const keystone = k !== undefined
56
+ ? ` · <span class="report-keystone" data-keystone-id="${escapeHtml(k.id)}" data-blocks="${escapeHtml(String(k.blocks))}">goulot: ${escapeHtml(k.title)} (bloque ${escapeHtml(String(k.blocks))})</span>`
57
+ : '';
58
+ return (`<header class="report-header"><h1>Report — conducteur</h1>` +
59
+ `<p class="report-meta">vue: <code>${escapeHtml(view.kind)}</code> · locale: ${escapeHtml(view.locale)}${keystone}</p></header>`);
60
+ }
61
+ /** Render a `ReportView` to a sanitized, DS-styled `<article>` fragment (the shared presenter, §C). */
62
+ export const renderReportHtml = (view, hooks = IDENTITY_HOOKS) => {
63
+ const html = `<article class="report-document" data-kind="${escapeHtml(view.kind)}" data-locale="${escapeHtml(view.locale)}">` +
64
+ renderHeader(view) +
65
+ view.tables.map(renderTable).join('') +
66
+ renderDirectives(view.directives) +
67
+ `<section class="report-section" data-section="recommandation"><h2>Recommandation</h2>` +
68
+ `<p class="report-recommendation">${escapeHtml(view.generalRecommendation)}</p></section>` +
69
+ `</article>`;
70
+ return hooks.sanitizeHtml(html);
71
+ };
72
+ /** Build the conductor view from the forest and render its DS fragment (the CLI `--format html` path). */
73
+ export function formatWpConductorHtml(tree, decisions = [], hooks = IDENTITY_HOOKS) {
74
+ return renderReportHtml(buildWpConductorView(tree, decisions), hooks);
75
+ }
76
+ //# sourceMappingURL=html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /** Convert markdown source to an HTML string. Host-supplied (e.g. `marked`) — only prose models need it. */
2
+ export type RenderMarkdown = (markdown: string) => string;
3
+ /** Sanitize an HTML string before emission. Host-supplied (e.g. DOMPurify / sanitize-html). */
4
+ export type SanitizeHtml = (html: string) => string;
5
+ /**
6
+ * Hooks a DS fragment renderer needs from the host. A SUPERSET of focus's `HtmlRenderHooks`:
7
+ * `sanitizeHtml` is always required (the fragment is run through it before emission); `renderMarkdown` is
8
+ * OPTIONAL and only consulted by prose-bearing models (the dossier), so the report renderer never needs it.
9
+ */
10
+ export interface DsFragmentHooks {
11
+ readonly sanitizeHtml: SanitizeHtml;
12
+ readonly renderMarkdown?: RenderMarkdown;
13
+ }
14
+ /** The shared presenter signature: a model → a sanitized, DS-styled `<article>` fragment string. */
15
+ export type DsFragmentPresenter<Model> = (model: Model, hooks: DsFragmentHooks) => string;
16
+ /**
17
+ * Minimal HTML text escaping for attribute/text content the renderer itself emits (§A4 — every interpolated
18
+ * user title/ref MUST pass through this before landing in the fragment, so a forged title cannot inject
19
+ * markup). Byte-for-byte the same escape focus's renderer uses, so the two fragments are consistent.
20
+ */
21
+ export declare const escapeHtml: (value: string) => string;
22
+ /**
23
+ * The trusted-local-CLI hooks (identity sanitize): track's `--format html` is a local surface, not untrusted
24
+ * network output — the renderer already escapes every interpolation, so identity sanitize is safe here. An
25
+ * L4/web host (the Svelte app) supplies a REAL DOMPurify/sanitize-html hook instead.
26
+ */
27
+ export declare const IDENTITY_HOOKS: DsFragmentHooks;
28
+ //# sourceMappingURL=present.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"present.d.ts","sourceRoot":"","sources":["../../src/report/present.ts"],"names":[],"mappings":"AAeA,4GAA4G;AAC5G,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;AAEzD,+FAA+F;AAC/F,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;AAEnD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAA;CACzC;AAED,oGAAoG;AACpG,MAAM,MAAM,mBAAmB,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,CAAA;AAEzF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAMhB,CAAA;AAE3B;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,eAA4D,CAAA"}
@@ -0,0 +1,32 @@
1
+ // report-revamp §C — the SHARED design-system fragment contract (the "embeddable-view contract" of
2
+ // M5-decision-presentation-DESIGN §3.3). The report and the focus dossier are the SAME presenter: both emit
3
+ // a self-contained, DS-styled `<article>` FRAGMENT (structure + namespaced classes + `data-*` variants, NO
4
+ // inline styling, NO tokens embedded), with markdown/sanitization INJECTED by the host. The design system
5
+ // supplies the CSS (`--st-*` tokens) and wrapping; a fragment is embeddable in the Svelte app OR any host.
6
+ //
7
+ // This module defines the contract ONCE. Two implementations conform to it:
8
+ // • focus — `@sentropic/focus` `renderHtml(DecisionDossierDocument, HtmlRenderHooks)` (the dossier side),
9
+ // already vendored in `../focus-vendor/render/html.js`;
10
+ // • report — `renderReportHtml(ReportView, DsFragmentHooks)` (this repo, `./html.ts`).
11
+ // Both take `(model, hooks) => sanitizedFragment` and share the SAME hooks shape (a superset of focus's
12
+ // `HtmlRenderHooks`: `renderMarkdown` is OPTIONAL because a report carries no prose). The full Svelte app
13
+ // (design-system-svelte, focus L-D) consumes this contract — it is the cross-repo DS piece, out of scope
14
+ // here; this repo ships the DS-compatible FRAGMENT that app embeds.
15
+ /**
16
+ * Minimal HTML text escaping for attribute/text content the renderer itself emits (§A4 — every interpolated
17
+ * user title/ref MUST pass through this before landing in the fragment, so a forged title cannot inject
18
+ * markup). Byte-for-byte the same escape focus's renderer uses, so the two fragments are consistent.
19
+ */
20
+ export const escapeHtml = (value) => value
21
+ .replace(/&/g, '&amp;')
22
+ .replace(/</g, '&lt;')
23
+ .replace(/>/g, '&gt;')
24
+ .replace(/"/g, '&quot;')
25
+ .replace(/'/g, '&#39;');
26
+ /**
27
+ * The trusted-local-CLI hooks (identity sanitize): track's `--format html` is a local surface, not untrusted
28
+ * network output — the renderer already escapes every interpolation, so identity sanitize is safe here. An
29
+ * L4/web host (the Svelte app) supplies a REAL DOMPurify/sanitize-html hook instead.
30
+ */
31
+ export const IDENTITY_HOOKS = { sanitizeHtml: (h) => h };
32
+ //# sourceMappingURL=present.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"present.js","sourceRoot":"","sources":["../../src/report/present.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,4GAA4G;AAC5G,2GAA2G;AAC3G,0GAA0G;AAC1G,2GAA2G;AAC3G,EAAE;AACF,4EAA4E;AAC5E,6GAA6G;AAC7G,qEAAqE;AACrE,yFAAyF;AACzF,wGAAwG;AACxG,0GAA0G;AAC1G,yGAAyG;AACzG,oEAAoE;AAqBpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAU,EAAE,CAClD,KAAK;KACF,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;KACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;KACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;KACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;KACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAE3B;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB,EAAE,YAAY,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/track",
3
- "version": "0.85.10",
3
+ "version": "0.85.13",
4
4
  "description": "Typed product-backlog and spec/plan/UAT system of record for the sentropic ecosystem (record-only MVP).",
5
5
  "license": "MIT",
6
6
  "author": "Fabien Antoine",