Added constant state changers to represent singular/repeating states. Added a DownloadContextBuilder to support fluent building patterns. Changed RetryReporter and DownloadReporter to use RetryReport and DownloadReport structs to simplify type declarations. Made MainArchitecture obsolete by supporting a fluent downloads with DownloadBuilder. Created a 'budge' OpenAI bridge for proof-of-concept translation.

This commit is contained in:
qwsdcvghyu89
2025-06-07 00:56:26 +03:00
parent a086cfa02b
commit a9a22ea23d
28 changed files with 809 additions and 145 deletions
+48
View File
@@ -0,0 +1,48 @@
using aeqw89.PersistentData;
using aeqw89.DataKeys;
using Beam.Dynamic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
namespace Beam.Temporary.Cli {
public class BeamDataDictionary : BaseDataDictionary {
public Dictionary<DataKey<WebResource>, Template> Templates {
get => GetOrCreateDictionary<DataKey<WebResource>, Template>(nameof(Templates));
set => Data[nameof(Templates)] = value;
}
public Dictionary<DataKey<WebResource>, WebResource> Aggregators {
get => GetOrCreateDictionary<DataKey<WebResource>, WebResource>(nameof(Aggregators));
set => Data[nameof(Aggregators)] = value;
}
public Dictionary<DataKey<WebResource>, WebResource> Auxillaries {
get => GetOrCreateDictionary<DataKey<WebResource>, WebResource>(nameof(Auxillaries));
set => Data[nameof(Auxillaries)] = value;
}
public Dictionary<DataKey<DataBindings>, DataBindings> Bindings {
get => GetOrCreateDictionary<DataKey<DataBindings>, DataBindings>(nameof(Bindings));
set => Data[nameof(Bindings)] = value;
}
public Dictionary<DataKey<WebResource>, HashSet<DataKey<TextResource>>> AggregatorNovels {
get => GetOrCreateDictionary<DataKey<WebResource>, HashSet<DataKey<TextResource>>>(nameof(AggregatorNovels));
set => Data[nameof(AggregatorNovels)] = value;
}
public Dictionary<DataKey<TextResource>, TextResource> Novels {
get => GetOrCreateDictionary<DataKey<TextResource>, TextResource>(nameof(Novels));
set => Data[nameof(Novels)] = value;
}
internal Dictionary<DataKey<File>, File> Files {
get => GetOrCreateDictionary<DataKey<File>, File>(nameof(Files));
set => Data[nameof(Files)] = value;
}
}
}