narai-primitives 2.3.0 → 2.5.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/connectors/db/connector.js +2 -0
- package/dist/connectors/db/connector.js.map +1 -1
- package/dist/connectors/db/dispatcher.d.ts +2 -1
- package/dist/connectors/db/dispatcher.d.ts.map +1 -1
- package/dist/connectors/db/dispatcher.js +16 -9
- package/dist/connectors/db/dispatcher.js.map +1 -1
- package/dist/connectors/db/lib/credentials.d.ts +6 -0
- package/dist/connectors/db/lib/credentials.d.ts.map +1 -1
- package/dist/connectors/db/lib/credentials.js +11 -11
- package/dist/connectors/db/lib/credentials.js.map +1 -1
- package/dist/connectors/db/lib/drivers/mysql.js +1 -1
- package/dist/connectors/db/lib/drivers/mysql.js.map +1 -1
- package/dist/connectors/db/lib/drivers/oracle.js +1 -1
- package/dist/connectors/db/lib/drivers/oracle.js.map +1 -1
- package/dist/connectors/db/lib/drivers/postgresql.d.ts +31 -0
- package/dist/connectors/db/lib/drivers/postgresql.d.ts.map +1 -1
- package/dist/connectors/db/lib/drivers/postgresql.js +54 -1
- package/dist/connectors/db/lib/drivers/postgresql.js.map +1 -1
- package/dist/connectors/db/lib/drivers/sqlite.js +1 -1
- package/dist/connectors/db/lib/drivers/sqlite.js.map +1 -1
- package/dist/connectors/db/lib/drivers/sqlserver.js +1 -1
- package/dist/connectors/db/lib/drivers/sqlserver.js.map +1 -1
- package/dist/connectors/db/lib/grant-store.d.ts +1 -1
- package/dist/connectors/db/lib/grant-store.d.ts.map +1 -1
- package/dist/connectors/db/lib/grant-store.js +3 -3
- package/dist/connectors/db/lib/grant-store.js.map +1 -1
- package/dist/connectors/db/lib/naming.d.ts +5 -0
- package/dist/connectors/db/lib/naming.d.ts.map +1 -0
- package/dist/connectors/db/lib/naming.js +37 -0
- package/dist/connectors/db/lib/naming.js.map +1 -0
- package/dist/connectors/db/lib/policy.d.ts +19 -4
- package/dist/connectors/db/lib/policy.d.ts.map +1 -1
- package/dist/connectors/db/lib/policy.js +104 -21
- package/dist/connectors/db/lib/policy.js.map +1 -1
- package/dist/connectors/db/lib/query.d.ts.map +1 -1
- package/dist/connectors/db/lib/query.js +3 -1
- package/dist/connectors/db/lib/query.js.map +1 -1
- package/dist/toolkit/guardrail.d.ts.map +1 -1
- package/dist/toolkit/guardrail.js +89 -4
- package/dist/toolkit/guardrail.js.map +1 -1
- package/package.json +6 -1
- package/plugin-hooks/dispatcher.mjs +177 -19
- package/plugin-hooks/plugin-config.mjs +17 -1
- package/plugins/gitlab-connector/gates.json +5 -3
- package/plugins/jira-connector/gates.json +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/policy.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AAYrE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,OAAgB;IACvB,IAAI,EAAE,MAAe;IACrB,QAAQ,EAAE,UAAmB;IAC7B,YAAY,EAAE,cAAuB;CACH,CAAC;AAKrC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAe;IACrB,KAAK,EAAE,OAAgB;IACvB,MAAM,EAAE,QAAiB;IACzB,KAAK,EAAE,OAAgB;IACvB,SAAS,EAAE,WAAoB;CACQ,CAAC;AAS1C;;;;;GAKG;AACH,MAAM,cAAc,GAA6B;IAC/C,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,CAAC;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,0EAA0E;AAC1E,gDAAgD;AAChD,0EAA0E;AAE1E,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;CACxD,CAAC,CAAC;AACH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ;CACjD,CAAC,CAAC;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC;AACH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;CACpC,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,OAAO,EAAE,QAAQ;CAClB,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,SAAS,CAAC;IACvE,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC/D,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,MAAM,CAAC;IACjE,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC/D,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IAE7D,OAAO,aAAa,CAAC,KAAK,CAAC;AAC7B,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,QAAgB;IACpD,4EAA4E;IAC5E,+EAA+E;IAC/E,gFAAgF;IAChF,+EAA+E;IAC/E,uBAAuB;IACvB,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,aAAa,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAW,CAAC;QAChD,IACE,QAAQ,IAAI,CAAC;YACb,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC;YACrC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAW,CAAC,EACnD,CAAC;YACD,aAAa,GAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAY,GAAG,aAAa,CAAC;QAChE,CAAC;QACD,IAAI,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,MAAM;QACR,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,CAAS;IACjD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,sBAA+B;IACvE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,QAAQ,GAAkB,IAAI,CAAC,CAAC,gCAAgC;IAEpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAEjB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAClD,CAAC,EAAE,CAAC,CAAC,6BAA6B;gBACpC,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,KAAK,IAAI,IAAI,sBAAsB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBACtE,CAAC,EAAE,CAAC,CAAC,4BAA4B;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxC,QAAQ,GAAG,CAAC,CAAC;YACf,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACrC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;oBAChB,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,sCAAsC;gBACtD,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAE3C,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE9C,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC;IAE3B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAGD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,+BAA+B,CAAC;AACtD,sEAAsE;AACtE,oEAAoE;AACpE,kEAAkE;AAClE,MAAM,oBAAoB,GACxB,6DAA6D,CAAC;AAQhE,MAAM,qBAAqB,GAA8B,IAAI,GAAG,CAAC;IAC/D,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB;CACzD,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,OAAO,MAAM;IACA,cAAc,CAAe;IAC7B,MAAM,CAAc;IAC7B,iBAAiB,CAAU;IACnC,sEAAsE;IACtE,iEAAiE;IACjE,sEAAsE;IACtE,qBAAqB;IACJ,OAAO,CAAa;IACrC,wEAAwE;IACxE,+DAA+D;IAC9C,eAAe,CAAc;IAE9C,YACE,eAAuB,MAAM,EAC7B,QAAqB,cAAc,EACnC,aAAyB,IAAI,gBAAgB,EAAE;QAE/C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAA4B,CAAC,EAAE,CAAC;YAC7D,6CAA6C;YAC7C,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,GAAG,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,YAA4B,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,qEAAqE;IACrE,qBAAqB;IACrB,qEAAqE;IAErE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,cAAc,CAAC,GAAW;QAC/B,MAAM,UAAU,GAAG,IAAI,KAAK,CAAU,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,KAAK,CAAU,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9D,SAAS,IAAI,CAAC,SAAoB,EAAE,sBAA+B;YACjE,IAAI,QAAQ,GAAkB,IAAI,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;gBAC3B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAClD,CAAC,EAAE,CAAC;wBACN,CAAC;6BAAM,CAAC;4BACN,QAAQ,GAAG,IAAI,CAAC;wBAClB,CAAC;oBACH,CAAC;yBAAM,IAAI,CAAC,KAAK,IAAI,IAAI,sBAAsB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;wBACtE,CAAC,EAAE,CAAC;oBACN,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvD,qEAAqE;oBACrE,uEAAuE;oBACvE,6DAA6D;oBAC7D,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;wBAC7C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;oBAC7D,CAAC;oBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxC,QAAQ,GAAG,CAAC,CAAC;oBACf,CAAC;yBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBACjE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC,EAAE,CAAC;4BACtE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;wBAC7D,CAAC;wBACD,MAAM,KAAK,GAAG,CAAC,CAAC;wBAChB,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;4BAAC,CAAC,EAAE,CAAC;wBAAC,CAAC;wBACrE,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;4BAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBACpD,CAAC,EAAE,CAAC,CAAC,yDAAyD;oBAChE,CAAC;yBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBACjE,MAAM,KAAK,GAAG,CAAC,CAAC;wBAChB,CAAC,IAAI,CAAC,CAAC;wBACP,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;4BACtB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC/D,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;4BAC7D,CAAC;4BACD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC/D,CAAC,EAAE,CAAC;gCACJ,MAAM;4BACR,CAAC;4BACD,CAAC,EAAE,CAAC;wBACN,CAAC;wBACD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;4BAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBACzE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEvB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,IAAI,UAAU,EAAE,CAAC;oBACf,GAAG,IAAI,GAAG,CAAC;oBACX,UAAU,GAAG,KAAK,CAAC;gBACrB,CAAC;gBACD,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,uDAAuD;IACvD,WAAW,CAAC,GAAW;QACrB,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,qEAAqE;IACrE,4BAA4B;IAC5B,qEAAqE;IAErE,mEAAmE;IACnE,MAAM,CAAC,mBAAmB,CAAC,GAAW;QACpC,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAU,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5D,SAAS,IAAI,CAAC,KAAgB,EAAE,sBAA+B;YAC7D,IAAI,QAAQ,GAAkB,IAAI,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;gBAC3B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAClD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;4BAChB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;4BACpB,CAAC,EAAE,CAAC;wBACN,CAAC;6BAAM,CAAC;4BACN,QAAQ,GAAG,IAAI,CAAC;wBAClB,CAAC;oBACH,CAAC;yBAAM,IAAI,CAAC,KAAK,IAAI,IAAI,sBAAsB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;wBACtE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBAChB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;wBACpB,CAAC,EAAE,CAAC;oBACN,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBAClB,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvD,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACpC,MAAM,KAAK,GAAG,CAAC,CAAC;oBAChB,IAAI,MAAM,GAAG,CAAC,CAAC;oBACf,OAAO,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG;wBAAE,MAAM,EAAE,CAAC;oBAC5E,IAAI,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG;wBAAE,MAAM,EAAE,CAAC;oBACzE,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC,EAAE;wBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBACpE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxC,QAAQ,GAAG,CAAC,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEtB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChB,GAAG,IAAI,GAAG,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mEAAmE;IACnE,MAAM,CAAC,kBAAkB,CAAC,GAAW;QACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED,qEAAqE;IACrE,iBAAiB;IACjB,qEAAqE;IAErE;;;;;;;;;;OAUG;IACH,UAAU,CAAC,GAAW,EAAE,MAAuB;QAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,GAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;YACjF,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,+CAA+C;QAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,wCAAwC;QACxC,IAAI,eAAgC,CAAC;QACrC,IAAI,CAAC;YACH,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAI,GAAa,CAAC,OAAO,CAAC;YACtC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAqE,EAAE,CAAC;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,qEAAqE;QACrE,sEAAsE;QACtE,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnF,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,oEAAoE;QACpE,2BAA2B;QAC3B,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAC/E,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QAChD,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,uEAAuE;QACvE,oCAAoC;QACpC,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC9B,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACzC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YAC7C,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,MAAM,CAAC,EAAE,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YAC5C,mEAAmE;YACnE,mEAAmE;YACnE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,IAAY,EAAE,EAAiB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;QAC5F,CAAC;QACD,mBAAmB;QACnB,IAAI,EAAE,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,yEAAyE;QACzE,uBAAuB;QACvB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAChF,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAC3B,IAAY,EACZ,MAAsB;QAEtB,IAAI,EAAiB,CAAC;QACtB,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAI,GAAa,CAAC,OAAO,CAAC;YACtC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM;YAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aACxD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU;YAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aACrE,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc;YAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;aAClG,IAAI,EAAE,KAAK,aAAa,CAAC,IAAI;YAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qDAAqD;IAC7C,UAAU,CAAC,GAAW;QAC5B,oDAAoD;QACpD,yDAAyD;QACzD,IACE,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,OAAO;YACxC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAC9B,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,iDAAiD;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QAEjC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,sEAAsE;YACtE,wEAAwE;YACxE,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;YAC3D,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,iDAAiD;aAC1D,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,gDAAgD;aACzD,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;YAC5D,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;QAC9D,CAAC;QAED,0DAA0D;QAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED,qEAAqE;IACrE,6BAA6B;IAC7B,qEAAqE;IAErE,oEAAoE;IACpE,cAAc;QACZ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,SAAiB,EAAE,aAAqB,GAAG;QAClD,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;QAC5D,QAAQ,CAAC;YACP,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,SAAiB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,QAAQ,CAAC;gBACP,UAAU,EAAE,eAAe;gBAC3B,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,GAAsC,EACtC,SAAiB;IAEjB,MAAM,KAAK,GAAG,GAAG,CAAC,oBAAoB,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,MAAc,EAAE,EAAwB;IACzD,MAAM,OAAO,GAA4B,EAAE,MAAM,EAAE,CAAC;IACpD,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,wEAAwE;AACxE,SAAS,UAAU,CAAC,EAAiB;IACnC,QAAQ,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,MAAc,EAAE,EAAwB;IAC7D,MAAM,OAAO,GAA4B,EAAE,MAAM,EAAE,CAAC;IACpD,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,SAAS,WAAW,CAAC,EAAiB;IACpC,IAAI,EAAE,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,oCAAoC,CAAC;IAC5E,IAAI,EAAE,KAAK,aAAa,CAAC,SAAS;QAAE,OAAO,wCAAwC,CAAC;IACpF,IAAI,EAAE,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,kCAAkC,CAAC;IAC1E,IAAI,EAAE,KAAK,aAAa,CAAC,MAAM;QAAE,OAAO,mCAAmC,CAAC;IAC5E,OAAO,iCAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,EAAiB;IACxC,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,8BAA8B,CAAC;AAC3D,CAAC;AAED,SAAS,cAAc,CAAC,EAAiB;IACvC,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,4CAA4C,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CACvB,MAAc,EACd,EAAwB,EACxB,YAAoB;IAEpB,uEAAuE;IACvE,kDAAkD;IAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,SAAS,GACb,QAAQ,CAAC,MAAM,GAAG,GAAG;QACnB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ;QACnC,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,OAAO,GAA4B;QACvC,MAAM;QACN,aAAa,EAAE,SAAS;KACzB,CAAC;IACF,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACnD,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/connectors/db/lib/query.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAY,KAAK,MAAM,EAAqB,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CACd,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EACzB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/connectors/db/lib/query.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAY,KAAK,MAAM,EAAqB,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CACd,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EACzB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAgFlC"}
|
|
@@ -62,7 +62,8 @@ export async function executeQuery(driver, sql, policy, options = {}) {
|
|
|
62
62
|
if (raw.status === "error") {
|
|
63
63
|
return {
|
|
64
64
|
status: "error",
|
|
65
|
-
|
|
65
|
+
error_code: raw.error_code ?? "SQL_ERROR",
|
|
66
|
+
error: raw.error ?? "unknown driver error",
|
|
66
67
|
execution_time_ms: _elapsedMs(start),
|
|
67
68
|
};
|
|
68
69
|
}
|
|
@@ -81,6 +82,7 @@ export async function executeQuery(driver, sql, policy, options = {}) {
|
|
|
81
82
|
catch (exc) {
|
|
82
83
|
return {
|
|
83
84
|
status: "error",
|
|
85
|
+
error_code: "SQL_ERROR",
|
|
84
86
|
error: exc.message,
|
|
85
87
|
execution_time_ms: _elapsedMs(start),
|
|
86
88
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAkC,MAAM,aAAa,CAAC;AAyBvE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAuB,EACvB,GAAW,EACX,MAAc,EACd,UAA+B,EAAE;IAEjC,MAAM,EACJ,IAAI,EACJ,MAAM,GAAG,IAAI,EACb,QAAQ,EAAE,OAAO,GAAG,IAAI,EACxB,UAAU,EAAE,SAAS,GAAG,KAAK,GAC9B,GAAG,OAAO,CAAC;IACZ,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEhC,IAAI,CAAC;QACH,kBAAkB;QAClB,MAAM,YAAY,GAAiB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAE1D,IAAI,YAAY,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,iBAAiB,EAAE,UAAU,CAAC,KAAK,CAAC;aACrC,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,CAAC,QAAQ,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;YACpD,OAAO;gBACL,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,iBAAiB,EAAE,UAAU,CAAC,KAAK,CAAC;aACrC,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAChD,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,iBAAiB,EAAE,UAAU,CAAC,KAAK,CAAC;aACrC,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,kEAAkE;QAClE,wDAAwD;QACxD,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CACvC,IAAI,EACJ,GAAG,EACH,MAAM,EACN,OAAO,EACP,SAAS,CACV,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardrail.d.ts","sourceRoot":"","sources":["../../src/toolkit/guardrail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sGAAsG;IACtG,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,OAAO,EAAE,CAAC,CAAC;IACX,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"guardrail.d.ts","sourceRoot":"","sources":["../../src/toolkit/guardrail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sGAAsG;IACtG,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,OAAO,EAAE,CAAC,CAAC;IACX,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAuCD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CASzE;AAsCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,iBAAiB,EAAE,EACvC,KAAK,SAAI,GACR,UAAU,GAAG,IAAI,CAuDnB;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAW5D"}
|
|
@@ -18,6 +18,39 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import * as fs from "node:fs";
|
|
20
20
|
const SHELLS = new Set(["bash", "sh", "zsh", "ksh", "dash"]);
|
|
21
|
+
const CONTAINER_RUNTIMES = new Set(["docker", "podman", "nerdctl"]);
|
|
22
|
+
// docker/podman/nerdctl exec|run flags that consume a following argument in
|
|
23
|
+
// their space-separated form (`--flag value`). The `--flag=value` form is
|
|
24
|
+
// handled separately (a single self-contained token). This list is the common,
|
|
25
|
+
// realistic set; an exotic value flag in space form not listed here can still
|
|
26
|
+
// shift the parser by one token (it then fails open, never closed) — best
|
|
27
|
+
// effort, consistent with this module's default posture.
|
|
28
|
+
const CONTAINER_FLAGS_WITH_ARG = new Set([
|
|
29
|
+
// identity / mounts / env / workdir / labels
|
|
30
|
+
"-u", "--user", "-e", "--env", "--env-file", "-w", "--workdir",
|
|
31
|
+
"-v", "--volume", "--volume-driver", "--volumes-from", "--mount", "--tmpfs",
|
|
32
|
+
"--name", "--entrypoint", "-l", "--label", "--label-file", "--annotation",
|
|
33
|
+
"-p", "--publish", "--expose", "-a", "--attach", "--cidfile", "--link",
|
|
34
|
+
// network / dns / host
|
|
35
|
+
"--network", "--net", "--network-alias", "-h", "--hostname", "--domainname",
|
|
36
|
+
"--add-host", "--ip", "--ip6", "--mac-address",
|
|
37
|
+
"--dns", "--dns-option", "--dns-search",
|
|
38
|
+
// resources
|
|
39
|
+
"-m", "--memory", "--memory-reservation", "--memory-swap", "--kernel-memory",
|
|
40
|
+
"--cpus", "-c", "--cpu-shares", "--cpu-period", "--cpu-quota",
|
|
41
|
+
"--cpuset-cpus", "--cpuset-mems", "--pids-limit", "--blkio-weight",
|
|
42
|
+
"--shm-size", "--ulimit", "--gpus", "--device",
|
|
43
|
+
// namespaces / security
|
|
44
|
+
"--pid", "--ipc", "--uts", "--userns", "--cgroupns", "--cgroup-parent",
|
|
45
|
+
"--group-add", "--security-opt", "--sysctl", "--cap-add", "--cap-drop",
|
|
46
|
+
// lifecycle / runtime / exec
|
|
47
|
+
"--detach-keys", "--restart", "--stop-signal", "--stop-timeout",
|
|
48
|
+
"--pull", "--platform", "--runtime", "--isolation",
|
|
49
|
+
// logging / health
|
|
50
|
+
"--log-driver", "--log-opt",
|
|
51
|
+
"--health-cmd", "--health-interval", "--health-retries",
|
|
52
|
+
"--health-timeout", "--health-start-period",
|
|
53
|
+
]);
|
|
21
54
|
/**
|
|
22
55
|
* Read a guardrail manifest JSON file from disk and validate its shape.
|
|
23
56
|
* Throws on parse/validation errors; the caller is responsible for fail-open
|
|
@@ -92,21 +125,36 @@ export function findBlockingRule(command, manifests, depth = 0) {
|
|
|
92
125
|
return inner;
|
|
93
126
|
continue;
|
|
94
127
|
}
|
|
95
|
-
//
|
|
128
|
+
// Recurse into container / remote-exec wrappers (docker/podman/nerdctl
|
|
129
|
+
// exec|run, kubectl exec … -- cmd). Strip the wrapper + its own flags +
|
|
130
|
+
// the container/image/pod name, then re-scan the inner command head.
|
|
131
|
+
const innerExec = unwrapContainerExec(tokens);
|
|
132
|
+
if (innerExec !== null) {
|
|
133
|
+
const inner = findBlockingRule(innerExec, manifests, depth + 1);
|
|
134
|
+
if (inner !== null)
|
|
135
|
+
return inner;
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
// Two-token prefix match (e.g., "aws dynamodb"). Matched case-insensitively
|
|
139
|
+
// so an uppercase variant (which resolves to the real binary on a
|
|
140
|
+
// case-insensitive filesystem) cannot slip past; the original case is kept
|
|
141
|
+
// in blockedToken for the deny message.
|
|
96
142
|
if (tokens.length >= 2) {
|
|
97
143
|
const twoToken = `${head} ${tokens[1] ?? ""}`;
|
|
144
|
+
const twoTokenLc = twoToken.toLowerCase();
|
|
98
145
|
for (const m of manifests) {
|
|
99
146
|
for (const r of m.rules) {
|
|
100
|
-
if (r.block_two_token_command?.
|
|
147
|
+
if (r.block_two_token_command?.some((e) => e.toLowerCase() === twoTokenLc)) {
|
|
101
148
|
return { manifest: m, rule: r, blockedToken: twoToken, command };
|
|
102
149
|
}
|
|
103
150
|
}
|
|
104
151
|
}
|
|
105
152
|
}
|
|
106
|
-
// First-token basename match.
|
|
153
|
+
// First-token basename match (case-insensitive; see note above).
|
|
154
|
+
const headLc = head.toLowerCase();
|
|
107
155
|
for (const m of manifests) {
|
|
108
156
|
for (const r of m.rules) {
|
|
109
|
-
if (r.block_first_token_basename?.
|
|
157
|
+
if (r.block_first_token_basename?.some((e) => e.toLowerCase() === headLc)) {
|
|
110
158
|
return { manifest: m, rule: r, blockedToken: head, command };
|
|
111
159
|
}
|
|
112
160
|
}
|
|
@@ -177,4 +225,41 @@ function unwrapShellDashC(tokens) {
|
|
|
177
225
|
inner = inner.replace(/^(['"])([\s\S]*)\1$/, "$2");
|
|
178
226
|
return inner;
|
|
179
227
|
}
|
|
228
|
+
function unwrapContainerExec(tokens) {
|
|
229
|
+
const head = basename(tokens[0] ?? "").toLowerCase();
|
|
230
|
+
const sub = (tokens[1] ?? "").toLowerCase();
|
|
231
|
+
// kubectl exec [flags] <pod> [-c container] -- cmd args...
|
|
232
|
+
if (head === "kubectl" && sub === "exec") {
|
|
233
|
+
const sep = tokens.indexOf("--");
|
|
234
|
+
if (sep === -1 || sep + 1 >= tokens.length)
|
|
235
|
+
return null;
|
|
236
|
+
return tokens.slice(sep + 1).join(" ").trim();
|
|
237
|
+
}
|
|
238
|
+
// docker / podman / nerdctl exec|run [flags] <container|image> cmd args...
|
|
239
|
+
if (!CONTAINER_RUNTIMES.has(head))
|
|
240
|
+
return null;
|
|
241
|
+
if (sub !== "exec" && sub !== "run")
|
|
242
|
+
return null;
|
|
243
|
+
let i = 2;
|
|
244
|
+
// Skip the wrapper's own flags. Flags that take a separate arg consume the
|
|
245
|
+
// next token; `--key=value` and bare boolean flags (-i, -t, -d, …) do not.
|
|
246
|
+
while (i < tokens.length) {
|
|
247
|
+
const t = tokens[i] ?? "";
|
|
248
|
+
if (!t.startsWith("-"))
|
|
249
|
+
break; // reached container/image name
|
|
250
|
+
if (t.includes("=")) {
|
|
251
|
+
i += 1;
|
|
252
|
+
continue;
|
|
253
|
+
} // --env=FOO=bar form
|
|
254
|
+
if (CONTAINER_FLAGS_WITH_ARG.has(t)) {
|
|
255
|
+
i += 2;
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
i += 1; // boolean flag (-i, -t, -d, …)
|
|
259
|
+
}
|
|
260
|
+
// tokens[i] is the container/image name; the inner command starts after it.
|
|
261
|
+
if (i + 1 >= tokens.length)
|
|
262
|
+
return null;
|
|
263
|
+
return tokens.slice(i + 1).join(" ").trim();
|
|
264
|
+
}
|
|
180
265
|
//# sourceMappingURL=guardrail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardrail.js","sourceRoot":"","sources":["../../src/toolkit/guardrail.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"guardrail.js","sourceRoot":"","sources":["../../src/toolkit/guardrail.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "narai-primitives",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "Read-only connectors + planning hub + connector framework + credential resolution, in one package. Bundles what was @narai/connector-toolkit, @narai/connector-config, @narai/connector-hub, the seven @narai/<svc>-agent-connector packages, and @narai/credential-providers.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/hub/index.js",
|
|
@@ -124,6 +124,11 @@
|
|
|
124
124
|
"marklassian": "^1.2.1",
|
|
125
125
|
"zod": "^3.23.0"
|
|
126
126
|
},
|
|
127
|
+
"overrides": {
|
|
128
|
+
"@anthropic-ai/claude-agent-sdk": {
|
|
129
|
+
"zod": "$zod"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
127
132
|
"optionalDependencies": {
|
|
128
133
|
"@aws-sdk/client-cloudwatch": "^3.1030.0",
|
|
129
134
|
"@aws-sdk/client-dynamodb": "^3.1030.0",
|
|
@@ -229,8 +229,9 @@ async function onPreToolUse(cfg) {
|
|
|
229
229
|
payload = JSON.parse(stdin);
|
|
230
230
|
} catch {
|
|
231
231
|
// Unparseable tool input: under fail-closed, deny rather than fall open.
|
|
232
|
-
//
|
|
233
|
-
|
|
232
|
+
// No manifest to read here, so the posture comes from the env var or the
|
|
233
|
+
// plugin-config default (cfg.enforcement).
|
|
234
|
+
if (effectiveEnforcement(cfg.enforcement) === "fail_closed") {
|
|
234
235
|
process.stdout.write(JSON.stringify({
|
|
235
236
|
hookSpecificOutput: {
|
|
236
237
|
hookEventName: "PreToolUse",
|
|
@@ -333,7 +334,7 @@ async function onPreToolUse(cfg) {
|
|
|
333
334
|
process.stderr.write(
|
|
334
335
|
`dispatcher: plugin-root gate scan failed (${err.message})\n`,
|
|
335
336
|
);
|
|
336
|
-
if (effectiveEnforcement(
|
|
337
|
+
if (effectiveEnforcement(cfg.enforcement) === "fail_closed") {
|
|
337
338
|
decisions.push({
|
|
338
339
|
decision: "deny",
|
|
339
340
|
reason: `fail-closed enforcement: gates manifest at ${pluginGatesFile} could not be parsed`,
|
|
@@ -368,7 +369,7 @@ async function onPreToolUse(cfg) {
|
|
|
368
369
|
process.stderr.write(
|
|
369
370
|
`dispatcher: gate scan failed for ${gatesFile} (${err.message})\n`,
|
|
370
371
|
);
|
|
371
|
-
if (effectiveEnforcement(
|
|
372
|
+
if (effectiveEnforcement(cfg.enforcement) === "fail_closed") {
|
|
372
373
|
decisions.push({
|
|
373
374
|
decision: "deny",
|
|
374
375
|
reason: `fail-closed enforcement: gates manifest at ${gatesFile} could not be parsed`,
|
|
@@ -558,14 +559,143 @@ export function expandPattern(pattern) {
|
|
|
558
559
|
return pattern.replace(/__PROTECTED_BRANCHES__/g, `(?:${escaped.join("|")})`);
|
|
559
560
|
}
|
|
560
561
|
|
|
562
|
+
function escapeRe(s) {
|
|
563
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
// Resolve optional case/flag controls for a pattern rule. Returns
|
|
567
|
+
// { flags } on success or { error: true } for an unknown flag (the caller
|
|
568
|
+
// fails closed). Backward compatible: a rule with neither field -> "".
|
|
569
|
+
// `g` and `y` are deliberately disallowed: the compiled regex is reused
|
|
570
|
+
// across every command segment, and a sticky/global flag carries `lastIndex`
|
|
571
|
+
// between `.test()` calls, so it would intermittently miss and fail open.
|
|
572
|
+
function resolveRuleFlags(rule) {
|
|
573
|
+
let flags = typeof rule.flags === "string" ? rule.flags : "";
|
|
574
|
+
if (flags && !/^[imsu]*$/.test(flags)) return { error: true };
|
|
575
|
+
if (rule.ignore_case === true && !flags.includes("i")) flags += "i";
|
|
576
|
+
return { flags };
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
// Turn a literal string into a case-insensitive regex fragment via character
|
|
580
|
+
// classes. Used for verbs and hostnames so the matcher needs no global `i`
|
|
581
|
+
// flag (which would wrongly conflate curl's case-sensitive `-X` method flag
|
|
582
|
+
// with `-x`, the proxy flag).
|
|
583
|
+
function ciFragment(s) {
|
|
584
|
+
return s.replace(/[a-zA-Z]/g, (c) => `[${c.toLowerCase()}${c.toUpperCase()}]`);
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
/**
|
|
588
|
+
* Build a predicate `(segment) => boolean` for an `external_write` gate rule.
|
|
589
|
+
* It fires when a state-changing HTTP request targets an allowlisted host, or
|
|
590
|
+
* a configured write CLI subcommand appears. The host is matched at a real URL
|
|
591
|
+
* host boundary — immediately after `scheme://` (and optional `userinfo@`),
|
|
592
|
+
* consuming whole dotted labels and ending at a host delimiter — so an
|
|
593
|
+
* allowlisted host cannot be spoofed via path, query, userinfo, subdomain
|
|
594
|
+
* suffix (`atlassian.net.evil.com`) or label prefix (`evil-atlassian.net`).
|
|
595
|
+
* Verbs cover curl `-X`/`--request`, wget `--method`, and HTTPie's positional
|
|
596
|
+
* `http[s] VERB <url>` form. Throws on a malformed rule shape (so the caller
|
|
597
|
+
* can fail closed).
|
|
598
|
+
*/
|
|
599
|
+
export function buildExternalWriteMatcher(rule) {
|
|
600
|
+
const methods = rule.methods;
|
|
601
|
+
const hosts = rule.allowed_hosts;
|
|
602
|
+
const writeCli = rule.write_cli;
|
|
603
|
+
if (
|
|
604
|
+
!Array.isArray(methods) || methods.length === 0 ||
|
|
605
|
+
!methods.every((m) => typeof m === "string" && m.length > 0)
|
|
606
|
+
) {
|
|
607
|
+
throw new Error("external_write: 'methods' must be a non-empty string array");
|
|
608
|
+
}
|
|
609
|
+
if (
|
|
610
|
+
!Array.isArray(hosts) ||
|
|
611
|
+
!hosts.every((h) => typeof h === "string" && h.length > 0)
|
|
612
|
+
) {
|
|
613
|
+
throw new Error("external_write: 'allowed_hosts' must be a string array");
|
|
614
|
+
}
|
|
615
|
+
if (
|
|
616
|
+
writeCli !== undefined &&
|
|
617
|
+
(!Array.isArray(writeCli) ||
|
|
618
|
+
!writeCli.every((c) => typeof c === "string" && c.length > 0))
|
|
619
|
+
) {
|
|
620
|
+
throw new Error("external_write: 'write_cli' must be a string array of subcommands");
|
|
621
|
+
}
|
|
622
|
+
const methodSet = new Set(methods.map((m) => String(m).toUpperCase()));
|
|
623
|
+
const VERB = `(?:${methods.map((m) => ciFragment(escapeRe(m))).join("|")})`;
|
|
624
|
+
const HOST = `(?:${hosts.map((h) => ciFragment(escapeRe(h))).join("|")})`;
|
|
625
|
+
// Host matched at a real URL host position: at a token start, or after an
|
|
626
|
+
// optional `scheme:/[/]` and optional `userinfo@`. curl accepts a missing
|
|
627
|
+
// scheme (defaults to http) and a single slash; the LAST `@` delimits
|
|
628
|
+
// userinfo. Whole dotted labels are consumed and a trailing FQDN dot is
|
|
629
|
+
// tolerated, so an allowlisted host cannot be spoofed via path, query,
|
|
630
|
+
// userinfo, a subdomain suffix (`atlassian.net.evil.com`), or a label prefix
|
|
631
|
+
// (`evil-atlassian.net`).
|
|
632
|
+
const SCHEME = `(?:[A-Za-z][A-Za-z0-9+.\\-]*:\\/{1,2})?`;
|
|
633
|
+
const USER = `(?:[^/?#\\s'"]*@)?`;
|
|
634
|
+
const SUB = `(?:[A-Za-z0-9\\-]+\\.)*`;
|
|
635
|
+
const HOSTPART = `${SUB}${HOST}\\.?(?=[:/?#\\s'"]|$)`;
|
|
636
|
+
// The host must start at a line/whitespace start or immediately after a quote
|
|
637
|
+
// (with an optional scheme; curl accepts a scheme-less host, including quoted
|
|
638
|
+
// `'atlassian.net/x'`). `=` is deliberately NOT a host-start delimiter, so a
|
|
639
|
+
// bare allowlisted host appearing after `key=` in a query value or `-d` body
|
|
640
|
+
// (`...?ref=atlassian.net`, `-d 'u=atlassian.net'`) does not read as the
|
|
641
|
+
// request host — the quote there precedes `key`, not the host.
|
|
642
|
+
const ANCHOR = `(?:^|[\\s'"])${SCHEME}`;
|
|
643
|
+
const urlHostRe = new RegExp(`${ANCHOR}${USER}${HOSTPART}`);
|
|
644
|
+
// Command names are matched case-insensitively (a case-insensitive
|
|
645
|
+
// filesystem resolves `CURL`/`HTTP` to the real binary). The verb and data
|
|
646
|
+
// flags below stay case-sensitive on purpose, so `-X` is not confused with
|
|
647
|
+
// `-x` (proxy), nor `-d` with `-D` (dump-header), etc.
|
|
648
|
+
const curlWgetRe = /\b(?:curl|wget)\b/i;
|
|
649
|
+
// Explicit verb: curl `-X`/`--request`, wget `--method`. `-X` stays
|
|
650
|
+
// case-sensitive so it is not confused with `-x` (curl's proxy flag); the
|
|
651
|
+
// separator tolerates `=` (`-X=POST`) and a line-continuation backslash.
|
|
652
|
+
const verbFlagRe = new RegExp(
|
|
653
|
+
`(?:^|\\s)(?:-X[\\s=\\\\]*|--request[\\s=]+|--method[\\s=]+)${VERB}\\b`,
|
|
654
|
+
);
|
|
655
|
+
// curl/wget flags that imply a method even without an explicit verb.
|
|
656
|
+
const postFlagRe =
|
|
657
|
+
/(?:^|\s)(?:-d|-F|--data(?:-raw|-binary|-urlencode|-ascii)?|--form|--form-string|--json|--post-data|--post-file)\b/;
|
|
658
|
+
const putFlagRe = /(?:^|\s)(?:-T|--upload-file)\b/;
|
|
659
|
+
// HTTPie: a positional verb (optionally after flags), or an implicit POST
|
|
660
|
+
// when a request carries a body data item (`key=value`, `key:=json`,
|
|
661
|
+
// `key@file`, but not `key==query`).
|
|
662
|
+
const httpieVerbRe = new RegExp(
|
|
663
|
+
`^\\s*https?\\s+(?:-{1,2}\\S+\\s+)*${VERB}\\s+${SCHEME}${USER}${HOSTPART}`,
|
|
664
|
+
"i",
|
|
665
|
+
);
|
|
666
|
+
const httpieCmdRe = /^\s*https?\s/i;
|
|
667
|
+
const httpieItemRe = /(?:^|\s)[A-Za-z_][A-Za-z0-9_.\-]*(?::=|=(?!=)|@)/;
|
|
668
|
+
const cliRes = (writeCli ?? []).map(
|
|
669
|
+
(c) => new RegExp(`\\b${c.trim().split(/\s+/).map(escapeRe).join("\\s+")}\\b`),
|
|
670
|
+
);
|
|
671
|
+
return (segment) => {
|
|
672
|
+
if (urlHostRe.test(segment)) {
|
|
673
|
+
if (curlWgetRe.test(segment)) {
|
|
674
|
+
if (verbFlagRe.test(segment)) return true;
|
|
675
|
+
if (methodSet.has("POST") && postFlagRe.test(segment)) return true;
|
|
676
|
+
if (methodSet.has("PUT") && putFlagRe.test(segment)) return true;
|
|
677
|
+
}
|
|
678
|
+
if (
|
|
679
|
+
methodSet.has("POST") &&
|
|
680
|
+
httpieCmdRe.test(segment) &&
|
|
681
|
+
httpieItemRe.test(segment)
|
|
682
|
+
) return true;
|
|
683
|
+
}
|
|
684
|
+
if (httpieVerbRe.test(segment)) return true;
|
|
685
|
+
for (const r of cliRes) if (r.test(segment)) return true;
|
|
686
|
+
return false;
|
|
687
|
+
};
|
|
688
|
+
}
|
|
689
|
+
|
|
561
690
|
/**
|
|
562
691
|
* Apply a parsed gates.json manifest to a command. Rules with invalid
|
|
563
692
|
* shape, disabled names, or uncompilable patterns are skipped. Anchored
|
|
564
693
|
* patterns match per-segment so chaining (`echo ok; psql ...`) can't bypass.
|
|
565
694
|
*
|
|
566
695
|
* Under fail-closed enforcement (env var or the manifest's `enforcement`
|
|
567
|
-
* field), a rule whose pattern will not compile
|
|
568
|
-
*
|
|
696
|
+
* field), a rule whose pattern will not compile (or whose external_write
|
|
697
|
+
* shape is malformed) becomes a hard deny instead of being silently skipped
|
|
698
|
+
* — we cannot prove the command is safe.
|
|
569
699
|
*/
|
|
570
700
|
export function applyGatesManifest(manifest, source, text, disabled, decisions, scanTool = "Bash") {
|
|
571
701
|
const enforcement = effectiveEnforcement(manifest.enforcement);
|
|
@@ -587,28 +717,56 @@ export function applyGatesManifest(manifest, source, text, disabled, decisions,
|
|
|
587
717
|
return;
|
|
588
718
|
}
|
|
589
719
|
for (const rule of manifest.rules ?? []) {
|
|
590
|
-
if (
|
|
591
|
-
!["deny", "ask", "allow"].includes(rule.decision) ||
|
|
592
|
-
typeof rule.pattern !== "string"
|
|
593
|
-
) continue;
|
|
720
|
+
if (!["deny", "ask", "allow"].includes(rule.decision)) continue;
|
|
594
721
|
if (typeof rule.name === "string" && disabled.has(rule.name)) continue;
|
|
595
722
|
// A rule applies to a tool only if listed in `applies_to`. Default is
|
|
596
723
|
// Bash-only, so every existing rule keeps its current behavior and is
|
|
597
724
|
// skipped on Write/Edit unless it explicitly opts in.
|
|
598
725
|
const appliesTo = Array.isArray(rule.applies_to) ? rule.applies_to : ["Bash"];
|
|
599
726
|
if (!appliesTo.includes(scanTool)) continue;
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
727
|
+
|
|
728
|
+
// A rule is either a declarative `external_write` (host-allowlist) rule or
|
|
729
|
+
// a `pattern` (regex) rule. Both reduce to a `(segment) => boolean` matcher.
|
|
730
|
+
let matchFn;
|
|
731
|
+
if (rule.type === "external_write") {
|
|
732
|
+
try {
|
|
733
|
+
matchFn = buildExternalWriteMatcher(rule);
|
|
734
|
+
} catch {
|
|
735
|
+
if (enforcement === "fail_closed") {
|
|
736
|
+
decisions.push({
|
|
737
|
+
decision: "deny",
|
|
738
|
+
reason: `fail-closed enforcement: ${source} external-write rule '${rule.name ?? "rule"}' is malformed`,
|
|
739
|
+
});
|
|
740
|
+
}
|
|
741
|
+
continue;
|
|
607
742
|
}
|
|
608
|
-
|
|
743
|
+
} else {
|
|
744
|
+
if (typeof rule.pattern !== "string") continue;
|
|
745
|
+
const fr = resolveRuleFlags(rule);
|
|
746
|
+
if (fr.error) {
|
|
747
|
+
if (enforcement === "fail_closed") {
|
|
748
|
+
decisions.push({
|
|
749
|
+
decision: "deny",
|
|
750
|
+
reason: `fail-closed enforcement: ${source} gate rule '${rule.name ?? "rule"}' has unknown regex flags`,
|
|
751
|
+
});
|
|
752
|
+
}
|
|
753
|
+
continue;
|
|
754
|
+
}
|
|
755
|
+
let re;
|
|
756
|
+
try { re = new RegExp(expandPattern(rule.pattern), fr.flags); } catch {
|
|
757
|
+
if (enforcement === "fail_closed") {
|
|
758
|
+
decisions.push({
|
|
759
|
+
decision: "deny",
|
|
760
|
+
reason: `fail-closed enforcement: ${source} gate rule '${rule.name ?? "rule"}' has an invalid pattern`,
|
|
761
|
+
});
|
|
762
|
+
}
|
|
763
|
+
continue;
|
|
764
|
+
}
|
|
765
|
+
matchFn = (segment) => re.test(segment);
|
|
609
766
|
}
|
|
767
|
+
|
|
610
768
|
for (const segment of segments) {
|
|
611
|
-
if (
|
|
769
|
+
if (matchFn(segment)) {
|
|
612
770
|
decisions.push({
|
|
613
771
|
decision: rule.decision,
|
|
614
772
|
reason: rule.reason ?? `${source} gate: ${rule.name ?? "rule"}`,
|
|
@@ -4,9 +4,16 @@
|
|
|
4
4
|
* Shape:
|
|
5
5
|
* { name: string,
|
|
6
6
|
* binPath?: string,
|
|
7
|
-
* kind?: "connector" | "db" | "hook-only"
|
|
7
|
+
* kind?: "connector" | "db" | "hook-only",
|
|
8
|
+
* enforcement?: "fail_open" | "fail_closed" }
|
|
9
|
+
*
|
|
10
|
+
* `enforcement` declares the default fail-closed posture for this plugin's
|
|
11
|
+
* gate evaluation, so an operator can set it once in config instead of
|
|
12
|
+
* exporting NARAI_GATE_ENFORCEMENT on every hook invocation. Absent ⇒ the
|
|
13
|
+
* dispatcher falls through to the env var (default fail_open).
|
|
8
14
|
*/
|
|
9
15
|
const VALID_KINDS = new Set(["connector", "db", "hook-only"]);
|
|
16
|
+
const VALID_ENFORCEMENT = new Set(["fail_open", "fail_closed"]);
|
|
10
17
|
|
|
11
18
|
export function parsePluginConfig(raw) {
|
|
12
19
|
let parsed;
|
|
@@ -29,8 +36,17 @@ export function parsePluginConfig(raw) {
|
|
|
29
36
|
`plugin-config.json: 'kind' must be one of ${[...VALID_KINDS].join(", ")}`,
|
|
30
37
|
);
|
|
31
38
|
}
|
|
39
|
+
if (
|
|
40
|
+
parsed.enforcement !== undefined &&
|
|
41
|
+
!VALID_ENFORCEMENT.has(parsed.enforcement)
|
|
42
|
+
) {
|
|
43
|
+
throw new Error(
|
|
44
|
+
`plugin-config.json: 'enforcement' must be one of ${[...VALID_ENFORCEMENT].join(", ")}`,
|
|
45
|
+
);
|
|
46
|
+
}
|
|
32
47
|
const out = { name: parsed.name };
|
|
33
48
|
if (parsed.binPath !== undefined) out.binPath = parsed.binPath;
|
|
34
49
|
if (parsed.kind !== undefined) out.kind = parsed.kind;
|
|
50
|
+
if (parsed.enforcement !== undefined) out.enforcement = parsed.enforcement;
|
|
35
51
|
return out;
|
|
36
52
|
}
|