@olane/o-gateway-interface 0.8.2 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +55 -8
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -1,12 +1,59 @@
1
- # Olane Gateways
1
+ # @olane/o-gateway-interface
2
2
 
3
- TLDR; think DNS registrars but for olane. These bad boys help organize how the first term in the olane addresses are resolved (`o://brendon`).
3
+ Interface definition for Olane gateway implementations. This package defines the contract that all gateway implementations must satisfy.
4
4
 
5
- ## What is this?
6
- An Olane gateway is a registry tool. These registries help prevent conflicting namespaces, bridge into walled gardens, broker communication, and much more.
5
+ ## What is a Gateway?
7
6
 
8
- The Olane gateway dream: to create a system of trust for AI agents, Humans, and other future entities to collaborate safely.
7
+ In the Olane network, gateways act like DNS registrars for `o://` addresses. When a request is made to an address like `o://brendon/my-tool`, the gateway is responsible for resolving the first term (`brendon`) to determine how to route the request. Gateways prevent conflicting namespaces, bridge into walled gardens, broker communication, and establish a system of trust for AI agents, humans, and other entities to collaborate safely.
9
8
 
10
- ## Approved Gateways
11
- If you would like to apply to become an approved gateway, please reach out to us at [gateways@olane.com](mailto:gateways@olane.com).
12
- 1. Copass - https://copass.id, where you can create your AI twin.
9
+ ## Installation
10
+
11
+ ```bash
12
+ pnpm add @olane/o-gateway-interface
13
+ ```
14
+
15
+ ## The `oGateway` Interface
16
+
17
+ This package exports a single interface that all gateway implementations must conform to:
18
+
19
+ ```typescript
20
+ import { oGateway } from '@olane/o-gateway-interface';
21
+ ```
22
+
23
+ ### Fields
24
+
25
+ | Field | Type | Description |
26
+ |-------|------|-------------|
27
+ | `name` | `string` | The unique name identifying this gateway (e.g., `"olane"`) |
28
+ | `transports` | `string[]` | List of transport protocols this gateway supports (e.g., `["/olane"]`) |
29
+ | `description` | `string` | Human-readable description of the gateway and its purpose |
30
+ | `logo` | `string` | URL or path to the gateway's logo image |
31
+ | `website` | `string` | URL of the gateway's website |
32
+
33
+ ### Interface Definition
34
+
35
+ ```typescript
36
+ export interface oGateway {
37
+ name: string;
38
+ transports: string[];
39
+ description: string;
40
+ logo: string;
41
+ website: string;
42
+ }
43
+ ```
44
+
45
+ ## Implementing a Gateway
46
+
47
+ To create a custom gateway, implement the `oGateway` interface and provide an address resolver that handles routing for your namespace. The resolver is responsible for inspecting incoming addresses and determining the next hop.
48
+
49
+ For a complete reference implementation, see [`@olane/o-gateway-olane`](https://www.npmjs.com/package/@olane/o-gateway-olane), which resolves addresses in the `olane` namespace and routes them through the Olane leader node.
50
+
51
+ ## Related Packages
52
+
53
+ - **@olane/o-gateway-olane** - Reference implementation of this interface for the Olane network
54
+ - **@olane/o-core** - Core types including `oAddress`, `oAddressResolver`, and transport primitives
55
+ - **@olane/o-protocol** - Protocol definitions used by gateways
56
+
57
+ ## License
58
+
59
+ (MIT OR Apache-2.0)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@olane/o-gateway-interface",
3
- "version": "0.8.2",
3
+ "version": "0.8.4",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -51,12 +51,12 @@
51
51
  "typescript": "5.4.5"
52
52
  },
53
53
  "dependencies": {
54
- "@olane/o-config": "0.8.2",
55
- "@olane/o-core": "0.8.2",
56
- "@olane/o-protocol": "0.8.2",
57
- "@olane/o-tool": "0.8.2",
54
+ "@olane/o-config": "0.8.4",
55
+ "@olane/o-core": "0.8.4",
56
+ "@olane/o-protocol": "0.8.4",
57
+ "@olane/o-tool": "0.8.4",
58
58
  "debug": "^4.4.1",
59
59
  "dotenv": "^16.5.0"
60
60
  },
61
- "gitHead": "9e35c874d849d051bcffe483fd2a8c2b3ecf68cc"
61
+ "gitHead": "b53623b1ad4365133911722f80d5597a72b65bf2"
62
62
  }