@bsv/wallet-toolbox 2.4.22 → 2.6.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 (160) hide show
  1. package/CHANGELOG.md +60 -7
  2. package/README.md +52 -1
  3. package/docs/authentication-observability.md +21 -9
  4. package/out/src/CWIStyleWalletManager.d.ts +31 -3
  5. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  6. package/out/src/CWIStyleWalletManager.js +164 -56
  7. package/out/src/CWIStyleWalletManager.js.map +1 -1
  8. package/out/src/Wallet.d.ts +3 -3
  9. package/out/src/Wallet.d.ts.map +1 -1
  10. package/out/src/Wallet.js +45 -19
  11. package/out/src/Wallet.js.map +1 -1
  12. package/out/src/index.all.d.ts +1 -0
  13. package/out/src/index.all.d.ts.map +1 -1
  14. package/out/src/index.all.js +1 -0
  15. package/out/src/index.all.js.map +1 -1
  16. package/out/src/index.mobile.d.ts +1 -0
  17. package/out/src/index.mobile.d.ts.map +1 -1
  18. package/out/src/index.mobile.js +1 -0
  19. package/out/src/index.mobile.js.map +1 -1
  20. package/out/src/sdk/WalletStorage.interfaces.d.ts +1 -0
  21. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  22. package/out/src/sdk/types.d.ts +1 -1
  23. package/out/src/sdk/types.d.ts.map +1 -1
  24. package/out/src/sdk/types.js +1 -6
  25. package/out/src/sdk/types.js.map +1 -1
  26. package/out/src/services/Services.d.ts.map +1 -1
  27. package/out/src/services/Services.js +5 -5
  28. package/out/src/services/Services.js.map +1 -1
  29. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +1 -1
  30. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +11 -0
  31. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  32. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +4 -0
  33. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  34. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +97 -33
  35. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  36. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +12 -0
  37. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  38. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +127 -41
  39. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  40. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts +27 -0
  41. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -0
  42. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +64 -0
  43. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -0
  44. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
  45. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +15 -2
  46. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  47. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  48. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +8 -6
  49. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  50. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +11 -5
  51. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  52. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +40 -3
  53. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  54. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
  55. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  56. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +33 -8
  57. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  58. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +16 -1
  59. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
  60. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +70 -31
  61. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  62. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +3 -0
  63. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
  64. package/out/src/services/chaintracker/chaintracks/index.mobile.js +3 -0
  65. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
  66. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  67. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +35 -2
  68. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  69. package/out/src/services/createDefaultWalletServicesOptions.d.ts +6 -1
  70. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  71. package/out/src/services/createDefaultWalletServicesOptions.js +48 -19
  72. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  73. package/out/src/services/networkConfig.d.ts +10 -21
  74. package/out/src/services/networkConfig.d.ts.map +1 -1
  75. package/out/src/services/networkConfig.js +49 -11
  76. package/out/src/services/networkConfig.js.map +1 -1
  77. package/out/src/services/providers/WhatsOnChain.d.ts +8 -2
  78. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  79. package/out/src/services/providers/WhatsOnChain.js +21 -2
  80. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  81. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
  82. package/out/src/signer/methods/completeSignedTransaction.js +54 -13
  83. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  84. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  85. package/out/src/signer/methods/createAction.js +14 -10
  86. package/out/src/signer/methods/createAction.js.map +1 -1
  87. package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
  88. package/out/src/signer/methods/verifyUnlockScripts.js +257 -21
  89. package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
  90. package/out/src/storage/StorageIdb.d.ts +2 -0
  91. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  92. package/out/src/storage/StorageIdb.js +49 -3
  93. package/out/src/storage/StorageIdb.js.map +1 -1
  94. package/out/src/storage/StorageKnex.d.ts +6 -0
  95. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  96. package/out/src/storage/StorageKnex.js +140 -5
  97. package/out/src/storage/StorageKnex.js.map +1 -1
  98. package/out/src/storage/StorageProvider.d.ts +23 -0
  99. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  100. package/out/src/storage/StorageProvider.js +64 -1
  101. package/out/src/storage/StorageProvider.js.map +1 -1
  102. package/out/src/storage/index.all.d.ts +1 -0
  103. package/out/src/storage/index.all.d.ts.map +1 -1
  104. package/out/src/storage/index.all.js +1 -0
  105. package/out/src/storage/index.all.js.map +1 -1
  106. package/out/src/storage/methods/actionPlanning.d.ts +14 -0
  107. package/out/src/storage/methods/actionPlanning.d.ts.map +1 -1
  108. package/out/src/storage/methods/actionPlanning.js +55 -0
  109. package/out/src/storage/methods/actionPlanning.js.map +1 -1
  110. package/out/src/storage/methods/availableManagedChange.d.ts +1 -0
  111. package/out/src/storage/methods/availableManagedChange.d.ts.map +1 -1
  112. package/out/src/storage/methods/availableManagedChange.js.map +1 -1
  113. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  114. package/out/src/storage/methods/createAction.js +225 -131
  115. package/out/src/storage/methods/createAction.js.map +1 -1
  116. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  117. package/out/src/storage/methods/generateChange.js +29 -14
  118. package/out/src/storage/methods/generateChange.js.map +1 -1
  119. package/out/src/storage/methods/getBeefForTransaction.d.ts +7 -0
  120. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
  121. package/out/src/storage/methods/getBeefForTransaction.js +196 -16
  122. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  123. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  124. package/out/src/storage/methods/processAction.js +36 -15
  125. package/out/src/storage/methods/processAction.js.map +1 -1
  126. package/out/src/storage/remoting/KnexPaymentReplayStore.d.ts +12 -0
  127. package/out/src/storage/remoting/KnexPaymentReplayStore.d.ts.map +1 -0
  128. package/out/src/storage/remoting/KnexPaymentReplayStore.js +46 -0
  129. package/out/src/storage/remoting/KnexPaymentReplayStore.js.map +1 -0
  130. package/out/src/storage/remoting/KnexSessionManager.d.ts +20 -0
  131. package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
  132. package/out/src/storage/remoting/KnexSessionManager.js +74 -16
  133. package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
  134. package/out/src/storage/remoting/StorageServer.d.ts +21 -1
  135. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  136. package/out/src/storage/remoting/StorageServer.js +143 -5
  137. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  138. package/out/src/storage/remoting/edgePolicy.d.ts +27 -0
  139. package/out/src/storage/remoting/edgePolicy.d.ts.map +1 -1
  140. package/out/src/storage/remoting/edgePolicy.js +165 -15
  141. package/out/src/storage/remoting/edgePolicy.js.map +1 -1
  142. package/out/src/storage/schema/KnexMigrations.d.ts +1 -0
  143. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  144. package/out/src/storage/schema/KnexMigrations.js +41 -2
  145. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  146. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +2 -1
  147. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  148. package/out/src/storage/schema/entities/EntityProvenTx.js +8 -3
  149. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  150. package/out/src/storage/storageProviderHelpers.d.ts.map +1 -1
  151. package/out/src/storage/storageProviderHelpers.js +8 -2
  152. package/out/src/storage/storageProviderHelpers.js.map +1 -1
  153. package/out/src/utility/ScriptTemplateBRC29.d.ts +3 -2
  154. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  155. package/out/src/utility/ScriptTemplateBRC29.js +13 -5
  156. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  157. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  158. package/out/src/utility/utilityHelpers.js +2 -0
  159. package/out/src/utility/utilityHelpers.js.map +1 -1
  160. package/package.json +5 -3
