mirror of
https://github.com/backnotprop/plannotator.git
synced 2026-09-14 14:17:26 +08:00
9130d2d6a3
Adds two session-only flags to plannotator review, parsed in the shared parser so every host inherits them together: - --base <ref> opens the session against a caller-chosen compare target (branch, origin/<branch>, tag, SHA, HEAD~N), probed with git rev-parse --verify --end-of-options before the server starts so a typo'd ref is a startup error with near-match suggestions instead of a silently mislabelled merge-base->HEAD diff. - --diff-type <id> opens the session in one of the nine flat git diff modes (REVIEW_OPEN_DIFF_TYPES, pinned against GIT_DIFF_TYPES). The flags are a seed, never a setting: nothing writes config.json or any review cookie, and the UI stays fully mutable. Validation is pure in packages/shared/review-open-state.ts (provider matrix errors on jj/GitButler/P4/workspace/PR mode, promote-with-notice when the saved default is base-irrelevant, fatal explicit contradiction). A flagged base rides explicitBase semantics: the new initialBaseExplicit server option (both runtimes) seeds baseExplicitlyChosen, suppressing the startup origin/* upgrade and canonicalization, and openStatePinned rides /api/diff so the client neither offers the first-run setup dialog (its one-time cookie is NOT consumed) nor runs the panel-pair self-heal for a pinned session. The since-base dropdown label now renders from the live active base, matching the adjacent base picker. Coverage: Bun CLI, opencode-review bridge, OpenCode embedded plugin, and the Pi extension (re-vendored; strict validation on the slash-command path only, programmatic callers unchanged). Skills, command stubs, help text, and docs updated across every host surface.
104 lines
4.2 KiB
JSON
104 lines
4.2 KiB
JSON
{
|
|
"name": "@plannotator/shared",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"exports": {
|
|
"./agents": "./agents.ts",
|
|
"./annotatable": "./annotatable.ts",
|
|
"./compress": "./compress.ts",
|
|
"./crypto": "./crypto.ts",
|
|
"./diff-paths": "./diff-paths.ts",
|
|
"./feedback-templates": "./feedback-templates.ts",
|
|
"./jj-core": "./jj-core.ts",
|
|
"./gitbutler-core": "./gitbutler-core.ts",
|
|
"./review-core": "./review-core.ts",
|
|
"./commit-history": "./commit-history.ts",
|
|
"./review-workspace": "./review-workspace.ts",
|
|
"./review-workspace-node": "./review-workspace-node.ts",
|
|
"./review-args": "./review-args.ts",
|
|
"./review-open-state": "./review-open-state.ts",
|
|
"./vcs-core": "./vcs-core.ts",
|
|
"./checklist": "./checklist.ts",
|
|
"./types": "./types.ts",
|
|
"./pr-types": "./pr-types.ts",
|
|
"./pr-context-live": "./pr-context-live.ts",
|
|
"./pr-artifact-document": "./pr-artifact-document.ts",
|
|
"./pr-provider": "./pr-provider.ts",
|
|
"./pr-stack": "./pr-stack.ts",
|
|
"./project": "./project.ts",
|
|
"./storage": "./storage.ts",
|
|
"./draft": "./draft.ts",
|
|
"./annotate-history": "./annotate-history.ts",
|
|
"./feedback-archive": "./feedback-archive.ts",
|
|
"./html-diff": "./html-diff.ts",
|
|
"./integrations-common": "./integrations-common.ts",
|
|
"./repo": "./repo.ts",
|
|
"./reference-common": "./reference-common.ts",
|
|
"./file-browser-watch-core": "./file-browser-watch-core.ts",
|
|
"./favicon": "./favicon.ts",
|
|
"./code-file": "./code-file.ts",
|
|
"./resolve-file": "./resolve-file.ts",
|
|
"./doc-resolve": "./doc-resolve.ts",
|
|
"./annotate-reference-roots-node": "./annotate-reference-roots-node.ts",
|
|
"./extract-code-paths": "./extract-code-paths.ts",
|
|
"./external-annotation": "./external-annotation.ts",
|
|
"./agent-jobs": "./agent-jobs.ts",
|
|
"./agent-terminal": "./agent-terminal.ts",
|
|
"./config": "./config.ts",
|
|
"./data-dir": "./data-dir.ts",
|
|
"./prompts": "./prompts.ts",
|
|
"./improvement-hooks": "./improvement-hooks.ts",
|
|
"./pfm-reminder": "./pfm-reminder.ts",
|
|
"./worktree": "./worktree.ts",
|
|
"./worktree-pool": "./worktree-pool.ts",
|
|
"./html-to-markdown": "./html-to-markdown.ts",
|
|
"./url-to-markdown": "./url-to-markdown.ts",
|
|
"./html-assets": "./html-assets.ts",
|
|
"./html-assets-node": "./html-assets-node.ts",
|
|
"./tour": "./tour.ts",
|
|
"./guide": "./guide.ts",
|
|
"./guide-instructions-store": "./guide-instructions-store.ts",
|
|
"./guide-store": "./guide-store.ts",
|
|
"./annotate-args": "./annotate-args.ts",
|
|
"./annotate-target": "./annotate-target.ts",
|
|
"./at-reference": "./at-reference.ts",
|
|
"./code-nav": "./code-nav.ts",
|
|
"./token-hover": "./token-hover.ts",
|
|
"./goal-setup": "./goal-setup.ts",
|
|
"./semantic-diff": "./semantic-diff.ts",
|
|
"./semantic-diff-types": "./semantic-diff-types.ts",
|
|
"./call-flow-types": "./call-flow-types.ts",
|
|
"./call-flow-languages": "./call-flow-languages.ts",
|
|
"./call-flow": "./call-flow.ts",
|
|
"./call-flow-install": "./call-flow-install.ts",
|
|
"./single-flight": "./single-flight.ts",
|
|
"./source-save": "./source-save.ts",
|
|
"./source-save-node": "./source-save-node.ts",
|
|
"./browser-paths": "./browser-paths.ts",
|
|
"./workspace-status": "./workspace-status.ts",
|
|
"./open-in-apps": "./open-in-apps.ts",
|
|
"./port-range": "./port-range.ts",
|
|
"./tailscale": "./tailscale.ts",
|
|
"./plan-review-lifecycle": "./plan-review-lifecycle.ts",
|
|
"./review-profiles": "./review-profiles.ts",
|
|
"./commit-avatars": "./commit-avatars.ts",
|
|
"./generated-files": "./generated-files.ts",
|
|
"./annotate-client-lease": "./annotate-client-lease.ts",
|
|
"./annotate-decision": "./annotate-decision.ts",
|
|
"./archive-mode": "./archive-mode.ts",
|
|
"./guide-format": "./guide-format.ts",
|
|
"./guide-viewer-manifest": "./guide-viewer-manifest.ts",
|
|
"./guide-format-fixtures": "./guide-format-fixtures.ts",
|
|
"./live-proxy-core": "./live-proxy-core.ts",
|
|
"./live-probe": "./live-probe.ts",
|
|
"./live-proxy-node": "./live-proxy-node.ts"
|
|
},
|
|
"dependencies": {
|
|
"@joplin/turndown-plugin-gfm": "^1.0.64",
|
|
"@plannotator/core": "workspace:*",
|
|
"chokidar": "^5.0.0",
|
|
"parse5": "^7.3.0",
|
|
"turndown": "^7.2.4"
|
|
}
|
|
}
|