vector-framework 1.2.2 → 1.2.3

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 (189) hide show
  1. package/README.md +18 -6
  2. package/dist/auth/protected.d.ts +4 -4
  3. package/dist/auth/protected.d.ts.map +1 -1
  4. package/dist/auth/protected.js +10 -7
  5. package/dist/auth/protected.js.map +1 -1
  6. package/dist/cache/manager.d.ts +2 -0
  7. package/dist/cache/manager.d.ts.map +1 -1
  8. package/dist/cache/manager.js +21 -4
  9. package/dist/cache/manager.js.map +1 -1
  10. package/dist/checkpoint/artifacts/compressor.d.ts +5 -0
  11. package/dist/checkpoint/artifacts/compressor.d.ts.map +1 -0
  12. package/dist/checkpoint/artifacts/compressor.js +24 -0
  13. package/dist/checkpoint/artifacts/compressor.js.map +1 -0
  14. package/dist/checkpoint/artifacts/decompress-worker.d.ts +2 -0
  15. package/dist/checkpoint/artifacts/decompress-worker.d.ts.map +1 -0
  16. package/dist/checkpoint/artifacts/decompress-worker.js +31 -0
  17. package/dist/checkpoint/artifacts/decompress-worker.js.map +1 -0
  18. package/dist/checkpoint/artifacts/hasher.d.ts +2 -0
  19. package/dist/checkpoint/artifacts/hasher.d.ts.map +1 -0
  20. package/dist/checkpoint/artifacts/hasher.js +7 -0
  21. package/dist/checkpoint/artifacts/hasher.js.map +1 -0
  22. package/dist/checkpoint/artifacts/manifest.d.ts +6 -0
  23. package/dist/checkpoint/artifacts/manifest.d.ts.map +1 -0
  24. package/dist/checkpoint/artifacts/manifest.js +55 -0
  25. package/dist/checkpoint/artifacts/manifest.js.map +1 -0
  26. package/dist/checkpoint/artifacts/materializer.d.ts +16 -0
  27. package/dist/checkpoint/artifacts/materializer.d.ts.map +1 -0
  28. package/dist/checkpoint/artifacts/materializer.js +168 -0
  29. package/dist/checkpoint/artifacts/materializer.js.map +1 -0
  30. package/dist/checkpoint/artifacts/packager.d.ts +12 -0
  31. package/dist/checkpoint/artifacts/packager.d.ts.map +1 -0
  32. package/dist/checkpoint/artifacts/packager.js +82 -0
  33. package/dist/checkpoint/artifacts/packager.js.map +1 -0
  34. package/dist/checkpoint/artifacts/repository.d.ts +11 -0
  35. package/dist/checkpoint/artifacts/repository.d.ts.map +1 -0
  36. package/dist/checkpoint/artifacts/repository.js +29 -0
  37. package/dist/checkpoint/artifacts/repository.js.map +1 -0
  38. package/dist/checkpoint/artifacts/store.d.ts +13 -0
  39. package/dist/checkpoint/artifacts/store.d.ts.map +1 -0
  40. package/dist/checkpoint/artifacts/store.js +85 -0
  41. package/dist/checkpoint/artifacts/store.js.map +1 -0
  42. package/dist/checkpoint/artifacts/types.d.ts +21 -0
  43. package/dist/checkpoint/artifacts/types.d.ts.map +1 -0
  44. package/dist/checkpoint/artifacts/types.js +2 -0
  45. package/dist/checkpoint/artifacts/types.js.map +1 -0
  46. package/dist/checkpoint/artifacts/worker-decompressor.d.ts +17 -0
  47. package/dist/checkpoint/artifacts/worker-decompressor.d.ts.map +1 -0
  48. package/dist/checkpoint/artifacts/worker-decompressor.js +148 -0
  49. package/dist/checkpoint/artifacts/worker-decompressor.js.map +1 -0
  50. package/dist/checkpoint/asset-store.d.ts +10 -0
  51. package/dist/checkpoint/asset-store.d.ts.map +1 -0
  52. package/dist/checkpoint/asset-store.js +46 -0
  53. package/dist/checkpoint/asset-store.js.map +1 -0
  54. package/dist/checkpoint/bundler.d.ts +15 -0
  55. package/dist/checkpoint/bundler.d.ts.map +1 -0
  56. package/dist/checkpoint/bundler.js +45 -0
  57. package/dist/checkpoint/bundler.js.map +1 -0
  58. package/dist/checkpoint/cli.d.ts +2 -0
  59. package/dist/checkpoint/cli.d.ts.map +1 -0
  60. package/dist/checkpoint/cli.js +157 -0
  61. package/dist/checkpoint/cli.js.map +1 -0
  62. package/dist/checkpoint/entrypoint-generator.d.ts +17 -0
  63. package/dist/checkpoint/entrypoint-generator.d.ts.map +1 -0
  64. package/dist/checkpoint/entrypoint-generator.js +251 -0
  65. package/dist/checkpoint/entrypoint-generator.js.map +1 -0
  66. package/dist/checkpoint/forwarder.d.ts +6 -0
  67. package/dist/checkpoint/forwarder.d.ts.map +1 -0
  68. package/dist/checkpoint/forwarder.js +74 -0
  69. package/dist/checkpoint/forwarder.js.map +1 -0
  70. package/dist/checkpoint/gateway.d.ts +11 -0
  71. package/dist/checkpoint/gateway.d.ts.map +1 -0
  72. package/dist/checkpoint/gateway.js +30 -0
  73. package/dist/checkpoint/gateway.js.map +1 -0
  74. package/dist/checkpoint/ipc.d.ts +12 -0
  75. package/dist/checkpoint/ipc.d.ts.map +1 -0
  76. package/dist/checkpoint/ipc.js +96 -0
  77. package/dist/checkpoint/ipc.js.map +1 -0
  78. package/dist/checkpoint/manager.d.ts +20 -0
  79. package/dist/checkpoint/manager.d.ts.map +1 -0
  80. package/dist/checkpoint/manager.js +214 -0
  81. package/dist/checkpoint/manager.js.map +1 -0
  82. package/dist/checkpoint/process-manager.d.ts +35 -0
  83. package/dist/checkpoint/process-manager.d.ts.map +1 -0
  84. package/dist/checkpoint/process-manager.js +203 -0
  85. package/dist/checkpoint/process-manager.js.map +1 -0
  86. package/dist/checkpoint/resolver.d.ts +25 -0
  87. package/dist/checkpoint/resolver.d.ts.map +1 -0
  88. package/dist/checkpoint/resolver.js +95 -0
  89. package/dist/checkpoint/resolver.js.map +1 -0
  90. package/dist/checkpoint/socket-path.d.ts +2 -0
  91. package/dist/checkpoint/socket-path.d.ts.map +1 -0
  92. package/dist/checkpoint/socket-path.js +51 -0
  93. package/dist/checkpoint/socket-path.js.map +1 -0
  94. package/dist/checkpoint/types.d.ts +54 -0
  95. package/dist/checkpoint/types.d.ts.map +1 -0
  96. package/dist/checkpoint/types.js +2 -0
  97. package/dist/checkpoint/types.js.map +1 -0
  98. package/dist/cli/index.js +10 -2
  99. package/dist/cli/index.js.map +1 -1
  100. package/dist/cli/option-resolution.d.ts +1 -1
  101. package/dist/cli/option-resolution.d.ts.map +1 -1
  102. package/dist/cli/option-resolution.js.map +1 -1
  103. package/dist/cli.js +3709 -328
  104. package/dist/core/config-loader.d.ts +1 -0
  105. package/dist/core/config-loader.d.ts.map +1 -1
  106. package/dist/core/config-loader.js +10 -2
  107. package/dist/core/config-loader.js.map +1 -1
  108. package/dist/core/router.d.ts +24 -3
  109. package/dist/core/router.d.ts.map +1 -1
  110. package/dist/core/router.js +398 -249
  111. package/dist/core/router.js.map +1 -1
  112. package/dist/core/server.d.ts +2 -0
  113. package/dist/core/server.d.ts.map +1 -1
  114. package/dist/core/server.js +22 -8
  115. package/dist/core/server.js.map +1 -1
  116. package/dist/core/vector.d.ts +3 -0
  117. package/dist/core/vector.d.ts.map +1 -1
  118. package/dist/core/vector.js +51 -1
  119. package/dist/core/vector.js.map +1 -1
  120. package/dist/dev/route-scanner.d.ts.map +1 -1
  121. package/dist/dev/route-scanner.js +2 -1
  122. package/dist/dev/route-scanner.js.map +1 -1
  123. package/dist/http.d.ts +32 -7
  124. package/dist/http.d.ts.map +1 -1
  125. package/dist/http.js +144 -13
  126. package/dist/http.js.map +1 -1
  127. package/dist/index.cjs +1297 -74
  128. package/dist/index.d.ts +3 -2
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +2 -2
  131. package/dist/index.js.map +1 -1
  132. package/dist/index.mjs +1296 -73
  133. package/dist/middleware/manager.d.ts +3 -3
  134. package/dist/middleware/manager.d.ts.map +1 -1
  135. package/dist/middleware/manager.js +9 -8
  136. package/dist/middleware/manager.js.map +1 -1
  137. package/dist/openapi/docs-ui.d.ts.map +1 -1
  138. package/dist/openapi/docs-ui.js +1097 -61
  139. package/dist/openapi/docs-ui.js.map +1 -1
  140. package/dist/openapi/generator.d.ts +2 -1
  141. package/dist/openapi/generator.d.ts.map +1 -1
  142. package/dist/openapi/generator.js +240 -7
  143. package/dist/openapi/generator.js.map +1 -1
  144. package/dist/types/index.d.ts +71 -28
  145. package/dist/types/index.d.ts.map +1 -1
  146. package/dist/types/index.js +24 -1
  147. package/dist/types/index.js.map +1 -1
  148. package/dist/utils/validation.d.ts.map +1 -1
  149. package/dist/utils/validation.js +3 -2
  150. package/dist/utils/validation.js.map +1 -1
  151. package/package.json +2 -1
  152. package/src/auth/protected.ts +11 -8
  153. package/src/cache/manager.ts +23 -4
  154. package/src/checkpoint/artifacts/compressor.ts +30 -0
  155. package/src/checkpoint/artifacts/decompress-worker.ts +49 -0
  156. package/src/checkpoint/artifacts/hasher.ts +6 -0
  157. package/src/checkpoint/artifacts/manifest.ts +72 -0
  158. package/src/checkpoint/artifacts/materializer.ts +211 -0
  159. package/src/checkpoint/artifacts/packager.ts +100 -0
  160. package/src/checkpoint/artifacts/repository.ts +36 -0
  161. package/src/checkpoint/artifacts/store.ts +102 -0
  162. package/src/checkpoint/artifacts/types.ts +24 -0
  163. package/src/checkpoint/artifacts/worker-decompressor.ts +192 -0
  164. package/src/checkpoint/asset-store.ts +61 -0
  165. package/src/checkpoint/bundler.ts +64 -0
  166. package/src/checkpoint/cli.ts +177 -0
  167. package/src/checkpoint/entrypoint-generator.ts +275 -0
  168. package/src/checkpoint/forwarder.ts +84 -0
  169. package/src/checkpoint/gateway.ts +40 -0
  170. package/src/checkpoint/ipc.ts +107 -0
  171. package/src/checkpoint/manager.ts +254 -0
  172. package/src/checkpoint/process-manager.ts +250 -0
  173. package/src/checkpoint/resolver.ts +124 -0
  174. package/src/checkpoint/socket-path.ts +61 -0
  175. package/src/checkpoint/types.ts +63 -0
  176. package/src/cli/index.ts +11 -2
  177. package/src/cli/option-resolution.ts +5 -1
  178. package/src/core/config-loader.ts +11 -2
  179. package/src/core/router.ts +505 -264
  180. package/src/core/server.ts +36 -9
  181. package/src/core/vector.ts +60 -1
  182. package/src/dev/route-scanner.ts +2 -1
  183. package/src/http.ts +219 -19
  184. package/src/index.ts +3 -2
  185. package/src/middleware/manager.ts +10 -10
  186. package/src/openapi/docs-ui.ts +1097 -61
  187. package/src/openapi/generator.ts +265 -6
  188. package/src/types/index.ts +83 -30
  189. package/src/utils/validation.ts +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,25 @@
