@ctliz/agent-intercom-claude 0.14.0 → 0.14.1

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-intercom",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "description": "Claude Code MCP plugin and wakeable worker for local Pi/Codex/Claude intercom messaging.",
5
5
  "author": {
6
6
  "name": "ctliz",
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.14.1 - 2026-09-30
6
+
7
+ - Expose the existing MCP owner's `runtimeReady` promise to companion Grok/AGY launchers so native identity and title updates use `syncSession` without opening a competing broker connection.
8
+
5
9
  ## 0.14.0 - 2026-09-30
6
10
 
7
11
  - Register ordinary MCP launches before the first prompt/tool call; packaged SessionStart/SessionEnd hooks synchronize native conversation identity without creating a competing broker connection.
package/README.md CHANGED
@@ -185,18 +185,16 @@ With `--transport mcp`, `cci` does this automatically for each normal headless w
185
185
 
186
186
  The `claude-intercom-mcp` executable is a standard stdio MCP server, but Grok Build and AGY should normally use the dedicated `@ctliz/agent-intercom-grok` and `@ctliz/agent-intercom-agy` packages. Those packages install `agent-intercom-grok-mcp` and `agent-intercom-agy-mcp`, depend on this package, and load its runtime internally. A separate global `claude-intercom-mcp` installation is not required. For a source-only checkout, configure `node` with the absolute path to `dist/claude-server.mjs`. Node 22.19+ is required.
187
187
 
188
- Install the matching host package globally, then install its GitHub plugin at the matching release tag.
188
+ Install the matching host package globally, then install its GitHub plugin at the matching release tag. Companion launchers may await the exported `runtimeReady` promise from `dist/claude-server.mjs` and call `syncSession({ ...runtime.getIdentity(), name })` on that same runtime. This entry starts MCP stdio; do not create a second broker client to synchronize a host title.
189
189
 
190
190
  Use `AGENT_INTERCOM_SESSION_ID` and `AGENT_INTERCOM_SESSION_NAME` for a host-neutral identity; `CLAUDE_INTERCOM_SESSION_ID` and `CLAUDE_INTERCOM_NAME` remain higher-priority compatibility aliases. Do not share a fixed session ID between concurrent host sessions.
191
191
 
192
192
  A plain MCP host is connected only while its MCP process is alive. Incoming Intercom messages are durable and appear through `intercom_pending`, but this server cannot itself inject a new prompt into Grok or AGY. Use `intercom_send` plus `intercom_pending` for manual-polling workflows; a host-specific relay is required for wake-on-message.
193
193
 
194
- For Grok Build, register the server and use a unique static ID for an individual long-lived probe or worker:
194
+ For Grok Build, register the dedicated launcher without a fixed identity. It uses Grok's native `GROK_SESSION_ID` when available and synchronizes the exact session's persisted title:
195
195
 
196
196
  ```bash
197
197
  grok mcp add agent-intercom \
198
- -e AGENT_INTERCOM_SESSION_ID=grok-probe-01 \
199
- -e AGENT_INTERCOM_SESSION_NAME=grok-probe \
200
198
  -e CLAUDE_INTERCOM_MODEL=grok-build \
201
199
  -- agent-intercom-grok-mcp
202
200
  ```
@@ -209,8 +207,6 @@ For AGY, add the equivalent entry to `~/.gemini/config/mcp_config.json`:
209
207
  "agent-intercom": {
210
208
  "command": "agent-intercom-agy-mcp",
211
209
  "env": {
212
- "AGENT_INTERCOM_SESSION_ID": "agy-probe-01",
213
- "AGENT_INTERCOM_SESSION_NAME": "agy-probe",
214
210
  "CLAUDE_INTERCOM_MODEL": "agy"
215
211
  }
216
212
  }
@@ -218,7 +214,7 @@ For AGY, add the equivalent entry to `~/.gemini/config/mcp_config.json`:
218
214
  }
219
215
  ```
220
216
 
221
- Both hosts must use the same `AGENT_INTERCOM_SCOPE_ID` as their intended peers, or leave it unset for the default local scope. Call `intercom_whoami` once after startup, then use `intercom_list`, `intercom_send`, and `intercom_pending` to verify delivery.
217
+ Both hosts must use the same `AGENT_INTERCOM_SCOPE_ID` as their intended peers, or leave it unset for the default local scope. Their persistent MCP server registers eagerly, without a first prompt or tool call. AGY's optional native metadata publisher is described in its package README. Use `intercom_whoami`, `intercom_list`, `intercom_send`, and `intercom_pending` to verify identity and delivery.
222
218
 
223
219
  Optional identity variables can be attached at registration time:
224
220
 
package/claude/server.ts CHANGED
@@ -14,7 +14,8 @@ const report = (error: unknown) => {
14
14
  process.stderr.write(`claude-intercom: ${error instanceof Error ? error.message : String(error)}\n`);
15
15
  };
16
16
 
17
- const runtimeReady = (async () => {
17
+ // Companion MCP launchers await this same owner to synchronize native titles.
18
+ export const runtimeReady = (async () => {
18
19
  const host = findClaudeHost();
19
20
  const reader = host ? new ClaudeSessionReader(claudeSessionMetadataPath(host), host) : undefined;
20
21
  const metadata = reader ? await waitForClaudeSession(reader) : undefined;
@@ -3279,3 +3279,6 @@ rl.on("close", shutdown);
3279
3279
  process.on("SIGINT", shutdown);
3280
3280
  process.on("SIGTERM", shutdown);
3281
3281
  process.on("disconnect", shutdown);
3282
+ export {
3283
+ runtimeReady
3284
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ctliz/agent-intercom-claude",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "description": "Claude Code MCP plugin and wakeable worker for local messaging with Pi, Codex, OpenCode, Grok Build, and AGY agents.",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "type": "module",