@atxp/server 0.2.21 → 0.3.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.
Files changed (164) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +8 -0
  2. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  3. package/dist/_virtual/bom-handling.js +4 -0
  4. package/dist/_virtual/bom-handling.js.map +1 -0
  5. package/dist/_virtual/dbcs-codec.js +4 -0
  6. package/dist/_virtual/dbcs-codec.js.map +1 -0
  7. package/dist/_virtual/index.js +8 -0
  8. package/dist/_virtual/index.js.map +1 -0
  9. package/dist/_virtual/index2.js +4 -0
  10. package/dist/_virtual/index2.js.map +1 -0
  11. package/dist/_virtual/index3.js +4 -0
  12. package/dist/_virtual/index3.js.map +1 -0
  13. package/dist/_virtual/index4.js +4 -0
  14. package/dist/_virtual/index4.js.map +1 -0
  15. package/dist/_virtual/index5.js +4 -0
  16. package/dist/_virtual/index5.js.map +1 -0
  17. package/dist/_virtual/inherits.js +4 -0
  18. package/dist/_virtual/inherits.js.map +1 -0
  19. package/dist/_virtual/inherits_browser.js +4 -0
  20. package/dist/_virtual/inherits_browser.js.map +1 -0
  21. package/dist/_virtual/sbcs-codec.js +4 -0
  22. package/dist/_virtual/sbcs-codec.js.map +1 -0
  23. package/dist/_virtual/utf16.js +4 -0
  24. package/dist/_virtual/utf16.js.map +1 -0
  25. package/dist/_virtual/utf32.js +4 -0
  26. package/dist/_virtual/utf32.js.map +1 -0
  27. package/dist/_virtual/utf7.js +4 -0
  28. package/dist/_virtual/utf7.js.map +1 -0
  29. package/dist/atxpContext.js +9 -6
  30. package/dist/atxpContext.js.map +1 -1
  31. package/dist/atxpServer.js +19 -27
  32. package/dist/atxpServer.js.map +1 -1
  33. package/dist/core/mcp.js +39 -0
  34. package/dist/core/mcp.js.map +1 -0
  35. package/dist/{oAuthChallenge.js → core/oauth.js} +21 -12
  36. package/dist/core/oauth.js.map +1 -0
  37. package/dist/{token.js → core/token.js} +13 -7
  38. package/dist/core/token.js.map +1 -0
  39. package/dist/getResource.js +5 -3
  40. package/dist/getResource.js.map +1 -1
  41. package/dist/index.cjs +13727 -0
  42. package/dist/index.cjs.map +1 -0
  43. package/dist/index.d.ts +141 -5
  44. package/dist/index.js +13708 -5
  45. package/dist/index.js.map +1 -1
  46. package/dist/{http.js → node/http.js} +21 -20
  47. package/dist/node/http.js.map +1 -0
  48. package/dist/node/oauth.js +23 -0
  49. package/dist/node/oauth.js.map +1 -0
  50. package/dist/node/token.js +15 -0
  51. package/dist/node/token.js.map +1 -0
  52. package/dist/node_modules/bytes/index.js +181 -0
  53. package/dist/node_modules/bytes/index.js.map +1 -0
  54. package/dist/node_modules/depd/index.js +551 -0
  55. package/dist/node_modules/depd/index.js.map +1 -0
  56. package/dist/node_modules/http-errors/index.js +307 -0
  57. package/dist/node_modules/http-errors/index.js.map +1 -0
  58. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +599 -0
  59. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js.map +1 -0
  60. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +207 -0
  61. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js.map +1 -0
  62. package/dist/node_modules/iconv-lite/encodings/index.js +45 -0
  63. package/dist/node_modules/iconv-lite/encodings/index.js.map +1 -0
  64. package/dist/node_modules/iconv-lite/encodings/internal.js +211 -0
  65. package/dist/node_modules/iconv-lite/encodings/internal.js.map +1 -0
  66. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +84 -0
  67. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js.map +1 -0
  68. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +461 -0
  69. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js.map +1 -0
  70. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +188 -0
  71. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js.map +1 -0
  72. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json.js +507 -0
  73. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json.js.map +1 -0
  74. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json.js +2622 -0
  75. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json.js.map +1 -0
  76. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json.js +2381 -0
  77. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json.js.map +1 -0
  78. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json.js +730 -0
  79. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json.js.map +1 -0
  80. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json.js +823 -0
  81. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json.js.map +1 -0
  82. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json.js +425 -0
  83. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json.js.map +1 -0
  84. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json.js +265 -0
  85. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json.js.map +1 -0
  86. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json.js +549 -0
  87. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json.js.map +1 -0
  88. package/dist/node_modules/iconv-lite/encodings/utf16.js +207 -0
  89. package/dist/node_modules/iconv-lite/encodings/utf16.js.map +1 -0
  90. package/dist/node_modules/iconv-lite/encodings/utf32.js +330 -0
  91. package/dist/node_modules/iconv-lite/encodings/utf32.js.map +1 -0
  92. package/dist/node_modules/iconv-lite/encodings/utf7.js +298 -0
  93. package/dist/node_modules/iconv-lite/encodings/utf7.js.map +1 -0
  94. package/dist/node_modules/iconv-lite/lib/bom-handling.js +62 -0
  95. package/dist/node_modules/iconv-lite/lib/bom-handling.js.map +1 -0
  96. package/dist/node_modules/iconv-lite/lib/index.js +193 -0
  97. package/dist/node_modules/iconv-lite/lib/index.js.map +1 -0
  98. package/dist/node_modules/iconv-lite/lib/streams.js +121 -0
  99. package/dist/node_modules/iconv-lite/lib/streams.js.map +1 -0
  100. package/dist/node_modules/inherits/inherits.js +22 -0
  101. package/dist/node_modules/inherits/inherits.js.map +1 -0
  102. package/dist/node_modules/inherits/inherits_browser.js +39 -0
  103. package/dist/node_modules/inherits/inherits_browser.js.map +1 -0
  104. package/dist/node_modules/raw-body/index.js +352 -0
  105. package/dist/node_modules/raw-body/index.js.map +1 -0
  106. package/dist/node_modules/safer-buffer/safer.js +89 -0
  107. package/dist/node_modules/safer-buffer/safer.js.map +1 -0
  108. package/dist/node_modules/setprototypeof/index.js +27 -0
  109. package/dist/node_modules/setprototypeof/index.js.map +1 -0
  110. package/dist/node_modules/statuses/codes.json.js +68 -0
  111. package/dist/node_modules/statuses/codes.json.js.map +1 -0
  112. package/dist/node_modules/statuses/index.js +158 -0
  113. package/dist/node_modules/statuses/index.js.map +1 -0
  114. package/dist/node_modules/toidentifier/index.js +42 -0
  115. package/dist/node_modules/toidentifier/index.js.map +1 -0
  116. package/dist/node_modules/unpipe/index.js +79 -0
  117. package/dist/node_modules/unpipe/index.js.map +1 -0
  118. package/dist/oAuthMetadata.js +7 -4
  119. package/dist/oAuthMetadata.js.map +1 -1
  120. package/dist/paymentServer.js +5 -20
  121. package/dist/paymentServer.js.map +1 -1
  122. package/dist/protectedResourceMetadata.js +7 -4
  123. package/dist/protectedResourceMetadata.js.map +1 -1
  124. package/dist/requirePayment.js +7 -4
  125. package/dist/requirePayment.js.map +1 -1
  126. package/dist/types.js +4 -2
  127. package/dist/types.js.map +1 -1
  128. package/dist/webapi/mcp.js +25 -0
  129. package/dist/webapi/mcp.js.map +1 -0
  130. package/dist/webapi/oauth.js +21 -0
  131. package/dist/webapi/oauth.js.map +1 -0
  132. package/dist/webapi/token.js +15 -0
  133. package/dist/webapi/token.js.map +1 -0
  134. package/package.json +21 -7
  135. package/dist/atxpContext.d.ts +0 -6
  136. package/dist/atxpContext.d.ts.map +0 -1
  137. package/dist/atxpServer.d.ts +0 -12
  138. package/dist/atxpServer.d.ts.map +0 -1
  139. package/dist/getResource.d.ts +0 -4
  140. package/dist/getResource.d.ts.map +0 -1
  141. package/dist/http.d.ts +0 -7
  142. package/dist/http.d.ts.map +0 -1
  143. package/dist/http.js.map +0 -1
  144. package/dist/index.d.ts.map +0 -1
  145. package/dist/oAuthChallenge.d.ts +0 -4
  146. package/dist/oAuthChallenge.d.ts.map +0 -1
  147. package/dist/oAuthChallenge.js.map +0 -1
  148. package/dist/oAuthMetadata.d.ts +0 -6
  149. package/dist/oAuthMetadata.d.ts.map +0 -1
  150. package/dist/paymentServer.d.ts +0 -62
  151. package/dist/paymentServer.d.ts.map +0 -1
  152. package/dist/protectedResourceMetadata.d.ts +0 -5
  153. package/dist/protectedResourceMetadata.d.ts.map +0 -1
  154. package/dist/requirePayment.d.ts +0 -3
  155. package/dist/requirePayment.d.ts.map +0 -1
  156. package/dist/serverTestHelpers.d.ts +0 -55
  157. package/dist/serverTestHelpers.d.ts.map +0 -1
  158. package/dist/serverTestHelpers.js +0 -88
  159. package/dist/serverTestHelpers.js.map +0 -1
  160. package/dist/token.d.ts +0 -4
  161. package/dist/token.d.ts.map +0 -1
  162. package/dist/token.js.map +0 -1
  163. package/dist/types.d.ts +0 -60
  164. package/dist/types.d.ts.map +0 -1
