liminal 0.5.1 → 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 +28 -0
- package/CHANGELOG.md +16 -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 -17
- package/Rune.ts +17 -0
- package/Runic.ts +22 -0
- package/cli/main.ts +1 -19
- package/dist/Agent.d.ts +12 -0
- package/dist/Agent.js +16 -0
- package/dist/Agent.js.map +1 -0
- 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 -15
- 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 -14
- package/dist/cli/main.js.map +1 -1
- package/dist/index.d.ts +10 -40
- package/dist/index.js +10 -40
- 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 +10 -40
- 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/Actor.ts +0 -20
- package/Exec.ts +0 -63
- package/L.ts +0 -27
- package/LiminalAssertionError.ts +0 -3
- package/LiminalConfig.ts +0 -7
- package/PathLike.ts +0 -19
- package/Scope.ts +0 -133
- 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 -33
- package/actions/actions_derived/declareModel.ts +0 -9
- package/actions/actions_derived/declareModel.type-test.ts +0 -70
- package/actions/actions_derived/getMessages.ts +0 -9
- package/actions/actions_derived/messages.test.ts +0 -88
- package/actions/actions_derived/messages.ts +0 -19
- package/actions/actions_derived/metatype.ts +0 -9
- package/actions/appendMessage.ts +0 -30
- package/actions/await.ts +0 -13
- package/actions/branch.ts +0 -108
- package/actions/catch.ts +0 -42
- package/actions/declareArg.ts +0 -14
- package/actions/disableTool.ts +0 -26
- package/actions/embed.ts +0 -28
- package/actions/emit.ts +0 -21
- package/actions/enableTool.ts +0 -75
- package/actions/enableTool.type-test.ts +0 -118
- package/actions/getScope.ts +0 -11
- package/actions/getSignal.ts +0 -10
- package/actions/getTools.ts +0 -11
- package/actions/infer.ts +0 -37
- package/actions/pushModel.ts +0 -32
- package/actions/removeMessage.ts +0 -22
- package/actions/removeModel.ts +0 -31
- package/actions/setMessages.ts +0 -66
- package/actions/throw.ts +0 -18
- package/cli/WriteHandler.ts +0 -35
- package/cli/cli_common.ts +0 -3
- package/cli/runExec.ts +0 -68
- package/dist/Action.d.ts +0 -15
- package/dist/Action.js +0 -13
- package/dist/Action.js.map +0 -1
- package/dist/Actor.d.ts +0 -14
- package/dist/Actor.js +0 -2
- package/dist/Actor.js.map +0 -1
- package/dist/Exec.d.ts +0 -27
- package/dist/Exec.js +0 -22
- package/dist/Exec.js.map +0 -1
- package/dist/L.d.ts +0 -26
- package/dist/L.js +0 -27
- 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 -14
- package/dist/PathLike.js +0 -2
- package/dist/PathLike.js.map +0 -1
- package/dist/Scope.d.ts +0 -36
- package/dist/Scope.js +0 -90
- 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 -32
- 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/getMessages.d.ts +0 -3
- package/dist/actions/actions_derived/getMessages.js +0 -8
- package/dist/actions/actions_derived/getMessages.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/appendMessage.d.ts +0 -10
- package/dist/actions/appendMessage.js +0 -20
- 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 -35
- 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 -23
- 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/getScope.d.ts +0 -5
- package/dist/actions/getScope.js +0 -8
- package/dist/actions/getScope.js.map +0 -1
- package/dist/actions/getSignal.d.ts +0 -4
- package/dist/actions/getSignal.js +0 -8
- package/dist/actions/getSignal.js.map +0 -1
- package/dist/actions/getTools.d.ts +0 -5
- package/dist/actions/getTools.js +0 -8
- package/dist/actions/getTools.js.map +0 -1
- package/dist/actions/infer.d.ts +0 -13
- package/dist/actions/infer.js +0 -21
- package/dist/actions/infer.js.map +0 -1
- package/dist/actions/pushModel.d.ts +0 -11
- package/dist/actions/pushModel.js +0 -21
- package/dist/actions/pushModel.js.map +0 -1
- package/dist/actions/removeMessage.d.ts +0 -9
- package/dist/actions/removeMessage.js +0 -17
- package/dist/actions/removeMessage.js.map +0 -1
- package/dist/actions/removeModel.d.ts +0 -10
- package/dist/actions/removeModel.js +0 -20
- package/dist/actions/removeModel.js.map +0 -1
- package/dist/actions/setMessages.d.ts +0 -16
- package/dist/actions/setMessages.js +0 -31
- package/dist/actions/setMessages.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 -3
- 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 -69
- 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 -18
- 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/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/ActorAssertions.d.ts +0 -9
- package/dist/testing/ActorAssertions.js +0 -6
- package/dist/testing/ActorAssertions.js.map +0 -1
- package/dist/testing/TestEmbeddingModel.d.ts +0 -6
- package/dist/testing/TestEmbeddingModel.js +0 -10
- package/dist/testing/TestEmbeddingModel.js.map +0 -1
- package/dist/testing/TestLanguageModel.d.ts +0 -8
- package/dist/testing/TestLanguageModel.js +0 -21
- 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 -30
- 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/declareType.d.ts +0 -2
- package/dist/types/declareType.js +0 -57
- package/dist/types/declareType.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/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/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 -36
- 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/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/ActorAssertions.ts +0 -19
- package/testing/TestEmbeddingModel.ts +0 -18
- package/testing/TestLanguageModel.ts +0 -32
- 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 -46
- 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/declareType.ts +0 -71
- 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/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/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/events/ToolCalled.ts
DELETED
package/events/ToolDisabled.ts
DELETED
package/events/ToolEnabled.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type _ } from "../_.ts"
|
|
2
|
-
import type { Path, PathLike } from "../PathLike.ts"
|
|
3
|
-
import type { Expand } from "../util/Expand.ts"
|
|
4
|
-
import type { EventResolved } from "./EventResolved.ts"
|
|
5
|
-
import { isScopeDescendantEvent } from "./isScopeDescendantEvent.ts"
|
|
6
|
-
|
|
7
|
-
export function isScopeChildEvent<E extends EventResolved, const P extends PathLike.FromPath<E["scope"]>>(
|
|
8
|
-
event: E,
|
|
9
|
-
path: P,
|
|
10
|
-
): event is Expand<Extract<E, { scope: Path.FromPathLike<P> }>> {
|
|
11
|
-
if (event.scope.length !== path.length) {
|
|
12
|
-
return false
|
|
13
|
-
}
|
|
14
|
-
return isScopeDescendantEvent(event, path as never)
|
|
15
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { type _, is_ } from "../_.ts"
|
|
2
|
-
import type { Path, PathLike } from "../PathLike.ts"
|
|
3
|
-
import type { Expand } from "../util/Expand.ts"
|
|
4
|
-
import type { JSONKey } from "../util/JSONKey.ts"
|
|
5
|
-
import type { EventResolved } from "./EventResolved.ts"
|
|
6
|
-
|
|
7
|
-
export function isScopeDescendantEvent<
|
|
8
|
-
E extends EventResolved,
|
|
9
|
-
const P extends PathLike.FromPath<Subscope<E["scope"]>>,
|
|
10
|
-
>(
|
|
11
|
-
event: E,
|
|
12
|
-
path: P,
|
|
13
|
-
): event is Expand<Extract<E, { scope: Subscope.Select<E["scope"], Path.FromPathLike<P>> }>> {
|
|
14
|
-
for (let i = 0; i < path.length; i++) {
|
|
15
|
-
const currentMatchKey = path[i]!
|
|
16
|
-
const currentActualKey = event.scope[i]!
|
|
17
|
-
if (currentActualKey !== currentMatchKey || !is_(currentMatchKey)) {
|
|
18
|
-
return false
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return true
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export type Subscope<A extends Array<JSONKey>> = A extends
|
|
25
|
-
[infer E0 extends JSONKey, ...infer ERest extends Array<JSONKey>] ? [E0, ...([] | Subscope<ERest>)]
|
|
26
|
-
: []
|
|
27
|
-
|
|
28
|
-
export declare namespace Subscope {
|
|
29
|
-
export type Select<A extends Array<JSONKey>, S extends Array<JSONKey>> = Extract<A, [...S, ...Array<JSONKey>]>
|
|
30
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { IsExact } from "conditional-type-checks"
|
|
2
|
-
import type { Action } from "../Action.ts"
|
|
3
|
-
import type { ActorLike } from "../Actor.ts"
|
|
4
|
-
import type { Spec } from "../Spec.ts"
|
|
5
|
-
import type { Expand } from "../util/Expand.ts"
|
|
6
|
-
|
|
7
|
-
export interface ActorAssertions<S extends Spec> {
|
|
8
|
-
assertSpec<A extends Spec>(
|
|
9
|
-
...[passes]: IsExact<S, Expand<A>> extends true ? [passes?: true] : [passes: false]
|
|
10
|
-
): void
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function ActorAssertions<Y extends Action, R>(
|
|
14
|
-
_actorLike: ActorLike<Y, R>,
|
|
15
|
-
): ActorAssertions<Y[""]> {
|
|
16
|
-
return {
|
|
17
|
-
assertSpec: () => {},
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { EmbeddingModel } from "../Model.ts"
|
|
2
|
-
|
|
3
|
-
export interface TestEmbeddingModelConfig {
|
|
4
|
-
getEmbedding: () => Promise<Array<number>>
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export const defaultTestingEmbeddingModelConfig: TestEmbeddingModelConfig = {
|
|
8
|
-
getEmbedding: () => Promise.resolve([]),
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function TestEmbeddingModel({
|
|
12
|
-
getEmbedding,
|
|
13
|
-
}: TestEmbeddingModelConfig = defaultTestingEmbeddingModelConfig): EmbeddingModel {
|
|
14
|
-
return {
|
|
15
|
-
type: "embedding",
|
|
16
|
-
embed: getEmbedding,
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { assistant } from "../actions/actions_derived/messages.ts"
|
|
2
|
-
import type { LanguageModel } from "../Model.ts"
|
|
3
|
-
import type { JSONValue } from "../util/JSONValue.ts"
|
|
4
|
-
|
|
5
|
-
export interface TestLanguageModelConfig {
|
|
6
|
-
getObject: () => JSONValue
|
|
7
|
-
getText: () => string
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export const defaultTestLanguageModelConfig: TestLanguageModelConfig = {
|
|
11
|
-
getObject: () => ({}),
|
|
12
|
-
getText: () => "",
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export function TestLanguageModel({
|
|
16
|
-
getObject,
|
|
17
|
-
getText,
|
|
18
|
-
}: TestLanguageModelConfig = defaultTestLanguageModelConfig): LanguageModel {
|
|
19
|
-
return {
|
|
20
|
-
type: "language",
|
|
21
|
-
async *infer(type) {
|
|
22
|
-
if (type) {
|
|
23
|
-
const object = getObject()
|
|
24
|
-
yield* assistant`${JSON.stringify(object)}`
|
|
25
|
-
return object
|
|
26
|
-
}
|
|
27
|
-
const text = getText()
|
|
28
|
-
yield* assistant`${text}`
|
|
29
|
-
return text
|
|
30
|
-
},
|
|
31
|
-
}
|
|
32
|
-
}
|
package/testing/index.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Action } from "../Action.ts"
|
|
2
|
-
import type { ActorLike } from "../Actor.ts"
|
|
3
|
-
import { unwrapDeferred } from "../util/unwrapDeferred.ts"
|
|
4
|
-
|
|
5
|
-
export async function takeFirstAction<Y extends Action>(f: ActorLike<Y>): Promise<Y | undefined> {
|
|
6
|
-
const { value } = await unwrapDeferred(f).next()
|
|
7
|
-
return value
|
|
8
|
-
}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import { assert } from "../util/assert.ts"
|
|
2
|
-
import { isJSONValue } from "../util/isJSONValue.ts"
|
|
3
|
-
import { jsonEquals } from "../util/jsonEquals.ts"
|
|
4
|
-
import type { JSONKey } from "../util/JSONKey.ts"
|
|
5
|
-
import type { JSONValue } from "../util/JSONValue.ts"
|
|
6
|
-
import type { JSONType } from "./JSONType.ts"
|
|
7
|
-
import type { Type } from "./Type.ts"
|
|
8
|
-
import { TypeVisitor } from "./TypeVisitor.ts"
|
|
9
|
-
|
|
10
|
-
export type AssertDiagnostics = Array<Diagnostic>
|
|
11
|
-
|
|
12
|
-
export type Diagnostic = ReturnType<typeof Diagnostic>
|
|
13
|
-
export function Diagnostic(path: AssertPath, type: Type, error: unknown) {
|
|
14
|
-
return {
|
|
15
|
-
path,
|
|
16
|
-
type,
|
|
17
|
-
error,
|
|
18
|
-
message,
|
|
19
|
-
formatPath,
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function message() {
|
|
23
|
-
return error instanceof Error ? error.message : JSON.stringify(error)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function formatPath() {
|
|
27
|
-
let formatted = ""
|
|
28
|
-
for (let i = 0; i < path.length; i++) {
|
|
29
|
-
const key = path[i]!
|
|
30
|
-
if (typeof key === "string") {
|
|
31
|
-
try {
|
|
32
|
-
const int = parseInt(key)
|
|
33
|
-
if (Number.isInteger(int)) {
|
|
34
|
-
formatted += `[${int}]`
|
|
35
|
-
} else {
|
|
36
|
-
formatted += `.${key}`
|
|
37
|
-
}
|
|
38
|
-
} catch (_e: unknown) {
|
|
39
|
-
formatted += `.${key}`
|
|
40
|
-
}
|
|
41
|
-
} else {
|
|
42
|
-
formatted += `[${key}]`
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return formatted
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export type AssertPath = Array<JSONKey>
|
|
50
|
-
|
|
51
|
-
// Possibly: `nullUnionFieldsAsOptional?: boolean`
|
|
52
|
-
export interface AssertDiagnosticsConfig {}
|
|
53
|
-
|
|
54
|
-
export function AssertDiagnostics<T extends JSONValue, J extends JSONType>(
|
|
55
|
-
config: AssertDiagnosticsConfig,
|
|
56
|
-
type: Type<T, J>,
|
|
57
|
-
value: unknown,
|
|
58
|
-
): Array<Diagnostic> {
|
|
59
|
-
const state = ValueVisitorState()
|
|
60
|
-
visit([config, false], type)(value, state)
|
|
61
|
-
return state.diagnostics
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
type ValueVisitorState = ReturnType<typeof ValueVisitorState>
|
|
65
|
-
function ValueVisitorState(
|
|
66
|
-
diagnostics: Array<Diagnostic> = [],
|
|
67
|
-
path: Array<number | string> = [],
|
|
68
|
-
) {
|
|
69
|
-
return {
|
|
70
|
-
diagnostics,
|
|
71
|
-
path,
|
|
72
|
-
next,
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
function next(key?: JSONKey) {
|
|
76
|
-
return ValueVisitorState(diagnostics, [...path, ...key !== undefined ? [key] : []])
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
const visit: TypeVisitor<AssertDiagnosticsConfig, (value: unknown, vState: ValueVisitorState) => void> = TypeVisitor(
|
|
81
|
-
{
|
|
82
|
-
hook(next, tState, type) {
|
|
83
|
-
return (value, vState) => {
|
|
84
|
-
try {
|
|
85
|
-
next(tState, type)(value, vState)
|
|
86
|
-
} catch (error) {
|
|
87
|
-
vState.diagnostics.push(Diagnostic(vState.path, type, error))
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
null() {
|
|
92
|
-
return (value) => {
|
|
93
|
-
assert(value === null)
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
boolean() {
|
|
97
|
-
return (value) => {
|
|
98
|
-
assert(typeof value === "boolean")
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
integer() {
|
|
102
|
-
return (value) => {
|
|
103
|
-
assert(typeof value === "number" && Number.isInteger(value))
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
number() {
|
|
107
|
-
return (value) => {
|
|
108
|
-
assert(typeof value === "number")
|
|
109
|
-
}
|
|
110
|
-
},
|
|
111
|
-
string() {
|
|
112
|
-
return (value) => {
|
|
113
|
-
assert(typeof value === "string")
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
const(_tState, _type, _valueType, value_) {
|
|
117
|
-
return (value) => {
|
|
118
|
-
assert(isJSONValue(value) && jsonEquals(value_, value))
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
_array(tState, _type, element) {
|
|
122
|
-
const visitElement = visit(tState, element)
|
|
123
|
-
return (value, vState) => {
|
|
124
|
-
assert(Array.isArray(value))
|
|
125
|
-
value.forEach((e, i) => visitElement(e, vState.next(i)))
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
enum(_tState, _type, ...values) {
|
|
129
|
-
return (value) => {
|
|
130
|
-
assert(typeof value == "string")
|
|
131
|
-
assert(values.includes(value))
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
_union(tState, _type, ...members) {
|
|
135
|
-
return (value, vState) => {
|
|
136
|
-
assert(members.some((member) => {
|
|
137
|
-
const memberState = vState.next()
|
|
138
|
-
visit(tState, member)(value, memberState)
|
|
139
|
-
return !memberState.diagnostics.length
|
|
140
|
-
}))
|
|
141
|
-
}
|
|
142
|
-
},
|
|
143
|
-
_object(tState, _type, fields) {
|
|
144
|
-
return (value, vState) => {
|
|
145
|
-
assert(typeof value === "object" && value !== null)
|
|
146
|
-
if (Array.isArray(fields)) {
|
|
147
|
-
fields.forEach((v, i) => {
|
|
148
|
-
visitField(tState, vState, value, i, v)
|
|
149
|
-
})
|
|
150
|
-
} else {
|
|
151
|
-
Object.entries(fields).forEach(([k, v]) => {
|
|
152
|
-
visitField(tState, vState, value, k, v)
|
|
153
|
-
})
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
ref(tState, _type, getType) {
|
|
158
|
-
return (value, vState) => {
|
|
159
|
-
visit(tState, getType())(value, vState)
|
|
160
|
-
}
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
|
-
)
|
|
164
|
-
|
|
165
|
-
function visitField(
|
|
166
|
-
tState: AssertDiagnosticsConfig,
|
|
167
|
-
vState: ValueVisitorState,
|
|
168
|
-
value: object,
|
|
169
|
-
key: JSONKey,
|
|
170
|
-
type: Type,
|
|
171
|
-
) {
|
|
172
|
-
assert(key in value)
|
|
173
|
-
const childValue = value[key as never]
|
|
174
|
-
assert(childValue !== undefined)
|
|
175
|
-
visit(tState, type)(childValue, vState.next(key))
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
// TODO: serialize signature
|
|
179
|
-
export function formatAssertDiagnostics(diagnostics: AssertDiagnostics) {
|
|
180
|
-
return diagnostics
|
|
181
|
-
.map((diagnostic) => `Error "${diagnostic.message()}"; encountered at ${diagnostic.formatPath()}`)
|
|
182
|
-
.join("\n")
|
|
183
|
-
}
|
package/types/JSONRootType.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { JSONIdentifiedType, JSONType } from "./JSONType.ts"
|
|
2
|
-
|
|
3
|
-
export const JSONSchema$schema = "http://json-schema.org/draft-07/schema#"
|
|
4
|
-
|
|
5
|
-
export type JSONRootType<J extends JSONType> = J & {
|
|
6
|
-
$schema: typeof JSONSchema$schema
|
|
7
|
-
$defs: Record<string, JSONIdentifiedType | undefined>
|
|
8
|
-
}
|
package/types/JSONType.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { JSONArrayType } from "./array.ts"
|
|
2
|
-
import type { JSONBooleanType } from "./boolean.ts"
|
|
3
|
-
import type { JSONConstType } from "./const.ts"
|
|
4
|
-
import type { JSONEnumType } from "./enum.ts"
|
|
5
|
-
import type { JSONIntegerType } from "./integer.ts"
|
|
6
|
-
import type { JSONNullType } from "./null.ts"
|
|
7
|
-
import type { JSONNumberType } from "./number.ts"
|
|
8
|
-
import type { JSONObjectType } from "./object.ts"
|
|
9
|
-
import type { JSONRefType } from "./ref.ts"
|
|
10
|
-
import type { JSONStringType } from "./string.ts"
|
|
11
|
-
import type { JSONUnionType } from "./union.ts"
|
|
12
|
-
|
|
13
|
-
export type JSONIdentifiedType = JSONArrayType | JSONObjectType | JSONUnionType
|
|
14
|
-
|
|
15
|
-
export type JSONAnonymousType =
|
|
16
|
-
| JSONNullType
|
|
17
|
-
| JSONBooleanType
|
|
18
|
-
| JSONIntegerType
|
|
19
|
-
| JSONNumberType
|
|
20
|
-
| JSONStringType
|
|
21
|
-
| JSONEnumType
|
|
22
|
-
|
|
23
|
-
export type ConstableType = JSONAnonymousType | JSONIdentifiedType
|
|
24
|
-
|
|
25
|
-
export type JSONRootableType = ConstableType | JSONConstType
|
|
26
|
-
|
|
27
|
-
export type JSONType = JSONRootableType | JSONRefType
|
package/types/JSONTypeBase.ts
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { array } from "../array.ts"
|
|
2
|
-
import { enum as enum_ } from "../enum.ts"
|
|
3
|
-
import { type JSONObjectType, object } from "../object.ts"
|
|
4
|
-
import { ref } from "../ref.ts"
|
|
5
|
-
import { string } from "../string.ts"
|
|
6
|
-
import type { Type } from "../Type.ts"
|
|
7
|
-
import { taggedUnion } from "../types_derived/taggedUnion.ts"
|
|
8
|
-
import type { JSONUnionType } from "../union.ts"
|
|
9
|
-
|
|
10
|
-
export type MetatypeRootDescriptor = {
|
|
11
|
-
type: "record"
|
|
12
|
-
value: {
|
|
13
|
-
description: string
|
|
14
|
-
fields: Array<{
|
|
15
|
-
description: string
|
|
16
|
-
key: string
|
|
17
|
-
value: MetatypeDescriptor
|
|
18
|
-
}>
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const recordFields = {
|
|
23
|
-
description: string,
|
|
24
|
-
fields: array({
|
|
25
|
-
description: string,
|
|
26
|
-
key: string,
|
|
27
|
-
value: ref(() => MetatypeDescriptor),
|
|
28
|
-
}),
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export const MetatypeRootDescriptor: Type<MetatypeRootDescriptor, JSONObjectType> = object({
|
|
32
|
-
type: "record",
|
|
33
|
-
value: recordFields,
|
|
34
|
-
})
|
|
35
|
-
|
|
36
|
-
export type MetatypeDescriptor = MetatypeRootDescriptor | {
|
|
37
|
-
type: "atom"
|
|
38
|
-
value: {
|
|
39
|
-
description: string
|
|
40
|
-
atomType: "boolean" | "integer" | "number" | "string"
|
|
41
|
-
}
|
|
42
|
-
} | {
|
|
43
|
-
type: "enum"
|
|
44
|
-
value: {
|
|
45
|
-
description: string
|
|
46
|
-
variants: Array<string>
|
|
47
|
-
}
|
|
48
|
-
} | {
|
|
49
|
-
type: "array"
|
|
50
|
-
value: {
|
|
51
|
-
description: string
|
|
52
|
-
items: MetatypeDescriptor
|
|
53
|
-
}
|
|
54
|
-
} | {
|
|
55
|
-
type: "union"
|
|
56
|
-
value: {
|
|
57
|
-
description: string
|
|
58
|
-
members: Array<MetatypeDescriptor>
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export const MetatypeDescriptor: Type<MetatypeDescriptor, JSONUnionType> = taggedUnion({
|
|
63
|
-
atom: {
|
|
64
|
-
description: string,
|
|
65
|
-
atomType: enum_("boolean", "integer", "number", "string"),
|
|
66
|
-
},
|
|
67
|
-
enum: {
|
|
68
|
-
description: string,
|
|
69
|
-
variants: array(string),
|
|
70
|
-
},
|
|
71
|
-
array: {
|
|
72
|
-
description: string,
|
|
73
|
-
items: ref(() => MetatypeDescriptor),
|
|
74
|
-
},
|
|
75
|
-
record: recordFields,
|
|
76
|
-
union: {
|
|
77
|
-
description: string,
|
|
78
|
-
members: array(ref(() => MetatypeDescriptor)),
|
|
79
|
-
},
|
|
80
|
-
})
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import type { JSONObject } from "../../util/JSONObject.ts"
|
|
2
|
-
import { array } from "../array.ts"
|
|
3
|
-
import { boolean } from "../boolean.ts"
|
|
4
|
-
import { enum as enum_ } from "../enum.ts"
|
|
5
|
-
import { integer } from "../integer.ts"
|
|
6
|
-
import { number } from "../number.ts"
|
|
7
|
-
import { type JSONObjectType, object } from "../object.ts"
|
|
8
|
-
import { string } from "../string.ts"
|
|
9
|
-
import type { Type } from "../Type.ts"
|
|
10
|
-
import { union } from "../union.ts"
|
|
11
|
-
import type { MetatypeDescriptor, MetatypeRootDescriptor } from "./MetatypeDescriptor.ts"
|
|
12
|
-
|
|
13
|
-
export function fromMetatypeRootDescriptor(descriptor: MetatypeRootDescriptor): Type<JSONObject, JSONObjectType> {
|
|
14
|
-
return fromMetatypeDescriptor(descriptor) as never
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function fromMetatypeDescriptor(descriptor: MetatypeDescriptor): Type {
|
|
18
|
-
return make(descriptor)(descriptor.value.description)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function make(descriptor: MetatypeDescriptor): Type {
|
|
22
|
-
switch (descriptor.type) {
|
|
23
|
-
case "atom": {
|
|
24
|
-
switch (descriptor.value.atomType) {
|
|
25
|
-
case "boolean":
|
|
26
|
-
return boolean
|
|
27
|
-
case "integer":
|
|
28
|
-
return integer
|
|
29
|
-
case "number":
|
|
30
|
-
return number
|
|
31
|
-
case "string":
|
|
32
|
-
return string
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
case "array": {
|
|
36
|
-
return array(fromMetatypeDescriptor(descriptor.value.items))
|
|
37
|
-
}
|
|
38
|
-
case "enum": {
|
|
39
|
-
return enum_(...descriptor.value.variants)
|
|
40
|
-
}
|
|
41
|
-
case "record": {
|
|
42
|
-
return object(Object.fromEntries(descriptor.value.fields.map(({
|
|
43
|
-
key,
|
|
44
|
-
value,
|
|
45
|
-
description,
|
|
46
|
-
}) => [key, fromMetatypeDescriptor(value)(description)])))
|
|
47
|
-
}
|
|
48
|
-
case "union": {
|
|
49
|
-
return union(...descriptor.value.members.map(fromMetatypeDescriptor))
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
package/types/Type.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { StandardSchemaV1 } from "@standard-schema/spec"
|
|
2
|
-
import type { Action } from "../Action.ts"
|
|
3
|
-
import type { InferenceRequested } from "../events/InferenceRequested.ts"
|
|
4
|
-
import type { Inferred } from "../events/Inferred.ts"
|
|
5
|
-
import type { Spec } from "../Spec.ts"
|
|
6
|
-
import type { Falsy } from "../util/Falsy.ts"
|
|
7
|
-
import type { JSONValue } from "../util/JSONValue.ts"
|
|
8
|
-
import type { Taggable } from "../util/Taggable.ts"
|
|
9
|
-
import type { JSONRootType } from "./JSONRootType.ts"
|
|
10
|
-
import type { JSONType } from "./JSONType.ts"
|
|
11
|
-
import type { JSONObjectType } from "./object.ts"
|
|
12
|
-
|
|
13
|
-
export interface Type<T extends JSONValue = JSONValue, J extends JSONType = JSONType>
|
|
14
|
-
extends Taggable<Array<string | Falsy>>, TypeMembers<T, J>
|
|
15
|
-
{
|
|
16
|
-
T: T
|
|
17
|
-
J: J
|
|
18
|
-
|
|
19
|
-
[Symbol.iterator]: J extends JSONObjectType ? () => Iterator<
|
|
20
|
-
Action<
|
|
21
|
-
"infer",
|
|
22
|
-
Spec.Make<{
|
|
23
|
-
Event: InferenceRequested | Inferred
|
|
24
|
-
}>
|
|
25
|
-
>,
|
|
26
|
-
T
|
|
27
|
-
>
|
|
28
|
-
: never
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface TypeMembers<T extends JSONValue, J extends JSONType> extends StandardSchemaV1<T> {
|
|
32
|
-
[TypeKey]: true
|
|
33
|
-
declaration: () => Type<T, J> | ((...args: any) => Type<T, J>)
|
|
34
|
-
args?: Array<any>
|
|
35
|
-
descriptions: Array<string>
|
|
36
|
-
description(): string
|
|
37
|
-
toJSON(): JSONRootType<J>
|
|
38
|
-
assert(value: unknown): T
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export type TypeKey = typeof TypeKey
|
|
42
|
-
export const TypeKey = Symbol.for("Liminal/Type")
|
|
43
|
-
|
|
44
|
-
export function isType(value: unknown): value is Type {
|
|
45
|
-
return typeof value === "function" && TypeKey in value
|
|
46
|
-
}
|
package/types/TypeContext.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Type } from "./Type.js"
|
|
2
|
-
|
|
3
|
-
export class TypeContext {
|
|
4
|
-
root: Type
|
|
5
|
-
ids: Map<Type, string>
|
|
6
|
-
constructor(root: Type, ids: Map<Type, string> = new Map()) {
|
|
7
|
-
this.root = root
|
|
8
|
-
this.ids = ids
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
id(type: Type): string {
|
|
12
|
-
let id = this.ids.get(type)
|
|
13
|
-
if (id === undefined) {
|
|
14
|
-
id = this.ids.size.toString()
|
|
15
|
-
this.ids.set(type, id)
|
|
16
|
-
}
|
|
17
|
-
return id
|
|
18
|
-
}
|
|
19
|
-
}
|
package/types/TypeLike.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import type { Falsy } from "../util/Falsy.ts"
|
|
2
|
-
import type { JSONKey } from "../util/JSONKey.ts"
|
|
3
|
-
import { const as const_, type JSONConstType } from "./const.ts"
|
|
4
|
-
import { type JSONNullType, null as null_ } from "./null.ts"
|
|
5
|
-
import { _object, type JSONObjectType } from "./object.ts"
|
|
6
|
-
import { type JSONStringType, string } from "./string.ts"
|
|
7
|
-
import { isType, type Type } from "./Type.ts"
|
|
8
|
-
|
|
9
|
-
export type TypeLike = Type | TypeLikes | string | Falsy
|
|
10
|
-
export type TypeLikes = TypeLikeArray | TypeLikeRecord
|
|
11
|
-
|
|
12
|
-
export type TypeLikeArray = Array<TypeLike>
|
|
13
|
-
export type TypeLikeRecord = {
|
|
14
|
-
[key: JSONKey]: TypeLike
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export type NormalizeTypeLikesT<F extends TypeLikes> =
|
|
18
|
-
& {
|
|
19
|
-
-readonly [K in keyof F as F extends TypeLikeArray ? K extends `${number}` ? K : never : K]: NormalizeTypeLikeT<
|
|
20
|
-
Extract<F[K], TypeLike>
|
|
21
|
-
>
|
|
22
|
-
}
|
|
23
|
-
& {}
|
|
24
|
-
|
|
25
|
-
export type NormalizeTypeLikeT<V extends TypeLike> = V extends TypeLikes ? NormalizeTypeLikesT<V>
|
|
26
|
-
: V extends string ? V
|
|
27
|
-
: V extends Type<infer T> ? T
|
|
28
|
-
: null
|
|
29
|
-
|
|
30
|
-
export type NormalizeTypeLikesJ<F extends TypeLikes> =
|
|
31
|
-
& {
|
|
32
|
-
-readonly [K in keyof F as F extends TypeLikeArray ? K extends `${number}` ? K : never : K]: NormalizeTypeLikeJ<
|
|
33
|
-
Extract<F[K], TypeLike>
|
|
34
|
-
>
|
|
35
|
-
}
|
|
36
|
-
& {}
|
|
37
|
-
|
|
38
|
-
export type NormalizeTypeLikeJ<V extends TypeLike> = V extends TypeLikes ? JSONObjectType<NormalizeTypeLikesJ<V>>
|
|
39
|
-
: V extends string ? JSONConstType<JSONStringType, V>
|
|
40
|
-
: V extends Type<any, infer J> ? J
|
|
41
|
-
: JSONNullType
|
|
42
|
-
|
|
43
|
-
export function normalizeTypeLikes(fields: TypeLikes): Type {
|
|
44
|
-
return (Array.isArray(fields)
|
|
45
|
-
? _object(fields.map(normalizeTypeLike))
|
|
46
|
-
: _object(Object.fromEntries(Object.entries(fields).map(([k, v]) => [k, normalizeTypeLike(v)]))))
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export function normalizeTypeLike(value: TypeLike): Type {
|
|
50
|
-
if (!value) {
|
|
51
|
-
return null_
|
|
52
|
-
}
|
|
53
|
-
if (typeof value === "string") {
|
|
54
|
-
return const_(string, value)
|
|
55
|
-
}
|
|
56
|
-
if (isType(value)) {
|
|
57
|
-
return value
|
|
58
|
-
}
|
|
59
|
-
return normalizeTypeLikes(value)
|
|
60
|
-
}
|