@kya-os/mcp-i-cloudflare 1.13.4 → 1.13.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/providers/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/providers/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EAMd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAS7B;;;GAGG;AACH,UAAU,eAAe;IACvB,GAAG,CACD,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAA;KAAE,GAC9D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,GAAG,CACD,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACnC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACxC,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,eAAe;IAIjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAI/C;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC9C,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,eAAe;IAIjC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvD,GAAG,CACP,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAQV,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,GAAG,IAAI,MAAM;IAIb,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAO7D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAGlC;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IAC/C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAsCrC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAU1C,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAKhD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGnE;AAED;;;GAGG;AACH,UAAU,qBAAqB;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAClC,aAAa,GACb,YAAY,GACZ,wBAAwB,GACxB,sBAAsB,CAAC;AAE3B;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;gBAElC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM;CAUjE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI7C;AAWD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,qBAAqB,GACzB,GAAG,IAAI,qBAAqB,GAAG;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAMA;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,qBAAqB,GACzB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAsB/B;AA4ED;;;;;;;GAOG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAWzD,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,KAAK,CAAC;IAZhB;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B,CAAC,CAAgB;gBAG1C,GAAG,EAAE,GAAG,EACR,cAAc,CAAC,EAAE,GAAG,YAAA,EACpB,KAAK,CAAC,EAAE,kBAAkB,YAAA;IAK9B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAyFrC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAepD,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAkBpC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
@@ -3,12 +3,16 @@
3
3
  *
4
4
  * Implements StorageProvider and NonceCacheProvider using Cloudflare KV.
5
5
  */
6
- import { StorageProvider, NonceCacheProvider, ClockProvider, FetchProvider, IdentityProvider, } from "@kya-os/mcp";
6
+ import { StorageProvider, NonceCacheProvider, ClockProvider, FetchProvider, IdentityProvider, getDidMethod, didKeyFragment, generateDidKeyFromBytes, base64ToBytes, createDidKeyResolver, } from "@kya-os/mcp";
7
+ import { WebCryptoProvider } from "./crypto.js";
7
8
  // Re-export WebCryptoProvider for convenience
8
- export { WebCryptoProvider } from "./crypto.js";
9
- import baseX from "base-x";
10
- // Bitcoin base58 alphabet
11
- const base58 = baseX("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");
9
+ export { WebCryptoProvider };
10
+ /**
11
+ * The ONE did:key document builder this package uses. `@kya-os/mcp` owns the
12
+ * did:key encoding (multicodec prefix, base58btc, spec `#<multibase>` fragment,
13
+ * JWK + multibase keys); nothing here re-implements it.
14
+ */
15
+ const didKeyResolver = createDidKeyResolver();
12
16
  /**
13
17
  * KV storage provider for Cloudflare Workers
14
18
  */
