Skip to content

[dashboard DDX-4] plugins/dashboard thin plugin + E2E join #414

Description

@rickylabs

Part of #400 · Part of #301

Handle: DDX-4 · Milestone: 0.0.1-beta.6 · Dep: DDX-2. Blocks: DDX-5, DDX-13, DDX-14.

Scope — plugins/dashboard thin plugin (manifest + scaffold + E2E join)

Acceptance

  • scaffold.plugin.json with provider.kind: 'dashboard', category: 'plugin', portRangeKey: 'PLUGIN_API', pluginType: 'utility', defaultRequiresDb/Kv: false, + officialSource block (canonicalName dashboard, serviceEntrypoint, servicePort).
  • src/public/mod.ts definePlugin('@netscript/plugin-dashboard', VERSION).withType('utility').withService(...).withAspire('./src/aspire/mod.ts').withContractVersions([...]).build(); mod.ts one-line re-export.
  • scaffold.ts = createPluginAdapter(dashboardAdapterPlugin).toScaffold(); adapter/plugin.ts implements install/doctor/info/update/remove; adapter/resources/ emits typesafe codegen glue (alpha.11 Slice E: service health + e2e :3001 probe (F-14 verify, F-13 diagnose) #157 mandate — no string templates).
  • contracts/v1/mod.ts re-exports from core (no redefinition). verify-plugin.ts present.
  • netscript plugin install @netscript/plugin-dashboard works with no CLI core change; joins scaffold.runtime/scaffold.plugins E2E.
  • gate:jsr: deno task doc:lint clean on the full export map, deno publish --dry-run green; JSR-safe asset embedding (import attributes, never readTextFile/fromFileUrl).

Design source: design/A-dashboard/epic-and-issues.md (DDX-4).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions