@ondewo/nlu-client-typescript 6.13.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.
Files changed (36) hide show
  1. package/README.md +0 -0
  2. package/api/ondewo/nlu/agent_grpc_web_pb.d.ts +48 -0
  3. package/api/ondewo/nlu/agent_grpc_web_pb.js +244 -0
  4. package/api/ondewo/nlu/agent_pb.d.ts +196 -15
  5. package/api/ondewo/nlu/agent_pb.js +1627 -0
  6. package/api/ondewo/nlu/aiservices_pb.d.ts +0 -50
  7. package/api/ondewo/nlu/ccai_project_pb.d.ts +6 -93
  8. package/api/ondewo/nlu/ccai_project_pb.js +24 -132
  9. package/api/ondewo/nlu/common_pb.d.ts +140 -0
  10. package/api/ondewo/nlu/common_pb.js +1151 -9
  11. package/api/ondewo/nlu/context_pb.d.ts +8 -1
  12. package/api/ondewo/nlu/context_pb.js +22 -4
  13. package/api/ondewo/nlu/llm_evaluation_pb.d.ts +40 -5
  14. package/api/ondewo/nlu/llm_evaluation_pb.js +110 -20
  15. package/api/ondewo/nlu/operations_grpc_web_pb.d.ts +46 -0
  16. package/api/ondewo/nlu/operations_grpc_web_pb.js +241 -0
  17. package/api/ondewo/nlu/operations_pb.d.ts +429 -10
  18. package/api/ondewo/nlu/operations_pb.js +3413 -0
  19. package/api/ondewo/nlu/project_role_pb.d.ts +0 -10
  20. package/api/ondewo/nlu/rag_pb.d.ts +191 -520
  21. package/api/ondewo/nlu/rag_pb.js +1246 -1058
  22. package/api/ondewo/nlu/session_grpc_web_pb.d.ts +120 -0
  23. package/api/ondewo/nlu/session_grpc_web_pb.js +610 -0
  24. package/api/ondewo/nlu/session_pb.d.ts +818 -118
  25. package/api/ondewo/nlu/session_pb.js +6396 -3
  26. package/api/ondewo/nlu/user_grpc_web_pb.d.ts +59 -13
  27. package/api/ondewo/nlu/user_grpc_web_pb.js +300 -61
  28. package/api/ondewo/nlu/user_pb.d.ts +0 -87
  29. package/api/ondewo/nlu/user_pb.js +0 -436
  30. package/auth/offlineTokenProvider.d.ts +195 -0
  31. package/auth/offlineTokenProvider.js +372 -0
  32. package/package.json +11 -8
  33. package/public-api.d.ts +31 -31
  34. package/public-api.js +28 -28
  35. package/api/google/logging/v2/log_entry_pb.d.ts +0 -172
  36. package/api/google/logging/v2/log_entry_pb.js +0 -1333
