@pebblehouse/odin-cli 0.18.1 → 0.18.2

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.
Files changed (2) hide show
  1. package/dist/index.js +8 -9
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1225,9 +1225,9 @@ depsCmd.command("remove <slug> <bet-id>").description("Remove a blocked-by depen
1225
1225
 
1226
1226
  // src/commands/bets.ts
1227
1227
  var betsCmd = new Command14("bets").description("Manage bets");
1228
- var STAGE_HELP = "pitch, shaping, ready, planning, building, review, qa, shipping, done, archived (legacy: shaped, betting, active, blocked)";
1228
+ var STAGE_HELP = "pitch, shaping, ready, planning, building, review, qa, shipping, done, archived";
1229
1229
  withListFlags(
1230
- betsCmd.command("list <slug>").description("List bets for a pebble").option("--status <status>", `Status (${STAGE_HELP})`)
1230
+ betsCmd.command("list <slug>").description("List bets for a pebble").option("--status <status>", `Stage (${STAGE_HELP})`)
1231
1231
  ).action(async (slug, opts) => {
1232
1232
  const resolved = resolveListParams(opts);
1233
1233
  if (resolved.fatal) {
@@ -1245,21 +1245,20 @@ betsCmd.command("get <slug> <id>").description("Get a bet by ID").action(async (
1245
1245
  process.stdout.write(JSON.stringify(res) + "\n");
1246
1246
  if (res.error) process.exit(1);
1247
1247
  });
1248
- betsCmd.command("create <slug> <title>").description("Create a bet").option("--source <source>", "Source agent", "claude-code").option("--content <content>", "Bet content").option("--file <path>", "Read content from file").option("--status <status>", "pitch (default) or shaped (transitional)").option("--priority <priority>", "Bet priority").option("--appetite <appetite>", "Bet appetite").option("--follow-up-of <key-or-uuid>", "Allocate a suffixed follow-up ticket in this ticket's family (e.g. ODIN-12 \u2192 ODIN-12A)").action(async (slug, title, opts) => {
1248
+ betsCmd.command("create <slug> <title>").description("Create a bet").option("--source <source>", "Source agent", "claude-code").option("--content <content>", "Bet content").option("--file <path>", "Read content from file").option("--priority <priority>", "Bet priority").option("--appetite <appetite>", "Bet appetite").option("--follow-up-of <key-or-uuid>", "Allocate a suffixed follow-up ticket in this ticket's family (e.g. ODIN-12 \u2192 ODIN-12A)").action(async (slug, title, opts) => {
1249
1249
  const content = opts.file ? readFileSync10(opts.file, "utf-8") : opts.content ?? "";
1250
1250
  const res = await apiRequest(`/pebbles/${slug}/bets`, {
1251
1251
  method: "POST",
1252
- body: { title, source: opts.source, content, status: opts.status, priority: opts.priority, appetite: opts.appetite, follow_up_of: opts.followUpOf }
1252
+ body: { title, source: opts.source, content, priority: opts.priority, appetite: opts.appetite, follow_up_of: opts.followUpOf }
1253
1253
  });
1254
1254
  process.stdout.write(JSON.stringify(res) + "\n");
1255
1255
  if (res.error) process.exit(1);
1256
1256
  });
1257
- betsCmd.command("update <slug> <id>").description("Update a bet").option("--title <title>", "New title").option("--content <content>", "New content").option("--file <path>", "Read content from file").option("--status <status>", `New status \u2014 legacy-governed bets only; lifecycle-governed bets use \`odin bets transition\` (${STAGE_HELP})`).option("--priority <priority>", "New priority").option("--appetite <appetite>", "New appetite").action(async (slug, id, opts) => {
1257
+ betsCmd.command("update <slug> <id>").description("Update a bet's title, content, priority or appetite (stage changes: odin bets transition)").option("--title <title>", "New title").option("--content <content>", "New content").option("--file <path>", "Read content from file").option("--priority <priority>", "New priority").option("--appetite <appetite>", "New appetite").action(async (slug, id, opts) => {
1258
1258
  const body = {};
1259
1259
  if (opts.title) body.title = opts.title;
1260
1260
  if (opts.file) body.content = readFileSync10(opts.file, "utf-8");
1261
1261
  else if (opts.content) body.content = opts.content;
1262
- if (opts.status) body.status = opts.status;
1263
1262
  if (opts.priority) body.priority = opts.priority;
1264
1263
  if (opts.appetite) body.appetite = opts.appetite;
1265
1264
  const res = await apiRequest(`/pebbles/${slug}/bets/${id}`, {
@@ -1398,11 +1397,11 @@ tasksCmd.command("update <slug> <id>").description("Update a task").option("--ti
1398
1397
  process.stdout.write(JSON.stringify(res) + "\n");
1399
1398
  if (res.error) process.exit(1);
1400
1399
  });
1401
- tasksCmd.command("promote <slug> <id>").description("Promote a task to a bet, keeping its ticket ID and history").option("--content <content>", "Shaped bet markdown").option("--file <path>", "Read bet markdown from file").option("--status <status>", "Bet status (pitch | shaped)", "shaped").option("--priority <priority>", "Bet priority").action(async (slug, id, opts) => {
1400
+ tasksCmd.command("promote <slug> <id>").description("Promote a task to a bet, keeping its ticket ID and history (the bet starts in pitch)").option("--content <content>", "Shaped bet markdown").option("--file <path>", "Read bet markdown from file").option("--priority <priority>", "Bet priority").action(async (slug, id, opts) => {
1402
1401
  const content = opts.file ? readFileSync12(opts.file, "utf-8") : opts.content;
1403
1402
  const res = await apiRequest(`/pebbles/${slug}/tasks/${id}/promote`, {
1404
1403
  method: "POST",
1405
- body: { content, status: opts.status, priority: opts.priority }
1404
+ body: { content, priority: opts.priority }
1406
1405
  });
1407
1406
  process.stdout.write(JSON.stringify(res) + "\n");
1408
1407
  if (res.error) process.exit(1);
@@ -2074,7 +2073,7 @@ Re-run \`odin pebble new ${name}\` after acting.
2074
2073
  const body = renderInitBetBody(slug, report);
2075
2074
  const bet = await apiRequest(`/pebbles/${slug}/bets`, {
2076
2075
  method: "POST",
2077
- body: { title: `Initialize ${slug}`, source: "odin-cli", content: body, status: "shaped" }
2076
+ body: { title: `Initialize ${slug}`, source: "odin-cli", content: body }
2078
2077
  });
2079
2078
  process.stdout.write(JSON.stringify(bet) + "\n");
2080
2079
  if (opts.run && bet.data?.id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pebblehouse/odin-cli",
3
- "version": "0.18.1",
3
+ "version": "0.18.2",
4
4
  "type": "module",
5
5
  "description": "CLI for Odin — the knowledge backbone for Pebble House",
6
6
  "bin": {