<commit_before># AdminContact: "<NAME>, <<EMAIL>>"

## Configure the robot connection protocol; modifying this could
## break `gopherbot -t`
{{ $proto := env "GOPHER_PROTOCOL" | default "terminal" }}
Protocol: {{ $proto }}

## Protocol-specific configuration
{{ if eq $proto "slack" }}
{{ .Include "slack.yaml" }}
{{ end }}

{{ if eq $proto "terminal" }}
{{ .Include "terminal.yaml" }}
{{ end }}

{{ $botname := env "GOPHER_BOTNAME" | default "<botname>" }}
{{ $botemail := env "GOPHER_BOTMAIL" | default "<botemail>" }}
{{ $botfullname := env "GOPHER_BOTFULLNAME" | default "<botfullname>" }}
{{ $botalias := env "GOPHER_ALIAS" | default "<botalias>" }}

BotInfo:
  UserName: {{ $botname }}
  Email: {{ $botemail }}
  FullName: {{ $botfullname }}
  FirstName: {{ $botname }}
  LastName: Gopherbot

Alias: '{{ $botalias }}'

# Brain configuration; this can all be replaced with static configuration
# and encrypted secrets for most robots.
{{ $brain := env "GOPHER_BRAIN" | default "file" }}
{{ $statedir := env "GOPHER_STATEDIR" | default "state" }}
{{ $defbraindir := printf "%s/brain" $statedir }}
Brain: {{ $brain }}
#EncryptBrain: true # default
{{ if eq $brain "file" }}
BrainConfig:
  BrainDirectory: {{ env "GOPHER_BRAIN_DIRECTORY" | default $defbraindir }}
  Encode: true
{{ else if eq $brain "dynamo" }}
BrainConfig:
  TableName: "your table name here"
  Region: {{ env "GOPHER_BRAIN_REGION" | default "us-east-1" }}
  AccessKeyID: "replace with encrypted value"
  SecretAccessKey: "replace with encrypted value"
{{ end }}
# End brain config

# Defaults for history and workspace directories, relative to the
# process working directory.
{{ $histdir := env "GOPHER_HISTORYDIR" | default "history" }}
{{ $workdir := env "GOPHER_WORKSPACE" | default "workspace" }}
{{ if $workdir -}} WorkSpace: {{ $workdir }} {{- end }}

## Configure a history provider
{{ $history := env "GOPHER_HISTORY_PROVIDER" | default "file" }}
HistoryProvider: {{ $history }}

{{ if eq $history "file" }}
HistoryConfig:
  Directory: {{ $histdir }}
  #URLPrefix: 'http://localhost:9000'
{{ end }}
## End history config

## If the plugin doesn't specify an outgoing message format, what's the default?
## This will be 'Raw' (unmodified, subject to protocol-specific formatting) if
## not set. 'Variable' will escape special characters like #, @, _, `, etc. so
## those characters can appear in replies. 'Fixed' will send everything in a
## fixed-width font.
# DefaultMessageFormat: Variable # 'Raw' if not specified

ExternalJobs:
  ## Using a dedicated read-write deploy key dramatically simplifies initial
  ## setup. You can remove these override parameters to use the robot's
  ## default "robot_rsa", or use another key of your choice.
  "updatecfg":
    Parameters:
    - Name: "KEYNAME"
      Value: "manage_rsa"
  "save":
    Parameters:
    - Name: "KEYNAME"
      Value: "manage_rsa"
  "backup":
    Parameters:
    - Name: "KEYNAME"
      Value: "manage_rsa"
  "restore":<commit_msg>Info on history LocalPort<commit_after># AdminContact: "<NAME>, <<EMAIL>>"

## Configure the robot connection protocol; modifying this could
## break `gopherbot -t`
{{ $proto := env "GOPHER_PROTOCOL" | default "terminal" }}
Protocol: {{ $proto }}

## Protocol-specific configuration
{{ if eq $proto "slack" }}
{{ .Include "slack.yaml" }}
{{ end }}

{{ if eq $proto "terminal" }}
{{ .Include "terminal.yaml" }}
{{ end }}

{{ $botname := env "GOPHER_BOTNAME" | default "<botname>" }}
{{ $botemail := env "GOPHER_BOTMAIL" | default "<botemail>" }}
{{ $botfullname := env "GOPHER_BOTFULLNAME" | default "<botfullname>" }}
{{ $botalias := env "GOPHER_ALIAS" | default "<botalias>" }}

BotInfo:
  UserName: {{ $botname }}
  Email: {{ $botemail }}
  FullName: {{ $botfullname }}
  FirstName: {{ $botname }}
  LastName: Gopherbot

Alias: '{{ $botalias }}'

# Brain configuration; this can all be replaced with static configuration
# and encrypted secrets for most robots.
{{ $brain := env "GOPHER_BRAIN" | default "file" }}
{{ $statedir := env "GOPHER_STATEDIR" | default "state" }}
{{ $defbraindir := printf "%s/brain" $statedir }}
Brain: {{ $brain }}
#EncryptBrain: true # default
{{ if eq $brain "file" }}
BrainConfig:
  BrainDirectory: {{ env "GOPHER_BRAIN_DIRECTORY" | default $defbraindir }}
  Encode: true
{{ else if eq $brain "dynamo" }}
BrainConfig:
  TableName: "your table name here"
  Region: {{ env "GOPHER_BRAIN_REGION" | default "us-east-1" }}
  AccessKeyID: "replace with encrypted value"
  SecretAccessKey: "replace with encrypted value"
{{ end }}
# End brain config

# Defaults for history and workspace directories, relative to the
# process working directory.
{{ $histdir := env "GOPHER_HISTORYDIR" | default "history" }}
{{ $workdir := env "GOPHER_WORKSPACE" | default "workspace" }}
{{ if $workdir -}} WorkSpace: {{ $workdir }} {{- end }}

## Configure a history provider
{{ $history := env "GOPHER_HISTORY_PROVIDER" | default "file" }}
HistoryProvider: {{ $history }}

{{ if eq $history "file" }}
HistoryConfig:
  Directory: {{ $histdir }}
  ## LocalPort here is the full string passed in to ListenAndServe(...)
  #LocalPort: ':9000' # Start http fileserver
  #URLPrefix: 'http://localhost:9000'
{{ end }}
## End history config

## If the plugin doesn't specify an outgoing message format, what's the default?
## This will be 'Raw' (unmodified, subject to protocol-specific formatting) if
## not set. 'Variable' will escape special characters like #, @, _, `, etc. so
## those characters can appear in replies. 'Fixed' will send everything in a
## fixed-width font.
# DefaultMessageFormat: Variable # 'Raw' if not specified

ExternalJobs:
  ## Using a dedicated read-write deploy key dramatically simplifies initial
  ## setup. You can remove these override parameters to use the robot's
  ## default "robot_rsa", or use another key of your choice.
  "updatecfg":
    Parameters:
    - Name: "KEYNAME"
      Value: "manage_rsa"
  "save":
    Parameters:
    - Name: "KEYNAME"
      Value: "manage_rsa"
  "backup":
    Parameters:
    - Name: "KEYNAME"
      Value: "manage_rsa"
  "restore":
{'fraction_non_alphanumeric': 0.15213815789473684, 'fraction_numerical': 0.002302631578947368, 'mean_word_length': 4.45870736086176, 'pattern_counts': {'":': 8, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '633881', 'n_tokens_mistral': 2003, 'n_tokens_neox': 1944, 'n_words': 617}