Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 21 additions & 7 deletions extensions/ducklink/description.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
extension:
name: ducklink
description: Load portable WebAssembly extension modules into DuckDB from SQL
version: 4.0.0
version: 4.2.0
language: Rust
build: cargo
license: MIT
Expand All @@ -19,7 +19,7 @@ extension:

repo:
github: tegmentum/ducklink-extension
ref: v4.0.0
ref: v4.2.0

docs:
hello_world: |
Expand Down Expand Up @@ -49,11 +49,25 @@ docs:

A set of system views makes everything introspectable:

* ducklink.modules — the full catalog, with a `loaded` flag
* ducklink.functions — every function with its full SQL signature
* ducklink.capabilities — what this host build supports
* ducklink.cache — the local component cache
* ducklink.versions — module generations and compatibility
* ducklink.modules — the full catalog, with a `loaded` flag
* ducklink.functions — every function with its full SQL signature
* ducklink.docs — searchable per-function documentation
* ducklink.host_capabilities — capability kinds this host build satisfies
* ducklink.host — this host's WIT contract version + DuckDB build info
* ducklink.cache — the local component cache
* ducklink.module_compatibility — per module × generation: runnable, selected, lifecycle

Two companion helpers make the doc surface interactive:
`ducklink_search('query')` returns ranked function matches across name,
tags, summary, and description; `ducklink_help('name')` renders the
markdown block for a single function or every function in a module —
so the catalog is discoverable from SQL without leaving the session.

Components can also ship their own docs bundled in the `.wasm` binary
via a `duckdb.docs` custom section (JSON per function). Ducklink reads
the section at load and merges it with the catalog docs — component
summary/description/example override the catalog, tags union — so
third-party modules can keep their own docs authoritative.

On Linux and macOS an advanced tier also enables a `LOAD WASM '<name>'`
statement — an explicit, sandbox-aware alternative to `ducklink_load` that
Expand Down
Loading