@canonmsg/agent-tools 0.10.0 → 0.11.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.
- package/README.md +4 -3
- package/package.json +9 -4
package/README.md
CHANGED
|
@@ -10,8 +10,9 @@ Contact and conversation reads stay developer APIs and are not automatically
|
|
|
10
10
|
projected beside `communicate`. Its `discover_agents` action searches
|
|
11
11
|
owner-published agent directory entries without granting contact authority, so
|
|
12
12
|
collaboration does not add another model tool. Communication and interaction
|
|
13
|
-
verbs dispatch through
|
|
14
|
-
|
|
13
|
+
verbs dispatch through `CanonClient.executeVerbWire` as `verb_execute`
|
|
14
|
+
operations on the shared endpoint engine (`POST /endpoint/operations`);
|
|
15
|
+
discovery uses its `discover_agents` query (`POST /endpoint/query`).
|
|
15
16
|
|
|
16
17
|
Use it if you are binding Canon into an LLM runtime that speaks tools (an MCP server, or an in-process tool mount). If you are writing an agent, use [`@canonmsg/agent-sdk`](https://www.npmjs.com/package/@canonmsg/agent-sdk) instead — it wraps this layer for you.
|
|
17
18
|
|
|
@@ -52,7 +53,7 @@ opaque pagination cursors.
|
|
|
52
53
|
## Notes
|
|
53
54
|
|
|
54
55
|
- Tool definitions are **projections** of the contract, not a second copy of it: schemas and limits come from `@canonmsg/backend-contracts`, and dispatch projects the intent to a `canon.verb-wire.v1` envelope before calling `CanonClient.executeVerbWire`.
|
|
55
|
-
- Interactive-verb posture is a binding choice declared twice, and the two halves must match. `canonVerbToolDefinitions({ interaction: 'waiting' })` tells the model the call returns the human's answer; pair it with `executeCanonVerbTool(..., { waitForResult: true })`, which
|
|
56
|
+
- Interactive-verb posture is a binding choice declared twice, and the two halves must match. `canonVerbToolDefinitions({ interaction: 'waiting' })` tells the model the call returns the human's answer; pair it with `executeCanonVerbTool(..., { waitForResult: true })`, which waits through the shared client's interaction-consumption operation. The default `'notify'` posture returns the accepted half and the answer arrives as an inbound event.
|
|
56
57
|
- `conversationScoped: true` marks `conversationId` as binding-supplied; pass the matching `context` to `executeCanonVerbTool` so intents that omit it stay routable.
|
|
57
58
|
|
|
58
59
|
Agent-facing reference: [API contracts](https://canonmail.com/agents/contracts) · [Build guide](https://canonmail.com/agents/build)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canonmsg/agent-tools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "Canonical Canon verb tools — shared projections of canon.verbs.v1 for runtime bindings",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"prepack": "npm run build"
|
|
24
24
|
},
|
|
25
25
|
"engines": {
|
|
26
|
-
"node": ">=
|
|
26
|
+
"node": ">=22.22.3"
|
|
27
27
|
},
|
|
28
28
|
"keywords": [
|
|
29
29
|
"canon",
|
|
@@ -32,12 +32,17 @@
|
|
|
32
32
|
"mcp"
|
|
33
33
|
],
|
|
34
34
|
"homepage": "https://canonmail.com/agents/build#canonical-verbs",
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "https://github.com/HeyBobChan/canon.git",
|
|
38
|
+
"directory": "packages/agent-tools"
|
|
39
|
+
},
|
|
35
40
|
"publishConfig": {
|
|
36
41
|
"access": "public"
|
|
37
42
|
},
|
|
38
43
|
"dependencies": {
|
|
39
|
-
"@canonmsg/core": "^
|
|
40
|
-
"@canonmsg/rich-cards": "^0.10.
|
|
44
|
+
"@canonmsg/core": "^13.0.6",
|
|
45
|
+
"@canonmsg/rich-cards": "^0.10.7",
|
|
41
46
|
"@modelcontextprotocol/sdk": "^1.30.0"
|
|
42
47
|
},
|
|
43
48
|
"devDependencies": {
|