@@ -0,0 +1,8 @@
1
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
2
+
3
+ function getDefaultExportFromCjs (x) {
4
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
5
+ }
6
+
7
+ export { commonjsGlobal, getDefaultExportFromCjs };
8
+ //# sourceMappingURL=_commonjsHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ var bomHandling = {};
2
+
3
+ export { bomHandling as __exports };
4
+ //# sourceMappingURL=bom-handling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bom-handling.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,4 @@
1
+ var dbcsCodec = {};
2
+
3
+ export { dbcsCodec as __exports };
4
+ //# sourceMappingURL=dbcs-codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbcs-codec.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,8 @@
1
+ import { getDefaultExportFromCjs } from './_commonjsHelpers.js';
2
+ import { __require as requireRawBody } from '../node_modules/raw-body/index.js';
3
+
4
+ var rawBodyExports = requireRawBody();
5
+ var getRawBody = /*@__PURE__*/getDefaultExportFromCjs(rawBodyExports);
6
+
7
+ export { getRawBody as default };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ var bytes = {exports: {}};
2
+
3
+ export { bytes as __module };
4
+ //# sourceMappingURL=index2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,4 @@
1
+ var httpErrors = {exports: {}};
2
+
3
+ export { httpErrors as __module };
4
+ //# sourceMappingURL=index3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,4 @@
1
+ var lib = {exports: {}};
2
+
3
+ export { lib as __module };
4
+ //# sourceMappingURL=index4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,4 @@
1
+ var encodings = {};
2
+
3
+ export { encodings as __exports };
4
+ //# sourceMappingURL=index5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,4 @@
1
+ var inherits = {exports: {}};
2
+
3
+ export { inherits as __module };
4
+ //# sourceMappingURL=inherits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inherits.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,4 @@
1
+ var inherits_browser = {exports: {}};
2
+
3
+ export { inherits_browser as __module };
4
+ //# sourceMappingURL=inherits_browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inherits_browser.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,4 @@
1
+ var sbcsCodec = {};
2
+
3
+ export { sbcsCodec as __exports };
4
+ //# sourceMappingURL=sbcs-codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sbcs-codec.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,4 @@
1
+ var utf16 = {};
2
+
3
+ export { utf16 as __exports };
4
+ //# sourceMappingURL=utf16.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utf16.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,4 @@
1
+ var utf32 = {};
2
+
3
+ export { utf32 as __exports };
4
+ //# sourceMappingURL=utf32.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utf32.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,4 @@
1
+ var utf7 = {};
2
+
3
+ export { utf7 as __exports };
4
+ //# sourceMappingURL=utf7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utf7.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,20 +1,21 @@
1
- import { AsyncLocalStorage } from "async_hooks";
1
+ import { AsyncLocalStorage } from 'async_hooks';
2
+
2
3
  const contextStorage = new AsyncLocalStorage();
