()
| 105 | } |
| 106 | |
| 107 | function parseArgs(): Args { |
| 108 | const argv = process.argv.slice(2) |
| 109 | if (argv.includes('--help') || argv.includes('-h')) { |
| 110 | printHelp() |
| 111 | process.exit(0) |
| 112 | } |
| 113 | |
| 114 | return { |
| 115 | dataset: |
| 116 | readStringFlag(argv, '--dataset', null) ?? |
| 117 | (argv.includes('--prod') ? 'codebuff_data' : 'codebuff_data_dev'), |
| 118 | limit: readNumberFlag(argv, '--limit', 3), |
| 119 | lookbackHours: readNumberFlag(argv, '--lookback-hours', 24), |
| 120 | traceSessionId: readStringFlag(argv, '--trace-session-id', null), |
| 121 | outDir: |
| 122 | readStringFlag(argv, '--out-dir', null) ?? |
| 123 | readStringFlag(argv, '--out', null) ?? |
| 124 | '.context/recent-chat-completion-traces', |
| 125 | } |
| 126 | } |
| 127 | |
| 128 | function toIso(value: unknown): string { |
| 129 | if (value instanceof Date) return value.toISOString() |
no test coverage detected