lorenz 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/NOTICE +13 -0
- package/README.md +774 -0
- package/RELEASE-MANIFEST.json +211 -0
- package/apps/cli/bin/lorenz.js +25 -0
- package/apps/cli/dist/bin/cli.d.ts +3 -0
- package/apps/cli/dist/bin/cli.d.ts.map +1 -0
- package/apps/cli/dist/bin/cli.js +4 -0
- package/apps/cli/dist/bin/cli.js.map +1 -0
- package/apps/cli/dist/daemon.d.ts +76 -0
- package/apps/cli/dist/daemon.d.ts.map +1 -0
- package/apps/cli/dist/daemon.js +189 -0
- package/apps/cli/dist/daemon.js.map +1 -0
- package/apps/cli/dist/doctor.d.ts +40 -0
- package/apps/cli/dist/doctor.d.ts.map +1 -0
- package/apps/cli/dist/doctor.js +590 -0
- package/apps/cli/dist/doctor.js.map +1 -0
- package/apps/cli/dist/index.d.ts +32 -0
- package/apps/cli/dist/index.d.ts.map +1 -0
- package/apps/cli/dist/index.js +26 -0
- package/apps/cli/dist/index.js.map +1 -0
- package/apps/cli/dist/main.d.ts +40 -0
- package/apps/cli/dist/main.d.ts.map +1 -0
- package/apps/cli/dist/main.js +259 -0
- package/apps/cli/dist/main.js.map +1 -0
- package/apps/cli/dist/runs.d.ts +31 -0
- package/apps/cli/dist/runs.d.ts.map +1 -0
- package/apps/cli/dist/runs.js +281 -0
- package/apps/cli/dist/runs.js.map +1 -0
- package/apps/cli/dist/workerDriverLoader.d.ts +64 -0
- package/apps/cli/dist/workerDriverLoader.d.ts.map +1 -0
- package/apps/cli/dist/workerDriverLoader.js +211 -0
- package/apps/cli/dist/workerDriverLoader.js.map +1 -0
- package/apps/cli/package.json +57 -0
- package/apps/symphony-dashboard/dist/assets/index-B3owF3jd.css +1 -0
- package/apps/symphony-dashboard/dist/assets/index-DQ6XlL0d.js +227 -0
- package/apps/symphony-dashboard/dist/index.html +18 -0
- package/bin/lorenz +16 -0
- package/extensions/docker-worker/dist/index.d.ts +92 -0
- package/extensions/docker-worker/dist/index.d.ts.map +1 -0
- package/extensions/docker-worker/dist/index.js +283 -0
- package/extensions/docker-worker/dist/index.js.map +1 -0
- package/extensions/docker-worker/package.json +14 -0
- package/extensions/jira-tracker/dist/client.d.ts +50 -0
- package/extensions/jira-tracker/dist/client.d.ts.map +1 -0
- package/extensions/jira-tracker/dist/client.js +619 -0
- package/extensions/jira-tracker/dist/client.js.map +1 -0
- package/extensions/jira-tracker/dist/index.d.ts +5 -0
- package/extensions/jira-tracker/dist/index.d.ts.map +1 -0
- package/extensions/jira-tracker/dist/index.js +5 -0
- package/extensions/jira-tracker/dist/index.js.map +1 -0
- package/extensions/jira-tracker/dist/options.d.ts +38 -0
- package/extensions/jira-tracker/dist/options.d.ts.map +1 -0
- package/extensions/jira-tracker/dist/options.js +61 -0
- package/extensions/jira-tracker/dist/options.js.map +1 -0
- package/extensions/jira-tracker/dist/provider.d.ts +6 -0
- package/extensions/jira-tracker/dist/provider.d.ts.map +1 -0
- package/extensions/jira-tracker/dist/provider.js +178 -0
- package/extensions/jira-tracker/dist/provider.js.map +1 -0
- package/extensions/jira-tracker/dist/register.d.ts +10 -0
- package/extensions/jira-tracker/dist/register.d.ts.map +1 -0
- package/extensions/jira-tracker/dist/register.js +15 -0
- package/extensions/jira-tracker/dist/register.js.map +1 -0
- package/extensions/jira-tracker/package.json +16 -0
- package/extensions/linear-tracker/dist/client.d.ts +82 -0
- package/extensions/linear-tracker/dist/client.d.ts.map +1 -0
- package/extensions/linear-tracker/dist/client.js +622 -0
- package/extensions/linear-tracker/dist/client.js.map +1 -0
- package/extensions/linear-tracker/dist/index.d.ts +8 -0
- package/extensions/linear-tracker/dist/index.d.ts.map +1 -0
- package/extensions/linear-tracker/dist/index.js +7 -0
- package/extensions/linear-tracker/dist/index.js.map +1 -0
- package/extensions/linear-tracker/dist/options.d.ts +32 -0
- package/extensions/linear-tracker/dist/options.d.ts.map +1 -0
- package/extensions/linear-tracker/dist/options.js +59 -0
- package/extensions/linear-tracker/dist/options.js.map +1 -0
- package/extensions/linear-tracker/dist/provider.d.ts +4 -0
- package/extensions/linear-tracker/dist/provider.d.ts.map +1 -0
- package/extensions/linear-tracker/dist/provider.js +58 -0
- package/extensions/linear-tracker/dist/provider.js.map +1 -0
- package/extensions/linear-tracker/dist/register.d.ts +11 -0
- package/extensions/linear-tracker/dist/register.d.ts.map +1 -0
- package/extensions/linear-tracker/dist/register.js +19 -0
- package/extensions/linear-tracker/dist/register.js.map +1 -0
- package/extensions/linear-tracker/dist/toolOps.d.ts +8 -0
- package/extensions/linear-tracker/dist/toolOps.d.ts.map +1 -0
- package/extensions/linear-tracker/dist/toolOps.js +160 -0
- package/extensions/linear-tracker/dist/toolOps.js.map +1 -0
- package/extensions/linear-tracker/dist/tools.d.ts +7 -0
- package/extensions/linear-tracker/dist/tools.d.ts.map +1 -0
- package/extensions/linear-tracker/dist/tools.js +210 -0
- package/extensions/linear-tracker/dist/tools.js.map +1 -0
- package/extensions/linear-tracker/package.json +18 -0
- package/extensions/local-tracker/dist/boardStore.d.ts +116 -0
- package/extensions/local-tracker/dist/boardStore.d.ts.map +1 -0
- package/extensions/local-tracker/dist/boardStore.js +475 -0
- package/extensions/local-tracker/dist/boardStore.js.map +1 -0
- package/extensions/local-tracker/dist/client.d.ts +14 -0
- package/extensions/local-tracker/dist/client.d.ts.map +1 -0
- package/extensions/local-tracker/dist/client.js +27 -0
- package/extensions/local-tracker/dist/client.js.map +1 -0
- package/extensions/local-tracker/dist/index.d.ts +7 -0
- package/extensions/local-tracker/dist/index.d.ts.map +1 -0
- package/extensions/local-tracker/dist/index.js +7 -0
- package/extensions/local-tracker/dist/index.js.map +1 -0
- package/extensions/local-tracker/dist/options.d.ts +31 -0
- package/extensions/local-tracker/dist/options.d.ts.map +1 -0
- package/extensions/local-tracker/dist/options.js +69 -0
- package/extensions/local-tracker/dist/options.js.map +1 -0
- package/extensions/local-tracker/dist/provider.d.ts +9 -0
- package/extensions/local-tracker/dist/provider.d.ts.map +1 -0
- package/extensions/local-tracker/dist/provider.js +35 -0
- package/extensions/local-tracker/dist/provider.js.map +1 -0
- package/extensions/local-tracker/dist/register.d.ts +11 -0
- package/extensions/local-tracker/dist/register.d.ts.map +1 -0
- package/extensions/local-tracker/dist/register.js +19 -0
- package/extensions/local-tracker/dist/register.js.map +1 -0
- package/extensions/local-tracker/dist/resolveBoardDir.d.ts +24 -0
- package/extensions/local-tracker/dist/resolveBoardDir.d.ts.map +1 -0
- package/extensions/local-tracker/dist/resolveBoardDir.js +39 -0
- package/extensions/local-tracker/dist/resolveBoardDir.js.map +1 -0
- package/extensions/local-tracker/dist/toolOps.d.ts +9 -0
- package/extensions/local-tracker/dist/toolOps.d.ts.map +1 -0
- package/extensions/local-tracker/dist/toolOps.js +86 -0
- package/extensions/local-tracker/dist/toolOps.js.map +1 -0
- package/extensions/local-tracker/dist/tools.d.ts +7 -0
- package/extensions/local-tracker/dist/tools.d.ts.map +1 -0
- package/extensions/local-tracker/dist/tools.js +170 -0
- package/extensions/local-tracker/dist/tools.js.map +1 -0
- package/extensions/local-tracker/package.json +18 -0
- package/extensions/memory-tracker/dist/index.d.ts +24 -0
- package/extensions/memory-tracker/dist/index.d.ts.map +1 -0
- package/extensions/memory-tracker/dist/index.js +110 -0
- package/extensions/memory-tracker/dist/index.js.map +1 -0
- package/extensions/memory-tracker/package.json +16 -0
- package/extensions/slack-tracker/dist/client.d.ts +88 -0
- package/extensions/slack-tracker/dist/client.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/client.js +246 -0
- package/extensions/slack-tracker/dist/client.js.map +1 -0
- package/extensions/slack-tracker/dist/inMemoryTransport.d.ts +42 -0
- package/extensions/slack-tracker/dist/inMemoryTransport.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/inMemoryTransport.js +104 -0
- package/extensions/slack-tracker/dist/inMemoryTransport.js.map +1 -0
- package/extensions/slack-tracker/dist/index.d.ts +15 -0
- package/extensions/slack-tracker/dist/index.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/index.js +11 -0
- package/extensions/slack-tracker/dist/index.js.map +1 -0
- package/extensions/slack-tracker/dist/mapping.d.ts +27 -0
- package/extensions/slack-tracker/dist/mapping.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/mapping.js +109 -0
- package/extensions/slack-tracker/dist/mapping.js.map +1 -0
- package/extensions/slack-tracker/dist/operations.d.ts +41 -0
- package/extensions/slack-tracker/dist/operations.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/operations.js +97 -0
- package/extensions/slack-tracker/dist/operations.js.map +1 -0
- package/extensions/slack-tracker/dist/options.d.ts +30 -0
- package/extensions/slack-tracker/dist/options.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/options.js +49 -0
- package/extensions/slack-tracker/dist/options.js.map +1 -0
- package/extensions/slack-tracker/dist/provider.d.ts +9 -0
- package/extensions/slack-tracker/dist/provider.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/provider.js +74 -0
- package/extensions/slack-tracker/dist/provider.js.map +1 -0
- package/extensions/slack-tracker/dist/register.d.ts +11 -0
- package/extensions/slack-tracker/dist/register.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/register.js +19 -0
- package/extensions/slack-tracker/dist/register.js.map +1 -0
- package/extensions/slack-tracker/dist/threadState.d.ts +52 -0
- package/extensions/slack-tracker/dist/threadState.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/threadState.js +192 -0
- package/extensions/slack-tracker/dist/threadState.js.map +1 -0
- package/extensions/slack-tracker/dist/toolOps.d.ts +13 -0
- package/extensions/slack-tracker/dist/toolOps.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/toolOps.js +76 -0
- package/extensions/slack-tracker/dist/toolOps.js.map +1 -0
- package/extensions/slack-tracker/dist/tools.d.ts +8 -0
- package/extensions/slack-tracker/dist/tools.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/tools.js +266 -0
- package/extensions/slack-tracker/dist/tools.js.map +1 -0
- package/extensions/slack-tracker/dist/transport.d.ts +63 -0
- package/extensions/slack-tracker/dist/transport.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/transport.js +2 -0
- package/extensions/slack-tracker/dist/transport.js.map +1 -0
- package/extensions/slack-tracker/dist/webTransport.d.ts +44 -0
- package/extensions/slack-tracker/dist/webTransport.d.ts.map +1 -0
- package/extensions/slack-tracker/dist/webTransport.js +402 -0
- package/extensions/slack-tracker/dist/webTransport.js.map +1 -0
- package/extensions/slack-tracker/package.json +17 -0
- package/package.json +89 -0
- package/packages/acp/dist/childProcess.d.ts +4 -0
- package/packages/acp/dist/childProcess.d.ts.map +1 -0
- package/packages/acp/dist/childProcess.js +33 -0
- package/packages/acp/dist/childProcess.js.map +1 -0
- package/packages/acp/dist/index.d.ts +70 -0
- package/packages/acp/dist/index.d.ts.map +1 -0
- package/packages/acp/dist/index.js +701 -0
- package/packages/acp/dist/index.js.map +1 -0
- package/packages/acp/dist/options.d.ts +24 -0
- package/packages/acp/dist/options.d.ts.map +1 -0
- package/packages/acp/dist/options.js +92 -0
- package/packages/acp/dist/options.js.map +1 -0
- package/packages/acp/dist/toml.d.ts +2 -0
- package/packages/acp/dist/toml.d.ts.map +1 -0
- package/packages/acp/dist/toml.js +51 -0
- package/packages/acp/dist/toml.js.map +1 -0
- package/packages/acp/package.json +24 -0
- package/packages/agent-runner/dist/index.d.ts +58 -0
- package/packages/agent-runner/dist/index.d.ts.map +1 -0
- package/packages/agent-runner/dist/index.js +288 -0
- package/packages/agent-runner/dist/index.js.map +1 -0
- package/packages/agent-runner/package.json +19 -0
- package/packages/agent-sdk/dist/index.d.ts +2 -0
- package/packages/agent-sdk/dist/index.d.ts.map +1 -0
- package/packages/agent-sdk/dist/index.js +2 -0
- package/packages/agent-sdk/dist/index.js.map +1 -0
- package/packages/agent-sdk/dist/provider.d.ts +66 -0
- package/packages/agent-sdk/dist/provider.d.ts.map +1 -0
- package/packages/agent-sdk/dist/provider.js +38 -0
- package/packages/agent-sdk/dist/provider.js.map +1 -0
- package/packages/agent-sdk/package.json +14 -0
- package/packages/cli-kit/dist/index.d.ts +20 -0
- package/packages/cli-kit/dist/index.d.ts.map +1 -0
- package/packages/cli-kit/dist/index.js +72 -0
- package/packages/cli-kit/dist/index.js.map +1 -0
- package/packages/cli-kit/package.json +14 -0
- package/packages/config/dist/aliases.d.ts +10 -0
- package/packages/config/dist/aliases.d.ts.map +1 -0
- package/packages/config/dist/aliases.js +153 -0
- package/packages/config/dist/aliases.js.map +1 -0
- package/packages/config/dist/defaults.d.ts +12 -0
- package/packages/config/dist/defaults.d.ts.map +1 -0
- package/packages/config/dist/defaults.js +78 -0
- package/packages/config/dist/defaults.js.map +1 -0
- package/packages/config/dist/errors.d.ts +3 -0
- package/packages/config/dist/errors.d.ts.map +1 -0
- package/packages/config/dist/errors.js +56 -0
- package/packages/config/dist/errors.js.map +1 -0
- package/packages/config/dist/index.d.ts +5 -0
- package/packages/config/dist/index.d.ts.map +1 -0
- package/packages/config/dist/index.js +4 -0
- package/packages/config/dist/index.js.map +1 -0
- package/packages/config/dist/leaf-utils.d.ts +3 -0
- package/packages/config/dist/leaf-utils.d.ts.map +1 -0
- package/packages/config/dist/leaf-utils.js +9 -0
- package/packages/config/dist/leaf-utils.js.map +1 -0
- package/packages/config/dist/parse.d.ts +11 -0
- package/packages/config/dist/parse.d.ts.map +1 -0
- package/packages/config/dist/parse.js +821 -0
- package/packages/config/dist/parse.js.map +1 -0
- package/packages/config/dist/schemas.d.ts +214 -0
- package/packages/config/dist/schemas.d.ts.map +1 -0
- package/packages/config/dist/schemas.js +248 -0
- package/packages/config/dist/schemas.js.map +1 -0
- package/packages/config/package.json +19 -0
- package/packages/dispatch/dist/index.d.ts +22 -0
- package/packages/dispatch/dist/index.d.ts.map +1 -0
- package/packages/dispatch/dist/index.js +117 -0
- package/packages/dispatch/dist/index.js.map +1 -0
- package/packages/dispatch/package.json +16 -0
- package/packages/dispatch-coordinator/dist/coordinator.d.ts +158 -0
- package/packages/dispatch-coordinator/dist/coordinator.d.ts.map +1 -0
- package/packages/dispatch-coordinator/dist/coordinator.js +529 -0
- package/packages/dispatch-coordinator/dist/coordinator.js.map +1 -0
- package/packages/dispatch-coordinator/dist/gate.d.ts +24 -0
- package/packages/dispatch-coordinator/dist/gate.d.ts.map +1 -0
- package/packages/dispatch-coordinator/dist/gate.js +47 -0
- package/packages/dispatch-coordinator/dist/gate.js.map +1 -0
- package/packages/dispatch-coordinator/dist/index.d.ts +6 -0
- package/packages/dispatch-coordinator/dist/index.d.ts.map +1 -0
- package/packages/dispatch-coordinator/dist/index.js +16 -0
- package/packages/dispatch-coordinator/dist/index.js.map +1 -0
- package/packages/dispatch-coordinator/dist/mcpEndpointManager.d.ts +28 -0
- package/packages/dispatch-coordinator/dist/mcpEndpointManager.d.ts.map +1 -0
- package/packages/dispatch-coordinator/dist/mcpEndpointManager.js +54 -0
- package/packages/dispatch-coordinator/dist/mcpEndpointManager.js.map +1 -0
- package/packages/dispatch-coordinator/dist/nullEndpointManager.d.ts +18 -0
- package/packages/dispatch-coordinator/dist/nullEndpointManager.d.ts.map +1 -0
- package/packages/dispatch-coordinator/dist/nullEndpointManager.js +40 -0
- package/packages/dispatch-coordinator/dist/nullEndpointManager.js.map +1 -0
- package/packages/dispatch-coordinator/dist/types.d.ts +119 -0
- package/packages/dispatch-coordinator/dist/types.d.ts.map +1 -0
- package/packages/dispatch-coordinator/dist/types.js +17 -0
- package/packages/dispatch-coordinator/dist/types.js.map +1 -0
- package/packages/dispatch-coordinator/package.json +16 -0
- package/packages/domain/dist/index.d.ts +775 -0
- package/packages/domain/dist/index.d.ts.map +1 -0
- package/packages/domain/dist/index.js +124 -0
- package/packages/domain/dist/index.js.map +1 -0
- package/packages/domain/package.json +14 -0
- package/packages/humanize/dist/index.d.ts +4 -0
- package/packages/humanize/dist/index.d.ts.map +1 -0
- package/packages/humanize/dist/index.js +347 -0
- package/packages/humanize/dist/index.js.map +1 -0
- package/packages/humanize/package.json +11 -0
- package/packages/issue/dist/index.d.ts +7 -0
- package/packages/issue/dist/index.d.ts.map +1 -0
- package/packages/issue/dist/index.js +147 -0
- package/packages/issue/dist/index.js.map +1 -0
- package/packages/issue/package.json +14 -0
- package/packages/log-file/dist/index.d.ts +10 -0
- package/packages/log-file/dist/index.d.ts.map +1 -0
- package/packages/log-file/dist/index.js +200 -0
- package/packages/log-file/dist/index.js.map +1 -0
- package/packages/log-file/package.json +15 -0
- package/packages/mcp/dist/agentEndpoint.d.ts +31 -0
- package/packages/mcp/dist/agentEndpoint.d.ts.map +1 -0
- package/packages/mcp/dist/agentEndpoint.js +270 -0
- package/packages/mcp/dist/agentEndpoint.js.map +1 -0
- package/packages/mcp/dist/auth.d.ts +7 -0
- package/packages/mcp/dist/auth.d.ts.map +1 -0
- package/packages/mcp/dist/auth.js +48 -0
- package/packages/mcp/dist/auth.js.map +1 -0
- package/packages/mcp/dist/filter.d.ts +70 -0
- package/packages/mcp/dist/filter.d.ts.map +1 -0
- package/packages/mcp/dist/filter.js +231 -0
- package/packages/mcp/dist/filter.js.map +1 -0
- package/packages/mcp/dist/index.d.ts +7 -0
- package/packages/mcp/dist/index.d.ts.map +1 -0
- package/packages/mcp/dist/index.js +5 -0
- package/packages/mcp/dist/index.js.map +1 -0
- package/packages/mcp/dist/server.d.ts +31 -0
- package/packages/mcp/dist/server.d.ts.map +1 -0
- package/packages/mcp/dist/server.js +176 -0
- package/packages/mcp/dist/server.js.map +1 -0
- package/packages/mcp/dist/tools/linear.d.ts +5 -0
- package/packages/mcp/dist/tools/linear.d.ts.map +1 -0
- package/packages/mcp/dist/tools/linear.js +192 -0
- package/packages/mcp/dist/tools/linear.js.map +1 -0
- package/packages/mcp/dist/tools/local.d.ts +5 -0
- package/packages/mcp/dist/tools/local.d.ts.map +1 -0
- package/packages/mcp/dist/tools/local.js +161 -0
- package/packages/mcp/dist/tools/local.js.map +1 -0
- package/packages/mcp/dist/tools/result.d.ts +5 -0
- package/packages/mcp/dist/tools/result.d.ts.map +1 -0
- package/packages/mcp/dist/tools/result.js +15 -0
- package/packages/mcp/dist/tools/result.js.map +1 -0
- package/packages/mcp/dist/tools.d.ts +14 -0
- package/packages/mcp/dist/tools.d.ts.map +1 -0
- package/packages/mcp/dist/tools.js +58 -0
- package/packages/mcp/dist/tools.js.map +1 -0
- package/packages/mcp/package.json +20 -0
- package/packages/orchestrator/dist/index.d.ts +171 -0
- package/packages/orchestrator/dist/index.d.ts.map +1 -0
- package/packages/orchestrator/dist/index.js +524 -0
- package/packages/orchestrator/dist/index.js.map +1 -0
- package/packages/orchestrator/package.json +18 -0
- package/packages/policies/dist/index.d.ts +11 -0
- package/packages/policies/dist/index.d.ts.map +1 -0
- package/packages/policies/dist/index.js +6 -0
- package/packages/policies/dist/index.js.map +1 -0
- package/packages/policies/dist/reconciliation.d.ts +5 -0
- package/packages/policies/dist/reconciliation.d.ts.map +1 -0
- package/packages/policies/dist/reconciliation.js +17 -0
- package/packages/policies/dist/reconciliation.js.map +1 -0
- package/packages/policies/dist/resume.d.ts +14 -0
- package/packages/policies/dist/resume.d.ts.map +1 -0
- package/packages/policies/dist/resume.js +7 -0
- package/packages/policies/dist/resume.js.map +1 -0
- package/packages/policies/dist/retry.d.ts +4 -0
- package/packages/policies/dist/retry.d.ts.map +1 -0
- package/packages/policies/dist/retry.js +7 -0
- package/packages/policies/dist/retry.js.map +1 -0
- package/packages/policies/dist/stopReason.d.ts +4 -0
- package/packages/policies/dist/stopReason.d.ts.map +1 -0
- package/packages/policies/dist/stopReason.js +11 -0
- package/packages/policies/dist/stopReason.js.map +1 -0
- package/packages/policies/dist/usage.d.ts +14 -0
- package/packages/policies/dist/usage.d.ts.map +1 -0
- package/packages/policies/dist/usage.js +38 -0
- package/packages/policies/dist/usage.js.map +1 -0
- package/packages/policies/dist/workerHost.d.ts +8 -0
- package/packages/policies/dist/workerHost.d.ts.map +1 -0
- package/packages/policies/dist/workerHost.js +20 -0
- package/packages/policies/dist/workerHost.js.map +1 -0
- package/packages/policies/package.json +21 -0
- package/packages/presenter/dist/index.d.ts +81 -0
- package/packages/presenter/dist/index.d.ts.map +1 -0
- package/packages/presenter/dist/index.js +421 -0
- package/packages/presenter/dist/index.js.map +1 -0
- package/packages/presenter/package.json +16 -0
- package/packages/projections/dist/index.d.ts +10 -0
- package/packages/projections/dist/index.d.ts.map +1 -0
- package/packages/projections/dist/index.js +30 -0
- package/packages/projections/dist/index.js.map +1 -0
- package/packages/projections/package.json +15 -0
- package/packages/prompt/dist/index.d.ts +9 -0
- package/packages/prompt/dist/index.d.ts.map +1 -0
- package/packages/prompt/dist/index.js +71 -0
- package/packages/prompt/dist/index.js.map +1 -0
- package/packages/prompt/package.json +16 -0
- package/packages/retry-scheduler/dist/index.d.ts +12 -0
- package/packages/retry-scheduler/dist/index.d.ts.map +1 -0
- package/packages/retry-scheduler/dist/index.js +39 -0
- package/packages/retry-scheduler/dist/index.js.map +1 -0
- package/packages/retry-scheduler/package.json +15 -0
- package/packages/runtime/dist/index.d.ts +157 -0
- package/packages/runtime/dist/index.d.ts.map +1 -0
- package/packages/runtime/dist/index.js +1074 -0
- package/packages/runtime/dist/index.js.map +1 -0
- package/packages/runtime/package.json +26 -0
- package/packages/runtime-events/dist/index.d.ts +110 -0
- package/packages/runtime-events/dist/index.d.ts.map +1 -0
- package/packages/runtime-events/dist/index.js +25 -0
- package/packages/runtime-events/dist/index.js.map +1 -0
- package/packages/runtime-events/package.json +14 -0
- package/packages/server/dist/index.d.ts +25 -0
- package/packages/server/dist/index.d.ts.map +1 -0
- package/packages/server/dist/index.js +213 -0
- package/packages/server/dist/index.js.map +1 -0
- package/packages/server/dist/issue-store.d.ts +26 -0
- package/packages/server/dist/issue-store.d.ts.map +1 -0
- package/packages/server/dist/issue-store.js +88 -0
- package/packages/server/dist/issue-store.js.map +1 -0
- package/packages/server/dist/path-params.d.ts +6 -0
- package/packages/server/dist/path-params.d.ts.map +1 -0
- package/packages/server/dist/path-params.js +15 -0
- package/packages/server/dist/path-params.js.map +1 -0
- package/packages/server/dist/source.d.ts +12 -0
- package/packages/server/dist/source.d.ts.map +1 -0
- package/packages/server/dist/source.js +2 -0
- package/packages/server/dist/source.js.map +1 -0
- package/packages/server/dist/trace-routes.d.ts +21 -0
- package/packages/server/dist/trace-routes.d.ts.map +1 -0
- package/packages/server/dist/trace-routes.js +66 -0
- package/packages/server/dist/trace-routes.js.map +1 -0
- package/packages/server/dist/ws.d.ts +18 -0
- package/packages/server/dist/ws.d.ts.map +1 -0
- package/packages/server/dist/ws.js +168 -0
- package/packages/server/dist/ws.js.map +1 -0
- package/packages/server/package.json +22 -0
- package/packages/ssh/dist/index.d.ts +33 -0
- package/packages/ssh/dist/index.d.ts.map +1 -0
- package/packages/ssh/dist/index.js +281 -0
- package/packages/ssh/dist/index.js.map +1 -0
- package/packages/ssh/package.json +15 -0
- package/packages/static-worker/dist/index.d.ts +73 -0
- package/packages/static-worker/dist/index.d.ts.map +1 -0
- package/packages/static-worker/dist/index.js +150 -0
- package/packages/static-worker/dist/index.js.map +1 -0
- package/packages/static-worker/package.json +14 -0
- package/packages/tool-sdk/dist/filter.d.ts +70 -0
- package/packages/tool-sdk/dist/filter.d.ts.map +1 -0
- package/packages/tool-sdk/dist/filter.js +231 -0
- package/packages/tool-sdk/dist/filter.js.map +1 -0
- package/packages/tool-sdk/dist/index.d.ts +6 -0
- package/packages/tool-sdk/dist/index.d.ts.map +1 -0
- package/packages/tool-sdk/dist/index.js +4 -0
- package/packages/tool-sdk/dist/index.js.map +1 -0
- package/packages/tool-sdk/dist/provider.d.ts +51 -0
- package/packages/tool-sdk/dist/provider.d.ts.map +1 -0
- package/packages/tool-sdk/dist/provider.js +2 -0
- package/packages/tool-sdk/dist/provider.js.map +1 -0
- package/packages/tool-sdk/dist/registry.d.ts +35 -0
- package/packages/tool-sdk/dist/registry.d.ts.map +1 -0
- package/packages/tool-sdk/dist/registry.js +85 -0
- package/packages/tool-sdk/dist/registry.js.map +1 -0
- package/packages/tool-sdk/dist/result.d.ts +5 -0
- package/packages/tool-sdk/dist/result.d.ts.map +1 -0
- package/packages/tool-sdk/dist/result.js +15 -0
- package/packages/tool-sdk/dist/result.js.map +1 -0
- package/packages/tool-sdk/package.json +14 -0
- package/packages/traceviz-emitter/dist/index.d.ts +19 -0
- package/packages/traceviz-emitter/dist/index.d.ts.map +1 -0
- package/packages/traceviz-emitter/dist/index.js +97 -0
- package/packages/traceviz-emitter/dist/index.js.map +1 -0
- package/packages/traceviz-emitter/package.json +17 -0
- package/packages/traceviz-server/dist/index.d.ts +14 -0
- package/packages/traceviz-server/dist/index.d.ts.map +1 -0
- package/packages/traceviz-server/dist/index.js +10 -0
- package/packages/traceviz-server/dist/index.js.map +1 -0
- package/packages/traceviz-server/dist/models/api.d.ts +51 -0
- package/packages/traceviz-server/dist/models/api.d.ts.map +1 -0
- package/packages/traceviz-server/dist/models/api.js +5 -0
- package/packages/traceviz-server/dist/models/api.js.map +1 -0
- package/packages/traceviz-server/dist/models/display-events.d.ts +58 -0
- package/packages/traceviz-server/dist/models/display-events.d.ts.map +1 -0
- package/packages/traceviz-server/dist/models/display-events.js +6 -0
- package/packages/traceviz-server/dist/models/display-events.js.map +1 -0
- package/packages/traceviz-server/dist/parser.d.ts +14 -0
- package/packages/traceviz-server/dist/parser.d.ts.map +1 -0
- package/packages/traceviz-server/dist/parser.js +363 -0
- package/packages/traceviz-server/dist/parser.js.map +1 -0
- package/packages/traceviz-server/dist/stats.d.ts +7 -0
- package/packages/traceviz-server/dist/stats.d.ts.map +1 -0
- package/packages/traceviz-server/dist/stats.js +81 -0
- package/packages/traceviz-server/dist/stats.js.map +1 -0
- package/packages/traceviz-server/dist/watcher.d.ts +54 -0
- package/packages/traceviz-server/dist/watcher.d.ts.map +1 -0
- package/packages/traceviz-server/dist/watcher.js +368 -0
- package/packages/traceviz-server/dist/watcher.js.map +1 -0
- package/packages/traceviz-server/package.json +16 -0
- package/packages/tracker-sdk/dist/index.d.ts +5 -0
- package/packages/tracker-sdk/dist/index.d.ts.map +1 -0
- package/packages/tracker-sdk/dist/index.js +4 -0
- package/packages/tracker-sdk/dist/index.js.map +1 -0
- package/packages/tracker-sdk/dist/options.d.ts +20 -0
- package/packages/tracker-sdk/dist/options.d.ts.map +1 -0
- package/packages/tracker-sdk/dist/options.js +46 -0
- package/packages/tracker-sdk/dist/options.js.map +1 -0
- package/packages/tracker-sdk/dist/provider.d.ts +104 -0
- package/packages/tracker-sdk/dist/provider.d.ts.map +1 -0
- package/packages/tracker-sdk/dist/provider.js +2 -0
- package/packages/tracker-sdk/dist/provider.js.map +1 -0
- package/packages/tracker-sdk/dist/registry.d.ts +26 -0
- package/packages/tracker-sdk/dist/registry.d.ts.map +1 -0
- package/packages/tracker-sdk/dist/registry.js +52 -0
- package/packages/tracker-sdk/dist/registry.js.map +1 -0
- package/packages/tracker-sdk/dist/toolPack.d.ts +10 -0
- package/packages/tracker-sdk/dist/toolPack.d.ts.map +1 -0
- package/packages/tracker-sdk/dist/toolPack.js +185 -0
- package/packages/tracker-sdk/dist/toolPack.js.map +1 -0
- package/packages/tracker-sdk/package.json +15 -0
- package/packages/tui/dist/index.d.ts +35 -0
- package/packages/tui/dist/index.d.ts.map +1 -0
- package/packages/tui/dist/index.js +354 -0
- package/packages/tui/dist/index.js.map +1 -0
- package/packages/tui/package.json +18 -0
- package/packages/worker-host-pool/dist/index.d.ts +33 -0
- package/packages/worker-host-pool/dist/index.d.ts.map +1 -0
- package/packages/worker-host-pool/dist/index.js +311 -0
- package/packages/worker-host-pool/dist/index.js.map +1 -0
- package/packages/worker-host-pool/package.json +14 -0
- package/packages/worker-pool/dist/index.d.ts +6 -0
- package/packages/worker-pool/dist/index.d.ts.map +1 -0
- package/packages/worker-pool/dist/index.js +15 -0
- package/packages/worker-pool/dist/index.js.map +1 -0
- package/packages/worker-pool/dist/lease.d.ts +36 -0
- package/packages/worker-pool/dist/lease.d.ts.map +1 -0
- package/packages/worker-pool/dist/lease.js +53 -0
- package/packages/worker-pool/dist/lease.js.map +1 -0
- package/packages/worker-pool/dist/ledger.d.ts +51 -0
- package/packages/worker-pool/dist/ledger.d.ts.map +1 -0
- package/packages/worker-pool/dist/ledger.js +165 -0
- package/packages/worker-pool/dist/ledger.js.map +1 -0
- package/packages/worker-pool/dist/mutex.d.ts +10 -0
- package/packages/worker-pool/dist/mutex.d.ts.map +1 -0
- package/packages/worker-pool/dist/mutex.js +22 -0
- package/packages/worker-pool/dist/mutex.js.map +1 -0
- package/packages/worker-pool/dist/pool.d.ts +33 -0
- package/packages/worker-pool/dist/pool.d.ts.map +1 -0
- package/packages/worker-pool/dist/pool.js +1727 -0
- package/packages/worker-pool/dist/pool.js.map +1 -0
- package/packages/worker-pool/dist/reaper.d.ts +94 -0
- package/packages/worker-pool/dist/reaper.d.ts.map +1 -0
- package/packages/worker-pool/dist/reaper.js +295 -0
- package/packages/worker-pool/dist/reaper.js.map +1 -0
- package/packages/worker-pool/dist/types.d.ts +249 -0
- package/packages/worker-pool/dist/types.d.ts.map +1 -0
- package/packages/worker-pool/dist/types.js +2 -0
- package/packages/worker-pool/dist/types.js.map +1 -0
- package/packages/worker-pool/package.json +16 -0
- package/packages/worker-sdk/dist/conformance.d.ts +64 -0
- package/packages/worker-sdk/dist/conformance.d.ts.map +1 -0
- package/packages/worker-sdk/dist/conformance.js +109 -0
- package/packages/worker-sdk/dist/conformance.js.map +1 -0
- package/packages/worker-sdk/dist/fake.d.ts +76 -0
- package/packages/worker-sdk/dist/fake.d.ts.map +1 -0
- package/packages/worker-sdk/dist/fake.js +142 -0
- package/packages/worker-sdk/dist/fake.js.map +1 -0
- package/packages/worker-sdk/dist/index.d.ts +5 -0
- package/packages/worker-sdk/dist/index.d.ts.map +1 -0
- package/packages/worker-sdk/dist/index.js +10 -0
- package/packages/worker-sdk/dist/index.js.map +1 -0
- package/packages/worker-sdk/dist/module.d.ts +46 -0
- package/packages/worker-sdk/dist/module.d.ts.map +1 -0
- package/packages/worker-sdk/dist/module.js +59 -0
- package/packages/worker-sdk/dist/module.js.map +1 -0
- package/packages/worker-sdk/dist/registry.d.ts +24 -0
- package/packages/worker-sdk/dist/registry.d.ts.map +1 -0
- package/packages/worker-sdk/dist/registry.js +49 -0
- package/packages/worker-sdk/dist/registry.js.map +1 -0
- package/packages/worker-sdk/dist/types.d.ts +138 -0
- package/packages/worker-sdk/dist/types.d.ts.map +1 -0
- package/packages/worker-sdk/dist/types.js +21 -0
- package/packages/worker-sdk/dist/types.js.map +1 -0
- package/packages/worker-sdk/package.json +15 -0
- package/packages/workflow/dist/index.d.ts +33 -0
- package/packages/workflow/dist/index.d.ts.map +1 -0
- package/packages/workflow/dist/index.js +125 -0
- package/packages/workflow/dist/index.js.map +1 -0
- package/packages/workflow/package.json +19 -0
- package/packages/workspace/dist/index.d.ts +70 -0
- package/packages/workspace/dist/index.d.ts.map +1 -0
- package/packages/workspace/dist/index.js +1016 -0
- package/packages/workspace/dist/index.js.map +1 -0
- package/packages/workspace/package.json +17 -0
- package/runtime-deps/anthropic-claude-agent-sdk/LICENSE.md +1 -0
- package/runtime-deps/anthropic-claude-agent-sdk/README.md +65 -0
- package/runtime-deps/anthropic-claude-agent-sdk/agentSdkTypes.d.ts +1 -0
- package/runtime-deps/anthropic-claude-agent-sdk/assistant.d.ts +135 -0
- package/runtime-deps/anthropic-claude-agent-sdk/assistant.mjs +190 -0
- package/runtime-deps/anthropic-claude-agent-sdk/bridge.d.ts +231 -0
- package/runtime-deps/anthropic-claude-agent-sdk/bridge.mjs +168 -0
- package/runtime-deps/anthropic-claude-agent-sdk/browser-sdk.d.ts +53 -0
- package/runtime-deps/anthropic-claude-agent-sdk/browser-sdk.js +93 -0
- package/runtime-deps/anthropic-claude-agent-sdk/extractFromBunfs.d.ts +1 -0
- package/runtime-deps/anthropic-claude-agent-sdk/extractFromBunfs.js +156 -0
- package/runtime-deps/anthropic-claude-agent-sdk/manifest.json +47 -0
- package/runtime-deps/anthropic-claude-agent-sdk/manifest.zst.json +55 -0
- package/runtime-deps/anthropic-claude-agent-sdk/node_modules/.bin/anthropic-ai-sdk +21 -0
- package/runtime-deps/anthropic-claude-agent-sdk/package.json +81 -0
- package/runtime-deps/anthropic-claude-agent-sdk/sdk-tools.d.ts +3170 -0
- package/runtime-deps/anthropic-claude-agent-sdk/sdk.d.ts +6000 -0
- package/runtime-deps/anthropic-claude-agent-sdk/sdk.mjs +119 -0
- package/runtime-deps/openai-codex/README.md +60 -0
- package/runtime-deps/openai-codex/bin/codex.js +229 -0
- package/runtime-deps/openai-codex/bin/rg +79 -0
- package/runtime-deps/openai-codex/package.json +22 -0
- package/vendor/claude-agent-acp/dist/acp-agent.d.ts +239 -0
- package/vendor/claude-agent-acp/dist/acp-agent.d.ts.map +1 -0
- package/vendor/claude-agent-acp/dist/acp-agent.js +2693 -0
- package/vendor/claude-agent-acp/dist/bundle.js +41230 -0
- package/vendor/claude-agent-acp/dist/index.d.ts +3 -0
- package/vendor/claude-agent-acp/dist/index.d.ts.map +1 -0
- package/vendor/claude-agent-acp/dist/index.js +67 -0
- package/vendor/claude-agent-acp/dist/lib.d.ts +6 -0
- package/vendor/claude-agent-acp/dist/lib.d.ts.map +1 -0
- package/vendor/claude-agent-acp/dist/lib.js +5 -0
- package/vendor/claude-agent-acp/dist/settings.d.ts +68 -0
- package/vendor/claude-agent-acp/dist/settings.d.ts.map +1 -0
- package/vendor/claude-agent-acp/dist/settings.js +182 -0
- package/vendor/claude-agent-acp/dist/tools.d.ts +103 -0
- package/vendor/claude-agent-acp/dist/tools.d.ts.map +1 -0
- package/vendor/claude-agent-acp/dist/tools.js +713 -0
- package/vendor/claude-agent-acp/dist/utils.d.ts +16 -0
- package/vendor/claude-agent-acp/dist/utils.d.ts.map +1 -0
- package/vendor/claude-agent-acp/dist/utils.js +83 -0
- package/vendor/claude-agent-acp/package.json +23 -0
- package/vendor/codex-acp/dist/index.js +21280 -0
- package/vendor/codex-acp/package.json +17 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { defaultWorkerDriverRegistry } from "./registry.js";
|
|
2
|
+
const KIND = "fake";
|
|
3
|
+
const CAPABILITIES = {
|
|
4
|
+
sshAddressable: false,
|
|
5
|
+
ephemeral: false,
|
|
6
|
+
usesLedger: false,
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* An in-memory {@link WorkerDriver} used by the always-on test layer and the
|
|
10
|
+
* memory-tracker e2e demo, and the SDK's reference implementation of the
|
|
11
|
+
* driver contract. It owns no real machines and touches no disk: every
|
|
12
|
+
* operation mutates a `Map<workerId, WorkerDescriptor>` and the yielded `workerHost`
|
|
13
|
+
* is a synthetic `fake://worker-<workerId>` address. Determinism comes from the
|
|
14
|
+
* injected clock (so `createdAtMs` is reproducible), and failure can be
|
|
15
|
+
* injected per-worker so tests can exercise probe/provision/destroy faults and
|
|
16
|
+
* the conformance suite's unreachable-worker case.
|
|
17
|
+
*/
|
|
18
|
+
export class FakeWorkerDriver {
|
|
19
|
+
deps;
|
|
20
|
+
kind = KIND;
|
|
21
|
+
capabilities = CAPABILITIES;
|
|
22
|
+
// The live inventory: provisioned-minus-destroyed, keyed on the pool's
|
|
23
|
+
// idempotency key so `provision` is idempotent on `workerId`.
|
|
24
|
+
workers = new Map();
|
|
25
|
+
// Per-worker failure injections. `probeFailures` flips `probe` to `{ ok: false }`;
|
|
26
|
+
// `provisionFailures`/`destroyFailures` reject the respective call.
|
|
27
|
+
probeFailures = new Map();
|
|
28
|
+
provisionFailures = new Map();
|
|
29
|
+
destroyFailures = new Map();
|
|
30
|
+
// A write counter that proves the driver never touched the disk. It is
|
|
31
|
+
// structurally pinned at 0 (the driver holds only in-memory state), so a
|
|
32
|
+
// test can assert ZERO fs I/O by reading `fsWriteCount`.
|
|
33
|
+
writes = 0;
|
|
34
|
+
constructor(deps) {
|
|
35
|
+
this.deps = deps;
|
|
36
|
+
}
|
|
37
|
+
/** Number of fs writes performed (always 0; the driver is purely in-memory). */
|
|
38
|
+
get fsWriteCount() {
|
|
39
|
+
return this.writes;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Provisions (or re-adopts) a worker for `req.workerId`. Idempotent on `workerId`: a
|
|
43
|
+
* second call returns the SAME descriptor without creating a duplicate. The
|
|
44
|
+
* descriptor is stamped from the injected clock so its `createdAtMs` is
|
|
45
|
+
* deterministic.
|
|
46
|
+
*/
|
|
47
|
+
async provision(req) {
|
|
48
|
+
const injected = this.provisionFailures.get(req.workerId);
|
|
49
|
+
if (injected !== undefined) {
|
|
50
|
+
return Promise.reject(new Error(injected));
|
|
51
|
+
}
|
|
52
|
+
const existing = this.workers.get(req.workerId);
|
|
53
|
+
if (existing) {
|
|
54
|
+
return Promise.resolve(existing);
|
|
55
|
+
}
|
|
56
|
+
const workerHost = `fake://worker-${req.workerId}`;
|
|
57
|
+
const descriptor = {
|
|
58
|
+
workerId: req.workerId,
|
|
59
|
+
workerHost,
|
|
60
|
+
driverRef: workerHost,
|
|
61
|
+
createdAtMs: this.deps.clock.now().getTime(),
|
|
62
|
+
labels: [...req.labels],
|
|
63
|
+
metadata: {},
|
|
64
|
+
};
|
|
65
|
+
this.workers.set(req.workerId, descriptor);
|
|
66
|
+
return Promise.resolve(descriptor);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Reports the worker healthy unless a probe failure was injected for its
|
|
70
|
+
* `workerId`. An unknown/already-destroyed worker is reported `ok: false` rather
|
|
71
|
+
* than throwing (mirroring a real probe against a gone machine).
|
|
72
|
+
*/
|
|
73
|
+
async probe(worker, _opts) {
|
|
74
|
+
const injected = this.probeFailures.get(worker.workerId);
|
|
75
|
+
if (injected !== undefined) {
|
|
76
|
+
return Promise.resolve({ ok: false, reason: injected });
|
|
77
|
+
}
|
|
78
|
+
if (!this.workers.has(worker.workerId)) {
|
|
79
|
+
return Promise.resolve({ ok: false, reason: "fake_worker_not_found" });
|
|
80
|
+
}
|
|
81
|
+
return Promise.resolve({ ok: true });
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Destroys a worker. Idempotent and tolerant of an already-gone (or
|
|
85
|
+
* never-provisioned) worker. Rejects only when a destroy failure was injected
|
|
86
|
+
* for the worker, leaving the worker in place so the caller can retry.
|
|
87
|
+
*/
|
|
88
|
+
async destroy(worker, _opts) {
|
|
89
|
+
const injected = this.destroyFailures.get(worker.workerId);
|
|
90
|
+
if (injected !== undefined) {
|
|
91
|
+
return Promise.reject(new Error(injected));
|
|
92
|
+
}
|
|
93
|
+
this.workers.delete(worker.workerId);
|
|
94
|
+
return Promise.resolve();
|
|
95
|
+
}
|
|
96
|
+
/** Returns the live inventory (provisioned-minus-destroyed). */
|
|
97
|
+
async list() {
|
|
98
|
+
return Promise.resolve([...this.workers.values()]);
|
|
99
|
+
}
|
|
100
|
+
/** Injects a probe failure so `probe` returns `{ ok: false, reason }`. */
|
|
101
|
+
injectProbeFailure(workerId, reason) {
|
|
102
|
+
this.probeFailures.set(workerId, reason);
|
|
103
|
+
}
|
|
104
|
+
/** Clears a previously injected probe failure so the worker probes healthy again. */
|
|
105
|
+
clearProbeFailure(workerId) {
|
|
106
|
+
this.probeFailures.delete(workerId);
|
|
107
|
+
}
|
|
108
|
+
/** Injects a provision failure so `provision` rejects with `reason`. */
|
|
109
|
+
injectProvisionFailure(workerId, reason) {
|
|
110
|
+
this.provisionFailures.set(workerId, reason);
|
|
111
|
+
}
|
|
112
|
+
/** Clears a previously injected provision failure. */
|
|
113
|
+
clearProvisionFailure(workerId) {
|
|
114
|
+
this.provisionFailures.delete(workerId);
|
|
115
|
+
}
|
|
116
|
+
/** Injects a destroy failure so `destroy` rejects with `reason`. */
|
|
117
|
+
injectDestroyFailure(workerId, reason) {
|
|
118
|
+
this.destroyFailures.set(workerId, reason);
|
|
119
|
+
}
|
|
120
|
+
/** Clears a previously injected destroy failure. */
|
|
121
|
+
clearDestroyFailure(workerId) {
|
|
122
|
+
this.destroyFailures.delete(workerId);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/** The registered `fake` factory: constructs a fresh in-memory driver per pool. */
|
|
126
|
+
export const fakeWorkerDriverFactory = {
|
|
127
|
+
kind: KIND,
|
|
128
|
+
create: (_options, deps) => new FakeWorkerDriver(deps),
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Registers the `fake` driver. The SDK ships this reference driver (rather
|
|
132
|
+
* than an extension) so engine and extension test suites alike can exercise
|
|
133
|
+
* the pool without real machines; the composition root registers it next to
|
|
134
|
+
* the real driver extensions.
|
|
135
|
+
*/
|
|
136
|
+
export function registerFakeWorkerDriver(registries = {}) {
|
|
137
|
+
const drivers = registries.workerDrivers ?? defaultWorkerDriverRegistry;
|
|
138
|
+
if (drivers.get(KIND) === undefined) {
|
|
139
|
+
drivers.register(fakeWorkerDriverFactory);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=fake.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake.js","sourceRoot":"","sources":["../src/fake.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { POOL_OWNED_LABEL, type WorkerDescriptor, type WorkerDriver, type WorkerDriverFactory, type WorkerHealth, type DriverCapabilities, type DriverDeps, type ProvisionRequest, type SshRunOptions, type SshRunResult, type SshRunner, type TeardownReason, } from "./types.js";
|
|
2
|
+
export { WorkerDriverRegistry, defaultWorkerDriverRegistry } from "./registry.js";
|
|
3
|
+
export { WORKER_DRIVER_SDK_VERSION, assertWorkerDriverModule, defineWorkerDriver, type WorkerDriverModule, } from "./module.js";
|
|
4
|
+
export { FakeWorkerDriver, fakeWorkerDriverFactory, registerFakeWorkerDriver } from "./fake.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// The worker SDK: the contract a worker backend implements to join the warm
|
|
2
|
+
// worker pool, the registry the composition root wires it into, and the
|
|
3
|
+
// in-memory reference driver. The conformance kit lives behind the
|
|
4
|
+
// `@lorenz/worker-sdk/conformance` subpath so the runtime barrel never pulls
|
|
5
|
+
// vitest.
|
|
6
|
+
export { POOL_OWNED_LABEL, } from "./types.js";
|
|
7
|
+
export { WorkerDriverRegistry, defaultWorkerDriverRegistry } from "./registry.js";
|
|
8
|
+
export { WORKER_DRIVER_SDK_VERSION, assertWorkerDriverModule, defineWorkerDriver, } from "./module.js";
|
|
9
|
+
export { FakeWorkerDriver, fakeWorkerDriverFactory, registerFakeWorkerDriver } from "./fake.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,wEAAwE;AACxE,mEAAmE;AACnE,6EAA6E;AAC7E,UAAU;AAEV,OAAO,EACL,gBAAgB,GAYjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,GAEnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { WorkerDriverFactory } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The worker-driver SDK version this build of the engine speaks. Out-of-tree
|
|
4
|
+
* driver modules declare the version they target via
|
|
5
|
+
* {@link WorkerDriverModule.sdkVersion}; the loader rejects a mismatch before the
|
|
6
|
+
* module ever reaches the registry. Major-only: additive, backwards-compatible
|
|
7
|
+
* SDK changes never bump it.
|
|
8
|
+
*/
|
|
9
|
+
export declare const WORKER_DRIVER_SDK_VERSION = 1;
|
|
10
|
+
/**
|
|
11
|
+
* The unit an OUT-OF-TREE worker-driver module exports: a {@link WorkerDriverFactory}
|
|
12
|
+
* carrying the SDK version it targets. In-repo extensions register factories
|
|
13
|
+
* directly (the composition root vouches for them); a dynamically imported
|
|
14
|
+
* module instead crosses a version boundary the daemon cannot type-check, so
|
|
15
|
+
* the explicit `sdkVersion` handshake stands in for the compiler.
|
|
16
|
+
*/
|
|
17
|
+
export interface WorkerDriverModule extends WorkerDriverFactory {
|
|
18
|
+
readonly sdkVersion: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Authoring sugar for out-of-tree driver modules: shape-asserts the module at
|
|
22
|
+
* definition time (so a typo fails in the author's tests, not the operator's
|
|
23
|
+
* daemon) and returns it unchanged. Usage:
|
|
24
|
+
*
|
|
25
|
+
* ```ts
|
|
26
|
+
* export default defineWorkerDriver({
|
|
27
|
+
* kind: "acme",
|
|
28
|
+
* sdkVersion: 1,
|
|
29
|
+
* create: (options, deps) => new AcmeWorkerDriver(options, deps),
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function defineWorkerDriver(module: WorkerDriverModule): WorkerDriverModule;
|
|
34
|
+
/**
|
|
35
|
+
* Structural check + version handshake for a dynamically loaded worker-driver
|
|
36
|
+
* module. `source` names where the value came from (a module specifier, or
|
|
37
|
+
* `defineWorkerDriver` at authoring time) so every error is actionable. Throws:
|
|
38
|
+
*
|
|
39
|
+
* - `worker_pool_driver_module_invalid: <source> ...` when the value is not an
|
|
40
|
+
* object, `kind` is not a non-empty string, `create` is not a function, or
|
|
41
|
+
* `sdkVersion` is not a number;
|
|
42
|
+
* - `worker_pool_driver_sdk_mismatch: <source> targets SDK v<n>, this build
|
|
43
|
+
* supports v<WORKER_DRIVER_SDK_VERSION>` when the declared version differs.
|
|
44
|
+
*/
|
|
45
|
+
export declare function assertWorkerDriverModule(value: unknown, source: string): asserts value is WorkerDriverModule;
|
|
46
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAGjF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,KAAK,IAAI,kBAAkB,CA+BrC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The worker-driver SDK version this build of the engine speaks. Out-of-tree
|
|
3
|
+
* driver modules declare the version they target via
|
|
4
|
+
* {@link WorkerDriverModule.sdkVersion}; the loader rejects a mismatch before the
|
|
5
|
+
* module ever reaches the registry. Major-only: additive, backwards-compatible
|
|
6
|
+
* SDK changes never bump it.
|
|
7
|
+
*/
|
|
8
|
+
export const WORKER_DRIVER_SDK_VERSION = 1;
|
|
9
|
+
/**
|
|
10
|
+
* Authoring sugar for out-of-tree driver modules: shape-asserts the module at
|
|
11
|
+
* definition time (so a typo fails in the author's tests, not the operator's
|
|
12
|
+
* daemon) and returns it unchanged. Usage:
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* export default defineWorkerDriver({
|
|
16
|
+
* kind: "acme",
|
|
17
|
+
* sdkVersion: 1,
|
|
18
|
+
* create: (options, deps) => new AcmeWorkerDriver(options, deps),
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export function defineWorkerDriver(module) {
|
|
23
|
+
assertWorkerDriverModule(module, "defineWorkerDriver");
|
|
24
|
+
return module;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Structural check + version handshake for a dynamically loaded worker-driver
|
|
28
|
+
* module. `source` names where the value came from (a module specifier, or
|
|
29
|
+
* `defineWorkerDriver` at authoring time) so every error is actionable. Throws:
|
|
30
|
+
*
|
|
31
|
+
* - `worker_pool_driver_module_invalid: <source> ...` when the value is not an
|
|
32
|
+
* object, `kind` is not a non-empty string, `create` is not a function, or
|
|
33
|
+
* `sdkVersion` is not a number;
|
|
34
|
+
* - `worker_pool_driver_sdk_mismatch: <source> targets SDK v<n>, this build
|
|
35
|
+
* supports v<WORKER_DRIVER_SDK_VERSION>` when the declared version differs.
|
|
36
|
+
*/
|
|
37
|
+
export function assertWorkerDriverModule(value, source) {
|
|
38
|
+
if (typeof value !== "object" || value === null) {
|
|
39
|
+
throw new Error(`worker_pool_driver_module_invalid: ${source} did not yield a worker driver module object ` +
|
|
40
|
+
`(got ${value === null ? "null" : typeof value}); export defineWorkerDriver({ kind, sdkVersion, create }) ` +
|
|
41
|
+
`as the default export or a named export`);
|
|
42
|
+
}
|
|
43
|
+
const candidate = value;
|
|
44
|
+
if (typeof candidate.kind !== "string" || candidate.kind.trim() === "") {
|
|
45
|
+
throw new Error(`worker_pool_driver_module_invalid: ${source} is missing a non-empty string \`kind\``);
|
|
46
|
+
}
|
|
47
|
+
if (typeof candidate.create !== "function") {
|
|
48
|
+
throw new Error(`worker_pool_driver_module_invalid: ${source} (kind: ${candidate.kind}) is missing a \`create(options, deps)\` function`);
|
|
49
|
+
}
|
|
50
|
+
if (typeof candidate.sdkVersion !== "number") {
|
|
51
|
+
throw new Error(`worker_pool_driver_module_invalid: ${source} (kind: ${candidate.kind}) is missing a numeric \`sdkVersion\` ` +
|
|
52
|
+
`(declare sdkVersion: ${WORKER_DRIVER_SDK_VERSION})`);
|
|
53
|
+
}
|
|
54
|
+
if (candidate.sdkVersion !== WORKER_DRIVER_SDK_VERSION) {
|
|
55
|
+
throw new Error(`worker_pool_driver_sdk_mismatch: ${source} targets SDK v${candidate.sdkVersion}, ` +
|
|
56
|
+
`this build supports v${WORKER_DRIVER_SDK_VERSION}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAa3C;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,wBAAwB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAc,EACd,MAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,sCAAsC,MAAM,+CAA+C;YACzF,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,6DAA6D;YAC3G,yCAAyC,CAC5C,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,KAAoC,CAAC;IACvD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,sCAAsC,MAAM,yCAAyC,CACtF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,sCAAsC,MAAM,WAAW,SAAS,CAAC,IAAI,mDAAmD,CACzH,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,sCAAsC,MAAM,WAAW,SAAS,CAAC,IAAI,wCAAwC;YAC3G,wBAAwB,yBAAyB,GAAG,CACvD,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,UAAU,KAAK,yBAAyB,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,iBAAiB,SAAS,CAAC,UAAU,IAAI;YACjF,wBAAwB,yBAAyB,EAAE,CACtD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { WorkerDriverFactory } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Lookup table of {@link WorkerDriverFactory}s keyed by `worker.worker_pool.driver`.
|
|
4
|
+
* The pool resolves the configured kind through a registry instead of
|
|
5
|
+
* hardcoding backends, so the set of supported worker drivers is decided by
|
|
6
|
+
* whoever composes the application.
|
|
7
|
+
*/
|
|
8
|
+
export declare class WorkerDriverRegistry {
|
|
9
|
+
private readonly factories;
|
|
10
|
+
/** Register a factory. Throws when a different factory already claims the kind. */
|
|
11
|
+
register(factory: WorkerDriverFactory): void;
|
|
12
|
+
get(kind: string | undefined): WorkerDriverFactory | undefined;
|
|
13
|
+
/** Like {@link get} but throws a config-style error listing the known kinds. */
|
|
14
|
+
require(kind: string | undefined): WorkerDriverFactory;
|
|
15
|
+
kinds(): string[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Process-wide registry used as the default by the pool and the CLI. The
|
|
19
|
+
* composition root (the CLI entrypoint, or a test) registers drivers here;
|
|
20
|
+
* library code only reads from it. Call sites that need isolation can
|
|
21
|
+
* construct their own {@link WorkerDriverRegistry} and pass it explicitly.
|
|
22
|
+
*/
|
|
23
|
+
export declare const defaultWorkerDriverRegistry: WorkerDriverRegistry;
|
|
24
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IAEpE,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAU5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,GAAG,SAAS;IAI9D,gFAAgF;IAChF,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB;IAgBtD,KAAK,IAAI,MAAM,EAAE;CAGlB;AAED;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,sBAA6B,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lookup table of {@link WorkerDriverFactory}s keyed by `worker.worker_pool.driver`.
|
|
3
|
+
* The pool resolves the configured kind through a registry instead of
|
|
4
|
+
* hardcoding backends, so the set of supported worker drivers is decided by
|
|
5
|
+
* whoever composes the application.
|
|
6
|
+
*/
|
|
7
|
+
export class WorkerDriverRegistry {
|
|
8
|
+
factories = new Map();
|
|
9
|
+
/** Register a factory. Throws when a different factory already claims the kind. */
|
|
10
|
+
register(factory) {
|
|
11
|
+
const kind = factory.kind.trim();
|
|
12
|
+
if (!kind)
|
|
13
|
+
throw new Error("worker driver kind must not be blank");
|
|
14
|
+
const existing = this.factories.get(kind);
|
|
15
|
+
if (existing && existing !== factory) {
|
|
16
|
+
throw new Error(`worker driver already registered for kind: ${kind}`);
|
|
17
|
+
}
|
|
18
|
+
this.factories.set(kind, factory);
|
|
19
|
+
}
|
|
20
|
+
get(kind) {
|
|
21
|
+
return kind === undefined ? undefined : this.factories.get(kind);
|
|
22
|
+
}
|
|
23
|
+
/** Like {@link get} but throws a config-style error listing the known kinds. */
|
|
24
|
+
require(kind) {
|
|
25
|
+
if (kind === undefined || kind === null || kind === "") {
|
|
26
|
+
throw new Error("worker.worker_pool.driver is required");
|
|
27
|
+
}
|
|
28
|
+
const factory = this.factories.get(kind);
|
|
29
|
+
if (!factory) {
|
|
30
|
+
const known = this.kinds();
|
|
31
|
+
const hint = known.length > 0
|
|
32
|
+
? ` (known kinds: ${known.join(", ")})`
|
|
33
|
+
: " (no worker drivers registered - register worker driver extensions at the composition root)";
|
|
34
|
+
throw new Error(`worker_pool_driver_unavailable: ${kind}${hint}`);
|
|
35
|
+
}
|
|
36
|
+
return factory;
|
|
37
|
+
}
|
|
38
|
+
kinds() {
|
|
39
|
+
return [...this.factories.keys()].sort();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Process-wide registry used as the default by the pool and the CLI. The
|
|
44
|
+
* composition root (the CLI entrypoint, or a test) registers drivers here;
|
|
45
|
+
* library code only reads from it. Call sites that need isolation can
|
|
46
|
+
* construct their own {@link WorkerDriverRegistry} and pass it explicitly.
|
|
47
|
+
*/
|
|
48
|
+
export const defaultWorkerDriverRegistry = new WorkerDriverRegistry();
|
|
49
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IACd,SAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEpE,mFAAmF;IACnF,QAAQ,CAAC,OAA4B;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,GAAG,CAAC,IAAwB;QAC1B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,gFAAgF;IAChF,OAAO,CAAC,IAAwB;QAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,GACR,KAAK,CAAC,MAAM,GAAG,CAAC;gBACd,CAAC,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACvC,CAAC,CAAC,6FAA6F,CAAC;YACpG,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK;QACH,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import type { ClockPort } from "@lorenz/domain";
|
|
2
|
+
/**
|
|
3
|
+
* The worker driver contract: everything a third party needs to ship a new worker
|
|
4
|
+
* backend (their own cloud, their own VM fleet) as an extension, without
|
|
5
|
+
* touching the pool engine. A driver provisions, probes, destroys, and lists
|
|
6
|
+
* SSH-addressable workers behind one interface; the warm pool in
|
|
7
|
+
* `@lorenz/worker-pool` owns every lifecycle decision (leasing, reaping,
|
|
8
|
+
* spend, crash recovery) and only ever calls these four operations.
|
|
9
|
+
*
|
|
10
|
+
* This module is dependency-light by design: it pulls `ClockPort` from
|
|
11
|
+
* `@lorenz/domain` only, so extensions implementing a driver depend on the
|
|
12
|
+
* SDK layer alone.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* The label every pool-owned worker carries so a `list()` reconcile can re-adopt
|
|
16
|
+
* or destroy ONLY workers the pool created (never an unlabeled foreign
|
|
17
|
+
* instance). The pool stamps this on every provision request, and every
|
|
18
|
+
* driver's `list()` MUST surface it on the descriptors it returns (the pool's
|
|
19
|
+
* ownership gate keys on it).
|
|
20
|
+
*/
|
|
21
|
+
export declare const POOL_OWNED_LABEL = "symphony.pool=worker-pool";
|
|
22
|
+
/**
|
|
23
|
+
* Why a worker is being torn down. Drives driver `destroy` and the pool's
|
|
24
|
+
* ledger/spend bookkeeping; never runs workspace hooks (the runner owns
|
|
25
|
+
* workspace lifecycle).
|
|
26
|
+
*/
|
|
27
|
+
export type TeardownReason = "ttl" | "idle" | "shrink" | "unhealthy" | "failed" | "drain" | "orphan";
|
|
28
|
+
/**
|
|
29
|
+
* Driver-reported health of a single worker. The probe is a cheap readiness
|
|
30
|
+
* check (e.g. `printf ready` over SSH), not a workspace/hook operation.
|
|
31
|
+
*/
|
|
32
|
+
export type WorkerHealth = {
|
|
33
|
+
ok: true;
|
|
34
|
+
} | {
|
|
35
|
+
ok: false;
|
|
36
|
+
reason: string;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Static capabilities of a driver backend. `usesLedger` gates the write-ahead
|
|
40
|
+
* ledger (cloud-only); `sshAddressable` records that the yielded `workerHost`
|
|
41
|
+
* is an SSH destination; `ephemeral` records that workers are disposable
|
|
42
|
+
* machines.
|
|
43
|
+
*/
|
|
44
|
+
export interface DriverCapabilities {
|
|
45
|
+
sshAddressable: boolean;
|
|
46
|
+
ephemeral: boolean;
|
|
47
|
+
usesLedger: boolean;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* A provisioned worker. `workerHost` is the SSH-addressable string threaded
|
|
51
|
+
* end-to-end by the orchestrator/runner. `driverRef` is the backend's own
|
|
52
|
+
* handle (e.g. a machine id) used for `destroy`/`list` reconcile. `labels`
|
|
53
|
+
* tag pool-owned survivors so a `list()` reconcile can re-adopt them.
|
|
54
|
+
*/
|
|
55
|
+
export interface WorkerDescriptor {
|
|
56
|
+
workerId: string;
|
|
57
|
+
workerHost: string;
|
|
58
|
+
driverRef: string;
|
|
59
|
+
createdAtMs: number;
|
|
60
|
+
labels: ReadonlyArray<string>;
|
|
61
|
+
metadata: Record<string, unknown>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Request to provision one worker. `workerId` is the pool's idempotency key (a
|
|
65
|
+
* driver must return the same worker for the same `workerId`). `affinityKey` carries
|
|
66
|
+
* a prior `workerHost` so a retry can re-land on the same machine. `labels`
|
|
67
|
+
* are stamped on the worker for reconcile. `driverOptions` is the operator's selected
|
|
68
|
+
* `workers.<name>` profile, minus `driver`, passed through verbatim.
|
|
69
|
+
*/
|
|
70
|
+
export interface ProvisionRequest {
|
|
71
|
+
workerId: string;
|
|
72
|
+
affinityKey?: string | null;
|
|
73
|
+
labels: ReadonlyArray<string>;
|
|
74
|
+
timeoutMs: number;
|
|
75
|
+
signal?: AbortSignal;
|
|
76
|
+
driverOptions?: Record<string, unknown>;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* A swappable backend that provisions, probes, destroys, and lists workers
|
|
80
|
+
* behind one interface. Every implementation must be idempotent on `workerId`
|
|
81
|
+
* for `provision` and idempotent for `destroy` (a second destroy of a gone
|
|
82
|
+
* machine is tolerated, never an error).
|
|
83
|
+
*/
|
|
84
|
+
export interface WorkerDriver {
|
|
85
|
+
readonly kind: string;
|
|
86
|
+
provision(req: ProvisionRequest): Promise<WorkerDescriptor>;
|
|
87
|
+
probe(worker: WorkerDescriptor, opts: {
|
|
88
|
+
timeoutMs: number;
|
|
89
|
+
signal?: AbortSignal;
|
|
90
|
+
}): Promise<WorkerHealth>;
|
|
91
|
+
destroy(worker: WorkerDescriptor, opts: {
|
|
92
|
+
timeoutMs: number;
|
|
93
|
+
reason: TeardownReason;
|
|
94
|
+
}): Promise<void>;
|
|
95
|
+
list(): Promise<WorkerDescriptor[]>;
|
|
96
|
+
readonly capabilities: DriverCapabilities;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Structural mirror of the engine's ssh runner so drivers can probe workers over
|
|
100
|
+
* SSH without depending on the engine ssh package. The pool injects the real
|
|
101
|
+
* implementation through {@link DriverDeps}; tests inject fakes.
|
|
102
|
+
*/
|
|
103
|
+
export interface SshRunOptions {
|
|
104
|
+
timeoutMs?: number | undefined;
|
|
105
|
+
stderrToStdout?: boolean | undefined;
|
|
106
|
+
abortSignal?: AbortSignal | undefined;
|
|
107
|
+
}
|
|
108
|
+
export interface SshRunResult {
|
|
109
|
+
stdout: string;
|
|
110
|
+
stderr: string;
|
|
111
|
+
status: number;
|
|
112
|
+
}
|
|
113
|
+
export type SshRunner = (destination: string, command: string, options?: SshRunOptions) => Promise<SshRunResult>;
|
|
114
|
+
/**
|
|
115
|
+
* Dependencies a driver factory receives from the pool. Deliberately excludes
|
|
116
|
+
* any workspace or hook deps: drivers manage worker lifecycle only. Cloud
|
|
117
|
+
* transports the engine does not provide (e.g. an E2B client or Modal
|
|
118
|
+
* transport) are closed over by the extension's registration, never threaded
|
|
119
|
+
* through these deps.
|
|
120
|
+
*/
|
|
121
|
+
export interface DriverDeps {
|
|
122
|
+
clock: ClockPort;
|
|
123
|
+
logEvent: (event: Record<string, unknown>) => void;
|
|
124
|
+
runSsh: SshRunner;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* The unit a worker-driver extension registers: a named constructor for its
|
|
128
|
+
* {@link WorkerDriver}. `create` receives the selected `workers.<name>` profile
|
|
129
|
+
* options verbatim (never the full pool settings, so
|
|
130
|
+
* the SDK surface stays stable) and validates them itself, throwing an
|
|
131
|
+
* actionable error at pool construction when they are unusable - the same
|
|
132
|
+
* fail-loud startup point as an unregistered kind.
|
|
133
|
+
*/
|
|
134
|
+
export interface WorkerDriverFactory {
|
|
135
|
+
readonly kind: string;
|
|
136
|
+
create(options: Readonly<Record<string, unknown>>, deps: DriverDeps): WorkerDriver;
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The worker driver contract: everything a third party needs to ship a new worker
|
|
3
|
+
* backend (their own cloud, their own VM fleet) as an extension, without
|
|
4
|
+
* touching the pool engine. A driver provisions, probes, destroys, and lists
|
|
5
|
+
* SSH-addressable workers behind one interface; the warm pool in
|
|
6
|
+
* `@lorenz/worker-pool` owns every lifecycle decision (leasing, reaping,
|
|
7
|
+
* spend, crash recovery) and only ever calls these four operations.
|
|
8
|
+
*
|
|
9
|
+
* This module is dependency-light by design: it pulls `ClockPort` from
|
|
10
|
+
* `@lorenz/domain` only, so extensions implementing a driver depend on the
|
|
11
|
+
* SDK layer alone.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* The label every pool-owned worker carries so a `list()` reconcile can re-adopt
|
|
15
|
+
* or destroy ONLY workers the pool created (never an unlabeled foreign
|
|
16
|
+
* instance). The pool stamps this on every provision request, and every
|
|
17
|
+
* driver's `list()` MUST surface it on the descriptors it returns (the pool's
|
|
18
|
+
* ownership gate keys on it).
|
|
19
|
+
*/
|
|
20
|
+
export const POOL_OWNED_LABEL = "symphony.pool=worker-pool";
|
|
21
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lorenz/worker-sdk",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": "./dist/index.js",
|
|
10
|
+
"./conformance": "./dist/conformance.js"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@lorenz/domain": "file:../domain"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type ParsedPromptTemplate, type WorkflowContentStamp, type WorkflowDefinition } from "@lorenz/domain";
|
|
2
|
+
import type { DefaultSettingsOptions } from "@lorenz/config";
|
|
3
|
+
import type { AgentExecutorRegistry } from "@lorenz/agent-sdk";
|
|
4
|
+
import type { TrackerRegistry } from "@lorenz/tracker-sdk";
|
|
5
|
+
type WorkflowLoadOptions = DefaultSettingsOptions & {
|
|
6
|
+
cwd?: string | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Tracker providers consulted while parsing the `tracker:` config section. The
|
|
9
|
+
* composition root passes its populated registry so provider option parsing, aliases,
|
|
10
|
+
* and env fallbacks apply; when omitted, the process-wide default registry is used.
|
|
11
|
+
*/
|
|
12
|
+
trackers?: TrackerRegistry | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Executor providers consulted while parsing `agents.<kind>` config records, the same
|
|
15
|
+
* way `trackers` backs the `tracker:` section; when omitted, the process-wide default
|
|
16
|
+
* registry is used.
|
|
17
|
+
*/
|
|
18
|
+
executors?: AgentExecutorRegistry | undefined;
|
|
19
|
+
};
|
|
20
|
+
export declare const defaultPromptTemplate = "You are working on an issue from the configured tracker.\n\nIdentifier: {{ issue.identifier }}\nTitle: {{ issue.title }}\n\nBody:\n{% if issue.description %}\n{{ issue.description }}\n{% else %}\nNo description provided.\n{% endif %}\n";
|
|
21
|
+
export declare function workflowFilePath(env?: NodeJS.ProcessEnv, cwd?: string): string;
|
|
22
|
+
export declare function loadWorkflow(workflowPath?: string, env?: NodeJS.ProcessEnv, defaults?: WorkflowLoadOptions): Promise<WorkflowDefinition>;
|
|
23
|
+
export declare function currentWorkflowStamp(workflowPath: string): Promise<WorkflowContentStamp>;
|
|
24
|
+
export declare function workflowFileChanged(workflow: WorkflowDefinition): Promise<boolean>;
|
|
25
|
+
export declare function workflowStampsEqual(left: WorkflowContentStamp | undefined, right: WorkflowContentStamp | undefined): boolean;
|
|
26
|
+
export declare function parseWorkflowContent(content: string): {
|
|
27
|
+
config: Record<string, unknown>;
|
|
28
|
+
body: string;
|
|
29
|
+
};
|
|
30
|
+
export declare function effectivePromptTemplate(promptTemplate: string): string;
|
|
31
|
+
export declare function parsePromptTemplate(promptTemplate: string): ParsedPromptTemplate;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,KAAK,mBAAmB,GAAG,sBAAsB,GAAG;IAClD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;CAC/C,CAAC;AAOF,eAAO,MAAM,qBAAqB,gPAWjC,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,GAAG,SAAgB,GAClB,MAAM,CAIR;AAED,wBAAsB,YAAY,CAChC,YAAY,CAAC,EAAE,MAAM,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,mBAAwB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAoB7B;AAED,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAQ9F;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxF;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,oBAAoB,GAAG,SAAS,EACtC,KAAK,EAAE,oBAAoB,GAAG,SAAS,GACtC,OAAO,CAQT;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG;IACrD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,CAyBA;AAED,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,oBAAoB,CAUhF"}
|