Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
8ede158
Send in only the type name and not the full type name. Causes the mo…
robgruen Nov 9, 2025
42410cd
Added quantifier values. (i.e. tons). Keeps the model from hallucina…
robgruen Nov 9, 2025
b09058b
Backing out filtering changes from #1774
robgruen Nov 9, 2025
7e625d9
Matching TS schema, reduces hallucination between the two versions
robgruen Nov 9, 2025
28ae476
Added seed
robgruen Nov 9, 2025
e37d34f
Merge branch 'dev/robgruen/kp.net' of https://github.com/microsoft/Ty…
robgruen Nov 9, 2025
4e2ea86
Added quantifier value to knowledge schema. Re-indexed Episode53
robgruen Nov 11, 2025
9a3bd80
Merge branch 'main' into dev/robgruen/kp.net
robgruen Nov 11, 2025
6974be1
lint
robgruen Nov 11, 2025
0e15ee2
Fixed test failures with new index.
robgruen Nov 12, 2025
e1ff32d
re-implemented 1 of Umesh's 2 fixes
robgruen Nov 12, 2025
629688a
Merge remote-tracking branch 'origin' into dev/robgruen/kp.net
robgruen Nov 13, 2025
150c788
Added messages to answer context
robgruen Nov 14, 2025
fe448ba
lint
robgruen Nov 14, 2025
04962df
kp.net podcast load now showing same info as TS podcastload
robgruen Nov 14, 2025
6445cf3
Merge remote-tracking branch 'origin' into dev/robgruen/kp.net
robgruen Nov 14, 2025
d0486b5
Updated answer printing.
robgruen Nov 14, 2025
3d69ef9
Added podcast test
robgruen Nov 14, 2025
95dd8ec
added test failure case when not configured
robgruen Nov 14, 2025
c3f9157
UPdated nuget package versions
robgruen Nov 14, 2025
1615236
removed unused files
robgruen Nov 14, 2025
e12af73
Added answer generation tests
robgruen Nov 16, 2025
b29e849
Made service prompts service role
robgruen Nov 16, 2025
4dd0e40
changed "list all movie" question
robgruen Nov 16, 2025
c5a3f1a
merged
robgruen Nov 16, 2025
59adb2d
nullable timer
robgruen Nov 16, 2025
0863f69
updated test question
robgruen Nov 16, 2025
e71f3dc
added db file for tests
robgruen Nov 16, 2025
d70e58a
Fixed IN clause ordering merge issue for Answer Context.
robgruen Nov 17, 2025
4eeff78
Refactored context
robgruen Nov 17, 2025
361599e
refactoring
robgruen Nov 17, 2025
f148b35
fixed spelling
robgruen Nov 17, 2025
3c0df19
matching schemas
robgruen Nov 17, 2025
4b8b4d2
Merge remote-tracking branch 'origin' into dev/robgruen/kp.net
robgruen Nov 19, 2025
218ad83
Merge remote-tracking branch 'origin' into dev/robgruen/kp.net
robgruen Nov 24, 2025
e3725e7
renamed answertest to answergeneratortest
robgruen Nov 24, 2025
7bff962
fixed corrupted database.
robgruen Nov 24, 2025
abb29b1
44% test coverage
robgruen Nov 24, 2025
7c5e7c9
fixed naming convention of knowpro.test so folder matches project name
robgruen Nov 25, 2025
8805854
Started porting TypeChat tests
robgruen Nov 25, 2025
7fab066
Started porting end to end tests
robgruen Nov 25, 2025
fd1475f
Reverted changes
robgruen Nov 25, 2025
708d049
Merge branch 'main' into dev/robgruen/kp.net
robgruen Nov 25, 2025
ee5098e
fixed missing copyright headers
robgruen Nov 25, 2025
613afa0
Merge branch 'dev/robgruen/kp.net' of https://github.com/microsoft/Ty…
robgruen Nov 25, 2025
42499a7
changed build action
robgruen Nov 25, 2025
c1d091d
fixed project reference
robgruen Nov 25, 2025
7ed1dc7
corrected path
robgruen Nov 25, 2025
2a8dff7
moved knowprocontext around a bit
robgruen Nov 25, 2025
080537f
updated electron-builder version
robgruen Nov 25, 2025
99ccd6c
Merge branch 'dev/robgruen/kp.net' of https://github.com/microsoft/Ty…
robgruen Nov 25, 2025
866f401
disabled electron builder cache due to failure on linux.
robgruen Nov 25, 2025
4c19bb8
adding message for clarity
robgruen Nov 25, 2025
c6fc418
removed erroneous file, updated pnpm
robgruen Nov 26, 2025
2c875ed
merged origin main
robgruen Dec 1, 2025
2eb23dc
UPdated nuget packages.
robgruen Dec 1, 2025
77e3cdf
more search tests
robgruen Dec 2, 2025
1eb966f
added semanticref tests
robgruen Dec 2, 2025
ad14992
Refactored.
robgruen Dec 3, 2025
198041b
Added mergetests.
robgruen Dec 4, 2025
860405c
Added where clause capability
robgruen Dec 4, 2025
d5a8495
added more commands to kpTestSearchTerms
robgruen Dec 8, 2025
d550314
Added distinct operator to kpSearchTerms
robgruen Dec 8, 2025
169419d
Refactor
robgruen Dec 8, 2025
3bde070
Added time range parameters
robgruen Dec 8, 2025
4d3be93
Updated tests.
robgruen Dec 9, 2025
9e67e89
more code coverage
robgruen Dec 9, 2025
c035341
more code coverage
robgruen Dec 10, 2025
b44544c
Merge branch 'main' into dev/robgruen/kp.net
robgruen Dec 10, 2025
5802138
LINT
robgruen Dec 10, 2025
a9fbfab
Merge branch 'dev/robgruen/kp.net' of https://github.com/microsoft/Ty…
robgruen Dec 10, 2025
f210fe9
Merge remote-tracking branch 'origin' into dev/robgruen/kp.net
robgruen Dec 11, 2025
5f320c8
More tests
robgruen Dec 11, 2025
686a9a1
more command updates and code coverage
robgruen Dec 13, 2025
c7e0aec
Standardizing comand names. Added kpPodcastBuildIndex
robgruen Dec 14, 2025
122a5d9
added start/stop indexing events so we can more accurately calculate …
robgruen Dec 14, 2025
8ab81f6
Merge branch 'main' into dev/robgruen/kp.net
robgruen Dec 14, 2025
8afef28
Merge remote-tracking branch 'origin' into dev/robgruen/kp.net
robgruen Dec 15, 2025
d3265e5
Fixed nullreferenceexception
robgruen Dec 15, 2025
e738e03
replaced defult exception handler for parseresults
robgruen Dec 19, 2025
7c1b9ee
Updated kpSearchRag to default to verbose printing.
robgruen Dec 19, 2025
eb432cb
Merge branch 'dev/robgruen/kp.net' of https://github.com/microsoft/Ty…
robgruen Dec 19, 2025
adf022b
Merge branch 'main' into dev/robgruen/kp.net
robgruen Dec 19, 2025
0aa240a
Added message Id to message.
robgruen Dec 19, 2025
5960ba5
Answerrag
robgruen Dec 22, 2025
1d77798
Merge branch 'dev/robgruen/kp.net' of https://github.com/microsoft/Ty…
robgruen Dec 22, 2025
f389a12
Merge branch 'main' into dev/robgruen/kp.net
robgruen Dec 22, 2025
7adc0a4
removed unused class
robgruen Dec 22, 2025
4947262
wired through all parameters
robgruen Dec 22, 2025
476836b
fix index bug
robgruen Dec 24, 2025
6aada89
added more unit tests
robgruen Dec 25, 2025
559976b
added more unit tests
robgruen Dec 25, 2025
fa58599
more tests
robgruen Dec 25, 2025
4ff9131
more unit tests
robgruen Dec 25, 2025
16f6272
Merge branch 'main' of https://github.com/microsoft/TypeAgent into de…
robgruen Dec 26, 2025
779814a
added missing headers
robgruen Dec 26, 2025
fd99543
Added more unit tests
robgruen Dec 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,7 @@ public static IEnumerable<MessageRow> GetSlice(SqliteDatabase db, int startOrdin
ArgumentVerify.ThrowIfGreaterThan(startOrdinal, endOrdinal, nameof(startOrdinal));

return db.Enumerate(@"
SELECT chunks, chunk_uri, message_length, start_timestamp, tags, metadata, extra
SELECT msg_id, chunks, chunk_uri, message_length, start_timestamp, tags, metadata, extra
FROM Messages WHERE msg_id >= @start_id AND msg_id < @end_id
ORDER BY msg_id",
(cmd) =>
Expand Down
4 changes: 4 additions & 0 deletions dotnet/typeagent/src/typechat/TypeChat.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,8 @@
<ProjectReference Include="..\typechat.schema\TypeChat.Schema.csproj" />
</ItemGroup>

<ItemGroup>
<InternalsVisibleTo Include="Microsoft.TypeChat.Tests" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ private class TestTranscriptInfo
public string name { get; set; } = string.Empty;
public System.DateTime date { get; set; } = System.DateTime.Now;
public uint length { get; set; } = 0;
public uint? participantCount { get; set; } = null;
public uint? messageCount { get; set; } = null;
}

private static TestTranscriptInfo GetTransscriptSmall()
Expand All @@ -39,8 +37,6 @@ private static TestTranscriptInfo GetTransscriptSmall()
name = "Test",
date = System.DateTime.Parse("March 2024"),
length = 15,
messageCount = 7,
participantCount = 5,
};
}

