Skip to content

Commit f4dcdbf

Browse files
backnotpropclaude
andcommitted
Bump version to 0.4.10
- Update CLAUDE.md with new APIs and file structure - Remove unused helper functions (isAgentSwitchEnabled, isPlanSaveEnabled) - Sync all package versions to 0.4.10 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 710e18d commit f4dcdbf

7 files changed

Lines changed: 18 additions & 28 deletions

File tree

CLAUDE.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@ plannotator/
1818
├── packages/
1919
│ ├── server/ # Shared server implementation
2020
│ │ ├── index.ts # startPlannotatorServer(), handleServerReady()
21+
│ │ ├── storage.ts # Plan saving to disk (getPlanDir, savePlan, etc.)
2122
│ │ ├── remote.ts # isRemoteSession(), getServerPort()
2223
│ │ ├── browser.ts # openBrowser()
2324
│ │ ├── integrations.ts # Obsidian, Bear integrations
2425
│ │ └── project.ts # Project name detection for tags
2526
│ ├── ui/ # Shared React components
2627
│ │ ├── components/ # Viewer, Toolbar, Settings, etc.
27-
│ │ ├── utils/ # parser.ts, sharing.ts, storage.ts
28+
│ │ ├── utils/ # parser.ts, sharing.ts, storage.ts, planSave.ts, agentSwitch.ts
2829
│ │ ├── hooks/ # useSharing.ts
2930
│ │ └── types.ts
3031
│ └── editor/ # Main App.tsx
@@ -80,15 +81,18 @@ Deny → stdout: {"hookSpecificOutput":{"decision":{"behavior":"deny","messag
8081

8182
## Server API
8283

83-
| Endpoint | Method | Purpose |
84-
| -------------- | ------ | --------------------------------- |
85-
| `/api/plan` | GET | Returns plan markdown as JSON |
86-
| `/api/approve` | POST | User approved the plan |
87-
| `/api/deny` | POST | User denied with feedback in body |
84+
| Endpoint | Method | Purpose |
85+
| --------------------- | ------ | ------------------------------------------ |
86+
| `/api/plan` | GET | Returns `{ plan, origin }` |
87+
| `/api/approve` | POST | Approve plan (body: planSave, agentSwitch, obsidian, bear, feedback) |
88+
| `/api/deny` | POST | Deny plan (body: feedback, planSave) |
89+
| `/api/image` | GET | Serve image by path query param |
90+
| `/api/upload` | POST | Upload image, returns temp path |
91+
| `/api/obsidian/vaults`| GET | Detect available Obsidian vaults |
8892

89-
**Location:** `packages/server/index.ts` (shared), `apps/hook/server/index.ts` (Claude Code entry), `apps/opencode-plugin/index.ts` (OpenCode entry)
93+
**Location:** `packages/server/index.ts`
9094

91-
Both plugins use the shared `startPlannotatorServer()` from `packages/server`. The server handles remote detection, port configuration, and all API routes. Port is random locally (`port: 0`) or fixed (`19432`) in remote mode.
95+
Both plugins use `startPlannotatorServer()` from `packages/server`. Port is random locally or fixed (`19432`) in remote mode.
9296

9397
## Data Types
9498

@@ -188,9 +192,9 @@ type ShareableAnnotation =
188192

189193
## Settings Persistence
190194

191-
**Location:** `packages/ui/utils/storage.ts`
195+
**Location:** `packages/ui/utils/storage.ts`, `planSave.ts`, `agentSwitch.ts`
192196

193-
Uses cookies instead of localStorage because each hook invocation runs on a random port, and localStorage is scoped by origin (including port). Cookies are scoped by domain only.
197+
Uses cookies (not localStorage) because each hook invocation runs on a random port. Settings include identity, plan saving (enabled/custom path), and agent switching (OpenCode only).
194198

195199
## Syntax Highlighting
196200

apps/hook/.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "plannotator",
33
"description": "Interactive Plan Review: Mark up and refine your plans using a UI, easily share for team collaboration, automatically integrates with plan mode hooks.",
4-
"version": "0.4.9",
4+
"version": "0.4.10",
55
"author": {
66
"name": "backnotprop"
77
},

apps/opencode-plugin/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@plannotator/opencode",
3-
"version": "0.4.9",
3+
"version": "0.4.10",
44
"description": "Plannotator plugin for OpenCode - interactive plan review with visual annotation",
55
"author": "backnotprop",
66
"license": "BSL-1.1",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "plannotator",
3-
"version": "0.4.9",
3+
"version": "0.4.10",
44
"private": true,
55
"description": "Interactive Plan Review for Claude Code - annotate plans visually, share with team, automatically send feedback",
66
"author": "backnotprop",

packages/server/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@plannotator/server",
3-
"version": "0.4.8",
3+
"version": "0.4.10",
44
"private": true,
55
"description": "Shared server implementation for Plannotator plugins",
66
"main": "index.ts",

packages/ui/utils/agentSwitch.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,3 @@ export function getAgentSwitchSettings(): AgentSwitchSettings {
4444
export function saveAgentSwitchSettings(settings: AgentSwitchSettings): void {
4545
storage.setItem(STORAGE_KEY, settings.switchTo);
4646
}
47-
48-
/**
49-
* Check if agent switching is enabled
50-
*/
51-
export function isAgentSwitchEnabled(): boolean {
52-
return getAgentSwitchSettings().switchTo !== 'disabled';
53-
}

packages/ui/utils/planSave.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,3 @@ export function savePlanSaveSettings(settings: PlanSaveSettings): void {
4747
storage.removeItem(STORAGE_KEY_PATH);
4848
}
4949
}
50-
51-
/**
52-
* Check if plan saving is enabled
53-
*/
54-
export function isPlanSaveEnabled(): boolean {
55-
return getPlanSaveSettings().enabled;
56-
}

0 commit comments

Comments
 (0)