@kya-os/mcp-i-cloudflare 1.6.25 → 1.6.27

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 (51) hide show
  1. package/dist/constants/storage-keys.d.ts +12 -0
  2. package/dist/constants/storage-keys.d.ts.map +1 -1
  3. package/dist/constants/storage-keys.js +12 -0
  4. package/dist/constants/storage-keys.js.map +1 -1
  5. package/dist/constants.d.ts +10 -0
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/constants.js +10 -0
  8. package/dist/constants.js.map +1 -1
  9. package/dist/runtime/oauth-handler.d.ts.map +1 -1
  10. package/dist/runtime/oauth-handler.js +64 -0
  11. package/dist/runtime/oauth-handler.js.map +1 -1
  12. package/dist/services/admin.service.d.ts.map +1 -1
  13. package/dist/services/admin.service.js +31 -0
  14. package/dist/services/admin.service.js.map +1 -1
  15. package/dist/services/consent-page-renderer.d.ts +55 -0
  16. package/dist/services/consent-page-renderer.d.ts.map +1 -1
  17. package/dist/services/consent-page-renderer.js +284 -0
  18. package/dist/services/consent-page-renderer.js.map +1 -1
  19. package/dist/services/consent.service.d.ts +85 -15
  20. package/dist/services/consent.service.d.ts.map +1 -1
  21. package/dist/services/consent.service.js +530 -37
  22. package/dist/services/consent.service.js.map +1 -1
  23. package/dist/services/credential-auth.handler.d.ts +72 -0
  24. package/dist/services/credential-auth.handler.d.ts.map +1 -0
  25. package/dist/services/credential-auth.handler.js +203 -0
  26. package/dist/services/credential-auth.handler.js.map +1 -0
  27. package/dist/services/idp-token-storage.d.ts +54 -6
  28. package/dist/services/idp-token-storage.d.ts.map +1 -1
  29. package/dist/services/idp-token-storage.js +21 -6
  30. package/dist/services/idp-token-storage.js.map +1 -1
  31. package/package.json +3 -3
  32. package/dist/__tests__/e2e/test-config.d.ts +0 -37
  33. package/dist/__tests__/e2e/test-config.d.ts.map +0 -1
  34. package/dist/__tests__/e2e/test-config.js +0 -62
  35. package/dist/__tests__/e2e/test-config.js.map +0 -1
  36. package/dist/utils/client-info.d.ts +0 -69
  37. package/dist/utils/client-info.d.ts.map +0 -1
  38. package/dist/utils/client-info.js +0 -178
  39. package/dist/utils/client-info.js.map +0 -1
  40. package/dist/utils/error-formatter.d.ts +0 -103
  41. package/dist/utils/error-formatter.d.ts.map +0 -1
  42. package/dist/utils/error-formatter.js +0 -245
  43. package/dist/utils/error-formatter.js.map +0 -1
  44. package/dist/utils/initialize-context.d.ts +0 -91
  45. package/dist/utils/initialize-context.d.ts.map +0 -1
  46. package/dist/utils/initialize-context.js +0 -169
  47. package/dist/utils/initialize-context.js.map +0 -1
  48. package/dist/utils/oauth-identity.d.ts +0 -58
  49. package/dist/utils/oauth-identity.d.ts.map +0 -1
  50. package/dist/utils/oauth-identity.js +0 -215
  51. package/dist/utils/oauth-identity.js.map +0 -1
@@ -623,6 +623,290 @@ export class ConsentPageRenderer {
623
623
  }
624
624
  });
625
625
  })();