Expand All @@ -62,7 +58,7 @@ public async Task BuildIndexAsync()
Assert.Equal(["hamlet", "lady bracknell", "macbeth", "richard", "sherlock holmes"], participants);

var terms = await podcast.SemanticRefIndex.LookupTermAsync("misfortune");
Assert.True(terms?.Count > 0);
Assert.True(terms!.Count > 0);
}

private async Task<Podcast> ImportTestPodcastAsync(TestTranscriptInfo podcastDetails, bool online)
Expand Down
40 changes: 40 additions & 0 deletions dotnet/typeagent/tests/testLib/MockModels.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.TypeChat;
using TypeAgent.AIClient;

namespace TypeAgent.TestLib;

public class MockModel_No_JSON_Response : IChatModel
{
public Task<string> CompleteAsync(Prompt prompt, TranslationSettings? settings, CancellationToken cancelToken)
{

return Task.Run(() => "Mock response", cancelToken);
}

public Task<string> CompleteTextAsync(Prompt prompt, TranslationSettings? settings, CancellationToken cancelToken)
{
return Task.Run(() => "Mock response", cancelToken);
}
}

public class MockModel_Partial_JSON_Response : IChatModel
{
public Task<string> CompleteAsync(Prompt prompt, TranslationSettings? settings, CancellationToken cancelToken)
{

return Task.Run(() => "{ \"text\": \"partial json\"", cancelToken);
}

public Task<string> CompleteTextAsync(Prompt prompt, TranslationSettings? settings, CancellationToken cancelToken)
{
return Task.Run(() => "{ \"text\": \"partial json\"", cancelToken);
}
}
72 changes: 72 additions & 0 deletions dotnet/typeagent/tests/typeChat.test/ArgumentVerifyTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