@@ -26,7 +26,22 @@ export interface HttpServerPolicyDefaults {
26
26
  keepAliveTimeoutMs: number;
27
27
  socketTimeoutMs: number;
28
28
  maxRequestsPerSocket: number;
29
+ /** Open TCP/WebSocket connections retained by one process. Default: 1,000. */
30
+ maxConnections?: number;
29
31
  }
32
+ export type ResourceProfileName = 'small' | 'standard' | 'high-throughput';
33
+ export interface ResourceProfileValues {
34
+ small: number;
35
+ standard: number;
36
+ highThroughput: number;
37
+ }
38
+ /**
39
+ * Reads an operator resource limit. `-1` and `unlimited` are explicit opt-outs;
40
+ * omitting the setting always retains the service's tested safe default.
41
+ */
42
+ export declare function readResourceLimit(environmentPrefix: string, suffix: string, fallback: number, maximum?: number): number;
43
+ export declare function readResourceProfile(environmentPrefix: string, fallback?: ResourceProfileName): ResourceProfileName;
44
+ export declare function profileValue(profile: ResourceProfileName, values: ResourceProfileValues): number;
30
45
  export declare function readAllowedOrigins(environmentPrefix: string): string[];
31
46
  /**
32
47
  * Socket.IO and similar transports can consume the same public/allowlist/
@@ -42,6 +57,18 @@ export declare function readCorsOriginSetting(environmentPrefix: string, default
42
57
  export declare function corsPolicy(options: CorsPolicyOptions): RequestHandler;
43
58
  export declare function securityHeaders(options?: SecurityHeadersOptions): RequestHandler;
44
59
  export declare function readBodyLimitBytes(environmentPrefix: string, fallback: number, maximum?: number): number;
60
+ /**
61
+ * Preserve compatibility with clients that accidentally emit two or more
62
+ * initial slashes. Only the initial slash run is normalized; the remainder of
63
+ * the path and query string is unchanged.
64
+ */
65
+ export declare function initialDoubleSlashCompatibility(req: Request, _res: Response, next: NextFunction): void;
66
+ /**
67
+ * Bounds materialized JSON/text/binary Express responses before downstream
68
+ * authentication middleware signs or serializes them again. Streaming
69
+ * endpoints must enforce their own byte budget while producing chunks.
70
+ */
71
+ export declare function responseSizeLimit(environmentPrefix: string, fallback: number, maximum?: number): RequestHandler;
45
72
  /**
46
73
  * Convert body-parser/Express parser failures into stable, non-sensitive
47
74
  * protocol errors. Install immediately after all body parsers.
@@ -1 +1 @@
1
- {"version":3,"file":"edgePolicy.d.ts","sourceRoot":"","sources":["../../../../src/storage/remoting/edgePolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,cAAc,EACd,QAAQ,EACT,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAkDvC,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,WAAW,CAAC,EAAE,QAAQ,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAA;AAE1D,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACtC,yBAAyB,CAAC,EAAE,aAAa,GAAG,WAAW,GAAG,cAAc,GAAG,KAAK,CAAA;IAChF,uBAAuB,CAAC,EAAE,aAAa,GAAG,0BAA0B,GAAG,aAAa,GAAG,KAAK,CAAA;IAC5F,YAAY,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,KAAK,CAAA;IAC5C,iBAAiB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAClC,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAkDD,wBAAgB,kBAAkB,CAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,CAQvE;AAuCD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,iBAAiB,EAAE,MAAM,EACzB,WAAW,GAAE,QAAmB,GAC/B,GAAG,GAAG,MAAM,EAAE,CAKhB;AAcD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAE,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAuFtE;AAyCD,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,cAAc,CAiEhB;AAED,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAAuB,GAC/B,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CA+BN;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,GACf,cAAc,CA8BhB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,wBAAwB,GACjC,IAAI,CAiCN"}
1
+ {"version":3,"file":"edgePolicy.d.ts","sourceRoot":"","sources":["../../../../src/storage/remoting/edgePolicy.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readResourceLimit = readResourceLimit;
4
+ exports.readResourceProfile = readResourceProfile;
5
+ exports.profileValue = profileValue;
3
6
  exports.readAllowedOrigins = readAllowedOrigins;
4
7
  exports.readCorsOriginSetting = readCorsOriginSetting;
5
8
  exports.corsPolicy = corsPolicy;
6
9
  exports.securityHeaders = securityHeaders;
7
10
  exports.readBodyLimitBytes = readBodyLimitBytes;
11
+ exports.initialDoubleSlashCompatibility = initialDoubleSlashCompatibility;
12
+ exports.responseSizeLimit = responseSizeLimit;
8
13
  exports.bodyParserErrorHandler = bodyParserErrorHandler;
9
14
  exports.concurrencyLimit = concurrencyLimit;
10
15
  exports.configureHttpServer = configureHttpServer;
@@ -66,11 +71,52 @@ function readPositiveInteger(name, fallback, maximum) {
66
71
  }
67
72
  return parsed;
68
73
  }
74
+ /**
75
+ * Reads an operator resource limit. `-1` and `unlimited` are explicit opt-outs;
76
+ * omitting the setting always retains the service's tested safe default.
77
+ */
78
+ function readResourceLimit(environmentPrefix, suffix, fallback, maximum = Number.MAX_SAFE_INTEGER) {
79
+ const name = `${environmentPrefix}_${suffix}`;
80
+ const value = process.env[name];
81
+ if (value == null || value.trim() === '')
82
+ return fallback;
83
+ const normalized = value.trim().toLowerCase();
84
+ if (normalized === '-1' || normalized === 'unlimited')
85
+ return -1;
86
+ if (!/^[1-9]\d*$/.test(normalized)) {
87
+ throw new Error(`${name} must be -1, unlimited, or a positive integer`);
88
+ }
89
+ const parsed = Number(normalized);
90
+ if (!Number.isSafeInteger(parsed) || parsed > maximum) {
91
+ throw new Error(`${name} must not exceed ${maximum}`);
92
+ }
93
+ return parsed;
94
+ }
95
+ function readResourceProfile(environmentPrefix, fallback = 'standard') {
96
+ const prefixed = process.env[`${environmentPrefix}_RESOURCE_PROFILE`];
97
+ const value = (prefixed == null || prefixed.trim() === '' ? process.env.RESOURCE_PROFILE : prefixed)
98
+ ?.trim()
99
+ .toLowerCase() ?? fallback;
100
+ if (!['small', 'standard', 'high-throughput'].includes(value)) {
101
+ throw new Error(`${environmentPrefix}_RESOURCE_PROFILE must be small, standard, or high-throughput`);
102
+ }
103
+ return value;
104
+ }
105
+ function profileValue(profile, values) {
106
+ if (profile === 'small')
107
+ return values.small;
108
+ if (profile === 'high-throughput')
109
+ return values.highThroughput;
110
+ return values.standard;
111
+ }
69
112
  function readCsv(name, fallback = []) {
70
113
  const value = process.env[name];
71
114
  if (value == null || value.trim() === '')
72
115
  return fallback;
73
- const values = value.split(',').map(item => item.trim()).filter(Boolean);
116
+ const values = value
117
+ .split(',')
118
+ .map(item => item.trim())
119
+ .filter(Boolean);
74
120
  if (values.includes('*')) {
75
121
  throw new Error(`${name} must contain explicit values; wildcard "*" is not allowed`);
76
122
  }
@@ -99,11 +145,8 @@ function normalizeOrigin(origin, name) {
99
145
  function readAllowedOrigins(environmentPrefix) {
100
146
  const originVariable = `${environmentPrefix}_CORS_ALLOWED_ORIGINS`;
101
147
  const prefixedValue = process.env[originVariable];
102
- const sourceVariable = prefixedValue != null && prefixedValue.trim() !== ''
103
- ? originVariable
104
- : 'CORS_ALLOWED_ORIGINS';
105
- return readCsv(sourceVariable)
106
- .map(origin => normalizeOrigin(origin, sourceVariable));
148
+ const sourceVariable = prefixedValue != null && prefixedValue.trim() !== '' ? originVariable : 'CORS_ALLOWED_ORIGINS';
149
+ return readCsv(sourceVariable).map(origin => normalizeOrigin(origin, sourceVariable));
107
150
  }
108
151
  function resolveCorsPolicy(environmentPrefix, configuredOrigins, defaultMode) {
109
152
  const originVariable = `${environmentPrefix}_CORS_ALLOWED_ORIGINS`;
@@ -116,9 +159,9 @@ function resolveCorsPolicy(environmentPrefix, configuredOrigins, defaultMode) {
116
159
  }
117
160
  const origins = readAllowedOrigins(environmentPrefix);
118
161
  const prefixedMode = process.env[`${environmentPrefix}_CORS_MODE`]?.trim();
119
- const rawMode = (prefixedMode !== undefined && prefixedMode !== ''
120
- ? prefixedMode
121
- : process.env.CORS_MODE ?? '').trim().toLowerCase();
162
+ const rawMode = (prefixedMode !== undefined && prefixedMode !== '' ? prefixedMode : (process.env.CORS_MODE ?? ''))
163
+ .trim()
164
+ .toLowerCase();
122
165
  let mode = rawMode;
123
166
  if (mode === '') {
124
167
  mode = origins.length > 0 ? 'allowlist' : defaultMode;
@@ -268,10 +311,18 @@ function securityHeaders(options = {}) {
268
311
  const contentSecurityPolicy = readOptionalHeader(options.environmentPrefix, 'CONTENT_SECURITY_POLICY') ??
269
312
  options.contentSecurityPolicy ??
270
313
  "default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'";
271
- const crossOriginResourcePolicy = readOptionalHeader(options.environmentPrefix, 'CROSS_ORIGIN_RESOURCE_POLICY', ['same-origin', 'same-site', 'cross-origin']) ??
314
+ const crossOriginResourcePolicy = readOptionalHeader(options.environmentPrefix, 'CROSS_ORIGIN_RESOURCE_POLICY', [
315
+ 'same-origin',
316
+ 'same-site',
317
+ 'cross-origin'
318
+ ]) ??
272
319
  options.crossOriginResourcePolicy ??
273
320
  'cross-origin';
274
- const crossOriginOpenerPolicy = readOptionalHeader(options.environmentPrefix, 'CROSS_ORIGIN_OPENER_POLICY', ['same-origin', 'same-origin-allow-popups', 'unsafe-none']) ??
321
+ const crossOriginOpenerPolicy = readOptionalHeader(options.environmentPrefix, 'CROSS_ORIGIN_OPENER_POLICY', [
322
+ 'same-origin',
323
+ 'same-origin-allow-popups',
324
+ 'unsafe-none'
325
+ ]) ??
275
326
  options.crossOriginOpenerPolicy ??
276
327
  'same-origin';
277
328
  const frameOptions = readOptionalHeader(options.environmentPrefix, 'FRAME_OPTIONS', ['DENY', 'SAMEORIGIN']) ??
@@ -302,15 +353,110 @@ function securityHeaders(options = {}) {
302
353
  if (contentSecurityPolicy !== false) {
303
354
  res.setHeader('Content-Security-Policy', contentSecurityPolicy);
304
355
  }
305
- if (strictTransportSecurity &&
306
- req.secure) {
356
+ if (strictTransportSecurity && req.secure) {
307
357
  res.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains');
308
358
  }
309
359
  next();
310
360
  };
311
361
  }
312
362
  function readBodyLimitBytes(environmentPrefix, fallback, maximum = MAX_BODY_BYTES) {
313
- return readPositiveInteger(`${environmentPrefix}_MAX_BODY_BYTES`, fallback, maximum);
363
+ const limit = readResourceLimit(environmentPrefix, 'MAX_BODY_BYTES', fallback, maximum);
364
+ // raw-body/body-parser interpret negative numbers as a zero-ish ceiling.
365
+ // A deliberately unlimited operator setting therefore maps to the largest
366
+ // exactly representable byte count accepted by those APIs.
367
+ return limit === -1 ? Number.MAX_SAFE_INTEGER : limit;
368
+ }
369
+ /**
370
+ * Preserve compatibility with clients that accidentally emit two or more
371
+ * initial slashes. Only the initial slash run is normalized; the remainder of
372
+ * the path and query string is unchanged.
373
+ */
374
+ function initialDoubleSlashCompatibility(req, _res, next) {
375
+ if (req.url.startsWith('//'))
376
+ req.url = req.url.replace(/^\/{2,}/, '/');
377
+ next();
378
+ }
379
+ function responseChunkByteLength(chunk, encoding) {
380
+ if (typeof chunk === 'string') {
381
+ const bufferEncoding = typeof encoding === 'string' ? encoding : 'utf8';
382
+ return Buffer.byteLength(chunk, bufferEncoding);
383
+ }
384
+ if (Buffer.isBuffer(chunk) || chunk instanceof Uint8Array)
385
+ return chunk.byteLength;
386
+ return Buffer.byteLength(JSON.stringify(chunk) ?? '', 'utf8');
387
+ }
388
+ /**
389
+ * Bounds materialized JSON/text/binary Express responses before downstream
390
+ * authentication middleware signs or serializes them again. Streaming
391
+ * endpoints must enforce their own byte budget while producing chunks.
392
+ */
393
+ function responseSizeLimit(environmentPrefix, fallback, maximum = MAX_BODY_BYTES) {
394
+ const limit = readResourceLimit(environmentPrefix, 'MAX_RESPONSE_BYTES', fallback, maximum);
395
+ if (limit === -1)
396
+ return (_req, _res, next) => next();
397
+ return (_req, res, next) => {
398
+ const originalStatus = res.status.bind(res);
399
+ const originalJson = res.json.bind(res);
400
+ const originalSend = res.send.bind(res);
401
+ const originalEnd = res.end.bind(res);
402
+ let rejected = false;
403
+ let rejecting = false;
404
+ const tooLarge = (byteLength) => byteLength > limit;
405
+ const reject = () => {
406
+ if (rejected)
407
+ return res;
408
+ rejected = true;
409
+ rejecting = true;
410
+ originalStatus(413);
411
+ const response = originalJson({
412
+ status: 'error',
413
+ code: 'ERR_RESPONSE_TOO_LARGE',
414
+ description: 'The requested response exceeds the configured service limit.'
415
+ });
416
+ rejecting = false;
417
+ return response;
418
+ };
419
+ res.json = ((value) => {
420
+ if (rejecting)
421
+ return originalJson(value);
422
+ if (rejected)
423
+ return res;
424
+ const serialized = JSON.stringify(value) ?? '';
425
+ if (tooLarge(Buffer.byteLength(serialized, 'utf8')))
426
+ return reject();
427
+ return originalJson(value);
428
+ });
429
+ res.send = ((value) => {
430
+ if (rejecting)
431
+ return originalSend(value);
432
+ if (rejected)
433
+ return res;
434
+ let byteLength;
435
+ if (typeof value === 'string')
436
+ byteLength = Buffer.byteLength(value, 'utf8');
437
+ else if (Buffer.isBuffer(value) || value instanceof Uint8Array)
438
+ byteLength = value.byteLength;
439
+ else
440
+ byteLength = Buffer.byteLength(JSON.stringify(value) ?? '', 'utf8');
441
+ if (tooLarge(byteLength))
442
+ return reject();
443
+ return originalSend(value);
444
+ });
445
+ res.end = ((chunk, encoding, callback) => {
446
+ if (rejecting) {
447
+ return originalEnd(chunk, encoding, callback);
448
+ }
449
+ if (rejected)
450
+ return res;
451
+ if (chunk != null) {
452
+ const byteLength = responseChunkByteLength(chunk, encoding);
453
+ if (tooLarge(byteLength))
454
+ return reject();
455
+ }
456
+ return originalEnd(chunk, encoding, callback);
457
+ });
458
+ next();
459
+ };
314
460
  }
315
461
  /**
316
462
  * Convert body-parser/Express parser failures into stable, non-sensitive
@@ -346,7 +492,9 @@ function bodyParserErrorHandler(error, _req, res, next) {
346
492
  * responsibility of the deployment's shared rate-limit store or gateway.
347
493
  */
348
494
  function concurrencyLimit(environmentPrefix, fallback) {
349
- const maximum = readPositiveInteger(`${environmentPrefix}_MAX_CONCURRENT_REQUESTS`, fallback, MAX_CONCURRENT_REQUESTS);
495
+ const maximum = readResourceLimit(environmentPrefix, 'MAX_CONCURRENT_REQUESTS', fallback, MAX_CONCURRENT_REQUESTS);
496
+ if (maximum === -1)
497
+ return (_req, _res, next) => next();
350
498
  let active = 0;
351
499
  return (_req, res, next) => {
352
500
  if (active >= maximum) {
@@ -380,6 +528,8 @@ function configureHttpServer(server, environmentPrefix, defaults) {
380
528
  server.headersTimeout = headersTimeoutMs;
381
529
  server.keepAliveTimeout = keepAliveTimeoutMs;
382
530
  server.maxRequestsPerSocket = readPositiveInteger(`${environmentPrefix}_MAX_REQUESTS_PER_SOCKET`, defaults.maxRequestsPerSocket, 1_000_000);
531
+ const maxConnections = readResourceLimit(environmentPrefix, 'MAX_CONNECTIONS', defaults.maxConnections ?? 1_000, 1_000_000);
532
+ server.maxConnections = maxConnections === -1 ? Number.MAX_SAFE_INTEGER : maxConnections;
383
533
  if (typeof server.setTimeout === 'function') {
384
534
  server.setTimeout(socketTimeoutMs);
385
535
  }
@@ -1 +1 @@
1
- {"version":3,"file":"edgePolicy.js","sourceRoot":"","sources":["../../../../src/storage/remoting/edgePolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edgePolicy.js","sourceRoot":"","sources":["../../../../src/storage/remoting/edgePolicy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;AACxC,MAAM,uBAAuB,GAAG,OAAO,CAAA;AACvC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAE7C,MAAM,uBAAuB,GAAG;IAC9B,QAAQ;IACR,eAAe;IACf,cAAc;IACd,eAAe;IACf,6BAA6B;IAC7B,yBAAyB;IACzB,yBAAyB;IACzB,kBAAkB;IAClB,uBAAuB;IACvB,mCAAmC;IACnC,sBAAsB;IACtB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,+BAA+B;IAC/B,eAAe;IACf,aAAa;IACb,eAAe;IACf,kBAAkB;IAClB,6BAA6B;IAC7B,UAAU;CACX,CAAA;AAED,MAAM,uBAAuB,GAAG;IAC9B,MAAM;IACN,WAAW;IACX,kBAAkB;IAClB,aAAa;IACb,yBAAyB;IACzB,yBAAyB;IACzB,kBAAkB;IAClB,uBAAuB;IACvB,mCAAmC;IACnC,sBAAsB;IACtB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,iCAAiC;IACjC,6BAA6B;IAC7B,iCAAiC;IACjC,uBAAuB;CACxB,CAAA;AA2CD,SAAS,mBAAmB,CAAC,IAAY,EAAE,QAAgB,EAAE,OAAe;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAA;IACzD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,6BAA6B,CAAC,CAAA;IACvD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;GAGG;AACH,2BACE,iBAAyB,EACzB,MAAc,EACd,QAAgB,EAChB,OAAO,GAAW,MAAM,CAAC,gBAAgB;IAEzC,MAAM,IAAI,GAAG,GAAG,iBAAiB,IAAI,MAAM,EAAE,CAAA;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAA;IACzD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,WAAW;QAAE,OAAO,CAAC,CAAC,CAAA;IAChE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,+CAA+C,CAAC,CAAA;IACzE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,6BACE,iBAAyB,EACzB,QAAQ,GAAwB,UAAU;IAE1C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,iBAAiB,mBAAmB,CAAC,CAAA;IACrE,MAAM,KAAK,GACT,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpF,EAAE,IAAI,EAAE;SACP,WAAW,EAAE,IAAI,QAAQ,CAAA;IAC9B,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,GAAG,iBAAiB,+DAA+D,CACpF,CAAA;IACH,CAAC;IACD,OAAO,KAA4B,CAAA;AACrC,CAAC;AAED,sBAA6B,OAA4B,EAAE,MAA6B;IACtF,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC,KAAK,CAAA;IAC5C,IAAI,OAAO,KAAK,iBAAiB;QAAE,OAAO,MAAM,CAAC,cAAc,CAAA;IAC/D,OAAO,MAAM,CAAC,QAAQ,CAAA;AACxB,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,QAAQ,GAAa,EAAE;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAA;IACzD,MAAM,MAAM,GAAG,KAAK;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC,CAAA;IAClB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4DAA4D,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,IAAY;IACnD,IAAI,MAAM,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4CAA4C,CAAC,CAAA;IAC3F,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gCAAgC,MAAM,EAAE,CAAC,CAAA;IAClE,CAAC;IACD,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9C,MAAM,CAAC,QAAQ,KAAK,EAAE;QACtB,MAAM,CAAC,QAAQ,KAAK,EAAE;QACtB,MAAM,CAAC,QAAQ,KAAK,GAAG;QACvB,MAAM,CAAC,MAAM,KAAK,EAAE;QACpB,MAAM,CAAC,IAAI,KAAK,EAAE,EAClB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,iFAAiF,CACzF,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAA;AACtB,CAAC;AAED,4BAAmC,iBAAyB;IAC1D,MAAM,cAAc,GAAG,GAAG,iBAAiB,uBAAuB,CAAA;IAClE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IACjD,MAAM,cAAc,GAClB,aAAa,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,sBAAsB,CAAA;IAChG,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AACvF,CAAC;AAED,SAAS,iBAAiB,CACxB,iBAAyB,EACzB,iBAAuC,EACvC,WAAqB;IAErB,MAAM,cAAc,GAAG,GAAG,iBAAiB,uBAAuB,CAAA;IAClE,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;QACxF,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;YACnD,OAAO;SACR,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;IACrD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,iBAAiB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IAC1E,MAAM,OAAO,GAAG,CACd,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CACjG;SACE,IAAI,EAAE;SACN,WAAW,EAAE,CAAA;IAChB,IAAI,IAAI,GAAW,OAAO,CAAA;IAC1B,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAA;IACvD,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,GAAG,iBAAiB,mDAAmD,CAAC,CAAA;IAC1F,CAAC;IACD,IAAI,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,wDAAwD,CAAC,CAAA;IAC5F,CAAC;IACD,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,oCAAoC,IAAI,EAAE,CAAC,CAAA;IAC9E,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAgB,EAAE,OAAO,EAAE,CAAA;AAC5C,CAAC;AAED;;;GAGG;AACH,+BACE,iBAAyB,EACzB,WAAW,GAAa,QAAQ;IAEhC,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;IAC3E,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAA;IACxC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAA;IACzC,OAAO,MAAM,CAAC,OAAO,CAAA;AACvB,CAAC;AAED,SAAS,UAAU,CAAC,GAAa,EAAE,KAAa;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;SACjE,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC,CACnB,CAAA;IACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACjB,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED;;;;;GAKG;AACH,oBAA2B,OAA0B;IACnD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,WAAW,IAAI,QAAQ,CAChC,CAAA;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAChF,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,OAAO,CAAC,iBAAiB,uBAAuB,EACnD,OAAO,CAAC,cAAc,IAAI,uBAAuB,CAClD,CAAA;IACD,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,OAAO,CAAC,iBAAiB,uBAAuB,EACnD,OAAO,CAAC,cAAc,IAAI,uBAAuB,CAClD,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;IACjF,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,GAAG,CAAA;IAElD,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YACpC,IAAI,EAAE,CAAA;YACN,OAAM;QACR,CAAC;QAED,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,qEAAqE;QACrE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAA;YACjD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACjE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACxE,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACzE,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;YAC9D,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;gBACnB,OAAM;YACR,CAAC;YACD,IAAI,EAAE,CAAA;YACN,OAAM;QACR,CAAC;QAED,IAAI,gBAAwB,CAAA;QAC5B,IAAI,CAAC;YACH,gBAAgB,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,oCAAoC;aAClD,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAC1C,aAAa,CAAC,EAAE,CAAC,aAAa,KAAK,gBAAgB,CACpD,CAAA;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,oCAAoC;aAClD,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QACzB,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,gBAAgB,CAAC,CAAA;QAC9D,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACjE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACxE,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACzE,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;QAC9D,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACtC,GAAG,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YACnB,OAAM;QACR,CAAC;QACD,IAAI,EAAE,CAAA;IACR,CAAC,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,iBAAqC,EACrC,MAAc;IAEd,IAAI,iBAAiB,IAAI,IAAI,IAAI,iBAAiB,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IAC3E,MAAM,IAAI,GAAG,GAAG,iBAAiB,IAAI,MAAM,EAAE,CAAA;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IAC1D,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qCAAqC,CAAC,CAAA;IACvF,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;AACrB,CAAC;AAED,SAAS,kBAAkB,CACzB,iBAAqC,EACrC,MAAc,EACd,aAAwB;IAExB,MAAM,KAAK,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;IAC1D,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,SAAS,CAAA;IACnC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU;QAAE,OAAO,KAAK,CAAA;IACpD,IAAI,aAAa,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,GAAG,iBAAiB,IAAI,SAAS,IAAI,MAAM,YAAY,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAC/F,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,mBAAmB,CAC1B,iBAAqC,EACrC,MAAc;IAEd,MAAM,KAAK,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;IAC1D,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,SAAS,CAAA;IACnC,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAA;IACnC,MAAM,IAAI,KAAK,CAAC,GAAG,iBAAiB,IAAI,SAAS,IAAI,MAAM,wBAAwB,CAAC,CAAA;AACtF,CAAC;AAED,yBAAgC,OAAO,GAA2B,EAAE;IAClE,MAAM,qBAAqB,GACzB,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;QACxE,OAAO,CAAC,qBAAqB;QAC7B,iFAAiF,CAAA;IACnF,MAAM,yBAAyB,GAC7B,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,8BAA8B,EAAE;QAC5E,aAAa;QACb,WAAW;QACX,cAAc;KACf,CAAC;QACF,OAAO,CAAC,yBAAyB;QACjC,cAAc,CAAA;IAChB,MAAM,uBAAuB,GAC3B,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,4BAA4B,EAAE;QAC1E,aAAa;QACb,0BAA0B;QAC1B,aAAa;KACd,CAAC;QACF,OAAO,CAAC,uBAAuB;QAC/B,aAAa,CAAA;IACf,MAAM,YAAY,GAChB,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACtF,OAAO,CAAC,YAAY;QACpB,MAAM,CAAA;IACR,MAAM,iBAAiB,GACrB,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;QACnE,OAAO,CAAC,iBAAiB;QACzB,8DAA8D,CAAA;IAChE,MAAM,uBAAuB,GAC3B,mBAAmB,CAAC,OAAO,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;QAC3E,OAAO,CAAC,uBAAuB;QAC/B,IAAI,CAAA;IAEN,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QAC/D,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAA;QAClD,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAA;QAChD,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;QAC/C,IAAI,iBAAiB,KAAK,KAAK,EAAE,CAAC;YAChC,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAA;QACxD,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAA;QAC1D,IAAI,uBAAuB,KAAK,KAAK,EAAE,CAAC;YACtC,GAAG,CAAC,SAAS,CAAC,4BAA4B,EAAE,uBAAuB,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,yBAAyB,KAAK,KAAK,EAAE,CAAC;YACxC,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,yBAAyB,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI,qBAAqB,KAAK,KAAK,EAAE,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAA;QACjE,CAAC;QACD,IAAI,uBAAuB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1C,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,qCAAqC,CAAC,CAAA;QACnF,CAAC;QACD,IAAI,EAAE,CAAA;IACR,CAAC,CAAA;AACH,CAAC;AAED,4BACE,iBAAyB,EACzB,QAAgB,EAChB,OAAO,GAAW,cAAc;IAEhC,MAAM,KAAK,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACvF,yEAAyE;IACzE,0EAA0E;IAC1E,2DAA2D;IAC3D,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAA;AACvD,CAAC;AAED;;;;GAIG;AACH,yCACE,GAAY,EACZ,IAAc,EACd,IAAkB;IAElB,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACvE,IAAI,EAAE,CAAA;AACR,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc,EAAE,QAAiB;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAE,QAA2B,CAAC,CAAC,CAAC,MAAM,CAAA;QAC3F,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,KAAK,CAAC,UAAU,CAAA;IAClF,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;AAC/D,CAAC;AAED;;;;GAIG;AACH,2BACE,iBAAyB,EACzB,QAAgB,EAChB,OAAO,GAAW,cAAc;IAEhC,MAAM,KAAK,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC3F,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IAErD,OAAO,CAAC,IAAa,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QAChE,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,SAAS,GAAG,KAAK,CAAA;QAErB,MAAM,QAAQ,GAAG,CAAC,UAAkB,EAAW,EAAE,CAAC,UAAU,GAAG,KAAK,CAAA;QACpE,MAAM,MAAM,GAAG,GAAa,EAAE;YAC5B,IAAI,QAAQ;gBAAE,OAAO,GAAG,CAAA;YACxB,QAAQ,GAAG,IAAI,CAAA;YACf,SAAS,GAAG,IAAI,CAAA;YAChB,cAAc,CAAC,GAAG,CAAC,CAAA;YACnB,MAAM,QAAQ,GAAG,YAAY,CAAC;gBAC5B,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,8DAA8D;aAC5E,CAAC,CAAA;YACF,SAAS,GAAG,KAAK,CAAA;YACjB,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAA;QAED,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,KAAc,EAAY,EAAE;YACvC,IAAI,SAAS;gBAAE,OAAO,YAAY,CAAC,KAAK,CAAC,CAAA;YACzC,IAAI,QAAQ;gBAAE,OAAO,GAAG,CAAA;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YAC9C,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAAE,OAAO,MAAM,EAAE,CAAA;YACpE,OAAO,YAAY,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC,CAAqB,CAAA;QAEtB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,KAAc,EAAY,EAAE;YACvC,IAAI,SAAS;gBAAE,OAAO,YAAY,CAAC,KAAc,CAAC,CAAA;YAClD,IAAI,QAAQ;gBAAE,OAAO,GAAG,CAAA;YACxB,IAAI,UAAkB,CAAA;YACtB,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;iBACvE,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,UAAU;gBAAE,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;;gBACxF,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;YACxE,IAAI,QAAQ,CAAC,UAAU,CAAC;gBAAE,OAAO,MAAM,EAAE,CAAA;YACzC,OAAO,YAAY,CAAC,KAAc,CAAC,CAAA;QACrC,CAAC,CAAqB,CAAA;QAEtB,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,KAAe,EAAE,QAAkB,EAAE,QAAkB,EAAY,EAAE;YAC/E,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,WAAW,CAChB,KAAc,EACd,QAAiB,EACjB,QAAiB,CACK,CAAA;YAC1B,CAAC;YACD,IAAI,QAAQ;gBAAE,OAAO,GAAG,CAAA;YACxB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;gBAC3D,IAAI,QAAQ,CAAC,UAAU,CAAC;oBAAE,OAAO,MAAM,EAAE,CAAA;YAC3C,CAAC;YACD,OAAO,WAAW,CAChB,KAAc,EACd,QAAiB,EACjB,QAAiB,CACK,CAAA;QAC1B,CAAC,CAAoB,CAAA;QAErB,IAAI,EAAE,CAAA;IACR,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,gCACE,KAAc,EACd,IAAa,EACb,GAAa,EACb,IAAkB;IAElB,MAAM,WAAW,GAAG,KAInB,CAAA;IACD,IACE,WAAW,EAAE,IAAI,KAAK,kBAAkB;QACxC,WAAW,EAAE,MAAM,KAAK,GAAG;QAC3B,WAAW,EAAE,UAAU,KAAK,GAAG,EAC/B,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,8CAA8C;SAC5D,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IACD,IACE,WAAW,EAAE,IAAI,KAAK,qBAAqB;QAC3C,WAAW,EAAE,MAAM,KAAK,GAAG;QAC3B,WAAW,EAAE,UAAU,KAAK,GAAG,EAC/B,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,8BAA8B;SAC5C,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,CAAA;AACb,CAAC;AAED;;;;GAIG;AACH,0BAAiC,iBAAyB,EAAE,QAAgB;IAC1E,MAAM,OAAO,GAAG,iBAAiB,CAC/B,iBAAiB,EACjB,yBAAyB,EACzB,QAAQ,EACR,uBAAuB,CACxB,CAAA;IACD,IAAI,OAAO,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IACvD,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,OAAO,CAAC,IAAa,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QAChE,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;YACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,yCAAyC;aACvD,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,MAAM,IAAI,CAAC,CAAA;QACX,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,IAAI,QAAQ;gBAAE,OAAM;YACpB,QAAQ,GAAG,IAAI,CAAA;YACf,MAAM,IAAI,CAAC,CAAA;QACb,CAAC,CAAA;QACD,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC3B,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC1B,IAAI,EAAE,CAAA;IACR,CAAC,CAAA;AACH,CAAC;AAED,6BACE,MAAc,EACd,iBAAyB,EACzB,QAAkC;IAElC,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,GAAG,iBAAiB,qBAAqB,EACzC,QAAQ,CAAC,gBAAgB,EACzB,sBAAsB,CACvB,CAAA;IACD,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,GAAG,iBAAiB,qBAAqB,EACzC,QAAQ,CAAC,gBAAgB,EACzB,gBAAgB,CACjB,CAAA;IACD,MAAM,kBAAkB,GAAG,mBAAmB,CAC5C,GAAG,iBAAiB,wBAAwB,EAC5C,QAAQ,CAAC,kBAAkB,EAC3B,gBAAgB,CACjB,CAAA;IACD,MAAM,eAAe,GAAG,mBAAmB,CACzC,GAAG,iBAAiB,oBAAoB,EACxC,QAAQ,CAAC,eAAe,EACxB,sBAAsB,CACvB,CAAA;IAED,MAAM,CAAC,cAAc,GAAG,gBAAgB,CAAA;IACxC,MAAM,CAAC,cAAc,GAAG,gBAAgB,CAAA;IACxC,MAAM,CAAC,gBAAgB,GAAG,kBAAkB,CAAA;IAC5C,MAAM,CAAC,oBAAoB,GAAG,mBAAmB,CAC/C,GAAG,iBAAiB,0BAA0B,EAC9C,QAAQ,CAAC,oBAAoB,EAC7B,SAAS,CACV,CAAA;IACD,MAAM,cAAc,GAAG,iBAAiB,CACtC,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,CAAC,cAAc,IAAI,KAAK,EAChC,SAAS,CACV,CAAA;IACD,MAAM,CAAC,cAAc,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAA;IACxF,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;IACpC,CAAC;AACH,CAAC"}
@@ -4,6 +4,7 @@ import { Chain } from '../../sdk/types';
4
4
  export declare const AUTH_SESSION_MIGRATION = "2026-07-14-001 add shared auth sessions";
5
5
  export declare const MONITOR_CREATED_AT_INDEX_MIGRATION = "2026-07-14-002 add monitor created index";
6
6
  export declare const CREATE_ACTION_FUNDING_INDEX_MIGRATION = "2026-08-02-001 add createAction funding selection index";
7
+ export declare const PAYMENT_REPLAY_MIGRATION = "2026-08-04-001 add payment replay claims";
7
8
  interface Migration {
8
9
  up: (knex: Knex) => Promise<void>;
9
10
  down?: (knex: Knex) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"KnexMigrations.d.ts","sourceRoot":"","sources":["../../../../src/storage/schema/KnexMigrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAKvC,eAAO,MAAM,sBAAsB,4CAA4C,CAAA;AAC/E,eAAO,MAAM,kCAAkC,6CAA6C,CAAA;AAC5F,eAAO,MAAM,qCAAqC,4DAA4D,CAAA;AAE9G,UAAU,SAAS;IACjB,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,eAAe,CAAC,cAAc;IACtC,aAAa,EAAE,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;IAC/E,gBAAgB,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,MAAM,CAAA;IACvD,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;CAChE;AAED,qBAAa,cAAe,YAAW,eAAe,CAAC,MAAM,CAAC;IASnD,KAAK,EAAE,KAAK;IACZ,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,qBAAqB,EAAE,MAAM;IAXtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAK;IAE1C;;;;OAIG;IACH,YACS,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,qBAAqB,EAAE,MAAM,EAGrC;IAEK,aAAa,IAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAExC;IAED,gBAAgB,CAAE,SAAS,EAAE,MAAM,UAElC;IAEK,YAAY,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAEzD;IAEK,kBAAkB,IAAK,OAAO,CAAC,MAAM,CAAC,CAG3C;IAED,OAAa,eAAe,IAAK,OAAO,CAAC,MAAM,CAAC,CAG/C;IAED,eAAe,CACb,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,qBAAqB,EAAE,MAAM,GAC5B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CA0jB3B;CACF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB9E"}
1
+ {"version":3,"file":"KnexMigrations.d.ts","sourceRoot":"","sources":["../../../../src/storage/schema/KnexMigrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAKvC,eAAO,MAAM,sBAAsB,4CAA4C,CAAA;AAC/E,eAAO,MAAM,kCAAkC,6CAA6C,CAAA;AAC5F,eAAO,MAAM,qCAAqC,4DAA4D,CAAA;AAC9G,eAAO,MAAM,wBAAwB,6CAA6C,CAAA;AAElF,UAAU,SAAS;IACjB,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,eAAe,CAAC,cAAc;IACtC,aAAa,EAAE,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;IAC/E,gBAAgB,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,MAAM,CAAA;IACvD,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;CAChE;AAED,qBAAa,cAAe,YAAW,eAAe,CAAC,MAAM,CAAC;IASnD,KAAK,EAAE,KAAK;IACZ,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,qBAAqB,EAAE,MAAM;IAXtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAK;IAE1C;;;;OAIG;IACH,YACS,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,qBAAqB,EAAE,MAAM,EAGrC;IAEK,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEvC;IAED,gBAAgB,CAAC,SAAS,EAAE,MAAM,UAEjC;IAEK,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAExD;IAEK,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAG1C;IAED,OAAa,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAG9C;IAED,eAAe,CACb,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,qBAAqB,EAAE,MAAM,GAC5B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAimB3B;CACF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB7E"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KnexMigrations = exports.CREATE_ACTION_FUNDING_INDEX_MIGRATION = exports.MONITOR_CREATED_AT_INDEX_MIGRATION = exports.AUTH_SESSION_MIGRATION = void 0;
3
+ exports.KnexMigrations = exports.PAYMENT_REPLAY_MIGRATION = exports.CREATE_ACTION_FUNDING_INDEX_MIGRATION = exports.MONITOR_CREATED_AT_INDEX_MIGRATION = exports.AUTH_SESSION_MIGRATION = void 0;
4
4
  exports.determineDBType = determineDBType;
5
5
  const StorageKnex_1 = require("../StorageKnex");
6
6
  const WalletError_1 = require("../../sdk/WalletError");
@@ -8,6 +8,7 @@ const WERR_errors_1 = require("../../sdk/WERR_errors");
8
8
  exports.AUTH_SESSION_MIGRATION = '2026-07-14-001 add shared auth sessions';
9
9
  exports.MONITOR_CREATED_AT_INDEX_MIGRATION = '2026-07-14-002 add monitor created index';
10
10
  exports.CREATE_ACTION_FUNDING_INDEX_MIGRATION = '2026-08-02-001 add createAction funding selection index';
11
+ exports.PAYMENT_REPLAY_MIGRATION = '2026-08-04-001 add payment replay claims';
11
12
  class KnexMigrations {
12
13
  chain;
13
14
  storageName;
@@ -74,6 +75,19 @@ class KnexMigrations {
74
75
  await knex.schema.dropTable('auth_sessions');
75
76
  }
76
77
  };
78
+ migrations[exports.PAYMENT_REPLAY_MIGRATION] = {
79
+ async up(knex) {
80
+ await knex.schema.createTable('payment_replays', table => {
81
+ table.string('transactionId', 64).primary();
82
+ table.timestamp('createdAt').notNullable().defaultTo(knex.fn.now());
83
+ table.timestamp('expiresAt').nullable();
84
+ table.index('expiresAt', 'idx_payment_replays_expires');
85
+ });
86
+ },
87
+ async down(knex) {
88
+ await knex.schema.dropTable('payment_replays');
89
+ }
90
+ };
77
91
  migrations[exports.MONITOR_CREATED_AT_INDEX_MIGRATION] = {
78
92
  async up(knex) {
79
93
  await knex.schema.alterTable('monitor_events', table => {
@@ -197,6 +211,18 @@ class KnexMigrations {
197
211
  });
198
212
  },
199
213
  async down(knex) {
214
+ // MySQL may discard the automatically-created userId index once one
215
+ // of these wider indexes can support the foreign key. Recreate the
216
+ // original index before removing both wider indexes.
217
+ if ((await determineDBType(knex)) === 'MySQL') {
218
+ const result = await knex.raw('SHOW INDEX FROM ?? WHERE Key_name = ?', ['outputs', 'outputs_userid_foreign']);
219
+ const indexes = result[0];
220
+ if (indexes.length === 0) {
221
+ await knex.schema.alterTable('outputs', table => {
222
+ table.index(['userId'], 'outputs_userid_foreign');
223
+ });
224
+ }
225
+ }
200
226
  await knex.schema.alterTable('tx_labels_map', table => {
201
227
  table.dropIndex(['transactionId', 'isDeleted'], 'idx_tx_labels_map_tx_deleted');
202
228
  });
@@ -217,6 +243,19 @@ class KnexMigrations {
217
243
  });
218
244
  },
219
245
  async down(knex) {
246
+ // MySQL may discard the automatically-created index that supports the
247
+ // spentBy foreign key after this migration adds an equivalent named
248
+ // index. Restore the original support index before removing ours so a
249
+ // complete rollback remains possible.
250
+ if ((await determineDBType(knex)) === 'MySQL') {
251
+ const result = await knex.raw('SHOW INDEX FROM ?? WHERE Key_name = ?', ['outputs', 'outputs_spentby_foreign']);
252
+ const indexes = result[0];
253
+ if (indexes.length === 0) {
254
+ await knex.schema.alterTable('outputs', table => {
255
+ table.index(['spentBy'], 'outputs_spentby_foreign');
256
+ });
257
+ }
258
+ }
220
259
  await knex.schema.alterTable('outputs', table => {
221
260
  table.dropIndex(['spentBy'], 'idx_outputs_spentby');
222
261
  table.dropIndex(['userId', 'basketId', 'spendable', 'satoshis'], 'idx_outputs_user_basket_spendable_satoshis');
@@ -291,7 +330,7 @@ class KnexMigrations {
291
330
  knex
292
331
  });
293
332
  await storage.makeAvailable();
294
- await knex.raw('update proven_tx_reqs set history = \'{}\'');
333
+ await knex.raw("update proven_tx_reqs set history = '{}'");
295
334
  },
296
335
  async down(knex) {
297
336
  // No way back...
@@ -1 +1 @@
1
- {"version":3,"file":"KnexMigrations.js","sourceRoot":"","sources":["../../../../src/storage/schema/KnexMigrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KnexMigrations.js","sourceRoot":"","sources":["../../../../src/storage/schema/KnexMigrations.ts"],"names":[],"mappings":"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"}