Files
2026-07-12 14:54:50 +08:00

65 lines
2.3 KiB
Python

# main.py
#!/usr/bin/env python
"""
COBOL テストデータ生成 Agent
使用方法:
python main.py --design 詳細設計書_ZAN04MAT.md --source ZAN04MAT.cbl \
--file-db-md COPY句定義書.md --cpy cpy/ --db-md DB定義書.md --output output/
"""
import argparse
import os
import sys
from agent import generate
DEFAULT_RULES_DIR = os.path.join(os.path.dirname(__file__), 'rules')
def main():
parser = argparse.ArgumentParser(
description='COBOLテストデータ生成Agent'
)
parser.add_argument('--design', required=True, help='詳細設計書 .md のパス')
parser.add_argument('--source', required=True, help='COBOL ソース .cbl のパス')
parser.add_argument('--file-db-md', required=True, help='ファイル/DB 構造 .md のパス')
parser.add_argument('--cpy', required=True, help='COPYBOOK 格納ディレクトリ')
parser.add_argument('--db-md', required=True, help='DB 定義書 .md のパス')
parser.add_argument('--output', default='output', help='出力ディレクトリ')
parser.add_argument('--api-key', default='sk-6156cccdc9c14d949cf5bfc5afc67a03',
help='DeepSeek API Key')
parser.add_argument('--model', default='deepseek-v4-flash', help='API モデル名')
parser.add_argument('--rules', default=DEFAULT_RULES_DIR, help='ルール格納ディレクトリ')
args = parser.parse_args()
for name, path in [('--design', args.design), ('--source', args.source)]:
if not os.path.exists(path):
print(f"エラー: {name} のファイルが見つかりません: {path}", file=sys.stderr)
sys.exit(1)
result = generate(
design_md=args.design,
source_cbl=args.source,
file_db_md=args.file_db_md,
cpy_dir=args.cpy,
db_md=args.db_md,
output_dir=args.output,
api_key=args.api_key,
api_model=args.model,
rules_dir=args.rules,
)
print(f"\n== 完了 ==")
print(f"プログラムID: {result['program_id']}")
print(f"グループ数: {result['groups']}")
print(f"入力タイプ: {result['input_type']}")
print(f"出力ファイル:")
for key, path in sorted(result['output_files'].items()):
print(f" {key}: {path}")
if __name__ == '__main__':
main()