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/types/TypeVisitor.ts
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { Type } from "./Type.ts"
|
|
2
|
-
import { type IntrinsicTypes, typeName } from "./type_common.ts"
|
|
3
|
-
|
|
4
|
-
export type VisitorArms<S, R> =
|
|
5
|
-
& {
|
|
6
|
-
hook?: (
|
|
7
|
-
next: (state: S, type: Type) => R,
|
|
8
|
-
state: S,
|
|
9
|
-
type: Type,
|
|
10
|
-
) => R
|
|
11
|
-
}
|
|
12
|
-
& (
|
|
13
|
-
| (
|
|
14
|
-
& IntrinsicVisitorArms<S, R>
|
|
15
|
-
& { fallback?: never }
|
|
16
|
-
)
|
|
17
|
-
| (
|
|
18
|
-
& Partial<IntrinsicVisitorArms<S, R>>
|
|
19
|
-
& { fallback: () => R }
|
|
20
|
-
)
|
|
21
|
-
)
|
|
22
|
-
|
|
23
|
-
export type IntrinsicVisitorArms<S, R> = {
|
|
24
|
-
[K in keyof IntrinsicTypes]: (
|
|
25
|
-
state: S,
|
|
26
|
-
...args: IntrinsicTypes[K] extends Type ? [IntrinsicTypes[K]]
|
|
27
|
-
: IntrinsicTypes[K] extends (...args: infer A) => infer T ? [T, ...A]
|
|
28
|
-
: never
|
|
29
|
-
) => R
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export type TypeVisitor<S, R> = (state: S, type: Type) => R
|
|
33
|
-
|
|
34
|
-
export function TypeVisitor<S, R>(arms: VisitorArms<S, R>): (state: S, type: Type) => R {
|
|
35
|
-
const { hook } = arms
|
|
36
|
-
if (hook) {
|
|
37
|
-
return (state, type) => hook(next, state, type)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return next
|
|
41
|
-
|
|
42
|
-
function next(state: S, type: Type): R {
|
|
43
|
-
return (arms[typeName(type)] as any ?? arms.fallback)(
|
|
44
|
-
state,
|
|
45
|
-
type,
|
|
46
|
-
...(type.args ?? []),
|
|
47
|
-
)
|
|
48
|
-
}
|
|
49
|
-
}
|
package/types/array.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { declareType } from "./declareType.ts"
|
|
2
|
-
import type { JSONType } from "./JSONType.ts"
|
|
3
|
-
import type { JSONTypeBase } from "./JSONTypeBase.ts"
|
|
4
|
-
import type { Type } from "./Type.ts"
|
|
5
|
-
import { normalizeTypeLike, type NormalizeTypeLikeJ, type NormalizeTypeLikeT, type TypeLike } from "./TypeLike.ts"
|
|
6
|
-
|
|
7
|
-
export function array<const F extends TypeLike>(
|
|
8
|
-
element: F,
|
|
9
|
-
): Type<Array<NormalizeTypeLikeT<F>>, JSONArrayType<NormalizeTypeLikeJ<F>>> {
|
|
10
|
-
return _array(normalizeTypeLike(element)) as never
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function _array(element: Type): Type {
|
|
14
|
-
return declareType(() => _array, [element])
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export interface JSONArrayType<E extends JSONType = any> extends JSONTypeBase {
|
|
18
|
-
type: "array"
|
|
19
|
-
items: E
|
|
20
|
-
}
|
package/types/boolean.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { declareType } from "./declareType.ts"
|
|
2
|
-
import type { JSONTypeBase } from "./JSONTypeBase.ts"
|
|
3
|
-
import type { Type } from "./Type.ts"
|
|
4
|
-
|
|
5
|
-
export const boolean: Type<boolean, JSONBooleanType> = declareType(() => boolean)
|
|
6
|
-
|
|
7
|
-
export interface JSONBooleanType extends JSONTypeBase {
|
|
8
|
-
type: "boolean"
|
|
9
|
-
}
|
package/types/const.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { JSONValue } from "../util/JSONValue.ts"
|
|
2
|
-
import { declareType } from "./declareType.ts"
|
|
3
|
-
import type { ConstableType } from "./JSONType.ts"
|
|
4
|
-
import type { Type } from "./Type.ts"
|
|
5
|
-
|
|
6
|
-
function const_<T extends JSONValue, J extends ConstableType, const V extends T>(
|
|
7
|
-
type: Type<T, J>,
|
|
8
|
-
value: V,
|
|
9
|
-
): Type<V, JSONConstType<J, V>> {
|
|
10
|
-
return declareType(() => const_<T, J, V>, [type, value])
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(const_, "name", { value: "const" })
|
|
13
|
-
export { const_ as const }
|
|
14
|
-
|
|
15
|
-
export type JSONConstType<J extends ConstableType = any, V extends JSONValue = JSONValue> = J & {
|
|
16
|
-
const: V
|
|
17
|
-
}
|
package/types/declareType.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import type { StandardSchemaV1 } from "@standard-schema/spec"
|
|
2
|
-
import { infer } from "../actions/infer.ts"
|
|
3
|
-
import { LiminalAssertionError } from "../LiminalAssertionError.ts"
|
|
4
|
-
import type { Falsy } from "../util/Falsy.ts"
|
|
5
|
-
import { applyTemplateWithIndentation } from "../util/fixTemplateStrings.ts"
|
|
6
|
-
import { isTemplateStringsArray } from "../util/isTemplateStringsArray.ts"
|
|
7
|
-
import type { JSONObject } from "../util/JSONObject.ts"
|
|
8
|
-
import { AssertDiagnostics, formatAssertDiagnostics } from "./AssertDiagnostics.ts"
|
|
9
|
-
import type { JSONObjectType } from "./object.ts"
|
|
10
|
-
import { toJSON } from "./toJSON.ts"
|
|
11
|
-
import { type Type, TypeKey, type TypeMembers } from "./Type.ts"
|
|
12
|
-
|
|
13
|
-
export function declareType<X extends Type>(
|
|
14
|
-
declaration: () => X | ((...args: any) => X),
|
|
15
|
-
args?: Array<unknown>,
|
|
16
|
-
descriptions: Array<string> = [],
|
|
17
|
-
): X {
|
|
18
|
-
const type = Object.assign(
|
|
19
|
-
Type,
|
|
20
|
-
{
|
|
21
|
-
[TypeKey]: true,
|
|
22
|
-
declaration,
|
|
23
|
-
args,
|
|
24
|
-
descriptions,
|
|
25
|
-
description() {
|
|
26
|
-
return descriptions.join("\n")
|
|
27
|
-
},
|
|
28
|
-
"~standard": {
|
|
29
|
-
vendor: "liminal",
|
|
30
|
-
version: 1,
|
|
31
|
-
validate: (value) => {
|
|
32
|
-
const diagnostics = AssertDiagnostics({}, type as never, value)
|
|
33
|
-
if (diagnostics.length) {
|
|
34
|
-
return {
|
|
35
|
-
issues: diagnostics.map(({ path, error }): StandardSchemaV1.Issue => ({
|
|
36
|
-
path,
|
|
37
|
-
message: JSON.stringify(error),
|
|
38
|
-
})),
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return { value: value as X["T"] }
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
toJSON,
|
|
45
|
-
assert: (value) => {
|
|
46
|
-
const diagnostics = AssertDiagnostics({}, type as never, value)
|
|
47
|
-
if (diagnostics.length) {
|
|
48
|
-
throw new LiminalAssertionError(formatAssertDiagnostics(diagnostics))
|
|
49
|
-
}
|
|
50
|
-
return value as never
|
|
51
|
-
},
|
|
52
|
-
...{
|
|
53
|
-
*[Symbol.iterator](this: Type<JSONObject, JSONObjectType>) {
|
|
54
|
-
return yield* infer(this)
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
} satisfies TypeMembers<X["T"], X["J"]>,
|
|
58
|
-
) as never as X
|
|
59
|
-
return type
|
|
60
|
-
|
|
61
|
-
function Type(template: TemplateStringsArray, ...substitutions: Array<string>): X
|
|
62
|
-
function Type(...values: Array<Falsy | string>): X
|
|
63
|
-
function Type(e0: TemplateStringsArray | Falsy | string, ...eRest: Array<Falsy | string>): X {
|
|
64
|
-
return declareType(declaration, args, [
|
|
65
|
-
...descriptions,
|
|
66
|
-
...isTemplateStringsArray(e0)
|
|
67
|
-
? [applyTemplateWithIndentation(e0, ...eRest)]
|
|
68
|
-
: [e0, ...eRest].filter((v): v is string => !!v),
|
|
69
|
-
])
|
|
70
|
-
}
|
|
71
|
-
}
|
package/types/enum.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { declareType } from "./declareType.ts"
|
|
2
|
-
import type { JSONTypeBase } from "./JSONTypeBase.ts"
|
|
3
|
-
import type { Type } from "./Type.ts"
|
|
4
|
-
|
|
5
|
-
export { enum_ as enum }
|
|
6
|
-
function enum_<A extends Array<string>>(...values: A): Type<A[number], JSONEnumType<A[number]>> {
|
|
7
|
-
return declareType(() => enum_<A>, values)
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(enum_, "name", { value: "enum" })
|
|
10
|
-
|
|
11
|
-
export interface JSONEnumType<K extends string = string> extends JSONTypeBase {
|
|
12
|
-
type: "string"
|
|
13
|
-
enum: Array<K>
|
|
14
|
-
}
|
package/types/factories.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { array } from "./array.ts"
|
|
2
|
-
export { boolean, const, enum, integer, null, number, ref, string } from "./intrinsics.ts"
|
|
3
|
-
export { MetatypeDescriptor, MetatypeRootDescriptor } from "./Metatype/MetatypeDescriptor.ts"
|
|
4
|
-
export { object } from "./object.ts"
|
|
5
|
-
export { option } from "./types_derived/option.ts"
|
|
6
|
-
export { taggedUnion } from "./types_derived/taggedUnion.ts"
|
|
7
|
-
export { wrapper } from "./types_derived/wrapper.ts"
|
|
8
|
-
export { union } from "./union.ts"
|
package/types/index.ts
DELETED
package/types/integer.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { declareType } from "./declareType.ts"
|
|
2
|
-
import type { JSONTypeBase } from "./JSONTypeBase.ts"
|
|
3
|
-
import type { Type } from "./Type.ts"
|
|
4
|
-
|
|
5
|
-
export const integer: Type<number, JSONIntegerType> = declareType(() => integer)
|
|
6
|
-
|
|
7
|
-
export interface JSONIntegerType extends JSONTypeBase {
|
|
8
|
-
type: "integer"
|
|
9
|
-
}
|
package/types/intrinsics.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export { _array } from "./array.ts"
|
|
2
|
-
export { boolean } from "./boolean.ts"
|
|
3
|
-
export { const } from "./const.ts"
|
|
4
|
-
export { enum } from "./enum.ts"
|
|
5
|
-
export { integer } from "./integer.ts"
|
|
6
|
-
export { null } from "./null.ts"
|
|
7
|
-
export { number } from "./number.ts"
|
|
8
|
-
export { _object } from "./object.ts"
|
|
9
|
-
export { ref } from "./ref.ts"
|
|
10
|
-
export { string } from "./string.ts"
|
|
11
|
-
export { _union } from "./union.ts"
|
package/types/match.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { JSONValue } from "../util/JSONValue.ts"
|
|
2
|
-
import { AssertDiagnostics } from "./AssertDiagnostics.ts"
|
|
3
|
-
import type { Type } from "./Type.ts"
|
|
4
|
-
|
|
5
|
-
export function match(value: JSONValue, members: Array<Type>): Type | undefined {
|
|
6
|
-
for (const member of members) {
|
|
7
|
-
const diagnostics = AssertDiagnostics({}, member, value)
|
|
8
|
-
if (!diagnostics.length) {
|
|
9
|
-
return member
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
return
|
|
13
|
-
}
|
package/types/non_factories.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export type { JSONArrayType } from "./array.ts"
|
|
2
|
-
export type { JSONBooleanType } from "./boolean.ts"
|
|
3
|
-
export type { JSONConstType } from "./const.ts"
|
|
4
|
-
export type { JSONEnumType } from "./enum.ts"
|
|
5
|
-
export type { JSONIntegerType } from "./integer.ts"
|
|
6
|
-
export * from "./JSONRootType.ts"
|
|
7
|
-
export * from "./JSONType.ts"
|
|
8
|
-
export { match } from "./match.ts"
|
|
9
|
-
export * from "./Metatype/fromMetatypeDescriptor.ts"
|
|
10
|
-
export type { MetatypeDescriptor, MetatypeRootDescriptor } from "./Metatype/MetatypeDescriptor.ts"
|
|
11
|
-
export type { JSONNullType } from "./null.ts"
|
|
12
|
-
export type { JSONNumberType } from "./number.ts"
|
|
13
|
-
export type {
|
|
14
|
-
JSONObjectType,
|
|
15
|
-
ObjectFields as _ObjectFields,
|
|
16
|
-
RecordFields as _RecordFields,
|
|
17
|
-
TupleFields as _TupleFields,
|
|
18
|
-
} from "./object.ts"
|
|
19
|
-
export type { JSONRefType } from "./ref.ts"
|
|
20
|
-
export type { JSONStringType } from "./string.ts"
|
|
21
|
-
export * from "./Type.ts"
|
|
22
|
-
export * from "./TypeContext.ts"
|
|
23
|
-
export * from "./TypeLike.ts"
|
|
24
|
-
export type { TaggedUnionMembers } from "./types_derived/taggedUnion.ts"
|
|
25
|
-
export * from "./TypeVisitor.ts"
|
|
26
|
-
export type { JSONUnionType } from "./union.ts"
|
package/types/null.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { declareType } from "./declareType.ts"
|
|
2
|
-
import type { JSONTypeBase } from "./JSONTypeBase.ts"
|
|
3
|
-
import type { Type } from "./Type.ts"
|
|
4
|
-
|
|
5
|
-
const null_: Type<null, JSONNullType> = declareType(() => null_)
|
|
6
|
-
export { null_ as null }
|
|
7
|
-
|
|
8
|
-
export interface JSONNullType extends JSONTypeBase {
|
|
9
|
-
type: "null"
|
|
10
|
-
}
|
package/types/number.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { declareType } from "./declareType.ts"
|
|
2
|
-
import type { JSONTypeBase } from "./JSONTypeBase.ts"
|
|
3
|
-
import type { Type } from "./Type.ts"
|
|
4
|
-
|
|
5
|
-
export const number: Type<number, JSONNumberType> = declareType(() => number)
|
|
6
|
-
|
|
7
|
-
export interface JSONNumberType extends JSONTypeBase {
|
|
8
|
-
type: "number"
|
|
9
|
-
}
|
package/types/object.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { JSONKey } from "../util/JSONKey.ts"
|
|
2
|
-
import { declareType } from "./declareType.ts"
|
|
3
|
-
import type { JSONType } from "./JSONType.ts"
|
|
4
|
-
import type { JSONTypeBase } from "./JSONTypeBase.ts"
|
|
5
|
-
import { type Type } from "./Type.ts"
|
|
6
|
-
import { normalizeTypeLikes, type NormalizeTypeLikesJ, type NormalizeTypeLikesT, type TypeLikes } from "./TypeLike.ts"
|
|
7
|
-
|
|
8
|
-
export function object<const F extends TypeLikes>(
|
|
9
|
-
fields: F,
|
|
10
|
-
): Type<NormalizeTypeLikesT<F>, JSONObjectType<NormalizeTypeLikesJ<F>>> {
|
|
11
|
-
return normalizeTypeLikes(fields) as never
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export function _object(fields: ObjectFields): Type {
|
|
15
|
-
return declareType(() => _object, [fields])
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export interface JSONObjectType<F extends Record<JSONKey, JSONType> = any> extends JSONTypeBase {
|
|
19
|
-
type: "object"
|
|
20
|
-
properties: F
|
|
21
|
-
required: Array<keyof F>
|
|
22
|
-
additionalProperties: false
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export type ObjectFields = TupleFields | RecordFields
|
|
26
|
-
export type TupleFields = Array<Type>
|
|
27
|
-
export type RecordFields = Record<JSONKey, Type>
|
package/types/ref.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { JSONValue } from "../util/JSONValue.ts"
|
|
2
|
-
import { declareType } from "./declareType.ts"
|
|
3
|
-
import type { ConstableType } from "./JSONType.ts"
|
|
4
|
-
import type { Type } from "./Type.ts"
|
|
5
|
-
|
|
6
|
-
export function ref<T extends JSONValue, J extends ConstableType>(getType: () => Type<T, J>): Type<T, JSONRefType> {
|
|
7
|
-
return declareType(() => ref<T, J>, [getType])
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface JSONRefType {
|
|
11
|
-
$ref: string
|
|
12
|
-
}
|
package/types/string.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { declareType } from "./declareType.ts"
|
|
2
|
-
import type { JSONTypeBase } from "./JSONTypeBase.ts"
|
|
3
|
-
import type { Type } from "./Type.ts"
|
|
4
|
-
|
|
5
|
-
export const string: Type<string, JSONStringType> = declareType(() => string)
|
|
6
|
-
|
|
7
|
-
export interface JSONStringType extends JSONTypeBase {
|
|
8
|
-
type: "string"
|
|
9
|
-
}
|
package/types/toJSON.ts
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import type { JSONValue } from "../util/JSONValue.ts"
|
|
2
|
-
import type { JSONArrayType } from "./array.ts"
|
|
3
|
-
import type { JSONBooleanType } from "./boolean.ts"
|
|
4
|
-
import { type JSONConstType } from "./const.ts"
|
|
5
|
-
import type { JSONEnumType } from "./enum.ts"
|
|
6
|
-
import type { JSONIntegerType } from "./integer.ts"
|
|
7
|
-
import type { JSONRootType } from "./JSONRootType.ts"
|
|
8
|
-
import { JSONSchema$schema } from "./JSONRootType.ts"
|
|
9
|
-
import type { JSONRootableType, JSONType } from "./JSONType"
|
|
10
|
-
import type { JSONNullType } from "./null.ts"
|
|
11
|
-
import type { JSONNumberType } from "./number.ts"
|
|
12
|
-
import { _object, type JSONObjectType } from "./object.ts"
|
|
13
|
-
import { type JSONStringType } from "./string.ts"
|
|
14
|
-
import { type Type } from "./Type.ts"
|
|
15
|
-
import { PARENT_TYPE_NAMES, typeName } from "./type_common.ts"
|
|
16
|
-
import { TypeContext } from "./TypeContext.ts"
|
|
17
|
-
import { TypeVisitor } from "./TypeVisitor.ts"
|
|
18
|
-
import type { JSONUnionType } from "./union.ts"
|
|
19
|
-
|
|
20
|
-
export function toJSON<T extends JSONValue, J extends JSONRootableType>(this: Type<T, J>): JSONRootType<J> {
|
|
21
|
-
const { $defs: { 0: root, ...$defs } } = new ToJSONState(this)
|
|
22
|
-
return {
|
|
23
|
-
$schema: JSONSchema$schema,
|
|
24
|
-
...root,
|
|
25
|
-
$defs,
|
|
26
|
-
} as never
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
class ToJSONState extends TypeContext {
|
|
30
|
-
readonly $defs: Record<string, JSONType | undefined> = {}
|
|
31
|
-
constructor(root: Type) {
|
|
32
|
-
super(root)
|
|
33
|
-
visit(this, root)
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const visit: TypeVisitor<ToJSONState, JSONType> = TypeVisitor({
|
|
38
|
-
hook(next, state, type) {
|
|
39
|
-
const which = typeName(type)
|
|
40
|
-
if (PARENT_TYPE_NAMES[which]) {
|
|
41
|
-
const id = state.id(type)
|
|
42
|
-
if (!(id in state.$defs)) {
|
|
43
|
-
state.$defs[id] = undefined
|
|
44
|
-
state.$defs[id] = next(state, type)
|
|
45
|
-
}
|
|
46
|
-
return type === state.root ? { $ref: "$" } : { $ref: `#/$defs/${id}` }
|
|
47
|
-
}
|
|
48
|
-
if (which === "ref") {
|
|
49
|
-
if (state.ids.has(type)) {
|
|
50
|
-
const getType = type.args?.[0] as () => Type
|
|
51
|
-
return { $ref: `#/$defs/${state.id(getType())}` }
|
|
52
|
-
}
|
|
53
|
-
state.id(type)
|
|
54
|
-
return next(state, type)
|
|
55
|
-
}
|
|
56
|
-
return next(state, type)
|
|
57
|
-
},
|
|
58
|
-
null(): JSONNullType {
|
|
59
|
-
return { type: "null" }
|
|
60
|
-
},
|
|
61
|
-
boolean(): JSONBooleanType {
|
|
62
|
-
return { type: "boolean" }
|
|
63
|
-
},
|
|
64
|
-
integer(): JSONIntegerType {
|
|
65
|
-
return { type: "integer" }
|
|
66
|
-
},
|
|
67
|
-
number(): JSONNumberType {
|
|
68
|
-
return { type: "number" }
|
|
69
|
-
},
|
|
70
|
-
string(): JSONStringType {
|
|
71
|
-
return { type: "string" }
|
|
72
|
-
},
|
|
73
|
-
const(state, _type, valueType, value): JSONConstType {
|
|
74
|
-
return {
|
|
75
|
-
...visit(state, valueType),
|
|
76
|
-
const: value,
|
|
77
|
-
} as never
|
|
78
|
-
},
|
|
79
|
-
_array(state, _type, element): JSONArrayType {
|
|
80
|
-
return {
|
|
81
|
-
type: "array",
|
|
82
|
-
items: visit(state, element),
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
enum(_state, _type, ...values): JSONEnumType {
|
|
86
|
-
return {
|
|
87
|
-
type: "string",
|
|
88
|
-
enum: values,
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
_union(state, _type, ...members): JSONUnionType {
|
|
92
|
-
return {
|
|
93
|
-
anyOf: members.map((m) => visit(state, m)),
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
_object(state, _type, fields): JSONObjectType {
|
|
97
|
-
return {
|
|
98
|
-
type: "object",
|
|
99
|
-
properties: Object.fromEntries(
|
|
100
|
-
Array.isArray(fields)
|
|
101
|
-
? fields.map((v, i) => [i, visit(state, v)])
|
|
102
|
-
: Object.entries(fields).map(([k, v]) => [k, visit(state, v)]),
|
|
103
|
-
),
|
|
104
|
-
required: Object.keys(fields),
|
|
105
|
-
additionalProperties: false,
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
ref(state, _type, getType) {
|
|
109
|
-
return visit(state, getType())
|
|
110
|
-
},
|
|
111
|
-
})
|
package/types/type_common.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { nullaryMemo } from "../util/nullaryMemo.ts"
|
|
2
|
-
import * as I from "./intrinsics.ts"
|
|
3
|
-
import type { Type } from "./Type.ts"
|
|
4
|
-
|
|
5
|
-
export type IntrinsicTypes = typeof I
|
|
6
|
-
export type IntrinsicTypeName = keyof IntrinsicTypes
|
|
7
|
-
export type IntrinsicType = IntrinsicTypes[IntrinsicTypeName]
|
|
8
|
-
|
|
9
|
-
export const getIntrinsicNameLookup = nullaryMemo(() =>
|
|
10
|
-
new Map(Object.entries(I).map((entry) => entry.reverse() as [IntrinsicType, keyof IntrinsicTypes]))
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
export function typeName(type: Type): IntrinsicTypeName {
|
|
14
|
-
return getIntrinsicNameLookup().get(type.declaration() as IntrinsicType)!
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export const PARENT_TYPE_NAMES: { [K in IntrinsicTypeName]?: true } = {
|
|
18
|
-
_object: true,
|
|
19
|
-
_array: true,
|
|
20
|
-
_union: true,
|
|
21
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type JSONNullType, null as null_ } from "../null.ts"
|
|
2
|
-
import type { Type } from "../Type.ts"
|
|
3
|
-
import type { NormalizeTypeLikeJ, NormalizeTypeLikeT, TypeLike } from "../TypeLike.ts"
|
|
4
|
-
import { _union, type JSONUnionType, union } from "../union.ts"
|
|
5
|
-
|
|
6
|
-
export function option<const X extends TypeLike>(
|
|
7
|
-
of: X,
|
|
8
|
-
): Type<null | NormalizeTypeLikeT<X>, JSONUnionType<JSONNullType | NormalizeTypeLikeJ<X>>> {
|
|
9
|
-
return union(null_, of)
|
|
10
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { JSONKey } from "../../util/JSONKey.ts"
|
|
2
|
-
import type { JSONConstType } from "../const.ts"
|
|
3
|
-
import { type JSONObjectType, object } from "../object.ts"
|
|
4
|
-
import type { JSONStringType } from "../string.ts"
|
|
5
|
-
import { type Type } from "../Type.ts"
|
|
6
|
-
import { type NormalizeTypeLikeJ, type NormalizeTypeLikeT, type TypeLike } from "../TypeLike.ts"
|
|
7
|
-
import { _union, type JSONUnionType, union } from "../union.ts"
|
|
8
|
-
|
|
9
|
-
export function taggedUnion<const M extends TaggedUnionMembers, K extends Extract<keyof M, string>>(members: M): Type<
|
|
10
|
-
{
|
|
11
|
-
[L in K]: {
|
|
12
|
-
type: L
|
|
13
|
-
value: NormalizeTypeLikeT<M[L]>
|
|
14
|
-
}
|
|
15
|
-
}[K],
|
|
16
|
-
JSONUnionType<
|
|
17
|
-
{
|
|
18
|
-
[L in K]: JSONObjectType<{
|
|
19
|
-
type: JSONConstType<JSONStringType, L>
|
|
20
|
-
value: NormalizeTypeLikeJ<M[L]>
|
|
21
|
-
}>
|
|
22
|
-
}[K]
|
|
23
|
-
>
|
|
24
|
-
> {
|
|
25
|
-
return union(
|
|
26
|
-
...Object.entries(members).map(([type, value]) => object({ type, value })),
|
|
27
|
-
) as never
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export type TaggedUnionMembers = Record<JSONKey, TypeLike>
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type JSONObjectType, object } from "../object.ts"
|
|
2
|
-
import type { Type } from "../Type.ts"
|
|
3
|
-
import type { NormalizeTypeLikeJ, NormalizeTypeLikeT, TypeLike } from "../TypeLike.ts"
|
|
4
|
-
|
|
5
|
-
export function wrapper<X extends TypeLike>(value: X): Type<
|
|
6
|
-
{ value: NormalizeTypeLikeT<X> },
|
|
7
|
-
JSONObjectType<{ value: NormalizeTypeLikeJ<X> }>
|
|
8
|
-
> {
|
|
9
|
-
return object({ value }) as never
|
|
10
|
-
}
|
package/types/union.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { declareType } from "./declareType.ts"
|
|
2
|
-
import type { JSONType } from "./JSONType.ts"
|
|
3
|
-
import type { JSONTypeBase } from "./JSONTypeBase.ts"
|
|
4
|
-
import type { Type } from "./Type.ts"
|
|
5
|
-
import { normalizeTypeLike, type NormalizeTypeLikeJ, type NormalizeTypeLikeT, type TypeLike } from "./TypeLike.ts"
|
|
6
|
-
|
|
7
|
-
export function union<const M extends Array<TypeLike>>(
|
|
8
|
-
...members: M
|
|
9
|
-
): Type<NormalizeTypeLikeT<M[number]>, JSONUnionType<NormalizeTypeLikeJ<M[number]>>> {
|
|
10
|
-
return _union(...members.map(normalizeTypeLike)) as never
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function _union(...members: Array<Type>): Type {
|
|
14
|
-
return declareType(() => _union, members)
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export interface JSONUnionType<M extends JSONType = any> extends JSONTypeBase {
|
|
18
|
-
anyOf: Array<M>
|
|
19
|
-
}
|
package/util/ArrayOfLength.ts
DELETED
package/util/DeferredOr.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type DeferredOr<T> = T | (() => T)
|
package/util/EnsureNarrow.ts
DELETED
package/util/EnsureRecord.ts
DELETED
package/util/Expand.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type Expand<T> = T extends T ? { [K in keyof T]: T[K] } : never
|
package/util/Falsy.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type Falsy = false | 0 | 0n | "" | null | undefined
|
package/util/FromEntries.ts
DELETED
package/util/IteratorLike.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type IteratorLike<Y = any, O = any> = Iterator<Y, O> | AsyncIterator<Y, O>
|
package/util/JSONEntry.ts
DELETED
package/util/JSONKey.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type JSONKey = number | string
|
package/util/JSONObject.ts
DELETED
package/util/JSONSchemaMemo.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { StandardSchemaV1 } from "@standard-schema/spec"
|
|
2
|
-
import { toJSONSchema } from "standard-json-schema"
|
|
3
|
-
import { isType } from "../types/Type.ts"
|
|
4
|
-
|
|
5
|
-
const memo = new WeakMap<StandardSchemaV1, Promise<object>>()
|
|
6
|
-
|
|
7
|
-
export function JSONSchemaMemo(type: StandardSchemaV1): Promise<object> {
|
|
8
|
-
let pending = memo.get(type)
|
|
9
|
-
if (pending) {
|
|
10
|
-
return pending
|
|
11
|
-
}
|
|
12
|
-
pending = isType(type) ? Promise.resolve(type.toJSON()) : toJSONSchema(type)
|
|
13
|
-
memo.set(type, pending)
|
|
14
|
-
return pending
|
|
15
|
-
}
|
package/util/JSONValue.ts
DELETED
package/util/PromiseOr.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type PromiseOr<T> = T | Promise<T>
|
package/util/Result.ts
DELETED
package/util/Taggable.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { applyTemplateWithIndentation } from "./fixTemplateStrings.ts"
|
|
2
|
-
import { isTemplateStringsArray } from "./isTemplateStringsArray.ts"
|
|
3
|
-
|
|
4
|
-
export interface Taggable<A extends Array<any>> {
|
|
5
|
-
(template: TemplateStringsArray, ...substitutions: Array<string>): this
|
|
6
|
-
(...values: A): this
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export type TaggableArgs<A extends Array<any>> = A | [
|
|
10
|
-
raw: TemplateStringsArray,
|
|
11
|
-
...substitutions: Array<string>,
|
|
12
|
-
]
|
|
13
|
-
|
|
14
|
-
export function normalizeTaggableArgs<A extends Array<unknown>>(...[e0, ...eRest]: TaggableArgs<A>) {
|
|
15
|
-
return isTemplateStringsArray(e0)
|
|
16
|
-
? [applyTemplateWithIndentation(e0, ...eRest)] as [string]
|
|
17
|
-
: [e0, ...eRest] as A
|
|
18
|
-
}
|