alchemy 2.0.0-beta.37 → 2.0.0-beta.39
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 +488 -69
- 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 +7 -11
- 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 +222 -3
- 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/AnalyticsEngineDatasetBinding.js +1 -1
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js.map +1 -1
- 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/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/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 +6 -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/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 +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +2 -2
- 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/HttpServer.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/HttpServer.js +25 -3
- package/lib/Cloudflare/Workers/HttpServer.js.map +1 -1
- package/lib/Cloudflare/Workers/InferEnv.d.ts +1 -1
- package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +4 -3
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +67 -32
- 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 +4 -6
- package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerName.d.ts +1 -1
- package/lib/Cloudflare/Workers/Workflow.js +2 -2
- package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
- package/lib/Cloudflare/index.d.ts +1 -0
- package/lib/Cloudflare/index.d.ts.map +1 -1
- package/lib/Cloudflare/index.js +1 -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 +1 -1
- package/lib/Destroy.d.ts +1 -1
- package/lib/Destroy.d.ts.map +1 -1
- package/lib/Destroy.js +1 -0
- 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 +3 -4
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js +7 -4
- 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 +197 -31
- package/lib/Plan.js.map +1 -1
- package/lib/Platform.js +6 -6
- 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/Resource.d.ts.map +1 -1
- package/lib/Resource.js +2 -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/Secret.js +1 -1
- package/lib/Secret.js.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 +7 -2
- package/lib/Stack.d.ts.map +1 -1
- package/lib/Stack.js +4 -4
- 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/HttpStateStore.d.ts.map +1 -1
- package/lib/State/HttpStateStore.js +1 -1
- package/lib/State/HttpStateStore.js.map +1 -1
- package/lib/State/InMemoryState.d.ts.map +1 -1
- package/lib/State/InMemoryState.js.map +1 -1
- package/lib/State/LocalState.d.ts +2 -2
- package/lib/State/ResourceState.d.ts +5 -0
- package/lib/State/ResourceState.d.ts.map +1 -1
- package/lib/State/State.d.ts +10 -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/Core.d.ts +2 -2
- package/lib/Test/Core.d.ts.map +1 -1
- package/lib/Test/Core.js +4 -1
- package/lib/Test/Core.js.map +1 -1
- package/lib/Util/FileLogger.d.ts +1 -1
- package/lib/Util/effect.js +4 -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/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.test.tsbuildinfo +1 -1
- package/package.json +22 -28
- 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 +31 -35
- 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 +351 -23
- 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/AnalyticsEngineDatasetBinding.ts +1 -1
- 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/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/SidecarServer.ts +1 -1
- package/src/Cloudflare/Providers.ts +9 -0
- package/src/Cloudflare/Queue/QueueBinding.ts +1 -1
- package/src/Cloudflare/R2/R2BucketBinding.ts +1 -1
- package/src/Cloudflare/SecretsStore/SecretBinding.ts +1 -1
- package/src/Cloudflare/Workers/Assets.ts +5 -6
- package/src/Cloudflare/Workers/HttpServer.ts +37 -5
- package/src/Cloudflare/Workers/InferEnv.ts +15 -11
- package/src/Cloudflare/Workers/Worker.ts +78 -36
- package/src/Cloudflare/Workers/WorkerBundle.ts +4 -6
- package/src/Cloudflare/Workers/Workflow.ts +2 -2
- package/src/Cloudflare/index.ts +1 -0
- package/src/Construct.ts +3 -7
- package/src/Destroy.ts +1 -0
- 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 +9 -7
- package/src/Plan.ts +303 -53
- package/src/Platform.ts +7 -7
- package/src/Provider.ts +8 -3
- package/src/Random.ts +1 -1
- package/src/Resource.ts +2 -25
- package/src/Runtime.ts +38 -0
- package/src/Secret.ts +1 -1
- package/src/Stack.ts +10 -6
- package/src/State/ActionState.ts +51 -0
- package/src/State/HttpStateStore.ts +6 -2
- package/src/State/InMemoryState.ts +3 -3
- package/src/State/ResourceState.ts +5 -0
- package/src/State/State.ts +17 -2
- package/src/State/index.ts +1 -0
- package/src/Test/Core.ts +4 -3
- package/src/Util/effect.ts +4 -4
- package/src/Util/hash.ts +14 -0
- package/src/Util/ignore.ts +815 -0
- package/src/index.ts +6 -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":"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"}
|
|
@@ -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"}
|