Initialize repository with harness code and assets
Initial import of all source code, config, and README assets: the packages workspace (cli, core, server, web, docs, landing, skills), build scripts, tooling config, and CI workflows. Includes the data-layout revision made on this branch: the local data root defaults to ~/.penguin/data (PENGUIN_HOME still overrides; the installer keeps its binaries in ~/.penguin), and every Agent lives under <project>/agents/<agent>/ — path helpers, the three agent-enumeration scans, the system prompt, built-in Skills, tests and docs all follow the new layout. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018ihk8iQuo3kv2aPjAYEPuR
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Local date helpers (same convention as core's Trace date directories: local timezone
|
||||
* yyyy-mm-dd). Shared by the usage_records.date aggregation key and stats windows
|
||||
* (today / last 7 days / last 30 days).
|
||||
*/
|
||||
|
||||
/** Format a time as a local `yyyy-mm-dd` (4-digit year, zero-padded 2-digit month/day). */
|
||||
export function formatLocalDate(date: Date): string {
|
||||
const year = date.getFullYear().toString().padStart(4, "0");
|
||||
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
||||
const day = date.getDate().toString().padStart(2, "0");
|
||||
return `${year}-${month}-${day}`;
|
||||
}
|
||||
|
||||
/** Subtract N days from a local date (used for the start of the last-7-days / last-30-days windows). */
|
||||
export function localDateMinusDays(date: Date, days: number): string {
|
||||
const d = new Date(date);
|
||||
d.setDate(d.getDate() - days);
|
||||
return formatLocalDate(d);
|
||||
}
|
||||
Reference in New Issue
Block a user