Entscheidungen aus dem Testbetrieb umgesetzt (#572): #577 #579 #581 #589 #193 #205 #594 #595 #597 #598 #599 #588
- Engine: leere Antworten nachfassen, Aufgaben enden mit Ergebniszeile (EmptyResponse/Incomplete), gleiche Fehlschlaege erkennen (RepeatedFailure), Zeitzeile vor Chatnachrichten, Werkzeugergebnisse gerahmt, Vorpruefung vor dem Staging, Belegkosten wie RunUsage - Staging: gescheiterte Freigaben als Failed; AgentEditor-Aenderungen freigabepflichtig, Selbstbearbeitung gesperrt (allowSelfEdit) - Taskboard: Termine beim Anlegen pruefen, naechster/letzter Lauf, pausieren, Sofortlauf, Kostenprognose, Hinweis auf wachsenden Kontext; Jobs-Reiter und /api/jobs entfernt - Release: Instanzmanager samt Weboberflaeche im Paket, setup.json fragt manager.json ab, Token nicht mehr ins systemd-Journal Version 0.1.6. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
using System.Globalization;
|
||||
|
||||
namespace ClawdDotNet.Core.Scheduling;
|
||||
|
||||
/// <summary>
|
||||
/// Die Zeitzeile, die Agenten vor einem Auftrag oder einer Nachricht sehen (#589).
|
||||
///
|
||||
/// <para>Sie steht im Nachrichtentext, nie im Systemprompt: Der Systemprompt ist der
|
||||
/// Anfang jedes Prompt-Caches, und eine Zeile, die sich jede Minute aendert, liesse den
|
||||
/// Cache praktisch nie greifen.</para>
|
||||
/// </summary>
|
||||
public static class ZeitAngabe
|
||||
{
|
||||
/// <summary>Zeitzone der Angabe, sonst die des Systems.</summary>
|
||||
public static string Zeile(DateTimeOffset jetzt, string? zoneId = null)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(zoneId))
|
||||
zoneId = TimeZones.LocalIanaId;
|
||||
|
||||
TimeZoneInfo zone;
|
||||
try
|
||||
{
|
||||
zone = TimeZoneInfo.FindSystemTimeZoneById(zoneId);
|
||||
}
|
||||
catch (Exception ex) when (ex is TimeZoneNotFoundException or InvalidTimeZoneException)
|
||||
{
|
||||
zone = TimeZoneInfo.Local;
|
||||
zoneId = TimeZones.LocalIanaId;
|
||||
}
|
||||
|
||||
var lokal = TimeZoneInfo.ConvertTime(jetzt, zone);
|
||||
return string.Format(CultureInfo.InvariantCulture,
|
||||
"Aktuelle Zeit: {0:dd.MM.yyyy HH:mm} Uhr ({1}, UTC{0:zzz}); in UTC {2:yyyy-MM-ddTHH:mm}Z.",
|
||||
lokal, zoneId, jetzt.UtcDateTime);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user