DIN

Docs

Console settings

The local console (din console) can change this install's settings for you, so a paid install never needs a terminal: activating a key, webhooks, capture, autostart, agents and fields. Every control runs the installed din command named beside it, on this machine, and shows you exactly what that command printed. Nothing is changed any other way, so the console and the terminal always agree.

These controls are new in 1.0.32. On an earlier release, run the same din commands in a terminal.

Where the controls are, and who can use them

They are on the local console only: Plan and billing has the activate box, and Settings has the rest. The public demo and a hosted console have neither, and their servers do not answer the settings requests at all.

The local console listens on this machine's loopback address only. A settings request is accepted only from the console's own page: it must carry a random key the console creates each time it starts and puts in the page, and it must come from the console's own address. A page on any other site cannot use them. If the console restarts while a page is open, the page's key is out of date: reload the page. Every settings request, accepted or refused, is written to the console's log by command; a licence key never is.

Activate a key (Plan and billing)

Paste your licence key and press Activate. The console runs din activate - with the key on its standard input, never on a command line. It shows your tier, what it turns on and when the current period ends, or the error din gave, and the plan on the screen updates without a restart. See Activate a paid licence for what din activate checks and writes.

Capture and startup

Paths are absolute and matched as a prefix of the directory your agent works in. A path with a : in it (a Windows drive path) cannot go in these lists today. Secrets are removed before anything is written, whatever these settings say.

Agents and fields

Webhooks

Webhooks are a paid feature. On the free plan the panel shows what it does and links to the plans, and the console does not run anything for it.

On a paid plan the panel lists your subscriptions and lets you add or remove one (an endpoint URL, a name, and any of the four events: record.new, collision.detected, needs_human.raised, decision.superseded; none ticked means all four). Send test event posts one event named webhook.test to that endpoint, the way the field sends a real one, and shows the status it answered.

The panel runs din webhooks list, add, remove and test, which write the file your field reads: the one named by FIELD_WEBHOOKS, or webhooks.json beside the field program when that is not set. A running field reads that file again on its next rescan, so adding or removing a subscription needs no restart. If you set FIELD_WEBHOOKS yourself, set it before the field starts (in the environment, or in the install's field.env, which din field start hands to the field).

Only http:// endpoints work. https:// is not supported: the field has no TLS stack, and an https:// URL is refused when you add it. To deliver to an https:// endpoint, run a TLS forwarder on loopback and subscribe its http:// address. A signing secret is set by hand in the subscriptions file; the console never shows one, keeps any that are there, and a test event is signed with it like a real one.

Each event is a pointer (an id, the project, a timestamp), never a copy of a record.