@kya-os/mcp-i-cloudflare 1.6.62 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +4 -2
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +121 -94
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +9 -95
- package/dist/app.js.map +1 -1
- package/dist/services/consent-config.service.d.ts +9 -3
- package/dist/services/consent-config.service.d.ts.map +1 -1
- package/dist/services/consent-config.service.js +90 -100
- package/dist/services/consent-config.service.js.map +1 -1
- package/dist/services/consent-page-renderer.d.ts.map +1 -1
- package/dist/services/consent-page-renderer.js +0 -5
- package/dist/services/consent-page-renderer.js.map +1 -1
- package/dist/services/consent-templates/base/base-template.d.ts +79 -0
- package/dist/services/consent-templates/base/base-template.d.ts.map +1 -0
- package/dist/services/consent-templates/base/base-template.js +283 -0
- package/dist/services/consent-templates/base/base-template.js.map +1 -0
- package/dist/services/consent-templates/base/components.d.ts +120 -0
- package/dist/services/consent-templates/base/components.d.ts.map +1 -0
- package/dist/services/consent-templates/base/components.js +278 -0
- package/dist/services/consent-templates/base/components.js.map +1 -0
- package/dist/services/consent-templates/base/escape.d.ts +53 -0
- package/dist/services/consent-templates/base/escape.d.ts.map +1 -0
- package/dist/services/consent-templates/base/escape.js +115 -0
- package/dist/services/consent-templates/base/escape.js.map +1 -0
- package/dist/services/consent-templates/base/index.d.ts +10 -0
- package/dist/services/consent-templates/base/index.d.ts.map +1 -0
- package/dist/services/consent-templates/base/index.js +10 -0
- package/dist/services/consent-templates/base/index.js.map +1 -0
- package/dist/services/consent-templates/base/styles.d.ts +80 -0
- package/dist/services/consent-templates/base/styles.d.ts.map +1 -0
- package/dist/services/consent-templates/base/styles.js +226 -0
- package/dist/services/consent-templates/base/styles.js.map +1 -0
- package/dist/services/consent-templates/helpers.d.ts +60 -0
- package/dist/services/consent-templates/helpers.d.ts.map +1 -0
- package/dist/services/consent-templates/helpers.js +121 -0
- package/dist/services/consent-templates/helpers.js.map +1 -0
- package/dist/services/consent-templates/index.d.ts +28 -0
- package/dist/services/consent-templates/index.d.ts.map +1 -0
- package/dist/services/consent-templates/index.js +36 -0
- package/dist/services/consent-templates/index.js.map +1 -0
- package/dist/services/consent-templates/modes/consent-only.template.d.ts +36 -0
- package/dist/services/consent-templates/modes/consent-only.template.d.ts.map +1 -0
- package/dist/services/consent-templates/modes/consent-only.template.js +69 -0
- package/dist/services/consent-templates/modes/consent-only.template.js.map +1 -0
- package/dist/services/consent-templates/modes/credentials.template.d.ts +59 -0
- package/dist/services/consent-templates/modes/credentials.template.d.ts.map +1 -0
- package/dist/services/consent-templates/modes/credentials.template.js +393 -0
- package/dist/services/consent-templates/modes/credentials.template.js.map +1 -0
- package/dist/services/consent-templates/modes/index.d.ts +13 -0
- package/dist/services/consent-templates/modes/index.d.ts.map +1 -0
- package/dist/services/consent-templates/modes/index.js +13 -0
- package/dist/services/consent-templates/modes/index.js.map +1 -0
- package/dist/services/consent-templates/modes/magic-link.template.d.ts +33 -0
- package/dist/services/consent-templates/modes/magic-link.template.d.ts.map +1 -0
- package/dist/services/consent-templates/modes/magic-link.template.js +191 -0
- package/dist/services/consent-templates/modes/magic-link.template.js.map +1 -0
- package/dist/services/consent-templates/modes/oauth.template.d.ts +40 -0
- package/dist/services/consent-templates/modes/oauth.template.d.ts.map +1 -0
- package/dist/services/consent-templates/modes/oauth.template.js +151 -0
- package/dist/services/consent-templates/modes/oauth.template.js.map +1 -0
- package/dist/services/consent-templates/modes/otp.template.d.ts +35 -0
- package/dist/services/consent-templates/modes/otp.template.d.ts.map +1 -0
- package/dist/services/consent-templates/modes/otp.template.js +311 -0
- package/dist/services/consent-templates/modes/otp.template.js.map +1 -0
- package/dist/services/consent-templates/registry.d.ts +61 -0
- package/dist/services/consent-templates/registry.d.ts.map +1 -0
- package/dist/services/consent-templates/registry.js +136 -0
- package/dist/services/consent-templates/registry.js.map +1 -0
- package/dist/services/consent-templates/template-renderer.d.ts +118 -0
- package/dist/services/consent-templates/template-renderer.d.ts.map +1 -0
- package/dist/services/consent-templates/template-renderer.js +334 -0
- package/dist/services/consent-templates/template-renderer.js.map +1 -0
- package/dist/services/consent-templates/types.d.ts +194 -0
- package/dist/services/consent-templates/types.d.ts.map +1 -0
- package/dist/services/consent-templates/types.js +23 -0
- package/dist/services/consent-templates/types.js.map +1 -0
- package/dist/services/consent.service.d.ts +9 -0
- package/dist/services/consent.service.d.ts.map +1 -1
- package/dist/services/consent.service.js +50 -6
- package/dist/services/consent.service.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template-Based Consent Page Renderer
|
|
3
|
+
*
|
|
4
|
+
* Adapter that provides the same interface as ConsentPageRenderer
|
|
5
|
+
* but uses the new modular template system internally.
|
|
6
|
+
*
|
|
7
|
+
* Now supports CSR (Client-Side Rendering) mode using @kya-os/consent
|
|
8
|
+
* Lit Web Components for pixel-perfect AgentShield parity.
|
|
9
|
+
*
|
|
10
|
+
* @module consent-templates/template-renderer
|
|
11
|
+
*/
|
|
12
|
+
import { renderConsentPage, renderOAuthConsentPage, detectAuthMode, } from "./registry";
|
|
13
|
+
import { generateConsentShell, } from "@kya-os/consent";
|
|
14
|
+
/**
|
|
15
|
+
* Default bundle path for consent.js
|
|
16
|
+
* Can be overridden per-render or via constructor
|
|
17
|
+
*/
|
|
18
|
+
const DEFAULT_BUNDLE_PATH = "/consent.js";
|
|
19
|
+
/**
|
|
20
|
+
* Template-based consent page renderer.
|
|
21
|
+
*
|
|
22
|
+
* Drop-in replacement for ConsentPageRenderer that uses the new
|
|
23
|
+
* modular template system with pixel-perfect AgentShield parity.
|
|
24
|
+
*
|
|
25
|
+
* Supports two rendering modes:
|
|
26
|
+
* - SSR (Server-Side Rendering) - Default, renders full HTML on server
|
|
27
|
+
* - CSR (Client-Side Rendering) - Serves HTML shell, Lit renders in browser
|
|
28
|
+
*/
|
|
29
|
+
export class TemplateRenderer {
|
|
30
|
+
useCSR;
|
|
31
|
+
bundlePath;
|
|
32
|
+
constructor(options) {
|
|
33
|
+
this.useCSR = options?.useCSR ?? false;
|
|
34
|
+
this.bundlePath = options?.bundlePath ?? DEFAULT_BUNDLE_PATH;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Render consent page HTML.
|
|
38
|
+
*
|
|
39
|
+
* If CSR mode is enabled, generates a minimal HTML shell that loads
|
|
40
|
+
* the @kya-os/consent Lit components. Otherwise, uses SSR templates.
|
|
41
|
+
*
|
|
42
|
+
* @param config - Consent page configuration
|
|
43
|
+
* @param oauthIdentity - Optional OAuth identity from cookie
|
|
44
|
+
* @returns HTML string
|
|
45
|
+
*/
|
|
46
|
+
render(config, oauthIdentity) {
|
|
47
|
+
// CSR mode: Generate minimal HTML shell
|
|
48
|
+
if (this.useCSR) {
|
|
49
|
+
return this.renderCSR(config, oauthIdentity);
|
|
50
|
+
}
|
|
51
|
+
// SSR mode: Use template system (existing behavior)
|
|
52
|
+
// Convert ConsentPageConfig to ExtendedConsentPageConfig
|
|
53
|
+
const extendedConfig = this.buildExtendedConfig(config);
|
|
54
|
+
// Build remote config from pageConfig's branding/terms
|
|
55
|
+
const remoteConfig = this.buildRemoteConfig(config);
|
|
56
|
+
// Detect auth mode and add OAuth identity context
|
|
57
|
+
let authMode = detectAuthMode(extendedConfig);
|
|
58
|
+
// If OAuth is required, render the OAuth consent page directly
|
|
59
|
+
if (config.oauthRequired && config.oauthUrl) {
|
|
60
|
+
return renderOAuthConsentPage(extendedConfig, config.oauthUrl, remoteConfig);
|
|
61
|
+
}
|
|
62
|
+
// For OAuth identity case without oauthRequired, show consent-only with identity info
|
|
63
|
+
if (oauthIdentity && !config.oauthRequired) {
|
|
64
|
+
// User already authenticated via OAuth, show consent-only mode
|
|
65
|
+
authMode = "consent-only";
|
|
66
|
+
// Include OAuth identity in config so it gets added to form
|
|
67
|
+
extendedConfig.oauthIdentity = oauthIdentity;
|
|
68
|
+
}
|
|
69
|
+
return renderConsentPage(extendedConfig, remoteConfig, authMode);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Render consent page using Client-Side Rendering (CSR).
|
|
73
|
+
*
|
|
74
|
+
* Generates a minimal HTML shell that:
|
|
75
|
+
* 1. Loads the bundled consent.js from @kya-os/consent
|
|
76
|
+
* 2. Renders the <mcp-consent> Lit Web Component
|
|
77
|
+
* 3. Provides a loading skeleton while JS loads
|
|
78
|
+
* 4. Falls back to basic form for no-JS users
|
|
79
|
+
*
|
|
80
|
+
* @param config - Consent page configuration
|
|
81
|
+
* @param oauthIdentity - Optional OAuth identity from cookie
|
|
82
|
+
* @returns HTML string
|
|
83
|
+
*/
|
|
84
|
+
renderCSR(config, oauthIdentity) {
|
|
85
|
+
// Build the ConsentConfig for the shell
|
|
86
|
+
const consentConfig = {
|
|
87
|
+
branding: config.branding,
|
|
88
|
+
terms: config.terms,
|
|
89
|
+
customFields: config.customFields,
|
|
90
|
+
// Map UI config if available
|
|
91
|
+
ui: config.ui,
|
|
92
|
+
// Map credentials config if available
|
|
93
|
+
credentials: config.credentials,
|
|
94
|
+
// Map other mode configs
|
|
95
|
+
oauth: config.oauthRequired
|
|
96
|
+
? {
|
|
97
|
+
providerName: config.provider,
|
|
98
|
+
buttonText: `Continue with ${config.provider || "OAuth"}`,
|
|
99
|
+
}
|
|
100
|
+
: undefined,
|
|
101
|
+
};
|
|
102
|
+
// Build shell options
|
|
103
|
+
const shellOptions = {
|
|
104
|
+
config: consentConfig,
|
|
105
|
+
tool: config.tool,
|
|
106
|
+
scopes: config.scopes,
|
|
107
|
+
agentDid: config.agentDid,
|
|
108
|
+
sessionId: config.sessionId,
|
|
109
|
+
projectId: config.projectId,
|
|
110
|
+
serverUrl: config.serverUrl,
|
|
111
|
+
oauthIdentity,
|
|
112
|
+
bundlePath: this.bundlePath,
|
|
113
|
+
pageTitle: consentConfig.ui?.title || "Permission Request",
|
|
114
|
+
};
|
|
115
|
+
return generateConsentShell(shellOptions);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Render credential login page.
|
|
119
|
+
*
|
|
120
|
+
* @param config - Consent page configuration
|
|
121
|
+
* @param credentialConfig - Credential provider configuration
|
|
122
|
+
* @param provider - Provider name
|
|
123
|
+
* @param csrfToken - CSRF token for form security
|
|
124
|
+
* @returns HTML string
|
|
125
|
+
*/
|
|
126
|
+
renderCredentialPage(config, credentialConfig, provider, csrfToken) {
|
|
127
|
+
// CSR mode: Generate minimal HTML shell with credentials mode
|
|
128
|
+
if (this.useCSR) {
|
|
129
|
+
return this.renderCredentialPageCSR(config, credentialConfig, provider);
|
|
130
|
+
}
|
|
131
|
+
// SSR mode: Build extended config with credentials mode
|
|
132
|
+
const extendedConfig = this.buildExtendedConfig(config);
|
|
133
|
+
extendedConfig.provider = provider;
|
|
134
|
+
// Cast to any to access optional credential provider properties
|
|
135
|
+
const cpc = credentialConfig;
|
|
136
|
+
extendedConfig.modeConfig = {
|
|
137
|
+
credentials: {
|
|
138
|
+
usernameLabel: cpc.usernameLabel || "Username",
|
|
139
|
+
usernamePlaceholder: cpc.usernamePlaceholder || "Enter your username",
|
|
140
|
+
passwordLabel: cpc.passwordLabel || "Password",
|
|
141
|
+
passwordPlaceholder: cpc.passwordPlaceholder || "Enter your password",
|
|
142
|
+
showRememberMe: cpc.showRememberMe ?? true,
|
|
143
|
+
showForgotPassword: cpc.showForgotPassword ?? false,
|
|
144
|
+
forgotPasswordUrl: cpc.forgotPasswordUrl,
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
const remoteConfig = this.buildRemoteConfig(config);
|
|
148
|
+
return renderConsentPage(extendedConfig, remoteConfig, "credentials");
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Render credential login page using CSR (Client-Side Rendering).
|
|
152
|
+
*
|
|
153
|
+
* @param config - Consent page configuration
|
|
154
|
+
* @param credentialConfig - Credential provider configuration
|
|
155
|
+
* @param provider - Provider name
|
|
156
|
+
* @returns HTML string
|
|
157
|
+
*/
|
|
158
|
+
renderCredentialPageCSR(config, credentialConfig, provider) {
|
|
159
|
+
// Cast to any to access optional credential provider properties
|
|
160
|
+
const cpc = credentialConfig;
|
|
161
|
+
// Build the ConsentConfig for the shell with credentials config
|
|
162
|
+
const consentConfig = {
|
|
163
|
+
branding: config.branding,
|
|
164
|
+
terms: config.terms,
|
|
165
|
+
customFields: config.customFields,
|
|
166
|
+
ui: config.ui,
|
|
167
|
+
// Include credentials config for the Lit component
|
|
168
|
+
credentials: {
|
|
169
|
+
usernameLabel: cpc.usernameLabel || "Username",
|
|
170
|
+
usernamePlaceholder: cpc.usernamePlaceholder || "Enter your username",
|
|
171
|
+
passwordLabel: cpc.passwordLabel || "Password",
|
|
172
|
+
passwordPlaceholder: cpc.passwordPlaceholder || "Enter your password",
|
|
173
|
+
showRememberMe: cpc.showRememberMe ?? true,
|
|
174
|
+
showForgotPassword: cpc.showForgotPassword ?? false,
|
|
175
|
+
forgotPasswordUrl: cpc.forgotPasswordUrl,
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
// Build shell options with credentials mode
|
|
179
|
+
const shellOptions = {
|
|
180
|
+
config: consentConfig,
|
|
181
|
+
tool: config.tool,
|
|
182
|
+
scopes: config.scopes,
|
|
183
|
+
agentDid: config.agentDid,
|
|
184
|
+
sessionId: config.sessionId,
|
|
185
|
+
projectId: config.projectId,
|
|
186
|
+
serverUrl: config.serverUrl,
|
|
187
|
+
bundlePath: this.bundlePath,
|
|
188
|
+
pageTitle: consentConfig.ui?.title || "Permission Request",
|
|
189
|
+
// Force credentials mode
|
|
190
|
+
authMode: "credentials",
|
|
191
|
+
provider: provider,
|
|
192
|
+
};
|
|
193
|
+
return generateConsentShell(shellOptions);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Render success page after consent approval.
|
|
197
|
+
* (Legacy signature for backward compatibility)
|
|
198
|
+
*
|
|
199
|
+
* @param options - Success page options
|
|
200
|
+
* @returns HTML string
|
|
201
|
+
*/
|
|
202
|
+
renderSuccess(options) {
|
|
203
|
+
return this.renderSuccessPage(options.delegationId, "", options.autoClose);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Render success page after consent approval.
|
|
207
|
+
*
|
|
208
|
+
* @param delegationId - The created delegation ID
|
|
209
|
+
* @param projectId - Project ID
|
|
210
|
+
* @param autoClose - Whether to auto-close the window
|
|
211
|
+
* @returns HTML string
|
|
212
|
+
*/
|
|
213
|
+
renderSuccessPage(delegationId, projectId, autoClose) {
|
|
214
|
+
// Import styles and components
|
|
215
|
+
// Using dynamic imports to avoid circular dependencies
|
|
216
|
+
const escapeHtmlChars = (text) => {
|
|
217
|
+
const entities = {
|
|
218
|
+
"&": "&",
|
|
219
|
+
"<": "<",
|
|
220
|
+
">": ">",
|
|
221
|
+
'"': """,
|
|
222
|
+
"'": "'",
|
|
223
|
+
};
|
|
224
|
+
return text.replace(/[&<>"']/g, (char) => entities[char] || char);
|
|
225
|
+
};
|
|
226
|
+
const autoCloseScript = autoClose
|
|
227
|
+
? `<script>setTimeout(() => window.close(), 2000);</script>`
|
|
228
|
+
: "";
|
|
229
|
+
return `<!DOCTYPE html>
|
|
230
|
+
<html lang="en">
|
|
231
|
+
<head>
|
|
232
|
+
<meta charset="UTF-8">
|
|
233
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
234
|
+
<title>Authorization Successful</title>
|
|
235
|
+
<script src="https://cdn.tailwindcss.com"></script>
|
|
236
|
+
<style>
|
|
237
|
+
:root {
|
|
238
|
+
--consent-primary: #2563EB;
|
|
239
|
+
}
|
|
240
|
+
.btn-primary {
|
|
241
|
+
background-color: var(--consent-primary);
|
|
242
|
+
color: white;
|
|
243
|
+
}
|
|
244
|
+
</style>
|
|
245
|
+
</head>
|
|
246
|
+
<body class="bg-gray-50 min-h-screen flex items-center justify-center p-4">
|
|
247
|
+
<div class="bg-white rounded-[20px] border border-black/10 shadow-xl overflow-hidden max-w-md w-full p-8 text-center">
|
|
248
|
+
<svg class="mx-auto h-12 w-12 text-green-500 mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
|
249
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
|
|
250
|
+
</svg>
|
|
251
|
+
<h1 class="text-2xl font-bold text-gray-900 mb-2">Authorization Successful</h1>
|
|
252
|
+
<p class="text-gray-600 mb-4">You have successfully authorized the agent.</p>
|
|
253
|
+
<p class="text-sm text-gray-500">Delegation ID: <code class="bg-gray-100 px-2 py-1 rounded text-xs">${escapeHtmlChars(delegationId)}</code></p>
|
|
254
|
+
<div class="mt-6">
|
|
255
|
+
<button onclick="window.close()" class="btn-primary px-6 py-2 rounded-lg font-medium">
|
|
256
|
+
Close Window
|
|
257
|
+
</button>
|
|
258
|
+
</div>
|
|
259
|
+
</div>
|
|
260
|
+
${autoCloseScript}
|
|
261
|
+
</body>
|
|
262
|
+
</html>`;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Build ExtendedConsentPageConfig from ConsentPageConfig.
|
|
266
|
+
*/
|
|
267
|
+
buildExtendedConfig(config) {
|
|
268
|
+
return {
|
|
269
|
+
tool: config.tool,
|
|
270
|
+
toolDescription: config.toolDescription,
|
|
271
|
+
scopes: config.scopes,
|
|
272
|
+
agentDid: config.agentDid,
|
|
273
|
+
sessionId: config.sessionId,
|
|
274
|
+
projectId: config.projectId,
|
|
275
|
+
serverUrl: config.serverUrl,
|
|
276
|
+
provider: config.provider,
|
|
277
|
+
oauthUrl: config.oauthUrl,
|
|
278
|
+
oauthRequired: config.oauthRequired,
|
|
279
|
+
expirationDays: 30, // Default, could be pulled from config
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Build ConsentConfigWithMeta from page config's branding/terms/ui.
|
|
284
|
+
*/
|
|
285
|
+
buildRemoteConfig(config) {
|
|
286
|
+
// Cast to any to access optional fields that may come from AgentShield
|
|
287
|
+
const extendedConfig = config;
|
|
288
|
+
const branding = config.branding;
|
|
289
|
+
return {
|
|
290
|
+
branding: config.branding
|
|
291
|
+
? {
|
|
292
|
+
primaryColor: config.branding.primaryColor,
|
|
293
|
+
secondaryColor: branding?.secondaryColor,
|
|
294
|
+
logoUrl: config.branding.logoUrl,
|
|
295
|
+
companyName: config.branding.companyName,
|
|
296
|
+
}
|
|
297
|
+
: undefined,
|
|
298
|
+
terms: config.terms
|
|
299
|
+
? {
|
|
300
|
+
text: config.terms.text,
|
|
301
|
+
url: config.terms.url,
|
|
302
|
+
required: config.terms.required,
|
|
303
|
+
}
|
|
304
|
+
: undefined,
|
|
305
|
+
customFields: config.customFields,
|
|
306
|
+
// Map UI config for title, description, button text, etc.
|
|
307
|
+
ui: extendedConfig.ui
|
|
308
|
+
? {
|
|
309
|
+
title: extendedConfig.ui.title,
|
|
310
|
+
description: extendedConfig.ui.description,
|
|
311
|
+
expirationText: extendedConfig.ui.expirationText,
|
|
312
|
+
cancelButtonText: extendedConfig.ui.cancelButtonText,
|
|
313
|
+
submitButtonText: extendedConfig.ui.submitButtonText,
|
|
314
|
+
permissionsHeader: extendedConfig.ui.permissionsHeader,
|
|
315
|
+
}
|
|
316
|
+
: undefined,
|
|
317
|
+
// Map credentials config
|
|
318
|
+
credentials: extendedConfig.credentials,
|
|
319
|
+
// Map expiration days
|
|
320
|
+
expirationDays: extendedConfig.expirationDays,
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Factory function for creating a template renderer.
|
|
326
|
+
*
|
|
327
|
+
* @param options - Optional configuration for CSR mode
|
|
328
|
+
* @param options.useCSR - Enable Client-Side Rendering (default: false)
|
|
329
|
+
* @param options.bundlePath - Path to consent.js bundle (default: '/consent.js')
|
|
330
|
+
*/
|
|
331
|
+
export function createTemplateRenderer(options) {
|
|
332
|
+
return new TemplateRenderer(options);
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=template-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-renderer.js","sourceRoot":"","sources":["../../../src/services/consent-templates/template-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent Template Types
|
|
3
|
+
*
|
|
4
|
+
* Shared type definitions for the consent template system.
|
|
5
|
+
* Aligned with AgentShield's consent configuration types.
|
|
6
|
+
*
|
|
7
|
+
* @module consent-templates/types
|
|
8
|
+
*/
|
|
9
|
+
export type { ConsentPageConfig, ConsentBranding, ConsentTerms, ConsentCustomField, OAuthIdentity, } from "@kya-os/contracts/consent";
|
|
10
|
+
/**
|
|
11
|
+
* Supported authentication modes.
|
|
12
|
+
* Matches AgentShield's AUTH_MODES constant.
|
|
13
|
+
*/
|
|
14
|
+
export declare const AUTH_MODES: {
|
|
15
|
+
readonly CONSENT_ONLY: "consent-only";
|
|
16
|
+
readonly CREDENTIALS: "credentials";
|
|
17
|
+
readonly OAUTH: "oauth";
|
|
18
|
+
readonly MAGIC_LINK: "magic-link";
|
|
19
|
+
readonly OTP: "otp";
|
|
20
|
+
};
|
|
21
|
+
export type AuthMode = (typeof AUTH_MODES)[keyof typeof AUTH_MODES];
|
|
22
|
+
/**
|
|
23
|
+
* Resolved copy values ready for rendering.
|
|
24
|
+
* Matches AgentShield's ResolvedConsentCopy.
|
|
25
|
+
*/
|
|
26
|
+
export interface ResolvedConsentCopy {
|
|
27
|
+
/** Page title */
|
|
28
|
+
title: string;
|
|
29
|
+
/** Raw description (may contain [AI Agent] placeholder) */
|
|
30
|
+
description: string;
|
|
31
|
+
/** Resolved description with agent name substituted */
|
|
32
|
+
resolvedDescription: string;
|
|
33
|
+
/** Expiration notice text */
|
|
34
|
+
expirationText: string;
|
|
35
|
+
/** Cancel button label */
|
|
36
|
+
cancelButtonText: string;
|
|
37
|
+
/** Submit/approve button label */
|
|
38
|
+
submitButtonText: string;
|
|
39
|
+
/** Permissions section header */
|
|
40
|
+
permissionsHeader: string;
|
|
41
|
+
/** Terms text */
|
|
42
|
+
termsText: string;
|
|
43
|
+
/** Terms URL (optional) */
|
|
44
|
+
termsUrl?: string;
|
|
45
|
+
/** Whether terms acceptance is required */
|
|
46
|
+
termsRequired: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Resolved branding values ready for CSS.
|
|
50
|
+
* Matches AgentShield's ResolvedConsentBranding.
|
|
51
|
+
*/
|
|
52
|
+
export interface ResolvedConsentBranding {
|
|
53
|
+
/** Primary brand color (hex) */
|
|
54
|
+
primaryColor: string;
|
|
55
|
+
/** Secondary/accent color (hex) */
|
|
56
|
+
secondaryColor: string;
|
|
57
|
+
/** Logo URL if provided */
|
|
58
|
+
logoUrl?: string;
|
|
59
|
+
/** Company name if provided */
|
|
60
|
+
companyName?: string;
|
|
61
|
+
/** CSS variables object for style injection */
|
|
62
|
+
cssVars: {
|
|
63
|
+
"--consent-primary": string;
|
|
64
|
+
"--consent-secondary": string;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Full resolved config for rendering.
|
|
69
|
+
*/
|
|
70
|
+
export interface ResolvedConsentConfig {
|
|
71
|
+
copy: ResolvedConsentCopy;
|
|
72
|
+
branding: ResolvedConsentBranding;
|
|
73
|
+
customFields: import("@kya-os/contracts/consent").ConsentCustomField[];
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Credentials mode configuration.
|
|
77
|
+
*/
|
|
78
|
+
export interface CredentialsConfig {
|
|
79
|
+
usernameLabel?: string;
|
|
80
|
+
usernamePlaceholder?: string;
|
|
81
|
+
passwordLabel?: string;
|
|
82
|
+
passwordPlaceholder?: string;
|
|
83
|
+
showRememberMe?: boolean;
|
|
84
|
+
showForgotPassword?: boolean;
|
|
85
|
+
forgotPasswordUrl?: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* OAuth mode configuration.
|
|
89
|
+
*/
|
|
90
|
+
export interface OAuthConfig {
|
|
91
|
+
providerId?: string;
|
|
92
|
+
providerName?: string;
|
|
93
|
+
buttonText?: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Magic Link mode configuration.
|
|
97
|
+
*/
|
|
98
|
+
export interface MagicLinkConfig {
|
|
99
|
+
enabled?: boolean;
|
|
100
|
+
emailLabel?: string;
|
|
101
|
+
emailPlaceholder?: string;
|
|
102
|
+
buttonText?: string;
|
|
103
|
+
resendCooldown?: number;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* OTP mode configuration.
|
|
107
|
+
*/
|
|
108
|
+
export interface OTPConfig {
|
|
109
|
+
enabled?: boolean;
|
|
110
|
+
phoneLabel?: string;
|
|
111
|
+
phonePlaceholder?: string;
|
|
112
|
+
instructions?: string;
|
|
113
|
+
digits?: number;
|
|
114
|
+
resendCooldown?: number;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Combined mode configurations.
|
|
118
|
+
*/
|
|
119
|
+
export interface ModeConfig {
|
|
120
|
+
credentials?: CredentialsConfig;
|
|
121
|
+
oauth?: OAuthConfig;
|
|
122
|
+
magicLink?: MagicLinkConfig;
|
|
123
|
+
otp?: OTPConfig;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Extended consent page config with mode-specific settings.
|
|
127
|
+
*/
|
|
128
|
+
export interface ExtendedConsentPageConfig {
|
|
129
|
+
/** Tool name */
|
|
130
|
+
tool: string;
|
|
131
|
+
/** Tool description */
|
|
132
|
+
toolDescription: string;
|
|
133
|
+
/** Requested scopes */
|
|
134
|
+
scopes: string[];
|
|
135
|
+
/** Agent DID */
|
|
136
|
+
agentDid: string;
|
|
137
|
+
/** Session ID */
|
|
138
|
+
sessionId: string;
|
|
139
|
+
/** Project ID */
|
|
140
|
+
projectId: string;
|
|
141
|
+
/** Server URL */
|
|
142
|
+
serverUrl: string;
|
|
143
|
+
/** OAuth/auth provider */
|
|
144
|
+
provider?: string;
|
|
145
|
+
/** Expiration days for delegation */
|
|
146
|
+
expirationDays?: number;
|
|
147
|
+
/** Mode-specific configurations */
|
|
148
|
+
modeConfig?: ModeConfig;
|
|
149
|
+
/** OAuth URL for redirect (set by OAuth template) */
|
|
150
|
+
oauthUrl?: string;
|
|
151
|
+
/** Whether OAuth is required */
|
|
152
|
+
oauthRequired?: boolean;
|
|
153
|
+
/** OAuth identity from previous authentication (included in form for approval) */
|
|
154
|
+
oauthIdentity?: import("@kya-os/contracts/consent").OAuthIdentity;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Remote consent config with metadata.
|
|
158
|
+
*/
|
|
159
|
+
export interface ConsentConfigWithMeta {
|
|
160
|
+
branding?: {
|
|
161
|
+
primaryColor?: string;
|
|
162
|
+
secondaryColor?: string;
|
|
163
|
+
logoUrl?: string;
|
|
164
|
+
companyName?: string;
|
|
165
|
+
};
|
|
166
|
+
ui?: {
|
|
167
|
+
title?: string;
|
|
168
|
+
description?: string;
|
|
169
|
+
expirationText?: string;
|
|
170
|
+
cancelButtonText?: string;
|
|
171
|
+
submitButtonText?: string;
|
|
172
|
+
permissionsHeader?: string;
|
|
173
|
+
autoClose?: boolean;
|
|
174
|
+
popupEnabled?: boolean;
|
|
175
|
+
theme?: "light" | "dark" | "auto";
|
|
176
|
+
};
|
|
177
|
+
terms?: {
|
|
178
|
+
text?: string;
|
|
179
|
+
url?: string;
|
|
180
|
+
required?: boolean;
|
|
181
|
+
};
|
|
182
|
+
customFields?: import("@kya-os/contracts/consent").ConsentCustomField[];
|
|
183
|
+
credentials?: CredentialsConfig;
|
|
184
|
+
oauth?: OAuthConfig;
|
|
185
|
+
magicLink?: MagicLinkConfig;
|
|
186
|
+
otp?: OTPConfig;
|
|
187
|
+
expirationDays?: number;
|
|
188
|
+
metadata?: {
|
|
189
|
+
version?: number;
|
|
190
|
+
updatedAt?: string;
|
|
191
|
+
cacheVersion?: string;
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/consent-templates/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent Template Types
|
|
3
|
+
*
|
|
4
|
+
* Shared type definitions for the consent template system.
|
|
5
|
+
* Aligned with AgentShield's consent configuration types.
|
|
6
|
+
*
|
|
7
|
+
* @module consent-templates/types
|
|
8
|
+
*/
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Auth Modes
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Supported authentication modes.
|
|
14
|
+
* Matches AgentShield's AUTH_MODES constant.
|
|
15
|
+
*/
|
|
16
|
+
export const AUTH_MODES = {
|
|
17
|
+
CONSENT_ONLY: "consent-only",
|
|
18
|
+
CREDENTIALS: "credentials",
|
|
19
|
+
OAUTH: "oauth",
|
|
20
|
+
MAGIC_LINK: "magic-link",
|
|
21
|
+
OTP: "otp",
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/consent-templates/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,KAAK;CACF,CAAC"}
|
|
@@ -253,6 +253,15 @@ export declare class ConsentService {
|
|
|
253
253
|
* @returns Response
|
|
254
254
|
*/
|
|
255
255
|
handle(request: Request): Promise<Response>;
|
|
256
|
+
/**
|
|
257
|
+
* Serve the consent.js bundle for CSR mode
|
|
258
|
+
*
|
|
259
|
+
* Returns the bundled Lit Web Components as JavaScript that browsers
|
|
260
|
+
* can execute to render the <mcp-consent> element.
|
|
261
|
+
*
|
|
262
|
+
* @returns JavaScript response with aggressive caching
|
|
263
|
+
*/
|
|
264
|
+
private serveConsentBundle;
|
|
256
265
|
/**
|
|
257
266
|
* Render consent page
|
|
258
267
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent.service.d.ts","sourceRoot":"","sources":["../../src/services/consent.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAapD,OAAO,KAAK,EAIV,aAAa,EACd,MAAM,2BAA2B,CAAC;AAYnC,OAAO,EAaL,KAAK,WAAW,EAChB,KAAK,8BAA8B,EACpC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"consent.service.d.ts","sourceRoot":"","sources":["../../src/services/consent.service.ts"],"names":[],"mappings":"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"}
|