codeam-cli 2.61.29 → 2.61.31

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/CHANGELOG.md CHANGED
@@ -4,6 +4,28 @@ All notable changes to `codeam-cli` are documented here.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.61.30] — 2026-07-24
8
+
9
+ ### Added
10
+
11
+ - **shared:** Add github_issues as a derived tracker integration
12
+
13
+ ## [2.61.29] — 2026-07-24
14
+
15
+ ### Added
16
+
17
+ - **shared:** Add Discord to the comms catalog (coming soon)
18
+
19
+ ## [2.61.28] — 2026-07-24
20
+
21
+ ### Added
22
+
23
+ - **shared:** Add Microsoft Teams + Google Chat to the comms catalog (coming soon)
24
+
25
+ ### CI
26
+
27
+ - **cli:** Run macOS/Windows only on main + nightly, not every PR
28
+
7
29
  ## [2.61.27] — 2026-07-24
8
30
 
9
31
  ### Added
package/dist/index.js CHANGED
@@ -617,6 +617,54 @@ var INTEGRATION_REGISTRY = {
617
617
  }
618
618
  }
619
619
  },
620
+ github: {
621
+ id: "github",
622
+ name: "GitHub",
623
+ icon: "github",
624
+ category: "version_control",
625
+ // LIVE. GitHub is the product's code substrate (codespaces + the PR
626
+ // Command Center), and it was historically the ONE connection outside this
627
+ // registry: its credential lives in a `ProviderToken` row rather than the
628
+ // integrations vault, so it was rendered by a hand-written special-case row
629
+ // and could not legally appear in a deploy's `integrationIds` (the manifest
630
+ // resolver rejects unknown ids — a recurring bug class).
631
+ //
632
+ // `kind: 'connection'` closes that gap without re-plumbing OAuth: the entry
633
+ // makes GitHub a first-class, categorised catalog row whose credential the
634
+ // backend resolves from the SAME `ProviderToken` it always used, while the
635
+ // connect/disconnect flow stays owned by the codespaces rail (the clients
636
+ // route those two actions there). ⚠️ It is a REAL connection with a REAL
637
+ // disconnect — do NOT treat it like `github_issues`, which merely derives
638
+ // from it and has no actions of its own.
639
+ enabled: true,
640
+ auth: { kind: "connection", connection: "github" },
641
+ // No MCP: a deployed box already has an authenticated `gh` on PATH.
642
+ delivery: {}
643
+ },
644
+ github_issues: {
645
+ id: "github_issues",
646
+ name: "GitHub Issues",
647
+ icon: "github_issues",
648
+ category: "tracker",
649
+ // LIVE, and the ONLY integration with NO link flow of its own: the
650
+ // credential is DERIVED from the GitHub connection the user already made
651
+ // for codespaces/PRs (`ProviderToken` provider='github-codespaces', which
652
+ // carries `repo` scope — enough for the whole Issues surface). So there is
653
+ // no OAuth app, no client id/secret, no Secret Manager entry and nothing
654
+ // to configuration-gate. The backend auto-provisions the catalog row the
655
+ // same way `ensureHouseAgentRow` does for the house agent, and resolves
656
+ // the token live per call rather than vaulting a copy (it can't go stale,
657
+ // and GitHub token refresh stays owned by exactly one place).
658
+ enabled: true,
659
+ auth: { kind: "derived", derivedFrom: "github" },
660
+ // NO MCP server on purpose. Every other tracker needs one to give the agent
661
+ // tools, but a deployed box ALREADY has an authenticated `gh` on PATH (the
662
+ // codespace bootstrap exports GH_TOKEN), so `gh issue list/create/comment`
663
+ // works with zero delivery. That also means nothing to pre-warm and no
664
+ // third-party MCP package to pin and keep alive. The Start-from-Work-Item
665
+ // side is served backend-side by the `TrackerProvider`, not by delivery.
666
+ delivery: {}
667
+ },
620
668
  slack: {
621
669
  id: "slack",
622
670
  name: "Slack",
@@ -6277,7 +6325,7 @@ function readAnonId() {
6277
6325
  }
6278
6326
  function superProperties() {
6279
6327
  return {
6280
- cliVersion: true ? "2.61.29" : "0.0.0-dev",
6328
+ cliVersion: true ? "2.61.31" : "0.0.0-dev",
6281
6329
  nodeVersion: process.version,
6282
6330
  platform: process.platform,
6283
6331
  arch: process.arch,
@@ -6458,7 +6506,7 @@ var os4 = __toESM(require("os"));
6458
6506
  // package.json
6459
6507
  var package_default = {
6460
6508
  name: "codeam-cli",
6461
- version: "2.61.29",
6509
+ version: "2.61.31",
6462
6510
  description: "Workflow-continuity bridge for AI coding agents. Wrap Claude Code or Codex in a PTY and supervise, approve, and redirect the session from any device \u2014 async. The terminal companion for CodeAgent Mobile.",
6463
6511
  type: "commonjs",
6464
6512
  main: "dist/index.js",
@@ -7629,7 +7677,7 @@ var CommandRelayService = class _CommandRelayService {
7629
7677
  // fresh + clear the "CLI update available" banner after a self-update
7630
7678
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
7631
7679
  // pair/reconnect). Older backends ignore the extra field.
7632
- ..."2.61.29" ? { ideVersion: "2.61.29" } : {}
7680
+ ..."2.61.31" ? { ideVersion: "2.61.31" } : {}
7633
7681
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
7634
7682
  }
7635
7683
  /**
@@ -18491,7 +18539,7 @@ async function autoUpgradeBeforeCriticalCommand() {
18491
18539
  if (process.env.NODE_ENV === "test") return;
18492
18540
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
18493
18541
  if (process.env.CI) return;
18494
- const current = true ? "2.61.29" : null;
18542
+ const current = true ? "2.61.31" : null;
18495
18543
  if (!current) return;
18496
18544
  const cache = readCache();
18497
18545
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -18508,7 +18556,7 @@ function checkForUpdates() {
18508
18556
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
18509
18557
  if (process.env.CI) return;
18510
18558
  if (!process.stdout.isTTY) return;
18511
- const current = true ? "2.61.29" : null;
18559
+ const current = true ? "2.61.31" : null;
18512
18560
  if (!current) return;
18513
18561
  const cache = readCache();
18514
18562
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -18528,7 +18576,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
18528
18576
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
18529
18577
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
18530
18578
  function currentCliVersion() {
18531
- return true ? "2.61.29" : null;
18579
+ return true ? "2.61.31" : null;
18532
18580
  }
18533
18581
  function runCmd(cmd, args2, timeoutMs) {
18534
18582
  return new Promise((resolve8) => {
@@ -38521,7 +38569,7 @@ function checkChokidar() {
38521
38569
  }
38522
38570
  async function doctor(args2 = []) {
38523
38571
  const json = args2.includes("--json");
38524
- const cliVersion = true ? "2.61.29" : "0.0.0-dev";
38572
+ const cliVersion = true ? "2.61.31" : "0.0.0-dev";
38525
38573
  const apiBase2 = resolveApiBaseUrl();
38526
38574
  const diagnosticId = (0, import_node_crypto13.randomUUID)();
38527
38575
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -39032,7 +39080,7 @@ async function mcpRun(args2) {
39032
39080
  // src/commands/version.ts
39033
39081
  var import_picocolors15 = __toESM(require("picocolors"));
39034
39082
  function version2() {
39035
- const v = true ? "2.61.29" : "unknown";
39083
+ const v = true ? "2.61.31" : "unknown";
39036
39084
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
39037
39085
  }
39038
39086
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.61.29",
3
+ "version": "2.61.31",
4
4
  "description": "Workflow-continuity bridge for AI coding agents. Wrap Claude Code or Codex in a PTY and supervise, approve, and redirect the session from any device — async. The terminal companion for CodeAgent Mobile.",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",