@@ -0,0 +1,372 @@
1
+ "use strict";
2
+ // Copyright 2021-2026 ONDEWO GmbH
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
+ desc = { enumerable: true, get: function() { return m[k]; } };
21
+ }
22
+ Object.defineProperty(o, k2, desc);
23
+ }) : (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ o[k2] = m[k];
26
+ }));
27
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29
+ }) : function(o, v) {
30
+ o["default"] = v;
31
+ });
32
+ var __importStar = (this && this.__importStar) || (function () {
33
+ var ownKeys = function(o) {
34
+ ownKeys = Object.getOwnPropertyNames || function (o) {
35
+ var ar = [];
36
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
37
+ return ar;
38
+ };
39
+ return ownKeys(o);
40
+ };
41
+ return function (mod) {
42
+ if (mod && mod.__esModule) return mod;
43
+ var result = {};
44
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
45
+ __setModuleDefault(result, mod);
46
+ return result;
47
+ };
48
+ })();
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.OfflineTokenProvider = exports.TokenError = void 0;
51
+ exports.createDefaultTokenFetch = createDefaultTokenFetch;
52
+ exports.login = login;
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
+ */
64
+ /**
65
+ * Seconds of head-room subtracted from a token's `expires_in` so the refresh fires before the access
66
+ * token actually lapses (covers clock skew + the round-trip to Keycloak).
67
+ */
68
+ const REFRESH_SKEW_IN_S = 30;
69
+ /** Lower bound for the scheduled refresh delay so a tiny/zero `expires_in` cannot spin a hot loop. */
70
+ const MIN_REFRESH_DELAY_IN_S = 1;
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
+ */
78
+ class TokenError extends Error {
79
+ /**
80
+ * Construct a token error and pin its `name` to `"TokenError"`.
81
+ *
82
+ * @param message - Human-readable description of the token failure.
83
+ */
84
+ constructor(message) {
85
+ super(message);
86
+ this.name = 'TokenError';
87
+ }
88
+ }
89
+ exports.TokenError = TokenError;
90
+ /**
91
+ * Build the OIDC token endpoint URL for a realm, tolerating a trailing slash on `keycloakUrl` and an
92
+ * optional `/auth` relative path already baked into it.
93
+ *
94
+ * @param keycloakUrl - Base Keycloak URL (trailing slashes are stripped).
95
+ * @param realm - Realm name (URL-encoded into the path).
96
+ * @returns The fully-qualified `.../realms/<realm>/protocol/openid-connect/token` endpoint URL.
97
+ */
98
+ function buildTokenEndpoint(keycloakUrl, realm) {
99
+ const base = keycloakUrl.replace(/\/+$/, '');
100
+ return `${base}/realms/${encodeURIComponent(realm)}/protocol/openid-connect/token`;
101
+ }
102
+ /**
103
+ * POST an `application/x-www-form-urlencoded` body to the token endpoint and return the parsed JSON.
104
+ * Raises TokenError on a non-2xx response or unparseable / access_token-less body.
105
+ *
106
+ * @param tokenEndpoint - The realm token endpoint URL to POST to.
107
+ * @param params - The form fields to URL-encode into the request body.
108
+ * @param fetchImpl - The fetch transport to use (real or injected mock).
109
+ * @returns The parsed Keycloak token response.
110
+ * @throws {TokenError} On a non-2xx status, a non-JSON body, or a body without an `access_token`.
111
+ */
112
+ async function postTokenRequest(tokenEndpoint, params, fetchImpl) {
113
+ const body = new URLSearchParams(params).toString();
114
+ const response = await fetchImpl(tokenEndpoint, {
115
+ method: 'POST',
116
+ headers: {
117
+ 'Content-Type': 'application/x-www-form-urlencoded',
118
+ Accept: 'application/json'
119
+ },
120
+ body
121
+ });
122
+ const text = await response.text();
123
+ if (!response.ok) {
124
+ throw new TokenError(`Keycloak token endpoint returned HTTP ${response.status}: ${text}`);
125
+ }
126
+ let parsed;
127
+ try {
128
+ parsed = JSON.parse(text);
129
+ }
130
+ catch {
131
+ throw new TokenError(`Keycloak token endpoint returned a non-JSON body: ${text}`);
132
+ }
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');
135
+ }
136
+ return parsed;
137
+ }
138
+ /** Cached insecure undici dispatcher (built once, reused) so `verifySsl:false` costs one Agent. */
139
+ let insecureNodeDispatcher;
140
+ /**
141
+ * Lazily build a cached undici `Agent` that skips TLS certificate verification -- the Node analog of
142
+ * Python's `requests.post(..., verify=False)`. Node-guarded and loaded via a dynamic `import("undici")`
143
+ * so a browser bundle never pulls in `undici` and the flag stays a hard no-op outside Node.
144
+ *
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.
147
+ */
148
+ async function getInsecureNodeDispatcher() {
149
+ const nodeProcess = globalThis.process;
150
+ // Browser guard: outside Node there is no `process`, so the insecure dispatcher is a hard no-op.
151
+ if (nodeProcess === undefined || nodeProcess.versions === undefined || nodeProcess.versions.node === undefined) {
152
+ return undefined;
153
+ }
154
+ if (insecureNodeDispatcher === undefined) {
155
+ const undiciModuleName = 'undici';
156
+ const undici = (await Promise.resolve(`${undiciModuleName}`).then(s => __importStar(require(s))));
157
+ insecureNodeDispatcher = new undici.Agent({ connect: { rejectUnauthorized: false } });
158
+ }
159
+ return insecureNodeDispatcher;
160
+ }
161
+ /**
162
+ * Build the DEFAULT token transport (used only when no `fetchImpl` is injected). It delegates to the
163
+ * global WHATWG fetch, and -- when `verifySsl` is `false` under Node -- attaches an insecure undici
164
+ * dispatcher to the request init so the token POST skips certificate verification. With `verifySsl`
165
+ * `true` (the default) it is a plain pass-through to `globalThis.fetch`, i.e. unchanged behavior.
166
+ *
167
+ * @param verifySsl - Whether to verify the Keycloak TLS certificate; `false` opts into the insecure path.
168
+ * @returns A {@link TokenFetch} that resolves the global fetch at call time (honoring test overrides).
169
+ */
170
+ function createDefaultTokenFetch(verifySsl) {
171
+ return async (url, init) => {
172
+ const dispatcher = verifySsl ? undefined : await getInsecureNodeDispatcher();
173
+ const effectiveInit = dispatcher !== undefined ? { ...init, dispatcher } : init;
174
+ const globalFetch = globalThis.fetch;
175
+ return globalFetch(url, effectiveInit);
176
+ };
177
+ }
178
+ /**
179
+ * A live access-token holder backed by a bounded auto-refresh loop. Obtain one from {@link login};
180
+ * read {@link getAuthorizationHeader} for the gRPC `Authorization` metadata and call {@link stop} when done.
181
+ */
182
+ class OfflineTokenProvider {
183
+ /**
184
+ * Construct an (un-bootstrapped) provider from login options. Call {@link bootstrap} (or use the
185
+ * module-level {@link login}) before reading a token.
186
+ *
187
+ * @param options - The D18 headless-SDK offline-token login options.
188
+ */
189
+ constructor(options) {
190
+ this.tokenEndpoint = buildTokenEndpoint(options.keycloakUrl, options.realm);
191
+ this.clientId = options.clientId;
192
+ this.tokenExpirationInS = options.tokenExpirationInS;
193
+ // A custom fetchImpl always wins (the verifySsl flag is ignored for injected transports); only the
194
+ // DEFAULT transport honors verifySsl, and only under Node. Absent/undefined verifySsl => secure (true).
195
+ const verifySsl = options.keycloakVerifySsl !== false;
196
+ this.fetchImpl = options.fetchImpl !== undefined ? options.fetchImpl : createDefaultTokenFetch(verifySsl);
197
+ this.nowInMs = options.nowInMs !== undefined ? options.nowInMs : Date.now;
198
+ this.accessToken = null;
199
+ this.refreshToken = null;
200
+ this.timer = null;
201
+ this.stopped = false;
202
+ this.deadlineInMs = null;
203
+ this.onRefreshErrorHandler = null;
204
+ }
205
+ /**
206
+ * Perform the one-time ROPC login and arm the first refresh. Awaited by {@link login}.
207
+ *
208
+ * @param username - The 2FA-exempt technical-user email.
209
+ * @param password - The technical-user password.
210
+ * @returns A promise that resolves once the initial token is held and the first refresh is armed.
211
+ * @throws {TokenError} When the token endpoint fails or the response carries no refresh token.
212
+ */
213
+ async bootstrap(username, password) {
214
+ const tokenResponse = await postTokenRequest(this.tokenEndpoint, {
215
+ grant_type: 'password',
216
+ client_id: this.clientId,
217
+ username,
218
+ password,
219
+ scope: 'offline_access'
220
+ }, this.fetchImpl);
221
+ this.accessToken = tokenResponse.access_token;
222
+ this.refreshToken = typeof tokenResponse.refresh_token === 'string' ? tokenResponse.refresh_token : null;
223
+ if (this.refreshToken === null) {
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)');
226
+ }
227
+ if (this.tokenExpirationInS !== undefined) {
228
+ const expirationInMs = this.tokenExpirationInS * 1000;
229
+ this.deadlineInMs = this.nowInMs() + expirationInMs;
230
+ }
231
+ this.scheduleRefresh(tokenResponse.expires_in);
232
+ }
233
+ /**
234
+ * Exchange the offline refresh token for a fresh access token and re-arm the next refresh.
235
+ *
236
+ * @returns A promise that resolves once the token is refreshed (or the loop has stopped).
237
+ * @throws {TokenError} When the refresh token-endpoint call fails or returns an invalid body.
238
+ */
239
+ async refresh() {
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.
242
+ if (this.stopped) {
243
+ return;
244
+ }
245
+ // Re-check the bounded deadline at fire time (not just at schedule time): once it has elapsed the
246
+ // loop stops with no further renewal -> the access token lapses -> re-login is required.
247
+ if (this.deadlineInMs !== null && this.nowInMs() >= this.deadlineInMs) {
248
+ this.stop();
249
+ return;
250
+ }
251
+ const tokenResponse = await postTokenRequest(this.tokenEndpoint, {
252
+ grant_type: 'refresh_token',
253
+ client_id: this.clientId,
254
+ refresh_token: this.refreshToken
255
+ }, this.fetchImpl);
256
+ this.accessToken = tokenResponse.access_token;
257
+ // Keycloak may rotate the offline refresh token; keep the newest one when present.
258
+ if (typeof tokenResponse.refresh_token === 'string' && tokenResponse.refresh_token.length > 0) {
259
+ this.refreshToken = tokenResponse.refresh_token;
260
+ }
261
+ this.scheduleRefresh(tokenResponse.expires_in);
262
+ }
263
+ /**
264
+ * Arm a single timer for the next refresh, clamped to the bounded deadline. Stops silently once
265
+ * `tokenExpirationInS` has elapsed (no further renewal -> access lapses -> re-login required).
266
+ *
267
+ * @param expiresInRaw - The `expires_in` (seconds) reported by Keycloak; absent/non-positive
268
+ * values fall back to {@link MIN_REFRESH_DELAY_IN_S}.
269
+ */
270
+ scheduleRefresh(expiresInRaw) {
271
+ if (this.stopped) {
272
+ return;
273
+ }
274
+ const expiresInS = typeof expiresInRaw === 'number' && expiresInRaw > 0 ? expiresInRaw : MIN_REFRESH_DELAY_IN_S;
275
+ let delayInS = Math.max(expiresInS - REFRESH_SKEW_IN_S, MIN_REFRESH_DELAY_IN_S);
276
+ if (this.deadlineInMs !== null) {
277
+ const remainingInMs = this.deadlineInMs - this.nowInMs();
278
+ if (remainingInMs <= 0) {
279
+ this.stop();
280
+ return;
281
+ }
282
+ delayInS = Math.min(delayInS, remainingInMs / 1000);
283
+ }
284
+ this.timer = setTimeout(() => {
285
+ this.refresh().catch((refreshError) => {
286
+ // Swallow a transient refresh failure but surface it so the caller can react; the next
287
+ // gRPC call gets the stale (possibly expired) token and re-logs in on UNAUTHENTICATED.
288
+ if (this.onRefreshErrorHandler !== null) {
289
+ this.onRefreshErrorHandler(refreshError);
290
+ }
291
+ });
292
+ }, delayInS * 1000);
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') {
296
+ this.timer.unref();
297
+ }
298
+ }
299
+ /**
300
+ * Register a callback invoked with the error of a failed background refresh (optional diagnostics).
301
+ *
302
+ * @param handler - The callback to receive the refresh error; replaces any previously registered one.
303
+ */
304
+ onRefreshError(handler) {
305
+ this.onRefreshErrorHandler = handler;
306
+ }
307
+ /**
308
+ * Read the current access token.
309
+ *
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.
316
+ */
317
+ getAccessToken() {
318
+ return this.accessToken;
319
+ }
320
+ /**
321
+ * Build the value for an `Authorization` gRPC metadata header.
322
+ *
323
+ * @returns The `Bearer <access_token>` header value.
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}.
327
+ */
328
+ getAuthorizationHeader() {
329
+ if (this.accessToken === null) {
330
+ throw new TokenError('No access token available; login() has not completed or has lapsed');
331
+ }
332
+ return `Bearer ${this.accessToken}`;
333
+ }
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
+ */
339
+ stop() {
340
+ this.stopped = true;
341
+ if (this.timer !== null) {
342
+ clearTimeout(this.timer);
343
+ this.timer = null;
344
+ }
345
+ }
346
+ }
347
+ exports.OfflineTokenProvider = OfflineTokenProvider;
348
+ /**
349
+ * One-time ROPC + offline_access login against the PUBLIC SDK client, returning a live token provider
350
+ * whose access token is auto-refreshed in the background until `tokenExpirationInS` elapses.
351
+ *
352
+ * @param options - The headless-SDK login options (`keycloakUrl`, `realm`, `clientId`, `username`,
353
+ * `password` are required; `tokenExpirationInS`, `fetchImpl`, `nowInMs` are optional).
354
+ * @returns A bootstrapped {@link OfflineTokenProvider} holding a live access token.
355
+ * @throws {TokenError} When required options are missing/empty, the token endpoint fails, or the
356
+ * response lacks an access or refresh token.
357
+ */
358
+ async function login(options) {
359
+ if (options === undefined || options === null) {
360
+ throw new TokenError('login() requires an options object');
361
+ }
362
+ const requiredKeys = ['keycloakUrl', 'realm', 'clientId', 'username', 'password'];
363
+ for (const key of requiredKeys) {
364
+ const value = options[key];
365
+ if (typeof value !== 'string' || value.length === 0) {
366
+ throw new TokenError(`login() option "${key}" is required and must be a non-empty string`);
367
+ }
368
+ }
369
+ const provider = new OfflineTokenProvider(options);
370
+ await provider.bootstrap(options.username, options.password);
371
+ return provider;
372
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ondewo/nlu-client-typescript",
3
- "version": "6.13.0",
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",
@@ -22,17 +22,20 @@
22
22
  "dependencies": {
23
23
  "google-protobuf": "3.21.4",
24
24
  "grpc-web": "^1.5.0",
25
- "tslib": "^2.8.1"
25
+ "tslib": "^2.8.1",
26
+ "undici": "^6.27.0"
26
27
  },
27
28
  "devDependencies": {
28
- "@eslint/eslintrc": "^3.1.0",
29
- "@eslint/js": "^9.13.0",
29
+ "@eslint/eslintrc": "^3.3.5",
30
+ "@eslint/js": "^9.39.4",
30
31
  "@types/node": "^22.15.27",
31
- "@typescript-eslint/eslint-plugin": "^8.12.2",
32
+ "@typescript-eslint/eslint-plugin": "^8.63.0",
32
33
  "dotenv": "^16.4.5",
33
- "eslint": "^9.13.0",
34
+ "eslint": "^9.39.4",
34
35
  "global": "^4.4.0",
35
- "husky": "^9.1.6",
36
- "prettier": "^3.3.3"
36
+ "husky": "^9.1.7",
37
+ "prettier": "^3.9.4",
38
+ "c8": "^11.0.0",
39
+ "typescript": "^6.0.3"
37
40
  }
38
41
  }
