<commit_before># Puddle API Reference

* [Server Admin](#server-admin)
* [Server REST API](#server-rest)
* [Server socket.io API](#server-socketio)
* [Client `TODO.js`](#todojs)
* [Client `assert.js`](#assertjs)
* [Client `log.js`](#logjs)
* [Client `keycode.js`](#keycodejs)
* [Client `test.js`](#testjs)
* [Client `corpus.js`](#corpusjs)
* [Client `navigate.js`](#navigatejs)
* [Client `view.js`](#viewjs)
* [Client `menu.js`](#menujs)
* [Client `editor.js`](#editorjs)
* [Client `main.js`](#mainjs)

Related documentation:

* [puddle-syntax](https://github.com/fritzo/puddle-syntax)
* [pomagma client](https://github.com/fritzo/pomagma/blob/master/doc/client.md)

## Server

### Server Admin <a name="server-admin"/>

-   Environment Variables
<commit_msg>Describe corpus file format<commit_after># Puddle API Reference

* [Corpus File Format](#corpus-format)
* [Server Admin](#server-admin)
* [Server REST API](#server-rest)
* [Server socket.io API](#server-socketio)
* [Client `TODO.js`](#todojs)
* [Client `assert.js`](#assertjs)
* [Client `log.js`](#logjs)
* [Client `keycode.js`](#keycodejs)
* [Client `test.js`](#testjs)
* [Client `corpus.js`](#corpusjs)
* [Client `navigate.js`](#navigatejs)
* [Client `view.js`](#viewjs)
* [Client `menu.js`](#menujs)
* [Client `editor.js`](#editorjs)
* [Client `main.js`](#mainjs)

Related documentation:

* [puddle-syntax](https://github.com/fritzo/puddle-syntax)
* [pomagma client](https://github.com/fritzo/pomagma/blob/master/doc/client.md)

## Corpus File Format <a name="corpus-format"/>

The corpus file format is as follows:

* One line per statement,
* Statements are either ASSERT or DEFINE
* No trailing newline,
* Lines are sorted lexicographically,
* Duplicate lines are removed.
 
In addition, each file should satisfy the constraints:

* No variable is DEFINE'd multiple times,
* Every free variable is DEFINE'd once.

## Server

### Server Admin <a name="server-admin"/>

-   Environment Variables

{'fraction_non_alphanumeric': 0.18887187340479836, 'fraction_numerical': 0.0, 'mean_word_length': 5.621621621621622, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 4, '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': '6047883', 'n_tokens_mistral': 742, 'n_tokens_neox': 690, 'n_words': 151}