@kya-os/mcp-i-cloudflare 1.6.62 → 1.7.1

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.
Files changed (83) hide show
  1. package/dist/agent.d.ts +4 -2
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +121 -94
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +9 -95
  7. package/dist/app.js.map +1 -1
  8. package/dist/services/consent-config.service.d.ts +9 -3
  9. package/dist/services/consent-config.service.d.ts.map +1 -1
  10. package/dist/services/consent-config.service.js +90 -100
  11. package/dist/services/consent-config.service.js.map +1 -1
  12. package/dist/services/consent-page-renderer.d.ts.map +1 -1
  13. package/dist/services/consent-page-renderer.js +0 -5
  14. package/dist/services/consent-page-renderer.js.map +1 -1
  15. package/dist/services/consent-templates/base/base-template.d.ts +79 -0
  16. package/dist/services/consent-templates/base/base-template.d.ts.map +1 -0
  17. package/dist/services/consent-templates/base/base-template.js +283 -0
  18. package/dist/services/consent-templates/base/base-template.js.map +1 -0
  19. package/dist/services/consent-templates/base/components.d.ts +120 -0
  20. package/dist/services/consent-templates/base/components.d.ts.map +1 -0
  21. package/dist/services/consent-templates/base/components.js +278 -0
  22. package/dist/services/consent-templates/base/components.js.map +1 -0
  23. package/dist/services/consent-templates/base/escape.d.ts +53 -0
  24. package/dist/services/consent-templates/base/escape.d.ts.map +1 -0
  25. package/dist/services/consent-templates/base/escape.js +115 -0
  26. package/dist/services/consent-templates/base/escape.js.map +1 -0
  27. package/dist/services/consent-templates/base/index.d.ts +10 -0
  28. package/dist/services/consent-templates/base/index.d.ts.map +1 -0
  29. package/dist/services/consent-templates/base/index.js +10 -0
  30. package/dist/services/consent-templates/base/index.js.map +1 -0
  31. package/dist/services/consent-templates/base/styles.d.ts +80 -0
  32. package/dist/services/consent-templates/base/styles.d.ts.map +1 -0
  33. package/dist/services/consent-templates/base/styles.js +226 -0
  34. package/dist/services/consent-templates/base/styles.js.map +1 -0
  35. package/dist/services/consent-templates/helpers.d.ts +60 -0
  36. package/dist/services/consent-templates/helpers.d.ts.map +1 -0
  37. package/dist/services/consent-templates/helpers.js +121 -0
  38. package/dist/services/consent-templates/helpers.js.map +1 -0
  39. package/dist/services/consent-templates/index.d.ts +28 -0
  40. package/dist/services/consent-templates/index.d.ts.map +1 -0
  41. package/dist/services/consent-templates/index.js +36 -0
  42. package/dist/services/consent-templates/index.js.map +1 -0
  43. package/dist/services/consent-templates/modes/consent-only.template.d.ts +36 -0
  44. package/dist/services/consent-templates/modes/consent-only.template.d.ts.map +1 -0
  45. package/dist/services/consent-templates/modes/consent-only.template.js +69 -0
  46. package/dist/services/consent-templates/modes/consent-only.template.js.map +1 -0
  47. package/dist/services/consent-templates/modes/credentials.template.d.ts +59 -0
  48. package/dist/services/consent-templates/modes/credentials.template.d.ts.map +1 -0
  49. package/dist/services/consent-templates/modes/credentials.template.js +393 -0
  50. package/dist/services/consent-templates/modes/credentials.template.js.map +1 -0
  51. package/dist/services/consent-templates/modes/index.d.ts +13 -0
  52. package/dist/services/consent-templates/modes/index.d.ts.map +1 -0
  53. package/dist/services/consent-templates/modes/index.js +13 -0
  54. package/dist/services/consent-templates/modes/index.js.map +1 -0
  55. package/dist/services/consent-templates/modes/magic-link.template.d.ts +33 -0
  56. package/dist/services/consent-templates/modes/magic-link.template.d.ts.map +1 -0
  57. package/dist/services/consent-templates/modes/magic-link.template.js +191 -0
  58. package/dist/services/consent-templates/modes/magic-link.template.js.map +1 -0
  59. package/dist/services/consent-templates/modes/oauth.template.d.ts +40 -0
  60. package/dist/services/consent-templates/modes/oauth.template.d.ts.map +1 -0
  61. package/dist/services/consent-templates/modes/oauth.template.js +151 -0
  62. package/dist/services/consent-templates/modes/oauth.template.js.map +1 -0
  63. package/dist/services/consent-templates/modes/otp.template.d.ts +35 -0
  64. package/dist/services/consent-templates/modes/otp.template.d.ts.map +1 -0
  65. package/dist/services/consent-templates/modes/otp.template.js +311 -0
  66. package/dist/services/consent-templates/modes/otp.template.js.map +1 -0
  67. package/dist/services/consent-templates/registry.d.ts +61 -0
  68. package/dist/services/consent-templates/registry.d.ts.map +1 -0
  69. package/dist/services/consent-templates/registry.js +136 -0
  70. package/dist/services/consent-templates/registry.js.map +1 -0
  71. package/dist/services/consent-templates/template-renderer.d.ts +118 -0
  72. package/dist/services/consent-templates/template-renderer.d.ts.map +1 -0
  73. package/dist/services/consent-templates/template-renderer.js +334 -0
  74. package/dist/services/consent-templates/template-renderer.js.map +1 -0
  75. package/dist/services/consent-templates/types.d.ts +194 -0
  76. package/dist/services/consent-templates/types.d.ts.map +1 -0
  77. package/dist/services/consent-templates/types.js +23 -0
  78. package/dist/services/consent-templates/types.js.map +1 -0
  79. package/dist/services/consent.service.d.ts +9 -0
  80. package/dist/services/consent.service.d.ts.map +1 -1
  81. package/dist/services/consent.service.js +50 -6
  82. package/dist/services/consent.service.js.map +1 -1
  83. 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 ?? true;
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
+ "&": "&amp;",
219
+ "<": "&lt;",
220
+ ">": "&gt;",
221
+ '"': "&quot;",
222
+ "'": "&#039;",
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: true)
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":"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"}
1
+ {"version":3,"file":"consent.service.d.ts","sourceRoot":"","sources":["../../src/services/consent.service.ts"],"names":[],"mappings":"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"}