@intentset/core 0.4.0 → 0.6.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/LICENSE +21 -0
- package/dist/artifact.d.ts.map +1 -1
- package/dist/artifact.js +110 -1
- package/dist/artifact.js.map +1 -1
- package/dist/export.d.ts +1 -1
- package/dist/export.js +13 -1
- package/dist/export.js.map +1 -1
- package/dist/read-export.d.ts.map +1 -1
- package/dist/read-export.js +38 -3
- package/dist/read-export.js.map +1 -1
- package/dist/registries.d.ts +2 -2
- package/dist/registries.js +1 -1
- package/dist/registries.js.map +1 -1
- package/dist/types.d.ts +38 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +17 -4
- package/dist/types.js.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +58 -5
- package/dist/validate.js.map +1 -1
- package/package.json +2 -2
- package/src/artifact.ts +152 -0
- package/src/export.ts +14 -1
- package/src/read-export.ts +38 -2
- package/src/registries.ts +3 -3
- package/src/types.ts +44 -4
- package/src/validate.ts +64 -7
package/dist/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAqB,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAmB,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAe,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5G,OAAO,EAKL,MAAM,EACN,cAAc,EACd,UAAU,EAEV,cAAc,GAIf,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,gBAAgB,GAA2D;IAC/E,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,UAAU,EAAE,CAAC,SAAS,CAAC;CACxB,CAAC;AAYF,gHAAgH;AAChH,MAAM,UAAU,QAAQ,CACtB,MAAgC,EAChC,UAAsB,EACtB,OAAO,GAAsB,EAAE;IAE/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;IACpC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAChC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;;YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAgB,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CACd,cAAc,CAAC;gBACb,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI;gBAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC;gBACrC,KAAK,EAAE,eAAe;gBACtB,OAAO,EAAE,GAAG,EAAE,mBAAmB,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC1G,WAAW,EAAE,gGAAgG;aAC9G,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,OAAO,GAAY,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;IACrH,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,SAAS,CAAC,OAAO,CAAC,CAAC;IACnB,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC;QAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAErD,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1D,CAAC;AAWD,SAAS,QAAQ,CAAC,OAAgB,EAAE,QAAkB,EAAE,MAAc;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,WAAW,CAAC,IAAI,CACtB,cAAc,CAAC;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO;QAChC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC1B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,QAAQ,EAAE,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/F,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAY;IACnC,OAAO,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAa,CAAC,CAAC;AAC3G,CAAC;AAED,oHAAoH;AACpH,SAAS,kBAAkB,CAAC,OAAgB;IAC1C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACtC,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,IAAY,EAAmB,EAAE;YAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;oBAC1B,IAAI,EAAE,SAAS;oBACf,KAAK;oBACL,OAAO,EAAE,GAAG,IAAI,UAAU,MAAM,8BAA8B;oBAC9D,WAAW,EAAE,UAAU,MAAM,0DAA0D;iBACxF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;oBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBACrD,KAAK,EAAE,mBAAmB;oBAC1B,OAAO,EACL,IAAI,CAAC,IAAI,KAAK,SAAS;wBACrB,CAAC,CAAC,GAAG,EAAE,gFAAgF;wBACvF,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uEAAuE;oBAC/I,WAAW,EAAE,4BAA4B;iBAC1C,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;gBACnE,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;wBAC1B,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,mBAAmB;wBAC1B,OAAO,EAAE,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBACjI,WAAW,EAAE,uBAAuB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc;qBAC7E,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YACjC,MAAM,KAAK,GAAG,oBAAoB,IAAI,EAAE,CAAC;YACzC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;wBAC1B,IAAI,EAAE,SAAS;wBACf,KAAK;wBACL,OAAO,EAAE,GAAG,EAAE,uDAAuD,IAAI,CAAC,MAAM,wCAAwC;wBACxH,WAAW,EAAE,0DAA0D;qBACxE,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzB,IAAI,MAAM,KAAK,EAAE;wBAAE,OAAO;oBAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;oBAC7D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;wBACpD,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;4BAC1B,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC,EAAE;4BACtB,OAAO,EAAE,sDAAsD,IAAI,CAAC,IAAI,SAAS,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;4BACvH,WAAW,EACT,6FAA6F;yBAChG,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;oBAC1B,IAAI,EAAE,SAAS;oBACf,KAAK;oBACL,OAAO,EAAE,GAAG,IAAI,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG;oBACxG,WAAW,EAAE,wDAAwD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wCAAwC;iBACzI,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YACnG,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzB,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;oBAClB,IAAI,IAAI,KAAK,UAAU;wBAAE,OAAO;oBAChC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;wBAC1B,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC,EAAE;wBACtB,OAAO,EAAE,GAAG,EAAE,oBAAoB,IAAI,GAAG;wBACzC,WAAW,EAAE,iEAAiE;qBAC/E,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACrD,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzD,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;wBAC1B,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC,EAAE;wBACtB,OAAO,EAAE,GAAG,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,aAAa,CAAC,OAAO,CAAC,SAAS,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBAC5H,WAAW,EAAE,SAAS,IAAI,OAAO,aAAa,CAAC,OAAO,CAAC,sCAAsC;qBAC9F,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,gGAAgG;AAChG,SAAS,SAAS,CAAC,OAAgB;IACjC,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS;QACtC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YACjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,mBAAmB,GAAG,EAAE;gBAC/B,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,SAAS,GAAG,8BAA8B;gBAC7D,WAAW,EAAE,OAAO,GAAG,+EAA+E;aACvG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,qGAAqG;AACrG,SAAS,WAAW,CAAC,OAAgB;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAU,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC/C,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,UAAU,CAAC,GAAG,CACZ,EAAE,EACF,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC;iBACtB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;iBACtB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACvC,IAAI,CAAC,cAAc,CAAC,CACxB,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,KAAK,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC;YACnF,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAa,CAAC;gBACrD,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;oBAC1B,IAAI,EAAE,SAAS;oBACf,KAAK;oBACL,OAAO,EACL,OAAO,CAAC,MAAM,KAAK,CAAC;wBAClB,CAAC,CAAC,GAAG,EAAE,oBAAoB,IAAI,GAAG;wBAClC,CAAC,CAAC,GAAG,EAAE,YAAY,IAAI,WAAW,CAAC,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;oBAC9E,WAAW,EACT,IAAI,KAAK,QAAQ;wBACf,CAAC,CAAC,wEAAwE;wBAC1E,CAAC,CAAC,aAAa,IAAI,WAAW,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,oDAAoD,GAAG;iBACpK,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,0GAA0G;AAC1G,SAAS,iBAAiB,CAAC,GAAsB,EAAE,UAAiC;IAClF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,CAAC,EAAU,EAAQ,EAAE;QACjC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrB,OAAO,EAAE,CAAC;QACV,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,CAAC;gBACZ,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAW,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAW,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAW,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAW,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,IAAI,MAAc,CAAC;YACnB,GAAG,CAAC;gBACF,MAAM,GAAG,KAAK,CAAC,GAAG,EAAY,CAAC;gBAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC,QAAQ,MAAM,KAAK,EAAE,EAAE;YACxB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,GAAG;QAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,qIAAqI;AACrI,SAAS,cAAc,CAAC,OAAgB;IACtC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,GAAG,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnG,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjF,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAC1B,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,kBAAkB;gBACzB,OAAO,EAAE,SAAS,IAAI,CAAC,KAAK,gCAAgC;gBAC5D,WAAW,EAAE,6EAA6E;aAC3F,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,GAAG,CAAC,WAAW,CAAC,CAAC;iBACnD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClD,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;oBAC1B,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,wBAAwB,CAAC,EAAE;oBAClC,OAAO,EAAE,YAAY,QAAQ,mCAAmC;oBAChE,WAAW,EAAE,oEAAoE;iBAClF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;oBAAE,OAAO;gBAC3D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACzD,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;wBAC1B,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,oCAAoC,CAAC,EAAE;wBAC9C,OAAO,EAAE,sBAAsB,OAAO,wCAAwC;wBAC9E,WAAW,EAAE,sDAAsD;qBACpE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YACH,KAAK,MAAM,SAAS,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAU,EAAE,CAAC;gBAC5E,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC3C,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;wBAAE,GAAG,CAAC,SAAS,CAAC,CAAC;yBAClD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBAChD,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;4BAC1B,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,2BAA2B,SAAS,IAAI,CAAC,EAAE;4BAClD,OAAO,EAAE,GAAG,SAAS,UAAU,KAAK,4BAA4B;4BAChE,WAAW,EAAE,6BAA6B,SAAS,oEAAoE;yBACxH,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;gBAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;iBAC/D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;oBAC1B,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,2BAA2B;oBAClC,OAAO,EAAE,kBAAkB,IAAI,CAAC,OAAO,CAAC,MAAM,0CAA0C;oBACxF,WAAW,EACT,6GAA6G;iBAChH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,GAAG,CAAC,WAAW,CAAC,CAAC;iBACnD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;oBAC1B,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,kCAAkC,CAAC,EAAE;oBAC5C,OAAO,EAAE,uBAAuB,QAAQ,8CAA8C;oBACtF,WAAW,EACT,yGAAyG;iBAC5G,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5E,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,mDAAmD;gBACtE,WAAW,EAAE,0FAA0F;aACxG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,KAAK,GACT,UAAU,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO,CAAC,WAAW,CAAC,IAAI,CACtB,cAAc,CAAC;YACb,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,6BAA6B,KAAK,QAAQ,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,yCAAyC;YAChI,WAAW,EAAE,kBAAkB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,+DAA+D;SACpH,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAaD,SAAS,WAAW,CAAC,QAAkB;IACrC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACnB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO;gBACL,KAAK,EAAE,CAAC,QAAQ,CAAC;gBACjB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,CAAC,SAAS,CAAC;gBACtB,OAAO,EAAE,sEAAsE;gBAC/E,WAAW,EAAE,uCAAuC,EAAE,oEAAoE;aAC3H,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,KAAK,EAAE,CAAC,YAAY,CAAC;gBACrB,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,oCAAoC;gBAC7C,WAAW,EAAE,OAAO,EAAE,8FAA8F;aACrH,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,KAAK,EAAE,CAAC,aAAa,CAAC;gBACtB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,4BAA4B;gBACrC,WAAW,EAAE,2DAA2D;aACzE,CAAC;QACJ,KAAK,cAAc;YACjB,OAAO;gBACL,KAAK,EAAE,CAAC,UAAU,CAAC;gBACnB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,2CAA2C;gBACpD,WAAW,EAAE,+CAA+C;aAC7D,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,KAAK,EAAE,CAAC,UAAU,CAAC;gBACnB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,6CAA6C;gBACtD,WAAW,EAAE,sDAAsD;aACpE,CAAC;QACJ,KAAK,OAAO;YACV,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAChD,OAAO;gBACL,KAAK,EAAE,CAAC,YAAY,CAAC;gBACrB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,kDAAkD;gBAC3D,WAAW,EAAE,8FAA8F;aAC5G,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBAC9B,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,iCAAiC;gBAC1C,WAAW,EAAE,OAAO,EAAE,8FAA8F;gBACpH,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,KAAK,EAAE,CAAC,YAAY,CAAC;gBACrB,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,uDAAuD;gBAChE,WAAW,EAAE,OAAO,EAAE,0DAA0D;gBAChF,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,SAAS;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;aACrB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,IAAI,CAAC,SAAS,KAAK,IAAI;YACrB,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;YAC9C,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAC5C;aACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACL,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACrC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,SAAS;gBACnB,KAAK;gBACL,OAAO,EAAE,SAAS,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,IAAI,CAAC,OAAO,GAAG;gBAC1F,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACnC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,SAAS;gBACf,KAAK;gBACL,OAAO,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,IAAI,CAAC,OAAO,GAAG;gBACxH,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,aAAa,CAAC;IAClD,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,eAAe,CAAC;IAC9D,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,sBAAsB,CAAC;IACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,eAAe,CAAC;IAClD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,4CAA4C,CAAC;IAChF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wJAAwJ;AACxJ,SAAS,WAAW,CAAC,OAAgB;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,OAAe,EAAE,WAAmB,EAAE,IAAI,GAAG,SAAS,EAAE,EAAE,CACxF,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QACxF,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACtF,OAAO,CACL,yBAAyB,EACzB,GAAG,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,oEAAoE,EACzG,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5E,OAAO,CACL,oBAAoB,EACpB,GAAG,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,0DAA0D,EAC/F,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnC,OAAO,CACL,kBAAkB,EAClB,GAAG,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sDAAsD,EAC3F,sDAAsD,CACvD,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,OAAO,CACL,6BAA6B,EAC7B,mBAAmB,EAAE,iFAAiF,EACtG,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnE,OAAO,CACL,kBAAkB,EAClB,mBAAmB,EAAE,sBAAsB,EAC3C,mFAAmF,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,GAAG,KAAK,IAAI;gBACd,OAAO,CACL,gCAAgC,CAAC,EAAE,EACnC,cAAc,UAAU,IAAI,GAAG,GAAG,EAClC,8FAA8F,CAC/F,CAAC;QACN,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACnE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;gBACpC,IAAI,GAAG,KAAK,IAAI;oBACd,OAAO,CACL,2BAA2B,KAAK,IAAI,CAAC,EAAE,EACvC,iBAAiB,OAAO,IAAI,GAAG,GAAG,EAClC,oFAAoF,CACrF,CAAC;YACN,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,GAAG,KAAK,IAAI;gBACd,OAAO,CACL,2BAA2B,CAAC,OAAO,EACnC,iBAAiB,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,EACrC,oFAAoF,CACrF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;AAEtF,kHAAkH;AAClH,SAAS,cAAc,CAAC,OAAgB;IACtC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,SAAS;QAC3E,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC;aACvD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7C,MAAM,CAAC,CAAC,KAAK,EAAqB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC;aAC3E,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;aAC7B,IAAI,CAAC,cAAc,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAClC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;YAC1B,IAAI,EAAE,SAAS;YACf,OAAO,EACL,MAAM,CAAC,MAAM,KAAK,CAAC;gBACjB,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,EAAE,wCAAwC;gBACxF,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,EAAE,sBAAsB,MAAM,CAAC,MAAM,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC;YAC5J,WAAW,EACT,MAAM,CAAC,MAAM,KAAK,CAAC;gBACjB,CAAC,CAAC,2EAA2E;gBAC7E,CAAC,CAAC,mHAAmH;SAC1H,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentset/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Intentset core: the frontmatter carrier, typed graph, validator, impact traversal and export. No dependencies.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -33,4 +33,4 @@
|
|
|
33
33
|
"default": "./dist/index.js"
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
}
|
|
36
|
+
}
|
package/src/artifact.ts
CHANGED
|
@@ -25,16 +25,23 @@ import {
|
|
|
25
25
|
type ArtifactMeta,
|
|
26
26
|
type ArtifactType,
|
|
27
27
|
type Availability,
|
|
28
|
+
BASELINE_UNKNOWN,
|
|
28
29
|
CLAIM_KINDS,
|
|
29
30
|
type Claim,
|
|
30
31
|
type DocumentInput,
|
|
31
32
|
ID_PATTERN,
|
|
32
33
|
LINK_KINDS,
|
|
33
34
|
type LinkKind,
|
|
35
|
+
MEASURE_DIRECTIONS,
|
|
36
|
+
METRIC_PATTERN,
|
|
37
|
+
type MeasureDirection,
|
|
38
|
+
type MeasureMeta,
|
|
34
39
|
PARENT_TARGETS,
|
|
35
40
|
REQUIRED_SECTIONS,
|
|
36
41
|
SPEC_VERSION,
|
|
37
42
|
STATUSES,
|
|
43
|
+
TIP_MAX_LENGTH,
|
|
44
|
+
TIP_PATTERN,
|
|
38
45
|
type SliceMeta,
|
|
39
46
|
VISIBILITIES,
|
|
40
47
|
type VerificationMeta,
|
|
@@ -72,8 +79,10 @@ const OPTIONAL_COMMON = [
|
|
|
72
79
|
"reviewedAt",
|
|
73
80
|
"reviewedBy",
|
|
74
81
|
"extensions",
|
|
82
|
+
"tips",
|
|
75
83
|
"slice",
|
|
76
84
|
"verification",
|
|
85
|
+
"measure",
|
|
77
86
|
] as const;
|
|
78
87
|
const KNOWN_KEYS = new Set<string>([...REQUIRED_COMMON, ...OPTIONAL_COMMON]);
|
|
79
88
|
const LINK_FIELDS = LINK_KINDS.filter((kind) => kind !== "parent") as Exclude<LinkKind, "parent">[];
|
|
@@ -399,6 +408,18 @@ function readMeta(s: Record<string, unknown>, problem: Problem): ArtifactMeta |
|
|
|
399
408
|
"Add `slice:` with kind, domain, entrypoints, layers, claims and usesResources (VSA §3).",
|
|
400
409
|
);
|
|
401
410
|
}
|
|
411
|
+
let tips: Record<string, string> | undefined;
|
|
412
|
+
if (Object.hasOwn(s, "tips") && s.tips !== null) {
|
|
413
|
+
if (type !== null && type !== "knowledge") {
|
|
414
|
+
problem(
|
|
415
|
+
`${base}/tips`,
|
|
416
|
+
`\`tips\` is written on ${aType(type)}; only knowledge carries tips.`,
|
|
417
|
+
"Move the tips to the knowledge record that explains this artifact (Core §9).",
|
|
418
|
+
);
|
|
419
|
+
} else {
|
|
420
|
+
tips = readTips(s.tips, `${base}/tips`, problem) ?? undefined;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
402
423
|
let verification: VerificationMeta | undefined;
|
|
403
424
|
if (Object.hasOwn(s, "verification") && s.verification !== null) {
|
|
404
425
|
verification = readVerification(s.verification, `${base}/verification`, problem) ?? undefined;
|
|
@@ -409,6 +430,16 @@ function readMeta(s: Record<string, unknown>, problem: Problem): ArtifactMeta |
|
|
|
409
430
|
"Add `verification:` with method, locator and selector (Core §8).",
|
|
410
431
|
);
|
|
411
432
|
}
|
|
433
|
+
let measure: MeasureMeta | undefined;
|
|
434
|
+
if (Object.hasOwn(s, "measure") && s.measure !== null) {
|
|
435
|
+
measure = readMeasure(s.measure, `${base}/measure`, problem) ?? undefined;
|
|
436
|
+
} else if (!Object.hasOwn(s, "measure") && type === "measure") {
|
|
437
|
+
problem(
|
|
438
|
+
`${base}/measure`,
|
|
439
|
+
"A measure must carry the `measure` metadata block.",
|
|
440
|
+
"Add `measure:` with metric, baseline, target, window and source (Core §6).",
|
|
441
|
+
);
|
|
442
|
+
}
|
|
412
443
|
|
|
413
444
|
if (!usable || type === null || audiences === null) return null;
|
|
414
445
|
const meta: ArtifactMeta = {
|
|
@@ -429,8 +460,10 @@ function readMeta(s: Record<string, unknown>, problem: Problem): ArtifactMeta |
|
|
|
429
460
|
if (reviewedAt !== undefined) meta.reviewedAt = reviewedAt;
|
|
430
461
|
if (reviewedBy !== undefined) meta.reviewedBy = reviewedBy;
|
|
431
462
|
if (extensions !== undefined) meta.extensions = extensions;
|
|
463
|
+
if (tips !== undefined) meta.tips = tips;
|
|
432
464
|
if (slice !== undefined) meta.slice = slice;
|
|
433
465
|
if (verification !== undefined) meta.verification = verification;
|
|
466
|
+
if (measure !== undefined) meta.measure = measure;
|
|
434
467
|
return meta;
|
|
435
468
|
}
|
|
436
469
|
|
|
@@ -572,6 +605,58 @@ function readAvailability(value: unknown, field: string, problem: Problem): Avai
|
|
|
572
605
|
return ok ? (out as Availability) : null;
|
|
573
606
|
}
|
|
574
607
|
|
|
608
|
+
/**
|
|
609
|
+
* Core §9: `tips` on knowledge, a mapping from an explained ID to one sentence
|
|
610
|
+
* of plain text. Keys are checked here for shape and in the validator for
|
|
611
|
+
* membership in `links.explains` (CORE003). A bad entry is reported and left
|
|
612
|
+
* out, so the others still publish; null when the value is not a mapping.
|
|
613
|
+
*/
|
|
614
|
+
function readTips(value: unknown, field: string, problem: Problem): Record<string, string> | null {
|
|
615
|
+
if (!isRecord(value)) {
|
|
616
|
+
problem(
|
|
617
|
+
field,
|
|
618
|
+
"`tips` must be a mapping from an explained ID to one sentence of plain text.",
|
|
619
|
+
"Write `tips:` with one `ID: sentence` line per explained behavior, rule or capability (Core §9).",
|
|
620
|
+
);
|
|
621
|
+
return null;
|
|
622
|
+
}
|
|
623
|
+
const tips: Record<string, string> = {};
|
|
624
|
+
for (const key of Object.keys(value).sort(compareStrings)) {
|
|
625
|
+
const at = `${field}/${pointerToken(key)}`;
|
|
626
|
+
if (!ID_PATTERN.test(key)) {
|
|
627
|
+
problem(at, `Tip key \`${key}\` is not an ID.`, "Key each tip by the ID of an artifact in links.explains.");
|
|
628
|
+
continue;
|
|
629
|
+
}
|
|
630
|
+
const text = value[key];
|
|
631
|
+
if (typeof text !== "string") {
|
|
632
|
+
problem(
|
|
633
|
+
at,
|
|
634
|
+
`The tip for ${key} must be a string.`,
|
|
635
|
+
"Write one sentence of plain text; quote it if it holds a colon.",
|
|
636
|
+
);
|
|
637
|
+
continue;
|
|
638
|
+
}
|
|
639
|
+
if (!TIP_PATTERN.test(text)) {
|
|
640
|
+
problem(
|
|
641
|
+
at,
|
|
642
|
+
`The tip for ${key} must be one line of text with no leading or trailing whitespace.`,
|
|
643
|
+
"Write one sentence on one line; a longer explanation belongs in the Guidance section.",
|
|
644
|
+
);
|
|
645
|
+
continue;
|
|
646
|
+
}
|
|
647
|
+
if ([...text].length > TIP_MAX_LENGTH) {
|
|
648
|
+
problem(
|
|
649
|
+
at,
|
|
650
|
+
`The tip for ${key} is ${[...text].length} characters; a tip is at most ${TIP_MAX_LENGTH}.`,
|
|
651
|
+
"Shorten it to one sentence a tooltip can show; the Guidance section carries the rest.",
|
|
652
|
+
);
|
|
653
|
+
continue;
|
|
654
|
+
}
|
|
655
|
+
tips[key] = text;
|
|
656
|
+
}
|
|
657
|
+
return tips;
|
|
658
|
+
}
|
|
659
|
+
|
|
575
660
|
function readSlice(value: unknown, field: string, problem: Problem): SliceMeta | null {
|
|
576
661
|
if (!isRecord(value)) {
|
|
577
662
|
problem(
|
|
@@ -777,6 +862,73 @@ function readVerification(value: unknown, field: string, problem: Problem): Veri
|
|
|
777
862
|
};
|
|
778
863
|
}
|
|
779
864
|
|
|
865
|
+
const MEASURE_KEYS = ["metric", "baseline", "target", "window", "source", "direction"] as const;
|
|
866
|
+
|
|
867
|
+
function readMeasure(value: unknown, field: string, problem: Problem): MeasureMeta | null {
|
|
868
|
+
if (!isRecord(value)) {
|
|
869
|
+
problem(
|
|
870
|
+
field,
|
|
871
|
+
"`measure` must be a mapping with metric, baseline, target, window and source.",
|
|
872
|
+
"Write the five keys under `measure:`; `direction` is optional (Core §6).",
|
|
873
|
+
);
|
|
874
|
+
return null;
|
|
875
|
+
}
|
|
876
|
+
let ok = true;
|
|
877
|
+
for (const key of Object.keys(value).sort(compareStrings)) {
|
|
878
|
+
if (!(MEASURE_KEYS as readonly string[]).includes(key)) {
|
|
879
|
+
problem(
|
|
880
|
+
`${field}/${pointerToken(key)}`,
|
|
881
|
+
`Unknown measure key \`${key}\`.`,
|
|
882
|
+
"The keys are metric, baseline, target, window, source and direction.",
|
|
883
|
+
);
|
|
884
|
+
ok = false;
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
if (typeof value.metric !== "string" || !METRIC_PATTERN.test(value.metric)) {
|
|
888
|
+
problem(
|
|
889
|
+
`${field}/metric`,
|
|
890
|
+
"`measure.metric` must be an identifier: lower case letters and digits, words joined by `_` or `-`.",
|
|
891
|
+
"Name the metric the way the evidence source names it, such as median_time_to_intervention.",
|
|
892
|
+
);
|
|
893
|
+
ok = false;
|
|
894
|
+
}
|
|
895
|
+
const guidance: Record<"baseline" | "target" | "window" | "source", string> = {
|
|
896
|
+
baseline: `Give the value before the change, or the literal ${BASELINE_UNKNOWN} when none has been taken.`,
|
|
897
|
+
target: "Give the value or threshold that would show the outcome was achieved.",
|
|
898
|
+
window: "Say when the measure is read, such as `90 days after pilot-1`.",
|
|
899
|
+
source: "Name an entry in registries.yaml's evidenceSources, where the evidence is expected to come from.",
|
|
900
|
+
};
|
|
901
|
+
for (const key of ["baseline", "target", "window", "source"] as const) {
|
|
902
|
+
if (typeof value[key] !== "string" || value[key] === "") {
|
|
903
|
+
problem(`${field}/${key}`, `\`measure.${key}\` must be a non-empty string.`, guidance[key]);
|
|
904
|
+
ok = false;
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
let direction: MeasureDirection | undefined;
|
|
908
|
+
if (Object.hasOwn(value, "direction") && value.direction !== null) {
|
|
909
|
+
if (typeof value.direction === "string" && (MEASURE_DIRECTIONS as readonly string[]).includes(value.direction)) {
|
|
910
|
+
direction = value.direction as MeasureDirection;
|
|
911
|
+
} else {
|
|
912
|
+
problem(
|
|
913
|
+
`${field}/direction`,
|
|
914
|
+
"`measure.direction` must be increase or decrease.",
|
|
915
|
+
"Say which way the metric moves when the outcome is achieved, or leave `direction` out.",
|
|
916
|
+
);
|
|
917
|
+
ok = false;
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
if (!ok) return null;
|
|
921
|
+
const measure: MeasureMeta = {
|
|
922
|
+
metric: value.metric as string,
|
|
923
|
+
baseline: value.baseline as string,
|
|
924
|
+
target: value.target as string,
|
|
925
|
+
window: value.window as string,
|
|
926
|
+
source: value.source as string,
|
|
927
|
+
};
|
|
928
|
+
if (direction !== undefined) measure.direction = direction;
|
|
929
|
+
return measure;
|
|
930
|
+
}
|
|
931
|
+
|
|
780
932
|
/** Core §6: a level-one heading equal to the title and the type's level-two sections, outside code fences. */
|
|
781
933
|
function checkSections(
|
|
782
934
|
input: DocumentInput,
|
package/src/export.ts
CHANGED
|
@@ -57,7 +57,7 @@ export interface ExportMeta {
|
|
|
57
57
|
reports?: ExportReports;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
/** spec/export.md: the `intentset/export/0.
|
|
60
|
+
/** spec/export.md: the `intentset/export/0.3` envelope over a validation result. */
|
|
61
61
|
export function exportGraph(result: ValidationResult, registries: Registries, meta: ExportMeta): ExportEnvelope {
|
|
62
62
|
const { graph } = result;
|
|
63
63
|
const withheld = withheldIds(result, meta.includeRestricted === true);
|
|
@@ -220,6 +220,18 @@ function exportArtifact(
|
|
|
220
220
|
locator: meta.verification.locator,
|
|
221
221
|
selector: meta.verification.selector,
|
|
222
222
|
},
|
|
223
|
+
measure:
|
|
224
|
+
meta.measure === undefined
|
|
225
|
+
? null
|
|
226
|
+
: {
|
|
227
|
+
metric: meta.measure.metric,
|
|
228
|
+
baseline: meta.measure.baseline,
|
|
229
|
+
target: meta.measure.target,
|
|
230
|
+
window: meta.measure.window,
|
|
231
|
+
source: meta.measure.source,
|
|
232
|
+
direction: meta.measure.direction ?? null,
|
|
233
|
+
},
|
|
234
|
+
tips: meta.tips === undefined ? null : (sortKeysDeep(meta.tips) as Record<string, string>),
|
|
223
235
|
extensions: meta.extensions === undefined ? null : (sortKeysDeep(meta.extensions) as Record<string, unknown>),
|
|
224
236
|
};
|
|
225
237
|
if (includeBody) exported.body = artifact.body;
|
|
@@ -329,6 +341,7 @@ function exportRegistries(registries: Registries, withheld: ReadonlySet<string>)
|
|
|
329
341
|
roles: [...registries.roles].sort(compareStrings),
|
|
330
342
|
editions: [...registries.editions].sort(compareStrings),
|
|
331
343
|
flags: [...registries.flags].sort(compareStrings),
|
|
344
|
+
evidenceSources: [...registries.evidenceSources].sort(compareStrings),
|
|
332
345
|
resources: [...registries.resources]
|
|
333
346
|
.map((resource) => ({
|
|
334
347
|
id: resource.id,
|
package/src/read-export.ts
CHANGED
|
@@ -26,10 +26,14 @@ import {
|
|
|
26
26
|
ID_PATTERN,
|
|
27
27
|
LEVELS,
|
|
28
28
|
LINK_KINDS,
|
|
29
|
+
MEASURE_DIRECTIONS,
|
|
30
|
+
METRIC_PATTERN,
|
|
29
31
|
OWNERSHIP_REGIONS,
|
|
30
32
|
STATUSES,
|
|
31
33
|
SUPPORTED_EXPORT_CONTRACTS,
|
|
32
34
|
ARTIFACT_TYPES,
|
|
35
|
+
TIP_MAX_LENGTH,
|
|
36
|
+
TIP_PATTERN,
|
|
33
37
|
VISIBILITIES,
|
|
34
38
|
} from "./types.ts";
|
|
35
39
|
|
|
@@ -364,9 +368,18 @@ class Shape {
|
|
|
364
368
|
|
|
365
369
|
registries(value: unknown): void {
|
|
366
370
|
const at = "/registries";
|
|
367
|
-
const r = this.object(value, at, [
|
|
371
|
+
const r = this.object(value, at, [
|
|
372
|
+
"owners",
|
|
373
|
+
"audiences",
|
|
374
|
+
"releases",
|
|
375
|
+
"roles",
|
|
376
|
+
"editions",
|
|
377
|
+
"flags",
|
|
378
|
+
"evidenceSources",
|
|
379
|
+
"resources",
|
|
380
|
+
]);
|
|
368
381
|
if (r === null) return;
|
|
369
|
-
for (const key of ["owners", "audiences", "releases", "roles", "editions", "flags"])
|
|
382
|
+
for (const key of ["owners", "audiences", "releases", "roles", "editions", "flags", "evidenceSources"])
|
|
370
383
|
this.strings(r[key], `${at}/${key}`);
|
|
371
384
|
this.array(r.resources, `${at}/resources`, (resource, p) => {
|
|
372
385
|
const x = this.object(resource, p, ["id", "path", "owner", "consumers"]);
|
|
@@ -401,6 +414,8 @@ class Shape {
|
|
|
401
414
|
"availability",
|
|
402
415
|
"slice",
|
|
403
416
|
"verification",
|
|
417
|
+
"measure",
|
|
418
|
+
"tips",
|
|
404
419
|
"extensions",
|
|
405
420
|
],
|
|
406
421
|
["body"],
|
|
@@ -444,6 +459,27 @@ class Shape {
|
|
|
444
459
|
this.string(v.locator, `${p}/locator`);
|
|
445
460
|
this.string(v.selector, `${p}/selector`);
|
|
446
461
|
});
|
|
462
|
+
this.nullable(a.measure, `${at}/measure`, (x, p) => {
|
|
463
|
+
const m = this.object(x, p, ["metric", "baseline", "target", "window", "source", "direction"]);
|
|
464
|
+
if (m === null) return;
|
|
465
|
+
this.string(m.metric, `${p}/metric`, METRIC_PATTERN, "a metric identifier such as median_time_to_intervention");
|
|
466
|
+
for (const key of ["baseline", "target", "window", "source"]) this.string(m[key], `${p}/${key}`);
|
|
467
|
+
this.nullable(m.direction, `${p}/direction`, (d, q) => this.oneOf(d, q, MEASURE_DIRECTIONS));
|
|
468
|
+
});
|
|
469
|
+
this.nullable(a.tips, `${at}/tips`, (x, p) => {
|
|
470
|
+
if (!isRecord(x)) {
|
|
471
|
+
this.fail(p, "Expected an object of tips by explained ID.");
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
474
|
+
for (const key of Object.keys(x).sort(compareStrings)) {
|
|
475
|
+
const q = `${p}/${key}`;
|
|
476
|
+
if (!ID_PATTERN.test(key)) this.fail(q, "Expected an artifact ID as the key.");
|
|
477
|
+
const tip = x[key];
|
|
478
|
+
if (typeof tip !== "string" || tip.length > TIP_MAX_LENGTH || !TIP_PATTERN.test(tip)) {
|
|
479
|
+
this.fail(q, `Expected one line of plain text, at most ${TIP_MAX_LENGTH} characters.`);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
});
|
|
447
483
|
this.nullable(a.extensions, `${at}/extensions`, (x, p) => this.extensions(x, p));
|
|
448
484
|
if (Object.hasOwn(a, "body") && typeof a.body !== "string") this.fail(`${at}/body`, "Expected a string.");
|
|
449
485
|
}
|
package/src/registries.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The repository registries (Core §4, §7; VSA §3): owners, audiences, the
|
|
3
|
-
* four release dimensions, and the shared-resource inventory. The file is
|
|
2
|
+
* The repository registries (Core §4, §6, §7; VSA §3): owners, audiences, the
|
|
3
|
+
* four release dimensions, the evidence sources measures name, and the shared-resource inventory. The file is
|
|
4
4
|
* `registries.yaml` in the shape of examples/scheduling/registries.yaml.
|
|
5
5
|
* A missing or empty file is empty registries, which the validator reads as
|
|
6
6
|
* "not declared" rather than "nothing allowed".
|
|
@@ -10,7 +10,7 @@ import { compareStrings, isRecord, makeDiagnostic } from "./report.ts";
|
|
|
10
10
|
import { EMPTY_REGISTRIES, ID_PATTERN, type Registries, type Resource } from "./types.ts";
|
|
11
11
|
import { parseYamlDetailed } from "./yaml.ts";
|
|
12
12
|
|
|
13
|
-
const LIST_KEYS = ["owners", "audiences", "releases", "roles", "editions", "flags"] as const;
|
|
13
|
+
const LIST_KEYS = ["owners", "audiences", "releases", "roles", "editions", "flags", "evidenceSources"] as const;
|
|
14
14
|
const KNOWN_KEYS = new Set<string>([...LIST_KEYS, "resources"]);
|
|
15
15
|
|
|
16
16
|
/**
|
package/src/types.ts
CHANGED
|
@@ -10,6 +10,7 @@ export const ARTIFACT_TYPES = [
|
|
|
10
10
|
"product",
|
|
11
11
|
"intent",
|
|
12
12
|
"outcome",
|
|
13
|
+
"measure",
|
|
13
14
|
"capability",
|
|
14
15
|
"behavior",
|
|
15
16
|
"rule",
|
|
@@ -75,6 +76,7 @@ export const LINK_ENDPOINTS: Record<
|
|
|
75
76
|
export const PARENT_TARGETS: Partial<Record<ArtifactType, readonly ArtifactType[]>> = {
|
|
76
77
|
intent: ["product"],
|
|
77
78
|
outcome: ["intent"],
|
|
79
|
+
measure: ["outcome"],
|
|
78
80
|
capability: ["outcome", "capability"],
|
|
79
81
|
behavior: ["capability"],
|
|
80
82
|
};
|
|
@@ -84,6 +86,7 @@ export const REQUIRED_SECTIONS: Record<ArtifactType, readonly string[]> = {
|
|
|
84
86
|
product: ["Scope"],
|
|
85
87
|
intent: ["Rationale"],
|
|
86
88
|
outcome: ["Measure"],
|
|
89
|
+
measure: ["Method"],
|
|
87
90
|
capability: ["Overview"],
|
|
88
91
|
behavior: ["Behavior", "Preconditions", "Outcomes"],
|
|
89
92
|
rule: ["Constraint"],
|
|
@@ -95,6 +98,10 @@ export const REQUIRED_SECTIONS: Record<ArtifactType, readonly string[]> = {
|
|
|
95
98
|
decision: ["Context", "Decision", "Consequences"],
|
|
96
99
|
};
|
|
97
100
|
|
|
101
|
+
/** Core §9: a tip is one line of plain text, no leading or trailing whitespace, at most this many characters. */
|
|
102
|
+
export const TIP_MAX_LENGTH = 160;
|
|
103
|
+
export const TIP_PATTERN = /^\S(?:[^\r\n]*\S)?$/u;
|
|
104
|
+
|
|
98
105
|
export interface Availability {
|
|
99
106
|
products: string[];
|
|
100
107
|
releases: string[];
|
|
@@ -131,6 +138,28 @@ export interface VerificationMeta {
|
|
|
131
138
|
selector: string;
|
|
132
139
|
}
|
|
133
140
|
|
|
141
|
+
export const MEASURE_DIRECTIONS = ["increase", "decrease"] as const;
|
|
142
|
+
export type MeasureDirection = (typeof MEASURE_DIRECTIONS)[number];
|
|
143
|
+
|
|
144
|
+
/** Core §6: a metric identifier, lower case, words joined by `_` or `-`. */
|
|
145
|
+
export const METRIC_PATTERN = /^[a-z][a-z0-9]*(?:[_-][a-z0-9]+)*$/;
|
|
146
|
+
|
|
147
|
+
/** The literal a measure's baseline carries when none has been taken yet (Core §6). */
|
|
148
|
+
export const BASELINE_UNKNOWN = "unknown";
|
|
149
|
+
|
|
150
|
+
/** Core §6 measure metadata: how the parent outcome is judged. */
|
|
151
|
+
export interface MeasureMeta {
|
|
152
|
+
metric: string;
|
|
153
|
+
/** A value, or `unknown` (BASELINE_UNKNOWN). */
|
|
154
|
+
baseline: string;
|
|
155
|
+
target: string;
|
|
156
|
+
/** When the measure is read, relative to a release or a date; prose, not parsed. */
|
|
157
|
+
window: string;
|
|
158
|
+
/** An entry in the repository's `evidenceSources` registry. */
|
|
159
|
+
source: string;
|
|
160
|
+
direction?: MeasureDirection;
|
|
161
|
+
}
|
|
162
|
+
|
|
134
163
|
/** The `intentset` block of a document's frontmatter after validation, Core §4. */
|
|
135
164
|
export interface ArtifactMeta {
|
|
136
165
|
spec: typeof SPEC_VERSION;
|
|
@@ -150,8 +179,11 @@ export interface ArtifactMeta {
|
|
|
150
179
|
reviewedBy?: string;
|
|
151
180
|
/** Namespaced extensions, preserved and never interpreted. */
|
|
152
181
|
extensions?: Record<string, unknown>;
|
|
182
|
+
/** Knowledge only (Core §9): one sentence per explained ID, keys sorted. */
|
|
183
|
+
tips?: Record<string, string>;
|
|
153
184
|
slice?: SliceMeta;
|
|
154
185
|
verification?: VerificationMeta;
|
|
186
|
+
measure?: MeasureMeta;
|
|
155
187
|
}
|
|
156
188
|
|
|
157
189
|
export interface Heading {
|
|
@@ -228,6 +260,8 @@ export interface Registries {
|
|
|
228
260
|
roles: string[];
|
|
229
261
|
editions: string[];
|
|
230
262
|
flags: string[];
|
|
263
|
+
/** Where a measure's evidence is expected to come from (Core §6): an analytics product, a study, a survey. */
|
|
264
|
+
evidenceSources: string[];
|
|
231
265
|
resources: Resource[];
|
|
232
266
|
}
|
|
233
267
|
|
|
@@ -238,6 +272,7 @@ export const EMPTY_REGISTRIES: Registries = {
|
|
|
238
272
|
roles: [],
|
|
239
273
|
editions: [],
|
|
240
274
|
flags: [],
|
|
275
|
+
evidenceSources: [],
|
|
241
276
|
resources: [],
|
|
242
277
|
};
|
|
243
278
|
|
|
@@ -297,11 +332,12 @@ export interface ImpactReport {
|
|
|
297
332
|
}
|
|
298
333
|
|
|
299
334
|
/**
|
|
300
|
-
* The versioned export envelope (spec/export.md; spec/export.schema.json). 0.2
|
|
301
|
-
* the first version a consumer
|
|
302
|
-
* restricted artifacts by default (ADR 0008).
|
|
335
|
+
* The versioned export envelope (spec/export.md; spec/export.schema.json). 0.2 was
|
|
336
|
+
* the first version a consumer could pin: 0.1 carried untyped report slots and
|
|
337
|
+
* restricted artifacts by default (ADR 0008). 0.3 added the measure type, the
|
|
338
|
+
* `evidenceSources` registry, and `measure` and `tips` on every artifact (ADR 0012).
|
|
303
339
|
*/
|
|
304
|
-
export const EXPORT_CONTRACT = "intentset/export/0.
|
|
340
|
+
export const EXPORT_CONTRACT = "intentset/export/0.3";
|
|
305
341
|
|
|
306
342
|
/** The contracts this implementation reads. A consumer rejects every other value (spec/export.md §5). */
|
|
307
343
|
export const SUPPORTED_EXPORT_CONTRACTS: readonly string[] = [EXPORT_CONTRACT];
|
|
@@ -332,6 +368,10 @@ export interface ExportArtifact {
|
|
|
332
368
|
availability: Availability | null;
|
|
333
369
|
slice: SliceMeta | null;
|
|
334
370
|
verification: VerificationMeta | null;
|
|
371
|
+
/** Null unless the artifact is a measure; `direction` is null when the author set none. */
|
|
372
|
+
measure: (Omit<MeasureMeta, "direction"> & { direction: MeasureDirection | null }) | null;
|
|
373
|
+
/** Null unless the artifact is knowledge with tips (Core §9). */
|
|
374
|
+
tips: Record<string, string> | null;
|
|
335
375
|
extensions: Record<string, unknown> | null;
|
|
336
376
|
/** Present only when the export was asked to include bodies. */
|
|
337
377
|
body?: string;
|