@slock-ai/daemon 0.55.5 → 0.55.6
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/{chunk-NXNXMFLC.js → chunk-HAZSZDOZ.js} +57 -10
- package/dist/cli/index.js +1 -1
- package/dist/core.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -3175,7 +3175,7 @@ function collectModelUsageAttrs(value) {
|
|
|
3175
3175
|
modelUsageMaxOutputTokens: aggregate.maxOutputTokens
|
|
3176
3176
|
});
|
|
3177
3177
|
}
|
|
3178
|
-
function parseClaudeResultUsageTelemetry(event) {
|
|
3178
|
+
function parseClaudeResultUsageTelemetry(event, sessionId) {
|
|
3179
3179
|
const usage = event.usage && typeof event.usage === "object" ? event.usage : void 0;
|
|
3180
3180
|
const totalCostUsd = finiteNumber(event.total_cost_usd);
|
|
3181
3181
|
const modelUsageAttrs = collectModelUsageAttrs(event.modelUsage);
|
|
@@ -3224,12 +3224,16 @@ function parseClaudeResultUsageTelemetry(event) {
|
|
|
3224
3224
|
name: "token_usage",
|
|
3225
3225
|
source: "claude_result_usage",
|
|
3226
3226
|
usageKind: "per_turn",
|
|
3227
|
-
...
|
|
3227
|
+
...sessionId ? { sessionId } : {},
|
|
3228
3228
|
...typeof event.uuid === "string" && event.uuid ? { runtimeResultId: event.uuid } : {},
|
|
3229
3229
|
attrs
|
|
3230
3230
|
};
|
|
3231
3231
|
}
|
|
3232
3232
|
var ClaudeEventNormalizer = class {
|
|
3233
|
+
currentSession = null;
|
|
3234
|
+
get currentSessionId() {
|
|
3235
|
+
return this.currentSession;
|
|
3236
|
+
}
|
|
3233
3237
|
normalizeLine(line) {
|
|
3234
3238
|
let event;
|
|
3235
3239
|
try {
|
|
@@ -3238,13 +3242,17 @@ var ClaudeEventNormalizer = class {
|
|
|
3238
3242
|
return [];
|
|
3239
3243
|
}
|
|
3240
3244
|
const events = [];
|
|
3245
|
+
const eventSessionId = finiteString(event.session_id);
|
|
3246
|
+
if (eventSessionId) {
|
|
3247
|
+
this.currentSession = eventSessionId;
|
|
3248
|
+
}
|
|
3241
3249
|
const pushResultError = (message, fallback) => {
|
|
3242
3250
|
events.push({ kind: "error", message: collectResultErrorDetail(message, fallback) });
|
|
3243
3251
|
};
|
|
3244
3252
|
switch (event.type) {
|
|
3245
3253
|
case "system":
|
|
3246
|
-
if (event.subtype === "init" &&
|
|
3247
|
-
events.push({ kind: "session_init", sessionId:
|
|
3254
|
+
if (event.subtype === "init" && eventSessionId) {
|
|
3255
|
+
events.push({ kind: "session_init", sessionId: eventSessionId });
|
|
3248
3256
|
}
|
|
3249
3257
|
if (event.subtype === "status" && event.status === "compacting") {
|
|
3250
3258
|
events.push({ kind: "compaction_started" });
|
|
@@ -3303,7 +3311,8 @@ var ClaudeEventNormalizer = class {
|
|
|
3303
3311
|
case "result": {
|
|
3304
3312
|
const subtype = typeof event.subtype === "string" ? event.subtype : "success";
|
|
3305
3313
|
const stopReason = typeof event.stop_reason === "string" ? event.stop_reason : null;
|
|
3306
|
-
const
|
|
3314
|
+
const resultSessionId = eventSessionId ?? this.currentSession;
|
|
3315
|
+
const usageTelemetry = parseClaudeResultUsageTelemetry(event, resultSessionId);
|
|
3307
3316
|
switch (subtype) {
|
|
3308
3317
|
case "success":
|
|
3309
3318
|
if (event.is_error && stopReason !== "max_tokens") {
|
|
@@ -3326,7 +3335,7 @@ var ClaudeEventNormalizer = class {
|
|
|
3326
3335
|
break;
|
|
3327
3336
|
}
|
|
3328
3337
|
if (usageTelemetry) events.push(usageTelemetry);
|
|
3329
|
-
events.push({ kind: "turn_end", sessionId:
|
|
3338
|
+
events.push({ kind: "turn_end", sessionId: resultSessionId || void 0 });
|
|
3330
3339
|
break;
|
|
3331
3340
|
}
|
|
3332
3341
|
}
|
|
@@ -3680,6 +3689,9 @@ var ClaudeDriver = class {
|
|
|
3680
3689
|
parseLine(line) {
|
|
3681
3690
|
return this.eventNormalizer.normalizeLine(line);
|
|
3682
3691
|
}
|
|
3692
|
+
get currentSessionId() {
|
|
3693
|
+
return this.eventNormalizer.currentSessionId;
|
|
3694
|
+
}
|
|
3683
3695
|
encodeStdinMessage(text, sessionId, _opts) {
|
|
3684
3696
|
return JSON.stringify({
|
|
3685
3697
|
type: "user",
|
|
@@ -3861,6 +3873,9 @@ function rawResponseItemProgressEvent(message) {
|
|
|
3861
3873
|
payloadBytes
|
|
3862
3874
|
};
|
|
3863
3875
|
}
|
|
3876
|
+
function nonEmptyString(value) {
|
|
3877
|
+
return typeof value === "string" && value.length > 0 ? value : void 0;
|
|
3878
|
+
}
|
|
3864
3879
|
var CodexEventNormalizer = class {
|
|
3865
3880
|
mcpToolPrefix;
|
|
3866
3881
|
currentThreadId = null;
|
|
@@ -3913,10 +3928,17 @@ var CodexEventNormalizer = class {
|
|
|
3913
3928
|
}
|
|
3914
3929
|
const telemetry = parseCodexTelemetryEvent(message);
|
|
3915
3930
|
if (telemetry) {
|
|
3931
|
+
const telemetrySessionId = nonEmptyString(message.params?.threadId) ?? nonEmptyString(message.params?.thread?.id) ?? nonEmptyString(message.params?.sessionId);
|
|
3932
|
+
const telemetryTurnId = nonEmptyString(message.params?.turnId) ?? nonEmptyString(message.params?.turn?.id);
|
|
3933
|
+
if (telemetrySessionId) {
|
|
3934
|
+
this.currentThreadId = telemetrySessionId;
|
|
3935
|
+
}
|
|
3936
|
+
const sessionId = telemetrySessionId ?? this.currentThreadId ?? void 0;
|
|
3937
|
+
const turnId = telemetryTurnId ?? this.turnState.activeTurnId ?? void 0;
|
|
3916
3938
|
events.push({
|
|
3917
3939
|
...telemetry,
|
|
3918
|
-
...
|
|
3919
|
-
...
|
|
3940
|
+
...sessionId ? { sessionId } : {},
|
|
3941
|
+
...turnId ? { turnId } : {}
|
|
3920
3942
|
});
|
|
3921
3943
|
return { events };
|
|
3922
3944
|
}
|
|
@@ -4365,6 +4387,9 @@ var CodexDriver = class {
|
|
|
4365
4387
|
}
|
|
4366
4388
|
return result.events;
|
|
4367
4389
|
}
|
|
4390
|
+
get currentSessionId() {
|
|
4391
|
+
return this.normalizer.threadId;
|
|
4392
|
+
}
|
|
4368
4393
|
encodeStdinMessage(text, sessionId, opts) {
|
|
4369
4394
|
if (!this.normalizer.threadId && sessionId) {
|
|
4370
4395
|
this.normalizer.adoptThreadId(sessionId);
|
|
@@ -7724,6 +7749,26 @@ function runtimeTraceCounterAttrs(ap) {
|
|
|
7724
7749
|
runtime_thinking_events_count: ap.runtimeTraceCounters.thinkingEvents
|
|
7725
7750
|
};
|
|
7726
7751
|
}
|
|
7752
|
+
var RUNTIME_TELEMETRY_RESERVED_ATTR_KEYS = /* @__PURE__ */ new Set([
|
|
7753
|
+
"agentId",
|
|
7754
|
+
"launchId",
|
|
7755
|
+
"runtime",
|
|
7756
|
+
"model",
|
|
7757
|
+
"telemetry_name",
|
|
7758
|
+
"source",
|
|
7759
|
+
"usageKind",
|
|
7760
|
+
"sessionId",
|
|
7761
|
+
"turnId",
|
|
7762
|
+
"runtimeResultId"
|
|
7763
|
+
]);
|
|
7764
|
+
function sanitizeRuntimeTelemetryPayloadAttrs(attrs) {
|
|
7765
|
+
const sanitized = {};
|
|
7766
|
+
for (const [key, value] of Object.entries(attrs)) {
|
|
7767
|
+
if (RUNTIME_TELEMETRY_RESERVED_ATTR_KEYS.has(key)) continue;
|
|
7768
|
+
sanitized[key] = value;
|
|
7769
|
+
}
|
|
7770
|
+
return sanitized;
|
|
7771
|
+
}
|
|
7727
7772
|
function getMessageDeliveryText(driver) {
|
|
7728
7773
|
return driver.supportsStdinNotification ? "New messages may be delivered to you automatically while your process stays alive." : "The daemon will automatically restart you when new messages arrive.";
|
|
7729
7774
|
}
|
|
@@ -10458,11 +10503,13 @@ Use ${communicationCommand(driver, "read_history")} to catch up on the channels
|
|
|
10458
10503
|
}
|
|
10459
10504
|
}
|
|
10460
10505
|
recordRuntimeTelemetry(agentId, ap, event) {
|
|
10506
|
+
const sessionId = ap.driver.currentSessionId ?? event.sessionId;
|
|
10507
|
+
const payloadAttrs = sanitizeRuntimeTelemetryPayloadAttrs(event.attrs);
|
|
10461
10508
|
const telemetryAttrs = {
|
|
10462
|
-
...
|
|
10509
|
+
...payloadAttrs,
|
|
10463
10510
|
...event.source ? { source: event.source } : {},
|
|
10464
10511
|
...event.usageKind ? { usageKind: event.usageKind } : {},
|
|
10465
|
-
...
|
|
10512
|
+
...sessionId ? { sessionId } : {},
|
|
10466
10513
|
...event.turnId ? { turnId: event.turnId } : {},
|
|
10467
10514
|
...event.runtimeResultId ? { runtimeResultId: event.runtimeResultId } : {}
|
|
10468
10515
|
};
|
package/dist/cli/index.js
CHANGED
|
@@ -16751,7 +16751,7 @@ var messageReactCommand = defineCommand(
|
|
|
16751
16751
|
name: "react",
|
|
16752
16752
|
description: "Add or remove your reaction on a message",
|
|
16753
16753
|
options: [
|
|
16754
|
-
{ flags: "--message-id <id>", description: "Message
|
|
16754
|
+
{ flags: "--message-id <id>", description: "Message id (full or short) to react to" },
|
|
16755
16755
|
{ flags: "--emoji <emoji>", description: "Reaction emoji" },
|
|
16756
16756
|
{ flags: "--remove", description: "Remove your reaction instead of adding it" }
|
|
16757
16757
|
],
|
package/dist/core.js
CHANGED
package/dist/index.js
CHANGED