@id-wispera/core 0.1.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/README.md +268 -0
- package/dist/audit.d.ts +68 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +252 -0
- package/dist/audit.js.map +1 -0
- package/dist/auth/index.d.ts +8 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +8 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/keychainProvider.d.ts +40 -0
- package/dist/auth/keychainProvider.d.ts.map +1 -0
- package/dist/auth/keychainProvider.js +98 -0
- package/dist/auth/keychainProvider.js.map +1 -0
- package/dist/auth/passphraseProvider.d.ts +80 -0
- package/dist/auth/passphraseProvider.d.ts.map +1 -0
- package/dist/auth/passphraseProvider.js +188 -0
- package/dist/auth/passphraseProvider.js.map +1 -0
- package/dist/auth/sessionTokenManager.d.ts +106 -0
- package/dist/auth/sessionTokenManager.d.ts.map +1 -0
- package/dist/auth/sessionTokenManager.js +263 -0
- package/dist/auth/sessionTokenManager.js.map +1 -0
- package/dist/delegation.d.ts +81 -0
- package/dist/delegation.d.ts.map +1 -0
- package/dist/delegation.js +299 -0
- package/dist/delegation.js.map +1 -0
- package/dist/detection.d.ts +35 -0
- package/dist/detection.d.ts.map +1 -0
- package/dist/detection.js +474 -0
- package/dist/detection.js.map +1 -0
- package/dist/exec/execManager.d.ts +60 -0
- package/dist/exec/execManager.d.ts.map +1 -0
- package/dist/exec/execManager.js +226 -0
- package/dist/exec/execManager.js.map +1 -0
- package/dist/exec/index.d.ts +6 -0
- package/dist/exec/index.d.ts.map +1 -0
- package/dist/exec/index.js +5 -0
- package/dist/exec/index.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +98 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/base.d.ts +64 -0
- package/dist/integrations/base.d.ts.map +1 -0
- package/dist/integrations/base.js +173 -0
- package/dist/integrations/base.js.map +1 -0
- package/dist/integrations/envMapping.d.ts +47 -0
- package/dist/integrations/envMapping.d.ts.map +1 -0
- package/dist/integrations/envMapping.js +174 -0
- package/dist/integrations/envMapping.js.map +1 -0
- package/dist/integrations/google-a2a.d.ts +48 -0
- package/dist/integrations/google-a2a.d.ts.map +1 -0
- package/dist/integrations/google-a2a.js +108 -0
- package/dist/integrations/google-a2a.js.map +1 -0
- package/dist/integrations/index.d.ts +14 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +14 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/langchain.d.ts +38 -0
- package/dist/integrations/langchain.d.ts.map +1 -0
- package/dist/integrations/langchain.js +45 -0
- package/dist/integrations/langchain.js.map +1 -0
- package/dist/integrations/openai-agents.d.ts +76 -0
- package/dist/integrations/openai-agents.d.ts.map +1 -0
- package/dist/integrations/openai-agents.js +95 -0
- package/dist/integrations/openai-agents.js.map +1 -0
- package/dist/integrations/slack.d.ts +59 -0
- package/dist/integrations/slack.d.ts.map +1 -0
- package/dist/integrations/slack.js +113 -0
- package/dist/integrations/slack.js.map +1 -0
- package/dist/integrations/types.d.ts +107 -0
- package/dist/integrations/types.d.ts.map +1 -0
- package/dist/integrations/types.js +6 -0
- package/dist/integrations/types.js.map +1 -0
- package/dist/locations.d.ts +157 -0
- package/dist/locations.d.ts.map +1 -0
- package/dist/locations.js +733 -0
- package/dist/locations.js.map +1 -0
- package/dist/passport.d.ts +70 -0
- package/dist/passport.d.ts.map +1 -0
- package/dist/passport.js +429 -0
- package/dist/passport.js.map +1 -0
- package/dist/policy.d.ts +80 -0
- package/dist/policy.d.ts.map +1 -0
- package/dist/policy.js +392 -0
- package/dist/policy.js.map +1 -0
- package/dist/providers/openclaw.d.ts +80 -0
- package/dist/providers/openclaw.d.ts.map +1 -0
- package/dist/providers/openclaw.js +712 -0
- package/dist/providers/openclaw.js.map +1 -0
- package/dist/provisioning/adminPassport.d.ts +51 -0
- package/dist/provisioning/adminPassport.d.ts.map +1 -0
- package/dist/provisioning/adminPassport.js +101 -0
- package/dist/provisioning/adminPassport.js.map +1 -0
- package/dist/provisioning/index.d.ts +81 -0
- package/dist/provisioning/index.d.ts.map +1 -0
- package/dist/provisioning/index.js +141 -0
- package/dist/provisioning/index.js.map +1 -0
- package/dist/provisioning/provider.d.ts +59 -0
- package/dist/provisioning/provider.d.ts.map +1 -0
- package/dist/provisioning/provider.js +52 -0
- package/dist/provisioning/provider.js.map +1 -0
- package/dist/provisioning/providers/anthropic.d.ts +32 -0
- package/dist/provisioning/providers/anthropic.d.ts.map +1 -0
- package/dist/provisioning/providers/anthropic.js +116 -0
- package/dist/provisioning/providers/anthropic.js.map +1 -0
- package/dist/provisioning/providers/aws.d.ts +29 -0
- package/dist/provisioning/providers/aws.d.ts.map +1 -0
- package/dist/provisioning/providers/aws.js +455 -0
- package/dist/provisioning/providers/aws.js.map +1 -0
- package/dist/provisioning/providers/azure-entra.d.ts +32 -0
- package/dist/provisioning/providers/azure-entra.d.ts.map +1 -0
- package/dist/provisioning/providers/azure-entra.js +312 -0
- package/dist/provisioning/providers/azure-entra.js.map +1 -0
- package/dist/provisioning/providers/github.d.ts +24 -0
- package/dist/provisioning/providers/github.d.ts.map +1 -0
- package/dist/provisioning/providers/github.js +219 -0
- package/dist/provisioning/providers/github.js.map +1 -0
- package/dist/provisioning/providers/google-cloud.d.ts +34 -0
- package/dist/provisioning/providers/google-cloud.d.ts.map +1 -0
- package/dist/provisioning/providers/google-cloud.js +366 -0
- package/dist/provisioning/providers/google-cloud.js.map +1 -0
- package/dist/provisioning/providers/openai.d.ts +29 -0
- package/dist/provisioning/providers/openai.d.ts.map +1 -0
- package/dist/provisioning/providers/openai.js +263 -0
- package/dist/provisioning/providers/openai.js.map +1 -0
- package/dist/provisioning/providers/sendgrid.d.ts +27 -0
- package/dist/provisioning/providers/sendgrid.d.ts.map +1 -0
- package/dist/provisioning/providers/sendgrid.js +186 -0
- package/dist/provisioning/providers/sendgrid.js.map +1 -0
- package/dist/provisioning/providers/twilio.d.ts +27 -0
- package/dist/provisioning/providers/twilio.d.ts.map +1 -0
- package/dist/provisioning/providers/twilio.js +194 -0
- package/dist/provisioning/providers/twilio.js.map +1 -0
- package/dist/provisioning/types.d.ts +274 -0
- package/dist/provisioning/types.d.ts.map +1 -0
- package/dist/provisioning/types.js +6 -0
- package/dist/provisioning/types.js.map +1 -0
- package/dist/sharing.d.ts +60 -0
- package/dist/sharing.d.ts.map +1 -0
- package/dist/sharing.js +305 -0
- package/dist/sharing.js.map +1 -0
- package/dist/types.d.ts +396 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +88 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +45 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +110 -0
- package/dist/utils.js.map +1 -0
- package/dist/vault.d.ts +151 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/vault.js +499 -0
- package/dist/vault.js.map +1 -0
- package/package.json +117 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../src/providers/openclaw.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAGL,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC;AAGzB,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,8BAA8B;IAC9B,IAAI,EAAE,kBAAkB;IACxB,qCAAqC;IACrC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,EAAE,UAAU,CAAC;IAC7D,iCAAiC;IACjC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC;IACpD,uBAAuB;IACvB,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC;IAC1C,uBAAuB;IACvB,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC;IACjD,mBAAmB;IACnB,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,EAAE,YAAY,CAAC;CAC7D,CAAC;AAEF,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IACzD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAExB,oDAAoD;QACpD,MAAM,aAAa,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,iCAAiC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,QAAQ,GAAG,CAAC;QACtG,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,iCAAiC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,QAAQ,GAAG,CAAC;QACtG,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAAe;IAC7D,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAExB,MAAM,aAAa,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;YACnC,OAAO,6CAA6C,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,OAAO,GAAG,CAAC;QACjH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAiCD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAuB;QACjC,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,EAAE;QACnB,OAAO,EAAE;YACP,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC;SACZ;QACD,kBAAkB,EAAE,EAAE;QACtB,eAAe,EAAE,EAAE;KACpB,CAAC;IAEF,iCAAiC;IACjC,MAAM,CAAC,SAAS,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mCAAmC;IACnC,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,CAAC,CAAC;IAC3E,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC;QACnC,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5B,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3B,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;KAC/B,CAAC,CAAC;IAEH,oBAAoB;IACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;YACtC,KAAK,UAAU;gBACb,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC/B,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC3B,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC7B,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM;QACV,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEpD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CACpC,MAA0B,EAC1B,EAAgC;IAEhC,MAAM,cAAc,GAAuB;QACzC,IAAI,EAAE,cAAc,CAAC,QAAQ;QAC7B,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;QAE7B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3D,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;QAE/B,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACtD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBAE1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC/D,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;wBAChC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC9C,CAAC;oBACD,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,uCAAuC;QACzC,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,cAAc,CAAC,KAAK,GAAG,mBAAmB,CAAC;YAC3C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,QAAgB,EAChB,OAAe,EACf,SAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,SAAS,CAAC;QAE3C,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,QAAQ;YACR,cAAc,EAAE;gBACd,IAAI,EAAE,qBAAqB,SAAS,GAAG;gBACvC,cAAc,EAAE,cAAc;gBAC9B,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,CAAU;gBAC5C,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;gBACrD,gBAAgB,EAAE,yBAAyB;aAC5C;YACD,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,SAAS;gBACT,WAAW;gBACX,OAAO;gBACP,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;gBAC5B,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB;aAC/C;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAClC,MAA0B,EAC1B,EAAgC;IAEhC,MAAM,cAAc,GAAuB;QACzC,IAAI,EAAE,cAAc,CAAC,WAAW;QAChC,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5C,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;QAE7B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3D,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACxD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;oBACpD,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBACxD,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;wBACzD,IAAI,WAAW,EAAE,CAAC;4BAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;4BAChC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC9C,CAAC;wBACD,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACtC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC1B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBAC9E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,cAAc,CAAC,KAAK,GAAG,mBAAmB,CAAC;YAC3C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,QAAgB,EAChB,OAAe,EACf,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAE7C,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,QAAQ;YACR,cAAc,EAAE;gBACd,IAAI,EAAE,YAAY,OAAO,KAAK,WAAW,gBAAgB;gBACzD,cAAc,EAAE,QAAQ;gBACxB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,CAAU;gBACzC,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC;gBACpD,gBAAgB,EAAE,yBAAyB;aAC5C;YACD,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO;gBACP,WAAW;gBACX,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAgB,EAAE,EAAE,CAAC,CAAC;oBACpE,EAAE;oBACF,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAC;aACJ;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAC7B,MAA0B,EAC1B,EAAgC;IAEhC,MAAM,cAAc,GAAuB;QACzC,IAAI,EAAE,cAAc,CAAC,MAAM;QAC3B,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;QAE7B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACvD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;QAE/B,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC7F,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAEpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;oBACjE,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;wBAChC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;4BACrD,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC;oBACD,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACtF,CAAC;gBACD,oDAAoD;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,cAAc,CAAC,KAAK,GAAG,mBAAmB,CAAC;YAC3C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,QAAgB,EAChB,OAAe,EACf,OAAe;IAEf,MAAM,WAAW,GAA2B,EAAE,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAoB,EAAE,CAAC;YAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC9C,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAEvF,WAAW,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,UAAU;oBACpB,QAAQ;oBACR,cAAc,EAAE;wBACd,IAAI,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,aAAa,UAAU,GAAG;wBAC5D,cAAc,EAAE,SAAS;wBACzB,QAAQ,EAAE,WAAW;wBACrB,SAAS,EAAE,UAAU;wBACrB,SAAS,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAU;wBACjD,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC;wBAC1D,gBAAgB,EAAE,yBAAyB;wBAC3C,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;qBAC3C;oBACD,QAAQ,EAAE,OAAO,CAAC,GAAG;oBACrB,QAAQ,EAAE;wBACR,OAAO;wBACP,QAAQ;wBACR,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,OAAO,EAAE,OAAO,CAAC,IAAI;qBACtB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,MAA0B,EAC1B,EAAgC;IAEhC,MAAM,cAAc,GAAuB;QACzC,IAAI,EAAE,cAAc,CAAC,KAAK;QAC1B,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjE,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;QAC7B,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;QAE/B,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrD,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;YACD,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,cAAc,CAAC,KAAK,GAAG,mBAAmB,CAAC;YAC3C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,iBAAiB;IACnB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,QAAgB,EAAE,OAAe;IACzD,MAAM,WAAW,GAA2B,EAAE,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjC,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAoB,EAAE,CAAC;YACzE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;gBAClE,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrF,MAAM,SAAS,GAAG,SAAS,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;gBAEtD,WAAW,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,UAAU;oBACpB,QAAQ;oBACR,cAAc,EAAE;wBACd,IAAI,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,WAAW,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG;wBAC1F,cAAc,EAAE,aAAa;wBAC7B,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,QAAQ;wBACnB,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAU;wBAC1C,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpF,gBAAgB,EAAE,yBAAyB;qBAC5C;oBACD,QAAQ,EAAE,MAAM,CAAC,YAAY;oBAC7B,QAAQ,EAAE;wBACR,QAAQ;wBACR,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa;wBACvC,SAAS,EAAE,MAAM,CAAC,UAAU;wBAC5B,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE;wBACnC,SAAS;qBACV;oBACD,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAC/B,MAA0B,EAC1B,EAAgC;IAEhC,MAAM,cAAc,GAAuB;QACzC,IAAI,EAAE,cAAc,CAAC,MAAM;QAC3B,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClE,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;QAC7B,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;QAE/B,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrD,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;YACD,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,cAAc,CAAC,KAAK,GAAG,mBAAmB,CAAC;YAC3C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,iBAAiB;IACnB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,QAAgB,EAAE,OAAe;IAC5D,MAAM,WAAW,GAA2B,EAAE,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjC,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,WAAW;YACX,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACvF,WAAW,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,UAAU;oBACpB,QAAQ;oBACR,cAAc,EAAE;wBACd,IAAI,EAAE,uBAAuB,YAAY,GAAG;wBAC5C,cAAc,EAAE,WAAW;wBAC3B,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,MAAM;wBACjB,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,CAAU;wBAC5C,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;wBACvD,gBAAgB,EAAE,yBAAyB;qBAC5C;oBACD,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,QAAQ;YACR,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACxF,WAAW,CAAC,IAAI,CAAC;wBACf,QAAQ,EAAE,UAAU;wBACpB,QAAQ;wBACR,cAAc,EAAE;4BACd,IAAI,EAAE,oBAAoB,YAAY,GAAG;4BACzC,cAAc,EAAE,WAAW;4BAC3B,QAAQ,EAAE,QAAQ;4BAClB,SAAS,EAAE,MAAM;4BACjB,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,CAAU;4BACzC,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC;4BACpD,gBAAgB,EAAE,yBAAyB;yBAC5C;wBACD,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE;qBACjD,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACxF,WAAW,CAAC,IAAI,CAAC;wBACf,QAAQ,EAAE,UAAU;wBACpB,QAAQ;wBACR,cAAc,EAAE;4BACd,IAAI,EAAE,oBAAoB,YAAY,GAAG;4BACzC,cAAc,EAAE,WAAW;4BAC3B,QAAQ,EAAE,QAAQ;4BAClB,SAAS,EAAE,MAAM;4BACjB,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,CAAU;4BACzC,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC;4BACpD,gBAAgB,EAAE,yBAAyB;yBAC5C;wBACD,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE;qBACjD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,UAAU;YACV,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACxF,WAAW,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,UAAU;oBACpB,QAAQ;oBACR,cAAc,EAAE;wBACd,IAAI,EAAE,sBAAsB,YAAY,GAAG;wBAC3C,cAAc,EAAE,WAAW;wBAC3B,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,MAAM;wBACjB,SAAS,EAAE,CAAC,UAAU,EAAE,SAAS,CAAU;wBAC3C,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;wBACtD,gBAAgB,EAAE,yBAAyB;qBAC5C;oBACD,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACjC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvF,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,UAAU;gBACpB,QAAQ;gBACR,cAAc,EAAE;oBACd,IAAI,EAAE,kBAAkB,YAAY,GAAG;oBACvC,cAAc,EAAE,SAAS;oBACzB,QAAQ,EAAE,WAAW;oBACrB,SAAS,EAAE,MAAM;oBACjB,SAAS,EAAE,CAAC,UAAU,CAAU;oBAChC,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;oBAClD,gBAAgB,EAAE,yBAAyB;iBAC5C;gBACD,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA0B,EAC1B,UAAkB,EAClB,OAAgB;IAEhB,MAAM,eAAe,GAAoB;QACvC;YACE,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,mBAAmB;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK,EAAE,CAAC,GAAG,CAAC;SACb;KACF,CAAC;IAEF,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrC,eAAe,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,EAAE,EAAE,UAAU,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YAChD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK,EAAE,CAAC,GAAG,CAAC;SACb,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,EAAE,cAAc,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;QAC9C,OAAO,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAuB;QACjE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,cAAgC;QACpE,eAAe,EAAE,IAAI,CAAC,QAAQ;QAC9B,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAoB;QAClD,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB;QACtD,KAAK,EAAE,CAAC,GAAG,CAAC;QACZ,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAuB;QACtD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE;QACzC,eAAe;QACf,UAAU;QACV,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;QAC9B,KAAK,EAAE,2BAA2B,IAAI,CAAC,QAAQ,EAAE;KAClD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,sCAAsC;AACtC,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA0B;IAM5D,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;QACpC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;QAC9D,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;QACtD,SAAS,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;KAC3G,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAoB;IAChD,MAAM,OAAO,GAA2B;QACtC,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,aAAa;QAC5B,cAAc,EAAE,cAAc;QAC9B,WAAW,EAAE,WAAW;QACxB,aAAa,EAAE,aAAa;QAC5B,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,OAAO,GAA6B;QACxC,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera Admin Passport Module
|
|
3
|
+
* Encrypted storage and retrieval of provisioning provider admin keys.
|
|
4
|
+
*
|
|
5
|
+
* Admin keys (the credentials that call the downstream vendor API to create
|
|
6
|
+
* scoped agent keys) are stored as vault passports with special tags:
|
|
7
|
+
* - 'admin'
|
|
8
|
+
* - 'admin:<provider>' e.g. 'admin:openai'
|
|
9
|
+
* - 'provisioning'
|
|
10
|
+
*
|
|
11
|
+
* The credential value is the JSON-serialised ProviderAuth object.
|
|
12
|
+
* It is encrypted at rest inside the vault and decrypted only at the
|
|
13
|
+
* moment of use — the only time it exists in the clear is in-memory
|
|
14
|
+
* during the provisioning API call.
|
|
15
|
+
*/
|
|
16
|
+
import { Vault } from '../vault.js';
|
|
17
|
+
import type { Passport } from '../types.js';
|
|
18
|
+
import type { ProviderAuth, ProvisioningProvider } from './types.js';
|
|
19
|
+
/**
|
|
20
|
+
* Store a provider's admin credentials as a vault passport.
|
|
21
|
+
*
|
|
22
|
+
* The `auth` object is serialised to JSON and stored as the passport's
|
|
23
|
+
* `credentialValue`. It is encrypted alongside all other passports when
|
|
24
|
+
* the vault is saved.
|
|
25
|
+
*/
|
|
26
|
+
export declare function createAdminPassport(vault: Vault, provider: ProvisioningProvider, auth: ProviderAuth, humanOwner: string): Promise<Passport>;
|
|
27
|
+
/**
|
|
28
|
+
* Find the admin passport for a given provider.
|
|
29
|
+
* Returns `null` if none exists.
|
|
30
|
+
*/
|
|
31
|
+
export declare function findAdminPassport(vault: Vault, provider: ProvisioningProvider): Promise<Passport | null>;
|
|
32
|
+
/**
|
|
33
|
+
* Retrieve and deserialise the ProviderAuth for a given provider.
|
|
34
|
+
*
|
|
35
|
+
* This is the primary runtime entry point: it finds the admin passport,
|
|
36
|
+
* reads the encrypted credential value, and returns the ProviderAuth
|
|
37
|
+
* object ready for use.
|
|
38
|
+
*
|
|
39
|
+
* @throws Error if no admin passport exists for the provider.
|
|
40
|
+
*/
|
|
41
|
+
export declare function getProviderAuth(vault: Vault, provider: ProvisioningProvider): Promise<ProviderAuth>;
|
|
42
|
+
/**
|
|
43
|
+
* List all admin passports in the vault.
|
|
44
|
+
*/
|
|
45
|
+
export declare function listAdminPassports(vault: Vault): Promise<Passport[]>;
|
|
46
|
+
/**
|
|
47
|
+
* Delete the admin passport for a provider (revoke + delete).
|
|
48
|
+
* Returns `true` if an entry was removed.
|
|
49
|
+
*/
|
|
50
|
+
export declare function deleteAdminPassport(vault: Vault, provider: ProvisioningProvider): Promise<boolean>;
|
|
51
|
+
//# sourceMappingURL=adminPassport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminPassport.d.ts","sourceRoot":"","sources":["../../src/provisioning/adminPassport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAiBrE;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,oBAAoB,EAC9B,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC,CAanB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAc1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,YAAY,CAAC,CASvB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,QAAQ,EAAE,CAAC,CAKrB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAMlB"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera Admin Passport Module
|
|
3
|
+
* Encrypted storage and retrieval of provisioning provider admin keys.
|
|
4
|
+
*
|
|
5
|
+
* Admin keys (the credentials that call the downstream vendor API to create
|
|
6
|
+
* scoped agent keys) are stored as vault passports with special tags:
|
|
7
|
+
* - 'admin'
|
|
8
|
+
* - 'admin:<provider>' e.g. 'admin:openai'
|
|
9
|
+
* - 'provisioning'
|
|
10
|
+
*
|
|
11
|
+
* The credential value is the JSON-serialised ProviderAuth object.
|
|
12
|
+
* It is encrypted at rest inside the vault and decrypted only at the
|
|
13
|
+
* moment of use — the only time it exists in the clear is in-memory
|
|
14
|
+
* during the provisioning API call.
|
|
15
|
+
*/
|
|
16
|
+
import { createPassport, listPassports, revokePassport, deletePassport } from '../passport.js';
|
|
17
|
+
// ============================================================================
|
|
18
|
+
// Constants
|
|
19
|
+
// ============================================================================
|
|
20
|
+
const ADMIN_TAG = 'admin';
|
|
21
|
+
const PROVISIONING_TAG = 'provisioning';
|
|
22
|
+
function providerTag(provider) {
|
|
23
|
+
return `admin:${provider}`;
|
|
24
|
+
}
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// CRUD operations
|
|
27
|
+
// ============================================================================
|
|
28
|
+
/**
|
|
29
|
+
* Store a provider's admin credentials as a vault passport.
|
|
30
|
+
*
|
|
31
|
+
* The `auth` object is serialised to JSON and stored as the passport's
|
|
32
|
+
* `credentialValue`. It is encrypted alongside all other passports when
|
|
33
|
+
* the vault is saved.
|
|
34
|
+
*/
|
|
35
|
+
export async function createAdminPassport(vault, provider, auth, humanOwner) {
|
|
36
|
+
const passport = await createPassport(vault, {
|
|
37
|
+
name: `Admin — ${provider}`,
|
|
38
|
+
credentialType: 'api-key',
|
|
39
|
+
credentialValue: JSON.stringify(auth),
|
|
40
|
+
visaType: 'privilege',
|
|
41
|
+
platforms: ['custom'],
|
|
42
|
+
scope: ['admin', 'provisioning'],
|
|
43
|
+
humanOwner,
|
|
44
|
+
tags: [ADMIN_TAG, providerTag(provider), PROVISIONING_TAG],
|
|
45
|
+
notes: `Admin credentials for ${provider} provisioning provider. Managed by id.wispera — do not edit manually.`,
|
|
46
|
+
});
|
|
47
|
+
return passport;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Find the admin passport for a given provider.
|
|
51
|
+
* Returns `null` if none exists.
|
|
52
|
+
*/
|
|
53
|
+
export async function findAdminPassport(vault, provider) {
|
|
54
|
+
const tag = providerTag(provider);
|
|
55
|
+
const passports = await listPassports(vault);
|
|
56
|
+
for (const p of passports) {
|
|
57
|
+
if (p.tags.includes(ADMIN_TAG) &&
|
|
58
|
+
p.tags.includes(tag) &&
|
|
59
|
+
p.status === 'active') {
|
|
60
|
+
return p;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Retrieve and deserialise the ProviderAuth for a given provider.
|
|
67
|
+
*
|
|
68
|
+
* This is the primary runtime entry point: it finds the admin passport,
|
|
69
|
+
* reads the encrypted credential value, and returns the ProviderAuth
|
|
70
|
+
* object ready for use.
|
|
71
|
+
*
|
|
72
|
+
* @throws Error if no admin passport exists for the provider.
|
|
73
|
+
*/
|
|
74
|
+
export async function getProviderAuth(vault, provider) {
|
|
75
|
+
const passport = await findAdminPassport(vault, provider);
|
|
76
|
+
if (!passport) {
|
|
77
|
+
throw new Error(`No admin credentials found for provider '${provider}'. ` +
|
|
78
|
+
`Run 'idw auth bootstrap ${provider}' to store admin credentials.`);
|
|
79
|
+
}
|
|
80
|
+
return JSON.parse(passport.credentialValue);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* List all admin passports in the vault.
|
|
84
|
+
*/
|
|
85
|
+
export async function listAdminPassports(vault) {
|
|
86
|
+
const passports = await listPassports(vault);
|
|
87
|
+
return passports.filter((p) => p.tags.includes(ADMIN_TAG) && p.tags.includes(PROVISIONING_TAG));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Delete the admin passport for a provider (revoke + delete).
|
|
91
|
+
* Returns `true` if an entry was removed.
|
|
92
|
+
*/
|
|
93
|
+
export async function deleteAdminPassport(vault, provider) {
|
|
94
|
+
const passport = await findAdminPassport(vault, provider);
|
|
95
|
+
if (!passport)
|
|
96
|
+
return false;
|
|
97
|
+
await revokePassport(vault, passport.id, 'system', 'Admin credential removed');
|
|
98
|
+
await deletePassport(vault, passport.id, 'system');
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=adminPassport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminPassport.js","sourceRoot":"","sources":["../../src/provisioning/adminPassport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera Provisioning Module
|
|
3
|
+
* Unified interface for provisioning credentials through vendor APIs
|
|
4
|
+
* and wrapping them as governed passports in a single workflow.
|
|
5
|
+
*/
|
|
6
|
+
import { ProvisioningProvider, ProvisioningRequest, ProvisioningResult, ProviderAuth, ProviderCapabilities } from './types.js';
|
|
7
|
+
import { Vault } from '../vault.js';
|
|
8
|
+
import { Passport } from '../types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Get capabilities for a provider
|
|
11
|
+
*/
|
|
12
|
+
export declare function getProviderCapabilities(provider: ProvisioningProvider): ProviderCapabilities | null;
|
|
13
|
+
/**
|
|
14
|
+
* List all available providers and their capabilities
|
|
15
|
+
*/
|
|
16
|
+
export declare function listProviders(): Array<{
|
|
17
|
+
provider: ProvisioningProvider;
|
|
18
|
+
capabilities: ProviderCapabilities;
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Provision a new credential AND create a governed passport in one operation.
|
|
22
|
+
* The credential is provisioned via the vendor API, then stored in the vault
|
|
23
|
+
* as a fully governed passport with delegation chain and audit trail.
|
|
24
|
+
*
|
|
25
|
+
* If `auth` is omitted, the admin credentials are resolved from the vault
|
|
26
|
+
* (see `adminPassport.ts`).
|
|
27
|
+
*/
|
|
28
|
+
export declare function provisionAndCreatePassport(vault: Vault, request: ProvisioningRequest, auth?: ProviderAuth): Promise<{
|
|
29
|
+
credential: ProvisioningResult;
|
|
30
|
+
passport: Passport | null;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* Provision only (no passport creation) - for advanced use cases
|
|
34
|
+
* where you want to handle passport creation separately.
|
|
35
|
+
*/
|
|
36
|
+
export declare function provision(request: ProvisioningRequest, auth: ProviderAuth): Promise<ProvisioningResult>;
|
|
37
|
+
/**
|
|
38
|
+
* Rotate a credential - creates a new key, returns the old key ID for revocation.
|
|
39
|
+
* Use revokeAtSource() after a propagation delay to complete the rotation.
|
|
40
|
+
*/
|
|
41
|
+
export declare function rotateCredential(provider: ProvisioningProvider, existingKeyId: string, request: ProvisioningRequest, auth: ProviderAuth): Promise<{
|
|
42
|
+
newCredential: ProvisioningResult;
|
|
43
|
+
oldKeyId: string;
|
|
44
|
+
recommendedRevocationDelay: number;
|
|
45
|
+
} | null>;
|
|
46
|
+
/**
|
|
47
|
+
* Revoke a credential at the source vendor
|
|
48
|
+
*/
|
|
49
|
+
export declare function revokeAtSource(provider: ProvisioningProvider, keyId: string, auth: ProviderAuth): Promise<{
|
|
50
|
+
success: boolean;
|
|
51
|
+
error?: string;
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* List existing keys at the source vendor
|
|
55
|
+
*/
|
|
56
|
+
export declare function listProviderKeys(provider: ProvisioningProvider, auth: ProviderAuth): Promise<Array<{
|
|
57
|
+
id: string;
|
|
58
|
+
name: string;
|
|
59
|
+
createdAt: Date;
|
|
60
|
+
status: string;
|
|
61
|
+
}>>;
|
|
62
|
+
/**
|
|
63
|
+
* Validate authentication credentials for a provider
|
|
64
|
+
*/
|
|
65
|
+
export declare function validateProviderAuth(provider: ProvisioningProvider, auth: ProviderAuth): Promise<{
|
|
66
|
+
valid: boolean;
|
|
67
|
+
error?: string;
|
|
68
|
+
}>;
|
|
69
|
+
export { createAdminPassport, findAdminPassport, getProviderAuth, listAdminPassports, deleteAdminPassport, } from './adminPassport.js';
|
|
70
|
+
export * from './types.js';
|
|
71
|
+
export type { IProvisioningProvider } from './provider.js';
|
|
72
|
+
export { BaseProvisioningProvider } from './provider.js';
|
|
73
|
+
export { OpenAIProvider } from './providers/openai.js';
|
|
74
|
+
export { AWSProvider } from './providers/aws.js';
|
|
75
|
+
export { GoogleCloudProvider } from './providers/google-cloud.js';
|
|
76
|
+
export { AzureEntraProvider } from './providers/azure-entra.js';
|
|
77
|
+
export { GitHubProvider } from './providers/github.js';
|
|
78
|
+
export { TwilioProvider } from './providers/twilio.js';
|
|
79
|
+
export { SendGridProvider } from './providers/sendgrid.js';
|
|
80
|
+
export { AnthropicProvider } from './providers/anthropic.js';
|
|
81
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provisioning/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera Provisioning Module
|
|
3
|
+
* Unified interface for provisioning credentials through vendor APIs
|
|
4
|
+
* and wrapping them as governed passports in a single workflow.
|
|
5
|
+
*/
|
|
6
|
+
import { createPassport } from '../passport.js';
|
|
7
|
+
import { getProviderAuth as getProviderAuthFromVault } from './adminPassport.js';
|
|
8
|
+
// Import providers
|
|
9
|
+
import { OpenAIProvider } from './providers/openai.js';
|
|
10
|
+
import { AWSProvider } from './providers/aws.js';
|
|
11
|
+
import { GoogleCloudProvider } from './providers/google-cloud.js';
|
|
12
|
+
import { AzureEntraProvider } from './providers/azure-entra.js';
|
|
13
|
+
import { GitHubProvider } from './providers/github.js';
|
|
14
|
+
import { TwilioProvider } from './providers/twilio.js';
|
|
15
|
+
import { SendGridProvider } from './providers/sendgrid.js';
|
|
16
|
+
import { AnthropicProvider } from './providers/anthropic.js';
|
|
17
|
+
/**
|
|
18
|
+
* Registry of available providers
|
|
19
|
+
*/
|
|
20
|
+
const providerRegistry = new Map();
|
|
21
|
+
providerRegistry.set('openai', new OpenAIProvider());
|
|
22
|
+
providerRegistry.set('aws', new AWSProvider());
|
|
23
|
+
providerRegistry.set('google-cloud', new GoogleCloudProvider());
|
|
24
|
+
providerRegistry.set('azure-entra', new AzureEntraProvider());
|
|
25
|
+
providerRegistry.set('github', new GitHubProvider());
|
|
26
|
+
providerRegistry.set('twilio', new TwilioProvider());
|
|
27
|
+
providerRegistry.set('sendgrid', new SendGridProvider());
|
|
28
|
+
providerRegistry.set('anthropic', new AnthropicProvider());
|
|
29
|
+
/**
|
|
30
|
+
* Get capabilities for a provider
|
|
31
|
+
*/
|
|
32
|
+
export function getProviderCapabilities(provider) {
|
|
33
|
+
const p = providerRegistry.get(provider);
|
|
34
|
+
return p?.capabilities ?? null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* List all available providers and their capabilities
|
|
38
|
+
*/
|
|
39
|
+
export function listProviders() {
|
|
40
|
+
return Array.from(providerRegistry.entries()).map(([provider, impl]) => ({
|
|
41
|
+
provider,
|
|
42
|
+
capabilities: impl.capabilities,
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Provision a new credential AND create a governed passport in one operation.
|
|
47
|
+
* The credential is provisioned via the vendor API, then stored in the vault
|
|
48
|
+
* as a fully governed passport with delegation chain and audit trail.
|
|
49
|
+
*
|
|
50
|
+
* If `auth` is omitted, the admin credentials are resolved from the vault
|
|
51
|
+
* (see `adminPassport.ts`).
|
|
52
|
+
*/
|
|
53
|
+
export async function provisionAndCreatePassport(vault, request, auth) {
|
|
54
|
+
if (!auth) {
|
|
55
|
+
auth = await getProviderAuthFromVault(vault, request.provider);
|
|
56
|
+
}
|
|
57
|
+
const provider = providerRegistry.get(request.provider);
|
|
58
|
+
if (!provider) {
|
|
59
|
+
throw new Error(`Unknown provider: ${request.provider}`);
|
|
60
|
+
}
|
|
61
|
+
// Initialize and provision
|
|
62
|
+
await provider.initialize(auth);
|
|
63
|
+
const result = await provider.provision(request);
|
|
64
|
+
if (!result.success || !result.passportInput) {
|
|
65
|
+
return { credential: result, passport: null };
|
|
66
|
+
}
|
|
67
|
+
// Create the passport using the pre-populated input
|
|
68
|
+
const passport = await createPassport(vault, result.passportInput);
|
|
69
|
+
return { credential: result, passport };
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Provision only (no passport creation) - for advanced use cases
|
|
73
|
+
* where you want to handle passport creation separately.
|
|
74
|
+
*/
|
|
75
|
+
export async function provision(request, auth) {
|
|
76
|
+
const provider = providerRegistry.get(request.provider);
|
|
77
|
+
if (!provider) {
|
|
78
|
+
throw new Error(`Unknown provider: ${request.provider}`);
|
|
79
|
+
}
|
|
80
|
+
await provider.initialize(auth);
|
|
81
|
+
return provider.provision(request);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Rotate a credential - creates a new key, returns the old key ID for revocation.
|
|
85
|
+
* Use revokeAtSource() after a propagation delay to complete the rotation.
|
|
86
|
+
*/
|
|
87
|
+
export async function rotateCredential(provider, existingKeyId, request, auth) {
|
|
88
|
+
const p = providerRegistry.get(provider);
|
|
89
|
+
if (!p || !p.capabilities.canRotate || !p.rotate) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
await p.initialize(auth);
|
|
93
|
+
return p.rotate(existingKeyId, request);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Revoke a credential at the source vendor
|
|
97
|
+
*/
|
|
98
|
+
export async function revokeAtSource(provider, keyId, auth) {
|
|
99
|
+
const p = providerRegistry.get(provider);
|
|
100
|
+
if (!p || !p.capabilities.canRevoke || !p.revoke) {
|
|
101
|
+
return { success: false, error: 'Provider does not support revocation' };
|
|
102
|
+
}
|
|
103
|
+
await p.initialize(auth);
|
|
104
|
+
return p.revoke(keyId);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* List existing keys at the source vendor
|
|
108
|
+
*/
|
|
109
|
+
export async function listProviderKeys(provider, auth) {
|
|
110
|
+
const p = providerRegistry.get(provider);
|
|
111
|
+
if (!p || !p.capabilities.canList || !p.list) {
|
|
112
|
+
throw new Error(`Provider ${provider} does not support listing keys`);
|
|
113
|
+
}
|
|
114
|
+
await p.initialize(auth);
|
|
115
|
+
return p.list();
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Validate authentication credentials for a provider
|
|
119
|
+
*/
|
|
120
|
+
export async function validateProviderAuth(provider, auth) {
|
|
121
|
+
const p = providerRegistry.get(provider);
|
|
122
|
+
if (!p || !p.validateAuth) {
|
|
123
|
+
return { valid: false, error: `Provider ${provider} does not support auth validation` };
|
|
124
|
+
}
|
|
125
|
+
await p.initialize(auth);
|
|
126
|
+
return p.validateAuth();
|
|
127
|
+
}
|
|
128
|
+
// Admin passport management
|
|
129
|
+
export { createAdminPassport, findAdminPassport, getProviderAuth, listAdminPassports, deleteAdminPassport, } from './adminPassport.js';
|
|
130
|
+
// Re-export types and provider interface
|
|
131
|
+
export * from './types.js';
|
|
132
|
+
export { BaseProvisioningProvider } from './provider.js';
|
|
133
|
+
export { OpenAIProvider } from './providers/openai.js';
|
|
134
|
+
export { AWSProvider } from './providers/aws.js';
|
|
135
|
+
export { GoogleCloudProvider } from './providers/google-cloud.js';
|
|
136
|
+
export { AzureEntraProvider } from './providers/azure-entra.js';
|
|
137
|
+
export { GitHubProvider } from './providers/github.js';
|
|
138
|
+
export { TwilioProvider } from './providers/twilio.js';
|
|
139
|
+
export { SendGridProvider } from './providers/sendgrid.js';
|
|
140
|
+
export { AnthropicProvider } from './providers/anthropic.js';
|
|
141
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provisioning/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera Provisioning Provider Interface
|
|
3
|
+
* Base interface and abstract class for provisioning providers
|
|
4
|
+
*/
|
|
5
|
+
import { VisaType, Platform } from '../types.js';
|
|
6
|
+
import { ProvisioningProvider, ProviderCapabilities, ProviderAuth, ProvisioningRequest, ProvisioningResult, RotationResult } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Base interface all provisioning providers must implement
|
|
9
|
+
*/
|
|
10
|
+
export interface IProvisioningProvider {
|
|
11
|
+
/** Provider identifier */
|
|
12
|
+
readonly provider: ProvisioningProvider;
|
|
13
|
+
/** What this provider can do */
|
|
14
|
+
readonly capabilities: ProviderCapabilities;
|
|
15
|
+
/** Initialize with auth credentials */
|
|
16
|
+
initialize(auth: ProviderAuth): Promise<void>;
|
|
17
|
+
/** Provision a new credential */
|
|
18
|
+
provision(request: ProvisioningRequest): Promise<ProvisioningResult>;
|
|
19
|
+
/** List existing keys (if supported) */
|
|
20
|
+
list?(): Promise<Array<{
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
createdAt: Date;
|
|
24
|
+
status: string;
|
|
25
|
+
}>>;
|
|
26
|
+
/** Rotate a credential (create new, return old ID for revocation) */
|
|
27
|
+
rotate?(existingKeyId: string, request: ProvisioningRequest): Promise<RotationResult>;
|
|
28
|
+
/** Revoke/delete a credential at the source */
|
|
29
|
+
revoke?(keyId: string): Promise<{
|
|
30
|
+
success: boolean;
|
|
31
|
+
error?: string;
|
|
32
|
+
}>;
|
|
33
|
+
/** Validate auth credentials without making changes */
|
|
34
|
+
validateAuth?(): Promise<{
|
|
35
|
+
valid: boolean;
|
|
36
|
+
error?: string;
|
|
37
|
+
}>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Base class with shared utilities for provisioning providers
|
|
41
|
+
*/
|
|
42
|
+
export declare abstract class BaseProvisioningProvider implements IProvisioningProvider {
|
|
43
|
+
abstract readonly provider: ProvisioningProvider;
|
|
44
|
+
abstract readonly capabilities: ProviderCapabilities;
|
|
45
|
+
protected auth?: ProviderAuth;
|
|
46
|
+
protected initialized: boolean;
|
|
47
|
+
initialize(auth: ProviderAuth): Promise<void>;
|
|
48
|
+
protected ensureInitialized(): void;
|
|
49
|
+
abstract provision(request: ProvisioningRequest): Promise<ProvisioningResult>;
|
|
50
|
+
/**
|
|
51
|
+
* Map provider-specific credential to passport visa type
|
|
52
|
+
*/
|
|
53
|
+
protected mapToVisaType(provider: ProvisioningProvider, hasElevatedPermissions: boolean): VisaType;
|
|
54
|
+
/**
|
|
55
|
+
* Map provider to platform enum
|
|
56
|
+
*/
|
|
57
|
+
protected mapToPlatform(provider: ProvisioningProvider): Platform;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provisioning/provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IAExC,gCAAgC;IAChC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAE5C,uCAAuC;IACvC,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,iCAAiC;IACjC,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAErE,wCAAwC;IACxC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAEvF,qEAAqE;IACrE,MAAM,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtF,+CAA+C;IAC/C,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEtE,uDAAuD;IACvD,YAAY,CAAC,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,8BAAsB,wBAAyB,YAAW,qBAAqB;IAC7E,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAErD,SAAS,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC9B,SAAS,CAAC,WAAW,UAAS;IAExB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAMnC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAE7E;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,OAAO,GAAG,QAAQ;IAalG;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,oBAAoB,GAAG,QAAQ;CAalE"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera Provisioning Provider Interface
|
|
3
|
+
* Base interface and abstract class for provisioning providers
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Base class with shared utilities for provisioning providers
|
|
7
|
+
*/
|
|
8
|
+
export class BaseProvisioningProvider {
|
|
9
|
+
auth;
|
|
10
|
+
initialized = false;
|
|
11
|
+
async initialize(auth) {
|
|
12
|
+
this.auth = auth;
|
|
13
|
+
this.initialized = true;
|
|
14
|
+
}
|
|
15
|
+
ensureInitialized() {
|
|
16
|
+
if (!this.initialized || !this.auth) {
|
|
17
|
+
throw new Error(`Provider ${this.provider} not initialized. Call initialize() first.`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Map provider-specific credential to passport visa type
|
|
22
|
+
*/
|
|
23
|
+
mapToVisaType(provider, hasElevatedPermissions) {
|
|
24
|
+
// AI inference APIs default to 'privilege' (LLM access = elevated)
|
|
25
|
+
if (['openai', 'anthropic'].includes(provider)) {
|
|
26
|
+
return 'privilege';
|
|
27
|
+
}
|
|
28
|
+
// Cloud infrastructure depends on permission level
|
|
29
|
+
if (['aws', 'google-cloud', 'azure-entra'].includes(provider)) {
|
|
30
|
+
return hasElevatedPermissions ? 'privilege' : 'access';
|
|
31
|
+
}
|
|
32
|
+
// Developer tools default to 'access'
|
|
33
|
+
return 'access';
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Map provider to platform enum
|
|
37
|
+
*/
|
|
38
|
+
mapToPlatform(provider) {
|
|
39
|
+
const map = {
|
|
40
|
+
'openai': 'openai',
|
|
41
|
+
'anthropic': 'anthropic',
|
|
42
|
+
'aws': 'aws',
|
|
43
|
+
'google-cloud': 'google-a2a',
|
|
44
|
+
'azure-entra': 'azure-ai',
|
|
45
|
+
'github': 'github',
|
|
46
|
+
'twilio': 'custom',
|
|
47
|
+
'sendgrid': 'custom',
|
|
48
|
+
};
|
|
49
|
+
return map[provider] ?? 'custom';
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provisioning/provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyCH;;GAEG;AACH,MAAM,OAAgB,wBAAwB;IAIlC,IAAI,CAAgB;IACpB,WAAW,GAAG,KAAK,CAAC;IAE9B,KAAK,CAAC,UAAU,CAAC,IAAkB;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAES,iBAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,QAAQ,4CAA4C,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAID;;OAEG;IACO,aAAa,CAAC,QAA8B,EAAE,sBAA+B;QACrF,mEAAmE;QACnE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,mDAAmD;QACnD,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,OAAO,sBAAsB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,CAAC;QACD,sCAAsC;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,QAA8B;QACpD,MAAM,GAAG,GAA2C;YAClD,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,WAAW;YACxB,KAAK,EAAE,KAAK;YACZ,cAAc,EAAE,YAAY;YAC5B,aAAa,EAAE,UAAU;YACzB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;SACrB,CAAC;QACF,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anthropic Provisioning Provider
|
|
3
|
+
* Management-only provider: list, update, and disable API keys.
|
|
4
|
+
* Anthropic does NOT support key creation via API.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseProvisioningProvider } from '../provider.js';
|
|
7
|
+
import { ProvisioningProvider, ProviderCapabilities, ProvisioningRequest, ProvisioningResult } from '../types.js';
|
|
8
|
+
export declare class AnthropicProvider extends BaseProvisioningProvider {
|
|
9
|
+
readonly provider: ProvisioningProvider;
|
|
10
|
+
readonly capabilities: ProviderCapabilities;
|
|
11
|
+
/**
|
|
12
|
+
* Anthropic does not support key creation via API.
|
|
13
|
+
* This method always returns an error with guidance.
|
|
14
|
+
*/
|
|
15
|
+
provision(request: ProvisioningRequest): Promise<ProvisioningResult>;
|
|
16
|
+
list(): Promise<Array<{
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
createdAt: Date;
|
|
20
|
+
status: string;
|
|
21
|
+
}>>;
|
|
22
|
+
revoke(keyId: string): Promise<{
|
|
23
|
+
success: boolean;
|
|
24
|
+
error?: string;
|
|
25
|
+
}>;
|
|
26
|
+
validateAuth(): Promise<{
|
|
27
|
+
valid: boolean;
|
|
28
|
+
error?: string;
|
|
29
|
+
}>;
|
|
30
|
+
private buildHeaders;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/provisioning/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AAerB,qBAAa,iBAAkB,SAAQ,wBAAwB;IAC7D,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAe;IAEtD,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAQzC;IAEF;;;OAGG;IACG,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0BpE,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA2BrF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA0BpE,YAAY,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAuBjE,OAAO,CAAC,YAAY;CAQrB"}
|