@@ -93,21 +97,22 @@ export class WorkersClockProvider extends ClockProvider {
93
97
  export class WorkersFetchProvider extends FetchProvider {
94
98
  async resolveDID(did) {
95
99
  if (did.startsWith("did:key:")) {
96
- // Offline resolution for did:key
97
- const publicKeyMultibase = did.slice("did:key:".length);
100
+ // Offline resolution for did:key, delegated to the package resolver so
101
+ // there is exactly one did:key document shape in this codebase. Its
102
+ // verification-method id is `<did>#<multibase>` (the did:key spec fixes
103
+ // the fragment to the key itself), which is also what `kidForDid` stamps
104
+ // on every did:key proof this package signs: a verifier looks the
105
+ // proof's kid up in THIS document, so the two have to agree. It publishes
106
+ // both `publicKeyJwk` (the runtime's ProofVerifier reads only that) and
107
+ // `publicKeyMultibase`.
108
+ const doc = await didKeyResolver.resolve(did);
109
+ if (!doc) {
110
+ throw new Error(`Failed to resolve ${did}: not an Ed25519 did:key ` +
111
+ "(expected base58btc multibase of 0xed01 || 32-byte public key)");
112
+ }
98
113
  return {
99
114
  "@context": ["https://www.w3.org/ns/did/v1"],
100
- id: did,
101
- verificationMethod: [
102
- {
103
- id: `${did}#key-1`,
104
- type: "Ed25519VerificationKey2020",
105
- controller: did,
106
- publicKeyMultibase,
107
- },
108
- ],
109
- authentication: [`${did}#key-1`],
110
- assertionMethod: [`${did}#key-1`],
115
+ ...doc,
111
116
  };
112
117
  }
113
118
  if (did.startsWith("did:web:")) {
@@ -136,28 +141,174 @@ export class WorkersFetchProvider extends FetchProvider {
136
141
  return await fetch(url, options);
137
142
  }
138
143
  }
144
+ /**
145
+ * Thrown by {@link getConfiguredIdentity} when all three `MCP_IDENTITY_*` vars
146
+ * are present but do not describe ONE Ed25519 key pair. Distinct from the
147
+ * `null` "not configured" result on purpose: see the fail-closed note on
148
+ * `getConfiguredIdentity`.
149
+ */
150
+ export class ConfiguredIdentityError extends Error {
151
+ mismatch;
152
+ constructor(mismatch, detail) {
153
+ super(`Configured MCP identity is inconsistent (${mismatch}): ${detail} ` +
154
+ "Refusing to load it - a proof signed with this identity would not verify " +
155
+ "against the key its DID advertises. Re-provision MCP_IDENTITY_AGENT_DID, " +
156
+ "MCP_IDENTITY_PRIVATE_KEY and MCP_IDENTITY_PUBLIC_KEY from one key pair.");
157
+ this.name = "ConfiguredIdentityError";
158
+ this.mismatch = mismatch;
159
+ }
160
+ }
161
+ /**
162
+ * The verification-method id (`kid`) for a DID, by DID method.
163
+ *
164
+ * - `did:key` → `<did>#<multibase>`: the did:key spec fixes the fragment to the
165
+ * multibase public-key value. That is what `@kya-os/mcp`'s
166
+ * `createDidKeyResolver`, the contracts fixtures and this package's
167
+ * `WorkersFetchProvider.resolveDID` publish, so a proof carrying this kid
168
+ * resolves to a verification method on every path that verifies this
169
+ * package's proofs. Not yet universal: `@kya-os/mcp-i-runtime`'s
170
+ * `createDIDDocument` and `@kya-os/mcp-i`'s `NodeFetchProvider.resolveDID`
171
+ * still emit `#key-1` for every DID method (known follow-up, not changed
172
+ * here).
173
+ * - everything else (`did:web` in practice) → `<did>#key-1`, which is the id
174
+ * the runtime's own `createDIDDocument` serves at `/.well-known/did.json`.
175
+ */
176
+ export function kidForDid(did) {
177
+ return getDidMethod(did) === "key"
178
+ ? `${did}#${didKeyFragment(did)}`
179
+ : `${did}#key-1`;
180
+ }
181
+ function bytesEqual(left, right) {
182
+ if (left.length !== right.length)
183
+ return false;
184
+ let diff = 0;
185
+ for (let i = 0; i < left.length; i++)
186
+ diff |= left[i] ^ right[i];
187
+ return diff === 0;
188
+ }
189
+ const ED25519_PUBLIC_KEY_BYTES = 32;
190
+ /**
191
+ * Whether `env` carries a complete `MCP_IDENTITY_*` triple. Presence only,
192
+ * no validation: use it to decide WHICH identity path a deployment is on
193
+ * (env-configured vs generated/persisted), then let `getConfiguredIdentity`
194
+ * decide whether that triple is actually usable.
195
+ */
196
+ export function hasConfiguredIdentityEnv(env) {
197
+ return Boolean(env.MCP_IDENTITY_PRIVATE_KEY &&
198
+ env.MCP_IDENTITY_PUBLIC_KEY &&
199
+ env.MCP_IDENTITY_AGENT_DID);
200
+ }
201
+ /**
202
+ * Per-env memo for `getConfiguredIdentity`. Keyed on the env OBJECT (Workers
203
+ * hand every request the same `env` for the life of the isolate) and
204
+ * invalidated when any of the three strings changes, so a corrected triple is
205
+ * re-checked while an unchanged one is not re-derived on every proof. A
206
+ * rejected promise is cached too, under the triple that produced it: that is
207
+ * correct, because the same three strings can never start validating, and a
208
+ * different triple (the operator's fix) lands in a fresh entry.
209
+ */
210
+ const configuredIdentityMemo = new WeakMap();
139
211
  /**
140
212
  * The deployment's own provisioned identity, read directly from env vars — or
141
213
  * `null` when any of the three are absent (an older/undeployed-identity worker).
142
214
  *
143
- * Pure and side-effect-free: callers that want the DO-state-caching/fallback-
144
- * generation behavior on top of this should use `WorkersIdentityProvider`, which
145
- * is built on this same check. Extracted so a caller that only needs "is there a
146
- * real configured identity, and if so what is it" — with its OWN fallback
147
- * strategy when there isn't one — doesn't have to instantiate a class designed
148
- * for a different concern (DO-state persistence across cold starts).
215
+ * When all three are present they are CHECKED, not trusted: the three values
216
+ * are provisioned as independent secrets/vars and nothing else ever confirms
217
+ * they belong together. The public key is re-derived from
218
+ * `MCP_IDENTITY_PRIVATE_KEY` and must equal `MCP_IDENTITY_PUBLIC_KEY`; for a
219
+ * did:key, the DID is re-derived from that public key and must equal
220
+ * `MCP_IDENTITY_AGENT_DID`. (A did:web DID cannot be checked offline - its key
221
+ * lives in a remotely hosted did.json - so only the key pair is verified.)
222
+ *
223
+ * FAIL-CLOSED DECISION: an inconsistent triple THROWS `ConfiguredIdentityError`
224
+ * rather than returning `null`. `null` means "this deployment has no configured
225
+ * identity", and every caller reads it that way - `WorkersIdentityProvider`
226
+ * falls through to DO state or generates a fresh did:key, and the consent
227
+ * anchor bridge mints with an ephemeral issuer. A misprovisioned identity must
228
+ * not silently take either path: the worker would then sign as some DID other
229
+ * than the one operators registered and advertised, which is the exact drift
230
+ * that made the hardware-world worker's response proofs unverifiable. Throwing
231
+ * surfaces the misconfiguration at the first signing attempt, with the
232
+ * offending pair named, instead of hiding it behind a working-looking worker.
233
+ *
234
+ * Side-effect-free (no logging, no storage) apart from a per-env memo of the
235
+ * result (see `configuredIdentityMemo`): callers that want the DO-state-
236
+ * caching/fallback-generation behavior on top of this should use
237
+ * `WorkersIdentityProvider`, which is built on this same check. Extracted so a
238
+ * caller that only needs "is there a real configured identity, and if so what
239
+ * is it", with its OWN fallback strategy when there isn't one, doesn't have
240
+ * to instantiate a class designed for a different concern (DO-state
241
+ * persistence across cold starts).
242
+ *
243
+ * Async because the Web Crypto API (the only Ed25519 implementation available
244
+ * in Workers) is async.
149
245
  */
150
- export function getConfiguredIdentity(env) {
151
- if (!env.MCP_IDENTITY_PRIVATE_KEY ||
152
- !env.MCP_IDENTITY_PUBLIC_KEY ||
153
- !env.MCP_IDENTITY_AGENT_DID) {
246
+ export async function getConfiguredIdentity(env) {
247
+ if (!hasConfiguredIdentityEnv(env)) {
154
248
  return null;
155
249
  }
156
- return {
157
- did: env.MCP_IDENTITY_AGENT_DID,
158
- kid: `${env.MCP_IDENTITY_AGENT_DID}#key-1`,
250
+ const triple = JSON.stringify([
251
+ env.MCP_IDENTITY_PRIVATE_KEY,
252
+ env.MCP_IDENTITY_PUBLIC_KEY,
253
+ env.MCP_IDENTITY_AGENT_DID,
254
+ ]);
255
+ const memoized = configuredIdentityMemo.get(env);
256
+ if (memoized && memoized.triple === triple) {
257
+ return memoized.result;
258
+ }
259
+ const result = verifyConfiguredIdentity({
159
260
  privateKey: env.MCP_IDENTITY_PRIVATE_KEY,
160
261
  publicKey: env.MCP_IDENTITY_PUBLIC_KEY,
262
+ did: env.MCP_IDENTITY_AGENT_DID,
263
+ });
264
+ configuredIdentityMemo.set(env, { triple, result });
265
+ return result;
266
+ }
267
+ /** The uncached check behind `getConfiguredIdentity`; see its doc comment. */
268
+ async function verifyConfiguredIdentity(configured) {
269
+ const { did } = configured;
270
+ // Decode the configured public key first: it is the reference both later
271
+ // comparisons are made against, so a value that is not even a raw key has
272
+ // to be named as such rather than surfacing as a confusing pair mismatch.
273
+ let configuredPublicKeyBytes;
274
+ try {
275
+ configuredPublicKeyBytes = base64ToBytes(configured.publicKey);
276
+ }
277
+ catch (cause) {
278
+ throw new ConfiguredIdentityError("PUBLIC_KEY", "MCP_IDENTITY_PUBLIC_KEY is not valid base64/base64url: " +
279
+ `${cause instanceof Error ? cause.message : String(cause)}.`);
280
+ }
281
+ if (configuredPublicKeyBytes.length !== ED25519_PUBLIC_KEY_BYTES) {
282
+ throw new ConfiguredIdentityError("PUBLIC_KEY", "MCP_IDENTITY_PUBLIC_KEY must be the raw 32-byte Ed25519 public key " +
283
+ `(got ${configuredPublicKeyBytes.length} bytes; SPKI/PEM is not accepted).`);
284
+ }
285
+ let derivedPublicKey;
286
+ try {
287
+ derivedPublicKey = await new WebCryptoProvider().derivePublicKey(configured.privateKey);
288
+ }
289
+ catch (cause) {
290
+ throw new ConfiguredIdentityError("PRIVATE_KEY", "MCP_IDENTITY_PRIVATE_KEY is not a usable Ed25519 private key " +
291
+ "(expected base64 of a 32-byte seed, a 64-byte seed||public-key pair, " +
292
+ `or PKCS#8): ${cause instanceof Error ? cause.message : String(cause)}.`);
293
+ }
294
+ // Compare key BYTES: the env value may be base64 or base64url (KTA emits
295
+ // base64url), and both must be accepted as the same key.
296
+ if (!bytesEqual(base64ToBytes(derivedPublicKey), configuredPublicKeyBytes)) {
297
+ throw new ConfiguredIdentityError("PRIVATE_KEY/PUBLIC_KEY", "the public key derived from MCP_IDENTITY_PRIVATE_KEY is not " +
298
+ "MCP_IDENTITY_PUBLIC_KEY (the two secrets come from different key pairs).");
299
+ }
300
+ if (getDidMethod(did) === "key") {
301
+ const didForPublicKey = generateDidKeyFromBytes(configuredPublicKeyBytes);
302
+ if (didForPublicKey !== did) {
303
+ throw new ConfiguredIdentityError("AGENT_DID/PUBLIC_KEY", `MCP_IDENTITY_AGENT_DID is ${did} but MCP_IDENTITY_PUBLIC_KEY ` +
304
+ `encodes to ${didForPublicKey}.`);
305
+ }
306
+ }
307
+ return {
308
+ did,
309
+ kid: kidForDid(did),
310
+ privateKey: configured.privateKey,
311
+ publicKey: configured.publicKey,
161
312
  createdAt: new Date().toISOString(),
162
313
  type: "production",
163
314
  };
@@ -174,6 +325,14 @@ export class WorkersIdentityProvider extends IdentityProvider {
174
325
  env;
175
326
  cryptoProvider;
176
327
  state;
328
+ /**
329
+ * The env-configured identity this instance last wrote to DO state.
330
+ * `getConfiguredIdentity` memoizes per env object, so while the triple is
331
+ * unchanged it resolves to the SAME object: compare by reference to persist
332
+ * once per (instance, triple) instead of on every `getIdentity()` call (the
333
+ * McpAgent path calls it several times per tool call).
334
+ */
335
+ persistedConfiguredIdentity;
177
336
  constructor(env, cryptoProvider, state) {
178
337
  super();
179
338
  this.env = env;
@@ -183,11 +342,33 @@ export class WorkersIdentityProvider extends IdentityProvider {
183
342
  async getIdentity() {
184
343
  // 1. ALWAYS check environment variables FIRST (highest priority)
185
344
  // This allows operators to update identity by changing env vars without clearing DO storage
186
- const configured = getConfiguredIdentity(this.env);
345
+ let configured;
346
+ try {
347
+ configured = await getConfiguredIdentity(this.env);
348
+ }
349
+ catch (error) {
350
+ // Fail closed and LOUD: a present-but-inconsistent MCP_IDENTITY_* triple
351
+ // must not fall through to DO state or a freshly generated did:key (that
352
+ // would make the worker sign as an identity nobody registered). Log the
353
+ // specific mismatch for the operator, then let the failure propagate.
354
+ console.error("[Identity] Refusing to load configured identity from env vars:", error instanceof Error ? error.message : String(error));
355
+ throw error;
356
+ }
187
357
  if (configured) {
188
- // Update DO state to match current env vars (overwrite any stale cached identity)
189
- if (this.state) {
190
- await this.state.storage.put("agent-identity", configured);
358
+ // Update DO state to match current env vars (overwrite any stale cached
359
+ // identity) - once per (instance, triple), see `persistedConfiguredIdentity`.
360
+ if (this.state && this.persistedConfiguredIdentity !== configured) {
361
+ // Mark before awaiting so a burst of concurrent first calls on a
362
+ // fresh instance issues one put, not one per caller; roll back on
363
+ // failure so the next call retries (and the failure still propagates).
364
+ this.persistedConfiguredIdentity = configured;
365
+ try {
366
+ await this.state.storage.put("agent-identity", configured);
367
+ }
368
+ catch (error) {
369
+ this.persistedConfiguredIdentity = undefined;
370
+ throw error;
371
+ }
191
372
  console.error("[Identity] Loaded from env vars, updated DO state:", configured.did.slice(0, 30) + "...");
192
373
  }
193
374
  return configured;
@@ -205,10 +386,10 @@ export class WorkersIdentityProvider extends IdentityProvider {
205
386
  throw new Error("No identity found and crypto provider not available for generation");
206
387
  }
207
388
  const keyPair = await this.cryptoProvider.generateKeyPair();
208
- const did = this.generateDIDFromPublicKey(keyPair.publicKey);
389
+ const did = generateDidKeyFromBytes(base64ToBytes(keyPair.publicKey));
209
390
  const identity = {
210
391
  did,
211
- kid: `${did}#key-1`,
392
+ kid: kidForDid(did),
212
393
  privateKey: keyPair.privateKey,
213
394
  publicKey: keyPair.publicKey,
214
395
  createdAt: new Date().toISOString(),
@@ -239,10 +420,10 @@ export class WorkersIdentityProvider extends IdentityProvider {
239
420
  throw new Error("Crypto provider required for key rotation");
240
421
  }
241
422
  const keyPair = await this.cryptoProvider.generateKeyPair();
242
- const did = this.generateDIDFromPublicKey(keyPair.publicKey);
423
+ const did = generateDidKeyFromBytes(base64ToBytes(keyPair.publicKey));
243
424
  return {
244
425
  did,
245
- kid: `${did}#key-1`,
426
+ kid: kidForDid(did),
246
427
  privateKey: keyPair.privateKey,
247
428
  publicKey: keyPair.publicKey,
248
429
  createdAt: new Date().toISOString(),
@@ -252,49 +433,5 @@ export class WorkersIdentityProvider extends IdentityProvider {
252
433
  async deleteIdentity() {
253
434
  console.warn("Identity deletion not supported in Workers runtime");
254
435
  }
255
- /**
256
- * Generate did:key from Ed25519 public key
257
- * Following spec: https://w3c-ccg.github.io/did-method-key/
258
- *
259
- * Format: did:key:z<multibase-base58btc(<multicodec-ed25519-pub><publicKey>)>
260
- * Ed25519 multicodec prefix: 0xed 0x01
261
- * Result starts with: did:key:z6Mk (for Ed25519 keys)
262
- */
263
- generateDIDFromPublicKey(publicKey) {
264
- const publicKeyBytes = this.base64ToBytes(publicKey);
265
- // Ed25519 multicodec prefix (0xed01)
266
- const multicodecPrefix = new Uint8Array([0xed, 0x01]);
267
- // Combine prefix + public key
268
- const multicodecKey = new Uint8Array(multicodecPrefix.length + publicKeyBytes.length);
269
- multicodecKey.set(multicodecPrefix);
270
- multicodecKey.set(publicKeyBytes, multicodecPrefix.length);
271
- // Encode with base58-btc (starts with 'z')
272
- const multibaseEncoded = "z" + this.base58Encode(multicodecKey);
273
- return `did:key:${multibaseEncoded}`;
274
- }
275
- /**
276
- * Base58 encode (Bitcoin alphabet) using base-x library
277
- */
278
- base58Encode(bytes) {
279
- return base58.encode(bytes);
280
- }
281
- /**
282
- * Convert base64 or base64url to bytes
283
- * Handles both standard base64 (+/) and base64url (-_) formats
284
- */
285
- base64ToBytes(base64) {
286
- // Convert base64url to standard base64 if needed
287
- // Base64url uses - instead of + and _ instead of /
288
- let standardBase64 = base64.replace(/-/g, "+").replace(/_/g, "/");
289
- // Add padding if needed (base64url often omits padding)
290
- const paddingNeeded = (4 - (standardBase64.length % 4)) % 4;
291
- standardBase64 += "=".repeat(paddingNeeded);
292
- const binaryString = atob(standardBase64);
293
- const bytes = new Uint8Array(binaryString.length);
294
- for (let i = 0; i < binaryString.length; i++) {
295
- bytes[i] = binaryString.charCodeAt(i);
296
- }
297
- return bytes;
298
- }
299
436
  }
300
437
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/providers/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/providers/storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kya-os/mcp-i-cloudflare",
3
- "version": "1.13.4",
3
+ "version": "1.13.5",
4
4
  "description": "Cloudflare Workers adapter for MCP-I framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -37,10 +37,9 @@
37
37
  "@kya-os/provider-registry": "^0.1.7",
38
38
  "@modelcontextprotocol/sdk": "^1.25.2",
39
39
  "agents": "^0.4.1",
40
- "base-x": "^5.0.0",
41
40
  "hono": "^4.12.4",
42
41
  "jose": "^5.6.3",
43
- "json-canonicalize": "^2.0.0",
42
+ "json-canonicalize": "2.0.0",
44
43
  "zod": "^3.25.67"
45
44
  },
46
45
  "peerDependencies": {