package/public-api.d.ts CHANGED
@@ -1,44 +1,44 @@
1
- export * from './api/ondewo/qa/qa_grpc_web_pb.d';
2
1
  export * from './api/ondewo/qa/qa_pb.d';
3
- export * from './api/ondewo/nlu/session_grpc_web_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';
4
5
  export * from './api/ondewo/nlu/user_grpc_web_pb.d';
5
- export * from './api/ondewo/nlu/project_role_grpc_web_pb.d';
6
- export * from './api/ondewo/nlu/entity_type_pb.d';
6
+ export * from './api/ondewo/nlu/utility_grpc_web_pb.d';
7
+ export * from './api/ondewo/nlu/operations_pb.d';
7
8
  export * from './api/ondewo/nlu/webhook_pb.d';
8
- export * from './api/ondewo/nlu/agent_pb.d';
9
- export * from './api/ondewo/nlu/session_pb.d';
10
- export * from './api/ondewo/nlu/common_pb.d';
9
+ export * from './api/ondewo/nlu/context_grpc_web_pb.d';
11
10
  export * from './api/ondewo/nlu/operation_metadata_pb.d';
12
- export * from './api/ondewo/nlu/rag_pb.d';
13
- export * from './api/ondewo/nlu/server_statistics_pb.d';
11
+ export * from './api/ondewo/nlu/ccai_project_grpc_web_pb.d';
12
+ export * from './api/ondewo/nlu/ccai_project_pb.d';
13
+ export * from './api/ondewo/nlu/llm_evaluation_pb.d';
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';
14
21
  export * from './api/ondewo/nlu/aiservices_pb.d';
