@viewportai/daemon 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands.d.ts +1 -0
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +1 -0
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/daemon-lifecycle.d.ts +3 -0
- package/dist/cli/daemon-lifecycle.d.ts.map +1 -1
- package/dist/cli/daemon-lifecycle.js +11 -1
- package/dist/cli/daemon-lifecycle.js.map +1 -1
- package/dist/cli/daemon-settings.d.ts.map +1 -1
- package/dist/cli/daemon-settings.js +115 -3
- package/dist/cli/daemon-settings.js.map +1 -1
- package/dist/cli/lifecycle-commands.d.ts.map +1 -1
- package/dist/cli/lifecycle-commands.js +2 -0
- package/dist/cli/lifecycle-commands.js.map +1 -1
- package/dist/cli/remote-commands.d.ts +3 -0
- package/dist/cli/remote-commands.d.ts.map +1 -0
- package/dist/cli/remote-commands.js +236 -0
- package/dist/cli/remote-commands.js.map +1 -0
- package/dist/cli/setup-command.d.ts.map +1 -1
- package/dist/cli/setup-command.js +4 -1
- package/dist/cli/setup-command.js.map +1 -1
- package/dist/cli/supervisor-protocol.d.ts +12 -0
- package/dist/cli/supervisor-protocol.d.ts.map +1 -1
- package/dist/cli/supervisor.d.ts.map +1 -1
- package/dist/cli/supervisor.js +30 -0
- package/dist/cli/supervisor.js.map +1 -1
- package/dist/core/config-schema.d.ts +16 -0
- package/dist/core/config-schema.d.ts.map +1 -1
- package/dist/core/config-schema.js +12 -0
- package/dist/core/config-schema.js.map +1 -1
- package/dist/core/config.d.ts +23 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +46 -3
- package/dist/core/config.js.map +1 -1
- package/dist/core/session-state-file.d.ts.map +1 -1
- package/dist/core/session-state-file.js +3 -1
- package/dist/core/session-state-file.js.map +1 -1
- package/dist/core/types.d.ts +7 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/hooks/installers/claude.js +4 -1
- package/dist/hooks/installers/claude.js.map +1 -1
- package/dist/hooks/router.d.ts.map +1 -1
- package/dist/hooks/router.js +11 -0
- package/dist/hooks/router.js.map +1 -1
- package/dist/hooks/supervision.d.ts +2 -0
- package/dist/hooks/supervision.d.ts.map +1 -1
- package/dist/hooks/supervision.js +12 -0
- package/dist/hooks/supervision.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/plugins/loader.d.ts.map +1 -1
- package/dist/plugins/loader.js +14 -0
- package/dist/plugins/loader.js.map +1 -1
- package/dist/relay/bridge-backoff.d.ts +3 -0
- package/dist/relay/bridge-backoff.d.ts.map +1 -0
- package/dist/relay/bridge-backoff.js +10 -0
- package/dist/relay/bridge-backoff.js.map +1 -0
- package/dist/relay/bridge-constants.d.ts +12 -0
- package/dist/relay/bridge-constants.d.ts.map +1 -0
- package/dist/relay/bridge-constants.js +12 -0
- package/dist/relay/bridge-constants.js.map +1 -0
- package/dist/relay/bridge-crypto.d.ts +18 -0
- package/dist/relay/bridge-crypto.d.ts.map +1 -0
- package/dist/relay/bridge-crypto.js +63 -0
- package/dist/relay/bridge-crypto.js.map +1 -0
- package/dist/relay/bridge-errors.d.ts +6 -0
- package/dist/relay/bridge-errors.d.ts.map +1 -0
- package/dist/relay/bridge-errors.js +9 -0
- package/dist/relay/bridge-errors.js.map +1 -0
- package/dist/relay/bridge-jwt.d.ts +18 -0
- package/dist/relay/bridge-jwt.d.ts.map +1 -0
- package/dist/relay/bridge-jwt.js +130 -0
- package/dist/relay/bridge-jwt.js.map +1 -0
- package/dist/relay/bridge-key-exchange.d.ts +49 -0
- package/dist/relay/bridge-key-exchange.d.ts.map +1 -0
- package/dist/relay/bridge-key-exchange.js +234 -0
- package/dist/relay/bridge-key-exchange.js.map +1 -0
- package/dist/relay/bridge-network.d.ts +12 -0
- package/dist/relay/bridge-network.d.ts.map +1 -0
- package/dist/relay/bridge-network.js +90 -0
- package/dist/relay/bridge-network.js.map +1 -0
- package/dist/relay/bridge-noise-v3.d.ts +74 -0
- package/dist/relay/bridge-noise-v3.d.ts.map +1 -0
- package/dist/relay/bridge-noise-v3.js +403 -0
- package/dist/relay/bridge-noise-v3.js.map +1 -0
- package/dist/relay/daemon-relay-bridge.d.ts +93 -0
- package/dist/relay/daemon-relay-bridge.d.ts.map +1 -0
- package/dist/relay/daemon-relay-bridge.js +1005 -0
- package/dist/relay/daemon-relay-bridge.js.map +1 -0
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +9 -7
- package/dist/server/auth.js.map +1 -1
- package/dist/server/http-server.d.ts +6 -0
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +102 -15
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/pairing-offers.d.ts +2 -1
- package/dist/server/pairing-offers.d.ts.map +1 -1
- package/dist/server/pairing-offers.js +438 -204
- package/dist/server/pairing-offers.js.map +1 -1
- package/dist/server/ring-buffer.d.ts +48 -7
- package/dist/server/ring-buffer.d.ts.map +1 -1
- package/dist/server/ring-buffer.js +387 -14
- package/dist/server/ring-buffer.js.map +1 -1
- package/dist/server/security.d.ts.map +1 -1
- package/dist/server/security.js +5 -1
- package/dist/server/security.js.map +1 -1
- package/dist/server/ws-command-handlers.d.ts.map +1 -1
- package/dist/server/ws-command-handlers.js +18 -6
- package/dist/server/ws-command-handlers.js.map +1 -1
- package/dist/server/ws-daemon-event-bridge.d.ts.map +1 -1
- package/dist/server/ws-daemon-event-bridge.js +14 -2
- package/dist/server/ws-daemon-event-bridge.js.map +1 -1
- package/dist/server/ws-server.d.ts.map +1 -1
- package/dist/server/ws-server.js +26 -3
- package/dist/server/ws-server.js.map +1 -1
- package/dist/startup-relay-security.d.ts +3 -0
- package/dist/startup-relay-security.d.ts.map +1 -0
- package/dist/startup-relay-security.js +61 -0
- package/dist/startup-relay-security.js.map +1 -0
- package/dist/startup-session-persistence.d.ts +7 -0
- package/dist/startup-session-persistence.d.ts.map +1 -0
- package/dist/startup-session-persistence.js +72 -0
- package/dist/startup-session-persistence.js.map +1 -0
- package/dist/startup.d.ts.map +1 -1
- package/dist/startup.js +115 -65
- package/dist/startup.js.map +1 -1
- package/dist/tracking/git-tracker.d.ts +4 -0
- package/dist/tracking/git-tracker.d.ts.map +1 -1
- package/dist/tracking/git-tracker.js +80 -15
- package/dist/tracking/git-tracker.js.map +1 -1
- package/docs/configuration.md +63 -5
- package/docs/relay-noise-conformance-vectors.json +41 -0
- package/docs/relay-noise-v3-conformance-vectors.json +50 -0
- package/docs/security.md +3 -2
- package/package.json +1 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { computeBackoffMs } from './bridge-backoff.js';
|
|
2
|
+
import { decryptEnvelope, encryptEnvelope, fromBase64Url, toBase64Url } from './bridge-crypto.js';
|
|
3
|
+
import { type BridgeErrorCode } from './bridge-errors.js';
|
|
4
|
+
export interface DaemonRelayBridgeOptions {
|
|
5
|
+
relayEndpoint: string;
|
|
6
|
+
relayServerUrl: string;
|
|
7
|
+
workspaceId: string;
|
|
8
|
+
enrollToken: string;
|
|
9
|
+
issueToken?: string;
|
|
10
|
+
daemonWsUrl: string;
|
|
11
|
+
daemonAuthToken?: string;
|
|
12
|
+
relayTlsVerify?: 'auto' | '0' | '1';
|
|
13
|
+
relayCaCertPath?: string;
|
|
14
|
+
relayTlsPins?: string[];
|
|
15
|
+
relayTokenIssuer?: string;
|
|
16
|
+
relayTokenAudience?: string;
|
|
17
|
+
relayTokenJwksUrl?: string;
|
|
18
|
+
relayTokenSigningKeys?: Record<string, string>;
|
|
19
|
+
relayTokenClockSkewSec?: number;
|
|
20
|
+
maxPendingOutbound?: number;
|
|
21
|
+
maxPendingOutboundBytes?: number;
|
|
22
|
+
keyRotateAfterMessages?: number;
|
|
23
|
+
pairingChannelTtlMs?: number;
|
|
24
|
+
pairingChannelMaxEntries?: number;
|
|
25
|
+
relaySessionMaxEntries?: number;
|
|
26
|
+
}
|
|
27
|
+
export { CIRCUIT_BREAKER_MS } from './bridge-constants.js';
|
|
28
|
+
export { computeBackoffMs, decryptEnvelope, encryptEnvelope, fromBase64Url, toBase64Url };
|
|
29
|
+
export interface DaemonRelayBridgeStatus {
|
|
30
|
+
state: 'stopped' | 'connecting' | 'connected' | 'waiting_retry' | 'circuit_open';
|
|
31
|
+
reconnectAttempt: number;
|
|
32
|
+
lastErrorCode?: BridgeErrorCode;
|
|
33
|
+
lastErrorMessage?: string;
|
|
34
|
+
lastErrorAt?: number;
|
|
35
|
+
circuitOpenUntil?: number;
|
|
36
|
+
}
|
|
37
|
+
export declare class DaemonRelayBridge {
|
|
38
|
+
private readonly options;
|
|
39
|
+
private relayWs;
|
|
40
|
+
private daemonWs;
|
|
41
|
+
private running;
|
|
42
|
+
private reconnecting;
|
|
43
|
+
private reconnectAttempt;
|
|
44
|
+
private readonly pendingOutbound;
|
|
45
|
+
private pendingOutboundBytes;
|
|
46
|
+
private daemonIdentity;
|
|
47
|
+
private daemonIssueToken;
|
|
48
|
+
private requiredProfile;
|
|
49
|
+
private readonly relayTokenJwksUrl;
|
|
50
|
+
private readonly relayTokenSigningKeys;
|
|
51
|
+
private jwksCacheExpiresAt;
|
|
52
|
+
private jwksCacheKeys;
|
|
53
|
+
private readonly relaySessions;
|
|
54
|
+
private readonly pairingChannelKeys;
|
|
55
|
+
private consecutiveIssueFailures;
|
|
56
|
+
private circuitOpenUntilMs;
|
|
57
|
+
private lastErrorCode;
|
|
58
|
+
private lastErrorMessage;
|
|
59
|
+
private lastErrorAt;
|
|
60
|
+
private state;
|
|
61
|
+
private relayEndpoint;
|
|
62
|
+
private readonly keyRotateAfterMessages;
|
|
63
|
+
private readonly pairingChannelTtlMs;
|
|
64
|
+
private readonly pairingChannelMaxEntries;
|
|
65
|
+
private readonly relaySessionMaxEntries;
|
|
66
|
+
constructor(options: DaemonRelayBridgeOptions);
|
|
67
|
+
getStatus(): DaemonRelayBridgeStatus;
|
|
68
|
+
start(): Promise<void>;
|
|
69
|
+
stop(): Promise<void>;
|
|
70
|
+
private ensureKeyMaterial;
|
|
71
|
+
private registerDaemonPublicKey;
|
|
72
|
+
private persistIssueToken;
|
|
73
|
+
private connectLoop;
|
|
74
|
+
private installSocketHandlers;
|
|
75
|
+
private sendToAllRelaySessions;
|
|
76
|
+
private acceptInboundSeq;
|
|
77
|
+
private pruneIdleSessions;
|
|
78
|
+
private enforceRelaySessionCapacity;
|
|
79
|
+
private handleRelayControlFrame;
|
|
80
|
+
private handleKeyExchangeInit;
|
|
81
|
+
private handleKeyExchangeInitV3;
|
|
82
|
+
private handlePairingOfferRequest;
|
|
83
|
+
private handlePairingRedeemRequest;
|
|
84
|
+
private prunePairingChannelKeys;
|
|
85
|
+
private flushPendingOutbound;
|
|
86
|
+
private resolvePolicyCPairingSecret;
|
|
87
|
+
private issueRelayToken;
|
|
88
|
+
private resolveRelayTokenVerificationKeys;
|
|
89
|
+
private normalizeError;
|
|
90
|
+
private recordError;
|
|
91
|
+
private reportStatus;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=daemon-relay-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-relay-bridge.d.ts","sourceRoot":"","sources":["../../src/relay/daemon-relay-bridge.ts"],"names":[],"mappings":"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"}
|