Packaging script fix and release documentation #6
7 changed files with 58 additions and 14 deletions
|
|
@ -55,9 +55,9 @@ It combines:
|
|||
|
||||
- Bundled `openpets.virtual-pet` plugin tracks hunger, energy, happiness, and affection
|
||||
- Stats decay slowly while the app is running and recover when you feed, play, pet, or nap
|
||||
- Status HUD appears only when summoned, so it never blocks the pet or chat
|
||||
- Triple-click the pet to show the status HUD for 6 seconds
|
||||
- Actions (feed, play, pet, nap) briefly display the HUD after updating stats
|
||||
- Status values live in the right-click pet context menu (Virtual Pet ▸ Mood, Food, Energy, Play, Bond, Level); no on-pet HUD overlay
|
||||
- Single-click the pet to pet it (increases bond and happiness)
|
||||
- Feed, play, and nap actions are also available from the pet context menu
|
||||
- Automatic nudges when a stat gets low
|
||||
|
||||
## Floating Chat Surface
|
||||
|
|
|
|||
|
|
@ -101,9 +101,9 @@ This document lists only the features, UI surfaces, and capabilities added by ou
|
|||
## Virtual Pet Status HUD
|
||||
|
||||
- Bundled `openpets.virtual-pet` plugin tracks hunger, energy, happiness, and affection.
|
||||
- Status HUD is hidden by default and never blocks pet clicks or double-click chat.
|
||||
- Triple-click the pet to show the HUD for 6 seconds.
|
||||
- Feed / play / pet / nap commands briefly show the HUD after updating stats.
|
||||
- Status values are shown as read-only labels inside the right-click pet context menu (Virtual Pet ▸ Mood, Food, Energy, Play, Bond, Level), so they never block pet clicks or double-click chat.
|
||||
- Single-click the pet to pet it (increases bond and happiness).
|
||||
- Feed / play / pet / nap commands live in the pet context menu.
|
||||
- Low-stat nudges continue to work in the background.
|
||||
|
||||
## Build & Packaging
|
||||
|
|
@ -111,3 +111,8 @@ This document lists only the features, UI surfaces, and capabilities added by ou
|
|||
- Sharp Windows native binary packaging resolved via `asarUnpack` + post-build copy.
|
||||
- `prompt-window-preload.cjs` added for the floating chat renderer bridge.
|
||||
- Additional preload scripts and assets packaged for the new surfaces.
|
||||
|
||||
## Bug Fixes
|
||||
|
||||
- Floating-chat memory capture/retrieval is now more resilient: capture is logged and errors are caught instead of breaking the send path.
|
||||
- Long speech-bubble text no longer clips; bubble bodies scroll when content exceeds the bubble max-height.
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ This PR adds a complete in-app chat layer, a durable local memory system, intera
|
|||
- Dynamic window sizing so larger scales are never clipped.
|
||||
- Multi-screen positioning (`clampToNearestWorkArea`).
|
||||
- Removed the on-pet drag-to-resize handle in favor of the Settings slider.
|
||||
- Virtual-pet status HUD (`openpets.virtual-pet`) now appears only on triple-click and auto-hides, so it does not block double-click chat.
|
||||
- Virtual-pet status (`openpets.virtual-pet`) moved from an on-pet triple-click HUD overlay to the right-click pet context menu, so it never blocks chat clicks. Single-clicking the pet triggers the `pet()` care action.
|
||||
|
||||
### Settings additions
|
||||
|
||||
|
|
@ -64,6 +64,11 @@ This PR adds a complete in-app chat layer, a durable local memory system, intera
|
|||
- Pet character / system prompt field.
|
||||
- Memory viewer with search/edit/delete.
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- Memory capture/retrieval is now more robust in floating chat: capture is logged and errors are caught instead of breaking the send path.
|
||||
- Speech bubble text no longer clips for long messages; bubble bodies scroll when content exceeds the bubble max-height.
|
||||
|
||||
### Updated files
|
||||
|
||||
- `README.md` — added floating chat, memory, and vanilla chat tool bullets.
|
||||
|
|
@ -71,7 +76,7 @@ This PR adds a complete in-app chat layer, a durable local memory system, intera
|
|||
- `docs/pr-chat-memory-mcp-toolkit.md` — implementation explainer.
|
||||
- `docs/phases/phase-14-pet-scale-setting.md` — expanded with new sizes and drag resize.
|
||||
- `apps/desktop/src/pet-window.ts` — removed scale handle; IPC handlers; dynamic window sizing.
|
||||
- `apps/desktop/pet-preload.cjs` — triple-click detection (`pet:tripleClicked`) and double-click chat handling.
|
||||
- `apps/desktop/pet-preload.cjs` — single/double-click detection; single-click emits `pet:clicked` for virtual-pet petting, double-click opens floating chat.
|
||||
- `apps/desktop/src/app-state-core.ts` — expanded scale range.
|
||||
- `apps/desktop/src/renderer/src/main.tsx` — Settings/Integrations UI additions.
|
||||
- `apps/desktop/src/windows.ts` — memory IPC, toolkit IPC, preference handling.
|
||||
|
|
@ -109,7 +114,7 @@ All existing tests pass. Additional manual verification:
|
|||
4. Say "remember that my favorite color is blue" — memory should be captured.
|
||||
5. Open Settings > Memory — the memory should be searchable, editable, and deletable.
|
||||
6. Open Integrations > MCP Toolkit — activate Filesystem + Fetch/Web, then chat "list my home directory files" — tools should run.
|
||||
7. Drag the pet's bottom-right handle — scale should change smoothly.
|
||||
7. Right-click the pet → choose Virtual Pet ▸ Feed/Play/Pet/Nap; stats update and the context menu reflects the new values.
|
||||
8. Change display — pet should stay on the display it is currently near.
|
||||
|
||||
## Backwards compatibility
|
||||
|
|
|
|||
|
|
@ -78,7 +78,8 @@ OpenPets is a tray-first desktop companion app. A pet appears on your desktop, k
|
|||
- **Developer integrations** - advanced setup for Claude Code, OpenCode, Cursor, Pi, and MCP-capable tools when you want coding activity to drive the pet.
|
||||
- **MCP ready** - any MCP-capable agent can send short safe speech bubbles and reactions through the OpenPets MCP server.
|
||||
- **Floating chat** - double-click the pet to open an always-on-top chat window with BYOK OpenAPI-compatible providers, conversation history, and optional MCP tool activation.
|
||||
- **Virtual-pet status** - triple-click the pet to briefly show hunger, energy, happiness, and bond bars; the HUD auto-hides so it never interferes with chat.
|
||||
- **Virtual-pet status** - right-click the pet and open the Virtual Pet submenu to see hunger, energy, happiness, bond, mood, and level. No on-pet HUD overlay, so chat clicks stay unobstructed.
|
||||
- **Single-click petting** - click the pet once to pet it; the virtual-pet bond and happiness increase.
|
||||
- **Local memory** - the pet remembers facts, preferences, and notes across sessions.
|
||||
- **Pet-pack friendly** - loads installed animated pet packs and can route a selected agent/project to its own pet window.
|
||||
- **Privacy-conscious by design** - automatic hook speech is static and local; prompts, code, logs, command output, URLs, paths, and secrets are not shown in bubbles.
|
||||
|
|
|
|||
|
|
@ -40,8 +40,8 @@ Activate MCP tools directly inside the floating chat window for autonomous task
|
|||
## New: Virtual Pet Status
|
||||
|
||||
- Bundled virtual-pet plugin tracks hunger, energy, happiness, and affection.
|
||||
- Triple-click the pet to briefly show the status HUD; it auto-hides so double-click chat stays unobstructed.
|
||||
- Feed, play, pet, and nap commands are available from the pet context menu and briefly display the HUD.
|
||||
- Status values live in the right-click pet context menu (Virtual Pet ▸ Mood, Food, Energy, Play, Bond, Level) instead of an on-pet HUD overlay, so double-click chat stays unobstructed.
|
||||
- Feed, play, pet, and nap commands are available from the pet context menu.
|
||||
|
||||
## New: Pet Character & Base Instructions
|
||||
|
||||
|
|
@ -56,8 +56,9 @@ The pet now stays on the display it is currently near, rather than always snappi
|
|||
|
||||
No additional setup is required beyond the normal OpenPets desktop app. The new surfaces appear automatically:
|
||||
|
||||
- Single-click the pet → pet the virtual pet.
|
||||
- Double-click the pet → floating chat.
|
||||
- Triple-click the pet → virtual-pet status HUD.
|
||||
- Right-click the pet → Virtual Pet status and care commands.
|
||||
- Settings → OpenAPI Chat for model/credential setup.
|
||||
- Settings → Memory for memory management.
|
||||
- Integrations → MCP Toolkit for tool activation.
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
"package": "pnpm build && node scripts/clean-package-output.cjs && electron-builder",
|
||||
"package:dir": "pnpm build && node scripts/clean-package-output.cjs && electron-builder --dir && node dist/check-packaging-contract.js --output",
|
||||
"test": "node scripts/run-tests.mjs",
|
||||
"build:deps": "cd ../.. && pnpm --filter './packages/*' build",
|
||||
"build:deps": "node scripts/build-deps.mjs",
|
||||
"test:build": "pnpm build:deps && tsc -p tsconfig.tests.json",
|
||||
"check": "pnpm typecheck && pnpm build && pnpm test",
|
||||
"typecheck": "pnpm build:deps && tsc --noEmit && tsc -p tsconfig.renderer.json --noEmit",
|
||||
|
|
|
|||
32
apps/desktop/scripts/build-deps.mjs
Normal file
32
apps/desktop/scripts/build-deps.mjs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/env node
|
||||
// Cross-platform workspace dependency build for the desktop app.
|
||||
// Replaces the shell-glob build:deps command so Windows packaging hosts
|
||||
// can build the exact same set of packages without relying on './packages/*'
|
||||
// glob quoting behavior.
|
||||
|
||||
import { execFileSync } from "node:child_process";
|
||||
import { dirname, join } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
const root = join(dirname(fileURLToPath(import.meta.url)), "..");
|
||||
|
||||
const filters = [
|
||||
"@open-pets/agent-events",
|
||||
"@open-pets/client",
|
||||
"@open-pets/claude",
|
||||
"@open-pets/cli",
|
||||
"@open-pets/cursor",
|
||||
"@open-pets/mcp",
|
||||
"@open-pets/opencode",
|
||||
"@open-pets/pet-format",
|
||||
"@open-pets/pi",
|
||||
"@open-pets/plugin-sdk",
|
||||
];
|
||||
|
||||
const args = [];
|
||||
for (const filter of filters) {
|
||||
args.push("--filter", filter);
|
||||
}
|
||||
args.push("build");
|
||||
|
||||
execFileSync("pnpm", args, { cwd: root, stdio: "inherit" });
|
||||
Loading…
Add table
Reference in a new issue