-These security settings will be reviewed in the future in an attempt to tighten
-the modifications.
+## Want to know more?
-More information can be found in [the official docs](https://jataware.github.io/beaker-kernel/).
+There is a lot more to Beaker than what we've covered here, so we've put together more detailed [docs](https://jataware.github.io/beaker-kernel/) that cover how to customize and extend Beaker in more detail. These include information on how to build your own custom contexts, toolsets, and subkernels to make Beaker meet your specific needs and usecases. It also gets into the basics of using the Beaker TypeScript SDK to build your own custom front-ends around Beaker.
diff --git a/docs/.gitignore b/docs/.gitignore
index ca35be08..ed907305 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -1 +1,2 @@
_site
+Gemfile.lock
diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock
deleted file mode 100644
index dae95af7..00000000
--- a/docs/Gemfile.lock
+++ /dev/null
@@ -1,142 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- Ascii85 (1.1.0)
- addressable (2.8.5)
- public_suffix (>= 2.0.2, < 6.0)
- afm (0.2.2)
- async (2.6.5)
- console (~> 1.10)
- fiber-annotation
- io-event (~> 1.1)
- timers (~> 4.1)
- base64 (0.2.0)
- colorator (1.1.0)
- concurrent-ruby (1.2.2)
- console (1.23.3)
- fiber-annotation
- fiber-local
- em-websocket (0.5.3)
- eventmachine (>= 0.12.9)
- http_parser.rb (~> 0)
- ethon (0.16.0)
- ffi (>= 1.15.0)
- eventmachine (1.2.7)
- faraday (2.7.12)
- base64
- faraday-net_http (>= 2.0, < 3.1)
- ruby2_keywords (>= 0.0.4)
- faraday-net_http (3.0.2)
- ffi (1.16.3)
- fiber-annotation (0.2.0)
- fiber-local (1.0.0)
- forwardable-extended (2.6.0)
- google-protobuf (3.25.1-x86_64-linux)
- hashery (2.1.2)
- html-proofer (5.0.8)
- addressable (~> 2.3)
- async (~> 2.1)
- nokogiri (~> 1.13)
- pdf-reader (~> 2.11)
- rainbow (~> 3.0)
- typhoeus (~> 1.3)
- yell (~> 2.0)
- zeitwerk (~> 2.5)
- http_parser.rb (0.8.0)
- i18n (1.14.1)
- concurrent-ruby (~> 1.0)
- io-event (1.3.3)
- jekyll (4.3.2)
- addressable (~> 2.4)
- colorator (~> 1.0)
- em-websocket (~> 0.5)
- i18n (~> 1.0)
- jekyll-sass-converter (>= 2.0, < 4.0)
- jekyll-watch (~> 2.0)
- kramdown (~> 2.3, >= 2.3.1)
- kramdown-parser-gfm (~> 1.0)
- liquid (~> 4.0)
- mercenary (>= 0.3.6, < 0.5)
- pathutil (~> 0.9)
- rouge (>= 3.0, < 5.0)
- safe_yaml (~> 1.0)
- terminal-table (>= 1.8, < 4.0)
- webrick (~> 1.7)
- jekyll-github-metadata (2.16.0)
- jekyll (>= 3.4, < 5.0)
- octokit (>= 4, < 7, != 4.4.0)
- jekyll-include-cache (0.2.1)
- jekyll (>= 3.7, < 5.0)
- jekyll-sass-converter (3.0.0)
- sass-embedded (~> 1.54)
- jekyll-seo-tag (2.8.0)
- jekyll (>= 3.8, < 5.0)
- jekyll-watch (2.2.1)
- listen (~> 3.0)
- just-the-docs (0.7.0)
- jekyll (>= 3.8.5)
- jekyll-include-cache
- jekyll-seo-tag (>= 2.0)
- rake (>= 12.3.1)
- kramdown (2.4.0)
- rexml
- kramdown-parser-gfm (1.1.0)
- kramdown (~> 2.0)
- liquid (4.0.4)
- listen (3.8.0)
- rb-fsevent (~> 0.10, >= 0.10.3)
- rb-inotify (~> 0.9, >= 0.9.10)
- mercenary (0.4.0)
- nokogiri (1.15.5-x86_64-linux)
- racc (~> 1.4)
- octokit (6.1.1)
- faraday (>= 1, < 3)
- sawyer (~> 0.9)
- pathutil (0.16.2)
- forwardable-extended (~> 2.6)
- pdf-reader (2.11.0)
- Ascii85 (~> 1.0)
- afm (~> 0.2.1)
- hashery (~> 2.0)
- ruby-rc4
- ttfunk
- public_suffix (5.0.4)
- racc (1.7.3)
- rainbow (3.1.1)
- rake (13.1.0)
- rb-fsevent (0.11.2)
- rb-inotify (0.10.1)
- ffi (~> 1.0)
- rexml (3.2.6)
- rouge (4.2.0)
- ruby-rc4 (0.1.5)
- ruby2_keywords (0.0.5)
- safe_yaml (1.0.5)
- sass-embedded (1.69.5-x86_64-linux-gnu)
- google-protobuf (~> 3.23)
- sawyer (0.9.2)
- addressable (>= 2.3.5)
- faraday (>= 0.17.3, < 3)
- terminal-table (3.0.2)
- unicode-display_width (>= 1.1.1, < 3)
- timers (4.3.5)
- ttfunk (1.7.0)
- typhoeus (1.4.1)
- ethon (>= 0.9.0)
- unicode-display_width (2.5.0)
- webrick (1.8.1)
- yell (2.2.2)
- zeitwerk (2.6.12)
-
-PLATFORMS
- x86_64-linux
-
-DEPENDENCIES
- html-proofer (~> 5.0)
- jekyll
- jekyll-github-metadata (>= 2.15)
- jekyll-include-cache
- just-the-docs
-
-BUNDLED WITH
- 2.4.22
diff --git a/docs/_sass/custom/custom.scss b/docs/_sass/custom/custom.scss
index 9736f244..7b746bba 100644
--- a/docs/_sass/custom/custom.scss
+++ b/docs/_sass/custom/custom.scss
@@ -1,3 +1,10 @@
pre.highlight {
white-space: pre-line;
}
+
+iframe.youtube {
+ width: 100%;
+ aspect-ratio: 10/7;
+ height: auto;
+ z-index: 5;
+}
diff --git a/docs/assets/beaker-custom-context.gif b/docs/assets/beaker-custom-context.gif
new file mode 100644
index 00000000..4364ce66
Binary files /dev/null and b/docs/assets/beaker-custom-context.gif differ
diff --git a/docs/assets/beaker-getting-started-file-browser-3x.gif b/docs/assets/beaker-getting-started-file-browser-3x.gif
new file mode 100644
index 00000000..80f072a2
Binary files /dev/null and b/docs/assets/beaker-getting-started-file-browser-3x.gif differ
diff --git a/docs/assets/beaker-getting-started-keyboard-shortcuts-3x.gif b/docs/assets/beaker-getting-started-keyboard-shortcuts-3x.gif
new file mode 100644
index 00000000..48e585d9
Binary files /dev/null and b/docs/assets/beaker-getting-started-keyboard-shortcuts-3x.gif differ
diff --git a/docs/assets/beaker-getting-started-navigation-3x.gif b/docs/assets/beaker-getting-started-navigation-3x.gif
new file mode 100644
index 00000000..da6d86f6
Binary files /dev/null and b/docs/assets/beaker-getting-started-navigation-3x.gif differ
diff --git a/docs/assets/beaker-getting-started-saving-notebook-3x.gif b/docs/assets/beaker-getting-started-saving-notebook-3x.gif
new file mode 100644
index 00000000..0ee756d5
Binary files /dev/null and b/docs/assets/beaker-getting-started-saving-notebook-3x.gif differ
diff --git a/docs/assets/beaker-getting-started-setting-context-3x.gif b/docs/assets/beaker-getting-started-setting-context-3x.gif
new file mode 100644
index 00000000..3b7067d9
Binary files /dev/null and b/docs/assets/beaker-getting-started-setting-context-3x.gif differ
diff --git a/docs/assets/beaker-getting-started-setup-3x.gif b/docs/assets/beaker-getting-started-setup-3x.gif
new file mode 100644
index 00000000..5bedebb6
Binary files /dev/null and b/docs/assets/beaker-getting-started-setup-3x.gif differ
diff --git a/docs/assets/beaker-movie-3x-optimized-higherres.gif b/docs/assets/beaker-movie-3x-optimized-higherres.gif
new file mode 100644
index 00000000..d1926877
Binary files /dev/null and b/docs/assets/beaker-movie-3x-optimized-higherres.gif differ
diff --git a/docs/assets/beaker-movie-3x-optimized.gif b/docs/assets/beaker-movie-3x-optimized.gif
new file mode 100644
index 00000000..d130b0f4
Binary files /dev/null and b/docs/assets/beaker-movie-3x-optimized.gif differ
diff --git a/docs/contexts.md b/docs/contexts.md
index d177208b..d79cd61e 100644
--- a/docs/contexts.md
+++ b/docs/contexts.md
@@ -8,12 +8,12 @@ has_children: true
# Contexts
-Beaker works best when used within a particular context. At a high level, a
-context consist of the following:
+Beaker can be totally customized by creating bespoke, use case driven contexts.
+At a high level, a context consist of the following:
* A subkernel which acts as your notebook environment.
* Selecting a subkernel also sets the language you will work in and what
- libraries you have access to.
-* Knowledge regarding the items/objects that you are working on in, either in
+ libraries you have access to. Currently Beaker supports `Python`, `R`, and `Julia`.
+* Knowledge of the items/objects that you are working on in, either in
the subkernel or via the context tool or LLM Agent.
* The context can automatically pre-load items at startup that you are
planning to work on.
@@ -28,7 +28,7 @@ the subkernel or via the context tool or LLM Agent.
* An LLM Agent that accepts human languge requests and acts on your behalf.
* Uses all of the tools available to it, and the knowledge contained in the
context to make decisions on how to best satisfy your request.
- * Has its own set of ReAct tools to allow it to query the subkernel, the
+ * Has its own set of chain-of-thought style tools developed in the [Archytas framework](https://github.com/jataware/archytas) to allow it to query the subkernel, the
internet, or custom defined services to fetch the information it needs to
complete the request.
* Is able to answer questions, generate code to accomplish a request in a new
@@ -36,11 +36,10 @@ the subkernel or via the context tool or LLM Agent.
more.
-When connecting to Beaker, usually the first action following connecting is to
-set the context.
-
## Setting a Beaker context will do the following:
+To use a custom context, it must be set once the user has loaded the notebook. Checkout the [getting started guide](getting_started.md) for more information on how to load a custom context. Once the context is set, it will do the following:
+
* Change the subkernel, recreating if needed (destroying the current subkernel
and creating a new one)
* Set the LLM prompt so that it is appropriate for the context
@@ -50,13 +49,12 @@ load objects/instances (optional)
* Register any "post-execute" actions to run after a notebook cell is executed
(optional)
-** Currently, setting a context is the only way to change the language of the
+> **Note**: currently, setting a context is the only way to change the language of the
subkernel.
### Setting the context
-You set a context by sending a custom message to the beaker kernel. The message
-should have the following format:
+Contexts can be set by external applications (such as a custom frontend) by sending a custom message to the beaker kernel. The message should have the following format:
`msg_type`: `context_setup_request`