@musubix/policy 3.4.5 → 3.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/dist/balance/BalanceRuleEngine.d.ts +100 -0
- package/dist/balance/BalanceRuleEngine.d.ts.map +1 -0
- package/dist/balance/BalanceRuleEngine.js +241 -0
- package/dist/balance/BalanceRuleEngine.js.map +1 -0
- package/dist/balance/index.d.ts +9 -0
- package/dist/balance/index.d.ts.map +1 -0
- package/dist/balance/index.js +9 -0
- package/dist/balance/index.js.map +1 -0
- package/dist/balance/types.d.ts +109 -0
- package/dist/balance/types.d.ts.map +1 -0
- package/dist/balance/types.js +90 -0
- package/dist/balance/types.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/non-negotiables/NonNegotiablesEngine.d.ts +109 -0
- package/dist/non-negotiables/NonNegotiablesEngine.d.ts.map +1 -0
- package/dist/non-negotiables/NonNegotiablesEngine.js +162 -0
- package/dist/non-negotiables/NonNegotiablesEngine.js.map +1 -0
- package/dist/non-negotiables/index.d.ts +9 -0
- package/dist/non-negotiables/index.d.ts.map +1 -0
- package/dist/non-negotiables/index.js +9 -0
- package/dist/non-negotiables/index.js.map +1 -0
- package/dist/non-negotiables/types.d.ts +141 -0
- package/dist/non-negotiables/types.d.ts.map +1 -0
- package/dist/non-negotiables/types.js +129 -0
- package/dist/non-negotiables/types.js.map +1 -0
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyIH,+DAA+D;AAC/D,mBAAmB;AACnB,+DAA+D;AAE/D;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA6B;IAC9D,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,+DAA+D;AAC/D,iBAAiB;AACjB,+DAA+D;AAE/D,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,QAAQ,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC1C,MAAM,CAAe;IAE7B,YAAY,OAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;QACpC,0CAA0C;QAC1C,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAEO,uBAAuB;QAC7B,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;YAC1C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACtC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACtC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;4BAClC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gCACpC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;4BAC9B,CAAC;wBACH,CAAC;6BAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC7D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gCACrC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;4BAC9B,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,oCAAoC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,YAAY,CAAC,QAAyB;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAA0B,EAAE,SAAoB;QAC7D,MAAM,aAAa,GAAG,SAAS;YAC7B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;YACxF,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAEvC,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,oBAAoB;YACpB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAE,SAAS;YACxD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAE,SAAS;YAE9E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC;YAC/B,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,cAAc,EAAE,WAAW;YAC3B,cAAc,EAAE,aAAa,CAAC,MAAM,GAAG,WAAW;YAClD,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,SAAoB;QACvD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,SAAoB;QAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAA0B,EAAE,SAAoB;QACxD,MAAM,aAAa,GAAG,SAAS;YAC7B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;YACxF,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAgB,EAAE,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,+DAA+D;AAC/D,8CAA8C;AAC9C,+DAA+D;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAa;IAC5C;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,yDAAyD;QACtE,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,cAAc;QACxB,KAAK,CAAC,QAAQ,CAAC,GAAsB;YACnC,+DAA+D;YAC/D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBAC3D,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,CAAC;4BACX,QAAQ,EAAE,WAAW;4BACrB,OAAO,EAAE,wEAAwE;4BACjF,QAAQ,EAAE,OAAO;yBAClB,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,cAAc;QACxB,KAAK,CAAC,QAAQ,CAAC,GAAsB;YACnC,wDAAwD;YACxD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC5D,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;oBACZ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC1C,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBACjD,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,CAAC;4BACX,QAAQ,EAAE,WAAW;4BACrB,OAAO,EAAE,+EAA+E;4BACxF,QAAQ,EAAE,OAAO;yBAClB,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,cAAc;QACxB,KAAK,CAAC,QAAQ,CAAC,GAAsB;YACnC,uBAAuB;YACvB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAED,sDAAsD;YACtD,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAoB,EAAE;gBACvD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAChE,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;4BACxF,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gCAC/C,OAAO,IAAI,CAAC;4BACd,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gBAAgB;gBAClB,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;YAEF,IAAI,MAAM,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,CAAC;wBACX,QAAQ,EAAE,WAAW;wBACrB,OAAO,EAAE,wDAAwD;wBACjE,QAAQ,EAAE,OAAO;qBAClB,CAAC;aACH,CAAC;QACJ,CAAC;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,cAAc;QACxB,KAAK,CAAC,QAAQ,CAAC,GAAsB;YACnC,gDAAgD;YAChD,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,MAAM,YAAY,GAAG;oBACnB,oBAAoB;oBACpB,iCAAiC;oBACjC,kCAAkC;oBAClC,sCAAsC;iBACvC,CAAC;gBAEF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAQ,CAAC,CAAC,CAAC;gBACzE,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC1C,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,CAAC;4BACX,QAAQ,EAAE,WAAW;4BACrB,OAAO,EAAE,8DAA8D;4BACvE,QAAQ,EAAE,OAAO;4BACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE;yBACjC,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC1C,CAAC;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,wDAAwD;QACrE,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,cAAc;QACxB,KAAK,CAAC,QAAQ,CAAC,GAAsB;YACnC,gCAAgC;YAChC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;gBACvE,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,CAAC;4BACX,QAAQ,EAAE,WAAW;4BACrB,OAAO,EAAE,6EAA6E;4BACtF,QAAQ,EAAE,OAAO;yBAClB,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,kDAAkD;QAC/D,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,cAAc;QACxB,KAAK,CAAC,QAAQ,CAAC,GAAsB;YACnC,gCAAgC;YAChC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBAC3D,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,CAAC;4BACX,QAAQ,EAAE,WAAW;4BACrB,OAAO,EAAE,0DAA0D;4BACnE,QAAQ,EAAE,SAAS;yBACpB,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,cAAc;QACxB,KAAK,CAAC,QAAQ,CAAC,GAAsB;YACnC,iCAAiC;YACjC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAClE,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,CAAC;4BACX,QAAQ,EAAE,WAAW;4BACrB,OAAO,EAAE,wEAAwE;4BACjF,QAAQ,EAAE,SAAS;yBACpB,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,cAAc;QACxB,KAAK,CAAC,QAAQ,CAAC,GAAsB;YACnC,0BAA0B;YAC1B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC/D,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,CAAC;4BACX,QAAQ,EAAE,WAAW;4BACrB,OAAO,EAAE,wDAAwD;4BACjE,QAAQ,EAAE,SAAS;yBACpB,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,cAAc;QACxB,KAAK,CAAC,QAAQ,CAAC,GAAsB;YACnC,6CAA6C;YAC7C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC;gBACH,6BAA6B;gBAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;gBAClE,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;gBAC5C,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;oBACpE,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC1C,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,UAAU,EAAE,CAAC;gCACX,QAAQ,EAAE,WAAW;gCACrB,OAAO,EAAE,0EAA0E;gCACnF,QAAQ,EAAE,OAAO;6BAClB,CAAC;qBACH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;KACF;CACF,CAAC;AAEF,sCAAsC;AACtC,cAAc,4BAA4B,CAAC;AAE3C,oCAAoC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NonNegotiablesEngine
|
|
3
|
+
*
|
|
4
|
+
* Validates code and artifacts against non-negotiable rules.
|
|
5
|
+
* Enforces critical constraints that must never be violated.
|
|
6
|
+
*
|
|
7
|
+
* @see TSK-FR-007〜012 - NonNegotiablesEngine
|
|
8
|
+
* @see REQ-FR-020〜023 - NonNegotiablesEngine
|
|
9
|
+
* @trace DES-MUSUBIX-FR-001 DES-POLICY-002
|
|
10
|
+
*/
|
|
11
|
+
import { type NonNegotiableRule, type NonNegotiableCategory, type ValidationContext, type ViolationReport, type NonNegotiablesConfig } from './types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Phase artifact interface (simplified)
|
|
14
|
+
*/
|
|
15
|
+
interface PhaseArtifact {
|
|
16
|
+
readonly id?: string;
|
|
17
|
+
readonly type?: string;
|
|
18
|
+
readonly content?: string | unknown;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Design validation result
|
|
22
|
+
*/
|
|
23
|
+
export interface DesignValidationResult {
|
|
24
|
+
readonly passed: boolean;
|
|
25
|
+
readonly violations: readonly {
|
|
26
|
+
rule: string;
|
|
27
|
+
message: string;
|
|
28
|
+
}[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Implementation validation result
|
|
32
|
+
*/
|
|
33
|
+
export interface ImplementationValidationResult {
|
|
34
|
+
readonly passed: boolean;
|
|
35
|
+
readonly violations: readonly {
|
|
36
|
+
rule: string;
|
|
37
|
+
message: string;
|
|
38
|
+
}[];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* NonNegotiablesEngine Interface
|
|
42
|
+
*/
|
|
43
|
+
export interface INonNegotiablesEngine {
|
|
44
|
+
/** Validate content against non-negotiable rules */
|
|
45
|
+
validateContent(context: ValidationContext): ViolationReport;
|
|
46
|
+
/** Validate design artifacts */
|
|
47
|
+
validateDesignArtifacts(artifacts: readonly PhaseArtifact[]): Promise<DesignValidationResult>;
|
|
48
|
+
/** Validate implementation files */
|
|
49
|
+
validateImplementation(changedFiles: readonly string[]): Promise<ImplementationValidationResult>;
|
|
50
|
+
/** Get all registered rules */
|
|
51
|
+
getRules(category?: NonNegotiableCategory): readonly NonNegotiableRule[];
|
|
52
|
+
/** Get enabled rules only */
|
|
53
|
+
getEnabledRules(): readonly NonNegotiableRule[];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* NonNegotiablesEngine Implementation
|
|
57
|
+
*
|
|
58
|
+
* Enforces non-negotiable rules to ensure code quality and security.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const engine = createNonNegotiablesEngine();
|
|
63
|
+
*
|
|
64
|
+
* const context = { filePath: 'src/config.ts', content: fileContent };
|
|
65
|
+
* const report = engine.validateContent(context);
|
|
66
|
+
*
|
|
67
|
+
* if (!report.passed) {
|
|
68
|
+
* console.error('Non-negotiable violations:', report.summary);
|
|
69
|
+
* }
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare class NonNegotiablesEngine implements INonNegotiablesEngine {
|
|
73
|
+
private readonly rules;
|
|
74
|
+
private readonly failFast;
|
|
75
|
+
constructor(config?: NonNegotiablesConfig);
|
|
76
|
+
/**
|
|
77
|
+
* Validate content against non-negotiable rules
|
|
78
|
+
*/
|
|
79
|
+
validateContent(context: ValidationContext): ViolationReport;
|
|
80
|
+
/**
|
|
81
|
+
* Validate design artifacts
|
|
82
|
+
*/
|
|
83
|
+
validateDesignArtifacts(artifacts: readonly PhaseArtifact[]): Promise<DesignValidationResult>;
|
|
84
|
+
/**
|
|
85
|
+
* Validate implementation files
|
|
86
|
+
*
|
|
87
|
+
* Note: In a real implementation, this would read file contents.
|
|
88
|
+
* For now, it validates based on file paths only.
|
|
89
|
+
*/
|
|
90
|
+
validateImplementation(changedFiles: readonly string[]): Promise<ImplementationValidationResult>;
|
|
91
|
+
/**
|
|
92
|
+
* Get all registered rules
|
|
93
|
+
*/
|
|
94
|
+
getRules(category?: NonNegotiableCategory): readonly NonNegotiableRule[];
|
|
95
|
+
/**
|
|
96
|
+
* Get enabled rules only
|
|
97
|
+
*/
|
|
98
|
+
getEnabledRules(): readonly NonNegotiableRule[];
|
|
99
|
+
private checkRule;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Create a NonNegotiablesEngine instance
|
|
103
|
+
*
|
|
104
|
+
* @param config - Optional configuration
|
|
105
|
+
* @returns INonNegotiablesEngine instance
|
|
106
|
+
*/
|
|
107
|
+
export declare function createNonNegotiablesEngine(config?: NonNegotiablesConfig): INonNegotiablesEngine;
|
|
108
|
+
export {};
|
|
109
|
+
//# sourceMappingURL=NonNegotiablesEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NonNegotiablesEngine.d.ts","sourceRoot":"","sources":["../../src/non-negotiables/NonNegotiablesEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAG1B,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAE7D,gCAAgC;IAChC,uBAAuB,CACrB,SAAS,EAAE,SAAS,aAAa,EAAE,GAClC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEnC,oCAAoC;IACpC,sBAAsB,CACpB,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAE3C,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,iBAAiB,EAAE,CAAC;IAEzE,6BAA6B;IAC7B,eAAe,IAAI,SAAS,iBAAiB,EAAE,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAEvB,MAAM,CAAC,EAAE,oBAAoB;IAKzC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe;IAyB5D;;OAEG;IACG,uBAAuB,CAC3B,SAAS,EAAE,SAAS,aAAa,EAAE,GAClC,OAAO,CAAC,sBAAsB,CAAC;IAgClC;;;;;OAKG;IACG,sBAAsB,CAC1B,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,OAAO,CAAC,8BAA8B,CAAC;IA8B1C;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,iBAAiB,EAAE;IAOxE;;OAEG;IACH,eAAe,IAAI,SAAS,iBAAiB,EAAE;IAM/C,OAAO,CAAC,SAAS;CAyBlB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,CAAC,EAAE,oBAAoB,GAC5B,qBAAqB,CAEvB"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NonNegotiablesEngine
|
|
3
|
+
*
|
|
4
|
+
* Validates code and artifacts against non-negotiable rules.
|
|
5
|
+
* Enforces critical constraints that must never be violated.
|
|
6
|
+
*
|
|
7
|
+
* @see TSK-FR-007〜012 - NonNegotiablesEngine
|
|
8
|
+
* @see REQ-FR-020〜023 - NonNegotiablesEngine
|
|
9
|
+
* @trace DES-MUSUBIX-FR-001 DES-POLICY-002
|
|
10
|
+
*/
|
|
11
|
+
import { DEFAULT_NON_NEGOTIABLE_RULES, createViolationReport, } from './types.js';
|
|
12
|
+
/**
|
|
13
|
+
* NonNegotiablesEngine Implementation
|
|
14
|
+
*
|
|
15
|
+
* Enforces non-negotiable rules to ensure code quality and security.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const engine = createNonNegotiablesEngine();
|
|
20
|
+
*
|
|
21
|
+
* const context = { filePath: 'src/config.ts', content: fileContent };
|
|
22
|
+
* const report = engine.validateContent(context);
|
|
23
|
+
*
|
|
24
|
+
* if (!report.passed) {
|
|
25
|
+
* console.error('Non-negotiable violations:', report.summary);
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export class NonNegotiablesEngine {
|
|
30
|
+
rules;
|
|
31
|
+
failFast;
|
|
32
|
+
constructor(config) {
|
|
33
|
+
this.rules = config?.rules ?? DEFAULT_NON_NEGOTIABLE_RULES;
|
|
34
|
+
this.failFast = config?.failFast ?? false;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Validate content against non-negotiable rules
|
|
38
|
+
*/
|
|
39
|
+
validateContent(context) {
|
|
40
|
+
const violations = [];
|
|
41
|
+
const enabledRules = this.getEnabledRules();
|
|
42
|
+
for (const rule of enabledRules) {
|
|
43
|
+
const result = this.checkRule(rule, context);
|
|
44
|
+
if (!result.passed) {
|
|
45
|
+
violations.push({
|
|
46
|
+
rule,
|
|
47
|
+
message: result.message ?? `Rule ${rule.id} violated`,
|
|
48
|
+
severity: rule.severity,
|
|
49
|
+
location: result.location,
|
|
50
|
+
detectedAt: new Date(),
|
|
51
|
+
});
|
|
52
|
+
if (this.failFast) {
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return createViolationReport(violations);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Validate design artifacts
|
|
61
|
+
*/
|
|
62
|
+
async validateDesignArtifacts(artifacts) {
|
|
63
|
+
const violations = [];
|
|
64
|
+
for (const artifact of artifacts) {
|
|
65
|
+
const content = typeof artifact.content === 'string'
|
|
66
|
+
? artifact.content
|
|
67
|
+
: JSON.stringify(artifact.content);
|
|
68
|
+
const context = {
|
|
69
|
+
filePath: artifact.id,
|
|
70
|
+
content,
|
|
71
|
+
artifactType: artifact.type,
|
|
72
|
+
artifact,
|
|
73
|
+
};
|
|
74
|
+
const report = this.validateContent(context);
|
|
75
|
+
for (const v of report.violations) {
|
|
76
|
+
violations.push({
|
|
77
|
+
rule: v.rule.id,
|
|
78
|
+
message: v.message,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
passed: violations.length === 0,
|
|
84
|
+
violations,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Validate implementation files
|
|
89
|
+
*
|
|
90
|
+
* Note: In a real implementation, this would read file contents.
|
|
91
|
+
* For now, it validates based on file paths only.
|
|
92
|
+
*/
|
|
93
|
+
async validateImplementation(changedFiles) {
|
|
94
|
+
const violations = [];
|
|
95
|
+
// Validate file naming conventions
|
|
96
|
+
for (const file of changedFiles) {
|
|
97
|
+
// Check test file naming convention
|
|
98
|
+
if (file.includes('__tests__') || file.includes('.test.') || file.includes('.spec.')) {
|
|
99
|
+
const testNamingRule = this.rules.find(r => r.id === 'NN-CONV-001');
|
|
100
|
+
if (testNamingRule?.enabled) {
|
|
101
|
+
const isValidTestName = file.endsWith('.test.ts') ||
|
|
102
|
+
file.endsWith('.spec.ts') ||
|
|
103
|
+
file.endsWith('.test.tsx') ||
|
|
104
|
+
file.endsWith('.spec.tsx') ||
|
|
105
|
+
file.endsWith('.test.js') ||
|
|
106
|
+
file.endsWith('.spec.js');
|
|
107
|
+
if (!isValidTestName && !file.includes('__tests__/')) {
|
|
108
|
+
// Allow files in __tests__ directories
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
passed: violations.length === 0,
|
|
115
|
+
violations,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get all registered rules
|
|
120
|
+
*/
|
|
121
|
+
getRules(category) {
|
|
122
|
+
if (category) {
|
|
123
|
+
return this.rules.filter(r => r.category === category);
|
|
124
|
+
}
|
|
125
|
+
return this.rules;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get enabled rules only
|
|
129
|
+
*/
|
|
130
|
+
getEnabledRules() {
|
|
131
|
+
return this.rules.filter(r => r.enabled);
|
|
132
|
+
}
|
|
133
|
+
// Private helpers
|
|
134
|
+
checkRule(rule, context) {
|
|
135
|
+
// Custom validation function
|
|
136
|
+
if (rule.validate) {
|
|
137
|
+
return rule.validate(context);
|
|
138
|
+
}
|
|
139
|
+
// Pattern-based validation
|
|
140
|
+
if (rule.pattern && context.content) {
|
|
141
|
+
const pattern = typeof rule.pattern === 'string' ? new RegExp(rule.pattern) : rule.pattern;
|
|
142
|
+
if (pattern.test(context.content)) {
|
|
143
|
+
return {
|
|
144
|
+
passed: false,
|
|
145
|
+
message: `${rule.name}: ${rule.description}`,
|
|
146
|
+
location: { file: context.filePath },
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return { passed: true };
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Create a NonNegotiablesEngine instance
|
|
155
|
+
*
|
|
156
|
+
* @param config - Optional configuration
|
|
157
|
+
* @returns INonNegotiablesEngine instance
|
|
158
|
+
*/
|
|
159
|
+
export function createNonNegotiablesEngine(config) {
|
|
160
|
+
return new NonNegotiablesEngine(config);
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=NonNegotiablesEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NonNegotiablesEngine.js","sourceRoot":"","sources":["../../src/non-negotiables/NonNegotiablesEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/non-negotiables/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/non-negotiables/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NonNegotiablesEngine Types
|
|
3
|
+
*
|
|
4
|
+
* Defines non-negotiable rules that must be enforced during development.
|
|
5
|
+
*
|
|
6
|
+
* @see TSK-FR-007 - NonNegotiablesEngine型定義
|
|
7
|
+
* @see REQ-FR-020〜023 - NonNegotiablesEngine
|
|
8
|
+
* @trace DES-MUSUBIX-FR-001 DES-POLICY-002
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Non-negotiable rule category
|
|
12
|
+
*/
|
|
13
|
+
export type NonNegotiableCategory = 'security' | 'architecture' | 'quality' | 'compliance' | 'convention';
|
|
14
|
+
/**
|
|
15
|
+
* Non-negotiable rule severity
|
|
16
|
+
*/
|
|
17
|
+
export type NonNegotiableSeverity = 'critical' | 'high' | 'medium';
|
|
18
|
+
/**
|
|
19
|
+
* Non-negotiable rule definition
|
|
20
|
+
*/
|
|
21
|
+
export interface NonNegotiableRule {
|
|
22
|
+
/** Unique rule identifier */
|
|
23
|
+
readonly id: string;
|
|
24
|
+
/** Rule name */
|
|
25
|
+
readonly name: string;
|
|
26
|
+
/** Rule description */
|
|
27
|
+
readonly description: string;
|
|
28
|
+
/** Rule category */
|
|
29
|
+
readonly category: NonNegotiableCategory;
|
|
30
|
+
/** Severity level */
|
|
31
|
+
readonly severity: NonNegotiableSeverity;
|
|
32
|
+
/** Whether rule is enabled */
|
|
33
|
+
readonly enabled: boolean;
|
|
34
|
+
/** Pattern or condition to check */
|
|
35
|
+
readonly pattern?: string | RegExp;
|
|
36
|
+
/** Custom validation function */
|
|
37
|
+
readonly validate?: (context: ValidationContext) => ValidationResult;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Validation context for rule checking
|
|
41
|
+
*/
|
|
42
|
+
export interface ValidationContext {
|
|
43
|
+
/** File path being validated */
|
|
44
|
+
readonly filePath?: string;
|
|
45
|
+
/** File content */
|
|
46
|
+
readonly content?: string;
|
|
47
|
+
/** Artifact type */
|
|
48
|
+
readonly artifactType?: string;
|
|
49
|
+
/** Artifact content */
|
|
50
|
+
readonly artifact?: unknown;
|
|
51
|
+
/** Changed files list */
|
|
52
|
+
readonly changedFiles?: readonly string[];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Validation result from a single rule
|
|
56
|
+
*/
|
|
57
|
+
export interface ValidationResult {
|
|
58
|
+
/** Whether validation passed */
|
|
59
|
+
readonly passed: boolean;
|
|
60
|
+
/** Violation message if failed */
|
|
61
|
+
readonly message?: string;
|
|
62
|
+
/** Location of violation */
|
|
63
|
+
readonly location?: ViolationLocation;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Location of a violation
|
|
67
|
+
*/
|
|
68
|
+
export interface ViolationLocation {
|
|
69
|
+
readonly file?: string;
|
|
70
|
+
readonly line?: number;
|
|
71
|
+
readonly column?: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Violation report entry
|
|
75
|
+
*/
|
|
76
|
+
export interface Violation {
|
|
77
|
+
/** Rule that was violated */
|
|
78
|
+
readonly rule: NonNegotiableRule;
|
|
79
|
+
/** Violation message */
|
|
80
|
+
readonly message: string;
|
|
81
|
+
/** Severity of violation */
|
|
82
|
+
readonly severity: NonNegotiableSeverity;
|
|
83
|
+
/** Location of violation */
|
|
84
|
+
readonly location?: ViolationLocation;
|
|
85
|
+
/** Timestamp of detection */
|
|
86
|
+
readonly detectedAt: Date;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Violation report summary
|
|
90
|
+
*/
|
|
91
|
+
export interface ViolationReport {
|
|
92
|
+
/** Whether all checks passed */
|
|
93
|
+
readonly passed: boolean;
|
|
94
|
+
/** List of violations */
|
|
95
|
+
readonly violations: readonly Violation[];
|
|
96
|
+
/** Count by severity */
|
|
97
|
+
readonly counts: ViolationCounts;
|
|
98
|
+
/** Summary message */
|
|
99
|
+
readonly summary: string;
|
|
100
|
+
/** Timestamp */
|
|
101
|
+
readonly generatedAt: Date;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Violation counts by severity
|
|
105
|
+
*/
|
|
106
|
+
export interface ViolationCounts {
|
|
107
|
+
readonly critical: number;
|
|
108
|
+
readonly high: number;
|
|
109
|
+
readonly medium: number;
|
|
110
|
+
readonly total: number;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* NonNegotiablesEngine configuration
|
|
114
|
+
*/
|
|
115
|
+
export interface NonNegotiablesConfig {
|
|
116
|
+
/** Rules to use */
|
|
117
|
+
readonly rules: readonly NonNegotiableRule[];
|
|
118
|
+
/** Whether to fail on first violation */
|
|
119
|
+
readonly failFast?: boolean;
|
|
120
|
+
/** Custom rule overrides */
|
|
121
|
+
readonly overrides?: Partial<Record<string, Partial<NonNegotiableRule>>>;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Default non-negotiable rules based on FastRender insights
|
|
125
|
+
*/
|
|
126
|
+
export declare const DEFAULT_NON_NEGOTIABLE_RULES: readonly NonNegotiableRule[];
|
|
127
|
+
/**
|
|
128
|
+
* Create a non-negotiable rule
|
|
129
|
+
*/
|
|
130
|
+
export declare function createNonNegotiableRule(params: Omit<NonNegotiableRule, 'enabled'> & {
|
|
131
|
+
enabled?: boolean;
|
|
132
|
+
}): NonNegotiableRule;
|
|
133
|
+
/**
|
|
134
|
+
* Create initial violation counts
|
|
135
|
+
*/
|
|
136
|
+
export declare function createViolationCounts(): ViolationCounts;
|
|
137
|
+
/**
|
|
138
|
+
* Create a violation report
|
|
139
|
+
*/
|
|
140
|
+
export declare function createViolationReport(violations: readonly Violation[]): ViolationReport;
|
|
141
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/non-negotiables/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NonNegotiablesEngine Types
|
|
3
|
+
*
|
|
4
|
+
* Defines non-negotiable rules that must be enforced during development.
|
|
5
|
+
*
|
|
6
|
+
* @see TSK-FR-007 - NonNegotiablesEngine型定義
|
|
7
|
+
* @see REQ-FR-020〜023 - NonNegotiablesEngine
|
|
8
|
+
* @trace DES-MUSUBIX-FR-001 DES-POLICY-002
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Default non-negotiable rules based on FastRender insights
|
|
12
|
+
*/
|
|
13
|
+
export const DEFAULT_NON_NEGOTIABLE_RULES = Object.freeze([
|
|
14
|
+
// Security Rules
|
|
15
|
+
{
|
|
16
|
+
id: 'NN-SEC-001',
|
|
17
|
+
name: 'No Hardcoded Secrets',
|
|
18
|
+
description: 'Prevents hardcoded passwords, API keys, or tokens in code',
|
|
19
|
+
category: 'security',
|
|
20
|
+
severity: 'critical',
|
|
21
|
+
enabled: true,
|
|
22
|
+
pattern: /(password|api[_-]?key|secret|token)\s*[:=]\s*["'][^"']{8,}["']/i,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 'NN-SEC-002',
|
|
26
|
+
name: 'No SQL Injection Patterns',
|
|
27
|
+
description: 'Prevents potential SQL injection vulnerabilities',
|
|
28
|
+
category: 'security',
|
|
29
|
+
severity: 'critical',
|
|
30
|
+
enabled: true,
|
|
31
|
+
pattern: /\+\s*["'].*SELECT.*FROM|execute\s*\(\s*["'].*\+/i,
|
|
32
|
+
},
|
|
33
|
+
// Architecture Rules
|
|
34
|
+
{
|
|
35
|
+
id: 'NN-ARCH-001',
|
|
36
|
+
name: 'No Circular Dependencies',
|
|
37
|
+
description: 'Prevents circular import patterns',
|
|
38
|
+
category: 'architecture',
|
|
39
|
+
severity: 'high',
|
|
40
|
+
enabled: true,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: 'NN-ARCH-002',
|
|
44
|
+
name: 'Domain Independence',
|
|
45
|
+
description: 'Domain layer must not depend on infrastructure',
|
|
46
|
+
category: 'architecture',
|
|
47
|
+
severity: 'high',
|
|
48
|
+
enabled: true,
|
|
49
|
+
},
|
|
50
|
+
// Quality Rules
|
|
51
|
+
{
|
|
52
|
+
id: 'NN-QUAL-001',
|
|
53
|
+
name: 'No console.log in Production',
|
|
54
|
+
description: 'Prevents console.log statements in production code',
|
|
55
|
+
category: 'quality',
|
|
56
|
+
severity: 'medium',
|
|
57
|
+
enabled: true,
|
|
58
|
+
pattern: /console\.log\s*\(/,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: 'NN-QUAL-002',
|
|
62
|
+
name: 'No TODO/FIXME in Main Branch',
|
|
63
|
+
description: 'Prevents unresolved TODO/FIXME comments',
|
|
64
|
+
category: 'quality',
|
|
65
|
+
severity: 'medium',
|
|
66
|
+
enabled: true,
|
|
67
|
+
pattern: /\/\/\s*(TODO|FIXME|HACK|XXX):/i,
|
|
68
|
+
},
|
|
69
|
+
// Convention Rules
|
|
70
|
+
{
|
|
71
|
+
id: 'NN-CONV-001',
|
|
72
|
+
name: 'Test Files Naming',
|
|
73
|
+
description: 'Test files must follow *.test.ts or *.spec.ts naming',
|
|
74
|
+
category: 'convention',
|
|
75
|
+
severity: 'medium',
|
|
76
|
+
enabled: true,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: 'NN-CONV-002',
|
|
80
|
+
name: 'Interface Prefix',
|
|
81
|
+
description: 'Interfaces should start with I prefix',
|
|
82
|
+
category: 'convention',
|
|
83
|
+
severity: 'medium',
|
|
84
|
+
enabled: false, // Optional rule
|
|
85
|
+
},
|
|
86
|
+
]);
|
|
87
|
+
/**
|
|
88
|
+
* Create a non-negotiable rule
|
|
89
|
+
*/
|
|
90
|
+
export function createNonNegotiableRule(params) {
|
|
91
|
+
return Object.freeze({
|
|
92
|
+
...params,
|
|
93
|
+
enabled: params.enabled ?? true,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Create initial violation counts
|
|
98
|
+
*/
|
|
99
|
+
export function createViolationCounts() {
|
|
100
|
+
return Object.freeze({
|
|
101
|
+
critical: 0,
|
|
102
|
+
high: 0,
|
|
103
|
+
medium: 0,
|
|
104
|
+
total: 0,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Create a violation report
|
|
109
|
+
*/
|
|
110
|
+
export function createViolationReport(violations) {
|
|
111
|
+
const counts = {
|
|
112
|
+
critical: violations.filter(v => v.severity === 'critical').length,
|
|
113
|
+
high: violations.filter(v => v.severity === 'high').length,
|
|
114
|
+
medium: violations.filter(v => v.severity === 'medium').length,
|
|
115
|
+
total: violations.length,
|
|
116
|
+
};
|
|
117
|
+
const passed = violations.length === 0;
|
|
118
|
+
const summary = passed
|
|
119
|
+
? 'All non-negotiable checks passed'
|
|
120
|
+
: `${counts.total} violations found (${counts.critical} critical, ${counts.high} high, ${counts.medium} medium)`;
|
|
121
|
+
return Object.freeze({
|
|
122
|
+
passed,
|
|
123
|
+
violations,
|
|
124
|
+
counts: Object.freeze(counts),
|
|
125
|
+
summary,
|
|
126
|
+
generatedAt: new Date(),
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/non-negotiables/types.ts"],"names":[],"mappings":"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"}
|