Resolved [skills] section plus the directory the manifest came
from. Paths in skills.paths are joined against manifest_dir;
[[skill.source]] fs entries get absolutized here too.
Non-secret setup input that a connector may read from an explicit process
environment allowlist. Values are consumed only by the setup adapter and
are never projected into plans, status reports, or model context.
Severity override for preflight diagnostics. error (default) fails
harn check; warning reports but does not fail; off suppresses
entirely. Accepted via [check].preflight_severity in harn.toml so
repos with hosts that do not expose every capability statically can
keep the checker running on genuine type errors.
One [[skill.source]] entry. The registry variant is accepted
for forward-compat but inert — see issue #73 and docs/src/skills.md
for the marketplace timeline.
Validate the allowlisted environment names for non-secret setup fields.
This is intentionally separate from credential sources: a public OAuth
client id must never be mistaken for an access token or stored in the
credential index.
Install manifest triggers with an explicit module-initialization policy.
Both modes validate declarations, exports, and callable signatures before
installation.
Load the [skills] + [[skill.source]] tables from the nearest
harn.toml, walking up from anchor like load_check_config.
Returns None when there is no manifest on the walk path.
Load the [workspace] config and the directory of the harn.toml
it came from. Paths in the returned config are left as-is (callers
resolve them against the returned manifest_dir).
Resolve one non-secret setup value only from names explicitly declared by
the connector manifest. The value is returned to the setup adapter and must
not be included in status, plan, event, or diagnostic output.
Expand skills.paths (which may include simple * globs) into
concrete directories relative to manifest_dir. We implement just
enough globbing for the documented packages/*/skills pattern so
we don’t force a glob-crate dep on harn-cli.
Load runtime extensions only when manifest_path is an exact package
manifest. Standalone persona source/manifest files return None so their
callers can use the already validated persona catalog without searching an
ancestor project.