@plurnk/plurnk-a2a 1.19.3 → 1.21.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.
Files changed (2) hide show
  1. package/docs/a2a.md +23 -37
  2. package/package.json +62 -63
package/docs/a2a.md CHANGED
@@ -2,43 +2,35 @@
2
2
 
3
3
  An A2A agent is another agent reachable over HTTP that advertises an Agent
4
4
  Card. Once added, it is addressed as `a2a://<alias>` and worked like a worker
5
- you cannot see inside: `SEND` it a task, wait for its result, `READ` what it
6
- returned. It is not a tool with a schema; it is a peer that takes instructions
7
- in prose.
8
-
9
- ## When to reach for an agent
10
-
11
- - The user names an agent, or the turn-0 catalog lists an enabled one whose
12
- card describes the job at hand. `READ (a2a://<alias>)` shows its card and
13
- skills before you commit work to it.
14
- - Delegation you could do yourself with a worker (`WORK`) stays a worker:
15
- an agent is for capability that lives elsewhere.
5
+ whose inside is not visible: `SEND` it a task, wait for its result, `READ`
6
+ what it returned. It is not a tool with a schema; it is a peer that takes
7
+ instructions in prose. `READ (a2a://<alias>)` shows its card and skills.
16
8
 
17
9
  ## discover, then add
18
10
 
19
11
  `discover` takes `{"source": "<agent base URL>"}`, fetches the Agent Card, and
20
12
  returns one inert candidate carrying the exact definition. `add` persists and
21
- enables it for this workspace (a host effect, run on acceptance):
13
+ enables it for this workspace; it is a host effect, admitted under the loop's
14
+ policy.
22
15
 
23
- ````a2a (add)
24
- {"alias": "planner", "definition": {"name": "planner", "url": "https://agents.example.com/planner"}}
25
- ````
16
+ ```a2a (add)
17
+ {"alias": "peer", "definition": {"name": "peer", "url": "https://agents.example.com/peer"}}
18
+ ```
26
19
 
27
- Authentication is the definition's business (headers or a token the operator
28
- configured), never something you type into a body. An agent whose card is
29
- unreachable is listed `unavailable` with its exact Problem. `disable` and
30
- `remove` follow the family lifecycle; operator-configured agents
31
- (`PLURNK_A2A_*`) can only be disabled.
20
+ Authentication is the definition's (headers or a token the operator
21
+ configured), never a body's. An agent whose card is unreachable is listed
22
+ `unavailable` with its exact Problem. `disable` and `remove` follow the family
23
+ lifecycle; operator-configured agents (`PLURNK_A2A_*`) are disable-only.
32
24
 
33
25
  ## Working with an added agent
34
26
 
