@countly/ai-sdk-llamaindex 0.0.3 → 0.0.4
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 +51 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +18 -5
- package/dist/adapter.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -60,6 +60,57 @@ await tracer.shutdown(); // flush + stop the transport
|
|
|
60
60
|
tracer.unregister(Settings.callbackManager); // detach handlers
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
+
## Feedback
|
|
64
|
+
|
|
65
|
+
User feedback (thumbs up/down, ratings, comments) is not auto-collected — wire it from your UI. Capture the `prompt_id` of each tracked interaction via the `onPrompt` callback, then record feedback against it with `createFeedbackTracker` (re-exported from this package, so no extra install is needed):
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
import { Settings } from "llamaindex";
|
|
69
|
+
import { CountlyLlamaIndexTracer, createFeedbackTracker, type PromptInfo } from "@countly/ai-sdk-llamaindex";
|
|
70
|
+
|
|
71
|
+
const countly = { appKey: "YOUR_APP_KEY", url: "https://your-countly-server.com" };
|
|
72
|
+
|
|
73
|
+
let lastPrompt: PromptInfo | undefined;
|
|
74
|
+
const tracer = new CountlyLlamaIndexTracer({
|
|
75
|
+
...countly,
|
|
76
|
+
onPrompt: (info) => { lastPrompt = info; }, // fires after every tracked LLM call
|
|
77
|
+
});
|
|
78
|
+
tracer.register(Settings.callbackManager);
|
|
79
|
+
|
|
80
|
+
const feedback = createFeedbackTracker(countly, { sdk_adapter: "llamaindex" });
|
|
81
|
+
|
|
82
|
+
const response = await queryEngine.query({ query: "Explain quantum computing" });
|
|
83
|
+
|
|
84
|
+
// ...later, when the user rates the answer:
|
|
85
|
+
feedback.track({
|
|
86
|
+
prompt_id: lastPrompt!.prompt_id,
|
|
87
|
+
rating: "thumbs_up", // or "thumbs_down", or any custom string
|
|
88
|
+
score: 0.9, // optional 0-1 numeric score
|
|
89
|
+
category: "helpful", // optional: hallucination, irrelevant, harmful, ...
|
|
90
|
+
comment: "Great answer", // optional free-form text
|
|
91
|
+
deviceId: user.id, // attribute to the same user as the interaction
|
|
92
|
+
});
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Each `track()` call emits a `[CLY]_llm_interaction_feedback` event whose `prompt_id` links back to the `[CLY]_llm_interaction` event — powering prompt → feedback funnels and per-model satisfaction breakdowns in Countly. In a real app, store `prompt_id` alongside the rendered message (or return it to your client) and read it back when the user rates the answer. Feedback is batched like interaction events; call `feedback.flush()` to send immediately, or `feedback.shutdown()` on process exit.
|
|
96
|
+
|
|
97
|
+
### Caller-supplied `prompt_id`
|
|
98
|
+
|
|
99
|
+
Instead of reading a generated `prompt_id` back through `onPrompt`, you can stamp your own id on each interaction via `getPromptId`. Return the correlation key you already track for the request (e.g. a message id or trace id) and the tracer uses it verbatim; return `undefined` to fall back to the auto-generated id. This lets you correlate feedback without a read-back round-trip:
|
|
100
|
+
|
|
101
|
+
```typescript
|
|
102
|
+
const tracer = new CountlyLlamaIndexTracer({
|
|
103
|
+
...countly,
|
|
104
|
+
getPromptId: () => currentRequest.id, // your own id → becomes the event's prompt_id
|
|
105
|
+
});
|
|
106
|
+
tracer.register(Settings.callbackManager);
|
|
107
|
+
|
|
108
|
+
// ...later, correlate feedback directly against the same id you supplied:
|
|
109
|
+
feedback.track({ prompt_id: currentRequest.id, rating: "thumbs_up" });
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
`getPromptId` is called once per interaction. It is the wrapped-client equivalent of the request-context prompt id used by other Countly AI adapters, so a non-empty return value is stamped on both the `[CLY]_llm_interaction` event and its tool events.
|
|
113
|
+
|
|
63
114
|
## Full documentation
|
|
64
115
|
|
|
65
116
|
See the [Countly AI SDK repository](https://github.com/Countly/countly-ai-sdk) for the unified data model, observability levels, cost calculation, privacy controls, and Countly plugin integration (Drill, Funnels, Cohorts, APM, Crash Analytics).
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,eAAe,EAKrB,MAAM,sBAAsB,CAAC;AAQ9B;;;GAGG;AACH,UAAU,qBAAqB,CAAC,CAAC,GAAG,OAAO;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,eAAe,CAAC;IACzF,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,eAAe,CAAC;CAC3F;AAsBD;;;;;;;;;;;GAWG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAE3D,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAGpD,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;gBAE3D,UAAU,EAAE,eAAe;IAavC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAOhD;;OAEG;IACH,UAAU,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAOlD,iCAAiC;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,0DAA0D;IACpD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAyBnB;;;;OAIG;IACH,OAAO,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,eAAe,EAKrB,MAAM,sBAAsB,CAAC;AAQ9B;;;GAGG;AACH,UAAU,qBAAqB,CAAC,CAAC,GAAG,OAAO;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,eAAe,CAAC;IACzF,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,eAAe,CAAC;CAC3F;AAsBD;;;;;;;;;;;GAWG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAE3D,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAGpD,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;gBAE3D,UAAU,EAAE,eAAe;IAavC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAOhD;;OAEG;IACH,UAAU,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAOlD,iCAAiC;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,0DAA0D;IACpD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAyBnB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAyFjB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAiBnB;;;OAGG;IACH,OAAO,CAAC,aAAa;CAqBtB;AAGD,wDAAwD;AACxD,eAAO,MAAM,mBAAmB,gCAA0B,CAAC"}
|
package/dist/adapter.js
CHANGED
|
@@ -72,7 +72,7 @@ export class CountlyLlamaIndexTracer {
|
|
|
72
72
|
const detail = event?.detail;
|
|
73
73
|
if (!detail)
|
|
74
74
|
return;
|
|
75
|
-
const id = detail.id ?? generatePromptId();
|
|
75
|
+
const id = detail.id ?? this.config.getPromptId?.() ?? generatePromptId();
|
|
76
76
|
const messages = detail.messages ?? [];
|
|
77
77
|
// Capture last user/assistant message as input text (skip system/tool roles)
|
|
78
78
|
let input;
|
|
@@ -115,8 +115,20 @@ export class CountlyLlamaIndexTracer {
|
|
|
115
115
|
// Model from raw (provider-specific, e.g. OpenAI returns raw.model)
|
|
116
116
|
const model = raw.model ?? "unknown";
|
|
117
117
|
// Token extraction — handle both snake_case and camelCase
|
|
118
|
-
const
|
|
118
|
+
const usageInputBase = usage.prompt_tokens ?? usage.promptTokens ?? usage.input_tokens ?? usage.inputTokens ?? 0;
|
|
119
119
|
const usageOutput = usage.completion_tokens ?? usage.completionTokens ?? usage.output_tokens ?? usage.outputTokens ?? 0;
|
|
120
|
+
// Cache tokens pass through on the provider-native `raw.usage` under
|
|
121
|
+
// provider-specific keys (LlamaIndex does not normalize them). OpenAI and
|
|
122
|
+
// Gemini COUNT cached tokens within the input total, so cache-read is
|
|
123
|
+
// already a subset of input. Anthropic reports input_tokens EXCLUDING
|
|
124
|
+
// cache-read, so fold it into usage_input to keep cache-read a subset of
|
|
125
|
+
// input (matching the dedicated Anthropic adapter and the cost contract).
|
|
126
|
+
const anthropicCacheRead = usage.cache_read_input_tokens;
|
|
127
|
+
const cacheRead = usage.prompt_tokens_details?.cached_tokens // OpenAI
|
|
128
|
+
?? usage.cachedContentTokenCount // Gemini
|
|
129
|
+
?? anthropicCacheRead; // Anthropic
|
|
130
|
+
const cacheWrite = usage.cache_creation_input_tokens; // Anthropic only
|
|
131
|
+
const usageInput = anthropicCacheRead != null ? usageInputBase + anthropicCacheRead : usageInputBase;
|
|
120
132
|
const usageTotal = usage.total_tokens ?? usage.totalTokens ?? (usageInput + usageOutput);
|
|
121
133
|
// Collect completed tools
|
|
122
134
|
const tools = this.completedTools.splice(0);
|
|
@@ -142,6 +154,8 @@ export class CountlyLlamaIndexTracer {
|
|
|
142
154
|
usage_input: usageInput,
|
|
143
155
|
usage_output: usageOutput,
|
|
144
156
|
usage_total: usageTotal,
|
|
157
|
+
...(cacheRead != null && { usage_cache_read: cacheRead }),
|
|
158
|
+
...(cacheWrite != null && { usage_cache_write: cacheWrite }),
|
|
145
159
|
finish_reason: raw.choices?.[0]?.finish_reason,
|
|
146
160
|
text_input: call?.input,
|
|
147
161
|
text_output: textOutput,
|
|
@@ -154,12 +168,11 @@ export class CountlyLlamaIndexTracer {
|
|
|
154
168
|
...(raw?.model && { response_model: String(raw.model) }),
|
|
155
169
|
...(Object.keys(meta).length > 0 && { provider_metadata: meta }),
|
|
156
170
|
};
|
|
157
|
-
const promptId = generatePromptId();
|
|
171
|
+
const promptId = this.config.getPromptId?.() ?? generatePromptId();
|
|
158
172
|
const context = { prompt_id: promptId, sdk_adapter: "llamaindex" };
|
|
159
173
|
const events = buildAllEvents(extraction, this.config, context);
|
|
160
174
|
this.transport.enqueue(events);
|
|
161
175
|
this.transport.reportTrace(extraction, context);
|
|
162
|
-
this.transport.reportUserData(extraction);
|
|
163
176
|
this.llmCalls.delete(id);
|
|
164
177
|
}
|
|
165
178
|
/**
|
|
@@ -173,7 +186,7 @@ export class CountlyLlamaIndexTracer {
|
|
|
173
186
|
const toolCall = detail.toolCall;
|
|
174
187
|
if (!toolCall)
|
|
175
188
|
return;
|
|
176
|
-
const toolId = toolCall.id ?? generatePromptId();
|
|
189
|
+
const toolId = toolCall.id ?? this.config.getPromptId?.() ?? generatePromptId();
|
|
177
190
|
this.pendingTools.set(toolId, {
|
|
178
191
|
startTime: Date.now(),
|
|
179
192
|
name: toolCall.name ?? "unknown_tool",
|
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GAMvB,MAAM,sBAAsB,CAAC;AA0C9B,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,uBAAuB;IACjB,MAAM,CAAiB;IACvB,SAAS,CAAY;IAEtC,yDAAyD;IACxC,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE3D,2DAA2D;IAC1C,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;IAClD,cAAc,GAAkB,EAAE,CAAC;IAEpD,iDAAiD;IACxC,cAAc,CAA8C;IAC5D,YAAY,CAA8C;IAC1D,cAAc,CAA8C;IAC5D,gBAAgB,CAA8C;IAEvE,YAAY,UAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9C,oDAAoD;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,uEAAuE;IAEvE;;;OAGG;IACH,QAAQ,CAAC,eAAgC;QACvC,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACrD,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,eAAe,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACzD,eAAe,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,eAAgC;QACzC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,uEAAuE;IAEvE;;OAEG;IACK,WAAW,CAAC,KAAiC;QACnD,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,EAAE,GAAW,MAAM,CAAC,EAAE,IAAI,gBAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAMzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
export { CountlyLlamaIndexTracer, CountlyEventHandler } from "./adapter";
|
|
2
|
+
// Feedback pipeline — re-exported from core so user feedback (thumbs up/down,
|
|
3
|
+
// ratings, comments) can be wired without importing @countly/ai-sdk-core
|
|
4
|
+
// directly. Correlate via the `onPrompt` config callback, which exposes the
|
|
5
|
+
// `prompt_id` stamped on every `[CLY]_llm_interaction` event.
|
|
6
|
+
export { createFeedbackTracker } from "@countly/ai-sdk-core";
|
|
2
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEzE,8EAA8E;AAC9E,yEAAyE;AACzE,4EAA4E;AAC5E,8DAA8D;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@countly/ai-sdk-llamaindex",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "Countly AI observability adapter for LlamaIndex",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"access": "public"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@countly/ai-sdk-core": "0.0.
|
|
19
|
+
"@countly/ai-sdk-core": "0.0.4"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"llamaindex": ">=0.8.0"
|