@octanejs/cli 0.0.0 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  "bindings": [
3
3
  {
4
4
  "name": "@octanejs/apollo-client",
5
- "version": "0.1.12",
5
+ "version": "0.1.17",
6
6
  "category": "AI, data, and routing",
7
7
  "upstream": { "package": "@apollo/client", "version": "4.2.6" },
8
8
  "surface": "Complete published client adapter surface: all 18 @apollo/client/react runtime exports and their Apollo 4.2.6 TypeScript declarations, framework-neutral root/testing exports, an Octane MockedProvider, and the Octane-native /react/ssr prerenderStatic entry.",
@@ -16,7 +16,7 @@
16
16
  },
17
17
  {
18
18
  "name": "@octanejs/aria",
19
- "version": "0.0.11",
19
+ "version": "0.0.16",
20
20
  "category": "UI and interaction",
21
21
  "upstream": { "package": "react-aria", "version": "3.50.0" },
22
22
  "surface": "Phases 0-5 + the Tree/Table follow-up complete. Phases 0-1: the utils foundation, SSR utilities, the complete interactions area (usePress, useHover, focus/keyboard family, useLongPress, useMove, Pressable/PressResponder), the focus area (FocusScope with containment/restore/focus managers, FocusRing, useFocusRing, useHasTabbableChild), the i18n area (I18nProvider, locale/collator/formatter/filter hooks), form validation (useFormValidation + stately useFormValidationState), and the leaf hooks: useButton/useToggleButton(+Group), useLabel/useField, useCheckbox(+Group/+Item), useRadio/useRadioGroup, useSwitch, useTextField, useSearchField, useProgressBar, useMeter, useSeparator, useLink, useDisclosure, useToolbar, VisuallyHidden. Phase 2 adds the collections + selection tier: the stately collections engine (CollectionBuilder/Item/Section/useCollection) and selection core (Selection/SelectionManager/useMultipleSelectionState), the stately state hooks (useListState/useSingleSelectListState, useTreeState, useMenuTriggerState/useSubmenuTriggerState, useOverlayTriggerState, useSelectState, useComboBoxState, useTabListState, useNumberFieldState, useSliderState), the aria selection area (useSelectableCollection/-Item/-List, useTypeSelect, ListKeyboardDelegate, DOMLayoutDelegate), and the aria hooks useListBox/useOption/useListBoxSection, useMenu/useMenuItem/useMenuSection/useMenuTrigger/useSubmenuTrigger, useTab/useTabList/useTabPanel, useSlider/useSliderThumb, useNumberField, useGridList(+Item/+Section/+SelectionCheckbox), useTag/useTagGroup, useBreadcrumbs/useBreadcrumbItem — plus the matching react-stately state hooks under `@octanejs/aria/stately`. Phase 3 adds the overlays hooks tier: the stately `useTooltipTriggerState` and the whole aria overlays area (usePreventScroll, ariaHideOutside, DismissButton, PortalProvider, useOverlay, useOverlayTrigger, useOverlayPosition + calculatePosition, Overlay/useOverlayFocusContain, useModal/ModalProvider/OverlayProvider/OverlayContainer, useModalOverlay, usePopover), plus the consumers useDialog, useTooltip/useTooltipTrigger, useSelect/useHiddenSelect/HiddenSelect, and useComboBox. Differential-verified byte-identical against the real react-aria (interactions + button/toggle/checkbox/switch/radio/textfield/progress + tabs + listbox + select + combobox fixtures); dialog/tooltip/overlay focus-trap/dismiss/scroll-lock paths are covered by behavioral tests (the differential rig shares one document, so focus/portal/positioning aren't rig-driveable). Autocomplete (useAutocomplete/useSearchAutocomplete) is deferred — useComboBox does not depend on it in 3.50.0. Phase 4 adds the react-aria-components foundation under `@octanejs/aria/components`: the collections engine re-hosted on a detached real-DOM store (BaseCollection/CollectionBuilder/createLeafComponent/createBranchComponent/Hidden/useCachedChildren + Collection/Section), the RAC plumbing (Provider, useContextProps, slotted contexts, useRenderProps/composeRenderProps with data-* state attributes), and the non-collection components: Button, ToggleButton(+Group), Checkbox(+Group/Field/Button), Switch(+Field/Button), RadioGroup(+Radio/Field/Button), TextField, SearchField, NumberField, Form, Label/Input/TextArea/FieldError, Group, Toolbar, Separator, Header, Heading, Link, ProgressBar, Meter, Slider(+Output/Track/Thumb/Fill), Disclosure(+Group/Panel), DialogTrigger/Dialog, Modal/ModalOverlay, Popover, TooltipTrigger/Tooltip, OverlayArrow, Text, Keyboard, SelectionIndicator, SharedElementTransition. Phase-4 differentials drive the REAL components on both sides byte-identical (Button hover+mid-press, ToggleButton, Checkbox, TextField typing, Disclosure expand/collapse). Phase 5 adds the RAC collection components over that engine: Autocomplete (full — aria useAutocomplete + stately useAutocompleteState now ported), ListBox(+Item/Section/LoadMoreItem), Menu(+MenuTrigger/SubmenuTrigger/MenuItem/MenuSection), Select(+SelectValue), ComboBox(+ComboBoxValue), Tabs(+TabList/Tab/TabPanels/TabPanel), TagGroup(+TagList/Tag), GridList(+Item/Section/Header/LoadMoreItem), Breadcrumbs(+Breadcrumb), and the DragAndDrop context layer (DropIndicator/contexts/DragAndDropHooks type; components' dnd branches are inert — the dnd engine and useDragAndDrop() itself arrive in a later phase, the stub throws). Phase-5 differentials drive the REAL react-aria-components byte-identical (ListBox selection + keyed reverse, Tabs switch, TagGroup multi-select, GridList row selection, Breadcrumbs, ComboBox typing); Menu/Select open-state (portal'd) carries behavioral coverage incl. keyboard-driven submenus. The Tree/Table follow-up adds the remaining collection verticals: stately grid (GridCollection/useGridState) + the full stately table area (TableCollection/useTableState/column-resize state/UNSTABLE_useTreeGridState), the aria tree hooks (useTree/useTreeItem) and the full aria table hook area (useTable family, TableKeyboardDelegate, useTableColumnResize, grid hooks it rides on), RAC Tree(+TreeItem/TreeItemContent/TreeSection/TreeHeader/TreeLoadMoreItem) and RAC Table(+TableHeader/TableBody/Column/Row/Cell/ColumnResizer/ResizableTableContainer/TableFooter/TableLoadMoreItem). Tree structure states and the interactive Table (sort cycling, row selection) are differential-verified byte-identical vs the real react-aria-components; chevron-driven Tree interaction carries behavioral coverage (the rig's virtual clicks cannot faithfully reproduce the focus-effect interplay on the React side). TableLayout lands with the Virtualizer; date/color families and the drag-and-drop engine are not started — see the migration plan.",
@@ -31,23 +31,23 @@
31
31
  },
32
32
  {
33
33
  "name": "@octanejs/base-ui",
34
- "version": "0.1.15",
34
+ "version": "0.1.20",
35
35
  "category": "UI and interaction",
36
36
  "upstream": { "package": "@base-ui/react", "version": "1.6.0" },
37
- "surface": "Alpha, in progress: 28 of 43 upstream subpaths. The foundation, overlay infrastructure, hover/focus interaction layer and popup viewport have landed, along with Dialog, AlertDialog, Popover, Tooltip, PreviewCard, the full form-control set, and the standalone Button/DirectionProvider/CSPProvider/useMediaQuery utilities — ported at full fidelity and differential-verified against the real `@base-ui/react`.",
37
+ "surface": "Alpha, in progress: 32 of 43 upstream subpaths. The foundation, overlay infrastructure, hover/focus interaction layer, list-navigation/typeahead layer and popup viewport have landed, along with Dialog, AlertDialog, Popover, Tooltip, PreviewCard, the full form-control set, and the standalone Button/DirectionProvider/CSPProvider/useMediaQuery utilities — ported at full fidelity and differential-verified against the real `@base-ui/react`. Menu is COMPLETE at all 20 upstream parts — Root/Trigger/Portal/Positioner/Popup, the full item family (Item, LinkItem, CheckboxItem, RadioGroup/RadioItem and their indicators, Group/GroupLabel, Separator), Arrow, Backdrop, Viewport, and SubmenuRoot/SubmenuTrigger. Menubar and ContextMenu have landed too, so the whole menu family is complete. Toast is complete at all 11 parts, including the imperative toast manager, auto-dismiss timers with hover/focus pausing, and promise toasts; swipe-to-dismiss is covered too.",
38
38
  "divergences": [
39
- "Handlers receive native DOM events (no synthetic layer): visible text controls use per-edit `input`, while the NumberField form-facing number input intentionally observes native `change` commits.",
39
+ "Handlers receive native DOM events (no synthetic layer): visible text controls use per-edit `input`, while the NumberField form-facing number input intentionally observes native `change` commits. React's synthetic-only `event.isPropagationStopped()` (used by Menu's popup keyboard relay) becomes a native `event.cancelBubble` read.",
40
40
  "`forwardRef` becomes ref-as-prop; `className` composes via octane's `normalizeClass` (the render-prop string merge matches Base UI exactly).",
41
41
  "The vendored `floating-ui-react` surface is internal rather than republished, so its standalone `useHover` combiner is not ported — no Base UI component uses it.",
42
42
  "Tooltips outside a `Tooltip.Provider` still share the delay-group context's module-level default refs, so opening one closes another. Transcribed from Base UI rather than chosen; pinned by `tests/tooltip-delay-group.test.ts`.",
43
43
  "`NumberField.ScrubArea` and hold-to-repeat stepping remain unported; the steppers respond to single presses only."
44
44
  ],
45
45
  "ssr": "Dedicated Node-mode tests cover server snapshots, accessible separators, edge-aligned slider visibility, and closed dialogs; hydration adopts Vite-compiled Octane server markup, transitions to the client snapshot, and preserves interaction. Open overlays and remaining components are not yet covered.",
46
- "verified": "2026-07-26"
46
+ "verified": "2026-07-28"
47
47
  },
48
48
  {
49
49
  "name": "@octanejs/cmdk",
50
- "version": "0.1.0",
50
+ "version": "0.1.5",
51
51
  "category": "UI and interaction",
52
52
  "upstream": { "package": "cmdk", "version": "1.1.1" },
53
53
  "surface": "Complete against the published `cmdk@1.1.1` public surface: `Command` (the root itself) and the `CommandRoot` named export, `Command.Input`, `Command.List`, `Command.Item`, `Command.Group`, `Command.Separator`, `Command.Dialog`, `Command.Empty`, `Command.Loading`, the flat `CommandX` aliases, `useCommandState`, and `defaultFilter` — with the DOM-authoritative store and item/group registration, `useValue` text-content inference, `onInput`-driven search, score filtering plus item and group DOM sorting, keyboard navigation (arrows/Home/End/vim/Enter), controlled `value`/`onValueChange`/`loop`/`shouldFilter`/custom `filter`/`forceMount`, the `--cmdk-list-height` ResizeObserver, and a Radix-backed `Command.Dialog`. `asChild` is the one unsupported prop (see divergences).",
@@ -78,7 +78,7 @@
78
78
  },
79
79
  {
80
80
  "name": "@octanejs/devtools",
81
- "version": "0.0.5",
81
+ "version": "0.0.10",
82
82
  "category": "Styling, tests, and devtools",
83
83
  "upstream": { "package": "octane", "version": "workspace" },
84
84
  "surface": "Octane-native DevTools plugin (not an upstream port): renders live runtime diagnostics into a TanStack Devtools host via @tanstack/devtools-event-client. P1 ships the Components tree + state inspector.",
@@ -88,7 +88,7 @@
88
88
  },
89
89
  {
90
90
  "name": "@octanejs/dexie",
91
- "version": "0.1.10",
91
+ "version": "0.1.15",
92
92
  "category": "AI, data, and routing",
93
93
  "upstream": { "package": "dexie-react-hooks", "version": "4.4.0" },
94
94
  "surface": "Port of the public dexie-react-hooks surface: useObservable, useLiveQuery, useSuspendingObservable, useSuspendingLiveQuery, usePermissions, and useDocument, with Dexie's framework-neutral API re-exported from the package root.",
@@ -102,7 +102,7 @@
102
102
  },
103
103
  {
104
104
  "name": "@octanejs/dnd-kit",
105
- "version": "0.1.12",
105
+ "version": "0.1.17",
106
106
  "category": "UI and interaction",
107
107
  "upstream": { "package": "@dnd-kit/react", "version": "0.5.0" },
108
108
  "surface": "Complete modern dnd-kit React-adapter surface: DragDropProvider, DragOverlay, useDraggable/useDroppable, manager/monitor/operation hooks, PointerSensor/KeyboardSensor re-exports, the public signal-hook utilities, useSortable, and all four upstream entry points.",
@@ -115,7 +115,7 @@
115
115
  },
116
116
  {
117
117
  "name": "@octanejs/floating-ui",
118
- "version": "0.1.16",
118
+ "version": "0.1.21",
119
119
  "category": "UI and interaction",
120
120
  "upstream": { "package": "@floating-ui/react", "version": "0.27.19" },
121
121
  "surface": "Positioning (`useFloating`, ref-aware `arrow`, the `@floating-ui/dom` middleware re-exports, the floating tree), the full interaction-hook set (`useInteractions`, `useHover` + `safePolygon`, `useClick`, `useFocus`, `useDismiss`, `useRole`, `useClientPoint`, `useListNavigation`, `useTypeahead`), the component layer (`FloatingPortal`, `FloatingOverlay`, `FloatingFocusManager`, `FloatingArrow`, `FloatingList`, `Composite`), and transitions + `FloatingDelayGroup`.",
@@ -125,7 +125,7 @@
125
125
  },
126
126
  {
127
127
  "name": "@octanejs/hook-form",
128
- "version": "0.1.14",
128
+ "version": "0.1.19",
129
129
  "category": "Forms and content",
130
130
  "upstream": { "package": "react-hook-form", "version": "7.81.0" },
131
131
  "surface": "Complete port of react-hook-form 7.81.0 (upstream commit b7df98c2) with the upstream test suite ported: `useForm`, `useController`, `useFieldArray`, `useFormState`, `useWatch`, `useFormContext`/`FormProvider`, schema resolvers, and all validation modes.",
@@ -138,7 +138,7 @@
138
138
  },
139
139
  {
140
140
  "name": "@octanejs/i18next",
141
- "version": "0.1.12",
141
+ "version": "0.1.17",
142
142
  "category": "Forms and content",
143
143
  "upstream": { "package": "react-i18next", "version": "17.0.9" },
144
144
  "surface": "Complete runtime port of react-i18next 17.0.9: useTranslation, I18nextProvider/context, Trans/TransWithoutContext, IcuTrans/IcuTransWithoutContext, Translation, the withTranslation/withSSR HOCs, useSSR, namespace reporting, initialization/default helpers, and the root ICU helper exports over the unchanged i18next core.",
@@ -153,7 +153,7 @@
153
153
  },
154
154
  {
155
155
  "name": "@octanejs/jotai",
156
- "version": "0.1.14",
156
+ "version": "0.1.19",
157
157
  "category": "Shared state",
158
158
  "upstream": { "package": "jotai", "version": "2.20.2" },
159
159
  "surface": "Complete 1:1 port: the framework-agnostic vanilla core (`jotai/vanilla`, `/vanilla/utils`, `/vanilla/internals`) is reused verbatim; the React layer (`Provider`, `useStore`, `useAtom`, `useAtomValue`, `useSetAtom`) and `react/utils` (`useResetAtom`, `useReducerAtom`, `useAtomCallback`, `useHydrateAtoms`) are ported onto octane hooks, preserving upstream's useReducer force-update + effect-subscription implementation, async atoms via octane's `use()`.",
@@ -163,7 +163,7 @@
163
163
  },
164
164
  {
165
165
  "name": "@octanejs/lexical",
166
- "version": "0.1.16",
166
+ "version": "0.1.21",
167
167
  "category": "Forms and content",
168
168
  "upstream": { "package": "@lexical/react", "version": "0.46.0" },
169
169
  "surface": "35 of 39 `@lexical/react` modules ported: composer + contexts, the editable surface, plain/rich text, and the full plugin/menu set (history, lists + check-list, links, tables, markdown shortcuts, the typeahead/node-menu/context-menu family, draggable-block, character-limit, …) plus the `useLexical*` hooks.",
@@ -176,7 +176,7 @@
176
176
  },
177
177
  {
178
178
  "name": "@octanejs/lucide",
179
- "version": "0.1.12",
179
+ "version": "0.1.17",
180
180
  "category": "UI and interaction",
181
181
  "upstream": { "package": "lucide-react", "version": "1.24.0" },
182
182
  "surface": "Complete against the published `lucide-react@1.24.0` runtime surface: every canonical icon and alias, the `icons` namespace, `Icon`, `createLucideIcon`, `LucideProvider`, `useLucideContext`, `DynamicIcon`, `iconNames`, `dynamicIconImports`, and per-icon subpath imports.",
@@ -187,9 +187,23 @@
187
187
  "ssr": "Supported and tested: icons and provider defaults render through `octane/server`, and client hydration adopts the server-rendered SVG element.",
188
188
  "verified": "2026-07-13"
189
189
  },
190
+ {
191
+ "name": "@octanejs/mantine-hooks",
192
+ "version": "0.1.3",
193
+ "category": "UI and interaction",
194
+ "upstream": { "package": "@mantine/hooks", "version": "9.5.0" },
195
+ "surface": "Complete @mantine/hooks 9.5.0 runtime export surface: state, timing, storage, viewport, input, focus, pointer, observer, hotkey, scrolling, collapse, drag, splitter, mask, and utility hooks.",
196
+ "divergences": [
197
+ "Hooks use Octane's compiler-injected hook slots and runtime lifecycle instead of React's dispatcher.",
198
+ "DOM subscriptions receive native browser events.",
199
+ "React is retained only as a source-compatibility type vocabulary for refs, events, actions, and CSS properties; it is not loaded at runtime."
200
+ ],
201
+ "ssr": "Dedicated Node-mode coverage verifies deterministic state-hook output and guarded media-query initial values without a browser. DOM-only effects remain inert during server rendering.",
202
+ "verified": "2026-07-28"
203
+ },
190
204
  {
191
205
  "name": "@octanejs/mdx",
192
- "version": "0.1.14",
206
+ "version": "0.1.19",
193
207
  "category": "Forms and content",
194
208
  "upstream": { "package": "@mdx-js/mdx", "version": "3.1.1" },
195
209
  "surface": "The full compile-don't-interpret pipeline: `.mdx`/`.md` → `@mdx-js/mdx` (reused verbatim) → octane compiler, via the `octaneMdx()` Vite plugin plus the `./compile` and `./server` entries; compiler warnings propagate through direct and Vite compile surfaces with authored `.mdx` ranges; `@mdx-js/react`'s provider layer (`MDXProvider`/`useMDXComponents`) is ported onto octane context. The octane website runs on it.",
@@ -199,9 +213,23 @@
199
213
  "ssr": "Full SSR + hydration coverage — server-compiled documents render via `renderToString` and hydrate byte-for-byte (`ssr.test.ts`, `hydration.test.ts`).",
200
214
  "verified": "2026-07-17"
201
215
  },
216
+ {
217
+ "name": "@octanejs/mobx",
218
+ "version": "0.1.3",
219
+ "category": "Shared state",
220
+ "upstream": { "package": "mobx-react-lite", "version": "4.1.1", "core": "mobx@6.16.1" },
221
+ "surface": "The framework-independent MobX core is re-exported verbatim. The function-component binding includes observer, Observer, useObserver, useLocalObservable, enableStaticRendering, isUsingStaticRendering, and the deprecated useStaticRendering alias.",
222
+ "divergences": [
223
+ "React class components and the legacy mobx-react Provider/inject APIs are not included.",
224
+ "forwardRef compatibility options are omitted because Octane uses refs as props.",
225
+ "React-specific batching, prop-types validation, React DevTools integration, and useDebugValue output are omitted."
226
+ ],
227
+ "ssr": "enableStaticRendering(true) renders observed components without creating a Reaction or retaining observable subscriptions.",
228
+ "verified": "2026-07-28"
229
+ },
202
230
  {
203
231
  "name": "@octanejs/motion",
204
- "version": "0.1.16",
232
+ "version": "0.1.21",
205
233
  "category": "UI and interaction",
206
234
  "upstream": { "package": "motion", "version": "12.42.2" },
207
235
  "surface": "Core surface: `motion.<tag>` (animate, gestures, variants with propagation/stagger, drag, layout basics), `AnimatePresence`, `MotionConfig`, and the motion-value hooks (`useMotionValue`, `useScroll`, `useTransform`, `useSpring`, `useAnimate`, `useMotionValueEvent`); motion-dom's animation engine and gesture primitives are reused verbatim.",
@@ -214,7 +242,7 @@
214
242
  },
215
243
  {
216
244
  "name": "@octanejs/nuqs",
217
- "version": "0.1.6",
245
+ "version": "0.1.11",
218
246
  "category": "AI, data, and routing",
219
247
  "upstream": { "package": "nuqs", "version": "2.9.1" },
220
248
  "surface": "Full vendored port: the framework-agnostic core (`parsers`/`parseAs*`/`createParser`, `createSerializer`, `createLoader`, `createStandardSchemaV1`, the throttle/debounce update queues, sync emitter and URL encoding) is vendored verbatim from nuqs 2.9.1; the React layer (`useQueryState`, `useQueryStates`, the `useSyncExternalStores` helper and the adapter context) is ported onto octane's hooks — same `useState`/`useEffect`/`useSyncExternalStore` implementation shape as upstream, so re-render and URL-reconciliation behaviour matches nuqs on React. Adapters ported: `@octanejs/nuqs/adapters/react` (`NuqsAdapter`, `enableHistorySync`), `/adapters/custom` (`unstable_createAdapterProvider`), `/adapters/testing` (`NuqsTestingAdapter`, `withNuqsTestingAdapter`). Server surface (`@octanejs/nuqs/server`) exposes `createLoader`/`createSerializer`/parsers/`createStandardSchemaV1`.",
@@ -227,9 +255,23 @@
227
255
  "ssr": "The server entry (`@octanejs/nuqs/server`) is react-free and usable during SSR for parsing/serialising search params; the client hooks read `location.search` through `useSyncExternalStore` with an empty-search server snapshot (upstream parity). No dedicated SSR hydration tests yet.",
228
256
  "verified": "2026-07-20"
229
257
  },
258
+ {
259
+ "name": "@octanejs/phosphor-icons",
260
+ "version": "0.0.2",
261
+ "category": "UI and interaction",
262
+ "upstream": { "package": "@phosphor-icons/react", "version": "2.1.10" },
263
+ "surface": "All 1,512 canonical icons from @phosphor-icons/core@2.1.1, including the upstream deprecated Icon-suffixed aliases, six weights, IconContext, IconBase, root exports, and per-icon imports.",
264
+ "divergences": [
265
+ "Icon refs are normal Octane ref props rather than React forwardRef components.",
266
+ "Event callbacks receive native DOM events rather than React synthetic events.",
267
+ "The React package's SSR namespace is unnecessary because Octane icons use the same components on client and server."
268
+ ],
269
+ "ssr": "Supported and tested against @phosphor-icons/react/ssr for every weight; hydration adopts and updates server-rendered SVG hosts.",
270
+ "verified": "2026-07-29"
271
+ },
230
272
  {
231
273
  "name": "@octanejs/radix",
232
- "version": "0.1.16",
274
+ "version": "0.1.21",
233
275
  "category": "UI and interaction",
234
276
  "upstream": { "package": "radix-ui", "version": "1.6.4" },
235
277
  "surface": "Complete against the unified `radix-ui@1.6.4` component surface — all primitives (incl. Dialog, the Menu/DropdownMenu/ContextMenu family, Popover, Tooltip, Select, NavigationMenu, Toast, Menubar, Slider, the form controls, and OneTimePasswordField/PasswordToggleField) plus the composition/state/overlay foundations — verified by a differential suite (same fixtures through octane and the real radix-ui, byte-identical DOM).",
@@ -240,21 +282,51 @@
240
282
  "ssr": "SSR/hydration coverage for the overlay/portal components is still open (tracked in the migration plan).",
241
283
  "verified": "2026-07-21"
242
284
  },
285
+ {
286
+ "name": "@octanejs/rainbowkit",
287
+ "version": "0.0.2",
288
+ "category": "Web3",
289
+ "upstream": { "package": "@rainbow-me/rainbowkit", "version": "2.2.11" },
290
+ "surface": "Octane-native RainbowKitProvider, ConnectButton and ConnectButton.Custom, WalletButton, connect/account/chain modal hooks, connector selection, account/chain actions, native accessible dialogs, and light/dark/midnight themes.",
291
+ "divergences": [
292
+ "IMPORTANT: upstream RainbowKit 2.2.11 declares wagmi ^2.9.0. This adapter intentionally consumes @octanejs/wagmi v3 and is not drop-in dependency or peer-range parity.",
293
+ "The React DOM and vanilla-extract implementation is replaced by native Octane TSRX, DOM events, focus/scroll containment, and CSS custom properties.",
294
+ "The wallet list merges optional configured descriptors with the enclosing Wagmi v3 connector list, deduplicated by canonical connector uid with explicit id/name fallback. Unavailable configured entries remain visible with a reason. RainbowKit wallet factories, vendor SDKs, and WalletConnect project configuration remain application-owned.",
295
+ "Authentication, recent transactions, ENS/avatar resolution, localization, cool mode, account avatars/balances, chain icons, and pixel-identical upstream themes are unsupported and their upstream props are not accepted.",
296
+ "rainbowTheme is an explicitly documented Octane-only purple/rounded preset; it is not an upstream RainbowKit export."
297
+ ],
298
+ "ssr": "The provider and controls emit deterministic disconnected markup without browser wallet access. Connector discovery and live Wagmi state become authoritative after hydration; no hydrated UI state authorizes wallet actions.",
299
+ "verified": "2026-07-29"
300
+ },
301
+ {
302
+ "name": "@octanejs/react-error-boundary",
303
+ "version": "0.1.3",
304
+ "category": "UI and interaction",
305
+ "upstream": { "package": "react-error-boundary", "version": "6.1.2" },
306
+ "surface": "Complete against the published react-error-boundary 6.1.2 function/type surface adapted to Octane: ErrorBoundary, ErrorBoundaryContext, getErrorMessage, fallback variants, onError/onReset callbacks, resetKeys, useErrorBoundary (including error), withErrorBoundary, OnErrorCallback, and UseErrorBoundaryApi.",
307
+ "divergences": [
308
+ "Component stack information is currently an empty string because Octane does not expose a public component-stack formatter.",
309
+ "Event-handler and asynchronous errors must be passed to useErrorBoundary().showBoundary(), matching upstream's explicit forwarding requirement.",
310
+ "Server rendering that must match upstream error propagation uses the explicit @octanejs/react-error-boundary/server entry."
311
+ ],
312
+ "ssr": "The explicit server entry renders children without a boundary so descendant errors propagate, matching react-error-boundary 6.1.2.",
313
+ "verified": "2026-07-29"
314
+ },
243
315
  {
244
316
  "name": "@octanejs/recharts",
245
- "version": "0.1.14",
317
+ "version": "0.1.19",
246
318
  "category": "Data-heavy screens",
247
319
  "upstream": { "package": "recharts", "version": "3.9.2" },
248
- "surface": "Partial (phases 0–1 of 5): the static `BarChart`/`LineChart` pipeline end-to-end (`isAnimationActive={false}`), byte-identical to upstream in the differential rig; the Redux/RTK state layer, `Surface`/`Layer`, and the pure shape set are in place.",
320
+ "surface": "Broad runtime support across cartesian, polar, hierarchical, tooltip, legend, responsive-container, shape, and chart-state surfaces. `Brush` and `Treemap` remain intentionally unsupported.",
249
321
  "divergences": [
250
322
  "Chart events coordinate through octane's native delegated events rather than React's synthetic layer."
251
323
  ],
252
324
  "ssr": "Untested; text measurement (`getStringSize`) returns 0×0 under SSR.",
253
- "verified": "2026-07-07"
325
+ "verified": "2026-07-29"
254
326
  },
255
327
  {
256
328
  "name": "@octanejs/redux",
257
- "version": "0.1.14",
329
+ "version": "0.1.19",
258
330
  "category": "Shared state",
259
331
  "upstream": { "package": "react-redux", "version": "9.3.0" },
260
332
  "surface": "The hooks + `Provider` surface of react-redux 9.3.0 (`useSelector`, `useDispatch`, `useStore`, and the custom-context factory variants) on octane's `useSyncExternalStore`; works with any Redux 5 / Redux Toolkit store. Export parity is pinned by test.",
@@ -267,7 +339,7 @@
267
339
  },
268
340
  {
269
341
  "name": "@octanejs/redux-toolkit",
270
- "version": "0.1.12",
342
+ "version": "0.1.17",
271
343
  "category": "Shared state",
272
344
  "upstream": { "package": "@reduxjs/toolkit", "version": "2.12.0" },
273
345
  "surface": "Complete four-entry-point port: the framework-agnostic Toolkit and RTK Query core are re-exported verbatim; `/query/react` provides generated query, lazy-query, mutation, infinite-query, prefetch hooks and `ApiProvider`; `/react` provides the dynamic-middleware dispatch-hook integration.",
@@ -280,7 +352,7 @@
280
352
  },
281
353
  {
282
354
  "name": "@octanejs/remix-router",
283
- "version": "0.1.13",
355
+ "version": "0.1.18",
284
356
  "category": "AI, data, and routing",
285
357
  "upstream": { "package": "react-router", "version": "8.2.0" },
286
358
  "surface": "COMPLETE port (all phases shipped — full export parity, EXPECTED_MISSING is empty): the framework-agnostic router core (lib/router/* + framework-free helpers, ~12k lines) is vendored byte-close and validated by 161 ported upstream router tests plus four focused v8.2 regression pins; the data-mode React layer (createMemoryRouter, RouterProvider incl. the /dom flushSync variant, Outlet, Await, RenderErrorBoundary/errorElement, Link + useLinkClickHandler, and the full read-hook family) and the declarative layer (MemoryRouter, Routes/Route in BOTH children forms — descriptor children walked upstream-style, .tsrx block children via a registration collector — Navigate, createRoutesFromChildren/Elements, the UNSAFE_With*Props wrappers) and the DOM layer (createBrowserRouter/createHashRouter with __staticRouterHydrationData parsing, BrowserRouter/HashRouter/unstable_HistoryRouter, Link + NavLink incl. the isActive/isPending render props, useLinkClickHandler, useSearchParams) and the mutation layer (Form on octane's native delegated submit event, useSubmit incl. JSON encTypes, useFormAction with ?index resolution, useFetcher/useFetchers incl. fetcher.Form/load/submit/reset and shared keys), the guard/scroll layer (useBlocker, unstable_usePrompt, ScrollRestoration/UNSAFE_useScrollRestoration, useBeforeUnload, useViewTransitionState, unstable_useRoute/unstable_useRouterState), static SSR (StaticRouter, StaticRouterProvider, createStaticHandler/createStaticRouter rendering through octane/server — markup byte-identical to react-dom/server after marker stripping, hydration payload identical), and the vendored cookie/session server runtime (createCookie/createSession/createCookieSessionStorage/createMemorySessionStorage) are transcribed onto octane and differential-verified against real react-router. Framework-mode + RSC names (Meta/Links/Scripts, createRequestHandler, UNSAFE_ internals) exist as THROWING STUBS so parity is honest.",
@@ -294,15 +366,31 @@
294
366
  "ssr": "Shipped: StaticRouter/StaticRouterProvider/createStaticHandler/createStaticRouter render through octane/server (remix-router-ssr vitest project compiles the whole graph in server mode; markup matches react-dom/server byte-for-byte after framework-marker stripping). Block-children <Routes> is CLIENT-only (the registration collector runs in layout effects) — use descriptor children or route objects for SSR.",
295
367
  "verified": "2026-07-13"
296
368
  },
369
+ {
370
+ "name": "@octanejs/rxjs",
371
+ "version": "0.1.1",
372
+ "category": "Shared state",
373
+ "upstream": {
374
+ "package": "@react-rxjs/core + @react-rxjs/utils",
375
+ "version": "0.10.8 / 0.9.7"
376
+ },
377
+ "surface": "Core bind/state/Subscribe APIs and the complete @react-rxjs/utils surface.",
378
+ "divergences": [
379
+ "StateObservable values are not JSX nodes; render them through useStateObservable or bind.",
380
+ "@react-rxjs/dom is omitted because octane batches updates without ReactDOM.unstable_batchedUpdates."
381
+ ],
382
+ "ssr": "useSyncExternalStore supplies the state snapshot during server rendering; browser-only ReactDOM batching helpers are intentionally absent.",
383
+ "verified": "2026-07-30"
384
+ },
297
385
  {
298
386
  "name": "@octanejs/shadcn",
299
- "version": "0.0.2",
387
+ "version": "0.0.7",
300
388
  "category": "UI and interaction",
301
389
  "upstream": {
302
390
  "package": "shadcn-ui/ui (radix base)",
303
391
  "version": "4baadbc6517070ae8f8feb2c97037adc2b305544 + shadcn@4.14.1"
304
392
  },
305
- "surface": "Tiers 1-2 complete plus the first Tier-3 composites — 40 component families (~185 exports). STYLING FLAVOR: the package is mid-migration from the pinned bases/radix semantic-hook (cn-*) system to the default-Tailwind utilities-inlined flavor (user-directed; class strings verbatim from supplied sources or upstream new-york-v4). Migrated: accordion, alert, alert-dialog, avatar, badge, breadcrumb, button, card, checkbox, collapsible, dialog, input, label, progress, radio-group, separator, skeleton, slider, sonner, switch, table, tabs, textarea, toggle, toggle-group. Still cn-*-hooked (style-sheet-dependent): select, scroll-area, sheet, tooltip, popover, hover-card, dropdown-menu, context-menu, menubar, navigation-menu, pagination, sidebar, field, item, empty, native-select, kbd, spinner. Structure/behavior are unchanged by the flavor migration; the shipped registry (packages/shadcn/registry, 47 items) carries the current flavors and the migrated ones install through the upstream shadcn CLI without its cn-* style-transform stripping.",
393
+ "surface": "Two primitive bases. RADIX base (default, reached at the bare subpaths): tiers 1-2 complete plus the first tier-3 composites — 40 component families. REACT ARIA base (@octanejs/shadcn/react-aria/<Family>): 33 families over @octanejs/aria/components, taken from upstream's aria-nova style and verified class-string identical to it; not ported are select and sonner (need input-group and next-themes), while hover-card, menubar and navigation-menu do not exist in upstream's aria base. Sources live at src/bases/<base>/ui/ with lib/hooks/styles shared. DISTRIBUTION is registry-first with per-family subpath exports; the monolithic root entry is removed. STYLING FLAVOR: the radix base is mid-migration from the pinned cn-* semantic-hook system to the default-Tailwind utilities-inlined flavor (user-directed); the react-aria base is uniformly the utilities-inlined aria-nova output. The shipped registry (packages/shadcn/registry) still emits the radix base only — the per-base registry namespace is decided when the first consumer needs it.",
306
394
  "divergences": [
307
395
  "No `\"use client\"` directives anywhere: octane has no Server Components, so the RSC axis does not exist here.",
308
396
  "Refs are props (octane has no forwardRef) — upstream v4 already dropped forwardRef, so component shapes match.",
@@ -318,11 +406,11 @@
318
406
  "The packaged theme.css omits the upstream site-only tokens (--surface, --code-*, --selection*) and inlines concrete oklch values for --chart-1..5 (upstream references Tailwind palette variables, which require a Tailwind build this standalone file cannot assume)."
319
407
  ],
320
408
  "ssr": "Tier 1 is fully server-rendered and tested (17 families through renderToString with no browser globals, including Slot-composed hosts), with hydration adoption pinned for representative shapes (plain host, Button-asChild anchor, nested Table) — zero mismatch, preserved node identity. Tier 2's portal-free components (Checkbox, RadioGroup, Switch, Slider, Tabs, Toggle, ToggleGroup, Accordion, Collapsible, AspectRatio, Progress) are server-rendered and tested. Field is SSR-safe (no portals/browser globals); Sidebar server-renders its static desktop branch (useIsMobile is false on the server; the mobile Sheet branch and tooltip portals are client-only). Portal-backed overlays/menus/Select are excluded until the radix binding supports overlay SSR; ScrollArea awaits verification of its viewport style injection on the server.",
321
- "verified": "2026-07-25"
409
+ "verified": "2026-07-30"
322
410
  },
323
411
  {
324
412
  "name": "@octanejs/sonner",
325
- "version": "0.1.12",
413
+ "version": "0.1.17",
326
414
  "category": "UI and interaction",
327
415
  "upstream": { "package": "sonner", "version": "2.0.7" },
328
416
  "surface": "Complete against the published `sonner@2.0.7` public surface: `Toaster`, the callable `toast` API and all methods, `useSonner`, promise lifecycle, multiple toaster targeting, stacked layout, themes, styling, focus management, timers, and swipe dismissal.",
@@ -334,9 +422,22 @@
334
422
  "ssr": "Supported and tested: `Toaster` server-renders without browser globals, hydrates by adopting the server host, and can show the first client-created toast without replacing it.",
335
423
  "verified": "2026-07-13"
336
424
  },
425
+ {
426
+ "name": "@octanejs/streamdown",
427
+ "version": "0.1.1",
428
+ "category": "Forms and content",
429
+ "upstream": { "package": "streamdown", "version": "2.5.0" },
430
+ "surface": "Complete Streamdown 2.5.0 root runtime and public type surface, plus the official code 1.1.1, math 1.0.2, Mermaid 1.0.2, and CJK 1.0.3 plugins exposed through ./code, ./math, ./mermaid, and ./cjk.",
431
+ "divergences": [
432
+ "Components, hooks, contexts, lazy boundaries, portals, element inspection, and the HAST JSX runtime target Octane; callbacks receive native DOM events instead of React synthetic events.",
433
+ "The four official plugins are consolidated as subpath exports of @octanejs/streamdown instead of separate packages."
434
+ ],
435
+ "ssr": "Static and streaming Markdown, custom components, code blocks, math markup, and hydration are covered by dedicated server and hydration tests. Browser-only controls and deferred Mermaid rendering remain inert until mounted.",
436
+ "verified": "2026-07-30"
437
+ },
337
438
  {
338
439
  "name": "@octanejs/styled-components",
339
- "version": "0.1.9",
440
+ "version": "0.1.14",
340
441
  "category": "Styling, tests, and devtools",
341
442
  "upstream": { "package": "styled-components", "version": "6.4.3" },
342
443
  "surface": "Full v6 web API, ported from the upstream 6.4.3 sources: `styled` with every HTML/SVG tag shortcut, `.attrs`/`.withConfig` chaining, `css`, `keyframes`, `createGlobalStyle`, `createTheme`, `ThemeProvider`/`ThemeContext`/`ThemeConsumer`/`useTheme`/`withTheme`, `StyleSheetManager`/`StyleSheetContext`/`StyleSheetConsumer` (targets, namespaces, vendor prefixing, stylis plugins, `shouldForwardProp`), `ServerStyleSheet`, `isStyledComponent`, `version`, and `__PRIVATE__`. Component selectors, folding (`styled(Styled)`), transient `$` props, `as`/`forwardedAs`, and the grouped CSSOM sheet engine (with upstream `data-styled` rehydration) all behave as upstream. The React Native surface and the RSC-only `stylisPluginRSC` are not ported.",
@@ -355,7 +456,7 @@
355
456
  },
356
457
  {
357
458
  "name": "@octanejs/stylex",
358
- "version": "0.1.16",
459
+ "version": "0.1.21",
359
460
  "category": "Styling, tests, and devtools",
360
461
  "upstream": { "package": "@stylexjs/stylex", "version": "0.19.0" },
361
462
  "surface": "Full compile-time integration: re-exports the StyleX runtime API (`create`, `props`, `attrs`, `keyframes`, `defineVars`, `createTheme`) and registers as an import source; the `/vite` plugin runs the StyleX compiler over octane's compiled output and emits one static atomic stylesheet (`virtual:stylex.css`) with zero StyleX runtime in the bundle.",
@@ -368,7 +469,7 @@
368
469
  },
369
470
  {
370
471
  "name": "@octanejs/tanstack-ai",
371
- "version": "0.0.11",
472
+ "version": "0.0.16",
372
473
  "category": "AI, data, and routing",
373
474
  "upstream": { "package": "@tanstack/ai-react", "version": "0.17.0" },
374
475
  "surface": "Ports the @tanstack/ai-react 0.17.0 hook surface (useChat, useRealtimeChat, useGeneration, useGenerateImage/Audio/Speech/Video, useTranscription, useSummarize, useAudioRecorder, useMcpAppBridge) while reusing @tanstack/ai 0.41.0 and @tanstack/ai-client 0.21.0 unchanged and mirroring all 30 @tanstack/ai-client convenience re-exports from the upstream index.",
@@ -387,7 +488,7 @@
387
488
  },
388
489
  {
389
490
  "name": "@octanejs/tanstack-devtools",
390
- "version": "0.0.11",
491
+ "version": "0.0.16",
391
492
  "category": "Styling, tests, and devtools",
392
493
  "upstream": { "package": "@tanstack/react-devtools", "version": "0.10.7" },
393
494
  "surface": "Ports the @tanstack/react-devtools 0.10.7 public surface (the `TanStackDevtools` component plus its plugin/init types) onto Octane while reusing the framework-agnostic `@tanstack/devtools` 0.12.5 core (`TanStackDevtoolsCore`) unchanged. Plugin, title, and custom-trigger content authored as Octane elements is portaled into the containers the core creates.",
@@ -402,7 +503,7 @@
402
503
  },
403
504
  {
404
505
  "name": "@octanejs/tanstack-form",
405
- "version": "0.0.11",
506
+ "version": "0.0.16",
406
507
  "category": "Forms and content",
407
508
  "upstream": { "package": "@tanstack/react-form", "version": "1.33.2" },
408
509
  "surface": "Ports the complete @tanstack/react-form 1.33.2 adapter surface (`useForm`, `useField`, form and field groups, hook contexts and component composition) while re-exporting @tanstack/form-core 1.33.2 unchanged and using @octanejs/tanstack-store for subscriptions.",
@@ -416,7 +517,7 @@
416
517
  },
417
518
  {
418
519
  "name": "@octanejs/tanstack-hotkeys",
419
- "version": "0.0.6",
520
+ "version": "0.0.11",
420
521
  "category": "UI and interaction",
421
522
  "upstream": { "package": "@tanstack/react-hotkeys", "version": "0.10.0" },
422
523
  "surface": "Complete: the full upstream hook surface (`useHotkey`, `useHotkeys`, `useHeldKeys`, `useHeldKeyCodes`, `useKeyHold`, `useHotkeySequence`, `useHotkeySequences`, `useHotkeyRecorder`, `useHotkeySequenceRecorder`, `useHotkeyRegistrations`) plus `HotkeysProvider`/`useHotkeysContext`/`useDefaultHotkeysOptions`, re-exporting the framework-agnostic `@tanstack/hotkeys@0.8.0` core unchanged; store subscriptions go through `@octanejs/tanstack-store`.",
@@ -428,7 +529,7 @@
428
529
  },
429
530
  {
430
531
  "name": "@octanejs/tanstack-pacer",
431
- "version": "0.0.6",
532
+ "version": "0.0.11",
432
533
  "category": "UI and interaction",
433
534
  "upstream": { "package": "@tanstack/react-pacer", "version": "0.22.1" },
434
535
  "surface": "Complete: every upstream hook family — debouncer (`useDebouncer`, `useDebouncedState`, `useDebouncedValue`, `useDebouncedCallback`), throttler, rate-limiter, queuer, batcher, and their async variants (async-debouncer, async-throttler, async-rate-limiter, async-queuer, async-batcher) — plus `PacerProvider`/`usePacerContext`/`useDefaultPacerOptions`, the per-instance `Subscribe` render-prop component, and the upstream subpath exports (`/debouncer`, `/async-retryer`, `/types`, `/utils`, ...), re-exporting the framework-agnostic `@tanstack/pacer@0.21.1` core unchanged.",
@@ -440,7 +541,7 @@
440
541
  },
441
542
  {
442
543
  "name": "@octanejs/tanstack-query",
443
- "version": "0.1.16",
544
+ "version": "0.1.21",
444
545
  "category": "AI, data, and routing",
445
546
  "upstream": { "package": "@tanstack/react-query", "version": "5.101.3" },
446
547
  "surface": "Complete: 58/58 runtime exports plus the full TypeScript surface; the export surface is byte-identical to upstream in both directions (locked by test), and `@tanstack/query-core` is re-exported verbatim.",
@@ -452,7 +553,7 @@
452
553
  },
453
554
  {
454
555
  "name": "@octanejs/tanstack-router",
455
- "version": "0.1.16",
556
+ "version": "0.1.21",
456
557
  "category": "AI, data, and routing",
457
558
  "upstream": { "package": "@tanstack/react-router", "version": "1.170.18" },
458
559
  "surface": "Octane's TanStack Router binding: typed route factories and hooks, the full Match pipeline and lifecycle, file routes with TSRX-aware generator integration, full Link navigation/preloading/masking behavior, blocking, Await/deferred hydration, scroll restoration, lazy routes, not-found handling, document/head assets, and client/server SSR entries.",
@@ -466,7 +567,7 @@
466
567
  },
467
568
  {
468
569
  "name": "@octanejs/tanstack-router-ssr-query",
469
- "version": "0.0.6",
570
+ "version": "0.0.11",
470
571
  "category": "AI, data, and routing",
471
572
  "upstream": { "package": "@tanstack/react-router-ssr-query", "version": "1.167.1" },
472
573
  "surface": "Complete: `setupRouterSsrQueryIntegration` (the package's only export) delegating to `@tanstack/router-ssr-query-core@1.169.1`, with the QueryClientProvider Wrap composition on Octane.",
@@ -476,7 +577,7 @@
476
577
  },
477
578
  {
478
579
  "name": "@octanejs/tanstack-store",
479
- "version": "0.0.11",
580
+ "version": "0.0.16",
480
581
  "category": "Shared state",
481
582
  "upstream": { "package": "@tanstack/react-store", "version": "0.11.0" },
482
583
  "surface": "Re-exports `@tanstack/store@0.11.0` unchanged and implements the stable React binding surface (`useSelector`, `useAtom`, `useCreateAtom`, `useCreateStore`, `createStoreContext`, and deprecated `useStore`) on Octane hooks.",
@@ -488,7 +589,7 @@
488
589
  },
489
590
  {
490
591
  "name": "@octanejs/tanstack-table",
491
- "version": "0.1.14",
592
+ "version": "0.1.19",
492
593
  "category": "Data-heavy screens",
493
594
  "upstream": { "package": "@tanstack/react-table", "version": "9.0.0-beta.58" },
494
595
  "surface": "Complete port of the v9 adapter: the framework-agnostic `@tanstack/table-core` (constructTable + every tree-shakeable feature and row model) is reused verbatim, and the adapter — `useTable`, `Subscribe`, `flexRender`/`FlexRender`, `createTableHook`, `createTableHookContexts` — is transcribed onto octane hooks. Table state lives in TanStack Store atoms via the `coreReactivityFeature` bindings, and `useSelector` drives re-renders from the selected slice. Every store primitive (hooks, `createAtom`, `batch`, `shallow`, and the atom/store types) is imported from @octanejs/tanstack-store, which re-exports all of @tanstack/store — the binding takes no direct dependency on the store core, so there is only one path to it and atom identity cannot be split across duplicate copies.",
@@ -501,7 +602,7 @@
501
602
  },
502
603
  {
503
604
  "name": "@octanejs/tanstack-virtual",
504
- "version": "0.1.14",
605
+ "version": "0.1.19",
505
606
  "category": "Data-heavy screens",
506
607
  "upstream": { "package": "@tanstack/react-virtual", "version": "3.14.5" },
507
608
  "surface": "Complete 1:1 port: the framework-agnostic `@tanstack/virtual-core` (Virtualizer + observers + windowing math) is reused verbatim; the React adapter (`useVirtualizer`, `useWindowVirtualizer`, incl. `useFlushSync` and the experimental `directDomUpdates` surface) is transcribed onto octane hooks, preserving upstream's force-update + flushSync-on-sync-scroll wiring and layout-effect lifecycle.",
@@ -513,7 +614,7 @@
513
614
  },
514
615
  {
515
616
  "name": "@octanejs/tauri",
516
- "version": "0.0.0",
617
+ "version": "0.0.5",
517
618
  "category": "Desktop",
518
619
  "upstream": { "package": "@tauri-apps/api", "version": "2.11.1" },
519
620
  "surface": "Octane hooks over the framework-neutral Tauri IPC surface: useInvoke (suspending command), useInvokeState (pending/success/error with refetch), and useTauriEvent (event subscription with lifecycle-safe teardown). The rest of @tauri-apps/api — window, webview, menu, tray, path, dpi, image, and the plugin packages — is already framework-neutral and is imported directly rather than re-exported here.",
@@ -531,7 +632,7 @@
531
632
  },
532
633
  {
533
634
  "name": "@octanejs/testing-library",
534
- "version": "0.1.14",
635
+ "version": "0.1.19",
535
636
  "category": "Styling, tests, and devtools",
536
637
  "upstream": { "package": "@testing-library/react", "version": "unpinned" },
537
638
  "surface": "`render`/`rerender`/`cleanup`/`renderHook` + `act` over the verbatim `@testing-library/dom` (every query, `screen`, `within`, `waitFor`, `fireEvent`, `prettyDOM`, `configure`), with commit timing wired to octane's scheduler via the dom-library's `eventWrapper`/`asyncWrapper` config.",
@@ -544,7 +645,7 @@
544
645
  },
545
646
  {
546
647
  "name": "@octanejs/three",
547
- "version": "0.1.10",
648
+ "version": "0.1.15",
548
649
  "category": "Web 3D",
549
650
  "upstream": { "package": "@react-three/fiber", "version": "9.6.1 (2a528745)" },
550
651
  "surface": "Technical-preview Milestones 0–10 surface: renderer configuration and the DOM Canvas boundary, compiler ABI and renderer-local Three intrinsic types, catalogue and both extend forms, primitive/args construction, Three prop application, attachment, ordered placement/recreation, retained visibility, lifecycle/ref delivery, ownership-aware disposal, promise-returning HTMLCanvasElement and OffscreenCanvas roots, Octane act/flushSync scheduling, callback-aware unmountComponentAtNode, callable root state, scene/camera/raycaster and resize/DPR/viewport configuration, shadows/colors, one shared frame loop, controlled WebXR loop handoff, context-restore invalidation, compatible/reconstructing HMR, global effects, useStore/useThree/useFrame/useGraph and managed-instance helpers, the ray/pointer event system with DOM sources and custom managers, a keyed useLoader cache with preload/clear and GLTF graph augmentation, retained Suspense/Activity behavior, client Three-to-DOM pending/error projection, same-renderer createPortal targets with state/event enclaves and physical Three event bubbling, client-only Canvas shell streaming and production Vite/Rsbuild hydration adoption with the matching raw Rspack graph split, the explicit-target low-level DOMRegion boundary, a deterministic testing harness, an asynchronously acknowledged structured-clone transport proof, a checked public API/subpath matrix, Three r156/current compatibility lanes, a packed external consumer, real WebGL failure/recovery coverage, and semantic-checksummed renderer and shipped-size benchmarks.",
@@ -565,7 +666,7 @@
565
666
  },
566
667
  {
567
668
  "name": "@octanejs/tiptap",
568
- "version": "0.0.11",
669
+ "version": "0.0.16",
569
670
  "category": "Forms and content",
570
671
  "upstream": { "package": "@tiptap/react", "version": "3.28.0" },
571
672
  "surface": "Complete @tiptap/react 3.28.0 adapter surface across the root and ./menus entries: @tiptap/core re-exports, editor hooks and contexts, the EditorContent portal bridge, compound Tiptap API, ReactRenderer, custom NodeView/MarkView renderers and helpers, BubbleMenu, and FloatingMenu.",
@@ -580,9 +681,27 @@
580
681
  "ssr": "Covered across the complete surface: hooks use null server snapshots and suppress editor construction without a DOM, static NodeView/MarkView helpers render without a DOM renderer, detached menu targets are client-only, and hydration adopts deferred server shells before mounting live custom views and menus.",
581
682
  "verified": "2026-07-17"
582
683
  },
684
+ {
685
+ "name": "@octanejs/usehooks-ts",
686
+ "version": "0.0.3",
687
+ "category": "UI and interaction",
688
+ "upstream": {
689
+ "package": "usehooks-ts",
690
+ "version": "3.1.1",
691
+ "source": "https://github.com/juliencrn/usehooks-ts/tree/v3.1.1",
692
+ "license": "MIT"
693
+ },
694
+ "surface": "First host-safe cohort: useBoolean, useCounter, useToggle, useMap, useStep, useDebounceCallback, useDebounceValue, useInterval, useTimeout, useIsMounted, and useUnmount.",
695
+ "divergences": [
696
+ "Only the listed pure, timing, and lifecycle hooks are exported; browser storage/media hooks and DOM observer/direct-element hooks are deliberately absent.",
697
+ "Public setter types are structurally equivalent to React Dispatch/SetStateAction without importing React types."
698
+ ],
699
+ "ssr": "Supported for the listed cohort. Effects and timers do not run during server rendering; hydration activates lifecycle and timing work without requiring browser reads during render.",
700
+ "verified": "2026-07-29"
701
+ },
583
702
  {
584
703
  "name": "@octanejs/valtio",
585
- "version": "0.1.0",
704
+ "version": "0.1.5",
586
705
  "category": "Shared state",
587
706
  "upstream": { "package": "valtio", "version": "2.3.2" },
588
707
  "surface": "The framework-agnostic `valtio/vanilla` core and `valtio/vanilla/utils` are re-exported verbatim; `useSnapshot` and the `useProxy` utility are ported to Octane.",
@@ -594,7 +713,7 @@
594
713
  },
595
714
  {
596
715
  "name": "@octanejs/visx",
597
- "version": "0.1.11",
716
+ "version": "0.1.16",
598
717
  "category": "Data-heavy screens",
599
718
  "upstream": { "package": "@visx/visx", "version": "4.0.0 + master@485c035" },
600
719
  "surface": "Complete current Visx 4.x web runtime surface: the exact 35-namespace aggregate, all 40 feature entry points, and the eight public a11y/react, a11y/server, axis/react, scale/react, shape/react, theme/react, tooltip/floating, and voronoi/react subpaths. Released-only packages chord, delaunay, react-spring, sankey, and stats remain directly importable exactly as upstream specifies.",
@@ -608,9 +727,25 @@
608
727
  "ssr": "Fixed-dimension primitives, wrapped XYChart series, annotations, text, and wordclouds emit complete deterministic SVG on the server. Real hydrateRoot adoption preserves the same SVG/definition/axis/text/series/annotation/wordcloud nodes without warnings, replacement, or post-effect markup changes; generated IDs, measurement fallbacks, portals, and responsive initial sizes are covered.",
609
728
  "verified": "2026-07-14"
610
729
  },
730
+ {
731
+ "name": "@octanejs/wagmi",
732
+ "version": "0.0.2",
733
+ "category": "Web3",
734
+ "upstream": { "package": "wagmi", "version": "3.7.4" },
735
+ "surface": "WagmiProvider and createConfig over @wagmi/core 3.6.4, with config, connection, connect, disconnect, switch-connection, switch-chain, connectors, connections, chains, balance, contract read/simulate/write, transaction send/wait, and message-signing hooks.",
736
+ "divergences": [
737
+ "The binding targets Wagmi v3 names. Deprecated v2 useAccount/useSwitchAccount aliases and hooks outside the documented representative inventory are not exported.",
738
+ "Privileged mutation hooks force retry:false, require a current live connector, cancel before dispatch when the displayed wallet context changed, and quarantine a late success as ActionContextChangedError when account, chain, or connector changed after dispatch.",
739
+ "RainbowKit 2.2.x declares Wagmi v2 peers. Its defining provider/custom-button/modal contracts can be implemented over this v3 surface, proven by the deterministic disconnected-to-connecting-to-connected gate, but the downstream binding must document that peer-range divergence.",
740
+ "The connectors subpath exposes the dependency-free injected and deterministic mock connectors. Vendor connectors and their optional SDKs remain direct application dependencies.",
741
+ "EIP-1193 event validation, duplicate coalescing, and connector-generation invalidation are delegated unchanged to @wagmi/core 3.6.4. This binding does not add a second provider-event layer or claim independent normalization behavior."
742
+ ],
743
+ "ssr": "WagmiProvider supports ssr:true and initialState through @wagmi/core hydrate. parseHydratedState accepts only a versioned, 16 KiB-bounded public-state hint and rejects malformed or privileged material; a hydrated connection is never authority for signing or submission.",
744
+ "verified": "2026-07-29"
745
+ },
611
746
  {
612
747
  "name": "@octanejs/zustand",
613
- "version": "0.1.16",
748
+ "version": "0.1.21",
614
749
  "category": "Shared state",
615
750
  "upstream": { "package": "zustand", "version": "5.0.14" },
616
751
  "surface": "Complete 1:1 port: the framework-agnostic vanilla store is reused verbatim; `create`/`useStore`, `shallow`/`useShallow`, the traditional equality-fn variants, and all middleware (persist, devtools, subscribeWithSelector, combine, redux).",
@@ -627,9 +762,18 @@
627
762
  "@dnd-kit/react": "@octanejs/dnd-kit",
628
763
  "@floating-ui/react": "@octanejs/floating-ui",
629
764
  "@lexical/react": "@octanejs/lexical",
765
+ "@mantine/hooks": "@octanejs/mantine-hooks",
630
766
  "@mdx-js/react": "@octanejs/mdx",
767
+ "@phosphor-icons/react": "@octanejs/phosphor-icons",
768
+ "@rainbow-me/rainbowkit": "@octanejs/rainbowkit",
769
+ "@react-rxjs/core": "@octanejs/rxjs",
770
+ "@react-rxjs/utils": "@octanejs/rxjs",
631
771
  "@react-three/fiber": "@octanejs/three",
632
772
  "@reduxjs/toolkit": "@octanejs/redux-toolkit",
773
+ "@streamdown/cjk": "@octanejs/streamdown",
774
+ "@streamdown/code": "@octanejs/streamdown",
775
+ "@streamdown/math": "@octanejs/streamdown",
776
+ "@streamdown/mermaid": "@octanejs/streamdown",
633
777
  "@stylexjs/stylex": "@octanejs/stylex",
634
778
  "@tanstack/ai-react": "@octanejs/tanstack-ai",
635
779
  "@tanstack/react-devtools": "@octanejs/tanstack-devtools",
@@ -698,11 +842,14 @@
698
842
  "framer-motion": "@octanejs/motion",
699
843
  "jotai": "@octanejs/jotai",
700
844
  "lucide-react": "@octanejs/lucide",
845
+ "mobx-react": "@octanejs/mobx",
846
+ "mobx-react-lite": "@octanejs/mobx",
701
847
  "motion": "@octanejs/motion",
702
848
  "nuqs": "@octanejs/nuqs",
703
849
  "radix-ui": "@octanejs/radix",
704
850
  "react-aria": "@octanejs/aria",
705
851
  "react-aria-components": "@octanejs/aria",
852
+ "react-error-boundary": "@octanejs/react-error-boundary",
706
853
  "react-hook-form": "@octanejs/hook-form",
707
854
  "react-i18next": "@octanejs/i18next",
708
855
  "react-redux": "@octanejs/redux",
@@ -712,8 +859,11 @@
712
859
  "recharts": "@octanejs/recharts",
713
860
  "shadcn": "@octanejs/shadcn",
714
861
  "sonner": "@octanejs/sonner",
862
+ "streamdown": "@octanejs/streamdown",
715
863
  "styled-components": "@octanejs/styled-components",
864
+ "usehooks-ts": "@octanejs/usehooks-ts",
716
865
  "valtio": "@octanejs/valtio",
866
+ "wagmi": "@octanejs/wagmi",
717
867
  "zustand": "@octanejs/zustand"
718
868
  },
719
869
  "errorCodes": {