mppx 0.5.7 → 0.5.9

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 (102) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/Challenge.d.ts +3 -2
  3. package/dist/Challenge.d.ts.map +1 -1
  4. package/dist/Challenge.js +27 -9
  5. package/dist/Challenge.js.map +1 -1
  6. package/dist/Method.d.ts +32 -14
  7. package/dist/Method.d.ts.map +1 -1
  8. package/dist/Method.js.map +1 -1
  9. package/dist/Store.d.ts +68 -2
  10. package/dist/Store.d.ts.map +1 -1
  11. package/dist/Store.js +41 -4
  12. package/dist/Store.js.map +1 -1
  13. package/dist/mcp-sdk/server/Transport.d.ts.map +1 -1
  14. package/dist/mcp-sdk/server/Transport.js +7 -0
  15. package/dist/mcp-sdk/server/Transport.js.map +1 -1
  16. package/dist/server/Mppx.d.ts +1 -1
  17. package/dist/server/Mppx.d.ts.map +1 -1
  18. package/dist/server/Mppx.js +133 -70
  19. package/dist/server/Mppx.js.map +1 -1
  20. package/dist/server/Transport.d.ts +8 -2
  21. package/dist/server/Transport.d.ts.map +1 -1
  22. package/dist/server/Transport.js +26 -1
  23. package/dist/server/Transport.js.map +1 -1
  24. package/dist/tempo/client/SessionManager.d.ts +13 -2
  25. package/dist/tempo/client/SessionManager.d.ts.map +1 -1
  26. package/dist/tempo/client/SessionManager.js +429 -4
  27. package/dist/tempo/client/SessionManager.js.map +1 -1
  28. package/dist/tempo/internal/fee-payer.d.ts +28 -0
  29. package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
  30. package/dist/tempo/internal/fee-payer.js +89 -0
  31. package/dist/tempo/internal/fee-payer.js.map +1 -1
  32. package/dist/tempo/server/Charge.d.ts +4 -1
  33. package/dist/tempo/server/Charge.d.ts.map +1 -1
  34. package/dist/tempo/server/Charge.js +90 -66
  35. package/dist/tempo/server/Charge.js.map +1 -1
  36. package/dist/tempo/server/Methods.d.ts +3 -0
  37. package/dist/tempo/server/Methods.d.ts.map +1 -1
  38. package/dist/tempo/server/Methods.js +3 -0
  39. package/dist/tempo/server/Methods.js.map +1 -1
  40. package/dist/tempo/server/Session.d.ts +8 -2
  41. package/dist/tempo/server/Session.d.ts.map +1 -1
  42. package/dist/tempo/server/Session.js.map +1 -1
  43. package/dist/tempo/server/index.d.ts +1 -0
  44. package/dist/tempo/server/index.d.ts.map +1 -1
  45. package/dist/tempo/server/index.js +1 -0
  46. package/dist/tempo/server/index.js.map +1 -1
  47. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  48. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  49. package/dist/tempo/server/internal/html.gen.js +1 -1
  50. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  51. package/dist/tempo/server/internal/transport.d.ts.map +1 -1
  52. package/dist/tempo/server/internal/transport.js +16 -6
  53. package/dist/tempo/server/internal/transport.js.map +1 -1
  54. package/dist/tempo/session/ChannelStore.d.ts +12 -1
  55. package/dist/tempo/session/ChannelStore.d.ts.map +1 -1
  56. package/dist/tempo/session/ChannelStore.js +55 -14
  57. package/dist/tempo/session/ChannelStore.js.map +1 -1
  58. package/dist/tempo/session/Sse.d.ts +11 -2
  59. package/dist/tempo/session/Sse.d.ts.map +1 -1
  60. package/dist/tempo/session/Sse.js +66 -25
  61. package/dist/tempo/session/Sse.js.map +1 -1
  62. package/dist/tempo/session/Ws.d.ts +87 -0
  63. package/dist/tempo/session/Ws.d.ts.map +1 -0
  64. package/dist/tempo/session/Ws.js +428 -0
  65. package/dist/tempo/session/Ws.js.map +1 -0
  66. package/dist/tempo/session/index.d.ts +1 -0
  67. package/dist/tempo/session/index.d.ts.map +1 -1
  68. package/dist/tempo/session/index.js +1 -0
  69. package/dist/tempo/session/index.js.map +1 -1
  70. package/package.json +2 -2
  71. package/src/Challenge.test.ts +1 -1
  72. package/src/Challenge.ts +28 -9
  73. package/src/Method.ts +61 -20
  74. package/src/Store.test-d.ts +80 -2
  75. package/src/Store.test.ts +150 -13
  76. package/src/Store.ts +140 -3
  77. package/src/mcp-sdk/server/Transport.test.ts +12 -0
  78. package/src/mcp-sdk/server/Transport.ts +8 -0
  79. package/src/server/Mppx.test.ts +105 -0
  80. package/src/server/Mppx.ts +178 -88
  81. package/src/server/Transport.test.ts +31 -0
  82. package/src/server/Transport.ts +31 -2
  83. package/src/tempo/client/SessionManager.ts +510 -7
  84. package/src/tempo/internal/fee-payer.test.ts +115 -1
  85. package/src/tempo/internal/fee-payer.ts +138 -1
  86. package/src/tempo/server/AtomicStore.test-d.ts +34 -0
  87. package/src/tempo/server/Charge.test.ts +128 -0
  88. package/src/tempo/server/Charge.ts +118 -93
  89. package/src/tempo/server/Methods.ts +3 -0
  90. package/src/tempo/server/Session.test.ts +1044 -47
  91. package/src/tempo/server/Session.ts +8 -2
  92. package/src/tempo/server/Sse.test.ts +29 -0
  93. package/src/tempo/server/index.ts +1 -0
  94. package/src/tempo/server/internal/html/main.ts +9 -10
  95. package/src/tempo/server/internal/html.gen.ts +1 -1
  96. package/src/tempo/server/internal/transport.ts +19 -6
  97. package/src/tempo/session/ChannelStore.test.ts +20 -1
  98. package/src/tempo/session/ChannelStore.ts +77 -14
  99. package/src/tempo/session/Sse.ts +77 -24
  100. package/src/tempo/session/Ws.test.ts +410 -0
  101. package/src/tempo/session/Ws.ts +563 -0
  102. package/src/tempo/session/index.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # mppx