22
+ export * from './api/ondewo/nlu/entity_type_grpc_web_pb.d';
15
23
  export * from './api/ondewo/nlu/server_statistics_grpc_web_pb.d';
16
- export * from './api/ondewo/nlu/context_grpc_web_pb.d';
17
- export * from './api/ondewo/nlu/operations_pb.d';
18
- export * from './api/ondewo/nlu/aiservices_grpc_web_pb.d';
19
- export * from './api/ondewo/nlu/llm_evaluation_grpc_web_pb.d';
20
- export * from './api/ondewo/nlu/project_statistics_grpc_web_pb.d';
21
- export * from './api/ondewo/nlu/rag_grpc_web_pb.d';
22
- export * from './api/ondewo/nlu/context_pb.d';
23
- export * from './api/ondewo/nlu/intent_pb.d';
24
- export * from './api/ondewo/nlu/utility_pb.d';
24
+ export * from './api/ondewo/nlu/server_statistics_pb.d';
25
25
  export * from './api/ondewo/nlu/operations_grpc_web_pb.d';
26
- export * from './api/ondewo/nlu/ccai_project_pb.d';
27
- export * from './api/ondewo/nlu/webhook_grpc_web_pb.d';
26
+ export * from './api/ondewo/nlu/intent_pb.d';
28
27
  export * from './api/ondewo/nlu/project_role_pb.d';
