wiki-formant 0.8.0 → 0.9.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/README.md +61 -1
- package/dist/blocks.d.ts +34 -0
- package/dist/blocks.d.ts.map +1 -1
- package/dist/blocks.js +42 -0
- package/dist/blocks.js.map +1 -1
- package/dist/combobox.d.ts +11 -1
- package/dist/combobox.d.ts.map +1 -1
- package/dist/combobox.js +4 -4
- package/dist/combobox.js.map +1 -1
- package/dist/feed.d.ts +50 -0
- package/dist/feed.d.ts.map +1 -0
- package/dist/feed.js +94 -0
- package/dist/feed.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/license.d.ts +39 -0
- package/dist/license.d.ts.map +1 -0
- package/dist/license.js +50 -0
- package/dist/license.js.map +1 -0
- package/dist/react.d.ts +71 -2
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +100 -2
- package/dist/react.js.map +1 -1
- package/dist/revisions.d.ts +99 -0
- package/dist/revisions.d.ts.map +1 -0
- package/dist/revisions.js +175 -0
- package/dist/revisions.js.map +1 -0
- package/dist/well-known.d.ts +27 -0
- package/dist/well-known.d.ts.map +1 -1
- package/dist/well-known.js +30 -0
- package/dist/well-known.js.map +1 -1
- package/package.json +13 -1
package/dist/react.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ComboboxAria } from './combobox.js';
|
|
2
|
-
import { type CSSProperties, type KeyboardEvent, type ReactNode } from 'react';
|
|
2
|
+
import { Component, type CSSProperties, type KeyboardEvent, type ReactNode } from 'react';
|
|
3
3
|
export interface SidebarOptions {
|
|
4
4
|
/**
|
|
5
5
|
* Where the reader's choice is remembered, in `localStorage`. Give each wiki
|
|
@@ -160,7 +160,7 @@ export interface TypeaheadState<T> {
|
|
|
160
160
|
* with a desktop and a mobile field renders both into the same document, and
|
|
161
161
|
* one id set across the two duplicates every option id.
|
|
162
162
|
*/
|
|
163
|
-
combobox: (listKey?: string) => ComboboxAria;
|
|
163
|
+
combobox: (listKey?: string, open?: boolean) => ComboboxAria;
|
|
164
164
|
}
|
|
165
165
|
/**
|
|
166
166
|
* The debounced-search state machine behind every typeahead on these sites.
|
|
@@ -223,4 +223,73 @@ export interface LinkPreviewState<T> {
|
|
|
223
223
|
* three things, and those three are the options above.
|
|
224
224
|
*/
|
|
225
225
|
export declare function useLinkPreview<T>({ eligible, fetch, cardClassName, cardWidth, cardHeight, showDelay, hideDelay, margin, }: LinkPreviewOptions<T>): LinkPreviewState<T>;
|
|
226
|
+
export type SortDirection = 'asc' | 'desc';
|
|
227
|
+
export interface TableSortState<T, K extends string> {
|
|
228
|
+
sorted: T[];
|
|
229
|
+
sortKey: K;
|
|
230
|
+
direction: SortDirection;
|
|
231
|
+
/** Spread onto a header cell. `active` is what drives `aria-sort`. */
|
|
232
|
+
headerProps: (key: K) => {
|
|
233
|
+
sortKey: K;
|
|
234
|
+
active: boolean;
|
|
235
|
+
direction: SortDirection;
|
|
236
|
+
onSort: (key: K) => void;
|
|
237
|
+
'aria-sort': 'ascending' | 'descending' | 'none';
|
|
238
|
+
};
|
|
239
|
+
toggle: (key: K) => void;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* One active column, direction toggling on re-click, every table the same.
|
|
243
|
+
*
|
|
244
|
+
* One repo had this as a hook; the other inlined the identical state machine in
|
|
245
|
+
* two chart tables, differing only in the `useState` seed and the comparator
|
|
246
|
+
* payload. The comparator record replaces the `if`-chain those copies used, so
|
|
247
|
+
* adding a column is a map entry rather than another branch.
|
|
248
|
+
*
|
|
249
|
+
* `aria-sort` is emitted here because only one of the two header components had
|
|
250
|
+
* it, and a sortable column that never announces its direction is a button whose
|
|
251
|
+
* effect a screen reader cannot observe.
|
|
252
|
+
*/
|
|
253
|
+
export declare function useTableSort<T, K extends string>(rows: readonly T[], config: {
|
|
254
|
+
defaultKey: K;
|
|
255
|
+
comparators: Record<K, (a: T, b: T) => number>;
|
|
256
|
+
defaultDirection?: SortDirection;
|
|
257
|
+
}): TableSortState<T, K>;
|
|
258
|
+
/**
|
|
259
|
+
* "Copied", then not, after a beat. Six call sites across three repos wrote the
|
|
260
|
+
* same three statements, and four of the six had no rejection handler — so a
|
|
261
|
+
* denied clipboard permission left the button claiming success. The imperative
|
|
262
|
+
* twin in `wiki-formant/dom` has handled that since it was extracted.
|
|
263
|
+
*
|
|
264
|
+
* The key form is for a surface with several copyable things and one indicator:
|
|
265
|
+
* `copied === 'cite'` rather than a boolean per button.
|
|
266
|
+
*/
|
|
267
|
+
export declare function useCopy<K extends string = string>(revertAfter?: number): {
|
|
268
|
+
copied: K | null;
|
|
269
|
+
copy: (text: string, key?: K) => Promise<boolean>;
|
|
270
|
+
};
|
|
271
|
+
/**
|
|
272
|
+
* The one thing hooks cannot express, so it is worth owning once.
|
|
273
|
+
*
|
|
274
|
+
* `fallback` is a render prop taking a `retry` closure, which is the better of
|
|
275
|
+
* the two shapes this was lifted from: the other hardcoded its own "Try again"
|
|
276
|
+
* button and so could not be restyled or relabelled by a caller. Recovery is the
|
|
277
|
+
* caller's, and the boundary only decides when to offer it.
|
|
278
|
+
*/
|
|
279
|
+
export declare class ErrorBoundary extends Component<{
|
|
280
|
+
children: ReactNode;
|
|
281
|
+
fallback: (retry: () => void) => ReactNode;
|
|
282
|
+
onError?: (error: unknown) => void;
|
|
283
|
+
}, {
|
|
284
|
+
failed: boolean;
|
|
285
|
+
}> {
|
|
286
|
+
state: {
|
|
287
|
+
failed: boolean;
|
|
288
|
+
};
|
|
289
|
+
static getDerivedStateFromError(): {
|
|
290
|
+
failed: boolean;
|
|
291
|
+
};
|
|
292
|
+
componentDidCatch(error: unknown): void;
|
|
293
|
+
render(): ReactNode;
|
|
294
|
+
}
|
|
226
295
|
//# sourceMappingURL=react.d.ts.map
|
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AA8BA,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
|
package/dist/react.js
CHANGED
|
@@ -28,7 +28,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
28
28
|
// sync afterwards, so CSS has one source of truth either side of hydration.
|
|
29
29
|
import { resolveSidebarOpen, SIDEBAR_ATTRIBUTE } from './sidebar.js';
|
|
30
30
|
import { comboboxAria } from './combobox.js';
|
|
31
|
-
import { createContext, createElement, useCallback, useContext, useEffect, useId, useMemo, useRef, useState, } from 'react';
|
|
31
|
+
import { Component, createContext, createElement, useCallback, useContext, useEffect, useId, useMemo, useRef, useState, } from 'react';
|
|
32
32
|
const readStored = (key) => {
|
|
33
33
|
try {
|
|
34
34
|
const raw = window.localStorage.getItem(key);
|
|
@@ -359,7 +359,7 @@ export function useTypeahead({ fetch, onPick, onEscape, delay = 200, minLength =
|
|
|
359
359
|
// The ids have to be stable per mount and unique per surface; `useId` is what
|
|
360
360
|
// makes a second typeahead on the same page legal.
|
|
361
361
|
const baseId = useId();
|
|
362
|
-
const combobox = useCallback((listKey) => comboboxAria({ baseId, listKey, count: items.length, highlight }), [baseId, items.length, highlight]);
|
|
362
|
+
const combobox = useCallback((listKey, open) => comboboxAria({ baseId, listKey, count: items.length, highlight, open }), [baseId, items.length, highlight]);
|
|
363
363
|
return {
|
|
364
364
|
query,
|
|
365
365
|
setQuery,
|
|
@@ -473,4 +473,102 @@ export function useLinkPreview({ eligible, fetch, cardClassName = 'link-preview-
|
|
|
473
473
|
},
|
|
474
474
|
};
|
|
475
475
|
}
|
|
476
|
+
/**
|
|
477
|
+
* One active column, direction toggling on re-click, every table the same.
|
|
478
|
+
*
|
|
479
|
+
* One repo had this as a hook; the other inlined the identical state machine in
|
|
480
|
+
* two chart tables, differing only in the `useState` seed and the comparator
|
|
481
|
+
* payload. The comparator record replaces the `if`-chain those copies used, so
|
|
482
|
+
* adding a column is a map entry rather than another branch.
|
|
483
|
+
*
|
|
484
|
+
* `aria-sort` is emitted here because only one of the two header components had
|
|
485
|
+
* it, and a sortable column that never announces its direction is a button whose
|
|
486
|
+
* effect a screen reader cannot observe.
|
|
487
|
+
*/
|
|
488
|
+
export function useTableSort(rows, config) {
|
|
489
|
+
const { defaultKey, comparators, defaultDirection = 'desc' } = config;
|
|
490
|
+
const [sortKey, setSortKey] = useState(defaultKey);
|
|
491
|
+
const [direction, setDirection] = useState(defaultDirection);
|
|
492
|
+
const toggle = useCallback((key) => {
|
|
493
|
+
if (key === sortKey)
|
|
494
|
+
setDirection(d => (d === 'desc' ? 'asc' : 'desc'));
|
|
495
|
+
else {
|
|
496
|
+
setSortKey(key);
|
|
497
|
+
setDirection(defaultDirection);
|
|
498
|
+
}
|
|
499
|
+
}, [sortKey, defaultDirection]);
|
|
500
|
+
const sorted = useMemo(() => {
|
|
501
|
+
const comparator = comparators[sortKey];
|
|
502
|
+
if (!comparator)
|
|
503
|
+
return [...rows];
|
|
504
|
+
const multiplier = direction === 'asc' ? 1 : -1;
|
|
505
|
+
return [...rows].sort((a, b) => multiplier * comparator(a, b));
|
|
506
|
+
}, [rows, sortKey, direction, comparators]);
|
|
507
|
+
const headerProps = useCallback((key) => {
|
|
508
|
+
const active = key === sortKey;
|
|
509
|
+
return {
|
|
510
|
+
sortKey: key,
|
|
511
|
+
active,
|
|
512
|
+
direction,
|
|
513
|
+
onSort: toggle,
|
|
514
|
+
'aria-sort': (active ? (direction === 'asc' ? 'ascending' : 'descending') : 'none'),
|
|
515
|
+
};
|
|
516
|
+
}, [sortKey, direction, toggle]);
|
|
517
|
+
return { sorted, sortKey, direction, headerProps, toggle };
|
|
518
|
+
}
|
|
519
|
+
// ---- copy to clipboard ------------------------------------------------------
|
|
520
|
+
/**
|
|
521
|
+
* "Copied", then not, after a beat. Six call sites across three repos wrote the
|
|
522
|
+
* same three statements, and four of the six had no rejection handler — so a
|
|
523
|
+
* denied clipboard permission left the button claiming success. The imperative
|
|
524
|
+
* twin in `wiki-formant/dom` has handled that since it was extracted.
|
|
525
|
+
*
|
|
526
|
+
* The key form is for a surface with several copyable things and one indicator:
|
|
527
|
+
* `copied === 'cite'` rather than a boolean per button.
|
|
528
|
+
*/
|
|
529
|
+
export function useCopy(revertAfter = 2000) {
|
|
530
|
+
const [copied, setCopied] = useState(null);
|
|
531
|
+
const timer = useRef(null);
|
|
532
|
+
// A component unmounted inside the revert window would otherwise set state on
|
|
533
|
+
// a dead tree.
|
|
534
|
+
useEffect(() => () => { if (timer.current)
|
|
535
|
+
clearTimeout(timer.current); }, []);
|
|
536
|
+
const copy = useCallback(async (text, key) => {
|
|
537
|
+
try {
|
|
538
|
+
await navigator.clipboard.writeText(text);
|
|
539
|
+
}
|
|
540
|
+
catch {
|
|
541
|
+
return false;
|
|
542
|
+
}
|
|
543
|
+
setCopied((key ?? 'copied'));
|
|
544
|
+
if (timer.current)
|
|
545
|
+
clearTimeout(timer.current);
|
|
546
|
+
timer.current = setTimeout(() => setCopied(null), revertAfter);
|
|
547
|
+
return true;
|
|
548
|
+
}, [revertAfter]);
|
|
549
|
+
return { copied, copy };
|
|
550
|
+
}
|
|
551
|
+
// ---- error boundary ---------------------------------------------------------
|
|
552
|
+
/**
|
|
553
|
+
* The one thing hooks cannot express, so it is worth owning once.
|
|
554
|
+
*
|
|
555
|
+
* `fallback` is a render prop taking a `retry` closure, which is the better of
|
|
556
|
+
* the two shapes this was lifted from: the other hardcoded its own "Try again"
|
|
557
|
+
* button and so could not be restyled or relabelled by a caller. Recovery is the
|
|
558
|
+
* caller's, and the boundary only decides when to offer it.
|
|
559
|
+
*/
|
|
560
|
+
export class ErrorBoundary extends Component {
|
|
561
|
+
state = { failed: false };
|
|
562
|
+
static getDerivedStateFromError() {
|
|
563
|
+
return { failed: true };
|
|
564
|
+
}
|
|
565
|
+
componentDidCatch(error) {
|
|
566
|
+
this.props.onError?.(error);
|
|
567
|
+
}
|
|
568
|
+
render() {
|
|
569
|
+
if (this.state.failed)
|
|
570
|
+
return this.props.fallback(() => this.setState({ failed: false }));
|
|
571
|
+
return this.props.children;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
476
574
|
//# sourceMappingURL=react.js.map
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,iFAAiF;AACjF,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,gEAAgE;AAChE,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,6CAA6C;AAC7C,EAAE;AACF,gFAAgF;AAChF,mBAAmB;AACnB,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,+EAA+E;AAC/E,wDAAwD;AACxD,2EAA2E;AAC3E,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,4EAA4E;AAC5E,iFAAiF;AAEjF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;AAChE,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,KAAK,EACL,OAAO,EACP,MAAM,EACN,QAAQ,GAIT,MAAM,OAAO,CAAC;AA4Bf,MAAM,UAAU,GAAG,CAAC,GAAW,EAAkB,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,2CAA2C;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAA0B,EAAE;IAChE,MAAM,EAAE,UAAU,GAAG,cAAc,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAEnE,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,4EAA4E;IAC5E,wCAAwC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAE,EAAE;YACjC,WAAW,CAAC,OAAO,CAAC,CAAC;YACrB,uEAAuE;YACvE,YAAY,CAAC,OAAO,CAAC,EAAE,CACrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CACnF,CAAC;QACJ,CAAC,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,MAAM,OAAO,GAAG,CAAC,CAAsB,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7D,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7B,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,IAAa,EAAE,EAAE;QAChB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAElE,4EAA4E;IAC5E,mEAAmE;IACnE,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrF,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACpD,CAAC;AAED,gFAAgF;AAEhF,2EAA2E;AAC3E,gFAAgF;AAChF,+EAA+E;AAE/E,MAAM,cAAc,GAAG,aAAa,CAAsB,IAAI,CAAC,CAAC;AAMhE,kEAAkE;AAClE,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAwB;IAC5E,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAChF,OAAO,GAAG,CAAC;AACb,CAAC;AA8DD,MAAM,YAAY,GAAG,CAAC,CAAe,EAAE,CAAe,EAAW,EAAE,CACjE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;AAEzF;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,iBAAiB,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EACR,UAAU,GAAG,EAAE,EACf,IAAI,EACJ,KAAK,GAAG,cAAc,EACtB,IAAI,EACJ,SAAS,EACT,cAAc,GAAG,EAAE,EACnB,SAAS,GAAG,IAAI,EAChB,KAAK,GAAG,IAAI,GACS;IACrB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,gBAAgB,IAAI,OAAO,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,kEAAkE;QAClE,IAAI,gBAAgB,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACnD,IAAI,KAAoC,CAAC;QAEzC,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,0EAA0E;YAC1E,mDAAmD;YACnD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBACvD,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC/B,MAAM,IAAI,GAAiB,EAAE,CAAC;gBAE9B,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;oBACjE,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBAC1C,IAAI,CAAC,IAAI;wBAAE,SAAS;oBACpB,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;oBACf,IAAI,CAAC,EAAE,EAAE,CAAC;wBACR,IAAI,CAAC,IAAI;4BAAE,SAAS,CAAC,qCAAqC;wBAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;wBACrC,EAAE,GAAG,IAAI,CAAC;wBACV,IAAI,CAAC,GAAG,CAAC,CAAC;wBACV,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;4BAAE,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;wBAC1E,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;oBACb,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxD,CAAC;gBAED,wEAAwE;gBACxE,0DAA0D;gBAC1D,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC;QAEF,MAAM,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,IAAI;YAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,yEAAyE;QACzE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACzC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,OAAO,CAAC,EAAE;YACR,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,cAAc;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;oBAC1C,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI;gBAAE,OAAO;YAC1B,oEAAoE;YACpE,gDAAgD;YAChD,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,OAAO,GAAG,QAAQ,CAAC;YACvB,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;gBACtC,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;oBAClB,OAAO,GAAG,GAAG,CAAC;oBACd,MAAM,GAAG,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;YACD,IAAI,MAAM;gBAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,EACD,EAAE,UAAU,EAAE,IAAI,SAAS,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,CAC7D,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE;gBAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAE1C,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnF,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,4BAAG,KAAK,GAAI,CAAC;IAE1C,OAAO,CACL,eAAK,SAAS,EAAE,UAAU,CAAC,IAAI,aAC7B,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACnC,SAAS,EAAE,UAAU,CAAC,MAAM,mBACb,QAAQ,aAEtB,IAAI,EAAE,CAAC,QAAQ,CAAC,EACjB,eAAM,SAAS,EAAE,UAAU,CAAC,KAAK,YAAG,KAAK,GAAQ,IAC1C,EACR,QAAQ,IAAI,CACX,cAAK,SAAS,EAAE,UAAU,CAAC,IAAI,gBAAc,KAAK,YAC/C,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACjB,iBACE,IAAI,EAAC,QAAQ,EAEb,OAAO,EAAE,GAAG,EAAE;wBACZ,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAClB,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACxE,CAAC,EACD,SAAS,EACP,SAAS,KAAK,CAAC,CAAC,EAAE;wBAChB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;wBACpE,CAAC,CAAC,UAAU,CAAC,IAAI,kBAEP,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACzD,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,KAAK,EAAmB,YAEzE,CAAC,CAAC,IAAI,IAbF,CAAC,CAAC,EAAE,CAcF,CACV,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAwB,OAAmB;IACxE,MAAM,GAAG,GAAG,MAAM,CAAI,IAAI,CAAC,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,CAAC,CAAa,EAAE,EAAE;YAChC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;YACvB,IAAI,EAAE,IAAI,EAAE,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC;gBAAE,OAAO,EAAE,CAAC;QAClF,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,GAAG,CAAC;AACb,CAAC;AAiDD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAAI,EAC9B,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,GAAG,GAAG,EACX,SAAS,GAAG,CAAC,EACb,KAAK,GAAG,IAAI,GACQ;IACpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAM,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,EAAe,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YACzB,qEAAqE;YACrE,oCAAoC;YACpC,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtD,IAAI,GAAG,EAAE,CAAC;YACR,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAC9B,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,KAAK,SAAS,CAAC,OAAO;gBAAE,OAAO;YACrC,IAAI,KAAK;gBAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,EACD,GAAG,EAAE;YACH,uEAAuE;YACvE,iEAAiE;YACjE,IAAI,EAAE,KAAK,SAAS,CAAC,OAAO;gBAAE,OAAO;YACrC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CACF,CAAC;QAEF,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEvD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,YAAY,CAAC,EAAE,CAAC,CAAC;QACjB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,CAAC,CAAkC,EAAE,EAAE;QACvD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvB,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,QAAQ,EAAE,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAC1B,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC/B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC7B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,MAAM;gBAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,8EAA8E;IAC9E,mDAAmD;IACnD,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EACvF,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAClC,CAAC;IAEF,OAAO;QACL,KAAK;QACL,QAAQ;QACR,cAAc,EAAE,SAAS;QACzB,KAAK;QACL,SAAS;QACT,YAAY;QACZ,WAAW;QACX,SAAS;QACT,UAAU;QACV,KAAK;QACL,QAAQ;KACT,CAAC;AACJ,CAAC;AAqCD;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAI,EAChC,QAAQ,EACR,KAAK,EACL,aAAa,GAAG,mBAAmB,EACnC,SAAS,GAAG,GAAG,EACf,UAAU,GAAG,GAAG,EAChB,SAAS,GAAG,GAAG,EACf,SAAS,GAAG,GAAG,EACf,MAAM,GAAG,CAAC,GACY;IACtB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAC9B,IAAI,CACL,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,EAAoB,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,MAAM,CAA4C,SAAS,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,MAAM,CAA4C,SAAS,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAE/C,8EAA8E;IAC9E,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAEnC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,CAAa,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAI,CAAC,CAAC,MAA6B,EAAE,OAAO,CAAC,GAAG,CAA6B,CAAC;YAC1F,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO;YACtD,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,wEAAwE;YACxE,2DAA2D;YAC3D,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAChC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,WAAW,EAAE,CAAC;YACd,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAE1B,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;gBACxC,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACxC,CAAC;oBAAC,MAAM,CAAC;wBACP,IAAI,GAAG,IAAI,CAAC;oBACd,CAAC;oBACD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChC,CAAC;gBACD,iDAAiD;gBACjD,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO;gBACzD,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC;gBACrF,OAAO,CAAC;oBACN,IAAI;oBACJ,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;oBACnF,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM;oBACrD,KAAK;iBACN,CAAC,CAAC;YACL,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,EAAE;YAC9B,8CAA8C;YAC9C,IAAK,CAAC,CAAC,aAAoC,EAAE,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC;gBAAE,OAAO;YAClF,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,GAAG,EAAE;YACV,WAAW,EAAE,CAAC;YACd,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAClD,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpE,OAAO;QACL,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI;QAC3B,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,GAAG,EAAE,IAAI,EAAE,GAAG;gBACd,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;aACzD;YACD,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC;YACnD,YAAY,EAAE,IAAI;SACnB;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { type ChangeType, type SemVer } from './versioning.js';
|
|
2
|
+
/** The only two fields this module needs from a block. */
|
|
3
|
+
export interface DiffBlock {
|
|
4
|
+
id: string;
|
|
5
|
+
type: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* One nested group, with the path segment that addresses it.
|
|
9
|
+
*
|
|
10
|
+
* The segment is part of the contract rather than derived, because the path is
|
|
11
|
+
* what a reviewing UI anchors on: `root.1.columns.0.blocks.2` has to keep
|
|
12
|
+
* meaning the same block across releases, and only the consumer knows how its
|
|
13
|
+
* own containers are addressed.
|
|
14
|
+
*/
|
|
15
|
+
export interface BlockGroup<B> {
|
|
16
|
+
path: string;
|
|
17
|
+
blocks: B[];
|
|
18
|
+
}
|
|
19
|
+
export interface BlockChange<L = unknown> {
|
|
20
|
+
id: string;
|
|
21
|
+
action: 'added' | 'removed' | 'modified' | 'moved';
|
|
22
|
+
type: string;
|
|
23
|
+
/** e.g. `root.0`, or `root.1.columns.0.blocks.2`. */
|
|
24
|
+
path: string;
|
|
25
|
+
attributes?: Record<string, {
|
|
26
|
+
from: unknown;
|
|
27
|
+
to: unknown;
|
|
28
|
+
}>;
|
|
29
|
+
/** Whatever `leafDiff` returned. Absent when no `leafDiff` was supplied. */
|
|
30
|
+
leafDiff?: L;
|
|
31
|
+
}
|
|
32
|
+
export interface RevisionDiff<L = unknown> {
|
|
33
|
+
version: SemVer;
|
|
34
|
+
changeType: ChangeType;
|
|
35
|
+
changes: BlockChange<L>[];
|
|
36
|
+
titleChanged: boolean;
|
|
37
|
+
/** A page-level flag outside the block tree — a banner, a notice, a status. */
|
|
38
|
+
metaChanged: boolean;
|
|
39
|
+
summary: string;
|
|
40
|
+
}
|
|
41
|
+
export interface DiffOptions<B, L> {
|
|
42
|
+
/** Nested groups in document order, or `null` for a leaf. */
|
|
43
|
+
containers: (block: B) => BlockGroup<B>[] | null;
|
|
44
|
+
/**
|
|
45
|
+
* A richer diff for one leaf, when the consumer has one to give. `from` is
|
|
46
|
+
* null for an addition, `to` is null for a removal. Return `undefined` to
|
|
47
|
+
* record nothing, which is the right answer for most block types.
|
|
48
|
+
*/
|
|
49
|
+
leafDiff?: (from: B | null, to: B | null) => L | undefined;
|
|
50
|
+
}
|
|
51
|
+
interface Located<B> {
|
|
52
|
+
block: B;
|
|
53
|
+
path: string;
|
|
54
|
+
}
|
|
55
|
+
/** Every block in the tree, flattened, each with the path that addresses it. */
|
|
56
|
+
export declare function extractBlocks<B>(blocks: readonly B[], containers: (block: B) => BlockGroup<B>[] | null, basePath?: string): Located<B>[];
|
|
57
|
+
/**
|
|
58
|
+
* Which scalar fields differ. Nested block arrays are skipped: they are walked
|
|
59
|
+
* as their own entries, and comparing them here would report a container as
|
|
60
|
+
* modified every time anything inside it moved.
|
|
61
|
+
*/
|
|
62
|
+
export declare function diffAttributes<B extends DiffBlock>(oldBlock: B, newBlock: B, nestedKeys: readonly string[]): Record<string, {
|
|
63
|
+
from: unknown;
|
|
64
|
+
to: unknown;
|
|
65
|
+
}> | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Blocks matched by id, so a block that moved is reported as moved rather than
|
|
68
|
+
* as one removal and one addition.
|
|
69
|
+
*/
|
|
70
|
+
export declare function diffBlocks<B extends DiffBlock, L = unknown>(oldBlocks: readonly B[], newBlocks: readonly B[], opts: DiffOptions<B, L>): BlockChange<L>[];
|
|
71
|
+
/**
|
|
72
|
+
* `major` for structure, `minor` for prose, `patch` for a page-level flag.
|
|
73
|
+
*
|
|
74
|
+
* A `modified` change is only ever recorded when `diffAttributes` returned
|
|
75
|
+
* something, so a non-empty change set is always at least a minor bump.
|
|
76
|
+
*/
|
|
77
|
+
export declare function classifyChanges(changes: readonly BlockChange<unknown>[], titleChanged: boolean, metaChanged?: boolean): ChangeType;
|
|
78
|
+
export declare function changeSummary(diff: {
|
|
79
|
+
changes: readonly BlockChange<unknown>[];
|
|
80
|
+
titleChanged: boolean;
|
|
81
|
+
metaChanged?: boolean;
|
|
82
|
+
metaLabel?: string;
|
|
83
|
+
}): string;
|
|
84
|
+
export declare function computeRevisionDiff<B extends DiffBlock, L = unknown>(opts: {
|
|
85
|
+
currentVersion: string | null | undefined;
|
|
86
|
+
oldContent: readonly B[];
|
|
87
|
+
newContent: readonly B[];
|
|
88
|
+
oldTitle: string;
|
|
89
|
+
newTitle: string;
|
|
90
|
+
/** A page-level value outside the block tree; compared by strict equality. */
|
|
91
|
+
oldMeta?: unknown;
|
|
92
|
+
newMeta?: unknown;
|
|
93
|
+
/** What to call that value in the summary. Defaults to `banner`. */
|
|
94
|
+
metaLabel?: string;
|
|
95
|
+
containers: DiffOptions<B, L>['containers'];
|
|
96
|
+
leafDiff?: DiffOptions<B, L>['leafDiff'];
|
|
97
|
+
}): RevisionDiff<L>;
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=revisions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revisions.d.ts","sourceRoot":"","sources":["../src/revisions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
// revisions.ts — what changed between two versions of a page.
|
|
2
|
+
//
|
|
3
|
+
// The semver lives next door in `versioning.ts`; this is the walk that decides
|
|
4
|
+
// which bump to ask for. Both wikis had written it, and `extractBlocks` was
|
|
5
|
+
// byte-identical between the two copies.
|
|
6
|
+
//
|
|
7
|
+
// They differed in what each had learned since. One grew a leaf-level diff, a
|
|
8
|
+
// second changed-flag for the page's banner, and a `patch` classification for
|
|
9
|
+
// when only that flag moved. The other grew none of those and instead dropped
|
|
10
|
+
// twenty-five lines the first still carries: two Maps keyed by a recursive
|
|
11
|
+
// JSON.stringify of every block, built on every save and never read once.
|
|
12
|
+
// Matching is by id and always was.
|
|
13
|
+
//
|
|
14
|
+
// This is the union, minus the dead half.
|
|
15
|
+
import { incrementVersion, parseVersion } from './versioning.js';
|
|
16
|
+
/** Every block in the tree, flattened, each with the path that addresses it. */
|
|
17
|
+
export function extractBlocks(blocks, containers, basePath = 'root') {
|
|
18
|
+
const out = [];
|
|
19
|
+
blocks.forEach((block, i) => {
|
|
20
|
+
const path = `${basePath}.${i}`;
|
|
21
|
+
out.push({ block, path });
|
|
22
|
+
for (const group of containers(block) ?? []) {
|
|
23
|
+
out.push(...extractBlocks(group.blocks, containers, `${path}.${group.path}`));
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return out;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Which scalar fields differ. Nested block arrays are skipped: they are walked
|
|
30
|
+
* as their own entries, and comparing them here would report a container as
|
|
31
|
+
* modified every time anything inside it moved.
|
|
32
|
+
*/
|
|
33
|
+
export function diffAttributes(oldBlock, newBlock, nestedKeys) {
|
|
34
|
+
const diffs = {};
|
|
35
|
+
const skip = new Set(['id', 'type', ...nestedKeys]);
|
|
36
|
+
for (const key of new Set([...Object.keys(oldBlock), ...Object.keys(newBlock)])) {
|
|
37
|
+
if (skip.has(key))
|
|
38
|
+
continue;
|
|
39
|
+
const from = oldBlock[key];
|
|
40
|
+
const to = newBlock[key];
|
|
41
|
+
if (JSON.stringify(from) !== JSON.stringify(to))
|
|
42
|
+
diffs[key] = { from, to };
|
|
43
|
+
}
|
|
44
|
+
return Object.keys(diffs).length > 0 ? diffs : undefined;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Blocks matched by id, so a block that moved is reported as moved rather than
|
|
48
|
+
* as one removal and one addition.
|
|
49
|
+
*/
|
|
50
|
+
export function diffBlocks(oldBlocks, newBlocks, opts) {
|
|
51
|
+
const nestedKeys = nestedKeysOf(oldBlocks, newBlocks, opts.containers);
|
|
52
|
+
const changes = [];
|
|
53
|
+
const oldFlat = extractBlocks(oldBlocks, opts.containers);
|
|
54
|
+
const newFlat = extractBlocks(newBlocks, opts.containers);
|
|
55
|
+
const matchedOld = new Set();
|
|
56
|
+
const matchedNew = new Set();
|
|
57
|
+
const oldById = new Map(oldFlat.map(item => [item.block.id, item]));
|
|
58
|
+
const newById = new Map(newFlat.map(item => [item.block.id, item]));
|
|
59
|
+
for (const [id, oldItem] of oldById) {
|
|
60
|
+
const newItem = newById.get(id);
|
|
61
|
+
if (!newItem)
|
|
62
|
+
continue;
|
|
63
|
+
matchedOld.add(oldItem.path);
|
|
64
|
+
matchedNew.add(newItem.path);
|
|
65
|
+
if (oldItem.path !== newItem.path) {
|
|
66
|
+
changes.push({
|
|
67
|
+
id,
|
|
68
|
+
action: 'moved',
|
|
69
|
+
type: oldItem.block.type,
|
|
70
|
+
path: newItem.path,
|
|
71
|
+
attributes: { position: { from: oldItem.path, to: newItem.path } },
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
const attributes = diffAttributes(oldItem.block, newItem.block, nestedKeys);
|
|
75
|
+
if (attributes) {
|
|
76
|
+
changes.push({
|
|
77
|
+
id,
|
|
78
|
+
action: 'modified',
|
|
79
|
+
type: newItem.block.type,
|
|
80
|
+
path: newItem.path,
|
|
81
|
+
attributes,
|
|
82
|
+
leafDiff: opts.leafDiff?.(oldItem.block, newItem.block),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
for (const item of oldFlat) {
|
|
87
|
+
if (matchedOld.has(item.path) || newById.has(item.block.id))
|
|
88
|
+
continue;
|
|
89
|
+
changes.push({
|
|
90
|
+
id: item.block.id,
|
|
91
|
+
action: 'removed',
|
|
92
|
+
type: item.block.type,
|
|
93
|
+
path: item.path,
|
|
94
|
+
leafDiff: opts.leafDiff?.(item.block, null),
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
for (const item of newFlat) {
|
|
98
|
+
if (matchedNew.has(item.path) || oldById.has(item.block.id))
|
|
99
|
+
continue;
|
|
100
|
+
changes.push({
|
|
101
|
+
id: item.block.id,
|
|
102
|
+
action: 'added',
|
|
103
|
+
type: item.block.type,
|
|
104
|
+
path: item.path,
|
|
105
|
+
leafDiff: opts.leafDiff?.(null, item.block),
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
return changes;
|
|
109
|
+
}
|
|
110
|
+
/** The keys a container holds its children under, so they are not diffed twice. */
|
|
111
|
+
function nestedKeysOf(oldBlocks, newBlocks, containers) {
|
|
112
|
+
const keys = new Set();
|
|
113
|
+
for (const block of [...oldBlocks, ...newBlocks]) {
|
|
114
|
+
for (const group of containers(block) ?? []) {
|
|
115
|
+
const head = group.path.split('.')[0];
|
|
116
|
+
if (head)
|
|
117
|
+
keys.add(head);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return [...keys];
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* `major` for structure, `minor` for prose, `patch` for a page-level flag.
|
|
124
|
+
*
|
|
125
|
+
* A `modified` change is only ever recorded when `diffAttributes` returned
|
|
126
|
+
* something, so a non-empty change set is always at least a minor bump.
|
|
127
|
+
*/
|
|
128
|
+
export function classifyChanges(changes, titleChanged, metaChanged = false) {
|
|
129
|
+
if (changes.length === 0 && !titleChanged && !metaChanged)
|
|
130
|
+
return 'none';
|
|
131
|
+
if (changes.some(c => c.action === 'added' || c.action === 'removed' || c.action === 'moved')) {
|
|
132
|
+
return 'major';
|
|
133
|
+
}
|
|
134
|
+
if (changes.length > 0 || titleChanged)
|
|
135
|
+
return 'minor';
|
|
136
|
+
return 'patch';
|
|
137
|
+
}
|
|
138
|
+
export function changeSummary(diff) {
|
|
139
|
+
const parts = [];
|
|
140
|
+
if (diff.titleChanged)
|
|
141
|
+
parts.push('title updated');
|
|
142
|
+
if (diff.metaChanged)
|
|
143
|
+
parts.push(`${diff.metaLabel ?? 'banner'} updated`);
|
|
144
|
+
const count = (action) => diff.changes.filter(c => c.action === action).length;
|
|
145
|
+
const plural = (n, word) => `${n} ${word}${n > 1 ? 's' : ''}`;
|
|
146
|
+
for (const [action, verb] of [
|
|
147
|
+
['added', 'added'],
|
|
148
|
+
['removed', 'removed'],
|
|
149
|
+
['modified', 'modified'],
|
|
150
|
+
['moved', 'reordered'],
|
|
151
|
+
]) {
|
|
152
|
+
const n = count(action);
|
|
153
|
+
if (n)
|
|
154
|
+
parts.push(`${plural(n, 'block')} ${verb}`);
|
|
155
|
+
}
|
|
156
|
+
return parts.length > 0 ? parts.join(', ') : 'no changes';
|
|
157
|
+
}
|
|
158
|
+
export function computeRevisionDiff(opts) {
|
|
159
|
+
const changes = diffBlocks(opts.oldContent, opts.newContent, {
|
|
160
|
+
containers: opts.containers,
|
|
161
|
+
leafDiff: opts.leafDiff,
|
|
162
|
+
});
|
|
163
|
+
const titleChanged = opts.oldTitle !== opts.newTitle;
|
|
164
|
+
const metaChanged = opts.oldMeta !== opts.newMeta;
|
|
165
|
+
const changeType = classifyChanges(changes, titleChanged, metaChanged);
|
|
166
|
+
const partial = {
|
|
167
|
+
version: incrementVersion(parseVersion(opts.currentVersion), changeType),
|
|
168
|
+
changeType,
|
|
169
|
+
changes,
|
|
170
|
+
titleChanged,
|
|
171
|
+
metaChanged,
|
|
172
|
+
};
|
|
173
|
+
return { ...partial, summary: changeSummary({ ...partial, metaLabel: opts.metaLabel }) };
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=revisions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revisions.js","sourceRoot":"","sources":["../src/revisions.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,yCAAyC;AACzC,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,oCAAoC;AACpC,EAAE;AACF,0CAA0C;AAE1C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAgC,MAAM,iBAAiB,CAAC;AA0D/F,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAC3B,MAAoB,EACpB,UAAgD,EAChD,QAAQ,GAAG,MAAM;IAEjB,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAW,EACX,QAAW,EACX,UAA6B;IAE7B,MAAM,KAAK,GAAmD,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,MAAM,IAAI,GAAI,QAA+C,CAAC,GAAG,CAAC,CAAC;QACnE,MAAM,EAAE,GAAI,QAA+C,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,SAAuB,EACvB,SAAuB,EACvB,IAAuB;IAEvB,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACvE,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpE,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE;gBACF,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE;aACnE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5E,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE;gBACF,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QACtE,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACjB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QACtE,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACjB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mFAAmF;AACnF,SAAS,YAAY,CACnB,SAAuB,EACvB,SAAuB,EACvB,UAAgD;IAEhD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAwC,EACxC,YAAqB,EACrB,WAAW,GAAG,KAAK;IAEnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW;QAAE,OAAO,MAAM,CAAC;IACzE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,EAAE,CAAC;QAC9F,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY;QAAE,OAAO,OAAO,CAAC;IACvD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAK7B;IACC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,UAAU,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,CAAC,MAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IACtG,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,IAAY,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9E,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI;QAC3B,CAAC,OAAO,EAAE,OAAO,CAAC;QAClB,CAAC,SAAS,EAAE,SAAS,CAAC;QACtB,CAAC,UAAU,EAAE,UAAU,CAAC;QACxB,CAAC,OAAO,EAAE,WAAW,CAAC;KACd,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAmC,IAarE;IACC,MAAM,OAAO,GAAG,UAAU,CAAO,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;QACjE,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;IAClD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;QACxE,UAAU;QACV,OAAO;QACP,YAAY;QACZ,WAAW;KACZ,CAAC;IACF,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;AAC3F,CAAC"}
|
package/dist/well-known.d.ts
CHANGED
|
@@ -80,4 +80,31 @@ export interface AgentCardConfig {
|
|
|
80
80
|
* means half the callers conclude the origin has no agent at all.
|
|
81
81
|
*/
|
|
82
82
|
export declare function agentCard(config: AgentCardConfig): Record<string, unknown>;
|
|
83
|
+
/** The registry manifest (`server.json`) fields a card projects. */
|
|
84
|
+
export interface ServerManifest {
|
|
85
|
+
name: string;
|
|
86
|
+
title?: string;
|
|
87
|
+
description?: string;
|
|
88
|
+
version: string;
|
|
89
|
+
websiteUrl?: string;
|
|
90
|
+
remotes?: ReadonlyArray<Record<string, unknown>>;
|
|
91
|
+
}
|
|
92
|
+
export declare const SERVER_CARD_SCHEMA = "https://static.modelcontextprotocol.io/schemas/draft/server-card.schema.json";
|
|
93
|
+
/**
|
|
94
|
+
* The card served at `<mcp-url>/server-card`.
|
|
95
|
+
*
|
|
96
|
+
* Status: the Server Card extension is a DRAFT (SEP-1649 / SEP-2127) whose
|
|
97
|
+
* location has already moved once, from `/.well-known/mcp.json` to that path.
|
|
98
|
+
* It costs nothing to keep correct, because every field is projected from the
|
|
99
|
+
* registry manifest that already single-sources the version. If the draft moves
|
|
100
|
+
* again, move the route; if it dies, delete it.
|
|
101
|
+
*
|
|
102
|
+
* Projection is the point. One repo retyped `title` and `description` as
|
|
103
|
+
* literals beside the manifest it was already importing, so it carried two
|
|
104
|
+
* copies of its own description with nothing comparing them; a third retyped
|
|
105
|
+
* them again in a different route. Passing the manifest makes that unspellable.
|
|
106
|
+
*
|
|
107
|
+
* Cards deliberately omit tool listings — that is what `tools/list` is for.
|
|
108
|
+
*/
|
|
109
|
+
export declare function serverCard(manifest: ServerManifest, protocolVersion: string): Record<string, unknown>;
|
|
83
110
|
//# sourceMappingURL=well-known.d.ts.map
|