1
- export {};
1
+ export var OpenApiSecuritySchemeType;
2
+ (function (OpenApiSecuritySchemeType) {
3
+ OpenApiSecuritySchemeType["ApiKey"] = "apiKey";
4
+ OpenApiSecuritySchemeType["Http"] = "http";
5
+ OpenApiSecuritySchemeType["MutualTls"] = "mutualTLS";
6
+ OpenApiSecuritySchemeType["OAuth2"] = "oauth2";
7
+ OpenApiSecuritySchemeType["OpenIdConnect"] = "openIdConnect";
8
+ })(OpenApiSecuritySchemeType || (OpenApiSecuritySchemeType = {}));
9
+ export var HttpAuthScheme;
10
+ (function (HttpAuthScheme) {
11
+ HttpAuthScheme["Basic"] = "basic";
12
+ HttpAuthScheme["Bearer"] = "bearer";
13
+ HttpAuthScheme["Digest"] = "digest";
14
+ })(HttpAuthScheme || (HttpAuthScheme = {}));
15
+ export var AuthKind;
16
+ (function (AuthKind) {
17
+ AuthKind["ApiKey"] = "ApiKey";
18
+ AuthKind["HttpBasic"] = "HttpBasic";
19
+ AuthKind["HttpBearer"] = "HttpBearer";
20
+ AuthKind["HttpDigest"] = "HttpDigest";
21
+ AuthKind["OAuth2"] = "OAuth2";
22
+ AuthKind["OpenIdConnect"] = "OpenIdConnect";
23
+ AuthKind["MutualTls"] = "MutualTls";
24
+ })(AuthKind || (AuthKind = {}));
2
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAyGA,MAAM,CAAN,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,8CAAiB,CAAA;IACjB,0CAAa,CAAA;IACb,oDAAuB,CAAA;IACvB,8CAAiB,CAAA;IACjB,4DAA+B,CAAA;AACjC,CAAC,EANW,yBAAyB,KAAzB,yBAAyB,QAMpC;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;AACnB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;IACvB,qCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,6BAAiB,CAAA;IACjB,2CAA+B,CAAA;IAC/B,mCAAuB,CAAA;AACzB,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,UAAU,CAAC;AAE1D,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAiBjE;AAiCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,UAAU,CAAC;AAE1D,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAiBjE;AAmCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD"}
@@ -20,10 +20,11 @@ function validatePort(port) {
20
20
  if (port === undefined) {
21
21
  return DEFAULT_CONFIG.PORT;
22
22
  }
23
- if (!Number.isInteger(port) || port < 1 || port > 65535) {
23
+ const normalizedPort = Number(port);
24
+ if (!Number.isInteger(normalizedPort) || normalizedPort < 1 || normalizedPort > 65535) {
24
25
  throw new Error(`Invalid port: ${port}. Port must be between 1 and 65535.`);
25
26
  }
26
- return port;
27
+ return normalizedPort;
27
28
  }
28
29
  function validateCorsOptions(cors) {
29
30
  if (cors === false) {
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,MAAM,eAAe,GAAiB;QACpC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ;QACpD,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,KAAK;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;QACxC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,cAAc,CAAC,UAAU;QACxD,YAAY,EAAE,MAAM,CAAC,YAAY,KAAK,KAAK;QAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAChE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,YAAY,CAAC,IAAa;IACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,cAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,qCAAqC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA2B;IACtD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO;YACL,MAAM,EAAE,GAAG;YACX,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;YAC/C,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;YAClE,aAAa,EAAE,CAAC,eAAe,CAAC;YAChC,MAAM,EAAE,cAAc,CAAC,YAAY;SACpC,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAClF,OAAO,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,MAAM,eAAe,GAAiB;QACpC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ;QACpD,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,KAAK;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;QACxC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,cAAc,CAAC,UAAU;QACxD,YAAY,EAAE,MAAM,CAAC,YAAY,KAAK,KAAK;QAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAChE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,YAAY,CAAC,IAAsB;IAC1C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,cAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,KAAK,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,qCAAqC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA2B;IACtD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO;YACL,MAAM,EAAE,GAAG;YACX,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;YAC/C,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;YAClE,aAAa,EAAE,CAAC,eAAe,CAAC;YAChC,MAAM,EAAE,cAAc,CAAC,YAAY;SACpC,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAClF,OAAO,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vector-framework",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "author": "webhie-com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -88,6 +88,7 @@
88
88
  "test:load": "bun run tests/e2e/load.test.ts",
89
89
  "test:soak": "bun run tests/e2e/soak.test.ts",
90
90
  "test:benchmark": "bun run tests/e2e/benchmark.test.ts",
91
+ "test:benchmark:checkpoint": "bun run tests/e2e/checkpoint-raw-fetch-no-rate-limit.ts",
91
92
  "test:benchmark:io-schema": "bun run tests/e2e/concurrency-io-schema-benchmark.ts",
92
93
  "test:all": "bun test ./tests/**/*.test.ts",
93
94
  "test:perf": "bun run test:load && bun run test:soak && bun run test:benchmark",
@@ -1,4 +1,4 @@
1
- import type { DefaultVectorTypes, GetAuthType, ProtectedHandler, VectorRequest, VectorTypes } from '../types';
1
+ import type { DefaultVectorTypes, GetAuthType, ProtectedHandler, VectorContext, VectorTypes } from '../types';
2
2
 
3
3
  export class AuthManager<TTypes extends VectorTypes = DefaultVectorTypes> {
4
4
  private protectedHandler: ProtectedHandler<TTypes> | null = null;
@@ -11,25 +11,28 @@ export class AuthManager<TTypes extends VectorTypes = DefaultVectorTypes> {
11
11
  this.protectedHandler = null;
12
12
  }
13
13
 
14
- async authenticate(request: VectorRequest<TTypes>): Promise<GetAuthType<TTypes> | null> {
14
+ async authenticate(context: VectorContext<TTypes>): Promise<GetAuthType<TTypes> | null> {
15
15
  if (!this.protectedHandler) {
16
16
  throw new Error('Protected handler not configured. Use vector.protected() to set authentication handler.');
17
17
  }
18
+ if (!context || typeof context !== 'object' || !(context as any).request) {
19
+ throw new Error('Authentication context is invalid: missing request');
20
+ }
18
21
 
19
22
  try {
20
- const authUser = await this.protectedHandler(request);
21
- request.authUser = authUser;
23
+ const authUser = await this.protectedHandler(context);
24
+ context.authUser = authUser;
22
25
  return authUser;
23
26
  } catch (error) {
24
27
  throw new Error(`Authentication failed: ${error instanceof Error ? error.message : String(error)}`);
25
28
  }
26
29
  }
27
30
 
28
- isAuthenticated(request: VectorRequest<TTypes>): boolean {
29
- return !!request.authUser;
31
+ isAuthenticated(context: VectorContext<TTypes>): boolean {
32
+ return !!context.authUser;
30
33
  }
31
34
 
32
- getUser(request: VectorRequest<TTypes>): GetAuthType<TTypes> | null {
33
- return request.authUser || null;
35
+ getUser(context: VectorContext<TTypes>): GetAuthType<TTypes> | null {
36
+ return context.authUser || null;
34
37
  }
35
38
  }
@@ -41,12 +41,13 @@ export class CacheManager<TTypes extends VectorTypes = DefaultVectorTypes> {
41
41
  const cached = this.memoryCache.get(key);
42
42
 
43
43
  if (this.isCacheValid(cached, now)) {
44
- return cached!.value as T;
44
+ return this.cloneCachedValue(cached!.value as T);
45
45
  }
46
46
 
47
47
  // Deduplicate concurrent requests for the same key (cache stampede prevention)
48
48
  if (this.inflight.has(key)) {
49
- return (await this.inflight.get(key)!) as T;
49
+ const inflightValue = (await this.inflight.get(key)!) as T;
50
+ return this.cloneCachedValue(inflightValue);
50
51
  }
51
52
 
52
53
  const promise = (async () => {
@@ -69,17 +70,35 @@ export class CacheManager<TTypes extends VectorTypes = DefaultVectorTypes> {
69
70
 
70
71
  private setInMemoryCache(key: string, value: any, ttl: number): void {
71
72
  const expires = Date.now() + ttl * 1000;
72
- this.memoryCache.set(key, { value, expires });
73
+ this.memoryCache.set(key, { value: this.cloneForStore(value), expires });
73
74
 
74
75
  this.scheduleCleanup();
75
76
  }
76
77
 
78
+ private cloneForStore<T>(value: T): T {
79
+ if (value instanceof Response) {
80
+ return value.clone() as unknown as T;
81
+ }
82
+ return value;
83
+ }
84
+
85
+ private cloneCachedValue<T>(value: T): T {
86
+ if (value instanceof Response) {
87
+ return value.clone() as unknown as T;
88
+ }
89
+ return value;
90
+ }
91
+
77
92
  private scheduleCleanup(): void {
78
93
  if (this.cleanupInterval) return;
79
94
 
80
- this.cleanupInterval = setInterval(() => {
95
+ const timer = setInterval(() => {
81
96
  this.cleanupExpired();
82
97
  }, 60000); // Clean up every minute
98
+ if (typeof (timer as any).unref === 'function') {
99
+ (timer as any).unref();
100
+ }
101
+ this.cleanupInterval = timer;
83
102
  }
84
103
 
85
104
  private cleanupExpired(): void {
@@ -0,0 +1,30 @@
1
+ import type { CheckpointCompressionCodec } from '../types';
2
+
3
+ export const DEFAULT_ASSET_CODEC: CheckpointCompressionCodec = 'gzip';
4
+
5
+ export function compressBytes(input: Uint8Array, codec: CheckpointCompressionCodec = DEFAULT_ASSET_CODEC): Uint8Array {
6
+ const normalized = new Uint8Array(input);
7
+ switch (codec) {
8
+ case 'none':
9
+ return normalized;
10
+ case 'gzip':
11
+ return Bun.gzipSync(normalized);
12
+ default:
13
+ throw new Error(`Unsupported compression codec: ${codec}`);
14
+ }
15
+ }
16
+
17
+ export function decompressBytes(
18
+ input: Uint8Array,
19
+ codec: CheckpointCompressionCodec = DEFAULT_ASSET_CODEC
20
+ ): Uint8Array {
21
+ const normalized = new Uint8Array(input);
22
+ switch (codec) {
23
+ case 'none':
24
+ return normalized;
25
+ case 'gzip':
26
+ return Bun.gunzipSync(normalized);
27
+ default:
28
+ throw new Error(`Unsupported compression codec: ${codec}`);
29
+ }
30
+ }
@@ -0,0 +1,49 @@
1
+ import type { CheckpointCompressionCodec } from '../types';
2
+
3
+ interface DecompressWorkerRequest {
4
+ id: number;
5
+ codec: CheckpointCompressionCodec;
6
+ input: ArrayBuffer;
7
+ }
8
+
9
+ interface DecompressWorkerResponse {
10
+ id: number;
11
+ output?: ArrayBuffer;
12
+ error?: string;
13
+ }
14
+
15
+ const worker = globalThis as unknown as Worker;
16
+
17
+ worker.onmessage = (event: MessageEvent<DecompressWorkerRequest>) => {
18
+ const request = event.data;
19
+ const response: DecompressWorkerResponse = { id: request.id };
20
+
21
+ try {
22
+ const input = new Uint8Array(request.input);
23
+ const output = decompressInWorker(input, request.codec);
24
+ const outputBuffer = toArrayBuffer(output);
25
+ response.output = outputBuffer;
26
+ worker.postMessage(response, [outputBuffer]);
27
+ } catch (error) {
28
+ response.error = error instanceof Error ? error.message : String(error);
29
+ worker.postMessage(response);
30
+ }
31
+ };
32
+
33
+ function decompressInWorker(
34
+ input: Uint8Array<ArrayBuffer>,
35
+ codec: CheckpointCompressionCodec
36
+ ): Uint8Array<ArrayBufferLike> {
37
+ switch (codec) {
38
+ case 'none':
39
+ return input;
40
+ case 'gzip':
41
+ return Bun.gunzipSync(input);
42
+ default:
43
+ throw new Error(`Unsupported compression codec: ${codec}`);
44
+ }
45
+ }
46
+
47
+ function toArrayBuffer(input: Uint8Array<ArrayBufferLike>): ArrayBuffer {
48
+ return new Uint8Array(input).buffer;
49
+ }
@@ -0,0 +1,6 @@
1
+ export function sha256Hex(content: Uint8Array | ArrayBuffer): string {
2
+ const bytes = content instanceof Uint8Array ? content : new Uint8Array(content);
3
+ const hashBuffer = Bun.SHA256.hash(bytes);
4
+ const hashBytes = new Uint8Array(hashBuffer.buffer, hashBuffer.byteOffset, hashBuffer.byteLength);
5
+ return Buffer.from(hashBytes).toString('hex');
6
+ }
@@ -0,0 +1,72 @@
1
+ import { basename, isAbsolute, relative } from 'node:path';
2
+ import type { CheckpointAssetRecord } from '../types';
3
+
4
+ const UNSAFE_SEGMENT_PATTERN = /[^a-zA-Z0-9._/-]/g;
5
+ const WINDOWS_DRIVE_ABS_PATTERN = /^[a-zA-Z]:[\\/]/;
6
+ const WINDOWS_UNC_ABS_PATTERN = /^\\\\[^\\]+\\[^\\]+/;
7
+
8
+ export function normalizeLogicalPath(input: string): string {
9
+ const normalizedInput = normalizeSlashes(input).trim();
10
+ const rel = isAbsolutePathPortable(normalizedInput) ? toPortableRelativePath(normalizedInput) : normalizedInput;
11
+
12
+ const cleaned = rel
13
+ .split('/')
14
+ .filter((segment) => segment.length > 0 && segment !== '.' && segment !== '..')
15
+ .join('/');
16
+
17
+ const sanitized = cleaned.replace(UNSAFE_SEGMENT_PATTERN, '_').replace(/^\/+/, '');
18
+ if (sanitized.length > 0) {
19
+ return sanitized;
20
+ }
21
+
22
+ const fallback = basename(normalizedInput).replace(UNSAFE_SEGMENT_PATTERN, '_');
23
+ return fallback.length > 0 ? `external/${fallback}` : 'external/asset.bin';
24
+ }
25
+
26
+ export function normalizeRelativePath(input: string): string {
27
+ return normalizeSlashes(input).replace(/^\/+/, '');
28
+ }
29
+
30
+ export function isAbsolutePathPortable(input: string): boolean {
31
+ const normalized = normalizeSlashes(input).trim();
32
+ return isAbsolute(normalized) || WINDOWS_DRIVE_ABS_PATTERN.test(normalized) || WINDOWS_UNC_ABS_PATTERN.test(input);
33
+ }
34
+
35
+ export function computeAssetFingerprint(assets: CheckpointAssetRecord[]): string {
36
+ const stable = assets
37
+ .map((asset) => ({
38
+ type: asset.type,
39
+ logicalPath: asset.logicalPath,
40
+ contentHash: asset.contentHash ?? asset.hash,
41
+ blobHash: asset.blobHash ?? '',
42
+ blobPath: asset.blobPath ?? asset.storedPath,
43
+ codec: asset.codec ?? 'none',
44
+ size: asset.contentSize ?? asset.size,
45
+ }))
46
+ .sort((a, b) =>
47
+ `${a.type}:${a.logicalPath}:${a.contentHash}:${a.blobHash}`.localeCompare(
48
+ `${b.type}:${b.logicalPath}:${b.contentHash}:${b.blobHash}`
49
+ )
50
+ );
51
+
52
+ return JSON.stringify(stable);
53
+ }
54
+
55
+ function normalizeSlashes(value: string): string {
56
+ return value.replace(/\\/g, '/');
57
+ }
58
+
59
+ function toPortableRelativePath(input: string): string {
60
+ const normalized = normalizeSlashes(input);
61
+ if (WINDOWS_DRIVE_ABS_PATTERN.test(normalized)) {
62
+ return normalized.replace(/^[a-zA-Z]:/, '').replace(/^\/+/, '');
63
+ }
64
+
65
+ if (WINDOWS_UNC_ABS_PATTERN.test(input)) {
66
+ return normalizeSlashes(input)
67
+ .replace(/^\\\\[^\\]+\\[^\\]+/, '')
68
+ .replace(/^\/+/, '');
69
+ }
70
+
71
+ return normalizeSlashes(relative(process.cwd(), normalized));
72
+ }
@@ -0,0 +1,211 @@
1
+ import { existsSync, promises as fs } from 'node:fs';
2
+ import { dirname, extname, join, relative } from 'node:path';
3
+ import type { CheckpointAssetRecord, CheckpointManifest } from '../types';
4
+ import { sha256Hex } from './hasher';
5
+ import { computeAssetFingerprint, isAbsolutePathPortable, normalizeLogicalPath } from './manifest';
6
+ import type { CheckpointArtifactMaterializerOptions } from './types';
7
+ import { CheckpointWorkerDecompressor } from './worker-decompressor';
8
+
9
+ const DEFAULT_MATERIALIZED_DIR = '_materialized';
10
+ const DEFAULT_LOCK_TIMEOUT_MS = 15_000;
11
+ const DEFAULT_LOCK_POLL_MS = 50;
12
+
13
+ interface MaterializedMarker {
14
+ fingerprint: string;
15
+ createdAt: string;
16
+ }
17
+
18
+ export class CheckpointArtifactMaterializer {
19
+ private verifyChecksums: boolean;
20
+ private materializedDirName: string;
21
+ private lockTimeoutMs: number;
22
+
23
+ constructor(options: CheckpointArtifactMaterializerOptions = {}) {
24
+ this.verifyChecksums = options.verifyChecksums ?? true;
25
+ this.materializedDirName = options.materializedDirName ?? DEFAULT_MATERIALIZED_DIR;
26
+ this.lockTimeoutMs = options.lockTimeoutMs ?? DEFAULT_LOCK_TIMEOUT_MS;
27
+ }
28
+
29
+ async materialize(manifest: CheckpointManifest, storageDir: string): Promise<void> {
30
+ const versionDir = join(storageDir, manifest.version);
31
+ const markerPath = join(versionDir, '.assets.ready.json');
32
+ const lockPath = join(versionDir, '.assets.lock');
33
+ const fingerprint = computeAssetFingerprint(manifest.assets);
34
+
35
+ if (await this.isReady(markerPath, fingerprint, manifest.assets, join(versionDir, this.materializedDirName))) {
36
+ return;
37
+ }
38
+
39
+ await this.acquireLock(lockPath);
40
+ try {
41
+ if (await this.isReady(markerPath, fingerprint, manifest.assets, join(versionDir, this.materializedDirName))) {
42
+ return;
43
+ }
44
+
45
+ const materializedRoot = join(versionDir, this.materializedDirName);
46
+ await fs.rm(materializedRoot, { recursive: true, force: true });
47
+ await fs.mkdir(materializedRoot, { recursive: true });
48
+
49
+ const decompressor = new CheckpointWorkerDecompressor();
50
+ try {
51
+ for (const asset of manifest.assets) {
52
+ const result = await this.materializeAsset(asset, storageDir, versionDir, materializedRoot, decompressor);
53
+ asset.materializedPath = result;
54
+ }
55
+ } finally {
56
+ await decompressor.dispose();
57
+ }
58
+
59
+ const marker: MaterializedMarker = {
60
+ fingerprint,
61
+ createdAt: new Date().toISOString(),
62
+ };
63
+ await fs.writeFile(markerPath, JSON.stringify(marker, null, 2), 'utf-8');
64
+ } finally {
65
+ await fs.rm(lockPath, { recursive: true, force: true });
66
+ }
67
+ }
68
+
69
+ private async materializeAsset(
70
+ asset: CheckpointAssetRecord,
71
+ storageDir: string,
72
+ versionDir: string,
73
+ root: string,
74
+ decompressor: CheckpointWorkerDecompressor
75
+ ): Promise<string> {
76
+ const sourcePath = this.resolveSourcePath(asset, storageDir);
77
+ if (!existsSync(sourcePath)) {
78
+ throw new Error(`Checkpoint asset blob not found: ${sourcePath}`);
79
+ }
80
+
81
+ const blob = await fs.readFile(sourcePath);
82
+ const blobBytes = new Uint8Array(blob.buffer, blob.byteOffset, blob.byteLength);
83
+ const expectedBlobHash = asset.blobHash;
84
+ if (this.verifyChecksums && expectedBlobHash && sha256Hex(blobBytes) !== expectedBlobHash) {
85
+ throw new Error(`Checkpoint asset blob checksum mismatch for ${asset.logicalPath}`);
86
+ }
87
+
88
+ const codec = asset.codec ?? (asset.blobHash ? 'gzip' : 'none');
89
+ const contentBytes = await decompressor.decompress(blobBytes, codec);
90
+ const expectedContentHash = asset.contentHash ?? asset.hash;
91
+ if (this.verifyChecksums && expectedContentHash && sha256Hex(contentBytes) !== expectedContentHash) {
92
+ throw new Error(`Checkpoint asset content checksum mismatch for ${asset.logicalPath}`);
93
+ }
94
+
95
+ const cachedFile = await this.writeDecompressedCache(asset, storageDir, contentBytes);
96
+ const safeLogicalPath = normalizeLogicalPath(asset.logicalPath);
97
+ const destinationPath = join(root, safeLogicalPath);
98
+ await fs.mkdir(dirname(destinationPath), { recursive: true });
99
+ await fs.rm(destinationPath, { force: true });
100
+ await this.linkWithFallback(cachedFile, destinationPath);
101
+
102
+ return normalizePath(relative(versionDir, destinationPath));
103
+ }
104
+
105
+ private async writeDecompressedCache(
106
+ asset: CheckpointAssetRecord,
107
+ storageDir: string,
108
+ bytes: Uint8Array
109
+ ): Promise<string> {
110
+ const hash = asset.contentHash ?? asset.hash;
111
+ const extension = extname(asset.logicalPath) || '.bin';
112
+ const cacheFile = join(storageDir, '_assets/cache', `${hash}${extension}`);
113
+ await fs.mkdir(dirname(cacheFile), { recursive: true });
114
+ if (existsSync(cacheFile)) {
115
+ if (!this.verifyChecksums) {
116
+ return cacheFile;
117
+ }
118
+ const existing = await fs.readFile(cacheFile);
119
+ const existingBytes = new Uint8Array(existing.buffer, existing.byteOffset, existing.byteLength);
120
+ if (sha256Hex(existingBytes) === hash) {
121
+ return cacheFile;
122
+ }
123
+ }
124
+ await fs.writeFile(cacheFile, bytes);
125
+ return cacheFile;
126
+ }
127
+
128
+ private resolveSourcePath(asset: CheckpointAssetRecord, storageDir: string): string {
129
+ const rawPath = asset.blobPath ?? asset.storedPath;
130
+ if (isAbsolutePathPortable(rawPath)) {
131
+ return rawPath;
132
+ }
133
+ return join(storageDir, rawPath);
134
+ }
135
+
136
+ private async linkWithFallback(sourcePath: string, destinationPath: string): Promise<void> {
137
+ try {
138
+ await fs.link(sourcePath, destinationPath);
139
+ return;
140
+ } catch {
141
+ // Fall through to symlink/copy.
142
+ }
143
+
144
+ try {
145
+ await fs.symlink(sourcePath, destinationPath);
146
+ return;
147
+ } catch {
148
+ // Fall through to copy.
149
+ }
150
+
151
+ await fs.copyFile(sourcePath, destinationPath);
152
+ }
153
+
154
+ private async acquireLock(lockPath: string): Promise<void> {
155
+ const deadline = Date.now() + this.lockTimeoutMs;
156
+ while (Date.now() < deadline) {
157
+ try {
158
+ await fs.mkdir(lockPath);
159
+ return;
160
+ } catch (error) {
161
+ if (!isAlreadyExists(error)) {
162
+ throw error;
163
+ }
164
+ }
165
+ await sleep(DEFAULT_LOCK_POLL_MS);
166
+ }
167
+
168
+ throw new Error(`Timed out waiting for checkpoint asset lock: ${lockPath}`);
169
+ }
170
+
171
+ private async isReady(
172
+ markerPath: string,
173
+ fingerprint: string,
174
+ assets: CheckpointAssetRecord[],
175
+ materializedRoot: string
176
+ ): Promise<boolean> {
177
+ if (!existsSync(markerPath)) {
178
+ return false;
179
+ }
180
+
181
+ try {
182
+ const marker = JSON.parse(await fs.readFile(markerPath, 'utf-8')) as MaterializedMarker;
183
+ if (marker.fingerprint !== fingerprint) {
184
+ return false;
185
+ }
186
+ for (const asset of assets) {
187
+ const expectedPath = join(materializedRoot, normalizeLogicalPath(asset.logicalPath));
188
+ if (!existsSync(expectedPath)) {
189
+ return false;
190
+ }
191
+ }
192
+ return true;
193
+ } catch {
194
+ return false;
195
+ }
196
+ }
197
+ }
198
+
199
+ function normalizePath(path: string): string {
200
+ return path.replace(/\\/g, '/');
201
+ }
202
+
203
+ function isAlreadyExists(error: unknown): boolean {
204
+ return (
205
+ typeof error === 'object' && error !== null && 'code' in error && (error as { code?: string }).code === 'EEXIST'
206
+ );
207
+ }
208
+
209
+ function sleep(ms: number): Promise<void> {
210
+ return new Promise((resolve) => setTimeout(resolve, ms));
211
+ }