{"schema_version":"1.0","system":"DNA OS","description":"ERP system for concrete/logistics business — query interface for external AI","query_endpoint":"/api/v1/query","auth":"Header: X-DNA-Token: <your-token>  (GET /admin/api-tokens to generate)","observer_url":"/observer","tools":[{"type":"function","function":{"name":"debt__list","description":"แสดงรายการหนี้ที่ยังค้างชำระ (สถานะ OPEN) | layer: cognitive | output: InvoiceDebt[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"debt.list"}},{"type":"function","function":{"name":"debt__all","description":"แสดงรายการหนี้ทั้งหมด ทุกสถานะ | layer: cognitive | output: InvoiceDebt[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"debt.all"}},{"type":"function","function":{"name":"debt__trackings","description":"แสดงรายการติดตามหนี้ทั้งหมด (จากตาราง debt_trackings) | layer: cognitive | output: DebtTracking[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"debt.trackings"}},{"type":"function","function":{"name":"debt__find","description":"ค้นหาลูกหนี้ตามชื่อ (แบบเทียบเคียงความคล้าย) | layer: engines | output: FindResult","parameters":{"type":"object","properties":{"keyword":{"type":"string","description":"keyword: string"}},"required":["keyword"]},"_dna_command":"debt.find"}},{"type":"function","function":{"name":"invoice__list","description":"แสดงรายการใบแจ้งหนี้ (invoice) ทั้งหมด | layer: cognitive | output: Document[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"invoice.list"}},{"type":"function","function":{"name":"invoice__latest","description":"แสดงใบแจ้งหนี้ (invoice) ใบสุดท้าย | layer: cognitive | output: Document","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"invoice.latest"}},{"type":"function","function":{"name":"invoice__find","description":"ค้นหาใบแจ้งหนี้ตามเลขที่เอกสารหรือชื่อลูกค้า | layer: engines | output: FindResult","parameters":{"type":"object","properties":{"keyword":{"type":"string","description":"keyword: string"}},"required":["keyword"]},"_dna_command":"invoice.find"}},{"type":"function","function":{"name":"document__list","description":"แสดงรายการเอกสารทุกประเภท | layer: cognitive | output: Document[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"document.list"}},{"type":"function","function":{"name":"document__boq","description":"แสดงรายการใบเสนอราคา (BOQ) | layer: cognitive | output: Document[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"document.boq"}},{"type":"function","function":{"name":"document__po","description":"แสดงรายการใบสั่งซื้อ (PO) | layer: cognitive | output: Document[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"document.po"}},{"type":"function","function":{"name":"document__do","description":"แสดงรายการใบส่งของ (DO) | layer: cognitive | output: Document[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"document.do"}},{"type":"function","function":{"name":"document__receipt","description":"แสดงรายการใบเสร็จรับเงิน | layer: cognitive | output: Document[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"document.receipt"}},{"type":"function","function":{"name":"draft__list","description":"แสดงรายการร่างเอกสารที่มาจาก LINE และกำลังรอการอนุมัติ | layer: cognitive | output: LineDraftDocument[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"draft.list"}},{"type":"function","function":{"name":"job__list","description":"แสดงรายการงานทั้งหมด | layer: cognitive | output: Job[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"job.list"}},{"type":"function","function":{"name":"job__active","description":"แสดงรายการงานที่กำลังดำเนินการ (สถานะ IN_PROGRESS) | layer: cognitive | output: Job[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"job.active"}},{"type":"function","function":{"name":"job__track","description":"ติดตามสถานะของงาน | layer: services | output: BridgeResult","parameters":{"type":"object","properties":{"job_id":{"type":"string","description":"job_id: string"}},"required":["job_id"]},"_dna_command":"job.track"}},{"type":"function","function":{"name":"partner__list","description":"แสดงรายการคู่ค้าทั้งหมด (ลูกค้าและผู้ขาย) | layer: cognitive | output: Partner[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"partner.list"}},{"type":"function","function":{"name":"partner__find","description":"ค้นหาคู่ค้าตามชื่อ, เบอร์โทร, หรือรหัส | layer: engines | output: FindResult","parameters":{"type":"object","properties":{"keyword":{"type":"string","description":"keyword: string"}},"required":["keyword"]},"_dna_command":"partner.find"}},{"type":"function","function":{"name":"material__list","description":"แสดงรายการประเภทวัสดุทั้งหมด | layer: cognitive | output: MaterialType[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"material.list"}},{"type":"function","function":{"name":"pit__find","description":"ค้นหาแหล่งวัสดุ เช่น บ่อดิน, โรงโม่, หรือท่าทราย | layer: engines | output: FindResult","parameters":{"type":"object","properties":{"keyword":{"type":"string","description":"keyword: string"}},"required":["keyword"]},"_dna_command":"pit.find"}},{"type":"function","function":{"name":"drive__open","description":"เปิดโฟลเดอร์ Google Drive หลักของระบบ | layer: cognitive | output: CommandResult","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"drive.open"}},{"type":"function","function":{"name":"pay__preview","description":"แสดงตัวอย่างข้อมูลก่อนยืนยันการชำระเงิน | layer: services | output: BridgeResult","parameters":{"type":"object","properties":{"invoice_id":{"type":"string","description":"invoice_id: string"}},"required":["invoice_id"]},"_dna_command":"pay.preview"}},{"type":"function","function":{"name":"pay__list","description":"ดูประวัติรายการชำระเงิน (จากตาราง events) | layer: services | output: BridgeResult","parameters":{"type":"object","properties":{"date":{"type":"string","description":"date: string"}},"required":[]},"_dna_command":"pay.list"}},{"type":"function","function":{"name":"doc__list","description":"ดูรายการเอกสาร (เป็นชื่อเรียกแทน document.list สำหรับ AI) | layer: services | output: BridgeResult","parameters":{"type":"object","properties":{"type":{"type":"string","description":"type: string"}},"required":[]},"_dna_command":"doc.list"}},{"type":"function","function":{"name":"doc__get","description":"ดูรายละเอียดเอกสารตามหมายเลขที่ระบุ | layer: services | output: BridgeResult","parameters":{"type":"object","properties":{"id":{"type":"string","description":"id: string"}},"required":["id"]},"_dna_command":"doc.get"}},{"type":"function","function":{"name":"quote__calc","description":"คำนวณราคาเสนอขาย (ผ่าน AI Bridge) | layer: services | output: BridgeResult","parameters":{"type":"object","properties":{"quantity":{"type":"number","description":"quantity: number"},"material":{"type":"string","description":"material: string"}},"required":[]},"_dna_command":"quote.calc"}},{"type":"function","function":{"name":"business__load_rules","description":"โหลดกฎทางธุรกิจทั้งหมดจากตาราง app_configs | layer: engines | output: { ok: boolean, rules: RulesConfig, count: number }","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"business.load_rules"}},{"type":"function","function":{"name":"business__calculate_price","description":"คำนวณราคาขนส่งวัสดุ (รวมต้นทุน, ส่วนเพิ่ม, ค่าน้ำมัน, และค่าแรง) | layer: engines | output: PriceResult","parameters":{"type":"object","properties":{"distance_km":{"type":"number","description":"distance_km: number"},"quantity":{"type":"number","description":"quantity: number"},"material_price":{"type":"number","description":"material_price: number"}},"required":["distance_km","quantity","material_price"]},"_dna_command":"business.calculate_price"}},{"type":"function","function":{"name":"business__calculate_debt","description":"คำนวณยอดหนี้แบบครบวงจร (รวมเงินต้น, ดอกเบี้ย, และค่าทวงถาม) | layer: engines | output: DebtCalcResult","parameters":{"type":"object","properties":{"principal":{"type":"number","description":"principal: number"},"fee_rate":{"type":"number","description":"fee_rate: number"},"interest_rate":{"type":"number","description":"interest_rate: number"},"due_date":{"type":"string","description":"due_date: string"},"paid_amount":{"type":"number","description":"paid_amount: number"}},"required":["principal","fee_rate","interest_rate","due_date"]},"_dna_command":"business.calculate_debt"}},{"type":"function","function":{"name":"business__calculate_tax","description":"คำนวณภาษีมูลค่าเพิ่ม (VAT) และภาษีหัก ณ ที่จ่าย | layer: engines | output: TaxResult","parameters":{"type":"object","properties":{"amount":{"type":"number","description":"amount: number"},"vat_rate":{"type":"number","description":"vat_rate: number"},"withholding_rate":{"type":"number","description":"withholding_rate: number"}},"required":["amount"]},"_dna_command":"business.calculate_tax"}},{"type":"function","function":{"name":"registry__load","description":"โหลดทะเบียนข้อมูลทั้งหมดของระบบ (modules, drivers, events) | layer: shared | output: { modules: string[], drivers: string[], events: string[], loaded: boolean }","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"registry.load"}},{"type":"function","function":{"name":"registry__resolve","description":"ค้นหาและคืนค่าโมดูลจากทะเบียนข้อมูล | layer: shared | output: { found: boolean, module: unknown }","parameters":{"type":"object","properties":{"moduleId":{"type":"string","description":"moduleId: string"}},"required":["moduleId"]},"_dna_command":"registry.resolve"}},{"type":"function","function":{"name":"registry__list_modules","description":"แสดงรายชื่อโมดูลทั้งหมดที่ลงทะเบียนไว้ | layer: shared | output: string[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"registry.list_modules"}},{"type":"function","function":{"name":"registry__list_drivers","description":"แสดงรายชื่อไดรเวอร์ทั้งหมดที่ลงทะเบียนไว้ | layer: shared | output: string[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"registry.list_drivers"}},{"type":"function","function":{"name":"registry__list_events","description":"แสดงรายชื่อเหตุการณ์ (events) ทั้งหมดที่ลงทะเบียนไว้ | layer: shared | output: string[]","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"registry.list_events"}},{"type":"function","function":{"name":"registry__get_module","description":"ดึงข้อมูลโมดูลจากทะเบียนตาม ID ที่ระบุ | layer: shared | output: unknown","parameters":{"type":"object","properties":{"moduleId":{"type":"string","description":"moduleId: string"}},"required":["moduleId"]},"_dna_command":"registry.get_module"}},{"type":"function","function":{"name":"registry__get_driver","description":"ดึงข้อมูลไดรเวอร์จากทะเบียนตามชื่อที่ระบุ | layer: shared | output: unknown","parameters":{"type":"object","properties":{"name":{"type":"string","description":"name: string"}},"required":["name"]},"_dna_command":"registry.get_driver"}},{"type":"function","function":{"name":"registry__get_service","description":"ดึงข้อมูลเซอร์วิสจากทะเบียนตามชื่อที่ระบุ | layer: shared | output: unknown","parameters":{"type":"object","properties":{"name":{"type":"string","description":"name: string"}},"required":["name"]},"_dna_command":"registry.get_service"}},{"type":"function","function":{"name":"registry__get_schema","description":"ดึงข้อมูล Schema จากทะเบียนตามชื่อที่ระบุ | layer: shared | output: unknown","parameters":{"type":"object","properties":{"name":{"type":"string","description":"name: string"}},"required":["name"]},"_dna_command":"registry.get_schema"}},{"type":"function","function":{"name":"events__recent","description":"ดึงประวัติเหตุการณ์ล่าสุด (ค่าเริ่มต้น 20 รายการ) | layer: shared | output: RuntimeEvent[]","parameters":{"type":"object","properties":{"count":{"type":"number","description":"count: number"}},"required":[]},"_dna_command":"events.recent"}},{"type":"function","function":{"name":"events__by_trace","description":"ดึงประวัติเหตุการณ์ตามรหัสติดตาม (Trace ID) | layer: shared | output: RuntimeEvent[]","parameters":{"type":"object","properties":{"traceId":{"type":"string","description":"traceId: string"}},"required":["traceId"]},"_dna_command":"events.by_trace"}},{"type":"function","function":{"name":"ai__translate","description":"แปลภาษาไทยเป็นเจตนา (Intent), ข้อมูล (Entity), และคำสั่ง (Command) ที่ระบบรู้จัก | layer: services | output: TranslationResult","parameters":{"type":"object","properties":{"text":{"type":"string","description":"text: string"}},"required":["text"]},"_dna_command":"ai.translate"}},{"type":"function","function":{"name":"computer__app__launch","description":"สั่งเปิดโปรแกรมบน macOS (เช่น LINE, Chrome, VS Code) | layer: core | output: WorkflowResult","parameters":{"type":"object","properties":{"app":{"type":"string","description":"app: string"}},"required":["app"]},"_dna_command":"computer.app.launch"}},{"type":"function","function":{"name":"computer__chat__read","description":"อ่านข้อความแชทจากโปรแกรมที่กำลังใช้งานอยู่ | layer: core | output: WorkflowResult","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"computer.chat.read"}},{"type":"function","function":{"name":"computer__chat__summarize","description":"สรุปเนื้อหาจากแชทหรือข้อความที่อ่าน | layer: core | output: WorkflowResult","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"computer.chat.summarize"}},{"type":"function","function":{"name":"computer__db__search_partner","description":"ค้นหาคู่ค้า (ทำงานตามขั้นตอน workflow) | layer: core | output: WorkflowResult","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"computer.db.search_partner"}},{"type":"function","function":{"name":"computer__db__search_debt","description":"ค้นหาหนี้ (ทำงานตามขั้นตอน workflow) | layer: core | output: WorkflowResult","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"computer.db.search_debt"}},{"type":"function","function":{"name":"computer__db__load_invoice","description":"โหลดข้อมูลใบแจ้งหนี้ (ทำงานตามขั้นตอน workflow) | layer: core | output: WorkflowResult","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"computer.db.load_invoice"}},{"type":"function","function":{"name":"computer__calc__price","description":"คำนวณราคา (ทำงานตามขั้นตอน workflow) | layer: core | output: WorkflowResult","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"computer.calc.price"}},{"type":"function","function":{"name":"computer__calc__distance","description":"ตรวจสอบระยะทาง (ทำงานตามขั้นตอน workflow) | layer: core | output: WorkflowResult","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"computer.calc.distance"}},{"type":"function","function":{"name":"computer__doc__preview","description":"ดูตัวอย่างเอกสาร (ทำงานตามขั้นตอน workflow) | layer: core | output: WorkflowResult","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"computer.doc.preview"}},{"type":"function","function":{"name":"computer__system__status","description":"ตรวจสอบสถานะของทุกโปรแกรมที่ลงทะเบียนไว้ | layer: core | output: Record<string, AppStatus>","parameters":{"type":"object","properties":{},"required":[]},"_dna_command":"computer.system.status"}}]}