Skip to content

Ramble Payloads

chaos.lib.args.dataclasses.RambleCreatePayload

Bases: BasePayload

Payload for creating a new encrypted or unencrypted ramble (journal note).

Attributes:

Name Type Description
target str

The target journal and page name in dot notation (e.g., 'journal.page').

context SecretsContext | dict[str, Any]

The context resolving the team directory and potential .sops.yaml configuration.

encrypt bool

If True, encrypts the ramble immediately after creation using SOPS.

keys list[str] | None

Optional list of specific YAML keys within the ramble to encrypt (instead of encrypting all values).

confirmed bool

Internal state tracking whether the user confirmed overwriting or editing an existing ramble.

chaos.lib.args.dataclasses.RambleEditPayload

Bases: BasePayload

Payload for editing an existing ramble file.

Attributes:

Name Type Description
target str

The target journal and page name in dot notation (e.g., 'journal.page').

context SecretsContext | dict[str, Any]

The context resolving the team directory and .sops.yaml location.

edit_sops_file bool

If True, opens the .sops.yaml configuration file for the ramble namespace instead of the ramble itself.

chaos.lib.args.dataclasses.RambleEncryptPayload

Bases: BasePayload

Payload for encrypting an existing, unencrypted ramble file.

Attributes:

Name Type Description
target str

The target journal and page name to encrypt.

context SecretsContext | dict[str, Any]

The context resolving the .sops.yaml configuration.

keys list[str] | None

Optional list of specific YAML keys within the ramble to encrypt. If None, encrypts all values except base metadata.

chaos.lib.args.dataclasses.RambleReadPayload

Bases: BasePayload

Payload for reading and displaying the content of one or more ramble files.

Attributes:

Name Type Description
targets list[str]

A list of target rambles to read (e.g., 'journal.page' or 'journal.list').

context SecretsContext | dict[str, Any]

The context containing decryption provider configurations if the rambles are encrypted.

no_pretty bool

If True, disables rich CLI rendering for the output.

json bool

If True, formats the raw read output as JSON.

values list[str] | None

Optional list of specific YAML keys to extract and print from the read ramble (useful for piping).

chaos.lib.args.dataclasses.RambleFindPayload

Bases: BasePayload

Payload for searching through all ramble files for specific terms or tags.

Attributes:

Name Type Description
context SecretsContext | dict[str, Any]

The context containing decryption configurations for searching encrypted rambles.

find_term str | None

The keyword or phrase to search for within the ramble content.

tag str | None

Optional tag to filter the search results.

no_pretty bool

If True, disables rich CLI formatting for the search results list.

json bool

If True, formats the search results list as JSON.

chaos.lib.args.dataclasses.RambleMovePayload

Bases: BasePayload

Payload for renaming or moving a ramble journal or page.

Attributes:

Name Type Description
old str

The current target path of the journal or page.

new str

The new target path for the journal or page.

context SecretsContext | dict[str, Any]

The context used to resolve the team directories.

chaos.lib.args.dataclasses.RambleDeletePayload

Bases: BasePayload

Payload for deleting a ramble journal or page.

Attributes:

Name Type Description
ramble str

The target journal or page to delete.

context SecretsContext | dict[str, Any]

The context used to resolve the team directories.

confirmed bool

Internal state tracking whether the user confirmed the deletion.

chaos.lib.args.dataclasses.RambleUpdateEncryptPayload

Bases: BasePayload

Payload for triggering a re-encryption (sops updatekeys) on all encrypted ramble files.

Attributes:

Name Type Description
context SecretsContext | dict[str, Any]

The context containing the paths to the .sops.yaml configuration and the decryption providers.