docs(sdk): éclate et étend la documentation SDK par sujet
Remplace le README monolithique par un point d'entrée vers des pages dédiées (manifest, activation/contexte, menus, commandes/feedback, layouts React, fenêtres, services, packaging/distribution) pour couvrir #142-#144 et faciliter la navigation. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
68
docs/services.md
Normal file
68
docs/services.md
Normal file
@ -0,0 +1,68 @@
|
||||
# Services
|
||||
|
||||
`ctx.services` is the stable public host facade. It is available to plugins that
|
||||
declare `ui` or `tooling` capabilities.
|
||||
|
||||
```json
|
||||
{
|
||||
"capabilities": ["ui", "tooling"]
|
||||
}
|
||||
```
|
||||
|
||||
## Workspace
|
||||
|
||||
`services.workspace` reads the focused/current project, project context and
|
||||
project-owned files. Paths are relative to the project root; hosts reject
|
||||
absolute paths and traversal outside the workspace.
|
||||
|
||||
Key APIs:
|
||||
|
||||
- `getCurrentProject()`
|
||||
- `getProjectRoot(projectId?)`
|
||||
- `readProjectContext(projectId?)`
|
||||
- `updateProjectContext(content, projectId?)`
|
||||
- `readTextFile(path, projectId?)`
|
||||
- `writeTextFile(path, content, projectId?)`
|
||||
- `readBinaryFile(path, projectId?)`
|
||||
- `writeBinaryFile(path, bytes, projectId?)`
|
||||
- `listDirectory(path?, projectId?)`
|
||||
- `stat(path, projectId?)`
|
||||
- `watch(path, handler, projectId?)`
|
||||
- `queryStructure(query?)`
|
||||
|
||||
## Tasks
|
||||
|
||||
`services.tasks` launches and inspects host-managed command tasks.
|
||||
|
||||
Use `runCommand()` only after preconditions are satisfied. `ownerAgentId` must be
|
||||
a real agent id when work belongs to an agent workflow.
|
||||
|
||||
## Tooling
|
||||
|
||||
`services.tooling.diagnose()` checks executables, environment values and files
|
||||
from the host-controlled runtime.
|
||||
|
||||
## Events
|
||||
|
||||
`services.events.subscribe()` provides best-effort bounded subscriptions to
|
||||
public plugin events such as workspace file changes and background task changes.
|
||||
Dispose subscriptions when no longer needed.
|
||||
|
||||
## Config
|
||||
|
||||
`services.config` reads and updates structured JSON documents in project-owned
|
||||
locations. Use it for configuration the user expects to review/version.
|
||||
|
||||
## Terminal
|
||||
|
||||
`services.terminal` opens, reattaches and closes terminal sessions:
|
||||
|
||||
- `open({ cwd?, rows?, cols?, onData? })`
|
||||
- `reattach(sessionId, { onData? })`
|
||||
- `close(sessionId)`
|
||||
|
||||
## Windows
|
||||
|
||||
`services.windows.open({ layoutType, state? })` opens a detached OS window for
|
||||
one of the calling plugin's declared layout contributions. See
|
||||
[Windows](windows.md).
|
||||
Reference in New Issue
Block a user