feat: add DSH IDE open-file references
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# Open-file snapshot protocol v1
|
||||
|
||||
IDE companions publish one JSON file per running IDE instance in:
|
||||
|
||||
```text
|
||||
%LOCALAPPDATA%\Prophet\dsh-plugin-coop-with-vs\v1\instances
|
||||
```
|
||||
|
||||
The schema is [`open-files-v1.schema.json`](open-files-v1.schema.json).
|
||||
|
||||
## Publishing rules
|
||||
|
||||
- File name: `vscode-<instanceId>.json` or `visualstudio-<instanceId>.json`.
|
||||
- Write a temporary file in the same directory, then atomically replace/rename it.
|
||||
- Refresh `updatedAt` at least every 15 seconds, even when tabs do not change.
|
||||
- Delete the instance file on clean shutdown. Consumers expire snapshots older than 60 seconds because shutdown cleanup is best effort.
|
||||
- Publish only absolute paths for local, disk-backed files. Do not publish source text, credentials, virtual documents, or untitled buffers.
|
||||
- Deduplicate paths case-insensitively on Windows.
|
||||
- `dirty: true` means the IDE buffer may differ from the on-disk file. DSH still reads the on-disk version unless a future protocol explicitly adds buffer transfer.
|
||||
|
||||
## Compatibility
|
||||
|
||||
Consumers reject unknown versions and malformed entries without rejecting healthy snapshots from other instances. Adding fields requires a new protocol version because v1 intentionally rejects additional properties.
|
||||
Reference in New Issue
Block a user