29
- export * from './api/ondewo/nlu/entity_type_grpc_web_pb.d';
30
- export * from './api/ondewo/nlu/utility_grpc_web_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';
31
36
  export * from './api/ondewo/nlu/project_statistics_pb.d';
32
- export * from './api/ondewo/nlu/ccai_project_grpc_web_pb.d';
33
- export * from './api/ondewo/nlu/user_pb.d';
34
- export * from './api/ondewo/nlu/llm_evaluation_pb.d';
35
- export * from './api/ondewo/nlu/intent_grpc_web_pb.d';
36
- export * from './api/ondewo/nlu/agent_grpc_web_pb.d';
37
37
  export * from './api/google/api/annotations_pb.d';
38
- export * from './api/google/type/latlng_pb.d';
39
38
  export * from './api/google/rpc/status_pb.d';
40
- export * from './api/google/protobuf/any_pb.d';
39
+ export * from './api/google/protobuf/empty_pb.d';
41
40
  export * from './api/google/protobuf/field_mask_pb.d';
42
- export * from './api/google/protobuf/struct_pb.d';
43
41
  export * from './api/google/protobuf/timestamp_pb.d';
44
- export * from './api/google/protobuf/empty_pb.d';
42
+ export * from './api/google/protobuf/any_pb.d';
43
+ export * from './api/google/protobuf/struct_pb.d';
44
+ export * from './api/google/type/latlng_pb.d';
package/public-api.js CHANGED
@@ -1,44 +1,44 @@
1
- export * from './api/ondewo/qa/qa_grpc_web_pb';
2
1
  export * from './api/ondewo/qa/qa_pb';
