Documentation
¶
Overview ¶
Vendor assets for agent-authored dashboards (GDK-792): the pinned chart library a dashboard may load from /api/v1/dashboards/vendor/ instead of a CDN. Embedding it keeps the dashboards CSP free of external hosts (no outbound rule change — the bytes ship inside the binary), and pinning the version once means every dashboard sees the same library instead of whatever a CDN serves that day.
[GDK-808] three.js no longer ships embedded (−750 KB): anything bigger or less universal than uPlot belongs in the user-managed lib cache (`gadak dashboards lib add <url>` — sha384-pinned at download, re-hashed at serve, see internal/dashboards/libs.go), not in every binary gadak ships. uPlot stays embedded: one chart library is the norm the example dashboard sets.
The HTTP whitelist is DashVendorFile's table, not the directory: the license is embedded for NOTICE/NPB purposes but is not served.
Package gadak embeds the built web UI so a release is one self-contained binary. `npm run build` writes web assets to dist/app before `go build`; without that step the embed carries only the committed placeholder and WebUI reports ok=false, which `gadak serve` turns into a helpful error.
It also embeds the Claude Code skill (skills/gadak/SKILL.md) so `gadak skill install` works for brew installs without a source checkout.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DashVendorFile ¶ added in v0.17.2
DashVendorFile returns the embedded bytes and content type for a whitelisted vendor filename. ok is false for anything not in the table — unknown names, subdirectories, license files — and the route answers 404 in that case. Callers must not modify the returned slice.
func SkillMarkdown ¶
func SkillMarkdown() []byte
SkillMarkdown returns the embedded Claude Code skill body (skills/gadak/SKILL.md). Callers must not modify the returned slice.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
gadak
command
export-static freezes the demo mirror into static JSON + attachment bytes for the zero-install hosted demo (GitHub Pages).
|
export-static freezes the demo mirror into static JSON + attachment bytes for the zero-install hosted demo (GitHub Pages). |
|
contrib
|
|
|
raycast
Package raycastext embeds the Raycast extension source so the gadak binary can install it without a checkout (gadak raycast install).
|
Package raycastext embeds the Raycast extension source so the gadak binary can install it without a checkout (gadak raycast install). |
|
internal
|
|
|
adf
Package adf inspects Atlassian Document Format (ADF) JSON without importing Jira types, so store, origin, and CLI can share it without crossing the store/jira firewall (docs/ARCHITECTURE.md).
|
Package adf inspects Atlassian Document Format (ADF) JSON without importing Jira types, so store, origin, and CLI can share it without crossing the store/jira firewall (docs/ARCHITECTURE.md). |
|
applog
Package applog is the single owner of where process log output goes.
|
Package applog is the single owner of where process log output goes. |
|
apprun
Package apprun is the single owner of the long-lived process boot sequence shared by `gadak serve` and gadak-desktop.
|
Package apprun is the single owner of the long-lived process boot sequence shared by `gadak serve` and gadak-desktop. |
|
atlhttp
Package atlhttp is the shared HTTP transport for Atlassian Cloud clients (Jira, Confluence): path safety, Authorization host pinning, and the Do/DoRaw loop.
|
Package atlhttp is the shared HTTP transport for Atlassian Cloud clients (Jira, Confluence): path safety, Authorization host pinning, and the Do/DoRaw loop. |
|
attachcache
Package attachcache stores attachment bytes on local disk.
|
Package attachcache stores attachment bytes on local disk. |
|
calendar
Package calendar is the single owner of "which calendar day is this?".
|
Package calendar is the single owner of "which calendar day is this?". |
|
claim
Package claim is the single owner of the gadak claim write (CLI today, REST later), the way internal/transition owns the transition write.
|
Package claim is the single owner of the gadak claim write (CLI today, REST later), the way internal/transition owns the transition write. |
|
clitool
Package clitool installs the gadak binary onto PATH.
|
Package clitool installs the gadak binary onto PATH. |
|
config
Package config loads and saves ~/.gadak/config.json.
|
Package config loads and saves ~/.gadak/config.json. |
|
config/tokencheck
Dimension-token validation (dim-token chunk 1) — the sibling of the color side of this package.
|
Dimension-token validation (dim-token chunk 1) — the sibling of the color side of this package. |
|
confluence
Package confluence is a thin REST client for Confluence Cloud: enough of the API to fill the page mirror, plus the user-initiated page writes that go through the origin (create / update).
|
Package confluence is a thin REST client for Confluence Cloud: enough of the API to fill the page mirror, plus the user-initiated page writes that go through the origin (create / update). |
|
create
Package create is the single owner of project, issue-type, and priority resolution for gadak create (CLI and REST).
|
Package create is the single owner of project, issue-type, and priority resolution for gadak create (CLI and REST). |
|
dashboards
Package dashboards owns the interpretation of dashboard rows: the config document (HTML + named datasources) and its validation rules, name→row resolution, and datasource execution into the {columns, rows, truncated, warning?} document the render iframe draws from (GDK-781).
|
Package dashboards owns the interpretation of dashboard rows: the config document (HTML + named datasources) and its validation rules, name→row resolution, and datasource execution into the {columns, rows, truncated, warning?} document the render iframe draws from (GDK-781). |
|
deeplink
Package deeplink parses and builds the gadak:// URLs that hand a piece of gadak to someone — a link in chat or on a web page instead of a shell, a running serve, and a command with side effects.
|
Package deeplink parses and builds the gadak:// URLs that hand a piece of gadak to someone — a link in chat or on a web page instead of a shell, a running serve, and a command with side effects. |
|
fields
Package fields holds source-neutral field helpers — coalesce, fill checks, slugs, and write-payload shaping — so internal/store can use them without importing Jira types.
|
Package fields holds source-neutral field helpers — coalesce, fill checks, slugs, and write-payload shaping — so internal/store can use them without importing Jira types. |
|
fsperm
Package fsperm is the single owner of private-directory creation.
|
Package fsperm is the single owner of private-directory creation. |
|
httppolicy
Package httppolicy is the host-neutral HTTP retry and usage policy shared by origin clients (Atlassian via atlhttp, Linear).
|
Package httppolicy is the host-neutral HTTP retry and usage policy shared by origin clients (Atlassian via atlhttp, Linear). |
|
integrations
Package integrations is the desktop Settings catalog: which local agent/host tools gadak can install, how to detect them, and which gadak CLI argv installs each one.
|
Package integrations is the desktop Settings catalog: which local agent/host tools gadak can install, how to detect them, and which gadak CLI argv installs each one. |
|
jira
Package jira is the Atlassian Cloud REST client: read paths plus user-initiated writes.
|
Package jira is the Atlassian Cloud REST client: read paths plus user-initiated writes. |
|
jirafields
Package jirafields classifies and discovers Jira custom fields for the mirror.
|
Package jirafields classifies and discovers Jira custom fields for the mirror. |
|
jql
Package jql translates a documented JQL subset to and from gadak's in-memory filter (the same shape the web UI serializes into the URL).
|
Package jql translates a documented JQL subset to and from gadak's in-memory filter (the same shape the web UI serializes into the URL). |
|
linear
Package linear is the GraphQL client for a Linear workspace: viewer, teams, workflow states, cursor-paged issues with an updatedAt watermark filter, and — since GDK-360 — the three write verbs (create issue, update issue, comment) the origin.Writer adapter routes through.
|
Package linear is the GraphQL client for a Linear workspace: viewer, teams, workflow states, cursor-paged issues with an updatedAt watermark filter, and — since GDK-360 — the three write verbs (create issue, update issue, comment) the origin.Writer adapter routes through. |
|
mcp
Package mcp implements a thin stdio MCP server over the local gadak mirror.
|
Package mcp implements a thin stdio MCP server over the local gadak mirror. |
|
origin
Package origin is the single owner of "this workspace's origin clients".
|
Package origin is the single owner of "this workspace's origin clients". |
|
originbind
Package originbind owns one invariant: a workspace is bound to one origin.
|
Package originbind owns one invariant: a workspace is bound to one origin. |
|
pairing
Package pairing owns the device tokens that gate a serve's origin passthrough once it is exposed beyond loopback (GDK-433), and — since GDK-797/GDK-883 — the mirror REST a paired phone companion reads.
|
Package pairing owns the device tokens that gate a serve's origin passthrough once it is exposed beyond loopback (GDK-433), and — since GDK-797/GDK-883 — the mirror REST a paired phone companion reads. |
|
parenthint
Package parenthint is the single owner of parent-rejection detection and the mirror hierarchy hint that follows it (CLI create/edit and REST PUT parent / POST create).
|
Package parenthint is the single owner of parent-rejection detection and the mirror hierarchy hint that follows it (CLI create/edit and REST PUT parent / POST create). |
|
secretscan
Package secretscan holds the credential-shaped string patterns that every outbound artifact is checked against before it is written.
|
Package secretscan holds the credential-shaped string patterns that every outbound artifact is checked against before it is written. |
|
selfupdate
Package selfupdate answers one question — is a newer release published? — with one GitHub API call a day, cached on disk.
|
Package selfupdate answers one question — is a newer release published? — with one GitHub API call a day, cached on disk. |
|
serveaddr
Package serveaddr owns the home-root run directory that a live `gadak serve` writes so other processes can find it without guessing ports.
|
Package serveaddr owns the home-root run directory that a live `gadak serve` writes so other processes can find it without guessing ports. |
|
server
Package server is the loopback HTTP mux for the web UI and the API (specs/000-product/contracts/api.md).
|
Package server is the loopback HTTP mux for the web UI and the API (specs/000-product/contracts/api.md). |
|
snapshot
Package snapshot builds shareable mirror copies for demos and benchmarks.
|
Package snapshot builds shareable mirror copies for demos and benchmarks. |
|
sqlhint
Package sqlhint is the shared SQL-error help used by gadak sql and gadak_query (MCP), and the owner of SQL comment stripping (StripComments) used by the group-query and MCP SELECT gates.
|
Package sqlhint is the shared SQL-error help used by gadak sql and gadak_query (MCP), and the owner of SQL comment stripping (StripComments) used by the group-query and MCP SELECT gates. |
|
statuscat
Package statuscat is the single owner of the status-category contract: the three tokens data-model.md documents (new | inprogress | done), their mapping from Jira's REST statusCategory keys, and the reverse.
|
Package statuscat is the single owner of the status-category contract: the three tokens data-model.md documents (new | inprogress | done), their mapping from Jira's REST statusCategory keys, and the reverse. |
|
store
Package store owns the SQLite mirror: schema, migrations, transactions, full-text index and the derived fields the source does not provide.
|
Package store owns the SQLite mirror: schema, migrations, transactions, full-text index and the derived fields the source does not provide. |
|
sync
Package sync fills the mirror from the configured sources (Jira, and Confluence when enabled).
|
Package sync fills the mirror from the configured sources (Jira, and Confluence when enabled). |
|
teamconfig
Package teamconfig builds and applies team-shareable gadak configuration files (views, field maps, group rules, …) without credentials or personal machine prefs.
|
Package teamconfig builds and applies team-shareable gadak configuration files (views, field maps, group rules, …) without credentials or personal machine prefs. |
|
term
Package term owns the PTY sessions `gadak serve` runs next to the mirror — one session core for all three surfaces (the web pane, the desktop app, and a phone over the paired network).
|
Package term owns the PTY sessions `gadak serve` runs next to the mirror — one session core for all three surfaces (the web pane, the desktop app, and a phone over the paired network). |
|
transition
Package transition is the single owner of the gadak transition write (CLI, including `gadak close`, and REST).
|
Package transition is the single owner of the gadak transition write (CLI, including `gadak close`, and REST). |
|
uifocus
Package uifocus is the handoff from the CLI to a running UI.
|
Package uifocus is the handoff from the CLI to a running UI. |
|
views
Package views owns the interpretation of view names: how the Jira filters and saved views inside a store are listed, and how one name resolves to exactly one of them.
|
Package views owns the interpretation of view names: how the Jira filters and saved views inside a store are listed, and how one name resolves to exactly one of them. |
|
workspace
Package workspace mounts additional gadak profiles under /w/<name>/ and lists them at GET /api/v1/workspaces.
|
Package workspace mounts additional gadak profiles under /w/<name>/ and lists them at GET /api/v1/workspaces. |
|
tools
|
|
|
bench-fixture
command
Command bench-fixture builds a deterministic synthetic gadak.db for latency benchmarks (T6.7 / G5).
|
Command bench-fixture builds a deterministic synthetic gadak.db for latency benchmarks (T6.7 / G5). |
|
seed-demo
command
Command seed-demo populates a throwaway Jira Cloud site with a realistic demo backlog for gadak screenshots and examples/demo.db.
|
Command seed-demo populates a throwaway Jira Cloud site with a realistic demo backlog for gadak screenshots and examples/demo.db. |
|
term-leak-probe
command
Command term-leak-probe measures whether a gadak PTY session leaves a SIGHUP-immune grandchild alive after Close.
|
Command term-leak-probe measures whether a gadak PTY session leaves a SIGHUP-immune grandchild alive after Close. |