@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.
- package/dist/cli/index.js +24 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/read/commands.d.ts +13 -1
- package/dist/read/commands.d.ts.map +1 -1
- package/dist/read/commands.js +31 -1
- package/dist/read/commands.js.map +1 -1
- package/dist/read/contract.d.ts +2 -2
- package/dist/read/contract.js +1 -1
- package/dist/read/contract.js.map +1 -1
- package/dist/report/build.d.ts +27 -0
- package/dist/report/build.d.ts.map +1 -1
- package/dist/report/build.js +103 -5
- package/dist/report/build.js.map +1 -1
- package/dist/report/directive.d.ts +37 -11
- package/dist/report/directive.d.ts.map +1 -1
- package/dist/report/directive.js +61 -11
- package/dist/report/directive.js.map +1 -1
- package/dist/report/format.d.ts +27 -2
- package/dist/report/format.d.ts.map +1 -1
- package/dist/report/format.js +126 -11
- package/dist/report/format.js.map +1 -1
- package/dist/report/html.d.ts +9 -0
- package/dist/report/html.d.ts.map +1 -0
- package/dist/report/html.js +76 -0
- package/dist/report/html.js.map +1 -0
- package/dist/report/present.d.ts +28 -0
- package/dist/report/present.d.ts.map +1 -0
- package/dist/report/present.js +32 -0
- package/dist/report/present.js.map +1 -0
- package/package.json +1 -1
package/dist/report/format.js
CHANGED
|
@@ -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}):
|
|
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
|
-
|
|
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}):
|
|
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}):
|
|
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, '&')
|
|
22
|
+
.replace(/</g, '<')
|
|
23
|
+
.replace(/>/g, '>')
|
|
24
|
+
.replace(/"/g, '"')
|
|
25
|
+
.replace(/'/g, ''');
|
|
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