@ondewo/nlu-client-typescript 6.14.0 → 7.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 +0 -0
- package/api/ondewo/nlu/agent_pb.d.ts +0 -15
- package/api/ondewo/nlu/aiservices_pb.d.ts +0 -50
- package/api/ondewo/nlu/ccai_project_pb.d.ts +6 -93
- package/api/ondewo/nlu/ccai_project_pb.js +24 -132
- package/api/ondewo/nlu/common_pb.d.ts +140 -0
- package/api/ondewo/nlu/common_pb.js +1151 -9
- package/api/ondewo/nlu/context_pb.d.ts +8 -1
- package/api/ondewo/nlu/context_pb.js +22 -4
- package/api/ondewo/nlu/llm_evaluation_pb.d.ts +40 -5
- package/api/ondewo/nlu/llm_evaluation_pb.js +110 -20
- package/api/ondewo/nlu/operations_grpc_web_pb.d.ts +46 -0
- package/api/ondewo/nlu/operations_grpc_web_pb.js +241 -0
- package/api/ondewo/nlu/operations_pb.d.ts +429 -10
- package/api/ondewo/nlu/operations_pb.js +3413 -0
- package/api/ondewo/nlu/project_role_pb.d.ts +0 -10
- package/api/ondewo/nlu/rag_pb.d.ts +191 -520
- package/api/ondewo/nlu/rag_pb.js +1246 -1058
- package/api/ondewo/nlu/session_grpc_web_pb.d.ts +120 -0
- package/api/ondewo/nlu/session_grpc_web_pb.js +610 -0
- package/api/ondewo/nlu/session_pb.d.ts +818 -118
- package/api/ondewo/nlu/session_pb.js +6396 -3
- package/api/ondewo/nlu/user_grpc_web_pb.d.ts +59 -13
- package/api/ondewo/nlu/user_grpc_web_pb.js +300 -61
- package/api/ondewo/nlu/user_pb.d.ts +0 -87
- package/api/ondewo/nlu/user_pb.js +0 -436
- package/auth/offlineTokenProvider.d.ts +26 -6
- package/auth/offlineTokenProvider.js +61 -45
- package/package.json +9 -7
- package/public-api.d.ts +33 -33
- package/public-api.js +30 -30
|
@@ -50,13 +50,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
50
50
|
exports.OfflineTokenProvider = exports.TokenError = void 0;
|
|
51
51
|
exports.createDefaultTokenFetch = createDefaultTokenFetch;
|
|
52
52
|
exports.login = login;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
53
|
+
/**
|
|
54
|
+
* D18 headless-SDK auth helper (keycloak-migration-plan §7.8 + D18).
|
|
55
|
+
*
|
|
56
|
+
* One-time ROPC login (grant_type=password, scope=offline_access) against the PUBLIC SDK client
|
|
57
|
+
* `ondewo-nlu-cai-sdk-public` (no client_secret -- Q1), then a bounded background loop that refreshes
|
|
58
|
+
* the short-lived access token from the offline refresh token before it expires. The current access
|
|
59
|
+
* token is exposed for an `Authorization: Bearer <token>` gRPC metadata header. The refresh loop stops
|
|
60
|
+
* after `tokenExpirationInS` (if given) has elapsed since login.
|
|
61
|
+
*
|
|
62
|
+
* @packageDocumentation
|
|
63
|
+
*/
|
|
60
64
|
/**
|
|
61
65
|
* Seconds of head-room subtracted from a token's `expires_in` so the refresh fires before the access
|
|
62
66
|
* token actually lapses (covers clock skew + the round-trip to Keycloak).
|
|
@@ -64,16 +68,22 @@ exports.login = login;
|
|
|
64
68
|
const REFRESH_SKEW_IN_S = 30;
|
|
65
69
|
/** Lower bound for the scheduled refresh delay so a tiny/zero `expires_in` cannot spin a hot loop. */
|
|
66
70
|
const MIN_REFRESH_DELAY_IN_S = 1;
|
|
67
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Error raised on any token-endpoint or token-shape failure.
|
|
73
|
+
*
|
|
74
|
+
* Name contract: every instance carries `name === "TokenError"` (set in the constructor, because
|
|
75
|
+
* subclassing `Error` does not propagate the subclass name). Callers may therefore discriminate on
|
|
76
|
+
* `error.name` as well as on `instanceof TokenError` -- the latter being unreliable across bundles.
|
|
77
|
+
*/
|
|
68
78
|
class TokenError extends Error {
|
|
69
79
|
/**
|
|
70
|
-
* Construct a token error
|
|
80
|
+
* Construct a token error and pin its `name` to `"TokenError"`.
|
|
71
81
|
*
|
|
72
82
|
* @param message - Human-readable description of the token failure.
|
|
73
83
|
*/
|
|
74
84
|
constructor(message) {
|
|
75
85
|
super(message);
|
|
76
|
-
this.name =
|
|
86
|
+
this.name = 'TokenError';
|
|
77
87
|
}
|
|
78
88
|
}
|
|
79
89
|
exports.TokenError = TokenError;
|
|
@@ -86,7 +96,7 @@ exports.TokenError = TokenError;
|
|
|
86
96
|
* @returns The fully-qualified `.../realms/<realm>/protocol/openid-connect/token` endpoint URL.
|
|
87
97
|
*/
|
|
88
98
|
function buildTokenEndpoint(keycloakUrl, realm) {
|
|
89
|
-
const base = keycloakUrl.replace(/\/+$/,
|
|
99
|
+
const base = keycloakUrl.replace(/\/+$/, '');
|
|
90
100
|
return `${base}/realms/${encodeURIComponent(realm)}/protocol/openid-connect/token`;
|
|
91
101
|
}
|
|
92
102
|
/**
|
|
@@ -102,10 +112,10 @@ function buildTokenEndpoint(keycloakUrl, realm) {
|
|
|
102
112
|
async function postTokenRequest(tokenEndpoint, params, fetchImpl) {
|
|
103
113
|
const body = new URLSearchParams(params).toString();
|
|
104
114
|
const response = await fetchImpl(tokenEndpoint, {
|
|
105
|
-
method:
|
|
115
|
+
method: 'POST',
|
|
106
116
|
headers: {
|
|
107
|
-
|
|
108
|
-
Accept:
|
|
117
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
118
|
+
Accept: 'application/json'
|
|
109
119
|
},
|
|
110
120
|
body
|
|
111
121
|
});
|
|
@@ -120,8 +130,8 @@ async function postTokenRequest(tokenEndpoint, params, fetchImpl) {
|
|
|
120
130
|
catch {
|
|
121
131
|
throw new TokenError(`Keycloak token endpoint returned a non-JSON body: ${text}`);
|
|
122
132
|
}
|
|
123
|
-
if (typeof parsed.access_token !==
|
|
124
|
-
throw new TokenError(
|
|
133
|
+
if (typeof parsed.access_token !== 'string' || parsed.access_token.length === 0) {
|
|
134
|
+
throw new TokenError('Keycloak token response did not contain an access_token');
|
|
125
135
|
}
|
|
126
136
|
return parsed;
|
|
127
137
|
}
|
|
@@ -133,15 +143,16 @@ let insecureNodeDispatcher;
|
|
|
133
143
|
* so a browser bundle never pulls in `undici` and the flag stays a hard no-op outside Node.
|
|
134
144
|
*
|
|
135
145
|
* @returns The insecure dispatcher under Node, or `undefined` in a browser (TLS is owned by the browser).
|
|
146
|
+
* @throws {Error} When the dynamic `import("undici")` cannot be resolved under Node.
|
|
136
147
|
*/
|
|
137
148
|
async function getInsecureNodeDispatcher() {
|
|
138
149
|
const nodeProcess = globalThis.process;
|
|
139
|
-
|
|
150
|
+
// Browser guard: outside Node there is no `process`, so the insecure dispatcher is a hard no-op.
|
|
140
151
|
if (nodeProcess === undefined || nodeProcess.versions === undefined || nodeProcess.versions.node === undefined) {
|
|
141
152
|
return undefined;
|
|
142
153
|
}
|
|
143
154
|
if (insecureNodeDispatcher === undefined) {
|
|
144
|
-
const undiciModuleName =
|
|
155
|
+
const undiciModuleName = 'undici';
|
|
145
156
|
const undici = (await Promise.resolve(`${undiciModuleName}`).then(s => __importStar(require(s))));
|
|
146
157
|
insecureNodeDispatcher = new undici.Agent({ connect: { rejectUnauthorized: false } });
|
|
147
158
|
}
|
|
@@ -182,8 +193,7 @@ class OfflineTokenProvider {
|
|
|
182
193
|
// A custom fetchImpl always wins (the verifySsl flag is ignored for injected transports); only the
|
|
183
194
|
// DEFAULT transport honors verifySsl, and only under Node. Absent/undefined verifySsl => secure (true).
|
|
184
195
|
const verifySsl = options.keycloakVerifySsl !== false;
|
|
185
|
-
this.fetchImpl =
|
|
186
|
-
options.fetchImpl !== undefined ? options.fetchImpl : createDefaultTokenFetch(verifySsl);
|
|
196
|
+
this.fetchImpl = options.fetchImpl !== undefined ? options.fetchImpl : createDefaultTokenFetch(verifySsl);
|
|
187
197
|
this.nowInMs = options.nowInMs !== undefined ? options.nowInMs : Date.now;
|
|
188
198
|
this.accessToken = null;
|
|
189
199
|
this.refreshToken = null;
|
|
@@ -202,17 +212,17 @@ class OfflineTokenProvider {
|
|
|
202
212
|
*/
|
|
203
213
|
async bootstrap(username, password) {
|
|
204
214
|
const tokenResponse = await postTokenRequest(this.tokenEndpoint, {
|
|
205
|
-
grant_type:
|
|
215
|
+
grant_type: 'password',
|
|
206
216
|
client_id: this.clientId,
|
|
207
217
|
username,
|
|
208
218
|
password,
|
|
209
|
-
scope:
|
|
219
|
+
scope: 'offline_access'
|
|
210
220
|
}, this.fetchImpl);
|
|
211
221
|
this.accessToken = tokenResponse.access_token;
|
|
212
|
-
this.refreshToken = typeof tokenResponse.refresh_token ===
|
|
222
|
+
this.refreshToken = typeof tokenResponse.refresh_token === 'string' ? tokenResponse.refresh_token : null;
|
|
213
223
|
if (this.refreshToken === null) {
|
|
214
|
-
throw new TokenError(
|
|
215
|
-
|
|
224
|
+
throw new TokenError('Keycloak token response did not contain a refresh_token; the SDK client must have ' +
|
|
225
|
+
'directAccessGrants + the offline_access scope (ondewo-nlu-cai-sdk-public)');
|
|
216
226
|
}
|
|
217
227
|
if (this.tokenExpirationInS !== undefined) {
|
|
218
228
|
const expirationInMs = this.tokenExpirationInS * 1000;
|
|
@@ -227,7 +237,8 @@ class OfflineTokenProvider {
|
|
|
227
237
|
* @throws {TokenError} When the refresh token-endpoint call fails or returns an invalid body.
|
|
228
238
|
*/
|
|
229
239
|
async refresh() {
|
|
230
|
-
|
|
240
|
+
// Defensive: stop() clears the only timer that calls refresh(), so this is normally unreachable
|
|
241
|
+
// from the scheduler -- it still guards a direct/racing invocation.
|
|
231
242
|
if (this.stopped) {
|
|
232
243
|
return;
|
|
233
244
|
}
|
|
@@ -238,13 +249,13 @@ class OfflineTokenProvider {
|
|
|
238
249
|
return;
|
|
239
250
|
}
|
|
240
251
|
const tokenResponse = await postTokenRequest(this.tokenEndpoint, {
|
|
241
|
-
grant_type:
|
|
252
|
+
grant_type: 'refresh_token',
|
|
242
253
|
client_id: this.clientId,
|
|
243
254
|
refresh_token: this.refreshToken
|
|
244
255
|
}, this.fetchImpl);
|
|
245
256
|
this.accessToken = tokenResponse.access_token;
|
|
246
257
|
// Keycloak may rotate the offline refresh token; keep the newest one when present.
|
|
247
|
-
if (typeof tokenResponse.refresh_token ===
|
|
258
|
+
if (typeof tokenResponse.refresh_token === 'string' && tokenResponse.refresh_token.length > 0) {
|
|
248
259
|
this.refreshToken = tokenResponse.refresh_token;
|
|
249
260
|
}
|
|
250
261
|
this.scheduleRefresh(tokenResponse.expires_in);
|
|
@@ -260,7 +271,7 @@ class OfflineTokenProvider {
|
|
|
260
271
|
if (this.stopped) {
|
|
261
272
|
return;
|
|
262
273
|
}
|
|
263
|
-
const expiresInS = typeof expiresInRaw ===
|
|
274
|
+
const expiresInS = typeof expiresInRaw === 'number' && expiresInRaw > 0 ? expiresInRaw : MIN_REFRESH_DELAY_IN_S;
|
|
264
275
|
let delayInS = Math.max(expiresInS - REFRESH_SKEW_IN_S, MIN_REFRESH_DELAY_IN_S);
|
|
265
276
|
if (this.deadlineInMs !== null) {
|
|
266
277
|
const remainingInMs = this.deadlineInMs - this.nowInMs();
|
|
@@ -279,9 +290,9 @@ class OfflineTokenProvider {
|
|
|
279
290
|
}
|
|
280
291
|
});
|
|
281
292
|
}, delayInS * 1000);
|
|
282
|
-
// Do not keep the event loop alive solely for the refresh timer.
|
|
283
|
-
|
|
284
|
-
if (typeof this.timer.unref ===
|
|
293
|
+
// Do not keep the event loop alive solely for the refresh timer. Node's Timeout exposes unref();
|
|
294
|
+
// a browser's numeric handle does not, hence the guard.
|
|
295
|
+
if (typeof this.timer.unref === 'function') {
|
|
285
296
|
this.timer.unref();
|
|
286
297
|
}
|
|
287
298
|
}
|
|
@@ -296,7 +307,12 @@ class OfflineTokenProvider {
|
|
|
296
307
|
/**
|
|
297
308
|
* Read the current access token.
|
|
298
309
|
*
|
|
299
|
-
* @
|
|
310
|
+
* Once {@link bootstrap} has succeeded this never returns `null` again: when the bounded refresh
|
|
311
|
+
* loop lapses (or {@link stop} is called) the LAST fetched token keeps being returned even though
|
|
312
|
+
* it is by then expiring/expired. Callers must treat an `UNAUTHENTICATED` gRPC response -- not a
|
|
313
|
+
* `null` here -- as the signal to re-login.
|
|
314
|
+
*
|
|
315
|
+
* @returns The current access token, or `null` before {@link bootstrap} has completed.
|
|
300
316
|
*/
|
|
301
317
|
getAccessToken() {
|
|
302
318
|
return this.accessToken;
|
|
@@ -305,15 +321,21 @@ class OfflineTokenProvider {
|
|
|
305
321
|
* Build the value for an `Authorization` gRPC metadata header.
|
|
306
322
|
*
|
|
307
323
|
* @returns The `Bearer <access_token>` header value.
|
|
308
|
-
* @throws {TokenError} When no access token
|
|
324
|
+
* @throws {TokenError} When no access token has been fetched yet, i.e. {@link bootstrap} /
|
|
325
|
+
* {@link login} has not completed. It does NOT throw once the refresh loop has lapsed -- see
|
|
326
|
+
* {@link getAccessToken}.
|
|
309
327
|
*/
|
|
310
328
|
getAuthorizationHeader() {
|
|
311
329
|
if (this.accessToken === null) {
|
|
312
|
-
throw new TokenError(
|
|
330
|
+
throw new TokenError('No access token available; login() has not completed or has lapsed');
|
|
313
331
|
}
|
|
314
332
|
return `Bearer ${this.accessToken}`;
|
|
315
333
|
}
|
|
316
|
-
/**
|
|
334
|
+
/**
|
|
335
|
+
* Stop the auto-refresh loop. Idempotent; safe to call from any state. It disarms the pending timer
|
|
336
|
+
* and suppresses further scheduling, but deliberately KEEPS the last access token readable through
|
|
337
|
+
* {@link getAccessToken} / {@link getAuthorizationHeader}.
|
|
338
|
+
*/
|
|
317
339
|
stop() {
|
|
318
340
|
this.stopped = true;
|
|
319
341
|
if (this.timer !== null) {
|
|
@@ -335,18 +357,12 @@ exports.OfflineTokenProvider = OfflineTokenProvider;
|
|
|
335
357
|
*/
|
|
336
358
|
async function login(options) {
|
|
337
359
|
if (options === undefined || options === null) {
|
|
338
|
-
throw new TokenError(
|
|
360
|
+
throw new TokenError('login() requires an options object');
|
|
339
361
|
}
|
|
340
|
-
const requiredKeys = [
|
|
341
|
-
"keycloakUrl",
|
|
342
|
-
"realm",
|
|
343
|
-
"clientId",
|
|
344
|
-
"username",
|
|
345
|
-
"password"
|
|
346
|
-
];
|
|
362
|
+
const requiredKeys = ['keycloakUrl', 'realm', 'clientId', 'username', 'password'];
|
|
347
363
|
for (const key of requiredKeys) {
|
|
348
364
|
const value = options[key];
|
|
349
|
-
if (typeof value !==
|
|
365
|
+
if (typeof value !== 'string' || value.length === 0) {
|
|
350
366
|
throw new TokenError(`login() option "${key}" is required and must be a non-empty string`);
|
|
351
367
|
}
|
|
352
368
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ondewo/nlu-client-typescript",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "ONDEWO Natural Language Understanding (NLU) Client library for Typescript",
|
|
5
5
|
"author": "ONDEWO GmbH <office@ondewo.com>",
|
|
6
6
|
"homepage": "https://ondewo.com",
|
|
@@ -26,14 +26,16 @@
|
|
|
26
26
|
"undici": "^6.27.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@eslint/eslintrc": "^3.
|
|
30
|
-
"@eslint/js": "^9.
|
|
29
|
+
"@eslint/eslintrc": "^3.3.5",
|
|
30
|
+
"@eslint/js": "^9.39.4",
|
|
31
31
|
"@types/node": "^22.15.27",
|
|
32
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
32
|
+
"@typescript-eslint/eslint-plugin": "^8.63.0",
|
|
33
33
|
"dotenv": "^16.4.5",
|
|
34
|
-
"eslint": "^9.
|
|
34
|
+
"eslint": "^9.39.4",
|
|
35
35
|
"global": "^4.4.0",
|
|
36
|
-
"husky": "^9.1.
|
|
37
|
-
"prettier": "^3.
|
|
36
|
+
"husky": "^9.1.7",
|
|
37
|
+
"prettier": "^3.9.4",
|
|
38
|
+
"c8": "^11.0.0",
|
|
39
|
+
"typescript": "^6.0.3"
|
|
38
40
|
}
|
|
39
41
|
}
|
package/public-api.d.ts
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
export * from './api/ondewo/
|
|
2
|
-
export * from './api/ondewo/
|
|
1
|
+
export * from './api/ondewo/qa/qa_pb.d';
|
|
2
|
+
export * from './api/ondewo/qa/qa_grpc_web_pb.d';
|
|
3
|
+
export * from './api/ondewo/nlu/rag_grpc_web_pb.d';
|
|
4
|
+
export * from './api/ondewo/nlu/llm_evaluation_grpc_web_pb.d';
|
|
3
5
|
export * from './api/ondewo/nlu/user_grpc_web_pb.d';
|
|
4
|
-
export * from './api/ondewo/nlu/
|
|
5
|
-
export * from './api/ondewo/nlu/
|
|
6
|
-
export * from './api/ondewo/nlu/intent_pb.d';
|
|
7
|
-
export * from './api/ondewo/nlu/server_statistics_grpc_web_pb.d';
|
|
8
|
-
export * from './api/ondewo/nlu/webhook_grpc_web_pb.d';
|
|
6
|
+
export * from './api/ondewo/nlu/utility_grpc_web_pb.d';
|
|
7
|
+
export * from './api/ondewo/nlu/operations_pb.d';
|
|
9
8
|
export * from './api/ondewo/nlu/webhook_pb.d';
|
|
10
9
|
export * from './api/ondewo/nlu/context_grpc_web_pb.d';
|
|
11
|
-
export * from './api/ondewo/nlu/llm_evaluation_grpc_web_pb.d';
|
|
12
|
-
export * from './api/ondewo/nlu/entity_type_pb.d';
|
|
13
|
-
export * from './api/ondewo/nlu/project_statistics_grpc_web_pb.d';
|
|
14
|
-
export * from './api/ondewo/nlu/agent_grpc_web_pb.d';
|
|
15
|
-
export * from './api/ondewo/nlu/operations_grpc_web_pb.d';
|
|
16
|
-
export * from './api/ondewo/nlu/session_pb.d';
|
|
17
|
-
export * from './api/ondewo/nlu/rag_pb.d';
|
|
18
|
-
export * from './api/ondewo/nlu/agent_pb.d';
|
|
19
|
-
export * from './api/ondewo/nlu/intent_grpc_web_pb.d';
|
|
20
|
-
export * from './api/ondewo/nlu/aiservices_grpc_web_pb.d';
|
|
21
|
-
export * from './api/ondewo/nlu/operations_pb.d';
|
|
22
|
-
export * from './api/ondewo/nlu/common_pb.d';
|
|
23
10
|
export * from './api/ondewo/nlu/operation_metadata_pb.d';
|
|
24
|
-
export * from './api/ondewo/nlu/ccai_project_pb.d';
|
|
25
|
-
export * from './api/ondewo/nlu/project_role_grpc_web_pb.d';
|
|
26
|
-
export * from './api/ondewo/nlu/entity_type_grpc_web_pb.d';
|
|
27
11
|
export * from './api/ondewo/nlu/ccai_project_grpc_web_pb.d';
|
|
28
|
-
export * from './api/ondewo/nlu/
|
|
29
|
-
export * from './api/ondewo/nlu/rag_grpc_web_pb.d';
|
|
12
|
+
export * from './api/ondewo/nlu/ccai_project_pb.d';
|
|
30
13
|
export * from './api/ondewo/nlu/llm_evaluation_pb.d';
|
|
31
|
-
export * from './api/ondewo/nlu/
|
|
14
|
+
export * from './api/ondewo/nlu/intent_grpc_web_pb.d';
|
|
15
|
+
export * from './api/ondewo/nlu/agent_grpc_web_pb.d';
|
|
16
|
+
export * from './api/ondewo/nlu/webhook_grpc_web_pb.d';
|
|
17
|
+
export * from './api/ondewo/nlu/utility_pb.d';
|
|
18
|
+
export * from './api/ondewo/nlu/project_statistics_grpc_web_pb.d';
|
|
19
|
+
export * from './api/ondewo/nlu/user_pb.d';
|
|
20
|
+
export * from './api/ondewo/nlu/entity_type_pb.d';
|
|
32
21
|
export * from './api/ondewo/nlu/aiservices_pb.d';
|
|
22
|
+
export * from './api/ondewo/nlu/entity_type_grpc_web_pb.d';
|
|
23
|
+
export * from './api/ondewo/nlu/server_statistics_grpc_web_pb.d';
|
|
33
24
|
export * from './api/ondewo/nlu/server_statistics_pb.d';
|
|
34
|
-
export * from './api/ondewo/nlu/
|
|
35
|
-
export * from './api/ondewo/
|
|
36
|
-
export * from './api/ondewo/
|
|
37
|
-
export * from './api/
|
|
38
|
-
export * from './api/
|
|
25
|
+
export * from './api/ondewo/nlu/operations_grpc_web_pb.d';
|
|
26
|
+
export * from './api/ondewo/nlu/intent_pb.d';
|
|
27
|
+
export * from './api/ondewo/nlu/project_role_pb.d';
|
|
28
|
+
export * from './api/ondewo/nlu/context_pb.d';
|
|
29
|
+
export * from './api/ondewo/nlu/agent_pb.d';
|
|
30
|
+
export * from './api/ondewo/nlu/session_pb.d';
|
|
31
|
+
export * from './api/ondewo/nlu/project_role_grpc_web_pb.d';
|
|
32
|
+
export * from './api/ondewo/nlu/common_pb.d';
|
|
33
|
+
export * from './api/ondewo/nlu/aiservices_grpc_web_pb.d';
|
|
34
|
+
export * from './api/ondewo/nlu/rag_pb.d';
|
|
35
|
+
export * from './api/ondewo/nlu/session_grpc_web_pb.d';
|
|
36
|
+
export * from './api/ondewo/nlu/project_statistics_pb.d';
|
|
37
|
+
export * from './api/google/api/annotations_pb.d';
|
|
38
|
+
export * from './api/google/rpc/status_pb.d';
|
|
39
39
|
export * from './api/google/protobuf/empty_pb.d';
|
|
40
|
-
export * from './api/google/protobuf/
|
|
40
|
+
export * from './api/google/protobuf/field_mask_pb.d';
|
|
41
|
+
export * from './api/google/protobuf/timestamp_pb.d';
|
|
41
42
|
export * from './api/google/protobuf/any_pb.d';
|
|
43
|
+
export * from './api/google/protobuf/struct_pb.d';
|
|
42
44
|
export * from './api/google/type/latlng_pb.d';
|
|
43
|
-
export * from './api/google/api/annotations_pb.d';
|
|
44
|
-
export * from './api/google/rpc/status_pb.d';
|
package/public-api.js
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
export * from './api/ondewo/
|
|
2
|
-
export * from './api/ondewo/
|
|
3
|
-
export * from './api/ondewo/nlu/
|
|
4
|
-
export * from './api/ondewo/nlu/
|
|
5
|
-
export * from './api/ondewo/nlu/
|
|
1
|
+
export * from './api/ondewo/qa/qa_pb';
|
|
2
|
+
export * from './api/ondewo/qa/qa_grpc_web_pb';
|
|
3
|
+
export * from './api/ondewo/nlu/project_role_pb';
|
|
4
|
+
export * from './api/ondewo/nlu/operation_metadata_pb';
|
|
5
|
+
export * from './api/ondewo/nlu/agent_grpc_web_pb';
|
|
6
|
+
export * from './api/ondewo/nlu/session_grpc_web_pb';
|
|
6
7
|
export * from './api/ondewo/nlu/aiservices_pb';
|
|
8
|
+
export * from './api/ondewo/nlu/project_statistics_grpc_web_pb';
|
|
9
|
+
export * from './api/ondewo/nlu/rag_pb';
|
|
7
10
|
export * from './api/ondewo/nlu/session_pb';
|
|
8
11
|
export * from './api/ondewo/nlu/server_statistics_grpc_web_pb';
|
|
9
|
-
export * from './api/ondewo/nlu/
|
|
12
|
+
export * from './api/ondewo/nlu/context_pb';
|
|
13
|
+
export * from './api/ondewo/nlu/ccai_project_grpc_web_pb';
|
|
10
14
|
export * from './api/ondewo/nlu/operations_grpc_web_pb';
|
|
15
|
+
export * from './api/ondewo/nlu/webhook_pb';
|
|
11
16
|
export * from './api/ondewo/nlu/aiservices_grpc_web_pb';
|
|
12
|
-
export * from './api/ondewo/nlu/
|
|
13
|
-
export * from './api/ondewo/nlu/project_role_grpc_web_pb';
|
|
17
|
+
export * from './api/ondewo/nlu/intent_pb';
|
|
14
18
|
export * from './api/ondewo/nlu/utility_grpc_web_pb';
|
|
15
|
-
export * from './api/ondewo/nlu/
|
|
16
|
-
export * from './api/ondewo/nlu/
|
|
17
|
-
export * from './api/ondewo/nlu/entity_type_pb';
|
|
19
|
+
export * from './api/ondewo/nlu/agent_pb';
|
|
20
|
+
export * from './api/ondewo/nlu/project_role_grpc_web_pb';
|
|
18
21
|
export * from './api/ondewo/nlu/rag_grpc_web_pb';
|
|
19
|
-
export * from './api/ondewo/nlu/
|
|
20
|
-
export * from './api/ondewo/nlu/
|
|
21
|
-
export * from './api/ondewo/nlu/
|
|
22
|
-
export * from './api/ondewo/nlu/
|
|
23
|
-
export * from './api/ondewo/nlu/utility_pb';
|
|
22
|
+
export * from './api/ondewo/nlu/llm_evaluation_pb';
|
|
23
|
+
export * from './api/ondewo/nlu/entity_type_pb';
|
|
24
|
+
export * from './api/ondewo/nlu/ccai_project_pb';
|
|
25
|
+
export * from './api/ondewo/nlu/user_grpc_web_pb';
|
|
24
26
|
export * from './api/ondewo/nlu/intent_grpc_web_pb';
|
|
25
|
-
export * from './api/ondewo/nlu/
|
|
26
|
-
export * from './api/ondewo/nlu/
|
|
27
|
+
export * from './api/ondewo/nlu/utility_pb';
|
|
28
|
+
export * from './api/ondewo/nlu/server_statistics_pb';
|
|
29
|
+
export * from './api/ondewo/nlu/webhook_grpc_web_pb';
|
|
30
|
+
export * from './api/ondewo/nlu/project_statistics_pb';
|
|
27
31
|
export * from './api/ondewo/nlu/entity_type_grpc_web_pb';
|
|
28
|
-
export * from './api/ondewo/nlu/
|
|
29
|
-
export * from './api/ondewo/nlu/
|
|
30
|
-
export * from './api/ondewo/nlu/user_grpc_web_pb';
|
|
31
|
-
export * from './api/ondewo/nlu/webhook_pb';
|
|
32
|
+
export * from './api/ondewo/nlu/user_pb';
|
|
33
|
+
export * from './api/ondewo/nlu/context_grpc_web_pb';
|
|
32
34
|
export * from './api/ondewo/nlu/common_pb';
|
|
33
|
-
export * from './api/ondewo/nlu/
|
|
34
|
-
export * from './api/ondewo/nlu/
|
|
35
|
-
export * from './api/
|
|
36
|
-
export * from './api/
|
|
37
|
-
export * from './api/google/protobuf/
|
|
35
|
+
export * from './api/ondewo/nlu/llm_evaluation_grpc_web_pb';
|
|
36
|
+
export * from './api/ondewo/nlu/operations_pb';
|
|
37
|
+
export * from './api/google/api/annotations_pb';
|
|
38
|
+
export * from './api/google/rpc/status_pb';
|
|
39
|
+
export * from './api/google/protobuf/field_mask_pb';
|
|
38
40
|
export * from './api/google/protobuf/any_pb';
|
|
41
|
+
export * from './api/google/protobuf/timestamp_pb';
|
|
39
42
|
export * from './api/google/protobuf/empty_pb';
|
|
40
43
|
export * from './api/google/protobuf/struct_pb';
|
|
41
|
-
export * from './api/google/protobuf/field_mask_pb';
|
|
42
44
|
export * from './api/google/type/latlng_pb';
|
|
43
|
-
export * from './api/google/api/annotations_pb';
|
|
44
|
-
export * from './api/google/rpc/status_pb';
|