liminal 0.5.2 → 0.5.3
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.
- package/Agent.ts +25 -7
- package/CHANGELOG.md +10 -0
- package/Fiber.ts +117 -0
- package/Globals.ts +10 -0
- package/Handler.ts +0 -0
- package/L/L.ts +13 -0
- package/L/_infer.ts +35 -0
- package/L/_message.ts +18 -0
- package/L/all.ts +11 -0
- package/L/assistant.ts +34 -0
- package/L/branch.ts +45 -0
- package/L/emit.ts +11 -0
- package/L/fork.ts +18 -0
- package/L/join.ts +9 -0
- package/L/model.ts +11 -0
- package/L/namespace.ts +11 -0
- package/L/rune.ts +19 -0
- package/L/self.ts +13 -0
- package/L/state.ts +20 -0
- package/L/system.ts +13 -0
- package/L/user.ts +13 -0
- package/LEvent.ts +35 -0
- package/Message.ts +11 -90
- package/Model.ts +10 -23
- package/Rune.ts +17 -0
- package/Runic.ts +22 -0
- package/cli/main.ts +1 -24
- package/dist/Agent.d.ts +12 -7
- package/dist/Agent.js +15 -1
- package/dist/Agent.js.map +1 -1
- package/dist/Fiber.d.ts +38 -0
- package/dist/Fiber.js +79 -0
- package/dist/Fiber.js.map +1 -0
- package/dist/Globals.d.ts +7 -0
- package/dist/Globals.js +2 -0
- package/dist/Globals.js.map +1 -0
- package/dist/Handler.js +2 -0
- package/dist/Handler.js.map +1 -0
- package/dist/L/L.d.ts +13 -0
- package/dist/L/L.js +14 -0
- package/dist/L/L.js.map +1 -0
- package/dist/L/_infer.d.ts +4 -0
- package/dist/L/_infer.js +29 -0
- package/dist/L/_infer.js.map +1 -0
- package/dist/L/_message.d.ts +6 -0
- package/dist/L/_message.js +14 -0
- package/dist/L/_message.js.map +1 -0
- package/dist/L/all.d.ts +7 -0
- package/dist/L/all.js +5 -0
- package/dist/L/all.js.map +1 -0
- package/dist/L/assistant.d.ts +7 -0
- package/dist/L/assistant.js +23 -0
- package/dist/L/assistant.js.map +1 -0
- package/dist/L/branch.d.ts +11 -0
- package/dist/L/branch.js +32 -0
- package/dist/L/branch.js.map +1 -0
- package/dist/L/emit.d.ts +5 -0
- package/dist/L/emit.js +7 -0
- package/dist/L/emit.js.map +1 -0
- package/dist/L/fork.d.ts +7 -0
- package/dist/L/fork.js +11 -0
- package/dist/L/fork.js.map +1 -0
- package/dist/L/join.d.ts +5 -0
- package/dist/L/join.js +5 -0
- package/dist/L/join.js.map +1 -0
- package/dist/L/model.d.ts +5 -0
- package/dist/L/model.js +7 -0
- package/dist/L/model.js.map +1 -0
- package/dist/L/namespace.js +12 -0
- package/dist/L/namespace.js.map +1 -0
- package/dist/L/rune.d.ts +6 -0
- package/dist/L/rune.js +11 -0
- package/dist/L/rune.js.map +1 -0
- package/dist/L/self.d.ts +6 -0
- package/dist/L/self.js +7 -0
- package/dist/L/self.js.map +1 -0
- package/dist/L/state.d.ts +7 -0
- package/dist/L/state.js +14 -0
- package/dist/L/state.js.map +1 -0
- package/dist/L/system.d.ts +6 -0
- package/dist/L/system.js +7 -0
- package/dist/L/system.js.map +1 -0
- package/dist/L/user.d.ts +6 -0
- package/dist/L/user.js +7 -0
- package/dist/L/user.js.map +1 -0
- package/dist/LEvent.d.ts +28 -0
- package/dist/LEvent.js +5 -0
- package/dist/LEvent.js.map +1 -0
- package/dist/Message.d.ts +12 -81
- package/dist/Model.d.ts +4 -20
- package/dist/Model.js +6 -0
- package/dist/Model.js.map +1 -1
- package/dist/Rune.d.ts +11 -0
- package/dist/Rune.js +5 -0
- package/dist/Rune.js.map +1 -0
- package/dist/Runic.d.ts +9 -0
- package/dist/Runic.js +18 -0
- package/dist/Runic.js.map +1 -0
- package/dist/cli/main.d.ts +0 -1
- package/dist/cli/main.js +2 -19
- package/dist/cli/main.js.map +1 -1
- package/dist/index.d.ts +9 -39
- package/dist/index.js +9 -39
- package/dist/index.js.map +1 -1
- package/dist/state/Counter.d.ts +6 -0
- package/dist/state/Counter.js +13 -0
- package/dist/state/Counter.js.map +1 -0
- package/dist/state/DefaultStateMap.d.ts +4 -0
- package/dist/state/DefaultStateMap.js +14 -0
- package/dist/state/DefaultStateMap.js.map +1 -0
- package/dist/state/MessageRegistry.d.ts +7 -0
- package/dist/state/MessageRegistry.js +14 -0
- package/dist/state/MessageRegistry.js.map +1 -0
- package/dist/state/ModelConfig.d.ts +49 -0
- package/dist/state/ModelConfig.js +18 -0
- package/dist/state/ModelConfig.js.map +1 -0
- package/dist/state/ModelRegistry.d.ts +15 -0
- package/dist/state/ModelRegistry.js +43 -0
- package/dist/state/ModelRegistry.js.map +1 -0
- package/dist/state/StateMap.d.ts +7 -0
- package/dist/state/StateMap.js +10 -0
- package/dist/state/StateMap.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/index.ts +9 -39
- package/package.json +6 -9
- package/state/Counter.ts +11 -0
- package/state/DefaultStateMap.ts +14 -0
- package/state/MessageRegistry.ts +17 -0
- package/state/ModelConfig.ts +49 -0
- package/state/ModelRegistry.ts +55 -0
- package/state/StateMap.ts +15 -0
- package/tsconfig.json +5 -1
- package/Action.ts +0 -29
- package/Exec.ts +0 -51
- package/L.ts +0 -24
- package/LiminalAssertionError.ts +0 -3
- package/LiminalConfig.ts +0 -7
- package/PathLike.ts +0 -17
- package/Scope.ts +0 -152
- package/Spec.ts +0 -29
- package/Tool.ts +0 -58
- package/_.ts +0 -11
- package/actions/abort.ts +0 -23
- package/actions/actions_common/updateModels.ts +0 -23
- package/actions/actions_derived/__snapshots__/declareModel.test.ts.snap +0 -89
- package/actions/actions_derived/clear.ts +0 -6
- package/actions/actions_derived/declareModel.test.ts +0 -36
- package/actions/actions_derived/declareModel.ts +0 -9
- package/actions/actions_derived/declareModel.type-test.ts +0 -70
- package/actions/actions_derived/messages.test.ts +0 -88
- package/actions/actions_derived/messages.ts +0 -18
- package/actions/actions_derived/metatype.ts +0 -9
- package/actions/actions_derived/readers_derived.ts +0 -15
- package/actions/appendMessage.ts +0 -54
- package/actions/await.ts +0 -13
- package/actions/branch.ts +0 -106
- package/actions/catch.ts +0 -42
- package/actions/declareArg.ts +0 -14
- package/actions/disableTool.ts +0 -26
- package/actions/embed.ts +0 -29
- package/actions/emit.ts +0 -21
- package/actions/enableTool.ts +0 -75
- package/actions/enableTool.type-test.ts +0 -118
- package/actions/infer.ts +0 -49
- package/actions/messages.ts +0 -62
- package/actions/pushModel.ts +0 -52
- package/actions/scope.ts +0 -13
- package/actions/section.ts +0 -105
- package/actions/throw.ts +0 -18
- package/cli/WriteHandler.ts +0 -35
- package/cli/cli_common.ts +0 -4
- package/cli/runExec.ts +0 -72
- package/dist/Action.d.ts +0 -15
- package/dist/Action.js +0 -13
- package/dist/Action.js.map +0 -1
- package/dist/Exec.d.ts +0 -25
- package/dist/Exec.js +0 -19
- package/dist/Exec.js.map +0 -1
- package/dist/L.d.ts +0 -23
- package/dist/L.js +0 -24
- package/dist/L.js.map +0 -1
- package/dist/LiminalAssertionError.d.ts +0 -3
- package/dist/LiminalAssertionError.js +0 -4
- package/dist/LiminalAssertionError.js.map +0 -1
- package/dist/LiminalConfig.d.ts +0 -6
- package/dist/LiminalConfig.js +0 -2
- package/dist/LiminalConfig.js.map +0 -1
- package/dist/PathLike.d.ts +0 -11
- package/dist/PathLike.js +0 -2
- package/dist/PathLike.js.map +0 -1
- package/dist/Scope.d.ts +0 -42
- package/dist/Scope.js +0 -93
- package/dist/Scope.js.map +0 -1
- package/dist/Spec.d.ts +0 -20
- package/dist/Spec.js +0 -2
- package/dist/Spec.js.map +0 -1
- package/dist/Tool.d.ts +0 -21
- package/dist/Tool.js +0 -32
- package/dist/Tool.js.map +0 -1
- package/dist/_.d.ts +0 -5
- package/dist/_.js +0 -7
- package/dist/_.js.map +0 -1
- package/dist/actions/abort.d.ts +0 -9
- package/dist/actions/abort.js +0 -15
- package/dist/actions/abort.js.map +0 -1
- package/dist/actions/actions_common/updateModels.d.ts +0 -3
- package/dist/actions/actions_common/updateModels.js +0 -17
- package/dist/actions/actions_common/updateModels.js.map +0 -1
- package/dist/actions/actions_derived/clear.d.ts +0 -8
- package/dist/actions/actions_derived/clear.js +0 -5
- package/dist/actions/actions_derived/clear.js.map +0 -1
- package/dist/actions/actions_derived/declareModel.d.ts +0 -5
- package/dist/actions/actions_derived/declareModel.js +0 -7
- package/dist/actions/actions_derived/declareModel.js.map +0 -1
- package/dist/actions/actions_derived/declareModel.test.js +0 -35
- package/dist/actions/actions_derived/declareModel.test.js.map +0 -1
- package/dist/actions/actions_derived/declareModel.type-test.js +0 -66
- package/dist/actions/actions_derived/declareModel.type-test.js.map +0 -1
- package/dist/actions/actions_derived/messages.d.ts +0 -6
- package/dist/actions/actions_derived/messages.js +0 -15
- package/dist/actions/actions_derived/messages.js.map +0 -1
- package/dist/actions/actions_derived/messages.test.d.ts +0 -1
- package/dist/actions/actions_derived/messages.test.js +0 -72
- package/dist/actions/actions_derived/messages.test.js.map +0 -1
- package/dist/actions/actions_derived/metatype.d.ts +0 -9
- package/dist/actions/actions_derived/metatype.js +0 -7
- package/dist/actions/actions_derived/metatype.js.map +0 -1
- package/dist/actions/actions_derived/readers_derived.d.ts +0 -6
- package/dist/actions/actions_derived/readers_derived.js +0 -14
- package/dist/actions/actions_derived/readers_derived.js.map +0 -1
- package/dist/actions/appendMessage.d.ts +0 -14
- package/dist/actions/appendMessage.js +0 -41
- package/dist/actions/appendMessage.js.map +0 -1
- package/dist/actions/await.d.ts +0 -5
- package/dist/actions/await.js +0 -10
- package/dist/actions/await.js.map +0 -1
- package/dist/actions/branch.d.ts +0 -39
- package/dist/actions/branch.js +0 -40
- package/dist/actions/branch.js.map +0 -1
- package/dist/actions/catch.d.ts +0 -10
- package/dist/actions/catch.js +0 -27
- package/dist/actions/catch.js.map +0 -1
- package/dist/actions/declareArg.d.ts +0 -8
- package/dist/actions/declareArg.js +0 -10
- package/dist/actions/declareArg.js.map +0 -1
- package/dist/actions/disableTool.d.ts +0 -10
- package/dist/actions/disableTool.js +0 -17
- package/dist/actions/disableTool.js.map +0 -1
- package/dist/actions/embed.d.ts +0 -9
- package/dist/actions/embed.js +0 -24
- package/dist/actions/embed.js.map +0 -1
- package/dist/actions/emit.d.ts +0 -9
- package/dist/actions/emit.js +0 -14
- package/dist/actions/emit.js.map +0 -1
- package/dist/actions/enableTool.d.ts +0 -20
- package/dist/actions/enableTool.js +0 -26
- package/dist/actions/enableTool.js.map +0 -1
- package/dist/actions/enableTool.type-test.d.ts +0 -1
- package/dist/actions/enableTool.type-test.js +0 -30
- package/dist/actions/enableTool.type-test.js.map +0 -1
- package/dist/actions/infer.d.ts +0 -15
- package/dist/actions/infer.js +0 -29
- package/dist/actions/infer.js.map +0 -1
- package/dist/actions/messages.d.ts +0 -24
- package/dist/actions/messages.js +0 -35
- package/dist/actions/messages.js.map +0 -1
- package/dist/actions/pushModel.d.ts +0 -15
- package/dist/actions/pushModel.js +0 -36
- package/dist/actions/pushModel.js.map +0 -1
- package/dist/actions/scope.d.ts +0 -7
- package/dist/actions/scope.js +0 -10
- package/dist/actions/scope.js.map +0 -1
- package/dist/actions/section.d.ts +0 -23
- package/dist/actions/section.js +0 -64
- package/dist/actions/section.js.map +0 -1
- package/dist/actions/throw.d.ts +0 -9
- package/dist/actions/throw.js +0 -13
- package/dist/actions/throw.js.map +0 -1
- package/dist/cli/WriteHandler.d.ts +0 -9
- package/dist/cli/WriteHandler.js +0 -24
- package/dist/cli/WriteHandler.js.map +0 -1
- package/dist/cli/cli_common.d.ts +0 -4
- package/dist/cli/cli_common.js +0 -2
- package/dist/cli/cli_common.js.map +0 -1
- package/dist/cli/runExec.d.ts +0 -2
- package/dist/cli/runExec.js +0 -74
- package/dist/cli/runExec.js.map +0 -1
- package/dist/events/Aborted.d.ts +0 -4
- package/dist/events/Aborted.js +0 -2
- package/dist/events/Aborted.js.map +0 -1
- package/dist/events/Embedded.d.ts +0 -5
- package/dist/events/Embedded.js +0 -2
- package/dist/events/Embedded.js.map +0 -1
- package/dist/events/EmbeddingRequested.d.ts +0 -4
- package/dist/events/EmbeddingRequested.js +0 -2
- package/dist/events/EmbeddingRequested.js.map +0 -1
- package/dist/events/Emitted.d.ts +0 -4
- package/dist/events/Emitted.js +0 -2
- package/dist/events/Emitted.js.map +0 -1
- package/dist/events/EventBase.d.ts +0 -3
- package/dist/events/EventBase.js +0 -2
- package/dist/events/EventBase.js.map +0 -1
- package/dist/events/EventHandler.d.ts +0 -2
- package/dist/events/EventHandler.js +0 -2
- package/dist/events/EventHandler.js.map +0 -1
- package/dist/events/EventResolved.d.ts +0 -19
- package/dist/events/EventResolved.js +0 -2
- package/dist/events/EventResolved.js.map +0 -1
- package/dist/events/Forked.d.ts +0 -3
- package/dist/events/Forked.js +0 -2
- package/dist/events/Forked.js.map +0 -1
- package/dist/events/InferenceRequested.d.ts +0 -3
- package/dist/events/InferenceRequested.js +0 -2
- package/dist/events/InferenceRequested.js.map +0 -1
- package/dist/events/Inferred.d.ts +0 -5
- package/dist/events/Inferred.js +0 -2
- package/dist/events/Inferred.js.map +0 -1
- package/dist/events/LEvent.d.ts +0 -20
- package/dist/events/LEvent.js +0 -2
- package/dist/events/LEvent.js.map +0 -1
- package/dist/events/MessageAppended.d.ts +0 -5
- package/dist/events/MessageAppended.js +0 -2
- package/dist/events/MessageAppended.js.map +0 -1
- package/dist/events/MessageRemoved.d.ts +0 -5
- package/dist/events/MessageRemoved.js +0 -2
- package/dist/events/MessageRemoved.js.map +0 -1
- package/dist/events/MessagesSet.d.ts +0 -5
- package/dist/events/MessagesSet.js +0 -2
- package/dist/events/MessagesSet.js.map +0 -1
- package/dist/events/ModelPushed.d.ts +0 -7
- package/dist/events/ModelPushed.js +0 -2
- package/dist/events/ModelPushed.js.map +0 -1
- package/dist/events/ModelRemoved.d.ts +0 -7
- package/dist/events/ModelRemoved.js +0 -2
- package/dist/events/ModelRemoved.js.map +0 -1
- package/dist/events/Returned.d.ts +0 -4
- package/dist/events/Returned.js +0 -2
- package/dist/events/Returned.js.map +0 -1
- package/dist/events/SectionCleared.d.ts +0 -5
- package/dist/events/SectionCleared.js +0 -2
- package/dist/events/SectionCleared.js.map +0 -1
- package/dist/events/Sectioned.d.ts +0 -5
- package/dist/events/Sectioned.js +0 -2
- package/dist/events/Sectioned.js.map +0 -1
- package/dist/events/Threw.d.ts +0 -4
- package/dist/events/Threw.js +0 -2
- package/dist/events/Threw.js.map +0 -1
- package/dist/events/ToolCalled.d.ts +0 -6
- package/dist/events/ToolCalled.js +0 -2
- package/dist/events/ToolCalled.js.map +0 -1
- package/dist/events/ToolDisabled.d.ts +0 -5
- package/dist/events/ToolDisabled.js +0 -2
- package/dist/events/ToolDisabled.js.map +0 -1
- package/dist/events/ToolEnabled.d.ts +0 -7
- package/dist/events/ToolEnabled.js +0 -2
- package/dist/events/ToolEnabled.js.map +0 -1
- package/dist/events/isScopeChildEvent.d.ts +0 -6
- package/dist/events/isScopeChildEvent.js +0 -9
- package/dist/events/isScopeChildEvent.js.map +0 -1
- package/dist/events/isScopeDescendantEvent.d.ts +0 -14
- package/dist/events/isScopeDescendantEvent.js +0 -12
- package/dist/events/isScopeDescendantEvent.js.map +0 -1
- package/dist/testing/AgentAssertions.d.ts +0 -9
- package/dist/testing/AgentAssertions.js +0 -6
- package/dist/testing/AgentAssertions.js.map +0 -1
- package/dist/testing/TestEmbeddingModel.d.ts +0 -6
- package/dist/testing/TestEmbeddingModel.js +0 -11
- package/dist/testing/TestEmbeddingModel.js.map +0 -1
- package/dist/testing/TestLanguageModel.d.ts +0 -8
- package/dist/testing/TestLanguageModel.js +0 -22
- package/dist/testing/TestLanguageModel.js.map +0 -1
- package/dist/testing/index.d.ts +0 -4
- package/dist/testing/index.js +0 -5
- package/dist/testing/index.js.map +0 -1
- package/dist/testing/takeFirstAction.d.ts +0 -3
- package/dist/testing/takeFirstAction.js +0 -6
- package/dist/testing/takeFirstAction.js.map +0 -1
- package/dist/types/AssertDiagnostics.d.ts +0 -18
- package/dist/types/AssertDiagnostics.js +0 -152
- package/dist/types/AssertDiagnostics.js.map +0 -1
- package/dist/types/JSONRootType.d.ts +0 -6
- package/dist/types/JSONRootType.js +0 -2
- package/dist/types/JSONRootType.js.map +0 -1
- package/dist/types/JSONType.d.ts +0 -16
- package/dist/types/JSONType.js +0 -2
- package/dist/types/JSONType.js.map +0 -1
- package/dist/types/JSONTypeBase.d.ts +0 -3
- package/dist/types/JSONTypeBase.js +0 -2
- package/dist/types/JSONTypeBase.js.map +0 -1
- package/dist/types/Metatype/MetatypeDescriptor.d.ts +0 -41
- package/dist/types/Metatype/MetatypeDescriptor.js +0 -38
- package/dist/types/Metatype/MetatypeDescriptor.js.map +0 -1
- package/dist/types/Metatype/fromMetatypeDescriptor.d.ts +0 -6
- package/dist/types/Metatype/fromMetatypeDescriptor.js +0 -43
- package/dist/types/Metatype/fromMetatypeDescriptor.js.map +0 -1
- package/dist/types/Type.d.ts +0 -31
- package/dist/types/Type.js +0 -5
- package/dist/types/Type.js.map +0 -1
- package/dist/types/TypeContext.d.ts +0 -7
- package/dist/types/TypeContext.js +0 -17
- package/dist/types/TypeContext.js.map +0 -1
- package/dist/types/TypeLike.d.ts +0 -23
- package/dist/types/TypeLike.js +0 -23
- package/dist/types/TypeLike.js.map +0 -1
- package/dist/types/TypeVisitor.d.ts +0 -14
- package/dist/types/TypeVisitor.js +0 -12
- package/dist/types/TypeVisitor.js.map +0 -1
- package/dist/types/array.d.ts +0 -10
- package/dist/types/array.js +0 -9
- package/dist/types/array.js.map +0 -1
- package/dist/types/boolean.d.ts +0 -6
- package/dist/types/boolean.js +0 -3
- package/dist/types/boolean.js.map +0 -1
- package/dist/types/const.d.ts +0 -8
- package/dist/types/const.js +0 -7
- package/dist/types/const.js.map +0 -1
- package/dist/types/enum.d.ts +0 -8
- package/dist/types/enum.js +0 -7
- package/dist/types/enum.js.map +0 -1
- package/dist/types/factories.d.ts +0 -8
- package/dist/types/factories.js +0 -9
- package/dist/types/factories.js.map +0 -1
- package/dist/types/index.d.ts +0 -2
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/types/integer.d.ts +0 -6
- package/dist/types/integer.js +0 -3
- package/dist/types/integer.js.map +0 -1
- package/dist/types/intrinsics.d.ts +0 -11
- package/dist/types/intrinsics.js +0 -12
- package/dist/types/intrinsics.js.map +0 -1
- package/dist/types/makeType.d.ts +0 -2
- package/dist/types/makeType.js +0 -58
- package/dist/types/makeType.js.map +0 -1
- package/dist/types/match.d.ts +0 -3
- package/dist/types/match.js +0 -11
- package/dist/types/match.js.map +0 -1
- package/dist/types/non_factories.d.ts +0 -21
- package/dist/types/non_factories.js +0 -9
- package/dist/types/non_factories.js.map +0 -1
- package/dist/types/null.d.ts +0 -7
- package/dist/types/null.js +0 -4
- package/dist/types/null.js.map +0 -1
- package/dist/types/number.d.ts +0 -6
- package/dist/types/number.js +0 -3
- package/dist/types/number.js.map +0 -1
- package/dist/types/object.d.ts +0 -16
- package/dist/types/object.js +0 -10
- package/dist/types/object.js.map +0 -1
- package/dist/types/ref.d.ts +0 -7
- package/dist/types/ref.js +0 -5
- package/dist/types/ref.js.map +0 -1
- package/dist/types/string.d.ts +0 -6
- package/dist/types/string.js +0 -3
- package/dist/types/string.js.map +0 -1
- package/dist/types/toJSON.d.ts +0 -5
- package/dist/types/toJSON.js +0 -97
- package/dist/types/toJSON.js.map +0 -1
- package/dist/types/type_common.d.ts +0 -10
- package/dist/types/type_common.js +0 -12
- package/dist/types/type_common.js.map +0 -1
- package/dist/types/types_derived/option.d.ts +0 -5
- package/dist/types/types_derived/option.js +0 -6
- package/dist/types/types_derived/option.js.map +0 -1
- package/dist/types/types_derived/taggedUnion.d.ts +0 -19
- package/dist/types/types_derived/taggedUnion.js +0 -8
- package/dist/types/types_derived/taggedUnion.js.map +0 -1
- package/dist/types/types_derived/wrapper.d.ts +0 -8
- package/dist/types/types_derived/wrapper.js +0 -5
- package/dist/types/types_derived/wrapper.js.map +0 -1
- package/dist/types/union.d.ts +0 -9
- package/dist/types/union.js +0 -9
- package/dist/types/union.js.map +0 -1
- package/dist/util/ArrayOfLength.d.ts +0 -1
- package/dist/util/ArrayOfLength.js +0 -2
- package/dist/util/ArrayOfLength.js.map +0 -1
- package/dist/util/DeferredOr.d.ts +0 -1
- package/dist/util/DeferredOr.js +0 -2
- package/dist/util/DeferredOr.js.map +0 -1
- package/dist/util/EnsureNarrow.d.ts +0 -2
- package/dist/util/EnsureNarrow.js +0 -2
- package/dist/util/EnsureNarrow.js.map +0 -1
- package/dist/util/EnsureRecord.d.ts +0 -2
- package/dist/util/EnsureRecord.js +0 -2
- package/dist/util/EnsureRecord.js.map +0 -1
- package/dist/util/Expand.d.ts +0 -3
- package/dist/util/Expand.js +0 -2
- package/dist/util/Expand.js.map +0 -1
- package/dist/util/Falsy.d.ts +0 -1
- package/dist/util/Falsy.js +0 -2
- package/dist/util/Falsy.js.map +0 -1
- package/dist/util/FromEntries.d.ts +0 -3
- package/dist/util/FromEntries.js +0 -2
- package/dist/util/FromEntries.js.map +0 -1
- package/dist/util/IteratorLike.d.ts +0 -1
- package/dist/util/IteratorLike.js +0 -2
- package/dist/util/IteratorLike.js.map +0 -1
- package/dist/util/JSONEntry.d.ts +0 -2
- package/dist/util/JSONEntry.js +0 -2
- package/dist/util/JSONEntry.js.map +0 -1
- package/dist/util/JSONKey.d.ts +0 -1
- package/dist/util/JSONKey.js +0 -2
- package/dist/util/JSONKey.js.map +0 -1
- package/dist/util/JSONObject.d.ts +0 -5
- package/dist/util/JSONObject.js +0 -2
- package/dist/util/JSONObject.js.map +0 -1
- package/dist/util/JSONSchemaMemo.d.ts +0 -2
- package/dist/util/JSONSchemaMemo.js +0 -13
- package/dist/util/JSONSchemaMemo.js.map +0 -1
- package/dist/util/JSONValue.d.ts +0 -2
- package/dist/util/JSONValue.js +0 -2
- package/dist/util/JSONValue.js.map +0 -1
- package/dist/util/PromiseOr.d.ts +0 -1
- package/dist/util/PromiseOr.js +0 -2
- package/dist/util/PromiseOr.js.map +0 -1
- package/dist/util/Result.d.ts +0 -7
- package/dist/util/Result.js +0 -2
- package/dist/util/Result.js.map +0 -1
- package/dist/util/Taggable.d.ts +0 -9
- package/dist/util/Taggable.js +0 -8
- package/dist/util/Taggable.js.map +0 -1
- package/dist/util/TupleToRecord.d.ts +0 -5
- package/dist/util/TupleToRecord.js +0 -2
- package/dist/util/TupleToRecord.js.map +0 -1
- package/dist/util/assert.d.ts +0 -1
- package/dist/util/assert.js +0 -7
- package/dist/util/assert.js.map +0 -1
- package/dist/util/dedent.d.ts +0 -1
- package/dist/util/dedent.js +0 -5
- package/dist/util/dedent.js.map +0 -1
- package/dist/util/fixTemplateStrings.d.ts +0 -11
- package/dist/util/fixTemplateStrings.js +0 -83
- package/dist/util/fixTemplateStrings.js.map +0 -1
- package/dist/util/fixTemplateStrings.test.d.ts +0 -1
- package/dist/util/fixTemplateStrings.test.js +0 -221
- package/dist/util/fixTemplateStrings.test.js.map +0 -1
- package/dist/util/isAsyncIterator.d.ts +0 -1
- package/dist/util/isAsyncIterator.js +0 -7
- package/dist/util/isAsyncIterator.js.map +0 -1
- package/dist/util/isIterator.d.ts +0 -1
- package/dist/util/isIterator.js +0 -7
- package/dist/util/isIterator.js.map +0 -1
- package/dist/util/isJSONValue.d.ts +0 -2
- package/dist/util/isJSONValue.js +0 -16
- package/dist/util/isJSONValue.js.map +0 -1
- package/dist/util/isPropertyKey.d.ts +0 -1
- package/dist/util/isPropertyKey.js +0 -4
- package/dist/util/isPropertyKey.js.map +0 -1
- package/dist/util/isTemplateStringsArray.d.ts +0 -1
- package/dist/util/isTemplateStringsArray.js +0 -4
- package/dist/util/isTemplateStringsArray.js.map +0 -1
- package/dist/util/jsonEquals.d.ts +0 -2
- package/dist/util/jsonEquals.js +0 -33
- package/dist/util/jsonEquals.js.map +0 -1
- package/dist/util/nullaryMemo.d.ts +0 -1
- package/dist/util/nullaryMemo.js +0 -12
- package/dist/util/nullaryMemo.js.map +0 -1
- package/dist/util/peekLast.d.ts +0 -1
- package/dist/util/peekLast.js +0 -4
- package/dist/util/peekLast.js.map +0 -1
- package/dist/util/unimplemented.d.ts +0 -1
- package/dist/util/unimplemented.js +0 -5
- package/dist/util/unimplemented.js.map +0 -1
- package/dist/util/unreachable.d.ts +0 -1
- package/dist/util/unreachable.js +0 -5
- package/dist/util/unreachable.js.map +0 -1
- package/dist/util/unwrapDeferred.d.ts +0 -2
- package/dist/util/unwrapDeferred.js +0 -4
- package/dist/util/unwrapDeferred.js.map +0 -1
- package/dist/util/util.d.ts +0 -10
- package/dist/util/util.js +0 -11
- package/dist/util/util.js.map +0 -1
- package/events/Aborted.ts +0 -5
- package/events/Embedded.ts +0 -6
- package/events/EmbeddingRequested.ts +0 -5
- package/events/Emitted.ts +0 -5
- package/events/EventBase.ts +0 -3
- package/events/EventHandler.ts +0 -3
- package/events/EventResolved.ts +0 -30
- package/events/Forked.ts +0 -3
- package/events/InferenceRequested.ts +0 -3
- package/events/Inferred.ts +0 -6
- package/events/LEvent.ts +0 -40
- package/events/MessageAppended.ts +0 -6
- package/events/MessageRemoved.ts +0 -6
- package/events/MessagesSet.ts +0 -6
- package/events/ModelPushed.ts +0 -10
- package/events/ModelRemoved.ts +0 -10
- package/events/Returned.ts +0 -5
- package/events/SectionCleared.ts +0 -6
- package/events/Sectioned.ts +0 -6
- package/events/Threw.ts +0 -5
- package/events/ToolCalled.ts +0 -7
- package/events/ToolDisabled.ts +0 -6
- package/events/ToolEnabled.ts +0 -8
- package/events/isScopeChildEvent.ts +0 -15
- package/events/isScopeDescendantEvent.ts +0 -30
- package/testing/AgentAssertions.ts +0 -17
- package/testing/TestEmbeddingModel.ts +0 -19
- package/testing/TestLanguageModel.ts +0 -33
- package/testing/index.ts +0 -4
- package/testing/takeFirstAction.ts +0 -8
- package/types/AssertDiagnostics.ts +0 -183
- package/types/JSONRootType.ts +0 -8
- package/types/JSONType.ts +0 -27
- package/types/JSONTypeBase.ts +0 -3
- package/types/Metatype/MetatypeDescriptor.ts +0 -80
- package/types/Metatype/fromMetatypeDescriptor.ts +0 -52
- package/types/Type.ts +0 -47
- package/types/TypeContext.ts +0 -19
- package/types/TypeLike.ts +0 -60
- package/types/TypeVisitor.ts +0 -49
- package/types/array.ts +0 -20
- package/types/boolean.ts +0 -9
- package/types/const.ts +0 -17
- package/types/enum.ts +0 -14
- package/types/factories.ts +0 -8
- package/types/index.ts +0 -2
- package/types/integer.ts +0 -9
- package/types/intrinsics.ts +0 -11
- package/types/makeType.ts +0 -72
- package/types/match.ts +0 -13
- package/types/non_factories.ts +0 -26
- package/types/null.ts +0 -10
- package/types/number.ts +0 -9
- package/types/object.ts +0 -27
- package/types/ref.ts +0 -12
- package/types/string.ts +0 -9
- package/types/toJSON.ts +0 -111
- package/types/type_common.ts +0 -21
- package/types/types_derived/option.ts +0 -10
- package/types/types_derived/taggedUnion.ts +0 -30
- package/types/types_derived/wrapper.ts +0 -10
- package/types/union.ts +0 -19
- package/util/ArrayOfLength.ts +0 -5
- package/util/DeferredOr.ts +0 -1
- package/util/EnsureNarrow.ts +0 -5
- package/util/EnsureRecord.ts +0 -3
- package/util/Expand.ts +0 -1
- package/util/Falsy.ts +0 -1
- package/util/FromEntries.ts +0 -3
- package/util/IteratorLike.ts +0 -1
- package/util/JSONEntry.ts +0 -3
- package/util/JSONKey.ts +0 -1
- package/util/JSONObject.ts +0 -6
- package/util/JSONSchemaMemo.ts +0 -15
- package/util/JSONValue.ts +0 -3
- package/util/PromiseOr.ts +0 -1
- package/util/Result.ts +0 -7
- package/util/Taggable.ts +0 -18
- package/util/TupleToRecord.ts +0 -5
- package/util/assert.ts +0 -7
- package/util/dedent.ts +0 -5
- package/util/fixTemplateStrings.test.ts +0 -250
- package/util/fixTemplateStrings.ts +0 -99
- package/util/isAsyncIterator.ts +0 -6
- package/util/isIterator.ts +0 -6
- package/util/isJSONValue.ts +0 -20
- package/util/isPropertyKey.ts +0 -3
- package/util/isTemplateStringsArray.ts +0 -3
- package/util/jsonEquals.ts +0 -41
- package/util/nullaryMemo.ts +0 -11
- package/util/peekLast.ts +0 -3
- package/util/unimplemented.ts +0 -5
- package/util/unreachable.ts +0 -5
- package/util/unwrapDeferred.ts +0 -5
- package/util/util.ts +0 -10
- /package/dist/{actions/actions_derived/declareModel.test.d.ts → Handler.d.ts} +0 -0
- /package/dist/{actions/actions_derived/declareModel.type-test.d.ts → L/namespace.d.ts} +0 -0
package/index.ts
CHANGED
|
@@ -1,41 +1,11 @@
|
|
|
1
|
-
export * from "
|
|
2
|
-
export * from "./actions/appendMessage.ts"
|
|
1
|
+
export * as _util from "liminal-util"
|
|
3
2
|
export * from "./Agent.ts"
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./
|
|
7
|
-
export * from "./events/Emitted.ts"
|
|
8
|
-
export * from "./events/EventBase.ts"
|
|
9
|
-
export * from "./events/EventHandler.ts"
|
|
10
|
-
export * from "./events/EventResolved.ts"
|
|
11
|
-
export * from "./events/EventResolved.ts"
|
|
12
|
-
export * from "./events/EventResolved.ts"
|
|
13
|
-
export * from "./events/InferenceRequested.ts"
|
|
14
|
-
export * from "./events/Inferred.ts"
|
|
15
|
-
export * from "./events/isScopeChildEvent.ts"
|
|
16
|
-
export * from "./events/isScopeDescendantEvent.ts"
|
|
17
|
-
export * from "./events/LEvent.ts"
|
|
18
|
-
export * from "./events/MessageAppended.ts"
|
|
19
|
-
export * from "./events/MessageRemoved.ts"
|
|
20
|
-
export * from "./events/MessagesSet.ts"
|
|
21
|
-
export * from "./events/ModelPushed.ts"
|
|
22
|
-
export * from "./events/ModelRemoved.ts"
|
|
23
|
-
export * from "./events/Returned.ts"
|
|
24
|
-
export * from "./events/Threw.ts"
|
|
25
|
-
export * from "./events/ToolCalled.ts"
|
|
26
|
-
export * from "./events/ToolDisabled.ts"
|
|
27
|
-
export * from "./events/ToolEnabled.ts"
|
|
28
|
-
export * from "./Exec.ts"
|
|
29
|
-
export * as L from "./L.ts"
|
|
30
|
-
export * from "./LiminalAssertionError.ts"
|
|
31
|
-
export * from "./LiminalConfig.ts"
|
|
32
|
-
export * from "./Message.ts"
|
|
3
|
+
export * from "./Fiber.ts"
|
|
4
|
+
export * as L from "./L/L.ts"
|
|
5
|
+
export * from "./LEvent.ts"
|
|
33
6
|
export * from "./Model.ts"
|
|
34
|
-
export * from "./
|
|
35
|
-
export * from "./
|
|
36
|
-
export * from "./
|
|
37
|
-
export * from "./
|
|
38
|
-
export * from "./
|
|
39
|
-
export * from "./util/JSONObject.ts"
|
|
40
|
-
export * from "./util/JSONValue.ts"
|
|
41
|
-
export * as _util from "./util/util.ts"
|
|
7
|
+
export * from "./Rune.ts"
|
|
8
|
+
export * from "./Runic.ts"
|
|
9
|
+
export * from "./state/MessageRegistry.ts"
|
|
10
|
+
export * from "./state/ModelRegistry.ts"
|
|
11
|
+
export * from "./state/StateMap.ts"
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.5.
|
|
6
|
+
"version": "0.5.3",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
@@ -11,21 +11,18 @@
|
|
|
11
11
|
"directory": "liminal"
|
|
12
12
|
},
|
|
13
13
|
"type": "module",
|
|
14
|
-
"description": "
|
|
14
|
+
"description": "Primitives for composing model-agnostic agents using TypeScript generator functions.",
|
|
15
15
|
"bin": {
|
|
16
16
|
"liminal": "./dist/cli/main.js"
|
|
17
17
|
},
|
|
18
18
|
"exports": {
|
|
19
|
-
".": "./dist/index.js"
|
|
20
|
-
"./testing": "./dist/testing/index.js",
|
|
21
|
-
"./types": "./dist/types/index.js"
|
|
19
|
+
".": "./dist/index.js"
|
|
22
20
|
},
|
|
23
21
|
"dependencies": {
|
|
24
|
-
"standard-json-schema": "^0.1.1"
|
|
25
|
-
},
|
|
26
|
-
"peerDependencies": {
|
|
27
22
|
"@standard-schema/spec": "^1.0.0",
|
|
28
|
-
"conditional-type-checks": "^1.0.6"
|
|
23
|
+
"conditional-type-checks": "^1.0.6",
|
|
24
|
+
"liminal-schema": "^0.0.1",
|
|
25
|
+
"liminal-util": "^0.0.1"
|
|
29
26
|
},
|
|
30
27
|
"peerDependenciesMeta": {
|
|
31
28
|
"conditional-type-checks": {
|
package/state/Counter.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MessageRegistry } from "./MessageRegistry.ts"
|
|
2
|
+
import { ModelConfig } from "./ModelConfig.ts"
|
|
3
|
+
import { ModelRegistry } from "./ModelRegistry.ts"
|
|
4
|
+
import { StateMap } from "./StateMap.ts"
|
|
5
|
+
|
|
6
|
+
export class DefaultStateMap extends StateMap {
|
|
7
|
+
constructor() {
|
|
8
|
+
super([
|
|
9
|
+
[ModelRegistry, new ModelRegistry()],
|
|
10
|
+
[MessageRegistry, new MessageRegistry()],
|
|
11
|
+
[ModelConfig, new ModelConfig()],
|
|
12
|
+
])
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Message } from "../Message.ts"
|
|
2
|
+
|
|
3
|
+
// TODO: marks and tags
|
|
4
|
+
export class MessageRegistry {
|
|
5
|
+
messages: Array<Message>
|
|
6
|
+
constructor(messages: Iterable<Message> = []) {
|
|
7
|
+
this.messages = Array.from(messages)
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
clone() {
|
|
11
|
+
return new MessageRegistry([...this.messages])
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
append(message: Message) {
|
|
15
|
+
this.messages.push(message)
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export class ModelConfig {
|
|
2
|
+
static from(config: Partial<ModelConfig>) {
|
|
3
|
+
return Object.assign(new ModelConfig(), config)
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
/** Seed used for deterministic sampling. */
|
|
7
|
+
declare seed?: number
|
|
8
|
+
/** Logit bias modifies the likelihood of specific tokens appearing. */
|
|
9
|
+
declare logitBias?: Record<string, number>
|
|
10
|
+
/** Sampling configuration. */
|
|
11
|
+
declare sampling?: SamplerConfig
|
|
12
|
+
|
|
13
|
+
/** Creates a copy of the configuration. */
|
|
14
|
+
clone() {
|
|
15
|
+
return Object.assign(new ModelConfig(), {
|
|
16
|
+
...this,
|
|
17
|
+
logitBias: { ...this.logitBias },
|
|
18
|
+
sampling: {
|
|
19
|
+
...this.sampling,
|
|
20
|
+
stopSequences: [...(this.sampling?.stopSequences ?? [])],
|
|
21
|
+
penalty: { ...this.sampling?.penalty },
|
|
22
|
+
},
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface SamplerConfig {
|
|
28
|
+
/** The maximum number of tokens to generate. */
|
|
29
|
+
maxTokens?: number
|
|
30
|
+
/** Temperature controls randomness in generation (0.0-2.0). */
|
|
31
|
+
temperature?: number
|
|
32
|
+
/** Cumulative probability cutoff for nucleus sampling (0.0-1.0). */
|
|
33
|
+
topP?: number
|
|
34
|
+
/** The number of tokens to consider in top-k sampling. */
|
|
35
|
+
topk?: number
|
|
36
|
+
/** Stop sequences is the list of sequences to stop generation. */
|
|
37
|
+
stopSequences?: Array<string>
|
|
38
|
+
/** Penalty configuration. */
|
|
39
|
+
penalty?: PenaltyConfig
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface PenaltyConfig {
|
|
43
|
+
/** Presence penalty adjusts the likelihood of token repetition (-2.0 to 2.0). */
|
|
44
|
+
presence?: number
|
|
45
|
+
/** Frequency penalty penalizes tokens based on their frequency (-2.0 to 2.0). */
|
|
46
|
+
frequency?: number
|
|
47
|
+
/** Repetition penalty range defines how many tokens back repetition penalties apply. */
|
|
48
|
+
repetitionRange?: number
|
|
49
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Model } from "../Model.ts"
|
|
2
|
+
|
|
3
|
+
/** An intrusive list for storing `Model`s. */
|
|
4
|
+
export class ModelRegistry {
|
|
5
|
+
declare head?: ModelRegistryNode | undefined
|
|
6
|
+
declare tail?: ModelRegistryNode | undefined
|
|
7
|
+
|
|
8
|
+
clone(): ModelRegistry {
|
|
9
|
+
const clone = new ModelRegistry()
|
|
10
|
+
for (let node = this?.head; node; node = node.next) {
|
|
11
|
+
clone.register(node.model)
|
|
12
|
+
}
|
|
13
|
+
return clone
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
peek(): Model | undefined {
|
|
17
|
+
return this.tail?.model
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
register(value: Model): ModelRegistryNode {
|
|
21
|
+
const node: ModelRegistryNode = {
|
|
22
|
+
prev: this.tail,
|
|
23
|
+
model: value,
|
|
24
|
+
}
|
|
25
|
+
if (this.tail) {
|
|
26
|
+
this.tail.next = node
|
|
27
|
+
} else {
|
|
28
|
+
this.head = node
|
|
29
|
+
}
|
|
30
|
+
this.tail = node
|
|
31
|
+
return node
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
remove(node: ModelRegistryNode): void {
|
|
35
|
+
if (node.prev) {
|
|
36
|
+
node.prev.next = node.next
|
|
37
|
+
}
|
|
38
|
+
if (node.next) {
|
|
39
|
+
node.next.prev = node.prev
|
|
40
|
+
}
|
|
41
|
+
if (node === this.head) {
|
|
42
|
+
this.head = node.next
|
|
43
|
+
}
|
|
44
|
+
if (node === this.tail) {
|
|
45
|
+
this.tail = node.prev
|
|
46
|
+
}
|
|
47
|
+
node.prev = node.next = undefined
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface ModelRegistryNode {
|
|
52
|
+
prev: ModelRegistryNode | undefined
|
|
53
|
+
model: Model
|
|
54
|
+
next?: ModelRegistryNode | undefined
|
|
55
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class StateMap extends Map<StateConstructor<Cloneable>, Cloneable> {
|
|
2
|
+
clone(): StateMap {
|
|
3
|
+
const clone = new StateMap()
|
|
4
|
+
for (const [key, value] of this.entries()) {
|
|
5
|
+
clone.set(key, value.clone())
|
|
6
|
+
}
|
|
7
|
+
return clone
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export type StateConstructor<T extends Cloneable = Cloneable> = new() => T
|
|
12
|
+
|
|
13
|
+
export interface Cloneable {
|
|
14
|
+
clone(): this
|
|
15
|
+
}
|
package/tsconfig.json
CHANGED
package/Action.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { Scope } from "./Scope.ts"
|
|
2
|
-
import type { Spec } from "./Spec.ts"
|
|
3
|
-
import type { PromiseOr } from "./util/PromiseOr.ts"
|
|
4
|
-
|
|
5
|
-
export interface Action<K extends string = string, S extends Spec = Spec> {
|
|
6
|
-
"": S
|
|
7
|
-
type: K
|
|
8
|
-
[ActionKey]: true
|
|
9
|
-
trace: string
|
|
10
|
-
reducer(this: this, scope: Scope): PromiseOr<Scope>
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export type ActionReducer<K extends string, S extends Spec> = (this: Action<K, S>, scope: Scope) => PromiseOr<Scope>
|
|
14
|
-
|
|
15
|
-
export function Action<K extends string, S extends Spec>(type: K, reducer: ActionReducer<K, S>): Action<K, S> {
|
|
16
|
-
return ({
|
|
17
|
-
type,
|
|
18
|
-
[ActionKey]: true,
|
|
19
|
-
trace: new Error().stack!,
|
|
20
|
-
reducer,
|
|
21
|
-
} satisfies Omit<Action<K, S>, "">) as never
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export type ActionKey = typeof ActionKey
|
|
25
|
-
export const ActionKey = Symbol("Liminal/Action")
|
|
26
|
-
|
|
27
|
-
export function isAction(value: unknown): value is Action {
|
|
28
|
-
return typeof value === "object" && value !== null && ActionKey in value
|
|
29
|
-
}
|
package/Exec.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type { Action } from "./Action.ts"
|
|
2
|
-
import type { Agent } from "./Agent.ts"
|
|
3
|
-
import type { EventHandler } from "./events/EventHandler.ts"
|
|
4
|
-
import type { EventResolved, ExtractEventResolved } from "./events/EventResolved.ts"
|
|
5
|
-
import type { LanguageModel } from "./Model.ts"
|
|
6
|
-
import { RootScope, type Scope } from "./Scope.ts"
|
|
7
|
-
import type { FromEntries } from "./util/FromEntries.ts"
|
|
8
|
-
import type { JSONKey } from "./util/JSONKey.ts"
|
|
9
|
-
|
|
10
|
-
export interface ExecConfig {
|
|
11
|
-
default: LanguageModel
|
|
12
|
-
args?: Record<JSONKey, any>
|
|
13
|
-
signal?: AbortSignal
|
|
14
|
-
handler?: EventHandler
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export type ExtractExecConfig<Y extends Action> =
|
|
18
|
-
& {
|
|
19
|
-
default: LanguageModel
|
|
20
|
-
signal?: AbortSignal
|
|
21
|
-
handler?: EventHandler<Extract<ExtractEventResolved<Y[""]> & {}, EventResolved>>
|
|
22
|
-
}
|
|
23
|
-
& (
|
|
24
|
-
[Y[""]["Entry"]] extends [never] ? {
|
|
25
|
-
args?: undefined
|
|
26
|
-
}
|
|
27
|
-
: {
|
|
28
|
-
args: FromEntries<Y[""]["Entry"]>
|
|
29
|
-
}
|
|
30
|
-
)
|
|
31
|
-
|
|
32
|
-
export async function exec<Y extends Action, T>(
|
|
33
|
-
createAgent: () => Agent<Y, T>,
|
|
34
|
-
config: ExtractExecConfig<Y>,
|
|
35
|
-
): Promise<T> {
|
|
36
|
-
let scope: Scope = RootScope(config as never)
|
|
37
|
-
scope = await scope.reduce(createAgent())
|
|
38
|
-
const { signal: { aborted, reason } } = scope.controller
|
|
39
|
-
if (aborted) {
|
|
40
|
-
scope.event({
|
|
41
|
-
type: "aborted",
|
|
42
|
-
reason,
|
|
43
|
-
})
|
|
44
|
-
throw reason
|
|
45
|
-
}
|
|
46
|
-
scope.event({
|
|
47
|
-
type: "returned",
|
|
48
|
-
value: scope.value,
|
|
49
|
-
})
|
|
50
|
-
return scope.value
|
|
51
|
-
}
|
package/L.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export * from "./_.ts"
|
|
2
|
-
export * from "./actions/abort.ts"
|
|
3
|
-
export * from "./actions/actions_derived/clear.ts"
|
|
4
|
-
export * from "./actions/actions_derived/declareModel.ts"
|
|
5
|
-
export * from "./actions/actions_derived/messages.ts"
|
|
6
|
-
export * from "./actions/actions_derived/readers_derived.ts"
|
|
7
|
-
export * from "./actions/appendMessage.ts"
|
|
8
|
-
export * from "./actions/await.ts"
|
|
9
|
-
export * from "./actions/branch.ts"
|
|
10
|
-
export * from "./actions/catch.ts"
|
|
11
|
-
export * from "./actions/declareArg.ts"
|
|
12
|
-
export * from "./actions/disableTool.ts"
|
|
13
|
-
export * from "./actions/embed.ts"
|
|
14
|
-
export * from "./actions/emit.ts"
|
|
15
|
-
export * from "./actions/enableTool.ts"
|
|
16
|
-
export * from "./actions/infer.ts"
|
|
17
|
-
export * from "./actions/messages.ts"
|
|
18
|
-
export * from "./actions/pushModel.ts"
|
|
19
|
-
export * from "./actions/scope.ts"
|
|
20
|
-
export * from "./actions/section.ts"
|
|
21
|
-
export * from "./actions/throw.ts"
|
|
22
|
-
export * from "./types/factories.ts"
|
|
23
|
-
|
|
24
|
-
export * from "./actions/actions_derived/metatype.ts"
|
package/LiminalAssertionError.ts
DELETED
package/LiminalConfig.ts
DELETED
package/PathLike.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { _ } from "./_.ts"
|
|
2
|
-
import type { JSONKey } from "./util/JSONKey.ts"
|
|
3
|
-
|
|
4
|
-
export type Path = Array<JSONKey>
|
|
5
|
-
export declare namespace Path {
|
|
6
|
-
export type FromPathLike<P extends PathLike> = P extends [infer E0 extends KeyLike, ...infer ERest extends PathLike]
|
|
7
|
-
? [E0 extends JSONKey ? E0 : JSONKey, ...FromPathLike<ERest>]
|
|
8
|
-
: []
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export type KeyLike = JSONKey | _
|
|
12
|
-
export type PathLike = Array<KeyLike>
|
|
13
|
-
export declare namespace PathLike {
|
|
14
|
-
export type FromPath<P extends Path> = P extends [infer E0, ...infer ERest extends Path]
|
|
15
|
-
? [E0 | _, ...FromPath<ERest>]
|
|
16
|
-
: []
|
|
17
|
-
}
|
package/Scope.ts
DELETED
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import type { Action } from "./Action.ts"
|
|
2
|
-
import type { Agent } from "./Agent.ts"
|
|
3
|
-
import type { EventHandler } from "./events/EventHandler.ts"
|
|
4
|
-
import type { LEvent } from "./events/LEvent.ts"
|
|
5
|
-
import type { ExecConfig } from "./Exec.ts"
|
|
6
|
-
import type { Message } from "./Message.ts"
|
|
7
|
-
import type { EmbeddingModel, LanguageModel } from "./Model.ts"
|
|
8
|
-
import type { Tool } from "./Tool.ts"
|
|
9
|
-
import type { JSONKey } from "./util/JSONKey.ts"
|
|
10
|
-
|
|
11
|
-
export type Scope = RootScope | ChildScope
|
|
12
|
-
|
|
13
|
-
export interface RootScope extends ScopeBase<RootScopeType> {}
|
|
14
|
-
export interface ChildScope extends ScopeBase<ChildScopeType> {
|
|
15
|
-
readonly parent: Scope
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export type RootScopeType = "root"
|
|
19
|
-
export type ChildScopeType = "catch" | "tool" | "branch" | "branch_arm" | "set_messages" | "run_section"
|
|
20
|
-
export type ScopeType = RootScopeType | ChildScopeType
|
|
21
|
-
|
|
22
|
-
export interface ScopeBase<Type extends ScopeType> {
|
|
23
|
-
readonly type: Type
|
|
24
|
-
readonly path: Array<JSONKey>
|
|
25
|
-
readonly args?: Record<JSONKey, any>
|
|
26
|
-
readonly controller: AbortController
|
|
27
|
-
readonly messages: Set<Message>
|
|
28
|
-
readonly tools: Set<Tool>
|
|
29
|
-
readonly nextArg?: any
|
|
30
|
-
readonly value: any
|
|
31
|
-
readonly thrown?: any
|
|
32
|
-
readonly languageModels: Set<LanguageModel>
|
|
33
|
-
readonly embeddingModels: Set<EmbeddingModel>
|
|
34
|
-
readonly handler?: EventHandler
|
|
35
|
-
readonly childForkCounts: Record<JSONKey, number>
|
|
36
|
-
readonly index: number
|
|
37
|
-
readonly sections: Set<Section>
|
|
38
|
-
|
|
39
|
-
reduce(agent: Agent): Promise<Scope>
|
|
40
|
-
fork(
|
|
41
|
-
source: ChildScopeType,
|
|
42
|
-
subpath: Array<JSONKey>,
|
|
43
|
-
overrides?: Partial<ChildScope>,
|
|
44
|
-
): Scope
|
|
45
|
-
event(event: LEvent): void
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export interface Section {
|
|
49
|
-
sectionKey: JSONKey
|
|
50
|
-
messages: Set<Message>
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export function RootScope({
|
|
54
|
-
signal,
|
|
55
|
-
args,
|
|
56
|
-
handler,
|
|
57
|
-
default: defaultLanguageModel,
|
|
58
|
-
}: ExecConfig): RootScope {
|
|
59
|
-
const controller = new AbortController()
|
|
60
|
-
signal?.addEventListener("abort", () => {
|
|
61
|
-
controller.abort()
|
|
62
|
-
})
|
|
63
|
-
return {
|
|
64
|
-
type: "root",
|
|
65
|
-
args,
|
|
66
|
-
controller,
|
|
67
|
-
messages: new Set(),
|
|
68
|
-
tools: new Set(),
|
|
69
|
-
value: undefined,
|
|
70
|
-
path: [],
|
|
71
|
-
languageModels: new Set([defaultLanguageModel]),
|
|
72
|
-
embeddingModels: new Set(),
|
|
73
|
-
childForkCounts: {},
|
|
74
|
-
sections: new Set(),
|
|
75
|
-
index: 0,
|
|
76
|
-
reduce,
|
|
77
|
-
fork,
|
|
78
|
-
handler,
|
|
79
|
-
event,
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
async function reduce(this: Scope, agent: Agent): Promise<Scope> {
|
|
84
|
-
const { signal } = this.controller
|
|
85
|
-
let scope = { ...this }
|
|
86
|
-
if (signal.aborted) return scope
|
|
87
|
-
let value: unknown
|
|
88
|
-
try {
|
|
89
|
-
let current = await agent.next()
|
|
90
|
-
while (!current.done) {
|
|
91
|
-
const { value } = current
|
|
92
|
-
if (signal.aborted) return scope
|
|
93
|
-
scope = await (value as Action).reducer(scope)
|
|
94
|
-
if (signal.aborted) return scope
|
|
95
|
-
current = await agent.next(scope.nextArg)
|
|
96
|
-
}
|
|
97
|
-
value = current.value
|
|
98
|
-
} catch (thrown: unknown) {
|
|
99
|
-
scope.controller.abort(thrown)
|
|
100
|
-
}
|
|
101
|
-
return {
|
|
102
|
-
...scope,
|
|
103
|
-
value,
|
|
104
|
-
nextArg: undefined,
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
function fork(
|
|
109
|
-
this: Scope,
|
|
110
|
-
type: ChildScopeType,
|
|
111
|
-
subpath: Array<JSONKey>,
|
|
112
|
-
overrides?: Partial<ChildScope>,
|
|
113
|
-
): ChildScope {
|
|
114
|
-
const subpathStr = subpath.join(" ")
|
|
115
|
-
let index = this.childForkCounts[subpathStr]
|
|
116
|
-
if (typeof index === "number") {
|
|
117
|
-
this.childForkCounts[subpathStr]! += 1
|
|
118
|
-
} else {
|
|
119
|
-
index = 0
|
|
120
|
-
this.childForkCounts[subpathStr] = 1
|
|
121
|
-
}
|
|
122
|
-
const f: ChildScope = {
|
|
123
|
-
type,
|
|
124
|
-
controller: this.controller,
|
|
125
|
-
args: this.args,
|
|
126
|
-
messages: new Set(this.messages),
|
|
127
|
-
tools: new Set(),
|
|
128
|
-
languageModels: new Set(this.languageModels),
|
|
129
|
-
embeddingModels: new Set(this.embeddingModels),
|
|
130
|
-
childForkCounts: {},
|
|
131
|
-
handler: this.handler,
|
|
132
|
-
path: [...this.path, ...subpath],
|
|
133
|
-
parent: this,
|
|
134
|
-
value: undefined,
|
|
135
|
-
index,
|
|
136
|
-
sections: new Set(this.sections),
|
|
137
|
-
reduce,
|
|
138
|
-
fork,
|
|
139
|
-
event,
|
|
140
|
-
...overrides ?? {},
|
|
141
|
-
}
|
|
142
|
-
f.event({ type: "forked" })
|
|
143
|
-
return f
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
function event(this: ChildScope, event: LEvent): void {
|
|
147
|
-
this.handler?.({
|
|
148
|
-
scope: this.path,
|
|
149
|
-
index: this.index,
|
|
150
|
-
...event,
|
|
151
|
-
})
|
|
152
|
-
}
|
package/Spec.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { LEvent } from "./events/LEvent.ts"
|
|
2
|
-
import type { Expand } from "./util/Expand.ts"
|
|
3
|
-
import type { JSONEntry } from "./util/JSONEntry.ts"
|
|
4
|
-
import type { JSONKey } from "./util/JSONKey.ts"
|
|
5
|
-
|
|
6
|
-
export interface Spec<
|
|
7
|
-
Key extends JSONKey = JSONKey,
|
|
8
|
-
Event extends LEvent = LEvent,
|
|
9
|
-
Spec_ extends Spec = any,
|
|
10
|
-
Entry_ extends JSONEntry = JSONEntry,
|
|
11
|
-
Throw = any,
|
|
12
|
-
Value = any,
|
|
13
|
-
> {
|
|
14
|
-
Event: Event
|
|
15
|
-
Child: [Key, Spec_]
|
|
16
|
-
Entry: Entry_
|
|
17
|
-
Throw: Throw
|
|
18
|
-
Value: Value
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export declare namespace Spec {
|
|
22
|
-
export type Make<P extends Partial<Spec>> = Expand<{
|
|
23
|
-
Event: [unknown] extends [P["Event"]] ? never : P["Event"]
|
|
24
|
-
Child: [unknown] extends [P["Child"]] ? never : P["Child"]
|
|
25
|
-
Throw: [unknown] extends [P["Throw"]] ? never : P["Throw"]
|
|
26
|
-
Entry: [unknown] extends [P["Entry"]] ? never : P["Entry"]
|
|
27
|
-
Value: [unknown] extends [P["Value"]] ? never : P["Value"]
|
|
28
|
-
}>
|
|
29
|
-
}
|
package/Tool.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { StandardSchemaV1 } from "@standard-schema/spec"
|
|
2
|
-
import type { Action } from "./Action.ts"
|
|
3
|
-
import type { Agent } from "./Agent.ts"
|
|
4
|
-
import type { Scope } from "./Scope.ts"
|
|
5
|
-
import { assert } from "./util/assert.ts"
|
|
6
|
-
import { isJSONValue } from "./util/isJSONValue.ts"
|
|
7
|
-
import type { JSONKey } from "./util/JSONKey.ts"
|
|
8
|
-
import type { JSONObject } from "./util/JSONObject.ts"
|
|
9
|
-
import type { JSONValue } from "./util/JSONValue.ts"
|
|
10
|
-
import type { PromiseOr } from "./util/PromiseOr.ts"
|
|
11
|
-
|
|
12
|
-
export interface ToolConfig<K extends JSONKey = JSONKey> {
|
|
13
|
-
toolKey: K
|
|
14
|
-
description: string
|
|
15
|
-
params: StandardSchemaV1<JSONObject, any>
|
|
16
|
-
implementation: ToolImplementation
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface Tool<K extends JSONKey = JSONKey> extends ToolConfig<K> {
|
|
20
|
-
executor: (scope: Scope) => ToolExecutor
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export function Tool<K extends JSONKey>(config: ToolConfig<K>): Tool<K> {
|
|
24
|
-
return {
|
|
25
|
-
...config,
|
|
26
|
-
executor,
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export type ToolImplementation = (params: any) => Agent<Action, ToolResult> | PromiseOr<ToolResult>
|
|
31
|
-
|
|
32
|
-
export type ToolExecutor = (args: any) => Promise<JSONValue>
|
|
33
|
-
|
|
34
|
-
export type ToolResult = JSONValue | void
|
|
35
|
-
|
|
36
|
-
function executor(this: Tool, scope: Scope): ToolExecutor {
|
|
37
|
-
return async (args) => {
|
|
38
|
-
scope.event({
|
|
39
|
-
type: "tool_called",
|
|
40
|
-
args,
|
|
41
|
-
tool: this.toolKey,
|
|
42
|
-
})
|
|
43
|
-
const parsed = await this.params["~standard"].validate(args)
|
|
44
|
-
assert(!parsed.issues)
|
|
45
|
-
const { value: transformed } = parsed
|
|
46
|
-
const initial = await this.implementation(transformed)
|
|
47
|
-
if (isJSONValue(initial)) {
|
|
48
|
-
return { value: initial }
|
|
49
|
-
}
|
|
50
|
-
const fork = scope.fork("tool", [this.toolKey])
|
|
51
|
-
const { value } = await fork.reduce(initial as Agent)
|
|
52
|
-
fork.event({
|
|
53
|
-
type: "returned",
|
|
54
|
-
value,
|
|
55
|
-
})
|
|
56
|
-
return { value }
|
|
57
|
-
}
|
|
58
|
-
}
|
package/_.ts
DELETED
package/actions/abort.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Action } from "../Action.ts"
|
|
2
|
-
import type { Aborted } from "../events/Aborted.ts"
|
|
3
|
-
import type { Spec } from "../Spec.ts"
|
|
4
|
-
import type { EnsureNarrow } from "../util/EnsureNarrow.ts"
|
|
5
|
-
|
|
6
|
-
export interface abort<V> extends Action<"abort", Spec.Make<{ Event: Aborted<V> }>> {}
|
|
7
|
-
|
|
8
|
-
export function* abort<V>(reason: V, ...[_error]: EnsureNarrow<V>): Generator<
|
|
9
|
-
abort<V>,
|
|
10
|
-
never
|
|
11
|
-
> {
|
|
12
|
-
return (yield (Action("abort", (scope) => {
|
|
13
|
-
scope.event({
|
|
14
|
-
type: "aborted",
|
|
15
|
-
reason,
|
|
16
|
-
})
|
|
17
|
-
scope.controller.abort(reason)
|
|
18
|
-
return {
|
|
19
|
-
...scope,
|
|
20
|
-
nextArg: undefined,
|
|
21
|
-
}
|
|
22
|
-
}))) as never
|
|
23
|
-
}
|