@dollhousemcp/mcp-server 2.0.17 → 2.0.18
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/CHANGELOG.md +6 -0
- package/dist/elements/BaseElement.d.ts +1 -0
- package/dist/elements/BaseElement.d.ts.map +1 -1
- package/dist/elements/BaseElement.js +7 -1
- package/dist/elements/agents/AgentManager.js +2 -2
- package/dist/elements/base/ElementFileOperations.js +2 -2
- package/dist/elements/ensembles/EnsembleManager.js +3 -3
- package/dist/elements/memories/MemoryManager.js +2 -2
- package/dist/elements/skills/SkillManager.js +2 -2
- package/dist/elements/templates/TemplateManager.js +2 -2
- package/dist/generated/version.d.ts +2 -2
- package/dist/generated/version.js +3 -3
- package/dist/handlers/ElementCRUDHandler.d.ts.map +1 -1
- package/dist/handlers/ElementCRUDHandler.js +3 -2
- package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts +1 -0
- package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/MCPAQLHandler.js +35 -14
- package/dist/handlers/mcp-aql/policies/ElementPolicies.d.ts +9 -1
- package/dist/handlers/mcp-aql/policies/ElementPolicies.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/policies/ElementPolicies.js +63 -4
- package/dist/handlers/strategies/AgentActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/AgentActivationStrategy.js +5 -1
- package/dist/handlers/strategies/BaseActivationStrategy.d.ts +1 -0
- package/dist/handlers/strategies/BaseActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/BaseActivationStrategy.js +15 -1
- package/dist/handlers/strategies/EnsembleActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/EnsembleActivationStrategy.js +5 -1
- package/dist/handlers/strategies/MemoryActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/MemoryActivationStrategy.js +5 -1
- package/dist/handlers/strategies/PersonaActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/PersonaActivationStrategy.js +5 -1
- package/dist/handlers/strategies/SkillActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/SkillActivationStrategy.js +5 -1
- package/dist/handlers/strategies/TemplateActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/TemplateActivationStrategy.js +7 -2
- package/dist/persona/PersonaElement.js +2 -2
- package/dist/services/SerializationService.d.ts.map +1 -1
- package/dist/services/SerializationService.js +7 -1
- package/dist/types/elements/IElement.d.ts +9 -0
- package/dist/types/elements/IElement.d.ts.map +1 -1
- package/dist/types/elements/IElement.js +1 -1
- package/dist/web/public/permissions.css +190 -2
- package/dist/web/public/permissions.js +171 -30
- package/dist/web/public/setup.js +131 -60
- package/dist/web/routes/permissionRoutes.d.ts.map +1 -1
- package/dist/web/routes/permissionRoutes.js +77 -5
- package/dist/web/routes/setupRoutes.d.ts.map +1 -1
- package/dist/web/routes/setupRoutes.js +16 -2
- package/package.json +1 -1
- package/scripts/pretooluse-dollhouse.sh +39 -1
- package/server.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IElement.d.ts","sourceRoot":"","sources":["../../../src/types/elements/IElement.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAGzF,MAAM,WAAW,QAAQ;IAEvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAGhB,QAAQ,EAAE,gBAAgB,CAAC;IAG3B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,cAAc,CAAC;IAGzB,QAAQ,IAAI,uBAAuB,CAAC;IACpC,SAAS,IAAI,MAAM,CAAC;IACpB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAGpE,cAAc,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,aAAa,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,IAAI,aAAa,CAAC;CAC5B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAGhB,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAGnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,UAAU,CAAC,EAAE,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"IElement.d.ts","sourceRoot":"","sources":["../../../src/types/elements/IElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,4 +27,4 @@ export var ElementStatus;
|
|
|
27
27
|
ElementStatus["ERROR"] = "error";
|
|
28
28
|
ElementStatus["SUSPENDED"] = "suspended";
|
|
29
29
|
})(ElementStatus || (ElementStatus = {}));
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvZWxlbWVudHMvSUVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFxR0gsZ0NBQWdDO0FBQ2hDLE1BQU0sQ0FBTixJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFDdkIsc0NBQXFCLENBQUE7SUFDckIsc0NBQXFCLENBQUE7SUFDckIsc0NBQXFCLENBQUE7SUFDckIsMENBQXlCLENBQUE7SUFDekIsNEJBQVcsQ0FBQTtJQUNYLHdDQUF1QixDQUFBLENBQUssNkJBQTZCO0FBQzNELENBQUMsRUFQVyxhQUFhLEtBQWIsYUFBYSxRQU94QjtBQThCRCwwQkFBMEI7QUFDMUIsTUFBTSxDQUFOLElBQVksYUFPWDtBQVBELFdBQVksYUFBYTtJQUN2QixzQ0FBcUIsQ0FBQTtJQUNyQiwwQ0FBeUIsQ0FBQTtJQUN6QixrQ0FBaUIsQ0FBQTtJQUNqQiw4Q0FBNkIsQ0FBQTtJQUM3QixnQ0FBZSxDQUFBO0lBQ2Ysd0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQVBXLGFBQWEsS0FBYixhQUFhLFFBT3hCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3JlIGVsZW1lbnQgaW50ZXJmYWNlIHRoYXQgYWxsIGVsZW1lbnQgdHlwZXMgbXVzdCBpbXBsZW1lbnQuXG4gKiBUaGlzIHByb3ZpZGVzIHRoZSBmb3VuZGF0aW9uIGZvciB0aGUgcG9ydGZvbGlvIHN5c3RlbSB3aXRoIHN1cHBvcnQgZm9yOlxuICogLSBJZGVudGl0eSBhbmQgdmVyc2lvbmluZ1xuICogLSBSZWZlcmVuY2VzIHRvIGV4dGVybmFsL2ludGVybmFsIHJlc291cmNlc1xuICogLSBFeHRlbnNpYmlsaXR5IGZvciBmdXR1cmUgZmVhdHVyZXNcbiAqIC0gUmF0aW5ncyBhbmQgZmVlZGJhY2sgbWVjaGFuaXNtc1xuICogLSBMaWZlY3ljbGUgbWFuYWdlbWVudFxuICovXG5cbmltcG9ydCB7IEVsZW1lbnRUeXBlIH0gZnJvbSAnLi4vLi4vcG9ydGZvbGlvL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRWxlbWVudEdhdGVrZWVwZXJQb2xpY3kgfSBmcm9tICcuLi8uLi9oYW5kbGVycy9tY3AtYXFsL0dhdGVrZWVwZXJUeXBlcy5qcyc7XG5cbi8vIENvcmUgaWRlbnRpdHkgYW5kIG1ldGFkYXRhXG5leHBvcnQgaW50ZXJmYWNlIElFbGVtZW50IHtcbiAgLy8gSWRlbnRpdHlcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogRWxlbWVudFR5cGU7XG4gIHZlcnNpb246IHN0cmluZztcbiAgXG4gIC8vIE1ldGFkYXRhXG4gIG1ldGFkYXRhOiBJRWxlbWVudE1ldGFkYXRhO1xuICBcbiAgLy8gRmVhdHVyZXNcbiAgcmVmZXJlbmNlcz86IFJlZmVyZW5jZVtdO1xuICBleHRlbnNpb25zPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgcmF0aW5ncz86IEVsZW1lbnRSYXRpbmdzO1xuICBcbiAgLy8gQ29yZSBvcGVyYXRpb25zXG4gIHZhbGlkYXRlKCk6IEVsZW1lbnRWYWxpZGF0aW9uUmVzdWx0O1xuICBzZXJpYWxpemUoKTogc3RyaW5nO1xuICBkZXNlcmlhbGl6ZShkYXRhOiBzdHJpbmcpOiB2b2lkO1xuICByZWNlaXZlRmVlZGJhY2s/KGZlZWRiYWNrOiBzdHJpbmcsIGNvbnRleHQ/OiBGZWVkYmFja0NvbnRleHQpOiB2b2lkO1xuICBcbiAgLy8gTGlmZWN5Y2xlIChvcHRpb25hbClcbiAgYmVmb3JlQWN0aXZhdGU/KCk6IFByb21pc2U8dm9pZD47XG4gIGFjdGl2YXRlPygpOiBQcm9taXNlPHZvaWQ+O1xuICBhZnRlckFjdGl2YXRlPygpOiBQcm9taXNlPHZvaWQ+O1xuICBkZWFjdGl2YXRlPygpOiBQcm9taXNlPHZvaWQ+O1xuICBnZXRTdGF0dXMoKTogRWxlbWVudFN0YXR1cztcbn1cblxuLy8gRWxlbWVudCBtZXRhZGF0YSBjb21tb24gdG8gYWxsIHR5cGVzXG5leHBvcnQgaW50ZXJmYWNlIElFbGVtZW50TWV0YWRhdGEge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHR5cGU/OiBFbGVtZW50VHlwZTsgICAgICAgLy8gRWxlbWVudCB0eXBlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGFuZCB0eXBlIHNhZmV0eVxuICBhdXRob3I/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIGNyZWF0ZWQ/OiBzdHJpbmc7XG4gIG1vZGlmaWVkPzogc3RyaW5nO1xuICB0YWdzPzogc3RyaW5nW107XG5cbiAgLy8gUmVmZXJlbmNlcyBzdXBwb3J0XG4gIGRlcGVuZGVuY2llcz86IEVsZW1lbnREZXBlbmRlbmN5W107XG5cbiAgLy8gRXh0ZW5zaWJpbGl0eVxuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIC8qKlxuICAgKiB2Mi4wIGR1YWwtZmllbGQgYXJjaGl0ZWN0dXJlOiBiZWhhdmlvcmFsIGRpcmVjdGl2ZXMgbG9hZGVkIGZyb20gWUFNTCBmcm9udG1hdHRlci5cbiAgICpcbiAgICogRHVyaW5nIGRlc2VyaWFsaXphdGlvbiwgbWFuYWdlcnMgZXh0cmFjdCBgaW5zdHJ1Y3Rpb25zYCBmcm9tIHRoZSBwYXJzZWQgWUFNTFxuICAgKiBtZXRhZGF0YSBhbmQgYXNzaWduIGl0IHRvIGBlbGVtZW50Lmluc3RydWN0aW9uc2AuIFRoaXMgZmllbGQgaXMgdGhlbiBkZWxldGVkXG4gICAqIGZyb20gdGhlIG1ldGFkYXRhIG9iamVjdCB0byBhdm9pZCBkdXBsaWNhdGlvbi4gSXRzIHByZXNlbmNlIGluIFlBTUwgZnJvbnRtYXR0ZXJcbiAgICogaXMgdXNlZCB0byBkZXRlY3QgdjIgZm9ybWF0IHZzIHYxIChib2R5LXRleHQtb25seSkgZm9ybWF0LlxuICAgKlxuICAgKiBAc2luY2UgSXNzdWUgIzYwMiDigJQgRHVhbC1maWVsZCBlbGVtZW50IGFyY2hpdGVjdHVyZVxuICAgKi9cbiAgaW5zdHJ1Y3Rpb25zPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHYXRla2VlcGVyIGFjY2Vzcy1jb250cm9sIHBvbGljeSBmb3IgdGhpcyBlbGVtZW50LlxuICAgKlxuICAgKiBXaGVuIHRoZSBlbGVtZW50IGlzIGFjdGl2ZSwgaXRzIHBvbGljeSBwYXJ0aWNpcGF0ZXMgaW4gTGF5ZXIgMlxuICAgKiAoZWxlbWVudCBwb2xpY3kgcmVzb2x1dGlvbikgb2YgdGhlIEdhdGVrZWVwZXIgZW5mb3JjZW1lbnQgcGlwZWxpbmUuXG4gICAqIHtAbGluayByZXNvbHZlRWxlbWVudFBvbGljeX0gaXRlcmF0ZXMgYWxsIGFjdGl2ZSBlbGVtZW50cyBhbmQgZXZhbHVhdGVzXG4gICAqIHRoZWlyIGBnYXRla2VlcGVyYCBmaWVsZCB0byBkZXRlcm1pbmUgd2hldGhlciBhbiBNQ1AtQVFMIG9wZXJhdGlvblxuICAgKiBzaG91bGQgYmUgYWxsb3dlZCwgZGVuaWVkLCBvciByZXF1aXJlIGNvbmZpcm1hdGlvbi5cbiAgICpcbiAgICogUG9saWN5IGZpZWxkcyAoYWxsIG9wdGlvbmFsKTpcbiAgICogLSBgYWxsb3dgICDigJQgT3BlcmF0aW9ucyBhdXRvLWFwcHJvdmVkIHdoZW4gdGhpcyBlbGVtZW50IGlzIGFjdGl2ZVxuICAgKiAtIGBjb25maXJtYCDigJQgT3BlcmF0aW9ucyByZXF1aXJpbmcgdXNlciBjb25maXJtYXRpb25cbiAgICogLSBgZGVueWAgICDigJQgT3BlcmF0aW9ucyBibG9ja2VkIG91dHJpZ2h0XG4gICAqIC0gYHNjb3BlUmVzdHJpY3Rpb25zYCDigJQgUmVzdHJpY3Qgb3BlcmF0aW9ucyB0by9mcm9tIHNwZWNpZmljIGVsZW1lbnQgdHlwZXNcbiAgICpcbiAgICogRGVmaW5lZCBpbiBZQU1MIGZyb250IG1hdHRlciBhbmQgdmFsaWRhdGVkIGF0IGJvdGggd3JpdGUgdGltZVxuICAgKiAoe0BsaW5rIHZhbGlkYXRlR2F0ZWtlZXBlclBvbGljeX0pIGFuZCByZWFkIHRpbWUgdmlhXG4gICAqIHtAbGluayBwYXJzZUVsZW1lbnRQb2xpY3l9LiBNYWxmb3JtZWQgcG9saWNpZXMgYXJlIGxvZ2dlZCBhbmQgc3RyaXBwZWQuXG4gICAqXG4gICAqIEBzaW5jZSBJc3N1ZSAjNTI0IOKAlCBFeHRlbmRlZCBmcm9tIGFnZW50cyB0byBhbGwgZWxlbWVudCB0eXBlc1xuICAgKiBAc2VlIEVsZW1lbnRHYXRla2VlcGVyUG9saWN5XG4gICAqIEBzZWUgcmVzb2x2ZUVsZW1lbnRQb2xpY3lcbiAgICovXG4gIGdhdGVrZWVwZXI/OiBFbGVtZW50R2F0ZWtlZXBlclBvbGljeTtcbn1cblxuLy8gUmVmZXJlbmNlIHRvIGV4dGVybmFsIG9yIGludGVybmFsIHJlc291cmNlc1xuZXhwb3J0IGludGVyZmFjZSBSZWZlcmVuY2Uge1xuICB0eXBlOiBSZWZlcmVuY2VUeXBlO1xuICB1cmk6IHN0cmluZzsgICAgICAgICAgICAgIC8vIFVSTCwgZmlsZSBwYXRoLCBkb2N1bWVudCBJRCwgcG9ydGZvbGlvIHJlZmVyZW5jZVxuICB0aXRsZTogc3RyaW5nOyAgICAgICAgICAgIC8vIEh1bWFuLXJlYWRhYmxlIG5hbWVcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7ICAgICAvLyBXaGF0IHRoaXMgcmVmZXJlbmNlIHByb3ZpZGVzXG4gIHJlcXVpcmVkPzogYm9vbGVhbjsgICAgICAgLy8gSXMgdGhpcyByZWZlcmVuY2UgZXNzZW50aWFsP1xuICByYWdFbmFibGVkPzogYm9vbGVhbjsgICAgIC8vIFNob3VsZCB0aGlzIGJlIGxvYWRlZCBmb3IgUkFHP1xuICBjYWNoZWFibGU/OiBib29sZWFuOyAgICAgIC8vIENhbiB0aGlzIGJlIGNhY2hlZCBsb2NhbGx5P1xuICByZWZyZXNoSW50ZXJ2YWw/OiBudW1iZXI7IC8vIEhvdyBvZnRlbiB0byByZWZyZXNoIChpbiBob3Vycylcbn1cblxuLy8gVHlwZXMgb2YgcmVmZXJlbmNlcyBzdXBwb3J0ZWRcbmV4cG9ydCBlbnVtIFJlZmVyZW5jZVR5cGUge1xuICBJTlRFUk5BTCA9ICdpbnRlcm5hbCcsICAgICAgLy8gUmVmZXJlbmNlIHRvIGFub3RoZXIgZWxlbWVudFxuICBFWFRFUk5BTCA9ICdleHRlcm5hbCcsICAgICAgLy8gV2ViIFVSTFxuICBET0NVTUVOVCA9ICdkb2N1bWVudCcsICAgICAgLy8gTG9jYWwgb3IgUkFHIGRvY3VtZW50XG4gIFJFUE9TSVRPUlkgPSAncmVwb3NpdG9yeScsICAvLyBHaXQgcmVwb3NpdG9yeVxuICBBUEkgPSAnYXBpJywgICAgICAgICAgICAgICAvLyBBUEkgZW5kcG9pbnRcbiAgUE9SVEZPTElPID0gJ3BvcnRmb2xpbycgICAgIC8vIFJlZmVyZW5jZSB3aXRoaW4gcG9ydGZvbGlvXG59XG5cbi8vIEVsZW1lbnQgZGVwZW5kZW5jeSBzcGVjaWZpY2F0aW9uXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnREZXBlbmRlbmN5IHtcbiAgZWxlbWVudElkOiBzdHJpbmc7XG4gIGVsZW1lbnRUeXBlOiBFbGVtZW50VHlwZTtcbiAgdmVyc2lvbkNvbnN0cmFpbnQ/OiBzdHJpbmc7ICAvLyBlLmcuLCBcIl4xLjAuMFwiLCBcIj49Mi4wLjBcIlxuICBvcHRpb25hbD86IGJvb2xlYW47XG59XG5cbi8vIFZhbGlkYXRpb24gcmVzdWx0IGZvciBlbGVtZW50c1xuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50VmFsaWRhdGlvblJlc3VsdCB7XG4gIHZhbGlkOiBib29sZWFuO1xuICBlcnJvcnM/OiBWYWxpZGF0aW9uRXJyb3JbXTtcbiAgd2FybmluZ3M/OiBWYWxpZGF0aW9uV2FybmluZ1tdO1xuICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25FcnJvciB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgY29kZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uV2FybmluZyB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgc2V2ZXJpdHk/OiAnbG93JyB8ICdtZWRpdW0nIHwgJ2hpZ2gnO1xufVxuXG4vLyBFbGVtZW50IHN0YXR1cyB0cmFja2luZ1xuZXhwb3J0IGVudW0gRWxlbWVudFN0YXR1cyB7XG4gIElOQUNUSVZFID0gJ2luYWN0aXZlJyxcbiAgQUNUSVZBVElORyA9ICdhY3RpdmF0aW5nJyxcbiAgQUNUSVZFID0gJ2FjdGl2ZScsXG4gIERFQUNUSVZBVElORyA9ICdkZWFjdGl2YXRpbmcnLFxuICBFUlJPUiA9ICdlcnJvcicsXG4gIFNVU1BFTkRFRCA9ICdzdXNwZW5kZWQnXG59XG5cbi8vIFJhdGluZyBzeXN0ZW0gZm9yIGNvbnRpbnVvdXMgaW1wcm92ZW1lbnRcbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudFJhdGluZ3Mge1xuICBhaVJhdGluZzogbnVtYmVyOyAgICAgICAgICAgICAgLy8gMC01IHN0YXJzIChBSSBldmFsdWF0aW9uKVxuICB1c2VyUmF0aW5nPzogbnVtYmVyOyAgICAgICAgICAgLy8gMC01IHN0YXJzICh1c2VyIGZlZWRiYWNrKVxuICByYXRpbmdDb3VudDogbnVtYmVyOyAgICAgICAgICAgLy8gTnVtYmVyIG9mIHJhdGluZ3NcbiAgbGFzdEV2YWx1YXRlZDogRGF0ZTsgICAgICAgICAgLy8gV2hlbiBsYXN0IGV2YWx1YXRlZFxuICBjb25maWRlbmNlOiBudW1iZXI7ICAgICAgICAgICAgLy8gMC0xIGNvbmZpZGVuY2UgaW4gcmF0aW5nXG4gIFxuICAvLyBEZXRhaWxlZCBicmVha2Rvd25zIChjdXN0b21pemFibGUgcGVyIGVsZW1lbnQgdHlwZSlcbiAgYnJlYWtkb3duPzogUmF0aW5nQnJlYWtkb3duO1xuICBcbiAgLy8gRGVsdGEgdHJhY2tpbmdcbiAgcmF0aW5nRGVsdGE/OiBudW1iZXI7ICAgICAgICAgLy8gRGlmZmVyZW5jZSBiZXR3ZWVuIEFJIGFuZCB1c2VyIHJhdGluZ1xuICB0cmVuZDogJ2ltcHJvdmluZycgfCAnZGVjbGluaW5nJyB8ICdzdGFibGUnO1xuICBcbiAgLy8gRmVlZGJhY2sgaGlzdG9yeVxuICBmZWVkYmFja0hpc3Rvcnk/OiBVc2VyRmVlZGJhY2tbXTtcbn1cblxuLy8gQmFzZSByYXRpbmcgYnJlYWtkb3duIC0gZWxlbWVudCB0eXBlcyBjYW4gZXh0ZW5kIHRoaXNcbmV4cG9ydCBpbnRlcmZhY2UgUmF0aW5nQnJlYWtkb3duIHtcbiAgLy8gQmFzZSBtZXRyaWNzIGFsbCBlbGVtZW50cyBzaGFyZVxuICBlZmZlY3RpdmVuZXNzOiBudW1iZXI7ICAgICAgICAgLy8gSG93IHdlbGwgaXQgYWNoaWV2ZXMgaXRzIHB1cnBvc2VcbiAgcmVsaWFiaWxpdHk6IG51bWJlcjsgICAgICAgICAgLy8gSG93IGNvbnNpc3RlbnQgaXQgaXNcbiAgdXNhYmlsaXR5OiBudW1iZXI7ICAgICAgICAgICAvLyBIb3cgZWFzeSB0byB3b3JrIHdpdGhcbiAgXG4gIC8vIEVsZW1lbnQtc3BlY2lmaWMgbWV0cmljcyAodmlhIGluZGV4IHNpZ25hdHVyZSlcbiAgW2tleTogc3RyaW5nXTogbnVtYmVyO1xufVxuXG4vLyBVc2VyIGZlZWRiYWNrIHRyYWNraW5nXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJGZWVkYmFjayB7XG4gIHRpbWVzdGFtcDogRGF0ZTtcbiAgZmVlZGJhY2s6IHN0cmluZzsgICAgICAgICAgICAgLy8gTmF0dXJhbCBsYW5ndWFnZSBmZWVkYmFja1xuICBzZW50aW1lbnQ6ICdwb3NpdGl2ZScgfCAnbmVnYXRpdmUnIHwgJ25ldXRyYWwnO1xuICBpbmZlcnJlZFJhdGluZz86IG51bWJlcjsgICAgICAvLyBSYXRpbmcgaW5mZXJyZWQgZnJvbSBmZWVkYmFja1xuICBjb250ZXh0PzogRmVlZGJhY2tDb250ZXh0OyAgICAvLyBXaGF0IHdhcyBoYXBwZW5pbmdcbiAgZWxlbWVudFZlcnNpb24/OiBzdHJpbmc7ICAgICAgLy8gVmVyc2lvbiBhdCB0aW1lIG9mIGZlZWRiYWNrXG59XG5cbi8vIENvbnRleHQgZm9yIGZlZWRiYWNrXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRiYWNrQ29udGV4dCB7XG4gIHRhc2s/OiBzdHJpbmc7ICAgICAgICAgICAgICAgIC8vIFdoYXQgdGFzayB3YXMgYmVpbmcgcGVyZm9ybWVkXG4gIHJlbGF0ZWRFbGVtZW50cz86IHN0cmluZ1tdOyAgIC8vIE90aGVyIGFjdGl2ZSBlbGVtZW50c1xuICBzZXNzaW9uSWQ/OiBzdHJpbmc7ICAgICAgICAgIC8vIEZvciBncm91cGluZyByZWxhdGVkIGZlZWRiYWNrXG4gIGVudmlyb25tZW50RGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbi8vIFNjaGVtYSB2ZXJzaW9uaW5nIHN1cHBvcnRcbmV4cG9ydCBpbnRlcmZhY2UgSVNjaGVtYVZlcnNpb24ge1xuICBzY2hlbWFWZXJzaW9uPzogc3RyaW5nOyAgICAgICAvLyBUcmFjayBpbnRlcmZhY2UgdmVyc2lvblxuICBtaWdyYXRlPyhmcm9tVmVyc2lvbjogc3RyaW5nKTogdm9pZDsgIC8vIE1pZ3JhdGlvbiBzdXBwb3J0XG59Il19
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvZWxlbWVudHMvSUVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUErR0gsZ0NBQWdDO0FBQ2hDLE1BQU0sQ0FBTixJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFDdkIsc0NBQXFCLENBQUE7SUFDckIsc0NBQXFCLENBQUE7SUFDckIsc0NBQXFCLENBQUE7SUFDckIsMENBQXlCLENBQUE7SUFDekIsNEJBQVcsQ0FBQTtJQUNYLHdDQUF1QixDQUFBLENBQUssNkJBQTZCO0FBQzNELENBQUMsRUFQVyxhQUFhLEtBQWIsYUFBYSxRQU94QjtBQThCRCwwQkFBMEI7QUFDMUIsTUFBTSxDQUFOLElBQVksYUFPWDtBQVBELFdBQVksYUFBYTtJQUN2QixzQ0FBcUIsQ0FBQTtJQUNyQiwwQ0FBeUIsQ0FBQTtJQUN6QixrQ0FBaUIsQ0FBQTtJQUNqQiw4Q0FBNkIsQ0FBQTtJQUM3QixnQ0FBZSxDQUFBO0lBQ2Ysd0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQVBXLGFBQWEsS0FBYixhQUFhLFFBT3hCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3JlIGVsZW1lbnQgaW50ZXJmYWNlIHRoYXQgYWxsIGVsZW1lbnQgdHlwZXMgbXVzdCBpbXBsZW1lbnQuXG4gKiBUaGlzIHByb3ZpZGVzIHRoZSBmb3VuZGF0aW9uIGZvciB0aGUgcG9ydGZvbGlvIHN5c3RlbSB3aXRoIHN1cHBvcnQgZm9yOlxuICogLSBJZGVudGl0eSBhbmQgdmVyc2lvbmluZ1xuICogLSBSZWZlcmVuY2VzIHRvIGV4dGVybmFsL2ludGVybmFsIHJlc291cmNlc1xuICogLSBFeHRlbnNpYmlsaXR5IGZvciBmdXR1cmUgZmVhdHVyZXNcbiAqIC0gUmF0aW5ncyBhbmQgZmVlZGJhY2sgbWVjaGFuaXNtc1xuICogLSBMaWZlY3ljbGUgbWFuYWdlbWVudFxuICovXG5cbmltcG9ydCB7IEVsZW1lbnRUeXBlIH0gZnJvbSAnLi4vLi4vcG9ydGZvbGlvL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRWxlbWVudEdhdGVrZWVwZXJQb2xpY3kgfSBmcm9tICcuLi8uLi9oYW5kbGVycy9tY3AtYXFsL0dhdGVrZWVwZXJUeXBlcy5qcyc7XG5cbi8vIENvcmUgaWRlbnRpdHkgYW5kIG1ldGFkYXRhXG5leHBvcnQgaW50ZXJmYWNlIElFbGVtZW50IHtcbiAgLy8gSWRlbnRpdHlcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogRWxlbWVudFR5cGU7XG4gIHZlcnNpb246IHN0cmluZztcbiAgXG4gIC8vIE1ldGFkYXRhXG4gIG1ldGFkYXRhOiBJRWxlbWVudE1ldGFkYXRhO1xuICBcbiAgLy8gRmVhdHVyZXNcbiAgcmVmZXJlbmNlcz86IFJlZmVyZW5jZVtdO1xuICBleHRlbnNpb25zPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgcmF0aW5ncz86IEVsZW1lbnRSYXRpbmdzO1xuICBcbiAgLy8gQ29yZSBvcGVyYXRpb25zXG4gIHZhbGlkYXRlKCk6IEVsZW1lbnRWYWxpZGF0aW9uUmVzdWx0O1xuICBzZXJpYWxpemUoKTogc3RyaW5nO1xuICBkZXNlcmlhbGl6ZShkYXRhOiBzdHJpbmcpOiB2b2lkO1xuICByZWNlaXZlRmVlZGJhY2s/KGZlZWRiYWNrOiBzdHJpbmcsIGNvbnRleHQ/OiBGZWVkYmFja0NvbnRleHQpOiB2b2lkO1xuICBcbiAgLy8gTGlmZWN5Y2xlIChvcHRpb25hbClcbiAgYmVmb3JlQWN0aXZhdGU/KCk6IFByb21pc2U8dm9pZD47XG4gIGFjdGl2YXRlPygpOiBQcm9taXNlPHZvaWQ+O1xuICBhZnRlckFjdGl2YXRlPygpOiBQcm9taXNlPHZvaWQ+O1xuICBkZWFjdGl2YXRlPygpOiBQcm9taXNlPHZvaWQ+O1xuICBnZXRTdGF0dXMoKTogRWxlbWVudFN0YXR1cztcbn1cblxuLy8gRWxlbWVudCBtZXRhZGF0YSBjb21tb24gdG8gYWxsIHR5cGVzXG5leHBvcnQgaW50ZXJmYWNlIElFbGVtZW50TWV0YWRhdGEge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHR5cGU/OiBFbGVtZW50VHlwZTsgICAgICAgLy8gRWxlbWVudCB0eXBlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGFuZCB0eXBlIHNhZmV0eVxuICBhdXRob3I/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIGNyZWF0ZWQ/OiBzdHJpbmc7XG4gIG1vZGlmaWVkPzogc3RyaW5nO1xuICB0YWdzPzogc3RyaW5nW107XG5cbiAgLy8gUmVmZXJlbmNlcyBzdXBwb3J0XG4gIGRlcGVuZGVuY2llcz86IEVsZW1lbnREZXBlbmRlbmN5W107XG5cbiAgLy8gRXh0ZW5zaWJpbGl0eVxuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIC8qKlxuICAgKiB2Mi4wIGR1YWwtZmllbGQgYXJjaGl0ZWN0dXJlOiBiZWhhdmlvcmFsIGRpcmVjdGl2ZXMgbG9hZGVkIGZyb20gWUFNTCBmcm9udG1hdHRlci5cbiAgICpcbiAgICogRHVyaW5nIGRlc2VyaWFsaXphdGlvbiwgbWFuYWdlcnMgZXh0cmFjdCBgaW5zdHJ1Y3Rpb25zYCBmcm9tIHRoZSBwYXJzZWQgWUFNTFxuICAgKiBtZXRhZGF0YSBhbmQgYXNzaWduIGl0IHRvIGBlbGVtZW50Lmluc3RydWN0aW9uc2AuIFRoaXMgZmllbGQgaXMgdGhlbiBkZWxldGVkXG4gICAqIGZyb20gdGhlIG1ldGFkYXRhIG9iamVjdCB0byBhdm9pZCBkdXBsaWNhdGlvbi4gSXRzIHByZXNlbmNlIGluIFlBTUwgZnJvbnRtYXR0ZXJcbiAgICogaXMgdXNlZCB0byBkZXRlY3QgdjIgZm9ybWF0IHZzIHYxIChib2R5LXRleHQtb25seSkgZm9ybWF0LlxuICAgKlxuICAgKiBAc2luY2UgSXNzdWUgIzYwMiDigJQgRHVhbC1maWVsZCBlbGVtZW50IGFyY2hpdGVjdHVyZVxuICAgKi9cbiAgaW5zdHJ1Y3Rpb25zPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHYXRla2VlcGVyIGFjY2Vzcy1jb250cm9sIHBvbGljeSBmb3IgdGhpcyBlbGVtZW50LlxuICAgKlxuICAgKiBXaGVuIHRoZSBlbGVtZW50IGlzIGFjdGl2ZSwgaXRzIHBvbGljeSBwYXJ0aWNpcGF0ZXMgaW4gTGF5ZXIgMlxuICAgKiAoZWxlbWVudCBwb2xpY3kgcmVzb2x1dGlvbikgb2YgdGhlIEdhdGVrZWVwZXIgZW5mb3JjZW1lbnQgcGlwZWxpbmUuXG4gICAqIHtAbGluayByZXNvbHZlRWxlbWVudFBvbGljeX0gaXRlcmF0ZXMgYWxsIGFjdGl2ZSBlbGVtZW50cyBhbmQgZXZhbHVhdGVzXG4gICAqIHRoZWlyIGBnYXRla2VlcGVyYCBmaWVsZCB0byBkZXRlcm1pbmUgd2hldGhlciBhbiBNQ1AtQVFMIG9wZXJhdGlvblxuICAgKiBzaG91bGQgYmUgYWxsb3dlZCwgZGVuaWVkLCBvciByZXF1aXJlIGNvbmZpcm1hdGlvbi5cbiAgICpcbiAgICogUG9saWN5IGZpZWxkcyAoYWxsIG9wdGlvbmFsKTpcbiAgICogLSBgYWxsb3dgICDigJQgT3BlcmF0aW9ucyBhdXRvLWFwcHJvdmVkIHdoZW4gdGhpcyBlbGVtZW50IGlzIGFjdGl2ZVxuICAgKiAtIGBjb25maXJtYCDigJQgT3BlcmF0aW9ucyByZXF1aXJpbmcgdXNlciBjb25maXJtYXRpb25cbiAgICogLSBgZGVueWAgICDigJQgT3BlcmF0aW9ucyBibG9ja2VkIG91dHJpZ2h0XG4gICAqIC0gYHNjb3BlUmVzdHJpY3Rpb25zYCDigJQgUmVzdHJpY3Qgb3BlcmF0aW9ucyB0by9mcm9tIHNwZWNpZmljIGVsZW1lbnQgdHlwZXNcbiAgICpcbiAgICogRGVmaW5lZCBpbiBZQU1MIGZyb250IG1hdHRlciBhbmQgdmFsaWRhdGVkIGF0IGJvdGggd3JpdGUgdGltZVxuICAgKiAoe0BsaW5rIHZhbGlkYXRlR2F0ZWtlZXBlclBvbGljeX0pIGFuZCByZWFkIHRpbWUgdmlhXG4gICAqIHtAbGluayBwYXJzZUVsZW1lbnRQb2xpY3l9LiBNYWxmb3JtZWQgcG9saWNpZXMgYXJlIGxvZ2dlZCBhbmQgc3RyaXBwZWQuXG4gICAqXG4gICAqIEBzaW5jZSBJc3N1ZSAjNTI0IOKAlCBFeHRlbmRlZCBmcm9tIGFnZW50cyB0byBhbGwgZWxlbWVudCB0eXBlc1xuICAgKiBAc2VlIEVsZW1lbnRHYXRla2VlcGVyUG9saWN5XG4gICAqIEBzZWUgcmVzb2x2ZUVsZW1lbnRQb2xpY3lcbiAgICovXG4gIGdhdGVrZWVwZXI/OiBFbGVtZW50R2F0ZWtlZXBlclBvbGljeTtcblxuICAvKipcbiAgICogUnVudGltZS1vbmx5IGRpYWdub3N0aWNzIGZvciBtYWxmb3JtZWQgZ2F0ZWtlZXBlciBwb2xpY3kgZGlzY292ZXJlZCBkdXJpbmcgbG9hZC5cbiAgICogVGhpcyBpcyByZXBvcnRpbmcgc3RhdGUsIG5vdCBlbmZvcmNlYWJsZSBwb2xpY3ksIGFuZCBtdXN0IG5ldmVyIGJlIHBlcnNpc3RlZC5cbiAgICovXG4gIGdhdGVrZWVwZXJEaWFnbm9zdGljcz86IHtcbiAgICB2YWxpZDogZmFsc2U7XG4gICAgZW5mb3JjZWFibGU6IGZhbHNlO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgfTtcbn1cblxuLy8gUmVmZXJlbmNlIHRvIGV4dGVybmFsIG9yIGludGVybmFsIHJlc291cmNlc1xuZXhwb3J0IGludGVyZmFjZSBSZWZlcmVuY2Uge1xuICB0eXBlOiBSZWZlcmVuY2VUeXBlO1xuICB1cmk6IHN0cmluZzsgICAgICAgICAgICAgIC8vIFVSTCwgZmlsZSBwYXRoLCBkb2N1bWVudCBJRCwgcG9ydGZvbGlvIHJlZmVyZW5jZVxuICB0aXRsZTogc3RyaW5nOyAgICAgICAgICAgIC8vIEh1bWFuLXJlYWRhYmxlIG5hbWVcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7ICAgICAvLyBXaGF0IHRoaXMgcmVmZXJlbmNlIHByb3ZpZGVzXG4gIHJlcXVpcmVkPzogYm9vbGVhbjsgICAgICAgLy8gSXMgdGhpcyByZWZlcmVuY2UgZXNzZW50aWFsP1xuICByYWdFbmFibGVkPzogYm9vbGVhbjsgICAgIC8vIFNob3VsZCB0aGlzIGJlIGxvYWRlZCBmb3IgUkFHP1xuICBjYWNoZWFibGU/OiBib29sZWFuOyAgICAgIC8vIENhbiB0aGlzIGJlIGNhY2hlZCBsb2NhbGx5P1xuICByZWZyZXNoSW50ZXJ2YWw/OiBudW1iZXI7IC8vIEhvdyBvZnRlbiB0byByZWZyZXNoIChpbiBob3Vycylcbn1cblxuLy8gVHlwZXMgb2YgcmVmZXJlbmNlcyBzdXBwb3J0ZWRcbmV4cG9ydCBlbnVtIFJlZmVyZW5jZVR5cGUge1xuICBJTlRFUk5BTCA9ICdpbnRlcm5hbCcsICAgICAgLy8gUmVmZXJlbmNlIHRvIGFub3RoZXIgZWxlbWVudFxuICBFWFRFUk5BTCA9ICdleHRlcm5hbCcsICAgICAgLy8gV2ViIFVSTFxuICBET0NVTUVOVCA9ICdkb2N1bWVudCcsICAgICAgLy8gTG9jYWwgb3IgUkFHIGRvY3VtZW50XG4gIFJFUE9TSVRPUlkgPSAncmVwb3NpdG9yeScsICAvLyBHaXQgcmVwb3NpdG9yeVxuICBBUEkgPSAnYXBpJywgICAgICAgICAgICAgICAvLyBBUEkgZW5kcG9pbnRcbiAgUE9SVEZPTElPID0gJ3BvcnRmb2xpbycgICAgIC8vIFJlZmVyZW5jZSB3aXRoaW4gcG9ydGZvbGlvXG59XG5cbi8vIEVsZW1lbnQgZGVwZW5kZW5jeSBzcGVjaWZpY2F0aW9uXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnREZXBlbmRlbmN5IHtcbiAgZWxlbWVudElkOiBzdHJpbmc7XG4gIGVsZW1lbnRUeXBlOiBFbGVtZW50VHlwZTtcbiAgdmVyc2lvbkNvbnN0cmFpbnQ/OiBzdHJpbmc7ICAvLyBlLmcuLCBcIl4xLjAuMFwiLCBcIj49Mi4wLjBcIlxuICBvcHRpb25hbD86IGJvb2xlYW47XG59XG5cbi8vIFZhbGlkYXRpb24gcmVzdWx0IGZvciBlbGVtZW50c1xuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50VmFsaWRhdGlvblJlc3VsdCB7XG4gIHZhbGlkOiBib29sZWFuO1xuICBlcnJvcnM/OiBWYWxpZGF0aW9uRXJyb3JbXTtcbiAgd2FybmluZ3M/OiBWYWxpZGF0aW9uV2FybmluZ1tdO1xuICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25FcnJvciB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgY29kZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uV2FybmluZyB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgc2V2ZXJpdHk/OiAnbG93JyB8ICdtZWRpdW0nIHwgJ2hpZ2gnO1xufVxuXG4vLyBFbGVtZW50IHN0YXR1cyB0cmFja2luZ1xuZXhwb3J0IGVudW0gRWxlbWVudFN0YXR1cyB7XG4gIElOQUNUSVZFID0gJ2luYWN0aXZlJyxcbiAgQUNUSVZBVElORyA9ICdhY3RpdmF0aW5nJyxcbiAgQUNUSVZFID0gJ2FjdGl2ZScsXG4gIERFQUNUSVZBVElORyA9ICdkZWFjdGl2YXRpbmcnLFxuICBFUlJPUiA9ICdlcnJvcicsXG4gIFNVU1BFTkRFRCA9ICdzdXNwZW5kZWQnXG59XG5cbi8vIFJhdGluZyBzeXN0ZW0gZm9yIGNvbnRpbnVvdXMgaW1wcm92ZW1lbnRcbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudFJhdGluZ3Mge1xuICBhaVJhdGluZzogbnVtYmVyOyAgICAgICAgICAgICAgLy8gMC01IHN0YXJzIChBSSBldmFsdWF0aW9uKVxuICB1c2VyUmF0aW5nPzogbnVtYmVyOyAgICAgICAgICAgLy8gMC01IHN0YXJzICh1c2VyIGZlZWRiYWNrKVxuICByYXRpbmdDb3VudDogbnVtYmVyOyAgICAgICAgICAgLy8gTnVtYmVyIG9mIHJhdGluZ3NcbiAgbGFzdEV2YWx1YXRlZDogRGF0ZTsgICAgICAgICAgLy8gV2hlbiBsYXN0IGV2YWx1YXRlZFxuICBjb25maWRlbmNlOiBudW1iZXI7ICAgICAgICAgICAgLy8gMC0xIGNvbmZpZGVuY2UgaW4gcmF0aW5nXG4gIFxuICAvLyBEZXRhaWxlZCBicmVha2Rvd25zIChjdXN0b21pemFibGUgcGVyIGVsZW1lbnQgdHlwZSlcbiAgYnJlYWtkb3duPzogUmF0aW5nQnJlYWtkb3duO1xuICBcbiAgLy8gRGVsdGEgdHJhY2tpbmdcbiAgcmF0aW5nRGVsdGE/OiBudW1iZXI7ICAgICAgICAgLy8gRGlmZmVyZW5jZSBiZXR3ZWVuIEFJIGFuZCB1c2VyIHJhdGluZ1xuICB0cmVuZDogJ2ltcHJvdmluZycgfCAnZGVjbGluaW5nJyB8ICdzdGFibGUnO1xuICBcbiAgLy8gRmVlZGJhY2sgaGlzdG9yeVxuICBmZWVkYmFja0hpc3Rvcnk/OiBVc2VyRmVlZGJhY2tbXTtcbn1cblxuLy8gQmFzZSByYXRpbmcgYnJlYWtkb3duIC0gZWxlbWVudCB0eXBlcyBjYW4gZXh0ZW5kIHRoaXNcbmV4cG9ydCBpbnRlcmZhY2UgUmF0aW5nQnJlYWtkb3duIHtcbiAgLy8gQmFzZSBtZXRyaWNzIGFsbCBlbGVtZW50cyBzaGFyZVxuICBlZmZlY3RpdmVuZXNzOiBudW1iZXI7ICAgICAgICAgLy8gSG93IHdlbGwgaXQgYWNoaWV2ZXMgaXRzIHB1cnBvc2VcbiAgcmVsaWFiaWxpdHk6IG51bWJlcjsgICAgICAgICAgLy8gSG93IGNvbnNpc3RlbnQgaXQgaXNcbiAgdXNhYmlsaXR5OiBudW1iZXI7ICAgICAgICAgICAvLyBIb3cgZWFzeSB0byB3b3JrIHdpdGhcbiAgXG4gIC8vIEVsZW1lbnQtc3BlY2lmaWMgbWV0cmljcyAodmlhIGluZGV4IHNpZ25hdHVyZSlcbiAgW2tleTogc3RyaW5nXTogbnVtYmVyO1xufVxuXG4vLyBVc2VyIGZlZWRiYWNrIHRyYWNraW5nXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJGZWVkYmFjayB7XG4gIHRpbWVzdGFtcDogRGF0ZTtcbiAgZmVlZGJhY2s6IHN0cmluZzsgICAgICAgICAgICAgLy8gTmF0dXJhbCBsYW5ndWFnZSBmZWVkYmFja1xuICBzZW50aW1lbnQ6ICdwb3NpdGl2ZScgfCAnbmVnYXRpdmUnIHwgJ25ldXRyYWwnO1xuICBpbmZlcnJlZFJhdGluZz86IG51bWJlcjsgICAgICAvLyBSYXRpbmcgaW5mZXJyZWQgZnJvbSBmZWVkYmFja1xuICBjb250ZXh0PzogRmVlZGJhY2tDb250ZXh0OyAgICAvLyBXaGF0IHdhcyBoYXBwZW5pbmdcbiAgZWxlbWVudFZlcnNpb24/OiBzdHJpbmc7ICAgICAgLy8gVmVyc2lvbiBhdCB0aW1lIG9mIGZlZWRiYWNrXG59XG5cbi8vIENvbnRleHQgZm9yIGZlZWRiYWNrXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRiYWNrQ29udGV4dCB7XG4gIHRhc2s/OiBzdHJpbmc7ICAgICAgICAgICAgICAgIC8vIFdoYXQgdGFzayB3YXMgYmVpbmcgcGVyZm9ybWVkXG4gIHJlbGF0ZWRFbGVtZW50cz86IHN0cmluZ1tdOyAgIC8vIE90aGVyIGFjdGl2ZSBlbGVtZW50c1xuICBzZXNzaW9uSWQ/OiBzdHJpbmc7ICAgICAgICAgIC8vIEZvciBncm91cGluZyByZWxhdGVkIGZlZWRiYWNrXG4gIGVudmlyb25tZW50RGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbi8vIFNjaGVtYSB2ZXJzaW9uaW5nIHN1cHBvcnRcbmV4cG9ydCBpbnRlcmZhY2UgSVNjaGVtYVZlcnNpb24ge1xuICBzY2hlbWFWZXJzaW9uPzogc3RyaW5nOyAgICAgICAvLyBUcmFjayBpbnRlcmZhY2UgdmVyc2lvblxuICBtaWdyYXRlPyhmcm9tVmVyc2lvbjogc3RyaW5nKTogdm9pZDsgIC8vIE1pZ3JhdGlvbiBzdXBwb3J0XG59XG4iXX0=
|
|
@@ -355,9 +355,10 @@
|
|
|
355
355
|
}
|
|
356
356
|
|
|
357
357
|
.perm-feed--modal {
|
|
358
|
-
height:
|
|
358
|
+
height: 100%;
|
|
359
359
|
max-height: none;
|
|
360
360
|
min-height: 0;
|
|
361
|
+
overflow: auto;
|
|
361
362
|
}
|
|
362
363
|
|
|
363
364
|
.perm-feed-empty {
|
|
@@ -398,6 +399,16 @@
|
|
|
398
399
|
.perm-selected-grid {
|
|
399
400
|
grid-template-columns: 1fr;
|
|
400
401
|
}
|
|
402
|
+
|
|
403
|
+
.perm-audit-summary-row {
|
|
404
|
+
grid-template-columns: 1fr;
|
|
405
|
+
gap: 0.45rem;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
.perm-audit-detail-row {
|
|
409
|
+
grid-template-columns: 1fr;
|
|
410
|
+
gap: 0.25rem;
|
|
411
|
+
}
|
|
401
412
|
}
|
|
402
413
|
|
|
403
414
|
.perm-feed-tool {
|
|
@@ -420,6 +431,133 @@
|
|
|
420
431
|
width: min(82rem, 100%);
|
|
421
432
|
}
|
|
422
433
|
|
|
434
|
+
.perm-audit-modal .modal-body {
|
|
435
|
+
display: flex;
|
|
436
|
+
min-height: 0;
|
|
437
|
+
padding: 0;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
.perm-audit-modal .modal-meta {
|
|
441
|
+
row-gap: 0.35rem;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
.perm-audit-modal .perm-feed--modal {
|
|
445
|
+
padding: 0.875rem 1rem 1rem;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
.perm-audit-entry {
|
|
449
|
+
border: 1px solid var(--ink-100, #e2e8f0);
|
|
450
|
+
border-radius: 0.75rem;
|
|
451
|
+
background: var(--paper-strong, #fff);
|
|
452
|
+
margin-bottom: 0.75rem;
|
|
453
|
+
overflow: hidden;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.perm-audit-entry:last-child {
|
|
457
|
+
margin-bottom: 0;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
.perm-audit-entry[open] {
|
|
461
|
+
box-shadow: 0 10px 24px color-mix(in srgb, var(--ink-900, #0f172a) 10%, transparent);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
.perm-audit-summary-row {
|
|
465
|
+
display: grid;
|
|
466
|
+
grid-template-columns: minmax(6rem, auto) auto minmax(9rem, auto) minmax(0, 1fr);
|
|
467
|
+
gap: 0.75rem;
|
|
468
|
+
align-items: center;
|
|
469
|
+
padding: 0.875rem 1rem;
|
|
470
|
+
cursor: pointer;
|
|
471
|
+
list-style: none;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
.perm-audit-summary-row::-webkit-details-marker {
|
|
475
|
+
display: none;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
.perm-audit-summary-row:hover {
|
|
479
|
+
background: var(--ink-50, #f8fafc);
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
.perm-audit-time-group {
|
|
483
|
+
display: flex;
|
|
484
|
+
flex-direction: column;
|
|
485
|
+
gap: 0.15rem;
|
|
486
|
+
min-width: 0;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
.perm-audit-time {
|
|
490
|
+
color: var(--ink-800, #1e293b);
|
|
491
|
+
font-size: 0.82rem;
|
|
492
|
+
font-weight: 700;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
.perm-audit-date {
|
|
496
|
+
color: var(--ink-500, #64748b);
|
|
497
|
+
font-size: 0.72rem;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
.perm-audit-tool {
|
|
501
|
+
color: var(--ink-800, #1e293b);
|
|
502
|
+
font-weight: 700;
|
|
503
|
+
min-width: 0;
|
|
504
|
+
overflow-wrap: anywhere;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
.perm-audit-context {
|
|
508
|
+
color: var(--ink-600, #475569);
|
|
509
|
+
min-width: 0;
|
|
510
|
+
overflow-wrap: anywhere;
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
.perm-audit-entry-body {
|
|
514
|
+
border-top: 1px solid var(--ink-100, #e2e8f0);
|
|
515
|
+
padding: 0.95rem 1rem 1rem;
|
|
516
|
+
background: color-mix(in srgb, var(--paper-base, #f8fafc) 82%, white);
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
.perm-audit-reason-block {
|
|
520
|
+
margin-bottom: 0.85rem;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
.perm-audit-reason-text {
|
|
524
|
+
margin: 0.3rem 0 0;
|
|
525
|
+
color: var(--ink-700, #334155);
|
|
526
|
+
line-height: 1.55;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
.perm-audit-detail-list {
|
|
530
|
+
display: grid;
|
|
531
|
+
gap: 0.625rem;
|
|
532
|
+
margin: 0;
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
.perm-audit-detail-row {
|
|
536
|
+
display: grid;
|
|
537
|
+
grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr);
|
|
538
|
+
gap: 0.75rem;
|
|
539
|
+
align-items: start;
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
.perm-audit-meta-label {
|
|
543
|
+
color: var(--ink-500, #64748b);
|
|
544
|
+
font-family: var(--font-mono, 'IBM Plex Mono', monospace);
|
|
545
|
+
font-size: 0.74rem;
|
|
546
|
+
text-transform: uppercase;
|
|
547
|
+
letter-spacing: 0.05em;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
.perm-audit-meta-value {
|
|
551
|
+
margin: 0;
|
|
552
|
+
color: var(--ink-800, #1e293b);
|
|
553
|
+
overflow-wrap: anywhere;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
.perm-audit-detail-value--mono {
|
|
557
|
+
font-family: var(--font-mono, 'IBM Plex Mono', monospace);
|
|
558
|
+
font-size: 0.82rem;
|
|
559
|
+
}
|
|
560
|
+
|
|
423
561
|
/* ── Source Elements ───────────────────────────────────────── */
|
|
424
562
|
|
|
425
563
|
.perm-source-list {
|
|
@@ -464,6 +602,29 @@
|
|
|
464
602
|
overflow-wrap: anywhere;
|
|
465
603
|
}
|
|
466
604
|
|
|
605
|
+
.perm-source-warning {
|
|
606
|
+
display: inline-flex;
|
|
607
|
+
align-items: center;
|
|
608
|
+
padding: 0.125rem 0.375rem;
|
|
609
|
+
border-radius: 999px;
|
|
610
|
+
background: color-mix(in srgb, #f59e0b 16%, white);
|
|
611
|
+
color: #431407;
|
|
612
|
+
font-size: 0.6875rem;
|
|
613
|
+
font-weight: 700;
|
|
614
|
+
text-transform: uppercase;
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
.perm-inline-warning {
|
|
618
|
+
margin-top: 0.5rem;
|
|
619
|
+
padding: 0.625rem 0.75rem;
|
|
620
|
+
border: 1px solid color-mix(in srgb, #f59e0b 35%, white);
|
|
621
|
+
border-radius: 0.75rem;
|
|
622
|
+
background: color-mix(in srgb, #f59e0b 10%, white);
|
|
623
|
+
color: #431407;
|
|
624
|
+
font-size: 0.8125rem;
|
|
625
|
+
line-height: 1.45;
|
|
626
|
+
}
|
|
627
|
+
|
|
467
628
|
/* ── Dark Mode ─────────────────────────────────────────────── */
|
|
468
629
|
|
|
469
630
|
[data-theme="dark"] .perm-status-bar,
|
|
@@ -527,7 +688,10 @@
|
|
|
527
688
|
[data-theme="dark"] .perm-selected-title,
|
|
528
689
|
[data-theme="dark"] .perm-feed-tool,
|
|
529
690
|
[data-theme="dark"] .perm-pattern-text,
|
|
530
|
-
[data-theme="dark"] .perm-source-name
|
|
691
|
+
[data-theme="dark"] .perm-source-name,
|
|
692
|
+
[data-theme="dark"] .perm-audit-time,
|
|
693
|
+
[data-theme="dark"] .perm-audit-tool,
|
|
694
|
+
[data-theme="dark"] .perm-audit-meta-value {
|
|
531
695
|
color: var(--ink-200, #e2e8f0);
|
|
532
696
|
}
|
|
533
697
|
|
|
@@ -537,6 +701,20 @@
|
|
|
537
701
|
background: color-mix(in srgb, var(--paper) 36%, var(--surface-1));
|
|
538
702
|
}
|
|
539
703
|
|
|
704
|
+
[data-theme="dark"] .perm-audit-entry {
|
|
705
|
+
background: color-mix(in srgb, var(--paper) 22%, var(--surface-1));
|
|
706
|
+
border-color: color-mix(in srgb, var(--line) 88%, transparent);
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
[data-theme="dark"] .perm-audit-summary-row:hover {
|
|
710
|
+
background: color-mix(in srgb, var(--surface-2) 72%, var(--paper-strong));
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
[data-theme="dark"] .perm-audit-entry-body {
|
|
714
|
+
background: color-mix(in srgb, var(--surface-1) 82%, var(--paper-strong));
|
|
715
|
+
border-color: color-mix(in srgb, var(--line) 92%, transparent);
|
|
716
|
+
}
|
|
717
|
+
|
|
540
718
|
[data-theme="dark"] .perm-source-item,
|
|
541
719
|
[data-theme="dark"] .perm-pattern-item,
|
|
542
720
|
[data-theme="dark"] .perm-feed-row {
|
|
@@ -548,6 +726,16 @@
|
|
|
548
726
|
background: color-mix(in srgb, var(--surface-2) 72%, var(--paper-strong));
|
|
549
727
|
}
|
|
550
728
|
|
|
729
|
+
[data-theme="dark"] .perm-audit-context,
|
|
730
|
+
[data-theme="dark"] .perm-audit-reason-text {
|
|
731
|
+
color: var(--ink-300, #cbd5e1);
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
[data-theme="dark"] .perm-audit-date,
|
|
735
|
+
[data-theme="dark"] .perm-audit-meta-label {
|
|
736
|
+
color: var(--ink-500, #7b93a7);
|
|
737
|
+
}
|
|
738
|
+
|
|
551
739
|
[data-theme="dark"] .perm-source-type {
|
|
552
740
|
background: color-mix(in srgb, var(--surface-2) 90%, var(--paper-strong));
|
|
553
741
|
color: var(--ink-900, #dce6f2);
|
|
@@ -217,16 +217,14 @@
|
|
|
217
217
|
const selectedSessionId = selectedData?.sessionId;
|
|
218
218
|
if (elements.length === 0) {
|
|
219
219
|
list.innerHTML = '<li class="perm-pattern-empty">No active elements with policies</li>';
|
|
220
|
+
renderInvalidPolicySummary('perm-all-invalid-policy-summary', []);
|
|
220
221
|
return;
|
|
221
222
|
}
|
|
222
223
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
${el.description ? `<span style="color:var(--ink-400);font-size:0.75rem;margin-left:auto">${esc(el.description)}</span>` : ''}
|
|
228
|
-
</li>
|
|
229
|
-
`).join('');
|
|
224
|
+
renderInvalidPolicySummary('perm-all-invalid-policy-summary', elements);
|
|
225
|
+
list.innerHTML = elements.map(el =>
|
|
226
|
+
renderPolicySourceItem(el, elementMatchesSelected(el, selectedSessionId) ? ' perm-source-item--selected' : '')
|
|
227
|
+
).join('');
|
|
230
228
|
}
|
|
231
229
|
|
|
232
230
|
function renderSelectedSessionDetail(selectedData) {
|
|
@@ -267,15 +265,10 @@
|
|
|
267
265
|
}
|
|
268
266
|
|
|
269
267
|
const elements = selectedData.elements || [];
|
|
268
|
+
renderInvalidPolicySummary('perm-selected-invalid-policy-summary', elements);
|
|
270
269
|
sourceList.innerHTML = elements.length === 0
|
|
271
270
|
? '<li class="perm-pattern-empty">No policy-bearing elements found for this session</li>'
|
|
272
|
-
: elements.map(el =>
|
|
273
|
-
<li class="perm-source-item perm-source-item--detail">
|
|
274
|
-
<span class="perm-source-type">${esc(el.type)}</span>
|
|
275
|
-
<span class="perm-source-name">${esc(el.element_name || el.name || '')}</span>
|
|
276
|
-
${el.description ? `<span style="color:var(--ink-400);font-size:0.75rem;margin-left:auto">${esc(el.description)}</span>` : ''}
|
|
277
|
-
</li>
|
|
278
|
-
`).join('');
|
|
271
|
+
: elements.map(el => renderPolicySourceItem(el, ' perm-source-item--detail')).join('');
|
|
279
272
|
|
|
280
273
|
renderPatternList('perm-selected-deny-list', selectedData.denyRules || [], 'deny');
|
|
281
274
|
renderPatternList('perm-selected-allow-list', selectedData.allowRules || [], 'allow');
|
|
@@ -331,29 +324,152 @@
|
|
|
331
324
|
if (latestId === lastDecisionId) return; // no change
|
|
332
325
|
lastDecisionId = latestId;
|
|
333
326
|
|
|
334
|
-
const html = decisions.map(
|
|
335
|
-
const time = new Date(d.timestamp).toLocaleTimeString();
|
|
336
|
-
const toolDisplay = d.tool_name === 'Bash'
|
|
337
|
-
? `Bash: ${esc(truncate(d.command || '', 60))}`
|
|
338
|
-
: esc(d.tool_name);
|
|
339
|
-
|
|
340
|
-
return `
|
|
341
|
-
<div class="perm-feed-row">
|
|
342
|
-
<span class="perm-feed-time">${time}</span>
|
|
343
|
-
<span class="perm-feed-decision perm-feed-decision--${d.decision}">${d.decision.toUpperCase()}</span>
|
|
344
|
-
<span class="perm-feed-tool" title="${esc(d.command || d.tool_name)}">${toolDisplay}</span>
|
|
345
|
-
<span class="perm-feed-reason" title="${esc(d.reason || '')}">${esc(d.reason || '')}</span>
|
|
346
|
-
</div>
|
|
347
|
-
`;
|
|
348
|
-
}).join('');
|
|
327
|
+
const html = decisions.map(renderCompactDecisionRow).join('');
|
|
349
328
|
|
|
350
329
|
feed.innerHTML = html;
|
|
351
|
-
if (modalFeed) modalFeed.innerHTML =
|
|
330
|
+
if (modalFeed) modalFeed.innerHTML = renderAuditModal(decisions);
|
|
352
331
|
if (modalCount) {
|
|
353
332
|
modalCount.textContent = `${decisions.length} captured ${decisions.length === 1 ? 'entry' : 'entries'}`;
|
|
354
333
|
}
|
|
355
334
|
}
|
|
356
335
|
|
|
336
|
+
function renderCompactDecisionRow(decision) {
|
|
337
|
+
const toolDisplay = decision.tool_name === 'Bash'
|
|
338
|
+
? `Bash: ${esc(truncate(decision.command || '', 60))}`
|
|
339
|
+
: esc(decision.tool_name);
|
|
340
|
+
|
|
341
|
+
return `
|
|
342
|
+
<div class="perm-feed-row">
|
|
343
|
+
<span class="perm-feed-time">${esc(formatShortTime(decision.timestamp))}</span>
|
|
344
|
+
<span class="perm-feed-decision perm-feed-decision--${decision.decision}">${esc(getDecisionLabel(decision.decision))}</span>
|
|
345
|
+
<span class="perm-feed-tool" title="${esc(decision.command || decision.tool_name)}">${toolDisplay}</span>
|
|
346
|
+
<span class="perm-feed-reason" title="${esc(decision.reason || '')}">${esc(decision.reason || '')}</span>
|
|
347
|
+
</div>
|
|
348
|
+
`;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
function renderAuditModal(decisions) {
|
|
352
|
+
if (!decisions || decisions.length === 0) {
|
|
353
|
+
return '<div class="perm-feed-empty">No permission decisions yet. Waiting for tool calls...</div>';
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
return decisions.map(renderAuditDecisionEntry).join('');
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
function renderAuditDecisionEntry(decision) {
|
|
360
|
+
const compactContext = getCompactContext(decision);
|
|
361
|
+
const detailRows = Array.isArray(decision.details) ? decision.details : [];
|
|
362
|
+
const reasonBlock = decision.reason
|
|
363
|
+
? `
|
|
364
|
+
<div class="perm-audit-reason-block">
|
|
365
|
+
<div class="perm-audit-meta-label">Reason</div>
|
|
366
|
+
<p class="perm-audit-reason-text">${esc(decision.reason)}</p>
|
|
367
|
+
</div>
|
|
368
|
+
`
|
|
369
|
+
: '';
|
|
370
|
+
const detailList = detailRows.length > 0
|
|
371
|
+
? `
|
|
372
|
+
<dl class="perm-audit-detail-list">
|
|
373
|
+
${detailRows.map(detail => `
|
|
374
|
+
<div class="perm-audit-detail-row">
|
|
375
|
+
<dt class="perm-audit-meta-label">${esc(detail.label)}</dt>
|
|
376
|
+
<dd class="perm-audit-meta-value${detail.monospace ? ' perm-audit-detail-value--mono' : ''}">${esc(detail.value)}</dd>
|
|
377
|
+
</div>
|
|
378
|
+
`).join('')}
|
|
379
|
+
<div class="perm-audit-detail-row">
|
|
380
|
+
<dt class="perm-audit-meta-label">Exact Time</dt>
|
|
381
|
+
<dd class="perm-audit-meta-value perm-audit-detail-value--mono">${esc(formatExactTimestamp(decision.timestamp))}</dd>
|
|
382
|
+
</div>
|
|
383
|
+
</dl>
|
|
384
|
+
`
|
|
385
|
+
: `
|
|
386
|
+
<dl class="perm-audit-detail-list">
|
|
387
|
+
<div class="perm-audit-detail-row">
|
|
388
|
+
<dt class="perm-audit-meta-label">Exact Time</dt>
|
|
389
|
+
<dd class="perm-audit-meta-value perm-audit-detail-value--mono">${esc(formatExactTimestamp(decision.timestamp))}</dd>
|
|
390
|
+
</div>
|
|
391
|
+
</dl>
|
|
392
|
+
`;
|
|
393
|
+
|
|
394
|
+
return `
|
|
395
|
+
<details class="perm-audit-entry">
|
|
396
|
+
<summary class="perm-audit-summary-row">
|
|
397
|
+
<span class="perm-audit-time-group">
|
|
398
|
+
<span class="perm-audit-time">${esc(formatShortTime(decision.timestamp))}</span>
|
|
399
|
+
<span class="perm-audit-date">${esc(formatShortDate(decision.timestamp))}</span>
|
|
400
|
+
</span>
|
|
401
|
+
<span class="perm-feed-decision perm-feed-decision--${decision.decision}">${esc(getDecisionLabel(decision.decision))}</span>
|
|
402
|
+
<span class="perm-audit-tool">${esc(decision.tool_name)}</span>
|
|
403
|
+
<span class="perm-audit-context">${esc(compactContext)}</span>
|
|
404
|
+
</summary>
|
|
405
|
+
<div class="perm-audit-entry-body">
|
|
406
|
+
${reasonBlock}
|
|
407
|
+
${detailList}
|
|
408
|
+
</div>
|
|
409
|
+
</details>
|
|
410
|
+
`;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
function formatShortTime(timestamp) {
|
|
414
|
+
return new Date(timestamp).toLocaleTimeString([], {
|
|
415
|
+
hour: 'numeric',
|
|
416
|
+
minute: '2-digit',
|
|
417
|
+
second: '2-digit',
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
function formatShortDate(timestamp) {
|
|
422
|
+
return new Date(timestamp).toLocaleDateString([], {
|
|
423
|
+
month: 'short',
|
|
424
|
+
day: 'numeric',
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
function formatExactTimestamp(timestamp) {
|
|
429
|
+
const date = new Date(timestamp);
|
|
430
|
+
return date.toLocaleString([], {
|
|
431
|
+
year: 'numeric',
|
|
432
|
+
month: 'short',
|
|
433
|
+
day: 'numeric',
|
|
434
|
+
hour: 'numeric',
|
|
435
|
+
minute: '2-digit',
|
|
436
|
+
second: '2-digit',
|
|
437
|
+
timeZoneName: 'short',
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
function getDecisionLabel(decision) {
|
|
442
|
+
return String(decision || '').toUpperCase();
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
function getCompactContext(decision) {
|
|
446
|
+
if (decision.targetLabel && decision.target) {
|
|
447
|
+
return `${decision.targetLabel}: ${truncate(decision.target, 96)}`;
|
|
448
|
+
}
|
|
449
|
+
if (decision.command) {
|
|
450
|
+
return truncate(decision.command, 96);
|
|
451
|
+
}
|
|
452
|
+
return decision.reason || 'No extra context captured';
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
function renderPolicySourceItem(el, extraClass = '') {
|
|
456
|
+
const invalidBadge = el.invalidGatekeeperPolicy
|
|
457
|
+
? `<span class="perm-source-warning" title="${esc(el.invalidGatekeeperMessage || '')}">policy invalid</span>`
|
|
458
|
+
: '';
|
|
459
|
+
const description = el.description
|
|
460
|
+
? `<span style="color:var(--ink-400);font-size:0.75rem;margin-left:auto">${esc(el.description)}</span>`
|
|
461
|
+
: '';
|
|
462
|
+
|
|
463
|
+
return `
|
|
464
|
+
<li class="perm-source-item${extraClass}">
|
|
465
|
+
<span class="perm-source-type">${esc(el.type)}</span>
|
|
466
|
+
<span class="perm-source-name">${esc(el.element_name || el.name || '')}</span>
|
|
467
|
+
${invalidBadge}
|
|
468
|
+
${description}
|
|
469
|
+
</li>
|
|
470
|
+
`;
|
|
471
|
+
}
|
|
472
|
+
|
|
357
473
|
function deriveSelectedSessionData(aggregateData, sessionId) {
|
|
358
474
|
if (!sessionId) return null;
|
|
359
475
|
|
|
@@ -375,6 +491,8 @@
|
|
|
375
491
|
type: element.type,
|
|
376
492
|
element_name: element.element_name,
|
|
377
493
|
description: element.description,
|
|
494
|
+
invalidGatekeeperPolicy: !!element.invalidGatekeeperPolicy,
|
|
495
|
+
invalidGatekeeperMessage: element.invalidGatekeeperMessage,
|
|
378
496
|
};
|
|
379
497
|
}),
|
|
380
498
|
permissionPromptActive: !!aggregateData?.permissionPromptActive,
|
|
@@ -501,6 +619,7 @@
|
|
|
501
619
|
<div>
|
|
502
620
|
<div class="perm-selected-title" id="perm-selected-title">Selected Session</div>
|
|
503
621
|
<div class="perm-selected-subtitle" id="perm-selected-subtitle"></div>
|
|
622
|
+
<div class="perm-inline-warning" id="perm-selected-invalid-policy-summary" hidden></div>
|
|
504
623
|
</div>
|
|
505
624
|
<span class="perm-selected-badge" id="perm-selected-badge" hidden>Persisted Policy State (Debug Info)</span>
|
|
506
625
|
</div>
|
|
@@ -544,6 +663,7 @@
|
|
|
544
663
|
<div>
|
|
545
664
|
<div class="perm-selected-title">All Sessions</div>
|
|
546
665
|
<div class="perm-selected-subtitle">${esc('Aggregate policy state across all live and persisted sessions. Rules shown here include both Dollhouse operation policies and external tool restrictions.')}${dataAdvisoryPlaceholder()}</div>
|
|
666
|
+
<div class="perm-inline-warning" id="perm-all-invalid-policy-summary" hidden></div>
|
|
547
667
|
</div>
|
|
548
668
|
</div>
|
|
549
669
|
|
|
@@ -697,4 +817,25 @@
|
|
|
697
817
|
return '<span id="perm-all-sessions-advisory" class="perm-inline-advisory" hidden></span>';
|
|
698
818
|
}
|
|
699
819
|
|
|
820
|
+
function renderInvalidPolicySummary(elementId, elements) {
|
|
821
|
+
const banner = document.getElementById(elementId);
|
|
822
|
+
if (!banner) return;
|
|
823
|
+
|
|
824
|
+
const invalid = (elements || []).filter(function (element) {
|
|
825
|
+
return !!element.invalidGatekeeperPolicy;
|
|
826
|
+
});
|
|
827
|
+
|
|
828
|
+
if (invalid.length === 0) {
|
|
829
|
+
banner.hidden = true;
|
|
830
|
+
banner.textContent = '';
|
|
831
|
+
return;
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
const names = invalid.map(function (element) {
|
|
835
|
+
return element.element_name || element.name || 'unknown';
|
|
836
|
+
});
|
|
837
|
+
banner.hidden = false;
|
|
838
|
+
banner.textContent = `${invalid.length} active element${invalid.length === 1 ? '' : 's'} ha${invalid.length === 1 ? 's' : 've'} malformed gatekeeper policy. These elements remain active, but that policy is not being enforced: ${names.join(', ')}`;
|
|
839
|
+
}
|
|
840
|
+
|
|
700
841
|
})();
|