overlord-cli 5.15.2 → 5.16.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 CHANGED
@@ -62,9 +62,9 @@ ovld prompt "Draft a fix for the onboarding flow"
62
62
  ovld version
63
63
  ovld update
64
64
  ovld protocol discover-project
65
- ovld protocol attach --ticket-id <ticket-id>
65
+ ovld protocol attach --ticket-id <ticket_id>
66
66
  ovld protocol search-tickets --query "auth refactor" --status next-up,execute
67
- ovld protocol update --session-key <session-key> --ticket-id <ticket-id> --summary "Working on it" --phase execute
67
+ ovld protocol update --session-key <session-key> --ticket-id <ticket_id> --summary "Working on it" --phase execute
68
68
  ovld setup
69
69
  ovld setup codex
70
70
  ovld setup claude
@@ -169,12 +169,12 @@ function buildTmuxWrappedCommand(innerCommand, tmuxCommand) {
169
169
 
170
170
  function printLauncherHelp() {
171
171
  console.log(`Usage:
172
- ovld launch <agent> --ticket-id <id> [options]
173
- ovld connect <agent> --ticket-id <id> [options] # alias for ovld launch
174
- ovld restart <agent> --ticket-id <id> [options]
172
+ ovld launch <agent> --ticket-id <ticket_id> [options]
173
+ ovld connect <agent> --ticket-id <ticket_id> [options] # alias for ovld launch
174
+ ovld restart <agent> --ticket-id <ticket_id> [options]
175
175
 
176
176
  Options:
177
- --ticket-id <id> Ticket to launch or resume
177
+ --ticket-id <ticket_id> Ticket to launch or resume (e.g. 1:899). Also accepts UUID.
178
178
  --working-directory <path> Change to a local working directory before launch
179
179
  --launch-mode <run|ask> Ask mode adjusts the fetched prompt context
180
180
  --model <identifier> Preferred model identifier
@@ -360,11 +360,11 @@ async function runAgent(agent, mode = 'run', options = {}) {
360
360
  const isResume = mode === 'resume';
361
361
  const noSessionHint =
362
362
  agent === 'claude'
363
- ? `No prior Claude session was found. Start one with \`ovld launch claude --ticket-id <ticket-id>\` first.`
363
+ ? `No prior Claude session was found. Start one with \`ovld launch claude --ticket-id <ticket_id>\` first.`
364
364
  : agent === 'codex'
365
- ? `No prior Codex session was found. Start one with \`ovld launch codex --ticket-id <ticket-id>\` first.`
365
+ ? `No prior Codex session was found. Start one with \`ovld launch codex --ticket-id <ticket_id>\` first.`
366
366
  : agent === 'opencode'
367
- ? `No prior OpenCode session was found. Start one with \`ovld launch opencode --ticket-id <ticket-id>\` first.`
367
+ ? `No prior OpenCode session was found. Start one with \`ovld launch opencode --ticket-id <ticket_id>\` first.`
368
368
  : '';
369
369
  const message = error instanceof Error ? error.message : String(error);
370
370
 
@@ -1183,7 +1183,7 @@ async function protocolPrompt(args) {
1183
1183
  );
1184
1184
 
1185
1185
  const sessionKey = data.session?.sessionKey;
1186
- const ticketId = data.ticket?.id;
1186
+ const ticketId = data.ticket?.ticket_id ?? data.ticket?.id;
1187
1187
  console.log(JSON.stringify(data, null, 2));
1188
1188
 
1189
1189
  if (sessionKey) {
@@ -1362,7 +1362,7 @@ export async function runProtocolCommand(subcommand, args) {
1362
1362
 
1363
1363
  Use this for ticket lifecycle work from an agent runtime: create a standalone
1364
1364
  draft with \`ovld protocol create\`, create-and-attach with \`ovld protocol prompt\`,
1365
- or attach to an existing ticket with \`ovld protocol attach --ticket-id <id>\`.
1365
+ or attach to an existing ticket with \`ovld protocol attach --ticket-id <ticket_id>\`.
1366
1366
 
1367
1367
  Project discovery:
1368
1368
  When prompting or creating tickets, the CLI automatically resolves the correct
@@ -1399,14 +1399,14 @@ Subcommands:
1399
1399
  attachment-upload-file Prepare, upload, and finalize a local file in one command
1400
1400
 
1401
1401
  Environment fallback:
1402
- --session-key <- SESSION_KEY
1403
- --ticket-id <- TICKET_ID
1402
+ --session-key <- SESSION_KEY
1403
+ --ticket-id <- TICKET_ID (human-readable ticket_id, e.g. 1:899)
1404
1404
  auth/host <- OVERLORD_URL, optional OVERLORD_ACCESS_TOKEN + OVERLORD_ORGANIZATION_ID, or shared OAuth credentials from ovld auth/Desktop login
1405
1405
  --timeout <- OVERLORD_TIMEOUT
1406
1406
 
1407
1407
  Common flags:
1408
1408
  --timeout <ms> Request timeout in milliseconds (default: ${DEFAULT_TIMEOUT_MS})
1409
- --ticket-id <id> Ticket id when the subcommand operates on an existing ticket
1409
+ --ticket-id <ticket_id> Ticket identifier (e.g. 1:899) when the subcommand operates on an existing ticket
1410
1410
  --session-key <key> Session key returned by attach/connect/prompt
1411
1411
  --agent <identifier> Agent identifier sent to Overlord (default: AGENT_IDENTIFIER or claude-code)
1412
1412
  --model <identifier> Model identifier to snapshot on executing objectives
@@ -1434,7 +1434,7 @@ attach:
1434
1434
  Purpose:
1435
1435
  Create the working session for an agent on an existing ticket. This is the normal first call.
1436
1436
  Required:
1437
- --ticket-id <id>
1437
+ --ticket-id <ticket_id> Human-readable identifier (e.g. 1:899). Also accepts UUID.
1438
1438
  Optional:
1439
1439
  --agent <identifier>
1440
1440
  --model <identifier>
@@ -1450,7 +1450,7 @@ connect:
1450
1450
  Purpose:
1451
1451
  Create a lightweight session when you only need a session key and not the full ticket payload
1452
1452
  Required:
1453
- --ticket-id <id>
1453
+ --ticket-id <ticket_id> Human-readable identifier (e.g. 1:899). Also accepts UUID.
1454
1454
  Optional:
1455
1455
  --agent <identifier>
1456
1456
  --model <identifier>
@@ -14,7 +14,7 @@ import path from 'node:path';
14
14
  import { fileURLToPath } from 'node:url';
15
15
  import { checkForCliUpdate, getCurrentCliVersion, printCliUpdateNotice } from './cli-update.mjs';
16
16
 
17
- const BUNDLE_VERSION = '1.9.0';
17
+ const BUNDLE_VERSION = '1.11.0';
18
18
  const MD_MARKER_START = '<!-- overlord:managed:start -->';
19
19
  const MD_MARKER_END = '<!-- overlord:managed:end -->';
20
20
  const MANIFEST_DIR = path.join(os.homedir(), '.ovld');
@@ -371,22 +371,22 @@ function slashCommandFiles(agent) {
371
371
  {
372
372
  path: path.join(base, 'connect.md'),
373
373
  content: `---
374
- description: Connect this session to another Overlord ticket by ticket ID
375
- argument-hint: <ticket-id>
374
+ description: Connect this session to another Overlord ticket by ticket identifier
375
+ argument-hint: <ticket_id>
376
376
  disable-model-invocation: true
377
377
  ---
378
378
 
379
- Run \`ovld protocol connect --ticket-id <ticketId>\` using \`$ARGUMENTS\` as the ticket ID.`
379
+ Run \`ovld protocol connect --ticket-id <ticket_id>\` using \`$ARGUMENTS\` as the ticket ID.`
380
380
  },
381
381
  {
382
382
  path: path.join(base, 'load.md'),
383
383
  content: `---
384
384
  description: Load Overlord ticket context without creating a new session
385
- argument-hint: <ticket-id>
385
+ argument-hint: <ticket_id>
386
386
  disable-model-invocation: true
387
387
  ---
388
388
 
389
- Run \`ovld protocol load-context --ticket-id <ticketId>\` using \`$ARGUMENTS\` as the ticket ID.`
389
+ Run \`ovld protocol load-context --ticket-id <ticket_id>\` using \`$ARGUMENTS\` as the ticket ID.`
390
390
  },
391
391
  {
392
392
  path: path.join(base, 'create.md'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overlord-cli",
3
- "version": "5.15.2",
3
+ "version": "5.16.0",
4
4
  "description": "Overlord CLI — launch AI agents on tickets from anywhere",
5
5
  "homepage": "https://www.ovld.ai/docs/",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Connect this session to another Overlord ticket by ticket ID
3
- argument-hint: <ticket-id>
3
+ argument-hint: <ticket_id>
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Load Overlord ticket context without creating a new session
3
- argument-hint: <ticket-id>
3
+ argument-hint: <ticket_id>
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
@@ -11,7 +11,7 @@ Use this skill whenever Claude Code needs to work with Overlord, whether the ses
11
11
 
12
12
  Use this mode when the prompt already contains a ticket ID or explicitly says the session was launched by Overlord.
13
13
 
14
- 1. Attach first with `ovld protocol attach --ticket-id <ticket-id>`.
14
+ 1. Attach first with `ovld protocol attach --ticket-id <ticket_id>`.
15
15
  2. Keep the returned `session.sessionKey` for all follow-up calls.
16
16
  3. Treat the Overlord ticket prompt as authoritative for the objective, constraints, and delivery target.
17
17
  4. Post updates while working with `ovld protocol update --phase execute`.
@@ -76,8 +76,8 @@ Use this mode when the conversation starts normally and the user asks Claude to
76
76
  - When session flags are omitted, it resolves the project by matching current working directory (or `--working-directory`) to the caller's configured Overlord `project_user.local_working_directory`, then creates a standalone draft.
77
77
  2. Default to `create` for new tickets. Only use `/overlord:spawn` or `ovld protocol spawn --agent claude-code --objective "..."` when the user explicitly asks to create and execute immediately.
78
78
  `spawn` creates the ticket in `execute` status and attaches immediately.
79
- 3. If the user already has a ticket ID and only wants to inspect it, use `/overlord:load` or run `ovld protocol load-context --ticket-id <ticket-id>`.
80
- 4. If the user wants to route the current session onto an existing ticket by ID, use `/overlord:connect` or run `ovld protocol connect --ticket-id <ticket-id>`.
79
+ 3. If the user already has a ticket ID and only wants to inspect it, use `/overlord:load` or run `ovld protocol load-context --ticket-id <ticket_id>`.
80
+ 4. If the user wants to route the current session onto an existing ticket by ID, use `/overlord:connect` or run `ovld protocol connect --ticket-id <ticket_id>`.
81
81
  5. If the user wants to find a ticket but does not know the ID, use `ovld attach` for interactive ticket search and agent launch, or ask the user for the ticket ID if staying strictly inside chat is the better fit.
82
82
  6. If you need other lifecycle commands or flags, run `ovld protocol help` and use the real subcommand list instead of guessing.
83
83
  7. Once you attach to a ticket, switch back to Mode 1 and follow the full ticket lifecycle.
@@ -9,7 +9,7 @@ Use this skill whenever Cursor needs to work with Overlord, whether the session
9
9
 
10
10
  ## Mode 1: Launched From Overlord Desktop Or CLI
11
11
 
12
- 1. Attach first with `ovld protocol attach --ticket-id <ticket-id>`.
12
+ 1. Attach first with `ovld protocol attach --ticket-id <ticket_id>`.
13
13
  2. Keep the returned `session.sessionKey` for all follow-up calls.
14
14
  3. Treat the Overlord ticket prompt as authoritative for the objective, constraints, and delivery target.
15
15
  4. Post updates while working with `ovld protocol update --phase execute`.
@@ -21,8 +21,8 @@ Use this skill whenever Cursor needs to work with Overlord, whether the session
21
21
 
22
22
  1. If the user wants to create tickets (and does not ask to start execution), use `/create` or run `ovld protocol create --agent cursor --objective "..."`.
23
23
  2. Default to `create` for new tickets. Only use `/spawn` or `ovld protocol spawn --agent cursor --objective "..."` when the user explicitly asks to create and execute immediately.
24
- 3. If the user already has a ticket ID and only wants to inspect it, use `/load` or run `ovld protocol load-context --ticket-id <ticket-id>`.
25
- 4. If the user wants to route the current session onto an existing ticket by ID, use `/connect` or run `ovld protocol connect --ticket-id <ticket-id>`.
24
+ 3. If the user already has a ticket ID and only wants to inspect it, use `/load` or run `ovld protocol load-context --ticket-id <ticket_id>`.
25
+ 4. If the user wants to route the current session onto an existing ticket by ID, use `/connect` or run `ovld protocol connect --ticket-id <ticket_id>`.
26
26
  5. If the user wants to search for tickets by keyword or status, use the `search_tickets` MCP tool.
27
27
  6. If you need other lifecycle commands or flags, run `ovld protocol help` and use the real subcommand list instead of guessing.
28
28
  7. Once you attach to a ticket, switch back to Mode 1 and follow the full ticket lifecycle.
@@ -9,10 +9,10 @@ Use this skill when Codex needs to work with Overlord, whether the session was l
9
9
 
10
10
  ## Mode 1: Launched From Overlord Desktop Or CLI
11
11
 
12
- 1. Attach first with `ovld protocol attach --ticket-id <ticket-id>`.
12
+ 1. Attach first with `ovld protocol attach --ticket-id <ticket_id>`.
13
13
  2. Store the returned `SESSION_KEY` or `session.sessionKey`.
14
14
  3. Treat the Overlord ticket prompt as authoritative for the specific objective and ticket-level constraints.
15
- 4. While working, publish meaningful progress with `ovld protocol update --session-key <sessionKey> --ticket-id <ticket-id> --phase execute --summary "..."`.
15
+ 4. While working, publish meaningful progress with `ovld protocol update --session-key <sessionKey> --ticket-id <ticket_id> --phase execute --summary "..."`.
16
16
  5. If a later user message arrives during the ticket session, publish it immediately with `--event-type user_follow_up` before doing anything else.
17
17
  6. If blocked on a human-only action, ask a precise blocking question with `ovld protocol ask` and stop.
18
18
  7. Deliver last with `ovld protocol deliver`, including meaningful `changeRationales` for every behavioral git-tracked change.
@@ -69,8 +69,8 @@ For larger delivery payloads, prefer `--payload-file -` and stream the full JSON
69
69
 
70
70
  1. If the user wants to create tickets (and does not ask to start execution), run `ovld protocol create --agent codex --objective "..."`.
71
71
  2. Default to `create` for new tickets. Only use `ovld protocol spawn --agent codex --objective "..."` when the user explicitly asks to create and execute immediately.
72
- 3. If the user wants to inspect an existing ticket without starting work, use `ovld protocol load-context --ticket-id <ticket-id>`.
73
- 4. If the user wants to work an existing ticket, attach with `ovld protocol attach --ticket-id <ticket-id>` and then switch to Mode 1.
72
+ 3. If the user wants to inspect an existing ticket without starting work, use `ovld protocol load-context --ticket-id <ticket_id>`.
73
+ 4. If the user wants to work an existing ticket, attach with `ovld protocol attach --ticket-id <ticket_id>` and then switch to Mode 1.
74
74
  5. If the user wants to find existing tickets by keyword or workflow state, use the `search_tickets` tool.
75
75
  6. If you need to understand project routing before spawning, use `ovld protocol discover-project`.
76
76
  7. If you need other lifecycle commands or flags, run `ovld protocol help` and use the real subcommand list instead of guessing.