codeam-cli 2.60.65 → 2.60.66
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 +6 -0
- package/dist/index.js +40 -8
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ 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.60.65] — 2026-07-15
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **cli:** At-least-once command delivery — dedupe + ack (bulletproof first-prompt loss)
|
|
12
|
+
|
|
7
13
|
## [2.60.64] — 2026-07-15
|
|
8
14
|
|
|
9
15
|
### Added
|
package/dist/index.js
CHANGED
|
@@ -663,6 +663,38 @@ var INTEGRATION_REGISTRY = {
|
|
|
663
663
|
}
|
|
664
664
|
}
|
|
665
665
|
}
|
|
666
|
+
},
|
|
667
|
+
notion: {
|
|
668
|
+
id: "notion",
|
|
669
|
+
name: "Notion",
|
|
670
|
+
icon: "notion",
|
|
671
|
+
// LIVE — the Notion public OAuth integration is registered and
|
|
672
|
+
// NOTION_OAUTH_CLIENT_ID/SECRET/REDIRECT_URI are in Secret Manager
|
|
673
|
+
// (prod+dev). The backend NotionOAuthProvider is config-gated (503 if env
|
|
674
|
+
// unset) so this is safe even mid-rollout before the secrets mount.
|
|
675
|
+
enabled: true,
|
|
676
|
+
auth: {
|
|
677
|
+
kind: "oauth_redirect",
|
|
678
|
+
// Notion does NOT use per-request OAuth scopes — access is governed by
|
|
679
|
+
// the integration's configured CAPABILITIES (read/update/insert content
|
|
680
|
+
// + read user info), set once on the Notion integration, not passed in
|
|
681
|
+
// the authorize URL. So there is no `scope` param to request here.
|
|
682
|
+
scopes: []
|
|
683
|
+
},
|
|
684
|
+
delivery: {
|
|
685
|
+
mcp: {
|
|
686
|
+
// Notion's OFFICIAL stdio MCP server (Node). BYO-token headless: the
|
|
687
|
+
// OAuth access token is fed via NOTION_TOKEN and the server sends it as
|
|
688
|
+
// `Authorization: Bearer` + `Notion-Version: 2022-06-28` (env only,
|
|
689
|
+
// never argv). No discriminator — the token alone authenticates its
|
|
690
|
+
// workspace. Version PINNED; bump only after re-verifying headless.
|
|
691
|
+
command: "npx",
|
|
692
|
+
args: ["-y", "@notionhq/notion-mcp-server@2.4.1"],
|
|
693
|
+
envMapping: {
|
|
694
|
+
NOTION_TOKEN: "accessToken"
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
}
|
|
666
698
|
}
|
|
667
699
|
};
|
|
668
700
|
function getIntegration(id) {
|
|
@@ -5891,7 +5923,7 @@ function readAnonId() {
|
|
|
5891
5923
|
}
|
|
5892
5924
|
function superProperties() {
|
|
5893
5925
|
return {
|
|
5894
|
-
cliVersion: true ? "2.60.
|
|
5926
|
+
cliVersion: true ? "2.60.66" : "0.0.0-dev",
|
|
5895
5927
|
nodeVersion: process.version,
|
|
5896
5928
|
platform: process.platform,
|
|
5897
5929
|
arch: process.arch,
|
|
@@ -6072,7 +6104,7 @@ var os4 = __toESM(require("os"));
|
|
|
6072
6104
|
// package.json
|
|
6073
6105
|
var package_default = {
|
|
6074
6106
|
name: "codeam-cli",
|
|
6075
|
-
version: "2.60.
|
|
6107
|
+
version: "2.60.66",
|
|
6076
6108
|
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.",
|
|
6077
6109
|
type: "commonjs",
|
|
6078
6110
|
main: "dist/index.js",
|
|
@@ -7215,7 +7247,7 @@ var CommandRelayService = class _CommandRelayService {
|
|
|
7215
7247
|
// fresh + clear the "CLI update available" banner after a self-update
|
|
7216
7248
|
// (a codespace that reinstalls @latest reconnects via heartbeat, not
|
|
7217
7249
|
// pair/reconnect). Older backends ignore the extra field.
|
|
7218
|
-
..."2.60.
|
|
7250
|
+
..."2.60.66" ? { ideVersion: "2.60.66" } : {}
|
|
7219
7251
|
}).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
|
|
7220
7252
|
}
|
|
7221
7253
|
/**
|
|
@@ -17792,7 +17824,7 @@ async function autoUpgradeBeforeCriticalCommand() {
|
|
|
17792
17824
|
if (process.env.NODE_ENV === "test") return;
|
|
17793
17825
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17794
17826
|
if (process.env.CI) return;
|
|
17795
|
-
const current = true ? "2.60.
|
|
17827
|
+
const current = true ? "2.60.66" : null;
|
|
17796
17828
|
if (!current) return;
|
|
17797
17829
|
const cache = readCache();
|
|
17798
17830
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -17809,7 +17841,7 @@ function checkForUpdates() {
|
|
|
17809
17841
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17810
17842
|
if (process.env.CI) return;
|
|
17811
17843
|
if (!process.stdout.isTTY) return;
|
|
17812
|
-
const current = true ? "2.60.
|
|
17844
|
+
const current = true ? "2.60.66" : null;
|
|
17813
17845
|
if (!current) return;
|
|
17814
17846
|
const cache = readCache();
|
|
17815
17847
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -17829,7 +17861,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
|
|
|
17829
17861
|
var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
|
|
17830
17862
|
var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
|
|
17831
17863
|
function currentCliVersion() {
|
|
17832
|
-
return true ? "2.60.
|
|
17864
|
+
return true ? "2.60.66" : null;
|
|
17833
17865
|
}
|
|
17834
17866
|
function runCmd(cmd, args2, timeoutMs) {
|
|
17835
17867
|
return new Promise((resolve7) => {
|
|
@@ -35258,7 +35290,7 @@ function checkChokidar() {
|
|
|
35258
35290
|
}
|
|
35259
35291
|
async function doctor(args2 = []) {
|
|
35260
35292
|
const json = args2.includes("--json");
|
|
35261
|
-
const cliVersion = true ? "2.60.
|
|
35293
|
+
const cliVersion = true ? "2.60.66" : "0.0.0-dev";
|
|
35262
35294
|
const apiBase2 = resolveApiBaseUrl();
|
|
35263
35295
|
const diagnosticId = (0, import_node_crypto12.randomUUID)();
|
|
35264
35296
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -35735,7 +35767,7 @@ async function mcpRun(args2) {
|
|
|
35735
35767
|
// src/commands/version.ts
|
|
35736
35768
|
var import_picocolors15 = __toESM(require("picocolors"));
|
|
35737
35769
|
function version2() {
|
|
35738
|
-
const v = true ? "2.60.
|
|
35770
|
+
const v = true ? "2.60.66" : "unknown";
|
|
35739
35771
|
console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
|
|
35740
35772
|
}
|
|
35741
35773
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.60.
|
|
3
|
+
"version": "2.60.66",
|
|
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",
|