Follow the cordis-plugin-development references instead of the ad-hoc choices the first version made. Client half: - register the row button under this package's own id instead of shadowing the shipped `archive` action at a lower priority, so the official hover buttons keep their cells and archiving stays where the harness put it - drop the synthetic `pointerout` dispatched at a `[data-row-key]` ancestor: a plugin does not read or drive another package's DOM, so the tooltip is now positioned from its own button alone - keep the self-rendered primitives, the `--dsw-*` token-only styling, and the modal focus/Escape behavior, and document why Host half: - resolve a conversation's descendants with `sessionQuery.traceSession()` instead of listing every stored header and re-deriving `parentSession` edges - decide liveness from the traced `SessionRecord.live` flag, which removes the `agents` and `sessions` dependencies from `inject` - build the orphan-sweep corpus from `sessionQuery.listSessions()`, which already merges live and persisted sessions - document that `sessionPersistence.locate()` is a JSONL-backend diagnostic hook, not part of the seam, and keep probing it explicitly - record only tree roots in the deferred-deletion ledger: the activation sweep removes a root with everything under it, so a separately recorded child was deleted twice or needed a pass that never runs - return the activation's sweep promise from `apply()` so a test can await it Manifest and docs: - version 2.0.0, `private`, `dsh.manifestVersion`, and `engines` - delete the Gitea npm publish workflow and every npm-publishing task: the package is distributed only through the Git repository and tags - rewrite the README around the current install paths and the plugin's limits
14 lines
658 B
YAML
14 lines
658 B
YAML
# Bundle patch layer for @dsh-plugin/session-delete.
|
|
#
|
|
# One Host row is enough: the Host half owns the two authenticated routes the
|
|
# browser half posts to, and the browser half is picked up automatically from
|
|
# this package's `dsh.client` declaration (dsh-client-modules scans enabled
|
|
# Loader entries, serves `/plugins/@dsh-plugin/session-delete/client.js`, and
|
|
# boots it with the page), so the client never needs a row of its own.
|
|
#
|
|
# The row id, this package name, and the client module id are the same string
|
|
# in three places; renaming the package means changing all three.
|
|
- insert:
|
|
- id: session-delete
|
|
name: '@dsh-plugin/session-delete'
|