@usine/orchestrator 0.3.0 → 0.4.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 +661 -21
- package/README.md +32 -9
- package/dist/board/items.d.ts +14 -3
- package/dist/board/items.d.ts.map +1 -1
- package/dist/board/items.js +29 -1
- package/dist/board/items.js.map +1 -1
- package/dist/board/projection.d.ts +2 -1
- package/dist/board/projection.d.ts.map +1 -1
- package/dist/board/projection.js +20 -10
- package/dist/board/projection.js.map +1 -1
- package/dist/board/tasks.d.ts +1 -1
- package/dist/board/tasks.d.ts.map +1 -1
- package/dist/board/tasks.js +7 -3
- package/dist/board/tasks.js.map +1 -1
- package/dist/cloudflare.d.ts +32 -0
- package/dist/cloudflare.d.ts.map +1 -0
- package/dist/cloudflare.js +68 -0
- package/dist/cloudflare.js.map +1 -0
- package/dist/current-instance/changes.d.ts +3 -3
- package/dist/current-instance/changes.d.ts.map +1 -1
- package/dist/current-instance/changes.js +6 -3
- package/dist/current-instance/changes.js.map +1 -1
- package/dist/current-instance/current-instance.d.ts +3 -3
- package/dist/exe-dev.d.ts +1 -1
- package/dist/exe-dev.d.ts.map +1 -1
- package/dist/exe-dev.js +3 -1
- package/dist/exe-dev.js.map +1 -1
- package/dist/http-client.d.ts +8 -0
- package/dist/http-client.d.ts.map +1 -0
- package/dist/http-client.js +8 -0
- package/dist/http-client.js.map +1 -0
- package/dist/lease-order.d.ts +60 -0
- package/dist/lease-order.d.ts.map +1 -0
- package/dist/lease-order.js +76 -0
- package/dist/lease-order.js.map +1 -0
- package/dist/local.d.ts +1 -1
- package/dist/local.d.ts.map +1 -1
- package/dist/local.js +3 -1
- package/dist/local.js.map +1 -1
- package/dist/operator/attempt.d.ts +22 -3
- package/dist/operator/attempt.d.ts.map +1 -1
- package/dist/operator/attempt.js +22 -3
- package/dist/operator/attempt.js.map +1 -1
- package/dist/operator/board.d.ts +8 -3
- package/dist/operator/board.d.ts.map +1 -1
- package/dist/operator/board.js +8 -4
- package/dist/operator/board.js.map +1 -1
- package/dist/operator/configuration.d.ts +65 -9
- package/dist/operator/configuration.d.ts.map +1 -1
- package/dist/operator/configuration.js +90 -10
- package/dist/operator/configuration.js.map +1 -1
- package/dist/operator/desk.d.ts +33 -8
- package/dist/operator/desk.d.ts.map +1 -1
- package/dist/operator/desk.js +73 -11
- package/dist/operator/desk.js.map +1 -1
- package/dist/operator/http.d.ts +14 -79
- package/dist/operator/http.d.ts.map +1 -1
- package/dist/operator/http.js +20 -14
- package/dist/operator/http.js.map +1 -1
- package/dist/operator/machines.d.ts +71 -0
- package/dist/operator/machines.d.ts.map +1 -0
- package/dist/operator/machines.js +103 -0
- package/dist/operator/machines.js.map +1 -0
- package/dist/operator/need.d.ts +15 -1
- package/dist/operator/need.d.ts.map +1 -1
- package/dist/operator/need.js +15 -0
- package/dist/operator/need.js.map +1 -1
- package/dist/operator/operator.d.ts +36 -10
- package/dist/operator/operator.d.ts.map +1 -1
- package/dist/operator/operator.js +136 -31
- package/dist/operator/operator.js.map +1 -1
- package/dist/operator/overview.d.ts +2 -2
- package/dist/operator/projection.d.ts +2 -0
- package/dist/operator/projection.d.ts.map +1 -1
- package/dist/operator/projection.js +12 -4
- package/dist/operator/projection.js.map +1 -1
- package/dist/operator/run.d.ts +30 -0
- package/dist/operator/run.d.ts.map +1 -1
- package/dist/operator/run.js +31 -1
- package/dist/operator/run.js.map +1 -1
- package/dist/operator/statistics/cache.d.ts +7 -0
- package/dist/operator/statistics/cache.d.ts.map +1 -0
- package/dist/operator/statistics/cache.js +40 -0
- package/dist/operator/statistics/cache.js.map +1 -0
- package/dist/operator/statistics/runs.d.ts +36 -0
- package/dist/operator/statistics/runs.d.ts.map +1 -0
- package/dist/operator/statistics/runs.js +284 -0
- package/dist/operator/statistics/runs.js.map +1 -0
- package/dist/operator/statistics/statistics.d.ts +20 -0
- package/dist/operator/statistics/statistics.d.ts.map +1 -0
- package/dist/operator/statistics/statistics.js +138 -0
- package/dist/operator/statistics/statistics.js.map +1 -0
- package/dist/operator/statistics/tasks.d.ts +30 -0
- package/dist/operator/statistics/tasks.d.ts.map +1 -0
- package/dist/operator/statistics/tasks.js +244 -0
- package/dist/operator/statistics/tasks.js.map +1 -0
- package/dist/operator/statistics/view.d.ts +302 -0
- package/dist/operator/statistics/view.d.ts.map +1 -0
- package/dist/operator/statistics/view.js +243 -0
- package/dist/operator/statistics/view.js.map +1 -0
- package/dist/operator/statistics/window.d.ts +24 -0
- package/dist/operator/statistics/window.d.ts.map +1 -0
- package/dist/operator/statistics/window.js +47 -0
- package/dist/operator/statistics/window.js.map +1 -0
- package/dist/operator/task.d.ts +2 -1
- package/dist/operator/task.d.ts.map +1 -1
- package/dist/operator/task.js +3 -3
- package/dist/operator/task.js.map +1 -1
- package/dist/operator/usage.d.ts +10 -18
- package/dist/operator/usage.d.ts.map +1 -1
- package/dist/operator/usage.js +57 -42
- package/dist/operator/usage.js.map +1 -1
- package/dist/polling/closed-item-asks.d.ts +8 -0
- package/dist/polling/closed-item-asks.d.ts.map +1 -0
- package/dist/polling/closed-item-asks.js +28 -0
- package/dist/polling/closed-item-asks.js.map +1 -0
- package/dist/polling/open-pull-requests.d.ts +28 -0
- package/dist/polling/open-pull-requests.d.ts.map +1 -0
- package/dist/polling/open-pull-requests.js +131 -0
- package/dist/polling/open-pull-requests.js.map +1 -0
- package/dist/polling/polling.d.ts.map +1 -1
- package/dist/polling/polling.js +31 -18
- package/dist/polling/polling.js.map +1 -1
- package/dist/polling/repository-sync.d.ts +1 -0
- package/dist/polling/repository-sync.d.ts.map +1 -1
- package/dist/polling/repository-sync.js +1 -1
- package/dist/polling/repository-sync.js.map +1 -1
- package/dist/runtime.d.ts +2 -2
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +10 -10
- package/dist/runtime.js.map +1 -1
- package/dist/scheduler.d.ts +13 -4
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +312 -55
- package/dist/scheduler.js.map +1 -1
- package/dist/ssh.d.ts +71 -7
- package/dist/ssh.d.ts.map +1 -1
- package/dist/ssh.js +84 -15
- package/dist/ssh.js.map +1 -1
- package/dist/worker-engine.d.ts +7 -4
- package/dist/worker-engine.d.ts.map +1 -1
- package/dist/worker-engine.js +36 -5
- package/dist/worker-engine.js.map +1 -1
- package/dist/worker-status.d.ts +80 -10
- package/dist/worker-status.d.ts.map +1 -1
- package/dist/worker-status.js +31 -10
- package/dist/worker-status.js.map +1 -1
- package/package.json +29 -25
package/dist/scheduler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/ssh.d.ts
CHANGED
|
@@ -1,18 +1,76 @@
|
|
|
1
|
+
import { NodeServices } from "@effect/platform-node";
|
|
1
2
|
import type { SshWorker, UsineConfig } from "@usine/config/factory";
|
|
2
3
|
import type { BrainSpec } from "@usine/core/agent/brain";
|
|
3
4
|
import type { InstanceDirectory } from "@usine/core/instance";
|
|
4
5
|
import { WorkerCapabilityError } from "@usine/executor";
|
|
5
6
|
import { type SshExecutorOptions, SshWorkers } from "@usine/executor/ssh";
|
|
6
7
|
import { Effect, Layer, Option } from "effect";
|
|
8
|
+
import { type StepExecutorOptions } from "./scheduler.ts";
|
|
9
|
+
/** Returns where the SSH executor records how to reach each long-lived SSH Worker's machine. */
|
|
10
|
+
export declare const sshWorkerRecordsDirectory: (instanceDirectory: InstanceDirectory) => string;
|
|
11
|
+
/**
|
|
12
|
+
* Returns the layer that `make` builds with a `StepExecutor.discard` that removes the Codex homes
|
|
13
|
+
* of the discarded Attempts on an SSH Worker whose machine `sshWorkerRecordsDirectory` records.
|
|
14
|
+
* Every executor kind uses it, since `usine.yaml` can replace the SSH Workers with Workers of
|
|
15
|
+
* another kind.
|
|
16
|
+
*/
|
|
17
|
+
export declare const withSshWorkerDiscard: <A, E, R>(instanceDirectory: InstanceDirectory, make: (discard: NonNullable<StepExecutorOptions["discard"]>) => Layer.Layer<A, E, R>) => Layer.Layer<A, E, Exclude<R, NodeServices.NodeServices>>;
|
|
7
18
|
/** Returns the SSH Workers that `usine.yaml` declares, in declared order. */
|
|
8
19
|
export declare const sshWorkersOf: (config: UsineConfig) => ReadonlyArray<SshWorker>;
|
|
9
20
|
/**
|
|
10
|
-
* Returns how the executor connects to each declared SSH Worker, reading Gateway admin tokens
|
|
11
|
-
* startup. If
|
|
21
|
+
* Returns how the executor connects to each declared SSH Worker, reading Gateway admin tokens and
|
|
22
|
+
* provisioner tokens and API keys at startup. If a variable is unset, fails with a capability
|
|
23
|
+
* error that names it.
|
|
12
24
|
*/
|
|
13
25
|
export declare const sshWorkerAddressesOf: (config: UsineConfig) => Effect.Effect<{
|
|
14
26
|
name: string & import("effect/Brand").Brand<"WorkerName">;
|
|
15
|
-
|
|
27
|
+
machine: {
|
|
28
|
+
_tag: "Fixed";
|
|
29
|
+
destination: string & import("effect/Brand").Brand<"SshDestination">;
|
|
30
|
+
provisioner?: never;
|
|
31
|
+
} | {
|
|
32
|
+
destination?: never;
|
|
33
|
+
_tag: "Provisioned";
|
|
34
|
+
provisioner: {
|
|
35
|
+
provider: "hetzner";
|
|
36
|
+
token: import("effect/Redacted").Redacted<string>;
|
|
37
|
+
serverType: string & import("effect/Brand").Brand<"HetznerServerType">;
|
|
38
|
+
location: string & import("effect/Brand").Brand<"HetznerLocation">;
|
|
39
|
+
image: string & import("effect/Brand").Brand<"HetznerImage">;
|
|
40
|
+
network: Option.Option<string & import("effect/Brand").Brand<"HetznerResourceName">>;
|
|
41
|
+
firewall: Option.Option<string & import("effect/Brand").Brand<"HetznerResourceName">>;
|
|
42
|
+
sshKey: string & import("effect/Brand").Brand<"HetznerResourceName">;
|
|
43
|
+
sshUser: string & import("effect/Brand").Brand<"SshUser">;
|
|
44
|
+
labels: {
|
|
45
|
+
readonly [x: string]: string;
|
|
46
|
+
};
|
|
47
|
+
apiKeys: {
|
|
48
|
+
anthropic: Option.Option<import("effect/Redacted").Redacted<string>>;
|
|
49
|
+
openai: Option.Option<import("effect/Redacted").Redacted<string>>;
|
|
50
|
+
};
|
|
51
|
+
size?: never;
|
|
52
|
+
};
|
|
53
|
+
} | {
|
|
54
|
+
destination?: never;
|
|
55
|
+
_tag: "Provisioned";
|
|
56
|
+
provisioner: {
|
|
57
|
+
serverType?: never;
|
|
58
|
+
location?: never;
|
|
59
|
+
image?: never;
|
|
60
|
+
network?: never;
|
|
61
|
+
firewall?: never;
|
|
62
|
+
sshKey?: never;
|
|
63
|
+
sshUser?: never;
|
|
64
|
+
labels?: never;
|
|
65
|
+
provider: "boat";
|
|
66
|
+
token: import("effect/Redacted").Redacted<string>;
|
|
67
|
+
size: "default" | "large" | "small" | "xlarge";
|
|
68
|
+
apiKeys: {
|
|
69
|
+
anthropic: Option.Option<import("effect/Redacted").Redacted<string>>;
|
|
70
|
+
openai: Option.Option<import("effect/Redacted").Redacted<string>>;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
};
|
|
16
74
|
identityFile: Option.Option<string & import("effect/Brand").Brand<"SshIdentityFile">>;
|
|
17
75
|
port: Option.Option<number & import("effect/Brand").Brand<"SshPort">>;
|
|
18
76
|
root: string & import("effect/Brand").Brand<"WorkerRoot">;
|
|
@@ -21,19 +79,25 @@ export declare const sshWorkerAddressesOf: (config: UsineConfig) => Effect.Effec
|
|
|
21
79
|
destination: string & import("effect/Brand").Brand<"SshDestination">;
|
|
22
80
|
adminPort: number & import("effect/Brand").Brand<"GatewayAdminPort">;
|
|
23
81
|
adminToken: import("effect/Redacted").Redacted<string>;
|
|
24
|
-
llmProviders: readonly "anthropic"[];
|
|
82
|
+
llmProviders: readonly ("anthropic" | "openai")[];
|
|
25
83
|
}>;
|
|
84
|
+
container: {
|
|
85
|
+
image: Option.Option<string & import("effect/Brand").Brand<"ContainerImage">>;
|
|
86
|
+
cpus: Option.Option<number & import("effect/Brand").Brand<"ContainerCpus">>;
|
|
87
|
+
memoryMib: Option.Option<number & import("effect/Brand").Brand<"ContainerMemoryMib">>;
|
|
88
|
+
pids: Option.Option<number & import("effect/Brand").Brand<"ContainerPids">>;
|
|
89
|
+
};
|
|
26
90
|
}[], WorkerCapabilityError, never>;
|
|
27
91
|
/**
|
|
28
92
|
* Provides the scheduler over the SSH executor, so reloads can resize, add, and remove SSH Workers.
|
|
29
93
|
* A reload that adds a Worker fails with a `gateway` capability error if its `admin_token_env`
|
|
30
|
-
* variable is unset.
|
|
94
|
+
* variable is unset. `options.discard` is `StepExecutor.discard`.
|
|
31
95
|
*/
|
|
32
|
-
export declare const sshStepExecutorLayer: (config: UsineConfig, brains: ReadonlyArray<BrainSpec>) => Layer.Layer<import("@usine/engine/step-executor").StepExecutor | import("./worker-status.ts").WorkerStatus, import("@usine/executor").CredentialUnavailableError | import("@usine/executor").ExecutorOperationError | import("./scheduler.ts").UnsupportedWorkerError | WorkerCapabilityError, import("./current-instance/current-instance.ts").CurrentInstance | import("@usine/executor").Executor | import("@usine/github/github-app").GitHubApp | SshWorkers>;
|
|
96
|
+
export declare const sshStepExecutorLayer: (config: UsineConfig, brains: ReadonlyArray<BrainSpec>, options?: Pick<StepExecutorOptions, "discard">) => Layer.Layer<import("@usine/engine/step-executor").StepExecutor | import("./worker-status.ts").WorkerStatus, import("@usine/executor").CredentialUnavailableError | import("@usine/executor").ExecutorOperationError | import("./scheduler.ts").UnsupportedWorkerError | WorkerCapabilityError, import("./current-instance/current-instance.ts").CurrentInstance | import("@usine/executor").Executor | import("@usine/github/github-app").GitHubApp | SshWorkers>;
|
|
33
97
|
/**
|
|
34
98
|
* Provides the full engine and `WorkerStatus` for SSH Workers. Requires `CredentialProvider`,
|
|
35
99
|
* `GitHubApp`, `TriggerCondition`, `AttemptRuntime` (built before the engine), `ClaudeLoginLock`,
|
|
36
100
|
* and `CurrentInstance`.
|
|
37
101
|
*/
|
|
38
|
-
export declare const layer: (instanceDirectory: InstanceDirectory, config: UsineConfig, brains: ReadonlyArray<BrainSpec>, options: SshExecutorOptions) => Layer.Layer<import("@usine/engine/board-moves").BoardMoves | import("@usine/engine/cursor").CursorStore | import("@usine/engine/cycle-budget").CycleBudgets | import("@usine/engine/item-projection").ItemProjectionReader | import("@usine/engine/item-projection").ItemProjectionWriter | import("@usine/engine/loop-control").LoopControl | import("@usine/engine/repository-label-projection").RepositoryLabelProjectionReader | import("@usine/engine/repository-label-projection").RepositoryLabelProjectionWriter | import("@usine/engine/engine").RunEngine | import("@usine/engine/run-reader").RunReader | import("@usine/engine/step-executor").StepExecutor | import("./worker-status.ts").WorkerStatus, import("@usine/engine/engine").AttemptCancellationError | import("@usine/executor").CredentialUnavailableError | import("@usine/engine/engine").EnginePersistenceError | import("@usine/executor").ExecutorOperationError | import("@usine/engine/engine").RunInterventionRejectedError | import("@usine/engine/engine").RunNotFoundError | import("@usine/engine/engine").RunOperationRejectedError | import("@usine/engine/engine").RunRetryBlockedError | import("./scheduler.ts").UnsupportedWorkerError | WorkerCapabilityError, import("@usine/durable/attempt-runtime").AttemptRuntime | import("@usine/agents/runtime").ClaudeLoginLock | import("@usine/executor").CredentialProvider | import("./current-instance/current-instance.ts").CurrentInstance | import("@usine/github/github-app").GitHubApp | import("@usine/engine/trigger-condition").TriggerCondition>;
|
|
102
|
+
export declare const layer: (instanceDirectory: InstanceDirectory, config: UsineConfig, brains: ReadonlyArray<BrainSpec>, options: SshExecutorOptions) => Layer.Layer<import("@usine/engine/board-moves").BoardMoves | import("@usine/engine/cursor").CursorStore | import("@usine/engine/cycle-budget").CycleBudgets | import("@usine/engine/item-projection").ItemProjectionReader | import("@usine/engine/item-projection").ItemProjectionWriter | import("@usine/engine/loop-control").LoopControl | import("@usine/engine/repository-label-projection").RepositoryLabelProjectionReader | import("@usine/engine/repository-label-projection").RepositoryLabelProjectionWriter | import("@usine/engine/engine").RunEngine | import("@usine/engine/run-reader").RunReader | import("@usine/engine/step-executor").StepExecutor | import("@usine/engine/engine").UnconfirmedStops | import("./worker-status.ts").WorkerStatus, import("@usine/engine/engine").AttemptCancellationError | import("@usine/executor").CredentialUnavailableError | import("@usine/engine/engine").EnginePersistenceError | import("@usine/executor").ExecutorOperationError | import("@usine/engine/engine").RunInterventionRejectedError | import("@usine/engine/engine").RunNotFoundError | import("@usine/engine/engine").RunOperationRejectedError | import("@usine/engine/engine").RunRetryBlockedError | import("./scheduler.ts").UnsupportedWorkerError | WorkerCapabilityError, import("@usine/durable/attempt-runtime").AttemptRuntime | import("@usine/agents/runtime").ClaudeLoginLock | import("@usine/executor").CredentialProvider | import("./current-instance/current-instance.ts").CurrentInstance | import("@usine/github/github-app").GitHubApp | import("@usine/engine/trigger-condition").TriggerCondition>;
|
|
39
103
|
//# sourceMappingURL=ssh.d.ts.map
|
package/dist/ssh.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh.d.ts","sourceRoot":"","sources":["../src/ssh.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ssh.d.ts","sourceRoot":"","sources":["../src/ssh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAA0B,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAkB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAEL,KAAK,kBAAkB,EAIvB,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA0B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEvE,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,gBAAgB,CAAC;AAE7E,gGAAgG;AAChG,eAAO,MAAM,yBAAyB,sBAAuB,iBAAiB,KAAG,MACtC,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,qBACvB,iBAAiB,QAC9B,CAAC,OAAO,EAAE,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,6DAM3C,CAAC;AAE5C,6EAA6E;AAC7E,eAAO,MAAM,YAAY,WAAY,WAAW,KAAG,aAAa,CAAC,SAAS,CACK,CAAC;AAqIhF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAbzB,KAAK;QACL,IAAI;QACJ,SAAS;QACT,IAAI;;kCAoBV,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,WACvB,WAAW,UACX,aAAa,CAAC,SAAS,CAAC,YACvB,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,scA0B5C,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,KAAK,sBACG,iBAAiB,UAC5B,WAAW,UACX,aAAa,CAAC,SAAS,CAAC,WACvB,kBAAkB,0jDAU5B,CAAC"}
|
package/dist/ssh.js
CHANGED
|
@@ -1,19 +1,78 @@
|
|
|
1
1
|
import { NodeServices } from "@effect/platform-node";
|
|
2
2
|
import { layer as localEngineLayer } from "@usine/engine/local-sqlite";
|
|
3
|
-
import { WorkerCapabilityError } from "@usine/executor";
|
|
4
|
-
import { layer as sshExecutorLayer, SshWorkers, } from "@usine/executor/ssh";
|
|
3
|
+
import { WorkerCapabilityError, WorkerMachines } from "@usine/executor";
|
|
4
|
+
import { layer as sshExecutorLayer, sshWorkerRecordsFor, SshWorkers, } from "@usine/executor/ssh";
|
|
5
5
|
import { Config, ConfigProvider, Effect, Layer, Option } from "effect";
|
|
6
|
-
import {
|
|
6
|
+
import { externalHttpClientLayer } from "./http-client.js";
|
|
7
7
|
import { stepExecutorLayer } from "./scheduler.js";
|
|
8
|
+
/** Returns where the SSH executor records how to reach each long-lived SSH Worker's machine. */
|
|
9
|
+
export const sshWorkerRecordsDirectory = (instanceDirectory) => `${instanceDirectory}/.usine/ssh-workers`;
|
|
10
|
+
/**
|
|
11
|
+
* Returns the layer that `make` builds with a `StepExecutor.discard` that removes the Codex homes
|
|
12
|
+
* of the discarded Attempts on an SSH Worker whose machine `sshWorkerRecordsDirectory` records.
|
|
13
|
+
* Every executor kind uses it, since `usine.yaml` can replace the SSH Workers with Workers of
|
|
14
|
+
* another kind.
|
|
15
|
+
*/
|
|
16
|
+
export const withSshWorkerDiscard = (instanceDirectory, make) => Layer.unwrap(Effect.map(sshWorkerRecordsFor(sshWorkerRecordsDirectory(instanceDirectory)), ({ discard }) => make(discard))).pipe(Layer.provide(NodeServices.layer));
|
|
8
17
|
/** Returns the SSH Workers that `usine.yaml` declares, in declared order. */
|
|
9
18
|
export const sshWorkersOf = (config) => config.workers.filter((worker) => worker.kind === "ssh");
|
|
19
|
+
/** Returns the variable named `variable` from the orchestrator's environment. */
|
|
20
|
+
const secretFrom = (worker, capability, variable, message) => Config.Redacted(variable).pipe(Effect.mapError((cause) => new WorkerCapabilityError({
|
|
21
|
+
worker: worker.name,
|
|
22
|
+
capability,
|
|
23
|
+
message,
|
|
24
|
+
cause,
|
|
25
|
+
})));
|
|
26
|
+
/**
|
|
27
|
+
* Returns how the executor finds `worker`'s machines: its destination, or its provisioner with
|
|
28
|
+
* the provider token and API keys read from their variables.
|
|
29
|
+
*/
|
|
30
|
+
const sshWorkerMachineOf = (worker, missing) => Effect.gen(function* () {
|
|
31
|
+
if (Option.isNone(worker.provisioner)) {
|
|
32
|
+
if (Option.isNone(worker.destination))
|
|
33
|
+
return yield* Effect.die(new Error(`SSH worker "${worker.name}" has no destination`));
|
|
34
|
+
return { _tag: "Fixed", destination: worker.destination.value };
|
|
35
|
+
}
|
|
36
|
+
const settings = worker.provisioner.value;
|
|
37
|
+
const token = yield* secretFrom(worker, "provider", settings.tokenEnv, missing(`${settings.provider} API token`, settings.tokenEnv, "provisioner.token_env"));
|
|
38
|
+
const apiKey = (provider, label) => Effect.transposeOption(Option.map(settings.apiKeys[provider], (variable) => secretFrom(worker, "harness-login", variable, missing(label, variable, `provisioner.api_keys.${provider}`))));
|
|
39
|
+
const apiKeys = {
|
|
40
|
+
anthropic: yield* apiKey("anthropic", "Anthropic API key"),
|
|
41
|
+
openai: yield* apiKey("openai", "OpenAI API key"),
|
|
42
|
+
};
|
|
43
|
+
switch (settings.provider) {
|
|
44
|
+
case "hetzner":
|
|
45
|
+
return {
|
|
46
|
+
_tag: "Provisioned",
|
|
47
|
+
provisioner: {
|
|
48
|
+
provider: "hetzner",
|
|
49
|
+
token,
|
|
50
|
+
serverType: settings.serverType,
|
|
51
|
+
location: settings.location,
|
|
52
|
+
image: settings.image,
|
|
53
|
+
network: settings.network,
|
|
54
|
+
firewall: settings.firewall,
|
|
55
|
+
sshKey: settings.sshKey,
|
|
56
|
+
sshUser: settings.sshUser,
|
|
57
|
+
labels: settings.labels,
|
|
58
|
+
apiKeys,
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
case "boat":
|
|
62
|
+
return {
|
|
63
|
+
_tag: "Provisioned",
|
|
64
|
+
provisioner: { provider: "boat", token, size: settings.size, apiKeys },
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
});
|
|
10
68
|
/**
|
|
11
69
|
* Returns how the executor connects to `worker`, reading the Gateway admin token from
|
|
12
|
-
* `admin_token_env
|
|
70
|
+
* `admin_token_env` and a provisioner's token and API keys from their variables. Fails with a
|
|
71
|
+
* capability error if a variable is unset.
|
|
13
72
|
*/
|
|
14
73
|
const sshWorkerAddressOf = (worker, missing) => Effect.gen(function* () {
|
|
15
74
|
const gateway = yield* Effect.transposeOption(Option.map(worker.gateway, (settings) => Effect.gen(function* () {
|
|
16
|
-
const adminToken = yield* Config.
|
|
75
|
+
const adminToken = yield* Config.Redacted(settings.adminTokenEnv);
|
|
17
76
|
return {
|
|
18
77
|
domain: settings.domain,
|
|
19
78
|
destination: settings.destination,
|
|
@@ -24,42 +83,52 @@ const sshWorkerAddressOf = (worker, missing) => Effect.gen(function* () {
|
|
|
24
83
|
}).pipe(Effect.mapError((cause) => new WorkerCapabilityError({
|
|
25
84
|
worker: worker.name,
|
|
26
85
|
capability: "gateway",
|
|
27
|
-
message: missing(settings.adminTokenEnv),
|
|
86
|
+
message: missing("gateway admin token", settings.adminTokenEnv, "admin_token_env"),
|
|
28
87
|
cause,
|
|
29
88
|
})))));
|
|
30
89
|
return {
|
|
31
90
|
name: worker.name,
|
|
32
|
-
|
|
91
|
+
machine: yield* sshWorkerMachineOf(worker, missing),
|
|
33
92
|
identityFile: worker.identityFile,
|
|
34
93
|
port: worker.port,
|
|
35
94
|
root: worker.root,
|
|
36
95
|
gateway,
|
|
96
|
+
container: {
|
|
97
|
+
image: worker.container.image,
|
|
98
|
+
cpus: worker.container.cpus,
|
|
99
|
+
memoryMib: worker.container.memoryMib,
|
|
100
|
+
pids: worker.container.pids,
|
|
101
|
+
},
|
|
37
102
|
};
|
|
38
103
|
});
|
|
39
104
|
/**
|
|
40
|
-
* Returns how the executor connects to each declared SSH Worker, reading Gateway admin tokens
|
|
41
|
-
* startup. If
|
|
105
|
+
* Returns how the executor connects to each declared SSH Worker, reading Gateway admin tokens and
|
|
106
|
+
* provisioner tokens and API keys at startup. If a variable is unset, fails with a capability
|
|
107
|
+
* error that names it.
|
|
42
108
|
*/
|
|
43
109
|
export const sshWorkerAddressesOf = Effect.fn("Orchestrator.sshWorkerAddressesOf")(function* (config) {
|
|
44
|
-
return yield* Effect.forEach(sshWorkersOf(config), (worker) => sshWorkerAddressOf(worker, (variable) => `The
|
|
110
|
+
return yield* Effect.forEach(sshWorkersOf(config), (worker) => sshWorkerAddressOf(worker, (secret, variable) => `The ${secret} for SSH worker "${worker.name}" is missing. Set ${variable} in the orchestrator's environment.`));
|
|
45
111
|
});
|
|
46
112
|
/**
|
|
47
113
|
* Provides the scheduler over the SSH executor, so reloads can resize, add, and remove SSH Workers.
|
|
48
114
|
* A reload that adds a Worker fails with a `gateway` capability error if its `admin_token_env`
|
|
49
|
-
* variable is unset.
|
|
115
|
+
* variable is unset. `options.discard` is `StepExecutor.discard`.
|
|
50
116
|
*/
|
|
51
|
-
export const sshStepExecutorLayer = (config, brains) => Layer.unwrap(Effect.gen(function* () {
|
|
117
|
+
export const sshStepExecutorLayer = (config, brains, options = {}) => Layer.unwrap(Effect.gen(function* () {
|
|
52
118
|
const machines = yield* SshWorkers;
|
|
119
|
+
const provisioned = yield* Effect.serviceOption(WorkerMachines);
|
|
53
120
|
const environment = yield* ConfigProvider.ConfigProvider;
|
|
54
121
|
const add = Effect.fn("Orchestrator.addSshWorker")(function* (worker) {
|
|
55
122
|
yield* Effect.annotateCurrentSpan({ worker: worker.name });
|
|
56
123
|
if (worker.kind !== "ssh")
|
|
57
124
|
return yield* Effect.die(new Error(`The SSH executor cannot run worker "${worker.name}" of kind ${worker.kind}`));
|
|
58
|
-
const address = yield* sshWorkerAddressOf(worker, (variable) => `The
|
|
125
|
+
const address = yield* sshWorkerAddressOf(worker, (secret, variable, key) => `The ${secret} for SSH worker "${worker.name}" is missing: ${variable} is not set in the orchestrator's environment. usine up reads only the variables that were set when it started. Set ${variable} and restart usine up, or set ${key} to a variable that usine up already has.`).pipe(Effect.provideService(ConfigProvider.ConfigProvider, environment));
|
|
59
126
|
yield* machines.addWorker(address);
|
|
60
127
|
});
|
|
61
128
|
return stepExecutorLayer(config, brains, {
|
|
129
|
+
...options,
|
|
62
130
|
workers: { add, remove: machines.removeWorker },
|
|
131
|
+
...Option.match(provisioned, { onNone: () => ({}), onSome: (machines) => ({ machines }) }),
|
|
63
132
|
});
|
|
64
133
|
}));
|
|
65
134
|
/**
|
|
@@ -68,8 +137,8 @@ export const sshStepExecutorLayer = (config, brains) => Layer.unwrap(Effect.gen(
|
|
|
68
137
|
* and `CurrentInstance`.
|
|
69
138
|
*/
|
|
70
139
|
export const layer = (instanceDirectory, config, brains, options) => {
|
|
71
|
-
const executor = sshExecutorLayer(options).pipe(Layer.provide(NodeServices.layer), Layer.provide(
|
|
72
|
-
const stepExecutor = sshStepExecutorLayer(config, brains).pipe(Layer.provide(executor));
|
|
140
|
+
const executor = sshExecutorLayer(options).pipe(Layer.provide(NodeServices.layer), Layer.provide(externalHttpClientLayer));
|
|
141
|
+
const stepExecutor = withSshWorkerDiscard(instanceDirectory, (discard) => sshStepExecutorLayer(config, brains, { discard })).pipe(Layer.provide(executor));
|
|
73
142
|
return localEngineLayer(instanceDirectory).pipe(Layer.provideMerge(stepExecutor));
|
|
74
143
|
};
|
|
75
144
|
//# sourceMappingURL=ssh.js.map
|
package/dist/ssh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../src/ssh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,OAAO,EAAE,KAAK,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../src/ssh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,OAAO,EAAE,KAAK,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EACL,KAAK,IAAI,gBAAgB,EAIzB,mBAAmB,EACnB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAA4B,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,gGAAgG;AAChG,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,iBAAoC,EAAU,EAAE,CACxF,GAAG,iBAAiB,qBAAqB,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,iBAAoC,EACpC,IAAoF,EACpF,EAAE,CACF,KAAK,CAAC,MAAM,CACV,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC5F,IAAI,CAAC,OAAO,CAAC,CACd,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAE5C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAmB,EAA4B,EAAE,CAC5E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAuB,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;AAQhF,iFAAiF;AACjF,MAAM,UAAU,GAAG,CACjB,MAAiB,EACjB,UAAoD,EACpD,QAAgB,EAChB,OAAe,EACf,EAAE,CACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC5B,MAAM,CAAC,QAAQ,CACb,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,qBAAqB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,IAAI;IACnB,UAAU;IACV,OAAO;IACP,KAAK;CACN,CAAC,CACL,CACF,CAAC;AAEJ;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,MAAiB,EAAE,OAAsB,EAAE,EAAE,CACvE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YACnC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC;QACxF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,EAA6B,CAAC;IAC7F,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,UAAU,CAC7B,MAAM,EACN,UAAU,EACV,QAAQ,CAAC,QAAQ,EACjB,OAAO,CAAC,GAAG,QAAQ,CAAC,QAAQ,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CACtF,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,QAAgC,EAAE,KAAa,EAAE,EAAE,CACjE,MAAM,CAAC,eAAe,CACpB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAClD,UAAU,CACR,MAAM,EACN,eAAe,EACf,QAAQ,EACR,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,wBAAwB,QAAQ,EAAE,CAAC,CAC7D,CACF,CACF,CAAC;IACJ,MAAM,OAAO,GAAG;QACd,SAAS,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;QAC1D,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClD,CAAC;IACF,QAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1B,KAAK,SAAS;YACZ,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE;oBACX,QAAQ,EAAE,SAAS;oBACnB,KAAK;oBACL,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO;iBACR;aACyB,CAAC;QAC/B,KAAK,MAAM;YACT,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE;aAC5C,CAAC;IACjC,CAAC;AACH,CAAC,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CAAC,MAAiB,EAAE,OAAsB,EAAE,EAAE,CACvE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAC3C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CACtC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAClE,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU;YACV,YAAY,EAAE,QAAQ,CAAC,YAAY;SACpC,CAAC;IACJ,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CACb,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,qBAAqB,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,OAAO,CAAC,qBAAqB,EAAE,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;QAClF,KAAK;KACN,CAAC,CACL,CACF,CACF,CACF,CAAC;IACF,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC;QACnD,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO;QACP,SAAS,EAAE;YACT,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;YAC7B,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS;YACrC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;SAC5B;KACyB,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,EAAE,CAAC,mCAAmC,CAAC,CAAC,QAAQ,CAAC,EAC1F,MAAmB;IAEnB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAC5D,kBAAkB,CAChB,MAAM,EACN,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CACnB,OAAO,MAAM,oBAAoB,MAAM,CAAC,IAAI,qBAAqB,QAAQ,qCAAqC,CACjH,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAmB,EACnB,MAAgC,EAChC,OAAO,GAAyC,EAAE,EAClD,EAAE,CACF,KAAK,CAAC,MAAM,CACV,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;IACnC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAoB;QAChF,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;YACvB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACtB,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,IAAI,EAAE,CAAC,CACxF,CAAC;QACJ,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,kBAAkB,CACvC,MAAM,EACN,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CACxB,OAAO,MAAM,oBAAoB,MAAM,CAAC,IAAI,iBAAiB,QAAQ,uHAAuH,QAAQ,iCAAiC,GAAG,2CAA2C,CACtR,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;QAC1E,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE;QACvC,GAAG,OAAO;QACV,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE;QAC/C,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;KAC3F,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC;AAEJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,iBAAoC,EACpC,MAAmB,EACnB,MAAgC,EAChC,OAA2B,EAC3B,EAAE;IACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7C,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EACjC,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,CACvC,CAAC;IACF,MAAM,YAAY,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,CACvE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAClD,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChC,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC"}
|
package/dist/worker-engine.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import type { UsineConfig } from "@usine/config/factory";
|
|
2
2
|
import type { BrainSpec } from "@usine/core/agent/brain";
|
|
3
|
-
import type { InstanceDirectory } from "@usine/core/instance";
|
|
3
|
+
import type { InstanceDirectory, InstanceId } from "@usine/core/instance";
|
|
4
|
+
import { GitHubCredentials } from "@usine/github/github-app";
|
|
4
5
|
import { Layer } from "effect";
|
|
5
6
|
/**
|
|
6
|
-
* Provides the engine for the Workers in `config`: the SSH executor if every Worker is `ssh`,
|
|
7
|
-
* otherwise the local one. Fails at startup
|
|
7
|
+
* Provides the engine for the Workers in `config`: the SSH executor if every Worker is `ssh`, the
|
|
8
|
+
* Cloudflare executor if every Worker is `cloudflare`, otherwise the local one. Fails at startup
|
|
9
|
+
* with `UnsupportedWorkerError` on any other mix. The SSH executor labels its Attempt containers
|
|
10
|
+
* with `instanceId`, so that instances that share the GitHub App and a machine keep each other's.
|
|
8
11
|
*/
|
|
9
|
-
export declare const workerEngineLayer: (instanceDirectory: InstanceDirectory, config: UsineConfig, brains: ReadonlyArray<BrainSpec>) => Layer.Layer<import("@usine/engine/board-moves").BoardMoves | import("@usine/engine/cursor").CursorStore | import("@usine/engine/cycle-budget").CycleBudgets | import("@usine/engine/item-projection").ItemProjectionReader | import("@usine/engine/item-projection").ItemProjectionWriter | import("@usine/engine/loop-control").LoopControl | import("@usine/engine/repository-label-projection").RepositoryLabelProjectionReader | import("@usine/engine/repository-label-projection").RepositoryLabelProjectionWriter | import("@usine/engine/engine").RunEngine | import("@usine/engine/run-reader").RunReader | import("@usine/engine/step-executor").StepExecutor | import("./worker-status.ts").WorkerStatus, import("@usine/engine/engine").AttemptCancellationError | import("@usine/executor").CredentialUnavailableError | import("@usine/engine/engine").EnginePersistenceError | import("@usine/executor").ExecutorOperationError | import("@usine/engine/engine").RunInterventionRejectedError | import("@usine/engine/engine").RunNotFoundError | import("@usine/engine/engine").RunOperationRejectedError | import("@usine/engine/engine").RunRetryBlockedError | import("./scheduler.ts").UnsupportedWorkerError | import("@usine/executor").WorkerCapabilityError, import("@usine/durable/attempt-runtime").AttemptRuntime | import("@usine/agents/runtime").ClaudeLoginLock | import("@usine/executor").CredentialProvider | import("./current-instance/current-instance.ts").CurrentInstance | import("@usine/github/github-app").GitHubApp | import("@usine/engine/trigger-condition").TriggerCondition>;
|
|
12
|
+
export declare const workerEngineLayer: (instanceDirectory: InstanceDirectory, instanceId: InstanceId, config: UsineConfig, brains: ReadonlyArray<BrainSpec>) => Layer.Layer<import("@usine/engine/board-moves").BoardMoves | import("@usine/engine/cursor").CursorStore | import("@usine/engine/cycle-budget").CycleBudgets | import("@usine/engine/item-projection").ItemProjectionReader | import("@usine/engine/item-projection").ItemProjectionWriter | import("@usine/engine/loop-control").LoopControl | import("@usine/engine/repository-label-projection").RepositoryLabelProjectionReader | import("@usine/engine/repository-label-projection").RepositoryLabelProjectionWriter | import("@usine/engine/engine").RunEngine | import("@usine/engine/run-reader").RunReader | import("@usine/engine/step-executor").StepExecutor | import("@usine/engine/engine").UnconfirmedStops | import("./worker-status.ts").WorkerStatus, import("@usine/engine/engine").AttemptCancellationError | import("@usine/executor").CredentialUnavailableError | import("@usine/engine/engine").EnginePersistenceError | import("@usine/executor").ExecutorOperationError | import("@usine/engine/engine").RunInterventionRejectedError | import("@usine/engine/engine").RunNotFoundError | import("@usine/engine/engine").RunOperationRejectedError | import("@usine/engine/engine").RunRetryBlockedError | import("./scheduler.ts").UnsupportedWorkerError | import("@usine/executor").WorkerCapabilityError, import("@usine/durable/attempt-runtime").AttemptRuntime | import("@usine/agents/runtime").ClaudeLoginLock | import("@usine/executor").CredentialProvider | import("./current-instance/current-instance.ts").CurrentInstance | import("@usine/github/github-app").GitHubApp | GitHubCredentials | import("@usine/engine/trigger-condition").TriggerCondition>;
|
|
10
13
|
//# sourceMappingURL=worker-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-engine.d.ts","sourceRoot":"","sources":["../src/worker-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-engine.d.ts","sourceRoot":"","sources":["../src/worker-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAU,KAAK,EAAU,MAAM,QAAQ,CAAC;AAc/C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,sBACT,iBAAiB,cACxB,UAAU,UACd,WAAW,UACX,aAAa,CAAC,SAAS,CAAC,wmDA+C/B,CAAC"}
|
package/dist/worker-engine.js
CHANGED
|
@@ -1,23 +1,54 @@
|
|
|
1
|
+
import { GitHubCredentials } from "@usine/github/github-app";
|
|
1
2
|
import { Effect, Layer, Option } from "effect";
|
|
3
|
+
import { cloudflareWorkerAddressesOf, cloudflareWorkersOf, layer as cloudflareLayer, } from "./cloudflare.js";
|
|
2
4
|
import { layer as localLayer } from "./local.js";
|
|
3
|
-
import { layer as sshLayer, sshWorkerAddressesOf, sshWorkersOf } from "./ssh.js";
|
|
5
|
+
import { layer as sshLayer, sshWorkerAddressesOf, sshWorkerRecordsDirectory, sshWorkersOf, } from "./ssh.js";
|
|
4
6
|
/**
|
|
5
|
-
* Provides the engine for the Workers in `config`: the SSH executor if every Worker is `ssh`,
|
|
6
|
-
* otherwise the local one. Fails at startup
|
|
7
|
+
* Provides the engine for the Workers in `config`: the SSH executor if every Worker is `ssh`, the
|
|
8
|
+
* Cloudflare executor if every Worker is `cloudflare`, otherwise the local one. Fails at startup
|
|
9
|
+
* with `UnsupportedWorkerError` on any other mix. The SSH executor labels its Attempt containers
|
|
10
|
+
* with `instanceId`, so that instances that share the GitHub App and a machine keep each other's.
|
|
7
11
|
*/
|
|
8
|
-
export const workerEngineLayer = (instanceDirectory, config, brains) => Layer.unwrap(Effect.gen(function* () {
|
|
12
|
+
export const workerEngineLayer = (instanceDirectory, instanceId, config, brains) => Layer.unwrap(Effect.gen(function* () {
|
|
9
13
|
const ssh = sshWorkersOf(config);
|
|
10
14
|
const workers = config.workers.map(({ name }) => name).join(",");
|
|
11
15
|
if (ssh.length === config.workers.length) {
|
|
12
16
|
const addresses = yield* sshWorkerAddressesOf(config);
|
|
17
|
+
// The GitHub App is the instance's identity (ADR 0011).
|
|
18
|
+
const { appId } = yield* GitHubCredentials;
|
|
19
|
+
const instance = `github-app-${String(appId)}`;
|
|
13
20
|
yield* Effect.logInfo("Running Attempts on SSH Workers", {
|
|
14
21
|
workers,
|
|
22
|
+
instance,
|
|
23
|
+
instanceId,
|
|
15
24
|
behindGateway: addresses
|
|
16
25
|
.filter(({ gateway }) => Option.isSome(gateway))
|
|
17
26
|
.map(({ name }) => name)
|
|
18
27
|
.join(","),
|
|
28
|
+
provisioned: addresses
|
|
29
|
+
.filter(({ machine }) => machine._tag === "Provisioned")
|
|
30
|
+
.map(({ name }) => name)
|
|
31
|
+
.join(","),
|
|
32
|
+
});
|
|
33
|
+
return sshLayer(instanceDirectory, config, brains, {
|
|
34
|
+
workers: addresses,
|
|
35
|
+
instance,
|
|
36
|
+
instanceId,
|
|
37
|
+
knownHostsDirectory: `${instanceDirectory}/.usine/known-hosts`,
|
|
38
|
+
workerRecordsDirectory: sshWorkerRecordsDirectory(instanceDirectory),
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
if (cloudflareWorkersOf(config).length === config.workers.length) {
|
|
42
|
+
const addresses = yield* cloudflareWorkerAddressesOf(config);
|
|
43
|
+
// The GitHub App is the instance's identity (ADR 0011).
|
|
44
|
+
const { appId } = yield* GitHubCredentials;
|
|
45
|
+
const instance = `github-app-${String(appId)}`;
|
|
46
|
+
yield* Effect.logInfo("Running Attempts in Cloudflare sandboxes", {
|
|
47
|
+
workers,
|
|
48
|
+
instance,
|
|
49
|
+
workerUrls: addresses.map(({ workerUrl }) => workerUrl.origin).join(","),
|
|
19
50
|
});
|
|
20
|
-
return
|
|
51
|
+
return cloudflareLayer(instanceDirectory, config, brains, { workers: addresses, instance });
|
|
21
52
|
}
|
|
22
53
|
yield* Effect.logInfo("Running Attempts with the local executor", { workers });
|
|
23
54
|
return localLayer(instanceDirectory, config, brains, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-engine.js","sourceRoot":"","sources":["../src/worker-engine.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"worker-engine.js","sourceRoot":"","sources":["../src/worker-engine.ts"],"names":[],"mappings":"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"}
|