2
2
 
3
+ ## 0.5.9
4
+
5
+ ### Patch Changes
6
+
7
+ - 4d7fe94: Bumped internal deps
8
+
9
+ ## 0.5.8
10
+
11
+ ### Patch Changes
12
+
13
+ - 00572a0: Normalized Tempo fee-payer co-signing for charge flows so the final sponsored transaction is rebuilt from validated fields with centralized fee-payer policy checks.
14
+ - 7d4fdab: Centralize the authoritative challenge verification inputs by adding captured-request and verified-envelope context plumbing, shared canonical HMAC input generation, and a single pinned-request comparison path without changing the existing server hook model.
15
+ - b087c21: Add an optional atomic `Store.update()` primitive for custom store backends and use it to make Tempo replay protection and channel state updates safe across distributed deployments.
16
+
3
17
  ## 0.5.7
4
18
 
5
19
  ### Patch Changes
@@ -63,7 +63,8 @@ export type FromMethods<methods extends readonly Method.Method[]> = {
63
63
  * Creates a challenge from the given parameters.
64
64
  *
65
65
  * If `secretKey` option is provided, the challenge ID is computed as HMAC-SHA256
66
- * over the challenge parameters (realm|method|intent|request|expires|digest),
66
+ * over the canonical challenge ID input
67
+ * (`realm|method|intent|request|expires|digest|opaque`),
67
68
  * cryptographically binding the ID to its contents.
68
69
  *
69
70
  * @param parameters - Challenge parameters.
@@ -130,7 +131,7 @@ export declare namespace from {
130
131
  * Creates a validated challenge from a method intent.
131
132
  *
132
133
  * If `secretKey` option is provided, the challenge ID is computed as HMAC-SHA256
133
- * over the challenge parameters, cryptographically binding the ID to its contents.
134
+ * over the canonical challenge ID input, cryptographically binding the ID to its contents.
134
135
  *
135
136
  * @param intent - The method intent to validate against.
136
137
  * @param parameters - Challenge parameters (realm, request, optional expires/digest, and id if no secretKey).
@@ -1 +1 @@
1
- {"version":3,"file":"Challenge.d.ts","sourceRoot":"","sources":["../src/Challenge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Challenge.d.ts","sourceRoot":"","sources":["../src/Challenge.ts"],"names":[],"mappings":"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"}
package/dist/Challenge.js CHANGED
@@ -36,7 +36,8 @@ export const Schema = z.object({
36
36
  * Creates a challenge from the given parameters.
37
37
  *
38
38
  * If `secretKey` option is provided, the challenge ID is computed as HMAC-SHA256
39
- * over the challenge parameters (realm|method|intent|request|expires|digest),
39
+ * over the canonical challenge ID input
40
+ * (`realm|method|intent|request|expires|digest|opaque`),
40
41
  * cryptographically binding the ID to its contents.
41
42
  *
42
43
  * @param parameters - Challenge parameters.
@@ -91,7 +92,7 @@ export function from(parameters, options) {
91
92
  * Creates a validated challenge from a method intent.
92
93
  *
93
94
  * If `secretKey` option is provided, the challenge ID is computed as HMAC-SHA256
94
- * over the challenge parameters, cryptographically binding the ID to its contents.
95
+ * over the canonical challenge ID input, cryptographically binding the ID to its contents.
95
96
  *
96
97
  * @param intent - The method intent to validate against.
97
98
  * @param parameters - Challenge parameters (realm, request, optional expires/digest, and id if no secretKey).
@@ -433,13 +434,22 @@ export function verify(challenge, options) {
433
434
  export function meta(challenge) {
434
435
  return challenge.opaque;
435
436
  }
436
- /** @internal Computes HMAC-SHA256 challenge ID from parameters. */
437
- function computeId(challenge, options) {
438
- // Each field occupies a fixed positional slot joined by '|'. Optional fields
439
- // use an empty string when absent so the slot count is stable — this avoids
440
- // ambiguity between e.g. (expires set, no digest) vs (no expires, digest set)
441
- // and means adding a new optional field changes all HMACs exactly once.
442
- const input = [
437
+ /**
438
+ * Canonical HMAC input for challenge ID binding per §5.1.2.1.1 of the spec.
439
+ *
440
+ * Seven fixed positional slots, pipe-delimited. Optional fields use empty
441
+ * string when absent so the slot count is stable. This is the single source
442
+ * of truth for what the challenge ID binds to used by both `computeId()`
443
+ * (challenge creation) and `verify()` (credential verification).
444
+ *
445
+ * Slots: realm | method | intent | request | expires | digest | opaque
446
+ *
447
+ * Because the HMAC covers ALL fields, the server does not need to separately
448
+ * pin opaque, digest, or expires during verification — any change to those
449
+ * fields produces a different HMAC and fails the ID comparison.
450
+ */
451
+ function idBindingInput(challenge) {
452
+ return [
443
453
  challenge.realm,
444
454
  challenge.method,
445
455
  challenge.intent,
@@ -448,6 +458,14 @@ function computeId(challenge, options) {
448
458
  challenge.digest ?? '',
449
459
  challenge.opaque ? PaymentRequest.serialize(challenge.opaque) : '',
450
460
  ].join('|');
461
+ }
462
+ /** @internal Computes HMAC-SHA256 challenge ID from parameters. */
463
+ function computeId(challenge, options) {
464
+ // Each field occupies a fixed positional slot joined by '|'. Optional fields
465
+ // use an empty string when absent so the slot count is stable — this avoids
466
+ // ambiguity between e.g. (expires set, no digest) vs (no expires, digest set)
467
+ // and means adding a new optional field changes all HMACs exactly once.
468
+ const input = idBindingInput(challenge);
451
469
  const key = Bytes.fromString(options.secretKey);
452
470
  const data = Bytes.fromString(input);
453
471
  const mac = Hash.hmac256(key, data, { as: 'Bytes' });
@@ -1 +1 @@
1
- {"version":3,"file":"Challenge.js","sourceRoot":"","sources":["../src/Challenge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Challenge.js","sourceRoot":"","sources":["../src/Challenge.ts"],"names":[],"mappings":"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"}
package/dist/Method.d.ts CHANGED
@@ -55,6 +55,35 @@ export type Client<method extends Method = Method, context extends z.ZodMiniType
55
55
  createCredential: CreateCredentialFn<method, context extends z.ZodMiniType ? z.output<context> : Record<never, never>>;
56
56
  };
57
57
  export type AnyClient = Client<any, any>;
58
+ /** Transport-captured request metadata used as the authoritative request snapshot. */
59
+ export type CapturedRequest = {
60
+ readonly headers: Headers;
61
+ readonly method: string;
62
+ readonly url: URL;
63
+ };
64
+ /** Verified challenge + credential pair, bound to the captured request snapshot. */
65
+ export type VerifiedChallengeEnvelope<request extends Record<string, unknown> = Record<string, unknown>, payload = unknown, intent extends string = string, MethodName extends string = string> = {
66
+ readonly capturedRequest: CapturedRequest;
67
+ readonly challenge: Challenge.Challenge<request, intent, MethodName>;
68
+ readonly credential: Credential.Credential<payload, Challenge.Challenge<request, intent, MethodName>>;
69
+ };
70
+ /** Request hook parameters for a single method. */
71
+ export type RequestContext<method extends Method> = {
72
+ capturedRequest?: CapturedRequest;
73
+ credential?: Credential.Credential | null;
74
+ request: z.input<method['schema']['request']>;
75
+ };
76
+ /** Verification hook parameters for a single method. */
77
+ export type VerifyContext<method extends Method> = {
78
+ credential: Credential.Credential<z.output<method['schema']['credential']['payload']>, Challenge.Challenge<z.output<method['schema']['request']>, method['intent'], method['name']>>;
79
+ envelope?: VerifiedChallengeEnvelope<z.output<method['schema']['request']>, z.output<method['schema']['credential']['payload']>, method['intent'], method['name']> | undefined;
80
+ request: z.input<method['schema']['request']>;
81
+ };
82
+ /** Response hook parameters for a single method. */
83
+ export type RespondContext<method extends Method> = VerifyContext<method> & {
84
+ input: globalThis.Request;
85
+ receipt: Receipt.Receipt;
86
+ };
58
87
  /**
59
88
  * A server-side configured method with verification logic.
60
89
  */
@@ -74,15 +103,9 @@ export type CreateCredentialFn<method extends Method, context = unknown> = (para
74
103
  context: context;
75
104
  })) => Promise<string>;
76
105
  /** Request transform function for a single method. */
77
- export type RequestFn<method extends Method> = (options: {
78
- credential?: Credential.Credential | null | undefined;
79
- request: z.input<method['schema']['request']>;
80
- }) => MaybePromise<z.input<method['schema']['request']>>;
106
+ export type RequestFn<method extends Method> = (options: RequestContext<method>) => MaybePromise<z.input<method['schema']['request']>>;
81
107
  /** Verification function for a single method. */
82
- export type VerifyFn<method extends Method> = (parameters: {
83
- credential: Credential.Credential<z.output<method['schema']['credential']['payload']>, Challenge.Challenge<z.output<method['schema']['request']>, method['intent'], method['name']>>;
84
- request: z.input<method['schema']['request']>;
85
- }) => Promise<Receipt.Receipt>;
108
+ export type VerifyFn<method extends Method> = (parameters: VerifyContext<method>) => Promise<Receipt.Receipt>;
86
109
  /**
87
110
  * Optional respond function for a server-side method.
88
111
  *
@@ -96,12 +119,7 @@ export type VerifyFn<method extends Method> = (parameters: {
96
119
  * **HTTP-only.** The `input` parameter is a `Request` object; MCP transports
97
120
  * do not invoke this hook.
98
121
  */
99
- export type RespondFn<method extends Method> = (parameters: {
100
- credential: Credential.Credential<z.output<method['schema']['credential']['payload']>, Challenge.Challenge<z.output<method['schema']['request']>, method['intent'], method['name']>>;
101
- input: globalThis.Request;
102
- receipt: Receipt.Receipt;
103
- request: z.input<method['schema']['request']>;
104
- }) => MaybePromise<globalThis.Response | undefined>;
122
+ export type RespondFn<method extends Method> = (parameters: RespondContext<method>) => MaybePromise<globalThis.Response | undefined>;
105
123
  /** Partial request type for defaults. */
106
124
  export type RequestDefaults<method extends Method> = ExactPartial<z.input<method['schema']['request']>>;
107
125
  /** Makes fields optional if they exist in defaults. */
@@ -1 +1 @@
1
- {"version":3,"file":"Method.d.ts","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,IAAI,MAAM,kCAAkC,CAAA;AAC7D,OAAO,KAAK,KAAK,SAAS,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,KAAK,CAAC,MAAM,UAAU,CAAA;AAElC;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACN,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,CAAC,WAAW,CAAA;SACvB,CAAA;QACD,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAChD,CAAA;CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAChB,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,OAAO,SAAS,CAAC,CAAC,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,WAAW,GAAG,SAAS,IACnE,MAAM,GAAG;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,kBAAkB,CAClC,MAAM,EACN,OAAO,SAAS,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CACzE,CAAA;CACF,CAAA;AACD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAExC;;GAEG;AACH,MAAM,MAAM,MAAM,CAChB,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,QAAQ,SAAS,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,EACxE,iBAAiB,GAAG,SAAS,IAC3B,MAAM,GAAG;IACX,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC/B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;IAC/B,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACvC,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACvC,SAAS,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;IACzC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;CACzB,CAAA;AACD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAE7C,wDAAwD;AACxD,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI,CACzE,UAAU,EAAE;IACV,SAAS,EAAE,SAAS,CAAC,SAAS,CAC5B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EACrC,MAAM,CAAC,QAAQ,CAAC,EAChB,MAAM,CAAC,MAAM,CAAC,CACf,CAAA;CACF,GAAG,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,KACnE,OAAO,CAAC,MAAM,CAAC,CAAA;AAEpB,sDAAsD;AACtD,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,IAAI,CAAC,OAAO,EAAE;IACvD,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI,GAAG,SAAS,CAAA;IACrD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;CAC9C,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAExD,iDAAiD;AACjD,MAAM,MAAM,QAAQ,CAAC,MAAM,SAAS,MAAM,IAAI,CAAC,UAAU,EAAE;IACzD,UAAU,EAAE,UAAU,CAAC,UAAU,CAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,EACnD,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAC7F,CAAA;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;CAC9C,KAAK,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AAE9B;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,IAAI,CAAC,UAAU,EAAE;IAC1D,UAAU,EAAE,UAAU,CAAC,UAAU,CAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,EACnD,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAC7F,CAAA;IACD,KAAK,EAAE,UAAU,CAAC,OAAO,CAAA;IACzB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;CAC9C,KAAK,YAAY,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;AAEnD,yCAAyC;AACzC,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,MAAM,IAAI,YAAY,CAC/D,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CACrC,CAAA;AAED,uDAAuD;AACvD,MAAM,MAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAC1E,OAAO,GACP,SAAS,CAAC,OAAO,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,GACzC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,CAAC,CAAA;AAEjE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CACtB,KAAK,CAAC,MAAM,SAAS,MAAM,EAC3B,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC,WAAW,GAAG,SAAS,GAAG,SAAS,EAC3D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOrF;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,OAAO,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,SAAS,CAAC,CAAC,WAAW,GAAG,SAAS,GAAG,SAAS,IAAI;QAC3F,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,gBAAgB,EAAE,kBAAkB,CAClC,MAAM,EACN,OAAO,SAAS,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CACzE,CAAA;KACF,CAAA;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CACtB,KAAK,CAAC,MAAM,SAAS,MAAM,EAC3B,KAAK,CAAC,QAAQ,SAAS,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,EACnD,KAAK,CAAC,iBAAiB,SAAS,SAAS,CAAC,YAAY,GAAG,SAAS,GAAG,SAAS,EAE9E,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,GAC7D,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAW7C;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,OAAO,CACV,MAAM,SAAS,MAAM,EACrB,QAAQ,SAAS,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,EAC7C,iBAAiB,SAAS,SAAS,CAAC,YAAY,GAAG,SAAS,GAAG,SAAS,IACtE;QACF,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;QAC/B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QAC/B,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;QACvC,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;QACvC,SAAS,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;QACzC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;KACzB,CAAA;CACF"}
1
+ {"version":3,"file":"Method.d.ts","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Method.js","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,IAAI,CAA8B,MAAc;IAC9D,OAAO,MAAM,CAAA;AACf,CAAC;AA8FD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,QAAQ,CAGtB,MAAc,EAAE,OAA0C;IAC1D,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA;IAC7C,OAAO;QACL,GAAG,MAAM;QACT,OAAO;QACP,gBAAgB;KACU,CAAA;AAC9B,CAAC;AAYD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,QAAQ,CAKtB,MAAc,EACd,OAA8D;IAE9D,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IACvE,OAAO;QACL,GAAG,MAAM;QACT,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,OAAO;QACP,SAAS;QACT,MAAM;KACwC,CAAA;AAClD,CAAC"}
1
+ {"version":3,"file":"Method.js","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,IAAI,CAA8B,MAAc;IAC9D,OAAO,MAAM,CAAA;AACf,CAAC;AAuID;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,QAAQ,CAGtB,MAAc,EAAE,OAA0C;IAC1D,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA;IAC7C,OAAO;QACL,GAAG,MAAM;QACT,OAAO;QACP,gBAAgB;KACU,CAAA;AAC9B,CAAC;AAYD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,QAAQ,CAKtB,MAAc,EACd,OAA8D;IAE9D,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IACvE,OAAO;QACL,GAAG,MAAM;QACT,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,OAAO;QACP,SAAS;QACT,MAAM;KACwC,CAAA;AAClD,CAAC"}
package/dist/Store.d.ts CHANGED
@@ -1,38 +1,104 @@
1
1
  export type StoreItemMap = Record<string, unknown>;
2
- export type Store<itemMap extends StoreItemMap = StoreItemMap> = {
2
+ /**
3
+ * Describes the outcome of an atomic {@link Update} callback.
4
+ *
5
+ * - `noop` — leave the stored value unchanged.
6
+ * - `set` — write `value` for the key.
7
+ * - `delete` — remove the key.
8
+ *
9
+ * Every variant carries a `result` that is forwarded to the caller.
10
+ */
11
+ export type Change<value, result> = {
12
+ op: 'noop';
13
+ result: result;
14
+ } | {
15
+ op: 'set';
16
+ value: value;
17
+ result: result;
18
+ } | {
19
+ op: 'delete';
20
+ result: result;
21
+ };
22
+ /**
23
+ * Atomic read-modify-write for a single key.
24
+ *
25
+ * `fn` receives the current value (or `null`) and returns a {@link Change}
26
+ * describing the write to perform. Implementations may retry `fn`, so it
27
+ * must be synchronous and free of side effects.
28
+ */
29
+ export type Update<itemMap extends StoreItemMap = StoreItemMap> = <key extends keyof itemMap & string, result>(key: key, fn: (current: itemMap[key] | null) => Change<itemMap[key], result>) => Promise<result>;
30
+ /** Base key-value actions available on every {@link Store}. */
31
+ export type StoreActions<itemMap extends StoreItemMap = StoreItemMap> = {
3
32
  get: <key extends keyof itemMap & string>(key: key) => Promise<itemMap[key] | null>;
4
33
  put: <key extends keyof itemMap & string>(key: key, value: itemMap[key]) => Promise<void>;
5
34
  delete: <key extends keyof itemMap & string>(key: key) => Promise<void>;
6
35
  };
36
+ /** Atomic actions that can be provided via the `extended` slot. */
37
+ export type AtomicActions<itemMap extends StoreItemMap = StoreItemMap> = {
38
+ update: Update<itemMap>;
39
+ };
40
+ /**
41
+ * Async key-value store.
42
+ *
43
+ * The second generic `extended` accumulates additional capabilities
44
+ * (like {@link AtomicActions}) without structural patching.
45
+ */
46
+ export type Store<itemMap extends StoreItemMap = StoreItemMap, extended extends Record<string, unknown> | undefined = undefined> = StoreActions<itemMap> & (extended extends Record<string, unknown> ? extended : unknown);
47
+ /**
48
+ * A {@link Store} whose atomic {@link Update} method is guaranteed to exist.
49
+ *
50
+ * Use this when atomicity is required (e.g., replay protection, channel
51
+ * deductions). Factory functions return `AtomicStore` when the backing
52
+ * adapter provides an `update` implementation.
53
+ *
54
+ * Equivalent to `Store<itemMap, AtomicActions<itemMap>>`.
55
+ */
56
+ export type AtomicStore<itemMap extends StoreItemMap = StoreItemMap> = Store<itemMap, AtomicActions<itemMap>>;
7
57
  /** Creates a {@link Store} from an existing implementation. */
8
58
  export declare function from<store extends Store>(store: store): store;
59
+ export declare function from<store extends AtomicStore>(store: store): store;
9
60
  /** Wraps a Cloudflare KV namespace. */
61
+ export declare function cloudflare(kv: cloudflare.AtomicParameters): AtomicStore;
10
62
  export declare function cloudflare(kv: cloudflare.Parameters): Store;
11
63
  export declare namespace cloudflare {
12
64
  type Parameters = {
13
65
  get: (key: string) => Promise<unknown>;
14
66
  put: (key: string, value: string) => Promise<void>;
15
67
  delete: (key: string) => Promise<void>;
68
+ update?: <result>(key: string, fn: (current: string | null) => Change<string, result>) => Promise<result>;
69
+ };
70
+ type AtomicParameters = Omit<Parameters, 'update'> & {
71
+ update: NonNullable<Parameters['update']>;
16
72
  };
17
73
  }
18
74
  /** In-memory store backed by a `Map`. JSON-roundtrips values to match production behavior. */
19
- export declare function memory(): Store;
75
+ export declare function memory(): AtomicStore;
20
76
  /** Wraps a standard Redis client (ioredis, node-redis, Valkey). */
77
+ export declare function redis(client: redis.AtomicParameters): AtomicStore;
21
78
  export declare function redis(client: redis.Parameters): Store;
22
79
  export declare namespace redis {
23
80
  type Parameters = {
24
81
  get: (key: string) => Promise<string | null>;
25
82
  set: (key: string, value: string) => Promise<unknown>;
26
83
  del: (key: string) => Promise<unknown>;
84
+ update?: <result>(key: string, fn: (current: string | null) => Change<string, result>) => Promise<result>;
85
+ };
86
+ type AtomicParameters = Omit<Parameters, 'update'> & {
87
+ update: NonNullable<Parameters['update']>;
27
88
  };
28
89
  }
29
90
  /** Wraps an Upstash Redis instance (e.g. Vercel KV). */
91
+ export declare function upstash(redis: upstash.AtomicParameters): AtomicStore;
30
92
  export declare function upstash(redis: upstash.Parameters): Store;
31
93
  export declare namespace upstash {
32
94
  type Parameters = {
33
95
  get: (key: string) => Promise<unknown>;
34
96
  set: (key: string, value: unknown) => Promise<unknown>;
35
97
  del: (key: string) => Promise<unknown>;
98
+ update?: <result>(key: string, fn: (current: unknown | null) => Change<unknown, result>) => Promise<result>;
99
+ };
100
+ type AtomicParameters = Omit<Parameters, 'update'> & {
101
+ update: NonNullable<Parameters['update']>;
36
102
  };
37
103
  }
38
104
  //# sourceMappingURL=Store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAElD,MAAM,MAAM,KAAK,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,IAAI;IAC/D,GAAG,EAAE,CAAC,GAAG,SAAS,MAAM,OAAO,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACnF,GAAG,EAAE,CAAC,GAAG,SAAS,MAAM,OAAO,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzF,MAAM,EAAE,CAAC,GAAG,SAAS,MAAM,OAAO,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxE,CAAA;AAED,+DAA+D;AAC/D,wBAAgB,IAAI,CAAC,KAAK,SAAS,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAE7D;AAED,uCAAuC;AACvC,wBAAgB,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,GAAG,KAAK,CAc3D;AAED,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,KAAY,UAAU,GAAG;QACvB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KACvC,CAAA;CACF;AAED,8FAA8F;AAC9F,wBAAgB,MAAM,IAAI,KAAK,CAe9B;AAED,mEAAmE;AACnE,wBAAgB,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAcrD;AAED,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B,KAAY,UAAU,GAAG;QACvB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;QAC5C,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KACvC,CAAA;CACF;AAED,wDAAwD;AACxD,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,GAAG,KAAK,CAYxD;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAY,UAAU,GAAG;QACvB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;QACtD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KACvC,CAAA;CACF"}
1
+ {"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"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"}
package/dist/Store.js CHANGED
@@ -3,13 +3,36 @@
3
3
  *
4
4
  * Modeled after Cloudflare KV's API (`get`/`put`/`delete`).
5
5
  * Implementations handle serialization internally.
6
+ *
7
+ * ## Type architecture
8
+ *
9
+ * Uses a two-slot generic pattern inspired by Viem's `Client` type:
10
+ *
11
+ * - `itemMap` — constrains keys and their value types
12
+ * - `extended` — accumulates additional capabilities (e.g., atomic `update`)
13
+ *
14
+ * `AtomicStore` is a type alias that fills the `extended` slot with
15
+ * `AtomicActions`, just like Viem's `PublicClient = Client<..., PublicActions>`.
6
16
  */
7
17
  import { Json } from 'ox';
8
- /** Creates a {@link Store} from an existing implementation. */
9
18
  export function from(store) {
10
19
  return store;
11
20
  }
12
- /** Wraps a Cloudflare KV namespace. */
21
+ function wrapJsonUpdate(update) {
22
+ if (!update)
23
+ return {};
24
+ return {
25
+ async update(key, fn) {
26
+ return update(key, (current) => {
27
+ const parsed = current == null ? null : Json.parse(current);
28
+ const change = fn(parsed);
29
+ if (change.op !== 'set')
30
+ return change;
31
+ return { ...change, value: Json.stringify(change.value) };
32
+ });
33
+ },
34
+ };
35
+ }
13
36
  export function cloudflare(kv) {
14
37
  return from({
15
38
  async get(key) {
@@ -24,6 +47,7 @@ export function cloudflare(kv) {
24
47
  async delete(key) {
25
48
  await kv.delete(key);
26
49
  },
50
+ ...wrapJsonUpdate(kv.update),
27
51
  });
28
52
  }
29
53
  /** In-memory store backed by a `Map`. JSON-roundtrips values to match production behavior. */
@@ -42,9 +66,17 @@ export function memory() {
42
66
  async delete(key) {
43
67
  store.delete(key);
44
68
  },
69
+ async update(key, fn) {
70
+ const current = store.has(key) ? Json.parse(store.get(key)) : null;
71
+ const change = fn(current);
72
+ if (change.op === 'set')
73
+ store.set(key, Json.stringify(change.value));
74
+ if (change.op === 'delete')
75
+ store.delete(key);
76
+ return change.result;
77
+ },
45
78
  });
46
79
  }
47
- /** Wraps a standard Redis client (ioredis, node-redis, Valkey). */
48
80
  export function redis(client) {
49
81
  return from({
50
82
  async get(key) {
@@ -59,9 +91,9 @@ export function redis(client) {
59
91
  async delete(key) {
60
92
  await client.del(key);
61
93
  },
94
+ ...wrapJsonUpdate(client.update),
62
95
  });
63
96
  }
64
- /** Wraps an Upstash Redis instance (e.g. Vercel KV). */
65
97
  export function upstash(redis) {
66
98
  return from({
67
99
  async get(key) {
@@ -73,6 +105,11 @@ export function upstash(redis) {
73
105
  async delete(key) {
74
106
  await redis.del(key);
75
107
  },
108
+ ...(redis.update
109
+ ? {
110
+ update: redis.update,
111
+ }
112
+ : {}),
76
113
  });
77
114
  }
78
115
  //# sourceMappingURL=Store.js.map
package/dist/Store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Store.js","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Store.js","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAyEzB,MAAM,UAAU,IAAI,CAAC,KAA0B;IAC7C,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,cAAc,CACrB,MAKa;IAEb,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IACtB,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;YAClB,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CAAA;gBACtE,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;gBACzB,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK;oBAAE,OAAO,MAAM,CAAA;gBACtC,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;YAC3D,CAAC,CAAC,CAAA;QACJ,CAAC;KACsB,CAAA;AAC3B,CAAC;AAKD,MAAM,UAAU,UAAU,CAAC,EAAyB;IAClD,OAAO,IAAI,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC7B,IAAI,GAAG,IAAI,IAAI;gBAAE,OAAO,IAAW,CAAA;YACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAa,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK;YAClB,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG;YACd,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;QACD,GAAG,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC;KAC7B,CAAC,CAAA;AACJ,CAAC;AAkBD,8FAA8F;AAC9F,MAAM,UAAU,MAAM;IACpB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IACvC,OAAO,IAAI,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC1B,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,IAAW,CAAA;YACzC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK;YAClB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QACvC,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG;YACd,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;YAClB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAW,CAAC,CAAC,CAAC,IAAI,CAAA;YAC9E,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,CAAA;YAC1B,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK;gBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YACrE,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ;gBAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC7C,OAAO,MAAM,CAAC,MAAM,CAAA;QACtB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAKD,MAAM,UAAU,KAAK,CAAC,MAAwB;IAC5C,OAAO,IAAI,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACjC,IAAI,GAAG,IAAI,IAAI;gBAAE,OAAO,IAAW,CAAA;YACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK;YAClB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG;YACd,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACvB,CAAC;QACD,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;KACjC,CAAC,CAAA;AACJ,CAAC;AAqBD,MAAM,UAAU,OAAO,CAAC,KAAyB;IAC/C,OAAO,IAAI,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAQ,CAAA;QACtC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK;YAClB,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC7B,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG;YACd,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC;gBACE,MAAM,EAAE,KAAK,CAAC,MAAgB;aAC/B;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAA;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../../src/mcp-sdk/server/Transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAElF,OAAO,KAAK,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AAEtD;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,CAAC,EACF;QACE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAA;QACpD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,GACD,SAAS,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,MAAM,IAAI,MAAM,CA+C/B"}
1
+ {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../../src/mcp-sdk/server/Transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAElF,OAAO,KAAK,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AAEtD;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,CAAC,EACF;QACE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAA;QACpD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,GACD,SAAS,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAuD/B"}
@@ -29,6 +29,13 @@ export function mcpSdk() {
29
29
  let McpErrorClass;
30
30
  return Transport.from({
31
31
  name: 'mcp-sdk',
32
+ captureRequest() {
33
+ return {
34
+ headers: new Headers(),
35
+ method: 'POST',
36
+ url: new URL('mcp://request/sdk'),
37
+ };
38
+ },
32
39
  getCredential(extra) {
33
40
  const credential = extra._meta?.[core_Mcp.credentialMetaKey];
34
41
  if (!credential)
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../../src/mcp-sdk/server/Transport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AAkBtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,MAAM;IACpB,IAAI,aAA0C,CAAA;IAE9C,OAAO,SAAS,CAAC,IAAI,CAAkC;QACrD,IAAI,EAAE,SAAS;QAEf,aAAa,CAAC,KAAK;YACjB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;YAC5D,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAA;YAC5B,OAAO,UAAU,CAAA;QACnB,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;YACzC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAA;oBAC9D,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAA;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,qGAAqG,CACtG,CACA;oBAAC,GAAmC,CAAC,KAAK,GAAG,KAAK,CAAA;oBACnD,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;YACD,OAAO,IAAI,aAAa,CAAC,QAAQ,CAAC,mBAAmB,EAAE,KAAK,EAAE,OAAO,IAAI,kBAAkB,EAAE;gBAC3F,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,GAAG,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;aAChE,CAAC,CAAA;QACJ,CAAC;QAED,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE;YAC/C,MAAM,UAAU,GAAqB;gBACnC,GAAG,OAAO;gBACV,WAAW;aACZ,CAAA;YAED,OAAO;gBACL,GAAG,QAAQ;gBACX,KAAK,EAAE;oBACL,GAAG,QAAQ,CAAC,KAAK;oBACjB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU;iBACtC;aACF,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../../src/mcp-sdk/server/Transport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AAkBtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,MAAM;IACpB,IAAI,aAA0C,CAAA;IAE9C,OAAO,SAAS,CAAC,IAAI,CAAkC;QACrD,IAAI,EAAE,SAAS;QAEf,cAAc;YACZ,OAAO;gBACL,OAAO,EAAE,IAAI,OAAO,EAAE;gBACtB,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,IAAI,GAAG,CAAC,mBAAmB,CAAC;aAClC,CAAA;QACH,CAAC;QAED,aAAa,CAAC,KAAK;YACjB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;YAC5D,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAA;YAC5B,OAAO,UAAU,CAAA;QACnB,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;YACzC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAA;oBAC9D,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAA;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,qGAAqG,CACtG,CACA;oBAAC,GAAmC,CAAC,KAAK,GAAG,KAAK,CAAA;oBACnD,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;YACD,OAAO,IAAI,aAAa,CAAC,QAAQ,CAAC,mBAAmB,EAAE,KAAK,EAAE,OAAO,IAAI,kBAAkB,EAAE;gBAC3F,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,GAAG,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;aAChE,CAAC,CAAA;QACJ,CAAC;QAED,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE;YAC/C,MAAM,UAAU,GAAqB;gBACnC,GAAG,OAAO;gBACV,WAAW;aACZ,CAAA;YAED,OAAO;gBACL,GAAG,QAAQ;gBACX,KAAK,EAAE;oBACL,GAAG,QAAQ,CAAC,KAAK;oBACjB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU;iBACtC;aACF,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { IncomingMessage, ServerResponse } from 'node:http';
2
- import type * as Method from '../Method.js';
2
+ import * as Method from '../Method.js';
3
3
  import type * as z from '../zod.js';
4
4
  import * as Transport from './Transport.js';
5
5
  export type Methods = readonly (Method.AnyServer | readonly Method.AnyServer[])[];
@@ -1 +1 @@
1
- {"version":3,"file":"Mppx.d.ts","sourceRoot":"","sources":["../../src/server/Mppx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mppx.d.ts","sourceRoot":"","sources":["../../src/server/Mppx.ts"],"names":[],"mappings":"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"}