@shardworks/clerk-apparatus 0.1.248 → 0.1.250
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/clerk.d.ts.map +1 -1
- package/dist/clerk.js +19 -5
- package/dist/clerk.js.map +1 -1
- package/package.json +5 -5
- package/pages/writs/index.html +99 -20
- package/pages/writs/writs-hierarchy.test.js +268 -6
package/dist/clerk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clerk.d.ts","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,wBAAwB,CAAC;AAKrE,OAAO,KAAK,EAWV,aAAa,EACb,SAAS,EAEV,MAAM,YAAY,CAAC;AAsBpB,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;CACzB;AAID;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAM3C;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,sDACG,CAAC;AAoBtD,wBAAgB,WAAW,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"clerk.d.ts","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,wBAAwB,CAAC;AAKrE,OAAO,KAAK,EAWV,aAAa,EACb,SAAS,EAEV,MAAM,YAAY,CAAC;AAsBpB,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;CACzB;AAID;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAM3C;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,sDACG,CAAC;AAoBtD,wBAAgB,WAAW,IAAI,MAAM,CA+yBpC"}
|
package/dist/clerk.js
CHANGED
|
@@ -115,13 +115,27 @@ export function createClerk() {
|
|
|
115
115
|
continue;
|
|
116
116
|
}
|
|
117
117
|
const name = entry.name;
|
|
118
|
-
// Config override: skip silently
|
|
118
|
+
// Config override: skip silently. Config-vs-kit precedence is unchanged;
|
|
119
|
+
// the kit-vs-kit collision rule below only fires when no config entry
|
|
120
|
+
// claims the writ type.
|
|
119
121
|
if (configWritTypeNames.has(name))
|
|
120
122
|
continue;
|
|
121
|
-
|
|
122
|
-
if (
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
const existing = mergedWritTypes.get(name);
|
|
124
|
+
if (existing !== undefined) {
|
|
125
|
+
// Built-in vs. kit: silently skip. A kit that re-declares a built-in
|
|
126
|
+
// writ type is redundant but harmless — the built-in is already valid.
|
|
127
|
+
if (existing.source === 'builtin')
|
|
128
|
+
continue;
|
|
129
|
+
// Kit-vs-kit collision: throw at registration time. Two kits
|
|
130
|
+
// contributing the same writ type is a guild-config hazard — operators
|
|
131
|
+
// resolve by removing one contribution, or by overriding via guild
|
|
132
|
+
// config (clerk.writTypes).
|
|
133
|
+
throw new Error(`[clerk] writTypes: writ type "${name}" is contributed by two kits ` +
|
|
134
|
+
`— kit "${existing.source}" already registered it, and ` +
|
|
135
|
+
`kit "${pluginId}" attempted to register it again. ` +
|
|
136
|
+
`Two kits cannot contribute the same writ type. ` +
|
|
137
|
+
`Resolve by removing one of the kit contributions, or by overriding ` +
|
|
138
|
+
`via guild config (clerk.writTypes).`);
|
|
125
139
|
}
|
|
126
140
|
mergedWritTypes.set(name, {
|
|
127
141
|
description: entry.description,
|
package/dist/clerk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clerk.js","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAmBnD,OAAO,EACL,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAkBzD,wEAAwE;AAExE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEnD,wEAAwE;AAExE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAChD,mDAAmD,CAAC;AAEtD,wEAAwE;AAExE,MAAM,YAAY,GAAmC;IACnD,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,CAAC;IACnB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;IACnC,GAAG,EAAE,EAAE;CACR,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAEjF,wEAAwE;AAExE,gDAAgD;AAChD,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEjF,MAAM,UAAU,WAAW;IACzB,IAAI,MAAiB,CAAC;IACtB,IAAI,KAAoB,CAAC;IACzB,IAAI,KAAwB,CAAC;IAQ7B,8FAA8F;IAC9F,IAAI,eAAe,GAA8B,IAAI,GAAG,CACtD,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAChE,CAAC;IAEF,sFAAsF;IACtF,IAAI,mBAAmB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAQjD,gEAAgE;IAChE,IAAI,gBAAgB,GAA0B,IAAI,GAAG,EAAE,CAAC;IAExD;;;;;OAKG;IACH,MAAM,cAAc,GAAG,4BAA4B,CAAC;IAEpD,oEAAoE;IAEpE,SAAS,kBAAkB;QACzB,OAAO,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,SAAS,gBAAgB;QACvB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,SAAS,kBAAkB;QACzB,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,WAAW,IAAI,iBAAiB,CAAC;IACjD,CAAC;IAED,SAAS,gBAAgB,CAAC,OAAqB;QAC7C,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,SAAS,oBAAoB,CAAC,QAA8C;QAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO;QAEhC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YACxB,IACE,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,OAAQ,KAAiC,CAAC,IAAI,KAAK,QAAQ,EAC3D,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,gBAAgB,QAAQ,+DAA+D,CACxF,CAAC;gBACF,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAI,KAAuB,CAAC,IAAI,CAAC;YAE3C,iCAAiC;YACjC,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAE5C,+CAA+C;YAC/C,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CACV,gBAAgB,QAAQ,sBAAsB,IAAI,+CAA+C,CAClG,CAAC;gBACF,SAAS;YACX,CAAC;YAED,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE;gBACxB,WAAW,EAAG,KAAuB,CAAC,WAAW;gBACjD,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,SAAS,oBAAoB,CAAC,QAA8C;QAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,gBAAgB,QAAQ,uCAAuC,OAAO,GAAG,GAAG,CAC7E,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACb,gBAAgB,QAAQ,4CAA4C,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAC/G,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,KAAgC,CAAC;YAC7C,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YAEpC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CACb,gBAAgB,QAAQ,8DAA8D,CACvF,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CACb,gBAAgB,QAAQ,uBAAuB,EAAE,sDAAsD,CACxG,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CACb,gBAAgB,QAAQ,uBAAuB,EAAE,oDAAoD,CACtG,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEpC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,gBAAgB,QAAQ,uBAAuB,EAAE,iBAAiB,MAAM,gDAAgD,QAAQ,IAAI,CACrI,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,gBAAgB,QAAQ,uBAAuB,EAAE,aAAa,MAAM,iGAAiG,CACtK,CAAC;YACJ,CAAC;YAED,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CACb,gBAAgB,QAAQ,mCAAmC,EAAE,kCAAkC,QAAQ,CAAC,WAAW,IAAI,CACxH,CAAC;YACJ,CAAC;YAED,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE;gBACvB,WAAW,EAAE,QAAQ;gBACrB,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,oEAAoE;IAEpE,MAAM,GAAG,GAAa;QACpB,KAAK,CAAC,IAAI,CAAC,OAA8B;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,EAAE,CAAC;YAClD,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;YAEtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,sBAAsB,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrF,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAEnC,qEAAqE;YACrE,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAE1B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,sCAAsC;gBACtC,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;oBACrC,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAU,OAAO,EAAE,OAAO,CAAC,CAAC;oBAEnD,oDAAoD;oBACpD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAS,CAAC,CAAC;oBACpD,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,CAAC,QAAQ,cAAc,CAAC,CAAC;oBAClE,CAAC;oBACD,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBACnD,MAAM,IAAI,KAAK,CACb,gCAAgC,OAAO,CAAC,QAAQ,gBAAgB,MAAM,CAAC,KAAK,uBAAuB,CAAC,GAAG,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClJ,CAAC;oBACJ,CAAC;oBAED,iCAAiC;oBACjC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;oBAC7D,CAAC;oBAED,6CAA6C;oBAC7C,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBACtD,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oBACvB,CAAC;oBAED,MAAM,IAAI,GAAY;wBACpB,EAAE,EAAE,OAAO;wBACX,IAAI;wBACJ,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;wBAC9C,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzC,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,SAAS,EAAE,GAAG;wBACd,SAAS,EAAE,GAAG;qBACf,CAAC;oBAEF,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAExB,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAY;gBACpB,EAAE,EAAE,OAAO;gBACX,IAAI;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;gBAC9C,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC;YAEF,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAU;YACnB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,MAAc;YAC5B,0DAA0D;YAC1D,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC,EAAE,CAAC;YAE3B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,IAAI,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,cAAc,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAqB;YAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;YAE/B,OAAO,KAAK,CAAC,IAAI,CAAC;gBAChB,KAAK;gBACL,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBAC9B,KAAK;gBACL,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,OAAqB;YAC/B,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,KAAK,CAAC,IAAI,CACR,QAAgB,EAChB,QAAgB,EAChB,KAAa,EACb,IAAa;YAEb,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,IAAI,CAAC,CAAC;YAClE,CAAC;YAED,iEAAiE;YACjE,6DAA6D;YAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YAED,kEAAkE;YAClE,sBAAsB;YACtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,6BACxB,gBAAgB,CAAC,IAAI,KAAK,CAAC;wBACzB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAC5C,GAAG,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,cAAc,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,cAAc,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,EAAE,GAAG,GAAG,QAAQ,IAAI,QAAQ,IAAI,eAAe,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,QAAQ,EAAE,CAAC;gBACb,qEAAqE;gBACrE,oEAAoE;gBACpE,8DAA8D;gBAC9D,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACjD,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnC,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,GAAG,GAAgB;gBACvB,EAAE;gBACF,QAAQ;gBACR,QAAQ;gBACR,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,IAAI,IAAI,IAAI;gBAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YACF,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,MAAc;YACxB,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;aACnD,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAa;YAC5D,wEAAwE;YACxE,oCAAoC;YACpC,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,sEAAsE;gBACtE,sEAAsE;gBACtE,OAAO;YACT,CAAC;YACD,MAAM,EAAE,GAAG,GAAG,QAAQ,IAAI,QAAQ,IAAI,eAAe,EAAE,CAAC;YACxD,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;QAED,aAAa;YACX,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3D,IAAI;gBACJ,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;gBACrC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,KAAK,WAAW;aAChC,CAAC,CAAC,CAAC;QACN,CAAC;QAED,KAAK,CAAC,SAAS;YACb,OAAO,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1D,EAAE;gBACF,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC,CAAC;QACN,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAwB;YACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;YACrD,CAAC;YACD,qEAAqE;YACrE,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CACb,+BAA+B,OAAO,CAAC,EAAE,gBAAgB,IAAI,CAAC,KAAK,+DAA+D,CACnI,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CACb,gCAAgC,OAAO,CAAC,EAAE,gBAAgB,IAAI,CAAC,KAAK,gEAAgE,CACrI,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CACb,sBAAsB,OAAO,CAAC,IAAI,sBAAsB,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7F,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAiC;gBAC1C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC7D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,gCAAgC;gBAChC,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;oBACzB,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,EAAa,EAAE,MAAyB;YACnE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CACb,2BAA2B,EAAE,SAAS,EAAE,gBAAgB,IAAI,CAAC,KAAK,uBAAuB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnH,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAE3C,gEAAgE;YAChE,mEAAmE;YACnE,wBAAwB;YACxB,EAAE;YACF,gEAAgE;YAChE,iEAAiE;YACjE,8DAA8D;YAC9D,iEAAiE;YACjE,kEAAkE;YAClE,6DAA6D;YAC7D,gEAAgE;YAChE,gEAAgE;YAChE,iEAAiE;YACjE,mEAAmE;YACnE,mCAAmC;YACnC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAC7C,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAC5B,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAC5B,GAAG,UAAU,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAY,CAAC;YAE9C,MAAM,KAAK,GAAiC;gBAC1C,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,GAAG;gBACd,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,GAAG,UAAU;aACd,CAAC;YAEF,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,QAAgB,EAAE,KAAc;YAClE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;YAED,iEAAiE;YACjE,2DAA2D;YAC3D,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBACrC,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAU,OAAO,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC;gBACjD,CAAC;gBAED,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAA4B,CAAC;gBACtE,MAAM,UAAU,GAA4B,EAAE,GAAG,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;gBAEjF,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE;oBAC3B,MAAM,EAAE,UAAU;oBAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,oEAAoE;IAEpE,KAAK,UAAU,mBAAmB,CAAC,KAAc;QAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,OAAO;QAE5B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC;YAAE,OAAO;QAE7E,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC;YACtD,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,UAAU,KAAK,CAAC,EAAE,aAAa,eAAe,EAAE;aAC7D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,UAAU,oBAAoB,CAAC,MAAe;QACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAElC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAClF,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE7C,uEAAuE;QACvE,uEAAuE;QACvE,sEAAsE;QACtE,iCAAiC;QACjC,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CACV,wBAAwB,MAAM,CAAC,EAAE,oCAAoC;oBACnE,eAAe,KAAK,CAAC,EAAE,mCAAmC;oBAC1D,IAAI,KAAK,CAAC,KAAK,gDAAgD;oBAC/D,uDAAuD,CAC1D,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,+CAA+C;QAC/C,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACxC,MAAM,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE;gBAC1C,UAAU,EAAE,qCAAqC;aAClD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,oEAAoE;IAEpE,MAAM,aAAa,GAAG,IAAI,CAAC;QACzB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0CAA0C;QACvD,YAAY,EACV,4EAA4E;YAC5E,0EAA0E;YAC1E,sEAAsE;QACxE,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE;KACzC,CAAC,CAAC;IAEH,oEAAoE;IAEpE,OAAO;QACL,SAAS,EAAE;YACT,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,UAAU,EAAE,CAAC,QAAQ,CAAC;YACtB,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;YAEpC,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;qBACtH;oBACD,KAAK,EAAE;wBACL,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;qBACzF;iBACF;gBACD,KAAK,EAAE;oBACL,cAAc;oBACd,QAAQ;oBACR,QAAQ;oBACR,QAAQ;oBACR,QAAQ;oBACR,YAAY;oBACZ,QAAQ;oBACR,UAAU;oBACV,WAAW;oBACX,QAAQ;oBACR,UAAU;oBACV,aAAa;oBACb,iBAAiB;oBACjB,aAAa;iBACd;gBACD,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE;iBACpD;aACF;YAED,QAAQ,EAAE,GAAG;YAEb,KAAK,CAAC,KAAK,CAAC,GAAmB;gBAC7B,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;gBAClB,MAAM,GAAG,CAAC,CAAC,SAAS,CAAY,QAAQ,CAAC,CAAC;gBAC1C,KAAK,GAAG,MAAM,CAAC,IAAI,CAAU,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC/C,KAAK,GAAG,MAAM,CAAC,IAAI,CAAc,OAAO,EAAE,OAAO,CAAC,CAAC;gBAEnD,sDAAsD;gBACtD,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;gBACpC,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC7C,mBAAmB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChE,eAAe,GAAG,IAAI,GAAG,CAAC;oBACxB,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAA2B,CAAC;oBAC5F,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,CAA2B,CAAC;iBACjH,CAAC,CAAC;gBAEH,mEAAmE;gBACnE,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC1C,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBAED,mEAAmE;gBACnE,sEAAsE;gBACtE,oEAAoE;gBACpE,6DAA6D;gBAC7D,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;gBAC7B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC1C,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBAED,+DAA+D;gBAC/D,MAAM,CAAC,KAAK,CAAU,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACtD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;wBAAE,OAAO;oBAEpC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAgB,CAAC;oBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAe,CAAC;oBAEnC,4BAA4B;oBAC5B,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;wBAAE,OAAO;oBAEtC,uCAAuC;oBACvC,IAAI,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACrD,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBAClC,CAAC;oBAED,4CAA4C;oBAC5C,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACpC,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE1B,6EAA6E;gBAC7E,iEAAiE;gBACjE,iEAAiE;gBACjE,6DAA6D;gBAC7D,iCAAiC;gBACjC,EAAE;gBACF,gEAAgE;gBAChE,mEAAmE;gBACnE,iEAAiE;gBACjE,oEAAoE;gBACpE,mDAAmD;gBACnD,EAAE;gBACF,6DAA6D;gBAC7D,+DAA+D;gBAC/D,6DAA6D;gBAC7D,qDAAqD;gBACrD,MAAM,eAAe,GAA8B;oBACjD,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;iBAChB,CAAC;gBACF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAY;oBACtC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW;iBAC3D,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC3B,wCAAwC;oBACxC,IAAI,OAAQ,GAA2B,CAAC,KAAK,KAAK,QAAQ;wBAAE,SAAS;oBAErE,MAAM,YAAY,GAAI,GAA4B,CAAC,MAAM,CAAC;oBAC1D,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;wBACrC,MAAM,IAAI,KAAK,CACb,4BAA4B,GAAG,CAAC,EAAE,8EAA8E,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,YAAY,IAAI,CACnL,CAAC;oBACJ,CAAC;oBAED,IAAI,SAAoB,CAAC;oBACzB,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;wBAClC,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;oBAC5C,CAAC;yBAAM,IAAI,YAAY,CAAC,GAAG,CAAC,YAAyB,CAAC,EAAE,CAAC;wBACvD,SAAS,GAAG,YAAyB,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,KAAK,CACb,4BAA4B,GAAG,CAAC,EAAE,oCAAoC,YAAY,uBAAuB,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACjM,CAAC;oBACJ,CAAC;oBAED,gEAAgE;oBAChE,6DAA6D;oBAC7D,8CAA8C;oBAC9C,MAAM,QAAQ,GAA4B,EAAE,CAAC;oBAC7C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACzC,IAAI,CAAC,KAAK,QAAQ;4BAAE,SAAS;wBAC7B,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAClB,CAAC;oBACD,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;oBAC3B,MAAM,KAAK,CAAC,GAAG,CAAC,QAAmB,CAAC,CAAC;gBACvC,CAAC;gBAED,gEAAgE;gBAChE,wBAAwB;gBACxB,gEAAgE;gBAChE,mEAAmE;gBACnE,kEAAkE;gBAClE,kEAAkE;gBAClE,wDAAwD;gBACxD,gEAAgE;gBAChE,4DAA4D;gBAC5D,iCAAiC;gBACjC,EAAE;gBACF,iEAAiE;gBACjE,iEAAiE;gBACjE,6DAA6D;gBAC7D,gEAAgE;gBAChE,yCAAyC;gBACzC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;gBAChD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC3B,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAC;oBAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC1B,CAAC;gBAED,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC3C,iEAAiE;oBACjE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5F,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;oBACrC,IAAI,CAAC,QAAQ;wBAAE,SAAS;oBAExB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,OAAO,CAAC,IAAI,CACV,oDAAoD;4BAClD,IAAI,KAAK,CAAC,EAAE,qBAAqB,WAAW,IAAI;4BAChD,YAAY,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,QAAQ,MAAM;4BAC5D,qCAAqC,CACxC,CAAC;wBACF,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC;oBAED,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CACvC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAChE,CAAC;oBACF,MAAM,YAAY,GAChB,QAAQ,CAAC,EAAE,KAAK,WAAW;wBAC3B,QAAQ,CAAC,KAAK,KAAK,eAAe;wBAClC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC;oBAE9B,IAAI,CAAC,YAAY;wBAAE,SAAS;oBAE5B,kEAAkE;oBAClE,0CAA0C;oBAC1C,MAAM,QAAQ,GAAgB;wBAC5B,EAAE,EAAE,WAAW;wBACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,KAAK,EAAE,eAAe;wBACtB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;wBAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;qBAC9B,CAAC;oBACF,IAAI,QAAQ,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;wBAChC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAClC,CAAC;oBACD,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"clerk.js","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shardworks/clerk-apparatus",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.250",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,12 +20,12 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"zod": "4.3.6",
|
|
23
|
-
"@shardworks/
|
|
24
|
-
"@shardworks/
|
|
23
|
+
"@shardworks/tools-apparatus": "0.1.250",
|
|
24
|
+
"@shardworks/stacks-apparatus": "0.1.250"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "25.5.0",
|
|
28
|
-
"@shardworks/nexus-core": "0.1.
|
|
28
|
+
"@shardworks/nexus-core": "0.1.250"
|
|
29
29
|
},
|
|
30
30
|
"files": [
|
|
31
31
|
"dist",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
],
|
|
34
34
|
"scripts": {
|
|
35
35
|
"build": "tsc",
|
|
36
|
-
"test": "node --disable-warning=ExperimentalWarning --experimental-transform-types --test 'src/**/*.test.ts'",
|
|
36
|
+
"test": "node --disable-warning=ExperimentalWarning --experimental-transform-types --test 'src/**/*.test.ts' 'pages/**/*.test.js'",
|
|
37
37
|
"typecheck": "tsc --noEmit"
|
|
38
38
|
}
|
|
39
39
|
}
|
package/pages/writs/index.html
CHANGED
|
@@ -235,6 +235,73 @@
|
|
|
235
235
|
el.style.display = 'none';
|
|
236
236
|
}
|
|
237
237
|
|
|
238
|
+
// ── Descendant tree helpers ────────────────────────────────────────
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* WritTree node shape: { writ: WritDoc, children: WritTreeNode[] }.
|
|
242
|
+
*
|
|
243
|
+
* Recursively fetches descendants of `rootId` via /api/writ/list, producing a
|
|
244
|
+
* tree of `WritTreeNode` entries. Guards against cycles with `visited` and
|
|
245
|
+
* bounds recursion at `maxDepth` (default 10) to keep the UI responsive on
|
|
246
|
+
* pathological data. Children at each level are sorted by createdAt ascending
|
|
247
|
+
* (oldest first), matching fetchChildrenForRoots behavior.
|
|
248
|
+
*
|
|
249
|
+
* Returns `WritTreeNode[]` — the direct children of `rootId`, each with their
|
|
250
|
+
* own nested `children` list.
|
|
251
|
+
*/
|
|
252
|
+
async function buildDescendantTree(rootId, maxDepth = 10, visited = null) {
|
|
253
|
+
if (visited === null) visited = new Set();
|
|
254
|
+
if (maxDepth <= 0) return [];
|
|
255
|
+
if (visited.has(rootId)) return [];
|
|
256
|
+
visited.add(rootId);
|
|
257
|
+
|
|
258
|
+
let children;
|
|
259
|
+
try {
|
|
260
|
+
children = await api('GET',
|
|
261
|
+
'/api/writ/list?parentId=' + encodeURIComponent(rootId) + '&limit=1000');
|
|
262
|
+
} catch (e) {
|
|
263
|
+
console.error('Failed to fetch children for ' + rootId, e);
|
|
264
|
+
return [];
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
children.sort((a, b) => (a.createdAt ?? '').localeCompare(b.createdAt ?? ''));
|
|
268
|
+
|
|
269
|
+
// Fetch grandchildren in parallel for each child
|
|
270
|
+
const nodes = await Promise.all(children.map(async (child) => {
|
|
271
|
+
const subChildren = await buildDescendantTree(child.id, maxDepth - 1, visited);
|
|
272
|
+
return { writ: child, children: subChildren };
|
|
273
|
+
}));
|
|
274
|
+
return nodes;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Flattens a WritTree forest into a depth-first list of `{ writ, depth }`.
|
|
279
|
+
* `depth` is 0-based — direct children of the root get depth 0, their
|
|
280
|
+
* children get depth 1, etc. Order preserves the pre-order traversal
|
|
281
|
+
* of the tree (parent before children, children in createdAt order).
|
|
282
|
+
*/
|
|
283
|
+
function flattenTree(nodes, depth = 0, acc = null) {
|
|
284
|
+
if (acc === null) acc = [];
|
|
285
|
+
for (const node of nodes) {
|
|
286
|
+
acc.push({ writ: node.writ, depth });
|
|
287
|
+
if (node.children && node.children.length > 0) {
|
|
288
|
+
flattenTree(node.children, depth + 1, acc);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return acc;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Returns inline style for indenting a depth-aware row's title cell.
|
|
296
|
+
* Depth 0 is the first indent step, matching the existing child-row
|
|
297
|
+
* padding-left: 2rem in the main list; each additional depth adds
|
|
298
|
+
* 1.5rem so nested descendants are visually distinguishable.
|
|
299
|
+
*/
|
|
300
|
+
function depthIndentStyle(depth) {
|
|
301
|
+
const rem = 2 + depth * 1.5;
|
|
302
|
+
return `padding-left:${rem}rem`;
|
|
303
|
+
}
|
|
304
|
+
|
|
238
305
|
// ── Row actions ────────────────────────────────────────────────────
|
|
239
306
|
|
|
240
307
|
/** Returns the HTML for the context-aware Actions cell for a writ row. */
|
|
@@ -439,13 +506,27 @@
|
|
|
439
506
|
html += renderLinksSection(writ);
|
|
440
507
|
html += `</div>`;
|
|
441
508
|
|
|
442
|
-
// Children
|
|
443
|
-
|
|
444
|
-
|
|
509
|
+
// Children — deep descendant rendering
|
|
510
|
+
//
|
|
511
|
+
// Prefer the descendant tree populated by showWritDetail / refreshDetail
|
|
512
|
+
// (writ._descendantTree: WritTreeNode[]). If the tree hasn't been populated
|
|
513
|
+
// yet (older code path or fetch failure), fall back to the flat children
|
|
514
|
+
// list shape so we still render something. The summary-badges block is
|
|
515
|
+
// driven by writ.children.summary, which is the direct-child summary
|
|
516
|
+
// returned by writ-show — it intentionally covers depth 1 only.
|
|
517
|
+
let rows;
|
|
518
|
+
if (writ._descendantTree && writ._descendantTree.length > 0) {
|
|
519
|
+
rows = flattenTree(writ._descendantTree);
|
|
520
|
+
} else {
|
|
521
|
+
const childItems = writ._fullChildren ?? writ.children?.items ?? [];
|
|
522
|
+
rows = childItems.map(c => ({ writ: c, depth: 0 }));
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
if (rows.length > 0) {
|
|
445
526
|
html += `<div class="detail-section">`;
|
|
446
527
|
html += `<h4>Children</h4>`;
|
|
447
528
|
|
|
448
|
-
// Summary badges
|
|
529
|
+
// Summary badges — direct children only, per writ-show contract.
|
|
449
530
|
if (writ.children?.summary) {
|
|
450
531
|
html += `<div style="margin-bottom:0.5rem">`;
|
|
451
532
|
for (const [phase, count] of Object.entries(writ.children.summary)) {
|
|
@@ -454,14 +535,14 @@
|
|
|
454
535
|
html += `</div>`;
|
|
455
536
|
}
|
|
456
537
|
|
|
457
|
-
// Children table: Phase, Title, Type, ID, Actions
|
|
538
|
+
// Children table: Phase, Title, Type, ID, Actions — rows indent by depth.
|
|
458
539
|
html += `<table class="data-table"><thead><tr>`;
|
|
459
540
|
html += `<th>Phase</th><th>Title</th><th>Type</th><th>ID</th><th>Actions</th>`;
|
|
460
541
|
html += `</tr></thead><tbody>`;
|
|
461
|
-
for (const child of
|
|
462
|
-
html += `<tr class="writ-row child-detail-row" data-child-id="${child.id}" style="cursor:pointer">`;
|
|
542
|
+
for (const { writ: child, depth } of rows) {
|
|
543
|
+
html += `<tr class="writ-row child-detail-row" data-child-id="${child.id}" data-depth="${depth}" style="cursor:pointer">`;
|
|
463
544
|
html += `<td>${phaseBadge(child.phase)}</td>`;
|
|
464
|
-
html += `<td>${escHtml(child.title ?? '')}</td>`;
|
|
545
|
+
html += `<td style="${depthIndentStyle(depth)}">${escHtml(child.title ?? '')}</td>`;
|
|
465
546
|
html += `<td>${escHtml(child.type ?? '')}</td>`;
|
|
466
547
|
html += `<td><code>${child.id}</code></td>`;
|
|
467
548
|
html += `<td class="row-actions" style="white-space:nowrap">${rowActions(child)}</td>`;
|
|
@@ -800,14 +881,13 @@
|
|
|
800
881
|
const idx = writs.findIndex(w => w.id === id);
|
|
801
882
|
if (idx >= 0) writs[idx] = writ;
|
|
802
883
|
|
|
803
|
-
// Fetch full
|
|
884
|
+
// Fetch full descendant tree if there are any children.
|
|
804
885
|
if (writ.children && writ.children.items.length > 0) {
|
|
805
886
|
try {
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
} catch (e) { writ._fullChildren = null; }
|
|
887
|
+
writ._descendantTree = await buildDescendantTree(id);
|
|
888
|
+
} catch (e) {
|
|
889
|
+
writ._descendantTree = null;
|
|
890
|
+
}
|
|
811
891
|
}
|
|
812
892
|
|
|
813
893
|
// Re-render detail content
|
|
@@ -847,15 +927,14 @@
|
|
|
847
927
|
const idx = writs.findIndex(w => w.id === id);
|
|
848
928
|
if (idx >= 0) writs[idx] = writ;
|
|
849
929
|
|
|
850
|
-
// Fetch full
|
|
930
|
+
// Fetch full descendant tree for the detail children table. The detail
|
|
931
|
+
// view renders deep descendants (not just direct children) so clicking
|
|
932
|
+
// into a writ does not collapse visible depth back to 1.
|
|
851
933
|
if (writ.children && writ.children.items.length > 0) {
|
|
852
934
|
try {
|
|
853
|
-
|
|
854
|
-
'/api/writ/list?parentId=' + encodeURIComponent(id) + '&limit=1000');
|
|
855
|
-
fullChildren.sort((a, b) => (a.createdAt ?? '').localeCompare(b.createdAt ?? ''));
|
|
856
|
-
writ._fullChildren = fullChildren;
|
|
935
|
+
writ._descendantTree = await buildDescendantTree(id);
|
|
857
936
|
} catch (e) {
|
|
858
|
-
writ.
|
|
937
|
+
writ._descendantTree = null;
|
|
859
938
|
}
|
|
860
939
|
}
|
|
861
940
|
|
|
@@ -155,6 +155,27 @@ function sortedFilteredWrits(writs, childrenMap, showChildren, searchText, sortC
|
|
|
155
155
|
return result;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
+
/**
|
|
159
|
+
* Flattens a WritTree forest into a depth-first list of `{ writ, depth }`.
|
|
160
|
+
* Mirrors the flattenTree helper in index.html.
|
|
161
|
+
*/
|
|
162
|
+
function flattenTree(nodes, depth = 0, acc = null) {
|
|
163
|
+
if (acc === null) acc = [];
|
|
164
|
+
for (const node of nodes) {
|
|
165
|
+
acc.push({ writ: node.writ, depth });
|
|
166
|
+
if (node.children && node.children.length > 0) {
|
|
167
|
+
flattenTree(node.children, depth + 1, acc);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return acc;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/** Mirrors depthIndentStyle in index.html. */
|
|
174
|
+
function depthIndentStyle(depth) {
|
|
175
|
+
const rem = 2 + depth * 1.5;
|
|
176
|
+
return `padding-left:${rem}rem`;
|
|
177
|
+
}
|
|
178
|
+
|
|
158
179
|
/**
|
|
159
180
|
* Extracted renderDetail logic for parent link and children table.
|
|
160
181
|
* Returns the full HTML string, same as the index.html renderDetail.
|
|
@@ -202,9 +223,16 @@ function renderDetail(writ) {
|
|
|
202
223
|
// Links (simplified)
|
|
203
224
|
html += `<div class="detail-section" id="links-section-${writ.id}"><h4>Links</h4></div>`;
|
|
204
225
|
|
|
205
|
-
// Children
|
|
206
|
-
|
|
207
|
-
if (
|
|
226
|
+
// Children — deep descendant rendering.
|
|
227
|
+
let rows;
|
|
228
|
+
if (writ._descendantTree && writ._descendantTree.length > 0) {
|
|
229
|
+
rows = flattenTree(writ._descendantTree);
|
|
230
|
+
} else {
|
|
231
|
+
const childItems = writ._fullChildren ?? writ.children?.items ?? [];
|
|
232
|
+
rows = childItems.map(c => ({ writ: c, depth: 0 }));
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
if (rows.length > 0) {
|
|
208
236
|
html += `<div class="detail-section">`;
|
|
209
237
|
html += `<h4>Children</h4>`;
|
|
210
238
|
|
|
@@ -219,10 +247,10 @@ function renderDetail(writ) {
|
|
|
219
247
|
html += `<table class="data-table"><thead><tr>`;
|
|
220
248
|
html += `<th>Phase</th><th>Title</th><th>Type</th><th>ID</th><th>Actions</th>`;
|
|
221
249
|
html += `</tr></thead><tbody>`;
|
|
222
|
-
for (const child of
|
|
223
|
-
html += `<tr class="writ-row child-detail-row" data-child-id="${child.id}" style="cursor:pointer">`;
|
|
250
|
+
for (const { writ: child, depth } of rows) {
|
|
251
|
+
html += `<tr class="writ-row child-detail-row" data-child-id="${child.id}" data-depth="${depth}" style="cursor:pointer">`;
|
|
224
252
|
html += `<td>${phaseBadge(child.phase)}</td>`;
|
|
225
|
-
html += `<td>${escHtml(child.title ?? '')}</td>`;
|
|
253
|
+
html += `<td style="${depthIndentStyle(depth)}">${escHtml(child.title ?? '')}</td>`;
|
|
226
254
|
html += `<td>${escHtml(child.type ?? '')}</td>`;
|
|
227
255
|
html += `<td><code>${child.id}</code></td>`;
|
|
228
256
|
html += `<td class="row-actions" style="white-space:nowrap">${rowActions(child)}</td>`;
|
|
@@ -538,3 +566,237 @@ describe('Parent link in detail view', () => {
|
|
|
538
566
|
assert.ok(html.includes('href="?writ=w-parent%20with%20spaces"'), 'Parent id should be URL-encoded');
|
|
539
567
|
});
|
|
540
568
|
});
|
|
569
|
+
|
|
570
|
+
describe('flattenTree — depth-first pre-order traversal', () => {
|
|
571
|
+
it('flattens a single-level forest at depth 0', () => {
|
|
572
|
+
const nodes = [
|
|
573
|
+
{ writ: { id: 'a', title: 'A' }, children: [] },
|
|
574
|
+
{ writ: { id: 'b', title: 'B' }, children: [] },
|
|
575
|
+
];
|
|
576
|
+
const rows = flattenTree(nodes);
|
|
577
|
+
assert.deepEqual(rows, [
|
|
578
|
+
{ writ: { id: 'a', title: 'A' }, depth: 0 },
|
|
579
|
+
{ writ: { id: 'b', title: 'B' }, depth: 0 },
|
|
580
|
+
]);
|
|
581
|
+
});
|
|
582
|
+
|
|
583
|
+
it('flattens a two-level tree — children follow parent with depth+1', () => {
|
|
584
|
+
const nodes = [
|
|
585
|
+
{
|
|
586
|
+
writ: { id: 'a' },
|
|
587
|
+
children: [
|
|
588
|
+
{ writ: { id: 'a1' }, children: [] },
|
|
589
|
+
{ writ: { id: 'a2' }, children: [] },
|
|
590
|
+
],
|
|
591
|
+
},
|
|
592
|
+
{ writ: { id: 'b' }, children: [] },
|
|
593
|
+
];
|
|
594
|
+
const rows = flattenTree(nodes);
|
|
595
|
+
assert.deepEqual(rows.map(r => [r.writ.id, r.depth]), [
|
|
596
|
+
['a', 0],
|
|
597
|
+
['a1', 1],
|
|
598
|
+
['a2', 1],
|
|
599
|
+
['b', 0],
|
|
600
|
+
]);
|
|
601
|
+
});
|
|
602
|
+
|
|
603
|
+
it('flattens a three-level tree preserving depth per level', () => {
|
|
604
|
+
const nodes = [
|
|
605
|
+
{
|
|
606
|
+
writ: { id: 'a' },
|
|
607
|
+
children: [
|
|
608
|
+
{
|
|
609
|
+
writ: { id: 'a1' },
|
|
610
|
+
children: [
|
|
611
|
+
{ writ: { id: 'a1x' }, children: [] },
|
|
612
|
+
{ writ: { id: 'a1y' }, children: [] },
|
|
613
|
+
],
|
|
614
|
+
},
|
|
615
|
+
{ writ: { id: 'a2' }, children: [] },
|
|
616
|
+
],
|
|
617
|
+
},
|
|
618
|
+
];
|
|
619
|
+
const rows = flattenTree(nodes);
|
|
620
|
+
assert.deepEqual(rows.map(r => [r.writ.id, r.depth]), [
|
|
621
|
+
['a', 0],
|
|
622
|
+
['a1', 1],
|
|
623
|
+
['a1x', 2],
|
|
624
|
+
['a1y', 2],
|
|
625
|
+
['a2', 1],
|
|
626
|
+
]);
|
|
627
|
+
});
|
|
628
|
+
|
|
629
|
+
it('empty forest returns empty', () => {
|
|
630
|
+
assert.deepEqual(flattenTree([]), []);
|
|
631
|
+
});
|
|
632
|
+
|
|
633
|
+
it('accepts an explicit start depth (for sub-tree rendering)', () => {
|
|
634
|
+
const nodes = [
|
|
635
|
+
{ writ: { id: 'x' }, children: [{ writ: { id: 'xx' }, children: [] }] },
|
|
636
|
+
];
|
|
637
|
+
const rows = flattenTree(nodes, 5);
|
|
638
|
+
assert.deepEqual(rows.map(r => [r.writ.id, r.depth]), [
|
|
639
|
+
['x', 5],
|
|
640
|
+
['xx', 6],
|
|
641
|
+
]);
|
|
642
|
+
});
|
|
643
|
+
});
|
|
644
|
+
|
|
645
|
+
describe('depthIndentStyle — depth → padding-left mapping', () => {
|
|
646
|
+
it('depth 0 matches the existing 2rem main-list indent', () => {
|
|
647
|
+
assert.equal(depthIndentStyle(0), 'padding-left:2rem');
|
|
648
|
+
});
|
|
649
|
+
|
|
650
|
+
it('depth 1 adds 1.5rem', () => {
|
|
651
|
+
assert.equal(depthIndentStyle(1), 'padding-left:3.5rem');
|
|
652
|
+
});
|
|
653
|
+
|
|
654
|
+
it('depth 2 adds another 1.5rem', () => {
|
|
655
|
+
assert.equal(depthIndentStyle(2), 'padding-left:5rem');
|
|
656
|
+
});
|
|
657
|
+
});
|
|
658
|
+
|
|
659
|
+
describe('Deep descendant rendering in detail view', () => {
|
|
660
|
+
it('renders all descendants when _descendantTree is populated', () => {
|
|
661
|
+
const writ = {
|
|
662
|
+
id: 'parent-1',
|
|
663
|
+
title: 'Parent',
|
|
664
|
+
phase: 'open',
|
|
665
|
+
body: '',
|
|
666
|
+
children: {
|
|
667
|
+
summary: { open: 1 },
|
|
668
|
+
items: [{ id: 'c1', title: 'Child 1', phase: 'open' }],
|
|
669
|
+
},
|
|
670
|
+
_descendantTree: [
|
|
671
|
+
{
|
|
672
|
+
writ: { id: 'c1', title: 'Child 1', type: 'task', phase: 'open' },
|
|
673
|
+
children: [
|
|
674
|
+
{
|
|
675
|
+
writ: { id: 'g1', title: 'Grandchild 1', type: 'task', phase: 'open' },
|
|
676
|
+
children: [
|
|
677
|
+
{
|
|
678
|
+
writ: { id: 'gg1', title: 'Great-grandchild', type: 'task', phase: 'open' },
|
|
679
|
+
children: [],
|
|
680
|
+
},
|
|
681
|
+
],
|
|
682
|
+
},
|
|
683
|
+
],
|
|
684
|
+
},
|
|
685
|
+
],
|
|
686
|
+
};
|
|
687
|
+
|
|
688
|
+
const html = renderDetail(writ);
|
|
689
|
+
|
|
690
|
+
// All three descendants appear as rows
|
|
691
|
+
assert.ok(html.includes('data-child-id="c1"'), 'Direct child row present');
|
|
692
|
+
assert.ok(html.includes('data-child-id="g1"'), 'Grandchild row present');
|
|
693
|
+
assert.ok(html.includes('data-child-id="gg1"'), 'Great-grandchild row present');
|
|
694
|
+
// Pre-order: parent appears before child
|
|
695
|
+
assert.ok(html.indexOf('data-child-id="c1"') < html.indexOf('data-child-id="g1"'));
|
|
696
|
+
assert.ok(html.indexOf('data-child-id="g1"') < html.indexOf('data-child-id="gg1"'));
|
|
697
|
+
});
|
|
698
|
+
|
|
699
|
+
it('rows carry depth data attribute and depth-based indent', () => {
|
|
700
|
+
const writ = {
|
|
701
|
+
id: 'p',
|
|
702
|
+
title: 'P',
|
|
703
|
+
phase: 'open',
|
|
704
|
+
body: '',
|
|
705
|
+
children: { summary: {}, items: [{ id: 'c', title: 'C', phase: 'open' }] },
|
|
706
|
+
_descendantTree: [
|
|
707
|
+
{
|
|
708
|
+
writ: { id: 'c', title: 'Child', type: 'task', phase: 'open' },
|
|
709
|
+
children: [
|
|
710
|
+
{ writ: { id: 'g', title: 'Grand', type: 'task', phase: 'open' }, children: [] },
|
|
711
|
+
],
|
|
712
|
+
},
|
|
713
|
+
],
|
|
714
|
+
};
|
|
715
|
+
|
|
716
|
+
const html = renderDetail(writ);
|
|
717
|
+
assert.ok(html.includes('data-child-id="c" data-depth="0"'), 'Direct child has depth 0');
|
|
718
|
+
assert.ok(html.includes('data-child-id="g" data-depth="1"'), 'Grandchild has depth 1');
|
|
719
|
+
assert.ok(html.includes('style="padding-left:2rem"'), 'Depth 0 title cell indents 2rem');
|
|
720
|
+
assert.ok(html.includes('style="padding-left:3.5rem"'), 'Depth 1 title cell indents 3.5rem');
|
|
721
|
+
});
|
|
722
|
+
|
|
723
|
+
it('falls back to flat children when _descendantTree is missing', () => {
|
|
724
|
+
const writ = {
|
|
725
|
+
id: 'p',
|
|
726
|
+
title: 'P',
|
|
727
|
+
phase: 'open',
|
|
728
|
+
body: '',
|
|
729
|
+
_fullChildren: [
|
|
730
|
+
{ id: 'c1', title: 'Child 1', type: 'task', phase: 'open' },
|
|
731
|
+
{ id: 'c2', title: 'Child 2', type: 'task', phase: 'open' },
|
|
732
|
+
],
|
|
733
|
+
children: { summary: { open: 2 }, items: [] },
|
|
734
|
+
};
|
|
735
|
+
|
|
736
|
+
const html = renderDetail(writ);
|
|
737
|
+
assert.ok(html.includes('data-child-id="c1" data-depth="0"'));
|
|
738
|
+
assert.ok(html.includes('data-child-id="c2" data-depth="0"'));
|
|
739
|
+
});
|
|
740
|
+
|
|
741
|
+
it('summary badges reflect direct children only (writ.children.summary)', () => {
|
|
742
|
+
const writ = {
|
|
743
|
+
id: 'p',
|
|
744
|
+
title: 'P',
|
|
745
|
+
phase: 'open',
|
|
746
|
+
body: '',
|
|
747
|
+
children: {
|
|
748
|
+
// Direct-child summary from writ-show: 2 open direct children.
|
|
749
|
+
// Grandchildren are NOT counted here by design.
|
|
750
|
+
summary: { open: 2 },
|
|
751
|
+
items: [
|
|
752
|
+
{ id: 'c1', title: 'C1', phase: 'open' },
|
|
753
|
+
{ id: 'c2', title: 'C2', phase: 'open' },
|
|
754
|
+
],
|
|
755
|
+
},
|
|
756
|
+
_descendantTree: [
|
|
757
|
+
{
|
|
758
|
+
writ: { id: 'c1', title: 'C1', type: 'task', phase: 'open' },
|
|
759
|
+
children: [
|
|
760
|
+
{ writ: { id: 'g1', title: 'G1', type: 'task', phase: 'completed' }, children: [] },
|
|
761
|
+
],
|
|
762
|
+
},
|
|
763
|
+
{ writ: { id: 'c2', title: 'C2', type: 'task', phase: 'open' }, children: [] },
|
|
764
|
+
],
|
|
765
|
+
};
|
|
766
|
+
|
|
767
|
+
const html = renderDetail(writ);
|
|
768
|
+
// Summary badges section shows "open 2" — not the grandchild's completed phase.
|
|
769
|
+
const summaryOpenMatch = html.match(/badge badge--active">open<\/span>\s*<span[^>]*>2</);
|
|
770
|
+
assert.ok(summaryOpenMatch, 'Summary shows 2 open direct children');
|
|
771
|
+
assert.ok(!html.match(/badge badge--success">completed<\/span>\s*<span[^>]*>1</),
|
|
772
|
+
'Summary does NOT count the grandchild');
|
|
773
|
+
// But the table still renders the grandchild row.
|
|
774
|
+
assert.ok(html.includes('data-child-id="g1"'), 'Grandchild row is present in the table');
|
|
775
|
+
});
|
|
776
|
+
|
|
777
|
+
it('preserves rowActions on every depth row', () => {
|
|
778
|
+
const writ = {
|
|
779
|
+
id: 'p',
|
|
780
|
+
title: 'P',
|
|
781
|
+
phase: 'open',
|
|
782
|
+
body: '',
|
|
783
|
+
children: { summary: {}, items: [{ id: 'c', title: 'C', phase: 'new' }] },
|
|
784
|
+
_descendantTree: [
|
|
785
|
+
{
|
|
786
|
+
writ: { id: 'c', title: 'C', type: 'task', phase: 'new' },
|
|
787
|
+
children: [
|
|
788
|
+
{ writ: { id: 'g', title: 'G', type: 'task', phase: 'open' }, children: [] },
|
|
789
|
+
],
|
|
790
|
+
},
|
|
791
|
+
],
|
|
792
|
+
};
|
|
793
|
+
|
|
794
|
+
const html = renderDetail(writ);
|
|
795
|
+
// Depth 0 (new phase) gets Start + Cancel
|
|
796
|
+
assert.ok(html.match(/data-action="row-publish"[^>]*data-id="c"/));
|
|
797
|
+
assert.ok(html.match(/data-action="row-cancel"[^>]*data-id="c"/));
|
|
798
|
+
// Depth 1 (open phase) gets Cancel only
|
|
799
|
+
assert.ok(html.match(/data-action="row-cancel"[^>]*data-id="g"/));
|
|
800
|
+
assert.ok(!html.match(/data-action="row-publish"[^>]*data-id="g"/));
|
|
801
|
+
});
|
|
802
|
+
});
|