@warmhub/cli 0.113.1 → 0.114.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.
Files changed (2) hide show
  1. package/dist/wh.js +26 -26
  2. package/package.json +1 -1
package/dist/wh.js CHANGED
@@ -45251,7 +45251,7 @@ function createStreamingSubmissionHandle(input, deps) {
45251
45251
  // ../../packages/sdk-ts/package.json
45252
45252
  var package_default = {
45253
45253
  name: "@warmhub/sdk-ts",
45254
- version: "0.111.1",
45254
+ version: "0.112.0",
45255
45255
  private: false,
45256
45256
  type: "module",
45257
45257
  description: "The TypeScript SDK for WarmHub — create repos, commit and query data, and compound knowledge with your AI agents.",
@@ -62055,13 +62055,13 @@ Conductor Script below, one step per turn.
62055
62055
  auth flow.
62056
62056
 
62057
62057
  \`\`\`bash
62058
- claude mcp add --transport http warmhub https://api.warmhub.ai/mcp
62058
+ claude mcp add --transport http warmhub https://mcp.warmhub.ai/mcp
62059
62059
  \`\`\`
62060
62060
 
62061
62061
  Or add it to \`.mcp.json\` in the project:
62062
62062
 
62063
62063
  \`\`\`json
62064
- { "mcpServers": { "warmhub": { "transport": "http", "url": "https://api.warmhub.ai/mcp" } } }
62064
+ { "mcpServers": { "warmhub": { "transport": "http", "url": "https://mcp.warmhub.ai/mcp" } } }
62065
62065
  \`\`\`
62066
62066
 
62067
62067
  After adding, open \`/mcp\` and complete the sign-in when prompted.
@@ -62074,36 +62074,39 @@ var codex_default = `# Adapter: OpenAI Codex
62074
62074
  first message, or save it to \`AGENTS.md\` (Codex reads \`AGENTS.md\` natively). Then
62075
62075
  follow the Conductor Script below, one step per turn.
62076
62076
 
62077
- **Connecting WarmHub (Act 1 details):** Codex reads MCP servers from
62078
- \`~/.codex/config.toml\`. Codex talks to MCP servers over stdio, so bridge the
62079
- WarmHub HTTP endpoint with \`mcp-remote\`.
62080
-
62081
- Install a **pinned** bridge once (so a compromised future release can't be
62082
- auto-run with your token in its env), and keep the token in your shell rather
62083
- than on disk:
62077
+ **Connecting WarmHub (Act 1 details):** Codex speaks streamable HTTP to remote
62078
+ MCP servers directly, so point it at WarmHub and let it run the browser sign-in:
62084
62079
 
62085
62080
  \`\`\`bash
62086
- npm i -g mcp-remote@<pinned-version> # pin to the current stable release, not @latest
62087
- export WH_TOKEN="Bearer <your-pat>" # use a least-privilege, short-lived PAT
62081
+ codex mcp add warmhub --url https://mcp.warmhub.ai/mcp
62088
62082
  \`\`\`
62089
62083
 
62090
- Then point Codex at the pinned binary and reference the token by env var, so the
62091
- literal never sits at rest in the synced config:
62084
+ Codex detects WarmHub's OAuth support and opens the sign-in in your browser. That
62085
+ writes \`~/.codex/config.toml\`:
62092
62086
 
62093
62087
  \`\`\`toml
62094
62088
  [mcp_servers.warmhub]
62095
- command = "mcp-remote"
62096
- args = ["https://api.warmhub.ai/mcp", "--header", "Authorization:\${WH_TOKEN}", "--transport", "http-only"]
62089
+ url = "https://mcp.warmhub.ai/mcp"
62090
+ \`\`\`
62091
+
62092
+ Browser sign-in is the preferred path — it keeps no token at rest. Only if your
62093
+ setup blocks the OAuth flow, fall back to a personal access token referenced by
62094
+ env var, so the literal never sits in the synced config:
62095
+
62096
+ \`\`\`bash
62097
+ export WH_TOKEN="Bearer <your-pat>" # use a least-privilege, short-lived PAT
62098
+ codex mcp add warmhub --url https://mcp.warmhub.ai/mcp --bearer-token-env-var WH_TOKEN
62097
62099
  \`\`\`
62098
62100
 
62099
- Restart Codex after editing the config.
62101
+ Check the connection with \`codex mcp list\`; restart Codex after editing the
62102
+ config by hand.
62100
62103
  `;
62101
62104
 
62102
62105
  // ../../packages/warmhub-cli/src/domains/onboard-adapters/cursor.md
62103
- var cursor_default = '# Adapter: Cursor\n\n**How to run this:** paste this whole document into the Cursor chat as your first\nmessage, or save it to `.cursorrules` (or `.cursor/rules/`) so Cursor loads it\nautomatically. Then follow the Conductor Script below, one step per turn.\n\n**Connecting WarmHub (Act 1 details):** Cursor reads MCP servers from\n`.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global). Add WarmHub as an\nHTTP server:\n\n```json\n{ "mcpServers": { "warmhub": { "url": "https://api.warmhub.ai/mcp" } } }\n```\n\nOpen Cursor Settings → MCP and complete the sign-in when prompted — browser\nsign-in is the preferred path. Only if your setup blocks remote connectors, pass\na personal access token via a header instead. Put it in your **global**\n`~/.cursor/mcp.json`, not a project-local `.cursor/mcp.json` (which is easy to\ncommit by accident), and never commit a file holding a live token:\n\n```json\n{ "mcpServers": { "warmhub": { "url": "https://api.warmhub.ai/mcp", "headers": { "Authorization": "Bearer <your-pat>" } } } }\n```\n';
62106
+ var cursor_default = '# Adapter: Cursor\n\n**How to run this:** paste this whole document into the Cursor chat as your first\nmessage, or save it to `.cursorrules` (or `.cursor/rules/`) so Cursor loads it\nautomatically. Then follow the Conductor Script below, one step per turn.\n\n**Connecting WarmHub (Act 1 details):** Cursor reads MCP servers from\n`.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global). Add WarmHub as an\nHTTP server:\n\n```json\n{ "mcpServers": { "warmhub": { "url": "https://mcp.warmhub.ai/mcp" } } }\n```\n\nOpen Cursor Settings → MCP and complete the sign-in when prompted — browser\nsign-in is the preferred path. Only if your setup blocks remote connectors, pass\na personal access token via a header instead. Put it in your **global**\n`~/.cursor/mcp.json`, not a project-local `.cursor/mcp.json` (which is easy to\ncommit by accident), and never commit a file holding a live token:\n\n```json\n{ "mcpServers": { "warmhub": { "url": "https://mcp.warmhub.ai/mcp", "headers": { "Authorization": "Bearer <your-pat>" } } } }\n```\n';
62104
62107
 
62105
62108
  // ../../packages/warmhub-cli/src/domains/onboard-adapters/gemini.md
62106
- var gemini_default = '# Adapter: Gemini CLI\n\n**How to run this:** paste this whole document into your Gemini CLI session as\nyour first message, or save it to `GEMINI.md` in the project so Gemini loads it\nautomatically. Then follow the Conductor Script below, one step per turn.\n\n**Connecting WarmHub (Act 1 details):** Gemini CLI reads MCP servers from its\n`settings.json` (`~/.gemini/settings.json` or the project `.gemini/settings.json`).\nAdd WarmHub as an HTTP server:\n\n```json\n{ "mcpServers": { "warmhub": { "httpUrl": "https://api.warmhub.ai/mcp" } } }\n```\n\nWarmHub authenticates with a bearer token — the browser OAuth flow is the\npreferred path. Only if your Gemini version cannot complete it, pass a personal\naccess token explicitly. Put it in your **global** `~/.gemini/settings.json`, not\nthe project `.gemini/settings.json` (which is easy to commit by accident), and\nnever commit a file holding a live token:\n\n```json\n{ "mcpServers": { "warmhub": { "httpUrl": "https://api.warmhub.ai/mcp", "headers": { "Authorization": "Bearer <your-pat>" } } } }\n```\n\nRestart Gemini CLI after editing settings.\n';
62109
+ var gemini_default = '# Adapter: Gemini CLI\n\n**How to run this:** paste this whole document into your Gemini CLI session as\nyour first message, or save it to `GEMINI.md` in the project so Gemini loads it\nautomatically. Then follow the Conductor Script below, one step per turn.\n\n**Connecting WarmHub (Act 1 details):** Gemini CLI reads MCP servers from its\n`settings.json` (`~/.gemini/settings.json` or the project `.gemini/settings.json`).\nAdd WarmHub as an HTTP server:\n\n```json\n{ "mcpServers": { "warmhub": { "httpUrl": "https://mcp.warmhub.ai/mcp" } } }\n```\n\nWarmHub authenticates with a bearer token — the browser OAuth flow is the\npreferred path. Only if your Gemini version cannot complete it, pass a personal\naccess token explicitly. Put it in your **global** `~/.gemini/settings.json`, not\nthe project `.gemini/settings.json` (which is easy to commit by accident), and\nnever commit a file holding a live token:\n\n```json\n{ "mcpServers": { "warmhub": { "httpUrl": "https://mcp.warmhub.ai/mcp", "headers": { "Authorization": "Bearer <your-pat>" } } } }\n```\n\nRestart Gemini CLI after editing settings.\n';
62107
62110
 
62108
62111
  // ../../packages/warmhub-cli/src/domains/onboard-content.md
62109
62112
  var onboard_content_default = `# WarmHub Onboarding — Conductor Script
@@ -66148,9 +66151,6 @@ var handleUpdate4 = async (ctx, { flags, args }) => {
66148
66151
  const scope = resolveSubScope(ctx, flags, example);
66149
66152
  const scopeArg = scope.repoName ? `--repo ${scopeLabel(scope)}` : `--org ${scope.orgName}`;
66150
66153
  const existing = await ctx.client.subscription.get({ ...scope, name });
66151
- if (existing.kind !== "webhook") {
66152
- throw new CliError(2 /* UserInput */, "USER_INPUT", `Subscription "${name}" has kind "${existing.kind}", which is no longer supported and cannot be updated`, undefined, `Delete it with: wh sub delete ${name} ${scopeArg}`);
66153
- }
66154
66154
  if (flags.kind && flags.kind !== existing.kind) {
66155
66155
  usageError(usage, example);
66156
66156
  }
@@ -66282,7 +66282,7 @@ function renderSubscriptionLog(out, statusOut, c, subscriptionName, result) {
66282
66282
  const displayStatus = item.runStatus ?? item.status;
66283
66283
  const status = `${statusColor(c, displayStatus)}${displayStatus}${c.reset}`;
66284
66284
  const time3 = formatTime(item.createdAt, now);
66285
- const sourceLabel = (item.matchedOperationIndexes?.length ?? 0) > 0 ? `${c.cyan}write${c.reset}` : `${c.magenta}cron tick${c.reset}`;
66285
+ const sourceLabel = (item.matchedOperationIndexes?.length ?? 0) > 0 ? `${c.cyan}write${c.reset}` : `${c.magenta}event${c.reset}`;
66286
66286
  const matched = (item.matchedOperationIndexes ?? []).join(",") || "-";
66287
66287
  const attemptSuffix = item.attemptCount != null && item.maxAttempts != null ? ` ${c.dim}${item.attemptCount}/${item.maxAttempts}${c.reset}` : "";
66288
66288
  const idSuffix = item.runId ? ` ${c.dim}run ${item.runId}${c.reset}` : item.deliveryId ? ` ${c.dim}delivery ${item.deliveryId}${c.reset}` : "";
@@ -69324,7 +69324,7 @@ function resolveLogLevel(flagLevel, env) {
69324
69324
  // package.json
69325
69325
  var package_default3 = {
69326
69326
  name: "@warmhub/cli",
69327
- version: "0.113.1",
69327
+ version: "0.114.0",
69328
69328
  private: false,
69329
69329
  type: "module",
69330
69330
  description: "The wh CLI for WarmHub — create repos, commit and query data, and compound knowledge with your AI agents.",
@@ -69949,5 +69949,5 @@ process.exitCode = interceptedExitCode === undefined ? await runPreparedCli(laun
69949
69949
  version: package_default3.version
69950
69950
  }) : interceptedExitCode;
69951
69951
 
69952
- //# debugId=95C800CEA350D43F64756E2164756E21
69953
- //# warmhub-cli-build-info {"cliVersion":"0.113.1","sdkVersion":"0.111.1"}
69952
+ //# debugId=950709705720CAFC64756E2164756E21
69953
+ //# warmhub-cli-build-info {"cliVersion":"0.114.0","sdkVersion":"0.112.0"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warmhub/cli",
3
- "version": "0.113.1",
3
+ "version": "0.114.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "The wh CLI for WarmHub — create repos, commit and query data, and compound knowledge with your AI agents.",