You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The thin CLI wrappers, the console banner, the stable deep-link URL scheme every seam targets, and the generator edits that emit WithUrl/withCommand into Aspire.
Scope
Generator emission: in packages/cli/src/kernel/templates/aspire/helpers/register/generate-register-apps.ts (+ register-services), emit per app/service .withUrl("http://localhost:${dashboardPort}/resource/${resourceName}", "NetScript Dashboard") + one apphost-level entry for /; emit the two fixed framework withCommands (open-netscript-dashboard, inspect-registry/inspect-saga-run) via Seam B until [dashboard DDX-1] @netscript/aspire command + app resource kinds #411 lands.
CLI:netscript dashboard open (--no-open, --resource {name}, guard headless/CI), netscript dashboard url (pure print, scriptable, --resource/--panel), console banner on netscript dev printing both dashboard URLs. All read the single port source; exit 0 with URL on stdout.
Do not auto-open a browser on netscript dev (print URL only).
Do not re-render Aspire trace/log/metric pages or a Scalar operation list — links only.
Scalar→dashboard is essentially nil: Scalar has no plugin/callback surface. The only lever is spec-authored externalDocs/x-* on the generated OpenAPI doc (optional polish, not a load-bearing seam).
Acceptance criteria
WithUrl link appears in Aspire Endpoints column; one click lands on the deep-linked resource view — no OTLP rendering.
netscript dashboard url --panel sagas prints a valid deep link; CI-safe print-only path works.
Out-link patterns resolve to live Aspire/Scalar pages.
Dependencies
#411 (final withCommand via Seam A), #415 (URL scheme consumer), #423 (/resource/{name} data). Optional: OpenAPI externalDocs emission at contract-build.
DDX-14: CLI + deep-link surface + generator emission
Summary
The thin CLI wrappers, the console banner, the stable deep-link URL scheme every seam targets, and the generator edits that emit
WithUrl/withCommandinto Aspire.Scope
packages/cli/src/kernel/templates/aspire/helpers/register/generate-register-apps.ts(+register-services), emit per app/service.withUrl("http://localhost:${dashboardPort}/resource/${resourceName}", "NetScript Dashboard")+ one apphost-level entry for/; emit the two fixed frameworkwithCommands (open-netscript-dashboard,inspect-registry/inspect-saga-run) via Seam B until [dashboard DDX-1] @netscript/aspire command + app resource kinds #411 lands./,/resource/{name},/workers|/sagas|/triggers|/streams,/plugins,/plugins/{id},/config.netscript dashboard open(--no-open,--resource {name}, guard headless/CI),netscript dashboard url(pure print, scriptable,--resource/--panel), console banner onnetscript devprinting both dashboard URLs. All read the single port source; exit 0 with URL on stdout.{aspireBase}/traces/detail/{id},/structuredlogs?resource=,/consolelogs/resource/,/metrics/resource/./api/docs(+ operation anchor) deep-links only.Non-goals
netscript dev(print URL only).externalDocs/x-*on the generated OpenAPI doc (optional polish, not a load-bearing seam).Acceptance criteria
WithUrllink appears in Aspire Endpoints column; one click lands on the deep-linked resource view — no OTLP rendering.netscript dashboard url --panel sagasprints a valid deep link; CI-safe print-only path works.Dependencies
#411 (final
withCommandvia Seam A), #415 (URL scheme consumer), #423 (/resource/{name}data). Optional: OpenAPIexternalDocsemission at contract-build.