id: onec-adapter-connector
name: 1C Adapter Connector
version: 0.1.0
status: standalone-ready
owner: local-llm-platform
runtime:
  language: python
  entrypoint: adapter_1c_server.py
  host_env: ONEC_ADAPTER_HOST
  port_env: ONEC_ADAPTER_PORT
  default_port: 8011
contracts:
  openapi: contracts/openapi.yaml
  policies:
    - policies/sql-base-access-policy.yaml
    - policies/xml-decoding-reference-policy.yaml
    - policies/designer-sql-decoding-policy.yaml
    - policies/read-only-query.yaml
    - policies/change-workflow.yaml
    - policies/config-layer-write-policy.yaml
dependencies:
  python:
    - pymssql==2.3.2
  local_packages:
    - ../parser
data_dirs:
  cache: /data/adapter-cache.sqlite
  backups: /data/adapter-apply-backups
  write_learning: /data/adapter-write-learning
security:
  secrets_policy: "Each base_id stores its SQL server, database, login, and password/password_env in ONEC_SQL_BASES_JSON or a mounted ONEC_SQL_BASES_JSON_FILE; do not store SQL passwords in repository files."
  api_auth: "Set ONEC_ADAPTER_SERVICE_TOKEN and pass it to clients as ONEC_ADAPTER_TOKEN. /health remains unauthenticated."
  sql_identity: "Use only the existing credentials from the selected base_id settings. Never create, alter, or drop SQL logins, users, roles, grants, denies, or revokes."
  data_access: "Application data and metadata structure are read-only. No application-data table may be changed."
  active_layers: "Config and ConfigCAS are read-only in adapter workflows."
  writable_layers: "Only ConfigSave and ConfigCASSave are staging targets."
health:
  local_contracts:
    - ../../../scripts/check_1c_write_plan_contract.py
    - ../../../scripts/check_1c_extension_action_contract.py
    - ../../../scripts/check_1c_module_origin_contract.py
    - ../../../scripts/check_1c_code_symbol_contract.py
