Scrubkit.Extensions.SemanticKernel
2.0.0
Prefix Reserved
See the version list below for details.
dotnet add package Scrubkit.Extensions.SemanticKernel --version 2.0.0
NuGet\Install-Package Scrubkit.Extensions.SemanticKernel -Version 2.0.0
<PackageReference Include="Scrubkit.Extensions.SemanticKernel" Version="2.0.0" />
<PackageVersion Include="Scrubkit.Extensions.SemanticKernel" Version="2.0.0" />
<PackageReference Include="Scrubkit.Extensions.SemanticKernel" />
paket add Scrubkit.Extensions.SemanticKernel --version 2.0.0
#r "nuget: Scrubkit.Extensions.SemanticKernel, 2.0.0"
#:package Scrubkit.Extensions.SemanticKernel@2.0.0
#addin nuget:?package=Scrubkit.Extensions.SemanticKernel&version=2.0.0
#tool nuget:?package=Scrubkit.Extensions.SemanticKernel&version=2.0.0
Scrubkit.Extensions.SemanticKernel
Microsoft.SemanticKernel integration for Scrubkit — scan, redact, chunk, and index folder contents directly into Semantic Kernel vector memory systems.
It multi-targets netstandard2.0, net8.0, and net10.0 and provides extension methods for both ISemanticTextMemory and modern IVectorStoreRecordCollection<TKey, TRecord> vector stores.
Install
dotnet add package Scrubkit.Extensions.SemanticKernel
Quick Start
1. Ingesting Folders into ISemanticTextMemory
Automatically scan local file trees, extract text, sanitize PII/secrets, chunk using overlapping windows, and save directly to ISemanticTextMemory:
using Microsoft.SemanticKernel.Memory;
using Scrubkit;
ISemanticTextMemory memory = ...;
var scrubber = new FolderScrubber(new ReadOptions { Redaction = RedactionLevel.Standard });
// Scans, redacts, chunks, and saves to memory collection "docs"
IReadOnlyList<string> ids = await memory.ImportFolderAsync("docs", scrubber, @"C:\Docs");
2. Ingesting Folders into IVectorStoreRecordCollection
Ingest local documents directly into a vector store record collection with custom record mapping:
using Microsoft.Extensions.VectorData;
using Scrubkit;
IVectorStoreRecordCollection<string, MyVectorRecord> collection = ...;
var scrubber = new FolderScrubber();
IReadOnlyList<string> keys = await collection.ImportFolderAsync(
scrubber,
@"C:\Docs",
chunk => new MyVectorRecord
{
Id = $"{chunk.Path}#{chunk.Index}",
Text = chunk.Text,
SourceFile = chunk.Name,
ChunkIndex = chunk.Index
});
3. Upserting Pre-Chunked Streams
If you already have a stream of Chunk records produced by Chunker, you can upsert them directly:
IAsyncEnumerable<Chunk> chunkStream = ...;
await memory.SaveChunksAsync("docs", chunkStream);
// Or for Vector Stores:
await collection.UpsertChunksAsync(chunkStream, chunk => new MyVectorRecord { ... });
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.12)
- Microsoft.Extensions.AI.Abstractions (>= 9.5.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Microsoft.SemanticKernel.Abstractions (>= 1.30.0)
- Scrubkit (>= 2.0.0)
-
net10.0
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.12)
- Microsoft.Extensions.AI.Abstractions (>= 9.5.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Microsoft.SemanticKernel.Abstractions (>= 1.30.0)
- Scrubkit (>= 2.0.0)
-
net8.0
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.12)
- Microsoft.Extensions.AI.Abstractions (>= 9.5.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Microsoft.SemanticKernel.Abstractions (>= 1.30.0)
- Scrubkit (>= 2.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Scrubkit.Extensions.SemanticKernel:
| Package | Downloads |
|---|---|
|
Scrubkit.All
Convenience meta-package that references the entire Scrubkit family: core engine, PDF extractor, Image EXIF extractor, email (.eml/.msg), OpenDocument, .epub, legacy binary Office (.doc/.xls/.ppt), Parquet, DI integration, Microsoft.Extensions.AI, and Semantic Kernel. Ships .AddAllExtractors() auto-registration. |
GitHub repositories
This package is not used by any popular GitHub repositories.
2.0.0 — Modular Zero-Dependency Core Split. Extracted Scrubkit.Pdf (PdfPig) and Scrubkit.Images (MetadataExtractor) into dedicated add-on packages; core Scrubkit is 100% zero-dependency (Office OOXML, HTML, RTF, PlainText). Added fluent .AddPdf(), .AddImages(), and .AddAllExtractors(), 575+ tests, and updated dependencies. Full changelog: https://github.com/jjopensoftworks-blip/Scrubkit/blob/main/CHANGELOG.md