626
+ </script>`;
627
+ }
628
+ // ============================================================================
629
+ // Credential Provider Form Rendering (CRED-003)
630
+ // ============================================================================
631
+ /**
632
+ * Render credential login page HTML
633
+ *
634
+ * Used for credential-based authentication (email/password) instead of OAuth.
635
+ *
636
+ * @param config - Consent page configuration (will be sanitized)
637
+ * @param provider - Credential provider configuration
638
+ * @param providerKey - Provider identifier key (e.g., "hardwareworld") used for lookups
639
+ * @param csrfToken - CSRF token for form security
640
+ * @returns HTML string
641
+ */
642
+ renderCredentialPage(config, provider, providerKey, csrfToken) {
643
+ const sanitized = this.sanitizeConfig(config);
644
+ const primaryColor = sanitized.branding?.primaryColor || "#3B82F6";
645
+ return `<!DOCTYPE html>
646
+ <html lang="en">
647
+ <head>
648
+ <meta charset="UTF-8">
649
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
650
+ <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' https://cdn.tailwindcss.com; style-src 'self' 'unsafe-inline' https://cdn.tailwindcss.com; img-src 'self' data: https:; font-src 'self' data:;">
651
+ <title>Sign In - ${this.escapeHtml(provider.displayName || config.tool)}</title>
652
+ <script src="https://cdn.tailwindcss.com"></script>
653
+ </head>
654
+ <body class="bg-gray-50 min-h-screen flex items-center justify-center p-4">
655
+ <div class="bg-white rounded-lg shadow-lg max-w-md w-full p-6">
656
+ ${this.renderCredentialHeader(sanitized, provider)}
657
+ ${this.renderCredentialForm(provider, sanitized, providerKey, csrfToken, primaryColor)}
658
+ </div>
659
+ </body>
660
+ </html>`;
661
+ }
662
+ /**
663
+ * Render header for credential page
664
+ */
665
+ renderCredentialHeader(config, provider) {
666
+ const branding = config.branding;
667
+ const overrides = provider.consentOverrides || {};
668
+ const logoUrlEscaped = branding?.logoUrl
669
+ ? this.escapeHtml(branding.logoUrl)
670
+ : "";
671
+ const logoHtml = branding?.logoUrl
672
+ ? `<img src="${logoUrlEscaped}" alt="${this.escapeHtml(branding.companyName || "Logo")}" class="h-12 w-auto mb-4 mx-auto" />`
673
+ : "";
674
+ const companyName = branding?.companyName
675
+ ? `<p class="text-sm text-gray-600 mb-2">${this.escapeHtml(branding.companyName)}</p>`
676
+ : "";
677
+ const title = overrides.formTitle ||
678
+ `Sign in to ${provider.displayName || "continue"}`;
679
+ const description = overrides.formDescription;
680
+ return `
681
+ <div class="text-center mb-8">
682
+ ${logoHtml}
683
+ ${companyName}
684
+ <h1 class="text-xl font-semibold text-gray-900">${this.escapeHtml(title)}</h1>
685
+ ${description ? `<p class="text-sm text-gray-600 mt-2">${this.escapeHtml(description)}</p>` : ""}
686
+ </div>`;
687
+ }
688
+ /**
689
+ * Render credential login form
690
+ *
691
+ * @param provider - Credential provider configuration
692
+ * @param config - Consent page configuration
693
+ * @param providerKey - Provider identifier key (e.g., "hardwareworld") used for API lookups
694
+ * @param csrfToken - CSRF token for form security
695
+ * @param primaryColor - Primary button color
696
+ */
697
+ renderCredentialForm(provider, config, providerKey, csrfToken, primaryColor) {
698
+ // Parse fields from requestBodyTemplate
699
+ const fields = this.parseCredentialFields(provider);
700
+ const overrides = provider.consentOverrides || {};
701
+ const fieldHtml = fields
702
+ .map((field) => this.renderCredentialField(field, overrides))
703
+ .join("\n");
704
+ const submitText = overrides.submitButtonText || "Sign In";
705
+ return `
706
+ <form id="credential-form" class="space-y-6" method="POST">
707
+ <input type="hidden" name="provider_type" value="credential" />
708
+ <input type="hidden" name="csrf_token" value="${this.escapeHtml(csrfToken)}" />
709
+ <input type="hidden" name="provider" value="${this.escapeHtml(providerKey)}" />
710
+ <input type="hidden" name="tool" value="${this.escapeHtml(config.tool)}" />
711
+ <input type="hidden" name="scopes" value='${JSON.stringify(config.scopes).replace(/'/g, "&#039;")}' />
712
+ <input type="hidden" name="agent_did" value="${this.escapeHtml(config.agentDid)}" />
713
+ <input type="hidden" name="session_id" value="${this.escapeHtml(config.sessionId)}" />
714
+ <input type="hidden" name="project_id" value="${this.escapeHtml(config.projectId)}" />
715
+
716
+ ${fieldHtml}
717
+
718
+ <div id="error-container" class="hidden">
719
+ <div class="p-3 bg-red-50 border border-red-200 rounded-lg text-red-700 text-sm"></div>
720
+ </div>
721
+
722
+ <button
723
+ type="submit"
724
+ class="w-full py-3 px-4 rounded-lg text-white font-medium transition-all hover:opacity-90 focus:ring-2 focus:ring-offset-2"
725
+ style="background-color: ${this.escapeHtml(primaryColor)};"
726
+ >
727
+ ${this.escapeHtml(submitText)}
728
+ </button>
729
+ </form>
730
+
731
+ ${this.renderCredentialFormScript(config.serverUrl)}`;
732
+ }
733
+ /**
734
+ * Parse credential fields from provider's requestBodyTemplate
735
+ */
736
+ parseCredentialFields(provider) {
737
+ const fields = [];
738
+ for (const [apiFieldName, template] of Object.entries(provider.requestBodyTemplate)) {
739
+ const match = template.match(/\{\{(\w+)\}\}/);
740
+ if (match) {
741
+ const formFieldName = match[1];
742
+ fields.push({
743
+ name: formFieldName,
744
+ apiName: apiFieldName,
745
+ label: this.humanizeFieldName(formFieldName),
746
+ type: this.inferInputType(formFieldName),
747
+ required: true,
748
+ });
749
+ }
750
+ }
751
+ return fields;
752
+ }
753
+ /**
754
+ * Infer HTML input type from field name
755
+ */
756
+ inferInputType(fieldName) {
757
+ const lower = fieldName.toLowerCase();
758
+ if (lower.includes("password") ||
759
+ lower.includes("pass") ||
760
+ lower.includes("secret") ||
761
+ lower.includes("pin")) {
762
+ return "password";
763
+ }
764
+ if (lower.includes("email") || lower.includes("mail")) {
765
+ return "email";
766
+ }
767
+ return "text";
768
+ }
769
+ /**
770
+ * Convert field name to human-readable label
771
+ */
772
+ humanizeFieldName(name) {
773
+ return name
774
+ .replace(/([A-Z])/g, " $1") // Add space before capitals
775
+ .replace(/[_-]/g, " ") // Replace underscores/hyphens with spaces
776
+ .replace(/^\w/, (c) => c.toUpperCase()) // Capitalize first letter
777
+ .trim();
778
+ }
779
+ /**
780
+ * Render individual credential form field
781
+ */
782
+ renderCredentialField(field, overrides) {
783
+ // Check for label overrides
784
+ let label = field.label;
785
+ if ((field.type === "email" || field.name.toLowerCase().includes("email")) &&
786
+ overrides?.identityFieldLabel) {
787
+ label = overrides.identityFieldLabel;
788
+ }
789
+ else if (field.type === "password" && overrides?.passwordFieldLabel) {
790
+ label = overrides.passwordFieldLabel;
791
+ }
792
+ const autocomplete = this.getAutocomplete(field.type, field.name);
793
+ const placeholder = this.getPlaceholder(field);
794
+ return `
795
+ <div class="space-y-2">
796
+ <label for="${this.escapeHtml(field.name)}" class="block text-sm font-medium text-gray-700">
797
+ ${this.escapeHtml(label)}
798
+ </label>
799
+ <input
800
+ type="${field.type}"
801
+ id="${this.escapeHtml(field.name)}"
802
+ name="${this.escapeHtml(field.name)}"
803
+ required
804
+ autocomplete="${autocomplete}"
805
+ class="w-full px-4 py-3 border border-gray-300 rounded-lg shadow-sm
806
+ focus:ring-2 focus:ring-blue-500 focus:border-blue-500
807
+ placeholder-gray-400 transition-colors"
808
+ placeholder="${this.escapeHtml(placeholder)}"
809
+ />
810
+ </div>`;
811
+ }
812
+ /**
813
+ * Get autocomplete attribute value for field
814
+ */
815
+ getAutocomplete(type, fieldName) {
816
+ if (type === "password") {
817
+ return "current-password";
818
+ }
819
+ if (type === "email") {
820
+ return "email";
821
+ }
822
+ if (fieldName.toLowerCase().includes("username")) {
823
+ return "username";
824
+ }
825
+ return "off";
826
+ }
827
+ /**
828
+ * Get placeholder text for field
829
+ */
830
+ getPlaceholder(field) {
831
+ switch (field.type) {
832
+ case "email":
833
+ return "you@example.com";
834
+ case "password":
835
+ return "••••••••";
836
+ default:
837
+ return "";
838
+ }
839
+ }
840
+ /**
841
+ * Render JavaScript for credential form submission
842
+ */
843
+ renderCredentialFormScript(serverUrl) {
844
+ const serverUrlJs = JSON.stringify(serverUrl);
845
+ return `
846
+ <script>
847
+ (function() {
848
+ const form = document.getElementById('credential-form');
849
+ if (!form) return;
850
+
851
+ const serverUrl = ${serverUrlJs};
852
+
853
+ form.addEventListener('submit', async function(e) {
854
+ e.preventDefault();
855
+
856
+ const button = form.querySelector('button[type="submit"]');
857
+ const errorContainer = document.getElementById('error-container');
858
+ const errorDiv = errorContainer.querySelector('div');
859
+ const originalText = button.textContent;
860
+
861
+ // Hide previous errors
862
+ errorContainer.classList.add('hidden');
863
+
864
+ // Disable button and show loading state
865
+ button.disabled = true;
866
+ button.textContent = 'Signing in...';
867
+ button.style.opacity = '0.7';
868
+
869
+ try {
870
+ const formData = new FormData(form);
871
+
872
+ // POST to consent approval endpoint
873
+ const response = await fetch(serverUrl + '/consent/approve', {
874
+ method: 'POST',
875
+ headers: {
876
+ 'Content-Type': 'application/json'
877
+ },
878
+ body: JSON.stringify(Object.fromEntries(formData))
879
+ });
880
+
881
+ const data = await response.json();
882
+
883
+ if (data.success) {
884
+ button.textContent = 'Success! Redirecting...';
885
+ button.style.backgroundColor = '#10B981';
886
+ if (data.redirectUrl) {
887
+ window.location.href = data.redirectUrl;
888
+ } else if (data.delegation_id) {
889
+ window.location.href = serverUrl + '/consent/success?delegation_id=' + encodeURIComponent(data.delegation_id);
890
+ }
891
+ } else {
892
+ // Show error
893
+ errorDiv.textContent = data.error || 'Authentication failed. Please check your credentials.';
894
+ errorContainer.classList.remove('hidden');
895
+
896
+ button.disabled = false;
897
+ button.textContent = originalText;
898
+ button.style.opacity = '1';
899
+ }
900
+ } catch (err) {
901
+ errorDiv.textContent = 'Network error. Please try again.';
902
+ errorContainer.classList.remove('hidden');
903
+
904
+ button.disabled = false;
905
+ button.textContent = originalText;
906
+ button.style.opacity = '1';
907
+ }
908
+ });
909
+ })();
626
910
  </script>`;
627
911
  }
628
912
  }
@@ -1 +1 @@
1
- {"version":3,"file":"consent-page-renderer.js","sourceRoot":"","sources":["../../src/services/consent-page-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consent-page-renderer.js","sourceRoot":"","sources":["../../src/services/consent-page-renderer.ts"],"names":[],"mappings":"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"}
@@ -54,16 +54,6 @@ export declare class ConsentService {
54
54
  * @returns Runtime config or undefined if unavailable
55
55
  */
56
56
  private getConfigFromRemoteAPI;
57
- /**
58
- * Get or generate User DID for a session
59
- *
60
- * Phase 4 PR #1: Generates ephemeral DIDs for sessions
61
- * Phase 4 PR #3: Checks OAuth mappings for persistent DIDs
62
- *
63
- * @param sessionId - Session ID
64
- * @param oauthIdentity - Optional OAuth provider identity
65
- * @returns User DID (did:key format)
66
- */
67
57
  /**
68
58
  * Get user DID for a session
69
59
  *
@@ -102,6 +92,28 @@ export declare class ConsentService {
102
92
  * @returns UserKeyPair or null if not available
103
93
  */
104
94
  getKeyPairForSession(sessionId: string, oauthIdentity?: OAuthIdentity | null): Promise<UserKeyPair | null>;
95
+ /**
96
+ * Get or create key pair for a user (OAuth flow VC signing)
97
+ *
98
+ * Unlike getKeyPairForSession which only retrieves, this method
99
+ * GENERATES a new key pair if one doesn't exist.
100
+ *
101
+ * NOTE: The generated key pair has its own did:key which may differ
102
+ * from AgentShield's persistentUserDid. Both are tied to the same
103
+ * OAuth identity. See docs/proposals/VC/AGENTSHIELD_SIGNING_ENDPOINT.md
104
+ * for the future cleaner architecture.
105
+ *
106
+ * @param sessionId - Session ID for caching
107
+ * @param oauthIdentity - OAuth identity for persistent storage
108
+ * @returns UserKeyPair or null if generation fails
109
+ */
110
+ getOrCreateKeyPairForUser(sessionId: string, oauthIdentity: OAuthIdentity): Promise<UserKeyPair | null>;
111
+ /**
112
+ * Generate did:key from Ed25519 public key (base64)
113
+ * Delegates to shared utility in @kya-os/mcp-i-core
114
+ * Following spec: https://w3c-ccg.github.io/did-method-key/
115
+ */
116
+ private generateDidKeyFromPublicKey;
105
117
  /**
106
118
  * Issue a Delegation Verifiable Credential as JWT
107
119
  *
@@ -113,9 +125,10 @@ export declare class ConsentService {
113
125
  * @param delegation - The delegation record to wrap as a VC
114
126
  * @param sessionId - Session ID for key pair retrieval
115
127
  * @param oauthIdentity - Optional OAuth identity for persistent key lookup
128
+ * @param providedKeyPair - Optional key pair to use directly (avoids re-lookup, handles KV persistence failures)
116
129
  * @returns JWT string (header.payload.signature) or null if key pair unavailable
117
130
  */
118
- issueDelegationVC(delegation: DelegationRecord, sessionId: string, oauthIdentity?: OAuthIdentity | null): Promise<string | null>;
131
+ issueDelegationVC(delegation: DelegationRecord, sessionId: string, oauthIdentity?: OAuthIdentity | null, providedKeyPair?: UserKeyPair | null): Promise<string | null>;
119
132
  /**
120
133
  * Verify a VC-JWT delegation credential
121
134
  *
@@ -190,13 +203,13 @@ export declare class ConsentService {
190
203
  * Link OAuth identity to User DID
191
204
  *
192
205
  * Maps OAuth provider identity (provider + subject) to a persistent User DID.
193
- * If an ephemeral DID exists for the session, it becomes persistent.
194
- *
195
- * Phase 4 PR #3: OAuth Identity Linking
206
+ * Phase 5: Requires existing userDid from AgentShield /identity/resolve endpoint.
207
+ * Throws error if session has no user DID (enforces OAuth → identity flow).
196
208
  *
197
209
  * @param oauthIdentity - OAuth provider identity
198
- * @param sessionId - Current session ID (for ephemeral DID lookup)
210
+ * @param sessionId - Current session ID
199
211
  * @returns Persistent User DID
212
+ * @throws Error if no userDid exists for the session
200
213
  */
201
214
  linkOAuthToUserDid(oauthIdentity: OAuthIdentity, sessionId: string): Promise<string>;
202
215
  /**
@@ -289,6 +302,63 @@ export declare class ConsentService {
289
302
  * Uses Day0 config to determine field name and includes issuerDid when available.
290
303
  */
291
304
  private buildDelegationRequest;
305
+ /**
306
+ * Handle credential-based authentication submission
307
+ *
308
+ * Authenticates user credentials against customer's endpoint, resolves identity
309
+ * via AgentShield, stores token with usage metadata, and creates delegation.
310
+ *
311
+ * @param body - Raw request body with credential fields
312
+ * @returns JSON response
313
+ */
314
+ private handleCredentialApproval;
315
+ /**
316
+ * Parse scopes from form data, handling double JSON encoding
317
+ *
318
+ * The credential form stores scopes as a JSON string in a hidden input,
319
+ * then the form submission script JSON-stringifies the entire form data.
320
+ * This causes double-encoding: "[\"scope1\"]" instead of ["scope1"]
321
+ *
322
+ * @param rawScopes - Raw scopes value from form (may be string or array)
323
+ * @returns Parsed string array of scopes
324
+ */
325
+ private parseScopes;
326
+ /**
327
+ * Fetch credential provider config from AgentShield
328
+ */
329
+ private getCredentialProviderConfig;
330
+ /**
331
+ * Resolve identity via AgentShield for credential-based auth
332
+ */
333
+ private resolveCredentialIdentity;
334
+ /**
335
+ * Store credential token in IdpTokenStorage with usage metadata
336
+ */
337
+ private storeCredentialToken;
338
+ /**
339
+ * Validate CSRF token for credential form submission
340
+ *
341
+ * Uses the same KV-based storage pattern as OAuth state validation.
342
+ * Token is stored when rendering the credential form and validated on submission.
343
+ *
344
+ * @param token - CSRF token from form submission
345
+ * @param sessionId - Session ID the token was issued for
346
+ * @returns True if token is valid
347
+ */
348
+ private validateCredentialCsrfToken;
349
+ /**
350
+ * Store CSRF token for credential form
351
+ *
352
+ * Called when rendering the credential form page.
353
+ *
354
+ * @param sessionId - Session ID to associate token with
355
+ * @returns Generated CSRF token
356
+ */
357
+ storeCredentialCsrfToken(sessionId: string): Promise<string>;
358
+ /**
359
+ * Constant-time string comparison to prevent timing attacks
360
+ */
361
+ private constantTimeCompare;
292
362
  /**
293
363
  * Build full DelegationRecord format request (future format)
294
364
  */
@@ -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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"}