ds-harness-remote 0.3.8

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 (130) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +103 -0
  3. package/cordis.patch.yml +7 -0
  4. package/dist/adapters/agent-adapter.d.ts +35 -0
  5. package/dist/adapters/agent-adapter.d.ts.map +1 -0
  6. package/dist/adapters/agent-adapter.js +80 -0
  7. package/dist/adapters/agent-adapter.js.map +1 -0
  8. package/dist/adapters/permission-adapter.d.ts +13 -0
  9. package/dist/adapters/permission-adapter.d.ts.map +1 -0
  10. package/dist/adapters/permission-adapter.js +67 -0
  11. package/dist/adapters/permission-adapter.js.map +1 -0
  12. package/dist/adapters/session-adapter.d.ts +38 -0
  13. package/dist/adapters/session-adapter.d.ts.map +1 -0
  14. package/dist/adapters/session-adapter.js +230 -0
  15. package/dist/adapters/session-adapter.js.map +1 -0
  16. package/dist/adapters/workspace-adapter.d.ts +13 -0
  17. package/dist/adapters/workspace-adapter.d.ts.map +1 -0
  18. package/dist/adapters/workspace-adapter.js +21 -0
  19. package/dist/adapters/workspace-adapter.js.map +1 -0
  20. package/dist/api-proxy-switch.d.ts +33 -0
  21. package/dist/api-proxy-switch.d.ts.map +1 -0
  22. package/dist/api-proxy-switch.js +107 -0
  23. package/dist/api-proxy-switch.js.map +1 -0
  24. package/dist/bin/doctor.d.ts +3 -0
  25. package/dist/bin/doctor.d.ts.map +1 -0
  26. package/dist/bin/doctor.js +13 -0
  27. package/dist/bin/doctor.js.map +1 -0
  28. package/dist/client-runtime.d.ts +98 -0
  29. package/dist/client-runtime.d.ts.map +1 -0
  30. package/dist/client-runtime.js +421 -0
  31. package/dist/client-runtime.js.map +1 -0
  32. package/dist/client-secure-transport.d.ts +22 -0
  33. package/dist/client-secure-transport.d.ts.map +1 -0
  34. package/dist/client-secure-transport.js +129 -0
  35. package/dist/client-secure-transport.js.map +1 -0
  36. package/dist/client.d.ts +12 -0
  37. package/dist/client.d.ts.map +1 -0
  38. package/dist/client.github.js +2938 -0
  39. package/dist/client.js +2938 -0
  40. package/dist/client.js.map +1 -0
  41. package/dist/config.d.ts +33 -0
  42. package/dist/config.d.ts.map +1 -0
  43. package/dist/config.js +80 -0
  44. package/dist/config.js.map +1 -0
  45. package/dist/connection-controller.d.ts +39 -0
  46. package/dist/connection-controller.d.ts.map +1 -0
  47. package/dist/connection-controller.js +170 -0
  48. package/dist/connection-controller.js.map +1 -0
  49. package/dist/control-runtime.d.ts +36 -0
  50. package/dist/control-runtime.d.ts.map +1 -0
  51. package/dist/control-runtime.js +265 -0
  52. package/dist/control-runtime.js.map +1 -0
  53. package/dist/event-sequencer.d.ts +23 -0
  54. package/dist/event-sequencer.d.ts.map +1 -0
  55. package/dist/event-sequencer.js +54 -0
  56. package/dist/event-sequencer.js.map +1 -0
  57. package/dist/harness-api-bridge.d.ts +55 -0
  58. package/dist/harness-api-bridge.d.ts.map +1 -0
  59. package/dist/harness-api-bridge.js +387 -0
  60. package/dist/harness-api-bridge.js.map +1 -0
  61. package/dist/identity-store.d.ts +45 -0
  62. package/dist/identity-store.d.ts.map +1 -0
  63. package/dist/identity-store.js +183 -0
  64. package/dist/identity-store.js.map +1 -0
  65. package/dist/ids.d.ts +2 -0
  66. package/dist/ids.d.ts.map +1 -0
  67. package/dist/ids.js +17 -0
  68. package/dist/ids.js.map +1 -0
  69. package/dist/index.d.ts +38 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +16091 -0
  72. package/dist/index.js.map +7 -0
  73. package/dist/logging.d.ts +18 -0
  74. package/dist/logging.d.ts.map +1 -0
  75. package/dist/logging.js +30 -0
  76. package/dist/logging.js.map +1 -0
  77. package/dist/pairing-controller.d.ts +52 -0
  78. package/dist/pairing-controller.d.ts.map +1 -0
  79. package/dist/pairing-controller.js +73 -0
  80. package/dist/pairing-controller.js.map +1 -0
  81. package/dist/pending-approvals.d.ts +14 -0
  82. package/dist/pending-approvals.d.ts.map +1 -0
  83. package/dist/pending-approvals.js +52 -0
  84. package/dist/pending-approvals.js.map +1 -0
  85. package/dist/remote-api-proxy.d.ts +12 -0
  86. package/dist/remote-api-proxy.d.ts.map +1 -0
  87. package/dist/remote-api-proxy.js +191 -0
  88. package/dist/remote-api-proxy.js.map +1 -0
  89. package/dist/remote-directory-browser.d.ts +16 -0
  90. package/dist/remote-directory-browser.d.ts.map +1 -0
  91. package/dist/remote-directory-browser.js +48 -0
  92. package/dist/remote-directory-browser.js.map +1 -0
  93. package/dist/rpc-router.d.ts +21 -0
  94. package/dist/rpc-router.d.ts.map +1 -0
  95. package/dist/rpc-router.js +93 -0
  96. package/dist/rpc-router.js.map +1 -0
  97. package/dist/server-api.d.ts +80 -0
  98. package/dist/server-api.d.ts.map +1 -0
  99. package/dist/server-api.js +405 -0
  100. package/dist/server-api.js.map +1 -0
  101. package/dist/server-connection.d.ts +70 -0
  102. package/dist/server-connection.d.ts.map +1 -0
  103. package/dist/server-connection.js +759 -0
  104. package/dist/server-connection.js.map +1 -0
  105. package/dist/server-credentials.d.ts +46 -0
  106. package/dist/server-credentials.d.ts.map +1 -0
  107. package/dist/server-credentials.js +71 -0
  108. package/dist/server-credentials.js.map +1 -0
  109. package/dist/service.d.ts +56 -0
  110. package/dist/service.d.ts.map +1 -0
  111. package/dist/service.js +162 -0
  112. package/dist/service.js.map +1 -0
  113. package/dist/typert-gateway-switch.d.ts +19 -0
  114. package/dist/typert-gateway-switch.d.ts.map +1 -0
  115. package/dist/typert-gateway-switch.js +41 -0
  116. package/dist/typert-gateway-switch.js.map +1 -0
  117. package/dist/types.d.ts +20 -0
  118. package/dist/types.d.ts.map +1 -0
  119. package/dist/types.js +2 -0
  120. package/dist/types.js.map +1 -0
  121. package/dist/version.d.ts +12 -0
  122. package/dist/version.d.ts.map +1 -0
  123. package/dist/version.js +12 -0
  124. package/dist/version.js.map +1 -0
  125. package/dist/werift-rtc.d.ts +85 -0
  126. package/dist/werift-rtc.d.ts.map +1 -0
  127. package/dist/werift-rtc.js +164 -0
  128. package/dist/werift-rtc.js.map +1 -0
  129. package/package.json +98 -0
  130. package/public.d.ts +19 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import s from '@deepseek-ai/schemastery';