3
- export * from './api/ondewo/nlu/common_pb';
2
+ export * from './api/ondewo/qa/qa_grpc_web_pb';
4
3
  export * from './api/ondewo/nlu/project_role_pb';
5
- export * from './api/ondewo/nlu/rag_grpc_web_pb';
6
- export * from './api/ondewo/nlu/utility_grpc_web_pb';
7
- export * from './api/ondewo/nlu/operations_pb';
8
- export * from './api/ondewo/nlu/project_statistics_pb';
9
- export * from './api/ondewo/nlu/server_statistics_grpc_web_pb';
10
- export * from './api/ondewo/nlu/ccai_project_grpc_web_pb';
11
- export * from './api/ondewo/nlu/server_statistics_pb';
12
- export * from './api/ondewo/nlu/intent_pb';
4
+ export * from './api/ondewo/nlu/operation_metadata_pb';
5
+ export * from './api/ondewo/nlu/agent_grpc_web_pb';
13
6
  export * from './api/ondewo/nlu/session_grpc_web_pb';
14
- export * from './api/ondewo/nlu/entity_type_grpc_web_pb';
15
- export * from './api/ondewo/nlu/context_grpc_web_pb';
16
- export * from './api/ondewo/nlu/context_pb';
17
- export * from './api/ondewo/nlu/llm_evaluation_pb';
7
+ export * from './api/ondewo/nlu/aiservices_pb';
18
8
  export * from './api/ondewo/nlu/project_statistics_grpc_web_pb';
