@octelium/sdk 1.0.0-pre.20260321.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/dist/client.d.ts +46 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +162 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/package.json +48 -0
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { MainServiceClient as CoreC } from "@octelium/apis/main/corev1/corev1.client";
|
|
2
|
+
import { MainServiceClient as UserC } from "@octelium/apis/main/userv1/userv1.client";
|
|
3
|
+
export type OcteliumClientConfig = {
|
|
4
|
+
domain: string;
|
|
5
|
+
auth?: AuthConfig;
|
|
6
|
+
};
|
|
7
|
+
export type AuthConfig = {
|
|
8
|
+
type: "authToken";
|
|
9
|
+
authToken: {
|
|
10
|
+
token: string | (() => string | Promise<string>);
|
|
11
|
+
scopes?: string[];
|
|
12
|
+
};
|
|
13
|
+
} | {
|
|
14
|
+
type: "oauth2ClientCredentials";
|
|
15
|
+
oauth2ClientCredentials: {
|
|
16
|
+
clientId: string;
|
|
17
|
+
clientSecret: string;
|
|
18
|
+
scopes?: string[];
|
|
19
|
+
};
|
|
20
|
+
} | {
|
|
21
|
+
type: "accessToken";
|
|
22
|
+
accessToken: string;
|
|
23
|
+
};
|
|
24
|
+
export declare class OcteliumClient {
|
|
25
|
+
private readonly transport;
|
|
26
|
+
private readonly authTransport;
|
|
27
|
+
private readonly config;
|
|
28
|
+
private _corev1?;
|
|
29
|
+
private _userv1?;
|
|
30
|
+
private _authC;
|
|
31
|
+
private accessToken?;
|
|
32
|
+
private sessionToken?;
|
|
33
|
+
private sessionTokenSetAt?;
|
|
34
|
+
private _oauth2Cache?;
|
|
35
|
+
private _authRefreshPromise?;
|
|
36
|
+
private constructor();
|
|
37
|
+
static create(config: OcteliumClientConfig): Promise<OcteliumClient>;
|
|
38
|
+
private createAuthClientInterceptor;
|
|
39
|
+
private resolveToken;
|
|
40
|
+
private isCurrentTokenExpired;
|
|
41
|
+
private fetchAuthToken;
|
|
42
|
+
private fetchOAuth2Token;
|
|
43
|
+
get coreV1(): CoreC;
|
|
44
|
+
get userV1(): UserC;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,IAAI,KAAK,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAE,iBAAiB,IAAI,KAAK,EAAE,MAAM,0CAA0C,CAAC;AAmBtF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,uBAAuB,EAAE;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAON,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,iBAAiB,CAAC,CAAO;IAEjC,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,mBAAmB,CAAC,CAAkB;IAE9C,OAAO;WAuCa,MAAM,CACxB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,cAAc,CAAC;IAQ1B,OAAO,CAAC,2BAA2B;YAgCrB,YAAY;IAqC1B,OAAO,CAAC,qBAAqB;YAiBf,cAAc;YA4Bd,gBAAgB;IA4C9B,IAAI,MAAM,IAAI,KAAK,CAElB;IAED,IAAI,MAAM,IAAI,KAAK,CAElB;CACF"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { MainServiceClient as CoreC } from "@octelium/apis/main/corev1/corev1.client";
|
|
2
|
+
import { MainServiceClient as UserC } from "@octelium/apis/main/userv1/userv1.client";
|
|
3
|
+
import { MainServiceClient as AuthC } from "@octelium/apis/main/authv1/authv1.client";
|
|
4
|
+
import { credentials, Metadata } from "@grpc/grpc-js";
|
|
5
|
+
import { GrpcTransport } from "@protobuf-ts/grpc-transport";
|
|
6
|
+
export class OcteliumClient {
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
let channelCreds = credentials.createSsl();
|
|
10
|
+
if (config.auth) {
|
|
11
|
+
const callCreds = credentials.createFromMetadataGenerator((_, callback) => {
|
|
12
|
+
this.resolveToken()
|
|
13
|
+
.then((token) => {
|
|
14
|
+
const metadata = new Metadata();
|
|
15
|
+
metadata.add("authorization", `Bearer ${token}`);
|
|
16
|
+
callback(null, metadata);
|
|
17
|
+
})
|
|
18
|
+
.catch((err) => {
|
|
19
|
+
callback(err);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
channelCreds = credentials.combineChannelCredentials(channelCreds, callCreds);
|
|
23
|
+
}
|
|
24
|
+
this.transport = new GrpcTransport({
|
|
25
|
+
host: `octelium-api.${config.domain}:443`,
|
|
26
|
+
channelCredentials: channelCreds,
|
|
27
|
+
});
|
|
28
|
+
this.authTransport = new GrpcTransport({
|
|
29
|
+
host: `octelium-api.${config.domain}:443`,
|
|
30
|
+
channelCredentials: credentials.createSsl(),
|
|
31
|
+
interceptors: [this.createAuthClientInterceptor()],
|
|
32
|
+
});
|
|
33
|
+
this._authC = new AuthC(this.authTransport);
|
|
34
|
+
}
|
|
35
|
+
static async create(config) {
|
|
36
|
+
const client = new OcteliumClient(config);
|
|
37
|
+
if (config.auth) {
|
|
38
|
+
await client.resolveToken();
|
|
39
|
+
}
|
|
40
|
+
return client;
|
|
41
|
+
}
|
|
42
|
+
createAuthClientInterceptor() {
|
|
43
|
+
return {
|
|
44
|
+
interceptUnary: (next, method, input, options) => {
|
|
45
|
+
const meta = {
|
|
46
|
+
...(options.meta ?? {}),
|
|
47
|
+
};
|
|
48
|
+
if (this.sessionToken?.refreshToken) {
|
|
49
|
+
meta["x-octelium-refresh-token"] = this.sessionToken.refreshToken;
|
|
50
|
+
}
|
|
51
|
+
return next(method, input, { ...options, meta });
|
|
52
|
+
},
|
|
53
|
+
interceptServerStreaming: (next, method, input, options) => {
|
|
54
|
+
const meta = { ...(options.meta ?? {}) };
|
|
55
|
+
if (this.sessionToken?.refreshToken) {
|
|
56
|
+
meta["x-octelium-refresh-token"] = this.sessionToken.refreshToken;
|
|
57
|
+
}
|
|
58
|
+
return next(method, input, { ...options, meta });
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
async resolveToken() {
|
|
63
|
+
const auth = this.config.auth;
|
|
64
|
+
if (!auth) {
|
|
65
|
+
throw new Error("No auth config provided");
|
|
66
|
+
}
|
|
67
|
+
if (auth.type === "accessToken") {
|
|
68
|
+
return auth.accessToken;
|
|
69
|
+
}
|
|
70
|
+
if (this._authRefreshPromise) {
|
|
71
|
+
return this._authRefreshPromise;
|
|
72
|
+
}
|
|
73
|
+
const isExpired = this.isCurrentTokenExpired();
|
|
74
|
+
if (!isExpired && this.accessToken) {
|
|
75
|
+
return this.accessToken;
|
|
76
|
+
}
|
|
77
|
+
this._authRefreshPromise = (async () => {
|
|
78
|
+
try {
|
|
79
|
+
if (auth.type === "authToken") {
|
|
80
|
+
const tokenValue = auth.authToken.token;
|
|
81
|
+
const tokenString = typeof tokenValue === "function" ? await tokenValue() : tokenValue;
|
|
82
|
+
return await this.fetchAuthToken(tokenString, auth.authToken.scopes);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
return await this.fetchOAuth2Token(auth.oauth2ClientCredentials);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
this._authRefreshPromise = undefined;
|
|
90
|
+
}
|
|
91
|
+
})();
|
|
92
|
+
return this._authRefreshPromise;
|
|
93
|
+
}
|
|
94
|
+
isCurrentTokenExpired() {
|
|
95
|
+
if (!this.accessToken)
|
|
96
|
+
return true;
|
|
97
|
+
if (this.config.auth?.type === "oauth2ClientCredentials" && this._oauth2Cache) {
|
|
98
|
+
return Date.now() >= this._oauth2Cache.expiresAt - 30000;
|
|
99
|
+
}
|
|
100
|
+
if (this.sessionToken && this.sessionTokenSetAt) {
|
|
101
|
+
const expiresAt = new Date(this.sessionTokenSetAt.getTime() + this.sessionToken.expiresIn * 1000);
|
|
102
|
+
return new Date() >= new Date(expiresAt.getTime() - 30000);
|
|
103
|
+
}
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
async fetchAuthToken(authenticationToken, scopes) {
|
|
107
|
+
if (this.sessionToken?.refreshToken) {
|
|
108
|
+
const res = await this._authC.authenticateWithRefreshToken({});
|
|
109
|
+
if (!res?.response) {
|
|
110
|
+
throw new Error("Could not authenticateWithRefreshToken");
|
|
111
|
+
}
|
|
112
|
+
this.sessionToken = res.response;
|
|
113
|
+
this.sessionTokenSetAt = new Date();
|
|
114
|
+
this.accessToken = res.response.accessToken;
|
|
115
|
+
return this.accessToken;
|
|
116
|
+
}
|
|
117
|
+
const res = await this._authC.authenticateWithAuthenticationToken({
|
|
118
|
+
authenticationToken,
|
|
119
|
+
scopes: scopes ?? [],
|
|
120
|
+
});
|
|
121
|
+
if (!res?.response) {
|
|
122
|
+
throw new Error("Could not authenticateWithAuthenticationToken");
|
|
123
|
+
}
|
|
124
|
+
this.sessionToken = res.response;
|
|
125
|
+
this.sessionTokenSetAt = new Date();
|
|
126
|
+
this.accessToken = res.response.accessToken;
|
|
127
|
+
return this.accessToken;
|
|
128
|
+
}
|
|
129
|
+
async fetchOAuth2Token(auth) {
|
|
130
|
+
const tokenUrl = `https://${this.config.domain}/oauth2/token`;
|
|
131
|
+
const params = new URLSearchParams({
|
|
132
|
+
grant_type: "client_credentials",
|
|
133
|
+
client_id: auth.clientId,
|
|
134
|
+
client_secret: auth.clientSecret,
|
|
135
|
+
});
|
|
136
|
+
if (auth.scopes?.length) {
|
|
137
|
+
params.set("scope", auth.scopes.join(" "));
|
|
138
|
+
}
|
|
139
|
+
const res = await fetch(tokenUrl, {
|
|
140
|
+
method: "POST",
|
|
141
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
142
|
+
body: params,
|
|
143
|
+
});
|
|
144
|
+
if (!res.ok) {
|
|
145
|
+
throw new Error(`Could not fetch OAuth2 token: ${res.status} ${res.statusText}`);
|
|
146
|
+
}
|
|
147
|
+
const data = (await res.json());
|
|
148
|
+
this._oauth2Cache = {
|
|
149
|
+
accessToken: data.access_token,
|
|
150
|
+
expiresAt: Date.now() + data.expires_in * 1000,
|
|
151
|
+
};
|
|
152
|
+
this.accessToken = data.access_token;
|
|
153
|
+
return this.accessToken;
|
|
154
|
+
}
|
|
155
|
+
get coreV1() {
|
|
156
|
+
return (this._corev1 ?? (this._corev1 = new CoreC(this.transport)));
|
|
157
|
+
}
|
|
158
|
+
get userV1() {
|
|
159
|
+
return (this._userv1 ?? (this._userv1 = new UserC(this.transport)));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@octelium/sdk",
|
|
3
|
+
"version": "1.0.0-pre.20260321.1",
|
|
4
|
+
"description": "Octelium Typescript SDK",
|
|
5
|
+
"author": "Octelium <contact@octelium.com>",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"private": false,
|
|
8
|
+
"type": "module",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "tsc"
|
|
20
|
+
},
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "https://github.com/octelium/sdk-typescript.git",
|
|
24
|
+
"directory": "packages/sdk"
|
|
25
|
+
},
|
|
26
|
+
"bugs": {
|
|
27
|
+
"url": "https://github.com/octelium/sdk-typescript/issues"
|
|
28
|
+
},
|
|
29
|
+
"homepage": "https://octelium.com",
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@grpc/grpc-js": "^1.14.3",
|
|
32
|
+
"@octelium/apis": "^1.0.0-pre.20260321.1",
|
|
33
|
+
"@protobuf-ts/grpc-transport": "^2.11.1",
|
|
34
|
+
"@protobuf-ts/runtime": "^2.11.1",
|
|
35
|
+
"@protobuf-ts/runtime-rpc": "^2.11.1"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"typescript": "^5.0.0"
|
|
39
|
+
},
|
|
40
|
+
"keywords": [
|
|
41
|
+
"octelium",
|
|
42
|
+
"zero-trust",
|
|
43
|
+
"grpc",
|
|
44
|
+
"protobuf",
|
|
45
|
+
"typescript",
|
|
46
|
+
"sdk"
|
|
47
|
+
]
|
|
48
|
+
}
|