@alchemy.run/modal 0.0.0 → 2.0.0-beta.87
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/LICENSE +201 -0
- package/README.md +96 -4
- package/lib/App.d.ts +143 -0
- package/lib/App.d.ts.map +1 -0
- package/lib/App.js +198 -0
- package/lib/App.js.map +1 -0
- package/lib/AuthProvider.d.ts +53 -0
- package/lib/AuthProvider.d.ts.map +1 -0
- package/lib/AuthProvider.js +209 -0
- package/lib/AuthProvider.js.map +1 -0
- package/lib/BindingHttp.d.ts +56 -0
- package/lib/BindingHttp.d.ts.map +1 -0
- package/lib/BindingHttp.js +50 -0
- package/lib/BindingHttp.js.map +1 -0
- package/lib/Blob.d.ts +34 -0
- package/lib/Blob.d.ts.map +1 -0
- package/lib/Blob.js +59 -0
- package/lib/Blob.js.map +1 -0
- package/lib/Bootstrap.d.ts +8 -0
- package/lib/Bootstrap.d.ts.map +1 -0
- package/lib/Bootstrap.js +26 -0
- package/lib/Bootstrap.js.map +1 -0
- package/lib/Cbor.d.ts +10 -0
- package/lib/Cbor.d.ts.map +1 -0
- package/lib/Cbor.js +177 -0
- package/lib/Cbor.js.map +1 -0
- package/lib/ConnectSandbox.d.ts +64 -0
- package/lib/ConnectSandbox.d.ts.map +1 -0
- package/lib/ConnectSandbox.js +33 -0
- package/lib/ConnectSandbox.js.map +1 -0
- package/lib/Container.d.ts +124 -0
- package/lib/Container.d.ts.map +1 -0
- package/lib/Container.js +1 -0
- package/lib/Container.js.map +1 -0
- package/lib/Contributions.d.ts +7 -0
- package/lib/Contributions.d.ts.map +1 -0
- package/lib/Contributions.js +6 -0
- package/lib/Contributions.js.map +1 -0
- package/lib/CreateDict.d.ts +83 -0
- package/lib/CreateDict.d.ts.map +1 -0
- package/lib/CreateDict.js +3 -0
- package/lib/CreateDict.js.map +1 -0
- package/lib/CreateDictHttp.d.ts +33 -0
- package/lib/CreateDictHttp.d.ts.map +1 -0
- package/lib/CreateDictHttp.js +67 -0
- package/lib/CreateDictHttp.js.map +1 -0
- package/lib/CreateImage.d.ts +98 -0
- package/lib/CreateImage.d.ts.map +1 -0
- package/lib/CreateImage.js +3 -0
- package/lib/CreateImage.js.map +1 -0
- package/lib/CreateImageHttp.d.ts +51 -0
- package/lib/CreateImageHttp.d.ts.map +1 -0
- package/lib/CreateImageHttp.js +87 -0
- package/lib/CreateImageHttp.js.map +1 -0
- package/lib/CreateQueue.d.ts +83 -0
- package/lib/CreateQueue.d.ts.map +1 -0
- package/lib/CreateQueue.js +3 -0
- package/lib/CreateQueue.js.map +1 -0
- package/lib/CreateQueueHttp.d.ts +31 -0
- package/lib/CreateQueueHttp.d.ts.map +1 -0
- package/lib/CreateQueueHttp.js +67 -0
- package/lib/CreateQueueHttp.js.map +1 -0
- package/lib/CreateSandbox.d.ts +186 -0
- package/lib/CreateSandbox.d.ts.map +1 -0
- package/lib/CreateSandbox.js +3 -0
- package/lib/CreateSandbox.js.map +1 -0
- package/lib/CreateSandboxHttp.d.ts +17 -0
- package/lib/CreateSandboxHttp.d.ts.map +1 -0
- package/lib/CreateSandboxHttp.js +117 -0
- package/lib/CreateSandboxHttp.js.map +1 -0
- package/lib/CreateSecret.d.ts +95 -0
- package/lib/CreateSecret.d.ts.map +1 -0
- package/lib/CreateSecret.js +3 -0
- package/lib/CreateSecret.js.map +1 -0
- package/lib/CreateSecretHttp.d.ts +24 -0
- package/lib/CreateSecretHttp.d.ts.map +1 -0
- package/lib/CreateSecretHttp.js +60 -0
- package/lib/CreateSecretHttp.js.map +1 -0
- package/lib/CreateVolume.d.ts +84 -0
- package/lib/CreateVolume.d.ts.map +1 -0
- package/lib/CreateVolume.js +3 -0
- package/lib/CreateVolume.js.map +1 -0
- package/lib/CreateVolumeHttp.d.ts +32 -0
- package/lib/CreateVolumeHttp.d.ts.map +1 -0
- package/lib/CreateVolumeHttp.js +69 -0
- package/lib/CreateVolumeHttp.js.map +1 -0
- package/lib/Credentials.d.ts +32 -0
- package/lib/Credentials.d.ts.map +1 -0
- package/lib/Credentials.js +44 -0
- package/lib/Credentials.js.map +1 -0
- package/lib/Dict.d.ts +147 -0
- package/lib/Dict.d.ts.map +1 -0
- package/lib/Dict.js +175 -0
- package/lib/Dict.js.map +1 -0
- package/lib/DictClient.d.ts +55 -0
- package/lib/DictClient.d.ts.map +1 -0
- package/lib/DictClient.js +89 -0
- package/lib/DictClient.js.map +1 -0
- package/lib/Domain.d.ts +86 -0
- package/lib/Domain.d.ts.map +1 -0
- package/lib/Domain.js +113 -0
- package/lib/Domain.js.map +1 -0
- package/lib/Endpoint.d.ts +181 -0
- package/lib/Endpoint.d.ts.map +1 -0
- package/lib/Endpoint.js +283 -0
- package/lib/Endpoint.js.map +1 -0
- package/lib/Environment.d.ts +174 -0
- package/lib/Environment.d.ts.map +1 -0
- package/lib/Environment.js +244 -0
- package/lib/Environment.js.map +1 -0
- package/lib/FetchServer.d.ts +105 -0
- package/lib/FetchServer.d.ts.map +1 -0
- package/lib/FetchServer.js +3 -0
- package/lib/FetchServer.js.map +1 -0
- package/lib/FetchServerHttp.d.ts +21 -0
- package/lib/FetchServerHttp.d.ts.map +1 -0
- package/lib/FetchServerHttp.js +84 -0
- package/lib/FetchServerHttp.js.map +1 -0
- package/lib/Function.d.ts +236 -0
- package/lib/Function.d.ts.map +1 -0
- package/lib/Function.js +273 -0
- package/lib/Function.js.map +1 -0
- package/lib/FunctionAutoscaler.d.ts +99 -0
- package/lib/FunctionAutoscaler.d.ts.map +1 -0
- package/lib/FunctionAutoscaler.js +136 -0
- package/lib/FunctionAutoscaler.js.map +1 -0
- package/lib/FunctionTarget.d.ts +61 -0
- package/lib/FunctionTarget.d.ts.map +1 -0
- package/lib/FunctionTarget.js +136 -0
- package/lib/FunctionTarget.js.map +1 -0
- package/lib/Image.d.ts +159 -0
- package/lib/Image.d.ts.map +1 -0
- package/lib/Image.js +203 -0
- package/lib/Image.js.map +1 -0
- package/lib/ImageBuild.d.ts +108 -0
- package/lib/ImageBuild.d.ts.map +1 -0
- package/lib/ImageBuild.js +157 -0
- package/lib/ImageBuild.js.map +1 -0
- package/lib/ImagePlan.d.ts +31 -0
- package/lib/ImagePlan.d.ts.map +1 -0
- package/lib/ImagePlan.js +70 -0
- package/lib/ImagePlan.js.map +1 -0
- package/lib/InferEnv.d.ts +26 -0
- package/lib/InferEnv.d.ts.map +1 -0
- package/lib/InferEnv.js +1 -0
- package/lib/InferEnv.js.map +1 -0
- package/lib/InvokeFunction.d.ts +186 -0
- package/lib/InvokeFunction.d.ts.map +1 -0
- package/lib/InvokeFunction.js +10 -0
- package/lib/InvokeFunction.js.map +1 -0
- package/lib/InvokeFunctionHttp.d.ts +39 -0
- package/lib/InvokeFunctionHttp.d.ts.map +1 -0
- package/lib/InvokeFunctionHttp.js +210 -0
- package/lib/InvokeFunctionHttp.js.map +1 -0
- package/lib/ModalBindings.d.ts +138 -0
- package/lib/ModalBindings.d.ts.map +1 -0
- package/lib/ModalBindings.js +223 -0
- package/lib/ModalBindings.js.map +1 -0
- package/lib/MountBucket.d.ts +80 -0
- package/lib/MountBucket.d.ts.map +1 -0
- package/lib/MountBucket.js +44 -0
- package/lib/MountBucket.js.map +1 -0
- package/lib/MountVolume.d.ts +77 -0
- package/lib/MountVolume.d.ts.map +1 -0
- package/lib/MountVolume.js +41 -0
- package/lib/MountVolume.js.map +1 -0
- package/lib/Mounts.d.ts +134 -0
- package/lib/Mounts.d.ts.map +1 -0
- package/lib/Mounts.js +87 -0
- package/lib/Mounts.js.map +1 -0
- package/lib/PersistentSandbox.d.ts +75 -0
- package/lib/PersistentSandbox.d.ts.map +1 -0
- package/lib/PersistentSandbox.js +93 -0
- package/lib/PersistentSandbox.js.map +1 -0
- package/lib/Providers.d.ts +23 -0
- package/lib/Providers.d.ts.map +1 -0
- package/lib/Providers.js +64 -0
- package/lib/Providers.js.map +1 -0
- package/lib/Proxy.d.ts +94 -0
- package/lib/Proxy.d.ts.map +1 -0
- package/lib/Proxy.js +132 -0
- package/lib/Proxy.js.map +1 -0
- package/lib/Queue.d.ts +147 -0
- package/lib/Queue.d.ts.map +1 -0
- package/lib/Queue.js +177 -0
- package/lib/Queue.js.map +1 -0
- package/lib/QueueClient.d.ts +64 -0
- package/lib/QueueClient.d.ts.map +1 -0
- package/lib/QueueClient.js +73 -0
- package/lib/QueueClient.js.map +1 -0
- package/lib/ReadApp.d.ts +85 -0
- package/lib/ReadApp.d.ts.map +1 -0
- package/lib/ReadApp.js +3 -0
- package/lib/ReadApp.js.map +1 -0
- package/lib/ReadAppHttp.d.ts +26 -0
- package/lib/ReadAppHttp.d.ts.map +1 -0
- package/lib/ReadAppHttp.js +106 -0
- package/lib/ReadAppHttp.js.map +1 -0
- package/lib/ReadDict.d.ts +39 -0
- package/lib/ReadDict.d.ts.map +1 -0
- package/lib/ReadDict.js +3 -0
- package/lib/ReadDict.js.map +1 -0
- package/lib/ReadDictHttp.d.ts +12 -0
- package/lib/ReadDictHttp.d.ts.map +1 -0
- package/lib/ReadDictHttp.js +23 -0
- package/lib/ReadDictHttp.js.map +1 -0
- package/lib/ReadFunction.d.ts +73 -0
- package/lib/ReadFunction.d.ts.map +1 -0
- package/lib/ReadFunction.js +3 -0
- package/lib/ReadFunction.js.map +1 -0
- package/lib/ReadFunctionHttp.d.ts +25 -0
- package/lib/ReadFunctionHttp.d.ts.map +1 -0
- package/lib/ReadFunctionHttp.js +63 -0
- package/lib/ReadFunctionHttp.js.map +1 -0
- package/lib/ReadQueue.d.ts +39 -0
- package/lib/ReadQueue.d.ts.map +1 -0
- package/lib/ReadQueue.js +3 -0
- package/lib/ReadQueue.js.map +1 -0
- package/lib/ReadQueueHttp.d.ts +12 -0
- package/lib/ReadQueueHttp.d.ts.map +1 -0
- package/lib/ReadQueueHttp.js +23 -0
- package/lib/ReadQueueHttp.js.map +1 -0
- package/lib/ReadServer.d.ts +72 -0
- package/lib/ReadServer.d.ts.map +1 -0
- package/lib/ReadServer.js +3 -0
- package/lib/ReadServer.js.map +1 -0
- package/lib/ReadServerHttp.d.ts +25 -0
- package/lib/ReadServerHttp.d.ts.map +1 -0
- package/lib/ReadServerHttp.js +70 -0
- package/lib/ReadServerHttp.js.map +1 -0
- package/lib/ReadVolume.d.ts +40 -0
- package/lib/ReadVolume.d.ts.map +1 -0
- package/lib/ReadVolume.js +3 -0
- package/lib/ReadVolume.js.map +1 -0
- package/lib/ReadVolumeHttp.d.ts +12 -0
- package/lib/ReadVolumeHttp.d.ts.map +1 -0
- package/lib/ReadVolumeHttp.js +24 -0
- package/lib/ReadVolumeHttp.js.map +1 -0
- package/lib/ReadWriteDict.d.ts +39 -0
- package/lib/ReadWriteDict.d.ts.map +1 -0
- package/lib/ReadWriteDict.js +3 -0
- package/lib/ReadWriteDict.js.map +1 -0
- package/lib/ReadWriteDictHttp.d.ts +12 -0
- package/lib/ReadWriteDictHttp.d.ts.map +1 -0
- package/lib/ReadWriteDictHttp.js +23 -0
- package/lib/ReadWriteDictHttp.js.map +1 -0
- package/lib/ReadWriteQueue.d.ts +40 -0
- package/lib/ReadWriteQueue.d.ts.map +1 -0
- package/lib/ReadWriteQueue.js +3 -0
- package/lib/ReadWriteQueue.js.map +1 -0
- package/lib/ReadWriteQueueHttp.d.ts +12 -0
- package/lib/ReadWriteQueueHttp.d.ts.map +1 -0
- package/lib/ReadWriteQueueHttp.js +23 -0
- package/lib/ReadWriteQueueHttp.js.map +1 -0
- package/lib/ReadWriteVolume.d.ts +40 -0
- package/lib/ReadWriteVolume.d.ts.map +1 -0
- package/lib/ReadWriteVolume.js +3 -0
- package/lib/ReadWriteVolume.js.map +1 -0
- package/lib/ReadWriteVolumeHttp.d.ts +12 -0
- package/lib/ReadWriteVolumeHttp.d.ts.map +1 -0
- package/lib/ReadWriteVolumeHttp.js +24 -0
- package/lib/ReadWriteVolumeHttp.js.map +1 -0
- package/lib/RuntimeOwner.d.ts +39 -0
- package/lib/RuntimeOwner.d.ts.map +1 -0
- package/lib/RuntimeOwner.js +85 -0
- package/lib/RuntimeOwner.js.map +1 -0
- package/lib/Sandbox.d.ts +215 -0
- package/lib/Sandbox.d.ts.map +1 -0
- package/lib/Sandbox.js +278 -0
- package/lib/Sandbox.js.map +1 -0
- package/lib/SandboxClient.d.ts +748 -0
- package/lib/SandboxClient.d.ts.map +1 -0
- package/lib/SandboxClient.js +710 -0
- package/lib/SandboxClient.js.map +1 -0
- package/lib/ScaleFunction.d.ts +54 -0
- package/lib/ScaleFunction.d.ts.map +1 -0
- package/lib/ScaleFunction.js +3 -0
- package/lib/ScaleFunction.js.map +1 -0
- package/lib/ScaleFunctionHttp.d.ts +21 -0
- package/lib/ScaleFunctionHttp.d.ts.map +1 -0
- package/lib/ScaleFunctionHttp.js +39 -0
- package/lib/ScaleFunctionHttp.js.map +1 -0
- package/lib/Secret.d.ts +170 -0
- package/lib/Secret.d.ts.map +1 -0
- package/lib/Secret.js +196 -0
- package/lib/Secret.js.map +1 -0
- package/lib/Server.d.ts +155 -0
- package/lib/Server.d.ts.map +1 -0
- package/lib/Server.js +184 -0
- package/lib/Server.js.map +1 -0
- package/lib/ServiceUser.d.ts +139 -0
- package/lib/ServiceUser.d.ts.map +1 -0
- package/lib/ServiceUser.js +210 -0
- package/lib/ServiceUser.js.map +1 -0
- package/lib/Volume.d.ts +170 -0
- package/lib/Volume.d.ts.map +1 -0
- package/lib/Volume.js +220 -0
- package/lib/Volume.js.map +1 -0
- package/lib/VolumeClient.d.ts +53 -0
- package/lib/VolumeClient.d.ts.map +1 -0
- package/lib/VolumeClient.js +22 -0
- package/lib/VolumeClient.js.map +1 -0
- package/lib/VolumeFiles.d.ts +94 -0
- package/lib/VolumeFiles.d.ts.map +1 -0
- package/lib/VolumeFiles.js +139 -0
- package/lib/VolumeFiles.js.map +1 -0
- package/lib/WebhookToken.d.ts +102 -0
- package/lib/WebhookToken.d.ts.map +1 -0
- package/lib/WebhookToken.js +176 -0
- package/lib/WebhookToken.js.map +1 -0
- package/lib/WorkspaceSettings.d.ts +70 -0
- package/lib/WorkspaceSettings.d.ts.map +1 -0
- package/lib/WorkspaceSettings.js +105 -0
- package/lib/WorkspaceSettings.js.map +1 -0
- package/lib/WriteApp.d.ts +38 -0
- package/lib/WriteApp.d.ts.map +1 -0
- package/lib/WriteApp.js +3 -0
- package/lib/WriteApp.js.map +1 -0
- package/lib/WriteAppHttp.d.ts +23 -0
- package/lib/WriteAppHttp.d.ts.map +1 -0
- package/lib/WriteAppHttp.js +36 -0
- package/lib/WriteAppHttp.js.map +1 -0
- package/lib/WriteDict.d.ts +39 -0
- package/lib/WriteDict.d.ts.map +1 -0
- package/lib/WriteDict.js +3 -0
- package/lib/WriteDict.js.map +1 -0
- package/lib/WriteDictHttp.d.ts +12 -0
- package/lib/WriteDictHttp.d.ts.map +1 -0
- package/lib/WriteDictHttp.js +23 -0
- package/lib/WriteDictHttp.js.map +1 -0
- package/lib/WriteQueue.d.ts +39 -0
- package/lib/WriteQueue.d.ts.map +1 -0
- package/lib/WriteQueue.js +3 -0
- package/lib/WriteQueue.js.map +1 -0
- package/lib/WriteQueueHttp.d.ts +12 -0
- package/lib/WriteQueueHttp.d.ts.map +1 -0
- package/lib/WriteQueueHttp.js +23 -0
- package/lib/WriteQueueHttp.js.map +1 -0
- package/lib/WriteSecret.d.ts +53 -0
- package/lib/WriteSecret.d.ts.map +1 -0
- package/lib/WriteSecret.js +3 -0
- package/lib/WriteSecret.js.map +1 -0
- package/lib/WriteSecretHttp.d.ts +23 -0
- package/lib/WriteSecretHttp.d.ts.map +1 -0
- package/lib/WriteSecretHttp.js +44 -0
- package/lib/WriteSecretHttp.js.map +1 -0
- package/lib/WriteVolume.d.ts +39 -0
- package/lib/WriteVolume.d.ts.map +1 -0
- package/lib/WriteVolume.js +3 -0
- package/lib/WriteVolume.js.map +1 -0
- package/lib/WriteVolumeHttp.d.ts +12 -0
- package/lib/WriteVolumeHttp.d.ts.map +1 -0
- package/lib/WriteVolumeHttp.js +24 -0
- package/lib/WriteVolumeHttp.js.map +1 -0
- package/lib/index.d.ts +80 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +78 -0
- package/lib/index.js.map +1 -0
- package/lib/internal/Declared.d.ts +29 -0
- package/lib/internal/Declared.d.ts.map +1 -0
- package/lib/internal/Declared.js +31 -0
- package/lib/internal/Declared.js.map +1 -0
- package/lib/internal/Deploy.d.ts +110 -0
- package/lib/internal/Deploy.d.ts.map +1 -0
- package/lib/internal/Deploy.js +230 -0
- package/lib/internal/Deploy.js.map +1 -0
- package/lib/internal/Entrypoint.d.ts +52 -0
- package/lib/internal/Entrypoint.d.ts.map +1 -0
- package/lib/internal/Entrypoint.js +193 -0
- package/lib/internal/Entrypoint.js.map +1 -0
- package/lib/internal/Rpc.d.ts +17 -0
- package/lib/internal/Rpc.d.ts.map +1 -0
- package/lib/internal/Rpc.js +49 -0
- package/lib/internal/Rpc.js.map +1 -0
- package/lib/internal/RpcAuth.d.ts +41 -0
- package/lib/internal/RpcAuth.d.ts.map +1 -0
- package/lib/internal/RpcAuth.js +100 -0
- package/lib/internal/RpcAuth.js.map +1 -0
- package/lib/internal/Runtime.d.ts +127 -0
- package/lib/internal/Runtime.d.ts.map +1 -0
- package/lib/internal/Runtime.js +246 -0
- package/lib/internal/Runtime.js.map +1 -0
- package/lib/internal/Tags.d.ts +19 -0
- package/lib/internal/Tags.d.ts.map +1 -0
- package/lib/internal/Tags.js +33 -0
- package/lib/internal/Tags.js.map +1 -0
- package/lib/internal/TcpConnect.d.ts +12 -0
- package/lib/internal/TcpConnect.d.ts.map +1 -0
- package/lib/internal/TcpConnect.js +46 -0
- package/lib/internal/TcpConnect.js.map +1 -0
- package/lib/internal/Transport.d.ts +13 -0
- package/lib/internal/Transport.d.ts.map +1 -0
- package/lib/internal/Transport.js +16 -0
- package/lib/internal/Transport.js.map +1 -0
- package/lib/internal.d.ts +71 -0
- package/lib/internal.d.ts.map +1 -0
- package/lib/internal.js +102 -0
- package/lib/internal.js.map +1 -0
- package/package.json +59 -3
- package/src/App.ts +262 -0
- package/src/AuthProvider.ts +295 -0
- package/src/BindingHttp.ts +112 -0
- package/src/Blob.ts +71 -0
- package/src/Bootstrap.ts +52 -0
- package/src/Cbor.ts +158 -0
- package/src/ConnectSandbox.ts +99 -0
- package/src/Container.ts +121 -0
- package/src/Contributions.ts +9 -0
- package/src/CreateDict.ts +95 -0
- package/src/CreateDictHttp.ts +91 -0
- package/src/CreateImage.ts +105 -0
- package/src/CreateImageHttp.ts +117 -0
- package/src/CreateQueue.ts +95 -0
- package/src/CreateQueueHttp.ts +91 -0
- package/src/CreateSandbox.ts +228 -0
- package/src/CreateSandboxHttp.ts +160 -0
- package/src/CreateSecret.ts +109 -0
- package/src/CreateSecretHttp.ts +83 -0
- package/src/CreateVolume.ts +96 -0
- package/src/CreateVolumeHttp.ts +93 -0
- package/src/Credentials.ts +74 -0
- package/src/Dict.ts +245 -0
- package/src/DictClient.ts +166 -0
- package/src/Domain.ts +147 -0
- package/src/Endpoint.ts +406 -0
- package/src/Environment.ts +373 -0
- package/src/FetchServer.ts +126 -0
- package/src/FetchServerHttp.ts +110 -0
- package/src/Function.ts +397 -0
- package/src/FunctionAutoscaler.ts +210 -0
- package/src/FunctionTarget.ts +181 -0
- package/src/Image.ts +281 -0
- package/src/ImageBuild.ts +228 -0
- package/src/ImagePlan.ts +78 -0
- package/src/InferEnv.ts +27 -0
- package/src/InvokeFunction.ts +211 -0
- package/src/InvokeFunctionHttp.ts +316 -0
- package/src/ModalBindings.ts +310 -0
- package/src/MountBucket.ts +137 -0
- package/src/MountVolume.ts +113 -0
- package/src/Mounts.ts +230 -0
- package/src/PersistentSandbox.ts +142 -0
- package/src/Providers.ts +100 -0
- package/src/Proxy.ts +191 -0
- package/src/Queue.ts +258 -0
- package/src/QueueClient.ts +149 -0
- package/src/ReadApp.ts +101 -0
- package/src/ReadAppHttp.ts +142 -0
- package/src/ReadDict.ts +44 -0
- package/src/ReadDictHttp.ts +27 -0
- package/src/ReadFunction.ts +107 -0
- package/src/ReadFunctionHttp.ts +91 -0
- package/src/ReadQueue.ts +44 -0
- package/src/ReadQueueHttp.ts +27 -0
- package/src/ReadServer.ts +98 -0
- package/src/ReadServerHttp.ts +101 -0
- package/src/ReadVolume.ts +45 -0
- package/src/ReadVolumeHttp.ts +28 -0
- package/src/ReadWriteDict.ts +44 -0
- package/src/ReadWriteDictHttp.ts +27 -0
- package/src/ReadWriteQueue.ts +45 -0
- package/src/ReadWriteQueueHttp.ts +27 -0
- package/src/ReadWriteVolume.ts +45 -0
- package/src/ReadWriteVolumeHttp.ts +28 -0
- package/src/RuntimeOwner.ts +111 -0
- package/src/Sandbox.ts +402 -0
- package/src/SandboxClient.ts +1404 -0
- package/src/ScaleFunction.ts +70 -0
- package/src/ScaleFunctionHttp.ts +54 -0
- package/src/Secret.ts +296 -0
- package/src/Server.ts +285 -0
- package/src/ServiceUser.ts +295 -0
- package/src/Volume.ts +320 -0
- package/src/VolumeClient.ts +108 -0
- package/src/VolumeFiles.ts +194 -0
- package/src/WebhookToken.ts +230 -0
- package/src/WorkspaceSettings.ts +160 -0
- package/src/WriteApp.ts +43 -0
- package/src/WriteAppHttp.ts +51 -0
- package/src/WriteDict.ts +44 -0
- package/src/WriteDictHttp.ts +27 -0
- package/src/WriteQueue.ts +44 -0
- package/src/WriteQueueHttp.ts +27 -0
- package/src/WriteSecret.ts +60 -0
- package/src/WriteSecretHttp.ts +56 -0
- package/src/WriteVolume.ts +44 -0
- package/src/WriteVolumeHttp.ts +28 -0
- package/src/globals.d.ts +2 -0
- package/src/index.ts +85 -0
- package/src/internal/Declared.ts +80 -0
- package/src/internal/Deploy.ts +309 -0
- package/src/internal/Entrypoint.ts +198 -0
- package/src/internal/Rpc.ts +59 -0
- package/src/internal/RpcAuth.ts +132 -0
- package/src/internal/Runtime.ts +386 -0
- package/src/internal/Tags.ts +44 -0
- package/src/internal/TcpConnect.ts +78 -0
- package/src/internal/Transport.ts +25 -0
- package/src/internal.ts +147 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import * as app from "@distilled.cloud/modal/app";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import { makeModalBinding } from "./BindingHttp.js";
|
|
5
|
+
import { operations, stringMap, timestampOf } from "./internal.js";
|
|
6
|
+
import { ReadApp } from "./ReadApp.js";
|
|
7
|
+
const STREAM = {
|
|
8
|
+
stdout: "FILE_DESCRIPTOR_STDOUT",
|
|
9
|
+
stderr: "FILE_DESCRIPTOR_STDERR",
|
|
10
|
+
info: "FILE_DESCRIPTOR_INFO",
|
|
11
|
+
};
|
|
12
|
+
const streamOf = (fd) => fd === STREAM.stdout
|
|
13
|
+
? "stdout"
|
|
14
|
+
: fd === STREAM.stderr
|
|
15
|
+
? "stderr"
|
|
16
|
+
: fd === STREAM.info
|
|
17
|
+
? "info"
|
|
18
|
+
: undefined;
|
|
19
|
+
const filterOf = (filter) => ({
|
|
20
|
+
functionId: filter.functionId,
|
|
21
|
+
functionCallId: filter.functionCallId,
|
|
22
|
+
taskId: filter.containerId,
|
|
23
|
+
sandboxId: filter.sandboxId,
|
|
24
|
+
searchText: filter.search,
|
|
25
|
+
source: filter.stream ? STREAM[filter.stream] : undefined,
|
|
26
|
+
});
|
|
27
|
+
/** The operations the client calls, resolved by `ModalBindings.withCredentials`. */
|
|
28
|
+
const ReadAppOps = operations({
|
|
29
|
+
fetchLogs: app.appFetchLogs,
|
|
30
|
+
getLogs: app.appGetLogs,
|
|
31
|
+
countLogs: app.appCountLogs,
|
|
32
|
+
info: app.appGetInfo,
|
|
33
|
+
lifecycle: app.appGetLifecycle,
|
|
34
|
+
layout: app.appGetLayout,
|
|
35
|
+
deployments: app.appDeploymentHistory,
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* {@link ReadApp} over Modal's API. Grants the host's identity (a scoped
|
|
39
|
+
* `Modal.ServiceUser`) the `viewer` role on the App's environment.
|
|
40
|
+
*
|
|
41
|
+
* @layer
|
|
42
|
+
* @product App
|
|
43
|
+
* @provides Modal.ReadApp
|
|
44
|
+
*/
|
|
45
|
+
export const ReadAppHttp = Layer.effect(ReadApp, makeModalBinding({
|
|
46
|
+
tag: "Modal.ReadApp",
|
|
47
|
+
operations: ReadAppOps,
|
|
48
|
+
role: "viewer",
|
|
49
|
+
make: Effect.fn(function* (target, ops) {
|
|
50
|
+
const appId = yield* target.appId;
|
|
51
|
+
return {
|
|
52
|
+
logs: (query) => Effect.flatMap(appId, (id) => ops.fetchLogs({
|
|
53
|
+
appId: id,
|
|
54
|
+
since: timestampOf(query.since),
|
|
55
|
+
until: timestampOf(query.until ?? Date.now()),
|
|
56
|
+
limit: query.limit,
|
|
57
|
+
...filterOf(query),
|
|
58
|
+
})).pipe(Effect.map((response) => (response.batches ?? []).flatMap((batch) => (batch.items ?? []).map((line) => ({
|
|
59
|
+
data: line.data ?? "",
|
|
60
|
+
timestamp: line.timestamp,
|
|
61
|
+
stream: streamOf(line.fileDescriptor),
|
|
62
|
+
functionId: batch.functionId,
|
|
63
|
+
functionCallId: line.functionCallId,
|
|
64
|
+
containerId: line.containerId ?? batch.taskId,
|
|
65
|
+
sandboxId: batch.sandboxId,
|
|
66
|
+
}))))),
|
|
67
|
+
tail: (query = {}) => Effect.flatMap(appId, (id) => ops.getLogs({
|
|
68
|
+
appId: id,
|
|
69
|
+
timeout: query.timeout ?? 10,
|
|
70
|
+
lastEntryId: query.cursor,
|
|
71
|
+
functionId: query.functionId,
|
|
72
|
+
functionCallId: query.functionCallId,
|
|
73
|
+
taskId: query.containerId,
|
|
74
|
+
sandboxId: query.sandboxId,
|
|
75
|
+
searchText: query.search,
|
|
76
|
+
fileDescriptor: query.stream ? STREAM[query.stream] : undefined,
|
|
77
|
+
})).pipe(Effect.map(({ items }) => ({
|
|
78
|
+
lines: items.flatMap((batch) => (batch.items ?? []).map((line) => ({
|
|
79
|
+
data: line.data ?? "",
|
|
80
|
+
timestamp: line.timestamp,
|
|
81
|
+
stream: streamOf(line.fileDescriptor),
|
|
82
|
+
functionId: batch.functionId,
|
|
83
|
+
functionCallId: line.functionCallId,
|
|
84
|
+
containerId: line.containerId ?? batch.taskId,
|
|
85
|
+
sandboxId: batch.sandboxId,
|
|
86
|
+
}))),
|
|
87
|
+
cursor: items.findLast((batch) => batch.entryId)?.entryId ?? query.cursor,
|
|
88
|
+
}))),
|
|
89
|
+
logCount: (query) => Effect.flatMap(appId, (id) => ops.countLogs({
|
|
90
|
+
appId: id,
|
|
91
|
+
since: timestampOf(query.since),
|
|
92
|
+
until: timestampOf(query.until ?? Date.now()),
|
|
93
|
+
bucketSecs: query.bucketSecs,
|
|
94
|
+
...filterOf(query),
|
|
95
|
+
})),
|
|
96
|
+
info: () => Effect.flatMap(appId, (id) => ops.info({ appId: id })),
|
|
97
|
+
lifecycle: () => Effect.flatMap(appId, (id) => ops.lifecycle({ appId: id })).pipe(Effect.map((response) => response.lifecycle)),
|
|
98
|
+
layout: () => Effect.flatMap(appId, (id) => ops.layout({ appId: id })).pipe(Effect.map(({ appLayout }) => ({
|
|
99
|
+
functionIds: stringMap(appLayout?.functionIds),
|
|
100
|
+
classIds: stringMap(appLayout?.classIds),
|
|
101
|
+
}))),
|
|
102
|
+
deployments: () => Effect.flatMap(appId, (id) => ops.deployments({ appId: id })),
|
|
103
|
+
};
|
|
104
|
+
}),
|
|
105
|
+
}));
|
|
106
|
+
//# sourceMappingURL=ReadAppHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadAppHttp.js","sources":["../src/ReadAppHttp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as Binding from "alchemy/Binding";
|
|
2
|
+
import type * as Effect from "effect/Effect";
|
|
3
|
+
import type { Dict } from "./Dict.ts";
|
|
4
|
+
import type { ReadDictClient } from "./DictClient.ts";
|
|
5
|
+
export type { ReadDictClient } from "./DictClient.ts";
|
|
6
|
+
/**
|
|
7
|
+
* Read a Modal Dict from any runtime: get, contains, len and entries. Keys and values are JSON.
|
|
8
|
+
*
|
|
9
|
+
* ### Bind a dict
|
|
10
|
+
* **Example:** From a Cloudflare Worker
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import * as Cloudflare from "@alchemy.run/cloudflare";
|
|
13
|
+
* import * as Modal from "@alchemy.run/modal";
|
|
14
|
+
* import * as Effect from "effect/Effect";
|
|
15
|
+
* import * as HttpServerResponse from "effect/http/HttpServerResponse";
|
|
16
|
+
* import { Results } from "./Storage.ts";
|
|
17
|
+
*
|
|
18
|
+
* export default class Api extends Cloudflare.Worker<Api>()(
|
|
19
|
+
* "Api",
|
|
20
|
+
* { main: import.meta.url },
|
|
21
|
+
* Effect.gen(function* () {
|
|
22
|
+
* const dict = yield* Modal.ReadDict(Results);
|
|
23
|
+
* return {
|
|
24
|
+
* fetch: Effect.gen(function* () {
|
|
25
|
+
* const last = yield* dict.get("last-run");
|
|
26
|
+
* return yield* HttpServerResponse.json(last ?? null);
|
|
27
|
+
* }).pipe(Effect.orDie),
|
|
28
|
+
* };
|
|
29
|
+
* }).pipe(Effect.provide(Modal.ReadDictHttp)),
|
|
30
|
+
* ) {}
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @binding
|
|
34
|
+
* @product Dict
|
|
35
|
+
*/
|
|
36
|
+
export interface ReadDict extends Binding.Service<ReadDict, "Modal.ReadDict", (dict: Dict) => Effect.Effect<ReadDictClient>> {
|
|
37
|
+
}
|
|
38
|
+
export declare const ReadDict: ReadDict;
|
|
39
|
+
//# sourceMappingURL=ReadDict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadDict.d.ts","sources":["../src/ReadDict.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,QAAS,SAAQ,OAAO,CAAC,OAAO,CAC/C,QAAQ,EACR,gBAAgB,EAChB,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAC9C;CAAG;AAEJ,eAAO,MAAM,QAAQ,UAA8C,CAAC"}
|
package/lib/ReadDict.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadDict.js","sources":["../src/ReadDict.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AA2C3C,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAW,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import { ReadDict } from "./ReadDict.ts";
|
|
3
|
+
/**
|
|
4
|
+
* {@link ReadDict} over Modal's API. Grants the host's identity (a scoped
|
|
5
|
+
* `Modal.ServiceUser`) the `viewer` role on the dict's environment.
|
|
6
|
+
*
|
|
7
|
+
* @layer
|
|
8
|
+
* @product Dict
|
|
9
|
+
* @provides Modal.ReadDict
|
|
10
|
+
*/
|
|
11
|
+
export declare const ReadDictHttp: Layer.Layer<ReadDict, never, never>;
|
|
12
|
+
//# sourceMappingURL=ReadDictHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadDictHttp.d.ts","sources":["../src/ReadDictHttp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,qCAWxB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import { makeModalBinding } from "./BindingHttp.js";
|
|
4
|
+
import { DictOps, makeReadDictClient } from "./DictClient.js";
|
|
5
|
+
import { ReadDict } from "./ReadDict.js";
|
|
6
|
+
/**
|
|
7
|
+
* {@link ReadDict} over Modal's API. Grants the host's identity (a scoped
|
|
8
|
+
* `Modal.ServiceUser`) the `viewer` role on the dict's environment.
|
|
9
|
+
*
|
|
10
|
+
* @layer
|
|
11
|
+
* @product Dict
|
|
12
|
+
* @provides Modal.ReadDict
|
|
13
|
+
*/
|
|
14
|
+
export const ReadDictHttp = Layer.effect(ReadDict, makeModalBinding({
|
|
15
|
+
tag: "Modal.ReadDict",
|
|
16
|
+
operations: DictOps,
|
|
17
|
+
role: "viewer",
|
|
18
|
+
make: Effect.fn(function* (dict, ops) {
|
|
19
|
+
const dictId = yield* dict.dictId;
|
|
20
|
+
return makeReadDictClient(dictId, ops);
|
|
21
|
+
}),
|
|
22
|
+
}));
|
|
23
|
+
//# sourceMappingURL=ReadDictHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadDictHttp.js","sources":["../src/ReadDictHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CACtC,QAAQ,EACR,gBAAgB,CAAC;IACf,GAAG,EAAE,gBAAgB;IACrB,UAAU,EAAE,OAAO;IACnB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAU,EAAE,GAAG;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,OAAO,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC,CAAC;CACH,CAAC,CACH,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type * as functions from "@distilled.cloud/modal/functions";
|
|
2
|
+
import * as Binding from "alchemy/Binding";
|
|
3
|
+
import type { RuntimeContext } from "alchemy/RuntimeContext";
|
|
4
|
+
import type * as Effect from "effect/Effect";
|
|
5
|
+
import type { FunctionLookupError } from "./FunctionTarget.ts";
|
|
6
|
+
import type { OpError } from "./internal.ts";
|
|
7
|
+
import type { FunctionTarget } from "./InvokeFunction.ts";
|
|
8
|
+
import type { ReadFunctionOps } from "./ReadFunctionHttp.ts";
|
|
9
|
+
import type { Server } from "./Server.ts";
|
|
10
|
+
/** A time range: `Date`s, ISO strings, or epoch milliseconds. */
|
|
11
|
+
export interface TimeRange {
|
|
12
|
+
readonly since: Date | string | number;
|
|
13
|
+
readonly until?: Date | string | number;
|
|
14
|
+
}
|
|
15
|
+
/** Observe a function: load, call counts and metrics. */
|
|
16
|
+
export interface FunctionReader {
|
|
17
|
+
/** Inputs waiting and running, and the containers serving them, right now. */
|
|
18
|
+
stats(): Effect.Effect<{
|
|
19
|
+
readonly backlog: number;
|
|
20
|
+
readonly runningInputs: number;
|
|
21
|
+
readonly containers: number;
|
|
22
|
+
readonly inputHeadroom: number;
|
|
23
|
+
}, FunctionLookupError | OpError<ReadFunctionOps, "currentStats">, RuntimeContext>;
|
|
24
|
+
/** Input outcomes, latency percentiles and container counts over a time range. */
|
|
25
|
+
timeRangeStats(range: TimeRange & {
|
|
26
|
+
readonly containerId?: string;
|
|
27
|
+
}): Effect.Effect<functions.FunctionGetTimeRangeStatsResponse, FunctionLookupError | OpError<ReadFunctionOps, "timeRangeStats">, RuntimeContext>;
|
|
28
|
+
/** Metric series (`containers`, `calls`) over a time range. */
|
|
29
|
+
metrics(range: TimeRange & {
|
|
30
|
+
/** Seconds per bucket. @default 3600 */
|
|
31
|
+
readonly bucketSecs?: number;
|
|
32
|
+
readonly groups?: ReadonlyArray<string>;
|
|
33
|
+
}): Effect.Effect<functions.FunctionGetMetricsResponse, FunctionLookupError | OpError<ReadFunctionOps, "metrics">, RuntimeContext>;
|
|
34
|
+
/** Calls started per time bucket. */
|
|
35
|
+
callCount(range: TimeRange & {
|
|
36
|
+
/** Seconds per bucket. @default 3600 */
|
|
37
|
+
readonly bucketSecs?: number;
|
|
38
|
+
}): Effect.Effect<functions.FunctionCallCountResponse, FunctionLookupError | OpError<ReadFunctionOps, "callCount">, RuntimeContext>;
|
|
39
|
+
/** The inputs of one call, by outcome. */
|
|
40
|
+
callInfo(call: {
|
|
41
|
+
readonly functionCallId: string;
|
|
42
|
+
}): Effect.Effect<functions.FunctionCallGetInfoResponse, FunctionLookupError | OpError<ReadFunctionOps, "callInfo">, RuntimeContext>;
|
|
43
|
+
/** The autoscaler settings in effect. */
|
|
44
|
+
autoscaler(): Effect.Effect<functions.AutoscalerSettings | undefined, FunctionLookupError | OpError<ReadFunctionOps, "schedulingParams">, RuntimeContext>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Read a Modal Function's (or Server's) live state from any runtime:
|
|
48
|
+
* backlog and running inputs, call counts, outcome counts, latency
|
|
49
|
+
* percentiles and metric series. Bind a resource of the Stack, or a function
|
|
50
|
+
* deployed with `modal deploy` by name.
|
|
51
|
+
*
|
|
52
|
+
* ### Watch the backlog
|
|
53
|
+
* **Example:** Shed load when the queue is long
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const embed = yield* Modal.ReadFunction(Embed);
|
|
56
|
+
* const { backlog } = yield* embed.stats();
|
|
57
|
+
* if (backlog > 100) return HttpServerResponse.text("busy", { status: 503 });
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* ### History
|
|
61
|
+
* **Example:** Failures in the last hour
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const stats = yield* embed.timeRangeStats({ since: new Date(Date.now() - 3_600_000) });
|
|
64
|
+
* yield* Effect.log(`${stats.inputFailureCount} failed of ${stats.inputSuccessCount}`);
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @binding
|
|
68
|
+
* @product Function
|
|
69
|
+
*/
|
|
70
|
+
export interface ReadFunction extends Binding.Service<ReadFunction, "Modal.ReadFunction", (target: FunctionTarget | Server) => Effect.Effect<FunctionReader>> {
|
|
71
|
+
}
|
|
72
|
+
export declare const ReadFunction: ReadFunction;
|
|
73
|
+
//# sourceMappingURL=ReadFunction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadFunction.d.ts","sources":["../src/ReadFunction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadFunction.js","sources":["../src/ReadFunction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAyG3C,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAe,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as functions from "@distilled.cloud/modal/functions";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import { ReadFunction } from "./ReadFunction.ts";
|
|
5
|
+
/** The operations the client calls, resolved by `ModalBindings.withCredentials`. */
|
|
6
|
+
declare const ReadFunctionOps: Effect.Effect<{
|
|
7
|
+
readonly currentStats: (input: functions.FunctionGetCurrentStatsRequest) => Effect.Effect<functions.FunctionGetCurrentStatsResponse, functions.FunctionGetCurrentStatsError, never>;
|
|
8
|
+
readonly timeRangeStats: (input: functions.FunctionGetTimeRangeStatsRequest) => Effect.Effect<functions.FunctionGetTimeRangeStatsResponse, functions.FunctionGetTimeRangeStatsError, never>;
|
|
9
|
+
readonly metrics: (input: functions.FunctionGetMetricsRequest) => Effect.Effect<functions.FunctionGetMetricsResponse, functions.ModalOpError, never>;
|
|
10
|
+
readonly callCount: (input: functions.FunctionCallCountRequest) => Effect.Effect<functions.FunctionCallCountResponse, functions.ModalOpError, never>;
|
|
11
|
+
readonly callInfo: (input: functions.FunctionCallGetInfoRequest) => Effect.Effect<functions.FunctionCallGetInfoResponse, functions.FunctionCallGetInfoError, never>;
|
|
12
|
+
readonly schedulingParams: (input: functions.FunctionGetSchedulingParamsRequest) => Effect.Effect<functions.FunctionGetSchedulingParamsResponse, functions.FunctionGetSchedulingParamsError, never>;
|
|
13
|
+
}, never, import("./internal.ts").OperationServices>;
|
|
14
|
+
export type ReadFunctionOps = Effect.Success<typeof ReadFunctionOps>;
|
|
15
|
+
/**
|
|
16
|
+
* {@link ReadFunction} over Modal's API. Grants the host's identity (a scoped
|
|
17
|
+
* `Modal.ServiceUser`) the `viewer` role on the function's environment.
|
|
18
|
+
*
|
|
19
|
+
* @layer
|
|
20
|
+
* @product Function
|
|
21
|
+
* @provides Modal.ReadFunction
|
|
22
|
+
*/
|
|
23
|
+
export declare const ReadFunctionHttp: Layer.Layer<ReadFunction, never, never>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=ReadFunctionHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadFunctionHttp.d.ts","sources":["../src/ReadFunctionHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AAMtE,oFAAoF;AACpF,QAAA,MAAM,eAAe;;;;;;;oDAOnB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,eAAe,CAAC,CAAC;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,yCA0D5B,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as functions from "@distilled.cloud/modal/functions";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import { makeFunctionBinding } from "./FunctionTarget.js";
|
|
5
|
+
import { operations, timestampOf } from "./internal.js";
|
|
6
|
+
import { ReadFunction } from "./ReadFunction.js";
|
|
7
|
+
/** Bucket width when a query doesn't set one: Modal requires a positive one. */
|
|
8
|
+
const DEFAULT_BUCKET_SECS = 3600;
|
|
9
|
+
/** The operations the client calls, resolved by `ModalBindings.withCredentials`. */
|
|
10
|
+
const ReadFunctionOps = operations({
|
|
11
|
+
currentStats: functions.functionGetCurrentStats,
|
|
12
|
+
timeRangeStats: functions.functionGetTimeRangeStats,
|
|
13
|
+
metrics: functions.functionGetMetrics,
|
|
14
|
+
callCount: functions.functionCallCount,
|
|
15
|
+
callInfo: functions.functionCallGetInfo,
|
|
16
|
+
schedulingParams: functions.functionGetSchedulingParams,
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* {@link ReadFunction} over Modal's API. Grants the host's identity (a scoped
|
|
20
|
+
* `Modal.ServiceUser`) the `viewer` role on the function's environment.
|
|
21
|
+
*
|
|
22
|
+
* @layer
|
|
23
|
+
* @product Function
|
|
24
|
+
* @provides Modal.ReadFunction
|
|
25
|
+
*/
|
|
26
|
+
export const ReadFunctionHttp = Layer.effect(ReadFunction, makeFunctionBinding({
|
|
27
|
+
tag: "Modal.ReadFunction",
|
|
28
|
+
operations: ReadFunctionOps,
|
|
29
|
+
role: "viewer",
|
|
30
|
+
make: ({ functionId }, ops, _target) => Effect.succeed({
|
|
31
|
+
stats: () => Effect.flatMap(functionId, (id) => ops.currentStats({ functionId: id })).pipe(Effect.map((stats) => ({
|
|
32
|
+
backlog: stats.backlog ?? 0,
|
|
33
|
+
runningInputs: stats.numRunningInputs ?? 0,
|
|
34
|
+
containers: stats.numTotalTasks ?? 0,
|
|
35
|
+
inputHeadroom: stats.inputHeadroom ?? 0,
|
|
36
|
+
}))),
|
|
37
|
+
timeRangeStats: (range) => Effect.flatMap(functionId, (id) => ops.timeRangeStats({
|
|
38
|
+
functionId: id,
|
|
39
|
+
since: timestampOf(range.since),
|
|
40
|
+
until: timestampOf(range.until ?? Date.now()),
|
|
41
|
+
containerId: range.containerId,
|
|
42
|
+
})),
|
|
43
|
+
metrics: (range) => Effect.flatMap(functionId, (id) => ops.metrics({
|
|
44
|
+
functionId: id,
|
|
45
|
+
since: timestampOf(range.since),
|
|
46
|
+
until: timestampOf(range.until ?? Date.now()),
|
|
47
|
+
bucketSecs: range.bucketSecs ?? DEFAULT_BUCKET_SECS,
|
|
48
|
+
groups: range.groups ? [...range.groups] : undefined,
|
|
49
|
+
})),
|
|
50
|
+
callCount: (range) => Effect.flatMap(functionId, (id) => ops.callCount({
|
|
51
|
+
functionId: id,
|
|
52
|
+
since: timestampOf(range.since),
|
|
53
|
+
until: timestampOf(range.until ?? Date.now()),
|
|
54
|
+
bucketSecs: range.bucketSecs ?? DEFAULT_BUCKET_SECS,
|
|
55
|
+
})),
|
|
56
|
+
callInfo: (call) => Effect.flatMap(functionId, (id) => ops.callInfo({
|
|
57
|
+
functionId: id,
|
|
58
|
+
functionCallId: call.functionCallId,
|
|
59
|
+
})),
|
|
60
|
+
autoscaler: () => Effect.flatMap(functionId, (id) => ops.schedulingParams({ functionId: id })).pipe(Effect.map((response) => response.autoscalerConfiguration?.settings)),
|
|
61
|
+
}),
|
|
62
|
+
}));
|
|
63
|
+
//# sourceMappingURL=ReadFunctionHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadFunctionHttp.js","sources":["../src/ReadFunctionHttp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as Binding from "alchemy/Binding";
|
|
2
|
+
import type * as Effect from "effect/Effect";
|
|
3
|
+
import type { Queue } from "./Queue.ts";
|
|
4
|
+
import type { ReadQueueClient } from "./QueueClient.ts";
|
|
5
|
+
export type { ReadQueueClient } from "./QueueClient.ts";
|
|
6
|
+
/**
|
|
7
|
+
* Take items from a Modal Queue from any runtime: take (removes), peek and len. Items are JSON.
|
|
8
|
+
*
|
|
9
|
+
* ### Bind a queue
|
|
10
|
+
* **Example:** From a Cloudflare Worker
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import * as Cloudflare from "@alchemy.run/cloudflare";
|
|
13
|
+
* import * as Modal from "@alchemy.run/modal";
|
|
14
|
+
* import * as Effect from "effect/Effect";
|
|
15
|
+
* import * as HttpServerResponse from "effect/http/HttpServerResponse";
|
|
16
|
+
* import { Jobs } from "./Storage.ts";
|
|
17
|
+
*
|
|
18
|
+
* export default class Api extends Cloudflare.Worker<Api>()(
|
|
19
|
+
* "Api",
|
|
20
|
+
* { main: import.meta.url },
|
|
21
|
+
* Effect.gen(function* () {
|
|
22
|
+
* const queue = yield* Modal.ReadQueue(Jobs);
|
|
23
|
+
* return {
|
|
24
|
+
* fetch: Effect.gen(function* () {
|
|
25
|
+
* const [job] = yield* queue.take({ timeout: "5 seconds" });
|
|
26
|
+
* return yield* HttpServerResponse.json(job ?? null);
|
|
27
|
+
* }).pipe(Effect.orDie),
|
|
28
|
+
* };
|
|
29
|
+
* }).pipe(Effect.provide(Modal.ReadQueueHttp)),
|
|
30
|
+
* ) {}
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @binding
|
|
34
|
+
* @product Queue
|
|
35
|
+
*/
|
|
36
|
+
export interface ReadQueue extends Binding.Service<ReadQueue, "Modal.ReadQueue", (queue: Queue) => Effect.Effect<ReadQueueClient>> {
|
|
37
|
+
}
|
|
38
|
+
export declare const ReadQueue: ReadQueue;
|
|
39
|
+
//# sourceMappingURL=ReadQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadQueue.d.ts","sources":["../src/ReadQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,SAAU,SAAQ,OAAO,CAAC,OAAO,CAChD,SAAS,EACT,iBAAiB,EACjB,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CACjD;CAAG;AAEJ,eAAO,MAAM,SAAS,WAAgD,CAAC"}
|
package/lib/ReadQueue.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadQueue.js","sources":["../src/ReadQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AA2C3C,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAY,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import { ReadQueue } from "./ReadQueue.ts";
|
|
3
|
+
/**
|
|
4
|
+
* {@link ReadQueue} over Modal's API. Grants the host's identity (a scoped
|
|
5
|
+
* `Modal.ServiceUser`) the `contributor` role on the queue's environment.
|
|
6
|
+
*
|
|
7
|
+
* @layer
|
|
8
|
+
* @product Queue
|
|
9
|
+
* @provides Modal.ReadQueue
|
|
10
|
+
*/
|
|
11
|
+
export declare const ReadQueueHttp: Layer.Layer<ReadQueue, never, never>;
|
|
12
|
+
//# sourceMappingURL=ReadQueueHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadQueueHttp.d.ts","sources":["../src/ReadQueueHttp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,sCAWzB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import { makeModalBinding } from "./BindingHttp.js";
|
|
4
|
+
import { QueueOps, makeReadQueueClient } from "./QueueClient.js";
|
|
5
|
+
import { ReadQueue } from "./ReadQueue.js";
|
|
6
|
+
/**
|
|
7
|
+
* {@link ReadQueue} over Modal's API. Grants the host's identity (a scoped
|
|
8
|
+
* `Modal.ServiceUser`) the `contributor` role on the queue's environment.
|
|
9
|
+
*
|
|
10
|
+
* @layer
|
|
11
|
+
* @product Queue
|
|
12
|
+
* @provides Modal.ReadQueue
|
|
13
|
+
*/
|
|
14
|
+
export const ReadQueueHttp = Layer.effect(ReadQueue, makeModalBinding({
|
|
15
|
+
tag: "Modal.ReadQueue",
|
|
16
|
+
operations: QueueOps,
|
|
17
|
+
role: "contributor",
|
|
18
|
+
make: Effect.fn(function* (queue, ops) {
|
|
19
|
+
const queueId = yield* queue.queueId;
|
|
20
|
+
return makeReadQueueClient(queueId, ops);
|
|
21
|
+
}),
|
|
22
|
+
}));
|
|
23
|
+
//# sourceMappingURL=ReadQueueHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadQueueHttp.js","sources":["../src/ReadQueueHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CACvC,SAAS,EACT,gBAAgB,CAAC;IACf,GAAG,EAAE,iBAAiB;IACtB,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAY,EAAE,GAAG;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACrC,OAAO,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC;CACH,CAAC,CACH,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type * as server from "@distilled.cloud/modal/server";
|
|
2
|
+
import * as Binding from "alchemy/Binding";
|
|
3
|
+
import type { RuntimeContext } from "alchemy/RuntimeContext";
|
|
4
|
+
import type * as Effect from "effect/Effect";
|
|
5
|
+
import type { FunctionLookupError } from "./FunctionTarget.ts";
|
|
6
|
+
import type { OpError } from "./internal.ts";
|
|
7
|
+
import type { TimeRange } from "./ReadFunction.ts";
|
|
8
|
+
import type { ReadServerOps } from "./ReadServerHttp.ts";
|
|
9
|
+
import type { Server } from "./Server.ts";
|
|
10
|
+
/** One request a Server handled. */
|
|
11
|
+
export interface ServerRequest {
|
|
12
|
+
readonly route: string | undefined;
|
|
13
|
+
readonly timestamp: string | undefined;
|
|
14
|
+
readonly containerId: string | undefined;
|
|
15
|
+
readonly durationSeconds: number | undefined;
|
|
16
|
+
readonly status: number | undefined;
|
|
17
|
+
}
|
|
18
|
+
/** A container serving a Server's requests. */
|
|
19
|
+
export interface ServerContainer {
|
|
20
|
+
readonly containerId: string;
|
|
21
|
+
readonly host: string | undefined;
|
|
22
|
+
readonly port: number | undefined;
|
|
23
|
+
}
|
|
24
|
+
/** Observe a Server: requests, status codes, latency and containers. */
|
|
25
|
+
export interface ServerReader {
|
|
26
|
+
/** Request counts by status code, latency percentiles and inference stats over a time range. */
|
|
27
|
+
stats(range: TimeRange & {
|
|
28
|
+
readonly containerId?: string;
|
|
29
|
+
}): Effect.Effect<server.ServerGetTimeRangeStatsResponse, FunctionLookupError | OpError<ReadServerOps, "stats">, RuntimeContext>;
|
|
30
|
+
/**
|
|
31
|
+
* Requests the Server handled: the most recent `limit` (newest first, last
|
|
32
|
+
* seven days), or those in a time range (oldest first).
|
|
33
|
+
*/
|
|
34
|
+
requests(query: {
|
|
35
|
+
readonly limit: number;
|
|
36
|
+
} | TimeRange): Effect.Effect<ReadonlyArray<ServerRequest>, FunctionLookupError | OpError<ReadServerOps, "requests">, RuntimeContext>;
|
|
37
|
+
/** Requests per time bucket. */
|
|
38
|
+
requestCount(range: TimeRange & {
|
|
39
|
+
readonly bucketSecs?: number;
|
|
40
|
+
}): Effect.Effect<server.ServerCountRequestsResponse, FunctionLookupError | OpError<ReadServerOps, "requestCount">, RuntimeContext>;
|
|
41
|
+
/** Metric series (`containers`, `requests`) over a time range. */
|
|
42
|
+
metrics(range: TimeRange & {
|
|
43
|
+
readonly bucketSecs?: number;
|
|
44
|
+
readonly groups?: ReadonlyArray<string>;
|
|
45
|
+
}): Effect.Effect<server.ServerGetMetricsResponse, FunctionLookupError | OpError<ReadServerOps, "metrics">, RuntimeContext>;
|
|
46
|
+
/** Containers registered to serve requests right now. */
|
|
47
|
+
containers(): Effect.Effect<ReadonlyArray<ServerContainer>, FunctionLookupError | OpError<ReadServerOps, "containers">, RuntimeContext>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Read a `Modal.Server`'s traffic from any runtime: request log, status
|
|
51
|
+
* codes, latency percentiles, metric series and live containers.
|
|
52
|
+
*
|
|
53
|
+
* ### Error rate
|
|
54
|
+
* **Example:** 5xx responses in the last ten minutes
|
|
55
|
+
* ```typescript
|
|
56
|
+
* const api = yield* Modal.ReadServer(Api);
|
|
57
|
+
* const stats = yield* api.stats({ since: new Date(Date.now() - 600_000) });
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* ### Recent requests
|
|
61
|
+
* **Example:** The last 20 requests
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const recent = yield* api.requests({ limit: 20 });
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
66
|
+
* @binding
|
|
67
|
+
* @product Server
|
|
68
|
+
*/
|
|
69
|
+
export interface ReadServer extends Binding.Service<ReadServer, "Modal.ReadServer", (server: Server) => Effect.Effect<ServerReader>> {
|
|
70
|
+
}
|
|
71
|
+
export declare const ReadServer: ReadServer;
|
|
72
|
+
//# sourceMappingURL=ReadServer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadServer.d.ts","sources":["../src/ReadServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadServer.js","sources":["../src/ReadServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAgG3C,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAa,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as flash from "@distilled.cloud/modal/flash";
|
|
2
|
+
import * as server from "@distilled.cloud/modal/server";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
5
|
+
import { ReadServer } from "./ReadServer.ts";
|
|
6
|
+
/** The operations the client calls, resolved by `ModalBindings.withCredentials`. */
|
|
7
|
+
declare const ReadServerOps: Effect.Effect<{
|
|
8
|
+
readonly stats: (input: server.ServerGetTimeRangeStatsRequest) => Effect.Effect<server.ServerGetTimeRangeStatsResponse, server.ServerGetTimeRangeStatsError, never>;
|
|
9
|
+
readonly requests: (input: server.FetchServerRequestRequest) => Effect.Effect<server.FetchServerRequestResponse, server.FetchServerRequestError, never>;
|
|
10
|
+
readonly requestCount: (input: server.ServerCountRequestsRequest) => Effect.Effect<server.ServerCountRequestsResponse, flash.ModalOpError, never>;
|
|
11
|
+
readonly metrics: (input: server.ServerGetMetricsRequest) => Effect.Effect<server.ServerGetMetricsResponse, flash.ModalOpError, never>;
|
|
12
|
+
readonly containers: (input: flash.ListFlashContainerRequest) => Effect.Effect<flash.ListFlashContainerResponse, flash.ModalOpError, never>;
|
|
13
|
+
}, never, import("./internal.ts").OperationServices>;
|
|
14
|
+
export type ReadServerOps = Effect.Success<typeof ReadServerOps>;
|
|
15
|
+
/**
|
|
16
|
+
* {@link ReadServer} over Modal's API. Grants the host's identity (a scoped
|
|
17
|
+
* `Modal.ServiceUser`) the `viewer` role on the server's environment.
|
|
18
|
+
*
|
|
19
|
+
* @layer
|
|
20
|
+
* @product Server
|
|
21
|
+
* @provides Modal.ReadServer
|
|
22
|
+
*/
|
|
23
|
+
export declare const ReadServerHttp: Layer.Layer<ReadServer, never, never>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=ReadServerHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadServerHttp.d.ts","sources":["../src/ReadServerHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,8BAA8B,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAqB,MAAM,iBAAiB,CAAC;AAGhE,oFAAoF;AACpF,QAAA,MAAM,aAAa;;;;;;oDAMjB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,uCAwE1B,CAAC"}
|