@countly/ai-sdk-cohere 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 CHANGED
@@ -62,6 +62,60 @@ const response = await cohere.chat({
62
62
  - Error tracking with categorization
63
63
  - APM traces, per-user aggregation
64
64
 
65
+ ## Caller-supplied prompt_id
66
+
67
+ By default every tracked call is stamped with an auto-generated `prompt_id`. If your app already owns a request/trace identifier, supply it via the `getPromptId` config callback and the adapter will use it verbatim (falling back to the generated id whenever the callback returns `undefined`):
68
+
69
+ ```typescript
70
+ import { AsyncLocalStorage } from "node:async_hooks";
71
+
72
+ const requestStore = new AsyncLocalStorage<{ requestId: string }>();
73
+
74
+ const cohere = observeCohere(new CohereClientV2({ token: "..." }), {
75
+ appKey: "YOUR_APP_KEY",
76
+ url: "https://your-countly-server.com",
77
+ getPromptId: () => requestStore.getStore()?.requestId,
78
+ });
79
+ ```
80
+
81
+ The resolved `prompt_id` is the same value stamped on the `[CLY]_llm_interaction` event, so a `prompt_id` you already track elsewhere becomes the join key for feedback correlation — pass it straight to `feedback.track({ prompt_id })` without waiting for the `onPrompt` callback.
82
+
83
+ ## Feedback
84
+
85
+ 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):
86
+
87
+ ```typescript
88
+ import { CohereClientV2 } from "cohere-ai";
89
+ import { observeCohere, createFeedbackTracker, type PromptInfo } from "@countly/ai-sdk-cohere";
90
+
91
+ const countly = { appKey: "YOUR_APP_KEY", url: "https://your-countly-server.com" };
92
+
93
+ let lastPrompt: PromptInfo | undefined;
94
+ const cohere = observeCohere(new CohereClientV2({ token: process.env.CO_API_KEY }), {
95
+ ...countly,
96
+ onPrompt: (info) => { lastPrompt = info; }, // fires after every tracked call
97
+ });
98
+
99
+ const feedback = createFeedbackTracker(countly, { sdk_adapter: "cohere" });
100
+
101
+ const response = await cohere.chat({
102
+ model: "command-r-plus",
103
+ messages: [{ role: "user", content: "Explain quantum computing" }],
104
+ });
105
+
106
+ // ...later, when the user rates the answer:
107
+ feedback.track({
108
+ prompt_id: lastPrompt!.prompt_id,
109
+ rating: "thumbs_up", // or "thumbs_down", or any custom string
110
+ score: 0.9, // optional 0-1 numeric score
111
+ category: "helpful", // optional: hallucination, irrelevant, harmful, ...
112
+ comment: "Great answer", // optional free-form text
113
+ deviceId: user.id, // attribute to the same user as the interaction
114
+ });
115
+ ```
116
+
117
+ 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.
118
+
65
119
  ## Full documentation
66
120
 
67
121
  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).
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,eAAe,EAKrB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAqB,SAAQ,eAAe;CAAG;AA6LhE,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,CAAC,CAqBvE"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,eAAe,EAKrB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAqB,SAAQ,eAAe;CAAG;AAoMhE,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,CAAC,CAqBvE"}
package/dist/adapter.js CHANGED
@@ -27,6 +27,12 @@ function extractFromResponse(response, requestParams, latency) {
27
27
  const tokenInput = tokens?.inputTokens ?? 0;
28
28
  const tokenOutput = tokens?.outputTokens ?? 0;
29
29
  const tokenTotal = tokenInput + tokenOutput;
30
+ // Cache-read tokens — "prompt tokens that hit the inference cache".
31
+ // V2: response.usage.cachedTokens | V1: response.meta.cachedTokens
32
+ // These are a SUBSET of inputTokens (billed at a discount), so no fold is
33
+ // needed to satisfy the cost contract. Cohere has no cache-CREATION concept,
34
+ // so there is no usage_cache_write.
35
+ const tokenCacheRead = usage?.cachedTokens ?? response?.meta?.cachedTokens;
30
36
  const finishReason = response?.finishReason;
31
37
  // Extract tool calls — V2: response.message.toolCalls | V1: response.toolCalls
32
38
  const tools = [];
@@ -91,6 +97,7 @@ function extractFromResponse(response, requestParams, latency) {
91
97
  usage_input: tokenInput,
92
98
  usage_output: tokenOutput,
93
99
  usage_total: tokenTotal,
100
+ ...(tokenCacheRead != null && { usage_cache_read: tokenCacheRead }),
94
101
  ...(finishReason && { finish_reason: finishReason }),
95
102
  ...(tools.length > 0 && { tools }),
96
103
  ...(textOutput && { text_output: textOutput }),
@@ -108,7 +115,7 @@ function extractFromResponse(response, requestParams, latency) {
108
115
  function createChatProxy(chatFn, config, transport, defaultModel) {
109
116
  return async function (...args) {
110
117
  const requestParams = args[0];
111
- const promptId = generatePromptId();
118
+ const promptId = config.getPromptId?.() ?? generatePromptId();
112
119
  const eventContext = { prompt_id: promptId, sdk_adapter: "cohere" };
113
120
  const start = performance.now();
114
121
  const textInput = extractTextInput(requestParams);
@@ -122,7 +129,6 @@ function createChatProxy(chatFn, config, transport, defaultModel) {
122
129
  const events = buildAllEvents(raw, config, eventContext);
123
130
  transport.enqueue(events);
124
131
  transport.reportTrace(raw, eventContext);
125
- transport.reportUserData(raw);
126
132
  return response;
127
133
  }
128
134
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export { observeCohere } from "./adapter";
2
2
  export type { CountlyCohereOptions } from "./adapter";
3
+ export { createFeedbackTracker } from "@countly/ai-sdk-core";
4
+ export type { FeedbackInput, FeedbackTracker, PromptInfo } from "@countly/ai-sdk-core";
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAMtD,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 { observeCohere } 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,aAAa,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,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-cohere",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Countly AI observability adapter for Cohere SDK",
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.3"
19
+ "@countly/ai-sdk-core": "0.0.4"
20
20
  },
21
21
  "peerDependencies": {
22
22
  "cohere-ai": ">=7.0.0"