@perkos/perkos-a2a 0.3.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAElC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,EAAE;QAAE,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;CACnB"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ /** A2A Protocol types (v0.3.0) */
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,kCAAkC"}
@@ -0,0 +1,65 @@
1
+ {
2
+ "id": "perkos-a2a",
3
+ "name": "PerkOS A2A",
4
+ "version": "0.3.1",
5
+ "description": "Agent-to-Agent (A2A) protocol communication for OpenClaw agents",
6
+ "author": "PerkOS",
7
+ "configSchema": {
8
+ "type": "object",
9
+ "additionalProperties": false,
10
+ "properties": {
11
+ "agentName": {
12
+ "type": "string",
13
+ "description": "This agent's name in the council"
14
+ },
15
+ "port": {
16
+ "type": "number",
17
+ "default": 5050,
18
+ "description": "Port for the A2A HTTP server (5050 default; macOS uses 5000 for AirPlay)"
19
+ },
20
+ "skills": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "object",
24
+ "properties": {
25
+ "id": {
26
+ "type": "string"
27
+ },
28
+ "name": {
29
+ "type": "string"
30
+ },
31
+ "description": {
32
+ "type": "string"
33
+ },
34
+ "tags": {
35
+ "type": "array",
36
+ "items": {
37
+ "type": "string"
38
+ }
39
+ }
40
+ }
41
+ },
42
+ "description": "Skills this agent exposes via A2A"
43
+ },
44
+ "peers": {
45
+ "type": "object",
46
+ "additionalProperties": {
47
+ "type": "string"
48
+ },
49
+ "description": "Map of peer agent names to their A2A URLs"
50
+ }
51
+ }
52
+ },
53
+ "uiHints": {
54
+ "agentName": {
55
+ "label": "Agent Name",
56
+ "placeholder": "mimir"
57
+ },
58
+ "port": {
59
+ "label": "A2A Server Port"
60
+ },
61
+ "peers": {
62
+ "label": "Peer Agents (name \u2192 URL)"
63
+ }
64
+ }
65
+ }
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@perkos/perkos-a2a",
3
+ "version": "0.3.1",
4
+ "description": "A2A Protocol communication plugin for OpenClaw \u2014 Agent-to-Agent protocol implementation",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist",
10
+ "skills",
11
+ "openclaw.plugin.json"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc",
15
+ "dev": "tsc --watch",
16
+ "lint": "tsc --noEmit"
17
+ },
18
+ "openclaw": {
19
+ "extensions": [
20
+ "./dist/index.js"
21
+ ]
22
+ },
23
+ "keywords": [
24
+ "openclaw",
25
+ "plugin",
26
+ "a2a",
27
+ "agent2agent",
28
+ "protocol",
29
+ "multi-agent",
30
+ "perkos"
31
+ ],
32
+ "author": "PerkOS <julio.cruz@eb-ms.net>",
33
+ "license": "MIT",
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "https://github.com/PerkOS-xyz/PerkOS-A2A"
37
+ },
38
+ "dependencies": {
39
+ "express": "^4.21.0"
40
+ },
41
+ "devDependencies": {
42
+ "@sinclair/typebox": "^0.34.0",
43
+ "typescript": "^5.7.0",
44
+ "@types/express": "^5.0.0",
45
+ "@types/node": "^22.0.0"
46
+ },
47
+ "peerDependencies": {
48
+ "openclaw": ">=2026.3.0"
49
+ },
50
+ "publishConfig": {
51
+ "access": "public"
52
+ }
53
+ }
@@ -0,0 +1,33 @@
1
+ # A2A Protocol Communication
2
+
3
+ Use this skill when you need to communicate with other agents in the council.
4
+
5
+ ## Available Tools
6
+
7
+ ### a2a_discover
8
+ Discover all peer agents, their capabilities, and online status.
9
+ Use this first to see who is available.
10
+
11
+ ### a2a_send_task
12
+ Send a task to another agent. Provide the target agent name and a clear message.
13
+
14
+ Example: `a2a_send_task(target="tyr", message="Implement rate limiting on the Stack API")`
15
+
16
+ ### a2a_task_status
17
+ Check the status of a previously sent task.
18
+
19
+ Example: `a2a_task_status(target="tyr", taskId="abc-123")`
20
+
21
+ ## Agent Roles
22
+
23
+ - **mimir** — Strategy and orchestration. Assign planning and coordination tasks.
24
+ - **tyr** — Engineering and execution. Assign code, infra, and DevOps tasks.
25
+ - **bragi** — Communication and growth. Assign docs, copy, and social tasks.
26
+ - **idunn** — Product and design. Assign UX, design, and product tasks.
27
+
28
+ ## Best Practices
29
+
30
+ 1. Use `a2a_discover` to check agent availability before sending tasks
31
+ 2. Send clear, specific tasks with acceptance criteria
32
+ 3. Check task status with `a2a_task_status` after sending
33
+ 4. One task per message — don't overload agents