19
- export * from './api/ondewo/nlu/utility_pb';
20
- export * from './api/ondewo/nlu/project_role_grpc_web_pb';
21
- export * from './api/ondewo/nlu/ccai_project_pb';
9
+ export * from './api/ondewo/nlu/rag_pb';
22
10
  export * from './api/ondewo/nlu/session_pb';
23
- export * from './api/ondewo/nlu/entity_type_pb';
11
+ export * from './api/ondewo/nlu/server_statistics_grpc_web_pb';
12
+ export * from './api/ondewo/nlu/context_pb';
13
+ export * from './api/ondewo/nlu/ccai_project_grpc_web_pb';
24
14
  export * from './api/ondewo/nlu/operations_grpc_web_pb';
25
- export * from './api/ondewo/nlu/agent_pb';
26
- export * from './api/ondewo/nlu/webhook_grpc_web_pb';
27
- export * from './api/ondewo/nlu/aiservices_grpc_web_pb';
28
- export * from './api/ondewo/nlu/operation_metadata_pb';
29
- export * from './api/ondewo/nlu/agent_grpc_web_pb';
30
- export * from './api/ondewo/nlu/rag_pb';
31
15
  export * from './api/ondewo/nlu/webhook_pb';
32
- export * from './api/ondewo/nlu/aiservices_pb';
16
+ export * from './api/ondewo/nlu/aiservices_grpc_web_pb';
17
+ export * from './api/ondewo/nlu/intent_pb';
18
+ export * from './api/ondewo/nlu/utility_grpc_web_pb';
19
+ export * from './api/ondewo/nlu/agent_pb';
20
+ export * from './api/ondewo/nlu/project_role_grpc_web_pb';
21
+ export * from './api/ondewo/nlu/rag_grpc_web_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';
33
26
  export * from './api/ondewo/nlu/intent_grpc_web_pb';
34
- export * from './api/ondewo/nlu/llm_evaluation_grpc_web_pb';
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';
31
+ export * from './api/ondewo/nlu/entity_type_grpc_web_pb';
35
32
  export * from './api/ondewo/nlu/user_pb';
36
- export * from './api/ondewo/nlu/user_grpc_web_pb';
33
+ export * from './api/ondewo/nlu/context_grpc_web_pb';
34
+ export * from './api/ondewo/nlu/common_pb';
35
+ export * from './api/ondewo/nlu/llm_evaluation_grpc_web_pb';
36
+ export * from './api/ondewo/nlu/operations_pb';
37
37
  export * from './api/google/api/annotations_pb';
38
- export * from './api/google/type/latlng_pb';
39
38
  export * from './api/google/rpc/status_pb';
40
39
  export * from './api/google/protobuf/field_mask_pb';
41
40
  export * from './api/google/protobuf/any_pb';
42
41
  export * from './api/google/protobuf/timestamp_pb';
43
42
  export * from './api/google/protobuf/empty_pb';
44
43
  export * from './api/google/protobuf/struct_pb';
44
+ export * from './api/google/type/latlng_pb';