dsh-zen-remote 2.0.3 → 2.2.1

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 (119) hide show
  1. package/AGENTS.md +15 -1
  2. package/README.md +11 -5
  3. package/README.zh-CN.md +11 -5
  4. package/docs/adr/0001-plugin-bridge-forwards-plugin-routes.md +15 -0
  5. package/docs/adr/0002-relay-emulates-websocket.md +8 -0
  6. package/docs/interface.md +3 -1
  7. package/docs/plugin-bridge.md +140 -0
  8. package/docs/remote-access.en.md +57 -0
  9. package/docs/remote-access.md +57 -0
  10. package/lib/activity.js +25 -0
  11. package/lib/activity.js.map +1 -1
  12. package/lib/adapters/dsh-better-sidebar/index.js +144 -0
  13. package/lib/adapters/dsh-better-sidebar/index.js.map +1 -0
  14. package/lib/adapters/dsh-better-sidebar/methods.js +221 -0
  15. package/lib/adapters/dsh-better-sidebar/methods.js.map +1 -0
  16. package/lib/adapters/index.js +17 -0
  17. package/lib/adapters/index.js.map +1 -0
  18. package/lib/adapters/types.js +17 -0
  19. package/lib/adapters/types.js.map +1 -0
  20. package/lib/admin-routes.js +51 -0
  21. package/lib/admin-routes.js.map +1 -1
  22. package/lib/client-routes.js +18 -1
  23. package/lib/client-routes.js.map +1 -1
  24. package/lib/client.js +449 -45
  25. package/lib/config.js +27 -0
  26. package/lib/config.js.map +1 -1
  27. package/lib/http.js +10 -0
  28. package/lib/http.js.map +1 -1
  29. package/lib/index.js +273 -1
  30. package/lib/index.js.map +1 -1
  31. package/lib/plugin-adapter-core.js +385 -0
  32. package/lib/plugin-adapter-core.js.map +1 -0
  33. package/lib/plugin-bridge.js +318 -0
  34. package/lib/plugin-bridge.js.map +1 -0
  35. package/lib/plugin-loopback.js +207 -0
  36. package/lib/plugin-loopback.js.map +1 -0
  37. package/lib/plugin-route-intercept.js +1103 -0
  38. package/lib/plugin-route-intercept.js.map +1 -0
  39. package/lib/plugin-tunnel.js +416 -0
  40. package/lib/plugin-tunnel.js.map +1 -0
  41. package/lib/relay-client.js +319 -2
  42. package/lib/relay-client.js.map +1 -1
  43. package/lib/relay-server.js +633 -0
  44. package/lib/relay-server.js.map +1 -1
  45. package/lib/types/activity.d.ts +22 -0
  46. package/lib/types/activity.d.ts.map +1 -1
  47. package/lib/types/adapters/dsh-better-sidebar/index.d.ts +27 -0
  48. package/lib/types/adapters/dsh-better-sidebar/index.d.ts.map +1 -0
  49. package/lib/types/adapters/dsh-better-sidebar/methods.d.ts +58 -0
  50. package/lib/types/adapters/dsh-better-sidebar/methods.d.ts.map +1 -0
  51. package/lib/types/adapters/index.d.ts +17 -0
  52. package/lib/types/adapters/index.d.ts.map +1 -0
  53. package/lib/types/adapters/types.d.ts +42 -0
  54. package/lib/types/adapters/types.d.ts.map +1 -0
  55. package/lib/types/admin-routes.d.ts +16 -0
  56. package/lib/types/admin-routes.d.ts.map +1 -1
  57. package/lib/types/client/effects/remote-session.d.ts +0 -22
  58. package/lib/types/client/effects/remote-session.d.ts.map +1 -1
  59. package/lib/types/client/locales.d.ts +16 -0
  60. package/lib/types/client/locales.d.ts.map +1 -1
  61. package/lib/types/client/settings/SettingsSection.d.ts.map +1 -1
  62. package/lib/types/client/styles/remote-session.css.d.ts +1 -1
  63. package/lib/types/client/styles/remote-session.css.d.ts.map +1 -1
  64. package/lib/types/client-data/plugin-bridge.d.ts +79 -0
  65. package/lib/types/client-data/plugin-bridge.d.ts.map +1 -0
  66. package/lib/types/client-data/remote-status.d.ts +20 -0
  67. package/lib/types/client-data/remote-status.d.ts.map +1 -1
  68. package/lib/types/client-data/settings-form.d.ts +37 -1
  69. package/lib/types/client-data/settings-form.d.ts.map +1 -1
  70. package/lib/types/client-routes.d.ts +13 -0
  71. package/lib/types/client-routes.d.ts.map +1 -1
  72. package/lib/types/config.d.ts +8 -0
  73. package/lib/types/config.d.ts.map +1 -1
  74. package/lib/types/http.d.ts +7 -0
  75. package/lib/types/http.d.ts.map +1 -1
  76. package/lib/types/index.d.ts +4 -0
  77. package/lib/types/index.d.ts.map +1 -1
  78. package/lib/types/plugin-adapter-core.d.ts +263 -0
  79. package/lib/types/plugin-adapter-core.d.ts.map +1 -0
  80. package/lib/types/plugin-bridge.d.ts +187 -0
  81. package/lib/types/plugin-bridge.d.ts.map +1 -0
  82. package/lib/types/plugin-loopback.d.ts +104 -0
  83. package/lib/types/plugin-loopback.d.ts.map +1 -0
  84. package/lib/types/plugin-route-intercept.d.ts +114 -0
  85. package/lib/types/plugin-route-intercept.d.ts.map +1 -0
  86. package/lib/types/plugin-tunnel.d.ts +96 -0
  87. package/lib/types/plugin-tunnel.d.ts.map +1 -0
  88. package/lib/types/relay-client.d.ts +76 -0
  89. package/lib/types/relay-client.d.ts.map +1 -1
  90. package/lib/types/relay-server.d.ts +32 -1
  91. package/lib/types/relay-server.d.ts.map +1 -1
  92. package/llms.txt +1 -0
  93. package/package.json +2 -2
  94. package/scripts/check-plugin-bridge-ui.mjs +168 -0
  95. package/scripts/check-settings-form.mjs +3 -1
  96. package/src/activity.ts +32 -0
  97. package/src/adapters/dsh-better-sidebar/index.ts +144 -0
  98. package/src/adapters/dsh-better-sidebar/methods.ts +244 -0
  99. package/src/adapters/index.ts +19 -0
  100. package/src/adapters/types.ts +44 -0
  101. package/src/admin-routes.ts +64 -0
  102. package/src/client/effects/remote-session.ts +82 -10
  103. package/src/client/locales.ts +36 -0
  104. package/src/client/settings/SettingsSection.tsx +107 -3
  105. package/src/client/styles/remote-session.css.ts +70 -31
  106. package/src/client-data/plugin-bridge.ts +150 -0
  107. package/src/client-data/remote-status.ts +30 -0
  108. package/src/client-data/settings-form.ts +78 -0
  109. package/src/client-routes.ts +29 -1
  110. package/src/config.ts +32 -0
  111. package/src/http.ts +12 -0
  112. package/src/index.ts +279 -1
  113. package/src/plugin-adapter-core.ts +530 -0
  114. package/src/plugin-bridge.ts +435 -0
  115. package/src/plugin-loopback.ts +299 -0
  116. package/src/plugin-route-intercept.ts +1193 -0
  117. package/src/plugin-tunnel.ts +470 -0
  118. package/src/relay-client.ts +394 -2
  119. package/src/relay-server.ts +656 -1
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,385 @@
1
+ /**
2
+ * The plugin bridge's adapter core (PB-11) — the framework half of the
3
+ * pluggable adapters. A cooperative plugin registers its OWN bridge
4
+ * declaration (PB-1); an adapter is zen-remote-internal code, written
5
+ * against one third-party plugin's EXACT version, that locates the session
6
+ * ids in that plugin's requests and rewrites them both ways (GLOSSARY:
7
+ * 适配器). This module owns everything the framework needs to run one:
8
+ * the route/locator shapes, their validation, the locate → classify →
9
+ * rewrite pipeline, and the digest the adapter registers under.
10
+ *
11
+ * Deliberately OUTSIDE `src/adapters/`: the pluggability contract
12
+ * (test/adapters-pluggable.test.cjs) is that deleting that directory breaks
13
+ * ONLY the wiring import in src/index.ts. The adapter-author face — the
14
+ * `BridgeAdapter` interface — lives in `src/adapters/types.ts` ON TOP of
15
+ * the shapes defined here (it re-exports them), so the framework never
16
+ * imports a single thing from `src/adapters/`.
17
+ *
18
+ * Pure logic: no DSH, no I/O. The id semantics ride src/virtual-id.ts —
19
+ * a request counts as REMOTE exactly when every id the route's locator
20
+ * finds is a `zr~` virtual id, and the rewrite swaps each for its real
21
+ * half before the request leaves for the relay (docs/adr/0001: the
22
+ * sub-client never lets a remote session's request reach a local plugin).
23
+ */
24
+ import { createHash } from 'node:crypto';
25
+ import { isVirtual, fromVirtual } from './virtual-id.js';
26
+ import { BRIDGE_METHODS, DEFAULT_ROUTE_BODY_BYTES } from './plugin-bridge.js';
27
+ export { fromVirtual };
28
+ /** The npm package name of an adapter's target, same shape the cooperative
29
+ * declarations validate. */
30
+ const PLUGIN_PATTERN = /^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/u;
31
+ const MAX_ROUTES = 64;
32
+ /** The body cap an ADAPTER route may declare: 100 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 = 100 * 1024 * 1024;
39
+ function isRecord(value) {
40
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
41
+ }
42
+ function fail(field, detail) {
43
+ throw new Error(`invalid adapter, ${field}: ${detail}`);
44
+ }
45
+ /** Validate one adapter's route table and fold it, together with the
46
+ * INSTALLED plugin version, into the registry-ready form.
47
+ *
48
+ * Route paths follow the cooperative declaration's rules verbatim (plain
49
+ * absolute paths, off the host-owned `/_dsh/` and `/api` prefixes) — an
50
+ * adapter must not be able to reach anything a declaration cannot. The
51
+ * installed version must be listed EXACTLY (`versions` are what the
52
+ * adapter was written against); anything else refuses the adapter whole.
53
+ * @throws with a field-naming message on any illegal shape.
54
+ */
55
+ export function normalizeAdapter(input, installedVersion) {
56
+ if (!isRecord(input))
57
+ fail('adapter', 'expected an object');
58
+ for (const key of Object.keys(input)) {
59
+ if (key !== 'plugin' && key !== 'versions' && key !== 'routes' && key !== 'client' && key !== 'server') {
60
+ fail(key, 'unknown field (typo guard)');
61
+ }
62
+ }
63
+ const { plugin, versions, routes } = input;
64
+ if (typeof plugin !== 'string' || plugin === '' || plugin.length > 214 || !PLUGIN_PATTERN.test(plugin)) {
65
+ fail('plugin', `"${String(plugin)}" is not an npm package name`);
66
+ }
67
+ if (!Array.isArray(versions) || versions.length === 0 || versions.some((v) => typeof v !== 'string' || v === '')) {
68
+ fail('versions', 'must be a non-empty array of version strings');
69
+ }
70
+ if (!versions.includes(installedVersion)) {
71
+ fail('versions', `installed version "${installedVersion}" is not among the adapter's versions`);
72
+ }
73
+ if (!Array.isArray(routes) || routes.length === 0)
74
+ fail('routes', 'must be a non-empty array');
75
+ if (routes.length > MAX_ROUTES)
76
+ fail('routes', `${routes.length} routes exceeds the ${MAX_ROUTES} cap`);
77
+ const seen = new Set();
78
+ const normalized = routes.map((route, index) => {
79
+ if (!isRecord(route))
80
+ fail(`routes[${index}]`, 'expected an object');
81
+ for (const key of Object.keys(route)) {
82
+ if (key !== 'path' && key !== 'match' && key !== 'methods' && key !== 'maxBody' && key !== 'stream' && key !== 'upgrade' && key !== 'locator' && key !== 'local' && key !== 'deny') {
83
+ fail(`routes[${index}].${key}`, 'unknown field (typo guard)');
84
+ }
85
+ }
86
+ const { path, match, methods, maxBody, stream, upgrade, locator, local, deny } = route;
87
+ if (typeof path !== 'string' || path === '' || !path.startsWith('/') || path.includes('?') || path.includes('#') || path.includes('..') || /\s/u.test(path)) {
88
+ fail(`routes[${index}].path`, `"${String(path)}" must be a plain absolute path`);
89
+ }
90
+ if (path.startsWith('/_dsh/') || path.startsWith('/api')) {
91
+ fail(`routes[${index}].path`, `"${path}" starts with a host-owned prefix (/_dsh/ or /api)`);
92
+ }
93
+ if (match !== 'exact' && match !== 'prefix')
94
+ fail(`routes[${index}].match`, 'must be "exact" or "prefix"');
95
+ if (seen.has(path))
96
+ fail(`routes[${index}].path`, `duplicate path "${path}"`);
97
+ seen.add(path);
98
+ let normalizedMethods;
99
+ if (methods === undefined) {
100
+ normalizedMethods = ['GET'];
101
+ }
102
+ else {
103
+ if (!Array.isArray(methods) || methods.length === 0)
104
+ fail(`routes[${index}].methods`, 'must be a non-empty array of HTTP methods');
105
+ const upper = [];
106
+ for (const entry of methods) {
107
+ if (typeof entry !== 'string' || !BRIDGE_METHODS.includes(entry)) {
108
+ fail(`routes[${index}].methods`, `${JSON.stringify(entry ?? null)} is not one of ${BRIDGE_METHODS.join(', ')}`);
109
+ }
110
+ if (!upper.includes(entry))
111
+ upper.push(entry);
112
+ }
113
+ upper.sort();
114
+ normalizedMethods = upper;
115
+ }
116
+ const normalizedMaxBody = maxBody === undefined ? DEFAULT_ROUTE_BODY_BYTES : maxBody;
117
+ if (typeof normalizedMaxBody !== 'number' || !Number.isInteger(normalizedMaxBody) || normalizedMaxBody <= 0 || normalizedMaxBody > MAX_ADAPTER_BODY_BYTES) {
118
+ fail(`routes[${index}].maxBody`, `must be a positive integer up to ${MAX_ADAPTER_BODY_BYTES}`);
119
+ }
120
+ const normalizedStream = stream === undefined ? false : stream;
121
+ if (typeof normalizedStream !== 'boolean')
122
+ fail(`routes[${index}].stream`, 'must be a boolean');
123
+ const normalizedUpgrade = upgrade === undefined ? false : upgrade;
124
+ if (typeof normalizedUpgrade !== 'boolean')
125
+ fail(`routes[${index}].upgrade`, 'must be a boolean');
126
+ if (normalizedUpgrade) {
127
+ if (normalizedStream)
128
+ fail(`routes[${index}].upgrade`, 'cannot be combined with stream');
129
+ if (normalizedMethods.some((entry) => entry !== 'GET'))
130
+ fail(`routes[${index}].upgrade`, 'upgrade routes are GET-only');
131
+ }
132
+ if (!isRecord(locator))
133
+ fail(`routes[${index}].locator`, 'expected an object');
134
+ if (locator.in === 'query') {
135
+ if (typeof locator.name !== 'string' || !/^[A-Za-z][A-Za-z0-9_]{0,63}$/u.test(locator.name)) {
136
+ fail(`routes[${index}].locator.name`, 'must be a query parameter name');
137
+ }
138
+ }
139
+ else if (locator.in === 'path-segment') {
140
+ if (typeof locator.index !== 'number' || !Number.isInteger(locator.index) || locator.index < 0) {
141
+ fail(`routes[${index}].locator.index`, 'must be a non-negative integer');
142
+ }
143
+ if (match !== 'prefix')
144
+ fail(`routes[${index}].locator`, 'path-segment locating needs a prefix route');
145
+ }
146
+ else if (locator.in === 'json-body') {
147
+ if (!Array.isArray(locator.fields) || locator.fields.length === 0 || locator.fields.some((f) => typeof f !== 'string' || f === '')) {
148
+ fail(`routes[${index}].locator.fields`, 'must be a non-empty array of top-level field names');
149
+ }
150
+ }
151
+ else {
152
+ fail(`routes[${index}].locator.in`, 'must be "query", "path-segment" or "json-body"');
153
+ }
154
+ if (local !== undefined && local !== true && local !== false)
155
+ fail(`routes[${index}].local`, 'must be a boolean');
156
+ const normalizedLocal = local === true;
157
+ if (deny !== undefined && typeof deny !== 'function')
158
+ fail(`routes[${index}].deny`, 'must be a function or omitted');
159
+ return {
160
+ path,
161
+ match,
162
+ methods: normalizedMethods,
163
+ maxBody: normalizedMaxBody,
164
+ stream: normalizedStream,
165
+ upgrade: normalizedUpgrade,
166
+ locator: locator,
167
+ local: normalizedLocal,
168
+ ...(deny !== undefined && typeof deny === 'function' ? { deny: deny } : {}),
169
+ };
170
+ });
171
+ normalized.sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0));
172
+ const digest = adapterDigestOf(plugin, installedVersion, normalized);
173
+ // The registry entry: server-scope routes only (an adapter is whole-machine
174
+ // data by definition — the consent wall applies per plugin, default off),
175
+ // local routes left out (they never forward, so the server half must never
176
+ // see them).
177
+ const declaration = {
178
+ plugin,
179
+ version: installedVersion,
180
+ routes: normalized
181
+ .filter((route) => !route.local)
182
+ .map((route) => ({
183
+ path: route.path,
184
+ scope: 'server',
185
+ sessionParam: 'sessionId',
186
+ stream: route.stream,
187
+ methods: route.methods.length === 1 && route.methods[0] === 'GET' ? undefined : [...route.methods],
188
+ maxBody: route.maxBody === DEFAULT_ROUTE_BODY_BYTES ? undefined : route.maxBody,
189
+ upgrade: route.upgrade ? true : undefined,
190
+ })),
191
+ digest,
192
+ };
193
+ const hooks = {};
194
+ if (isRecord(input.client) || input.client === undefined) {
195
+ const client = input.client;
196
+ if (client !== undefined && (typeof client.request === 'function' || typeof client.response === 'function')) {
197
+ hooks.client = {
198
+ ...(typeof client.request === 'function' ? { request: (ctx) => client.request(ctx) } : {}),
199
+ ...(typeof client.response === 'function' ? { response: (ctx) => client.response(ctx) } : {}),
200
+ };
201
+ }
202
+ }
203
+ if (isRecord(input.server) || input.server === undefined) {
204
+ const server = input.server;
205
+ if (server !== undefined && typeof server.request === 'function') {
206
+ hooks.server = { request: (ctx) => server.request(ctx) };
207
+ }
208
+ }
209
+ return { plugin, versions: [...versions], routes: normalized, digest, declaration, hooks };
210
+ }
211
+ /** The digest of one adapter's route table: sha256 over a canonical JSON of
212
+ * `{plugin, version, routes}` — the locator and the match mode INCLUDED (a
213
+ * different locating rule is a different adapter), hex, first 16 chars.
214
+ * Routes arrive path-sorted, so order never moves the hash. */
215
+ export function adapterDigestOf(plugin, version, routes) {
216
+ const canonical = JSON.stringify({
217
+ plugin,
218
+ version,
219
+ routes: routes.map((route) => ({
220
+ path: route.path,
221
+ match: route.match,
222
+ methods: route.methods,
223
+ maxBody: route.maxBody,
224
+ stream: route.stream,
225
+ upgrade: route.upgrade,
226
+ locator: route.locator,
227
+ local: route.local,
228
+ })),
229
+ });
230
+ return createHash('sha256').update(canonical, 'utf8').digest('hex').slice(0, 16);
231
+ }
232
+ /** The prefix-match rule, shared verbatim by both halves: equality or one
233
+ * path segment deeper, on the RAW undecoded pathname. */
234
+ export function adapterPathMatches(route, pathname) {
235
+ if (route.match === 'exact')
236
+ return pathname === route.path;
237
+ return pathname === route.path || pathname.startsWith(`${route.path}/`);
238
+ }
239
+ /** The adapter route a forwarded request hit, or `undefined`. `local`
240
+ * routes never match here — they stay on the sub-client's own machine in
241
+ * both directions, so the server half must never see (nor serve) them. */
242
+ export function matchAdapterRoute(adapters, pathname) {
243
+ if (adapters === undefined)
244
+ return undefined;
245
+ for (const adapter of adapters) {
246
+ for (const route of adapter.routes) {
247
+ if (route.local)
248
+ continue;
249
+ if (adapterPathMatches(route, pathname))
250
+ return { adapter, route };
251
+ }
252
+ }
253
+ return undefined;
254
+ }
255
+ /** Thrown when a query parameter the locator reads appears with MORE than
256
+ * one value: the cooperative bridge refuses such requests as `bad-query`
257
+ * (a duplicated id is a shape violation, never a forward of whichever
258
+ * duplicate a parser happens to keep), and so does the adapter (PB-12
259
+ * review note — the old behavior silently collapsed to `set`, rewriting
260
+ * only one of the values). Callers catch this and answer 503/400
261
+ * `bad-query`. */
262
+ export class AdapterMultiValueQueryError extends Error {
263
+ constructor(name) {
264
+ super(`query parameter "${name}" appears more than once`);
265
+ this.name = 'AdapterMultiValueQueryError';
266
+ }
267
+ }
268
+ /** Locate the session ids one request carries for one route. A query
269
+ * parameter counts once per value it appears with; a JSON body field counts
270
+ * when present with a non-empty string value; a path segment counts when
271
+ * the segment exists (decoded once off the wire). */
272
+ export function locateAdapterIds(route, pathname, search, body) {
273
+ const hits = [];
274
+ const locator = route.locator;
275
+ if (locator.in === 'query') {
276
+ const values = search.getAll(locator.name);
277
+ if (values.length > 1)
278
+ throw new AdapterMultiValueQueryError(locator.name);
279
+ for (const value of values) {
280
+ if (value !== '')
281
+ hits.push({ kind: 'query', key: locator.name, value });
282
+ }
283
+ }
284
+ else if (locator.in === 'path-segment') {
285
+ // `index` counts the segments AFTER the declared path: /p/api + open/X
286
+ // → index 0 is "open", index 1 is "X". In split('/') terms the prefix
287
+ // occupies subscripts 1..prefixDepth, so the target sits one past it.
288
+ const prefixDepth = route.path.split('/').length - 1;
289
+ const segments = pathname.split('/');
290
+ const at = prefixDepth + 1 + locator.index;
291
+ if (at < segments.length && segments[at] !== '') {
292
+ let decoded = segments[at];
293
+ try {
294
+ decoded = decodeURIComponent(segments[at]);
295
+ }
296
+ catch {
297
+ // A malformed escape stays verbatim — the value simply will not be
298
+ // a session id.
299
+ }
300
+ hits.push({ kind: 'path-segment', key: undefined, value: decoded });
301
+ }
302
+ }
303
+ else {
304
+ if (isRecord(body)) {
305
+ for (const field of locator.fields) {
306
+ const value = body[field];
307
+ if (typeof value === 'string' && value !== '')
308
+ hits.push({ kind: 'json-body', key: field, value });
309
+ }
310
+ }
311
+ }
312
+ return hits;
313
+ }
314
+ export function classifyAdapterRequest(route, pathname, search, body) {
315
+ const hits = locateAdapterIds(route, pathname, search, body);
316
+ if (hits.length === 0)
317
+ return { kind: 'local' };
318
+ const virtual = hits.map((hit) => isVirtual(hit.value));
319
+ if (virtual.every(Boolean))
320
+ return { kind: 'remote', hits };
321
+ if (virtual.every((entry) => !entry))
322
+ return { kind: 'local' };
323
+ return { kind: 'mixed' };
324
+ }
325
+ /** Swap every located virtual id for its real half (the pure client-half
326
+ * rewrite): the query is re-serialized, the path segment re-encoded, the
327
+ * JSON body re-serialized. The re-encode direction is the wire contract —
328
+ * `encodeURIComponent` of the real id is what the server decodes again. */
329
+ export function rewriteAdapterRequest(route, pathname, search, body, hits, realIdOf) {
330
+ const rewrittenQuery = new URLSearchParams(search);
331
+ let rewrittenPathname = pathname;
332
+ let bodyText;
333
+ // The body copy is made ONCE: several fields of one body can locate ids,
334
+ // and re-copying per hit would drop every earlier field's rewrite.
335
+ let bodyCopy;
336
+ for (const hit of hits) {
337
+ const parts = fromVirtual(hit.value);
338
+ if (parts === undefined)
339
+ continue;
340
+ const real = realIdOf(hit.value);
341
+ if (hit.kind === 'query') {
342
+ rewrittenQuery.set(hit.key, real);
343
+ }
344
+ else if (hit.kind === 'path-segment') {
345
+ const prefixDepth = route.path.split('/').length - 1;
346
+ const segments = rewrittenPathname.split('/');
347
+ segments[prefixDepth + 1 + route.locator.index] = encodeURIComponent(real);
348
+ rewrittenPathname = segments.join('/');
349
+ }
350
+ else {
351
+ if (bodyCopy === undefined && isRecord(body))
352
+ bodyCopy = { ...body };
353
+ if (bodyCopy !== undefined) {
354
+ bodyCopy[hit.key] = real;
355
+ bodyText = JSON.stringify(bodyCopy);
356
+ }
357
+ }
358
+ }
359
+ return { pathname: rewrittenPathname, query: rewrittenQuery, bodyText };
360
+ }
361
+ /** Whether the adapter still owns its plugin's registry entry, or a
362
+ * cooperative declaration (the plugin's OWN `zenRemote.bridge(...)`, which
363
+ * always wins) has taken the seat since: an entry with a different digest
364
+ * means the adapter yielded. */
365
+ export function adapterOwnsRegistryEntry(adapter, registryEntry) {
366
+ return registryEntry !== undefined && registryEntry.digest === adapter.digest && registryEntry.version === adapter.declaration.version;
367
+ }
368
+ /** The largest JSON answer the client half will buffer for a response
369
+ * rewrite: past this the body passes through untouched (8 MB). */
370
+ export const MAX_ADAPTER_RESPONSE_BUFFER_BYTES = 8 * 1024 * 1024;
371
+ /** Response headers an ADAPTER answer may carry through VERBATIM, beyond
372
+ * the three every bridged forward passes (content-type, content-length,
373
+ * cache-control): the better-sidebar HTML preview ships a `content-
374
+ * security-policy` sandbox and downloads carry `content-disposition` —
375
+ * stripping those breaks the very panels the adapter exists to serve.
376
+ * Cooperative declaration routes keep the three-header behavior. */
377
+ export const ADAPTER_RESPONSE_HEADER_ALLOWLIST = [
378
+ 'content-security-policy',
379
+ 'content-disposition',
380
+ 'etag',
381
+ 'last-modified',
382
+ 'accept-ranges',
383
+ 'content-range',
384
+ ];
385
+ //# sourceMappingURL=plugin-adapter-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-adapter-core.js","sourceRoot":"","sources":["../src/plugin-adapter-core.ts"],"names":[],"mappings":"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"}