Files
flowgraph/tasks/api-public-exports.md

49 lines
2.1 KiB
Markdown

---
id: api/public-exports
name: Wire barrel exports and verify exports map resolves correctly for all sub-paths
status: completed
depends_on:
- review/reactive-and-hosts
- analysis/type-compat
- analysis/build-type-edges
- analysis/ordering
- analysis/template-validation
- analysis/defaults
scope: moderate
risk: low
impact: phase
level: implementation
---
## Description
Wire all barrel exports (`src/index.ts` and module `index.ts` files) and verify the package.json exports map resolves correctly for every sub-path. This is the integration check that all modules are properly connected and importable.
## Acceptance Criteria
- [ ] `src/index.ts` re-exports from all modules: graph, schema, component, host, reactive, analysis, error
- [ ] Each module's `index.ts` exports the correct public API per [flowgraph-api.md](../docs/architecture/flowgraph-api.md) exports map table
- [ ] Sub-path `@alkdev/flowgraph` → all public types
- [ ] Sub-path `@alkdev/flowgraph/graph` → FlowGraph, FlowGraphOptions
- [ ] Sub-path `@alkdev/flowgraph/schema` → all schemas, enums, types, CallResult
- [ ] Sub-path `@alkdev/flowgraph/component` → Operation, Sequential, Parallel, Conditional, Map
- [ ] Sub-path `@alkdev/flowgraph/host` → GraphologyHostConfig, ReactiveHostConfig
- [ ] Sub-path `@alkdev/flowgraph/reactive` → WorkflowReactiveRoot, WorkflowNode, ReactiveContext, EventLogProjection
- [ ] Sub-path `@alkdev/flowgraph/analysis` → typeCompat, buildTypeEdges, validateGraph, validateTemplate, topologicalOrder, parallelGroups, criticalPath, reachableFrom
- [ ] Sub-path `@alkdev/flowgraph/error` → all error classes
- [ ] `npm run build` produces correct ESM + CJS + declarations for all entry points
- [ ] Import resolution test: each sub-path is importable after build
- [ ] TypeScript compilation succeeds: `npx tsc --noEmit`
## References
- docs/architecture/flowgraph-api.md — complete exports map
- docs/architecture/build-distribution.md — exports map, tsup configuration
## Notes
> To be filled by implementation agent
## Summary
> To be filled on completion