dsh-zen-remote 2.3.3 → 2.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +1 -1
  2. package/README.zh-CN.md +1 -1
  3. package/docs/plugin-bridge.md +14 -7
  4. package/docs/remote-access.en.md +8 -8
  5. package/docs/remote-access.md +10 -10
  6. package/lib/adapters/dsh-better-sidebar/index.js +21 -8
  7. package/lib/adapters/dsh-better-sidebar/index.js.map +1 -1
  8. package/lib/adapters/dsh-better-sidebar/surface.js +79 -0
  9. package/lib/adapters/dsh-better-sidebar/surface.js.map +1 -0
  10. package/lib/client.js +102 -30
  11. package/lib/index.js +103 -10
  12. package/lib/index.js.map +1 -1
  13. package/lib/intercept.js +23 -1
  14. package/lib/intercept.js.map +1 -1
  15. package/lib/merge-streams.js +29 -2
  16. package/lib/merge-streams.js.map +1 -1
  17. package/lib/plugin-adapter-core.js +69 -13
  18. package/lib/plugin-adapter-core.js.map +1 -1
  19. package/lib/plugin-bridge.js +179 -12
  20. package/lib/plugin-bridge.js.map +1 -1
  21. package/lib/plugin-route-intercept.js +631 -79
  22. package/lib/plugin-route-intercept.js.map +1 -1
  23. package/lib/plugin-tunnel.js +84 -12
  24. package/lib/plugin-tunnel.js.map +1 -1
  25. package/lib/relay-server.js +65 -47
  26. package/lib/relay-server.js.map +1 -1
  27. package/lib/types/adapters/dsh-better-sidebar/index.d.ts.map +1 -1
  28. package/lib/types/adapters/dsh-better-sidebar/surface.d.ts +23 -0
  29. package/lib/types/adapters/dsh-better-sidebar/surface.d.ts.map +1 -0
  30. package/lib/types/adapters/types.d.ts +14 -3
  31. package/lib/types/adapters/types.d.ts.map +1 -1
  32. package/lib/types/client/effects/turn-fold.d.ts +42 -0
  33. package/lib/types/client/effects/turn-fold.d.ts.map +1 -1
  34. package/lib/types/client/styles/turn-fold.css.d.ts.map +1 -1
  35. package/lib/types/index.d.ts +2 -2
  36. package/lib/types/index.d.ts.map +1 -1
  37. package/lib/types/intercept.d.ts +19 -0
  38. package/lib/types/intercept.d.ts.map +1 -1
  39. package/lib/types/merge-streams.d.ts +12 -0
  40. package/lib/types/merge-streams.d.ts.map +1 -1
  41. package/lib/types/plugin-adapter-core.d.ts +24 -11
  42. package/lib/types/plugin-adapter-core.d.ts.map +1 -1
  43. package/lib/types/plugin-bridge.d.ts +93 -5
  44. package/lib/types/plugin-bridge.d.ts.map +1 -1
  45. package/lib/types/plugin-route-intercept.d.ts +52 -3
  46. package/lib/types/plugin-route-intercept.d.ts.map +1 -1
  47. package/lib/types/plugin-tunnel.d.ts +27 -3
  48. package/lib/types/plugin-tunnel.d.ts.map +1 -1
  49. package/lib/types/relay-server.d.ts +2 -25
  50. package/lib/types/relay-server.d.ts.map +1 -1
  51. package/lib/types/upload-limits.d.ts +67 -0
  52. package/lib/types/upload-limits.d.ts.map +1 -0
  53. package/lib/types/wizard/proxy-snippets.d.ts +4 -3
  54. package/lib/types/wizard/proxy-snippets.d.ts.map +1 -1
  55. package/lib/upload-limits.js +67 -0
  56. package/lib/upload-limits.js.map +1 -0
  57. package/lib/wizard/proxy-snippets.js +5 -4
  58. package/lib/wizard/proxy-snippets.js.map +1 -1
  59. package/package.json +38 -38
  60. package/scripts/check-upload-limits.mjs +167 -0
  61. package/src/adapters/dsh-better-sidebar/index.ts +21 -9
  62. package/src/adapters/dsh-better-sidebar/surface.ts +90 -0
  63. package/src/adapters/types.ts +14 -3
  64. package/src/client/effects/turn-fold.ts +97 -26
  65. package/src/client/styles/turn-fold.css.ts +9 -0
  66. package/src/client-data/wizard.ts +1 -1
  67. package/src/index.ts +99 -12
  68. package/src/intercept.ts +47 -1
  69. package/src/merge-streams.ts +41 -1
  70. package/src/plugin-adapter-core.ts +69 -14
  71. package/src/plugin-bridge.ts +228 -14
  72. package/src/plugin-route-intercept.ts +677 -82
  73. package/src/plugin-tunnel.ts +95 -13
  74. package/src/relay-server.ts +60 -48
  75. package/src/upload-limits.ts +69 -0
  76. package/src/wizard/proxy-snippets.ts +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"merge-streams.js","sourceRoot":"","sources":["../src/merge-streams.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-streams.js","sourceRoot":"","sources":["../src/merge-streams.ts"],"names":[],"mappings":"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"}
