@pickle-pee/runtime 0.0.1 → 0.0.2
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/dist/adapters/pi-mono-event-bridge.d.ts +7 -2
- package/dist/adapters/pi-mono-event-bridge.js +86 -2
- package/dist/adapters/pi-mono-event-bridge.js.map +1 -1
- package/dist/events/runtime-event.d.ts +15 -1
- package/dist/services/event-normalizer.js +14 -0
- package/dist/services/event-normalizer.js.map +1 -1
- package/package.json +3 -3
|
@@ -6,9 +6,13 @@ type PiMonoBridgeEvent = {
|
|
|
6
6
|
} | {
|
|
7
7
|
type: "message_update";
|
|
8
8
|
assistantMessageEvent: {
|
|
9
|
-
type:
|
|
10
|
-
delta
|
|
9
|
+
type: string;
|
|
10
|
+
delta?: string;
|
|
11
|
+
partial?: unknown;
|
|
11
12
|
};
|
|
13
|
+
} | {
|
|
14
|
+
type: "message_end";
|
|
15
|
+
message?: unknown;
|
|
12
16
|
} | {
|
|
13
17
|
type: "tool_execution_start";
|
|
14
18
|
toolName: string;
|
|
@@ -41,6 +45,7 @@ export interface PiMonoBridgeState {
|
|
|
41
45
|
} | null;
|
|
42
46
|
readonly toolSet: readonly string[];
|
|
43
47
|
readonly toolStartedAtById: ReadonlyMap<string, number>;
|
|
48
|
+
readonly lastUsageSignature: string | null;
|
|
44
49
|
}
|
|
45
50
|
export interface PiMonoBridgeResult {
|
|
46
51
|
readonly rawEvents: readonly RawUpstreamEvent[];
|
|
@@ -7,12 +7,14 @@ function createInitialBridgeState(params) {
|
|
|
7
7
|
model: params.model,
|
|
8
8
|
toolSet: [...params.toolSet],
|
|
9
9
|
toolStartedAtById: new Map(),
|
|
10
|
+
lastUsageSignature: null,
|
|
10
11
|
};
|
|
11
12
|
}
|
|
12
13
|
function bridgePiMonoEvent(event, state) {
|
|
13
14
|
const timestamp = Date.now();
|
|
14
15
|
const rawEvents = [];
|
|
15
16
|
const toolStartedAtById = new Map(state.toolStartedAtById);
|
|
17
|
+
let lastUsageSignature = state.lastUsageSignature;
|
|
16
18
|
switch (event.type) {
|
|
17
19
|
case "agent_start":
|
|
18
20
|
rawEvents.push({
|
|
@@ -29,8 +31,17 @@ function bridgePiMonoEvent(event, state) {
|
|
|
29
31
|
type: "agent_end",
|
|
30
32
|
timestamp,
|
|
31
33
|
});
|
|
34
|
+
lastUsageSignature = null;
|
|
32
35
|
break;
|
|
33
36
|
case "message_update": {
|
|
37
|
+
pushUsageUpdate(rawEvents, timestamp, extractUsage(event.assistantMessageEvent.partial), false, {
|
|
38
|
+
get signature() {
|
|
39
|
+
return lastUsageSignature;
|
|
40
|
+
},
|
|
41
|
+
set signature(value) {
|
|
42
|
+
lastUsageSignature = value;
|
|
43
|
+
},
|
|
44
|
+
});
|
|
34
45
|
const delta = extractMessageDelta(event);
|
|
35
46
|
if (delta !== null) {
|
|
36
47
|
rawEvents.push({
|
|
@@ -44,6 +55,16 @@ function bridgePiMonoEvent(event, state) {
|
|
|
44
55
|
}
|
|
45
56
|
break;
|
|
46
57
|
}
|
|
58
|
+
case "message_end":
|
|
59
|
+
pushUsageUpdate(rawEvents, timestamp, extractMessageUsage(event.message), true, {
|
|
60
|
+
get signature() {
|
|
61
|
+
return lastUsageSignature;
|
|
62
|
+
},
|
|
63
|
+
set signature(value) {
|
|
64
|
+
lastUsageSignature = value;
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
break;
|
|
47
68
|
case "tool_execution_start":
|
|
48
69
|
toolStartedAtById.set(event.toolCallId, timestamp);
|
|
49
70
|
rawEvents.push({
|
|
@@ -109,17 +130,18 @@ function bridgePiMonoEvent(event, state) {
|
|
|
109
130
|
model: state.model,
|
|
110
131
|
toolSet: state.toolSet,
|
|
111
132
|
toolStartedAtById,
|
|
133
|
+
lastUsageSignature,
|
|
112
134
|
},
|
|
113
135
|
};
|
|
114
136
|
}
|
|
115
137
|
function extractMessageDelta(event) {
|
|
116
|
-
if (event.assistantMessageEvent.type === "text_delta") {
|
|
138
|
+
if (event.assistantMessageEvent.type === "text_delta" && typeof event.assistantMessageEvent.delta === "string") {
|
|
117
139
|
return {
|
|
118
140
|
kind: "text",
|
|
119
141
|
content: event.assistantMessageEvent.delta,
|
|
120
142
|
};
|
|
121
143
|
}
|
|
122
|
-
if (event.assistantMessageEvent.type === "thinking_delta") {
|
|
144
|
+
if (event.assistantMessageEvent.type === "thinking_delta" && typeof event.assistantMessageEvent.delta === "string") {
|
|
123
145
|
return {
|
|
124
146
|
kind: "thinking",
|
|
125
147
|
content: event.assistantMessageEvent.delta,
|
|
@@ -127,6 +149,65 @@ function extractMessageDelta(event) {
|
|
|
127
149
|
}
|
|
128
150
|
return null;
|
|
129
151
|
}
|
|
152
|
+
function extractUsage(partial) {
|
|
153
|
+
if (!partial || typeof partial !== "object") {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
const usage = partial.usage;
|
|
157
|
+
return normalizeUsage(usage);
|
|
158
|
+
}
|
|
159
|
+
function extractMessageUsage(message) {
|
|
160
|
+
if (!message || typeof message !== "object") {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
if (message.role !== "assistant") {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
return normalizeUsage(message.usage);
|
|
167
|
+
}
|
|
168
|
+
function normalizeUsage(usage) {
|
|
169
|
+
if (!usage || typeof usage !== "object") {
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
const record = usage;
|
|
173
|
+
const input = asNumber(record.input) ?? 0;
|
|
174
|
+
const output = asNumber(record.output) ?? 0;
|
|
175
|
+
const cacheRead = asNumber(record.cacheRead) ?? 0;
|
|
176
|
+
const cacheWrite = asNumber(record.cacheWrite) ?? 0;
|
|
177
|
+
const totalTokens = asNumber(record.totalTokens) ?? input + output + cacheRead + cacheWrite;
|
|
178
|
+
if (input === 0 && output === 0 && cacheRead === 0 && cacheWrite === 0 && totalTokens === 0) {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
input,
|
|
183
|
+
output,
|
|
184
|
+
cacheRead,
|
|
185
|
+
cacheWrite,
|
|
186
|
+
totalTokens,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
function pushUsageUpdate(rawEvents, timestamp, usage, isFinal, state) {
|
|
190
|
+
if (!usage) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
const signature = `${usage.input}:${usage.output}:${usage.cacheRead}:${usage.cacheWrite}:${usage.totalTokens}:${isFinal ? 1 : 0}`;
|
|
194
|
+
if (state.signature === signature) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
state.signature = signature;
|
|
198
|
+
rawEvents.push({
|
|
199
|
+
type: "usage_update",
|
|
200
|
+
timestamp,
|
|
201
|
+
payload: {
|
|
202
|
+
input: usage.input,
|
|
203
|
+
output: usage.output,
|
|
204
|
+
cacheRead: usage.cacheRead,
|
|
205
|
+
cacheWrite: usage.cacheWrite,
|
|
206
|
+
totalTokens: usage.totalTokens,
|
|
207
|
+
isFinal,
|
|
208
|
+
},
|
|
209
|
+
});
|
|
210
|
+
}
|
|
130
211
|
function extractToolText(value) {
|
|
131
212
|
if (!value || typeof value !== "object") {
|
|
132
213
|
return undefined;
|
|
@@ -156,4 +237,7 @@ function asRecord(value) {
|
|
|
156
237
|
}
|
|
157
238
|
return { ...value };
|
|
158
239
|
}
|
|
240
|
+
function asNumber(value) {
|
|
241
|
+
return typeof value === "number" && Number.isFinite(value) ? value : undefined;
|
|
242
|
+
}
|
|
159
243
|
//# sourceMappingURL=pi-mono-event-bridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-mono-event-bridge.js","sourceRoot":"","sources":["../../src/adapters/pi-mono-event-bridge.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pi-mono-event-bridge.js","sourceRoot":"","sources":["../../src/adapters/pi-mono-event-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,4 +155,18 @@ export interface ThinkingDeltaEvent extends BaseEvent {
|
|
|
155
155
|
readonly content: string;
|
|
156
156
|
}
|
|
157
157
|
export type TextStreamEvent = TextDeltaEvent | ThinkingDeltaEvent;
|
|
158
|
-
export
|
|
158
|
+
export interface TokenUsage {
|
|
159
|
+
readonly input: number;
|
|
160
|
+
readonly output: number;
|
|
161
|
+
readonly cacheRead: number;
|
|
162
|
+
readonly cacheWrite: number;
|
|
163
|
+
readonly totalTokens: number;
|
|
164
|
+
}
|
|
165
|
+
export interface UsageUpdatedEvent extends BaseEvent {
|
|
166
|
+
readonly category: "usage";
|
|
167
|
+
readonly type: "usage_updated";
|
|
168
|
+
readonly usage: TokenUsage;
|
|
169
|
+
readonly isFinal: boolean;
|
|
170
|
+
}
|
|
171
|
+
export type UsageEvent = UsageUpdatedEvent;
|
|
172
|
+
export type RuntimeEvent = SessionLifecycleEvent | ToolExecutionEvent | PlanProgressEvent | CompactionEvent | PermissionDecisionEvent | TextStreamEvent | UsageEvent;
|
|
@@ -132,6 +132,20 @@ class EventNormalizer {
|
|
|
132
132
|
content: raw.payload?.content ?? "",
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
|
+
case "usage_update":
|
|
136
|
+
return {
|
|
137
|
+
...base,
|
|
138
|
+
category: "usage",
|
|
139
|
+
type: "usage_updated",
|
|
140
|
+
usage: {
|
|
141
|
+
input: raw.payload?.input ?? 0,
|
|
142
|
+
output: raw.payload?.output ?? 0,
|
|
143
|
+
cacheRead: raw.payload?.cacheRead ?? 0,
|
|
144
|
+
cacheWrite: raw.payload?.cacheWrite ?? 0,
|
|
145
|
+
totalTokens: raw.payload?.totalTokens ?? 0,
|
|
146
|
+
},
|
|
147
|
+
isFinal: raw.payload?.isFinal === true,
|
|
148
|
+
};
|
|
135
149
|
// -- Permission --
|
|
136
150
|
case "permission_request":
|
|
137
151
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-normalizer.js","sourceRoot":"","sources":["../../src/services/event-normalizer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"event-normalizer.js","sourceRoot":"","sources":["../../src/services/event-normalizer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pickle-pee/runtime",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "Product-layer runtime: session facade, plan execution, event normalization",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"test": "vitest run"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@pickle-pee/kernel": "0.0.
|
|
19
|
-
"@pickle-pee/tools": "0.0.
|
|
18
|
+
"@pickle-pee/kernel": "0.0.2",
|
|
19
|
+
"@pickle-pee/tools": "0.0.2"
|
|
20
20
|
},
|
|
21
21
|
"publishConfig": {
|
|
22
22
|
"access": "public"
|