Skip to content

feat(ok): open skill actions menu on right-click#399

Merged
inkeep-oss-sync[bot] merged 3 commits into
mainfrom
copybara/sync
Jun 30, 2026
Merged

feat(ok): open skill actions menu on right-click#399
inkeep-oss-sync[bot] merged 3 commits into
mainfrom
copybara/sync

Conversation

@inkeep-oss-sync

Copy link
Copy Markdown
Contributor

No description provided.

tim-inkeep and others added 3 commits June 30, 2026 20:53
* feat(open-knowledge): open skill actions menu on right-click

Skill rows in the sidebar only exposed their actions via the hover 3-dot
button. Wire right-click on the row to open the same menu, matching the
file tree's right-click affordance. preventDefault keeps the row's
collapsible toggle and the native browser menu from firing.

* docs(open-knowledge): correct preventDefault comment on skill right-click

contextmenu events never trigger click-driven handlers, so the collapsible
toggle wouldn't fire on right-click regardless; preventDefault only suppresses
the native browser context menu.

GitOrigin-RevId: f6ea30c131c3a4d795412576afb6ea4b9015b0ae
…shell history (#2292)

* fix(open-knowledge): docked-terminal agent launch no longer pollutes shell history

"Open in <Agent>" used to type `claude '<prompt>'` into an interactive login
shell, so every launch — including the doc/selection-context prompt — was
recorded in ~/.zsh_history (clutter + KB content in plaintext outside .ok/).

Bake the launch into the tab's PTY spawn instead:
  $SHELL -l -i -c '<bin> [pre-approve] '<prompt>'; exec $SHELL -l -i'
The command rides `-c` (never enters the line editor → never written to
history), the same `-l -i` shell keeps PATH identical, and the `exec` tail
hands the tab back to a fresh interactive shell after the agent exits so the
user's own later commands record normally. Applies to claude/codex/cursor/
opencode. Adopts Zed's spawn-via-`-c` model; deletes the old nonce/first-output
launch effect (bake-at-create fires once by construction).

PRD-7206

* fix(open-knowledge): address review — launch readiness ownership + accurate pty-host comment

- TerminalPanel: a launch session now owns its claude readiness verdict in
  resolveLaunchCommand (set on the present path too), and the post-attach
  claudePreflight is skipped for fresh launches. Removes the redundant double
  probe and the clobber where a flaky post-attach `unknown` could hide a
  launch-time `not-found` banner (flash-then-vanish). (pullfrog)
- pty-host: correct the launchCommand comment — a non-string value rejects the
  whole create message (no PTY), it does not "spawn a plain shell". (claude)

* docs/test(open-knowledge): address re-review nits — JSDoc links, failed-adopt test, SPEC accuracy

- terminal-launch.ts: two TerminalCliInfo field-doc {@link}s now point to
  buildCliLaunchArgString (where arg assembly lives), not the \r-appending
  buildCliLaunchCommand wrapper.
- TerminalPanel.launch.dom.test.tsx: add a test pinning the failed-adoption
  fallback — adoptPtyId set but survivor gone must fall through to a plain
  shell and NOT re-bake the launch (guards the `adoptPtyId === null` condition).
- SPEC: correct the restart edge case — a restart re-bakes the original launch
  (consistent with pre-PR), the prior parenthetical claiming "no re-bake" was
  inaccurate.

All non-blocking re-review suggestions (claude[bot] APPROVE WITH SUGGESTIONS).

* docs/test(open-knowledge): refresh launch-prop JSDoc + cover unknown verdict

- TerminalPanel: the `launch` prop docs on TerminalPanelProps and
  TerminalSessionProps described the deleted nonce-guarded input() write path;
  rewrite to the bake-at-create model (command baked into the PTY spawn,
  preflight-gated, never typed → never in shell history).
- Add a dom test for the claude `unknown` launch-time verdict: maps to a
  not-found-for-display banner with no bake (guards the unknown→not-found
  ternary; restores coverage the old suite had).

All non-blocking re-review suggestions (claude[bot] APPROVE WITH SUGGESTIONS).

---------

GitOrigin-RevId: 0bf74f6867f936d7464b8e73b8562557a85c2ca4
…ents streams (#2279)

* perf(open-knowledge): paint the file tree incrementally as /api/documents streams

The sidebar withheld the entire root level until the NDJSON walk finished.
Apply each network chunk to the tree additively as it arrives (never pruning
folders not yet streamed) and clear the loading skeleton on the first batch;
the authoritative prune + optimistic-merge reconcile still runs as one splice
at completion, so the final tree is unchanged.

Adds mergeRootEntriesAdditive (pure additive union, no prune) and an onBatch
hook on consumeShowAllStream that flushes decoded entries per network chunk.

* fix(open-knowledge): defer file-tree skeleton flip to first visible row

Address local review on the incremental-paint change:
- onBatch flipped loading=false on the first network chunk even when every
  entry in it was hidden (filtered client-side), rendering loading=false with
  an empty document set — the "No files yet" empty state — on a non-empty KB
  until visible rows streamed in. Flip the skeleton only once a visible row
  actually paints; completion owns the final state.
- document that incremental batches are not rolled back on a mid-stream error
  (the next refresh's completion splice reconciles).
- tests: onBatch-throw propagation; a hidden-only first chunk keeps the
  skeleton (no flash); a superseded mid-stream NDJSON refresh drops its batch
  and the fresh listing wins.

GitOrigin-RevId: 5b3c4bb0cac79a093afdc8b8f2ab8b152bf83d05

@inkeep-internal-ci inkeep-internal-ci Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval from agents-private public-mirror-sync (run: https://github.com/inkeep/agents-private/actions/runs/28474981572). Source of truth is the monorepo; direct edits on inkeep/open-knowledge are overwritten on next sync.

@inkeep-oss-sync
inkeep-oss-sync Bot merged commit e5b8e3a into main Jun 30, 2026
1 check passed
@inkeep-oss-sync
inkeep-oss-sync Bot deleted the copybara/sync branch June 30, 2026 20:54
@CLAassistant

CLAassistant commented Jun 30, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ tim-inkeep
❌ serafin-garcia
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants