agentic-kit 1.2.0 → 1.3.1
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/esm/index.js +2 -9
- package/esm/messages.js +18 -1
- package/index.js +1 -8
- package/messages.d.ts +3 -1
- package/messages.js +20 -1
- package/package.json +5 -5
- package/types.d.ts +1 -0
package/esm/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { ANTHROPIC_MODELS, AnthropicAdapter } from '@agentic-kit/anthropic';
|
|
|
2
2
|
import { OLLAMA_MODELS, OllamaAdapter, OllamaClient } from '@agentic-kit/ollama';
|
|
3
3
|
import { OPENAI_COMPATIBLE_MODELS, OpenAIAdapter, } from '@agentic-kit/openai';
|
|
4
4
|
import { createAssistantMessageEventStream, EventStream } from './event-stream.js';
|
|
5
|
-
import { getMessageText, normalizeContext } from './messages.js';
|
|
5
|
+
import { createEmptyUsage, getMessageText, normalizeContext } from './messages.js';
|
|
6
6
|
import { clearModels, getModel, getModels, getProviders as getModelProviders, registerModel, registerModels, } from './model-registry.js';
|
|
7
7
|
import { clearProviders, getProvider as getRegisteredProvider, getProviders as getRegisteredProviders, registerProvider, unregisterProviders, } from './provider-registry.js';
|
|
8
8
|
import { transformMessages } from './transform-messages.js';
|
|
@@ -128,14 +128,7 @@ function legacyInputToContext(input) {
|
|
|
128
128
|
provider: 'legacy',
|
|
129
129
|
model: input.model,
|
|
130
130
|
content: [{ type: 'text', text: message.content }],
|
|
131
|
-
usage:
|
|
132
|
-
input: 0,
|
|
133
|
-
output: 0,
|
|
134
|
-
cacheRead: 0,
|
|
135
|
-
cacheWrite: 0,
|
|
136
|
-
totalTokens: 0,
|
|
137
|
-
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
|
|
138
|
-
},
|
|
131
|
+
usage: createEmptyUsage(),
|
|
139
132
|
stopReason: 'stop',
|
|
140
133
|
timestamp: Date.now(),
|
|
141
134
|
}
|
package/esm/messages.js
CHANGED
|
@@ -2,6 +2,7 @@ export function createEmptyUsage() {
|
|
|
2
2
|
return {
|
|
3
3
|
input: 0,
|
|
4
4
|
output: 0,
|
|
5
|
+
reasoning: 0,
|
|
5
6
|
cacheRead: 0,
|
|
6
7
|
cacheWrite: 0,
|
|
7
8
|
totalTokens: 0,
|
|
@@ -22,7 +23,23 @@ export function calculateUsageCost(model, usage) {
|
|
|
22
23
|
usage.cost.cacheWrite = ((schedule?.cacheWrite ?? 0) / 1_000_000) * usage.cacheWrite;
|
|
23
24
|
usage.cost.total =
|
|
24
25
|
usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;
|
|
25
|
-
|
|
26
|
+
}
|
|
27
|
+
export function snapshotUsage(usage) {
|
|
28
|
+
return { ...usage, cost: { ...usage.cost } };
|
|
29
|
+
}
|
|
30
|
+
export function addUsage(target, delta) {
|
|
31
|
+
target.input += delta.input;
|
|
32
|
+
target.output += delta.output;
|
|
33
|
+
target.reasoning += delta.reasoning;
|
|
34
|
+
target.cacheRead += delta.cacheRead;
|
|
35
|
+
target.cacheWrite += delta.cacheWrite;
|
|
36
|
+
target.totalTokens += delta.totalTokens;
|
|
37
|
+
target.cost.input += delta.cost.input;
|
|
38
|
+
target.cost.output += delta.cost.output;
|
|
39
|
+
target.cost.cacheRead += delta.cost.cacheRead;
|
|
40
|
+
target.cost.cacheWrite += delta.cost.cacheWrite;
|
|
41
|
+
target.cost.total += delta.cost.total;
|
|
42
|
+
return target;
|
|
26
43
|
}
|
|
27
44
|
export function createAssistantMessage(model) {
|
|
28
45
|
return {
|
package/index.js
CHANGED
|
@@ -167,14 +167,7 @@ function legacyInputToContext(input) {
|
|
|
167
167
|
provider: 'legacy',
|
|
168
168
|
model: input.model,
|
|
169
169
|
content: [{ type: 'text', text: message.content }],
|
|
170
|
-
usage:
|
|
171
|
-
input: 0,
|
|
172
|
-
output: 0,
|
|
173
|
-
cacheRead: 0,
|
|
174
|
-
cacheWrite: 0,
|
|
175
|
-
totalTokens: 0,
|
|
176
|
-
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
|
|
177
|
-
},
|
|
170
|
+
usage: (0, messages_js_1.createEmptyUsage)(),
|
|
178
171
|
stopReason: 'stop',
|
|
179
172
|
timestamp: Date.now(),
|
|
180
173
|
}
|
package/messages.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { AssistantMessage, Context, ImageContent, Message, ModelDescriptor, TextContent, ToolCallContent, ToolResultMessage, Usage, UserMessage } from './types.js';
|
|
2
2
|
export declare function createEmptyUsage(): Usage;
|
|
3
|
-
export declare function calculateUsageCost(model: ModelDescriptor, usage: Usage):
|
|
3
|
+
export declare function calculateUsageCost(model: ModelDescriptor, usage: Usage): void;
|
|
4
|
+
export declare function snapshotUsage(usage: Usage): Usage;
|
|
5
|
+
export declare function addUsage(target: Usage, delta: Usage): Usage;
|
|
4
6
|
export declare function createAssistantMessage(model: ModelDescriptor): AssistantMessage;
|
|
5
7
|
export declare function createTextContent(text?: string): TextContent;
|
|
6
8
|
export declare function createImageContent(data: string, mimeType: string): ImageContent;
|
package/messages.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createEmptyUsage = createEmptyUsage;
|
|
4
4
|
exports.calculateUsageCost = calculateUsageCost;
|
|
5
|
+
exports.snapshotUsage = snapshotUsage;
|
|
6
|
+
exports.addUsage = addUsage;
|
|
5
7
|
exports.createAssistantMessage = createAssistantMessage;
|
|
6
8
|
exports.createTextContent = createTextContent;
|
|
7
9
|
exports.createImageContent = createImageContent;
|
|
@@ -16,6 +18,7 @@ function createEmptyUsage() {
|
|
|
16
18
|
return {
|
|
17
19
|
input: 0,
|
|
18
20
|
output: 0,
|
|
21
|
+
reasoning: 0,
|
|
19
22
|
cacheRead: 0,
|
|
20
23
|
cacheWrite: 0,
|
|
21
24
|
totalTokens: 0,
|
|
@@ -36,7 +39,23 @@ function calculateUsageCost(model, usage) {
|
|
|
36
39
|
usage.cost.cacheWrite = ((schedule?.cacheWrite ?? 0) / 1_000_000) * usage.cacheWrite;
|
|
37
40
|
usage.cost.total =
|
|
38
41
|
usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;
|
|
39
|
-
|
|
42
|
+
}
|
|
43
|
+
function snapshotUsage(usage) {
|
|
44
|
+
return { ...usage, cost: { ...usage.cost } };
|
|
45
|
+
}
|
|
46
|
+
function addUsage(target, delta) {
|
|
47
|
+
target.input += delta.input;
|
|
48
|
+
target.output += delta.output;
|
|
49
|
+
target.reasoning += delta.reasoning;
|
|
50
|
+
target.cacheRead += delta.cacheRead;
|
|
51
|
+
target.cacheWrite += delta.cacheWrite;
|
|
52
|
+
target.totalTokens += delta.totalTokens;
|
|
53
|
+
target.cost.input += delta.cost.input;
|
|
54
|
+
target.cost.output += delta.cost.output;
|
|
55
|
+
target.cost.cacheRead += delta.cost.cacheRead;
|
|
56
|
+
target.cost.cacheWrite += delta.cost.cacheWrite;
|
|
57
|
+
target.cost.total += delta.cost.total;
|
|
58
|
+
return target;
|
|
40
59
|
}
|
|
41
60
|
function createAssistantMessage(model) {
|
|
42
61
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-kit",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"author": "Dan Lynch <pyramation@gmail.com>",
|
|
5
5
|
"description": "Provider-agnostic LLM adapter with streaming and multi-turn support",
|
|
6
6
|
"main": "index.js",
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
"test:watch": "jest --watch"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@agentic-kit/anthropic": "1.2.
|
|
41
|
-
"@agentic-kit/ollama": "
|
|
42
|
-
"@agentic-kit/openai": "1.2.
|
|
40
|
+
"@agentic-kit/anthropic": "1.2.1",
|
|
41
|
+
"@agentic-kit/ollama": "2.0.0",
|
|
42
|
+
"@agentic-kit/openai": "1.2.1"
|
|
43
43
|
},
|
|
44
44
|
"keywords": [],
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "c2b13e65b26f14c9983e9b7cc4eafbe4919b13d4"
|
|
46
46
|
}
|