Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/build/getting-started/hyperbeam-capabilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Designed to be **modular**, **composable**, and **extensible**, HyperBEAM lets y

While [AO-Core](../introduction/what-is-ao-core.html) establishes the foundational concepts of Messages, Devices, and Paths, building on HyperBEAM can be simplified to four key principles:

1. **Everything is a [message](../introduction/what-is-hyperbeam.html#messages-modular-data-packets).** You can compute on any message by calling its keys by name. The [`device`](./devices/hyperbeam-devices.md) specified in the message determines how these keys are resolved. The default device, `message@1.0`, resolves keys to their literal values within the message.
1. **Everything is a [message](../introduction/what-is-hyperbeam.html#messages-modular-data-packets).** You can compute on any message by calling its keys by name. The [`device`](../devices/hyperbeam-devices.md) specified in the message determines how these keys are resolved. The default device, `message@1.0`, resolves keys to their literal values within the message.

2. **[Paths](./pathing-in-hyperbeam.md) are pipelines of messages.** A path defines a sequence of 'request' messages to be executed. You can set a key in a message directly within the path using the `&key=value` syntax. Headers and parameters added after a `?` are applied to all messages in the pipeline.

Expand Down Expand Up @@ -57,7 +57,7 @@ You can build and deploy your own devices in Erlang to introduce entirely new, h

**Use Case:** You could build a custom device that acts as a bridge to another blockchain's API, allowing your AO processes to interact with external systems seamlessly.

> Learn how to [Build Your Own Device](../build/devices/building-devices.html).
> Learn how to [Build Your Own Device](../devices/building-devices.md).

#### Achieve Raw Performance with Native Code
For the most demanding, performance-critical tasks, you can write Native Implemented Functions (NIFs) in low-level languages like C or Rust. These NIFs integrate directly with the Erlang VM, offering the highest possible performance.
Expand Down
8 changes: 4 additions & 4 deletions docs/build/getting-started/pathing-in-hyperbeam.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ The HTTP response from this node includes a signature from the host's key. By ac
Every path in AO-Core represents a program. Think of the URL bar as a Unix-style command-line interface, providing access to AO's trustless and verifiable compute. Each path component (between `/` characters) represents a step in the computation. In this example, we instruct the AO-Core node to:

1. Load a specific message from its caches (local, another node, or Arweave)
2. Interpret it with the [`~process@1.0`](../build/devices/foundational/process-at-1-0.md) device
2. Interpret it with the [`~process@1.0`](../devices/foundational/process-at-1-0.md) device
3. The process device implements a shared computing environment with consistent state between users

### State Access (`/now` or `/compute`)
Expand Down Expand Up @@ -53,7 +53,7 @@ This shows the 'cache' of your process. Each response is:
Beyond path segments, HyperBEAM URLs can include query parameters that utilize a special type casting syntax. This allows specifying the desired data type for a parameter directly within the URL using the format `key+type=value`.

- **Syntax**: A `+` symbol separates the parameter key from its intended type (e.g., `count+integer=42`, `items+list="apple",7`).
- **Mechanism**: The HyperBEAM node identifies the `+type` suffix (e.g., `+integer`, `+list`, `+map`, `+float`, `+atom`, `+resolve`). It then uses internal functions ([`hb_singleton:maybe_typed`](../devices/source-code/hb_singleton.md) and [`dev_codec_structured:decode_value`](../build/source-code/dev_codec_structured.md)) to decode and cast the provided value string into the corresponding Erlang data type before incorporating it into the message.
- **Mechanism**: The HyperBEAM node identifies the `+type` suffix (e.g., `+integer`, `+list`, `+map`, `+float`, `+atom`, `+resolve`). It then uses internal functions ([`hb_singleton:maybe_typed`](../devices/source-code/hb_singleton.md) and [`dev_codec_structured:decode_value`](../devices/source-code/dev_codec_structured.md)) to decode and cast the provided value string into the corresponding Erlang data type before incorporating it into the message.
- **Supported Types**: Common types include `integer`, `float`, `list`, `map`, `atom`, `binary` (often implicit), and `resolve` (for path resolution). List values often follow the [HTTP Structured Fields format (RFC 8941)](https://www.rfc-editor.org/info/rfc8941).

This powerful feature enables the expression of complex data structures directly in URLs.
Expand All @@ -64,13 +64,13 @@ The following examples illustrate using HTTP paths with various AO-Core processe

### Example 1: Accessing Full Process State

To get the complete, real-time state of a process identified by `<procId>`, use the `/now` path component with the [`~process@1.0`](https://hyperbeam.arweave.net/build/devices/foundational/process-at-1-0.html) device:
To get the complete, real-time state of a process identified by `<procId>`, use the `/now` path component with the [`~process@1.0`](../devices/foundational/process-at-1-0.md) device:

```bash
GET /<procId>~process@1.0/now
```

This instructs the AO-Core node to load the process and execute the `now` function on the [`~process@1.0`](https://hyperbeam.arweave.net/build/devices/foundational/process-at-1-0.html) device.
This instructs the AO-Core node to load the process and execute the `now` function on the [`~process@1.0`](../devices/foundational/process-at-1-0.md) device.

### Example 2: Navigating to Specific Process Data

Expand Down