@wibeco/bridge 0.2.12 → 0.2.14

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.
@@ -19,7 +19,7 @@ import {
19
19
  startPresenceSession,
20
20
  stopPresenceSession,
21
21
  updatePresenceSession
22
- } from "./chunk-JXH47J5I.js";
22
+ } from "./chunk-K7TK7FHF.js";
23
23
 
24
24
  // src/cli/commands.ts
25
25
  import { access, cp, mkdir, readFile, writeFile } from "fs/promises";
@@ -569,7 +569,15 @@ async function installNativeConfigs(adapter, source, cwd, appUrl, projectId) {
569
569
  const installed = [];
570
570
  for (const [sourceName, destinationName] of files) {
571
571
  const destinationPath = join(cwd, destinationName);
572
- if (await exists(destinationPath)) continue;
572
+ const destinationExists = await exists(destinationPath);
573
+ const isCursorActivityRule = adapter === "cursor" && destinationName === ".cursor/rules/wibe-activity.mdc";
574
+ if (destinationExists) {
575
+ if (!isCursorActivityRule) continue;
576
+ const existingRule = await readFile(destinationPath, "utf8");
577
+ if (!existingRule.includes("# Wibe activity") || !existingRule.includes("wibe_share_progress")) {
578
+ continue;
579
+ }
580
+ }
573
581
  const template = await readFile(join(source, sourceName), "utf8");
574
582
  await mkdir(resolve(destinationPath, ".."), { recursive: true });
575
583
  await writeFile(
@@ -435,6 +435,7 @@ function toEnvelope(event, options) {
435
435
  hook_kind: event.kind
436
436
  } : event.kind.startsWith("git.") ? {
437
437
  title: event.metadata.title,
438
+ commit_title: event.metadata.commit_title,
438
439
  previous_branch: event.metadata.previous_branch,
439
440
  branch: event.repo?.branch,
440
441
  previous_commit: event.metadata.previous_commit,
@@ -1140,6 +1141,7 @@ async function observeRepositoryTransitions(source, sessionId, current) {
1140
1141
  kind,
1141
1142
  metadata: {
1142
1143
  title: kind === "git.rebase_completed" ? "Rebased" : kind === "git.merge_completed" ? "Merged" : current.commitTitle || "Committed",
1144
+ ...current.commitTitle ? { commit_title: current.commitTitle } : {},
1143
1145
  previous_commit: previous.commit,
1144
1146
  commit_sha: current.commit,
1145
1147
  paths_known: change.pathsKnown,
@@ -1167,6 +1169,7 @@ async function observeRepositoryTransitions(source, sessionId, current) {
1167
1169
  kind: "git.push_completed",
1168
1170
  metadata: {
1169
1171
  title: `Pushed to ${current.branch ?? "remote"}`,
1172
+ ...current.commitTitle ? { commit_title: current.commitTitle } : {},
1170
1173
  commit_sha: current.commit,
1171
1174
  paths_known: change.pathsKnown,
1172
1175
  paths: change.paths,
package/dist/cli.js CHANGED
@@ -6,10 +6,10 @@ import {
6
6
  setupCommand,
7
7
  shareProgressCommand,
8
8
  statusCommand
9
- } from "./chunk-7AU52DBJ.js";
9
+ } from "./chunk-7LWUGOKM.js";
10
10
  import {
11
11
  runPresenceHeartbeat
12
- } from "./chunk-JXH47J5I.js";
12
+ } from "./chunk-K7TK7FHF.js";
13
13
 
14
14
  // src/cli.ts
15
15
  var HELP = `wibe-bridge <command>
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  emitCommand
4
- } from "./chunk-7AU52DBJ.js";
5
- import "./chunk-JXH47J5I.js";
4
+ } from "./chunk-7LWUGOKM.js";
5
+ import "./chunk-K7TK7FHF.js";
6
6
 
7
7
  // src/codex-hook.ts
8
8
  async function main() {
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@ import {
33
33
  startPresenceSession,
34
34
  stopPresenceSession,
35
35
  updatePresenceSession
36
- } from "./chunk-JXH47J5I.js";
36
+ } from "./chunk-K7TK7FHF.js";
37
37
  export {
38
38
  JsonFileOfflineQueue,
39
39
  MemoryOfflineQueue,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wibeco/bridge",
3
- "version": "0.2.12",
3
+ "version": "0.2.14",
4
4
  "description": "Privacy-first live activity bridge for Cursor, Claude Code, and Codex.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,7 +28,7 @@
28
28
  ],
29
29
  "scripts": {
30
30
  "build": "node scripts/copy-templates.mjs && tsup src/index.ts src/cli.ts src/codex-hook.ts --format esm --target node20 --dts --clean --tsconfig tsconfig.json",
31
- "prepack": "npm run build",
31
+ "prepack": "npm run build 1>&2",
32
32
  "test": "vitest run test --config vitest.config.ts"
33
33
  },
34
34
  "dependencies": {
@@ -11,6 +11,7 @@ alwaysApply: true
11
11
  - Write one self-contained paragraph of 20–55 words in past tense. Lead with what now works, then explain the user or team impact and meaningful validation. Mention important limitations when present.
12
12
  - Describe the outcome, not the agent’s process. Never include first-person narration, prompts, source code, secrets, raw commands, routine tool calls, filenames, line counts, praise, hype, or speculation; Wibe displays code and file changes separately.
13
13
  - Bias frontend outcomes toward visual evidence without asking for per-task approval. For UI components, pages, styling, responsive behavior, interactions, and visual fixes, attach one screenshot when the app or preview is already runnable. Prefer a screenshot already made during visual QA; otherwise capture the clearest final state.
14
+ - Frame screenshots around the feature, not the whole application. Use the browser snapshot to identify the smallest element that contains the changed component and the context needed to understand it, then call `browser_take_screenshot` with that element’s `ref` and a descriptive `element` name. Include the trigger with an open menu, popover, or dialog when practical. Use viewport or full-page screenshots only for page-wide work, and reject captures dominated by blank space.
14
15
  - Skip screenshots for backend, infrastructure, documentation, refactors, and non-visual frontend logic. Never launch or repair an app solely for Wibe, and omit the image when navigation needs manual authentication, the state contains sensitive data, visual validation is blocked, or the project has visual updates disabled.
15
16
  - When a screenshot is available, do not call `wibe_share_progress`. Instead run `npx --yes --package @wibeco/bridge@latest wibe share-progress --summary "<summary>" --phase <shipped|blocked> --screenshot "<path>"` so the local bridge uploads the image and publishes the outcome together.
16
17
  - If the Wibe MCP tool is unavailable, run `npx --yes --package @wibeco/bridge@latest wibe share-progress --summary "<summary>" --phase <shipped|blocked>`.