chore: keep widget sources only
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# SHD MCP plugin package
|
||||
|
||||
This directory is the installable Codex plugin. It packages reusable SHD
|
||||
workflow Skills and the official SHD MCP connection; it does not contain the
|
||||
SHD backend or a second MCP server.
|
||||
|
||||
The plugin requires an SHD account authorized for the requested projects and
|
||||
modules. Skills do not grant permissions or bypass server-side ACLs.
|
||||
|
||||
## Included workflows
|
||||
|
||||
- active projects with completion dates and statuses;
|
||||
- project status and risk summaries;
|
||||
- ProjectBase schema and data-quality audits;
|
||||
- guarded task workflows;
|
||||
- project file inspection and actions;
|
||||
- finance and CRM read/audit workflows;
|
||||
- finance account, balance, payment and settlement audits;
|
||||
- analytics, comparisons, reports and task/proposal metrics;
|
||||
- entity resolution and duplicate-candidate analysis;
|
||||
- estimates, proposals and estimate-document-contract workflows;
|
||||
- scheduling events, slots and booking positions;
|
||||
- Wiki, notes, revisions and note-database workflows;
|
||||
- discussions, channels, topics, messages and attachments;
|
||||
- documents, templates, PDFs, revisions and public-link workflows;
|
||||
- organizations, members, invitations, ACL and two-factor policies;
|
||||
- notifications, preferences and read-state workflows;
|
||||
- inventory, assets, stock, procurement and stocktake workflows;
|
||||
- agent/controller diagnostics, tunnels, endpoints and runtime actions;
|
||||
- status-page monitors, groups, history and incidents;
|
||||
- realtime sessions, event cursors and operational activity;
|
||||
- Terms documents, revisions, completeness and contract discussions;
|
||||
- linked Gitea issues, labels, comments and attachments;
|
||||
- safe bulk-change planning and validation rules.
|
||||
|
||||
When the connected MCP host supports MCP Apps UI, the 44 SHD render tools have
|
||||
inline interactive widgets: active projects, module registers and specialized
|
||||
Kanban, workload, timeline, funnel, dashboard, calendar, matrix, tree and
|
||||
Project DB views. Each widget sorts or filters normalized records, shows
|
||||
status/value fields, can load one selected record’s details where supported and
|
||||
exposes only the write actions declared by its render metadata. A write always
|
||||
requires an explicit form submission; destructive actions also require a
|
||||
confirmation checkbox. After a successful mutation, the widget refreshes its
|
||||
source list.
|
||||
The same tools still return normal structured data for hosts that do not render
|
||||
widgets.
|
||||
|
||||
The controller observability render tools share the versioned
|
||||
`widgets/controller-observability/v1/` resource. It exposes controller device
|
||||
inventory and profiles, normalized live states, server-computed binary/numeric
|
||||
statistics, explicit native vs Influx/Grafana provenance, universal comparison
|
||||
presets, complete controller topology, telemetry health and operation audit.
|
||||
Expert-setting controls are enabled only for source-provided writable descriptors.
|
||||
|
||||
The active-projects source is `widgets/active-projects/source.html` with its
|
||||
resource metadata in `widgets/active-projects/widget.json`. Before starting
|
||||
the backend, generate the ignored runtime files with:
|
||||
|
||||
```sh
|
||||
node scripts/generate-widget-artifacts.mjs
|
||||
```
|
||||
|
||||
The backend then reads the generated `widgets/active-projects/v1/` artifact for
|
||||
the `ui://shd/active-projects/v1.html` resource.
|
||||
|
||||
The standard module resources are generated from the single
|
||||
`widgets/_shared/universal-widget.html` source by
|
||||
`scripts/generate-widget-artifacts.mjs`. Each generated artifact still keeps
|
||||
its own URI, manifest, SHA256 checksum and provenance note: this preserves
|
||||
resource cache keys and module-scope registration while removing duplicated
|
||||
HTML, bridge and action runtime code. The generator also injects the shared
|
||||
`widgets/_shared/widget-theme.css` and `widgets/_shared/write-actions.css`
|
||||
into the specialized `active-projects` and `controller-observability`
|
||||
renderers, so every widget uses the same spacing, surfaces, controls, tables
|
||||
and responsive rules without changing their data contracts. The generator
|
||||
supports `--check` for a no-write consistency check. Module copy and fallback
|
||||
tool configuration lives in the sibling
|
||||
`widgets/_shared/universal-widget-config.json` source and is injected into
|
||||
each universal standalone artifact by the generator. For an older template
|
||||
that still contains the inline configuration block, run `--extract-config`
|
||||
once and then `--migrate-template` once. The specialized applications remain
|
||||
separate only where their interaction contracts differ. Render tools are
|
||||
deliberately separate from list tools so data access and UI rendering remain
|
||||
auditable.
|
||||
|
||||
The generated `widgets/*/v1/` directories are ignored and must not be
|
||||
committed. A fresh checkout or deployment must run the generator before the
|
||||
MCP backend starts; `--check` can then verify that the local runtime output is
|
||||
current.
|
||||
|
||||
## MCP connection
|
||||
|
||||
The package points to `https://shd.xyz.su/mcp` and requests OAuth for that MCP
|
||||
resource. The client stores the resulting authorization; this repository never
|
||||
contains an access token.
|
||||
|
||||
If a client or SHD installation uses another official endpoint, change the
|
||||
connection in `.mcp.json` in that client's secure configuration. Do not commit
|
||||
tokens, cookies, client secrets or private host credentials.
|
||||
Reference in New Issue
Block a user