@kya-os/consent 0.1.39 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle/index.d.ts +2 -0
- package/dist/bundle/index.d.ts.map +1 -1
- package/dist/bundle/index.js +2 -0
- package/dist/bundle/index.js.map +1 -1
- package/dist/bundle/inline.d.ts.map +1 -1
- package/dist/bundle/inline.js +2 -2
- package/dist/bundle/inline.js.map +1 -1
- package/dist/cjs/bundle/index.js +4 -1
- package/dist/cjs/bundle/index.js.map +1 -1
- package/dist/cjs/bundle/inline.js +2 -2
- package/dist/cjs/bundle/inline.js.map +1 -1
- package/dist/cjs/components/consent-capabilities-screen.js +39 -2
- package/dist/cjs/components/consent-capabilities-screen.js.map +1 -1
- package/dist/cjs/components/consent-capability-card.js +62 -3
- package/dist/cjs/components/consent-capability-card.js.map +1 -1
- package/dist/cjs/components/consent-connector-header.js +247 -0
- package/dist/cjs/components/consent-connector-header.js.map +1 -0
- package/dist/cjs/components/index.js +3 -1
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/mcp-consent.js +18 -1
- package/dist/cjs/components/mcp-consent.js.map +1 -1
- package/dist/cjs/mcp-app/inline.js +2 -2
- package/dist/cjs/mcp-app/inline.js.map +1 -1
- package/dist/components/consent-capabilities-screen.d.ts +13 -0
- package/dist/components/consent-capabilities-screen.d.ts.map +1 -1
- package/dist/components/consent-capabilities-screen.js +39 -2
- package/dist/components/consent-capabilities-screen.js.map +1 -1
- package/dist/components/consent-capability-card.d.ts +8 -0
- package/dist/components/consent-capability-card.d.ts.map +1 -1
- package/dist/components/consent-capability-card.js +62 -3
- package/dist/components/consent-capability-card.js.map +1 -1
- package/dist/components/consent-connector-header.d.ts +64 -0
- package/dist/components/consent-connector-header.d.ts.map +1 -0
- package/dist/components/consent-connector-header.js +244 -0
- package/dist/components/consent-connector-header.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/mcp-consent.d.ts.map +1 -1
- package/dist/components/mcp-consent.js +18 -1
- package/dist/components/mcp-consent.js.map +1 -1
- package/dist/consent.js +273 -5
- package/dist/consent.min.js +246 -108
- package/dist/mcp-app/inline.d.ts.map +1 -1
- package/dist/mcp-app/inline.js +2 -2
- package/dist/mcp-app/inline.js.map +1 -1
- package/dist/schemas/api.schemas.d.ts +30 -30
- package/dist/schemas/capabilities.schemas.d.ts +8 -8
- package/dist/schemas/config.schemas.d.ts +52 -52
- package/dist/schemas/modes.schemas.d.ts +6 -6
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline.js","sourceRoot":"","sources":["../../../src/bundle/inline.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH;;;GAGG;AACU,QAAA,cAAc,GAAW,
|
|
1
|
+
{"version":3,"file":"inline.js","sourceRoot":"","sources":["../../../src/bundle/inline.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH;;;GAGG;AACU,QAAA,cAAc,GAAW,ohpQAAohpQ,CAAC;AAE3jpQ;;GAEG;AACU,QAAA,mBAAmB,GAAW,MAAM,CAAC"}
|
|
@@ -34,6 +34,7 @@ require("./consent-capability-card.js");
|
|
|
34
34
|
require("./consent-action-bar.js");
|
|
35
35
|
require("./consent-footer.js");
|
|
36
36
|
require("./consent-revocation-notice.js");
|
|
37
|
+
require("./consent-connector-header.js");
|
|
37
38
|
let ConsentCapabilitiesScreen = class ConsentCapabilitiesScreen extends lit_1.LitElement {
|
|
38
39
|
constructor() {
|
|
39
40
|
super(...arguments);
|
|
@@ -45,6 +46,18 @@ let ConsentCapabilitiesScreen = class ConsentCapabilitiesScreen extends lit_1.Li
|
|
|
45
46
|
this.theme = "light";
|
|
46
47
|
this.howItWorksUrl = "";
|
|
47
48
|
this.loading = false;
|
|
49
|
+
/**
|
|
50
|
+
* Domain used to fetch the server brand logo when one isn't explicitly
|
|
51
|
+
* configured via `agentMetadata.logoUrl` / branding. Passed to the
|
|
52
|
+
* connector header for logo.dev resolution.
|
|
53
|
+
*/
|
|
54
|
+
this.serverDomain = "";
|
|
55
|
+
/**
|
|
56
|
+
* Optional logo.dev publishable token. Lets the connector header resolve
|
|
57
|
+
* brand logos by domain when the operator hasn't supplied an explicit
|
|
58
|
+
* one. Falls back to monogram tile when missing or on 404.
|
|
59
|
+
*/
|
|
60
|
+
this.logoDevToken = "";
|
|
48
61
|
this.selected = new Set();
|
|
49
62
|
this.onCapabilityToggle = (event) => {
|
|
50
63
|
const detail = event.detail;
|
|
@@ -117,8 +130,8 @@ let ConsentCapabilitiesScreen = class ConsentCapabilitiesScreen extends lit_1.Li
|
|
|
117
130
|
});
|
|
118
131
|
const escaped = escapeHtml(raw);
|
|
119
132
|
const withSerifEntities = escaped
|
|
120
|
-
.replace("@@AGENT@@", `<em>${
|
|
121
|
-
.replace("@@ORG@@", `<em>${
|
|
133
|
+
.replace("@@AGENT@@", `<em>${nbspEscape(agentName)}</em>`)
|
|
134
|
+
.replace("@@ORG@@", `<em>${nbspEscape(this.orgName || "this site")}</em>`);
|
|
122
135
|
return (0, lit_1.html) `<h1
|
|
123
136
|
class="headline"
|
|
124
137
|
.innerHTML=${withSerifEntities}
|
|
@@ -135,6 +148,14 @@ let ConsentCapabilitiesScreen = class ConsentCapabilitiesScreen extends lit_1.Li
|
|
|
135
148
|
<style>
|
|
136
149
|
${this.hostStyle()}
|
|
137
150
|
</style>
|
|
151
|
+
<consent-connector-header
|
|
152
|
+
clientName="${this.agentMetadata?.name || ""}"
|
|
153
|
+
clientDid="${this.agentMetadata?.did || ""}"
|
|
154
|
+
client-logo-url="${this.agentMetadata?.logoUrl || ""}"
|
|
155
|
+
serverName="${this.orgName || ""}"
|
|
156
|
+
server-domain="${this.serverDomain}"
|
|
157
|
+
logo-dev-token="${this.logoDevToken}"
|
|
158
|
+
></consent-connector-header>
|
|
138
159
|
<div class="card" part="card">
|
|
139
160
|
<span class="eyebrow">${tokens.eyebrow.permissionRequest}</span>
|
|
140
161
|
${this.renderHeadline()}
|
|
@@ -292,6 +313,12 @@ __decorate([
|
|
|
292
313
|
__decorate([
|
|
293
314
|
(0, decorators_js_1.property)({ type: Boolean })
|
|
294
315
|
], ConsentCapabilitiesScreen.prototype, "loading", void 0);
|
|
316
|
+
__decorate([
|
|
317
|
+
(0, decorators_js_1.property)({ type: String, attribute: "server-domain" })
|
|
318
|
+
], ConsentCapabilitiesScreen.prototype, "serverDomain", void 0);
|
|
319
|
+
__decorate([
|
|
320
|
+
(0, decorators_js_1.property)({ type: String, attribute: "logo-dev-token" })
|
|
321
|
+
], ConsentCapabilitiesScreen.prototype, "logoDevToken", void 0);
|
|
295
322
|
__decorate([
|
|
296
323
|
(0, decorators_js_1.state)()
|
|
297
324
|
], ConsentCapabilitiesScreen.prototype, "selected", void 0);
|
|
@@ -306,4 +333,14 @@ function escapeHtml(value) {
|
|
|
306
333
|
.replace(/"/g, """)
|
|
307
334
|
.replace(/'/g, "'");
|
|
308
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Escape an entity name for HTML AND replace any internal whitespace with
|
|
338
|
+
* non-breaking spaces. Used inside the serif italic spans of the headline so
|
|
339
|
+
* multi-word brand names ("Hardware World", "Bank of Acme") wrap as a single
|
|
340
|
+
* unit instead of splitting across lines. Applied to any operator-set entity
|
|
341
|
+
* name, so the rule scales to any deployment without per-brand tweaking.
|
|
342
|
+
*/
|
|
343
|
+
function nbspEscape(value) {
|
|
344
|
+
return escapeHtml(value).replace(/\s+/g, " ");
|
|
345
|
+
}
|
|
309
346
|
//# sourceMappingURL=consent-capabilities-screen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-capabilities-screen.js","sourceRoot":"","sources":["../../../src/components/consent-capabilities-screen.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;AAEH,6BAAqD;AACrD,qDAAmE;AAEnE,iDAAqE;AACrE,iDAG4B;AAO5B,oDAA8D;AAC9D,qCAAmC;AACnC,wCAAsC;AACtC,mCAAiC;AACjC,+BAA6B;AAC7B,0CAAwC;
|
|
1
|
+
{"version":3,"file":"consent-capabilities-screen.js","sourceRoot":"","sources":["../../../src/components/consent-capabilities-screen.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;AAEH,6BAAqD;AACrD,qDAAmE;AAEnE,iDAAqE;AACrE,iDAG4B;AAO5B,oDAA8D;AAC9D,qCAAmC;AACnC,wCAAsC;AACtC,mCAAiC;AACjC,+BAA6B;AAC7B,0CAAwC;AACxC,yCAAuC;AAahC,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,gBAAU;IAAlD;;QACsB,iBAAY,GAAiB,EAAE,CAAC;QAG/B,YAAO,GAAG,EAAE,CAAC;QACb,iBAAY,GAAG,KAAK,CAAC;QACrB,mBAAc,GAAG,4BAA4B,CAAC;QAC9C,mBAAc,GAAG,EAAE,CAAC;QACpB,UAAK,GAAiB,OAAO,CAAC;QACC,kBAAa,GAAG,EAAE,CAAC;QACjD,YAAO,GAAG,KAAK,CAAC;QAE7C;;;;WAIG;QACqD,iBAAY,GAAG,EAAE,CAAC;QAE1E;;;;WAIG;QACsD,iBAAY,GAAG,EAAE,CAAC;QAE1D,aAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QAkGtC,uBAAkB,GAAG,CAAC,KAAY,EAAQ,EAAE;YAClD,MAAM,MAAM,GAAI,KAA6C,CAAC,MAAM,CAAC;YACrE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,OAAO;gBAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;gBACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC;QAEM,YAAO,GAAG,GAAS,EAAE;YAC3B,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY;iBACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACtC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,MAAM,GAA8B;gBACxC,qBAAqB,EAAE,WAAW;gBAClC,cAAc;aACf,CAAC;YACF,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAA4B,oBAAoB,EAAE;gBAC/D,MAAM;gBACN,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACf,CAAC,CACH,CAAC;QACJ,CAAC,CAAC;QAEM,WAAM,GAAG,GAAS,EAAE;YAC1B,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CACxE,CAAC;QACJ,CAAC,CAAC;IA0GJ,CAAC;IAzOU,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEQ,UAAU,CAAC,OAA6B;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,UAAU,CAAC,SAAS;gBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IA2EO,SAAS;QACf,OAAO,WAAW,IAAA,8BAAmB,EAAC,IAAA,0BAAe,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;IAmCO,sBAAsB,CAAC,UAAsB;QACnD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAA,oCAAuB,EAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,YAAY,CAAC;QAC3D,MAAM,MAAM,GAAG,+BAAmB,CAAC;QACnC,MAAM,GAAG,GAAG,IAAA,uBAAW,EAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAChD,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;YAChC,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,iBAAiB,GAAG,OAAO;aAC9B,OAAO,CAAC,WAAW,EAAE,OAAO,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC;aACzD,OAAO,CAAC,SAAS,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7E,OAAO,IAAA,UAAI,EAAA;;mBAEI,iBAAiB;WACzB,CAAC;IACV,CAAC;IAEQ,MAAM;QACb,MAAM,MAAM,GAAG,+BAAmB,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,YAAY,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAA,uBAAW,EAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,IAAA,uBAAW,EAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;YACnE,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE;SAC/B,CAAC,CAAC;QAEH,OAAO,IAAA,UAAI,EAAA;;UAEL,IAAI,CAAC,SAAS,EAAE;;;sBAGJ,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,EAAE;qBAC/B,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,EAAE;2BACvB,IAAI,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE;sBACtC,IAAI,CAAC,OAAO,IAAI,EAAE;yBACf,IAAI,CAAC,YAAY;0BAChB,IAAI,CAAC,YAAY;;;gCAGX,MAAM,CAAC,OAAO,CAAC,iBAAiB;UACtD,IAAI,CAAC,cAAc,EAAE;6BACF,OAAO;UAC1B,IAAI,CAAC,aAAa;YAClB,CAAC,CAAC,IAAA,UAAI,EAAA;2BACW,IAAI,CAAC,aAAa,CAAC,IAAI;wBAC1B,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,EAAE;8BACzB,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,EAAE;0BACzC,IAAI,CAAC,aAAa,CAAC,QAAQ;yBAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE;6BAC5B,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,EAAE;qCAC5B;YAC3B,CAAC,CAAC,aAAO;;;oBAGC,aAAa;iCACA,MAAM,CAAC,OAAO,CAAC,WAAW;;iDAEV,IAAI,CAAC,kBAAkB;cAC1D,IAAI,CAAC,YAAY,CAAC,GAAG,CACrB,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,UAAI,EAAA;;kCAEA,UAAU,CAAC,EAAE;2BACpB,UAAU,CAAC,KAAK;iCACV,UAAU,CAAC,WAAW;0BAC7B,UAAU,CAAC,IAAI;+BACV,UAAU,CAAC,SAAS;6BACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oCACzB,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC;;eAE5D,CACF;;;;4BAIe,IAAI,CAAC,cAAc;qBAC1B,IAAI,CAAC,OAAO,IAAI,WAAW;2BACrB,IAAI,CAAC,cAAc;;;uBAGvB,SAAS;mBACb,IAAI,CAAC,KAAK;qBACR,IAAI,CAAC,OAAO;sBACX,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;2BACnB,IAAI,CAAC,OAAO;0BACb,IAAI,CAAC,MAAM;;;mBAGlB,IAAI,CAAC,KAAK;2BACF,IAAI,CAAC,aAAa;;;KAGxC,CAAC;IACJ,CAAC;;AApQU,8DAAyB;AA+CpB,gCAAM,GAAG,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuE3B,AAvEqB,CAuEpB;AArHyB;IAA1B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;+DAAiC;AAC/B;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gEAA0C;AACzC;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+DAAgD;AAC/C;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0DAAc;AACb;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+DAAsB;AACrB;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iEAA+C;AAC9C;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iEAAqB;AACpB;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDAA+B;AACC;IAA1D,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;gEAAoB;AACjD;IAA5B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DAAiB;AAOW;IAAvD,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;+DAAmB;AAOjB;IAAxD,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;+DAAmB;AAE1D;IAAhB,IAAA,qBAAK,GAAE;2DAAsC;oCA1BnC,yBAAyB;IADrC,IAAA,6BAAa,EAAC,6BAA6B,CAAC;GAChC,yBAAyB,CAqQrC;AAQD,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -47,7 +47,40 @@ let ConsentCapabilityCard = class ConsentCapabilityCard extends lit_1.LitElement
|
|
|
47
47
|
composed: true,
|
|
48
48
|
}));
|
|
49
49
|
}
|
|
50
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Row-level click handler. Makes the entire row a click target for
|
|
52
|
+
* toggling the checkbox — a UX nicety that matches Plaid/Apple-style
|
|
53
|
+
* consent rows. Skips when the user clicks the per-row "View policy"
|
|
54
|
+
* button, the policy disclosure, or any link inside the description, so
|
|
55
|
+
* those interactive children retain their own behavior.
|
|
56
|
+
*/
|
|
57
|
+
onRowClick(event) {
|
|
58
|
+
const target = event.target;
|
|
59
|
+
if (!target)
|
|
60
|
+
return;
|
|
61
|
+
// Walk the composed path to detect interactive children we shouldn't
|
|
62
|
+
// hijack — the policy toggle/disclosure or any anchor.
|
|
63
|
+
const path = event.composedPath?.() || [];
|
|
64
|
+
for (const node of path) {
|
|
65
|
+
if (!(node instanceof HTMLElement))
|
|
66
|
+
continue;
|
|
67
|
+
if (node === this)
|
|
68
|
+
break;
|
|
69
|
+
if (node.classList?.contains("policy-toggle") ||
|
|
70
|
+
node.classList?.contains("policy-disclosure") ||
|
|
71
|
+
node.tagName === "A" ||
|
|
72
|
+
node.tagName === "BUTTON") {
|
|
73
|
+
// Already-handled child (incl. our own checkbox button — its own
|
|
74
|
+
// @click toggles, no double-fire from row click).
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
this.toggleChecked();
|
|
79
|
+
}
|
|
80
|
+
togglePolicy(event) {
|
|
81
|
+
// Stop the row click from also toggling the checkbox when the user
|
|
82
|
+
// clicked specifically on "View policy".
|
|
83
|
+
event?.stopPropagation();
|
|
51
84
|
this.policyOpen = !this.policyOpen;
|
|
52
85
|
}
|
|
53
86
|
isHigherRisk() {
|
|
@@ -84,15 +117,31 @@ let ConsentCapabilityCard = class ConsentCapabilityCard extends lit_1.LitElement
|
|
|
84
117
|
render() {
|
|
85
118
|
const tokens = tokens_js_1.CONSENT_COPY_TOKENS.capabilityRow;
|
|
86
119
|
return (0, lit_1.html) `
|
|
87
|
-
<div
|
|
120
|
+
<div
|
|
121
|
+
class="row"
|
|
122
|
+
part="row"
|
|
123
|
+
role="button"
|
|
124
|
+
tabindex="0"
|
|
125
|
+
@click=${this.onRowClick}
|
|
126
|
+
@keydown=${(e) => {
|
|
127
|
+
if (e.key === " " || e.key === "Enter") {
|
|
128
|
+
e.preventDefault();
|
|
129
|
+
this.toggleChecked();
|
|
130
|
+
}
|
|
131
|
+
}}
|
|
132
|
+
>
|
|
88
133
|
<button
|
|
89
134
|
class="checkbox"
|
|
90
135
|
part="checkbox"
|
|
91
136
|
role="checkbox"
|
|
92
137
|
aria-checked="${String(this.checked)}"
|
|
93
138
|
aria-label="${this.label}"
|
|
94
|
-
@click=${
|
|
139
|
+
@click=${(e) => {
|
|
140
|
+
e.stopPropagation();
|
|
141
|
+
this.toggleChecked();
|
|
142
|
+
}}
|
|
95
143
|
type="button"
|
|
144
|
+
tabindex="-1"
|
|
96
145
|
>
|
|
97
146
|
${this.checked ? (0, lit_1.html) `<span class="check-mark">✓</span>` : lit_1.nothing}
|
|
98
147
|
</button>
|
|
@@ -135,6 +184,16 @@ ConsentCapabilityCard.styles = (0, lit_1.css) `
|
|
|
135
184
|
gap: 14px;
|
|
136
185
|
padding: 16px 0;
|
|
137
186
|
align-items: flex-start;
|
|
187
|
+
cursor: pointer;
|
|
188
|
+
transition: background 0.12s ease;
|
|
189
|
+
margin: 0 -10px;
|
|
190
|
+
padding-left: 10px;
|
|
191
|
+
padding-right: 10px;
|
|
192
|
+
border-radius: 8px;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.row:hover {
|
|
196
|
+
background: var(--cs-row-hover-bg, rgba(15, 23, 42, 0.025));
|
|
138
197
|
}
|
|
139
198
|
|
|
140
199
|
.checkbox {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-capability-card.js","sourceRoot":"","sources":["../../../src/components/consent-capability-card.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;AAEH,6BAAqD;AACrD,qDAAmE;AAEnE,iDAAwD;AACxD,oDAA2D;AAYpD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,gBAAU;IAA9C;;QACuB,iBAAY,GAAG,EAAE,CAAC;QAClB,UAAK,GAAG,EAAE,CAAC;QACX,gBAAW,GAAG,EAAE,CAAC;QACjB,SAAI,GAAmB,SAAS,CAAC;QACjC,cAAS,GAAc,KAAK,CAAC;QACb,YAAO,GAAG,KAAK,CAAC;QACH,kBAAa,GAAG,EAAE,CAAC;QAE3D,eAAU,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"consent-capability-card.js","sourceRoot":"","sources":["../../../src/components/consent-capability-card.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;AAEH,6BAAqD;AACrD,qDAAmE;AAEnE,iDAAwD;AACxD,oDAA2D;AAYpD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,gBAAU;IAA9C;;QACuB,iBAAY,GAAG,EAAE,CAAC;QAClB,UAAK,GAAG,EAAE,CAAC;QACX,gBAAW,GAAG,EAAE,CAAC;QACjB,SAAI,GAAmB,SAAS,CAAC;QACjC,cAAS,GAAc,KAAK,CAAC;QACb,YAAO,GAAG,KAAK,CAAC;QACH,kBAAa,GAAG,EAAE,CAAC;QAE3D,eAAU,GAAG,KAAK,CAAC;IAkTtC,CAAC;IA5IS,aAAa;QACnB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,MAAM,GAA2B;YACrC,EAAE,EAAE,IAAI,CAAC,YAAY;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QACF,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAyB,mBAAmB,EAAE;YAC3D,MAAM;YACN,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,KAAiB;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAA4B,CAAC;QAClD,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,qEAAqE;QACrE,uDAAuD;QACvD,MAAM,IAAI,GAAI,KAAK,CAAC,YAAY,EAAE,EAAoB,IAAI,EAAE,CAAC;QAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC;gBAAE,SAAS;YAC7C,IAAI,IAAI,KAAK,IAAI;gBAAE,MAAM;YACzB,IACE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,eAAe,CAAC;gBACzC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,mBAAmB,CAAC;gBAC7C,IAAI,CAAC,OAAO,KAAK,GAAG;gBACpB,IAAI,CAAC,OAAO,KAAK,QAAQ,EACzB,CAAC;gBACD,iEAAiE;gBACjE,kDAAkD;gBAClD,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,YAAY,CAAC,KAAkB;QACrC,mEAAmE;QACnE,yCAAyC;QACzC,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;IACrC,CAAC;IAEO,YAAY;QAClB,OAAO,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC;IACpE,CAAC;IAEO,UAAU;QAChB,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,aAAO,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,aAAO,CAAC;QAExC,MAAM,WAAW,GAAG,IAAA,iCAAoB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,+BAAmB,CAAC,aAAa,CAAC;QAEjD,OAAO,IAAA,UAAI,EAAA;;cAED,MAAM,CAAC,UAAU;;YAEnB,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAChC,CAAC,CAAC,IAAA,UAAI,EAAA,YAAY;YAClB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CACrB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,UAAI,EAAA,aAAa,MAAM,cAAc,CAClD;;UAEL,WAAW,CAAC,QAAQ;YACpB,CAAC,CAAC,IAAA,UAAI,EAAA;yBACS,WAAW,CAAC,QAAQ;iBAC5B;YACP,CAAC,CAAC,IAAA,UAAI,EAAA,SAAS,MAAM,CAAC,oBAAoB,MAAM;cAC5C,MAAM,CAAC,cAAc;qBACd,IAAI,CAAC,aAAa;;KAElC,CAAC;IACJ,CAAC;IAEQ,MAAM;QACb,MAAM,MAAM,GAAG,+BAAmB,CAAC,aAAa,CAAC;QACjD,OAAO,IAAA,UAAI,EAAA;;;;;;iBAME,IAAI,CAAC,UAAU;mBACb,CAAC,CAAgB,EAAE,EAAE;YAC9B,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBACvC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;;;;;;0BAMiB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;wBACtB,IAAI,CAAC,KAAK;mBACf,CAAC,CAAa,EAAE,EAAE;YACzB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;;;;YAIC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,UAAI,EAAA,mCAAmC,CAAC,CAAC,CAAC,aAAO;;oDAExB,IAAI,CAAC,UAAU,EAAE;;;4BAGzC,IAAI,CAAC,KAAK,uCAAuC,IAAI,CAAC,WAAW;cAC/E,IAAI,CAAC,YAAY,EAAE;YACnB,CAAC,CAAC,IAAA,UAAI,EAAA,2BAA2B,MAAM,CAAC,cAAc,SAAS;YAC/D,CAAC,CAAC,aAAO;;;;;qBAKF,IAAI,CAAC,YAAY;6BACT,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;;cAEtC,MAAM,CAAC,cAAc;;YAEvB,IAAI,CAAC,YAAY,EAAE;;;KAG1B,CAAC;IACJ,CAAC;;AA1TU,sDAAqB;AAWhB,4BAAM,GAAG,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkK3B,AAlKqB,CAkKpB;AA5K0B;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2DAAmB;AAClB;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDAAY;AACX;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0DAAkB;AACjB;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDAAkC;AACjC;IAA3B,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDAA8B;AACb;IAA3C,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sDAAiB;AACH;IAAxD,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;4DAAoB;AAE3D;IAAhB,IAAA,qBAAK,GAAE;yDAA4B;gCATzB,qBAAqB;IADjC,IAAA,6BAAa,EAAC,yBAAyB,CAAC;GAC5B,qBAAqB,CA2TjC;AAQD;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAoB;IACtC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,IAAA,UAAI,EAAA,qMAAqM,CAAC;QACnN,KAAK,MAAM;YACT,OAAO,IAAA,UAAI,EAAA,uRAAuR,CAAC;QACrS,KAAK,MAAM;YACT,OAAO,IAAA,UAAI,EAAA,oOAAoO,CAAC;QAClP,KAAK,KAAK;YACR,OAAO,IAAA,UAAI,EAAA,sOAAsO,CAAC;QACpP,KAAK,SAAS;YACZ,OAAO,IAAA,UAAI,EAAA,6OAA6O,CAAC;QAC3P,KAAK,QAAQ;YACX,OAAO,IAAA,UAAI,EAAA,yMAAyM,CAAC;QACvN,KAAK,KAAK;YACR,OAAO,IAAA,UAAI,EAAA,wNAAwN,CAAC;QACtO,KAAK,OAAO;YACV,OAAO,IAAA,UAAI,EAAA,qMAAqM,CAAC;QACnN,KAAK,MAAM;YACT,OAAO,IAAA,UAAI,EAAA,mMAAmM,CAAC;QACjN,KAAK,UAAU;YACb,OAAO,IAAA,UAAI,EAAA,kOAAkO,CAAC;QAChP,KAAK,MAAM;YACT,OAAO,IAAA,UAAI,EAAA,uNAAuN,CAAC;QACrO,KAAK,KAAK;YACR,OAAO,IAAA,UAAI,EAAA,yNAAyN,CAAC;QACvO,KAAK,MAAM;YACT,OAAO,IAAA,UAAI,EAAA,mKAAmK,CAAC;QACjL,KAAK,SAAS;YACZ,OAAO,IAAA,UAAI,EAAA,qNAAqN,CAAC;QACnO;YACE,OAAO,IAAA,UAAI,EAAA,oKAAoK,CAAC;IACpL,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Consent Connector Header
|
|
4
|
+
*
|
|
5
|
+
* Top-of-page visual matching Peter's mockup: client logo on the left, an
|
|
6
|
+
* animated dotted bridge with the Checkpoint shield in the middle, and the
|
|
7
|
+
* server brand logo on the right. Communicates "{client} is connecting to
|
|
8
|
+
* {server} via Checkpoint" before the user reads any copy.
|
|
9
|
+
*
|
|
10
|
+
* Logo resolution priority:
|
|
11
|
+
* 1. explicit `clientLogoUrl` / `serverLogoUrl` attributes (operator override)
|
|
12
|
+
* 2. derived from `clientDid` (e.g. did:web:knowthat.ai:agents:claude →
|
|
13
|
+
* `https://knowthat.ai/img/agents/claude.png`)
|
|
14
|
+
* 3. logo.dev fallback when `logoDevToken` is set + a domain is derivable
|
|
15
|
+
* 4. monogram tile (first letter of name) as the last-resort placeholder
|
|
16
|
+
*
|
|
17
|
+
* Designed to be brand-agnostic: every client/server pair gets the same
|
|
18
|
+
* shape, with only the artwork swapped per deployment.
|
|
19
|
+
*
|
|
20
|
+
* @module components/consent-connector-header
|
|
21
|
+
*/
|
|
22
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
23
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
25
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
26
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.ConsentConnectorHeader = void 0;
|
|
30
|
+
const lit_1 = require("lit");
|
|
31
|
+
const decorators_js_1 = require("lit/decorators.js");
|
|
32
|
+
let ConsentConnectorHeader = class ConsentConnectorHeader extends lit_1.LitElement {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
/** Display name of the agent / client (e.g. "Claude"). */
|
|
36
|
+
this.clientName = "";
|
|
37
|
+
/** Agent DID — used for KTA-derived logo lookup when no explicit URL. */
|
|
38
|
+
this.clientDid = "";
|
|
39
|
+
/** Explicit override for the client logo. */
|
|
40
|
+
this.clientLogoUrl = "";
|
|
41
|
+
/** Display name of the server / org (e.g. "Hardware World"). */
|
|
42
|
+
this.serverName = "";
|
|
43
|
+
/** Server brand domain — used for logo.dev lookup when no explicit URL. */
|
|
44
|
+
this.serverDomain = "";
|
|
45
|
+
/** Explicit override for the server brand logo. */
|
|
46
|
+
this.serverLogoUrl = "";
|
|
47
|
+
/**
|
|
48
|
+
* Optional logo.dev publishable token. When supplied, used to fetch
|
|
49
|
+
* brand logos by domain. Falls back to monogram tile if missing or if
|
|
50
|
+
* logo.dev returns 404.
|
|
51
|
+
*/
|
|
52
|
+
this.logoDevToken = "";
|
|
53
|
+
this.clientImageOk = true;
|
|
54
|
+
this.serverImageOk = true;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Derive a logo URL for an agent DID via KTA hosting convention.
|
|
58
|
+
* `did:web:knowthat.ai:agents:claude` → `https://knowthat.ai/img/agents/claude.png`
|
|
59
|
+
*/
|
|
60
|
+
ktaLogoFromDid(did) {
|
|
61
|
+
if (!did)
|
|
62
|
+
return undefined;
|
|
63
|
+
const match = did.match(/^did:web:knowthat\.ai:agents:([a-z0-9-]+)$/i);
|
|
64
|
+
if (!match)
|
|
65
|
+
return undefined;
|
|
66
|
+
return `https://knowthat.ai/img/agents/${match[1]}.png`;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Derive a brand logo URL via logo.dev given a domain. Returns undefined
|
|
70
|
+
* when no token is configured or the domain is unparseable.
|
|
71
|
+
*/
|
|
72
|
+
logoDevLogo(domain) {
|
|
73
|
+
if (!domain || !this.logoDevToken)
|
|
74
|
+
return undefined;
|
|
75
|
+
const cleaned = domain.replace(/^https?:\/\//, "").replace(/\/.*$/, "");
|
|
76
|
+
if (!cleaned)
|
|
77
|
+
return undefined;
|
|
78
|
+
return `https://img.logo.dev/${cleaned}?token=${encodeURIComponent(this.logoDevToken)}&size=120&format=png`;
|
|
79
|
+
}
|
|
80
|
+
resolveClientLogo() {
|
|
81
|
+
if (this.clientLogoUrl)
|
|
82
|
+
return this.clientLogoUrl;
|
|
83
|
+
return this.ktaLogoFromDid(this.clientDid);
|
|
84
|
+
}
|
|
85
|
+
resolveServerLogo() {
|
|
86
|
+
if (this.serverLogoUrl)
|
|
87
|
+
return this.serverLogoUrl;
|
|
88
|
+
return this.logoDevLogo(this.serverDomain);
|
|
89
|
+
}
|
|
90
|
+
monogram(name) {
|
|
91
|
+
return (name || "?").trim().charAt(0).toUpperCase();
|
|
92
|
+
}
|
|
93
|
+
render() {
|
|
94
|
+
const clientLogo = this.resolveClientLogo();
|
|
95
|
+
const serverLogo = this.resolveServerLogo();
|
|
96
|
+
return (0, lit_1.html) `
|
|
97
|
+
<div class="tile client" aria-hidden="true">
|
|
98
|
+
${clientLogo && this.clientImageOk
|
|
99
|
+
? (0, lit_1.html) `<img
|
|
100
|
+
src="${clientLogo}"
|
|
101
|
+
alt=""
|
|
102
|
+
@error=${() => (this.clientImageOk = false)}
|
|
103
|
+
/>`
|
|
104
|
+
: (0, lit_1.html) `<span class="monogram">${this.monogram(this.clientName)}</span>`}
|
|
105
|
+
</div>
|
|
106
|
+
<div class="bridge" aria-hidden="true">
|
|
107
|
+
<span class="dots"><span></span><span></span><span></span></span>
|
|
108
|
+
<span class="shield" title="Protected by Checkpoint">
|
|
109
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round">
|
|
110
|
+
<path d="M12 3l8 3v5c0 4.5-3.5 8.5-8 10-4.5-1.5-8-5.5-8-10V6l8-3z" />
|
|
111
|
+
<path d="m9 12 2 2 4-4" />
|
|
112
|
+
</svg>
|
|
113
|
+
</span>
|
|
114
|
+
<span class="dots"><span></span><span></span><span></span></span>
|
|
115
|
+
</div>
|
|
116
|
+
<div class="tile server" aria-hidden="true">
|
|
117
|
+
${serverLogo && this.serverImageOk
|
|
118
|
+
? (0, lit_1.html) `<img
|
|
119
|
+
src="${serverLogo}"
|
|
120
|
+
alt=""
|
|
121
|
+
@error=${() => (this.serverImageOk = false)}
|
|
122
|
+
/>`
|
|
123
|
+
: (0, lit_1.html) `<span class="monogram">${this.monogram(this.serverName)}</span>`}
|
|
124
|
+
</div>
|
|
125
|
+
<span style="position:absolute;left:-9999px">${this.clientName || ""} connecting to ${this.serverName || ""} via Checkpoint</span>
|
|
126
|
+
`;
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
exports.ConsentConnectorHeader = ConsentConnectorHeader;
|
|
130
|
+
ConsentConnectorHeader.styles = (0, lit_1.css) `
|
|
131
|
+
:host {
|
|
132
|
+
display: flex;
|
|
133
|
+
align-items: center;
|
|
134
|
+
justify-content: center;
|
|
135
|
+
gap: 18px;
|
|
136
|
+
padding: 22px 0 4px;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.tile {
|
|
140
|
+
width: 56px;
|
|
141
|
+
height: 56px;
|
|
142
|
+
border-radius: 14px;
|
|
143
|
+
overflow: hidden;
|
|
144
|
+
display: flex;
|
|
145
|
+
align-items: center;
|
|
146
|
+
justify-content: center;
|
|
147
|
+
flex-shrink: 0;
|
|
148
|
+
background: var(--cs-surface-card, #fff);
|
|
149
|
+
border: 1px solid var(--cs-surface-border, rgba(15, 23, 42, 0.08));
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.tile.client {
|
|
153
|
+
background: var(--cs-surface-accent, #0F172A);
|
|
154
|
+
border-color: transparent;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.tile img {
|
|
158
|
+
width: 100%;
|
|
159
|
+
height: 100%;
|
|
160
|
+
object-fit: cover;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.tile .monogram {
|
|
164
|
+
width: 100%;
|
|
165
|
+
height: 100%;
|
|
166
|
+
display: flex;
|
|
167
|
+
align-items: center;
|
|
168
|
+
justify-content: center;
|
|
169
|
+
font-weight: 600;
|
|
170
|
+
font-size: 22px;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.tile.client .monogram {
|
|
174
|
+
color: var(--cs-surface-accent-text, #fff);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.tile.server .monogram {
|
|
178
|
+
color: var(--cs-text-primary, #0F172A);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.bridge {
|
|
182
|
+
display: inline-flex;
|
|
183
|
+
align-items: center;
|
|
184
|
+
gap: 8px;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.dots {
|
|
188
|
+
display: inline-flex;
|
|
189
|
+
gap: 4px;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.dots span {
|
|
193
|
+
width: 4px;
|
|
194
|
+
height: 4px;
|
|
195
|
+
border-radius: 50%;
|
|
196
|
+
background: var(--cs-text-tertiary, #94A3B8);
|
|
197
|
+
opacity: 0.55;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.shield {
|
|
201
|
+
width: 30px;
|
|
202
|
+
height: 30px;
|
|
203
|
+
border-radius: 50%;
|
|
204
|
+
background: rgba(34, 197, 94, 0.14);
|
|
205
|
+
display: inline-flex;
|
|
206
|
+
align-items: center;
|
|
207
|
+
justify-content: center;
|
|
208
|
+
color: #15803D;
|
|
209
|
+
flex-shrink: 0;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.shield svg {
|
|
213
|
+
width: 16px;
|
|
214
|
+
height: 16px;
|
|
215
|
+
}
|
|
216
|
+
`;
|
|
217
|
+
__decorate([
|
|
218
|
+
(0, decorators_js_1.property)({ type: String })
|
|
219
|
+
], ConsentConnectorHeader.prototype, "clientName", void 0);
|
|
220
|
+
__decorate([
|
|
221
|
+
(0, decorators_js_1.property)({ type: String })
|
|
222
|
+
], ConsentConnectorHeader.prototype, "clientDid", void 0);
|
|
223
|
+
__decorate([
|
|
224
|
+
(0, decorators_js_1.property)({ type: String, attribute: "client-logo-url" })
|
|
225
|
+
], ConsentConnectorHeader.prototype, "clientLogoUrl", void 0);
|
|
226
|
+
__decorate([
|
|
227
|
+
(0, decorators_js_1.property)({ type: String })
|
|
228
|
+
], ConsentConnectorHeader.prototype, "serverName", void 0);
|
|
229
|
+
__decorate([
|
|
230
|
+
(0, decorators_js_1.property)({ type: String, attribute: "server-domain" })
|
|
231
|
+
], ConsentConnectorHeader.prototype, "serverDomain", void 0);
|
|
232
|
+
__decorate([
|
|
233
|
+
(0, decorators_js_1.property)({ type: String, attribute: "server-logo-url" })
|
|
234
|
+
], ConsentConnectorHeader.prototype, "serverLogoUrl", void 0);
|
|
235
|
+
__decorate([
|
|
236
|
+
(0, decorators_js_1.property)({ type: String, attribute: "logo-dev-token" })
|
|
237
|
+
], ConsentConnectorHeader.prototype, "logoDevToken", void 0);
|
|
238
|
+
__decorate([
|
|
239
|
+
(0, decorators_js_1.state)()
|
|
240
|
+
], ConsentConnectorHeader.prototype, "clientImageOk", void 0);
|
|
241
|
+
__decorate([
|
|
242
|
+
(0, decorators_js_1.state)()
|
|
243
|
+
], ConsentConnectorHeader.prototype, "serverImageOk", void 0);
|
|
244
|
+
exports.ConsentConnectorHeader = ConsentConnectorHeader = __decorate([
|
|
245
|
+
(0, decorators_js_1.customElement)("consent-connector-header")
|
|
246
|
+
], ConsentConnectorHeader);
|
|
247
|
+
//# sourceMappingURL=consent-connector-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent-connector-header.js","sourceRoot":"","sources":["../../../src/components/consent-connector-header.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @module components
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.css = exports.html = exports.ConsentCapabilitiesScreen = exports.ConsentRevocationNotice = exports.ConsentFooter = exports.ConsentActionBar = exports.ConsentCapabilityCard = exports.ConsentAgentHeader = exports.McpConsent = exports.ConsentOTPInput = exports.ConsentOAuthButton = exports.ConsentTerms = exports.ConsentPermissions = exports.ConsentShell = exports.ConsentInput = exports.ConsentCheckbox = exports.ConsentButton = void 0;
|
|
11
|
+
exports.css = exports.html = exports.ConsentCapabilitiesScreen = exports.ConsentConnectorHeader = exports.ConsentRevocationNotice = exports.ConsentFooter = exports.ConsentActionBar = exports.ConsentCapabilityCard = exports.ConsentAgentHeader = exports.McpConsent = exports.ConsentOTPInput = exports.ConsentOAuthButton = exports.ConsentTerms = exports.ConsentPermissions = exports.ConsentShell = exports.ConsentInput = exports.ConsentCheckbox = exports.ConsentButton = void 0;
|
|
12
12
|
// Core Components (use .js extension for ESM browser compatibility)
|
|
13
13
|
var consent_button_js_1 = require("./consent-button.js");
|
|
14
14
|
Object.defineProperty(exports, "ConsentButton", { enumerable: true, get: function () { return consent_button_js_1.ConsentButton; } });
|
|
@@ -41,6 +41,8 @@ var consent_footer_js_1 = require("./consent-footer.js");
|
|
|
41
41
|
Object.defineProperty(exports, "ConsentFooter", { enumerable: true, get: function () { return consent_footer_js_1.ConsentFooter; } });
|
|
42
42
|
var consent_revocation_notice_js_1 = require("./consent-revocation-notice.js");
|
|
43
43
|
Object.defineProperty(exports, "ConsentRevocationNotice", { enumerable: true, get: function () { return consent_revocation_notice_js_1.ConsentRevocationNotice; } });
|
|
44
|
+
var consent_connector_header_js_1 = require("./consent-connector-header.js");
|
|
45
|
+
Object.defineProperty(exports, "ConsentConnectorHeader", { enumerable: true, get: function () { return consent_connector_header_js_1.ConsentConnectorHeader; } });
|
|
44
46
|
var consent_capabilities_screen_js_1 = require("./consent-capabilities-screen.js");
|
|
45
47
|
Object.defineProperty(exports, "ConsentCapabilitiesScreen", { enumerable: true, get: function () { return consent_capabilities_screen_js_1.ConsentCapabilitiesScreen; } });
|
|
46
48
|
// Re-export Lit utilities that consumers might need
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,oEAAoE;AACpE,yDAAwE;AAA/D,kHAAA,aAAa,OAAA;AACtB,6DAAwD;AAA/C,sHAAA,eAAe,OAAA;AACxB,uDAAkE;AAAzD,gHAAA,YAAY,OAAA;AACrB,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AAErB,sBAAsB;AACtB,mEAGkC;AAFhC,4HAAA,kBAAkB,OAAA;AAGpB,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AACrB,qEAGmC;AAFjC,6HAAA,kBAAkB,OAAA;AAGpB,+DAAyD;AAAhD,uHAAA,eAAe,OAAA;AAExB,0CAA0C;AAC1C,mDAK0B;AAJxB,4GAAA,UAAU,OAAA;AAMZ,qEAAqE;AACrE,qEAA+D;AAAtD,6HAAA,kBAAkB,OAAA;AAC3B,2EAGsC;AAFpC,mIAAA,qBAAqB,OAAA;AAGvB,iEAA2D;AAAlD,yHAAA,gBAAgB,OAAA;AACzB,yDAAoD;AAA3C,kHAAA,aAAa,OAAA;AACtB,+EAAyE;AAAhE,uIAAA,uBAAuB,OAAA;AAChC,mFAG0C;AAFxC,2IAAA,yBAAyB,OAAA;AAI3B,oDAAoD;AACpD,2BAAgC;AAAvB,2FAAA,IAAI,OAAA;AAAE,0FAAA,GAAG,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,oEAAoE;AACpE,yDAAwE;AAA/D,kHAAA,aAAa,OAAA;AACtB,6DAAwD;AAA/C,sHAAA,eAAe,OAAA;AACxB,uDAAkE;AAAzD,gHAAA,YAAY,OAAA;AACrB,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AAErB,sBAAsB;AACtB,mEAGkC;AAFhC,4HAAA,kBAAkB,OAAA;AAGpB,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AACrB,qEAGmC;AAFjC,6HAAA,kBAAkB,OAAA;AAGpB,+DAAyD;AAAhD,uHAAA,eAAe,OAAA;AAExB,0CAA0C;AAC1C,mDAK0B;AAJxB,4GAAA,UAAU,OAAA;AAMZ,qEAAqE;AACrE,qEAA+D;AAAtD,6HAAA,kBAAkB,OAAA;AAC3B,2EAGsC;AAFpC,mIAAA,qBAAqB,OAAA;AAGvB,iEAA2D;AAAlD,yHAAA,gBAAgB,OAAA;AACzB,yDAAoD;AAA3C,kHAAA,aAAa,OAAA;AACtB,+EAAyE;AAAhE,uIAAA,uBAAuB,OAAA;AAChC,6EAAuE;AAA9D,qIAAA,sBAAsB,OAAA;AAC/B,mFAG0C;AAFxC,2IAAA,yBAAyB,OAAA;AAI3B,oDAAoD;AACpD,2BAAgC;AAAvB,2FAAA,IAAI,OAAA;AAAE,0FAAA,GAAG,OAAA"}
|
|
@@ -176,7 +176,24 @@ let McpConsent = class McpConsent extends lit_1.LitElement {
|
|
|
176
176
|
this.closeFailed = false;
|
|
177
177
|
this.onCapabilitiesAllow = (event) => {
|
|
178
178
|
const detail = event.detail;
|
|
179
|
-
|
|
179
|
+
// The form's `scopes` field becomes the storage key for the credential
|
|
180
|
+
// session token (idp-token-storage hashes the scopes array into the KV
|
|
181
|
+
// key). Tool execution looks up the same key using the tool protection's
|
|
182
|
+
// requiredScopes. If the capability registry's scope strings diverge
|
|
183
|
+
// from the tool protection's requiredScopes — even by spelling — the
|
|
184
|
+
// lookup misses, the api-client gets no Cookie, and the upstream call
|
|
185
|
+
// hits an unauthenticated session (e.g. Hardware World silently spawns
|
|
186
|
+
// a fresh CIX → cart writes vanish). Submit the URL-supplied scopes
|
|
187
|
+
// (which come from `protection.requiredScopes`) so storage and retrieval
|
|
188
|
+
// hash the same set. The capability list is still consulted for which
|
|
189
|
+
// permissions the user wants — denying the only capability still denies
|
|
190
|
+
// the grant (size === 0 path) — but the *stored* scope set tracks the
|
|
191
|
+
// tool's canonical required set.
|
|
192
|
+
if (detail.selectedCapabilityIds.length === 0) {
|
|
193
|
+
this.handleDeny();
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
this.selectedScopes = [...this.scopes];
|
|
180
197
|
// Capability layout has no terms checkbox — the WYSIWYG renders T&Cs in
|
|
181
198
|
// the revocation notice text. Auto-accept so the legacy require-terms
|
|
182
199
|
// guard in handleApprove doesn't fire.
|