Merge pull request #210265 from microsoft/roblou/xenogeneic-leech

Fix participant publisher showing "undefined" after reload
This commit is contained in:
Rob Lourens 2024-04-12 18:45:27 -03:00 committed by GitHub
commit e7dc78cbd7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 32 additions and 54 deletions

View file

@ -821,20 +821,7 @@ export class ChatModel extends Disposable implements IChatModel {
followups: r.response?.followups,
isCanceled: r.response?.isCanceled,
vote: r.response?.vote,
agent: r.response?.agent ?
// May actually be the full IChatAgent instance, just take the data props. slashCommands don't matter here.
{
id: r.response.agent.id,
name: r.response.agent.name,
description: r.response.agent.description,
extensionId: r.response.agent.extensionId,
metadata: r.response.agent.metadata,
slashCommands: [],
locations: r.response.agent.locations,
isDefault: r.response.agent.isDefault,
extensionPublisher: r.response.agent.extensionPublisher
}
: undefined,
agent: r.response?.agent,
slashCommand: r.response?.slashCommand,
usedContext: r.response?.usedContext,
contentReferences: r.response?.contentReferences

View file

@ -81,23 +81,6 @@ export class ChatRequestAgentPart implements IParsedChatRequestPart {
get promptText(): string {
return '';
}
/**
* Don't stringify all the agent methods, just data.
*/
toJSON(): any {
return {
kind: this.kind,
range: this.range,
editorRange: this.editorRange,
agent: {
id: this.agent.id,
name: this.agent.name,
description: this.agent.description,
metadata: this.agent.metadata
}
};
}
}
/**

View file

@ -11,7 +11,6 @@
text: "@ChatProviderWithUsedContext test request",
parts: [
{
kind: "agent",
range: {
start: 0,
endExclusive: 28
@ -23,11 +22,18 @@
endColumn: 29
},
agent: {
id: "ChatProviderWithUsedContext",
name: "ChatProviderWithUsedContext",
description: undefined,
metadata: { }
}
id: "ChatProviderWithUsedContext",
extensionId: {
value: "nullExtensionDescription",
_lower: "nullextensiondescription"
},
extensionPublisher: "",
locations: [ "panel" ],
metadata: { },
slashCommands: [ ]
},
kind: "agent"
},
{
range: {
@ -52,18 +58,16 @@
isCanceled: false,
vote: undefined,
agent: {
id: "ChatProviderWithUsedContext",
name: "ChatProviderWithUsedContext",
description: undefined,
id: "ChatProviderWithUsedContext",
extensionId: {
value: "nullExtensionDescription",
_lower: "nullextensiondescription"
},
metadata: { },
slashCommands: [ ],
extensionPublisher: "",
locations: [ "panel" ],
isDefault: undefined,
extensionPublisher: ""
metadata: { },
slashCommands: [ ]
},
slashCommand: undefined,
usedContext: {

View file

@ -10,7 +10,6 @@
message: {
parts: [
{
kind: "agent",
range: {
start: 0,
endExclusive: 28
@ -22,14 +21,21 @@
endColumn: 29
},
agent: {
id: "ChatProviderWithUsedContext",
name: "ChatProviderWithUsedContext",
description: undefined,
id: "ChatProviderWithUsedContext",
extensionId: {
value: "nullExtensionDescription",
_lower: "nullextensiondescription"
},
extensionPublisher: "",
locations: [ "panel" ],
metadata: {
requester: { name: "test" },
fullName: "test"
}
}
},
slashCommands: [ ]
},
kind: "agent"
},
{
range: {
@ -55,21 +61,19 @@
isCanceled: false,
vote: undefined,
agent: {
id: "ChatProviderWithUsedContext",
name: "ChatProviderWithUsedContext",
description: undefined,
id: "ChatProviderWithUsedContext",
extensionId: {
value: "nullExtensionDescription",
_lower: "nullextensiondescription"
},
extensionPublisher: "",
locations: [ "panel" ],
metadata: {
requester: { name: "test" },
fullName: "test"
},
slashCommands: [ ],
locations: [ "panel" ],
isDefault: undefined,
extensionPublisher: ""
slashCommands: [ ]
},
slashCommand: undefined,
usedContext: {

View file

@ -163,7 +163,7 @@ suite('ChatService', () => {
await response.responseCompletePromise;
serializedChatData = chatModel1.toJSON();
serializedChatData = JSON.parse(JSON.stringify(chatModel1));
}
// try deserializing the state into a new service