35
- ````SEND (a2a://planner) <!-- start a task -->
36
- Compare the two proposals in docs/ and return a recommendation with evidence.
37
- ````
27
+ ```SEND (a2a://peer) <!-- start a task -->
28
+ The task, in prose.
29
+ ```
38
30
 
39
- A task answers `102` with its `a2a://planner/tasks/<id>` resource and wakes
40
- your next turn when it concludes; a direct message answers `200` with an
41
- `a2a://planner/messages/<id>` resource. `READ` the task for its status,
31
+ A task answers `102` with its `a2a://peer/tasks/<id>` resource and wakes the
32
+ next turn when it concludes; a direct message answers `200` with an
33
+ `a2a://peer/messages/<id>` resource. `READ` the task for its status,
42
34
  artifacts, and any input it requests; `SEND` to the task resource to continue
43
35
  it; `KILL` it to cancel, which also asks the remote agent to stop.
44
36
 
@@ -48,14 +40,8 @@ in `#json`. Its Artifacts and binary Parts are retained as linked resources;
48
40
 
49
41
  ## Attachments
50
42
 
51
- ````SEND (a2a://planner) [{"attachments":["report.pdf","data/results.json"]}]
52
- Review these results.
53
- ````
54
-
55
- Select exact resource paths or channels. SEND captures their current bytes;
56
- creating or reading a file alone never sends it. A missing source fails the
57
- SEND before delivery. To answer an incoming A2A request with files, omit the
58
- target and use the same attachment option. The caller receives standard
59
- Artifacts. Incoming files arrive as ordinary resource links; READ them normally.
60
- Incoming response-format preferences appear beside the message when supplied.
61
- Attachment media types remain those of the selected resources.
43
+ SEND's `[{"attachments": [...]}]` option (`worker.md`) applies: exact resource
44
+ paths or channels, captured at SEND time, delivered to the agent as standard
45
+ Artifacts; a reply to an incoming A2A request omits the target and uses the
46
+ same option. Incoming files arrive as ordinary resource links; incoming
47
+ response-format preferences appear beside the message when supplied.
package/package.json CHANGED
@@ -1,66 +1,65 @@
1
1
  {
2
- "name": "@plurnk/plurnk-a2a",
3
- "version": "1.19.3",
4
- "description": "A2A v1 exterior adapter for Plurnk",
5
- "type": "module",
6
- "license": "MIT",
7
- "repository": {
8
- "type": "git",
9
- "url": "git+https://github.com/plurnk/plurnk-service.git",
10
- "directory": "plurnk-a2a"
2
+ "name": "@plurnk/plurnk-a2a",
3
+ "version": "1.21.0",
4
+ "description": "A2A v1 exterior adapter for Plurnk",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/plurnk/plurnk-service.git",
10
+ "directory": "plurnk-a2a"
11
+ },
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "default": "./dist/index.js"
11
16
  },
12
- "exports": {
13
- ".": {
14
- "plurnk-dev": "./src/index.ts",
15
- "types": "./dist/index.d.ts",
16
- "default": "./dist/index.js"
17
- },
18
- "./package.json": "./package.json"
19
- },
20
- "files": [
21
- ".env.defaults",
22
- "dist/**/*",
23
- "docs/**/*",
24
- "README.md",
25
- "SPEC.md"
26
- ],
27
- "engines": {
28
- "node": ">=26"
29
- },
30
- "scripts": {
31
- "test": "npm run test:lint && npm run test:unit && npm run test:intg",
32
- "test:lint": "tsc --noEmit",
33
- "test:unit": "node --conditions=plurnk-dev --env-file=.env.defaults --test src/*.test.ts",
34
- "test:intg": "node --conditions=plurnk-dev --env-file=.env.defaults --test test/intg/*.test.ts",
35
- "build:clean": "rm -rf dist",
36
- "build:dist": "tsc -p tsconfig.build.json",
37
- "build": "npm run build:clean && npm run build:dist",
38
- "prepack": "npm run build",
39
- "prepublishOnly": "npm audit --audit-level=moderate && npm test"
40
- },
41
- "dependencies": {
42
- "@a2a-js/sdk": "1.2.0",
43
- "express": "5.2.1"
44
- },
45
- "peerDependencies": {
46
- "@plurnk/plurnk-contracts": "^1.19.3",
47
- "@plurnk/plurnk-schemes": "^1.19.3"
48
- },
49
- "devDependencies": {
50
- "@types/express": "5.0.6"
51
- },
52
- "keywords": [
53
- "plurnk",
54
- "a2a",
55
- "agent",
56
- "transport"
57
- ],
58
- "homepage": "https://github.com/plurnk/plurnk-service/tree/main/plurnk-a2a#readme",
59
- "bugs": {
60
- "url": "https://repo.possumtech.com/plurnk/plurnk-service/issues"
61
- },
62
- "author": "@wikitopian",
63
- "publishConfig": {
64
- "access": "public"
65
- }
17
+ "./package.json": "./package.json"
18
+ },
19
+ "files": [
20
+ ".env.defaults",
21
+ "dist/**/*",
22
+ "docs/**/*",
23
+ "README.md",
24
+ "SPEC.md"
25
+ ],
26
+ "engines": {
27
+ "node": ">=26"
28
+ },
29
+ "scripts": {
30
+ "test": "npm run test:lint && npm run test:unit && npm run test:intg",
31
+ "test:lint": "tsc --noEmit",
32
+ "test:unit": "node --conditions=plurnk-dev --env-file=.env.defaults --test src/*.test.ts",
33
+ "test:intg": "node --conditions=plurnk-dev --env-file=.env.defaults --test test/intg/*.test.ts",
34
+ "build:clean": "rm -rf dist",
35
+ "build:dist": "tsc -p tsconfig.build.json",
36
+ "build": "npm run build:clean && npm run build:dist",
37
+ "prepack": "npm run build",
38
+ "prepublishOnly": "npm audit --audit-level=moderate && npm test"
39
+ },
40
+ "dependencies": {
41
+ "@a2a-js/sdk": "1.2.1",
42
+ "express": "5.2.1"
43
+ },
44
+ "peerDependencies": {
45
+ "@plurnk/plurnk-contracts": "^1.21.0",
46
+ "@plurnk/plurnk-schemes": "^1.21.0"
47
+ },
48
+ "devDependencies": {
49
+ "@types/express": "5.0.6"
50
+ },
51
+ "keywords": [
52
+ "plurnk",
53
+ "a2a",
54
+ "agent",
55
+ "transport"
56
+ ],
57
+ "homepage": "https://github.com/plurnk/plurnk-service/tree/main/plurnk-a2a#readme",
58
+ "bugs": {
59
+ "url": "https://repo.possumtech.com/plurnk/plurnk-service/issues"
60
+ },
61
+ "author": "@wikitopian",
62
+ "publishConfig": {
63
+ "access": "public"
64
+ }
66
65
  }