@adhdev/daemon-standalone 0.9.35 → 0.9.36
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/index.js +88 -22
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/public/assets/{index-B8qTNoOd.js → index-CsRhFifV.js} +17 -17
- package/public/index.html +1 -1
package/dist/index.js
CHANGED
|
@@ -30094,7 +30094,16 @@ var require_dist2 = __commonJS({
|
|
|
30094
30094
|
if (baseMessages.length <= _ProviderCliAdapter.PARSE_MESSAGE_TAIL_LIMIT) return baseMessages;
|
|
30095
30095
|
return baseMessages.slice(-_ProviderCliAdapter.PARSE_MESSAGE_TAIL_LIMIT);
|
|
30096
30096
|
}
|
|
30097
|
+
messagesShareStableIdentity(left, right) {
|
|
30098
|
+
if (left === right) return true;
|
|
30099
|
+
if (!left || !right) return false;
|
|
30100
|
+
if ((left.role || "") !== (right.role || "")) return false;
|
|
30101
|
+
if (left.id && right.id && String(left.id) === String(right.id)) return true;
|
|
30102
|
+
if (typeof left.index === "number" && typeof right.index === "number" && left.index === right.index) return true;
|
|
30103
|
+
return false;
|
|
30104
|
+
}
|
|
30097
30105
|
messagesComparable(left, right) {
|
|
30106
|
+
if (this.messagesShareStableIdentity(left, right)) return true;
|
|
30098
30107
|
if (!left || !right) return false;
|
|
30099
30108
|
if ((left.role || "") !== (right.role || "")) return false;
|
|
30100
30109
|
const leftText = normalizeComparableTranscriptText(left.content);
|
|
@@ -31245,6 +31254,69 @@ var require_dist2 = __commonJS({
|
|
|
31245
31254
|
this.committedMessages = normalized;
|
|
31246
31255
|
this.syncMessageViews();
|
|
31247
31256
|
}
|
|
31257
|
+
getSharedCommittedPrefixLength(parsedMessages) {
|
|
31258
|
+
const committedMessages = this.committedMessages;
|
|
31259
|
+
const max = Math.min(parsedMessages.length, committedMessages.length);
|
|
31260
|
+
let index = 0;
|
|
31261
|
+
while (index < max && this.messagesShareStableIdentity(parsedMessages[index], committedMessages[index])) {
|
|
31262
|
+
index += 1;
|
|
31263
|
+
}
|
|
31264
|
+
return index;
|
|
31265
|
+
}
|
|
31266
|
+
hydrateCommittedPrefixForParsedStatus(parsedMessages) {
|
|
31267
|
+
const sharedPrefixLength = this.getSharedCommittedPrefixLength(parsedMessages);
|
|
31268
|
+
if (sharedPrefixLength !== this.committedMessages.length) return null;
|
|
31269
|
+
const committedHydratedMessages = this.committedMessages.map((message, index) => {
|
|
31270
|
+
const timestamp = typeof message.timestamp === "number" && Number.isFinite(message.timestamp) ? message.timestamp : this.lastOutputAt || this.currentTurnScope?.startedAt || Date.now();
|
|
31271
|
+
const contentValue = message.content;
|
|
31272
|
+
return {
|
|
31273
|
+
role: message.role,
|
|
31274
|
+
content: typeof contentValue === "string" ? contentValue : String(contentValue || ""),
|
|
31275
|
+
timestamp,
|
|
31276
|
+
receivedAt: typeof message.receivedAt === "number" && Number.isFinite(message.receivedAt) ? message.receivedAt : timestamp,
|
|
31277
|
+
kind: message.kind,
|
|
31278
|
+
id: message.id || `msg_${index}`,
|
|
31279
|
+
index: typeof message.index === "number" ? message.index : index,
|
|
31280
|
+
meta: message.meta,
|
|
31281
|
+
senderName: message.senderName
|
|
31282
|
+
};
|
|
31283
|
+
});
|
|
31284
|
+
const extraMessages = parsedMessages.slice(sharedPrefixLength);
|
|
31285
|
+
if (extraMessages.length === 0) return committedHydratedMessages;
|
|
31286
|
+
const extraHydratedMessages = hydrateCliParsedMessages(extraMessages, {
|
|
31287
|
+
committedMessages: [],
|
|
31288
|
+
scope: this.currentTurnScope,
|
|
31289
|
+
lastOutputAt: this.lastOutputAt
|
|
31290
|
+
}).map((message, offset) => ({
|
|
31291
|
+
...message,
|
|
31292
|
+
id: message.id || `msg_${sharedPrefixLength + offset}`,
|
|
31293
|
+
index: typeof message.index === "number" ? message.index : sharedPrefixLength + offset
|
|
31294
|
+
}));
|
|
31295
|
+
return [...committedHydratedMessages, ...extraHydratedMessages];
|
|
31296
|
+
}
|
|
31297
|
+
hydrateParsedMessagesForStatus(parsedMessages) {
|
|
31298
|
+
return this.hydrateCommittedPrefixForParsedStatus(parsedMessages) || hydrateCliParsedMessages(parsedMessages, {
|
|
31299
|
+
committedMessages: this.committedMessages,
|
|
31300
|
+
scope: this.currentTurnScope,
|
|
31301
|
+
lastOutputAt: this.lastOutputAt
|
|
31302
|
+
});
|
|
31303
|
+
}
|
|
31304
|
+
buildCommittedChatMessages() {
|
|
31305
|
+
return this.committedMessages.map((message, index) => {
|
|
31306
|
+
const contentValue = message.content;
|
|
31307
|
+
return buildChatMessage({
|
|
31308
|
+
role: message.role,
|
|
31309
|
+
content: typeof contentValue === "string" ? contentValue : String(contentValue || ""),
|
|
31310
|
+
timestamp: message.timestamp,
|
|
31311
|
+
kind: message.kind,
|
|
31312
|
+
meta: message.meta,
|
|
31313
|
+
senderName: message.senderName,
|
|
31314
|
+
id: message.id || `msg_${index}`,
|
|
31315
|
+
index: typeof message.index === "number" ? message.index : index,
|
|
31316
|
+
receivedAt: typeof message.receivedAt === "number" ? message.receivedAt : message.timestamp
|
|
31317
|
+
});
|
|
31318
|
+
});
|
|
31319
|
+
}
|
|
31248
31320
|
/**
|
|
31249
31321
|
* Script-based full parse — returns ReadChatResult.
|
|
31250
31322
|
* Called by command handler / dashboard for rich content rendering.
|
|
@@ -31270,7 +31342,7 @@ var require_dist2 = __commonJS({
|
|
|
31270
31342
|
this.onStatusChange?.();
|
|
31271
31343
|
}
|
|
31272
31344
|
}
|
|
31273
|
-
if (parsed && Array.isArray(parsed.messages)) {
|
|
31345
|
+
if (parsed && Array.isArray(parsed.messages) && this.provider.allowInputDuringGeneration === true) {
|
|
31274
31346
|
const hydratedForCommit = normalizeCliParsedMessages(parsed.messages, {
|
|
31275
31347
|
committedMessages: this.committedMessages,
|
|
31276
31348
|
scope: this.currentTurnScope,
|
|
@@ -31289,21 +31361,21 @@ var require_dist2 = __commonJS({
|
|
|
31289
31361
|
const shouldPreferCommittedMessages = !this.currentTurnScope && !this.activeModal && this.currentStatus === "idle";
|
|
31290
31362
|
let result;
|
|
31291
31363
|
if (parsed && Array.isArray(parsed.messages)) {
|
|
31292
|
-
const parsedHydratedMessages =
|
|
31293
|
-
committedMessages: this.committedMessages,
|
|
31294
|
-
scope: this.currentTurnScope,
|
|
31295
|
-
lastOutputAt: this.lastOutputAt
|
|
31296
|
-
});
|
|
31297
|
-
const committedHydratedMessages = this.committedMessages.map((message, index) => buildChatMessage({
|
|
31298
|
-
...message,
|
|
31299
|
-
id: message.id || `msg_${index}`,
|
|
31300
|
-
index: typeof message.index === "number" ? message.index : index,
|
|
31301
|
-
receivedAt: typeof message.receivedAt === "number" ? message.receivedAt : message.timestamp
|
|
31302
|
-
}));
|
|
31364
|
+
const parsedHydratedMessages = this.hydrateParsedMessagesForStatus(parsed.messages);
|
|
31303
31365
|
const parsedLastAssistant = [...parsedHydratedMessages].reverse().find((message) => message.role === "assistant" && typeof message.content === "string" && message.content.trim());
|
|
31304
|
-
const shouldAdoptParsedIdleReplay = !this.currentTurnScope && !this.activeModal && !!parsedLastAssistant && parsedTranscriptIsRicherThanCommitted(parsedHydratedMessages,
|
|
31366
|
+
const shouldAdoptParsedIdleReplay = !this.currentTurnScope && !this.activeModal && !!parsedLastAssistant && parsedTranscriptIsRicherThanCommitted(parsedHydratedMessages, this.committedMessages) && (this.currentStatus === "idle" || this.currentStatus === "generating" && this.isWaitingForResponse && parsed.status === "idle" && this.runDetectStatus(this.recentOutputBuffer) === "idle");
|
|
31305
31367
|
if (shouldAdoptParsedIdleReplay) {
|
|
31306
|
-
this.committedMessages =
|
|
31368
|
+
this.committedMessages = this.getSharedCommittedPrefixLength(parsed.messages) === this.committedMessages.length ? parsedHydratedMessages.map((message) => ({
|
|
31369
|
+
role: message.role,
|
|
31370
|
+
content: typeof message.content === "string" ? message.content : String(message.content || ""),
|
|
31371
|
+
timestamp: message.timestamp,
|
|
31372
|
+
receivedAt: message.receivedAt,
|
|
31373
|
+
kind: message.kind,
|
|
31374
|
+
id: message.id,
|
|
31375
|
+
index: message.index,
|
|
31376
|
+
meta: message.meta,
|
|
31377
|
+
senderName: message.senderName
|
|
31378
|
+
})) : normalizeCliParsedMessages(parsed.messages, {
|
|
31307
31379
|
committedMessages: this.committedMessages,
|
|
31308
31380
|
scope: this.currentTurnScope,
|
|
31309
31381
|
lastOutputAt: this.lastOutputAt
|
|
@@ -31322,15 +31394,9 @@ var require_dist2 = __commonJS({
|
|
|
31322
31394
|
this.onStatusChange?.();
|
|
31323
31395
|
}
|
|
31324
31396
|
}
|
|
31325
|
-
const
|
|
31326
|
-
...message,
|
|
31327
|
-
id: message.id || `msg_${index}`,
|
|
31328
|
-
index: typeof message.index === "number" ? message.index : index,
|
|
31329
|
-
receivedAt: typeof message.receivedAt === "number" ? message.receivedAt : message.timestamp
|
|
31330
|
-
})) : committedHydratedMessages;
|
|
31331
|
-
const shouldPreferCommittedHistoryReplay = !this.currentTurnScope && !this.activeModal && effectiveCommittedHydratedMessages.length > parsedHydratedMessages.length;
|
|
31397
|
+
const shouldPreferCommittedHistoryReplay = !this.currentTurnScope && !this.activeModal && this.committedMessages.length > parsedHydratedMessages.length;
|
|
31332
31398
|
const shouldPreferCommittedIdleReplay = shouldPreferCommittedMessages && !shouldAdoptParsedIdleReplay;
|
|
31333
|
-
const hydratedMessages = shouldPreferCommittedIdleReplay || shouldPreferCommittedHistoryReplay ?
|
|
31399
|
+
const hydratedMessages = shouldPreferCommittedIdleReplay || shouldPreferCommittedHistoryReplay ? this.buildCommittedChatMessages() : parsedHydratedMessages;
|
|
31334
31400
|
result = {
|
|
31335
31401
|
id: parsed.id || "cli_session",
|
|
31336
31402
|
status: parsed.status || this.currentStatus,
|