<commit_before># CAF.js (Cloud Assistant Framework)

Co-design permanent, active, stateful, reliable cloud proxies with your web app and gadgets.

See http://www.cafjs.com

## CAF Platform
[![Build Status](http://ci.cafjs.com/api/badges/cafjs/caf_platform/status.svg)](http://ci.cafjs.com/cafjs/caf_platform)

This repository contains CAF.js core platform components.

This platform multiplexes many (e.g., 1k-10K) CAs of one application in a single `node.js` process, and integrates with a PaaS to scale to many processes.

The goal is to host a billion CAs with a reasonable number of servers (e.g., < 30K), and each CA processing a simple message per second.

We use `Redis` to checkpoint CAs state before externalization. The state of a CA is assumed to be small, i.e., kilobytes not megabytes. See {@link external:caf_ca}.

External interaction with CAs uses a websocket pipeline based on `connect`. See {@link external:caf_cli}.
<commit_msg>Add Travis CI<commit_after># CAF.js (Cloud Assistant Framework)

Co-design permanent, active, stateful, reliable cloud proxies with your web app and gadgets.

See http://www.cafjs.com

## CAF Platform
[![Build Status](https://travis-ci.org/cafjs/caf_platform.svg?branch=master)](https://travis-ci.org/cafjs/caf_platform)


This repository contains CAF.js core platform components.

This platform multiplexes many (e.g., 1k-10K) CAs of one application in a single `node.js` process, and integrates with a PaaS to scale to many processes.

The goal is to host a billion CAs with a reasonable number of servers (e.g., < 30K), and each CA processing a simple message per second.

We use `Redis` to checkpoint CAs state before externalization. The state of a CA is assumed to be small, i.e., kilobytes not megabytes. See {@link external:caf_ca}.

External interaction with CAs uses a websocket pipeline based on `connect`. See {@link external:caf_cli}.

{'fraction_non_alphanumeric': 0.09234828496042216, 'fraction_numerical': 0.005277044854881266, 'mean_word_length': 4.5276967930029155, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, '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': '4163884', 'n_tokens_mistral': 595, 'n_tokens_neox': 571, 'n_words': 244}