@kya-os/mcp-i-core 1.6.2 → 1.8.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/README.md +1 -1
- package/dist/conformance/index.d.ts +8 -0
- package/dist/conformance/index.js +13 -0
- package/dist/conformance/validate-level2.d.ts +193 -0
- package/dist/conformance/validate-level2.js +284 -0
- package/dist/delegation/outbound-proof.d.ts +3 -2
- package/dist/delegation/outbound-proof.js +3 -2
- package/dist/delegation/utils.d.ts +3 -1
- package/dist/index.d.ts +8 -63
- package/dist/index.js +14 -161
- package/dist/utils/base58.d.ts +4 -28
- package/dist/utils/base58.js +18 -98
- package/dist/utils/base64.d.ts +4 -29
- package/dist/utils/base64.js +18 -167
- package/dist/utils/did-helpers.d.ts +4 -165
- package/dist/utils/did-helpers.js +18 -217
- package/package.json +5 -7
package/dist/index.js
CHANGED
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @kya-os/mcp-i-core
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Compatibility shim. The product-runtime layer has relocated to
|
|
6
|
+
* @kya-os/mcp-i-runtime; this package re-exports it so existing
|
|
7
|
+
* `@kya-os/mcp-i-core` importers keep resolving during the C4 drain window.
|
|
8
|
+
*
|
|
9
|
+
* Delegation (W3C VC) symbols remain sourced here — `src/delegation/**` is
|
|
10
|
+
* pinned by E3.5 (#2904) and is intentionally NOT relocated.
|
|
7
11
|
*/
|
|
8
12
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
13
|
if (k2 === undefined) k2 = k;
|
|
@@ -20,103 +24,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
20
24
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
25
|
};
|
|
22
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.
|
|
24
|
-
|
|
25
|
-
exports.MemoryResumeTokenStore = exports.hasSensitiveScopes = exports.verifyOrHints = exports.validateHandshakeFormat = exports.createHandshakeRequest = exports.SessionManager = exports.extractCanonicalData = void 0;
|
|
26
|
-
// Base providers
|
|
27
|
-
var base_1 = require("./providers/base");
|
|
28
|
-
Object.defineProperty(exports, "CryptoProvider", { enumerable: true, get: function () { return base_1.CryptoProvider; } });
|
|
29
|
-
Object.defineProperty(exports, "ClockProvider", { enumerable: true, get: function () { return base_1.ClockProvider; } });
|
|
30
|
-
Object.defineProperty(exports, "FetchProvider", { enumerable: true, get: function () { return base_1.FetchProvider; } });
|
|
31
|
-
Object.defineProperty(exports, "StorageProvider", { enumerable: true, get: function () { return base_1.StorageProvider; } });
|
|
32
|
-
Object.defineProperty(exports, "NonceCacheProvider", { enumerable: true, get: function () { return base_1.NonceCacheProvider; } });
|
|
33
|
-
Object.defineProperty(exports, "IdentityProvider", { enumerable: true, get: function () { return base_1.IdentityProvider; } });
|
|
34
|
-
// Memory providers
|
|
35
|
-
var memory_1 = require("./providers/memory");
|
|
36
|
-
Object.defineProperty(exports, "MemoryStorageProvider", { enumerable: true, get: function () { return memory_1.MemoryStorageProvider; } });
|
|
37
|
-
Object.defineProperty(exports, "MemoryNonceCacheProvider", { enumerable: true, get: function () { return memory_1.MemoryNonceCacheProvider; } });
|
|
38
|
-
Object.defineProperty(exports, "MemoryIdentityProvider", { enumerable: true, get: function () { return memory_1.MemoryIdentityProvider; } });
|
|
39
|
-
// Runtime
|
|
40
|
-
var base_2 = require("./runtime/base");
|
|
41
|
-
Object.defineProperty(exports, "MCPIRuntimeBase", { enumerable: true, get: function () { return base_2.MCPIRuntimeBase; } });
|
|
42
|
-
// MCP Apps consent constants
|
|
43
|
-
var ext_apps_constants_1 = require("./runtime/ext-apps-constants");
|
|
44
|
-
Object.defineProperty(exports, "CONSENT_UI_RESOURCE_URI", { enumerable: true, get: function () { return ext_apps_constants_1.CONSENT_UI_RESOURCE_URI; } });
|
|
45
|
-
// Utilities
|
|
46
|
-
__exportStar(require("./utils"), exports);
|
|
47
|
-
// Tool Protection
|
|
48
|
-
var tool_protection_service_1 = require("./services/tool-protection.service");
|
|
49
|
-
Object.defineProperty(exports, "ToolProtectionService", { enumerable: true, get: function () { return tool_protection_service_1.ToolProtectionService; } });
|
|
50
|
-
// Policy Service (v1.7.0)
|
|
51
|
-
var policy_service_1 = require("./services/policy.service");
|
|
52
|
-
Object.defineProperty(exports, "PolicyService", { enumerable: true, get: function () { return policy_service_1.PolicyService; } });
|
|
53
|
-
// Crypto Service
|
|
54
|
-
var crypto_service_1 = require("./services/crypto.service");
|
|
55
|
-
Object.defineProperty(exports, "CryptoService", { enumerable: true, get: function () { return crypto_service_1.CryptoService; } });
|
|
56
|
-
// Proof Verifier Service
|
|
57
|
-
var proof_verifier_1 = require("./services/proof-verifier");
|
|
58
|
-
Object.defineProperty(exports, "ProofVerifier", { enumerable: true, get: function () { return proof_verifier_1.ProofVerifier; } });
|
|
59
|
-
// Access Control API Service (stub for Phase 3)
|
|
60
|
-
var access_control_service_1 = require("./services/access-control.service");
|
|
61
|
-
Object.defineProperty(exports, "AccessControlApiService", { enumerable: true, get: function () { return access_control_service_1.AccessControlApiService; } });
|
|
62
|
-
Object.defineProperty(exports, "authorizationMatches", { enumerable: true, get: function () { return access_control_service_1.authorizationMatches; } });
|
|
63
|
-
// Session Registration Service
|
|
64
|
-
var session_registration_service_1 = require("./services/session-registration.service");
|
|
65
|
-
Object.defineProperty(exports, "SessionRegistrationService", { enumerable: true, get: function () { return session_registration_service_1.SessionRegistrationService; } });
|
|
66
|
-
Object.defineProperty(exports, "createSessionRegistrationService", { enumerable: true, get: function () { return session_registration_service_1.createSessionRegistrationService; } });
|
|
67
|
-
// OAuth Config Service (Phase 1)
|
|
68
|
-
var oauth_config_service_1 = require("./services/oauth-config.service");
|
|
69
|
-
Object.defineProperty(exports, "OAuthConfigService", { enumerable: true, get: function () { return oauth_config_service_1.OAuthConfigService; } });
|
|
70
|
-
// OAuth Service (Phase 1)
|
|
71
|
-
var oauth_service_1 = require("./services/oauth-service");
|
|
72
|
-
Object.defineProperty(exports, "OAuthService", { enumerable: true, get: function () { return oauth_service_1.OAuthService; } });
|
|
73
|
-
Object.defineProperty(exports, "defaultSecretResolver", { enumerable: true, get: function () { return oauth_service_1.defaultSecretResolver; } });
|
|
74
|
-
// Tool Context Builder (Phase 1)
|
|
75
|
-
var tool_context_builder_1 = require("./services/tool-context-builder");
|
|
76
|
-
Object.defineProperty(exports, "ToolContextBuilder", { enumerable: true, get: function () { return tool_context_builder_1.ToolContextBuilder; } });
|
|
77
|
-
// OAuth Provider Registry (Phase 2)
|
|
78
|
-
var oauth_provider_registry_1 = require("./services/oauth-provider-registry");
|
|
79
|
-
Object.defineProperty(exports, "OAuthProviderRegistry", { enumerable: true, get: function () { return oauth_provider_registry_1.OAuthProviderRegistry; } });
|
|
80
|
-
// Provider Resolver (Phase 2)
|
|
81
|
-
var provider_resolver_1 = require("./services/provider-resolver");
|
|
82
|
-
Object.defineProperty(exports, "ProviderResolver", { enumerable: true, get: function () { return provider_resolver_1.ProviderResolver; } });
|
|
83
|
-
Object.defineProperty(exports, "ConsentOnlyModeError", { enumerable: true, get: function () { return provider_resolver_1.ConsentOnlyModeError; } });
|
|
84
|
-
Object.defineProperty(exports, "CredentialAuthModeError", { enumerable: true, get: function () { return provider_resolver_1.CredentialAuthModeError; } });
|
|
85
|
-
// Provider Validator (Phase 3)
|
|
86
|
-
var provider_validator_1 = require("./services/provider-validator");
|
|
87
|
-
Object.defineProperty(exports, "ProviderValidator", { enumerable: true, get: function () { return provider_validator_1.ProviderValidator; } });
|
|
88
|
-
Object.defineProperty(exports, "ProviderValidationError", { enumerable: true, get: function () { return provider_validator_1.ProviderValidationError; } });
|
|
89
|
-
// OAuth Token Retrieval Service (Phase 3)
|
|
90
|
-
var oauth_token_retrieval_service_1 = require("./services/oauth-token-retrieval.service");
|
|
91
|
-
Object.defineProperty(exports, "OAuthTokenRetrievalService", { enumerable: true, get: function () { return oauth_token_retrieval_service_1.OAuthTokenRetrievalService; } });
|
|
92
|
-
// Batch Delegation Service (Phase 2)
|
|
93
|
-
var batch_delegation_service_1 = require("./services/batch-delegation.service");
|
|
94
|
-
Object.defineProperty(exports, "BatchDelegationService", { enumerable: true, get: function () { return batch_delegation_service_1.BatchDelegationService; } });
|
|
95
|
-
// OAuth Config Cache
|
|
96
|
-
var oauth_config_cache_1 = require("./cache/oauth-config-cache");
|
|
97
|
-
Object.defineProperty(exports, "InMemoryOAuthConfigCache", { enumerable: true, get: function () { return oauth_config_cache_1.InMemoryOAuthConfigCache; } });
|
|
98
|
-
Object.defineProperty(exports, "NoOpOAuthConfigCache", { enumerable: true, get: function () { return oauth_config_cache_1.NoOpOAuthConfigCache; } });
|
|
99
|
-
// Storage Service Factory
|
|
100
|
-
var storage_service_1 = require("./services/storage.service");
|
|
101
|
-
Object.defineProperty(exports, "createStorageProviders", { enumerable: true, get: function () { return storage_service_1.createStorageProviders; } });
|
|
102
|
-
Object.defineProperty(exports, "StorageKeyHelpers", { enumerable: true, get: function () { return storage_service_1.StorageKeyHelpers; } });
|
|
103
|
-
Object.defineProperty(exports, "migrateLegacyKeys", { enumerable: true, get: function () { return storage_service_1.migrateLegacyKeys; } });
|
|
104
|
-
// Proof Verification Errors
|
|
105
|
-
var errors_1 = require("./services/errors");
|
|
106
|
-
Object.defineProperty(exports, "ProofVerificationError", { enumerable: true, get: function () { return errors_1.ProofVerificationError; } });
|
|
107
|
-
Object.defineProperty(exports, "PROOF_VERIFICATION_ERROR_CODES", { enumerable: true, get: function () { return errors_1.PROOF_VERIFICATION_ERROR_CODES; } });
|
|
108
|
-
Object.defineProperty(exports, "createProofVerificationError", { enumerable: true, get: function () { return errors_1.createProofVerificationError; } });
|
|
109
|
-
var tool_protection_cache_1 = require("./cache/tool-protection-cache");
|
|
110
|
-
Object.defineProperty(exports, "InMemoryToolProtectionCache", { enumerable: true, get: function () { return tool_protection_cache_1.InMemoryToolProtectionCache; } });
|
|
111
|
-
Object.defineProperty(exports, "NoOpToolProtectionCache", { enumerable: true, get: function () { return tool_protection_cache_1.NoOpToolProtectionCache; } });
|
|
112
|
-
var tool_protection_1 = require("./types/tool-protection");
|
|
113
|
-
Object.defineProperty(exports, "DelegationRequiredError", { enumerable: true, get: function () { return tool_protection_1.DelegationRequiredError; } });
|
|
114
|
-
var oauth_required_error_1 = require("./types/oauth-required-error");
|
|
115
|
-
Object.defineProperty(exports, "OAuthRequiredError", { enumerable: true, get: function () { return oauth_required_error_1.OAuthRequiredError; } });
|
|
116
|
-
// Delegation Error Formatter (client-specific messages)
|
|
117
|
-
var delegation_error_formatter_1 = require("./services/delegation-error-formatter");
|
|
118
|
-
Object.defineProperty(exports, "DelegationErrorFormatter", { enumerable: true, get: function () { return delegation_error_formatter_1.DelegationErrorFormatter; } });
|
|
119
|
-
Object.defineProperty(exports, "createDelegationErrorFormatter", { enumerable: true, get: function () { return delegation_error_formatter_1.createDelegationErrorFormatter; } });
|
|
27
|
+
exports.DEFAULT_TRUSTED_ISSUERS = exports.validateLevel2 = exports.parseVCJWT = exports.completeVCJWT = exports.createUnsignedVCJWT = exports.canonicalizeJSON = exports.resolveDidKeySync = exports.publicKeyToJwk = exports.extractPublicKeyFromDidKey = exports.isEd25519DidKey = exports.createDidKeyResolver = exports.buildChainString = exports.buildDelegationProofJWT = exports.MemoryDelegationGraphStorage = exports.MemoryStatusListStorage = exports.createCascadingRevocationManager = exports.CascadingRevocationManager = exports.createDelegationGraph = exports.DelegationGraphManager = exports.isIndexSet = exports.BitstringManager = exports.createStatusListManager = exports.StatusList2021Manager = exports.createDelegationVerifier = exports.DelegationCredentialVerifier = exports.createDelegationIssuer = exports.DelegationCredentialIssuer = void 0;
|
|
28
|
+
__exportStar(require("@kya-os/mcp-i-runtime"), exports);
|
|
120
29
|
// Delegation (W3C VC-based)
|
|
121
30
|
var vc_issuer_1 = require("./delegation/vc-issuer");
|
|
122
31
|
Object.defineProperty(exports, "DelegationCredentialIssuer", { enumerable: true, get: function () { return vc_issuer_1.DelegationCredentialIssuer; } });
|
|
@@ -154,71 +63,15 @@ Object.defineProperty(exports, "isEd25519DidKey", { enumerable: true, get: funct
|
|
|
154
63
|
Object.defineProperty(exports, "extractPublicKeyFromDidKey", { enumerable: true, get: function () { return did_key_resolver_1.extractPublicKeyFromDidKey; } });
|
|
155
64
|
Object.defineProperty(exports, "publicKeyToJwk", { enumerable: true, get: function () { return did_key_resolver_1.publicKeyToJwk; } });
|
|
156
65
|
Object.defineProperty(exports, "resolveDidKeySync", { enumerable: true, get: function () { return did_key_resolver_1.resolveDidKeySync; } });
|
|
157
|
-
//
|
|
158
|
-
var base58_1 = require("./utils/base58");
|
|
159
|
-
Object.defineProperty(exports, "base58Encode", { enumerable: true, get: function () { return base58_1.base58Encode; } });
|
|
160
|
-
Object.defineProperty(exports, "base58Decode", { enumerable: true, get: function () { return base58_1.base58Decode; } });
|
|
161
|
-
Object.defineProperty(exports, "isValidBase58", { enumerable: true, get: function () { return base58_1.isValidBase58; } });
|
|
162
|
-
// Compliance Verification (with JSON Schema draft-07 support)
|
|
163
|
-
var schema_verifier_1 = require("./compliance/schema-verifier");
|
|
164
|
-
Object.defineProperty(exports, "SchemaVerifier", { enumerable: true, get: function () { return schema_verifier_1.SchemaVerifier; } });
|
|
165
|
-
Object.defineProperty(exports, "createSchemaVerifier", { enumerable: true, get: function () { return schema_verifier_1.createSchemaVerifier; } });
|
|
166
|
-
var schema_registry_1 = require("./compliance/schema-registry");
|
|
167
|
-
Object.defineProperty(exports, "SCHEMA_REGISTRY", { enumerable: true, get: function () { return schema_registry_1.SCHEMA_REGISTRY; } });
|
|
168
|
-
Object.defineProperty(exports, "getAllSchemas", { enumerable: true, get: function () { return schema_registry_1.getAllSchemas; } });
|
|
169
|
-
Object.defineProperty(exports, "getSchemasByCategory", { enumerable: true, get: function () { return schema_registry_1.getSchemasByCategory; } });
|
|
170
|
-
Object.defineProperty(exports, "getSchemaById", { enumerable: true, get: function () { return schema_registry_1.getSchemaById; } });
|
|
171
|
-
Object.defineProperty(exports, "getCriticalSchemas", { enumerable: true, get: function () { return schema_registry_1.getCriticalSchemas; } });
|
|
172
|
-
Object.defineProperty(exports, "getSchemaStats", { enumerable: true, get: function () { return schema_registry_1.getSchemaStats; } });
|
|
66
|
+
// Delegation VC JWT utilities
|
|
173
67
|
var utils_1 = require("./delegation/utils");
|
|
174
68
|
Object.defineProperty(exports, "canonicalizeJSON", { enumerable: true, get: function () { return utils_1.canonicalizeJSON; } });
|
|
175
69
|
Object.defineProperty(exports, "createUnsignedVCJWT", { enumerable: true, get: function () { return utils_1.createUnsignedVCJWT; } });
|
|
176
70
|
Object.defineProperty(exports, "completeVCJWT", { enumerable: true, get: function () { return utils_1.completeVCJWT; } });
|
|
177
71
|
Object.defineProperty(exports, "parseVCJWT", { enumerable: true, get: function () { return utils_1.parseVCJWT; } });
|
|
178
|
-
//
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
Object.defineProperty(exports, "
|
|
182
|
-
Object.defineProperty(exports, "
|
|
183
|
-
Object.defineProperty(exports, "base64urlDecodeToString", { enumerable: true, get: function () { return base64_1.base64urlDecodeToString; } });
|
|
184
|
-
Object.defineProperty(exports, "bytesToBase64", { enumerable: true, get: function () { return base64_1.bytesToBase64; } });
|
|
185
|
-
// Configuration types and utilities
|
|
186
|
-
__exportStar(require("./config"), exports);
|
|
187
|
-
// Remote configuration fetching
|
|
188
|
-
var remote_config_1 = require("./config/remote-config");
|
|
189
|
-
Object.defineProperty(exports, "fetchRemoteConfig", { enumerable: true, get: function () { return remote_config_1.fetchRemoteConfig; } });
|
|
190
|
-
// Tool protection helpers
|
|
191
|
-
Object.defineProperty(exports, "getToolProtection", { enumerable: true, get: function () { return remote_config_1.getToolProtection; } });
|
|
192
|
-
Object.defineProperty(exports, "extractToolProtections", { enumerable: true, get: function () { return remote_config_1.extractToolProtections; } });
|
|
193
|
-
Object.defineProperty(exports, "hasMergedToolProtections", { enumerable: true, get: function () { return remote_config_1.hasMergedToolProtections; } });
|
|
194
|
-
// Policy helpers (v1.7.0)
|
|
195
|
-
Object.defineProperty(exports, "getPolicy", { enumerable: true, get: function () { return remote_config_1.getPolicy; } });
|
|
196
|
-
Object.defineProperty(exports, "extractPolicy", { enumerable: true, get: function () { return remote_config_1.extractPolicy; } });
|
|
197
|
-
Object.defineProperty(exports, "hasMergedPolicy", { enumerable: true, get: function () { return remote_config_1.hasMergedPolicy; } });
|
|
198
|
-
Object.defineProperty(exports, "isPolicyEnabled", { enumerable: true, get: function () { return remote_config_1.isPolicyEnabled; } });
|
|
199
|
-
// User DID Manager (Phase 4)
|
|
200
|
-
var user_did_manager_1 = require("./identity/user-did-manager");
|
|
201
|
-
Object.defineProperty(exports, "UserDidManager", { enumerable: true, get: function () { return user_did_manager_1.UserDidManager; } });
|
|
202
|
-
// IDP Token Resolver (Phase 1 - MH-7, updated for CRED-003)
|
|
203
|
-
var idp_token_resolver_1 = require("./identity/idp-token-resolver");
|
|
204
|
-
Object.defineProperty(exports, "IdpTokenResolver", { enumerable: true, get: function () { return idp_token_resolver_1.IdpTokenResolver; } });
|
|
205
|
-
// Logger (transport-aware logging)
|
|
206
|
-
var logging_1 = require("./logging");
|
|
207
|
-
Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logging_1.logger; } });
|
|
208
|
-
Object.defineProperty(exports, "createDefaultConsoleLogger", { enumerable: true, get: function () { return logging_1.createDefaultConsoleLogger; } });
|
|
209
|
-
// Proof generation (platform-agnostic protocol reference â Phase 2)
|
|
210
|
-
var proof_1 = require("./proof");
|
|
211
|
-
Object.defineProperty(exports, "ProofGenerator", { enumerable: true, get: function () { return proof_1.ProofGenerator; } });
|
|
212
|
-
Object.defineProperty(exports, "createProofResponse", { enumerable: true, get: function () { return proof_1.createProofResponse; } });
|
|
213
|
-
Object.defineProperty(exports, "extractCanonicalData", { enumerable: true, get: function () { return proof_1.extractCanonicalData; } });
|
|
214
|
-
// Session management (platform-agnostic protocol reference â Phase 2)
|
|
215
|
-
var session_1 = require("./session");
|
|
216
|
-
Object.defineProperty(exports, "SessionManager", { enumerable: true, get: function () { return session_1.SessionManager; } });
|
|
217
|
-
Object.defineProperty(exports, "createHandshakeRequest", { enumerable: true, get: function () { return session_1.createHandshakeRequest; } });
|
|
218
|
-
Object.defineProperty(exports, "validateHandshakeFormat", { enumerable: true, get: function () { return session_1.validateHandshakeFormat; } });
|
|
219
|
-
// Auth handshake (platform-agnostic protocol reference â Phase 2)
|
|
220
|
-
var auth_1 = require("./auth");
|
|
221
|
-
Object.defineProperty(exports, "verifyOrHints", { enumerable: true, get: function () { return auth_1.verifyOrHints; } });
|
|
222
|
-
Object.defineProperty(exports, "hasSensitiveScopes", { enumerable: true, get: function () { return auth_1.hasSensitiveScopes; } });
|
|
223
|
-
Object.defineProperty(exports, "MemoryResumeTokenStore", { enumerable: true, get: function () { return auth_1.MemoryResumeTokenStore; } });
|
|
72
|
+
// Level 2 capability attestation validator (spec follow-up to
|
|
73
|
+
// modelcontextprotocol-identity#46)
|
|
74
|
+
var index_js_1 = require("./conformance/index.js");
|
|
75
|
+
Object.defineProperty(exports, "validateLevel2", { enumerable: true, get: function () { return index_js_1.validateLevel2; } });
|
|
76
|
+
Object.defineProperty(exports, "DEFAULT_TRUSTED_ISSUERS", { enumerable: true, get: function () { return index_js_1.DEFAULT_TRUSTED_ISSUERS; } });
|
|
224
77
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/base58.d.ts
CHANGED
|
@@ -1,31 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* Used for did:key multibase encoding (with 'z' prefix for base58btc).
|
|
6
|
-
*
|
|
7
|
-
* The Bitcoin alphabet excludes ambiguous characters (0, O, I, l).
|
|
2
|
+
* Compatibility re-export. The implementation moved to @kya-os/mcp-i-runtime
|
|
3
|
+
* (C4 Step 2). Kept here so the pinned `src/delegation/**` (E3.5 #2904) keeps
|
|
4
|
+
* resolving its `../utils/base58` import without being modified.
|
|
8
5
|
*/
|
|
9
|
-
|
|
10
|
-
* Encode bytes to Base58 (Bitcoin alphabet)
|
|
11
|
-
*
|
|
12
|
-
* @param bytes - Bytes to encode
|
|
13
|
-
* @returns Base58-encoded string
|
|
14
|
-
*/
|
|
15
|
-
export declare function base58Encode(bytes: Uint8Array): string;
|
|
16
|
-
/**
|
|
17
|
-
* Decode Base58 (Bitcoin alphabet) to bytes
|
|
18
|
-
*
|
|
19
|
-
* @param encoded - Base58-encoded string
|
|
20
|
-
* @returns Decoded bytes
|
|
21
|
-
* @throws Error if input contains invalid characters
|
|
22
|
-
*/
|
|
23
|
-
export declare function base58Decode(encoded: string): Uint8Array;
|
|
24
|
-
/**
|
|
25
|
-
* Validate a Base58 string
|
|
26
|
-
*
|
|
27
|
-
* @param encoded - String to validate
|
|
28
|
-
* @returns true if valid Base58, false otherwise
|
|
29
|
-
*/
|
|
30
|
-
export declare function isValidBase58(encoded: string): boolean;
|
|
6
|
+
export * from "@kya-os/mcp-i-runtime/utils/base58";
|
|
31
7
|
//# sourceMappingURL=base58.d.ts.map
|
package/dist/utils/base58.js
CHANGED
|
@@ -1,103 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*
|
|
8
|
-
* The Bitcoin alphabet excludes ambiguous characters (0, O, I, l).
|
|
9
|
-
*/
|
|
10
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.base58Encode = base58Encode;
|
|
12
|
-
exports.base58Decode = base58Decode;
|
|
13
|
-
exports.isValidBase58 = isValidBase58;
|
|
14
|
-
const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
15
|
-
const ALPHABET_MAP = new Map();
|
|
16
|
-
// Build reverse lookup map
|
|
17
|
-
for (let i = 0; i < ALPHABET.length; i++) {
|
|
18
|
-
ALPHABET_MAP.set(ALPHABET[i], i);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Encode bytes to Base58 (Bitcoin alphabet)
|
|
22
|
-
*
|
|
23
|
-
* @param bytes - Bytes to encode
|
|
24
|
-
* @returns Base58-encoded string
|
|
25
|
-
*/
|
|
26
|
-
function base58Encode(bytes) {
|
|
27
|
-
if (bytes.length === 0)
|
|
28
|
-
return '';
|
|
29
|
-
// Convert bytes to big integer
|
|
30
|
-
let num = BigInt(0);
|
|
31
|
-
for (let i = 0; i < bytes.length; i++) {
|
|
32
|
-
num = num * BigInt(256) + BigInt(bytes[i]);
|
|
33
|
-
}
|
|
34
|
-
// Convert to base58
|
|
35
|
-
let result = '';
|
|
36
|
-
while (num > 0) {
|
|
37
|
-
result = ALPHABET[Number(num % BigInt(58))] + result;
|
|
38
|
-
num = num / BigInt(58);
|
|
39
|
-
}
|
|
40
|
-
// Add leading zeros (encoded as '1' in base58)
|
|
41
|
-
for (let i = 0; i < bytes.length && bytes[i] === 0; i++) {
|
|
42
|
-
result = '1' + result;
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
43
7
|
}
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
function base58Decode(encoded) {
|
|
54
|
-
if (encoded.length === 0)
|
|
55
|
-
return new Uint8Array(0);
|
|
56
|
-
// Convert base58 to big integer
|
|
57
|
-
let num = BigInt(0);
|
|
58
|
-
for (const char of encoded) {
|
|
59
|
-
const value = ALPHABET_MAP.get(char);
|
|
60
|
-
if (value === undefined) {
|
|
61
|
-
throw new Error(`Invalid base58 character: ${char}`);
|
|
62
|
-
}
|
|
63
|
-
num = num * BigInt(58) + BigInt(value);
|
|
64
|
-
}
|
|
65
|
-
// Convert big integer to bytes
|
|
66
|
-
const bytes = [];
|
|
67
|
-
while (num > 0) {
|
|
68
|
-
bytes.unshift(Number(num % BigInt(256)));
|
|
69
|
-
num = num / BigInt(256);
|
|
70
|
-
}
|
|
71
|
-
// Count leading zeros in input (encoded as '1')
|
|
72
|
-
let leadingZeros = 0;
|
|
73
|
-
for (const char of encoded) {
|
|
74
|
-
if (char === '1') {
|
|
75
|
-
leadingZeros++;
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
// Prepend leading zero bytes
|
|
82
|
-
const result = new Uint8Array(leadingZeros + bytes.length);
|
|
83
|
-
// Leading zeros are already 0 in Uint8Array
|
|
84
|
-
result.set(bytes, leadingZeros);
|
|
85
|
-
return result;
|
|
86
|
-
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
87
17
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* @returns true if valid Base58, false otherwise
|
|
18
|
+
* Compatibility re-export. The implementation moved to @kya-os/mcp-i-runtime
|
|
19
|
+
* (C4 Step 2). Kept here so the pinned `src/delegation/**` (E3.5 #2904) keeps
|
|
20
|
+
* resolving its `../utils/base58` import without being modified.
|
|
92
21
|
*/
|
|
93
|
-
|
|
94
|
-
if (encoded.length === 0)
|
|
95
|
-
return true;
|
|
96
|
-
for (const char of encoded) {
|
|
97
|
-
if (!ALPHABET_MAP.has(char)) {
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
22
|
+
__exportStar(require("@kya-os/mcp-i-runtime/utils/base58"), exports);
|
|
103
23
|
//# sourceMappingURL=base58.js.map
|
package/dist/utils/base64.d.ts
CHANGED
|
@@ -1,32 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* Uses Buffer in Node.js, TextEncoder/Decoder fallback for Workers.
|
|
2
|
+
* Compatibility re-export. The implementation moved to @kya-os/mcp-i-runtime
|
|
3
|
+
* (C4 Step 2). Kept here so the pinned `src/delegation/**` (E3.5 #2904) keeps
|
|
4
|
+
* resolving its `../utils/base64` import without being modified.
|
|
6
5
|
*/
|
|
7
|
-
|
|
8
|
-
* Decode base64url string to string
|
|
9
|
-
*/
|
|
10
|
-
export declare function base64urlDecodeToString(input: string): string;
|
|
11
|
-
/**
|
|
12
|
-
* Decode base64url string to Uint8Array
|
|
13
|
-
*/
|
|
14
|
-
export declare function base64urlDecodeToBytes(input: string): Uint8Array;
|
|
15
|
-
/**
|
|
16
|
-
* Encode string to base64url
|
|
17
|
-
*/
|
|
18
|
-
export declare function base64urlEncodeFromString(input: string): string;
|
|
19
|
-
/**
|
|
20
|
-
* Encode Uint8Array to base64url
|
|
21
|
-
*/
|
|
22
|
-
export declare function base64urlEncodeFromBytes(bytes: Uint8Array): string;
|
|
23
|
-
/**
|
|
24
|
-
* Convert bytes to standard base64 (not base64url)
|
|
25
|
-
*/
|
|
26
|
-
export declare function bytesToBase64(bytes: Uint8Array): string;
|
|
27
|
-
/**
|
|
28
|
-
* Convert standard base64 or base64url to bytes
|
|
29
|
-
* Handles both standard base64 (+/) and base64url (-_) formats
|
|
30
|
-
*/
|
|
31
|
-
export declare function base64ToBytes(base64: string): Uint8Array;
|
|
6
|
+
export * from "@kya-os/mcp-i-runtime/utils/base64";
|
|
32
7
|
//# sourceMappingURL=base64.d.ts.map
|
package/dist/utils/base64.js
CHANGED
|
@@ -1,172 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
8
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.base64urlDecodeToString = base64urlDecodeToString;
|
|
10
|
-
exports.base64urlDecodeToBytes = base64urlDecodeToBytes;
|
|
11
|
-
exports.base64urlEncodeFromString = base64urlEncodeFromString;
|
|
12
|
-
exports.base64urlEncodeFromBytes = base64urlEncodeFromBytes;
|
|
13
|
-
exports.bytesToBase64 = bytesToBase64;
|
|
14
|
-
exports.base64ToBytes = base64ToBytes;
|
|
15
|
-
/**
|
|
16
|
-
* Decode base64url string to string
|
|
17
|
-
*/
|
|
18
|
-
function base64urlDecodeToString(input) {
|
|
19
|
-
const padded = addPadding(input);
|
|
20
|
-
const base64 = padded.replace(/-/g, "+").replace(/_/g, "/");
|
|
21
|
-
// Prefer Buffer when available (Node.js) as it handles UTF-8 correctly
|
|
22
|
-
if (typeof Buffer !== "undefined") {
|
|
23
|
-
// Buffer.from doesn't throw for invalid base64, so we validate first
|
|
24
|
-
const base64Regex = /^[A-Za-z0-9+/]*={0,2}$/;
|
|
25
|
-
if (!base64Regex.test(base64)) {
|
|
26
|
-
throw new Error("Invalid base64url string: contains invalid characters");
|
|
27
|
-
}
|
|
28
|
-
try {
|
|
29
|
-
const decoded = Buffer.from(base64, "base64").toString("utf-8");
|
|
30
|
-
return decoded;
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
throw new Error(`Invalid base64url string: ${error instanceof Error ? error.message : String(error)}`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
// For platforms that don't have Buffer (e.g., Cloudflare Workers)
|
|
37
|
-
if (typeof atob !== "undefined") {
|
|
38
|
-
try {
|
|
39
|
-
const binaryString = atob(base64);
|
|
40
|
-
// Decode UTF-8 bytes to string
|
|
41
|
-
if (typeof TextDecoder !== "undefined") {
|
|
42
|
-
const bytes = new Uint8Array(binaryString.length);
|
|
43
|
-
for (let i = 0; i < binaryString.length; i++) {
|
|
44
|
-
bytes[i] = binaryString.charCodeAt(i);
|
|
45
|
-
}
|
|
46
|
-
return new TextDecoder().decode(bytes);
|
|
47
|
-
}
|
|
48
|
-
// Fallback: return binary string as-is (may not handle UTF-8 correctly)
|
|
49
|
-
return binaryString;
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
throw new Error(`Invalid base64url string: ${error instanceof Error ? error.message : String(error)}`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
throw new Error("Neither Buffer nor atob is available");
|
|
56
|
-
}
|
|
57
17
|
/**
|
|
58
|
-
*
|
|
18
|
+
* Compatibility re-export. The implementation moved to @kya-os/mcp-i-runtime
|
|
19
|
+
* (C4 Step 2). Kept here so the pinned `src/delegation/**` (E3.5 #2904) keeps
|
|
20
|
+
* resolving its `../utils/base64` import without being modified.
|
|
59
21
|
*/
|
|
60
|
-
|
|
61
|
-
const padded = addPadding(input);
|
|
62
|
-
const base64 = padded.replace(/-/g, "+").replace(/_/g, "/");
|
|
63
|
-
// For platforms that don't have Buffer (e.g., Cloudflare Workers)
|
|
64
|
-
if (typeof atob !== "undefined") {
|
|
65
|
-
try {
|
|
66
|
-
const binaryString = atob(base64);
|
|
67
|
-
const bytes = new Uint8Array(binaryString.length);
|
|
68
|
-
for (let i = 0; i < binaryString.length; i++) {
|
|
69
|
-
bytes[i] = binaryString.charCodeAt(i);
|
|
70
|
-
}
|
|
71
|
-
return bytes;
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
throw new Error(`Invalid base64url string: ${error instanceof Error ? error.message : String(error)}`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
// For Node.js environments - Buffer.from doesn't throw, so we can't validate here
|
|
78
|
-
// The caller should validate the result if needed
|
|
79
|
-
return new Uint8Array(Buffer.from(base64, "base64"));
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Encode string to base64url
|
|
83
|
-
*/
|
|
84
|
-
function base64urlEncodeFromString(input) {
|
|
85
|
-
// Prefer Buffer when available (Node.js) as it handles Unicode correctly
|
|
86
|
-
if (typeof Buffer !== "undefined") {
|
|
87
|
-
const base64 = Buffer.from(input, "utf-8").toString("base64");
|
|
88
|
-
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
89
|
-
}
|
|
90
|
-
// For platforms that don't have Buffer (e.g., Cloudflare Workers)
|
|
91
|
-
if (typeof btoa !== "undefined") {
|
|
92
|
-
// btoa doesn't handle Unicode, so we need to encode to UTF-8 bytes first
|
|
93
|
-
try {
|
|
94
|
-
const utf8Bytes = new TextEncoder().encode(input);
|
|
95
|
-
const binaryString = Array.from(utf8Bytes)
|
|
96
|
-
.map((byte) => String.fromCharCode(byte))
|
|
97
|
-
.join("");
|
|
98
|
-
const base64 = btoa(binaryString);
|
|
99
|
-
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
100
|
-
}
|
|
101
|
-
catch {
|
|
102
|
-
// Fallback: if TextEncoder not available, try direct btoa (may fail for Unicode)
|
|
103
|
-
const base64 = btoa(input);
|
|
104
|
-
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
throw new Error("Neither Buffer nor btoa is available");
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Encode Uint8Array to base64url
|
|
111
|
-
*/
|
|
112
|
-
function base64urlEncodeFromBytes(bytes) {
|
|
113
|
-
// For platforms that don't have Buffer
|
|
114
|
-
if (typeof btoa !== "undefined") {
|
|
115
|
-
const binaryString = Array.from(bytes)
|
|
116
|
-
.map((byte) => String.fromCharCode(byte))
|
|
117
|
-
.join("");
|
|
118
|
-
const base64 = btoa(binaryString);
|
|
119
|
-
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
120
|
-
}
|
|
121
|
-
// For Node.js environments
|
|
122
|
-
const base64 = Buffer.from(bytes).toString("base64");
|
|
123
|
-
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Convert bytes to standard base64 (not base64url)
|
|
127
|
-
*/
|
|
128
|
-
function bytesToBase64(bytes) {
|
|
129
|
-
// For platforms that don't have Buffer
|
|
130
|
-
if (typeof btoa !== "undefined") {
|
|
131
|
-
const binaryString = Array.from(bytes)
|
|
132
|
-
.map((byte) => String.fromCharCode(byte))
|
|
133
|
-
.join("");
|
|
134
|
-
return btoa(binaryString);
|
|
135
|
-
}
|
|
136
|
-
// For Node.js environments
|
|
137
|
-
return Buffer.from(bytes).toString("base64");
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Convert standard base64 or base64url to bytes
|
|
141
|
-
* Handles both standard base64 (+/) and base64url (-_) formats
|
|
142
|
-
*/
|
|
143
|
-
function base64ToBytes(base64) {
|
|
144
|
-
// Convert base64url to standard base64 if needed
|
|
145
|
-
// Base64url uses - instead of + and _ instead of /
|
|
146
|
-
let standardBase64 = base64.replace(/-/g, "+").replace(/_/g, "/");
|
|
147
|
-
// Add padding if needed (base64url often omits padding)
|
|
148
|
-
const paddingNeeded = (4 - (standardBase64.length % 4)) % 4;
|
|
149
|
-
standardBase64 += "=".repeat(paddingNeeded);
|
|
150
|
-
// For platforms that don't have Buffer
|
|
151
|
-
if (typeof atob !== "undefined") {
|
|
152
|
-
const binaryString = atob(standardBase64);
|
|
153
|
-
const bytes = new Uint8Array(binaryString.length);
|
|
154
|
-
for (let i = 0; i < binaryString.length; i++) {
|
|
155
|
-
bytes[i] = binaryString.charCodeAt(i);
|
|
156
|
-
}
|
|
157
|
-
return bytes;
|
|
158
|
-
}
|
|
159
|
-
// For Node.js environments
|
|
160
|
-
return new Uint8Array(Buffer.from(standardBase64, "base64"));
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Add padding to base64url string if needed
|
|
164
|
-
*/
|
|
165
|
-
function addPadding(input) {
|
|
166
|
-
const remainder = input.length % 4;
|
|
167
|
-
if (remainder === 0) {
|
|
168
|
-
return input;
|
|
169
|
-
}
|
|
170
|
-
return input + "=".repeat((4 - remainder) % 4);
|
|
171
|
-
}
|
|
22
|
+
__exportStar(require("@kya-os/mcp-i-runtime/utils/base64"), exports);
|
|
172
23
|
//# sourceMappingURL=base64.js.map
|