@sjawhar/pi-legion-envoy 0.14.0 → 0.15.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 +44 -25
- package/dist/envoy.js +1019 -305
- package/dist/legion.js +1012 -300
- package/dist/skills/dispatch/SKILL.md +189 -220
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -77,28 +77,47 @@ and restores the committed file before tagging. Packing with the committed sourc
|
|
|
77
77
|
manifest is refused by `scripts/prepack.sh`, because such a tarball would point OMP at
|
|
78
78
|
extension files it does not contain.
|
|
79
79
|
|
|
80
|
-
## Dispatch
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
The
|
|
100
|
-
|
|
101
|
-
the
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
80
|
+
## Native Dispatch tools
|
|
81
|
+
|
|
82
|
+
The extension registers `dispatch_issue`, `dispatch_ask`, `dispatch_comment`,
|
|
83
|
+
`dispatch_suggest`, `dispatch_message`, `dispatch_doc_edit`,
|
|
84
|
+
`dispatch_doc_read`, `dispatch_artifact`, and `dispatch_read` when Dispatch
|
|
85
|
+
configuration resolves both a base URL and bearer token.
|
|
86
|
+
|
|
87
|
+
Configure the shared `envoy.json` with:
|
|
88
|
+
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"dispatch": {
|
|
92
|
+
"enabled": true,
|
|
93
|
+
"serverUrl": "https://dispatch.example",
|
|
94
|
+
"token": "<agent-bearer-token>"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
The user file is `~/.config/opencode/envoy.json`; a
|
|
100
|
+
`<cwd>/.opencode/envoy.json` file shallow-merges over it. `DISPATCH_URL` and
|
|
101
|
+
`DISPATCH_TOKEN` override the file values for one process. Invalid configuration,
|
|
102
|
+
an invalid URL, or an empty token leaves the nine tools unavailable and reports
|
|
103
|
+
the source of the error.
|
|
104
|
+
|
|
105
|
+
Native tools operate on a Dispatch issue: a native `KEY` or an external
|
|
106
|
+
`owner/repo#n` reference. A Legion session may omit `issue` when
|
|
107
|
+
`LEGION_ISSUE` identifies its root issue and its working directory resolves to a
|
|
108
|
+
repository. `dispatch_doc_read` and `dispatch_read` also accept
|
|
109
|
+
`dispatch://` references.
|
|
110
|
+
|
|
111
|
+
Every mutation result carries `details.topic` as
|
|
112
|
+
`notifications.dispatch.issue.<KEY>.>`. The extension's `tool_result` hook
|
|
113
|
+
subscribes to that exact topic, then registers the session so retained issue
|
|
114
|
+
events arrive as Pi steering. `dispatch_doc_read` and `dispatch_read` return
|
|
115
|
+
issue details without a subscription topic.
|
|
116
|
+
|
|
117
|
+
The shared contract supplies the model-facing schemas and descriptions. The
|
|
118
|
+
`dispatch` skill describes when to use each operation for issues, asks, review
|
|
119
|
+
feedback, documents, artifacts, and status reads.
|
|
120
|
+
|
|
121
|
+
Lifecycle and scope decisions between Legion roles go through `envoy_publish` to the owning
|
|
122
|
+
architect's role topic; Dispatch is for durable questions to the human and the shared
|
|
123
|
+
document, not for coordination between roles.
|