2
+ export interface Config {
3
+ enabled?: boolean;
4
+ role?: 'host' | 'client' | 'both';
5
+ serverUrl?: string;
6
+ deviceName?: string;
7
+ forceRelay?: boolean;
8
+ logLevel?: 'debug' | 'info' | 'warn' | 'error';
9
+ reconnect?: boolean | {
10
+ initialDelayMs?: number;
11
+ maxDelayMs?: number;
12
+ jitter?: number;
13
+ };
14
+ }
15
+ export interface ResolvedConfig {
16
+ enabled: boolean;
17
+ role: 'host' | 'client' | 'both';
18
+ serverUrl?: string;
19
+ deviceName: string;
20
+ forceRelay: boolean;
21
+ logLevel: 'debug' | 'info' | 'warn' | 'error';
22
+ reconnect: {
23
+ enabled: boolean;
24
+ initialDelayMs: number;
25
+ maxDelayMs: number;
26
+ jitter: number;
27
+ };
28
+ }
29
+ /** Cordis-facing configuration shape; runtime bounds are enforced by resolveConfig. */
30
+ export declare const Config: s<Config>;
31
+ export declare function resolveConfig(input?: Config, env?: NodeJS.ProcessEnv): ResolvedConfig;
32
+ export declare function normalizeServerUrl(value: string): string;
33
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAGxC,MAAM,WAAW,MAAM;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAC9C,SAAS,CAAC,EAAE,OAAO,GAAG;QACpB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,SAAS,EAAE;QACT,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,EAAE,MAAM,CAAA;QACtB,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,uFAAuF;AACvF,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAe3B,CAAA;AAqBF,wBAAgB,aAAa,CAAC,KAAK,GAAE,MAAW,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CAwBtG;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgBxD"}
package/dist/config.js ADDED
@@ -0,0 +1,80 @@
1
+ import { hostname } from 'node:os';
2
+ import s from '@deepseek-ai/schemastery';
3
+ import { z } from 'zod';
4
+ /** Cordis-facing configuration shape; runtime bounds are enforced by resolveConfig. */
5
+ export const Config = s.object({
6
+ enabled: s.boolean(),
7
+ role: s.union(['host', 'client', 'both']),
8
+ serverUrl: s.string(),
9
+ deviceName: s.string(),
10
+ forceRelay: s.boolean(),
11
+ logLevel: s.union(['debug', 'info', 'warn', 'error']),
12
+ reconnect: s.union([
13
+ s.boolean(),
14
+ s.object({
15
+ initialDelayMs: s.number(),
16
+ maxDelayMs: s.number(),
17
+ jitter: s.number(),
18
+ }),
19
+ ]),
20
+ });
21
+ const reconnectSchema = z.union([
22
+ z.boolean(),
23
+ z.object({
24
+ initialDelayMs: z.number().int().min(100).max(60_000).optional(),
25
+ maxDelayMs: z.number().int().min(1_000).max(300_000).optional(),
26
+ jitter: z.number().min(0).max(1).optional(),
27
+ }).strict(),
28
+ ]);
29
+ const configSchema = z.object({
30
+ enabled: z.boolean().optional(),
31
+ role: z.enum(['host', 'client', 'both']).optional(),
32
+ serverUrl: z.string().url().optional(),
33
+ deviceName: z.string().trim().min(1).max(80).optional(),
34
+ forceRelay: z.boolean().optional(),
35
+ logLevel: z.enum(['debug', 'info', 'warn', 'error']).optional(),
36
+ reconnect: reconnectSchema.optional(),
37
+ }).strict();
38
+ export function resolveConfig(input = {}, env = process.env) {
39
+ const parsed = configSchema.parse(input);
40
+ const reconnect = typeof parsed.reconnect === 'object' ? parsed.reconnect : {};
41
+ const configuredServerUrl = parsed.serverUrl ?? env.DSH_REMOTE_SERVER;
42
+ const serverUrl = configuredServerUrl === undefined ? undefined : normalizeServerUrl(configuredServerUrl);
43
+ const initialDelayMs = reconnect.initialDelayMs ?? 1_000;
44
+ const maxDelayMs = reconnect.maxDelayMs ?? 30_000;
45
+ if (maxDelayMs < initialDelayMs) {
46
+ throw new TypeError('reconnect.maxDelayMs must be greater than or equal to reconnect.initialDelayMs');
47
+ }
48
+ return {
49
+ enabled: parsed.enabled ?? true,
50
+ role: parsed.role ?? 'host',
51
+ ...(serverUrl === undefined ? {} : { serverUrl }),
52
+ deviceName: parsed.deviceName ?? hostname(),
53
+ forceRelay: parsed.forceRelay ?? false,
54
+ logLevel: parsed.logLevel ?? 'info',
55
+ reconnect: {
56
+ enabled: parsed.reconnect !== false,
57
+ initialDelayMs,
58
+ maxDelayMs,
59
+ jitter: reconnect.jitter ?? 0.2,
60
+ },
61
+ };
62
+ }
63
+ export function normalizeServerUrl(value) {
64
+ const url = new URL(value);
65
+ const local = url.hostname === 'localhost' || url.hostname === '127.0.0.1' || url.hostname === '::1';
66
+ if (url.protocol !== 'https:' && !(local && url.protocol === 'http:')) {
67
+ throw new TypeError('serverUrl must use HTTPS (HTTP is allowed only for localhost)');
68
+ }
69
+ if (url.username !== '' || url.password !== '') {
70
+ throw new TypeError('serverUrl must not contain credentials');
71
+ }
72
+ if (url.search !== '' || url.hash !== '') {
73
+ throw new TypeError('serverUrl must not contain query parameters or fragments');
74
+ }
75
+ if (url.pathname !== '' && url.pathname !== '/') {
76
+ throw new TypeError('serverUrl must be an origin without a path');
77
+ }
78
+ return url.origin;
79
+ }
80
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { type RemoteMessage } from '@dsh-remote/protocol';
2
+ import type { IdentityStore } from './identity-store.js';
3
+ import type { SafeLogger } from './logging.js';
4
+ import type { RpcRouter } from './rpc-router.js';
5
+ import type { AuthenticatedPeerChannel } from './types.js';
6
+ export interface PeerConnectionContext {
7
+ connectionId: string;
8
+ peerDeviceId: string;
9
+ }
10
+ export type RpcRouterFactory = (context: PeerConnectionContext, send: (message: RemoteMessage) => Promise<void>) => RpcRouter;
11
+ export declare class ConnectionController {
12
+ private readonly identities;
13
+ private readonly createRouter;
14
+ private readonly logger?;
15
+ private readonly active;
16
+ private acceptQueue;
17
+ constructor(identities: IdentityStore, createRouter: RpcRouterFactory, logger?: SafeLogger | undefined);
18
+ accept(channel: AuthenticatedPeerChannel): Promise<void>;
19
+ private acceptOne;
20
+ isOnline(): boolean;
21
+ connectionCount(): number;
22
+ peerDeviceIds(): string[];
23
+ peerDeviceId(): string | undefined;
24
+ connectionMode(): 'LAN' | 'P2P' | 'TURN' | 'Relay' | 'Disconnected';
25
+ send(message: RemoteMessage): Promise<void>;
26
+ revoke(deviceId: string): Promise<void>;
27
+ closeConnection(connectionId: string, code?: string): Promise<boolean>;
28
+ close(): Promise<void>;
29
+ private handle;
30
+ private sendTo;
31
+ private sendConnection;
32
+ private disconnect;
33
+ private isActive;
34
+ }
35
+ export declare class ConnectionRejectedError extends Error {
36
+ readonly code: string;
37
+ constructor(code: string, message: string);
38
+ }
39
+ //# sourceMappingURL=connection-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-controller.d.ts","sourceRoot":"","sources":["../src/connection-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAQ1D,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,KAC5C,SAAS,CAAA;AAEd,qBAAa,oBAAoB;IAK7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAN1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,WAAW,CAAmC;gBAGnC,UAAU,EAAE,aAAa,EACzB,YAAY,EAAE,gBAAgB,EAC9B,MAAM,CAAC,EAAE,UAAU,YAAA;IAGtC,MAAM,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;YAM1C,SAAS;IAsDvB,QAAQ,IAAI,OAAO;IAEnB,eAAe,IAAI,MAAM;IAEzB,aAAa,IAAI,MAAM,EAAE;IAIzB,YAAY,IAAI,MAAM,GAAG,SAAS;IAKlC,cAAc,IAAI,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc;IAK7D,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOtE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAKd,MAAM;YAwBN,MAAM;YAMN,cAAc;YAcd,UAAU;IAgBxB,OAAO,CAAC,QAAQ;CAGjB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CACnD"}
@@ -0,0 +1,170 @@
1
+ import { MAX_SECURE_MESSAGE_BYTES, createRpcError, encodeMessage, } from '@dsh-remote/protocol';
2
+ export class ConnectionController {
3
+ identities;
4
+ createRouter;
5
+ logger;
6
+ active = new Map();
7
+ acceptQueue = Promise.resolve();
8
+ constructor(identities, createRouter, logger) {
9
+ this.identities = identities;
10
+ this.createRouter = createRouter;
11
+ this.logger = logger;
12
+ }
13
+ accept(channel) {
14
+ const operation = this.acceptQueue.then(() => this.acceptOne(channel));
15
+ this.acceptQueue = operation.catch(() => undefined);
16
+ return operation;
17
+ }
18
+ async acceptOne(channel) {
19
+ if (channel.security?.protocol !== 'Noise_IK_25519_ChaChaPoly_SHA256'
20
+ || channel.security.connectionId === ''
21
+ || channel.security.membershipId === '') {
22
+ await channel.close('SECURE_CHANNEL_FAILED');
23
+ throw new ConnectionRejectedError('SECURE_CHANNEL_FAILED', 'The channel is missing its authenticated Noise or membership context.');
24
+ }
25
+ if (!this.identities.isTrusted(channel.peerDeviceId, channel.peerIdentityKey)) {
26
+ await channel.close('PEER_IDENTITY_MISMATCH');
27
+ throw new ConnectionRejectedError('PEER_IDENTITY_MISMATCH', 'The peer identity does not match local trust.');
28
+ }
29
+ const connectionId = channel.security.connectionId;
30
+ const connectionConflict = this.active.get(connectionId);
31
+ if (connectionConflict !== undefined && connectionConflict.channel.peerDeviceId !== channel.peerDeviceId) {
32
+ await channel.close('SECURE_CHANNEL_FAILED');
33
+ throw new ConnectionRejectedError('SECURE_CHANNEL_FAILED', 'The connection id is already bound to another peer.');
34
+ }
35
+ const replaced = [...this.active.values()].filter(connection => (connection.channel.peerDeviceId === channel.peerDeviceId
36
+ || connection.channel.security.connectionId === connectionId));
37
+ if (replaced.length > 0) {
38
+ this.logger?.warn('replacing active peer connection', {
39
+ peerDeviceId: shortId(channel.peerDeviceId),
40
+ replacedCount: replaced.length,
41
+ replacedPeerDeviceIds: replaced.map(connection => shortId(connection.channel.peerDeviceId)),
42
+ });
43
+ }
44
+ await Promise.all(replaced.map(connection => this.disconnect(connection, 'CONNECTION_REPLACED')));
45
+ const router = this.createRouter({ connectionId, peerDeviceId: channel.peerDeviceId }, message => this.sendTo(connectionId, channel, message));
46
+ const connection = {
47
+ channel,
48
+ router,
49
+ unsubscribe: () => undefined,
50
+ };
51
+ this.active.set(connectionId, connection);
52
+ try {
53
+ connection.unsubscribe = channel.onMessage(message => { void this.handle(connection, message); });
54
+ }
55
+ catch (error) {
56
+ await this.disconnect(connection);
57
+ throw error;
58
+ }
59
+ this.logger?.info('peer connection accepted', {
60
+ peerDeviceId: shortId(channel.peerDeviceId),
61
+ connectionId: shortId(connectionId),
62
+ mode: channel.mode,
63
+ });
64
+ }
65
+ isOnline() { return this.active.size > 0; }
66
+ connectionCount() { return this.active.size; }
67
+ peerDeviceIds() {
68
+ return [...new Set([...this.active.values()].map(connection => connection.channel.peerDeviceId))];
69
+ }
70
+ peerDeviceId() {
71
+ const peers = this.peerDeviceIds();
72
+ return peers.length === 1 ? peers[0] : undefined;
73
+ }
74
+ connectionMode() {
75
+ const connection = this.active.values().next().value;
76
+ return connection?.channel.mode ?? (connection === undefined ? 'Disconnected' : 'Relay');
77
+ }
78
+ async send(message) {
79
+ await Promise.all([...this.active.values()].map(connection => this.sendConnection(connection, message)));
80
+ }
81
+ async revoke(deviceId) {
82
+ const revoked = [...this.active.values()].filter(connection => connection.channel.peerDeviceId === deviceId);
83
+ await Promise.all(revoked.map(connection => this.disconnect(connection, 'DEVICE_REVOKED')));
84
+ }
85
+ async closeConnection(connectionId, code) {
86
+ const connection = this.active.get(connectionId);
87
+ if (connection === undefined)
88
+ return false;
89
+ await this.disconnect(connection, code);
90
+ return true;
91
+ }
92
+ async close() {
93
+ await this.acceptQueue;
94
+ await Promise.all([...this.active.values()].map(connection => this.disconnect(connection)));
95
+ }
96
+ async handle(connection, message) {
97
+ if (!this.isActive(connection))
98
+ return;
99
+ try {
100
+ const response = await connection.router.handle(message);
101
+ if (!this.isActive(connection))
102
+ return;
103
+ const outbound = encodeMessage(response).byteLength <= MAX_SECURE_MESSAGE_BYTES
104
+ ? response
105
+ : createRpcError(message.id, 'RESPONSE_TOO_LARGE', 'The Host response is too large for the secure Remote channel. Request a smaller page.', { maxBytes: MAX_SECURE_MESSAGE_BYTES }, true);
106
+ await connection.channel.send(outbound);
107
+ }
108
+ catch (error) {
109
+ this.logger?.warn('peer message handling failed; disconnecting', {
110
+ peerDeviceId: shortId(connection.channel.peerDeviceId),
111
+ reason: diagnosticReason(error),
112
+ });
113
+ await this.disconnect(connection);
114
+ }
115
+ }
116
+ async sendTo(connectionId, channel, message) {
117
+ const connection = this.active.get(connectionId);
118
+ if (connection === undefined || connection.channel !== channel)
119
+ return;
120
+ await this.sendConnection(connection, message);
121
+ }
122
+ async sendConnection(connection, message) {
123
+ if (!this.isActive(connection))
124
+ return;
125
+ try {
126
+ await connection.channel.send(message);
127
+ }
128
+ catch (error) {
129
+ this.logger?.warn('peer send failed; disconnecting', {
130
+ peerDeviceId: shortId(connection.channel.peerDeviceId),
131
+ messageType: message.type,
132
+ reason: diagnosticReason(error),
133
+ });
134
+ await this.disconnect(connection);
135
+ }
136
+ }
137
+ async disconnect(connection, code) {
138
+ if (!this.isActive(connection))
139
+ return;
140
+ this.active.delete(connection.channel.security.connectionId);
141
+ connection.unsubscribe();
142
+ try {
143
+ await connection.router.closePeerStreams();
144
+ }
145
+ finally {
146
+ await connection.channel.close(code);
147
+ }
148
+ this.logger?.info('peer connection disconnected', {
149
+ peerDeviceId: shortId(connection.channel.peerDeviceId),
150
+ connectionId: shortId(connection.channel.security.connectionId),
151
+ code: code ?? 'closed',
152
+ });
153
+ }
154
+ isActive(connection) {
155
+ return this.active.get(connection.channel.security.connectionId) === connection;
156
+ }
157
+ }
158
+ export class ConnectionRejectedError extends Error {
159
+ code;
160
+ constructor(code, message) {
161
+ super(message);
162
+ this.code = code;
163
+ }
164
+ }
165
+ function diagnosticReason(error) {
166
+ const message = error instanceof Error ? error.message : String(error);
167
+ return message.replace(/[\r\n]+/g, ' ').slice(0, 160) || 'Unknown peer connection failure.';
168
+ }
169
+ function shortId(value) { return value.length <= 12 ? value : `${value.slice(0, 8)}…${value.slice(-4)}`; }
170
+ //# sourceMappingURL=connection-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-controller.js","sourceRoot":"","sources":["../src/connection-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,aAAa,GAEd,MAAM,sBAAsB,CAAA;AAsB7B,MAAM,OAAO,oBAAoB;IAKZ;IACA;IACA;IANF,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAA;IACrD,WAAW,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAEtD,YACmB,UAAyB,EACzB,YAA8B,EAC9B,MAAmB;QAFnB,eAAU,GAAV,UAAU,CAAe;QACzB,iBAAY,GAAZ,YAAY,CAAkB;QAC9B,WAAM,GAAN,MAAM,CAAa;IACnC,CAAC;IAEJ,MAAM,CAAC,OAAiC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QACtE,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACnD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,OAAiC;QACvD,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,KAAK,kCAAkC;eAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,KAAK,EAAE;eACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,KAAK,EAAE,EAAE,CAAC;YAC1C,MAAM,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YAC5C,MAAM,IAAI,uBAAuB,CAAC,uBAAuB,EAAE,uEAAuE,CAAC,CAAA;QACrI,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9E,MAAM,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;YAC7C,MAAM,IAAI,uBAAuB,CAAC,wBAAwB,EAAE,+CAA+C,CAAC,CAAA;QAC9G,CAAC;QACD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAA;QAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACxD,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,CAAC,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;YACzG,MAAM,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YAC5C,MAAM,IAAI,uBAAuB,CAAC,uBAAuB,EAAE,qDAAqD,CAAC,CAAA;QACnH,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAC9D,UAAU,CAAC,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY;eACrD,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,KAAK,YAAY,CAC7D,CAAC,CAAA;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,kCAAkC,EAAE;gBACpD,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC3C,aAAa,EAAE,QAAQ,CAAC,MAAM;gBAC9B,qBAAqB,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAC5F,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAEjG,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAC9B,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,EACpD,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CACvD,CAAA;QACD,MAAM,UAAU,GAAqB;YACnC,OAAO;YACP,MAAM;YACN,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;SAC7B,CAAA;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QACzC,IAAI,CAAC;YACH,UAAU,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAClG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;YACjC,MAAM,KAAK,CAAA;QACb,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,0BAA0B,EAAE;YAC5C,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;YAC3C,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAA,CAAC,CAAC;IAEnD,eAAe,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA,CAAC,CAAC;IAErD,aAAa;QACX,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACnG,CAAC;IAED,YAAY;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAClC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClD,CAAC;IAED,cAAc;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAqC,CAAA;QACpF,OAAO,UAAU,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC1F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAsB;QAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1G,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAA;QAC5G,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAC7F,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,YAAoB,EAAE,IAAa;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAChD,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,WAAW,CAAA;QACtB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC7F,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,UAA4B,EAAE,OAAsB;QACvE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAM;QACtC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,OAAM;YACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,IAAI,wBAAwB;gBAC7E,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,cAAc,CACZ,OAAO,CAAC,EAAE,EACV,oBAAoB,EACpB,uFAAuF,EACvF,EAAE,QAAQ,EAAE,wBAAwB,EAAE,EACtC,IAAI,CACL,CAAA;YACL,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,6CAA6C,EAAE;gBAC/D,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC;gBACtD,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;aAChC,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,YAAoB,EAAE,OAAiC,EAAE,OAAsB;QAClG,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAChD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO;YAAE,OAAM;QACtE,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,UAA4B,EAAE,OAAsB;QAC/E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAM;QACtC,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,iCAAiC,EAAE;gBACnD,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC;gBACtD,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;aAChC,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,UAA4B,EAAE,IAAa;QAClE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAM;QACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC5D,UAAU,CAAC,WAAW,EAAE,CAAA;QACxB,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAA;QAC5C,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACtC,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,8BAA8B,EAAE;YAChD,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC;YACtD,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC/D,IAAI,EAAE,IAAI,IAAI,QAAQ;SACvB,CAAC,CAAA;IACJ,CAAC;IAEO,QAAQ,CAAC,UAA4B;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,UAAU,CAAA;IACjF,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC3B;IAArB,YAAqB,IAAY,EAAE,OAAe;QAAI,KAAK,CAAC,OAAO,CAAC,CAAA;QAA/C,SAAI,GAAJ,IAAI,CAAQ;IAAoC,CAAC;CACvE;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,kCAAkC,CAAA;AAC7F,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,IAAY,OAAO,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { SettingsScope } from '@deepseek-ai/dsh-settings';
2
+ import { type Config, type ResolvedConfig } from './config.js';
3
+ import { type ClientModeRuntime, type HostConnectionHandle, type HostAuthorizationControl } from './client-runtime.js';
4
+ export interface PluginSettingsView {
5
+ config: Config;
6
+ deviceName: string;
7
+ writable: boolean;
8
+ applies: 'restart';
9
+ association?: PluginAssociation;
10
+ associations: Partial<Record<'host' | 'client', PluginAssociation>>;
11
+ }
12
+ export interface PluginAssociation {
13
+ method: 'account' | 'host_registration_code' | 'owned_device';
14
+ account?: string;
15
+ }
16
+ /** Loopback-only control plane shared by Local/Remote switching and plugin setup. */
17
+ export declare class PluginControlRuntime {
18
+ private readonly config;
19
+ private readonly identityDirectory;
20
+ private readonly settings;
21
+ private readonly client;
22
+ private readonly host;
23
+ constructor(config: ResolvedConfig, identityDirectory: string, settings: SettingsScope<Config> | undefined, client: ClientModeRuntime | undefined, host: HostAuthorizationControl | undefined);
24
+ register(connection: HostConnectionHandle): () => Promise<void>;
25
+ private handle;
26
+ private configure;
27
+ private setServer;
28
+ private setRole;
29
+ private authorizeOwnedRole;
30
+ private logout;
31
+ private settingsView;
32
+ private associations;
33
+ private association;
34
+ private hostOnlyStatus;
35
+ }
36
+ //# sourceMappingURL=control-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-runtime.d.ts","sourceRoot":"","sources":["../src/control-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAiB,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC9B,MAAM,qBAAqB,CAAA;AAK5B,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAA;CACpE;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,GAAG,wBAAwB,GAAG,cAAc,CAAA;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qFAAqF;AACrF,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAJJ,MAAM,EAAE,cAAc,EACtB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,EAC3C,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,IAAI,EAAE,wBAAwB,GAAG,SAAS;IAG7D,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAMjD,MAAM;YAuCN,SAAS;YAuCT,SAAS;YAcT,OAAO;YAkBP,kBAAkB;YAsBlB,MAAM;YAkBN,YAAY;YAeZ,YAAY;YAYZ,WAAW;IAazB,OAAO,CAAC,cAAc;CAQvB"}