@openvole/paw-sdk 0.1.0 → 0.3.0

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.
package/README.md ADDED
@@ -0,0 +1,65 @@
1
+ # @openvole/paw-sdk
2
+
3
+ SDK for building [OpenVole](https://github.com/openvole/openvole) Paws — tool providers for the agent loop.
4
+
5
+ [![npm](https://img.shields.io/npm/v/@openvole/paw-sdk)](https://www.npmjs.com/package/@openvole/paw-sdk)
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install @openvole/paw-sdk
11
+ ```
12
+
13
+ ## Quick Start
14
+
15
+ ```typescript
16
+ import { definePaw, z } from '@openvole/paw-sdk'
17
+
18
+ export default definePaw({
19
+ name: 'my-paw',
20
+ version: '0.1.0',
21
+ description: 'My custom paw',
22
+
23
+ tools: [
24
+ {
25
+ name: 'my_tool',
26
+ description: 'Does something useful',
27
+ parameters: z.object({ input: z.string() }),
28
+ execute: async ({ input }) => ({ result: input.toUpperCase() }),
29
+ },
30
+ ],
31
+
32
+ async onLoad() {
33
+ console.log('Paw loaded')
34
+ },
35
+ })
36
+ ```
37
+
38
+ ## What's a Paw?
39
+
40
+ A Paw connects OpenVole to the outside world. It runs in an isolated subprocess and registers tools that the Brain can call.
41
+
42
+ **Types of Paws:**
43
+ - **Brain** — implements the Think phase (e.g., paw-ollama, paw-claude)
44
+ - **Channel** — receives messages from users (e.g., paw-telegram, paw-slack)
45
+ - **Tool** — provides capabilities (e.g., paw-browser, paw-shell)
46
+ - **Infrastructure** — internal services (e.g., paw-memory, paw-session)
47
+
48
+ ## Hooks
49
+
50
+ ```typescript
51
+ hooks: {
52
+ onBootstrap: async (context) => context, // once per task
53
+ onPerceive: async (context) => context, // before Think
54
+ onObserve: async (result) => {}, // after each tool call
55
+ onCompact: async (context) => context, // when context too large
56
+ }
57
+ ```
58
+
59
+ ## Transport
60
+
61
+ Paws communicate with the core via JSON-RPC 2.0 over IPC. The SDK handles all wiring — just export `definePaw()`.
62
+
63
+ ## License
64
+
65
+ [MIT](https://github.com/openvole/openvole/blob/main/LICENSE)
package/dist/index.d.ts CHANGED
@@ -24,6 +24,7 @@ interface ToolSummary {
24
24
  name: string;
25
25
  description: string;
26
26
  pawName: string;
27
+ parameters?: unknown;
27
28
  }
28
29
  interface ActiveSkill {
29
30
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openvole/paw-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "SDK for building OpenVole Paws — tool providers for the agent loop",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,7 +24,8 @@
24
24
  "node": ">=20.0.0"
25
25
  },
26
26
  "files": [
27
- "dist"
27
+ "dist",
28
+ "README.md"
28
29
  ],
29
30
  "license": "MIT",
30
31
  "repository": {