@adhdev/daemon-core 0.9.76-rc.16 → 0.9.76-rc.17
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 +8 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -3
- package/dist/index.mjs.map +1 -1
- package/dist/providers/cli-provider-instance.d.ts +2 -0
- package/package.json +1 -1
- package/src/commands/chat-commands.ts +13 -3
- package/src/providers/cli-provider-instance.d.ts +2 -0
- package/src/providers/cli-provider-instance.ts +4 -0
|
@@ -8,6 +8,7 @@ import { type ProviderModule } from './contracts.js';
|
|
|
8
8
|
import type { ProviderInstance, ProviderState, InstanceContext, HotChatSessionState, SessionModalState } from './provider-instance.js';
|
|
9
9
|
import { ProviderCliAdapter } from '../cli-adapters/provider-cli-adapter.js';
|
|
10
10
|
import type { PtyTransportFactory } from '../cli-adapters/pty-transport.js';
|
|
11
|
+
import type { ChatMessage } from '../types.js';
|
|
11
12
|
type PersistableCliHistoryMessage = {
|
|
12
13
|
role: string;
|
|
13
14
|
content: string;
|
|
@@ -113,6 +114,7 @@ export declare class CliProviderInstance implements ProviderInstance {
|
|
|
113
114
|
private maybeAppendRuntimeRecoveryMessage;
|
|
114
115
|
private appendRuntimeSystemMessage;
|
|
115
116
|
private appendRuntimeMessage;
|
|
117
|
+
mergeRuntimeChatMessages(parsedMessages: ChatMessage[]): ChatMessage[];
|
|
116
118
|
private mergeConversationMessages;
|
|
117
119
|
private formatApprovalRequestMessage;
|
|
118
120
|
private promoteProviderSessionId;
|
package/package.json
CHANGED
|
@@ -28,6 +28,10 @@ interface ApprovalSelectableInstance extends ProviderInstance {
|
|
|
28
28
|
recordApprovalSelection?(buttonText: string): void;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
interface RuntimeChatMessageMerger extends ProviderInstance {
|
|
32
|
+
mergeRuntimeChatMessages?(messages: ChatMessage[]): ChatMessage[];
|
|
33
|
+
}
|
|
34
|
+
|
|
31
35
|
type LegacyStringScript = (params?: Record<string, unknown> | string) => string;
|
|
32
36
|
|
|
33
37
|
function getCurrentProviderType(h: CommandHelpers, fallback = ''): string {
|
|
@@ -761,9 +765,15 @@ export async function handleReadChat(h: CommandHelpers, args: any): Promise<Comm
|
|
|
761
765
|
: undefined;
|
|
762
766
|
const activeModal = parsedRecord.activeModal ?? parsedRecord.modal ?? null;
|
|
763
767
|
const returnedStatus = parsedRecord.status || 'idle';
|
|
764
|
-
|
|
768
|
+
const runtimeMessageMerger = getTargetInstance(h, args) as RuntimeChatMessageMerger | null;
|
|
769
|
+
const returnedMessages = runtimeMessageMerger?.category === 'cli'
|
|
770
|
+
&& runtimeMessageMerger.type === adapter.cliType
|
|
771
|
+
&& typeof runtimeMessageMerger.mergeRuntimeChatMessages === 'function'
|
|
772
|
+
? runtimeMessageMerger.mergeRuntimeChatMessages(parsedRecord.messages as ChatMessage[])
|
|
773
|
+
: parsedRecord.messages;
|
|
774
|
+
LOG.debug('Command', `[read_chat] cli-like parsed provider=${adapter.cliType} target=${String(args?.targetSessionId || '')} adapterStatus=${String(adapterStatus.status || '')} parsedStatus=${String(parsedRecord.status || '')} parsedMsgCount=${parsedRecord.messages.length} returnedMsgCount=${returnedMessages.length}`);
|
|
765
775
|
return buildReadChatCommandResult({
|
|
766
|
-
messages:
|
|
776
|
+
messages: returnedMessages,
|
|
767
777
|
status: returnedStatus,
|
|
768
778
|
activeModal,
|
|
769
779
|
debugReadChat: {
|
|
@@ -774,7 +784,7 @@ export async function handleReadChat(h: CommandHelpers, args: any): Promise<Comm
|
|
|
774
784
|
returnedStatus: String(returnedStatus || ''),
|
|
775
785
|
shouldPreferAdapterMessages: false,
|
|
776
786
|
parsedMsgCount: parsedRecord.messages.length,
|
|
777
|
-
returnedMsgCount:
|
|
787
|
+
returnedMsgCount: returnedMessages.length,
|
|
778
788
|
},
|
|
779
789
|
...(title ? { title } : {}),
|
|
780
790
|
...(providerSessionId ? { providerSessionId } : {}),
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { ProviderModule } from './contracts.js';
|
|
8
8
|
import type { ProviderInstance, ProviderState, InstanceContext } from './provider-instance.js';
|
|
9
|
+
import type { ChatMessage } from '../types.js';
|
|
9
10
|
import { ProviderCliAdapter } from '../cli-adapters/provider-cli-adapter.js';
|
|
10
11
|
import type { PtyTransportFactory } from '../cli-adapters/pty-transport.js';
|
|
11
12
|
export declare class CliProviderInstance implements ProviderInstance {
|
|
@@ -77,6 +78,7 @@ export declare class CliProviderInstance implements ProviderInstance {
|
|
|
77
78
|
private formatMarkerTimestamp;
|
|
78
79
|
private maybeAppendRuntimeRecoveryMessage;
|
|
79
80
|
private appendRuntimeSystemMessage;
|
|
81
|
+
mergeRuntimeChatMessages(parsedMessages: ChatMessage[]): ChatMessage[];
|
|
80
82
|
private mergeConversationMessages;
|
|
81
83
|
private formatApprovalRequestMessage;
|
|
82
84
|
private promoteProviderSessionId;
|
|
@@ -978,6 +978,10 @@ export class CliProviderInstance implements ProviderInstance {
|
|
|
978
978
|
}
|
|
979
979
|
}
|
|
980
980
|
|
|
981
|
+
mergeRuntimeChatMessages(parsedMessages: ChatMessage[]): ChatMessage[] {
|
|
982
|
+
return this.mergeConversationMessages(parsedMessages);
|
|
983
|
+
}
|
|
984
|
+
|
|
981
985
|
private mergeConversationMessages(parsedMessages: any[]): ChatMessage[] {
|
|
982
986
|
if (this.runtimeMessages.length === 0) return normalizeChatMessages(parsedMessages);
|
|
983
987
|
|