@@ -23,19 +23,19 @@
23
23
  */
24
24
  import { createHash } from 'node:crypto';
25
25
  import { isVirtual, fromVirtual } from './virtual-id.js';
26
+ import { MAX_UPLOAD_BYTES } from './upload-limits.js';
26
27
  import { BRIDGE_METHODS, DEFAULT_ROUTE_BODY_BYTES } from './plugin-bridge.js';
27
28
  export { fromVirtual };
28
29
  /** The npm package name of an adapter's target, same shape the cooperative
29
30
  * declarations validate. */
30
31
  const PLUGIN_PATTERN = /^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/u;
31
32
  const MAX_ROUTES = 64;
32
- /** The body cap an ADAPTER route may declare: 500 MiB — the relay's own
33
- * upload budget (lib/relay-server.js `MAX_UPLOAD_BYTES`), which the
34
- * better-sidebar upload route rides. Wider than the cooperative
35
- * declaration's 64 MiB because raw media uploads are exactly what an
36
- * adapter exists to carry; test/adapter-better-sidebar.test.cjs pins the
37
- * two numbers together. */
38
- export const MAX_ADAPTER_BODY_BYTES = 500 * 1024 * 1024;
33
+ /** The body cap an ADAPTER route may declare: the relay's own upload
34
+ * budget (`MAX_UPLOAD_BYTES` in upload-limits.ts), which the better-sidebar
35
+ * upload route rides. The same 500 MiB the cooperative declaration's
36
+ * maxBody allows — both read the one constant since PB-20; raw media
37
+ * uploads are exactly what an adapter exists to carry. */
38
+ export const MAX_ADAPTER_BODY_BYTES = MAX_UPLOAD_BYTES;
39
39
  function isRecord(value) {
40
40
  return typeof value === 'object' && value !== null && !Array.isArray(value);
41
41
  }
@@ -49,14 +49,20 @@ function fail(field, detail) {
49
49
  * absolute paths, off the host-owned `/_dsh/` and `/api` prefixes) — an
50
50
  * adapter must not be able to reach anything a declaration cannot. The
51
51
  * installed version must be listed EXACTLY (`versions` are what the
52
- * adapter was written against); anything else refuses the adapter whole.
52
+ * adapter was written against) — with ONE out (PB-19): a version outside
53
+ * the list is admitted anyway when `options.surfaceDigest` — the wiring's
54
+ * extraction of the INSTALLED build's wire surface — is a key of the
55
+ * adapter's `surfaces` table; the registration then carries the installed
56
+ * version with the usual route-table digest, so two machines on the same
57
+ * unlisted-but-surface-identical release still agree. A miss refuses with
58
+ * the digest and the table's size in the message, for the logs.
53
59
  * @throws with a field-naming message on any illegal shape.
54
60
  */
