Files
fusion/scripts/lib/dashboard-browser-safe-core-modules.json
Phil Larson 920d68e10f fix(dashboard): expose column roles to browser bundle (#3151)
## Summary
- export the browser-safe `@fusion/core/column-roles` subpath
- keep Vite/Vitest aliases ahead of broad `@fusion/core` aliases
- restore production dashboard builds after task undo classification
adopted shared column-role helpers

## Test plan
- `node scripts/check-no-node-only-core-imports-in-dashboard.mjs`
- `FUSION_DASHBOARD_DEEP=1 pnpm --filter @fusion/dashboard exec vitest
run app/utils/__tests__/taskRevert.test.ts --pool=threads
--maxWorkers=1`
- `pnpm --filter @fusion/core typecheck`
- `pnpm --filter @fusion/dashboard typecheck`
- `CI=true pnpm check:changesets`
- `pnpm build`


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
  * Fixed dashboard build compatibility for browser-based environments.
* Improved reliability when importing column role functionality across
supported application components.

* **Refactor**
* Made column role utilities available through a dedicated browser-safe
entry point.

* **Chores**
* Updated development and test configurations to consistently resolve
the new entry point.
* Documented the browser-safe module classification and recorded the
release patch.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-31 06:46:19 -07:00

75 lines
2.8 KiB
JSON

{
"modules": [
{
"module": "types",
"reason": "2026-07-16: Vite aliases the package root to this browser-safe compatibility leaf.",
"verifiedAt": "2026-07-16"
},
{
"module": "near-duplicate-canonical",
"reason": "2026-07-16: Canonical activity helpers import types only, unlike near-duplicate which reaches node:crypto.",
"verifiedAt": "2026-07-16"
},
{
"module": "task-merge",
"reason": "2026-07-16: Shared task merge predicates are browser-safe UI logic.",
"verifiedAt": "2026-07-16"
},
{
"module": "model-pricing",
"reason": "2026-07-16: Model cost data and calculations have no Node-only dependencies.",
"verifiedAt": "2026-07-16"
},
{
"module": "mobile-nav-primary-items",
"reason": "2026-07-16: Mobile navigation selection helpers use erased core types only.",
"verifiedAt": "2026-07-16"
},
{
"module": "active-merge-status",
"reason": "2026-07-16: Merge-status predicate is a dependency-free browser helper.",
"verifiedAt": "2026-07-16"
},
{
"module": "workflow-settings-resolver",
"reason": "2026-07-16: Workflow setting resolution uses browser-safe workflow metadata helpers.",
"verifiedAt": "2026-07-16"
},
{
"module": "settings-schema",
"reason": "2026-07-16: Settings defaults and validation metadata are browser-safe.",
"verifiedAt": "2026-07-16"
},
{
"module": "session-advisor",
"reason": "2026-07-16: Session advisory predicates use erased core types only.",
"verifiedAt": "2026-07-16"
},
{
"module": "blocker-fanout",
"reason": "2026-07-16: Blocker fanout helper is dependency-free browser logic.",
"verifiedAt": "2026-07-16"
},
{
"module": "detect-content-language",
"reason": "2026-07-16: Language detection is pure shared string logic with an explicit Vite subpath alias.",
"verifiedAt": "2026-07-16"
},
{
"module": "task-delete-attribution",
"reason": "2026-07-26: Delete caller-attribution constants and the pure header resolver are shared by the browser client that stamps `x-fusion-client` and the route that reads it; the module has no imports at all.",
"verifiedAt": "2026-07-26"
},
{
"module": "column-roles",
"reason": "2026-07-31: Column role predicates depend only on erased trait types and provide browser-safe flags-first lifecycle classification.",
"verifiedAt": "2026-07-31"
},
{
"module": "live-agent-count",
"reason": "2026-07-21: FN-8453 shares pure workflow-trait-based Running and Waiting predicates with dashboard capacity indicators; its dependency graph has no Node-only modules.",
"verifiedAt": "2026-07-21"
}
]
}