node_types:
  - company
  - supplier
  - project
  - contract
  - contract_change
  - construction_task
  - construction_task_detail
  - material
  - material_detail
  - contract_settlement
  - contract_settlement_detail
  - personnel
  - personnel_detail
  - preparation
  - production
  - lar
  - lar_change
  - project_detail_data
  - units

local_datasource:
  type: jsonl
  jsonl_dir: ${PROJECT_ROOT}/filtered_datasource/datasource/filtered
  handler_configs:
    project:
      data_id_filter:
        - "0f9c3e22-f4bb-4803-825a-4f238eeb06d5"
        - "f3e02e84-e81c-4aa6-88d4-f5aa108c8227"

remote_datasource:
  type: api
  api_base_url: http://localhost:8000/api/third/v2
  api_uid: 6b18c681-92d5-4c7f-802c-df413b6504c8
  api_secret: jTk5gSHTqDIZng1zh2z6jrT8JjVgCKsmV8_7NyESbQk
  api_debug: true
  api_rate_limit_max_requests: 30
  api_rate_limit_window_seconds: 10.0
  poll_max_retries: 1
  handler_configs:
    project:
      data_id_filter:
        - "0f9c3e22-f4bb-4803-825a-4f238eeb06d5"
        - "f3e02e84-e81c-4aa6-88d4-f5aa108c8227"

persist:
  db_path: ${PROJECT_ROOT}/test_results/sync_state_machine/simple_pipeline_sm.db

logging:
  file_dir: ${PROJECT_ROOT}/test_results/sync_state_machine
  file_name_pattern: simple_pipeline_sm_{timestamp}.log

strategies:
  company:
    preset: pull_only
    config:
      auto_bind_fields:
        - credit_code

  supplier:
    preset: pull_only

  project:
    config:
      local_orphan_action: none

  production:
    config:
      post_check_ignore_fields:
        - is_exist
