Files
krow_talent_app/src/components/ai-assistant/index.tsx
Aravind 7a95d95151 refactor(ts-migration): Phase 11 batch 8 — the assistant panel components
The thirteen `.jsx` files under `src/components/ai-assistant/`, which
completes that directory: 24/24 files migrated and all 24 linted under
their new extensions.

39 errors, and converting 21 `/** @param {any} props */` hatches to
`: any` cleared 33 of them — the same pattern as batch 6, and the same
reason: without the JSDoc, TypeScript infers every destructured prop as
required, so `ResponseBlocks` and `AssistantMessage` alone produced 31
complaints about call sites that were always correct.

The remaining six were already there before this batch and are
unchanged.

13/13 erase byte-identically. `.jsx` -> `.tsx` is the move that can drop
unused imports through esbuild's loader difference; it did not here, and
the bundle hash is unchanged.

Measured against `3f835ee`:

  typecheck   6 errors, unchanged; no new error anywhere
  lint        exit 0, 0 errors, 289 warnings, 24/24 linted by name
  npm test    1684/1691, the same 7 failures verbatim
  build       exit 0, identical bundle hash 74d17e2d…
  type erasure  96/96 byte-identical across Phase 11 so far

No baseline artifact touched.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HBG1wnuRfJKCstGB8Fekr8
2026-09-18 15:37:09 +05:30

33 lines
1.6 KiB
TypeScript

/**
* Owliver — the dashboard's contextual productivity panel.
*
* Named Owliver in the UI, but architecturally independent of the standalone
* Owliver voice product in components/krow/Owliver*. Nothing is shared.
*
* Architecture:
*
* AssistantPanelProvider workspace state, resolved page context
* AssistantPanel the workspace column the Admin layout renders
* AssistantTrigger legacy opt-in button. Not used by Admin: Owliver is
* part of the page there, so there is no trigger to
* press. It self-hides on unsupported routes, which
* is why the pre-redesign pages still holding one
* render nothing.
* KrowAssistant the one assistant UI, reused on every page
* provider.js the transport seam — local today, HTTP later
*
* Independent of Owliver, which remains a separate product. Nothing here imports
* Owliver code, and the two never share UI.
*/
export { AssistantPanelProvider, useAssistantPanel } from './AssistantPanelContext';
export {
usePageAction, usePageContext, usePublishPageActions, usePublishPageContext,
} from './PageContext';
export { AssistantTrigger } from './AssistantTrigger';
export { AssistantPanel } from './AssistantPanel';
export { default as KrowAssistant } from './KrowAssistant';
export { ASSISTANT_CONTEXTS, getContext } from './contexts';
export { EXCLUDED_ROUTES, enabledRoutes, resolveAssistantContext } from './placement';
export { createAgentProvider, createUnconfiguredProvider } from './provider';