zero-trust-application-channel 0.0.0-stage → 1.0.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/README.md +67 -2
- package/dist/audit/index.d.ts +2 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/interface.d.ts +29 -0
- package/dist/audit/interface.d.ts.map +1 -0
- package/dist/channel/index.d.ts +3 -0
- package/dist/channel/index.d.ts.map +1 -0
- package/dist/channel/interface.d.ts +63 -0
- package/dist/channel/interface.d.ts.map +1 -0
- package/dist/channel/ws-socket-client.d.ts +36 -0
- package/dist/channel/ws-socket-client.d.ts.map +1 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/tunnel-client.d.ts +99 -0
- package/dist/client/tunnel-client.d.ts.map +1 -0
- package/dist/codec/frame-codec.d.ts +26 -0
- package/dist/codec/frame-codec.d.ts.map +1 -0
- package/dist/codec/index.d.ts +4 -0
- package/dist/codec/index.d.ts.map +1 -0
- package/dist/codec/types.d.ts +51 -0
- package/dist/codec/types.d.ts.map +1 -0
- package/dist/connector/index.d.ts +5 -0
- package/dist/connector/index.d.ts.map +1 -0
- package/dist/connector/reconnect-delay.d.ts +32 -0
- package/dist/connector/reconnect-delay.d.ts.map +1 -0
- package/dist/connector/tunnel-connector.d.ts +128 -0
- package/dist/connector/tunnel-connector.d.ts.map +1 -0
- package/dist/demo/hub-harness.d.ts +31 -0
- package/dist/demo/hub-harness.d.ts.map +1 -0
- package/dist/hub/index.d.ts +3 -0
- package/dist/hub/index.d.ts.map +1 -0
- package/dist/hub/registry.d.ts +45 -0
- package/dist/hub/registry.d.ts.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1922 -0
- package/dist/logger/index.d.ts +2 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/interface.d.ts +19 -0
- package/dist/logger/interface.d.ts.map +1 -0
- package/dist/protocol/index.d.ts +2 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/messages.d.ts +226 -0
- package/dist/protocol/messages.d.ts.map +1 -0
- package/dist/proxy/hub-session-store.d.ts +55 -0
- package/dist/proxy/hub-session-store.d.ts.map +1 -0
- package/dist/proxy/index.d.ts +8 -0
- package/dist/proxy/index.d.ts.map +1 -0
- package/dist/proxy/session-gateway.d.ts +85 -0
- package/dist/proxy/session-gateway.d.ts.map +1 -0
- package/dist/proxy/stream-sink.d.ts +18 -0
- package/dist/proxy/stream-sink.d.ts.map +1 -0
- package/dist/proxy/tunnel-proxy.d.ts +126 -0
- package/dist/proxy/tunnel-proxy.d.ts.map +1 -0
- package/dist/result/domain-error.d.ts +50 -0
- package/dist/result/domain-error.d.ts.map +1 -0
- package/dist/result/index.d.ts +4 -0
- package/dist/result/index.d.ts.map +1 -0
- package/dist/result/result.d.ts +24 -0
- package/dist/result/result.d.ts.map +1 -0
- package/dist/session/__test-helpers__/jose-signer.d.ts +13 -0
- package/dist/session/__test-helpers__/jose-signer.d.ts.map +1 -0
- package/dist/session/__test-helpers__/jose-signer.js +30 -0
- package/dist/session/client-session-server.d.ts +23 -0
- package/dist/session/client-session-server.d.ts.map +1 -0
- package/dist/session/client-session-store.d.ts +59 -0
- package/dist/session/client-session-store.d.ts.map +1 -0
- package/dist/session/index.d.ts +4 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/token/index.d.ts +2 -0
- package/dist/token/index.d.ts.map +1 -0
- package/dist/token/interface.d.ts +18 -0
- package/dist/token/interface.d.ts.map +1 -0
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +61 -4
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { IHubChannel } from "../channel";
|
|
2
|
+
export interface HubHarnessOptions {
|
|
3
|
+
/** register-ack gecikmesi (ms) — gerçek ağ gecikmesini taklit eder. */
|
|
4
|
+
registerAckDelayMs?: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* HubHarness — lib'ın paket içi demo/örnek hub ucu.
|
|
8
|
+
*
|
|
9
|
+
* Gerçek `ws` sunucusu; `register` frame'ine `register-ack` ile yanıt verir,
|
|
10
|
+
* text kontrol mesajlarını ve binary frame'leri `IHubChannel` üzerinden
|
|
11
|
+
* yayınlar. Fastify/PG bağımlılığı YOKTUR — paketin kendi
|
|
12
|
+
* kendine yeterliliğinin kanıtı (README örneği + `loopback.spec.ts`).
|
|
13
|
+
*/
|
|
14
|
+
export declare class HubHarness implements IHubChannel {
|
|
15
|
+
private wss?;
|
|
16
|
+
private sockets;
|
|
17
|
+
private controlSubs;
|
|
18
|
+
private binarySubs;
|
|
19
|
+
private readonly delayMs;
|
|
20
|
+
constructor(options?: HubHarnessOptions);
|
|
21
|
+
/** Sunucuyu başlatır — dinlenen portu döner (komut). */
|
|
22
|
+
start(): Promise<number>;
|
|
23
|
+
/** Sunucuyu kapatır (komut). */
|
|
24
|
+
close(): Promise<void>;
|
|
25
|
+
sendControl(peerId: string, message: unknown): void;
|
|
26
|
+
sendBinary(peerId: string, data: Buffer): void;
|
|
27
|
+
onControlMessage(subscriber: (peerId: string, message: unknown) => void): () => void;
|
|
28
|
+
onBinaryFrame(subscriber: (peerId: string, data: Buffer) => void): () => void;
|
|
29
|
+
isConnected(peerId: string): boolean;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=hub-harness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hub-harness.d.ts","sourceRoot":"","sources":["../../src/demo/hub-harness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC5C,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,WAAW,CAAgD;IACnE,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,GAAE,iBAAsB;IAI3C,wDAAwD;IAClD,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAqD9B,gCAAgC;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAOnD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAO9C,gBAAgB,CACd,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GACrD,MAAM,IAAI;IAKb,aAAa,CACX,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACjD,MAAM,IAAI;IAKb,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAIrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hub/index.ts"],"names":[],"mappings":"AASA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ServiceAnnouncement, TunnelPeerType } from "../protocol";
|
|
2
|
+
/**
|
|
3
|
+
* Kayıtlı peer'ın hub görünümü — SAF kayıt (opak servis listesi).
|
|
4
|
+
*
|
|
5
|
+
* `services` yalnızca `id`+`meta` taşır; hedef adres/protokol/endpoint YOKTUR
|
|
6
|
+
* (opaklık ilkesi — WS-TUNNEL-OPAK-SERVIS-ERISIMI §K1).
|
|
7
|
+
*/
|
|
8
|
+
export interface HubPeerRecord {
|
|
9
|
+
readonly peerId: string;
|
|
10
|
+
readonly peerType: TunnelPeerType;
|
|
11
|
+
readonly services: readonly ServiceAnnouncement[];
|
|
12
|
+
}
|
|
13
|
+
/** `register` girdisi — saf kayıt anahtarları. */
|
|
14
|
+
export interface RegisterPeerInput {
|
|
15
|
+
readonly peerId: string;
|
|
16
|
+
readonly peerType: TunnelPeerType;
|
|
17
|
+
readonly services?: readonly ServiceAnnouncement[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* HubPeerRegistry — hub tarafı peer + OPAK servis kaydı (**SAF**).
|
|
21
|
+
*
|
|
22
|
+
* Yalnızca bellek-içi veri tutar: WS/timer/HTTP/persistence bağımlılığı
|
|
23
|
+
* YOKTUR (DI kuralı). Taşıma (`FieldRegistry`: WS + token + stale) ve
|
|
24
|
+
* kalıcılık tüketicide yaşar; Faz 3 hub-servis ayrımında bu sınıf routes ile
|
|
25
|
+
* birlikte taşınır.
|
|
26
|
+
*
|
|
27
|
+
* Komutlar (`void`): `register` (ekle/değiştir), `updateServices`,
|
|
28
|
+
* `unregister`. Sorgular: `peers`, `servicesOf`, `isConnected`.
|
|
29
|
+
*/
|
|
30
|
+
export declare class HubPeerRegistry {
|
|
31
|
+
private readonly records;
|
|
32
|
+
/** Peer'ı kaydeder/değiştirir — servis listesi yenisiyle DEĞİŞİR (birleşmez). */
|
|
33
|
+
register(input: RegisterPeerInput): void;
|
|
34
|
+
/** Kayıtlı peer'ın servis listesini değiştirir; kayıt yoksa sessiz no-op. */
|
|
35
|
+
updateServices(peerId: string, services: readonly ServiceAnnouncement[]): void;
|
|
36
|
+
/** Peer kaydını düşürür; yoksa sessiz no-op (idempotent). */
|
|
37
|
+
unregister(peerId: string): void;
|
|
38
|
+
/** Kayıtlı tüm peer'lar (kayıt sırasında). */
|
|
39
|
+
peers(): readonly HubPeerRecord[];
|
|
40
|
+
/** Peer'ın duyurduğu servisler; kayıt yoksa boş dizi. */
|
|
41
|
+
servicesOf(peerId: string): readonly ServiceAnnouncement[];
|
|
42
|
+
/** Peer kayıtlı mı (register ile true, unregister ile false). */
|
|
43
|
+
isConnected(peerId: string): boolean;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/hub/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACnD;AAED,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACpD;AAED;;;;;;;;;;GAUG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAE5D,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAcxC,6EAA6E;IAC7E,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACvC,IAAI;IASP,6DAA6D;IAC7D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhC,8CAA8C;IAC9C,KAAK,IAAI,SAAS,aAAa,EAAE;IAIjC,yDAAyD;IACzD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,mBAAmB,EAAE;IAI1D,iEAAiE;IACjE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAGrC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from "./types";
|
|
2
|
+
export * from "./codec";
|
|
3
|
+
export * from "./protocol";
|
|
4
|
+
export * from "./result";
|
|
5
|
+
export * from "./logger";
|
|
6
|
+
export * from "./channel";
|
|
7
|
+
export * from "./token";
|
|
8
|
+
export * from "./audit";
|
|
9
|
+
export * from "./connector";
|
|
10
|
+
export * from "./client";
|
|
11
|
+
export * from "./session";
|
|
12
|
+
export * from "./hub";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAE3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAG1B,cAAc,OAAO,CAAC"}
|