@kya-os/consent 0.1.0 → 0.1.2
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 +44 -0
- package/dist/bundle/index.d.ts.map +1 -0
- package/dist/bundle/index.js +45 -0
- package/dist/bundle/index.js.map +1 -0
- package/dist/bundle/inline.d.ts +18 -0
- package/dist/bundle/inline.d.ts.map +1 -0
- package/dist/bundle/inline.js +18 -0
- package/dist/bundle/inline.js.map +1 -0
- package/dist/bundle/shell.d.ts +91 -0
- package/dist/bundle/shell.d.ts.map +1 -0
- package/dist/bundle/shell.js +282 -0
- package/dist/bundle/shell.js.map +1 -0
- package/dist/components/consent-button.d.ts +61 -0
- package/dist/components/consent-button.d.ts.map +1 -0
- package/dist/components/consent-button.js +177 -0
- package/dist/components/consent-button.js.map +1 -0
- package/dist/components/consent-checkbox.d.ts +61 -0
- package/dist/components/consent-checkbox.d.ts.map +1 -0
- package/dist/components/consent-checkbox.js +220 -0
- package/dist/components/consent-checkbox.js.map +1 -0
- package/dist/components/consent-input.d.ts +91 -0
- package/dist/components/consent-input.d.ts.map +1 -0
- package/dist/components/consent-input.js +332 -0
- package/dist/components/consent-input.js.map +1 -0
- package/dist/components/consent-oauth-button.d.ts +87 -0
- package/dist/components/consent-oauth-button.d.ts.map +1 -0
- package/dist/components/consent-oauth-button.js +389 -0
- package/dist/components/consent-oauth-button.js.map +1 -0
- package/dist/components/consent-otp-input.d.ts +92 -0
- package/dist/components/consent-otp-input.d.ts.map +1 -0
- package/dist/components/consent-otp-input.js +385 -0
- package/dist/components/consent-otp-input.js.map +1 -0
- package/dist/components/consent-permissions.d.ts +104 -0
- package/dist/components/consent-permissions.d.ts.map +1 -0
- package/dist/components/consent-permissions.js +430 -0
- package/dist/components/consent-permissions.js.map +1 -0
- package/dist/components/consent-shell.d.ts +72 -0
- package/dist/components/consent-shell.d.ts.map +1 -0
- package/dist/components/consent-shell.js +231 -0
- package/dist/components/consent-shell.js.map +1 -0
- package/dist/components/consent-terms.d.ts +89 -0
- package/dist/components/consent-terms.d.ts.map +1 -0
- package/dist/components/consent-terms.js +284 -0
- package/dist/components/consent-terms.js.map +1 -0
- package/dist/components/index.d.ts +19 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +23 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/mcp-consent.d.ts +152 -0
- package/dist/components/mcp-consent.d.ts.map +1 -0
- package/dist/components/mcp-consent.js +874 -0
- package/dist/components/mcp-consent.js.map +1 -0
- package/dist/consent.js +3744 -0
- package/dist/consent.min.js +1564 -0
- package/dist/constants/auth-modes.d.ts +7 -2
- package/dist/constants/auth-modes.d.ts.map +1 -1
- package/dist/constants/auth-modes.js +28 -36
- package/dist/constants/auth-modes.js.map +1 -1
- package/dist/constants/colors.js +1 -4
- package/dist/constants/colors.js.map +1 -1
- package/dist/constants/defaults.d.ts +1 -1
- package/dist/constants/defaults.d.ts.map +1 -1
- package/dist/constants/defaults.js +16 -19
- package/dist/constants/defaults.js.map +1 -1
- package/dist/constants/index.d.ts +3 -3
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +3 -26
- package/dist/constants/index.js.map +1 -1
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -23
- package/dist/index.js.map +1 -1
- package/dist/react/index.d.ts +123 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +154 -0
- package/dist/react/index.js.map +1 -0
- package/dist/resolution/index.d.ts +3 -3
- package/dist/resolution/index.d.ts.map +1 -1
- package/dist/resolution/index.js +3 -19
- package/dist/resolution/index.js.map +1 -1
- package/dist/resolution/resolve-branding.d.ts +1 -1
- package/dist/resolution/resolve-branding.d.ts.map +1 -1
- package/dist/resolution/resolve-branding.js +14 -24
- package/dist/resolution/resolve-branding.js.map +1 -1
- package/dist/resolution/resolve-config.d.ts +2 -2
- package/dist/resolution/resolve-config.d.ts.map +1 -1
- package/dist/resolution/resolve-config.js +57 -53
- package/dist/resolution/resolve-config.js.map +1 -1
- package/dist/resolution/resolve-copy.d.ts +2 -2
- package/dist/resolution/resolve-copy.d.ts.map +1 -1
- package/dist/resolution/resolve-copy.js +35 -43
- package/dist/resolution/resolve-copy.js.map +1 -1
- package/dist/schemas/api.schemas.d.ts +7 -4
- package/dist/schemas/api.schemas.d.ts.map +1 -1
- package/dist/schemas/api.schemas.js +70 -74
- package/dist/schemas/api.schemas.js.map +1 -1
- package/dist/schemas/branding.schemas.js +17 -20
- package/dist/schemas/branding.schemas.js.map +1 -1
- package/dist/schemas/config.schemas.d.ts +1 -1
- package/dist/schemas/config.schemas.d.ts.map +1 -1
- package/dist/schemas/config.schemas.js +64 -70
- package/dist/schemas/config.schemas.js.map +1 -1
- package/dist/schemas/index.d.ts +4 -4
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +4 -20
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/modes.schemas.js +60 -63
- package/dist/schemas/modes.schemas.js.map +1 -1
- package/dist/security/escape.d.ts.map +1 -1
- package/dist/security/escape.js +12 -17
- package/dist/security/escape.js.map +1 -1
- package/dist/security/index.d.ts +2 -2
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +2 -18
- package/dist/security/index.js.map +1 -1
- package/dist/security/validators.js +9 -20
- package/dist/security/validators.js.map +1 -1
- package/dist/styles/css-variables.d.ts +1 -1
- package/dist/styles/css-variables.d.ts.map +1 -1
- package/dist/styles/css-variables.js +18 -27
- package/dist/styles/css-variables.js.map +1 -1
- package/dist/styles/index.d.ts +3 -3
- package/dist/styles/index.d.ts.map +1 -1
- package/dist/styles/index.js +3 -19
- package/dist/styles/index.js.map +1 -1
- package/dist/styles/stylesheet.d.ts +1 -1
- package/dist/styles/stylesheet.d.ts.map +1 -1
- package/dist/styles/stylesheet.js +20 -27
- package/dist/styles/stylesheet.js.map +1 -1
- package/dist/styles/tokens.js +1 -4
- package/dist/styles/tokens.js.map +1 -1
- package/dist/templates/base/base-template.d.ts +3 -3
- package/dist/templates/base/base-template.d.ts.map +1 -1
- package/dist/templates/base/base-template.js +31 -35
- package/dist/templates/base/base-template.js.map +1 -1
- package/dist/templates/base/components.js +49 -65
- package/dist/templates/base/components.js.map +1 -1
- package/dist/templates/base/index.d.ts +2 -2
- package/dist/templates/base/index.d.ts.map +1 -1
- package/dist/templates/base/index.js +2 -20
- package/dist/templates/base/index.js.map +1 -1
- package/dist/templates/index.d.ts +9 -9
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +9 -25
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/modes/consent-only.template.d.ts +2 -2
- package/dist/templates/modes/consent-only.template.d.ts.map +1 -1
- package/dist/templates/modes/consent-only.template.js +11 -15
- package/dist/templates/modes/consent-only.template.js.map +1 -1
- package/dist/templates/modes/credentials.template.d.ts +4 -4
- package/dist/templates/modes/credentials.template.d.ts.map +1 -1
- package/dist/templates/modes/credentials.template.js +20 -24
- package/dist/templates/modes/credentials.template.js.map +1 -1
- package/dist/templates/modes/index.d.ts +6 -6
- package/dist/templates/modes/index.d.ts.map +1 -1
- package/dist/templates/modes/index.js +6 -16
- package/dist/templates/modes/index.js.map +1 -1
- package/dist/templates/modes/magic-link.template.d.ts +2 -2
- package/dist/templates/modes/magic-link.template.d.ts.map +1 -1
- package/dist/templates/modes/magic-link.template.js +14 -18
- package/dist/templates/modes/magic-link.template.js.map +1 -1
- package/dist/templates/modes/oauth.template.d.ts +2 -2
- package/dist/templates/modes/oauth.template.d.ts.map +1 -1
- package/dist/templates/modes/oauth.template.js +21 -25
- package/dist/templates/modes/oauth.template.js.map +1 -1
- package/dist/templates/modes/otp.template.d.ts +2 -2
- package/dist/templates/modes/otp.template.d.ts.map +1 -1
- package/dist/templates/modes/otp.template.js +17 -21
- package/dist/templates/modes/otp.template.js.map +1 -1
- package/dist/templates/modes/success.template.d.ts +2 -2
- package/dist/templates/modes/success.template.d.ts.map +1 -1
- package/dist/templates/modes/success.template.js +24 -29
- package/dist/templates/modes/success.template.js.map +1 -1
- package/dist/templates/registry.d.ts +4 -4
- package/dist/templates/registry.d.ts.map +1 -1
- package/dist/templates/registry.js +30 -38
- package/dist/templates/registry.js.map +1 -1
- package/dist/types/api.types.d.ts +6 -5
- package/dist/types/api.types.d.ts.map +1 -1
- package/dist/types/api.types.js +1 -2
- package/dist/types/api.types.js.map +1 -1
- package/dist/types/branding.types.js +1 -2
- package/dist/types/branding.types.js.map +1 -1
- package/dist/types/config.types.d.ts +5 -5
- package/dist/types/config.types.d.ts.map +1 -1
- package/dist/types/config.types.js +1 -2
- package/dist/types/config.types.js.map +1 -1
- package/dist/types/copy.types.js +1 -2
- package/dist/types/copy.types.js.map +1 -1
- package/dist/types/index.d.ts +6 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -22
- package/dist/types/index.js.map +1 -1
- package/dist/types/modes.types.js +1 -4
- package/dist/types/modes.types.js.map +1 -1
- package/dist/types/page.types.d.ts +6 -6
- package/dist/types/page.types.d.ts.map +1 -1
- package/dist/types/page.types.js +1 -2
- package/dist/types/page.types.js.map +1 -1
- package/package.json +41 -4
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Consent Composite Web Component
|
|
3
|
+
*
|
|
4
|
+
* The main entry point component that orchestrates the full consent flow.
|
|
5
|
+
* Handles all auth modes, form submission, and state management.
|
|
6
|
+
*
|
|
7
|
+
* @module components/mcp-consent
|
|
8
|
+
*/
|
|
9
|
+
import { LitElement, TemplateResult } from 'lit';
|
|
10
|
+
import type { ConsentConfig } from '../types/config.types.js';
|
|
11
|
+
import type { AuthMode } from '../types/modes.types.js';
|
|
12
|
+
import './consent-shell.js';
|
|
13
|
+
import './consent-button.js';
|
|
14
|
+
import './consent-checkbox.js';
|
|
15
|
+
import './consent-input.js';
|
|
16
|
+
import './consent-permissions.js';
|
|
17
|
+
import './consent-terms.js';
|
|
18
|
+
import './consent-oauth-button.js';
|
|
19
|
+
import './consent-otp-input.js';
|
|
20
|
+
/**
|
|
21
|
+
* OAuth Identity from callback
|
|
22
|
+
* NOTE: Must match OAuthIdentitySchema in api.schemas.ts
|
|
23
|
+
*/
|
|
24
|
+
export interface OAuthIdentity {
|
|
25
|
+
/** OAuth provider identifier (e.g., 'google', 'microsoft') */
|
|
26
|
+
provider: string;
|
|
27
|
+
/** Subject identifier from the OAuth provider */
|
|
28
|
+
subject: string;
|
|
29
|
+
/** User email from OAuth provider */
|
|
30
|
+
email?: string;
|
|
31
|
+
/** User display name from OAuth provider */
|
|
32
|
+
name?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Consent approval event detail
|
|
36
|
+
*/
|
|
37
|
+
export interface ConsentApproveDetail {
|
|
38
|
+
success: boolean;
|
|
39
|
+
redirectUrl?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Consent error event detail
|
|
43
|
+
*/
|
|
44
|
+
export interface ConsentErrorDetail {
|
|
45
|
+
error: string;
|
|
46
|
+
code?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* McpConsent - Full consent flow component
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```html
|
|
53
|
+
* <mcp-consent
|
|
54
|
+
* config='{"branding": {"primaryColor": "#2563eb"}}'
|
|
55
|
+
* tool="greet"
|
|
56
|
+
* scopes='["read:profile"]'
|
|
57
|
+
* agent-did="did:key:z123"
|
|
58
|
+
* session-id="sess_123"
|
|
59
|
+
* project-id="proj_123"
|
|
60
|
+
* server-url="https://example.com"
|
|
61
|
+
* ></mcp-consent>
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* @fires mcp-consent:approve - User approved, delegation created
|
|
65
|
+
* @fires mcp-consent:deny - User clicked cancel
|
|
66
|
+
* @fires mcp-consent:error - Submission failed
|
|
67
|
+
*/
|
|
68
|
+
export declare class McpConsent extends LitElement {
|
|
69
|
+
/**
|
|
70
|
+
* Consent configuration (JSON string or object)
|
|
71
|
+
*/
|
|
72
|
+
config?: ConsentConfig;
|
|
73
|
+
/**
|
|
74
|
+
* Override auth mode (otherwise auto-detected from config)
|
|
75
|
+
*/
|
|
76
|
+
mode?: AuthMode;
|
|
77
|
+
/**
|
|
78
|
+
* Tool being authorized
|
|
79
|
+
*/
|
|
80
|
+
tool: string;
|
|
81
|
+
/**
|
|
82
|
+
* Permission scopes requested
|
|
83
|
+
*/
|
|
84
|
+
scopes: string[];
|
|
85
|
+
/**
|
|
86
|
+
* Agent DID
|
|
87
|
+
*/
|
|
88
|
+
agentDid: string;
|
|
89
|
+
/**
|
|
90
|
+
* Session ID
|
|
91
|
+
*/
|
|
92
|
+
sessionId: string;
|
|
93
|
+
/**
|
|
94
|
+
* Project ID
|
|
95
|
+
*/
|
|
96
|
+
projectId: string;
|
|
97
|
+
/**
|
|
98
|
+
* Server URL for form submission
|
|
99
|
+
*/
|
|
100
|
+
serverUrl: string;
|
|
101
|
+
/**
|
|
102
|
+
* Agent name for display
|
|
103
|
+
*/
|
|
104
|
+
agentName: string;
|
|
105
|
+
/**
|
|
106
|
+
* OAuth identity from callback
|
|
107
|
+
*/
|
|
108
|
+
oauthIdentity?: OAuthIdentity;
|
|
109
|
+
private resolved?;
|
|
110
|
+
private currentMode;
|
|
111
|
+
private loading;
|
|
112
|
+
private error?;
|
|
113
|
+
private step;
|
|
114
|
+
private termsAccepted;
|
|
115
|
+
private formData;
|
|
116
|
+
private resendCooldown;
|
|
117
|
+
private selectedScopes;
|
|
118
|
+
/**
|
|
119
|
+
* Interval ID for resend cooldown timer
|
|
120
|
+
* Stored as class property for cleanup in disconnectedCallback
|
|
121
|
+
*/
|
|
122
|
+
private resendCooldownInterval?;
|
|
123
|
+
static styles: import("lit").CSSResult;
|
|
124
|
+
connectedCallback(): void;
|
|
125
|
+
disconnectedCallback(): void;
|
|
126
|
+
protected updated(changedProperties: Map<string, unknown>): void;
|
|
127
|
+
private handleApprove;
|
|
128
|
+
private handleDeny;
|
|
129
|
+
private handleTermsChange;
|
|
130
|
+
private handleInputChange;
|
|
131
|
+
private handleResendOtp;
|
|
132
|
+
private renderAgentInfo;
|
|
133
|
+
private handlePermissionsChange;
|
|
134
|
+
private renderPermissions;
|
|
135
|
+
private renderExpiration;
|
|
136
|
+
private renderTerms;
|
|
137
|
+
private renderError;
|
|
138
|
+
private renderFooter;
|
|
139
|
+
private renderConsentOnly;
|
|
140
|
+
private renderCredentials;
|
|
141
|
+
private renderOAuth;
|
|
142
|
+
private renderMagicLink;
|
|
143
|
+
private renderOTP;
|
|
144
|
+
private renderSuccess;
|
|
145
|
+
render(): TemplateResult;
|
|
146
|
+
}
|
|
147
|
+
declare global {
|
|
148
|
+
interface HTMLElementTagNameMap {
|
|
149
|
+
'mcp-consent': McpConsent;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=mcp-consent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-consent.d.ts","sourceRoot":"","sources":["../../src/components/mcp-consent.ts"],"names":[],"mappings":"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"}
|