MCPcopy Create free account
hub / github.com/compozy/agh / parseSinceFlag

Function parseSinceFlag

internal/cli/session.go:1343–1368  ·  view source on GitHub ↗
(raw string, now func() time.Time)

Source from the content-addressed store, hash-verified

1341}
1342
1343func parseSinceFlag(raw string, now func() time.Time) (time.Time, error) {
1344 value := strings.TrimSpace(raw)
1345 if value == "" {
1346 return time.Time{}, nil
1347 }
1348
1349 for _, layout := range []string{time.RFC3339Nano, time.RFC3339} {
1350 if parsed, err := time.Parse(layout, value); err == nil {
1351 return parsed.UTC(), nil
1352 }
1353 }
1354
1355 duration, err := time.ParseDuration(value)
1356 if err != nil {
1357 return time.Time{}, fmt.Errorf("cli: invalid since value %q", value)
1358 }
1359 if duration < 0 {
1360 return time.Time{}, fmt.Errorf("cli: relative since must be positive: %q", value)
1361 }
1362
1363 current := time.Now().UTC()
1364 if now != nil {
1365 current = now().UTC()
1366 }
1367 return current.Add(-duration), nil
1368}

Callers 7

newLogsCommandFunction · 0.85
newSessionEventsCommandFunction · 0.85
newHooksRunsCommandFunction · 0.85
newMemoryHistoryCommandFunction · 0.85

Calls 2

NowMethod · 0.45
AddMethod · 0.45

Tested by 2