@kya-os/consent 0.1.38 → 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 +14 -0
- package/dist/bundle/index.d.ts.map +1 -1
- package/dist/bundle/index.js +14 -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/bundle/shell.d.ts +23 -0
- package/dist/bundle/shell.d.ts.map +1 -1
- package/dist/bundle/shell.js +25 -1
- package/dist/bundle/shell.js.map +1 -1
- package/dist/capabilities/index.d.ts +7 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +7 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/registry.d.ts +29 -0
- package/dist/capabilities/registry.d.ts.map +1 -0
- package/dist/capabilities/registry.js +178 -0
- package/dist/capabilities/registry.js.map +1 -0
- package/dist/cedar/compile.d.ts +30 -0
- package/dist/cedar/compile.d.ts.map +1 -0
- package/dist/cedar/compile.js +55 -0
- package/dist/cedar/compile.js.map +1 -0
- package/dist/cedar/explain.d.ts +22 -0
- package/dist/cedar/explain.d.ts.map +1 -0
- package/dist/cedar/explain.js +72 -0
- package/dist/cedar/explain.js.map +1 -0
- package/dist/cedar/index.d.ts +8 -0
- package/dist/cedar/index.d.ts.map +1 -0
- package/dist/cedar/index.js +8 -0
- package/dist/cedar/index.js.map +1 -0
- package/dist/cjs/bundle/index.js +22 -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/bundle/shell.js +25 -1
- package/dist/cjs/bundle/shell.js.map +1 -1
- package/dist/cjs/capabilities/index.js +12 -0
- package/dist/cjs/capabilities/index.js.map +1 -0
- package/dist/cjs/capabilities/registry.js +182 -0
- package/dist/cjs/capabilities/registry.js.map +1 -0
- package/dist/cjs/cedar/compile.js +59 -0
- package/dist/cjs/cedar/compile.js.map +1 -0
- package/dist/cjs/cedar/explain.js +75 -0
- package/dist/cjs/cedar/explain.js.map +1 -0
- package/dist/cjs/cedar/index.js +14 -0
- package/dist/cjs/cedar/index.js.map +1 -0
- package/dist/cjs/components/consent-action-bar.js +138 -0
- package/dist/cjs/components/consent-action-bar.js.map +1 -0
- package/dist/cjs/components/consent-agent-header.js +205 -0
- package/dist/cjs/components/consent-agent-header.js.map +1 -0
- package/dist/cjs/components/consent-capabilities-screen.js +346 -0
- package/dist/cjs/components/consent-capabilities-screen.js.map +1 -0
- package/dist/cjs/components/consent-capability-card.js +399 -0
- package/dist/cjs/components/consent-capability-card.js.map +1 -0
- 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/consent-footer.js +99 -0
- package/dist/cjs/components/consent-footer.js.map +1 -0
- package/dist/cjs/components/consent-revocation-notice.js +101 -0
- package/dist/cjs/components/consent-revocation-notice.js.map +1 -0
- package/dist/cjs/components/index.js +16 -1
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/mcp-consent.js +193 -7
- package/dist/cjs/components/mcp-consent.js.map +1 -1
- package/dist/cjs/copy/index.js +12 -0
- package/dist/cjs/copy/index.js.map +1 -0
- package/dist/cjs/copy/tokens.js +101 -0
- package/dist/cjs/copy/tokens.js.map +1 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.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/cjs/popup/index.js +15 -0
- package/dist/cjs/popup/index.js.map +1 -0
- package/dist/cjs/popup/launcher.js +77 -0
- package/dist/cjs/popup/launcher.js.map +1 -0
- package/dist/cjs/schemas/capabilities.schemas.js +129 -0
- package/dist/cjs/schemas/capabilities.schemas.js.map +1 -0
- package/dist/cjs/schemas/config.schemas.js +18 -0
- package/dist/cjs/schemas/config.schemas.js.map +1 -1
- package/dist/cjs/schemas/index.js +1 -0
- package/dist/cjs/schemas/index.js.map +1 -1
- package/dist/cjs/styles/index.js +1 -0
- package/dist/cjs/styles/index.js.map +1 -1
- package/dist/cjs/styles/theme.js +86 -0
- package/dist/cjs/styles/theme.js.map +1 -0
- package/dist/cjs/types/capabilities.types.js +12 -0
- package/dist/cjs/types/capabilities.types.js.map +1 -0
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/components/consent-action-bar.d.ts +30 -0
- package/dist/components/consent-action-bar.d.ts.map +1 -0
- package/dist/components/consent-action-bar.js +135 -0
- package/dist/components/consent-action-bar.js.map +1 -0
- package/dist/components/consent-agent-header.d.ts +31 -0
- package/dist/components/consent-agent-header.d.ts.map +1 -0
- package/dist/components/consent-agent-header.js +202 -0
- package/dist/components/consent-agent-header.js.map +1 -0
- package/dist/components/consent-capabilities-screen.d.ts +75 -0
- package/dist/components/consent-capabilities-screen.d.ts.map +1 -0
- package/dist/components/consent-capabilities-screen.js +343 -0
- package/dist/components/consent-capabilities-screen.js.map +1 -0
- package/dist/components/consent-capability-card.d.ts +52 -0
- package/dist/components/consent-capability-card.d.ts.map +1 -0
- package/dist/components/consent-capability-card.js +396 -0
- package/dist/components/consent-capability-card.js.map +1 -0
- 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/consent-footer.d.ts +22 -0
- package/dist/components/consent-footer.d.ts.map +1 -0
- package/dist/components/consent-footer.js +96 -0
- package/dist/components/consent-footer.js.map +1 -0
- package/dist/components/consent-revocation-notice.d.ts +22 -0
- package/dist/components/consent-revocation-notice.d.ts.map +1 -0
- package/dist/components/consent-revocation-notice.js +98 -0
- package/dist/components/consent-revocation-notice.js.map +1 -0
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +8 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/mcp-consent.d.ts +41 -0
- package/dist/components/mcp-consent.d.ts.map +1 -1
- package/dist/components/mcp-consent.js +193 -7
- package/dist/components/mcp-consent.js.map +1 -1
- package/dist/consent.js +1642 -7
- package/dist/consent.min.js +888 -119
- package/dist/copy/index.d.ts +8 -0
- package/dist/copy/index.d.ts.map +1 -0
- package/dist/copy/index.js +7 -0
- package/dist/copy/index.js.map +1 -0
- package/dist/copy/tokens.d.ts +93 -0
- package/dist/copy/tokens.d.ts.map +1 -0
- package/dist/copy/tokens.js +97 -0
- package/dist/copy/tokens.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- 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/popup/index.d.ts +8 -0
- package/dist/popup/index.d.ts.map +1 -0
- package/dist/popup/index.js +7 -0
- package/dist/popup/index.js.map +1 -0
- package/dist/popup/launcher.d.ts +81 -0
- package/dist/popup/launcher.d.ts.map +1 -0
- package/dist/popup/launcher.js +71 -0
- package/dist/popup/launcher.js.map +1 -0
- package/dist/schemas/api.schemas.d.ts +366 -162
- package/dist/schemas/api.schemas.d.ts.map +1 -1
- package/dist/schemas/capabilities.schemas.d.ts +186 -0
- package/dist/schemas/capabilities.schemas.d.ts.map +1 -0
- package/dist/schemas/capabilities.schemas.js +123 -0
- package/dist/schemas/capabilities.schemas.js.map +1 -0
- package/dist/schemas/config.schemas.d.ts +480 -184
- package/dist/schemas/config.schemas.d.ts.map +1 -1
- package/dist/schemas/config.schemas.js +18 -0
- package/dist/schemas/config.schemas.js.map +1 -1
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +1 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/modes.schemas.d.ts +6 -6
- package/dist/styles/index.d.ts +1 -0
- package/dist/styles/index.d.ts.map +1 -1
- package/dist/styles/index.js +1 -0
- package/dist/styles/index.js.map +1 -1
- package/dist/styles/theme.d.ts +72 -0
- package/dist/styles/theme.d.ts.map +1 -0
- package/dist/styles/theme.js +81 -0
- package/dist/styles/theme.js.map +1 -0
- package/dist/types/capabilities.types.d.ts +126 -0
- package/dist/types/capabilities.types.d.ts.map +1 -0
- package/dist/types/capabilities.types.js +11 -0
- package/dist/types/capabilities.types.js.map +1 -0
- package/dist/types/config.types.d.ts +33 -0
- package/dist/types/config.types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent Connector Header
|
|
3
|
+
*
|
|
4
|
+
* Top-of-page visual matching Peter's mockup: client logo on the left, an
|
|
5
|
+
* animated dotted bridge with the Checkpoint shield in the middle, and the
|
|
6
|
+
* server brand logo on the right. Communicates "{client} is connecting to
|
|
7
|
+
* {server} via Checkpoint" before the user reads any copy.
|
|
8
|
+
*
|
|
9
|
+
* Logo resolution priority:
|
|
10
|
+
* 1. explicit `clientLogoUrl` / `serverLogoUrl` attributes (operator override)
|
|
11
|
+
* 2. derived from `clientDid` (e.g. did:web:knowthat.ai:agents:claude →
|
|
12
|
+
* `https://knowthat.ai/img/agents/claude.png`)
|
|
13
|
+
* 3. logo.dev fallback when `logoDevToken` is set + a domain is derivable
|
|
14
|
+
* 4. monogram tile (first letter of name) as the last-resort placeholder
|
|
15
|
+
*
|
|
16
|
+
* Designed to be brand-agnostic: every client/server pair gets the same
|
|
17
|
+
* shape, with only the artwork swapped per deployment.
|
|
18
|
+
*
|
|
19
|
+
* @module components/consent-connector-header
|
|
20
|
+
*/
|
|
21
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
22
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
23
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
24
|
+
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;
|
|
25
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
26
|
+
};
|
|
27
|
+
import { LitElement, html, css } from "lit";
|
|
28
|
+
import { customElement, property, state } from "lit/decorators.js";
|
|
29
|
+
let ConsentConnectorHeader = class ConsentConnectorHeader extends LitElement {
|
|
30
|
+
constructor() {
|
|
31
|
+
super(...arguments);
|
|
32
|
+
/** Display name of the agent / client (e.g. "Claude"). */
|
|
33
|
+
this.clientName = "";
|
|
34
|
+
/** Agent DID — used for KTA-derived logo lookup when no explicit URL. */
|
|
35
|
+
this.clientDid = "";
|
|
36
|
+
/** Explicit override for the client logo. */
|
|
37
|
+
this.clientLogoUrl = "";
|
|
38
|
+
/** Display name of the server / org (e.g. "Hardware World"). */
|
|
39
|
+
this.serverName = "";
|
|
40
|
+
/** Server brand domain — used for logo.dev lookup when no explicit URL. */
|
|
41
|
+
this.serverDomain = "";
|
|
42
|
+
/** Explicit override for the server brand logo. */
|
|
43
|
+
this.serverLogoUrl = "";
|
|
44
|
+
/**
|
|
45
|
+
* Optional logo.dev publishable token. When supplied, used to fetch
|
|
46
|
+
* brand logos by domain. Falls back to monogram tile if missing or if
|
|
47
|
+
* logo.dev returns 404.
|
|
48
|
+
*/
|
|
49
|
+
this.logoDevToken = "";
|
|
50
|
+
this.clientImageOk = true;
|
|
51
|
+
this.serverImageOk = true;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Derive a logo URL for an agent DID via KTA hosting convention.
|
|
55
|
+
* `did:web:knowthat.ai:agents:claude` → `https://knowthat.ai/img/agents/claude.png`
|
|
56
|
+
*/
|
|
57
|
+
ktaLogoFromDid(did) {
|
|
58
|
+
if (!did)
|
|
59
|
+
return undefined;
|
|
60
|
+
const match = did.match(/^did:web:knowthat\.ai:agents:([a-z0-9-]+)$/i);
|
|
61
|
+
if (!match)
|
|
62
|
+
return undefined;
|
|
63
|
+
return `https://knowthat.ai/img/agents/${match[1]}.png`;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Derive a brand logo URL via logo.dev given a domain. Returns undefined
|
|
67
|
+
* when no token is configured or the domain is unparseable.
|
|
68
|
+
*/
|
|
69
|
+
logoDevLogo(domain) {
|
|
70
|
+
if (!domain || !this.logoDevToken)
|
|
71
|
+
return undefined;
|
|
72
|
+
const cleaned = domain.replace(/^https?:\/\//, "").replace(/\/.*$/, "");
|
|
73
|
+
if (!cleaned)
|
|
74
|
+
return undefined;
|
|
75
|
+
return `https://img.logo.dev/${cleaned}?token=${encodeURIComponent(this.logoDevToken)}&size=120&format=png`;
|
|
76
|
+
}
|
|
77
|
+
resolveClientLogo() {
|
|
78
|
+
if (this.clientLogoUrl)
|
|
79
|
+
return this.clientLogoUrl;
|
|
80
|
+
return this.ktaLogoFromDid(this.clientDid);
|
|
81
|
+
}
|
|
82
|
+
resolveServerLogo() {
|
|
83
|
+
if (this.serverLogoUrl)
|
|
84
|
+
return this.serverLogoUrl;
|
|
85
|
+
return this.logoDevLogo(this.serverDomain);
|
|
86
|
+
}
|
|
87
|
+
monogram(name) {
|
|
88
|
+
return (name || "?").trim().charAt(0).toUpperCase();
|
|
89
|
+
}
|
|
90
|
+
render() {
|
|
91
|
+
const clientLogo = this.resolveClientLogo();
|
|
92
|
+
const serverLogo = this.resolveServerLogo();
|
|
93
|
+
return html `
|
|
94
|
+
<div class="tile client" aria-hidden="true">
|
|
95
|
+
${clientLogo && this.clientImageOk
|
|
96
|
+
? html `<img
|
|
97
|
+
src="${clientLogo}"
|
|
98
|
+
alt=""
|
|
99
|
+
@error=${() => (this.clientImageOk = false)}
|
|
100
|
+
/>`
|
|
101
|
+
: html `<span class="monogram">${this.monogram(this.clientName)}</span>`}
|
|
102
|
+
</div>
|
|
103
|
+
<div class="bridge" aria-hidden="true">
|
|
104
|
+
<span class="dots"><span></span><span></span><span></span></span>
|
|
105
|
+
<span class="shield" title="Protected by Checkpoint">
|
|
106
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round">
|
|
107
|
+
<path d="M12 3l8 3v5c0 4.5-3.5 8.5-8 10-4.5-1.5-8-5.5-8-10V6l8-3z" />
|
|
108
|
+
<path d="m9 12 2 2 4-4" />
|
|
109
|
+
</svg>
|
|
110
|
+
</span>
|
|
111
|
+
<span class="dots"><span></span><span></span><span></span></span>
|
|
112
|
+
</div>
|
|
113
|
+
<div class="tile server" aria-hidden="true">
|
|
114
|
+
${serverLogo && this.serverImageOk
|
|
115
|
+
? html `<img
|
|
116
|
+
src="${serverLogo}"
|
|
117
|
+
alt=""
|
|
118
|
+
@error=${() => (this.serverImageOk = false)}
|
|
119
|
+
/>`
|
|
120
|
+
: html `<span class="monogram">${this.monogram(this.serverName)}</span>`}
|
|
121
|
+
</div>
|
|
122
|
+
<span style="position:absolute;left:-9999px">${this.clientName || ""} connecting to ${this.serverName || ""} via Checkpoint</span>
|
|
123
|
+
`;
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
ConsentConnectorHeader.styles = css `
|
|
127
|
+
:host {
|
|
128
|
+
display: flex;
|
|
129
|
+
align-items: center;
|
|
130
|
+
justify-content: center;
|
|
131
|
+
gap: 18px;
|
|
132
|
+
padding: 22px 0 4px;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.tile {
|
|
136
|
+
width: 56px;
|
|
137
|
+
height: 56px;
|
|
138
|
+
border-radius: 14px;
|
|
139
|
+
overflow: hidden;
|
|
140
|
+
display: flex;
|
|
141
|
+
align-items: center;
|
|
142
|
+
justify-content: center;
|
|
143
|
+
flex-shrink: 0;
|
|
144
|
+
background: var(--cs-surface-card, #fff);
|
|
145
|
+
border: 1px solid var(--cs-surface-border, rgba(15, 23, 42, 0.08));
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.tile.client {
|
|
149
|
+
background: var(--cs-surface-accent, #0F172A);
|
|
150
|
+
border-color: transparent;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.tile img {
|
|
154
|
+
width: 100%;
|
|
155
|
+
height: 100%;
|
|
156
|
+
object-fit: cover;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.tile .monogram {
|
|
160
|
+
width: 100%;
|
|
161
|
+
height: 100%;
|
|
162
|
+
display: flex;
|
|
163
|
+
align-items: center;
|
|
164
|
+
justify-content: center;
|
|
165
|
+
font-weight: 600;
|
|
166
|
+
font-size: 22px;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.tile.client .monogram {
|
|
170
|
+
color: var(--cs-surface-accent-text, #fff);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.tile.server .monogram {
|
|
174
|
+
color: var(--cs-text-primary, #0F172A);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.bridge {
|
|
178
|
+
display: inline-flex;
|
|
179
|
+
align-items: center;
|
|
180
|
+
gap: 8px;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.dots {
|
|
184
|
+
display: inline-flex;
|
|
185
|
+
gap: 4px;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.dots span {
|
|
189
|
+
width: 4px;
|
|
190
|
+
height: 4px;
|
|
191
|
+
border-radius: 50%;
|
|
192
|
+
background: var(--cs-text-tertiary, #94A3B8);
|
|
193
|
+
opacity: 0.55;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
.shield {
|
|
197
|
+
width: 30px;
|
|
198
|
+
height: 30px;
|
|
199
|
+
border-radius: 50%;
|
|
200
|
+
background: rgba(34, 197, 94, 0.14);
|
|
201
|
+
display: inline-flex;
|
|
202
|
+
align-items: center;
|
|
203
|
+
justify-content: center;
|
|
204
|
+
color: #15803D;
|
|
205
|
+
flex-shrink: 0;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.shield svg {
|
|
209
|
+
width: 16px;
|
|
210
|
+
height: 16px;
|
|
211
|
+
}
|
|
212
|
+
`;
|
|
213
|
+
__decorate([
|
|
214
|
+
property({ type: String })
|
|
215
|
+
], ConsentConnectorHeader.prototype, "clientName", void 0);
|
|
216
|
+
__decorate([
|
|
217
|
+
property({ type: String })
|
|
218
|
+
], ConsentConnectorHeader.prototype, "clientDid", void 0);
|
|
219
|
+
__decorate([
|
|
220
|
+
property({ type: String, attribute: "client-logo-url" })
|
|
221
|
+
], ConsentConnectorHeader.prototype, "clientLogoUrl", void 0);
|
|
222
|
+
__decorate([
|
|
223
|
+
property({ type: String })
|
|
224
|
+
], ConsentConnectorHeader.prototype, "serverName", void 0);
|
|
225
|
+
__decorate([
|
|
226
|
+
property({ type: String, attribute: "server-domain" })
|
|
227
|
+
], ConsentConnectorHeader.prototype, "serverDomain", void 0);
|
|
228
|
+
__decorate([
|
|
229
|
+
property({ type: String, attribute: "server-logo-url" })
|
|
230
|
+
], ConsentConnectorHeader.prototype, "serverLogoUrl", void 0);
|
|
231
|
+
__decorate([
|
|
232
|
+
property({ type: String, attribute: "logo-dev-token" })
|
|
233
|
+
], ConsentConnectorHeader.prototype, "logoDevToken", void 0);
|
|
234
|
+
__decorate([
|
|
235
|
+
state()
|
|
236
|
+
], ConsentConnectorHeader.prototype, "clientImageOk", void 0);
|
|
237
|
+
__decorate([
|
|
238
|
+
state()
|
|
239
|
+
], ConsentConnectorHeader.prototype, "serverImageOk", void 0);
|
|
240
|
+
ConsentConnectorHeader = __decorate([
|
|
241
|
+
customElement("consent-connector-header")
|
|
242
|
+
], ConsentConnectorHeader);
|
|
243
|
+
export { ConsentConnectorHeader };
|
|
244
|
+
//# 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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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent Footer
|
|
3
|
+
*
|
|
4
|
+
* `Protected by ✓ Checkpoint` (left) + `How does this work?` (right). Shared
|
|
5
|
+
* between the consent screen and the (future-migrated) gateway consent.
|
|
6
|
+
*
|
|
7
|
+
* @module components/consent-footer
|
|
8
|
+
*/
|
|
9
|
+
import { LitElement } from "lit";
|
|
10
|
+
import type { ConsentTheme } from "../types/capabilities.types.js";
|
|
11
|
+
export declare class ConsentFooter extends LitElement {
|
|
12
|
+
theme: ConsentTheme;
|
|
13
|
+
howItWorksUrl: string;
|
|
14
|
+
static styles: import("lit").CSSResult;
|
|
15
|
+
render(): import("lit").TemplateResult<1>;
|
|
16
|
+
}
|
|
17
|
+
declare global {
|
|
18
|
+
interface HTMLElementTagNameMap {
|
|
19
|
+
"consent-footer": ConsentFooter;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=consent-footer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent-footer.d.ts","sourceRoot":"","sources":["../../src/components/consent-footer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,qBACa,aAAc,SAAQ,UAAU;IACf,KAAK,EAAE,YAAY,CAAW;IAC9B,aAAa,SAAM;IAE/C,OAAgB,MAAM,0BAiCpB;IAEO,MAAM;CA6BhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAC;KACjC;CACF"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent Footer
|
|
3
|
+
*
|
|
4
|
+
* `Protected by ✓ Checkpoint` (left) + `How does this work?` (right). Shared
|
|
5
|
+
* between the consent screen and the (future-migrated) gateway consent.
|
|
6
|
+
*
|
|
7
|
+
* @module components/consent-footer
|
|
8
|
+
*/
|
|
9
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
10
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
11
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
12
|
+
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;
|
|
13
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
|
+
};
|
|
15
|
+
import { LitElement, html, css } from "lit";
|
|
16
|
+
import { customElement, property } from "lit/decorators.js";
|
|
17
|
+
import { CONSENT_COPY_TOKENS } from "../copy/tokens.js";
|
|
18
|
+
let ConsentFooter = class ConsentFooter extends LitElement {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.theme = "light";
|
|
22
|
+
this.howItWorksUrl = "";
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
const attribution = this.theme === "dark"
|
|
26
|
+
? CONSENT_COPY_TOKENS.attribution.securedBy
|
|
27
|
+
: CONSENT_COPY_TOKENS.attribution.protectedBy;
|
|
28
|
+
return html `
|
|
29
|
+
<span class="left">
|
|
30
|
+
<svg
|
|
31
|
+
class="check"
|
|
32
|
+
viewBox="0 0 16 16"
|
|
33
|
+
fill="none"
|
|
34
|
+
stroke="currentColor"
|
|
35
|
+
stroke-width="1.8"
|
|
36
|
+
stroke-linecap="round"
|
|
37
|
+
stroke-linejoin="round"
|
|
38
|
+
aria-hidden="true"
|
|
39
|
+
>
|
|
40
|
+
<path d="m3.5 8.5 3 3 6-6.5" />
|
|
41
|
+
</svg>
|
|
42
|
+
${attribution}
|
|
43
|
+
</span>
|
|
44
|
+
${this.howItWorksUrl
|
|
45
|
+
? html `<a href="${this.howItWorksUrl}" target="_blank" rel="noopener">
|
|
46
|
+
${CONSENT_COPY_TOKENS.attribution.howThisWorks}
|
|
47
|
+
</a>`
|
|
48
|
+
: html `<span>${CONSENT_COPY_TOKENS.attribution.howThisWorks}</span>`}
|
|
49
|
+
`;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
ConsentFooter.styles = css `
|
|
53
|
+
:host {
|
|
54
|
+
display: flex;
|
|
55
|
+
align-items: center;
|
|
56
|
+
justify-content: space-between;
|
|
57
|
+
gap: 16px;
|
|
58
|
+
padding-top: 12px;
|
|
59
|
+
font-size: 12px;
|
|
60
|
+
color: var(--cs-text-tertiary, #64748B);
|
|
61
|
+
border-top: 1px solid var(--cs-surface-border, transparent);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.left {
|
|
65
|
+
display: inline-flex;
|
|
66
|
+
align-items: center;
|
|
67
|
+
gap: 6px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.check {
|
|
71
|
+
width: 14px;
|
|
72
|
+
height: 14px;
|
|
73
|
+
color: var(--cs-text-secondary, #334155);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
a {
|
|
77
|
+
color: inherit;
|
|
78
|
+
text-decoration: underline;
|
|
79
|
+
text-underline-offset: 2px;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
a:hover {
|
|
83
|
+
color: var(--cs-text-primary, #0F172A);
|
|
84
|
+
}
|
|
85
|
+
`;
|
|
86
|
+
__decorate([
|
|
87
|
+
property({ type: String })
|
|
88
|
+
], ConsentFooter.prototype, "theme", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
property({ type: String })
|
|
91
|
+
], ConsentFooter.prototype, "howItWorksUrl", void 0);
|
|
92
|
+
ConsentFooter = __decorate([
|
|
93
|
+
customElement("consent-footer")
|
|
94
|
+
], ConsentFooter);
|
|
95
|
+
export { ConsentFooter };
|
|
96
|
+
//# sourceMappingURL=consent-footer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent-footer.js","sourceRoot":"","sources":["../../src/components/consent-footer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIjD,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAAtC;;QACuB,UAAK,GAAiB,OAAO,CAAC;QAC9B,kBAAa,GAAG,EAAE,CAAC;IAkEjD,CAAC;IA7BU,MAAM;QACb,MAAM,WAAW,GACf,IAAI,CAAC,KAAK,KAAK,MAAM;YACnB,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS;YAC3C,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC;QAElD,OAAO,IAAI,CAAA;;;;;;;;;;;;;;UAcL,WAAW;;QAEb,IAAI,CAAC,aAAa;YAClB,CAAC,CAAC,IAAI,CAAA,YAAY,IAAI,CAAC,aAAa;cAC9B,mBAAmB,CAAC,WAAW,CAAC,YAAY;eAC3C;YACP,CAAC,CAAC,IAAI,CAAA,SAAS,mBAAmB,CAAC,WAAW,CAAC,YAAY,SAAS;KACvE,CAAC;IACJ,CAAC;;AA/De,oBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiC3B,AAjCqB,CAiCpB;AApC0B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CAA+B;AAC9B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDAAoB;AAFpC,aAAa;IADzB,aAAa,CAAC,gBAAgB,CAAC;GACnB,aAAa,CAoEzB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent Revocation Notice
|
|
3
|
+
*
|
|
4
|
+
* Clock-iconed footer block telling the user where they can revoke and that
|
|
5
|
+
* permissions auto-expire after N days of inactivity.
|
|
6
|
+
*
|
|
7
|
+
* @module components/consent-revocation-notice
|
|
8
|
+
*/
|
|
9
|
+
import { LitElement } from "lit";
|
|
10
|
+
export declare class ConsentRevocationNotice extends LitElement {
|
|
11
|
+
revocationPath: string;
|
|
12
|
+
orgName: string;
|
|
13
|
+
inactivityDays: number;
|
|
14
|
+
static styles: import("lit").CSSResult;
|
|
15
|
+
render(): import("lit").TemplateResult<1>;
|
|
16
|
+
}
|
|
17
|
+
declare global {
|
|
18
|
+
interface HTMLElementTagNameMap {
|
|
19
|
+
"consent-revocation-notice": ConsentRevocationNotice;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=consent-revocation-notice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent-revocation-notice.d.ts","sourceRoot":"","sources":["../../src/components/consent-revocation-notice.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAK5C,qBACa,uBAAwB,SAAQ,UAAU;IACzB,cAAc,SAAgC;IAC9C,OAAO,SAAe;IACtB,cAAc,SAAM;IAEhD,OAAgB,MAAM,0BAgCpB;IAEO,MAAM;CA8BhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,2BAA2B,EAAE,uBAAuB,CAAC;KACtD;CACF"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent Revocation Notice
|
|
3
|
+
*
|
|
4
|
+
* Clock-iconed footer block telling the user where they can revoke and that
|
|
5
|
+
* permissions auto-expire after N days of inactivity.
|
|
6
|
+
*
|
|
7
|
+
* @module components/consent-revocation-notice
|
|
8
|
+
*/
|
|
9
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
10
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
11
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
12
|
+
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;
|
|
13
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
|
+
};
|
|
15
|
+
import { LitElement, html, css } from "lit";
|
|
16
|
+
import { customElement, property } from "lit/decorators.js";
|
|
17
|
+
import { CONSENT_COPY_TOKENS, formatToken } from "../copy/tokens.js";
|
|
18
|
+
let ConsentRevocationNotice = class ConsentRevocationNotice extends LitElement {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.revocationPath = "Account → Connected Agents";
|
|
22
|
+
this.orgName = "this site";
|
|
23
|
+
this.inactivityDays = 90;
|
|
24
|
+
}
|
|
25
|
+
render() {
|
|
26
|
+
const revoke = formatToken(CONSENT_COPY_TOKENS.footer.revocationTemplate, {
|
|
27
|
+
RevocationPath: this.revocationPath,
|
|
28
|
+
Org: this.orgName,
|
|
29
|
+
});
|
|
30
|
+
const inactivity = formatToken(CONSENT_COPY_TOKENS.footer.inactivityTemplate, { Days: this.inactivityDays });
|
|
31
|
+
return html `
|
|
32
|
+
<svg
|
|
33
|
+
class="icon"
|
|
34
|
+
viewBox="0 0 20 20"
|
|
35
|
+
fill="none"
|
|
36
|
+
stroke="currentColor"
|
|
37
|
+
stroke-width="1.6"
|
|
38
|
+
stroke-linecap="round"
|
|
39
|
+
stroke-linejoin="round"
|
|
40
|
+
aria-hidden="true"
|
|
41
|
+
>
|
|
42
|
+
<circle cx="10" cy="10" r="7.5" />
|
|
43
|
+
<path d="M10 6v4l2.5 1.5" />
|
|
44
|
+
</svg>
|
|
45
|
+
<div class="content">
|
|
46
|
+
<span>${revoke}</span>
|
|
47
|
+
<span>${inactivity}</span>
|
|
48
|
+
</div>
|
|
49
|
+
`;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
ConsentRevocationNotice.styles = css `
|
|
53
|
+
:host {
|
|
54
|
+
display: flex;
|
|
55
|
+
align-items: flex-start;
|
|
56
|
+
gap: 10px;
|
|
57
|
+
padding: 12px 14px;
|
|
58
|
+
border-radius: 12px;
|
|
59
|
+
background: var(--cs-surface-inset, #F1ECE2);
|
|
60
|
+
color: var(--cs-text-secondary, #334155);
|
|
61
|
+
font-size: 12.5px;
|
|
62
|
+
line-height: 1.5;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.icon {
|
|
66
|
+
width: 16px;
|
|
67
|
+
height: 16px;
|
|
68
|
+
flex-shrink: 0;
|
|
69
|
+
margin-top: 2px;
|
|
70
|
+
color: var(--cs-text-tertiary, #64748B);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.content {
|
|
74
|
+
display: flex;
|
|
75
|
+
flex-direction: column;
|
|
76
|
+
gap: 4px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
em {
|
|
80
|
+
font-style: normal;
|
|
81
|
+
color: var(--cs-text-primary, #0F172A);
|
|
82
|
+
font-weight: 500;
|
|
83
|
+
}
|
|
84
|
+
`;
|
|
85
|
+
__decorate([
|
|
86
|
+
property({ type: String })
|
|
87
|
+
], ConsentRevocationNotice.prototype, "revocationPath", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
property({ type: String })
|
|
90
|
+
], ConsentRevocationNotice.prototype, "orgName", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
property({ type: Number })
|
|
93
|
+
], ConsentRevocationNotice.prototype, "inactivityDays", void 0);
|
|
94
|
+
ConsentRevocationNotice = __decorate([
|
|
95
|
+
customElement("consent-revocation-notice")
|
|
96
|
+
], ConsentRevocationNotice);
|
|
97
|
+
export { ConsentRevocationNotice };
|
|
98
|
+
//# sourceMappingURL=consent-revocation-notice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent-revocation-notice.js","sourceRoot":"","sources":["../../src/components/consent-revocation-notice.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG9D,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAU;IAAhD;;QACuB,mBAAc,GAAG,4BAA4B,CAAC;QAC9C,YAAO,GAAG,WAAW,CAAC;QACtB,mBAAc,GAAG,EAAE,CAAC;IAkElD,CAAC;IA9BU,MAAM;QACb,MAAM,MAAM,GAAG,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAAE;YACxE,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,GAAG,EAAE,IAAI,CAAC,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,WAAW,CAC5B,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAC7C,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,CAC9B,CAAC;QAEF,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;gBAeC,MAAM;gBACN,UAAU;;KAErB,CAAC;IACJ,CAAC;;AA/De,8BAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgC3B,AAhCqB,CAgCpB;AApC0B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+DAA+C;AAC9C;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDAAuB;AACtB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+DAAqB;AAHrC,uBAAuB;IADnC,aAAa,CAAC,2BAA2B,CAAC;GAC9B,uBAAuB,CAqEnC"}
|
|
@@ -15,5 +15,12 @@ export { ConsentTerms } from './consent-terms.js';
|
|
|
15
15
|
export { ConsentOAuthButton, type OAuthProvider, } from './consent-oauth-button.js';
|
|
16
16
|
export { ConsentOTPInput } from './consent-otp-input.js';
|
|
17
17
|
export { McpConsent, type OAuthIdentity, type ConsentApproveDetail, type ConsentErrorDetail, } from './mcp-consent.js';
|
|
18
|
+
export { ConsentAgentHeader } from './consent-agent-header.js';
|
|
19
|
+
export { ConsentCapabilityCard, type CapabilityToggleDetail, } from './consent-capability-card.js';
|
|
20
|
+
export { ConsentActionBar } from './consent-action-bar.js';
|
|
21
|
+
export { ConsentFooter } from './consent-footer.js';
|
|
22
|
+
export { ConsentRevocationNotice } from './consent-revocation-notice.js';
|
|
23
|
+
export { ConsentConnectorHeader } from './consent-connector-header.js';
|
|
24
|
+
export { ConsentCapabilitiesScreen, type CapabilitiesApproveDetail, } from './consent-capabilities-screen.js';
|
|
18
25
|
export { html, css } from 'lit';
|
|
19
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EACL,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EACL,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC"}
|
package/dist/components/index.js
CHANGED
|
@@ -18,6 +18,14 @@ export { ConsentOAuthButton, } from './consent-oauth-button.js';
|
|
|
18
18
|
export { ConsentOTPInput } from './consent-otp-input.js';
|
|
19
19
|
// Composite Component (Full Consent Flow)
|
|
20
20
|
export { McpConsent, } from './mcp-consent.js';
|
|
21
|
+
// New design-language components (consent + future-migrated gateway)
|
|
22
|
+
export { ConsentAgentHeader } from './consent-agent-header.js';
|
|
23
|
+
export { ConsentCapabilityCard, } from './consent-capability-card.js';
|
|
24
|
+
export { ConsentActionBar } from './consent-action-bar.js';
|
|
25
|
+
export { ConsentFooter } from './consent-footer.js';
|
|
26
|
+
export { ConsentRevocationNotice } from './consent-revocation-notice.js';
|
|
27
|
+
export { ConsentConnectorHeader } from './consent-connector-header.js';
|
|
28
|
+
export { ConsentCapabilitiesScreen, } from './consent-capabilities-screen.js';
|
|
21
29
|
// Re-export Lit utilities that consumers might need
|
|
22
30
|
export { html, css } from 'lit';
|
|
23
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oEAAoE;AACpE,OAAO,EAAE,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,sBAAsB;AACtB,OAAO,EACL,kBAAkB,GAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,0CAA0C;AAC1C,OAAO,EACL,UAAU,GAIX,MAAM,kBAAkB,CAAC;AAE1B,oDAAoD;AACpD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oEAAoE;AACpE,OAAO,EAAE,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,sBAAsB;AACtB,OAAO,EACL,kBAAkB,GAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,0CAA0C;AAC1C,OAAO,EACL,UAAU,GAIX,MAAM,kBAAkB,CAAC;AAE1B,qEAAqE;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,qBAAqB,GAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EACL,yBAAyB,GAE1B,MAAM,kCAAkC,CAAC;AAE1C,oDAAoD;AACpD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC"}
|
|
@@ -17,6 +17,8 @@ import "./consent-permissions.js";
|
|
|
17
17
|
import "./consent-terms.js";
|
|
18
18
|
import "./consent-oauth-button.js";
|
|
19
19
|
import "./consent-otp-input.js";
|
|
20
|
+
import "./consent-capabilities-screen.js";
|
|
21
|
+
import type { AgentMetadata, CapabilityGroup, ConsentTheme, CedarTemplateContext } from "../types/capabilities.types.js";
|
|
20
22
|
/**
|
|
21
23
|
* OAuth Identity from callback
|
|
22
24
|
* NOTE: Must match OAuthIdentitySchema in api.schemas.ts
|
|
@@ -163,6 +165,35 @@ export declare class McpConsent extends LitElement {
|
|
|
163
165
|
* Example: https://github.com/login/oauth/authorize?client_id=...
|
|
164
166
|
*/
|
|
165
167
|
oauthUrl: string;
|
|
168
|
+
/**
|
|
169
|
+
* Operator-authored capability groups. When present and non-empty, the new
|
|
170
|
+
* humanized consent layout (`<consent-capabilities-screen>`) renders
|
|
171
|
+
* instead of the legacy raw scope list. Falls back to legacy when absent.
|
|
172
|
+
*/
|
|
173
|
+
capabilities: CapabilityGroup[];
|
|
174
|
+
/**
|
|
175
|
+
* Resolved agent identity tile (logo, vendor, surface, verified). Optional;
|
|
176
|
+
* when present, surfaced through `<consent-agent-header>`.
|
|
177
|
+
*/
|
|
178
|
+
agentMetadata?: AgentMetadata;
|
|
179
|
+
/** Org name shown in headline + revocation footer (e.g. "Hardware World"). */
|
|
180
|
+
orgName: string;
|
|
181
|
+
/** Operator-set headline verb. Defaults to `use`. */
|
|
182
|
+
headlineVerb: string;
|
|
183
|
+
/** Path the user can visit to revoke (footer notice). */
|
|
184
|
+
revocationPath: string;
|
|
185
|
+
/** Days of inactivity before auto-revocation (footer notice). Defaults to 90. */
|
|
186
|
+
inactivityDays: number;
|
|
187
|
+
/** Theme for the capabilities screen (`light` / `dark`). */
|
|
188
|
+
consentTheme: ConsentTheme;
|
|
189
|
+
/** Optional URL backing the "How does this work?" link in the footer. */
|
|
190
|
+
howItWorksUrl: string;
|
|
191
|
+
/**
|
|
192
|
+
* Cedar template context bound at render time so per-row "View policy"
|
|
193
|
+
* disclosures render the actual compiled fragment, not the operator-authored
|
|
194
|
+
* placeholder source.
|
|
195
|
+
*/
|
|
196
|
+
cedarContext?: CedarTemplateContext;
|
|
166
197
|
/**
|
|
167
198
|
* Authorization type from tool protection config
|
|
168
199
|
* Determines the provider_type sent in credential form submissions
|
|
@@ -192,6 +223,7 @@ export declare class McpConsent extends LitElement {
|
|
|
192
223
|
private formData;
|
|
193
224
|
private resendCooldown;
|
|
194
225
|
private selectedScopes;
|
|
226
|
+
private closeFailed;
|
|
195
227
|
/**
|
|
196
228
|
* Interval ID for resend cooldown timer
|
|
197
229
|
* Stored as class property for cleanup in disconnectedCallback
|
|
@@ -239,6 +271,7 @@ export declare class McpConsent extends LitElement {
|
|
|
239
271
|
*/
|
|
240
272
|
private handleApprove;
|
|
241
273
|
private handleDeny;
|
|
274
|
+
private handleClose;
|
|
242
275
|
private handleTermsChange;
|
|
243
276
|
private handleInputChange;
|
|
244
277
|
private handleResendOtp;
|
|
@@ -266,6 +299,14 @@ export declare class McpConsent extends LitElement {
|
|
|
266
299
|
private getAgentDisplayName;
|
|
267
300
|
private renderSuccess;
|
|
268
301
|
render(): TemplateResult;
|
|
302
|
+
/**
|
|
303
|
+
* Render the new humanized capability layout. Selection state is owned by
|
|
304
|
+
* `<consent-capabilities-screen>`; on `capabilities-allow`, we hydrate the
|
|
305
|
+
* legacy form-data path (selectedScopes, terms accepted) and reuse the
|
|
306
|
+
* existing handleApprove submission logic.
|
|
307
|
+
*/
|
|
308
|
+
private renderCapabilitiesScreen;
|
|
309
|
+
private onCapabilitiesAllow;
|
|
269
310
|
}
|
|
270
311
|
declare global {
|
|
271
312
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-consent.d.ts","sourceRoot":"","sources":["../../src/components/mcp-consent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAwB,cAAc,EAAW,MAAM,KAAK,CAAC;AAEhF,OAAO,KAAK,EACV,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,yBAAyB,CAAC;AAWtE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,0BAA0B,CAAC;AAClC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-consent.d.ts","sourceRoot":"","sources":["../../src/components/mcp-consent.ts"],"names":[],"mappings":"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"}
|