@lesliechan721/aw-plugin-core 0.1.0-beta.61 → 0.1.0-beta.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-authoring-capabilities.js","sourceRoot":"","sources":["../src/plugin-authoring-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,UAAU;IACV,cAAc;IACd,YAAY;IACZ,gBAAgB;IAChB,UAAU;IACV,QAAQ;IACR,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,WAAW;CACH,CAAA;AAwBV,MAAM,QAAQ,GAAG;IACf,aAAa,EAAE,CAAC;IAChB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE;gBAClF,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAClE,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAClE,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACzF,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACrE,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC5E,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACzE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACnE,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC1E,EAAE,KAAK,EAAE,kCAAkC,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC/F,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC3E,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAChE,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,sBAAsB,CAAC,EAAE;gBAClJ,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE;gBACtH,EAAE,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACrH,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxE,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,8DAA8D,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC/G,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC7E,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAClF,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;aACvE;SACF;QACD,cAAc,EAAE;YACd,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE;gBACjG,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC3E,EAAE,KAAK,EAAE,kCAAkC,EAAE,IAAI,EAAE,8CAA8C,EAAE,QAAQ,EAAE,4BAA4B,EAAE;gBAC3I,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,4BAA4B,EAAE;gBACpG,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC5F,EAAE,KAAK,EAAE,kCAAkC,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;gBAC9H,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE;gBAC5J,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC1F,EAAE,KAAK,EAAE,uDAAuD,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACrH,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACrF,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,0DAA0D,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC7H,EAAE,KAAK,EAAE,2CAA2C,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACnI,EAAE,KAAK,EAAE,+CAA+C,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE;gBACpI,EAAE,KAAK,EAAE,wCAAwC,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC7G,EAAE,KAAK,EAAE,wDAAwD,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE;aAC9I;SACF;QACD,UAAU,EAAE;YACV,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,+CAA+C,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC5G,EAAE,KAAK,EAAE,yCAAyC,EAAE,IAAI,EAAE,gFAAgF,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC7J,EAAE,KAAK,EAAE,yEAAyE,EAAE,IAAI,EAAE,iGAAiG,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC9M,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,4CAA4C,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxG,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,4CAA4C,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAClG,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBACvG,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAClF,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACjF,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,oDAAoD,EAAE,QAAQ,EAAE,KAAK,EAAE;aAC5G;SACF;QACD,gBAAgB,EAAE;YAChB,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxD,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE;gBACrJ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE;gBAChG,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC/D,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAAE;gBAClM,EAAE,KAAK,EAAE,kDAAkD,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE;aAC9H;SACF;QACD,UAAU,EAAE;YACV,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE;gBAClF,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACrE,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACtE,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC1E,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE;gBACjF,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrE;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,8CAA8C,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBAChI,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,gDAAgD,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxG,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,qIAAqI,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACnM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,0CAA0C,EAAE,QAAQ,EAAE,aAAa,EAAE;gBACrG,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;gBAChJ,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACvE,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC7E,EAAE,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,gDAAgD,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACjH,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC3E,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,kFAAkF,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC7K,EAAE,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxF,EAAE,KAAK,EAAE,yCAAyC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE;gBAC/F,EAAE,KAAK,EAAE,qCAAqC,EAAE,IAAI,EAAE,8CAA8C,EAAE,QAAQ,EAAE,cAAc,EAAE;gBAChI,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACrG,EAAE,KAAK,EAAE,yCAAyC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC7F,EAAE,KAAK,EAAE,yCAAyC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC7F,EAAE,KAAK,EAAE,4CAA4C,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxG,EAAE,KAAK,EAAE,yCAAyC,EAAE,IAAI,EAAE,4DAA4D,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACzI,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,mKAAmK,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACrO,EAAE,KAAK,EAAE,oDAAoD,EAAE,IAAI,EAAE,4GAA4G,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACpM,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,8EAA8E,EAAE,QAAQ,EAAE,iBAAiB,EAAE;gBACzJ,EAAE,KAAK,EAAE,0CAA0C,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE;gBACxG,EAAE,KAAK,EAAE,wCAAwC,EAAE,IAAI,EAAE,2CAA2C,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACvH,EAAE,KAAK,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;gBAC/J,EAAE,KAAK,EAAE,8CAA8C,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;gBAChH,EAAE,KAAK,EAAE,4CAA4C,EAAE,IAAI,EAAE,2CAA2C,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC3H,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,yFAAyF,EAAE,QAAQ,EAAE,6BAA6B,EAAE;gBACrL,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,4FAA4F,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC3J,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,mHAAmH,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACrL,EAAE,KAAK,EAAE,4CAA4C,EAAE,IAAI,EAAE,6DAA6D,EAAE,QAAQ,EAAE,eAAe,EAAE;gBACvJ,EAAE,KAAK,EAAE,oCAAoC,EAAE,IAAI,EAAE,sEAAsE,EAAE,QAAQ,EAAE,eAAe,EAAE;gBACxJ,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,4DAA4D,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACtI,EAAE,KAAK,EAAE,wCAAwC,EAAE,IAAI,EAAE,yDAAyD,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACrI,EAAE,KAAK,EAAE,0CAA0C,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,mEAAmE,EAAE;gBACxK,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,oHAAoH,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACvL,EAAE,KAAK,EAAE,mDAAmD,EAAE,IAAI,EAAE,mEAAmE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACzJ,EAAE,KAAK,EAAE,qDAAqD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE;gBACvI,EAAE,KAAK,EAAE,8CAA8C,EAAE,IAAI,EAAE,oDAAoD,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACtI,EAAE,KAAK,EAAE,kDAAkD,EAAE,IAAI,EAAE,wDAAwD,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC9I,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;aAC1E;SACF;QACD,WAAW,EAAE;YACX,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACzE,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxE,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,4BAA4B,KAAK,4BAA4B,EAAE,EAAE;gBAC7J,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC1E,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACzF,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC7E,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;gBACtG,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;aACzE;SACF;QACD,kBAAkB,EAAE;YAClB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,8FAA8F,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACnJ,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,0CAA0C,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxG,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,oDAAoD,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACvH,EAAE,KAAK,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;gBAChH,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACvI,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,gGAAgG,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACzK,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,oCAAoC,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE;gBACnI,EAAE,KAAK,EAAE,wCAAwC,EAAE,IAAI,EAAE,gHAAgH,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC5L,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,sCAAsC,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAChG,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACrE,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE;gBACxI,EAAE,KAAK,EAAE,4CAA4C,EAAE,IAAI,EAAE,uHAAuH,EAAE,QAAQ,EAAE,eAAe,EAAE;gBACjN,EAAE,KAAK,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACvI,EAAE,KAAK,EAAE,0CAA0C,EAAE,IAAI,EAAE,gDAAgD,EAAE,QAAQ,EAAE,mBAAmB,EAAE;gBAC5I,EAAE,KAAK,EAAE,4CAA4C,EAAE,IAAI,EAAE,oEAAoE,EAAE,QAAQ,EAAE,cAAc,EAAE;gBAC7J,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAAI,EAAE,4IAA4I,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChN,EAAE,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;gBAC7G,EAAE,KAAK,EAAE,oCAAoC,EAAE,IAAI,EAAE,oEAAoE,EAAE,QAAQ,EAAE,gCAAgC,EAAE;gBACvK,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,0FAA0F,EAAE,QAAQ,EAAE,QAAQ,EAAE;gBACjK,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACtF,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE;gBAC3G,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,wFAAwF,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACpJ,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,uGAAuG,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACnK,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,gHAAgH,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC3K,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,oHAAoH,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACnL,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;gBACzH,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,4DAA4D,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC1H,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,0DAA0D,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC5H,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,wHAAwH,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxL,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,8IAA8I,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/L,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,uOAAuO,EAAE,QAAQ,EAAE,sBAAsB,EAAE;gBAChT,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,6DAA6D,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE;gBACnK,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,6BAA6B,EAAE;gBACzH,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,qLAAqL,EAAE,QAAQ,EAAE,2BAA2B,EAAE;gBACvQ,EAAE,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,+GAA+G,EAAE,QAAQ,EAAE,2BAA2B,EAAE;gBACtM,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,8LAA8L,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAClP,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,kKAAkK,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxN,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,wCAAwC,EAAE;aACjI;SACF;QACD,cAAc,EAAE;YACd,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,yFAAyF,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC1I,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,iHAAiH,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACzK,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,iFAAiF,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC7I,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACtG,EAAE,KAAK,EAAE,oCAAoC,EAAE,IAAI,EAAE,2DAA2D,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAClI,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC7F,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,4CAA4C,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,qBAAqB,EAAE,aAAa,CAAC,EAAE;gBACrK,EAAE,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,6EAA6E,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC7I,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,kDAAkD,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACpH,EAAE,KAAK,EAAE,qCAAqC,EAAE,IAAI,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC7G,EAAE,KAAK,EAAE,2CAA2C,EAAE,IAAI,EAAE,kDAAkD,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE;gBAC3J,EAAE,KAAK,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;gBAC5H,EAAE,KAAK,EAAE,0CAA0C,EAAE,IAAI,EAAE,wFAAwF,EAAE,QAAQ,EAAE,WAAW,EAAE;aAC7K;SACF;QACD,SAAS,EAAE;YACT,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,wBAAwB,EAAE;gBACtG,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;gBAC5G,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,oGAAoG,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChK,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,oGAAoG,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACvK,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAAI,EAAE,8DAA8D,EAAE,QAAQ,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,EAAE;gBAC7M,EAAE,KAAK,EAAE,kCAAkC,EAAE,IAAI,EAAE,oEAAoE,EAAE,QAAQ,EAAE,YAAY,EAAE;gBACjJ,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,4EAA4E,EAAE,QAAQ,EAAE,gBAAgB,EAAE;gBAC3J,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACzG,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC1E,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,0EAA0E,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACrI,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;gBAC5H,EAAE,KAAK,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE;gBAC/H,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,kCAAkC,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,CAAC,EAAE;gBACnM,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;gBAC3H,EAAE,KAAK,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;gBACxK,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;gBACnH,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE;gBACvH,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACzF,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,iBAAiB,EAAE;gBAC1G,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE;gBACzI,EAAE,KAAK,EAAE,uCAAuC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oCAAoC,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,EAAE;gBACtJ,EAAE,KAAK,EAAE,4CAA4C,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,oCAAoC,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;gBACvJ,EAAE,KAAK,EAAE,gDAAgD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC7F,EAAE,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qBAAqB,EAAE;gBAClG,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,oDAAoD,EAAE,QAAQ,EAAE,mBAAmB,EAAE;gBACpI,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC/F,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,8CAA8C,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACrH,EAAE,KAAK,EAAE,wCAAwC,EAAE,IAAI,EAAE,mFAAmF,EAAE,QAAQ,EAAE,oBAAoB,EAAE;gBAC9K,EAAE,KAAK,EAAE,oCAAoC,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE;aACjG;SACF;KACF;CACmD,CAAA;AAEtD,MAAM,UAAU,8BAA8B;IAC5C,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,OAA6C;IAE7C,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAA6C,EAC7C,KAAa;IAEb,MAAM,OAAO,GAA8C,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAA;IAC7F,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;IACpE,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,IAAI,KAAK,0BAA0B,CAAC,CAAA;IAC5F,CAAC;IACD,OAAO,KAAK,CAAC,cAAc,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAClC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,IAAI,EACJ,cAAc,CACf,CAAA;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAA0B,CAAA;IACjG,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,WAAW,CAAC,OAAO,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"plugin-authoring-capabilities.js","sourceRoot":"","sources":["../src/plugin-authoring-capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PluginConfigDefinition, PluginConfigObjectField, PluginConfigObjectPropertyField, PluginConfigPreset, PluginConfigScalar, PluginConfigScalarField, PluginConfigSchemaField, PluginConfigValidationIssue, PluginConfigValue } from './types.js';
1
+ import type { PluginConfigDefinition, PluginConfigDependencyField, PluginConfigReferenceContext, PluginConfigObjectField, PluginConfigObjectPropertyField, PluginConfigPreset, PluginConfigScalar, PluginConfigScalarField, PluginConfigSchemaField, PluginConfigValidationIssue, PluginConfigValue } from './types.js';
2
2
  export declare const PLUGIN_CONFIG_V3_MAX_DEFINITIONS = 64;
3
3
  export declare const PLUGIN_CONFIG_V3_MAX_FIELDS = 256;
4
4
  /** Count each followed $ref edge, including edges from object properties; inline objects add zero. */
@@ -21,13 +21,17 @@ export interface PluginConfigObjectPropertiesResolution {
21
21
  export declare function resolvePluginConfigObjectProperties(definition: PluginConfigObjectField, value: unknown, field?: string): PluginConfigObjectPropertiesResolution;
22
22
  export declare function validatePluginConfigValue(definition: PluginConfigSchemaField, value: unknown, field?: string): PluginConfigValidationIssue[];
23
23
  export declare function validatePluginConfigValue(field: string, definition: PluginConfigSchemaField, value: unknown): PluginConfigValidationIssue[];
24
- export declare function validatePluginConfigDocument(definition: PluginConfigDefinition, value: unknown): PluginConfigValidationIssue[];
24
+ export declare function validatePluginConfigDocument(definition: PluginConfigDefinition, value: unknown, context?: PluginConfigReferenceContext): PluginConfigValidationIssue[];
25
25
  /** Returns validation dependencies only; callers still project their original allowed keys. */
26
- export declare function getPluginConfigDependencyKeys(definition: PluginConfigDefinition, keys: readonly string[]): string[];
26
+ export declare function getPluginConfigDependencyKeys(definition: PluginConfigDefinition, keys: readonly string[], context?: PluginConfigReferenceContext): string[];
27
+ /** Validation closure only. Returned identities never widen renderer or runtime allowed keys. */
28
+ export declare function getPluginConfigDependencyFields(definition: PluginConfigDefinition, keys: readonly string[], context?: PluginConfigReferenceContext): PluginConfigDependencyField[];
29
+ /** Associate definitions and their defaults. Pass the original config to include unused source definitions. */
30
+ export declare function assertPluginConfigReferenceSchemas(definition: PluginConfigDefinition, context: PluginConfigReferenceContext, sourceConfig?: unknown): void;
27
31
  /** Validate one effective candidate, including complete sources required by selected fields. */
28
- export declare function validatePluginConfigCandidate(definition: PluginConfigDefinition, values: unknown, keys?: readonly string[]): PluginConfigValidationIssue[];
32
+ export declare function validatePluginConfigCandidate(definition: PluginConfigDefinition, values: unknown, keys?: readonly string[], context?: PluginConfigReferenceContext): PluginConfigValidationIssue[];
29
33
  /** Project reference choices from an already resolved scope candidate, using the same validation as writes. */
30
- export declare function getPluginConfigReferenceChoices(definition: PluginConfigDefinition, scalar: PluginConfigScalarField, values: Record<string, unknown>): {
34
+ export declare function getPluginConfigReferenceChoices(definition: PluginConfigDefinition, scalar: PluginConfigScalarField, values: Record<string, unknown>, context?: PluginConfigReferenceContext): {
31
35
  choices: Array<{
32
36
  value: PluginConfigScalar;
33
37
  title: string;
@@ -44,4 +48,7 @@ export declare function redactPluginConfigValue(definition: PluginConfigSchemaFi
44
48
  export declare function formatPluginConfigIssue(issue: PluginConfigValidationIssue): string;
45
49
  /** Decode exactly one local property token, never a traversal path. */
46
50
  export declare function decodePluginConfigSummaryPath(value: string): string;
47
- export declare function normalizePluginConfigDefinition(value: unknown, path?: string): PluginConfigDefinition;
51
+ export declare function normalizePluginConfigDefinition(value: unknown, path?: string, owner?: {
52
+ plugin?: string;
53
+ dependencies?: readonly string[];
54
+ }): PluginConfigDefinition;
@@ -1,5 +1,6 @@
1
- import { RE2 } from 're2-wasm';
1
+ import { ConfigPatternMemoryError, testConfigPattern } from './config-pattern.js';
2
2
  const CONFIG_KEY_PATTERN = /^[A-Za-z][A-Za-z0-9_]*$/u;
3
+ const PLUGIN_NAME_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/u;
3
4
  const IDENTIFIER_PATTERN = /^[A-Za-z][A-Za-z0-9_]*$/u;
4
5
  const SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/u;
5
6
  const SEMVER_PATTERN = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|(?:[0-9A-Za-z-]*[A-Za-z-][0-9A-Za-z-]*))(?:\.(?:0|[1-9]\d*|(?:[0-9A-Za-z-]*[A-Za-z-][0-9A-Za-z-]*)))*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/u;
@@ -106,9 +107,11 @@ function normalizeStringValidation(value, path) {
106
107
  throw new Error(`Invalid ${path}: maxLength is required when pattern is declared.`);
107
108
  }
108
109
  try {
109
- new RE2(pattern, 'u');
110
+ testConfigPattern(pattern);
110
111
  }
111
- catch {
112
+ catch (error) {
113
+ if (error instanceof ConfigPatternMemoryError)
114
+ throw error;
112
115
  throw new Error(`Invalid ${path}.pattern: expected a valid RE2 regular expression.`);
113
116
  }
114
117
  }
@@ -208,7 +211,7 @@ function validateString(value, validation, field, property) {
208
211
  if (validation?.maxLength !== undefined && [...value].length > validation.maxLength) {
209
212
  issues.push(createIssue('maxLength', field, `Expected at most ${validation.maxLength} characters.`, property));
210
213
  }
211
- if (validation?.pattern !== undefined && !new RE2(validation.pattern, 'u').test(value)) {
214
+ if (validation?.pattern !== undefined && !testConfigPattern(validation.pattern, value)) {
212
215
  issues.push(createIssue('pattern', field, `Expected a value that matches ${validation.pattern}.`, property));
213
216
  }
214
217
  if (validation?.format !== undefined && !stringFormatMatches(value, validation.format)) {
@@ -438,21 +441,12 @@ export function validatePluginConfigValue(first, second, third) {
438
441
  ? validateArrayField(resolved.definition, resolved.value, resolved.field)
439
442
  : validateScalarField(resolved.definition, resolved.value, resolved.field);
440
443
  }
441
- export function validatePluginConfigDocument(definition, value) {
444
+ export function validatePluginConfigDocument(definition, value, context) {
442
445
  if (typeof value !== 'object' || value === null || Array.isArray(value)) {
443
446
  return [createIssue('type', '$document', 'Expected a config object.')];
444
447
  }
445
448
  const input = value;
446
449
  const issues = [];
447
- for (const [field, fieldDefinition] of Object.entries(definition.fields)) {
448
- if (!Object.hasOwn(input, field)) {
449
- if (fieldDefinition.required === true) {
450
- issues.push(createIssue('required', field, 'Required field is missing.'));
451
- }
452
- continue;
453
- }
454
- issues.push(...validatePluginConfigValue(fieldDefinition, input[field], field));
455
- }
456
450
  for (const field of Object.keys(input)) {
457
451
  if (isDangerousConfigKey(field)) {
458
452
  issues.push(createIssue('dangerousKey', field, 'Dangerous config key is not allowed.'));
@@ -462,7 +456,8 @@ export function validatePluginConfigDocument(definition, value) {
462
456
  issues.push(createIssue('unknownField', field, 'Unknown config field.'));
463
457
  }
464
458
  }
465
- return [...issues, ...validatePluginConfigReferences(definition, input, Object.keys(definition.fields))];
459
+ return [...issues,
460
+ ...validateConfigCandidateFields(definition, input, Object.keys(definition.fields), context)];
466
461
  }
467
462
  function scalarSchemas(definition) {
468
463
  if (definition.type === 'array')
@@ -476,7 +471,11 @@ function scalarSchemas(definition) {
476
471
  .flatMap((properties) => Object.values(properties).flatMap((child) => scalarSchemas(child)));
477
472
  }
478
473
  /** Returns validation dependencies only; callers still project their original allowed keys. */
479
- export function getPluginConfigDependencyKeys(definition, keys) {
474
+ export function getPluginConfigDependencyKeys(definition, keys, context) {
475
+ if (context !== undefined) {
476
+ return getPluginConfigDependencyFields(definition, keys, context)
477
+ .filter((entry) => entry.plugin === context.plugin).map((entry) => entry.field);
478
+ }
480
479
  const result = new Set();
481
480
  const visit = (key) => {
482
481
  if (result.has(key))
@@ -486,14 +485,170 @@ export function getPluginConfigDependencyKeys(definition, keys) {
486
485
  throw new Error(`Unknown config key "${key}".`);
487
486
  result.add(key);
488
487
  for (const scalar of scalarSchemas(field)) {
489
- if ('valueRef' in scalar && scalar.valueRef !== undefined)
488
+ if ('valueRef' in scalar && scalar.valueRef !== undefined && scalar.valueRef.plugin === undefined)
490
489
  visit(scalar.valueRef.field);
491
490
  }
492
491
  };
493
492
  keys.forEach(visit);
494
493
  return [...result];
495
494
  }
496
- function validatePluginConfigReferences(definition, input, keys) {
495
+ function referencePlugin(definition, context, plugin) {
496
+ if (plugin === (context?.plugin ?? ''))
497
+ return { definition, dependencies: context?.dependencies ?? [] };
498
+ const provider = ownProperty(context?.plugins, plugin);
499
+ if (provider === undefined)
500
+ throw new Error(`valueRefContext: Missing config provider plugin "${plugin}" in the same source context.`);
501
+ return provider;
502
+ }
503
+ function assertReferenceSource(scalar, source, identity) {
504
+ if (!('valueRef' in scalar) || scalar.valueRef === undefined)
505
+ return;
506
+ const ref = scalar.valueRef;
507
+ if (source?.type !== 'array' || source.items.type !== 'object' || source.items.properties === undefined) {
508
+ throw new Error(`valueRefSchema: ${identity}: expected a declared fixed-object array.`);
509
+ }
510
+ const key = ownProperty(source.items.properties, ref.key);
511
+ if (key === undefined || key.type !== scalar.type || ('sensitive' in key && key.sensitive === true)
512
+ || source.validation?.uniqueBy !== ref.key) {
513
+ throw new Error(`valueRefSchema: ${identity}.${ref.key}: expected a scalar of the same type with matching uniqueBy.`);
514
+ }
515
+ const label = ref.label === undefined ? undefined : ownProperty(source.items.properties, ref.label);
516
+ if (ref.label !== undefined && (label === undefined || label.type === 'array' || label.type === 'object')) {
517
+ throw new Error(`valueRefSchema: ${identity}.${ref.label}: expected a declared scalar property.`);
518
+ }
519
+ }
520
+ class ConfigReferenceSchemaError extends Error {
521
+ field;
522
+ constructor(message, field) {
523
+ super(message);
524
+ this.field = field;
525
+ }
526
+ }
527
+ /** Validation closure only. Returned identities never widen renderer or runtime allowed keys. */
528
+ export function getPluginConfigDependencyFields(definition, keys, context) {
529
+ const result = new Map();
530
+ const visiting = new Set();
531
+ const visit = (plugin, field) => {
532
+ const identity = JSON.stringify([plugin, field]);
533
+ if (visiting.has(identity))
534
+ throw new Error(`valueRefCycle: Circular config reference at "${plugin}/${field}".`);
535
+ if (result.has(identity))
536
+ return;
537
+ const owner = referencePlugin(definition, context, plugin);
538
+ const schema = ownProperty(owner.definition.fields, field);
539
+ if (schema === undefined)
540
+ throw new Error(`valueRefSchema: Unknown config field "${plugin}/${field}".`);
541
+ if ('sensitive' in schema && schema.sensitive === true) {
542
+ // Root fields can be sensitive; a reference dependency cannot.
543
+ if (visiting.size > 0)
544
+ throw new Error(`valueRefSchema: Sensitive config dependency "${plugin}/${field}" is denied.`);
545
+ }
546
+ visiting.add(identity);
547
+ result.set(identity, { plugin, field });
548
+ for (const scalar of scalarSchemas(schema)) {
549
+ if (!('valueRef' in scalar) || scalar.valueRef === undefined)
550
+ continue;
551
+ const ref = scalar.valueRef;
552
+ const provider = ref.plugin ?? plugin;
553
+ if (ref.plugin !== undefined) {
554
+ if (context === undefined)
555
+ throw new Error(`valueRefContext: Config reference "${ref.plugin}/${ref.field}" requires a same-source plugin context.`);
556
+ if (owner.definition.schemaVersion !== 4 || !PLUGIN_NAME_PATTERN.test(ref.plugin)
557
+ || ref.plugin === plugin || !owner.dependencies.includes(ref.plugin)) {
558
+ throw new Error(`valueRefSchema: Plugin "${plugin}" must use Config v4 and declare "${ref.plugin}" as a direct dependency; self references use local fields.`);
559
+ }
560
+ }
561
+ const sourceOwner = referencePlugin(definition, context, provider);
562
+ assertReferenceSource(scalar, ownProperty(sourceOwner.definition.fields, ref.field), `${provider}/${ref.field}`);
563
+ visit(provider, ref.field);
564
+ }
565
+ visiting.delete(identity);
566
+ };
567
+ for (const field of keys) {
568
+ try {
569
+ visit(context?.plugin ?? '', field);
570
+ }
571
+ catch (error) {
572
+ throw new ConfigReferenceSchemaError(error.message, field);
573
+ }
574
+ }
575
+ return [...result.values()];
576
+ }
577
+ /** Associate definitions and their defaults. Pass the original config to include unused source definitions. */
578
+ export function assertPluginConfigReferenceSchemas(definition, context, sourceConfig) {
579
+ getPluginConfigDependencyFields(definition, Object.keys(definition.fields), context);
580
+ const defaults = (config) => Object.fromEntries(Object.entries(config.fields).flatMap(([field, schema]) => schema.default === undefined ? [] : [[field, schema.default]]));
581
+ const defaultValues = defaults(definition);
582
+ const defaultContext = {
583
+ ...context,
584
+ plugins: Object.fromEntries(Object.entries(context.plugins).map(([plugin, entry]) => [plugin, { ...entry, values: defaults(entry.definition) }])),
585
+ };
586
+ const assertDefaults = (config, values, keys) => {
587
+ const issues = validatePluginConfigCandidate(config, values, keys, defaultContext);
588
+ if (issues.length > 0)
589
+ throw new Error(`valueRefDefault: Invalid config.default for plugin "${context.plugin}": ${formatPluginConfigIssue(issues[0])}`);
590
+ };
591
+ assertDefaults(definition, defaultValues, Object.keys(defaultValues));
592
+ if (sourceConfig !== undefined) {
593
+ const source = asObject(sourceConfig, 'config');
594
+ if (source.definitions !== undefined) {
595
+ const definitions = createPropertyMap();
596
+ expandConfigReferences(source, 'config', source.schemaVersion === 4, context, definitions);
597
+ for (const [name, schema] of Object.entries(definitions)) {
598
+ const field = `$definition.${name}`;
599
+ const candidate = { ...definition, fields: { ...definition.fields, [field]: schema } };
600
+ getPluginConfigDependencyFields(candidate, [field], context);
601
+ if (schema.default !== undefined) {
602
+ assertDefaults(candidate, { ...defaultValues, [field]: schema.default }, [field]);
603
+ }
604
+ }
605
+ }
606
+ }
607
+ }
608
+ function validateConfigCandidateFields(definition, values, keys, context) {
609
+ let closure;
610
+ try {
611
+ closure = getPluginConfigDependencyFields(definition, keys, context);
612
+ }
613
+ catch (error) {
614
+ const message = error.message;
615
+ const code = message.startsWith('valueRefContext:') ? 'valueRefContext'
616
+ : message.startsWith('valueRefCycle:') ? 'valueRefCycle' : 'valueRefSchema';
617
+ return [createIssue(code, error instanceof ConfigReferenceSchemaError ? error.field : keys[0] ?? '$document', message)];
618
+ }
619
+ const rootPlugin = context?.plugin ?? '';
620
+ const checked = new Map();
621
+ const inputFor = (plugin) => plugin === rootPlugin
622
+ ? values : referencePlugin(definition, context, plugin).values ?? {};
623
+ const evaluate = (plugin, field) => {
624
+ const identity = JSON.stringify([plugin, field]);
625
+ const previous = checked.get(identity);
626
+ if (previous !== undefined)
627
+ return previous;
628
+ const owner = referencePlugin(definition, context, plugin);
629
+ const schema = owner.definition.fields[field];
630
+ const input = inputFor(plugin);
631
+ const fieldIssues = Object.hasOwn(input, field)
632
+ ? validatePluginConfigValue(schema, input[field], field)
633
+ : schema.required === true ? [createIssue('required', field, 'Required field is missing.')] : [];
634
+ const ownerContext = context === undefined ? undefined : {
635
+ ...context, plugin, dependencies: owner.dependencies,
636
+ plugins: { ...context.plugins, [rootPlugin]: { definition, dependencies: context.dependencies, values } },
637
+ };
638
+ fieldIssues.push(...validatePluginConfigReferences(owner.definition, input, [field], ownerContext, (provider, sourceField) => evaluate(provider, sourceField).length === 0));
639
+ const located = plugin === rootPlugin ? fieldIssues : fieldIssues.map((issue) => ({
640
+ ...issue, path: { ...issue.path, plugin: issue.path.plugin ?? plugin },
641
+ message: `Config "${plugin}/${issue.path.field}": ${issue.message}`,
642
+ }));
643
+ checked.set(identity, located);
644
+ return located;
645
+ };
646
+ closure.forEach(({ plugin, field }) => evaluate(plugin, field));
647
+ // Keep direct value errors before relationship errors, as document validation historically does.
648
+ return closure.flatMap(({ plugin, field }) => checked.get(JSON.stringify([plugin, field])))
649
+ .sort((left, right) => Number(left.code.startsWith('valueRef')) - Number(right.code.startsWith('valueRef')));
650
+ }
651
+ function validatePluginConfigReferences(definition, input, keys, context, sourceValid, localOnly = false) {
497
652
  const issues = [];
498
653
  const reservedPaths = new Set();
499
654
  const sources = new Map();
@@ -502,15 +657,22 @@ function validatePluginConfigReferences(definition, input, keys) {
502
657
  if (!('valueRef' in scalar) || scalar.valueRef === undefined)
503
658
  return;
504
659
  const ref = scalar.valueRef;
505
- let source = sources.get(ref.field);
660
+ if (localOnly && ref.plugin !== undefined)
661
+ return;
662
+ const plugin = ref.plugin ?? context?.plugin ?? '';
663
+ const identity = JSON.stringify([plugin, ref.field]);
664
+ const sourceOwner = ref.plugin === undefined ? { definition, values: input }
665
+ : referencePlugin(definition, context, ref.plugin);
666
+ const sourceInput = sourceOwner.values ?? {};
667
+ let source = sources.get(identity);
506
668
  if (source === undefined) {
507
- const sourceSchema = definition.fields[ref.field];
508
- const sourceValue = ownProperty(input, ref.field);
509
- const valid = sourceValue === undefined
669
+ const sourceSchema = sourceOwner.definition.fields[ref.field];
670
+ const sourceValue = ownProperty(sourceInput, ref.field);
671
+ const valid = sourceValid !== undefined ? sourceValid(plugin, ref.field) : sourceValue === undefined
510
672
  ? sourceSchema.required !== true
511
673
  : validatePluginConfigValue(sourceSchema, sourceValue, ref.field).length === 0;
512
674
  source = { valid, entries: valid ? (sourceValue ?? []) : [] };
513
- sources.set(ref.field, source);
675
+ sources.set(identity, source);
514
676
  }
515
677
  const add = (code, message) => {
516
678
  const property = segments.find((segment) => typeof segment === 'string');
@@ -519,7 +681,7 @@ function validatePluginConfigReferences(definition, input, keys) {
519
681
  ? issue : { ...issue, path: { ...issue.path, segments: [field, ...segments] } });
520
682
  };
521
683
  if (!source.valid) {
522
- add('valueRefSource', `Referenced config "${ref.field}" is invalid; fix its complete array value.`);
684
+ add('valueRefSource', `Referenced config "${ref.plugin === undefined ? '' : `${ref.plugin}/`}${ref.field}" is invalid; fix its complete array value.`);
523
685
  return;
524
686
  }
525
687
  let allowed = allowedValues.get(ref);
@@ -527,10 +689,11 @@ function validatePluginConfigReferences(definition, input, keys) {
527
689
  allowed = new Set(ref.include);
528
690
  for (const [sourceIndex, entry] of source.entries.entries()) {
529
691
  if (ref.include?.includes(entry[ref.key]) === true) {
530
- const pathKey = `${ref.field}\0${sourceIndex}\0${ref.key}`;
692
+ const pathKey = `${identity}\0${sourceIndex}\0${ref.key}`;
531
693
  if (!reservedPaths.has(pathKey)) {
532
694
  reservedPaths.add(pathKey);
533
- issues.push(withArrayPath(createIssue('valueRefReserved', ref.field, 'Referenced property collides with a reserved included value.', ref.key), sourceIndex));
695
+ const issue = withArrayPath(createIssue('valueRefReserved', ref.field, 'Referenced property collides with a reserved included value.', ref.key), sourceIndex);
696
+ issues.push(ref.plugin === undefined ? issue : { ...issue, path: { ...issue.path, plugin: ref.plugin } });
534
697
  }
535
698
  }
536
699
  allowed.add(entry[ref.key]);
@@ -540,7 +703,7 @@ function validatePluginConfigReferences(definition, input, keys) {
540
703
  if (value === undefined || validateScalarField(scalar, value, field).length > 0)
541
704
  return;
542
705
  if (!allowed.has(value)) {
543
- add('valueRef', `Expected an included value or a key from config "${ref.field}". Add that key first, update dependent fields, then remove the old key.`);
706
+ add('valueRef', `Expected an included value or a key from config "${ref.plugin === undefined ? '' : `${ref.plugin}/`}${ref.field}". Add that key first, update dependent fields, then remove the old key.`);
544
707
  }
545
708
  };
546
709
  const walk = (schema, value, field, segments = []) => {
@@ -573,43 +736,43 @@ function validatePluginConfigReferences(definition, input, keys) {
573
736
  };
574
737
  for (const field of keys) {
575
738
  const schema = definition.fields[field];
739
+ if (!scalarSchemas(schema).some((scalar) => 'valueRef' in scalar && scalar.valueRef !== undefined))
740
+ continue;
576
741
  walk(schema, ownProperty(input, field), field);
577
742
  }
578
743
  return issues;
579
744
  }
580
745
  /** Validate one effective candidate, including complete sources required by selected fields. */
581
- export function validatePluginConfigCandidate(definition, values, keys) {
746
+ export function validatePluginConfigCandidate(definition, values, keys, context) {
582
747
  if (!isSafeJsonRecord(values))
583
748
  return [createIssue('type', '$document', 'Expected a config JSON object.')];
584
749
  if (keys === undefined)
585
- return validatePluginConfigDocument(definition, values);
586
- const closure = getPluginConfigDependencyKeys(definition, keys);
587
- const projected = Object.fromEntries(closure.flatMap((key) => Object.hasOwn(values, key) ? [[key, values[key]]] : []));
588
- return validatePluginConfigDocument({ ...definition, fields: Object.fromEntries(closure.map((key) => [key, definition.fields[key]])) }, projected);
750
+ return validatePluginConfigDocument(definition, values, context);
751
+ return validateConfigCandidateFields(definition, values, keys, context);
589
752
  }
590
753
  /** Project reference choices from an already resolved scope candidate, using the same validation as writes. */
591
- export function getPluginConfigReferenceChoices(definition, scalar, values) {
754
+ export function getPluginConfigReferenceChoices(definition, scalar, values, context) {
592
755
  if (!('valueRef' in scalar) || scalar.valueRef === undefined)
593
756
  return { choices: [], issues: [] };
594
757
  const ref = scalar.valueRef;
595
- const sourceIssues = validatePluginConfigCandidate(definition, values, [ref.field]);
758
+ const referenceField = '$reference';
759
+ // Choice projection can run before a required scalar has a selection.
760
+ const referenceDefinition = { ...definition, fields: { ...definition.fields, [referenceField]: { ...scalar, required: false } } };
761
+ const sourceIssues = validatePluginConfigCandidate(referenceDefinition, values, [referenceField], context);
596
762
  if (sourceIssues.length > 0)
597
763
  return { choices: [], issues: sourceIssues };
598
764
  // Other references can reserve values in the same source or its dependencies.
599
765
  // Keep those source errors, but do not block choices on unrelated field errors.
600
- const sourceKeys = new Set(getPluginConfigDependencyKeys(definition, [ref.field]));
601
- const sharedSourceIssues = validatePluginConfigReferences(definition, values, Object.keys(definition.fields))
602
- .filter((issue) => sourceKeys.has(issue.path.field));
766
+ const sourceKeys = new Set(getPluginConfigDependencyFields(referenceDefinition, [referenceField], context)
767
+ .filter((entry) => entry.field !== referenceField).map((entry) => JSON.stringify([entry.plugin, entry.field])));
768
+ const relatedKeys = Object.keys(definition.fields).filter((field) => scalarSchemas(definition.fields[field]).some((child) => 'valueRef' in child && child.valueRef !== undefined
769
+ && sourceKeys.has(JSON.stringify([child.valueRef.plugin ?? context?.plugin ?? '', child.valueRef.field]))));
770
+ const sharedSourceIssues = validatePluginConfigReferences(definition, values, relatedKeys, context)
771
+ .filter((issue) => sourceKeys.has(JSON.stringify([issue.path.plugin ?? context?.plugin ?? '', issue.path.field])));
603
772
  if (sharedSourceIssues.length > 0)
604
773
  return { choices: [], issues: sharedSourceIssues };
605
- // A scalar may be nested in an inactive branch or an empty array. Validate its reference
606
- // independently of the current parent value, without requiring a selection to exist yet.
607
- const referenceField = '$reference';
608
- const referenceDefinition = { ...definition, fields: { ...definition.fields, [referenceField]: scalar } };
609
- const issues = validatePluginConfigReferences(referenceDefinition, { ...values, [referenceField]: undefined }, [referenceField]);
610
- if (issues.length > 0)
611
- return { choices: [], issues };
612
- const entries = (ownProperty(values, ref.field) ?? []);
774
+ const sourceValues = ref.plugin === undefined ? values : ownProperty(context?.plugins, ref.plugin)?.values ?? {};
775
+ const entries = (ownProperty(sourceValues, ref.field) ?? []);
613
776
  const candidates = [
614
777
  ...(ref.include ?? []).map((value) => ({ value, title: String(value) })),
615
778
  ...entries.map((entry) => {
@@ -622,7 +785,7 @@ export function getPluginConfigReferenceChoices(definition, scalar, values) {
622
785
  ];
623
786
  return { choices: candidates.filter(({ value }) => validatePluginConfigValue(scalar, value).length === 0), issues: [] };
624
787
  }
625
- function assertValueReferenceSchemas(fields, definitions, path, allowReferences = true) {
788
+ function assertValueReferenceSchemas(fields, definitions, path, allowReferences = true, allowCrossPlugin = false, owner) {
626
789
  for (const definition of definitions) {
627
790
  for (const scalar of scalarSchemas(definition)) {
628
791
  if (!('valueRef' in scalar) || scalar.valueRef === undefined)
@@ -630,6 +793,18 @@ function assertValueReferenceSchemas(fields, definitions, path, allowReferences
630
793
  if (!allowReferences)
631
794
  throw new Error(`Invalid ${path}: valueRef requires Config Definition v3.`);
632
795
  const ref = scalar.valueRef;
796
+ if (ref.plugin !== undefined) {
797
+ if (!allowCrossPlugin)
798
+ throw new Error(`Invalid ${path}.valueRef.plugin: cross-plugin references require Config Definition v4.`);
799
+ if (!PLUGIN_NAME_PATTERN.test(ref.plugin))
800
+ throw new Error(`Invalid ${path}.valueRef.plugin: expected a plugin name.`);
801
+ if (owner?.plugin === ref.plugin)
802
+ throw new Error(`Invalid ${path}.valueRef.plugin: self references must use a local field.`);
803
+ if (owner !== undefined && !owner.dependencies?.includes(ref.plugin)) {
804
+ throw new Error(`Invalid ${path}.valueRef.plugin: "${ref.plugin}" must be an explicit direct dependency.`);
805
+ }
806
+ continue;
807
+ }
633
808
  const source = ownProperty(fields, ref.field);
634
809
  if (source?.type !== 'array' || source.items.type !== 'object' || source.items.properties === undefined) {
635
810
  throw new Error(`Invalid ${path}.valueRef.field: expected a declared fixed-object array.`);
@@ -759,7 +934,7 @@ function normalizeScalarField(value, path, options) {
759
934
  let valueRef;
760
935
  if (input.valueRef !== undefined) {
761
936
  const rawRef = asObject(input.valueRef, `${path}.valueRef`);
762
- assertAllowedKeys(rawRef, `${path}.valueRef`, ['field', 'key', 'label', 'include']);
937
+ assertAllowedKeys(rawRef, `${path}.valueRef`, ['plugin', 'field', 'key', 'label', 'include']);
763
938
  let include;
764
939
  if (rawRef.include !== undefined) {
765
940
  if (!Array.isArray(rawRef.include) || !isDenseDataArray(rawRef.include)
@@ -780,6 +955,7 @@ function normalizeScalarField(value, path, options) {
780
955
  }
781
956
  }
782
957
  valueRef = {
958
+ ...(rawRef.plugin === undefined ? {} : { plugin: nonEmptyString(rawRef.plugin, `${path}.valueRef.plugin`) }),
783
959
  field: nonEmptyString(rawRef.field, `${path}.valueRef.field`),
784
960
  key: nonEmptyString(rawRef.key, `${path}.valueRef.key`),
785
961
  label: optionalText(rawRef.label, `${path}.valueRef.label`),
@@ -1107,7 +1283,7 @@ export function decodePluginConfigSummaryPath(value) {
1107
1283
  throw new Error('Invalid summary path: dangerous config key.');
1108
1284
  return property;
1109
1285
  }
1110
- function expandConfigReferences(input, path, v4 = false) {
1286
+ function expandConfigReferences(input, path, v4 = false, owner, collectedDefinitions) {
1111
1287
  const definitions = input.definitions === undefined ? {} : asObject(input.definitions, `${path}.definitions`);
1112
1288
  if (Object.keys(definitions).length > PLUGIN_CONFIG_V3_MAX_DEFINITIONS) {
1113
1289
  throw new Error(`Invalid ${path}.definitions: expected at most ${PLUGIN_CONFIG_V3_MAX_DEFINITIONS} definitions.`);
@@ -1178,7 +1354,10 @@ function expandConfigReferences(input, path, v4 = false) {
1178
1354
  // Validate unused definitions too, through the same field/default/choice validator.
1179
1355
  const normalizedDefinitions = [];
1180
1356
  for (const [name, value] of Object.entries(definitions)) {
1181
- normalizedDefinitions.push(normalizeConfigField(expand(value, `${path}.definitions.${name}`, []), `${path}.definitions.${name}`, true, v4));
1357
+ const normalized = normalizeConfigField(expand(value, `${path}.definitions.${name}`, []), `${path}.definitions.${name}`, true, v4);
1358
+ normalizedDefinitions.push(normalized);
1359
+ if (collectedDefinitions !== undefined)
1360
+ collectedDefinitions[name] = normalized;
1182
1361
  }
1183
1362
  const fields = asObject(input.fields, `${path}.fields`);
1184
1363
  if (Object.keys(fields).length > PLUGIN_CONFIG_V3_MAX_FIELDS) {
@@ -1187,7 +1366,7 @@ function expandConfigReferences(input, path, v4 = false) {
1187
1366
  const expanded = Object.fromEntries(Object.entries(fields).map(([key, value]) => [key, expand(value, `${path}.fields.${key}`, [])]));
1188
1367
  if (normalizedDefinitions.some((definition) => scalarSchemas(definition).some((scalar) => 'valueRef' in scalar && scalar.valueRef !== undefined))) {
1189
1368
  const normalizedFields = Object.fromEntries(Object.entries(expanded).map(([key, value]) => [key, normalizeConfigField(value, `${path}.fields.${key}`, true, v4)]));
1190
- assertValueReferenceSchemas(normalizedFields, normalizedDefinitions, `${path}.definitions`);
1369
+ assertValueReferenceSchemas(normalizedFields, normalizedDefinitions, `${path}.definitions`, true, v4, owner);
1191
1370
  }
1192
1371
  return expanded;
1193
1372
  }
@@ -1286,12 +1465,12 @@ function normalizeConfigSummaries(input, fields, path) {
1286
1465
  ...(input.fieldViews === undefined ? {} : { fieldViews }),
1287
1466
  };
1288
1467
  }
1289
- export function normalizePluginConfigDefinition(value, path = 'config') {
1468
+ export function normalizePluginConfigDefinition(value, path = 'config', owner) {
1290
1469
  const input = asObject(value, path);
1291
1470
  const v4 = input.schemaVersion === 4;
1292
1471
  const v3 = input.schemaVersion === 3 || v4;
1293
1472
  assertAllowedKeys(input, path, v3 ? ['schemaVersion', 'definitions', 'fields', 'presentation'] : ['fields', 'presentation']);
1294
- const fieldsInput = v3 ? expandConfigReferences(input, path, v4) : asObject(input.fields, `${path}.fields`);
1473
+ const fieldsInput = v3 ? expandConfigReferences(input, path, v4, owner) : asObject(input.fields, `${path}.fields`);
1295
1474
  const fields = createPropertyMap();
1296
1475
  for (const [field, rawDefinition] of Object.entries(fieldsInput)) {
1297
1476
  if (!CONFIG_KEY_PATTERN.test(field) || isDangerousConfigKey(field)) {
@@ -1299,9 +1478,10 @@ export function normalizePluginConfigDefinition(value, path = 'config') {
1299
1478
  }
1300
1479
  fields[field] = normalizeConfigField(rawDefinition, `${path}.fields.${field}`, v3, v4);
1301
1480
  }
1302
- assertValueReferenceSchemas(fields, Object.values(fields), path, v3);
1481
+ assertValueReferenceSchemas(fields, Object.values(fields), path, v3, v4, owner);
1303
1482
  const defaultValues = Object.fromEntries(Object.entries(fields).flatMap(([field, definition]) => definition.default === undefined ? [] : [[field, definition.default]]));
1304
- const defaultIssues = validatePluginConfigReferences({ schemaVersion: 4, fields }, defaultValues, Object.keys(fields))
1483
+ // Cross-plugin defaults require the caller's complete dependency context.
1484
+ const defaultIssues = validatePluginConfigReferences({ schemaVersion: 4, fields }, defaultValues, Object.keys(fields), undefined, undefined, true)
1305
1485
  .filter((issue) => Object.hasOwn(defaultValues, issue.path.field));
1306
1486
  if (defaultIssues.length > 0) {
1307
1487
  throw new Error(`Invalid ${path}.default: ${formatPluginConfigIssue(defaultIssues[0])}`);