using System;
using System.Collections.Generic;
using Xunit;

namespace Microsoft.TypeChat.Tests;

public class ArgumentVerifyTests
{
[Fact]
public void Throw_ThrowsArgumentException_WithMessage()
{
var ex = Assert.Throws<ArgumentException>(() => ArgumentVerify.Throw("test message"));
Assert.Equal("test message", ex.Message);
}

[Fact]
public void ThrowIfNull_WithNull_ThrowsArgumentNullException()
{
var ex = Assert.Throws<ArgumentNullException>(() => ArgumentVerify.ThrowIfNull(null, "param"));
Assert.Equal("param", ex.ParamName);
}

[Fact]
public void ThrowIfNull_WithNonNull_DoesNotThrow()
{
ArgumentVerify.ThrowIfNull(new object(), "param");
}

[Fact]
public void ThrowIfNullOrEmpty_StringNull_ThrowsArgumentNullException()
{
var ex = Assert.Throws<ArgumentNullException>(() => ArgumentVerify.ThrowIfNullOrEmpty((string)null, "param"));
Assert.Equal("param", ex.ParamName);
}

[Fact]
public void ThrowIfNullOrEmpty_StringEmpty_ThrowsArgumentException()
{
var ex = Assert.Throws<ArgumentException>(() => ArgumentVerify.ThrowIfNullOrEmpty("", "param"));
Assert.Equal("The value cannot be an empty string. (Parameter 'param')", ex.Message);
}

[Fact]
public void ThrowIfNullOrEmpty_StringValid_DoesNotThrow()
{
ArgumentVerify.ThrowIfNullOrEmpty("valid", "param");
}

[Fact]
public void ThrowIfNullOrEmpty_ListNull_ThrowsArgumentNullException()
{
List<int> list = null;
var ex = Assert.Throws<ArgumentNullException>(() => ArgumentVerify.ThrowIfNullOrEmpty(list, "param"));
Assert.Equal("param", ex.ParamName);
}

[Fact]
public void ThrowIfNullOrEmpty_ListEmpty_ThrowsArgumentException()
{
var ex = Assert.Throws<ArgumentException>(() => ArgumentVerify.ThrowIfNullOrEmpty(new List<int>(), "param"));
Assert.Equal("The list cannot be empty. (Parameter 'param')", ex.Message);
}

[Fact]
public void ThrowIfNullOrEmpty_ListValid_DoesNotThrow()
{
ArgumentVerify.ThrowIfNullOrEmpty(new List<int> { 1 }, "param");
}
}
Loading