diff --git a/lib/index.js b/lib/index.js new file mode 100644 index 0000000..de17639 --- /dev/null +++ b/lib/index.js @@ -0,0 +1,23 @@ +/** + * dsh-wb-sidebar — WorkBuddy/Tutti-style sidebar enhancement for + * DeepSeek Harness Desktop. + * + * Host-side entry (Node). This half is deliberately minimal: the real value + * lives in the client bundle (lib/client.js) which registers the Tasks / + * Agents / Profile tabs through dsh-better-sidebar's ctx.betterSidebar + * service. The host half exists so the bundle has a Node row to mount (the + * dsh.client.inject declaration in package.json pulls the browser half in). + */ + +export const name = 'dsh-wb-sidebar' + +// NOTE: cordis resolves `inject` as a plain map of `serviceName -> intercept +// config`. An object literal like `{ optional: ['logger'] }` is parsed as a +// dependency on a service literally named "optional", which never exists and +// leaves the fiber pending forever — fatal for the whole plugin tree. Do not +// declare `inject` here; apply() guards ctx.logger at runtime instead. + +export function apply(ctx) { + const log = ctx.logger ? ctx.logger('wb-sidebar') : console + log.info('dsh-wb-sidebar host loaded (tabs register via client bundle)') +}