@kya-os/consent 0.1.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/constants/auth-modes.d.ts +54 -0
- package/dist/constants/auth-modes.d.ts.map +1 -0
- package/dist/constants/auth-modes.js +128 -0
- package/dist/constants/auth-modes.js.map +1 -0
- package/dist/constants/colors.d.ts +38 -0
- package/dist/constants/colors.d.ts.map +1 -0
- package/dist/constants/colors.js +40 -0
- package/dist/constants/colors.js.map +1 -0
- package/dist/constants/defaults.d.ts +112 -0
- package/dist/constants/defaults.d.ts.map +1 -0
- package/dist/constants/defaults.js +146 -0
- package/dist/constants/defaults.js.map +1 -0
- package/dist/constants/index.d.ts +11 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +37 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/resolution/index.d.ts +12 -0
- package/dist/resolution/index.d.ts.map +1 -0
- package/dist/resolution/index.js +28 -0
- package/dist/resolution/index.js.map +1 -0
- package/dist/resolution/resolve-branding.d.ts +70 -0
- package/dist/resolution/resolve-branding.d.ts.map +1 -0
- package/dist/resolution/resolve-branding.js +159 -0
- package/dist/resolution/resolve-branding.js.map +1 -0
- package/dist/resolution/resolve-config.d.ts +81 -0
- package/dist/resolution/resolve-config.d.ts.map +1 -0
- package/dist/resolution/resolve-config.js +254 -0
- package/dist/resolution/resolve-config.js.map +1 -0
- package/dist/resolution/resolve-copy.d.ts +53 -0
- package/dist/resolution/resolve-copy.d.ts.map +1 -0
- package/dist/resolution/resolve-copy.js +136 -0
- package/dist/resolution/resolve-copy.js.map +1 -0
- package/dist/schemas/api.schemas.d.ts +984 -0
- package/dist/schemas/api.schemas.d.ts.map +1 -0
- package/dist/schemas/api.schemas.js +153 -0
- package/dist/schemas/api.schemas.js.map +1 -0
- package/dist/schemas/branding.schemas.d.ts +100 -0
- package/dist/schemas/branding.schemas.d.ts.map +1 -0
- package/dist/schemas/branding.schemas.js +57 -0
- package/dist/schemas/branding.schemas.js.map +1 -0
- package/dist/schemas/config.schemas.d.ts +1182 -0
- package/dist/schemas/config.schemas.d.ts.map +1 -0
- package/dist/schemas/config.schemas.js +147 -0
- package/dist/schemas/config.schemas.js.map +1 -0
- package/dist/schemas/index.d.ts +13 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +29 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/modes.schemas.d.ts +406 -0
- package/dist/schemas/modes.schemas.d.ts.map +1 -0
- package/dist/schemas/modes.schemas.js +107 -0
- package/dist/schemas/modes.schemas.js.map +1 -0
- package/dist/security/escape.d.ts +114 -0
- package/dist/security/escape.d.ts.map +1 -0
- package/dist/security/escape.js +202 -0
- package/dist/security/escape.js.map +1 -0
- package/dist/security/index.d.ts +10 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +26 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/validators.d.ts +98 -0
- package/dist/security/validators.d.ts.map +1 -0
- package/dist/security/validators.js +210 -0
- package/dist/security/validators.js.map +1 -0
- package/dist/styles/css-variables.d.ts +78 -0
- package/dist/styles/css-variables.d.ts.map +1 -0
- package/dist/styles/css-variables.js +129 -0
- package/dist/styles/css-variables.js.map +1 -0
- package/dist/styles/index.d.ts +12 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/index.js +28 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/stylesheet.d.ts +57 -0
- package/dist/styles/stylesheet.d.ts.map +1 -0
- package/dist/styles/stylesheet.js +204 -0
- package/dist/styles/stylesheet.js.map +1 -0
- package/dist/styles/tokens.d.ts +141 -0
- package/dist/styles/tokens.d.ts.map +1 -0
- package/dist/styles/tokens.js +183 -0
- package/dist/styles/tokens.js.map +1 -0
- package/dist/templates/base/base-template.d.ts +81 -0
- package/dist/templates/base/base-template.d.ts.map +1 -0
- package/dist/templates/base/base-template.js +282 -0
- package/dist/templates/base/base-template.js.map +1 -0
- package/dist/templates/base/components.d.ts +120 -0
- package/dist/templates/base/components.d.ts.map +1 -0
- package/dist/templates/base/components.js +295 -0
- package/dist/templates/base/components.js.map +1 -0
- package/dist/templates/base/index.d.ts +8 -0
- package/dist/templates/base/index.d.ts.map +1 -0
- package/dist/templates/base/index.js +26 -0
- package/dist/templates/base/index.js.map +1 -0
- package/dist/templates/index.d.ts +18 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +34 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/modes/consent-only.template.d.ts +36 -0
- package/dist/templates/modes/consent-only.template.d.ts.map +1 -0
- package/dist/templates/modes/consent-only.template.js +74 -0
- package/dist/templates/modes/consent-only.template.js.map +1 -0
- package/dist/templates/modes/credentials.template.d.ts +65 -0
- package/dist/templates/modes/credentials.template.d.ts.map +1 -0
- package/dist/templates/modes/credentials.template.js +414 -0
- package/dist/templates/modes/credentials.template.js.map +1 -0
- package/dist/templates/modes/index.d.ts +14 -0
- package/dist/templates/modes/index.d.ts.map +1 -0
- package/dist/templates/modes/index.js +24 -0
- package/dist/templates/modes/index.js.map +1 -0
- package/dist/templates/modes/magic-link.template.d.ts +33 -0
- package/dist/templates/modes/magic-link.template.d.ts.map +1 -0
- package/dist/templates/modes/magic-link.template.js +196 -0
- package/dist/templates/modes/magic-link.template.js.map +1 -0
- package/dist/templates/modes/oauth.template.d.ts +40 -0
- package/dist/templates/modes/oauth.template.d.ts.map +1 -0
- package/dist/templates/modes/oauth.template.js +153 -0
- package/dist/templates/modes/oauth.template.js.map +1 -0
- package/dist/templates/modes/otp.template.d.ts +35 -0
- package/dist/templates/modes/otp.template.d.ts.map +1 -0
- package/dist/templates/modes/otp.template.js +316 -0
- package/dist/templates/modes/otp.template.js.map +1 -0
- package/dist/templates/modes/success.template.d.ts +41 -0
- package/dist/templates/modes/success.template.d.ts.map +1 -0
- package/dist/templates/modes/success.template.js +140 -0
- package/dist/templates/modes/success.template.js.map +1 -0
- package/dist/templates/registry.d.ts +62 -0
- package/dist/templates/registry.d.ts.map +1 -0
- package/dist/templates/registry.js +135 -0
- package/dist/templates/registry.js.map +1 -0
- package/dist/types/api.types.d.ts +134 -0
- package/dist/types/api.types.d.ts.map +1 -0
- package/dist/types/api.types.js +10 -0
- package/dist/types/api.types.js.map +1 -0
- package/dist/types/branding.types.d.ts +53 -0
- package/dist/types/branding.types.d.ts.map +1 -0
- package/dist/types/branding.types.js +10 -0
- package/dist/types/branding.types.js.map +1 -0
- package/dist/types/config.types.d.ts +201 -0
- package/dist/types/config.types.d.ts.map +1 -0
- package/dist/types/config.types.js +10 -0
- package/dist/types/config.types.js.map +1 -0
- package/dist/types/copy.types.d.ts +109 -0
- package/dist/types/copy.types.d.ts.map +1 -0
- package/dist/types/copy.types.js +10 -0
- package/dist/types/copy.types.js.map +1 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +31 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/modes.types.d.ts +197 -0
- package/dist/types/modes.types.d.ts.map +1 -0
- package/dist/types/modes.types.js +35 -0
- package/dist/types/modes.types.js.map +1 -0
- package/dist/types/page.types.d.ts +120 -0
- package/dist/types/page.types.d.ts.map +1 -0
- package/dist/types/page.types.js +10 -0
- package/dist/types/page.types.js.map +1 -0
- package/package.json +83 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Template Registry
|
|
4
|
+
*
|
|
5
|
+
* Central registry for consent page templates.
|
|
6
|
+
* Provides factory methods for creating templates by auth mode.
|
|
7
|
+
*
|
|
8
|
+
* @module @kya-os/consent/templates/registry
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.getTemplateForMode = getTemplateForMode;
|
|
12
|
+
exports.detectAuthMode = detectAuthMode;
|
|
13
|
+
exports.isValidAuthMode = isValidAuthMode;
|
|
14
|
+
exports.getRegisteredModes = getRegisteredModes;
|
|
15
|
+
exports.renderConsentPage = renderConsentPage;
|
|
16
|
+
exports.renderOAuthConsentPage = renderOAuthConsentPage;
|
|
17
|
+
const modes_1 = require("./modes");
|
|
18
|
+
const resolution_1 = require("../resolution");
|
|
19
|
+
const modes_types_1 = require("../types/modes.types");
|
|
20
|
+
/**
|
|
21
|
+
* Template registry mapping auth modes to their templates.
|
|
22
|
+
*/
|
|
23
|
+
const TEMPLATE_REGISTRY = {
|
|
24
|
+
[modes_types_1.AUTH_MODES.CONSENT_ONLY]: modes_1.ConsentOnlyTemplate,
|
|
25
|
+
[modes_types_1.AUTH_MODES.CREDENTIALS]: modes_1.CredentialsTemplate,
|
|
26
|
+
[modes_types_1.AUTH_MODES.OAUTH]: modes_1.OAuthTemplate,
|
|
27
|
+
[modes_types_1.AUTH_MODES.MAGIC_LINK]: modes_1.MagicLinkTemplate,
|
|
28
|
+
[modes_types_1.AUTH_MODES.OTP]: modes_1.OTPTemplate,
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Get a template instance for the specified auth mode.
|
|
32
|
+
*
|
|
33
|
+
* @param authMode - The authentication mode
|
|
34
|
+
* @param config - Extended page config with mode-specific settings
|
|
35
|
+
* @param remoteConfig - Remote consent configuration from AgentShield
|
|
36
|
+
* @returns Template instance ready to render
|
|
37
|
+
*/
|
|
38
|
+
function getTemplateForMode(authMode, config, remoteConfig) {
|
|
39
|
+
const TemplateClass = TEMPLATE_REGISTRY[authMode];
|
|
40
|
+
if (!TemplateClass) {
|
|
41
|
+
// Fallback to consent-only for unknown modes
|
|
42
|
+
console.warn(`Unknown auth mode: ${authMode}, falling back to consent-only`);
|
|
43
|
+
return getTemplateForMode(modes_types_1.AUTH_MODES.CONSENT_ONLY, config, remoteConfig);
|
|
44
|
+
}
|
|
45
|
+
// Resolve config values
|
|
46
|
+
const mergedRemoteConfig = remoteConfig || (0, resolution_1.getDefaultConsentConfig)();
|
|
47
|
+
const resolved = (0, resolution_1.resolveConsentConfig)(mergedRemoteConfig, config.tool);
|
|
48
|
+
// Special handling for credentials template to pass remote credentials config
|
|
49
|
+
if (authMode === modes_types_1.AUTH_MODES.CREDENTIALS) {
|
|
50
|
+
return new modes_1.CredentialsTemplate(config, resolved, mergedRemoteConfig.credentials);
|
|
51
|
+
}
|
|
52
|
+
return new TemplateClass(config, resolved);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Determine the auth mode from config.
|
|
56
|
+
*
|
|
57
|
+
* @param config - Page config with optional OAuth settings
|
|
58
|
+
* @returns Detected auth mode
|
|
59
|
+
*/
|
|
60
|
+
function detectAuthMode(config) {
|
|
61
|
+
// Check for OAuth requirement
|
|
62
|
+
if (config.oauthRequired || config.oauthUrl) {
|
|
63
|
+
return modes_types_1.AUTH_MODES.OAUTH;
|
|
64
|
+
}
|
|
65
|
+
// Check for provider hint
|
|
66
|
+
if (config.provider) {
|
|
67
|
+
const provider = config.provider.toLowerCase();
|
|
68
|
+
if (provider.includes("oauth") ||
|
|
69
|
+
["github", "google", "microsoft", "slack", "auth0"].includes(provider)) {
|
|
70
|
+
return modes_types_1.AUTH_MODES.OAUTH;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Check mode config
|
|
74
|
+
const modeConfig = config.modeConfig;
|
|
75
|
+
if (modeConfig) {
|
|
76
|
+
if (modeConfig.oauth)
|
|
77
|
+
return modes_types_1.AUTH_MODES.OAUTH;
|
|
78
|
+
if (modeConfig.credentials)
|
|
79
|
+
return modes_types_1.AUTH_MODES.CREDENTIALS;
|
|
80
|
+
if (modeConfig.magicLink?.enabled)
|
|
81
|
+
return modes_types_1.AUTH_MODES.MAGIC_LINK;
|
|
82
|
+
if (modeConfig.otp?.enabled)
|
|
83
|
+
return modes_types_1.AUTH_MODES.OTP;
|
|
84
|
+
}
|
|
85
|
+
// Default to consent-only
|
|
86
|
+
return modes_types_1.AUTH_MODES.CONSENT_ONLY;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Check if an auth mode is valid.
|
|
90
|
+
*
|
|
91
|
+
* @param mode - Mode string to check
|
|
92
|
+
* @returns True if valid auth mode
|
|
93
|
+
*/
|
|
94
|
+
function isValidAuthMode(mode) {
|
|
95
|
+
return Object.values(modes_types_1.AUTH_MODES).includes(mode);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get all registered auth modes.
|
|
99
|
+
*
|
|
100
|
+
* @returns Array of auth mode identifiers
|
|
101
|
+
*/
|
|
102
|
+
function getRegisteredModes() {
|
|
103
|
+
return Object.keys(TEMPLATE_REGISTRY);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Render a consent page for the given config.
|
|
107
|
+
*
|
|
108
|
+
* This is the main entry point for rendering consent pages.
|
|
109
|
+
*
|
|
110
|
+
* @param config - Extended page config
|
|
111
|
+
* @param remoteConfig - Remote consent configuration from AgentShield
|
|
112
|
+
* @param authMode - Optional explicit auth mode (auto-detected if not provided)
|
|
113
|
+
* @returns Rendered HTML string
|
|
114
|
+
*/
|
|
115
|
+
function renderConsentPage(config, remoteConfig, authMode) {
|
|
116
|
+
const mode = authMode || detectAuthMode(config);
|
|
117
|
+
const template = getTemplateForMode(mode, config, remoteConfig);
|
|
118
|
+
return template.render();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Render an OAuth consent page with pre-configured OAuth URL.
|
|
122
|
+
*
|
|
123
|
+
* @param config - Extended page config
|
|
124
|
+
* @param oauthUrl - OAuth authorization URL
|
|
125
|
+
* @param remoteConfig - Remote consent configuration from AgentShield
|
|
126
|
+
* @returns Rendered HTML string
|
|
127
|
+
*/
|
|
128
|
+
function renderOAuthConsentPage(config, oauthUrl, remoteConfig) {
|
|
129
|
+
const mergedRemoteConfig = remoteConfig || (0, resolution_1.getDefaultConsentConfig)();
|
|
130
|
+
const resolved = (0, resolution_1.resolveConsentConfig)(mergedRemoteConfig, config.tool);
|
|
131
|
+
const template = new modes_1.OAuthTemplate(config, resolved);
|
|
132
|
+
template.setOAuthUrl(oauthUrl);
|
|
133
|
+
return template.render();
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent API Types
|
|
3
|
+
*
|
|
4
|
+
* Canonical type definitions for consent API request/response payloads.
|
|
5
|
+
*
|
|
6
|
+
* @module @kya-os/consent/types/api
|
|
7
|
+
*/
|
|
8
|
+
import type { AuthMode } from "./modes.types";
|
|
9
|
+
/**
|
|
10
|
+
* OAuth Identity
|
|
11
|
+
*
|
|
12
|
+
* Represents a user's OAuth provider account information.
|
|
13
|
+
* Used to link OAuth accounts to persistent User DIDs.
|
|
14
|
+
*/
|
|
15
|
+
export interface OAuthIdentity {
|
|
16
|
+
/**
|
|
17
|
+
* OAuth provider name (e.g., "google", "github", "microsoft")
|
|
18
|
+
*/
|
|
19
|
+
provider: string;
|
|
20
|
+
/**
|
|
21
|
+
* OAuth subject identifier (unique user ID from provider)
|
|
22
|
+
* @example "123456789" (Google), "github-user-id" (GitHub)
|
|
23
|
+
*/
|
|
24
|
+
subject: string;
|
|
25
|
+
/**
|
|
26
|
+
* User's email address from OAuth provider (optional)
|
|
27
|
+
*/
|
|
28
|
+
email?: string;
|
|
29
|
+
/**
|
|
30
|
+
* User's display name from OAuth provider (optional)
|
|
31
|
+
*/
|
|
32
|
+
name?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Consent Approval Request
|
|
36
|
+
*
|
|
37
|
+
* Request payload when user approves consent.
|
|
38
|
+
* Note: Uses snake_case for API compatibility (agent_did, session_id, project_id)
|
|
39
|
+
*/
|
|
40
|
+
export interface ConsentApprovalRequest {
|
|
41
|
+
/** Tool name */
|
|
42
|
+
tool: string;
|
|
43
|
+
/** Approved scopes */
|
|
44
|
+
scopes: string[];
|
|
45
|
+
/** Agent DID (snake_case for API compatibility) */
|
|
46
|
+
agent_did: string;
|
|
47
|
+
/** Session ID (snake_case for API compatibility) */
|
|
48
|
+
session_id: string;
|
|
49
|
+
/** Project ID (snake_case for API compatibility) */
|
|
50
|
+
project_id: string;
|
|
51
|
+
/** Authentication mode used */
|
|
52
|
+
auth_mode: AuthMode;
|
|
53
|
+
/** Provider type */
|
|
54
|
+
provider_type: string;
|
|
55
|
+
/** Whether terms were accepted */
|
|
56
|
+
termsAccepted: boolean;
|
|
57
|
+
/** Terms version (if applicable) */
|
|
58
|
+
termsVersion?: string;
|
|
59
|
+
/** Custom field values */
|
|
60
|
+
customFields?: Record<string, string | boolean>;
|
|
61
|
+
/** OAuth provider identity information (optional) */
|
|
62
|
+
oauth_identity?: OAuthIdentity | null;
|
|
63
|
+
/** User DID for persistent identity (optional) */
|
|
64
|
+
user_did?: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Consent Approval Response
|
|
68
|
+
*
|
|
69
|
+
* Response after processing consent approval.
|
|
70
|
+
*/
|
|
71
|
+
export interface ConsentApprovalResponse {
|
|
72
|
+
/** Whether approval was successful */
|
|
73
|
+
success: boolean;
|
|
74
|
+
/** Delegation ID (if successful) */
|
|
75
|
+
delegation_id?: string;
|
|
76
|
+
/** Delegation token (if successful) */
|
|
77
|
+
delegation_token?: string;
|
|
78
|
+
/** Error message (if failed) */
|
|
79
|
+
error?: string;
|
|
80
|
+
/** Error code (if failed) */
|
|
81
|
+
error_code?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Consent Config API Response
|
|
85
|
+
*
|
|
86
|
+
* Response from the consent config API endpoint.
|
|
87
|
+
*/
|
|
88
|
+
export interface ConsentConfigAPIResponse {
|
|
89
|
+
/** Whether the request was successful */
|
|
90
|
+
success: boolean;
|
|
91
|
+
/** The consent configuration (if successful) */
|
|
92
|
+
data?: import("./config.types").ConsentConfigWithMeta;
|
|
93
|
+
/** Error message (if failed) */
|
|
94
|
+
error?: string;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Credential Authentication Request
|
|
98
|
+
*
|
|
99
|
+
* Request payload for username/password authentication.
|
|
100
|
+
*/
|
|
101
|
+
export interface CredentialAuthRequest {
|
|
102
|
+
/** Username */
|
|
103
|
+
username: string;
|
|
104
|
+
/** Password */
|
|
105
|
+
password: string;
|
|
106
|
+
/** CSRF token */
|
|
107
|
+
csrf_token: string;
|
|
108
|
+
/** Session ID */
|
|
109
|
+
session_id: string;
|
|
110
|
+
/** Agent DID */
|
|
111
|
+
agent_did: string;
|
|
112
|
+
/** Project ID */
|
|
113
|
+
project_id: string;
|
|
114
|
+
/** Provider identifier */
|
|
115
|
+
provider: string;
|
|
116
|
+
/** Remember me preference */
|
|
117
|
+
remember_me?: boolean;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Credential Authentication Response
|
|
121
|
+
*
|
|
122
|
+
* Response from credential authentication.
|
|
123
|
+
*/
|
|
124
|
+
export interface CredentialAuthResponse {
|
|
125
|
+
/** Whether authentication was successful */
|
|
126
|
+
success: boolean;
|
|
127
|
+
/** OAuth identity (if authentication successful) */
|
|
128
|
+
oauth_identity?: OAuthIdentity;
|
|
129
|
+
/** Error message (if failed) */
|
|
130
|
+
error?: string;
|
|
131
|
+
/** Error code (if failed) */
|
|
132
|
+
error_code?: string;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=api.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.types.d.ts","sourceRoot":"","sources":["../../src/types/api.types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAElB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,SAAS,EAAE,QAAQ,CAAC;IAEpB,oBAAoB;IACpB,aAAa,EAAE,MAAM,CAAC;IAEtB,kCAAkC;IAClC,aAAa,EAAE,OAAO,CAAC;IAEvB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IAEhD,qDAAqD;IACrD,cAAc,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAEtC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IAEjB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IAEjB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;IAEtD,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IAEjB,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAElB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IAEjB,oDAAoD;IACpD,cAAc,CAAC,EAAE,aAAa,CAAC;IAE/B,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Consent API Types
|
|
4
|
+
*
|
|
5
|
+
* Canonical type definitions for consent API request/response payloads.
|
|
6
|
+
*
|
|
7
|
+
* @module @kya-os/consent/types/api
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=api.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.types.js","sourceRoot":"","sources":["../../src/types/api.types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent Branding Types
|
|
3
|
+
*
|
|
4
|
+
* Canonical type definitions for consent page branding and styling.
|
|
5
|
+
*
|
|
6
|
+
* @module @kya-os/consent/types/branding
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Consent Branding Configuration
|
|
10
|
+
*
|
|
11
|
+
* Customization options for consent page appearance.
|
|
12
|
+
* All fields are optional - defaults are applied during resolution.
|
|
13
|
+
*/
|
|
14
|
+
export interface ConsentBranding {
|
|
15
|
+
/** Primary brand color (hex format, e.g., '#2563EB') */
|
|
16
|
+
primaryColor?: string;
|
|
17
|
+
/** Secondary/accent color (hex format, e.g., '#DBEAFE') */
|
|
18
|
+
secondaryColor?: string;
|
|
19
|
+
/** Logo URL for display on consent page */
|
|
20
|
+
logoUrl?: string;
|
|
21
|
+
/** Company/application name */
|
|
22
|
+
companyName?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* CSS Variables for Consent Branding
|
|
26
|
+
*
|
|
27
|
+
* Generated CSS custom properties for theming.
|
|
28
|
+
*/
|
|
29
|
+
export interface ConsentCSSVars {
|
|
30
|
+
"--consent-primary": string;
|
|
31
|
+
"--consent-secondary": string;
|
|
32
|
+
"--consent-primary-rgb": string;
|
|
33
|
+
"--consent-secondary-rgb": string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Resolved Consent Branding
|
|
37
|
+
*
|
|
38
|
+
* Fully resolved branding with all required fields populated.
|
|
39
|
+
* Ready for rendering - no undefined values.
|
|
40
|
+
*/
|
|
41
|
+
export interface ResolvedConsentBranding {
|
|
42
|
+
/** Primary brand color (always has a value) */
|
|
43
|
+
primaryColor: string;
|
|
44
|
+
/** Secondary/accent color (always has a value) */
|
|
45
|
+
secondaryColor: string;
|
|
46
|
+
/** Logo URL (optional, validated) */
|
|
47
|
+
logoUrl?: string;
|
|
48
|
+
/** Company name (optional) */
|
|
49
|
+
companyName?: string;
|
|
50
|
+
/** CSS variables for style injection */
|
|
51
|
+
cssVars: ConsentCSSVars;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=branding.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branding.types.d.ts","sourceRoot":"","sources":["../../src/types/branding.types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IAErB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;IAEvB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wCAAwC;IACxC,OAAO,EAAE,cAAc,CAAC;CACzB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Consent Branding Types
|
|
4
|
+
*
|
|
5
|
+
* Canonical type definitions for consent page branding and styling.
|
|
6
|
+
*
|
|
7
|
+
* @module @kya-os/consent/types/branding
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=branding.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branding.types.js","sourceRoot":"","sources":["../../src/types/branding.types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent Configuration Types
|
|
3
|
+
*
|
|
4
|
+
* Canonical type definitions for consent configuration.
|
|
5
|
+
*
|
|
6
|
+
* @module @kya-os/consent/types/config
|
|
7
|
+
*/
|
|
8
|
+
import type { ConsentBranding, ResolvedConsentBranding } from "./branding.types";
|
|
9
|
+
import type { ConsentUI, ConsentTerms, ConsentSuccess, ResolvedConsentCopy } from "./copy.types";
|
|
10
|
+
export type { ConsentBranding, ResolvedConsentBranding } from "./branding.types";
|
|
11
|
+
export type { ConsentUI, ConsentTerms, ConsentSuccess, ResolvedConsentCopy } from "./copy.types";
|
|
12
|
+
import type { CredentialsConfig, OAuthConfig, MagicLinkConfig, OTPConfig, QRCodeConfig, PasskeyConfig, IDVConfig, AuthMode } from "./modes.types";
|
|
13
|
+
/**
|
|
14
|
+
* Consent Custom Field Option
|
|
15
|
+
*
|
|
16
|
+
* Option for select/dropdown custom fields.
|
|
17
|
+
*/
|
|
18
|
+
export interface ConsentCustomFieldOption {
|
|
19
|
+
/** Option value */
|
|
20
|
+
value: string;
|
|
21
|
+
/** Display label */
|
|
22
|
+
label: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Consent Custom Field
|
|
26
|
+
*
|
|
27
|
+
* Additional fields to collect during consent (e.g., email, preferences).
|
|
28
|
+
*/
|
|
29
|
+
export interface ConsentCustomField {
|
|
30
|
+
/** Field name (used as form field name, must be valid identifier) */
|
|
31
|
+
name: string;
|
|
32
|
+
/** Display label for the field */
|
|
33
|
+
label: string;
|
|
34
|
+
/** Field type */
|
|
35
|
+
type: "text" | "textarea" | "checkbox" | "select" | "email";
|
|
36
|
+
/** Whether field is required */
|
|
37
|
+
required: boolean;
|
|
38
|
+
/** Placeholder text */
|
|
39
|
+
placeholder?: string;
|
|
40
|
+
/** Options for select fields */
|
|
41
|
+
options?: ConsentCustomFieldOption[];
|
|
42
|
+
/** Validation pattern (regex) */
|
|
43
|
+
pattern?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Consent Configuration Metadata
|
|
47
|
+
*
|
|
48
|
+
* Metadata for tracking config versions and cache invalidation.
|
|
49
|
+
*/
|
|
50
|
+
export interface ConsentMetadata {
|
|
51
|
+
/** Config version number (incremented on each update) */
|
|
52
|
+
version?: number;
|
|
53
|
+
/** Last update timestamp (ISO string) */
|
|
54
|
+
updatedAt?: string;
|
|
55
|
+
/** Cache version string for invalidation */
|
|
56
|
+
cacheVersion?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Consent Configuration
|
|
60
|
+
*
|
|
61
|
+
* Complete consent configuration fetched from AgentShield or defaults.
|
|
62
|
+
* This is the canonical type used for remote config storage and API responses.
|
|
63
|
+
*/
|
|
64
|
+
export interface ConsentConfig {
|
|
65
|
+
/** Branding configuration */
|
|
66
|
+
branding?: ConsentBranding;
|
|
67
|
+
/** UI/copy configuration */
|
|
68
|
+
ui?: ConsentUI;
|
|
69
|
+
/** Terms configuration */
|
|
70
|
+
terms?: ConsentTerms;
|
|
71
|
+
/** Success screen configuration */
|
|
72
|
+
success?: ConsentSuccess;
|
|
73
|
+
/** Custom fields configuration */
|
|
74
|
+
customFields?: ConsentCustomField[];
|
|
75
|
+
/** Credentials mode configuration */
|
|
76
|
+
credentials?: CredentialsConfig;
|
|
77
|
+
/** OAuth mode configuration */
|
|
78
|
+
oauth?: OAuthConfig;
|
|
79
|
+
/** Magic link mode configuration */
|
|
80
|
+
magicLink?: MagicLinkConfig;
|
|
81
|
+
/** OTP mode configuration */
|
|
82
|
+
otp?: OTPConfig;
|
|
83
|
+
/** QR code mode configuration */
|
|
84
|
+
qrCode?: QRCodeConfig;
|
|
85
|
+
/** Passkey mode configuration */
|
|
86
|
+
passkey?: PasskeyConfig;
|
|
87
|
+
/** IDV mode configuration */
|
|
88
|
+
idv?: IDVConfig;
|
|
89
|
+
/** Delegation expiration in days */
|
|
90
|
+
expirationDays?: number;
|
|
91
|
+
/** Configuration metadata */
|
|
92
|
+
metadata?: ConsentMetadata;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Consent Configuration with Metadata
|
|
96
|
+
*
|
|
97
|
+
* Extended type including all fields that may come from the remote API.
|
|
98
|
+
* This is the full type used when fetching config from AgentShield.
|
|
99
|
+
*/
|
|
100
|
+
export interface ConsentConfigWithMeta extends ConsentConfig {
|
|
101
|
+
/** Configuration metadata (always present in API responses) */
|
|
102
|
+
metadata?: ConsentMetadata;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Resolved UI Configuration
|
|
106
|
+
*
|
|
107
|
+
* Fully resolved UI settings with all defaults applied.
|
|
108
|
+
*/
|
|
109
|
+
export interface ResolvedUI {
|
|
110
|
+
/** Page title */
|
|
111
|
+
title: string;
|
|
112
|
+
/** Description text */
|
|
113
|
+
description: string;
|
|
114
|
+
/** Expiration text prefix */
|
|
115
|
+
expirationText: string;
|
|
116
|
+
/** Cancel button text */
|
|
117
|
+
cancelButtonText: string;
|
|
118
|
+
/** Submit button text */
|
|
119
|
+
submitButtonText: string;
|
|
120
|
+
/** Permissions header text */
|
|
121
|
+
permissionsHeader: string;
|
|
122
|
+
/** Whether to auto-close window */
|
|
123
|
+
autoClose: boolean;
|
|
124
|
+
/** Whether popup mode is enabled */
|
|
125
|
+
popupEnabled: boolean;
|
|
126
|
+
/** Theme preference */
|
|
127
|
+
theme: "light" | "dark" | "auto";
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Resolved Terms Configuration
|
|
131
|
+
*
|
|
132
|
+
* Fully resolved terms settings with all defaults applied.
|
|
133
|
+
*/
|
|
134
|
+
export interface ResolvedTerms {
|
|
135
|
+
/** Terms text */
|
|
136
|
+
text: string;
|
|
137
|
+
/** Terms URL (optional) */
|
|
138
|
+
url?: string;
|
|
139
|
+
/** Terms version (optional) */
|
|
140
|
+
version?: string;
|
|
141
|
+
/** Whether terms are required */
|
|
142
|
+
required: boolean;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Resolved Success Configuration
|
|
146
|
+
*
|
|
147
|
+
* Fully resolved success page settings with all defaults applied.
|
|
148
|
+
*/
|
|
149
|
+
export interface ResolvedSuccess {
|
|
150
|
+
/** Success page title */
|
|
151
|
+
title: string;
|
|
152
|
+
/** Success page description */
|
|
153
|
+
description: string;
|
|
154
|
+
/** Whether to show credential */
|
|
155
|
+
showCredential: boolean;
|
|
156
|
+
/** Redirect URL (optional) */
|
|
157
|
+
redirectUrl?: string;
|
|
158
|
+
/** Redirect delay in seconds (optional) */
|
|
159
|
+
redirectDelay?: number;
|
|
160
|
+
/** Continue button text */
|
|
161
|
+
continueButtonText: string;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Resolved Consent Configuration
|
|
165
|
+
*
|
|
166
|
+
* Fully resolved configuration ready for rendering.
|
|
167
|
+
* All required fields are populated, no undefined values.
|
|
168
|
+
*/
|
|
169
|
+
export interface ResolvedConsentConfig {
|
|
170
|
+
/** Resolved copy/text content */
|
|
171
|
+
copy: ResolvedConsentCopy;
|
|
172
|
+
/** Resolved branding */
|
|
173
|
+
branding: ResolvedConsentBranding;
|
|
174
|
+
/** Resolved UI settings */
|
|
175
|
+
ui: ResolvedUI;
|
|
176
|
+
/** Resolved terms settings */
|
|
177
|
+
terms: ResolvedTerms;
|
|
178
|
+
/** Resolved success settings */
|
|
179
|
+
success: ResolvedSuccess;
|
|
180
|
+
/** Custom fields (passed through unchanged) */
|
|
181
|
+
customFields: ConsentCustomField[];
|
|
182
|
+
/** Delegation expiration in days (always has a value) */
|
|
183
|
+
expirationDays: number;
|
|
184
|
+
/** Effective auth mode */
|
|
185
|
+
authMode: AuthMode;
|
|
186
|
+
/** Credentials config (passthrough) */
|
|
187
|
+
credentials?: CredentialsConfig;
|
|
188
|
+
/** OAuth config (passthrough) */
|
|
189
|
+
oauth?: OAuthConfig;
|
|
190
|
+
/** Magic link config (passthrough) */
|
|
191
|
+
magicLink?: MagicLinkConfig;
|
|
192
|
+
/** OTP config (passthrough) */
|
|
193
|
+
otp?: OTPConfig;
|
|
194
|
+
/** QR code config (passthrough) */
|
|
195
|
+
qrCode?: QRCodeConfig;
|
|
196
|
+
/** Passkey config (passthrough) */
|
|
197
|
+
passkey?: PasskeyConfig;
|
|
198
|
+
/** IDV config (passthrough) */
|
|
199
|
+
idv?: IDVConfig;
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=config.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Consent Configuration Types
|
|
4
|
+
*
|
|
5
|
+
* Canonical type definitions for consent configuration.
|
|
6
|
+
*
|
|
7
|
+
* @module @kya-os/consent/types/config
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=config.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.types.js","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
|