34 lines
936 B
TypeScript
34 lines
936 B
TypeScript
|
|
/**
|
||
|
|
* Creates OmO-specific environment context (time, timezone, locale).
|
||
|
|
* Note: Working directory, platform, and date are already provided by OpenCode's system.ts,
|
||
|
|
* so we only include fields that OpenCode doesn't provide to avoid duplication.
|
||
|
|
* See: https://github.com/code-yeongyu/oh-my-opencode/issues/379
|
||
|
|
*/
|
||
|
|
export function createEnvContext(): string {
|
||
|
|
const now = new Date()
|
||
|
|
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone
|
||
|
|
const locale = Intl.DateTimeFormat().resolvedOptions().locale
|
||
|
|
|
||
|
|
const dateStr = now.toLocaleDateString(locale, {
|
||
|
|
weekday: "short",
|
||
|
|
year: "numeric",
|
||
|
|
month: "short",
|
||
|
|
day: "numeric",
|
||
|
|
})
|
||
|
|
|
||
|
|
const timeStr = now.toLocaleTimeString(locale, {
|
||
|
|
hour: "2-digit",
|
||
|
|
minute: "2-digit",
|
||
|
|
second: "2-digit",
|
||
|
|
hour12: true,
|
||
|
|
})
|
||
|
|
|
||
|
|
return `
|
||
|
|
<omo-env>
|
||
|
|
Current date: ${dateStr}
|
||
|
|
Current time: ${timeStr}
|
||
|
|
Timezone: ${timezone}
|
||
|
|
Locale: ${locale}
|
||
|
|
</omo-env>`
|
||
|
|
}
|