Files
fn_registry/docs/capabilities
egutierrez 1c4a4b9259 feat(duckdb,dav): primitivas de escritura DuckDB + libretas CardDAV + vCard multi-valor
Cinco funciones nuevas para soportar DuckDB como fuente de verdad del project osint:

Grupo duckdb (escritura, complementan a duckdb_query_readonly):
- duckdb_execute_py_infra (impure): ejecuta INSERT/UPDATE/DELETE/DDL en read-write, commit, {status,rowcount}. 6 tests.
- duckdb_upsert_py_infra (impure): UPSERT ON CONFLICT actualizando solo update_cols → ownership selectivo (un re-upsert no pisa columnas excluidas). 7 tests.

Grupo dav (libretas de contactos + vCard multi-valor):
- dav_make_addressbook_py_infra (impure): crea una libreta CardDAV nueva via extended MKCOL (RFC 5689). Idempotente. 12 tests.
- dav_list_addressbooks_py_infra (impure): lista las libretas del contacts-home (PROPFIND Depth:1). 7 tests.
- build_vcard_py_core (pure): serializa un contacto a vCard 3.0 multi-valor (N TEL/EMAIL/ADR + X-OSINT-*). 5 tests.

Paginas de capacidad duckdb.md y dav.md actualizadas.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 00:33:12 +02:00
..
2026-06-01 22:23:12 +02:00
2026-05-19 00:31:30 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-06-01 22:23:12 +02:00
2026-05-16 16:33:22 +02:00
2026-06-01 22:23:12 +02:00
2026-06-01 22:23:12 +02:00
2026-05-16 16:33:22 +02:00
2026-05-30 17:28:47 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-14 00:28:20 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-19 00:31:30 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-06-07 16:23:52 +02:00