Files
OpenCode 68a9071cf1 feat: reconcile local master with origin (exa/hot-platform hunters, leaks ledger, latest results)
Local branch had diverged from origin/master (sibling commits on the same base). Rewrote local history linearly on top of origin/master, folding in all local content: exa/hot-platform discovery hunters, leaks ledger, nightly sweep orchestrator, updated .gitignore and skill docs, plus the latest hunt output and vault state. Remote-only files (vault keys, channel scripts) were restored rather than dropped, so the resulting tree is a full union of both sides.
2026-08-07 12:53:47 +08:00

1 line
18 KiB
JSON
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "alexrasch/copilotdeepseek", "files": {"CopilotDeepSeek.Database/Migrations/AppDbContextModelSnapshot.cs": {"437cf1450835138433373365e2dc68f7dbc4eab5": {"t": 1785746200.662505, "n": 4800, "h": "868d8b2c20a6d198", "c": "// <auto-generated />\nusing System;\nusing CopilotDeepSeek.Database;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\n#nullable disable\n\nnamespace CopilotDeepSeek.Database.Migrations\n{\n [DbContext(typeof(AppDbContext))]\n partial class AppDbContextModelSnapshot : ModelSnapshot\n {\n protected override void BuildModel(ModelBuilder modelBuilder)\n {\n#pragma warning disable 612, 618\n modelBuilder.HasAnnotation(\"ProductVersion\", \"10.0.8\");\n\n modelBuilder.Entity(\"CopilotDeepSeek.Database.Entities.AiModel\", b =>\n {\n b.Property<int>(\"Id\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\");\n\n b.Property<bool>(\"IsAllowed\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\")\n .HasDefaultValue(true);\n\n b.Property<string>(\"Name\")\n .IsRequired()\n .HasMaxLength(128)\n .HasColumnType(\"TEXT\");\n\n b.HasKey(\"Id\");\n\n b.HasIndex(\"Name\")\n .IsUnique();\n\n b.ToTable(\"AiModels\");\n });\n\n modelBuilder.Entity(\"CopilotDeepSeek.Database.Entities.ProxyRequest\", b =>\n {\n b.Property<Guid>(\"Id\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"TEXT\");\n\n b.Property<double>(\"ElapsedMs\")\n .HasColumnType(\"REAL\");\n\n b.Property<string>(\"ErrorMessage\")\n .HasColumnType(\"TEXT\");\n\n b.Property<bool>(\"IsSuccess\")\n .HasColumnType(\"INTEGER\");\n\n b.Property<string>(\"Method\")\n .IsRequired()\n .HasColumnType(\"TEXT\");\n\n b.Property<string>(\"Path\")\n .IsRequired()\n .HasColumnType(\"TEXT\");\n\n b.Property<int>(\"StatusCode\")\n .HasColumnType(\"INTEGER\");\n\n b.Property<DateTime>(\"Timestamp\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"TEXT\")\n .HasDefaultValueSql(\"CURRENT_TIMESTAMP\");\n\n b.HasKey(\"Id\");\n\n b.HasIndex(\"IsSuccess\");\n\n b.HasIndex(\"Timestamp\");\n\n b.ToTable(\"ProxyRequests\");\n });\n\n modelBuilder.Entity(\"CopilotDeepSeek.Database.Entities.SettingsEntity\", b =>\n {\n b.Property<int>(\"Id\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\");\n\n b.Property<string>(\"ApiKey\")\n .IsRequired()\n .HasMaxLength(1024)\n .HasColumnType(\"TEXT\");\n\n b.Property<bool>(\"AutoRun\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\")\n .HasDefaultValue(true);\n\n b.Property<int>(\"BalanceRefreshIntervalSec\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\")\n .HasDefaultValue(60);\n\n b.Property<string>(\"BaseUrl\")\n .IsRequired()\n .HasMaxLength(512)\n .HasColumnType(\"TEXT\");\n\n b.Property<int?>(\"DefaultModelId\")\n .HasColumnType(\"INTEGER\");\n\n b.Property<int>(\"MaxMessages\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\")\n .HasDefaultValue(0);\n\n b.Property<int>(\"Port\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\")\n .HasDefaultValue(5000);\n\n b.HasKey(\"Id\");\n\n b.ToTable(\"Settings\");\n\n b.HasData(\n new\n {\n Id = 1,\n ApiKey = \"\",\n AutoRun = true,\n BalanceRefreshIntervalSec = 60,\n BaseUrl = \"https://api.deepseek.com\",\n MaxMessages = 0,\n Port = 5000\n });\n });\n#pragma warning restore 612, 618\n }\n }\n}\n"}, "2de97d77c220812ef0d057dd9202d905ebee7d8e": {"t": 1785760550.1280565, "n": 4800, "h": "868d8b2c20a6d198", "c": "// <auto-generated />\nusing System;\nusing CopilotDeepSeek.Database;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\n#nullable disable\n\nnamespace CopilotDeepSeek.Database.Migrations\n{\n [DbContext(typeof(AppDbContext))]\n partial class AppDbContextModelSnapshot : ModelSnapshot\n {\n protected override void BuildModel(ModelBuilder modelBuilder)\n {\n#pragma warning disable 612, 618\n modelBuilder.HasAnnotation(\"ProductVersion\", \"10.0.8\");\n\n modelBuilder.Entity(\"CopilotDeepSeek.Database.Entities.AiModel\", b =>\n {\n b.Property<int>(\"Id\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\");\n\n b.Property<bool>(\"IsAllowed\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\")\n .HasDefaultValue(true);\n\n b.Property<string>(\"Name\")\n .IsRequired()\n .HasMaxLength(128)\n .HasColumnType(\"TEXT\");\n\n b.HasKey(\"Id\");\n\n b.HasIndex(\"Name\")\n .IsUnique();\n\n b.ToTable(\"AiModels\");\n });\n\n modelBuilder.Entity(\"CopilotDeepSeek.Database.Entities.ProxyRequest\", b =>\n {\n b.Property<Guid>(\"Id\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"TEXT\");\n\n b.Property<double>(\"ElapsedMs\")\n .HasColumnType(\"REAL\");\n\n b.Property<string>(\"ErrorMessage\")\n .HasColumnType(\"TEXT\");\n\n b.Property<bool>(\"IsSuccess\")\n .HasColumnType(\"INTEGER\");\n\n b.Property<string>(\"Method\")\n .IsRequired()\n .HasColumnType(\"TEXT\");\n\n b.Property<string>(\"Path\")\n .IsRequired()\n .HasColumnType(\"TEXT\");\n\n b.Property<int>(\"StatusCode\")\n .HasColumnType(\"INTEGER\");\n\n b.Property<DateTime>(\"Timestamp\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"TEXT\")\n .HasDefaultValueSql(\"CURRENT_TIMESTAMP\");\n\n b.HasKey(\"Id\");\n\n b.HasIndex(\"IsSuccess\");\n\n b.HasIndex(\"Timestamp\");\n\n b.ToTable(\"ProxyRequests\");\n });\n\n modelBuilder.Entity(\"CopilotDeepSeek.Database.Entities.SettingsEntity\", b =>\n {\n b.Property<int>(\"Id\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\");\n\n b.Property<string>(\"ApiKey\")\n .IsRequired()\n .HasMaxLength(1024)\n .HasColumnType(\"TEXT\");\n\n b.Property<bool>(\"AutoRun\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\")\n .HasDefaultValue(true);\n\n b.Property<int>(\"BalanceRefreshIntervalSec\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\")\n .HasDefaultValue(60);\n\n b.Property<string>(\"BaseUrl\")\n .IsRequired()\n .HasMaxLength(512)\n .HasColumnType(\"TEXT\");\n\n b.Property<int?>(\"DefaultModelId\")\n .HasColumnType(\"INTEGER\");\n\n b.Property<int>(\"MaxMessages\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\")\n .HasDefaultValue(0);\n\n b.Property<int>(\"Port\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"INTEGER\")\n .HasDefaultValue(5000);\n\n b.HasKey(\"Id\");\n\n b.ToTable(\"Settings\");\n\n b.HasData(\n new\n {\n Id = 1,\n ApiKey = \"\",\n AutoRun = true,\n BalanceRefreshIntervalSec = 60,\n BaseUrl = \"https://api.deepseek.com\",\n MaxMessages = 0,\n Port = 5000\n });\n });\n#pragma warning restore 612, 618\n }\n }\n}\n"}, "9dc6ec92778fcdc67bd00044c5268b23eb0da970": {"t": 1785760551.625158, "n": 1959, "h": "bf5ead9c09994180", "c": "// <auto-generated />\nusing System;\nusing CopilotDeepSeek.Database;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\n#nullable disable\n\nnamespace CopilotDeepSeek.Database.Migrations\n{\n [DbContext(typeof(AppDbContext))]\n partial class AppDbContextModelSnapshot : ModelSnapshot\n {\n protected override void BuildModel(ModelBuilder modelBuilder)\n {\n#pragma warning disable 612, 618\n modelBuilder.HasAnnotation(\"ProductVersion\", \"10.0.8\");\n\n modelBuilder.Entity(\"CopilotDeepSeek.Database.Entities.ProxyRequest\", b =>\n {\n b.Property<Guid>(\"Id\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"TEXT\");\n\n b.Property<double>(\"ElapsedMs\")\n .HasColumnType(\"REAL\");\n\n b.Property<string>(\"ErrorMessage\")\n .HasColumnType(\"TEXT\");\n\n b.Property<bool>(\"IsSuccess\")\n .HasColumnType(\"INTEGER\");\n\n b.Property<string>(\"Method\")\n .IsRequired()\n .HasColumnType(\"TEXT\");\n\n b.Property<string>(\"Path\")\n .IsRequired()\n .HasColumnType(\"TEXT\");\n\n b.Property<int>(\"StatusCode\")\n .HasColumnType(\"INTEGER\");\n\n b.Property<DateTime>(\"Timestamp\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"TEXT\")\n .HasDefaultValueSql(\"CURRENT_TIMESTAMP\");\n\n b.HasKey(\"Id\");\n\n b.HasIndex(\"IsSuccess\");\n\n b.HasIndex(\"Timestamp\");\n\n b.ToTable(\"ProxyRequests\");\n });\n#pragma warning restore 612, 618\n }\n }\n}\n"}, "12cdc8baaee3b80c94e65cfcd32a635858196b08": {"t": 1785760553.0139272, "n": 1959, "h": "6ce38f046286bf02", "c": "// <auto-generated />\nusing System;\nusing CopilotDeepSeek.Database;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\n#nullable disable\n\nnamespace CopilotDeepSeek.Database.Migrations\n{\n [DbContext(typeof(AppDbContext))]\n partial class AppDbContextModelSnapshot : ModelSnapshot\n {\n protected override void BuildModel(ModelBuilder modelBuilder)\n {\n#pragma warning disable 612, 618\n modelBuilder.HasAnnotation(\"ProductVersion\", \"10.0.8\");\n\n modelBuilder.Entity(\"CopilotDeepSeek.Database.Entities.ProxyRequest\", b =>\n {\n b.Property<Guid>(\"Id\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"TEXT\");\n\n b.Property<TimeSpan>(\"Elapsed\")\n .HasColumnType(\"TEXT\");\n\n b.Property<string>(\"ErrorMessage\")\n .HasColumnType(\"TEXT\");\n\n b.Property<bool>(\"IsSuccess\")\n .HasColumnType(\"INTEGER\");\n\n b.Property<string>(\"Method\")\n .IsRequired()\n .HasColumnType(\"TEXT\");\n\n b.Property<string>(\"Path\")\n .IsRequired()\n .HasColumnType(\"TEXT\");\n\n b.Property<int>(\"StatusCode\")\n .HasColumnType(\"INTEGER\");\n\n b.Property<DateTime>(\"Timestamp\")\n .ValueGeneratedOnAdd()\n .HasColumnType(\"TEXT\")\n .HasDefaultValueSql(\"CURRENT_TIMESTAMP\");\n\n b.HasKey(\"Id\");\n\n b.HasIndex(\"IsSuccess\");\n\n b.HasIndex(\"Timestamp\");\n\n b.ToTable(\"ProxyRequests\");\n });\n#pragma warning restore 612, 618\n }\n }\n}\n"}}, "CopilotDeepSeek.Database/Entities/SettingsEntity.cs": {"437cf1450835138433373365e2dc68f7dbc4eab5": {"t": 1785746208.0867522, "n": 1318, "h": "aa385a8197fcb727", "c": "namespace CopilotDeepSeek.Database.Entities;\n\n/// <summary>\n/// Entity representing application settings (single-row table).\n/// Only one row ever exists — Id is always 1.\n/// </summary>\npublic class SettingsEntity\n{\n /// <summary>\n /// Primary key — always 1 (singleton row).\n /// </summary>\n public int Id { get; set; } = 1;\n\n /// <summary>\n /// Encrypted DeepSeek API key.\n /// </summary>\n public string ApiKey { get; set; } = string.Empty;\n\n /// <summary>\n /// Whether the proxy should start automatically on launch.\n /// </summary>\n public bool AutoRun { get; set; } = true;\n\n /// <summary>\n /// Base URL for the DeepSeek API.\n /// </summary>\n public string BaseUrl { get; set; } = \"https://api.deepseek.com\";\n\n /// <summary>\n /// Port the proxy listens on.\n /// </summary>\n public int Port { get; set; } = 5000;\n\n /// <summary>\n /// Id of the default AiModel (resolved manually in service).\n /// </summary>\n public int? DefaultModelId { get; set; }\n\n /// <summary>\n /// Maximum number of messages to forward (0 = all).\n /// </summary>\n public int MaxMessages { get; set; } = 0;\n\n /// <summary>\n /// Interval in seconds for balance refresh.\n /// </summary>\n public int BalanceRefreshIntervalSec { get; set; } = 60;\n}\n"}, "2de97d77c220812ef0d057dd9202d905ebee7d8e": {"t": 1785760550.290229, "n": 1318, "h": "aa385a8197fcb727", "c": "namespace CopilotDeepSeek.Database.Entities;\n\n/// <summary>\n/// Entity representing application settings (single-row table).\n/// Only one row ever exists — Id is always 1.\n/// </summary>\npublic class SettingsEntity\n{\n /// <summary>\n /// Primary key — always 1 (singleton row).\n /// </summary>\n public int Id { get; set; } = 1;\n\n /// <summary>\n /// Encrypted DeepSeek API key.\n /// </summary>\n public string ApiKey { get; set; } = string.Empty;\n\n /// <summary>\n /// Whether the proxy should start automatically on launch.\n /// </summary>\n public bool AutoRun { get; set; } = true;\n\n /// <summary>\n /// Base URL for the DeepSeek API.\n /// </summary>\n public string BaseUrl { get; set; } = \"https://api.deepseek.com\";\n\n /// <summary>\n /// Port the proxy listens on.\n /// </summary>\n public int Port { get; set; } = 5000;\n\n /// <summary>\n /// Id of the default AiModel (resolved manually in service).\n /// </summary>\n public int? DefaultModelId { get; set; }\n\n /// <summary>\n /// Maximum number of messages to forward (0 = all).\n /// </summary>\n public int MaxMessages { get; set; } = 0;\n\n /// <summary>\n /// Interval in seconds for balance refresh.\n /// </summary>\n public int BalanceRefreshIntervalSec { get; set; } = 60;\n}\n"}}, "CopilotDeepSeek/Models/Settings.cs": {"437cf1450835138433373365e2dc68f7dbc4eab5": {"t": 1786068392.9129057, "n": 541, "h": "bd3df4121b77581f", "c": "namespace CopilotDeepSeek.Models;\n\npublic class Settings\n{\n public string ApiKey { get; set; } = string.Empty;\n public bool HasApiKey { get; set; }\n public bool AutoRun { get; set; } = true;\n public string BaseUrl { get; set; } = \"https://api.deepseek.com\";\n public string Model { get; set; } = \"deepseek-v4-flash\";\n public int Port { get; set; } = 5000;\n public List<string> AllowedModels { get; set; } = [];\n public int MaxMessages { get; set; } = 0;\n public int BalanceRefreshIntervalSec { get; set; } = 60;\n}\n"}}}}