s-m-r-t
Open the s-m-r-t source on GitHub Switch to dark color scheme
← All UI components

Planner · Planner

Planner

No summary has been written for Planner. Everything below is generated from the declaration shipped in 0.57.40 and describes the real contract.

Public export

typescript
import { Planner } from '@happyvertical/smrt-planner';
Import path
@happyvertical/smrt-planner
Props
22
Props described
20 of 22
Bindable state
0
Callback events
2
Verified release
0.57.40

Props

NameTypeRequiredDescription
entryMode'browse' | 'planning'NoSuppress the empty cookbook chooser while a trusted host conceives the app.
conversationalActionPlannerHostTurnHandlerNoTrusted host receives only current native user sends, never model output.
onreset() => voidNoNot described
resetDisabledReasonstringNoNot described
controllerPlannerControllerNoThe commands to drive the planner with and the snapshot to read. Defaults to the app's own. A controller made with `createPlannerController` works too; the planner follows its `focus` tab.
headerNav'icons' | 'labelled'NoComplete Planner only: the header's navigation. `'icons'` (default) is the chef's hat and export icon. `'labelled'` shows four bordered, coloured buttons, Specs, Features, Styles and Build, each opening that group of configure tabs (`#/configure/specs/`, `recipes/`, `theme/`, `export/`); Features and Build keep the guide's `planner-customize` / `planner-export` targets, and Build uses `exportLabel` when set. The tab strip then shows only the opened button's group. Accents are the theme's info, success, tertiary and warning colours.
exportLabelstringNoComplete Planner only: visible native export label; blank/omitted keeps the icon-only default.
headerActionPlannerExportActionNoComplete Planner only: primary header action with the same export capture.
exportActionPlannerExportActionNoOptional first primary Export action; native download remains available.
initialConversationPlannerConversationSeedNoComplete Planner only: plain earlier turns, seeded before native sends.
cookbookOffersbooleanNoComplete Planner only: offer library cookbooks in native chat (default true).
basePathstringNoWhere the customization controls' own pages are served from (`''`, `'/planner'`). The complete Planner uses fragment paths for its app sections and model pages, so it needs no host router.
inferencePlannerInferenceNoA model for the planner's assistant; see `createPlannerAssistant`. The complete `Planner` then shows the assistant icon at the end of its header: it opens the chat dock once a model is ready and the AI models page (`#/ai/`, where a visitor downloads a model or connects their own endpoint) before. Without it the planner has no assistant.
layout'own' | 'shell'No`PlannerControls` uses `'own'` by default, editing the menu layout on a headless controller. `'shell'` edits the nearest smrt-svelte `AppShell`. The complete `Planner` always uses its own shell for these controls.
persistence'self' | 'host'No`'self'` (the default) reads the saved cookbook from this browser on mount and saves changes. `'host'` leaves both to the host (the static app's layout does them).
projectPersistencePlannerProjectPersistence | nullNoHost-owned storage UI capability. Supply only from the owner that actually saves the current cookbook; self mode uses the canonical facade by default.
themeControlsbooleanNoShow the theme preset and light/dark controls (they need a theme provider).
advancedStylesHrefstringNoLink to the host's Advanced Styles page, when mounting controls alone.
defaultTitlestringNoThe shell title shown when no cookbook name and no applied library cookbook names the app (the brand label, and the fallback for a section page without a heading). A host that calls the planner something else passes it here. Defaults to `'Planner'`. The complete `Planner` only.
tabsreadonly PlannerTabId[]NoTabs to show, in order; defaults to all.
backLinkPlannerBackLinkNoA host's way back, rendered at the start of the planner's header beside the brand (`{ href: '/', label: 'Back to documentation' }`). Off by default. The complete `Planner` only.
onready(handle: PlannerHandle) => voidNoCalled once the planner is mounted, with its controller and (when `inference` was given) the assistant transport, for a host that drives the plan itself.

Bindable state

This component has no bindable public state.

Callback events

  • onreset() => void
  • onready(handle: PlannerHandle) => void

Examples and explanation