adhdev 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/cli/index.js +89 -23
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +89 -23
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -11957,7 +11957,16 @@ var init_provider_cli_adapter = __esm({
|
|
|
11957
11957
|
if (baseMessages.length <= _ProviderCliAdapter.PARSE_MESSAGE_TAIL_LIMIT) return baseMessages;
|
|
11958
11958
|
return baseMessages.slice(-_ProviderCliAdapter.PARSE_MESSAGE_TAIL_LIMIT);
|
|
11959
11959
|
}
|
|
11960
|
+
messagesShareStableIdentity(left2, right2) {
|
|
11961
|
+
if (left2 === right2) return true;
|
|
11962
|
+
if (!left2 || !right2) return false;
|
|
11963
|
+
if ((left2.role || "") !== (right2.role || "")) return false;
|
|
11964
|
+
if (left2.id && right2.id && String(left2.id) === String(right2.id)) return true;
|
|
11965
|
+
if (typeof left2.index === "number" && typeof right2.index === "number" && left2.index === right2.index) return true;
|
|
11966
|
+
return false;
|
|
11967
|
+
}
|
|
11960
11968
|
messagesComparable(left2, right2) {
|
|
11969
|
+
if (this.messagesShareStableIdentity(left2, right2)) return true;
|
|
11961
11970
|
if (!left2 || !right2) return false;
|
|
11962
11971
|
if ((left2.role || "") !== (right2.role || "")) return false;
|
|
11963
11972
|
const leftText = normalizeComparableTranscriptText(left2.content);
|
|
@@ -13108,6 +13117,69 @@ var init_provider_cli_adapter = __esm({
|
|
|
13108
13117
|
this.committedMessages = normalized;
|
|
13109
13118
|
this.syncMessageViews();
|
|
13110
13119
|
}
|
|
13120
|
+
getSharedCommittedPrefixLength(parsedMessages) {
|
|
13121
|
+
const committedMessages = this.committedMessages;
|
|
13122
|
+
const max = Math.min(parsedMessages.length, committedMessages.length);
|
|
13123
|
+
let index = 0;
|
|
13124
|
+
while (index < max && this.messagesShareStableIdentity(parsedMessages[index], committedMessages[index])) {
|
|
13125
|
+
index += 1;
|
|
13126
|
+
}
|
|
13127
|
+
return index;
|
|
13128
|
+
}
|
|
13129
|
+
hydrateCommittedPrefixForParsedStatus(parsedMessages) {
|
|
13130
|
+
const sharedPrefixLength = this.getSharedCommittedPrefixLength(parsedMessages);
|
|
13131
|
+
if (sharedPrefixLength !== this.committedMessages.length) return null;
|
|
13132
|
+
const committedHydratedMessages = this.committedMessages.map((message, index) => {
|
|
13133
|
+
const timestamp = typeof message.timestamp === "number" && Number.isFinite(message.timestamp) ? message.timestamp : this.lastOutputAt || this.currentTurnScope?.startedAt || Date.now();
|
|
13134
|
+
const contentValue = message.content;
|
|
13135
|
+
return {
|
|
13136
|
+
role: message.role,
|
|
13137
|
+
content: typeof contentValue === "string" ? contentValue : String(contentValue || ""),
|
|
13138
|
+
timestamp,
|
|
13139
|
+
receivedAt: typeof message.receivedAt === "number" && Number.isFinite(message.receivedAt) ? message.receivedAt : timestamp,
|
|
13140
|
+
kind: message.kind,
|
|
13141
|
+
id: message.id || `msg_${index}`,
|
|
13142
|
+
index: typeof message.index === "number" ? message.index : index,
|
|
13143
|
+
meta: message.meta,
|
|
13144
|
+
senderName: message.senderName
|
|
13145
|
+
};
|
|
13146
|
+
});
|
|
13147
|
+
const extraMessages = parsedMessages.slice(sharedPrefixLength);
|
|
13148
|
+
if (extraMessages.length === 0) return committedHydratedMessages;
|
|
13149
|
+
const extraHydratedMessages = hydrateCliParsedMessages(extraMessages, {
|
|
13150
|
+
committedMessages: [],
|
|
13151
|
+
scope: this.currentTurnScope,
|
|
13152
|
+
lastOutputAt: this.lastOutputAt
|
|
13153
|
+
}).map((message, offset) => ({
|
|
13154
|
+
...message,
|
|
13155
|
+
id: message.id || `msg_${sharedPrefixLength + offset}`,
|
|
13156
|
+
index: typeof message.index === "number" ? message.index : sharedPrefixLength + offset
|
|
13157
|
+
}));
|
|
13158
|
+
return [...committedHydratedMessages, ...extraHydratedMessages];
|
|
13159
|
+
}
|
|
13160
|
+
hydrateParsedMessagesForStatus(parsedMessages) {
|
|
13161
|
+
return this.hydrateCommittedPrefixForParsedStatus(parsedMessages) || hydrateCliParsedMessages(parsedMessages, {
|
|
13162
|
+
committedMessages: this.committedMessages,
|
|
13163
|
+
scope: this.currentTurnScope,
|
|
13164
|
+
lastOutputAt: this.lastOutputAt
|
|
13165
|
+
});
|
|
13166
|
+
}
|
|
13167
|
+
buildCommittedChatMessages() {
|
|
13168
|
+
return this.committedMessages.map((message, index) => {
|
|
13169
|
+
const contentValue = message.content;
|
|
13170
|
+
return buildChatMessage({
|
|
13171
|
+
role: message.role,
|
|
13172
|
+
content: typeof contentValue === "string" ? contentValue : String(contentValue || ""),
|
|
13173
|
+
timestamp: message.timestamp,
|
|
13174
|
+
kind: message.kind,
|
|
13175
|
+
meta: message.meta,
|
|
13176
|
+
senderName: message.senderName,
|
|
13177
|
+
id: message.id || `msg_${index}`,
|
|
13178
|
+
index: typeof message.index === "number" ? message.index : index,
|
|
13179
|
+
receivedAt: typeof message.receivedAt === "number" ? message.receivedAt : message.timestamp
|
|
13180
|
+
});
|
|
13181
|
+
});
|
|
13182
|
+
}
|
|
13111
13183
|
/**
|
|
13112
13184
|
* Script-based full parse — returns ReadChatResult.
|
|
13113
13185
|
* Called by command handler / dashboard for rich content rendering.
|
|
@@ -13133,7 +13205,7 @@ var init_provider_cli_adapter = __esm({
|
|
|
13133
13205
|
this.onStatusChange?.();
|
|
13134
13206
|
}
|
|
13135
13207
|
}
|
|
13136
|
-
if (parsed && Array.isArray(parsed.messages)) {
|
|
13208
|
+
if (parsed && Array.isArray(parsed.messages) && this.provider.allowInputDuringGeneration === true) {
|
|
13137
13209
|
const hydratedForCommit = normalizeCliParsedMessages(parsed.messages, {
|
|
13138
13210
|
committedMessages: this.committedMessages,
|
|
13139
13211
|
scope: this.currentTurnScope,
|
|
@@ -13152,21 +13224,21 @@ var init_provider_cli_adapter = __esm({
|
|
|
13152
13224
|
const shouldPreferCommittedMessages = !this.currentTurnScope && !this.activeModal && this.currentStatus === "idle";
|
|
13153
13225
|
let result;
|
|
13154
13226
|
if (parsed && Array.isArray(parsed.messages)) {
|
|
13155
|
-
const parsedHydratedMessages =
|
|
13156
|
-
committedMessages: this.committedMessages,
|
|
13157
|
-
scope: this.currentTurnScope,
|
|
13158
|
-
lastOutputAt: this.lastOutputAt
|
|
13159
|
-
});
|
|
13160
|
-
const committedHydratedMessages = this.committedMessages.map((message, index) => buildChatMessage({
|
|
13161
|
-
...message,
|
|
13162
|
-
id: message.id || `msg_${index}`,
|
|
13163
|
-
index: typeof message.index === "number" ? message.index : index,
|
|
13164
|
-
receivedAt: typeof message.receivedAt === "number" ? message.receivedAt : message.timestamp
|
|
13165
|
-
}));
|
|
13227
|
+
const parsedHydratedMessages = this.hydrateParsedMessagesForStatus(parsed.messages);
|
|
13166
13228
|
const parsedLastAssistant = [...parsedHydratedMessages].reverse().find((message) => message.role === "assistant" && typeof message.content === "string" && message.content.trim());
|
|
13167
|
-
const shouldAdoptParsedIdleReplay = !this.currentTurnScope && !this.activeModal && !!parsedLastAssistant && parsedTranscriptIsRicherThanCommitted(parsedHydratedMessages,
|
|
13229
|
+
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");
|
|
13168
13230
|
if (shouldAdoptParsedIdleReplay) {
|
|
13169
|
-
this.committedMessages =
|
|
13231
|
+
this.committedMessages = this.getSharedCommittedPrefixLength(parsed.messages) === this.committedMessages.length ? parsedHydratedMessages.map((message) => ({
|
|
13232
|
+
role: message.role,
|
|
13233
|
+
content: typeof message.content === "string" ? message.content : String(message.content || ""),
|
|
13234
|
+
timestamp: message.timestamp,
|
|
13235
|
+
receivedAt: message.receivedAt,
|
|
13236
|
+
kind: message.kind,
|
|
13237
|
+
id: message.id,
|
|
13238
|
+
index: message.index,
|
|
13239
|
+
meta: message.meta,
|
|
13240
|
+
senderName: message.senderName
|
|
13241
|
+
})) : normalizeCliParsedMessages(parsed.messages, {
|
|
13170
13242
|
committedMessages: this.committedMessages,
|
|
13171
13243
|
scope: this.currentTurnScope,
|
|
13172
13244
|
lastOutputAt: this.lastOutputAt
|
|
@@ -13185,15 +13257,9 @@ var init_provider_cli_adapter = __esm({
|
|
|
13185
13257
|
this.onStatusChange?.();
|
|
13186
13258
|
}
|
|
13187
13259
|
}
|
|
13188
|
-
const
|
|
13189
|
-
...message,
|
|
13190
|
-
id: message.id || `msg_${index}`,
|
|
13191
|
-
index: typeof message.index === "number" ? message.index : index,
|
|
13192
|
-
receivedAt: typeof message.receivedAt === "number" ? message.receivedAt : message.timestamp
|
|
13193
|
-
})) : committedHydratedMessages;
|
|
13194
|
-
const shouldPreferCommittedHistoryReplay = !this.currentTurnScope && !this.activeModal && effectiveCommittedHydratedMessages.length > parsedHydratedMessages.length;
|
|
13260
|
+
const shouldPreferCommittedHistoryReplay = !this.currentTurnScope && !this.activeModal && this.committedMessages.length > parsedHydratedMessages.length;
|
|
13195
13261
|
const shouldPreferCommittedIdleReplay = shouldPreferCommittedMessages && !shouldAdoptParsedIdleReplay;
|
|
13196
|
-
const hydratedMessages = shouldPreferCommittedIdleReplay || shouldPreferCommittedHistoryReplay ?
|
|
13262
|
+
const hydratedMessages = shouldPreferCommittedIdleReplay || shouldPreferCommittedHistoryReplay ? this.buildCommittedChatMessages() : parsedHydratedMessages;
|
|
13197
13263
|
result = {
|
|
13198
13264
|
id: parsed.id || "cli_session",
|
|
13199
13265
|
status: parsed.status || this.currentStatus,
|
|
@@ -56449,7 +56515,7 @@ var init_adhdev_daemon = __esm({
|
|
|
56449
56515
|
init_version();
|
|
56450
56516
|
init_src();
|
|
56451
56517
|
init_runtime_defaults();
|
|
56452
|
-
pkgVersion = resolvePackageVersion({ injectedVersion: "0.9.
|
|
56518
|
+
pkgVersion = resolvePackageVersion({ injectedVersion: "0.9.36" });
|
|
56453
56519
|
AdhdevDaemon = class _AdhdevDaemon {
|
|
56454
56520
|
localHttpServer = null;
|
|
56455
56521
|
localWss = null;
|