3
- export function getATXPConfig() {
4
+ function getATXPConfig() {
4
5
  const context = contextStorage.getStore();
5
6
  return context?.config ?? null;
6
7
  }
7
- export function getATXPResource() {
8
+ function getATXPResource() {
8
9
  const context = contextStorage.getStore();
9
10
  return context?.resource ?? null;
10
11
  }
11
12
  // Helper function to get the current request's user
12
- export function atxpAccountId() {
13
+ function atxpAccountId() {
13
14
  const context = contextStorage.getStore();
14
15
  return context?.tokenData?.sub ?? null;
15
16
  }
16
17
  // Helper function to run code within a user context
17
- export async function withATXPContext(config, resource, tokenInfo, next) {
18
+ async function withATXPContext(config, resource, tokenInfo, next) {
18
19
  config.logger.debug(`Setting user context to ${tokenInfo?.data?.sub ?? 'null'}`);
19
20
  if (tokenInfo && tokenInfo.data?.sub) {
20
21
  if (tokenInfo.token) {
@@ -38,4 +39,6 @@ export async function withATXPContext(config, resource, tokenInfo, next) {
38
39
  };
39
40
  return contextStorage.run(ctx, next);
40
41
  }
41
- //# sourceMappingURL=atxpContext.js.map
42
+
43
+ export { atxpAccountId, getATXPConfig, getATXPResource, withATXPContext };
44
+ //# sourceMappingURL=atxpContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atxpContext.js","sourceRoot":"","sources":["../src/atxpContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,cAAc,GAAG,IAAI,iBAAiB,EAAsB,CAAC;AAQnE,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;IAC1C,OAAO,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;IAC1C,OAAO,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;IAC1C,OAAO,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC;AACzC,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAkB,EAAE,QAAa,EAAE,SAAoD,EAAE,IAAgB;IAC7I,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;IAEjF,IAAG,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QACpC,IAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE,SAAS,CAAC,KAAM;gBAC7B,WAAW,EAAE,EAAE;aAChB,CAAC;YACF,4EAA4E;YAC5E,6DAA6D;YAC7D,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uJAAuJ,CAAC,CAAC;YAC5K,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,IAAI;QAClC,MAAM;QACN,QAAQ;KACT,CAAC;IACF,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"atxpContext.js","sources":["../src/atxpContext.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA,MAAM,cAAc,GAAG,IAAI,iBAAiB,EAAsB;SAQlD,aAAa,GAAA;AAC3B,IAAA,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE;AACzC,IAAA,OAAO,OAAO,EAAE,MAAM,IAAI,IAAI;AAChC;SAEgB,eAAe,GAAA;AAC7B,IAAA,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE;AACzC,IAAA,OAAO,OAAO,EAAE,QAAQ,IAAI,IAAI;AAClC;AAEA;SACgB,aAAa,GAAA;AAC3B,IAAA,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE;AACzC,IAAA,OAAO,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI;AACxC;AAEA;AACO,eAAe,eAAe,CAAC,MAAkB,EAAE,QAAa,EAAE,SAAoD,EAAE,IAAgB,EAAA;AAC7I,IAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,wBAAA,EAA2B,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,CAAA,CAAE,CAAC;IAEhF,IAAG,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;AACnC,QAAA,IAAG,SAAS,CAAC,KAAK,EAAE;AAClB,YAAA,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE,SAAS,CAAC,KAAM;AAC7B,gBAAA,WAAW,EAAE;aACd;;;AAGD,YAAA,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC;QACtE;aAAO;AACL,YAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,qJAAA,CAAuJ,CAAC;AAC3K,YAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;QACtE;IACF;AAEA,IAAA,MAAM,GAAG,GAAG;AACV,QAAA,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,IAAI;QAClC,MAAM;QACN;KACD;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;AACtC;;;;"}
@@ -1,24 +1,24 @@
1
- import { ConsoleLogger, OAuthResourceClient, DEFAULT_AUTHORIZATION_SERVER, MemoryOAuthDb } from "@atxp/common";
2
- import { checkToken } from "./token.js";
3
- import { sendOAuthChallenge } from "./oAuthChallenge.js";
4
- import { withATXPContext } from "./atxpContext.js";
5
- import { parseMcpRequests } from "./http.js";
6
- import { Router } from "express";
7
- import { getProtectedResourceMetadata as getPRMResponse, sendProtectedResourceMetadata } from "./protectedResourceMetadata.js";
8
- import { getResource } from "./getResource.js";
9
- import { ATXPPaymentServer } from "./paymentServer.js";
10
- import { getOAuthMetadata, sendOAuthMetadata } from "./oAuthMetadata.js";
11
- export const DEFAULT_CONFIG = {
1
+ import { DEFAULT_AUTHORIZATION_SERVER, MemoryOAuthDb, OAuthResourceClient, ConsoleLogger } from '@atxp/common';
2
+ import { checkToken } from './node/token.js';
3
+ import { sendOAuthChallenge } from './node/oauth.js';
4
+ import { withATXPContext } from './atxpContext.js';
5
+ import { parseMcpRequests } from './node/http.js';
6
+ import { Router } from 'express';
7
+ import { getProtectedResourceMetadata, sendProtectedResourceMetadata } from './protectedResourceMetadata.js';
8
+ import { getResource } from './getResource.js';
9
+ import { ATXPPaymentServer } from './paymentServer.js';
10
+ import { getOAuthMetadata, sendOAuthMetadata } from './oAuthMetadata.js';
11
+
12
+ const DEFAULT_CONFIG = {
12
13
  mountPath: '/',
13
14
  currency: 'USDC',
14
15
  network: 'base',
15
16
  server: DEFAULT_AUTHORIZATION_SERVER,
16
- atxpAuthClientToken: undefined, // Will be set in buildServerConfig
17
17
  payeeName: 'An ATXP Server',
18
18
  allowHttp: false, // May be overridden in buildServerConfig by process.env.NODE_ENV
19
19
  resource: null, // Set dynamically from the request URL
20
20
  };
21
- export function buildServerConfig(args) {
21
+ function buildServerConfig(args) {
22
22
  if (!args.destination) {
23
23
  throw new Error('destination is required');
24
24
  }
@@ -36,21 +36,11 @@ export function buildServerConfig(args) {
36
36
  clientName: withDefaults.payeeName,
37
37
  });
38
38
  const logger = withDefaults.logger ?? new ConsoleLogger();
39
- let paymentServer;
40
- if (withDefaults.paymentServer) {
41
- paymentServer = withDefaults.paymentServer;
42
- }
43
- else {
44
- if (!withDefaults.atxpAuthClientToken) {
45
- throw new Error('ATXP_AUTH_CLIENT_TOKEN is not set. If no payment server is provided, you must set ATXP_AUTH_CLIENT_TOKEN.');
46
- }
47
- paymentServer = new ATXPPaymentServer(withDefaults.server, withDefaults.atxpAuthClientToken, logger);
48
- }
39
+ const paymentServer = withDefaults.paymentServer ?? new ATXPPaymentServer(withDefaults.server, logger);
49
40
  const built = { oAuthDb, oAuthClient, paymentServer, logger };
50
41
  return Object.freeze({ ...withDefaults, ...built });
51
42
  }
52
- ;
53
- export function atxpServer(args) {
43
+ function atxpServer(args) {
54
44
  const config = buildServerConfig(args);
55
45
  const router = Router();
56
46
  // Regular middleware
@@ -60,7 +50,7 @@ export function atxpServer(args) {
60
50
  const requestUrl = new URL(req.url, req.protocol + '://' + req.host);
61
51
  logger.debug(`Handling ${req.method} ${requestUrl.toString()}`);
62
52
  const resource = getResource(config, requestUrl);
63
- const prmResponse = getPRMResponse(config, requestUrl);
53
+ const prmResponse = getProtectedResourceMetadata(config, requestUrl);
64
54
  if (sendProtectedResourceMetadata(res, prmResponse)) {
65
55
  return;
66
56
  }
@@ -98,4 +88,6 @@ export function atxpServer(args) {
98
88
  router.use(atxpMiddleware);
99
89
  return router;
100
90
  }
101
- //# sourceMappingURL=atxpServer.js.map
91
+
92
+ export { DEFAULT_CONFIG, atxpServer, buildServerConfig };
93
+ //# sourceMappingURL=atxpServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atxpServer.js","sourceRoot":"","sources":["../src/atxpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atxpServer.js","sources":["../src/atxpServer.ts"],"sourcesContent":[null],"names":["getPRMResponse"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Core platform-agnostic MCP request parsing logic
3
+ * Takes parsed JSON and request metadata instead of platform-specific request objects
4
+ */
5
+ function parseMcpRequestsCore(config, requestUrl, method, parsedBody) {
6
+ if (!method || method.toLowerCase() !== 'post') {
7
+ return [];
8
+ }
9
+ // The middleware has to be mounted at the root to serve the protected resource metadata,
10
+ // but the actual MCP server it's controlling is specified by the mountPath.
11
+ const path = requestUrl.pathname.replace(/\/$/, '');
12
+ const mountPath = config.mountPath.replace(/\/$/, '');
13
+ if (path !== mountPath && path !== `${mountPath}/message`) {
14
+ config.logger.debug(`Request path (${path}) does not match the mountPath (${mountPath}), skipping MCP middleware`);
15
+ return [];
16
+ }
17
+ if (!parsedBody || typeof parsedBody !== 'object') {
18
+ return [];
19
+ }
20
+ // Check if it's a JSON-RPC request
21
+ if (Array.isArray(parsedBody)) {
22
+ // Batch request
23
+ return parsedBody.filter(msg => msg && typeof msg === 'object' &&
24
+ msg.jsonrpc === '2.0' &&
25
+ msg.method &&
26
+ msg.id !== undefined);
27
+ }
28
+ else {
29
+ // Single request
30
+ const body = parsedBody;
31
+ if (body.jsonrpc === '2.0' && body.method && body.id !== undefined) {
32
+ return [body];
33
+ }
34
+ }
35
+ return [];
36
+ }
37
+
38
+ export { parseMcpRequestsCore };
39
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sources":["../../src/core/mcp.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;AAGG;AACG,SAAU,oBAAoB,CAClC,MAAkB,EAClB,UAAe,EACf,MAAc,EACd,UAAmB,EAAA;IAEnB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;AAC9C,QAAA,OAAO,EAAE;IACX;;;AAIA,IAAA,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACnD,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACrD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,CAAA,EAAG,SAAS,CAAA,QAAA,CAAU,EAAE;QACzD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,cAAA,EAAiB,IAAI,CAAA,gCAAA,EAAmC,SAAS,CAAA,0BAAA,CAA4B,CAAC;AAClH,QAAA,OAAO,EAAE;IACX;IAEA,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AACjD,QAAA,OAAO,EAAE;IACX;;AAGA,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;;AAE7B,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,IAC1B,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAC9B,GAAG,CAAC,OAAO,KAAK,KAAK;AACrB,YAAA,GAAG,CAAC,MAAM;AACV,YAAA,GAAG,CAAC,EAAE,KAAK,SAAS,CACrB;IACH;SAAO;;QAEL,MAAM,IAAI,GAAG,UAAiB;AAC9B,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;YAClE,OAAO,CAAC,IAAI,CAAC;QACf;IACF;AAEA,IAAA,OAAO,EAAE;AACX;;;;"}
@@ -1,8 +1,12 @@
1
- import { TokenProblem } from "./types.js";
2
- import { assertNever } from "@atxp/common";
3
- export function sendOAuthChallenge(res, tokenCheck) {
1
+ import { TokenProblem } from '../types.js';
2
+
3
+ /**
4
+ * Core platform-agnostic OAuth challenge response creation
5
+ * Returns the response data instead of writing to platform-specific response objects
6
+ */
7
+ function createOAuthChallengeResponseCore(tokenCheck) {
4
8
  if (tokenCheck.passes) {
5
- return false;
9
+ return null;
6
10
  }
7
11
  let status = 401;
8
12
  let body = {};
@@ -18,7 +22,7 @@ export function sendOAuthChallenge(res, tokenCheck) {
18
22
  body = { error: 'invalid_token', error_description: 'Token is not active' };
19
23
  break;
20
24
  case TokenProblem.INVALID_AUDIENCE:
21
- body = { error: 'invalid_token', error_description: 'Token is does not match the expected audience' };
25
+ body = { error: 'invalid_token', error_description: 'Token does not match the expected audience' };
22
26
  break;
23
27
  case TokenProblem.NON_SUFFICIENT_FUNDS:
24
28
  status = 403;
@@ -28,12 +32,17 @@ export function sendOAuthChallenge(res, tokenCheck) {
28
32
  status = 502;
29
33
  body = { error: 'server_error', error_description: 'An internal server error occurred' };
30
34
  break;
31
- default:
32
- assertNever(tokenCheck.problem);
33
35
  }
34
- res.setHeader('WWW-Authenticate', `Bearer resource_metadata="${tokenCheck.resourceMetadataUrl}"`);
35
- res.writeHead(status);
36
- res.end(JSON.stringify(body));
37
- return true;
36
+ const wwwAuthenticate = `Bearer resource_metadata="${tokenCheck.resourceMetadataUrl}"`;
37
+ return {
38
+ status,
39
+ headers: {
40
+ 'Content-Type': 'application/json',
41
+ 'WWW-Authenticate': wwwAuthenticate
42
+ },
43
+ body: JSON.stringify(body)
44
+ };
38
45
  }
39
- //# sourceMappingURL=oAuthChallenge.js.map
46
+
47
+ export { createOAuthChallengeResponseCore };
48
+ //# sourceMappingURL=oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.js","sources":["../../src/core/oauth.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;AAGG;AACG,SAAU,gCAAgC,CAAC,UAAsB,EAAA;AAKrE,IAAA,IAAI,UAAU,CAAC,MAAM,EAAE;AACrB,QAAA,OAAO,IAAI;IACb;IAEA,IAAI,MAAM,GAAG,GAAG;IAChB,IAAI,IAAI,GAAkE,EAAE;;AAG5E,IAAA,QAAQ,UAAU,CAAC,OAAO;QACxB,KAAK,YAAY,CAAC,QAAQ;YACxB;QACF,KAAK,YAAY,CAAC,sBAAsB;YACtC,MAAM,GAAG,GAAG;YACZ,IAAI,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,qDAAqD,EAAE;YAC7G;QACF,KAAK,YAAY,CAAC,aAAa;YAC7B,IAAI,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;YAC3E;QACF,KAAK,YAAY,CAAC,gBAAgB;YAChC,IAAI,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,4CAA4C,EAAE;YAClG;QACF,KAAK,YAAY,CAAC,oBAAoB;YACpC,MAAM,GAAG,GAAG;YACZ,IAAI,GAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE;YACjF;QACF,KAAK,YAAY,CAAC,gBAAgB;YAChC,MAAM,GAAG,GAAG;YACZ,IAAI,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,mCAAmC,EAAE;YACxF;;AAMJ,IAAA,MAAM,eAAe,GAAG,CAAA,0BAAA,EAA6B,UAAU,CAAC,mBAAmB,GAAG;IAEtF,OAAO;QACL,MAAM;AACN,QAAA,OAAO,EAAE;AACP,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;KAC1B;AACH;;;;"}
@@ -1,5 +1,10 @@
1
- import { TokenProblem } from "./types.js";
2
- export async function checkToken(config, resourceURL, req) {
1
+ import { TokenProblem } from '../types.js';
2
+
3
+ /**
4
+ * Core platform-agnostic token checking logic
5
+ * Takes an authorization header string instead of platform-specific request objects
6
+ */
7
+ async function checkTokenCore(config, resourceURL, authorizationHeader) {
3
8
  const protocol = resourceURL.protocol;
4
9
  const host = resourceURL.host;
5
10
  const pathname = resourceURL.pathname;
@@ -9,14 +14,13 @@ export async function checkToken(config, resourceURL, req) {
9
14
  resourceMetadataUrl: protectedResourceMetadataUrl,
10
15
  };
11
16
  // Extract the Bearer token from the Authorization header
12
- const authHeader = req.headers.authorization;
13
- if (!authHeader) {
17
+ if (!authorizationHeader) {
14
18
  return { ...failure, problem: TokenProblem.NO_TOKEN, data: null, token: null };
15
19
  }
16
- if (!authHeader.startsWith('Bearer ')) {
20
+ if (!authorizationHeader.startsWith('Bearer ')) {
17
21
  return { ...failure, problem: TokenProblem.NON_BEARER_AUTH_HEADER, data: null, token: null };
18
22
  }
19
- const token = authHeader.substring(7);
23
+ const token = authorizationHeader.substring(7);
20
24
  try {
21
25
  const introspectionResult = await config.oAuthClient.introspectToken(config.server, token);
22
26
  if (!introspectionResult.active) {
@@ -33,4 +37,6 @@ export async function checkToken(config, resourceURL, req) {
33
37
  return { ...failure, problem: TokenProblem.INTROSPECT_ERROR, data: null, token };
34
38
  }
35
39
  }
36
- //# sourceMappingURL=token.js.map
40
+
41
+ export { checkTokenCore };
42
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sources":["../../src/core/token.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;AAGG;AACI,eAAe,cAAc,CAClC,MAAkB,EAClB,WAAgB,EAChB,mBAAkC,EAAA;AAElC,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ;AACrC,IAAA,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI;AAC7B,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ;IACrC,MAAM,4BAA4B,GAAG,CAAA,EAAG,QAAQ,KAAK,IAAI,CAAA,qCAAA,EAAwC,QAAQ,CAAA,CAAE;AAE3G,IAAA,MAAM,OAAO,GAAG;AACd,QAAA,MAAM,EAAE,KAAc;AACtB,QAAA,mBAAmB,EAAE,4BAA4B;KAClD;;IAGD,IAAI,CAAC,mBAAmB,EAAE;AACxB,QAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;IAC9E;IACA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AAC9C,QAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;IAC5F;IAEA,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;AAE9C,IAAA,IAAI;AACF,QAAA,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;AAE1F,QAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;AAC/B,YAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC;QAC7E;QAEA,OAAO;AACL,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,IAAI,EAAE,mBAAmB;YACzB,KAAK;SACN;IACH;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,kCAAA,EAAqC,KAAK,CAAA,CAAE,CAAC;AACjE,QAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC;IAChF;AACF;;;;"}
@@ -1,8 +1,8 @@
1
- export function getPath(url) {
1
+ function getPath(url) {
2
2
  const fullPath = url.pathname.replace(/^\/$/, '');
3
3
  return fullPath;
4
4
  }
5
- export function getResource(config, requestUrl) {
5
+ function getResource(config, requestUrl) {
6
6
  if (config.resource) {
7
7
  return new URL(config.resource);
8
8
  }
@@ -14,4 +14,6 @@ export function getResource(config, requestUrl) {
14
14
  const resource = new URL(`${protocol}//${requestUrl.host}${resourcePath}`);
15
15
  return resource;
16
16
  }
17
- //# sourceMappingURL=getResource.js.map
17
+
18
+ export { getPath, getResource };
19
+ //# sourceMappingURL=getResource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getResource.js","sourceRoot":"","sources":["../src/getResource.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAkB,EAAE,UAAe;IAC7D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,KAAK,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE7E,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,4FAA4F;IAC5F,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEtG,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,KAAK,UAAU,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC,CAAC;IAC3E,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"getResource.js","sources":["../src/getResource.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEM,SAAU,OAAO,CAAC,GAAQ,EAAA;AAC9B,IAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AACjD,IAAA,OAAO,QAAQ;AACjB;AAEM,SAAU,WAAW,CAAC,MAAkB,EAAE,UAAe,EAAA;AAC7D,IAAA,IAAI,MAAM,CAAC,QAAQ,EAAE;AACnB,QAAA,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;IACjC;AACA,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,GAAG,UAAU,CAAC,QAAQ,GAAG,QAAQ;AACxF,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAA,EAAA,EAAK,UAAU,CAAC,IAAI,CAAA,EAAG,UAAU,CAAC,QAAQ,CAAA,CAAE,CAAC;AAE5E,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;;AAE7B,IAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAErG,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAA,EAAG,QAAQ,CAAA,EAAA,EAAK,UAAU,CAAC,IAAI,CAAA,EAAG,YAAY,CAAA,CAAE,CAAC;AAC1E,IAAA,OAAO,QAAQ;AACjB;;;;"}