alchemy 2.0.0-beta.36 → 2.0.0-beta.38
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/bin/exec.js +646 -104
- package/bin/exec.js.map +1 -1
- package/lib/AWS/AutoScaling/LaunchTemplate.d.ts +1 -1
- package/lib/AWS/CloudWatch/common.d.ts +1 -1
- package/lib/AWS/Credentials.d.ts.map +1 -1
- package/lib/AWS/Credentials.js +1 -2
- package/lib/AWS/Credentials.js.map +1 -1
- package/lib/AWS/DynamoDB/Stream.d.ts.map +1 -1
- package/lib/AWS/DynamoDB/Stream.js +1 -1
- package/lib/AWS/DynamoDB/Stream.js.map +1 -1
- package/lib/AWS/EC2/Instance.d.ts +1 -1
- package/lib/AWS/EC2/hosted.d.ts +1 -1
- package/lib/AWS/EC2/hosted.d.ts.map +1 -1
- package/lib/AWS/EC2/hosted.js +3 -5
- package/lib/AWS/EC2/hosted.js.map +1 -1
- package/lib/AWS/ECS/Task.d.ts +1 -1
- package/lib/AWS/ECS/Task.d.ts.map +1 -1
- package/lib/AWS/ECS/Task.js +3 -5
- package/lib/AWS/ECS/Task.js.map +1 -1
- package/lib/AWS/Endpoint.d.ts.map +1 -1
- package/lib/AWS/Endpoint.js +1 -2
- package/lib/AWS/Endpoint.js.map +1 -1
- package/lib/AWS/Environment.d.ts +2 -2
- package/lib/AWS/EventBridge/EventSource.d.ts.map +1 -1
- package/lib/AWS/EventBridge/EventSource.js +1 -1
- package/lib/AWS/EventBridge/EventSource.js.map +1 -1
- package/lib/AWS/Kinesis/StreamEventSource.d.ts.map +1 -1
- package/lib/AWS/Kinesis/StreamEventSource.js +1 -1
- package/lib/AWS/Kinesis/StreamEventSource.js.map +1 -1
- package/lib/AWS/Lambda/BucketEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/Function.d.ts +1 -1
- package/lib/AWS/Lambda/Function.d.ts.map +1 -1
- package/lib/AWS/Lambda/Function.js +29 -13
- package/lib/AWS/Lambda/Function.js.map +1 -1
- package/lib/AWS/Lambda/QueueEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/StreamEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/TableEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/TopicEventSource.d.ts +1 -1
- package/lib/AWS/Organizations/common.d.ts +1 -1
- package/lib/AWS/Providers.d.ts.map +1 -1
- package/lib/AWS/Providers.js +21 -3
- package/lib/AWS/Providers.js.map +1 -1
- package/lib/AWS/Region.d.ts +1 -1
- package/lib/AWS/Region.d.ts.map +1 -1
- package/lib/AWS/Region.js +2 -3
- package/lib/AWS/Region.js.map +1 -1
- package/lib/AWS/S3/Bucket.d.ts.map +1 -1
- package/lib/AWS/S3/Bucket.js +5 -2
- package/lib/AWS/S3/Bucket.js.map +1 -1
- package/lib/AWS/S3/BucketNotifications.d.ts.map +1 -1
- package/lib/AWS/S3/BucketNotifications.js +1 -1
- package/lib/AWS/S3/BucketNotifications.js.map +1 -1
- package/lib/AWS/SNS/TopicEventSource.d.ts.map +1 -1
- package/lib/AWS/SNS/TopicEventSource.js +1 -1
- package/lib/AWS/SNS/TopicEventSource.js.map +1 -1
- package/lib/AWS/SQS/Queue.d.ts.map +1 -1
- package/lib/AWS/SQS/Queue.js +23 -5
- package/lib/AWS/SQS/Queue.js.map +1 -1
- package/lib/Action.d.ts +77 -0
- package/lib/Action.d.ts.map +1 -0
- package/lib/Action.js +89 -0
- package/lib/Action.js.map +1 -0
- package/lib/AlchemyContext.d.ts +1 -1
- package/lib/Apply.d.ts.map +1 -1
- package/lib/Apply.js +228 -4
- package/lib/Apply.js.map +1 -1
- package/lib/Artifacts.d.ts +1 -1
- package/lib/Artifacts.d.ts.map +1 -1
- package/lib/Artifacts.js +1 -1
- package/lib/Artifacts.js.map +1 -1
- package/lib/Auth/AuthProvider.js +1 -1
- package/lib/Auth/AuthProvider.js.map +1 -1
- package/lib/Auth/Env.d.ts.map +1 -1
- package/lib/Auth/Env.js +4 -12
- package/lib/Auth/Env.js.map +1 -1
- package/lib/Binding.d.ts.map +1 -1
- package/lib/Binding.js +5 -5
- package/lib/Binding.js.map +1 -1
- package/lib/Build/Command.d.ts +1 -1
- package/lib/Build/Memo.d.ts +1 -1
- package/lib/Bundle/Docker.d.ts +3 -3
- package/lib/Bundle/Docker.js +1 -1
- package/lib/Bundle/Docker.js.map +1 -1
- package/lib/Bundle/TempRoot.d.ts +3 -3
- package/lib/Cli/Event.d.ts +1 -1
- package/lib/Cli/Event.d.ts.map +1 -1
- package/lib/Cli/NamespaceTree.d.ts +11 -5
- package/lib/Cli/NamespaceTree.d.ts.map +1 -1
- package/lib/Cli/NamespaceTree.js +28 -1
- package/lib/Cli/NamespaceTree.js.map +1 -1
- package/lib/Cli/commands/_shared.d.ts +1 -1
- package/lib/Cli/commands/_shared.js +2 -2
- package/lib/Cli/commands/_shared.js.map +1 -1
- package/lib/Cli/commands/aws.d.ts +1 -1
- package/lib/Cli/commands/cloudflare.d.ts +2 -2
- package/lib/Cli/commands/cloudflare.d.ts.map +1 -1
- package/lib/Cli/commands/deploy.d.ts +9 -9
- package/lib/Cli/commands/deploy.js +1 -1
- package/lib/Cli/commands/deploy.js.map +1 -1
- package/lib/Cli/commands/login.d.ts +1 -1
- package/lib/Cli/commands/logs.d.ts +1 -1
- package/lib/Cli/commands/logs.js.map +1 -1
- package/lib/Cli/commands/profile.d.ts +1 -3
- package/lib/Cli/commands/profile.d.ts.map +1 -1
- package/lib/Cli/commands/state.d.ts +1 -1
- package/lib/Cli/commands/state.d.ts.map +1 -1
- package/lib/Cli/commands/tail.d.ts +1 -1
- package/lib/Cli/commands/tail.js.map +1 -1
- package/lib/Cli/tui/components/Plan.d.ts.map +1 -1
- package/lib/Cli/tui/components/Plan.js +27 -13
- package/lib/Cli/tui/components/Plan.js.map +1 -1
- package/lib/Cli/tui/components/PlanProgress.d.ts +8 -1
- package/lib/Cli/tui/components/PlanProgress.d.ts.map +1 -1
- package/lib/Cli/tui/components/PlanProgress.js +95 -16
- package/lib/Cli/tui/components/PlanProgress.js.map +1 -1
- package/lib/Cloudflare/Access.js +0 -1
- package/lib/Cloudflare/Access.js.map +1 -1
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.d.ts +54 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.d.ts.map +1 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js +17 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js.map +1 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts +37 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts.map +1 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js +45 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js.map +1 -0
- package/lib/Cloudflare/AnalyticsEngine/index.d.ts +3 -0
- package/lib/Cloudflare/AnalyticsEngine/index.d.ts.map +1 -0
- package/lib/Cloudflare/AnalyticsEngine/index.js +3 -0
- package/lib/Cloudflare/AnalyticsEngine/index.js.map +1 -0
- package/lib/Cloudflare/Artifacts/ArtifactsBinding.js +1 -1
- package/lib/Cloudflare/Artifacts/ArtifactsBinding.js.map +1 -1
- package/lib/Cloudflare/CloudflareEnvironment.d.ts +1 -1
- package/lib/Cloudflare/Container/Container.js +0 -1
- package/lib/Cloudflare/Container/Container.js.map +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.d.ts +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.js +4 -6
- package/lib/Cloudflare/Container/ContainerApplication.js.map +1 -1
- package/lib/Cloudflare/Container/ContainerBinding.js +2 -2
- package/lib/Cloudflare/Container/ContainerBinding.js.map +1 -1
- package/lib/Cloudflare/D1/D1Connection.d.ts +47 -3
- package/lib/Cloudflare/D1/D1Connection.d.ts.map +1 -1
- package/lib/Cloudflare/D1/D1Connection.js +62 -5
- package/lib/Cloudflare/D1/D1Connection.js.map +1 -1
- package/lib/Cloudflare/D1/D1Database.d.ts +1 -1
- package/lib/Cloudflare/D1/D1SqlFile.d.ts +2 -2
- package/lib/Cloudflare/Email/EmailAddress.d.ts +45 -0
- package/lib/Cloudflare/Email/EmailAddress.d.ts.map +1 -0
- package/lib/Cloudflare/Email/EmailAddress.js +99 -0
- package/lib/Cloudflare/Email/EmailAddress.js.map +1 -0
- package/lib/Cloudflare/Email/EmailRouting.d.ts +42 -0
- package/lib/Cloudflare/Email/EmailRouting.d.ts.map +1 -0
- package/lib/Cloudflare/Email/EmailRouting.js +89 -0
- package/lib/Cloudflare/Email/EmailRouting.js.map +1 -0
- package/lib/Cloudflare/Email/EmailRule.d.ts +80 -0
- package/lib/Cloudflare/Email/EmailRule.d.ts.map +1 -0
- package/lib/Cloudflare/Email/EmailRule.js +110 -0
- package/lib/Cloudflare/Email/EmailRule.js.map +1 -0
- package/lib/Cloudflare/Email/SendEmail.d.ts +74 -0
- package/lib/Cloudflare/Email/SendEmail.d.ts.map +1 -0
- package/lib/Cloudflare/Email/SendEmail.js +19 -0
- package/lib/Cloudflare/Email/SendEmail.js.map +1 -0
- package/lib/Cloudflare/Email/SendEmailBinding.d.ts +64 -0
- package/lib/Cloudflare/Email/SendEmailBinding.d.ts.map +1 -0
- package/lib/Cloudflare/Email/SendEmailBinding.js +54 -0
- package/lib/Cloudflare/Email/SendEmailBinding.js.map +1 -0
- package/lib/Cloudflare/Email/index.d.ts +6 -0
- package/lib/Cloudflare/Email/index.d.ts.map +1 -0
- package/lib/Cloudflare/Email/index.js +6 -0
- package/lib/Cloudflare/Email/index.js.map +1 -0
- package/lib/Cloudflare/Hyperdrive/Hyperdrive.d.ts +1 -1
- package/lib/Cloudflare/Images/ImagesBinding.js +1 -1
- package/lib/Cloudflare/Images/ImagesBinding.js.map +1 -1
- package/lib/Cloudflare/KV/KVNamespaceBinding.js +1 -1
- package/lib/Cloudflare/KV/KVNamespaceBinding.js.map +1 -1
- package/lib/Cloudflare/Local/Sidecar.d.ts +1 -1
- package/lib/Cloudflare/Local/SidecarHandlers.d.ts +1 -1
- package/lib/Cloudflare/Local/SidecarHandlers.js +9 -1
- package/lib/Cloudflare/Local/SidecarHandlers.js.map +1 -1
- package/lib/Cloudflare/Local/SidecarServer.js +1 -1
- package/lib/Cloudflare/Local/SidecarServer.js.map +1 -1
- package/lib/Cloudflare/Providers.d.ts.map +1 -1
- package/lib/Cloudflare/Providers.js +9 -1
- package/lib/Cloudflare/Providers.js.map +1 -1
- package/lib/Cloudflare/Queue/QueueBinding.js +1 -1
- package/lib/Cloudflare/Queue/QueueBinding.js.map +1 -1
- package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
- package/lib/Cloudflare/R2/R2Bucket.js +16 -0
- package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
- package/lib/Cloudflare/R2/R2BucketBinding.js +1 -1
- package/lib/Cloudflare/R2/R2BucketBinding.js.map +1 -1
- package/lib/Cloudflare/SecretsStore/SecretBinding.js +1 -1
- package/lib/Cloudflare/SecretsStore/SecretBinding.js.map +1 -1
- package/lib/Cloudflare/StateStore/Api.d.ts +7 -2
- package/lib/Cloudflare/StateStore/Api.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Api.js +23 -1
- package/lib/Cloudflare/StateStore/Api.js.map +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +2 -2
- package/lib/Cloudflare/StateStore/Store.d.ts +16 -1
- package/lib/Cloudflare/StateStore/Store.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Store.js +22 -5
- package/lib/Cloudflare/StateStore/Store.js.map +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts +2 -2
- package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Assets.js +5 -4
- package/lib/Cloudflare/Workers/Assets.js.map +1 -1
- package/lib/Cloudflare/Workers/CronEventSource.d.ts +35 -0
- package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -0
- package/lib/Cloudflare/Workers/CronEventSource.js +55 -0
- package/lib/Cloudflare/Workers/CronEventSource.js.map +1 -0
- package/lib/Cloudflare/Workers/InferEnv.d.ts +37 -2
- package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +2 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/Rpc.d.ts +76 -3
- package/lib/Cloudflare/Workers/Rpc.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Rpc.js +197 -13
- package/lib/Cloudflare/Workers/Rpc.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +24 -4
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +187 -45
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.d.ts +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.js +19 -11
- package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerName.d.ts +1 -1
- package/lib/Cloudflare/Workers/Workflow.d.ts +50 -47
- package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Workflow.js +43 -37
- package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
- package/lib/Cloudflare/Workers/index.d.ts +1 -0
- package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/index.js +1 -0
- package/lib/Cloudflare/Workers/index.js.map +1 -1
- package/lib/Cloudflare/index.d.ts +2 -0
- package/lib/Cloudflare/index.d.ts.map +1 -1
- package/lib/Cloudflare/index.js +2 -0
- package/lib/Cloudflare/index.js.map +1 -1
- package/lib/Construct.d.ts +3 -3
- package/lib/Construct.d.ts.map +1 -1
- package/lib/Construct.js.map +1 -1
- package/lib/Deploy.d.ts +5 -2
- package/lib/Deploy.d.ts.map +1 -1
- package/lib/Deploy.js +2 -2
- package/lib/Deploy.js.map +1 -1
- package/lib/Destroy.d.ts +5 -2
- package/lib/Destroy.d.ts.map +1 -1
- package/lib/Destroy.js +3 -2
- package/lib/Destroy.js.map +1 -1
- package/lib/Drizzle/Providers.d.ts +1 -1
- package/lib/Drizzle/Schema.d.ts +1 -1
- package/lib/GitHub/Providers.d.ts +1 -1
- package/lib/Http.d.ts +1 -1
- package/lib/Http.d.ts.map +1 -1
- package/lib/Http.js +1 -1
- package/lib/Http.js.map +1 -1
- package/lib/Namespace.d.ts.map +1 -1
- package/lib/Namespace.js +3 -4
- package/lib/Namespace.js.map +1 -1
- package/lib/Neon/Branch.d.ts +2 -2
- package/lib/Neon/Branch.d.ts.map +1 -1
- package/lib/Neon/Branch.js +59 -27
- package/lib/Neon/Branch.js.map +1 -1
- package/lib/Neon/Credentials.d.ts +2 -2
- package/lib/Neon/Credentials.d.ts.map +1 -1
- package/lib/Neon/Credentials.js +2 -2
- package/lib/Neon/Credentials.js.map +1 -1
- package/lib/Neon/NeonEnvironment.d.ts +1 -1
- package/lib/Neon/Project.d.ts +25 -1
- package/lib/Neon/Project.d.ts.map +1 -1
- package/lib/Neon/Project.js +121 -42
- package/lib/Neon/Project.js.map +1 -1
- package/lib/Neon/Providers.d.ts +1 -1
- package/lib/Neon/SqlFile.d.ts +2 -2
- package/lib/Output.d.ts +47 -8
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js +106 -7
- package/lib/Output.js.map +1 -1
- package/lib/PhysicalName.d.ts +1 -1
- package/lib/Plan.d.ts +36 -1
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +284 -37
- package/lib/Plan.js.map +1 -1
- package/lib/Platform.d.ts.map +1 -1
- package/lib/Platform.js +22 -9
- package/lib/Platform.js.map +1 -1
- package/lib/Provider.d.ts +1 -1
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Provider.js +1 -1
- package/lib/Provider.js.map +1 -1
- package/lib/Random.d.ts +1 -1
- package/lib/Random.d.ts.map +1 -1
- package/lib/Random.js +1 -1
- package/lib/Random.js.map +1 -1
- package/lib/Ref.d.ts +4 -1
- package/lib/Ref.d.ts.map +1 -1
- package/lib/Ref.js +1 -1
- package/lib/Ref.js.map +1 -1
- package/lib/Resource.d.ts +8 -0
- package/lib/Resource.d.ts.map +1 -1
- package/lib/Resource.js +12 -25
- package/lib/Resource.js.map +1 -1
- package/lib/Runtime.d.ts +24 -0
- package/lib/Runtime.d.ts.map +1 -0
- package/lib/Runtime.js +31 -0
- package/lib/Runtime.js.map +1 -0
- package/lib/RuntimeContext.d.ts +3 -1
- package/lib/RuntimeContext.d.ts.map +1 -1
- package/lib/RuntimeContext.js.map +1 -1
- package/lib/Secret.d.ts +50 -0
- package/lib/Secret.d.ts.map +1 -0
- package/lib/Secret.js +23 -0
- package/lib/Secret.js.map +1 -0
- package/lib/Serverless/Function.d.ts +9 -1
- package/lib/Serverless/Function.d.ts.map +1 -1
- package/lib/Sidecar/RpcClient.d.ts +1 -1
- package/lib/Sidecar/RpcPaths.d.ts +1 -1
- package/lib/Sidecar/RpcServer.d.ts +1 -1
- package/lib/Sidecar/RpcServices.d.ts +1 -1
- package/lib/Stack.d.ts +20 -6
- package/lib/Stack.d.ts.map +1 -1
- package/lib/Stack.js +35 -23
- package/lib/Stack.js.map +1 -1
- package/lib/State/ActionState.d.ts +48 -0
- package/lib/State/ActionState.d.ts.map +1 -0
- package/lib/State/ActionState.js +1 -0
- package/lib/State/ActionState.js.map +1 -0
- package/lib/State/HttpStateApi.d.ts +15 -1
- package/lib/State/HttpStateApi.d.ts.map +1 -1
- package/lib/State/HttpStateApi.js +11 -0
- package/lib/State/HttpStateApi.js.map +1 -1
- package/lib/State/HttpStateStore.d.ts.map +1 -1
- package/lib/State/HttpStateStore.js +12 -1
- package/lib/State/HttpStateStore.js.map +1 -1
- package/lib/State/InMemoryState.d.ts +2 -2
- package/lib/State/InMemoryState.d.ts.map +1 -1
- package/lib/State/InMemoryState.js +12 -6
- package/lib/State/InMemoryState.js.map +1 -1
- package/lib/State/LocalState.d.ts +2 -2
- package/lib/State/LocalState.d.ts.map +1 -1
- package/lib/State/LocalState.js +11 -2
- package/lib/State/LocalState.js.map +1 -1
- package/lib/State/ResourceState.d.ts +5 -0
- package/lib/State/ResourceState.d.ts.map +1 -1
- package/lib/State/State.d.ts +31 -2
- package/lib/State/State.d.ts.map +1 -1
- package/lib/State/State.js +2 -0
- package/lib/State/State.js.map +1 -1
- package/lib/State/index.d.ts +1 -0
- package/lib/State/index.d.ts.map +1 -1
- package/lib/State/index.js +1 -0
- package/lib/State/index.js.map +1 -1
- package/lib/Test/Bun.d.ts.map +1 -1
- package/lib/Test/Bun.js +30 -7
- package/lib/Test/Bun.js.map +1 -1
- package/lib/Test/Core.d.ts +19 -4
- package/lib/Test/Core.d.ts.map +1 -1
- package/lib/Test/Core.js +33 -12
- package/lib/Test/Core.js.map +1 -1
- package/lib/Test/Vitest.d.ts.map +1 -1
- package/lib/Test/Vitest.js +24 -5
- package/lib/Test/Vitest.js.map +1 -1
- package/lib/Util/FileLogger.d.ts +1 -1
- package/lib/Util/LocalhostDns.d.ts +14 -10
- package/lib/Util/LocalhostDns.d.ts.map +1 -1
- package/lib/Util/LocalhostDns.js +27 -36
- package/lib/Util/LocalhostDns.js.map +1 -1
- package/lib/Util/effect.d.ts +7 -0
- package/lib/Util/effect.d.ts.map +1 -1
- package/lib/Util/effect.js +10 -4
- package/lib/Util/effect.js.map +1 -1
- package/lib/Util/exec.d.ts.map +1 -0
- package/lib/Util/exec.js.map +1 -0
- package/lib/Util/hash.d.ts +8 -0
- package/lib/Util/hash.d.ts.map +1 -0
- package/lib/Util/hash.js +11 -0
- package/lib/Util/hash.js.map +1 -0
- package/lib/Util/ignore.d.ts +40 -0
- package/lib/Util/ignore.d.ts.map +1 -0
- package/lib/Util/ignore.js +591 -0
- package/lib/Util/ignore.js.map +1 -0
- package/lib/Variable.d.ts +29 -0
- package/lib/Variable.d.ts.map +1 -0
- package/lib/Variable.js +9 -0
- package/lib/Variable.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.test.tsbuildinfo +1 -1
- package/package.json +22 -29
- package/src/AWS/Credentials.ts +1 -2
- package/src/AWS/DynamoDB/Stream.ts +1 -4
- package/src/AWS/EC2/hosted.ts +14 -16
- package/src/AWS/ECS/Task.ts +14 -16
- package/src/AWS/Endpoint.ts +2 -5
- package/src/AWS/EventBridge/EventSource.ts +1 -4
- package/src/AWS/Kinesis/StreamEventSource.ts +1 -4
- package/src/AWS/Lambda/Function.ts +47 -23
- package/src/AWS/Providers.ts +22 -3
- package/src/AWS/Region.ts +2 -3
- package/src/AWS/S3/Bucket.ts +7 -2
- package/src/AWS/S3/BucketNotifications.ts +1 -4
- package/src/AWS/SNS/TopicEventSource.ts +1 -4
- package/src/AWS/SQS/Queue.ts +40 -6
- package/src/Action.ts +280 -0
- package/src/Apply.ts +359 -24
- package/src/Artifacts.ts +2 -4
- package/src/Auth/AuthProvider.ts +1 -1
- package/src/Auth/Env.ts +12 -20
- package/src/Binding.ts +5 -9
- package/src/Bundle/Docker.ts +1 -1
- package/src/Cli/Event.ts +4 -0
- package/src/Cli/NamespaceTree.ts +52 -5
- package/src/Cli/commands/_shared.ts +2 -2
- package/src/Cli/commands/deploy.ts +1 -1
- package/src/Cli/commands/logs.ts +4 -4
- package/src/Cli/commands/tail.ts +4 -4
- package/src/Cli/tui/components/Plan.tsx +65 -17
- package/src/Cli/tui/components/PlanProgress.tsx +142 -32
- package/src/Cloudflare/Access.ts +1 -1
- package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.ts +82 -0
- package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.ts +106 -0
- package/src/Cloudflare/AnalyticsEngine/index.ts +2 -0
- package/src/Cloudflare/Artifacts/ArtifactsBinding.ts +1 -1
- package/src/Cloudflare/Container/Container.ts +1 -1
- package/src/Cloudflare/Container/ContainerApplication.ts +4 -6
- package/src/Cloudflare/Container/ContainerBinding.ts +2 -2
- package/src/Cloudflare/D1/D1Connection.ts +95 -12
- package/src/Cloudflare/Email/EmailAddress.ts +155 -0
- package/src/Cloudflare/Email/EmailRouting.ts +138 -0
- package/src/Cloudflare/Email/EmailRule.ts +210 -0
- package/src/Cloudflare/Email/SendEmail.ts +95 -0
- package/src/Cloudflare/Email/SendEmailBinding.ts +124 -0
- package/src/Cloudflare/Email/index.ts +5 -0
- package/src/Cloudflare/Images/ImagesBinding.ts +1 -1
- package/src/Cloudflare/KV/KVNamespaceBinding.ts +1 -1
- package/src/Cloudflare/Local/SidecarHandlers.ts +9 -1
- package/src/Cloudflare/Local/SidecarServer.ts +1 -1
- package/src/Cloudflare/Providers.ts +14 -0
- package/src/Cloudflare/Queue/QueueBinding.ts +1 -1
- package/src/Cloudflare/R2/R2Bucket.ts +31 -0
- package/src/Cloudflare/R2/R2BucketBinding.ts +1 -1
- package/src/Cloudflare/SecretsStore/SecretBinding.ts +1 -1
- package/src/Cloudflare/StateStore/Api.ts +34 -1
- package/src/Cloudflare/StateStore/Store.ts +40 -10
- package/src/Cloudflare/Workers/Assets.ts +5 -6
- package/src/Cloudflare/Workers/CronEventSource.ts +89 -0
- package/src/Cloudflare/Workers/InferEnv.ts +94 -20
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +9 -1
- package/src/Cloudflare/Workers/Rpc.ts +227 -18
- package/src/Cloudflare/Workers/Worker.ts +294 -65
- package/src/Cloudflare/Workers/WorkerBundle.ts +19 -11
- package/src/Cloudflare/Workers/Workflow.ts +76 -72
- package/src/Cloudflare/Workers/index.ts +1 -0
- package/src/Cloudflare/index.ts +2 -0
- package/src/Construct.ts +3 -7
- package/src/Deploy.ts +5 -1
- package/src/Destroy.ts +6 -1
- package/src/Http.ts +1 -1
- package/src/Namespace.ts +4 -4
- package/src/Neon/Branch.ts +93 -59
- package/src/Neon/Credentials.ts +2 -2
- package/src/Neon/Project.ts +193 -64
- package/src/Output.ts +129 -18
- package/src/Plan.ts +375 -36
- package/src/Platform.ts +26 -11
- package/src/Provider.ts +8 -3
- package/src/Random.ts +1 -1
- package/src/Ref.ts +10 -5
- package/src/Resource.ts +24 -25
- package/src/Runtime.ts +38 -0
- package/src/RuntimeContext.ts +1 -0
- package/src/Secret.ts +87 -0
- package/src/Serverless/Function.ts +10 -1
- package/src/Stack.ts +62 -35
- package/src/State/ActionState.ts +51 -0
- package/src/State/HttpStateApi.ts +21 -0
- package/src/State/HttpStateStore.ts +27 -2
- package/src/State/InMemoryState.ts +31 -10
- package/src/State/LocalState.ts +28 -4
- package/src/State/ResourceState.ts +5 -0
- package/src/State/State.ts +38 -2
- package/src/State/index.ts +1 -0
- package/src/Test/Bun.ts +43 -7
- package/src/Test/Core.ts +33 -11
- package/src/Test/Vitest.ts +33 -4
- package/src/Util/LocalhostDns.ts +30 -36
- package/src/Util/effect.ts +29 -4
- package/src/Util/hash.ts +14 -0
- package/src/Util/ignore.ts +815 -0
- package/src/Variable.ts +44 -0
- package/src/index.ts +9 -0
- package/lib/Agent/Agent.d.ts +0 -9
- package/lib/Agent/Agent.d.ts.map +0 -1
- package/lib/Agent/Agent.js +0 -10
- package/lib/Agent/Agent.js.map +0 -1
- package/lib/Agent/Aspect.d.ts +0 -51
- package/lib/Agent/Aspect.d.ts.map +0 -1
- package/lib/Agent/Aspect.js +0 -45
- package/lib/Agent/Aspect.js.map +0 -1
- package/lib/Agent/AspectGraph.d.ts +0 -45
- package/lib/Agent/AspectGraph.d.ts.map +0 -1
- package/lib/Agent/AspectGraph.js +0 -39
- package/lib/Agent/AspectGraph.js.map +0 -1
- package/lib/Agent/ContextPlugin.d.ts +0 -8
- package/lib/Agent/ContextPlugin.d.ts.map +0 -1
- package/lib/Agent/ContextPlugin.js +0 -3
- package/lib/Agent/ContextPlugin.js.map +0 -1
- package/lib/Agent/Plugin.d.ts +0 -18
- package/lib/Agent/Plugin.d.ts.map +0 -1
- package/lib/Agent/Plugin.js +0 -8
- package/lib/Agent/Plugin.js.map +0 -1
- package/lib/Agent/chat/channel.d.ts +0 -9
- package/lib/Agent/chat/channel.d.ts.map +0 -1
- package/lib/Agent/chat/channel.js +0 -10
- package/lib/Agent/chat/channel.js.map +0 -1
- package/lib/Agent/chat/event.d.ts +0 -32
- package/lib/Agent/chat/event.d.ts.map +0 -1
- package/lib/Agent/chat/event.js +0 -32
- package/lib/Agent/chat/event.js.map +0 -1
- package/lib/Agent/chat/message.d.ts +0 -22
- package/lib/Agent/chat/message.d.ts.map +0 -1
- package/lib/Agent/chat/message.js +0 -31
- package/lib/Agent/chat/message.js.map +0 -1
- package/lib/Agent/chat/service.d.ts +0 -102
- package/lib/Agent/chat/service.d.ts.map +0 -1
- package/lib/Agent/chat/service.js +0 -79
- package/lib/Agent/chat/service.js.map +0 -1
- package/lib/Agent/chat/thread.d.ts +0 -13
- package/lib/Agent/chat/thread.d.ts.map +0 -1
- package/lib/Agent/chat/thread.js +0 -16
- package/lib/Agent/chat/thread.js.map +0 -1
- package/lib/Agent/coding/bash.d.ts +0 -36
- package/lib/Agent/coding/bash.d.ts.map +0 -1
- package/lib/Agent/coding/bash.js +0 -170
- package/lib/Agent/coding/bash.js.map +0 -1
- package/lib/Agent/coding/edit.d.ts +0 -31
- package/lib/Agent/coding/edit.d.ts.map +0 -1
- package/lib/Agent/coding/edit.js +0 -90
- package/lib/Agent/coding/edit.js.map +0 -1
- package/lib/Agent/coding/glob.d.ts +0 -23
- package/lib/Agent/coding/glob.d.ts.map +0 -1
- package/lib/Agent/coding/glob.js +0 -78
- package/lib/Agent/coding/glob.js.map +0 -1
- package/lib/Agent/coding/grep.d.ts +0 -26
- package/lib/Agent/coding/grep.d.ts.map +0 -1
- package/lib/Agent/coding/grep.js +0 -105
- package/lib/Agent/coding/grep.js.map +0 -1
- package/lib/Agent/coding/index.d.ts +0 -8
- package/lib/Agent/coding/index.d.ts.map +0 -1
- package/lib/Agent/coding/index.js +0 -8
- package/lib/Agent/coding/index.js.map +0 -1
- package/lib/Agent/coding/read.d.ts +0 -27
- package/lib/Agent/coding/read.d.ts.map +0 -1
- package/lib/Agent/coding/read.js +0 -89
- package/lib/Agent/coding/read.js.map +0 -1
- package/lib/Agent/coding/readlints.d.ts +0 -19
- package/lib/Agent/coding/readlints.d.ts.map +0 -1
- package/lib/Agent/coding/readlints.js +0 -53
- package/lib/Agent/coding/readlints.js.map +0 -1
- package/lib/Agent/coding/write.d.ts +0 -22
- package/lib/Agent/coding/write.d.ts.map +0 -1
- package/lib/Agent/coding/write.js +0 -53
- package/lib/Agent/coding/write.js.map +0 -1
- package/lib/Agent/fs/file.d.ts +0 -12
- package/lib/Agent/fs/file.d.ts.map +0 -1
- package/lib/Agent/fs/file.js +0 -8
- package/lib/Agent/fs/file.js.map +0 -1
- package/lib/Agent/fs/folder.d.ts +0 -5
- package/lib/Agent/fs/folder.d.ts.map +0 -1
- package/lib/Agent/fs/folder.js +0 -3
- package/lib/Agent/fs/folder.js.map +0 -1
- package/lib/Agent/index.d.ts +0 -9
- package/lib/Agent/index.d.ts.map +0 -1
- package/lib/Agent/index.js +0 -9
- package/lib/Agent/index.js.map +0 -1
- package/lib/Agent/llm/error.d.ts +0 -208
- package/lib/Agent/llm/error.d.ts.map +0 -1
- package/lib/Agent/llm/error.js +0 -209
- package/lib/Agent/llm/error.js.map +0 -1
- package/lib/Agent/llm/index.d.ts +0 -5
- package/lib/Agent/llm/index.d.ts.map +0 -1
- package/lib/Agent/llm/index.js +0 -5
- package/lib/Agent/llm/index.js.map +0 -1
- package/lib/Agent/llm/llm.d.ts +0 -32
- package/lib/Agent/llm/llm.d.ts.map +0 -1
- package/lib/Agent/llm/llm.js +0 -74
- package/lib/Agent/llm/llm.js.map +0 -1
- package/lib/Agent/llm/stream-collectors.d.ts +0 -46
- package/lib/Agent/llm/stream-collectors.d.ts.map +0 -1
- package/lib/Agent/llm/stream-collectors.js +0 -33
- package/lib/Agent/llm/stream-collectors.js.map +0 -1
- package/lib/Agent/llm/stream-text-part.d.ts +0 -5
- package/lib/Agent/llm/stream-text-part.d.ts.map +0 -1
- package/lib/Agent/llm/stream-text-part.js +0 -4
- package/lib/Agent/llm/stream-text-part.js.map +0 -1
- package/lib/Agent/lsp/client.d.ts +0 -122
- package/lib/Agent/lsp/client.d.ts.map +0 -1
- package/lib/Agent/lsp/client.js +0 -180
- package/lib/Agent/lsp/client.js.map +0 -1
- package/lib/Agent/lsp/diagnostics.d.ts +0 -16
- package/lib/Agent/lsp/diagnostics.d.ts.map +0 -1
- package/lib/Agent/lsp/diagnostics.js +0 -48
- package/lib/Agent/lsp/diagnostics.js.map +0 -1
- package/lib/Agent/lsp/jsonrpc.d.ts +0 -90
- package/lib/Agent/lsp/jsonrpc.d.ts.map +0 -1
- package/lib/Agent/lsp/jsonrpc.js +0 -178
- package/lib/Agent/lsp/jsonrpc.js.map +0 -1
- package/lib/Agent/lsp/manager.d.ts +0 -38
- package/lib/Agent/lsp/manager.d.ts.map +0 -1
- package/lib/Agent/lsp/manager.js +0 -98
- package/lib/Agent/lsp/manager.js.map +0 -1
- package/lib/Agent/lsp/servers.d.ts +0 -28
- package/lib/Agent/lsp/servers.d.ts.map +0 -1
- package/lib/Agent/lsp/servers.js +0 -21
- package/lib/Agent/lsp/servers.js.map +0 -1
- package/lib/Agent/process/driver.d.ts +0 -10
- package/lib/Agent/process/driver.d.ts.map +0 -1
- package/lib/Agent/process/driver.js +0 -153
- package/lib/Agent/process/driver.js.map +0 -1
- package/lib/Agent/process/issue-service.d.ts +0 -44
- package/lib/Agent/process/issue-service.d.ts.map +0 -1
- package/lib/Agent/process/issue-service.js +0 -28
- package/lib/Agent/process/issue-service.js.map +0 -1
- package/lib/Agent/process/issue-tools.d.ts +0 -28
- package/lib/Agent/process/issue-tools.d.ts.map +0 -1
- package/lib/Agent/process/issue-tools.js +0 -28
- package/lib/Agent/process/issue-tools.js.map +0 -1
- package/lib/Agent/process/issue.d.ts +0 -16
- package/lib/Agent/process/issue.d.ts.map +0 -1
- package/lib/Agent/process/issue.js +0 -17
- package/lib/Agent/process/issue.js.map +0 -1
- package/lib/Agent/process/organization.d.ts +0 -4
- package/lib/Agent/process/organization.d.ts.map +0 -1
- package/lib/Agent/process/organization.js +0 -3
- package/lib/Agent/process/organization.js.map +0 -1
- package/lib/Agent/process/process.d.ts +0 -5
- package/lib/Agent/process/process.d.ts.map +0 -1
- package/lib/Agent/process/process.js +0 -3
- package/lib/Agent/process/process.js.map +0 -1
- package/lib/Agent/process/reply.d.ts +0 -16
- package/lib/Agent/process/reply.d.ts.map +0 -1
- package/lib/Agent/process/reply.js +0 -18
- package/lib/Agent/process/reply.js.map +0 -1
- package/lib/Agent/process/task.d.ts +0 -25
- package/lib/Agent/process/task.d.ts.map +0 -1
- package/lib/Agent/process/task.js +0 -26
- package/lib/Agent/process/task.js.map +0 -1
- package/lib/Agent/tool/index.d.ts +0 -4
- package/lib/Agent/tool/index.d.ts.map +0 -1
- package/lib/Agent/tool/index.js +0 -4
- package/lib/Agent/tool/index.js.map +0 -1
- package/lib/Agent/tool/parameter.d.ts +0 -12
- package/lib/Agent/tool/parameter.d.ts.map +0 -1
- package/lib/Agent/tool/parameter.js +0 -6
- package/lib/Agent/tool/parameter.js.map +0 -1
- package/lib/Agent/tool/result.d.ts +0 -17
- package/lib/Agent/tool/result.d.ts.map +0 -1
- package/lib/Agent/tool/result.js +0 -6
- package/lib/Agent/tool/result.js.map +0 -1
- package/lib/Agent/tool/tool.d.ts +0 -32
- package/lib/Agent/tool/tool.d.ts.map +0 -1
- package/lib/Agent/tool/tool.js +0 -16
- package/lib/Agent/tool/tool.js.map +0 -1
- package/lib/Agent/util/command-validator.d.ts +0 -12
- package/lib/Agent/util/command-validator.d.ts.map +0 -1
- package/lib/Agent/util/command-validator.js +0 -74
- package/lib/Agent/util/command-validator.js.map +0 -1
- package/lib/Agent/util/exec.d.ts.map +0 -1
- package/lib/Agent/util/exec.js.map +0 -1
- package/lib/Agent/util/parser.d.ts +0 -5
- package/lib/Agent/util/parser.d.ts.map +0 -1
- package/lib/Agent/util/parser.js +0 -41
- package/lib/Agent/util/parser.js.map +0 -1
- package/lib/Agent/util/replace.d.ts +0 -38
- package/lib/Agent/util/replace.d.ts.map +0 -1
- package/lib/Agent/util/replace.js +0 -458
- package/lib/Agent/util/replace.js.map +0 -1
- package/lib/Agent/util/ripgrep.d.ts +0 -109
- package/lib/Agent/util/ripgrep.d.ts.map +0 -1
- package/lib/Agent/util/ripgrep.js +0 -221
- package/lib/Agent/util/ripgrep.js.map +0 -1
- package/lib/Neon/api.d.ts +0 -258
- package/lib/Neon/api.d.ts.map +0 -1
- package/lib/Neon/api.js +0 -215
- package/lib/Neon/api.js.map +0 -1
- package/src/Agent/Agent.ts +0 -26
- package/src/Agent/Aspect.ts +0 -173
- package/src/Agent/AspectGraph.ts +0 -98
- package/src/Agent/ContextPlugin.ts +0 -18
- package/src/Agent/Plugin.ts +0 -29
- package/src/Agent/chat/channel.ts +0 -26
- package/src/Agent/chat/event.ts +0 -43
- package/src/Agent/chat/message.ts +0 -35
- package/src/Agent/chat/service.ts +0 -133
- package/src/Agent/chat/thread.ts +0 -17
- package/src/Agent/coding/bash.ts +0 -197
- package/src/Agent/coding/edit.ts +0 -152
- package/src/Agent/coding/glob.ts +0 -96
- package/src/Agent/coding/grep.ts +0 -143
- package/src/Agent/coding/index.ts +0 -7
- package/src/Agent/coding/read.ts +0 -119
- package/src/Agent/coding/readlints.ts +0 -78
- package/src/Agent/coding/write.ts +0 -79
- package/src/Agent/fs/file.ts +0 -22
- package/src/Agent/fs/folder.ts +0 -16
- package/src/Agent/index.ts +0 -9
- package/src/Agent/llm/error.ts +0 -330
- package/src/Agent/llm/index.ts +0 -4
- package/src/Agent/llm/llm.ts +0 -131
- package/src/Agent/llm/stream-collectors.ts +0 -58
- package/src/Agent/llm/stream-text-part.ts +0 -7
- package/src/Agent/lsp/client.ts +0 -293
- package/src/Agent/lsp/diagnostics.ts +0 -64
- package/src/Agent/lsp/jsonrpc.ts +0 -317
- package/src/Agent/lsp/manager.ts +0 -213
- package/src/Agent/lsp/servers.ts +0 -37
- package/src/Agent/process/driver.ts +0 -168
- package/src/Agent/process/issue-service.ts +0 -48
- package/src/Agent/process/issue-tools.ts +0 -33
- package/src/Agent/process/issue.ts +0 -22
- package/src/Agent/process/organization.ts +0 -16
- package/src/Agent/process/process.ts +0 -16
- package/src/Agent/process/reply.ts +0 -21
- package/src/Agent/process/task.ts +0 -34
- package/src/Agent/tool/index.ts +0 -3
- package/src/Agent/tool/parameter.ts +0 -35
- package/src/Agent/tool/result.ts +0 -51
- package/src/Agent/tool/tool.ts +0 -74
- package/src/Agent/util/command-validator.ts +0 -98
- package/src/Agent/util/parser.ts +0 -39
- package/src/Agent/util/replace.ts +0 -559
- package/src/Agent/util/ripgrep.ts +0 -256
- package/src/Neon/api.ts +0 -579
- /package/lib/{Agent/util → Util}/exec.d.ts +0 -0
- /package/lib/{Agent/util → Util}/exec.js +0 -0
- /package/src/{Agent/util → Util}/exec.ts +0 -0
package/lib/Agent/lsp/jsonrpc.js
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import * as Data from "effect/Data";
|
|
2
|
-
import * as Deferred from "effect/Deferred";
|
|
3
|
-
import * as Effect from "effect/Effect";
|
|
4
|
-
import * as Fiber from "effect/Fiber";
|
|
5
|
-
import * as HashMap from "effect/HashMap";
|
|
6
|
-
import * as Option from "effect/Option";
|
|
7
|
-
import * as Ref from "effect/Ref";
|
|
8
|
-
import * as Stream from "effect/Stream";
|
|
9
|
-
/**
|
|
10
|
-
* Error from JSON-RPC protocol.
|
|
11
|
-
*/
|
|
12
|
-
export class JsonRpcProtocolError extends Data.TaggedError("JsonRpcProtocolError") {
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Error parsing JSON-RPC messages from stream.
|
|
16
|
-
*/
|
|
17
|
-
export class JsonRpcParseError extends Data.TaggedError("JsonRpcParseError") {
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Encode a JSON-RPC message with LSP wire format headers.
|
|
21
|
-
* Format: Content-Length: <length>\r\n\r\n<json>
|
|
22
|
-
*/
|
|
23
|
-
export const encodeMessage = (msg) => {
|
|
24
|
-
const json = JSON.stringify(msg);
|
|
25
|
-
const body = new TextEncoder().encode(json);
|
|
26
|
-
const header = `Content-Length: ${body.byteLength}\r\n\r\n`;
|
|
27
|
-
const headerBytes = new TextEncoder().encode(header);
|
|
28
|
-
const result = new Uint8Array(headerBytes.length + body.length);
|
|
29
|
-
result.set(headerBytes);
|
|
30
|
-
result.set(body, headerBytes.length);
|
|
31
|
-
return result;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* Parse LSP messages from a byte buffer.
|
|
35
|
-
* Returns parsed messages and remaining buffer.
|
|
36
|
-
* Works with bytes to correctly handle Content-Length (which is in bytes, not characters).
|
|
37
|
-
*/
|
|
38
|
-
export const parseBuffer = (buffer) => {
|
|
39
|
-
const messages = [];
|
|
40
|
-
let offset = 0;
|
|
41
|
-
const decoder = new TextDecoder();
|
|
42
|
-
while (offset < buffer.length) {
|
|
43
|
-
// Look for \r\n\r\n header terminator
|
|
44
|
-
const headerEnd = findHeaderEnd(buffer, offset);
|
|
45
|
-
if (headerEnd === -1)
|
|
46
|
-
break;
|
|
47
|
-
const headerPart = decoder.decode(buffer.subarray(offset, headerEnd));
|
|
48
|
-
const match = /Content-Length:\s*(\d+)/i.exec(headerPart);
|
|
49
|
-
if (!match)
|
|
50
|
-
break;
|
|
51
|
-
const contentLength = parseInt(match[1], 10);
|
|
52
|
-
const bodyStart = headerEnd + 4; // Skip \r\n\r\n
|
|
53
|
-
const bodyEnd = bodyStart + contentLength;
|
|
54
|
-
// Check if we have the full body (in bytes)
|
|
55
|
-
if (buffer.length < bodyEnd)
|
|
56
|
-
break;
|
|
57
|
-
const body = decoder.decode(buffer.subarray(bodyStart, bodyEnd));
|
|
58
|
-
try {
|
|
59
|
-
const parsed = JSON.parse(body);
|
|
60
|
-
messages.push(parsed);
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
// Invalid JSON, skip this message
|
|
64
|
-
}
|
|
65
|
-
offset = bodyEnd;
|
|
66
|
-
}
|
|
67
|
-
// Create a new array for remaining bytes to ensure ArrayBuffer type
|
|
68
|
-
const remainingLength = buffer.length - offset;
|
|
69
|
-
const remaining = new Uint8Array(remainingLength);
|
|
70
|
-
remaining.set(buffer.subarray(offset));
|
|
71
|
-
return { messages, remaining };
|
|
72
|
-
};
|
|
73
|
-
/**
|
|
74
|
-
* Find the index of \r\n\r\n in a byte array starting from offset.
|
|
75
|
-
*/
|
|
76
|
-
const findHeaderEnd = (buffer, offset) => {
|
|
77
|
-
const CR = 13; // \r
|
|
78
|
-
const LF = 10; // \n
|
|
79
|
-
for (let i = offset; i < buffer.length - 3; i++) {
|
|
80
|
-
if (buffer[i] === CR &&
|
|
81
|
-
buffer[i + 1] === LF &&
|
|
82
|
-
buffer[i + 2] === CR &&
|
|
83
|
-
buffer[i + 3] === LF) {
|
|
84
|
-
return i;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return -1;
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* Concatenate two Uint8Arrays.
|
|
91
|
-
*/
|
|
92
|
-
const concatBytes = (a, b) => {
|
|
93
|
-
const result = new Uint8Array(a.length + b.length);
|
|
94
|
-
result.set(a);
|
|
95
|
-
result.set(b, a.length);
|
|
96
|
-
return result;
|
|
97
|
-
};
|
|
98
|
-
/**
|
|
99
|
-
* Parse LSP messages from a ReadableStream.
|
|
100
|
-
* Uses Stream.mapAccum to maintain buffer state across chunks.
|
|
101
|
-
*/
|
|
102
|
-
const parseMessages = (stdout) => Stream.fromReadableStream({
|
|
103
|
-
evaluate: () => stdout,
|
|
104
|
-
onError: (cause) => new JsonRpcParseError({ cause }),
|
|
105
|
-
}).pipe(Stream.mapAccum(() => new Uint8Array(0), (buffer, chunk) => {
|
|
106
|
-
const combined = concatBytes(buffer, chunk);
|
|
107
|
-
const { messages, remaining } = parseBuffer(combined);
|
|
108
|
-
return [remaining, messages];
|
|
109
|
-
}));
|
|
110
|
-
/**
|
|
111
|
-
* Create a JSON-RPC connection from a subprocess.
|
|
112
|
-
*/
|
|
113
|
-
export const make = (proc) => Effect.gen(function* () {
|
|
114
|
-
// Pending requests: id -> Deferred<response>
|
|
115
|
-
const pending = yield* Ref.make(HashMap.empty());
|
|
116
|
-
const nextId = yield* Ref.make(0);
|
|
117
|
-
// Notification handlers
|
|
118
|
-
const notificationHandlers = yield* Ref.make(HashMap.empty());
|
|
119
|
-
// Background fiber reading stdout
|
|
120
|
-
const reader = yield* parseMessages(proc.stdout).pipe(Stream.runForEach((msg) => Effect.gen(function* () {
|
|
121
|
-
if ("id" in msg && ("result" in msg || "error" in msg)) {
|
|
122
|
-
// Response to our request
|
|
123
|
-
const response = msg;
|
|
124
|
-
const maybeDeferred = yield* Ref.get(pending).pipe(Effect.map((m) => HashMap.get(m, response.id)));
|
|
125
|
-
if (Option.isSome(maybeDeferred)) {
|
|
126
|
-
if (response.error) {
|
|
127
|
-
yield* Deferred.fail(maybeDeferred.value, new JsonRpcProtocolError({
|
|
128
|
-
code: response.error.code,
|
|
129
|
-
message: response.error.message,
|
|
130
|
-
data: response.error.data,
|
|
131
|
-
}));
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
yield* Deferred.succeed(maybeDeferred.value, response.result);
|
|
135
|
-
}
|
|
136
|
-
// Clean up the pending request
|
|
137
|
-
yield* Ref.update(pending, (m) => HashMap.remove(m, response.id));
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
else if ("method" in msg && !("id" in msg)) {
|
|
141
|
-
// Notification from server
|
|
142
|
-
const notification = msg;
|
|
143
|
-
const maybeHandler = yield* Ref.get(notificationHandlers).pipe(Effect.map((m) => HashMap.get(m, notification.method)));
|
|
144
|
-
if (Option.isSome(maybeHandler)) {
|
|
145
|
-
yield* maybeHandler.value(notification.params);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
})), Effect.catch((e) => Effect.logWarning(`JSON-RPC reader error: ${e}`)), Effect.forkDetach);
|
|
149
|
-
const connection = {
|
|
150
|
-
request: (method, params) => Effect.gen(function* () {
|
|
151
|
-
const id = yield* Ref.getAndUpdate(nextId, (n) => n + 1);
|
|
152
|
-
const deferred = yield* Deferred.make();
|
|
153
|
-
yield* Ref.update(pending, (m) => HashMap.set(m, id, deferred));
|
|
154
|
-
yield* Effect.sync(() => {
|
|
155
|
-
const msg = { jsonrpc: "2.0", id, method, params };
|
|
156
|
-
const stdin = proc.stdin;
|
|
157
|
-
if (stdin && typeof stdin === "object" && "write" in stdin) {
|
|
158
|
-
stdin.write(encodeMessage(msg));
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
return yield* Deferred.await(deferred);
|
|
162
|
-
}),
|
|
163
|
-
notify: (method, params) => Effect.sync(() => {
|
|
164
|
-
const msg = { jsonrpc: "2.0", method, params };
|
|
165
|
-
const stdin = proc.stdin;
|
|
166
|
-
if (stdin && typeof stdin === "object" && "write" in stdin) {
|
|
167
|
-
stdin.write(encodeMessage(msg));
|
|
168
|
-
}
|
|
169
|
-
}),
|
|
170
|
-
onNotification: (method, handler) => Ref.update(notificationHandlers, (m) => HashMap.set(m, method, handler)),
|
|
171
|
-
shutdown: Effect.gen(function* () {
|
|
172
|
-
yield* Fiber.interrupt(reader);
|
|
173
|
-
yield* Effect.sync(() => proc.kill());
|
|
174
|
-
}),
|
|
175
|
-
};
|
|
176
|
-
return connection;
|
|
177
|
-
});
|
|
178
|
-
//# sourceMappingURL=jsonrpc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["../../../src/Agent/lsp/jsonrpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import * as Context from "effect/Context";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as Layer from "effect/Layer";
|
|
4
|
-
import { type Diagnostic } from "./client.ts";
|
|
5
|
-
import { type ServerConfig } from "./servers.ts";
|
|
6
|
-
/**
|
|
7
|
-
* Create an LSPManager layer.
|
|
8
|
-
*
|
|
9
|
-
* @param servers - List of servers to use. Defaults to DefaultServers.
|
|
10
|
-
*/
|
|
11
|
-
export declare const LSPManagerLive: (servers?: ServerConfig[]) => Layer.Layer<LSPManager, never, never>;
|
|
12
|
-
/**
|
|
13
|
-
* LSP Manager interface.
|
|
14
|
-
*/
|
|
15
|
-
export interface LSPManager {
|
|
16
|
-
/**
|
|
17
|
-
* Initialize all available LSP servers.
|
|
18
|
-
*/
|
|
19
|
-
initialize(root: string): Effect.Effect<void, never, never>;
|
|
20
|
-
/**
|
|
21
|
-
* Notify all servers that a file has changed.
|
|
22
|
-
*/
|
|
23
|
-
notifyFileChanged(path: string, content: string): Effect.Effect<void, never, never>;
|
|
24
|
-
/**
|
|
25
|
-
* Wait for diagnostics from all servers and return aggregated results.
|
|
26
|
-
*/
|
|
27
|
-
waitForDiagnostics(path: string, timeout?: number): Effect.Effect<Diagnostic[], never, never>;
|
|
28
|
-
/**
|
|
29
|
-
* Get current diagnostics for a file (without waiting).
|
|
30
|
-
*/
|
|
31
|
-
getDiagnostics(path: string): Effect.Effect<Diagnostic[], never, never>;
|
|
32
|
-
/**
|
|
33
|
-
* Shutdown all servers.
|
|
34
|
-
*/
|
|
35
|
-
readonly shutdown: Effect.Effect<void, never, never>;
|
|
36
|
-
}
|
|
37
|
-
export declare const LSPManager: Context.Service<LSPManager, LSPManager>;
|
|
38
|
-
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/Agent/lsp/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,KAAK,UAAU,EAAiC,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,cAAc,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,UAAS,YAAY,EAAmB,0CACpB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAE5D;;OAEG;IACH,iBAAiB,CACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAErC;;OAEG;IACH,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAE7C;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAExE;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,UAAU,yCAA4C,CAAC"}
|
package/lib/Agent/lsp/manager.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import * as Context from "effect/Context";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as HashMap from "effect/HashMap";
|
|
4
|
-
import * as Layer from "effect/Layer";
|
|
5
|
-
import * as Option from "effect/Option";
|
|
6
|
-
import * as Ref from "effect/Ref";
|
|
7
|
-
import { makeLSPClient } from "./client.js";
|
|
8
|
-
import { DefaultServers } from "./servers.js";
|
|
9
|
-
/**
|
|
10
|
-
* Create an LSPManager layer.
|
|
11
|
-
*
|
|
12
|
-
* @param servers - List of servers to use. Defaults to DefaultServers.
|
|
13
|
-
*/
|
|
14
|
-
export const LSPManagerLive = (servers = DefaultServers) => Layer.effect(LSPManager, makeLSPManager(servers));
|
|
15
|
-
export const LSPManager = Context.Service("LSPManager");
|
|
16
|
-
/**
|
|
17
|
-
* Create an LSPManager implementation.
|
|
18
|
-
*/
|
|
19
|
-
const makeLSPManager = (servers) => Effect.gen(function* () {
|
|
20
|
-
// Map of serverId -> LSPClient
|
|
21
|
-
const clients = yield* Ref.make(HashMap.empty());
|
|
22
|
-
// Aggregated diagnostics: uri -> Map<serverId, Diagnostic[]>
|
|
23
|
-
const diagnosticsMap = yield* Ref.make(HashMap.empty());
|
|
24
|
-
// Initialization state
|
|
25
|
-
const initialized = yield* Ref.make(false);
|
|
26
|
-
return LSPManager.of({
|
|
27
|
-
initialize: Effect.fnUntraced(function* (root) {
|
|
28
|
-
const alreadyInitialized = yield* Ref.get(initialized);
|
|
29
|
-
if (alreadyInitialized)
|
|
30
|
-
return;
|
|
31
|
-
yield* Effect.logDebug("[LSPManager] Initializing LSP servers...");
|
|
32
|
-
// Spawn all available servers in parallel
|
|
33
|
-
yield* Effect.forEach(servers, (config) => Effect.gen(function* () {
|
|
34
|
-
yield* Effect.logDebug(`[LSPManager] Starting ${config.id} server...`);
|
|
35
|
-
const proc = yield* spawnServer(config, root);
|
|
36
|
-
if (!proc) {
|
|
37
|
-
yield* Effect.logWarning(`[LSPManager] ${config.id} server not available`);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const client = yield* makeLSPClient(config.id, proc, root);
|
|
41
|
-
// Wire up diagnostics aggregation
|
|
42
|
-
yield* client.onDiagnostics((uri, diags) => Ref.update(diagnosticsMap, (m) => {
|
|
43
|
-
const existing = HashMap.get(m, uri).pipe(Option.getOrElse(() => HashMap.empty()));
|
|
44
|
-
const updated = HashMap.set(existing, config.id, diags);
|
|
45
|
-
return HashMap.set(m, uri, updated);
|
|
46
|
-
}));
|
|
47
|
-
yield* Ref.update(clients, (m) => HashMap.set(m, config.id, client));
|
|
48
|
-
yield* Effect.logDebug(`[LSPManager] ${config.id} server started`);
|
|
49
|
-
}).pipe(Effect.catch((e) => Effect.logWarning(`[LSPManager] Failed to start ${config.id}: ${e}`))), { concurrency: "unbounded" });
|
|
50
|
-
yield* Ref.set(initialized, true);
|
|
51
|
-
yield* Effect.logDebug("[LSPManager] All LSP servers initialized");
|
|
52
|
-
}),
|
|
53
|
-
notifyFileChanged: Effect.fnUntraced(function* (path, content) {
|
|
54
|
-
yield* Effect.logDebug(`[LSPManager] Notifying ${path} of changes`);
|
|
55
|
-
const allClients = yield* Ref.get(clients);
|
|
56
|
-
yield* Effect.forEach(HashMap.values(allClients), (client) => client.notifyFileChanged(path, content), { concurrency: "unbounded" }).pipe(Effect.catch(() => Effect.void));
|
|
57
|
-
}),
|
|
58
|
-
waitForDiagnostics: Effect.fnUntraced(function* (path, timeout = 3000) {
|
|
59
|
-
yield* Effect.logDebug(`[LSPManager] Waiting for diagnostics for ${path}`);
|
|
60
|
-
const allClients = yield* Ref.get(clients);
|
|
61
|
-
const uri = `file://${path}`;
|
|
62
|
-
// Wait for all servers to report diagnostics
|
|
63
|
-
yield* Effect.forEach(HashMap.values(allClients), (client) => client.waitForDiagnostics(path, timeout), { concurrency: "unbounded" }).pipe(Effect.catch(() => Effect.void));
|
|
64
|
-
// Aggregate diagnostics from all servers
|
|
65
|
-
const allDiagnostics = yield* Ref.get(diagnosticsMap).pipe(Effect.map((m) => {
|
|
66
|
-
const byServer = HashMap.get(m, uri).pipe(Option.getOrElse(() => HashMap.empty()));
|
|
67
|
-
return Array.from(HashMap.values(byServer)).flat();
|
|
68
|
-
}));
|
|
69
|
-
return allDiagnostics;
|
|
70
|
-
}),
|
|
71
|
-
getDiagnostics: Effect.fnUntraced(function* (path) {
|
|
72
|
-
const uri = `file://${path}`;
|
|
73
|
-
const allDiagnostics = yield* Ref.get(diagnosticsMap).pipe(Effect.map((m) => {
|
|
74
|
-
const byServer = HashMap.get(m, uri).pipe(Option.getOrElse(() => HashMap.empty()));
|
|
75
|
-
return Array.from(HashMap.values(byServer)).flat();
|
|
76
|
-
}));
|
|
77
|
-
return allDiagnostics;
|
|
78
|
-
}),
|
|
79
|
-
shutdown: Effect.gen(function* () {
|
|
80
|
-
yield* Effect.logDebug("[LSPManager] Shutting down LSP servers...");
|
|
81
|
-
const allClients = yield* Ref.get(clients);
|
|
82
|
-
yield* Effect.forEach(HashMap.values(allClients), (client) => client.shutdown, { concurrency: "unbounded" }).pipe(Effect.catch(() => Effect.void));
|
|
83
|
-
yield* Ref.set(clients, HashMap.empty());
|
|
84
|
-
yield* Ref.set(initialized, false);
|
|
85
|
-
yield* Effect.logDebug("[LSPManager] All LSP servers shut down");
|
|
86
|
-
}),
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
/**
|
|
90
|
-
* Spawn an LSP server process.
|
|
91
|
-
*/
|
|
92
|
-
const spawnServer = (config, cwd) => Effect.sync(() => Bun.spawn(config.command, {
|
|
93
|
-
cwd,
|
|
94
|
-
stdin: "pipe",
|
|
95
|
-
stdout: "pipe",
|
|
96
|
-
stderr: "inherit",
|
|
97
|
-
}));
|
|
98
|
-
//# sourceMappingURL=manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/Agent/lsp/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration for an LSP server.
|
|
3
|
-
*/
|
|
4
|
-
export interface ServerConfig {
|
|
5
|
-
/**
|
|
6
|
-
* Unique identifier for the server.
|
|
7
|
-
*/
|
|
8
|
-
id: string;
|
|
9
|
-
/**
|
|
10
|
-
* Command to run (e.g. ["typescript-language-server", "--stdio"])
|
|
11
|
-
*/
|
|
12
|
-
command: string[];
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* TypeScript Language Server configuration.
|
|
16
|
-
* Uses typescript-language-server which wraps tsserver.
|
|
17
|
-
*/
|
|
18
|
-
export declare const TypeScriptServer: ServerConfig;
|
|
19
|
-
/**
|
|
20
|
-
* oxlint Language Server configuration.
|
|
21
|
-
* Uses oxlint --lsp for fast linting.
|
|
22
|
-
*/
|
|
23
|
-
export declare const OxlintServer: ServerConfig;
|
|
24
|
-
/**
|
|
25
|
-
* Default LSP servers.
|
|
26
|
-
*/
|
|
27
|
-
export declare const DefaultServers: ServerConfig[];
|
|
28
|
-
//# sourceMappingURL=servers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"servers.d.ts","sourceRoot":"","sources":["../../../src/Agent/lsp/servers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAG9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,YAG1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAAY,EAAqC,CAAC"}
|
package/lib/Agent/lsp/servers.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TypeScript Language Server configuration.
|
|
3
|
-
* Uses typescript-language-server which wraps tsserver.
|
|
4
|
-
*/
|
|
5
|
-
export const TypeScriptServer = {
|
|
6
|
-
id: "typescript",
|
|
7
|
-
command: ["typescript-language-server", "--stdio"],
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* oxlint Language Server configuration.
|
|
11
|
-
* Uses oxlint --lsp for fast linting.
|
|
12
|
-
*/
|
|
13
|
-
export const OxlintServer = {
|
|
14
|
-
id: "oxlint",
|
|
15
|
-
command: ["bun", "oxlint", "--lsp"],
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Default LSP servers.
|
|
19
|
-
*/
|
|
20
|
-
export const DefaultServers = [TypeScriptServer, OxlintServer];
|
|
21
|
-
//# sourceMappingURL=servers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"servers.js","sourceRoot":"","sources":["../../../src/Agent/lsp/servers.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,EAAE,EAAE,YAAY;IAChB,OAAO,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC;CACnD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,EAAE,EAAE,QAAQ;IACZ,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { AspectGraph } from "../AspectGraph.ts";
|
|
3
|
-
import { Thread } from "../chat/thread.ts";
|
|
4
|
-
/**
|
|
5
|
-
* Called whenever a message is sent by a user to a Thread.
|
|
6
|
-
*
|
|
7
|
-
* This uses an LLM to choose which agents should respond to the message.
|
|
8
|
-
*/
|
|
9
|
-
export declare const driveThread: (thread: Thread) => Effect.Effect<void, never, AspectGraph>;
|
|
10
|
-
//# sourceMappingURL=driver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../src/Agent/process/driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAK3C;;;;GAIG;AACH,eAAO,MAAM,WAAW,6DAmJtB,CAAC"}
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck - uncomment this once we are working on AI again
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as S from "effect/Schema";
|
|
4
|
-
import * as Stream from "effect/Stream";
|
|
5
|
-
import * as util from "node:util";
|
|
6
|
-
import * as vm from "node:vm";
|
|
7
|
-
import { schemaToType } from "../../Util/schema-to-type.js";
|
|
8
|
-
import { Agent, AgentId } from "../Agent.js";
|
|
9
|
-
import { AspectGraph } from "../AspectGraph.js";
|
|
10
|
-
import { Chat } from "../chat/service.js";
|
|
11
|
-
import { Thread } from "../chat/thread.js";
|
|
12
|
-
import { LLM } from "../llm/llm.js";
|
|
13
|
-
import { lastMessageText } from "../llm/stream-collectors.js";
|
|
14
|
-
import { Tool } from "../tool/tool.js";
|
|
15
|
-
/**
|
|
16
|
-
* Called whenever a message is sent by a user to a Thread.
|
|
17
|
-
*
|
|
18
|
-
* This uses an LLM to choose which agents should respond to the message.
|
|
19
|
-
*/
|
|
20
|
-
export const driveThread = Effect.fn("driveThread")(function* (thread) {
|
|
21
|
-
const graph = yield* AspectGraph;
|
|
22
|
-
const { exprs: [env], types, } = schemaToType(graph.schema);
|
|
23
|
-
class code extends Tool.input("code") `
|
|
24
|
-
JavaScript code to evaluate (must be a valid JavaScript module.
|
|
25
|
-
Using modern ESM syntax only.
|
|
26
|
-
The code is running in a Bun REPL environment.
|
|
27
|
-
Use arbitrary JavaScript code to explore the environment and` {
|
|
28
|
-
}
|
|
29
|
-
class evaluate extends Tool("eval") `
|
|
30
|
-
Evaluates ${code} in a REPL in an Agent's environment and returns the console.log
|
|
31
|
-
output and result of the evaluation as a ${S.String}.
|
|
32
|
-
Use this tool to explore the Chat environment and find relevant information.
|
|
33
|
-
\`\`\`typescript
|
|
34
|
-
${types}
|
|
35
|
-
/** The environment of the Agent. */
|
|
36
|
-
declare const env: ${env};
|
|
37
|
-
/** The current issue
|
|
38
|
-
declare const issue: Issue;
|
|
39
|
-
/** The current prompt to the Agent. */
|
|
40
|
-
declare const query: string;
|
|
41
|
-
/** A function that can be used to recursively call the LLM to explore the environment. */
|
|
42
|
-
declare function recursiveLLM(subQuery: string): Promise<string>;
|
|
43
|
-
\`\`\`
|
|
44
|
-
`(function* ({ code }) {
|
|
45
|
-
const logs = [];
|
|
46
|
-
const capture = (...args) => logs.push(args
|
|
47
|
-
.map((a) => typeof a === "string" ? a : util.inspect(a, { depth: null }))
|
|
48
|
-
.join(" "));
|
|
49
|
-
const context = vm.createContext({
|
|
50
|
-
env: graph.aspects,
|
|
51
|
-
issue: undefined, // TODO(sam): provide the current issue
|
|
52
|
-
console: {
|
|
53
|
-
log: capture,
|
|
54
|
-
info: capture,
|
|
55
|
-
warn: capture,
|
|
56
|
-
error: capture,
|
|
57
|
-
debug: capture,
|
|
58
|
-
},
|
|
59
|
-
});
|
|
60
|
-
try {
|
|
61
|
-
const script = new vm.Script(code);
|
|
62
|
-
const result = script.runInContext(context);
|
|
63
|
-
return `${logs.join("\n")}${logs.length > 0 ? "\n" : ""}${typeof result === "string" ? result : util.inspect(result, { depth: null })}`;
|
|
64
|
-
}
|
|
65
|
-
catch (err) {
|
|
66
|
-
const error = err instanceof Error ? err.message : String(err);
|
|
67
|
-
return `${logs.join("\n")}${logs.length > 0 ? "\n" : ""}${error}`;
|
|
68
|
-
}
|
|
69
|
-
}) {
|
|
70
|
-
}
|
|
71
|
-
// TODO(sam): use examples of agents in the graph, agents.map((a) => a.id).slice(0, 3).join(", ")
|
|
72
|
-
// or -> make it a literal type of all agent IDs
|
|
73
|
-
class agentId extends Tool.input("agentId", AgentId) `
|
|
74
|
-
The ID of the Agent to create a Task for, e.g. @ceo, @sde, @cfo.` {
|
|
75
|
-
}
|
|
76
|
-
class prompt extends Tool.input("prompt") `
|
|
77
|
-
The prompt to start the Task with.` {
|
|
78
|
-
}
|
|
79
|
-
class query extends Tool("query") `
|
|
80
|
-
You are a Recursive Language Model. You interact with context through a JavaScript Bun REPL environment.
|
|
81
|
-
|
|
82
|
-
The Aspect environment is stored in the variable \`env\`.
|
|
83
|
-
IMPORTANT: You cannot see the context directly. You MUST write JavaScript code to search and explore it.
|
|
84
|
-
|
|
85
|
-
Available in environment:
|
|
86
|
-
\`\`\`typescript
|
|
87
|
-
${types}
|
|
88
|
-
/** The environment of the Agent. */
|
|
89
|
-
declare const env: ${env};
|
|
90
|
-
// The current Issue (similar to a GitHub Issue)
|
|
91
|
-
declare const issue: Issue;
|
|
92
|
-
/** The current query to answer. */
|
|
93
|
-
declare const query: string;
|
|
94
|
-
/** A function that can be used to recursively call the LLM to explore the environment. */
|
|
95
|
-
declare function query(subQuery: string): Promise<string>;
|
|
96
|
-
\`\`\`
|
|
97
|
-
|
|
98
|
-
Write JavaScript code to answer the query. The last expression and all console.log() output will be shown to you.
|
|
99
|
-
|
|
100
|
-
Examples:
|
|
101
|
-
- console.log(issue.messages[issue.messages.length-1]) // See the last message in the issue
|
|
102
|
-
- issue.messages[issue.messages.length-1] // Print the last message in the issue (because this is the last expression in the code)
|
|
103
|
-
- matches = re.findall(r'keyword.*', context); print(matches[:5])
|
|
104
|
-
- idx = context.find('search term'); print(context[idx:idx+200])
|
|
105
|
-
|
|
106
|
-
CRITICAL: Do NOT guess or make up answers. You MUST search the context first to find the actual information.
|
|
107
|
-
Only finish your response after you have found concrete evidence in the context.
|
|
108
|
-
Finish by providing a detailed textual answer to the query.
|
|
109
|
-
|
|
110
|
-
Depth: {depth}`(function* () { }) {
|
|
111
|
-
}
|
|
112
|
-
class reply extends Tool("reply") `
|
|
113
|
-
Prompt an Agent (by ${agentId}) to reply in a Thread.
|
|
114
|
-
The agent is given a ${prompt} to orient the direction of the task, but is otherwise free to choose how to complete the task.
|
|
115
|
-
Available agents: ${Object.keys(graph.aspects.agent).join(", ")}
|
|
116
|
-
If the reply fails, a ${S.String} message will be returned.
|
|
117
|
-
Use the ${recursiveLLM} tool to explore and query the contextual encironment you are operating in.
|
|
118
|
-
`(function* ({ agentId, prompt }) {
|
|
119
|
-
// TODO(sam): look up in the graph?
|
|
120
|
-
const agent = graph.aspects.agent[agentId];
|
|
121
|
-
if (!agent) {
|
|
122
|
-
return `Agent '${agentId}' not found, available agents: ${Object.keys(graph.aspects.agent).join(", ")}`;
|
|
123
|
-
}
|
|
124
|
-
const task = yield* Chat.createTask({
|
|
125
|
-
threadId: thread.threadId,
|
|
126
|
-
agentId,
|
|
127
|
-
});
|
|
128
|
-
const lastMessage = yield* LLM.stream({
|
|
129
|
-
model: "anthropic/claude-opus-4.5",
|
|
130
|
-
system: ``,
|
|
131
|
-
messages: [{ role: "user", content: prompt }],
|
|
132
|
-
tools: [],
|
|
133
|
-
}).pipe(Stream.tapSink(Chat.sinkTask(task.taskId)), Stream.run(lastMessageText));
|
|
134
|
-
if (!lastMessage) {
|
|
135
|
-
return yield* Effect.die(`No message returned from agent '${agentId}'`);
|
|
136
|
-
}
|
|
137
|
-
// TODO(sam): submit the result message to the issue
|
|
138
|
-
return lastMessage;
|
|
139
|
-
}) {
|
|
140
|
-
}
|
|
141
|
-
const stream = Effect.gen(function* () {
|
|
142
|
-
const llm = yield* LLM;
|
|
143
|
-
const chat = yield* Chat;
|
|
144
|
-
return yield* llm
|
|
145
|
-
.stream({
|
|
146
|
-
system: "You are a helpful assistant.",
|
|
147
|
-
messages: [],
|
|
148
|
-
tools: [evaluate, reply],
|
|
149
|
-
})
|
|
150
|
-
.pipe(Stream.tapSink(chat.sinkThreadDriver(thread.threadId)));
|
|
151
|
-
});
|
|
152
|
-
});
|
|
153
|
-
//# sourceMappingURL=driver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../src/Agent/process/driver.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAc;IAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IACjC,MAAM,EACJ,KAAK,EAAE,CAAC,GAAG,CAAC,EACZ,KAAK,GACN,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,IAAK,SAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;;;;6DAIsB;KAAG;IAE9D,MAAM,QAAS,SAAQ,IAAI,CAAC,MAAM,CAAC,CAAA;YACzB,IAAI;2CAC2B,CAAC,CAAC,MAAM;;;EAGjD,KAAK;;qBAEc,GAAG;;;;;;;;CAQvB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE;QACjB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CACrC,IAAI,CAAC,IAAI,CACP,IAAI;aACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAC7D;aACA,IAAI,CAAC,GAAG,CAAC,CACb,CAAC;QACJ,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC;YAC/B,GAAG,EAAE,KAAK,CAAC,OAAO;YAClB,KAAK,EAAE,SAAS,EAAE,uCAAuC;YACzD,OAAO,EAAE;gBACP,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,OAAO;aACf;SACF,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5C,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1I,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/D,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;QACpE,CAAC;IACH,CAAC,CAAC;KAAG;IAEL,iGAAiG;IACjG,gDAAgD;IAChD,MAAM,OAAQ,SAAQ,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;mEACa;KAAG;IAEpE,MAAM,MAAO,SAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;qCACN;KAAG;IAEtC,MAAM,KAAM,SAAQ,IAAI,CAAC,OAAO,CAAC,CAAA;;;;;;;;IAQ/B,KAAK;;uBAEc,GAAG;;;;;;;;;;;;;;;;;;;;;iBAqBT,CAAC,QAAQ,CAAC,MAAK,CAAC,CAAC;KAAG;IAEnC,MAAM,KAAM,SAAQ,IAAI,CAAC,OAAO,CAAC,CAAA;wBACX,OAAO;yBACN,MAAM;sBACT,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;0BACvC,CAAC,CAAC,MAAM;YACtB,YAAY;GACrB,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QAC9B,mCAAmC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAsB,CAAC;QAEhE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,UAAU,OAAO,kCAAkC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1G,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,2BAA2B;YAClC,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7C,KAAK,EAAE,EAAE;SACV,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAC1C,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAC5B,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,OAAO,GAAG,CAAC,CAAC;QAC1E,CAAC;QAED,oDAAoD;QACpD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;KAAG;IAEL,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACjC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,KAAK,CAAC,CAAC,GAAG;aACd,MAAM,CAAC;YACN,MAAM,EAAE,8BAA8B;YACtC,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;SACzB,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import * as Context from "effect/Context";
|
|
2
|
-
import type { Effect } from "effect/Effect";
|
|
3
|
-
import * as S from "effect/Schema";
|
|
4
|
-
import { Issue, IssueId } from "./issue.ts";
|
|
5
|
-
import { Reply, ReplyId } from "./reply.ts";
|
|
6
|
-
declare const CreateIssueRequest_base: S.Class<CreateIssueRequest, S.Struct<{
|
|
7
|
-
readonly title: S.String;
|
|
8
|
-
readonly description: S.String;
|
|
9
|
-
}>, {}>;
|
|
10
|
-
export declare class CreateIssueRequest extends CreateIssueRequest_base {
|
|
11
|
-
}
|
|
12
|
-
declare const UpdateIssueRequest_base: S.Class<UpdateIssueRequest, S.Struct<{
|
|
13
|
-
readonly issueId: S.Int;
|
|
14
|
-
readonly title: S.optional<S.String>;
|
|
15
|
-
readonly description: S.optional<S.String>;
|
|
16
|
-
}>, {}>;
|
|
17
|
-
export declare class UpdateIssueRequest extends UpdateIssueRequest_base {
|
|
18
|
-
}
|
|
19
|
-
declare const SendReplyRequest_base: S.Class<SendReplyRequest, S.Struct<{
|
|
20
|
-
readonly issueId: S.Int;
|
|
21
|
-
readonly content: S.String;
|
|
22
|
-
}>, {}>;
|
|
23
|
-
export declare class SendReplyRequest extends SendReplyRequest_base {
|
|
24
|
-
}
|
|
25
|
-
declare const UpdateReplyRequest_base: S.Class<UpdateReplyRequest, S.Struct<{
|
|
26
|
-
readonly replyId: S.Int;
|
|
27
|
-
readonly content: S.optional<S.String>;
|
|
28
|
-
}>, {}>;
|
|
29
|
-
export declare class UpdateReplyRequest extends UpdateReplyRequest_base {
|
|
30
|
-
}
|
|
31
|
-
declare const Issues_base: Context.ServiceClass<Issues, "Issues", {
|
|
32
|
-
listIssues: () => Effect<Issue[]>;
|
|
33
|
-
readIssue: (issueId: IssueId) => Effect<Issue>;
|
|
34
|
-
createIssue: (input: CreateIssueRequest) => Effect<Issue>;
|
|
35
|
-
updateIssue: (input: UpdateIssueRequest) => Effect<Issue>;
|
|
36
|
-
closeIssue: (issueId: IssueId) => Effect<Issue>;
|
|
37
|
-
sendReply: (input: SendReplyRequest) => Effect<Reply>;
|
|
38
|
-
updateReply: (input: UpdateReplyRequest) => Effect<Reply>;
|
|
39
|
-
deleteReply: (replyId: ReplyId) => Effect<void>;
|
|
40
|
-
}>;
|
|
41
|
-
export declare class Issues extends Issues_base {
|
|
42
|
-
}
|
|
43
|
-
export {};
|
|
44
|
-
//# sourceMappingURL=issue-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"issue-service.d.ts","sourceRoot":"","sources":["../../../src/Agent/process/issue-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;;;;;AAE5C,qBAAa,kBAAmB,SAAQ,uBAKtC;CAAG;;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBAMtC;CAAG;;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBAKtC;CAAG;;gBAKW,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;eACtB,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC;iBACjC,CAAC,KAAK,EAAE,kBAAkB,KAAK,MAAM,CAAC,KAAK,CAAC;iBAC5C,CAAC,KAAK,EAAE,kBAAkB,KAAK,MAAM,CAAC,KAAK,CAAC;gBAC7C,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC;eACpC,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC,KAAK,CAAC;iBACxC,CAAC,KAAK,EAAE,kBAAkB,KAAK,MAAM,CAAC,KAAK,CAAC;iBAC5C,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC;;AAVnD,qBAAa,MAAO,SAAQ,WAYf;CAAG"}
|