/**
 * code-tool CLI：本地调试 inspect --brief（宿主会话改由 buildCodeToolSessionAppend 注入）。
 * 环境变量 CODE_WORK_DIR 须在宿主 configure 后设置，或传 --work-dir。
 */
import { configure } from './hooks.js'
import { runInspect } from './actions/inspect.js'

async function main(): Promise<void> {
  const args = process.argv.slice(2)
  const workDirIdx = args.indexOf('--work-dir')
  let workDir = process.env.CODE_WORK_DIR?.trim() ?? ''
  if (workDirIdx >= 0 && args[workDirIdx + 1]) {
    workDir = args[workDirIdx + 1]!
    args.splice(workDirIdx, 2)
  }
  if (!workDir) {
    console.error('[code-tool-cli] CODE_WORK_DIR 或 --work-dir 必填')
    process.exit(1)
  }
  configure({ getCodeWorkDir: () => workDir })

  const cmd = args[0]
  if (cmd === 'inspect' && args.includes('--brief')) {
    const data = await runInspect(true)
    const mem = String(data.codeMemory ?? '')
    if (mem) {
      process.stdout.write(mem)
    } else {
      process.stdout.write(
        '（尚无 code.md；开发任务开始后请 CodeTool.record 首建并写入 overview/commands）\n',
      )
    }
    return
  }
  console.error('[code-tool-cli] 仅支持: inspect --brief [--work-dir PATH]')
  process.exit(1)
}

main().catch(e => {
  console.error(`[code-tool-cli] ${e instanceof Error ? e.message : String(e)}`)
  process.exit(1)
})
