@sjawhar/opencode-legion-envoy 1.12.0 → 1.13.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/dist/src/server.js +19 -5
- package/package.json +1 -1
- package/skills/dispatch/SKILL.md +10 -4
package/dist/src/server.js
CHANGED
|
@@ -13621,6 +13621,8 @@ var AskEditedEventPayloadSchema = object({
|
|
|
13621
13621
|
var CommentEventPayloadSchema = object({
|
|
13622
13622
|
id: string2().optional(),
|
|
13623
13623
|
artifact_name: string2().optional(),
|
|
13624
|
+
project_key: string2().optional(),
|
|
13625
|
+
artifact_slug: string2().optional(),
|
|
13624
13626
|
body: string2().optional(),
|
|
13625
13627
|
reply_to: string2().nullish(),
|
|
13626
13628
|
ask_id: string2().nullish(),
|
|
@@ -13821,7 +13823,7 @@ var dispatchToolSpecs = [
|
|
|
13821
13823
|
quote: z.string().describe("Optional exact quoted document text.").optional(),
|
|
13822
13824
|
occurrence: z.number({ int: true, min: 0 }).describe("Optional zero-based occurrence of quote.").optional(),
|
|
13823
13825
|
body: z.string({ max: 2000 }).describe("Review comment, at most 2,000 characters."),
|
|
13824
|
-
reply_to: z.string().describe("
|
|
13826
|
+
reply_to: z.string().describe("Full id of a comment to reply to; replying to any comment in a thread continues that " + "thread (an ask's clarification thread included).").optional(),
|
|
13825
13827
|
reply_to_ask: z.string().describe("Optional ask id to reply to, threading this comment under that question. Mutually " + "exclusive with reply_to.").optional()
|
|
13826
13828
|
}),
|
|
13827
13829
|
validation: documentOwnerValidation(true)
|
|
@@ -14102,12 +14104,24 @@ var controllerIssue = strictObject({
|
|
|
14102
14104
|
issue: nonEmptyString
|
|
14103
14105
|
});
|
|
14104
14106
|
var TREE_STATUSES = ["queued", "active", "lingering", "dead", "launch-failed", "closed"];
|
|
14105
|
-
var
|
|
14107
|
+
var stateTmuxLocator = strictObject({
|
|
14108
|
+
runtime: literal("tmux"),
|
|
14106
14109
|
tmuxSession: nonEmptyString,
|
|
14107
14110
|
tmuxWindowId: nonEmptyString,
|
|
14108
14111
|
tmuxPaneId: nonEmptyString.optional()
|
|
14109
14112
|
});
|
|
14110
|
-
var
|
|
14113
|
+
var stateK8sLocator = strictObject({
|
|
14114
|
+
runtime: literal("kubernetes"),
|
|
14115
|
+
namespace: nonEmptyString,
|
|
14116
|
+
podName: nonEmptyString,
|
|
14117
|
+
podUid: nonEmptyString,
|
|
14118
|
+
pvcName: nonEmptyString
|
|
14119
|
+
});
|
|
14120
|
+
var stateLocator = discriminatedUnion("runtime", [stateTmuxLocator, stateK8sLocator]);
|
|
14121
|
+
var stateTreeLocator = discriminatedUnion("runtime", [
|
|
14122
|
+
stateTmuxLocator.extend({ ompSessionFile: nonEmptyString.optional() }),
|
|
14123
|
+
stateK8sLocator.extend({ ompSessionFile: nonEmptyString.optional() })
|
|
14124
|
+
]);
|
|
14111
14125
|
var stateIssue = strictObject({
|
|
14112
14126
|
key: nonEmptyString,
|
|
14113
14127
|
title: string2(),
|
|
@@ -14134,7 +14148,7 @@ var stateRole = strictObject({
|
|
|
14134
14148
|
sessionId: nonEmptyString.optional(),
|
|
14135
14149
|
readyConfirmedAt: number2().optional(),
|
|
14136
14150
|
launchFailures: number2().int().nonnegative().optional(),
|
|
14137
|
-
locator:
|
|
14151
|
+
locator: stateLocator.optional()
|
|
14138
14152
|
});
|
|
14139
14153
|
var LegionDaemonApi = {
|
|
14140
14154
|
State: {
|
|
@@ -14149,7 +14163,7 @@ var LegionDaemonApi = {
|
|
|
14149
14163
|
queue: array(nonEmptyString)
|
|
14150
14164
|
}),
|
|
14151
14165
|
gates: record(string2(), stateGate),
|
|
14152
|
-
controllerLocator:
|
|
14166
|
+
controllerLocator: stateLocator.optional(),
|
|
14153
14167
|
roles: record(string2(), stateRole),
|
|
14154
14168
|
controllerPendingNotices: number2().int().nonnegative(),
|
|
14155
14169
|
pendingStatusWrites: array(nonEmptyString)
|
package/package.json
CHANGED
package/skills/dispatch/SKILL.md
CHANGED
|
@@ -36,6 +36,12 @@ it to the agent through `dispatch.token` in `~/.config/opencode/envoy.json` or `
|
|
|
36
36
|
The server records the minting human as the owner of that session's writes. `DISPATCH_AGENT_TOKEN`
|
|
37
37
|
is the shared devbox fallback; do not configure it for an individual agent.
|
|
38
38
|
|
|
39
|
+
The deployed Dispatch server's browser origin is configured separately with
|
|
40
|
+
`DISPATCH_SERVER_URL` in the deployment `compose/.env`. Do not change an
|
|
41
|
+
agent's `envoy.json` to set the GitHub OAuth callback origin: the value must
|
|
42
|
+
be the exact URL humans type in their browser, and the GitHub App callback is
|
|
43
|
+
`<DISPATCH_SERVER_URL>/auth/callback`.
|
|
44
|
+
|
|
39
45
|
## Writing a spec
|
|
40
46
|
|
|
41
47
|
A spec has two readers: the human who decides reads the top; the implementer who builds reads the
|
|
@@ -284,10 +290,10 @@ dispatch_comment({ issue?, project?, artifact?, ref?, quote?, occurrence?, body,
|
|
|
284
290
|
It returns issue or project-document owner details plus `comment` and, for writes, `topic`.
|
|
285
291
|
`ref` names the owner (an issue or project-document reference) in place of `issue`/`project`.
|
|
286
292
|
`quote` requires `artifact`; omit both for a floating issue comment. A reply (`reply_to`/`reply_to_ask`)
|
|
287
|
-
takes no `quote`; it belongs to its parent's anchor.
|
|
288
|
-
|
|
289
|
-
question asked with `dispatch_ask`. Comments are edited only by their author from the
|
|
290
|
-
delivered `comment.created` event carries the comment `id`; reply to it with
|
|
293
|
+
takes no `quote`; it belongs to its parent's anchor. Reply to any comment in a thread; the server
|
|
294
|
+
keeps threads flat. A reply to a resolved thread reopens it. Use `reply_to_ask` to reply directly
|
|
295
|
+
under a question asked with `dispatch_ask`. Comments are edited only by their author from the
|
|
296
|
+
dashboard. A delivered `comment.created` event carries the comment `id`; reply to it with
|
|
291
297
|
`dispatch_comment({ reply_to: <id> })`.
|
|
292
298
|
|
|
293
299
|
Propose an exact replacement instead of describing it:
|