55
- export function normalizeAdapter(input, installedVersion) {
61
+ export function normalizeAdapter(input, installedVersion, options) {
56
62
  if (!isRecord(input))
57
63
  fail('adapter', 'expected an object');
58
64
  for (const key of Object.keys(input)) {
59
- if (key !== 'plugin' && key !== 'versions' && key !== 'routes' && key !== 'client' && key !== 'server') {
65
+ if (key !== 'plugin' && key !== 'versions' && key !== 'routes' && key !== 'client' && key !== 'server' && key !== 'surfaces') {
60
66
  fail(key, 'unknown field (typo guard)');
61
67
  }
62
68
  }
@@ -67,8 +73,24 @@ export function normalizeAdapter(input, installedVersion) {
67
73
  if (!Array.isArray(versions) || versions.length === 0 || versions.some((v) => typeof v !== 'string' || v === '')) {
68
74
  fail('versions', 'must be a non-empty array of version strings');
69
75
  }
76
+ // The surfaces table is validated whenever present, listed version or not
77
+ // (a malformed credential must not lurk until the one version that needs it).
78
+ if (input.surfaces !== undefined) {
79
+ if (!isRecord(input.surfaces))
80
+ fail('surfaces', 'expected an object (digest16 → remark)');
81
+ for (const [key, value] of Object.entries(input.surfaces)) {
82
+ if (!/^[0-9a-f]{16}$/u.test(key))
83
+ fail(`surfaces.${key}`, 'the key must be a 16-hex surface digest');
84
+ if (typeof value !== 'string' || value === '')
85
+ fail(`surfaces.${key}`, 'the remark must be a non-empty string');
86
+ }
87
+ }
70
88
  if (!versions.includes(installedVersion)) {
71
- fail('versions', `installed version "${installedVersion}" is not among the adapter's versions`);
89
+ const surfaceDigest = options?.surfaceDigest;
90
+ const surfaces = input.surfaces;
91
+ if (!(surfaceDigest !== undefined && surfaces !== undefined && Object.hasOwn(surfaces, surfaceDigest))) {
92
+ fail('versions', `installed version "${installedVersion}" is not among the adapter's versions (surface ${surfaceDigest ?? 'not computed'} vs ${surfaces === undefined ? 0 : Object.keys(surfaces).length} listed)`);
93
+ }
72
94
  }
73
95
  if (!Array.isArray(routes) || routes.length === 0)
74
96
  fail('routes', 'must be a non-empty array');
@@ -229,13 +251,47 @@ export function adapterDigestOf(plugin, version, routes) {
229
251
  });
230
252
  return createHash('sha256').update(canonical, 'utf8').digest('hex').slice(0, 16);
231
253
  }
232
- /** The prefix-match rule, shared verbatim by both halves: equality or one
233
- * path segment deeper, on the RAW undecoded pathname. */
254
+ /** The prefix-match rule, shared verbatim by both halves: equality, or any
255
+ * deeper sub-path (`startsWith(path + '/')`), on the RAW undecoded pathname. */
234
256
  export function adapterPathMatches(route, pathname) {
235
257
  if (route.match === 'exact')
236
258
  return pathname === route.path;
237
259
  return pathname === route.path || pathname.startsWith(`${route.path}/`);
238
260
  }
261
+ /** The prefix TAIL's shape red line (PB-23b): the part of the RAW pathname
262
+ * AFTER a matched prefix path — the variable tail prefix matching admits —
263
+ * refuses `?`, `#`, `..` and whitespace. Exact equality inherited these
264
+ * declaration-side red lines structurally (the declared path itself passed
265
+ * them at registration); a prefix hit forwards an arbitrary tail straight
266
+ * into the loopback request line, so the tail carries them itself. A `?`
267
+ * would break the parse-once query discipline (the loopback appends ITS
268
+ * `?query`, and a host splits at the FIRST `?` — the unchecked part would
269
+ * ride in as query); a `#` is fragment garbage in the request line;
270
+ * whitespace mirrors the declaration rule. `..` is refused RAW and in its
271
+ * `%2e`/`%2E` encoding — ANY encoded dot, not just the `%2e%2e` pair, since
272
+ * a mixed form like `.%2e.` decodes to dot-dot and would slip a pair-only
273
+ * check. The verdict deliberately runs on the RAW bytes (reject-on-sight),
274
+ * not decode-then-check: `.` is RFC 3986-unreserved, so no legitimate
275
+ * encoder — including this module's own `encodeURIComponent` rewrite — ever
276
+ * produces `%2e`, while a decoded verdict would depend on the decode depth
277
+ * (`%252e%252e` survives one decode) and on malformed-escape handling,
278
+ * i.e. on exactly the host-decoder behavior this red line exists because it
279
+ * is NOT pinned. The check is tail-only because a declaration may legally
280
+ * carry `%` (only these four shapes are refused at registration) — judging
281
+ * the whole pathname would retro-illegalize blessed declarations. Both
282
+ * halves answer the refusal with 400 `bad-request`, the coordinate-shape
283
+ * code the entries already use (no client classifies on it). */
284
+ const TAIL_SHAPE_VIOLATION = /[?#\s]|\.\.|%2e/iu;
285
+ /** Whether {@link adapterPathMatches} hit via a deeper tail whose shape
286
+ * breaks the red line — `false` for a non-match (the caller's routing
287
+ * refusal answers first) and for an equality hit (no tail at all). */
288
+ export function adapterTailShapeViolation(route, pathname) {
289
+ if (!adapterPathMatches(route, pathname))
290
+ return false;
291
+ if (pathname === route.path)
292
+ return false;
293
+ return TAIL_SHAPE_VIOLATION.test(pathname.slice(route.path.length));
294
+ }
239
295
  /** The adapter route a forwarded request hit, or `undefined`. `local`
240
296
  * routes never match here — they stay on the sub-client's own machine in
241
297
  * both directions, so the server half must never see (nor serve) them. */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-adapter-core.js","sourceRoot":"","sources":["../src/plugin-adapter-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-adapter-core.js","sourceRoot":"","sources":["../src/plugin-adapter-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAE7E,OAAO,EAAE,WAAW,EAAE,CAAA;AAqItB;4BAC4B;AAC5B,MAAM,cAAc,GAAG,qDAAqD,CAAA;AAC5E,MAAM,UAAU,GAAG,EAAE,CAAA;AAErB;;;;0DAI0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAA;AAEtD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,IAAI,CAAC,KAAa,EAAE,MAAc;IACzC,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,KAAK,MAAM,EAAE,CAAC,CAAA;AACzD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc,EAAE,gBAAwB,EAAE,OAAoC;IAC7G,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;IAC3D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7H,IAAI,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAA;IAClE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;QACjH,IAAI,CAAC,UAAU,EAAE,8CAA8C,CAAC,CAAA;IAClE,CAAC;IACD,0EAA0E;IAC1E,8EAA8E;IAC9E,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,UAAU,EAAE,wCAAwC,CAAC,CAAA;QACzF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,yCAAyC,CAAC,CAAA;YACpG,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE;gBAAE,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,uCAAuC,CAAC,CAAA;QACjH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,CAAA;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAA8C,CAAA;QACrE,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;YACvG,IAAI,CAAC,UAAU,EAAE,sBAAsB,gBAAgB,kDAAkD,aAAa,IAAI,cAAc,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,UAAU,CAAC,CAAA;QACrN,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAA;IAC9F,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU;QAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,uBAAuB,UAAU,MAAM,CAAC,CAAA;IAEvG,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,UAAU,GAA6B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAA0B,EAAE;QAC/F,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,oBAAoB,CAAC,CAAA;QACpE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnL,IAAI,CAAC,UAAU,KAAK,KAAK,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;QACtF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5J,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;QAClF,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,IAAI,IAAI,oDAAoD,CAAC,CAAA;QAC7F,CAAC;QACD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ;YAAE,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,6BAA6B,CAAC,CAAA;QAC1G,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,mBAAmB,IAAI,GAAG,CAAC,CAAA;QAC7E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACd,IAAI,iBAA2B,CAAA;QAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,iBAAiB,GAAG,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,2CAA2C,CAAC,CAAA;YAClI,MAAM,KAAK,GAAa,EAAE,CAAA;YAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAE,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxF,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,kBAAkB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACjH,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC/C,CAAC;YACD,KAAK,CAAC,IAAI,EAAE,CAAA;YACZ,iBAAiB,GAAG,KAAK,CAAA;QAC3B,CAAC;QACD,MAAM,iBAAiB,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAA;QACpF,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,IAAI,CAAC,IAAI,iBAAiB,GAAG,sBAAsB,EAAE,CAAC;YAC1J,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,oCAAoC,sBAAsB,EAAE,CAAC,CAAA;QAChG,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;QAC9D,IAAI,OAAO,gBAAgB,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,mBAAmB,CAAC,CAAA;QAC/F,MAAM,iBAAiB,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;QACjE,IAAI,OAAO,iBAAiB,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,mBAAmB,CAAC,CAAA;QACjG,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,gBAAgB;gBAAE,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,gCAAgC,CAAC,CAAA;YACxF,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC;gBAAE,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,6BAA6B,CAAC,CAAA;QACzH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,oBAAoB,CAAC,CAAA;QAC9E,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5F,IAAI,CAAC,UAAU,KAAK,gBAAgB,EAAE,gCAAgC,CAAC,CAAA;YACzE,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,EAAE,KAAK,cAAc,EAAE,CAAC;YACzC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC/F,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAE,gCAAgC,CAAC,CAAA;YAC1E,CAAC;YACD,IAAI,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,4CAA4C,CAAC,CAAA;QACxG,CAAC;aAAM,IAAI,OAAO,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;gBACnI,IAAI,CAAC,UAAU,KAAK,kBAAkB,EAAE,oDAAoD,CAAC,CAAA;YAC/F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,KAAK,cAAc,EAAE,gDAAgD,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK;YAAE,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,mBAAmB,CAAC,CAAA;QACjH,MAAM,eAAe,GAAY,KAAK,KAAK,IAAI,CAAA;QAC/C,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,UAAU;YAAE,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,+BAA+B,CAAC,CAAA;QACpH,OAAO;YACL,IAAI;YACJ,KAAK;YACL,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,OAAyB;YAClC,KAAK,EAAE,eAAe;YACtB,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpG,CAAA;IACH,CAAC,CAAC,CAAA;IACF,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3E,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAA;IACpE,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,aAAa;IACb,MAAM,WAAW,GAA0B;QACzC,MAAM;QACN,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,UAAU;aACf,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAyB,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,QAAQ;YACf,YAAY,EAAE,WAAW;YACzB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YAClG,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;YAC/E,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAC1C,CAAC,CAAC;QACL,MAAM;KACP,CAAA;IACD,MAAM,KAAK,GAAiB,EAAE,CAAA;IAC9B,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAgC,CAAA;QACrD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,EAAE,CAAC;YAC5G,KAAK,CAAC,MAAM,GAAG;gBACb,GAAG,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,OAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,GAAG,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/F,CAAA;QACH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAgC,CAAA;QACrD,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACjE,KAAK,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,OAAQ,CAAC,GAAG,CAAC,EAAE,CAAA;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;AACxG,CAAC;AAED;;;+DAG+D;AAC/D,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,OAAe,EAAE,MAAgC;IAC/F,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,MAAM;QACN,OAAO;QACP,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;KACJ,CAAC,CAAA;IACF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAClF,CAAC;AAED;gFACgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,KAA6B,EAAE,QAAgB;IAChF,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO;QAAE,OAAO,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAA;IAC3D,OAAO,QAAQ,KAAK,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;AACzE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;gEAsBgE;AAChE,MAAM,oBAAoB,GAAG,mBAAmB,CAAA;AAEhD;;sEAEsE;AACtE,MAAM,UAAU,yBAAyB,CAAC,KAA6B,EAAE,QAAgB;IACvF,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAA;IACtD,IAAI,QAAQ,KAAK,KAAK,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IACzC,OAAO,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AACrE,CAAC;AAED;;0EAE0E;AAC1E,MAAM,UAAU,iBAAiB,CAAC,QAAkD,EAAE,QAAgB;IACpG,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC5C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,KAAK;gBAAE,SAAQ;YACzB,IAAI,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QACpE,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAUD;;;;;;kBAMkB;AAClB,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,YAAY,IAAY;QACtB,KAAK,CAAC,oBAAoB,IAAI,0BAA0B,CAAC,CAAA;QACzD,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAA;IAC3C,CAAC;CACF;AAED;;;qDAGqD;AACrD,MAAM,UAAU,gBAAgB,CAAC,KAA6B,EAAE,QAAgB,EAAE,MAAuB,EAAE,IAAa;IACtH,MAAM,IAAI,GAAmB,EAAE,CAAA;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7B,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,2BAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC1E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,KAAK,EAAE;gBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,EAAE,KAAK,cAAc,EAAE,CAAC;QACzC,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,EAAE,GAAG,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YAChD,IAAI,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;YAC1B,IAAI,CAAC;gBACH,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;gBACnE,gBAAgB;YAClB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;gBACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE;oBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YACpG,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAWD,MAAM,UAAU,sBAAsB,CAAC,KAA6B,EAAE,QAAgB,EAAE,MAAuB,EAAE,IAAa;IAC5H,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC3D,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAC9D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC;AAYD;;;2EAG2E;AAC3E,MAAM,UAAU,qBAAqB,CACnC,KAA6B,EAC7B,QAAgB,EAChB,MAAuB,EACvB,IAAa,EACb,IAAoB,EACpB,QAAuC;IAEvC,MAAM,cAAc,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;IAClD,IAAI,iBAAiB,GAAG,QAAQ,CAAA;IAChC,IAAI,QAA4B,CAAA;IAChC,yEAAyE;IACzE,mEAAmE;IACnE,IAAI,QAA6C,CAAA;IACjD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzB,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAI,EAAE,IAAI,CAAC,CAAA;QACpC,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;YACpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC7C,QAAQ,CAAC,WAAW,GAAG,CAAC,GAAI,KAAK,CAAC,OAA6B,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;YACjG,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC;gBAAE,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;YACpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,QAAQ,CAAC,GAAG,CAAC,GAAI,CAAC,GAAG,IAAI,CAAA;gBACzB,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAA;AACzE,CAAC;AAED;;;gCAGgC;AAChC,MAAM,UAAU,wBAAwB,CAAC,OAA0B,EAAE,aAA8D;IACjI,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,OAAO,KAAK,OAAO,CAAC,WAAW,CAAC,OAAO,CAAA;AACxI,CAAC;AAED;kEACkE;AAClE,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAEhE;;;;;oEAKoE;AACpE,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,yBAAyB;IACzB,qBAAqB;IACrB,MAAM;IACN,eAAe;IACf,eAAe;IACf,eAAe;CACP,CAAA"}
@@ -11,18 +11,28 @@
11
11
  * ({@link createBridgeRegistry}), and the local-vs-server comparison that a
12
12
  * later task feeds handshake data into ({@link compareBridges}).
13
13
  *
14
- * Pure logic by design: no DSH imports, no I/O, no clocks — the digest is
14
+ * Pure logic by design: no DSH imports (the one exception is the
15
+ * pure-constants src/upload-limits.ts, itself zero-import), no I/O, no
16
+ * clocks — the digest is
15
17
  * the only place node:crypto appears, which is fine because this module only
16
18
  * ever runs in the backend process. Nothing here talks to the relay or the
17
19
  * network; the handshake side and the request rewrite side are later tasks
18
20
  * that consume a {@link BridgeRegistry} through src/index.ts.
19
21
  */
20
22
  import { createHash } from 'node:crypto';
23
+ import { MAX_UPLOAD_BYTES } from './upload-limits.js';
21
24
  /** The HTTP methods a bridged route may forward (PB-9). 2.1 accepted GET
22
25
  * only; the write methods arrived with the `methods` field. */
23
26
  export const BRIDGE_METHODS = ['GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE'];
24
- /** The body cap a route may declare (`maxBody`), in bytes: 64 MiB. */
25
- export const MAX_ROUTE_BODY_BYTES = 64 * 1024 * 1024;
27
+ /** The body cap a route may declare (`maxBody`), in bytes. This is the SAME
28
+ * single 500 MiB ceiling {@link MAX_UPLOAD_BYTES} defines in
29
+ * src/upload-limits.ts, re-exported under the bridge-local name so existing
30
+ * consumers stay untouched: three ceilings that used to be three numbers —
31
+ * the relay's `/v1/upload` route, the sub-client's streaming upload forward
32
+ * (both reading upload-limits.ts directly) and this bridge `maxBody` cap
33
+ * (hand-copied 64 MiB before declaration-v2) — now share one definition, so
34
+ * they can never drift apart again. */
35
+ export { MAX_UPLOAD_BYTES as MAX_ROUTE_BODY_BYTES };
26
36
  /** The body cap a route gets when it declares none: 1 MiB. */
27
37
  export const DEFAULT_ROUTE_BODY_BYTES = 1024 * 1024;
28
38
  /** The effective upgrade mark of one normalized route. */
@@ -37,6 +47,36 @@ export function routeMethodsOf(route) {
37
47
  export function routeMaxBodyOf(route) {
38
48
  return route.maxBody ?? DEFAULT_ROUTE_BODY_BYTES;
39
49
  }
50
+ /** The effective session-id locator of one normalized route. A route that
51
+ * declared none keeps the 2.1 convention: the session id rides the query
52
+ * parameter named by `sessionParam`. */
53
+ export function routeLocatorOf(route) {
54
+ return route.locator ?? { in: 'query', name: route.sessionParam };
55
+ }
56
+ /** The effective prefix mark of one normalized route: does the route admit
57
+ * its variable path tail (sub-paths under `path`)? */
58
+ export function routePrefixOf(route) {
59
+ return route.prefix === true;
60
+ }
61
+ /** The effective remote-deny mark of one normalized route: must this route
62
+ * refuse to serve a REMOTE session (local-only data)? */
63
+ export function routeDeniesRemoteOf(route) {
64
+ return route.deny === true;
65
+ }
66
+ /** The effective id-rewrite mark of one normalized route: does the
67
+ * sub-client rewrite real↔virtual session ids while forwarding? Both
68
+ * `rewriteIds` forms enable it (`true` and `{ fields }` alike) — which form
69
+ * decides only whether the POSITION rewrite joins the value scan. */
70
+ export function routeRewritesIdsOf(route) {
71
+ return route.rewriteIds !== undefined;
72
+ }
73
+ /** The declared field paths of a `{ fields }`-form `rewriteIds` route
74
+ * (PB-25a) — where the response's NEWLY-CREATED session ids sit. `undefined`
75
+ * for a `true` route and for a route without the field: the position
76
+ * rewrite exists only when explicitly declared. */
77
+ export function routeRewriteFieldsOf(route) {
78
+ return typeof route.rewriteIds === 'object' ? route.rewriteIds.fields : undefined;
79
+ }
40
80
  /** Longest legal `plugin` — the npm package name cap. */
41
81
  const MAX_PLUGIN_LENGTH = 214;
42
82
  /** Most routes one declaration may carry. */
@@ -49,6 +89,12 @@ const MAX_ROUTES = 64;
49
89
  const PLUGIN_PATTERN = /^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/u;
50
90
  /** Query-parameter name carrying the session id. */
51
91
  const SESSION_PARAM_PATTERN = /^[A-Za-z][A-Za-z0-9_]{0,63}$/u;
92
+ /** One dot-path segment of a `rewriteIds: { fields }` declaration (PB-25a):
93
+ * `[A-Za-z0-9_-]`, non-empty. The full path splits on `.`; a segment of
94
+ * ONLY digits is an array index and refused separately below — array
95
+ * elements are the value deep-scan's business, and a declaration that could
96
+ * never match (the position rewrite walks objects only) must not register. */
97
+ const REWRITE_FIELD_SEGMENT_PATTERN = /^[A-Za-z0-9_-]+$/u;
52
98
  function isPlainObject(value) {
53
99
  return typeof value === 'object' && value !== null && !Array.isArray(value);
54
100
  }
@@ -98,11 +144,11 @@ export function normalizeDeclaration(input) {
98
144
  if (!isPlainObject(route))
99
145
  fail(`routes[${index}]`, 'expected an object');
100
146
  for (const key of Object.keys(route)) {
101
- if (key !== 'path' && key !== 'scope' && key !== 'sessionParam' && key !== 'stream' && key !== 'methods' && key !== 'maxBody' && key !== 'upgrade') {
147
+ if (key !== 'path' && key !== 'scope' && key !== 'sessionParam' && key !== 'stream' && key !== 'methods' && key !== 'maxBody' && key !== 'upgrade' && key !== 'locator' && key !== 'prefix' && key !== 'deny' && key !== 'rewriteIds') {
102
148
  fail(`routes[${index}].${key}`, 'unknown field (typo guard)');
103
149
  }
104
150
  }
105
- const { path, scope, sessionParam, stream, methods, maxBody, upgrade } = route;
151
+ const { path, scope, sessionParam, stream, methods, maxBody, upgrade, locator, prefix, deny, rewriteIds } = route;
106
152
  if (typeof path !== 'string' || path === '')
107
153
  fail(`routes[${index}].path`, 'must be a non-empty string');
108
154
  if (!path.startsWith('/'))
@@ -160,8 +206,8 @@ export function normalizeDeclaration(input) {
160
206
  // default.
161
207
  let normalizedMaxBody;
162
208
  if (maxBody !== undefined) {
163
- if (typeof maxBody !== 'number' || !Number.isInteger(maxBody) || maxBody <= 0 || maxBody > MAX_ROUTE_BODY_BYTES) {
164
- fail(`routes[${index}].maxBody`, `must be a positive integer up to ${MAX_ROUTE_BODY_BYTES}`);
209
+ if (typeof maxBody !== 'number' || !Number.isInteger(maxBody) || maxBody <= 0 || maxBody > MAX_UPLOAD_BYTES) {
210
+ fail(`routes[${index}].maxBody`, `must be a positive integer up to ${MAX_UPLOAD_BYTES}`);
165
211
  }
166
212
  normalizedMaxBody = maxBody;
167
213
  }
@@ -169,6 +215,16 @@ export function normalizeDeclaration(input) {
169
215
  // declaration, not a toggle), it cannot coexist with `stream` (a route
170
216
  // is one thing), and it is GET-only — an explicit `methods` naming
171
217
  // anything else cannot be an upgrade route.
218
+ // PB-20: `prefix` — a declaration that the route admits its variable
219
+ // path tail (sub-paths under `path`), required by a `path-segment`
220
+ // locator below and refused next to `upgrade` (checked in the upgrade
221
+ // block). Only `true` is legal — this is a declaration, not a toggle.
222
+ let normalizedPrefix;
223
+ if (prefix !== undefined) {
224
+ if (prefix !== true)
225
+ fail(`routes[${index}].prefix`, 'must be true or omitted');
226
+ normalizedPrefix = true;
227
+ }
172
228
  let normalizedUpgrade;
173
229
  if (upgrade !== undefined) {
174
230
  if (upgrade !== true)
@@ -178,17 +234,120 @@ export function normalizeDeclaration(input) {
178
234
  if (normalizedMethods !== undefined && normalizedMethods.some((entry) => entry !== 'GET')) {
179
235
  fail(`routes[${index}].upgrade`, 'upgrade routes are GET-only');
180
236
  }
237
+ if (normalizedPrefix === true) {
238
+ fail(`routes[${index}].prefix`, 'cannot be combined with upgrade — a WebSocket tunnel over a prefix route is left for when a need shows up');
239
+ }
181
240
  normalizedUpgrade = true;
182
241
  }
183
- return { path, scope, sessionParam: param, stream: streamFlag, methods: normalizedMethods, maxBody: normalizedMaxBody, upgrade: normalizedUpgrade };
242
+ // PB-20: `locator` — where the session id lives, REPLACING the
243
+ // query-parameter convention (so the two fields can never coexist; a
244
+ // route without one keeps `sessionParam`'s 2.1 semantics). Shapes and
245
+ // the path-segment/prefix pairing mirror the adapter core's locator
246
+ // (PB-11) so the two ends read identically.
247
+ let normalizedLocator;
248
+ if (locator !== undefined) {
249
+ if (sessionParam !== undefined) {
250
+ fail(`routes[${index}].locator`, 'cannot be combined with sessionParam — a route locates its session id one way');
251
+ }
252
+ if (!isPlainObject(locator))
253
+ fail(`routes[${index}].locator`, 'expected an object');
254
+ if (locator.in === 'query') {
255
+ if (typeof locator.name !== 'string' || !SESSION_PARAM_PATTERN.test(locator.name)) {
256
+ fail(`routes[${index}].locator.name`, `"${String(locator.name)}" must match ${SESSION_PARAM_PATTERN.source}`);
257
+ }
258
+ normalizedLocator = { in: 'query', name: locator.name };
259
+ }
260
+ else if (locator.in === 'path-segment') {
261
+ if (typeof locator.index !== 'number' || !Number.isInteger(locator.index) || locator.index < 0) {
262
+ fail(`routes[${index}].locator.index`, 'must be a non-negative integer');
263
+ }
264
+ if (normalizedPrefix !== true) {
265
+ fail(`routes[${index}].locator`, 'path-segment locating needs prefix: true (the id lives in the variable tail only a prefix route admits)');
266
+ }
267
+ normalizedLocator = { in: 'path-segment', index: locator.index };
268
+ }
269
+ else if (locator.in === 'json-body') {
270
+ if (!Array.isArray(locator.fields) || locator.fields.length === 0 || locator.fields.some((entry) => typeof entry !== 'string' || entry === '')) {
271
+ fail(`routes[${index}].locator.fields`, 'must be a non-empty array of field names');
272
+ }
273
+ normalizedLocator = { in: 'json-body', fields: [...locator.fields] };
274
+ }
275
+ else {
276
+ fail(`routes[${index}].locator.in`, 'must be "query", "path-segment" or "json-body"');
277
+ }
278
+ }
279
+ // PB-20: `deny` — the route must refuse a REMOTE session (its data is
280
+ // local-only). Only `true` is legal.
281
+ let normalizedDeny;
282
+ if (deny !== undefined) {
283
+ if (deny !== true)
284
+ fail(`routes[${index}].deny`, 'must be true or omitted');
285
+ normalizedDeny = true;
286
+ }
287
+ // PB-20/PB-25a: `rewriteIds` — the sub-client rewrites real↔virtual
288
+ // session ids while forwarding. Two forms: `true` (the 2.4 echo shape —
289
+ // the value deep-scan over the request's own ids) and `{ fields }`
290
+ // (PB-25a — adds the position rewrite where NEWLY-CREATED ids sit).
291
+ // Never legal on a stream route: a streaming response is never buffered,
292
+ // so there is nothing to rewrite. The two forms hash DIFFERENTLY (see
293
+ // the canonical form below); an old `true` declaration's digest is
294
+ // bit-for-bit what it always was.
295
+ let normalizedRewriteIds;
296
+ if (rewriteIds !== undefined) {
297
+ if (rewriteIds === true) {
298
+ normalizedRewriteIds = true;
299
+ }
300
+ else if (isPlainObject(rewriteIds)) {
301
+ for (const key of Object.keys(rewriteIds)) {
302
+ if (key !== 'fields')
303
+ fail(`routes[${index}].rewriteIds.${key}`, 'unknown field (typo guard)');
304
+ }
305
+ const { fields } = rewriteIds;
306
+ if (!Array.isArray(fields) || fields.length === 0 || fields.some((entry) => typeof entry !== 'string')) {
307
+ fail(`routes[${index}].rewriteIds.fields`, 'must be a non-empty array of dot paths');
308
+ }
309
+ for (const entry of fields) {
310
+ const segments = entry.split('.');
311
+ if (segments.some((segment) => !REWRITE_FIELD_SEGMENT_PATTERN.test(segment))) {
312
+ fail(`routes[${index}].rewriteIds.fields`, `"${entry}" must be a dot path of non-empty [A-Za-z0-9_-] segments`);
313
+ }
314
+ if (segments.some((segment) => /^\d+$/u.test(segment))) {
315
+ fail(`routes[${index}].rewriteIds.fields`, `"${entry}" must not carry an array index — array elements are the value deep-scan's business`);
316
+ }
317
+ }
318
+ normalizedRewriteIds = { fields: [...fields] };
319
+ }
320
+ else {
321
+ fail(`routes[${index}].rewriteIds`, 'must be true, { fields: [...] } or omitted');
322
+ }
323
+ if (streamFlag)
324
+ fail(`routes[${index}].rewriteIds`, 'cannot be combined with stream — a streaming response is never buffered, so there are no ids to rewrite');
325
+ }
326
+ // Explicit-only (digest rule): the four v2 fields attach to the
327
+ // normalized route ONLY when declared — an absent key, not an
328
+ // `undefined` one, so the canonical form and the deep-equality shape of
329
+ // 2.1-era routes stay byte-for-byte what they were.
330
+ return {
331
+ path,
332
+ scope,
333
+ sessionParam: param,
334
+ stream: streamFlag,
335
+ methods: normalizedMethods,
336
+ maxBody: normalizedMaxBody,
337
+ upgrade: normalizedUpgrade,
338
+ ...(normalizedLocator !== undefined && { locator: normalizedLocator }),
339
+ ...(normalizedPrefix && { prefix: normalizedPrefix }),
340
+ ...(normalizedDeny && { deny: normalizedDeny }),
341
+ ...(normalizedRewriteIds && { rewriteIds: normalizedRewriteIds }),
342
+ };
184
343
  });
185
344
  normalizedRoutes.sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0));
186
345
  // Fixed key order = the canonical form both ends hash; insertion order of
187
346
  // the object literal IS the contract, JSON.stringify never sorts. The
188
- // route entries carry `methods` / `maxBody` ONLY when the plugin declared
189
- // them — `JSON.stringify` drops `undefined` values, but the explicit
190
- // conditional documents the intent and keeps the PB-1 compatibility
191
- // visible instead of incidental.
347
+ // route entries carry `methods` / `maxBody` / `upgrade` and the four v2
348
+ // fields ONLY when the plugin declared them — `JSON.stringify` drops
349
+ // `undefined` values, but the explicit conditional documents the intent
350
+ // and keeps the PB-1 compatibility visible instead of incidental.
192
351
  const canonical = JSON.stringify({
193
352
  plugin,
194
353
  version,
@@ -205,6 +364,14 @@ export function normalizeDeclaration(input) {
205
364
  entry.maxBody = route.maxBody;
206
365
  if (route.upgrade !== undefined)
207
366
  entry.upgrade = route.upgrade;
367
+ if (route.locator !== undefined)
368
+ entry.locator = route.locator;
369
+ if (route.prefix !== undefined)
370
+ entry.prefix = route.prefix;
371
+ if (route.deny !== undefined)
372
+ entry.deny = route.deny;
373
+ if (route.rewriteIds !== undefined)
374
+ entry.rewriteIds = route.rewriteIds;
208
375
  return entry;
209
376
  }),
210
377
  });