@astermind/cybernetic-chatbot-client 2.2.44 → 2.2.55
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 +14 -2
- package/dist/ApiClient.d.ts +4 -3
- package/dist/ApiClient.d.ts.map +1 -1
- package/dist/CyberneticClient.d.ts.map +1 -1
- package/dist/WebSocketTransport.d.ts.map +1 -1
- package/dist/cybernetic-chatbot-client-full.esm.js +55 -12
- package/dist/cybernetic-chatbot-client-full.esm.js.map +1 -1
- package/dist/cybernetic-chatbot-client-full.min.js +1 -1
- package/dist/cybernetic-chatbot-client-full.min.js.map +1 -1
- package/dist/cybernetic-chatbot-client-full.umd.js +55 -12
- package/dist/cybernetic-chatbot-client-full.umd.js.map +1 -1
- package/dist/cybernetic-chatbot-client.esm.js +55 -12
- package/dist/cybernetic-chatbot-client.esm.js.map +1 -1
- package/dist/cybernetic-chatbot-client.min.js +1 -1
- package/dist/cybernetic-chatbot-client.min.js.map +1 -1
- package/dist/cybernetic-chatbot-client.umd.js +56 -13
- package/dist/cybernetic-chatbot-client.umd.js.map +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -60,16 +60,28 @@ yarn add @astermind/cybernetic-chatbot-client
|
|
|
60
60
|
pnpm add @astermind/cybernetic-chatbot-client
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
+
**Required import** — add to your JavaScript/TypeScript file:
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
import { CyberneticClient } from '@astermind/cybernetic-chatbot-client';
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
> **Note:** Most users should install `@astermind/chatbot-template` instead, which includes this package as a dependency along with pre-built UI components. Use this package directly only if you're building a custom chat UI.
|
|
70
|
+
|
|
63
71
|
### CDN (Script Tag)
|
|
64
72
|
|
|
73
|
+
Include **one** of the following script tags in your HTML:
|
|
74
|
+
|
|
65
75
|
```html
|
|
66
|
-
<!-- Core bundle -->
|
|
76
|
+
<!-- Core bundle (API client, caching, offline fallback) -->
|
|
67
77
|
<script src="https://unpkg.com/@astermind/cybernetic-chatbot-client/dist/cybernetic-chatbot-client.umd.js"></script>
|
|
68
78
|
|
|
69
|
-
<!-- Or full bundle
|
|
79
|
+
<!-- Or full bundle (core + agentic capabilities) -->
|
|
70
80
|
<script src="https://unpkg.com/@astermind/cybernetic-chatbot-client/dist/cybernetic-chatbot-client-full.umd.js"></script>
|
|
71
81
|
```
|
|
72
82
|
|
|
83
|
+
The client is available as `window.AsterMindCybernetic` (core) or `window.AsterMindCyberneticFull` (full bundle).
|
|
84
|
+
|
|
73
85
|
## Quick Start
|
|
74
86
|
|
|
75
87
|
> **Note:** No license key is required for development. See [Licensing](#licensing) for production requirements.
|
package/dist/ApiClient.d.ts
CHANGED
|
@@ -62,16 +62,17 @@ export declare class ApiClient {
|
|
|
62
62
|
*/
|
|
63
63
|
chatStream(message: string, options: ChatRequest & StreamCallbacks): Promise<void>;
|
|
64
64
|
/**
|
|
65
|
-
* Get general documents for caching
|
|
65
|
+
* Get general documents for caching.
|
|
66
|
+
* Normalizes field names from both canonical (title) and legacy (name) formats.
|
|
66
67
|
*/
|
|
67
68
|
getGeneralDocs(since?: string | null): Promise<Array<{
|
|
68
69
|
id: string;
|
|
69
70
|
title: string;
|
|
70
|
-
content: string;
|
|
71
71
|
updatedAt: string;
|
|
72
72
|
}>>;
|
|
73
73
|
/**
|
|
74
|
-
* Get API status, quota, and system settings
|
|
74
|
+
* Get API status, quota, and system settings.
|
|
75
|
+
* Normalizes response from both canonical and legacy backend formats.
|
|
75
76
|
*/
|
|
76
77
|
getStatus(): Promise<StatusResponse>;
|
|
77
78
|
/**
|
package/dist/ApiClient.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../src/ApiClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzD,UAAU,WAAW;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAED,UAAU,YAAY;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE;YACZ,MAAM,EAAE,MAAM,CAAC;YACf,GAAG,EAAE,MAAM,CAAC;SACf,CAAC;KACL,CAAC;CACL;AAED,UAAU,eAAe;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1F,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACpC;AAED,UAAU,cAAc;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzC,KAAK,EAAE;QACH,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,CAAC;IACF,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC;
|
|
1
|
+
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../src/ApiClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzD,UAAU,WAAW;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAED,UAAU,YAAY;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE;YACZ,MAAM,EAAE,MAAM,CAAC;YACf,GAAG,EAAE,MAAM,CAAC;SACf,CAAC;KACL,CAAC;CACL;AAED,UAAU,eAAe;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1F,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACpC;AAED,UAAU,cAAc;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzC,KAAK,EAAE;QACH,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,CAAC;IACF,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC;AAqCD;;GAEG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK3C;;OAEG;IACG,IAAI,CACN,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,YAAY,CAAC;IA4BxB;;OAEG;IACG,UAAU,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,GAAG,eAAe,GACvC,OAAO,CAAC,IAAI,CAAC;IAuEhB;;;OAGG;IACG,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QACvD,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IA0BH;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAiD1C;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CASjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CyberneticClient.d.ts","sourceRoot":"","sources":["../src/CyberneticClient.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EACR,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EAIb,aAAa,EAEhB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC,iDAAiD;IAEjD,KAAK,EAAE,GAAG,CAAC;IACX,4DAA4D;IAE5D,gBAAgB,CAAC,EAAE,GAAG,CAAC;CAC1B;AA6BD;;;;;GAKG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,SAAS,CAAgC;IAGjD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAGlD,OAAO,CAAC,mBAAmB,CAAoC;IAG/D,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,cAAc,CAAyC;IAG/D,OAAO,CAAC,QAAQ,CAAgC;IAGhD,OAAO,CAAC,mBAAmB,CAAS;gBAExB,MAAM,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"CyberneticClient.d.ts","sourceRoot":"","sources":["../src/CyberneticClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketTransport.d.ts","sourceRoot":"","sources":["../src/WebSocketTransport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIR,eAAe,EACf,cAAc,EACd,gBAAgB,EACnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,UAAU,aAAa;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"WebSocketTransport.d.ts","sourceRoot":"","sources":["../src/WebSocketTransport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIR,eAAe,EACf,cAAc,EACd,gBAAgB,EACnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,UAAU,aAAa;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAkBD;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,iBAAiB,CAA8B;IAGvD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,eAAe,CAAqB;IAG5C,OAAO,CAAC,mBAAmB,CAA6B;gBAE5C,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAQrE;;OAEG;IACH,QAAQ,IAAI,cAAc;IAI1B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmFxB;;;;;OAKG;IACG,UAAU,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,GAAG,eAAe,GACzC,OAAO,CAAC,IAAI,CAAC;IA6ChB,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,aAAa,CAAyC;IAE9D;;OAEG;IACH,UAAU,IAAI,IAAI;IAelB;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BhC;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IA6DrB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAelB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAM5B"}
|
|
@@ -4,13 +4,14 @@ import 'path';
|
|
|
4
4
|
// src/ApiClient.ts
|
|
5
5
|
// HTTP client for AsterMind backend API
|
|
6
6
|
/**
|
|
7
|
-
* Map backend source format to client Source interface
|
|
7
|
+
* Map backend source format to client Source interface.
|
|
8
|
+
* Handles both canonical (title/score) and legacy (heading/no-score) field names.
|
|
8
9
|
*/
|
|
9
10
|
function mapSource(raw) {
|
|
10
11
|
return {
|
|
11
|
-
title: raw.title,
|
|
12
|
-
snippet: raw.content,
|
|
13
|
-
relevance: raw.score,
|
|
12
|
+
title: raw.title || raw.heading || 'Document',
|
|
13
|
+
snippet: raw.content || '',
|
|
14
|
+
relevance: raw.score ?? 0,
|
|
14
15
|
documentId: raw.documentId,
|
|
15
16
|
fullContent: raw.fullContent,
|
|
16
17
|
downloadUrl: raw.downloadUrl,
|
|
@@ -48,9 +49,10 @@ class ApiClient {
|
|
|
48
49
|
throw new Error(error.message || `HTTP ${response.status}: ${response.statusText}`);
|
|
49
50
|
}
|
|
50
51
|
const data = await response.json();
|
|
51
|
-
//
|
|
52
|
+
// Normalize response: accept both 'reply' (canonical) and 'answer' (legacy)
|
|
52
53
|
return {
|
|
53
54
|
...data,
|
|
55
|
+
reply: data.reply || data.answer || '',
|
|
54
56
|
sources: (data.sources || []).map(mapSource)
|
|
55
57
|
};
|
|
56
58
|
}
|
|
@@ -126,7 +128,8 @@ class ApiClient {
|
|
|
126
128
|
}
|
|
127
129
|
}
|
|
128
130
|
/**
|
|
129
|
-
* Get general documents for caching
|
|
131
|
+
* Get general documents for caching.
|
|
132
|
+
* Normalizes field names from both canonical (title) and legacy (name) formats.
|
|
130
133
|
*/
|
|
131
134
|
async getGeneralDocs(since) {
|
|
132
135
|
const params = new URLSearchParams();
|
|
@@ -143,10 +146,16 @@ class ApiClient {
|
|
|
143
146
|
throw new Error(`HTTP ${response.status}`);
|
|
144
147
|
}
|
|
145
148
|
const data = await response.json();
|
|
146
|
-
|
|
149
|
+
// Normalize: accept both 'title' (canonical) and 'name' (legacy on-prem)
|
|
150
|
+
return (data.documents || []).map((doc) => ({
|
|
151
|
+
id: doc.id,
|
|
152
|
+
title: doc.title || doc.name || 'Untitled',
|
|
153
|
+
updatedAt: doc.updatedAt || doc.updated_at || new Date().toISOString(),
|
|
154
|
+
}));
|
|
147
155
|
}
|
|
148
156
|
/**
|
|
149
|
-
* Get API status, quota, and system settings
|
|
157
|
+
* Get API status, quota, and system settings.
|
|
158
|
+
* Normalizes response from both canonical and legacy backend formats.
|
|
150
159
|
*/
|
|
151
160
|
async getStatus() {
|
|
152
161
|
const response = await fetch(`${this.baseUrl}/api/external/status`, {
|
|
@@ -157,7 +166,38 @@ class ApiClient {
|
|
|
157
166
|
if (!response.ok) {
|
|
158
167
|
throw new Error(`HTTP ${response.status}`);
|
|
159
168
|
}
|
|
160
|
-
|
|
169
|
+
const data = await response.json();
|
|
170
|
+
// Normalize: accept both canonical (apiKey) and legacy (key) structures
|
|
171
|
+
const apiKeyData = data.apiKey || data.key || {};
|
|
172
|
+
const scopes = apiKeyData.scopes || apiKeyData.permissions || ['chat'];
|
|
173
|
+
// Normalize quota: accept both canonical (perMinute/perDay) and legacy structures
|
|
174
|
+
const quota = data.quota || {};
|
|
175
|
+
const perMinute = quota.perMinute || {
|
|
176
|
+
limit: apiKeyData.rateLimit?.limit || quota.rateLimitPerMinute || 30,
|
|
177
|
+
remaining: apiKeyData.rateLimit?.remaining ?? quota.rateLimitPerMinute ?? 30,
|
|
178
|
+
};
|
|
179
|
+
const perDay = quota.perDay || {
|
|
180
|
+
limit: quota.rateLimitPerDay || perMinute.limit * 60 * 24,
|
|
181
|
+
remaining: quota.rateLimitPerDay || perMinute.limit * 60 * 24,
|
|
182
|
+
};
|
|
183
|
+
// Normalize systemSettings: accept both canonical and legacy (system) structures
|
|
184
|
+
const settings = data.systemSettings || data.system || {};
|
|
185
|
+
const cacheRetentionHours = settings.cacheRetentionHours ??
|
|
186
|
+
(settings.cacheRetentionDays ? settings.cacheRetentionDays * 24 : undefined);
|
|
187
|
+
return {
|
|
188
|
+
status: data.status || 'active',
|
|
189
|
+
apiKey: {
|
|
190
|
+
id: apiKeyData.id || '',
|
|
191
|
+
scopes,
|
|
192
|
+
},
|
|
193
|
+
quota: { perMinute, perDay },
|
|
194
|
+
systemSettings: {
|
|
195
|
+
cacheRetentionHours: cacheRetentionHours ?? 720,
|
|
196
|
+
maintenanceMode: settings.maintenanceMode ?? false,
|
|
197
|
+
maintenanceMessage: settings.maintenanceMessage,
|
|
198
|
+
forceOfflineClients: settings.forceOfflineClients ?? false,
|
|
199
|
+
},
|
|
200
|
+
};
|
|
161
201
|
}
|
|
162
202
|
/**
|
|
163
203
|
* Health check (no auth required)
|
|
@@ -1295,12 +1335,14 @@ class WebSocketTransport {
|
|
|
1295
1335
|
if (!Array.isArray(wsSources))
|
|
1296
1336
|
return [];
|
|
1297
1337
|
return wsSources.map((s) => ({
|
|
1298
|
-
title: s.heading || s.documentName || 'Document',
|
|
1338
|
+
title: s.title || s.heading || s.documentName || 'Document',
|
|
1299
1339
|
snippet: s.content || '',
|
|
1300
1340
|
relevance: s.score ?? 0,
|
|
1301
1341
|
documentId: s.documentId,
|
|
1302
1342
|
documentName: s.documentName,
|
|
1303
|
-
sourceType: 'document',
|
|
1343
|
+
sourceType: s.sourceType || 'document',
|
|
1344
|
+
chunkId: s.chunkId,
|
|
1345
|
+
downloadUrl: s.downloadUrl,
|
|
1304
1346
|
}));
|
|
1305
1347
|
}
|
|
1306
1348
|
/**
|
|
@@ -2293,7 +2335,8 @@ class CyberneticClient {
|
|
|
2293
2335
|
this.localRAG = new CyberneticLocalRAG();
|
|
2294
2336
|
// Initialize license manager
|
|
2295
2337
|
this.licenseManager = new LicenseManager({
|
|
2296
|
-
licenseKey: config.licenseKey
|
|
2338
|
+
licenseKey: config.licenseKey,
|
|
2339
|
+
environment: config.environment,
|
|
2297
2340
|
});
|
|
2298
2341
|
// Verify license asynchronously (non-blocking)
|
|
2299
2342
|
this.licenseManager.verify().then(() => {
|