@legioncodeinc/honeycomb 0.1.9 → 0.1.10
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +18 -2
- package/bundle/cli.js +19 -3
- package/daemon/index.js +171 -31
- package/embeddings/embed-daemon.js +1 -1
- package/harnesses/claude-code/.claude-plugin/plugin.json +1 -1
- package/harnesses/claude-code/bundle/capture.js +132 -22
- package/harnesses/claude-code/bundle/index.js +132 -22
- package/harnesses/claude-code/bundle/pre-tool-use.js +132 -22
- package/harnesses/claude-code/bundle/session-end.js +132 -22
- package/harnesses/claude-code/bundle/session-start.js +132 -22
- package/harnesses/codex/bundle/capture.js +4 -2
- package/harnesses/codex/bundle/index.js +4 -2
- package/harnesses/codex/bundle/pre-tool-use.js +4 -2
- package/harnesses/codex/bundle/session-start.js +4 -2
- package/harnesses/codex/package.json +1 -1
- package/harnesses/cursor/bundle/capture.js +4 -2
- package/harnesses/cursor/bundle/index.js +4 -2
- package/harnesses/cursor/bundle/pre-tool-use.js +4 -2
- package/harnesses/cursor/bundle/session-end.js +4 -2
- package/harnesses/cursor/bundle/session-start.js +4 -2
- package/harnesses/openclaw/dist/index.js +1 -1
- package/harnesses/openclaw/openclaw.plugin.json +1 -1
- package/harnesses/openclaw/package.json +1 -1
- package/mcp/bundle/server.js +1 -1
- package/package.json +1 -1
|
@@ -92,12 +92,14 @@ function nestedString(raw, a, b) {
|
|
|
92
92
|
function userMessageData(text) {
|
|
93
93
|
return { kind: "user_message", text };
|
|
94
94
|
}
|
|
95
|
-
function assistantMessageData(text, usage) {
|
|
95
|
+
function assistantMessageData(text, usage, model) {
|
|
96
96
|
const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
|
|
97
|
+
const trimmedModel = typeof model === "string" ? model.trim() : "";
|
|
97
98
|
return {
|
|
98
99
|
kind: "assistant_message",
|
|
99
100
|
text,
|
|
100
|
-
...normalized !== void 0 ? { usage: normalized } : {}
|
|
101
|
+
...normalized !== void 0 ? { usage: normalized } : {},
|
|
102
|
+
...trimmedModel !== "" ? { model: trimmedModel } : {}
|
|
101
103
|
};
|
|
102
104
|
}
|
|
103
105
|
function compactUsage(usage) {
|
|
@@ -167,6 +169,112 @@ function preToolData(tool, fields) {
|
|
|
167
169
|
};
|
|
168
170
|
}
|
|
169
171
|
|
|
172
|
+
// dist/src/hooks/claude-code/transcript.js
|
|
173
|
+
import { readFileSync } from "node:fs";
|
|
174
|
+
function parseTurnUsage(jsonlText) {
|
|
175
|
+
const entries = parseEntries(jsonlText);
|
|
176
|
+
let lastUserIndex = -1;
|
|
177
|
+
for (let i = 0; i < entries.length; i++) {
|
|
178
|
+
if (entryType(entries[i]) === "user")
|
|
179
|
+
lastUserIndex = i;
|
|
180
|
+
}
|
|
181
|
+
const totals = new TurnTotals();
|
|
182
|
+
let lastModel;
|
|
183
|
+
let sawAssistant = false;
|
|
184
|
+
for (let i = lastUserIndex + 1; i < entries.length; i++) {
|
|
185
|
+
const entry = entries[i];
|
|
186
|
+
if (entryType(entry) !== "assistant")
|
|
187
|
+
continue;
|
|
188
|
+
sawAssistant = true;
|
|
189
|
+
totals.add(messageOf(entry));
|
|
190
|
+
const model = modelOf(entry);
|
|
191
|
+
if (model !== void 0)
|
|
192
|
+
lastModel = model;
|
|
193
|
+
}
|
|
194
|
+
if (!sawAssistant)
|
|
195
|
+
return {};
|
|
196
|
+
const usage = totals.toUsage();
|
|
197
|
+
return {
|
|
198
|
+
...lastModel !== void 0 ? { model: lastModel } : {},
|
|
199
|
+
...usage !== void 0 ? { usage } : {}
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
function readTranscriptTurnUsage(transcriptPath) {
|
|
203
|
+
if (transcriptPath.length === 0)
|
|
204
|
+
return {};
|
|
205
|
+
let text;
|
|
206
|
+
try {
|
|
207
|
+
text = readFileSync(transcriptPath, "utf8");
|
|
208
|
+
} catch {
|
|
209
|
+
return {};
|
|
210
|
+
}
|
|
211
|
+
return parseTurnUsage(text);
|
|
212
|
+
}
|
|
213
|
+
function parseEntries(jsonlText) {
|
|
214
|
+
const out = [];
|
|
215
|
+
for (const line of jsonlText.split("\n")) {
|
|
216
|
+
const trimmed = line.trim();
|
|
217
|
+
if (trimmed.length === 0)
|
|
218
|
+
continue;
|
|
219
|
+
let parsed;
|
|
220
|
+
try {
|
|
221
|
+
parsed = JSON.parse(trimmed);
|
|
222
|
+
} catch {
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
if (parsed !== null && typeof parsed === "object")
|
|
226
|
+
out.push(parsed);
|
|
227
|
+
}
|
|
228
|
+
return out;
|
|
229
|
+
}
|
|
230
|
+
function entryType(entry) {
|
|
231
|
+
return typeof entry.type === "string" ? entry.type : "";
|
|
232
|
+
}
|
|
233
|
+
function messageOf(entry) {
|
|
234
|
+
const message = entry.message;
|
|
235
|
+
return message !== null && typeof message === "object" ? message : {};
|
|
236
|
+
}
|
|
237
|
+
function modelOf(entry) {
|
|
238
|
+
const model = messageOf(entry).model;
|
|
239
|
+
return typeof model === "string" && model.length > 0 ? model : void 0;
|
|
240
|
+
}
|
|
241
|
+
var TurnTotals = class {
|
|
242
|
+
input;
|
|
243
|
+
output;
|
|
244
|
+
cacheRead;
|
|
245
|
+
cacheCreation;
|
|
246
|
+
/** Fold one assistant `message.usage` block's counts into the running totals (absent counts skipped). */
|
|
247
|
+
add(message) {
|
|
248
|
+
const usage = message.usage;
|
|
249
|
+
const block = usage !== null && typeof usage === "object" ? usage : {};
|
|
250
|
+
this.input = addCount(this.input, readCount2(block, "input_tokens"));
|
|
251
|
+
this.output = addCount(this.output, readCount2(block, "output_tokens"));
|
|
252
|
+
this.cacheRead = addCount(this.cacheRead, readCount2(block, "cache_read_input_tokens"));
|
|
253
|
+
this.cacheCreation = addCount(this.cacheCreation, readCount2(block, "cache_creation_input_tokens"));
|
|
254
|
+
}
|
|
255
|
+
/** Compact the totals into a {@link NormalizedTurnUsage}, or `undefined` when every bucket stayed absent. */
|
|
256
|
+
toUsage() {
|
|
257
|
+
const usage = {
|
|
258
|
+
...this.input !== void 0 ? { input: this.input } : {},
|
|
259
|
+
...this.output !== void 0 ? { output: this.output } : {},
|
|
260
|
+
...this.cacheRead !== void 0 ? { cacheRead: this.cacheRead } : {},
|
|
261
|
+
...this.cacheCreation !== void 0 ? { cacheCreation: this.cacheCreation } : {}
|
|
262
|
+
};
|
|
263
|
+
return Object.keys(usage).length > 0 ? usage : void 0;
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
function addCount(running, addend) {
|
|
267
|
+
if (addend === void 0)
|
|
268
|
+
return running;
|
|
269
|
+
return (running ?? 0) + addend;
|
|
270
|
+
}
|
|
271
|
+
function readCount2(block, key) {
|
|
272
|
+
const value = block[key];
|
|
273
|
+
if (typeof value !== "number" || !Number.isInteger(value) || value < 0)
|
|
274
|
+
return void 0;
|
|
275
|
+
return value;
|
|
276
|
+
}
|
|
277
|
+
|
|
170
278
|
// dist/src/hooks/claude-code/shim.js
|
|
171
279
|
var CLAUDE_CODE_EVENT_MAP = {
|
|
172
280
|
SessionStart: "session-start",
|
|
@@ -181,7 +289,7 @@ var CLAUDE_CODE_CONTEXT_CHANNEL = "model-only";
|
|
|
181
289
|
var CLAUDE_CODE_RUNTIME_PATH = "legacy";
|
|
182
290
|
var CLAUDE_CODE_HOST_CLI = { bin: "claude", args: ["-p"] };
|
|
183
291
|
var CLAUDE_CODE_REFERENCES = "references/claude-code/";
|
|
184
|
-
function claudeCodeExtractData(raw, logical) {
|
|
292
|
+
function claudeCodeExtractData(raw, logical, meta3) {
|
|
185
293
|
switch (logical) {
|
|
186
294
|
case "session-start":
|
|
187
295
|
return sessionStartData(pickString(raw, "source") || "startup");
|
|
@@ -195,8 +303,11 @@ function claudeCodeExtractData(raw, logical) {
|
|
|
195
303
|
});
|
|
196
304
|
case "tool_call":
|
|
197
305
|
return toolCallData(pickString(raw, "tool_name", "tool"), nested(raw, "tool_input"), nested(raw, "tool_response"));
|
|
198
|
-
case "assistant_message":
|
|
199
|
-
|
|
306
|
+
case "assistant_message": {
|
|
307
|
+
const fromTranscript = readTranscriptTurnUsage(meta3.path ?? "");
|
|
308
|
+
const usage = fromTranscript.usage ?? extractTurnUsage(raw);
|
|
309
|
+
return assistantMessageData(pickString(raw, "text", "message"), usage, fromTranscript.model);
|
|
310
|
+
}
|
|
200
311
|
case "session-end":
|
|
201
312
|
return sessionEndData(pickString(raw, "reason") || "Stop");
|
|
202
313
|
default:
|
|
@@ -211,9 +322,8 @@ function createClaudeCodeShim() {
|
|
|
211
322
|
hostCli: CLAUDE_CODE_HOST_CLI,
|
|
212
323
|
references: CLAUDE_CODE_REFERENCES,
|
|
213
324
|
eventMap: CLAUDE_CODE_EVENT_MAP,
|
|
214
|
-
extractData(raw, logical,
|
|
215
|
-
|
|
216
|
-
return claudeCodeExtractData(raw, logical);
|
|
325
|
+
extractData(raw, logical, meta3) {
|
|
326
|
+
return claudeCodeExtractData(raw, logical, meta3);
|
|
217
327
|
}
|
|
218
328
|
});
|
|
219
329
|
}
|
|
@@ -327,7 +437,7 @@ function createNotificationsPipeline(deps) {
|
|
|
327
437
|
}
|
|
328
438
|
|
|
329
439
|
// dist/src/notifications/state.js
|
|
330
|
-
import { closeSync, existsSync, mkdirSync, openSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
440
|
+
import { closeSync, existsSync, mkdirSync, openSync, readFileSync as readFileSync2, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
331
441
|
import { homedir } from "node:os";
|
|
332
442
|
import { join } from "node:path";
|
|
333
443
|
var STATE_FILE_NAME = "notifications-state.json";
|
|
@@ -349,7 +459,7 @@ var nodeStateFs = {
|
|
|
349
459
|
return existsSync(path);
|
|
350
460
|
},
|
|
351
461
|
readText(path) {
|
|
352
|
-
return
|
|
462
|
+
return readFileSync2(path, "utf-8");
|
|
353
463
|
},
|
|
354
464
|
writeText(path, contents) {
|
|
355
465
|
writeFileSync(path, contents, "utf-8");
|
|
@@ -525,7 +635,7 @@ async function parseJson(res) {
|
|
|
525
635
|
}
|
|
526
636
|
|
|
527
637
|
// dist/src/hooks/shared/credential-reader.js
|
|
528
|
-
import { existsSync as existsSync2, readFileSync as
|
|
638
|
+
import { existsSync as existsSync2, readFileSync as readFileSync3 } from "node:fs";
|
|
529
639
|
import { homedir as homedir2 } from "node:os";
|
|
530
640
|
import { join as join2 } from "node:path";
|
|
531
641
|
var CREDENTIALS_DIR_NAME = ".deeplake";
|
|
@@ -559,7 +669,7 @@ function readFileCredential(path) {
|
|
|
559
669
|
return void 0;
|
|
560
670
|
let parsed;
|
|
561
671
|
try {
|
|
562
|
-
parsed = JSON.parse(
|
|
672
|
+
parsed = JSON.parse(readFileSync3(path, "utf8"));
|
|
563
673
|
} catch {
|
|
564
674
|
return void 0;
|
|
565
675
|
}
|
|
@@ -683,7 +793,7 @@ var IDENTITY_ADAPTER = Object.freeze({
|
|
|
683
793
|
});
|
|
684
794
|
|
|
685
795
|
// dist/src/daemon-client/assets/install.js
|
|
686
|
-
import { existsSync as existsSync3, mkdirSync as mkdirSync2, readFileSync as
|
|
796
|
+
import { existsSync as existsSync3, mkdirSync as mkdirSync2, readFileSync as readFileSync4, renameSync as renameSync2, rmSync, writeFileSync as writeFileSync2 } from "node:fs";
|
|
687
797
|
import { homedir as homedir3 } from "node:os";
|
|
688
798
|
import { dirname, join as join3, resolve } from "node:path";
|
|
689
799
|
var ASSETS_API_BASE = "/api/assets";
|
|
@@ -847,7 +957,7 @@ function retract(dir, _file2) {
|
|
|
847
957
|
}
|
|
848
958
|
function readLocalMarker(dir) {
|
|
849
959
|
try {
|
|
850
|
-
const raw =
|
|
960
|
+
const raw = readFileSync4(join3(dir, ASSET_MARKER), "utf-8");
|
|
851
961
|
const parsed = JSON.parse(raw);
|
|
852
962
|
if (typeof parsed !== "object" || parsed === null)
|
|
853
963
|
return null;
|
|
@@ -970,7 +1080,7 @@ function asPulledAsset(value) {
|
|
|
970
1080
|
}
|
|
971
1081
|
|
|
972
1082
|
// dist/src/daemon-client/skillify/install.js
|
|
973
|
-
import { existsSync as existsSync4, lstatSync, mkdirSync as mkdirSync3, readFileSync as
|
|
1083
|
+
import { existsSync as existsSync4, lstatSync, mkdirSync as mkdirSync3, readFileSync as readFileSync5, readlinkSync, renameSync as renameSync3, rmSync as rmSync2, symlinkSync, unlinkSync as unlinkSync2, writeFileSync as writeFileSync3 } from "node:fs";
|
|
974
1084
|
import { homedir as homedir4 } from "node:os";
|
|
975
1085
|
import { dirname as dirname2, join as join4, resolve as resolve2 } from "node:path";
|
|
976
1086
|
var AUTOPULL_DISABLED_ENV = "HONEYCOMB_AUTOPULL_DISABLED";
|
|
@@ -978,7 +1088,7 @@ var AUTOPULL_TIMEOUT_MS = 5e3;
|
|
|
978
1088
|
var CLAUDE_SKILLS = join4(".claude", "skills");
|
|
979
1089
|
|
|
980
1090
|
// dist/src/daemon-client/skillify/config.js
|
|
981
|
-
import { mkdirSync as mkdirSync4, readFileSync as
|
|
1091
|
+
import { mkdirSync as mkdirSync4, readFileSync as readFileSync6, writeFileSync as writeFileSync4 } from "node:fs";
|
|
982
1092
|
import { homedir as homedir5 } from "node:os";
|
|
983
1093
|
import { dirname as dirname3, join as join5 } from "node:path";
|
|
984
1094
|
var DEFAULT_CONFIG = Object.freeze({
|
|
@@ -988,12 +1098,12 @@ var DEFAULT_CONFIG = Object.freeze({
|
|
|
988
1098
|
});
|
|
989
1099
|
|
|
990
1100
|
// dist/src/daemon-client/skillify/manifest.js
|
|
991
|
-
import { mkdirSync as mkdirSync5, readFileSync as
|
|
1101
|
+
import { mkdirSync as mkdirSync5, readFileSync as readFileSync8, renameSync as renameSync5, writeFileSync as writeFileSync5 } from "node:fs";
|
|
992
1102
|
import { homedir as homedir6 } from "node:os";
|
|
993
1103
|
import { dirname as dirname4, join as join6 } from "node:path";
|
|
994
1104
|
|
|
995
1105
|
// dist/src/daemon-client/skillify/migrate-manifest.js
|
|
996
|
-
import { existsSync as existsSync5, readFileSync as
|
|
1106
|
+
import { existsSync as existsSync5, readFileSync as readFileSync7, renameSync as renameSync4 } from "node:fs";
|
|
997
1107
|
|
|
998
1108
|
// dist/src/daemon-client/skillify/manifest.js
|
|
999
1109
|
var SKILL_ROW_DEFAULTS = Object.freeze({
|
|
@@ -1109,7 +1219,7 @@ function createLoopbackDaemonClient(options = {}) {
|
|
|
1109
1219
|
|
|
1110
1220
|
// dist/src/daemon/runtime/assets/device.js
|
|
1111
1221
|
import { randomUUID } from "node:crypto";
|
|
1112
|
-
import { mkdirSync as mkdirSync6, readFileSync as
|
|
1222
|
+
import { mkdirSync as mkdirSync6, readFileSync as readFileSync9, writeFileSync as writeFileSync6 } from "node:fs";
|
|
1113
1223
|
import { homedir as homedir7, hostname } from "node:os";
|
|
1114
1224
|
import { dirname as dirname5, join as join7 } from "node:path";
|
|
1115
1225
|
function honeycombHomeDir(homeDir = homedir7()) {
|
|
@@ -1139,7 +1249,7 @@ function loadOrCreateDevice(options = {}) {
|
|
|
1139
1249
|
}
|
|
1140
1250
|
function readDeviceRecord(filePath) {
|
|
1141
1251
|
try {
|
|
1142
|
-
const parsed = JSON.parse(
|
|
1252
|
+
const parsed = JSON.parse(readFileSync9(filePath, "utf-8"));
|
|
1143
1253
|
if (typeof parsed !== "object" || parsed === null)
|
|
1144
1254
|
return null;
|
|
1145
1255
|
const r = parsed;
|
|
@@ -15885,7 +15995,7 @@ async function runCaptureGuarded(env, ctx, capture, onError) {
|
|
|
15885
15995
|
|
|
15886
15996
|
// dist/src/hooks/shared/project-resolver.js
|
|
15887
15997
|
import { execFileSync } from "node:child_process";
|
|
15888
|
-
import { existsSync as existsSync6, mkdirSync as mkdirSync7, readFileSync as
|
|
15998
|
+
import { existsSync as existsSync6, mkdirSync as mkdirSync7, readFileSync as readFileSync10, writeFileSync as writeFileSync7 } from "node:fs";
|
|
15889
15999
|
import { homedir as homedir8 } from "node:os";
|
|
15890
16000
|
import { dirname as dirname6, join as join8, resolve as resolve3, sep } from "node:path";
|
|
15891
16001
|
var UNSORTED_PROJECT_ID = "__unsorted__";
|
|
@@ -15921,7 +16031,7 @@ function loadProjectsCache(dir) {
|
|
|
15921
16031
|
return emptyProjectsCache();
|
|
15922
16032
|
let raw;
|
|
15923
16033
|
try {
|
|
15924
|
-
raw =
|
|
16034
|
+
raw = readFileSync10(path, "utf8");
|
|
15925
16035
|
} catch {
|
|
15926
16036
|
return emptyProjectsCache();
|
|
15927
16037
|
}
|
|
@@ -83,12 +83,14 @@ function nested(raw, key) {
|
|
|
83
83
|
function userMessageData(text) {
|
|
84
84
|
return { kind: "user_message", text };
|
|
85
85
|
}
|
|
86
|
-
function assistantMessageData(text, usage) {
|
|
86
|
+
function assistantMessageData(text, usage, model) {
|
|
87
87
|
const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
|
|
88
|
+
const trimmedModel = typeof model === "string" ? model.trim() : "";
|
|
88
89
|
return {
|
|
89
90
|
kind: "assistant_message",
|
|
90
91
|
text,
|
|
91
|
-
...normalized !== void 0 ? { usage: normalized } : {}
|
|
92
|
+
...normalized !== void 0 ? { usage: normalized } : {},
|
|
93
|
+
...trimmedModel !== "" ? { model: trimmedModel } : {}
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
function compactUsage(usage) {
|
|
@@ -83,12 +83,14 @@ function nested(raw, key) {
|
|
|
83
83
|
function userMessageData(text) {
|
|
84
84
|
return { kind: "user_message", text };
|
|
85
85
|
}
|
|
86
|
-
function assistantMessageData(text, usage) {
|
|
86
|
+
function assistantMessageData(text, usage, model) {
|
|
87
87
|
const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
|
|
88
|
+
const trimmedModel = typeof model === "string" ? model.trim() : "";
|
|
88
89
|
return {
|
|
89
90
|
kind: "assistant_message",
|
|
90
91
|
text,
|
|
91
|
-
...normalized !== void 0 ? { usage: normalized } : {}
|
|
92
|
+
...normalized !== void 0 ? { usage: normalized } : {},
|
|
93
|
+
...trimmedModel !== "" ? { model: trimmedModel } : {}
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
function compactUsage(usage) {
|
|
@@ -83,12 +83,14 @@ function nested(raw, key) {
|
|
|
83
83
|
function userMessageData(text) {
|
|
84
84
|
return { kind: "user_message", text };
|
|
85
85
|
}
|
|
86
|
-
function assistantMessageData(text, usage) {
|
|
86
|
+
function assistantMessageData(text, usage, model) {
|
|
87
87
|
const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
|
|
88
|
+
const trimmedModel = typeof model === "string" ? model.trim() : "";
|
|
88
89
|
return {
|
|
89
90
|
kind: "assistant_message",
|
|
90
91
|
text,
|
|
91
|
-
...normalized !== void 0 ? { usage: normalized } : {}
|
|
92
|
+
...normalized !== void 0 ? { usage: normalized } : {},
|
|
93
|
+
...trimmedModel !== "" ? { model: trimmedModel } : {}
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
function compactUsage(usage) {
|
|
@@ -83,12 +83,14 @@ function nested(raw, key) {
|
|
|
83
83
|
function userMessageData(text) {
|
|
84
84
|
return { kind: "user_message", text };
|
|
85
85
|
}
|
|
86
|
-
function assistantMessageData(text, usage) {
|
|
86
|
+
function assistantMessageData(text, usage, model) {
|
|
87
87
|
const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
|
|
88
|
+
const trimmedModel = typeof model === "string" ? model.trim() : "";
|
|
88
89
|
return {
|
|
89
90
|
kind: "assistant_message",
|
|
90
91
|
text,
|
|
91
|
-
...normalized !== void 0 ? { usage: normalized } : {}
|
|
92
|
+
...normalized !== void 0 ? { usage: normalized } : {},
|
|
93
|
+
...trimmedModel !== "" ? { model: trimmedModel } : {}
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
function compactUsage(usage) {
|
|
@@ -83,12 +83,14 @@ function nested(raw, key) {
|
|
|
83
83
|
function userMessageData(text) {
|
|
84
84
|
return { kind: "user_message", text };
|
|
85
85
|
}
|
|
86
|
-
function assistantMessageData(text, usage) {
|
|
86
|
+
function assistantMessageData(text, usage, model) {
|
|
87
87
|
const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
|
|
88
|
+
const trimmedModel = typeof model === "string" ? model.trim() : "";
|
|
88
89
|
return {
|
|
89
90
|
kind: "assistant_message",
|
|
90
91
|
text,
|
|
91
|
-
...normalized !== void 0 ? { usage: normalized } : {}
|
|
92
|
+
...normalized !== void 0 ? { usage: normalized } : {},
|
|
93
|
+
...trimmedModel !== "" ? { model: trimmedModel } : {}
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
function compactUsage(usage) {
|
|
@@ -83,12 +83,14 @@ function nested(raw, key) {
|
|
|
83
83
|
function userMessageData(text) {
|
|
84
84
|
return { kind: "user_message", text };
|
|
85
85
|
}
|
|
86
|
-
function assistantMessageData(text, usage) {
|
|
86
|
+
function assistantMessageData(text, usage, model) {
|
|
87
87
|
const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
|
|
88
|
+
const trimmedModel = typeof model === "string" ? model.trim() : "";
|
|
88
89
|
return {
|
|
89
90
|
kind: "assistant_message",
|
|
90
91
|
text,
|
|
91
|
-
...normalized !== void 0 ? { usage: normalized } : {}
|
|
92
|
+
...normalized !== void 0 ? { usage: normalized } : {},
|
|
93
|
+
...trimmedModel !== "" ? { model: trimmedModel } : {}
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
function compactUsage(usage) {
|
|
@@ -83,12 +83,14 @@ function nested(raw, key) {
|
|
|
83
83
|
function userMessageData(text) {
|
|
84
84
|
return { kind: "user_message", text };
|
|
85
85
|
}
|
|
86
|
-
function assistantMessageData(text, usage) {
|
|
86
|
+
function assistantMessageData(text, usage, model) {
|
|
87
87
|
const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
|
|
88
|
+
const trimmedModel = typeof model === "string" ? model.trim() : "";
|
|
88
89
|
return {
|
|
89
90
|
kind: "assistant_message",
|
|
90
91
|
text,
|
|
91
|
-
...normalized !== void 0 ? { usage: normalized } : {}
|
|
92
|
+
...normalized !== void 0 ? { usage: normalized } : {},
|
|
93
|
+
...trimmedModel !== "" ? { model: trimmedModel } : {}
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
function compactUsage(usage) {
|
|
@@ -83,12 +83,14 @@ function nested(raw, key) {
|
|
|
83
83
|
function userMessageData(text) {
|
|
84
84
|
return { kind: "user_message", text };
|
|
85
85
|
}
|
|
86
|
-
function assistantMessageData(text, usage) {
|
|
86
|
+
function assistantMessageData(text, usage, model) {
|
|
87
87
|
const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
|
|
88
|
+
const trimmedModel = typeof model === "string" ? model.trim() : "";
|
|
88
89
|
return {
|
|
89
90
|
kind: "assistant_message",
|
|
90
91
|
text,
|
|
91
|
-
...normalized !== void 0 ? { usage: normalized } : {}
|
|
92
|
+
...normalized !== void 0 ? { usage: normalized } : {},
|
|
93
|
+
...trimmedModel !== "" ? { model: trimmedModel } : {}
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
function compactUsage(usage) {
|
|
@@ -83,12 +83,14 @@ function nested(raw, key) {
|
|
|
83
83
|
function userMessageData(text) {
|
|
84
84
|
return { kind: "user_message", text };
|
|
85
85
|
}
|
|
86
|
-
function assistantMessageData(text, usage) {
|
|
86
|
+
function assistantMessageData(text, usage, model) {
|
|
87
87
|
const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
|
|
88
|
+
const trimmedModel = typeof model === "string" ? model.trim() : "";
|
|
88
89
|
return {
|
|
89
90
|
kind: "assistant_message",
|
|
90
91
|
text,
|
|
91
|
-
...normalized !== void 0 ? { usage: normalized } : {}
|
|
92
|
+
...normalized !== void 0 ? { usage: normalized } : {},
|
|
93
|
+
...trimmedModel !== "" ? { model: trimmedModel } : {}
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
function compactUsage(usage) {
|
|
@@ -3,7 +3,7 @@ globalThis.__honeycomb_tuning__ ??= {};
|
|
|
3
3
|
// src/shared/constants.ts
|
|
4
4
|
var DAEMON_PORT = 3850;
|
|
5
5
|
var DAEMON_HOST = "127.0.0.1";
|
|
6
|
-
var HONEYCOMB_VERSION = true ? "0.1.
|
|
6
|
+
var HONEYCOMB_VERSION = true ? "0.1.10" : "0.0.0-dev";
|
|
7
7
|
|
|
8
8
|
// src/daemon-client/index.ts
|
|
9
9
|
function createDaemonClient(endpoint) {
|
package/mcp/bundle/server.js
CHANGED
|
@@ -6892,7 +6892,7 @@ var require_dist = __commonJS({
|
|
|
6892
6892
|
// dist/src/shared/constants.js
|
|
6893
6893
|
var DAEMON_PORT = 3850;
|
|
6894
6894
|
var DAEMON_HOST = "127.0.0.1";
|
|
6895
|
-
var HONEYCOMB_VERSION = true ? "0.1.
|
|
6895
|
+
var HONEYCOMB_VERSION = true ? "0.1.10" : "0.0.0-dev";
|
|
6896
6896
|
|
|
6897
6897
|
// dist/src/daemon-client/index.js
|
|
6898
6898
|
function createDaemonClient(endpoint) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@legioncodeinc/honeycomb",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"//go-public": "Go-public switches are flipped: scoped name, public+provenance publishConfig live, `private` removed. CI auth is npm Trusted Publishing (OIDC); there is NO NPM_TOKEN. The go-live procedure is RELEASING.md 'Cut the release': the first publish is a one-time manual 2FA bootstrap that creates the package, after which every CI publish from release.yaml is tokenless OIDC.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|