@ontemper/sdk 0.8.0 → 0.8.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.
- package/README.md +55 -2
- package/dist/As2Resource.d.ts +431 -76
- package/dist/As2Resource.d.ts.map +1 -1
- package/dist/As2Resource.js +31 -30
- package/dist/As2Resource.js.map +1 -1
- package/dist/As2Transport.d.ts.map +1 -1
- package/dist/As2Transport.js +3 -1
- package/dist/As2Transport.js.map +1 -1
- package/dist/As2Wire.d.ts +39 -0
- package/dist/As2Wire.d.ts.map +1 -1
- package/dist/Contract/RuntimeApi.d.ts +19 -0
- package/dist/Contract/RuntimeApi.d.ts.map +1 -1
- package/dist/Contract/RuntimeApi.js +1 -1
- package/dist/Contract/RuntimeApi.js.map +1 -1
- package/dist/DatabaseTunnelAuthorization.d.ts +3 -0
- package/dist/DatabaseTunnelAuthorization.d.ts.map +1 -0
- package/dist/DatabaseTunnelAuthorization.js +12 -0
- package/dist/DatabaseTunnelAuthorization.js.map +1 -0
- package/dist/HttpApiResource.d.ts +2916 -177
- package/dist/HttpApiResource.d.ts.map +1 -1
- package/dist/HttpApiResource.js +82 -60
- package/dist/HttpApiResource.js.map +1 -1
- package/dist/Kafka.d.ts +89 -0
- package/dist/Kafka.d.ts.map +1 -0
- package/dist/Kafka.js +297 -0
- package/dist/Kafka.js.map +1 -0
- package/dist/Manifest.d.ts +1 -1
- package/dist/Manifest.js +1 -1
- package/dist/PostgreSql.d.ts +18 -0
- package/dist/PostgreSql.d.ts.map +1 -0
- package/dist/PostgreSql.js +40 -0
- package/dist/PostgreSql.js.map +1 -0
- package/dist/PostgreSqlPool.d.ts +34 -0
- package/dist/PostgreSqlPool.d.ts.map +1 -0
- package/dist/PostgreSqlPool.js +133 -0
- package/dist/PostgreSqlPool.js.map +1 -0
- package/dist/PostgreSqlTimeouts.d.ts +6 -0
- package/dist/PostgreSqlTimeouts.d.ts.map +1 -0
- package/dist/PostgreSqlTimeouts.js +17 -0
- package/dist/PostgreSqlTimeouts.js.map +1 -0
- package/dist/PostgreSqlTunnel.d.ts +25 -0
- package/dist/PostgreSqlTunnel.d.ts.map +1 -0
- package/dist/PostgreSqlTunnel.js +114 -0
- package/dist/PostgreSqlTunnel.js.map +1 -0
- package/dist/ResourceRecords.d.ts +1086 -0
- package/dist/ResourceRecords.d.ts.map +1 -0
- package/dist/ResourceRecords.js +303 -0
- package/dist/ResourceRecords.js.map +1 -0
- package/dist/Resources.d.ts +13 -0
- package/dist/Resources.d.ts.map +1 -0
- package/dist/Resources.js +13 -0
- package/dist/Resources.js.map +1 -0
- package/dist/RuntimeResources.d.ts +15 -1
- package/dist/RuntimeResources.d.ts.map +1 -1
- package/dist/RuntimeResources.js +42 -13
- package/dist/RuntimeResources.js.map +1 -1
- package/dist/TransportResource.d.ts +1 -32
- package/dist/TransportResource.d.ts.map +1 -1
- package/dist/TransportResource.js +1 -19
- package/dist/TransportResource.js.map +1 -1
- package/package.json +37 -4
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Duplex } from 'node:stream';
|
|
2
|
+
/** Reads current runtime authorization; called once per physical connection, so a renewed token is used at once. */
|
|
3
|
+
export type TunnelAuthorization = () => Promise<{
|
|
4
|
+
readonly url: string;
|
|
5
|
+
readonly token: string;
|
|
6
|
+
}>;
|
|
7
|
+
/** A pg socket over the Resources-authenticated WebSocket tunnel; any failure ends the connection, never falls back to TCP. */
|
|
8
|
+
export declare class PostgreSqlTunnelStream extends Duplex {
|
|
9
|
+
private readonly authorize;
|
|
10
|
+
private transport;
|
|
11
|
+
private socket;
|
|
12
|
+
private referenced;
|
|
13
|
+
private closingCleanly;
|
|
14
|
+
constructor(authorize: TunnelAuthorization);
|
|
15
|
+
setNoDelay(): this;
|
|
16
|
+
setKeepAlive(): this;
|
|
17
|
+
ref(): this;
|
|
18
|
+
unref(): this;
|
|
19
|
+
connect(): this;
|
|
20
|
+
_read(): void;
|
|
21
|
+
_write(chunk: Buffer, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
|
|
22
|
+
_final(callback: (error?: Error | null) => void): void;
|
|
23
|
+
_destroy(error: Error | null, callback: (error?: Error | null) => void): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=PostgreSqlTunnel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgreSqlTunnel.d.ts","sourceRoot":"","sources":["../src/PostgreSqlTunnel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,oHAAoH;AACpH,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAIlG,+HAA+H;AAC/H,qBAAa,sBAAuB,SAAQ,MAAM;IAKpC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJtC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,YAA6B,SAAS,EAAE,mBAAmB,EAE1D;IACD,UAAU,SAET;IACD,YAAY,SAEX;IACD,GAAG,SAIF;IACD,KAAK,SAIJ;IACD,OAAO,SA6CN;IACQ,KAAK,SAEb;IACQ,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,QAYjG;IACQ,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,QAIvD;IACQ,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,QAG9E;CACF"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Duplex } from 'node:stream';
|
|
2
|
+
import { createWebSocketStream, WebSocket } from 'ws';
|
|
3
|
+
const unavailable = () => new Error('Database tunnel disconnected. Retry the connection to Temper.');
|
|
4
|
+
/** A pg socket over the Resources-authenticated WebSocket tunnel; any failure ends the connection, never falls back to TCP. */
|
|
5
|
+
export class PostgreSqlTunnelStream extends Duplex {
|
|
6
|
+
authorize;
|
|
7
|
+
transport;
|
|
8
|
+
socket;
|
|
9
|
+
referenced = true;
|
|
10
|
+
closingCleanly = false;
|
|
11
|
+
constructor(authorize) {
|
|
12
|
+
super({ highWaterMark: 65_536 });
|
|
13
|
+
this.authorize = authorize;
|
|
14
|
+
}
|
|
15
|
+
setNoDelay() {
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
setKeepAlive() {
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
ref() {
|
|
22
|
+
this.referenced = true;
|
|
23
|
+
this.socket?.ref();
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
unref() {
|
|
27
|
+
this.referenced = false;
|
|
28
|
+
this.socket?.unref();
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
connect() {
|
|
32
|
+
void this.authorize()
|
|
33
|
+
.then(({ url, token }) => {
|
|
34
|
+
if (this.destroyed)
|
|
35
|
+
return;
|
|
36
|
+
const endpoint = new URL(url);
|
|
37
|
+
if (endpoint.protocol !== 'wss:' &&
|
|
38
|
+
!(endpoint.protocol === 'ws:' && ['127.0.0.1', 'localhost', '[::1]'].includes(endpoint.hostname)))
|
|
39
|
+
throw unavailable();
|
|
40
|
+
if (endpoint.username || endpoint.password || endpoint.search || endpoint.hash)
|
|
41
|
+
throw unavailable();
|
|
42
|
+
const websocket = new WebSocket(endpoint, {
|
|
43
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
44
|
+
handshakeTimeout: 10_000,
|
|
45
|
+
maxPayload: 65_536,
|
|
46
|
+
perMessageDeflate: false,
|
|
47
|
+
followRedirects: false,
|
|
48
|
+
finishRequest: (request) => {
|
|
49
|
+
request.once('socket', (socket) => {
|
|
50
|
+
this.socket = socket;
|
|
51
|
+
if (!this.referenced)
|
|
52
|
+
socket.unref();
|
|
53
|
+
});
|
|
54
|
+
request.end();
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
const stream = createWebSocketStream(websocket, { highWaterMark: 65_536 });
|
|
58
|
+
this.transport = stream;
|
|
59
|
+
stream.on('error', () => this.destroy(unavailable()));
|
|
60
|
+
stream.on('data', (data) => {
|
|
61
|
+
if (!this.push(data))
|
|
62
|
+
stream.pause();
|
|
63
|
+
});
|
|
64
|
+
stream.on('end', () => {
|
|
65
|
+
if (this.closingCleanly)
|
|
66
|
+
this.push(null);
|
|
67
|
+
else
|
|
68
|
+
this.destroy(unavailable());
|
|
69
|
+
});
|
|
70
|
+
stream.on('close', () => {
|
|
71
|
+
if (this.closingCleanly)
|
|
72
|
+
this.destroy();
|
|
73
|
+
else
|
|
74
|
+
this.destroy(unavailable());
|
|
75
|
+
});
|
|
76
|
+
websocket.once('open', () => {
|
|
77
|
+
if (!this.destroyed)
|
|
78
|
+
this.emit('connect');
|
|
79
|
+
});
|
|
80
|
+
})
|
|
81
|
+
.catch(() => this.destroy(unavailable()));
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
_read() {
|
|
85
|
+
this.transport?.resume();
|
|
86
|
+
}
|
|
87
|
+
_write(chunk, _encoding, callback) {
|
|
88
|
+
const stream = this.transport;
|
|
89
|
+
if (!stream)
|
|
90
|
+
return callback(unavailable());
|
|
91
|
+
let offset = 0;
|
|
92
|
+
const next = () => {
|
|
93
|
+
if (offset >= chunk.length)
|
|
94
|
+
return callback();
|
|
95
|
+
const end = Math.min(offset + 65_536, chunk.length);
|
|
96
|
+
const frame = chunk.subarray(offset, end);
|
|
97
|
+
offset = end;
|
|
98
|
+
stream.write(frame, (error) => (error ? callback(unavailable()) : next()));
|
|
99
|
+
};
|
|
100
|
+
next();
|
|
101
|
+
}
|
|
102
|
+
_final(callback) {
|
|
103
|
+
this.closingCleanly = true;
|
|
104
|
+
if (this.transport)
|
|
105
|
+
this.transport.end(callback);
|
|
106
|
+
else
|
|
107
|
+
callback();
|
|
108
|
+
}
|
|
109
|
+
_destroy(error, callback) {
|
|
110
|
+
this.transport?.destroy();
|
|
111
|
+
callback(error);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=PostgreSqlTunnel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgreSqlTunnel.js","sourceRoot":"","sources":["../src/PostgreSqlTunnel.ts"],"names":[],"mappings":"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"}
|