overlord-cli 0.2607191132.0 → 0.2607201400.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/dist/connectors/VERSION +1 -1
- package/dist/connectors/adapters/antigravity/plugin.json +1 -1
- package/dist/connectors/adapters/antigravity/scripts/overlord-mcp.mjs +37 -3
- package/dist/connectors/adapters/claude/.claude-plugin/plugin.json +1 -1
- package/dist/connectors/adapters/codex/.codex-plugin/plugin.json +1 -1
- package/dist/connectors/adapters/codex/scripts/overlord-mcp.mjs +37 -3
- package/dist/connectors/adapters/cursor/.cursor-plugin/plugin.json +1 -1
- package/dist/connectors/adapters/cursor/scripts/overlord-mcp.mjs +37 -3
- package/dist/connectors/core/overlord-mission/SKILL.md +33 -0
- package/dist/index.js +5 -2
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
package/dist/connectors/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.3.
|
|
1
|
+
0.3.4
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://antigravity.google/schemas/v1/plugin.json",
|
|
3
3
|
"name": "overlord",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.4",
|
|
5
5
|
"description": "Chat-driven access to Overlord mission protocol workflows with hook-driven activity capture.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Cooperativ",
|
|
@@ -188,7 +188,7 @@ const tools = [
|
|
|
188
188
|
name: 'overlord_deliver_session',
|
|
189
189
|
title: 'Deliver mission session',
|
|
190
190
|
description:
|
|
191
|
-
'Deliver an attached session with explicit summary and optional
|
|
191
|
+
'Deliver an attached session with explicit summary, optional change rationales, and optional human-action/tradeoff evidence.',
|
|
192
192
|
inputSchema: objectSchema(
|
|
193
193
|
{
|
|
194
194
|
missionId: stringProperty('Mission UUID or workspace display id.'),
|
|
@@ -201,7 +201,19 @@ const tools = [
|
|
|
201
201
|
changeRationales: {
|
|
202
202
|
type: 'array',
|
|
203
203
|
description: 'Explicit change rationale objects, if files were changed.'
|
|
204
|
-
}
|
|
204
|
+
},
|
|
205
|
+
humanActions: {
|
|
206
|
+
type: 'array',
|
|
207
|
+
description:
|
|
208
|
+
'Concrete actions a human must perform; exclude Git operations and routine review/testing.'
|
|
209
|
+
},
|
|
210
|
+
tradeoffsMade: {
|
|
211
|
+
type: 'array',
|
|
212
|
+
description: 'Implementation decisions, alternatives considered, and rationale.'
|
|
213
|
+
},
|
|
214
|
+
knownRisks: { type: 'array', description: 'Residual risks or limitations.' },
|
|
215
|
+
deferredWork: { type: 'array', description: 'Intentionally deferred work.' },
|
|
216
|
+
assumptions: { type: 'array', description: 'Material implementation assumptions.' }
|
|
205
217
|
},
|
|
206
218
|
['missionId', 'sessionKey', 'summary']
|
|
207
219
|
)
|
|
@@ -294,6 +306,28 @@ function callOverlordTool(name, args) {
|
|
|
294
306
|
...(args.noFileChanges === true ? { 'no-file-changes': true } : {}),
|
|
295
307
|
...(Array.isArray(args.changeRationales)
|
|
296
308
|
? { 'change-rationales-json': args.changeRationales }
|
|
309
|
+
: {}),
|
|
310
|
+
...(Array.isArray(args.humanActions) ||
|
|
311
|
+
Array.isArray(args.tradeoffsMade) ||
|
|
312
|
+
Array.isArray(args.knownRisks) ||
|
|
313
|
+
Array.isArray(args.deferredWork) ||
|
|
314
|
+
Array.isArray(args.assumptions)
|
|
315
|
+
? {
|
|
316
|
+
payload: {
|
|
317
|
+
deliveryReport: {
|
|
318
|
+
schemaVersion: 1,
|
|
319
|
+
agentReport: {
|
|
320
|
+
...(Array.isArray(args.humanActions) ? { humanActions: args.humanActions } : {}),
|
|
321
|
+
...(Array.isArray(args.tradeoffsMade)
|
|
322
|
+
? { tradeoffsMade: args.tradeoffsMade }
|
|
323
|
+
: {}),
|
|
324
|
+
...(Array.isArray(args.knownRisks) ? { knownRisks: args.knownRisks } : {}),
|
|
325
|
+
...(Array.isArray(args.deferredWork) ? { deferredWork: args.deferredWork } : {}),
|
|
326
|
+
...(Array.isArray(args.assumptions) ? { assumptions: args.assumptions } : {})
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
297
331
|
: {})
|
|
298
332
|
});
|
|
299
333
|
}
|
|
@@ -328,7 +362,7 @@ process.stdin.on('data', async chunk => {
|
|
|
328
362
|
result: {
|
|
329
363
|
protocolVersion: PROTOCOL_VERSION,
|
|
330
364
|
capabilities: { tools: { listChanged: false } },
|
|
331
|
-
serverInfo: { name: 'overlord-antigravity', version: '0.3.
|
|
365
|
+
serverInfo: { name: 'overlord-antigravity', version: '0.3.4' }
|
|
332
366
|
}
|
|
333
367
|
});
|
|
334
368
|
continue;
|
|
@@ -188,7 +188,7 @@ const tools = [
|
|
|
188
188
|
name: 'overlord_deliver_session',
|
|
189
189
|
title: 'Deliver mission session',
|
|
190
190
|
description:
|
|
191
|
-
'Deliver an attached session with explicit summary and optional
|
|
191
|
+
'Deliver an attached session with explicit summary, optional change rationales, and optional human-action/tradeoff evidence.',
|
|
192
192
|
inputSchema: objectSchema(
|
|
193
193
|
{
|
|
194
194
|
missionId: stringProperty('Mission UUID or workspace display id.'),
|
|
@@ -201,7 +201,19 @@ const tools = [
|
|
|
201
201
|
changeRationales: {
|
|
202
202
|
type: 'array',
|
|
203
203
|
description: 'Explicit change rationale objects, if files were changed.'
|
|
204
|
-
}
|
|
204
|
+
},
|
|
205
|
+
humanActions: {
|
|
206
|
+
type: 'array',
|
|
207
|
+
description:
|
|
208
|
+
'Concrete actions a human must perform; exclude Git operations and routine review/testing.'
|
|
209
|
+
},
|
|
210
|
+
tradeoffsMade: {
|
|
211
|
+
type: 'array',
|
|
212
|
+
description: 'Implementation decisions, alternatives considered, and rationale.'
|
|
213
|
+
},
|
|
214
|
+
knownRisks: { type: 'array', description: 'Residual risks or limitations.' },
|
|
215
|
+
deferredWork: { type: 'array', description: 'Intentionally deferred work.' },
|
|
216
|
+
assumptions: { type: 'array', description: 'Material implementation assumptions.' }
|
|
205
217
|
},
|
|
206
218
|
['missionId', 'sessionKey', 'summary']
|
|
207
219
|
)
|
|
@@ -294,6 +306,28 @@ function callOverlordTool(name, args) {
|
|
|
294
306
|
...(args.noFileChanges === true ? { 'no-file-changes': true } : {}),
|
|
295
307
|
...(Array.isArray(args.changeRationales)
|
|
296
308
|
? { 'change-rationales-json': args.changeRationales }
|
|
309
|
+
: {}),
|
|
310
|
+
...(Array.isArray(args.humanActions) ||
|
|
311
|
+
Array.isArray(args.tradeoffsMade) ||
|
|
312
|
+
Array.isArray(args.knownRisks) ||
|
|
313
|
+
Array.isArray(args.deferredWork) ||
|
|
314
|
+
Array.isArray(args.assumptions)
|
|
315
|
+
? {
|
|
316
|
+
payload: {
|
|
317
|
+
deliveryReport: {
|
|
318
|
+
schemaVersion: 1,
|
|
319
|
+
agentReport: {
|
|
320
|
+
...(Array.isArray(args.humanActions) ? { humanActions: args.humanActions } : {}),
|
|
321
|
+
...(Array.isArray(args.tradeoffsMade)
|
|
322
|
+
? { tradeoffsMade: args.tradeoffsMade }
|
|
323
|
+
: {}),
|
|
324
|
+
...(Array.isArray(args.knownRisks) ? { knownRisks: args.knownRisks } : {}),
|
|
325
|
+
...(Array.isArray(args.deferredWork) ? { deferredWork: args.deferredWork } : {}),
|
|
326
|
+
...(Array.isArray(args.assumptions) ? { assumptions: args.assumptions } : {})
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
297
331
|
: {})
|
|
298
332
|
});
|
|
299
333
|
}
|
|
@@ -328,7 +362,7 @@ process.stdin.on('data', async chunk => {
|
|
|
328
362
|
result: {
|
|
329
363
|
protocolVersion: PROTOCOL_VERSION,
|
|
330
364
|
capabilities: { tools: { listChanged: false } },
|
|
331
|
-
serverInfo: { name: 'overlord-codex', version: '0.3.
|
|
365
|
+
serverInfo: { name: 'overlord-codex', version: '0.3.4' }
|
|
332
366
|
}
|
|
333
367
|
});
|
|
334
368
|
continue;
|
|
@@ -188,7 +188,7 @@ const tools = [
|
|
|
188
188
|
name: 'overlord_deliver_session',
|
|
189
189
|
title: 'Deliver mission session',
|
|
190
190
|
description:
|
|
191
|
-
'Deliver an attached session with explicit summary and optional
|
|
191
|
+
'Deliver an attached session with explicit summary, optional change rationales, and optional human-action/tradeoff evidence.',
|
|
192
192
|
inputSchema: objectSchema(
|
|
193
193
|
{
|
|
194
194
|
missionId: stringProperty('Mission UUID or workspace display id.'),
|
|
@@ -201,7 +201,19 @@ const tools = [
|
|
|
201
201
|
changeRationales: {
|
|
202
202
|
type: 'array',
|
|
203
203
|
description: 'Explicit change rationale objects, if files were changed.'
|
|
204
|
-
}
|
|
204
|
+
},
|
|
205
|
+
humanActions: {
|
|
206
|
+
type: 'array',
|
|
207
|
+
description:
|
|
208
|
+
'Concrete actions a human must perform; exclude Git operations and routine review/testing.'
|
|
209
|
+
},
|
|
210
|
+
tradeoffsMade: {
|
|
211
|
+
type: 'array',
|
|
212
|
+
description: 'Implementation decisions, alternatives considered, and rationale.'
|
|
213
|
+
},
|
|
214
|
+
knownRisks: { type: 'array', description: 'Residual risks or limitations.' },
|
|
215
|
+
deferredWork: { type: 'array', description: 'Intentionally deferred work.' },
|
|
216
|
+
assumptions: { type: 'array', description: 'Material implementation assumptions.' }
|
|
205
217
|
},
|
|
206
218
|
['missionId', 'sessionKey', 'summary']
|
|
207
219
|
)
|
|
@@ -294,6 +306,28 @@ function callOverlordTool(name, args) {
|
|
|
294
306
|
...(args.noFileChanges === true ? { 'no-file-changes': true } : {}),
|
|
295
307
|
...(Array.isArray(args.changeRationales)
|
|
296
308
|
? { 'change-rationales-json': args.changeRationales }
|
|
309
|
+
: {}),
|
|
310
|
+
...(Array.isArray(args.humanActions) ||
|
|
311
|
+
Array.isArray(args.tradeoffsMade) ||
|
|
312
|
+
Array.isArray(args.knownRisks) ||
|
|
313
|
+
Array.isArray(args.deferredWork) ||
|
|
314
|
+
Array.isArray(args.assumptions)
|
|
315
|
+
? {
|
|
316
|
+
payload: {
|
|
317
|
+
deliveryReport: {
|
|
318
|
+
schemaVersion: 1,
|
|
319
|
+
agentReport: {
|
|
320
|
+
...(Array.isArray(args.humanActions) ? { humanActions: args.humanActions } : {}),
|
|
321
|
+
...(Array.isArray(args.tradeoffsMade)
|
|
322
|
+
? { tradeoffsMade: args.tradeoffsMade }
|
|
323
|
+
: {}),
|
|
324
|
+
...(Array.isArray(args.knownRisks) ? { knownRisks: args.knownRisks } : {}),
|
|
325
|
+
...(Array.isArray(args.deferredWork) ? { deferredWork: args.deferredWork } : {}),
|
|
326
|
+
...(Array.isArray(args.assumptions) ? { assumptions: args.assumptions } : {})
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
297
331
|
: {})
|
|
298
332
|
});
|
|
299
333
|
}
|
|
@@ -328,7 +362,7 @@ process.stdin.on('data', async chunk => {
|
|
|
328
362
|
result: {
|
|
329
363
|
protocolVersion: PROTOCOL_VERSION,
|
|
330
364
|
capabilities: { tools: { listChanged: false } },
|
|
331
|
-
serverInfo: { name: 'overlord-cursor', version: '0.3.
|
|
365
|
+
serverInfo: { name: 'overlord-cursor', version: '0.3.4' }
|
|
332
366
|
}
|
|
333
367
|
});
|
|
334
368
|
continue;
|
|
@@ -22,6 +22,12 @@ Use this mode when the prompt already contains a mission ID or explicitly says t
|
|
|
22
22
|
6. If blocked, call `ovld protocol ask --session-key <sessionKey> --mission-id <mission_id> --question "..."` and stop.
|
|
23
23
|
7. Deliver last with `ovld protocol deliver --session-key <sessionKey> --mission-id <mission_id> --summary "..."`, including `changeRationales` only for meaningful behavioral file changes made as part of this mission.
|
|
24
24
|
|
|
25
|
+
At delivery, provide `deliveryReport.agentReport` through `--payload-json` / `--payload-file`: use
|
|
26
|
+
`humanActions`, `tradeoffsMade`, `knownRisks`, `deferredWork`, and `assumptions`, with empty arrays
|
|
27
|
+
when none apply. Human actions are concrete work a user must perform outside completed agent work;
|
|
28
|
+
never include Git operations or routine review/testing. Tradeoffs record the implementation decision,
|
|
29
|
+
alternatives considered, and rationale. These fields improve review visibility but never block delivery.
|
|
30
|
+
|
|
25
31
|
For full command syntax, flags, phase values, and event types see **CLI Command Reference** below.
|
|
26
32
|
|
|
27
33
|
## Missions vs Objectives
|
|
@@ -164,6 +170,33 @@ EOF
|
|
|
164
170
|
|
|
165
171
|
If `heartbeat` succeeds but `deliver` or `update` fails, the session is likely fine — retry with large JSON on stdin instead of inline `--*-json`.
|
|
166
172
|
|
|
173
|
+
### Delivery Evidence
|
|
174
|
+
|
|
175
|
+
Send agent-authored facts in the delivery payload; Overlord stores an immediate deterministic
|
|
176
|
+
presentation, so do not wait for or invoke an AI provider.
|
|
177
|
+
|
|
178
|
+
```json
|
|
179
|
+
{
|
|
180
|
+
"deliveryReport": {
|
|
181
|
+
"schemaVersion": 1,
|
|
182
|
+
"agentReport": {
|
|
183
|
+
"humanActions": [],
|
|
184
|
+
"tradeoffsMade": [],
|
|
185
|
+
"knownRisks": [],
|
|
186
|
+
"deferredWork": [],
|
|
187
|
+
"assumptions": []
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Only list a human action when a person must perform a concrete non-Git step outside the
|
|
194
|
+
agent's completed work (for example, add a secret, run a production migration, deploy, or
|
|
195
|
+
configure an external integration). Never list committing, pushing, opening a pull request,
|
|
196
|
+
reviewing code, or ordinary tests. A tradeoff must state the decision, alternatives considered,
|
|
197
|
+
and rationale. Missing evidence is normalized to empty arrays for compatibility, but agents
|
|
198
|
+
should report it when applicable.
|
|
199
|
+
|
|
167
200
|
### Preflight: check your changes before delivering
|
|
168
201
|
|
|
169
202
|
Never hand-triage `git status` to figure out which dirty files are yours. Run the preflight first:
|
package/dist/index.js
CHANGED
|
@@ -13600,7 +13600,7 @@ function buildPreLaunchVariables({
|
|
|
13600
13600
|
OVERLORD_EXECUTION_REQUEST_ID: "",
|
|
13601
13601
|
OVERLORD_PROJECT_RESOURCES: "",
|
|
13602
13602
|
...launchEnv,
|
|
13603
|
-
OVERLORD_PROJECT_RESOURCES_PATHS: paths.join("
|
|
13603
|
+
OVERLORD_PROJECT_RESOURCES_PATHS: paths.join(","),
|
|
13604
13604
|
OVERLORD_PROJECT_RESOURCES_PATHS_CSV: paths.join(","),
|
|
13605
13605
|
OVERLORD_PRIMARY_RESOURCE_PATH: primaryResourcePath(projectResources),
|
|
13606
13606
|
OVERLORD_WORKING_DIRECTORY: cwd,
|
|
@@ -14673,6 +14673,9 @@ deliver:
|
|
|
14673
14673
|
--mission-id <id>
|
|
14674
14674
|
--summary or --summary-file <path|->
|
|
14675
14675
|
or: --payload-json / --payload-file <path|-> with { summary, artifacts, changeRationales }
|
|
14676
|
+
The payload may also include deliveryReport: { schemaVersion: 1, agentReport: {
|
|
14677
|
+
humanActions, tradeoffsMade, knownRisks, deferredWork, assumptions } }. Use empty arrays
|
|
14678
|
+
when none apply. Human actions exclude Git operations and routine review/testing.
|
|
14676
14679
|
Optional:
|
|
14677
14680
|
--artifacts-json / --artifacts-file <path|->
|
|
14678
14681
|
--change-rationales-json / --change-rationales-file <path|->
|
|
@@ -17171,7 +17174,7 @@ async function runManagementCommand({
|
|
|
17171
17174
|
events: `/api/missions/${encodeURIComponent(missionId)}/events`,
|
|
17172
17175
|
artifacts: `/api/missions/${encodeURIComponent(missionId)}/artifacts`,
|
|
17173
17176
|
rationales: `/api/missions/${encodeURIComponent(missionId)}/file-changes`,
|
|
17174
|
-
deliveries: `/api/missions/${encodeURIComponent(missionId)}/
|
|
17177
|
+
deliveries: `/api/missions/${encodeURIComponent(missionId)}/deliveries`
|
|
17175
17178
|
};
|
|
17176
17179
|
const path27 = sub ? pathBySub[sub] : void 0;
|
|
17177
17180
|
if (!path27) {
|