- enables more dynamic graphs in future
- implement stream_mode=updates
- fix extra options keys being passed to nodes
- fix stream_mode for invoke
- fix issue where writes array for each task wasn't used
* Pregel/Graph: Make channel creation explicit, make Pregel constructor type safe
- still need to migrate StateGraph
* Make type args const
* Add stricter typings for graph/stategraph/messagegraph constructors (#128)
* Add stricter typings for graph/stategraph/messagegraph constructors
Inspired by #112
* Fix tests
* Fix remaining types
* Implement _shouldInterrupt().
* Update _applyWrites(). Update checkpoint channel versions to max version + 1.
* Remove _applyWritesFromView().
* Update _prepareNextTasks() to support returning Array<PregelTaskDescription>.
* Update implementation of _prepareNextTasks() to match Python implementation.
* Remove side effect from _prepareNextTasks() and migrate clients. Add unit test for _prepareNextTasks().
* Update implementation of _prepareTasks() and PregelNode.pipe() simultaneously. These changes need to be made together.
* Implement _localRead().
* Migrate ChannelRead and ChannelWrite to extend from RunnableCallable.
* Update @langchain/core in order to use mergeConfigs().
* Implement streamChannelsList getter.
* Remove TODO comment.
* Implement Pregel types and update debug print methods.
* Rename ChannelInvoke to PregelNode. Remove field. Update constructor arguments.
* Change type of PregelNodes.channels back to support string instead of string[].
* Update ChannelRead class.
* Update ChannelWrite.
* Update PregelNode pipe() function.
* Update mapInput() and readChannels() in io.ts.
* Add mapOutputValues() and mapOutputUpdates() to io.ts.
* Fix lint error.
* Remove when parameter from Channel.subscribeTo() function.
* Fix bug in readChannels(). Add unit tests for readChannel() and readChannels().
* Add unit tests for mapInput(), mapOutputValues(), mapOutputUpdates().
* Update _write() to match implementation in https://github.com/langchain-ai/langgraph/pull/345.
* Fix lint errors.
* Add (failing) unit test for invoking nested graph.
* Fix minor typing issues.
* Fix skipped unit test. Implement RunnableCallable to skip invocation of Runnable if it is defined in graph state.
* Update validateGraph(). Add unit tests.
* Update Channel.writeTo(). Remove reserved channels implementation.
* Update interface for Pregel class - remove 'hidden' and 'interrupt' APIs. Remove reserved channels functionality.
* Update Pregel constructor. Implement validate() method.
* Implement PregelNode.getWriters() and PregelNode.getNode().
* Change PregelNode.channels from Record<string, string | string to Record<string, string> | string[], i.e. support array of strings.
* Rename channelMappingOrString to channelMappingOrArray.