internal/

directory
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2026 License: Apache-2.0

Directories

Path Synopsis
Implements design-docs/ColorConfig.md's `[colors]` table: one field per uikit.*Color/diff.DiffChromeColor constant (design-docs/Colors.md), the toml tag being that constant's own name with the trailing "Color" dropped and snake_cased - see ColorConfig.md's own "Key naming rule".
Implements design-docs/ColorConfig.md's `[colors]` table: one field per uikit.*Color/diff.DiffChromeColor constant (design-docs/Colors.md), the toml tag being that constant's own name with the trailing "Color" dropped and snake_cased - see ColorConfig.md's own "Key naming rule".
Implements the "diff" hotkey (design-docs/Diff.md): pick a past run to compare the current tree against, show only what differs, and drill down into a matched task's own per-tab unified diff between the two runs.
Implements the "diff" hotkey (design-docs/Diff.md): pick a past run to compare the current tree against, show only what differs, and drill down into a matched task's own per-tab unified diff between the two runs.
Package execerr turns Go's own os/exec error text - unreadable to anyone who doesn't already know exec.Cmd's internals, e.g.
Package execerr turns Go's own os/exec error text - unreadable to anyone who doesn't already know exec.Cmd's internals, e.g.
Implements the "host" Verb (design-docs/HostVerb.md): a standalone, five-tab program showing everything Tangsible can determine about one host - live gathered facts, inventory group membership, which plays would run for it, its own host_vars files, and the raw "ansible-inventory --host" dump - entirely separate from the run/rerun/role verbs' own live tree UI, the same way "template" is (template.go).
Implements the "host" Verb (design-docs/HostVerb.md): a standalone, five-tab program showing everything Tangsible can determine about one host - live gathered facts, inventory group membership, which plays would run for it, its own host_vars files, and the raw "ansible-inventory --host" dump - entirely separate from the run/rerun/role verbs' own live tree UI, the same way "template" is (template.go).
Package inventory is a small ansible-inventory --list client - the one piece host.go and template.go both genuinely need from each other (host.go's ListInventoryHosts calls this package's own FlattenInventoryHosts; template.go's resolveInventoryHost calls host.go's ListInventoryHosts) - pulled out into its own package specifically to break that two-way cycle rather than merging the two (much larger) files together.
Package inventory is a small ansible-inventory --list client - the one piece host.go and template.go both genuinely need from each other (host.go's ListInventoryHosts calls this package's own FlattenInventoryHosts; template.go's resolveInventoryHost calls host.go's ListInventoryHosts) - pulled out into its own package specifically to break that two-way cycle rather than merging the two (much larger) files together.
Implements the "revisit" Verb (design-docs/Revisit.md, Phase 2): browse previous tangsible runs and reopen one, with the full tree/drill-down view (but not yet re-run - see requestRerun's own nil below - that's Phase 3).
Implements the "revisit" Verb (design-docs/Revisit.md, Phase 2): browse previous tangsible runs and reopen one, with the full tree/drill-down view (but not yet re-run - see requestRerun's own nil below - that's Phase 3).
The shared "how does a live generation actually run" mechanism - draining its stdout, waiting for it, recording its outcome, and starting a fresh one on request (Rerun.md).
The shared "how does a live generation actually run" mechanism - draining its stdout, waiting for it, recording its outcome, and starting a fresh one on request (Rerun.md).
Backs design-docs/ErrorOutput.md: a real user report that "Playbook failed" gave no hint of *why* until the TUI was closed (stderr can't be printed live - it would corrupt the alternate screen - so it used to be collected silently and only ever dumped after the whole session ended).
Backs design-docs/ErrorOutput.md: a real user report that "Playbook failed" gave no hint of *why* until the TUI was closed (stderr can't be printed live - it would corrupt the alternate screen - so it used to be collected silently and only ever dumped after the whole session ended).
Implements the "template" Verb (design-docs/Tangsible template.md): a standalone, single-view program for interactively debugging a Jinja2 template, entirely separate from the run/rerun/role verbs' own live tree UI - there's no tree to browse here, and no live jsonl-streaming pipeline is needed, since each render is exactly one synchronous ansible-playbook invocation against exactly one host.
Implements the "template" Verb (design-docs/Tangsible template.md): a standalone, single-view program for interactively debugging a Jinja2 template, entirely separate from the run/rerun/role verbs' own live tree UI - there's no tree to browse here, and no live jsonl-streaming pipeline is needed, since each render is exactly one synchronous ansible-playbook invocation against exactly one host.
Implements the 'y' shortcut design-docs/CopyToClipboard.md asks for - copy the currently active tab's own content (the same plain, tag-stripped text TextSearch already searches) to the real, local clipboard via an OSC 52 terminal escape sequence, so it works over SSH and inside tmux, not just when the terminal itself is local.
Implements the 'y' shortcut design-docs/CopyToClipboard.md asks for - copy the currently active tab's own content (the same plain, tag-stripped text TextSearch already searches) to the real, local clipboard via an OSC 52 terminal escape sequence, so it works over SSH and inside tmux, not just when the terminal itself is local.
Implements the "vault" Verb (design-docs/Vault.md): edit individually vault-encrypted Ansible variables in a file as if editing plain text - decrypt every top-level !vault value, open $EDITOR on the plaintext view, and on close, re-encrypt only what actually changed.
Implements the "vault" Verb (design-docs/Vault.md): edit individually vault-encrypted Ansible variables in a file as if editing plain text - decrypt every top-level !vault value, open $EDITOR on the plaintext view, and on close, re-encrypt only what actually changed.
Package vaultcrypto implements Ansible Vault's AES256 cipher (format version 1.1) natively, rather than shelling out to ansible-vault.
Package vaultcrypto implements Ansible Vault's AES256 cipher (format version 1.1) natively, rather than shelling out to ansible-vault.
Package vaultfile builds and reassembles the plaintext editable view of an individually-vault-encrypted Ansible variables file (see design-docs/Vault.md), and computes the per-key diff between what was decrypted before editing and what's there after - the mechanism that avoids re-encrypting a value's ciphertext just because it wasn't touched (see vaultcrypto's own doc comment on why Vault's random per-encryption salt makes that distinction load-bearing).
Package vaultfile builds and reassembles the plaintext editable view of an individually-vault-encrypted Ansible variables file (see design-docs/Vault.md), and computes the per-key diff between what was decrypted before editing and what's there after - the mechanism that avoids re-encrypting a value's ciphertext just because it wasn't touched (see vaultcrypto's own doc comment on why Vault's random per-encryption salt makes that distinction load-bearing).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL