@usine/orchestrator 0.2.1 → 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 +174 -52
- package/dist/board/items.d.ts +22 -3
- package/dist/board/items.d.ts.map +1 -1
- package/dist/board/items.js +44 -4
- package/dist/board/items.js.map +1 -1
- package/dist/board/projection.d.ts +8 -1
- package/dist/board/projection.d.ts.map +1 -1
- package/dist/board/projection.js +63 -14
- package/dist/board/projection.js.map +1 -1
- package/dist/board/tasks.d.ts +15 -3
- package/dist/board/tasks.d.ts.map +1 -1
- package/dist/board/tasks.js +28 -9
- 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/credentials.d.ts +5 -6
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +22 -15
- package/dist/credentials.js.map +1 -1
- package/dist/current-instance/changes.d.ts +87 -0
- package/dist/current-instance/changes.d.ts.map +1 -0
- package/dist/current-instance/changes.js +141 -0
- package/dist/current-instance/changes.js.map +1 -0
- package/dist/current-instance/current-instance.d.ts +89 -0
- package/dist/current-instance/current-instance.d.ts.map +1 -0
- package/dist/current-instance/current-instance.js +163 -0
- package/dist/current-instance/current-instance.js.map +1 -0
- package/dist/exe-dev.d.ts +6 -2
- package/dist/exe-dev.d.ts.map +1 -1
- package/dist/exe-dev.js +10 -9
- 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/idle-triggers.d.ts +1 -1
- package/dist/idle-triggers.d.ts.map +1 -1
- package/dist/idle-triggers.js +1 -1
- package/dist/idle-triggers.js.map +1 -1
- package/dist/label-reconciler.d.ts +5 -2
- package/dist/label-reconciler.d.ts.map +1 -1
- package/dist/label-reconciler.js.map +1 -1
- 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 +4 -18
- package/dist/local.d.ts.map +1 -1
- package/dist/local.js +9 -45
- package/dist/local.js.map +1 -1
- package/dist/loop-matches.d.ts +28 -0
- package/dist/loop-matches.d.ts.map +1 -0
- package/dist/loop-matches.js +74 -0
- package/dist/loop-matches.js.map +1 -0
- package/dist/operator/attempt.d.ts +76 -10
- package/dist/operator/attempt.d.ts.map +1 -1
- package/dist/operator/attempt.js +69 -11
- package/dist/operator/attempt.js.map +1 -1
- package/dist/operator/board.d.ts +48 -16
- package/dist/operator/board.d.ts.map +1 -1
- package/dist/operator/board.js +48 -17
- package/dist/operator/board.js.map +1 -1
- package/dist/operator/configuration.d.ts +314 -0
- package/dist/operator/configuration.d.ts.map +1 -0
- package/dist/operator/configuration.js +490 -0
- package/dist/operator/configuration.js.map +1 -0
- package/dist/operator/desk.d.ts +206 -0
- package/dist/operator/desk.d.ts.map +1 -0
- package/dist/operator/desk.js +525 -0
- package/dist/operator/desk.js.map +1 -0
- package/dist/operator/github-changes.d.ts +88 -0
- package/dist/operator/github-changes.d.ts.map +1 -0
- package/dist/operator/github-changes.js +266 -0
- package/dist/operator/github-changes.js.map +1 -0
- package/dist/operator/http.d.ts +135 -105
- package/dist/operator/http.d.ts.map +1 -1
- package/dist/operator/http.js +155 -30
- 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 +58 -11
- package/dist/operator/need.d.ts.map +1 -1
- package/dist/operator/need.js +61 -9
- package/dist/operator/need.js.map +1 -1
- package/dist/operator/operator.d.ts +135 -29
- package/dist/operator/operator.d.ts.map +1 -1
- package/dist/operator/operator.js +370 -63
- package/dist/operator/operator.js.map +1 -1
- package/dist/operator/overview.d.ts +7 -7
- package/dist/operator/overview.d.ts.map +1 -1
- package/dist/operator/overview.js +5 -5
- package/dist/operator/overview.js.map +1 -1
- package/dist/operator/projection.d.ts +56 -5
- package/dist/operator/projection.d.ts.map +1 -1
- package/dist/operator/projection.js +108 -9
- package/dist/operator/projection.js.map +1 -1
- package/dist/operator/run.d.ts +101 -6
- package/dist/operator/run.d.ts.map +1 -1
- package/dist/operator/run.js +100 -7
- 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 +94 -0
- package/dist/operator/task.d.ts.map +1 -0
- package/dist/operator/task.js +204 -0
- package/dist/operator/task.js.map +1 -0
- package/dist/operator/transcript.d.ts +12 -12
- package/dist/operator/transcript.d.ts.map +1 -1
- package/dist/operator/transcript.js +11 -9
- package/dist/operator/transcript.js.map +1 -1
- package/dist/operator/usage.d.ts +103 -0
- package/dist/operator/usage.d.ts.map +1 -0
- package/dist/operator/usage.js +234 -0
- package/dist/operator/usage.js.map +1 -0
- package/dist/orchestrator.d.ts +8 -5
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +4 -2
- package/dist/orchestrator.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/cycle.d.ts +28 -10
- package/dist/polling/cycle.d.ts.map +1 -1
- package/dist/polling/cycle.js +20 -6
- package/dist/polling/cycle.js.map +1 -1
- package/dist/polling/evaluation-failures.d.ts +42 -0
- package/dist/polling/evaluation-failures.d.ts.map +1 -0
- package/dist/polling/evaluation-failures.js +103 -0
- package/dist/polling/evaluation-failures.js.map +1 -0
- package/dist/polling/hints.d.ts +2 -2
- package/dist/polling/hints.d.ts.map +1 -1
- package/dist/polling/hints.js +2 -2
- package/dist/polling/hints.js.map +1 -1
- package/dist/polling/loop-evaluation.d.ts +21 -11
- package/dist/polling/loop-evaluation.d.ts.map +1 -1
- package/dist/polling/loop-evaluation.js +70 -27
- package/dist/polling/loop-evaluation.js.map +1 -1
- package/dist/polling/open-issues.d.ts +23 -0
- package/dist/polling/open-issues.d.ts.map +1 -0
- package/dist/polling/open-issues.js +77 -0
- package/dist/polling/open-issues.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 +20 -11
- package/dist/polling/polling.d.ts.map +1 -1
- package/dist/polling/polling.js +215 -52
- package/dist/polling/polling.js.map +1 -1
- package/dist/polling/repository-sync.d.ts +21 -14
- package/dist/polling/repository-sync.d.ts.map +1 -1
- package/dist/polling/repository-sync.js +35 -28
- package/dist/polling/repository-sync.js.map +1 -1
- package/dist/polling-triggers.d.ts +1 -1
- package/dist/polling-triggers.d.ts.map +1 -1
- package/dist/polling-triggers.js +1 -1
- package/dist/polling-triggers.js.map +1 -1
- package/dist/reloads.d.ts +14 -0
- package/dist/reloads.d.ts.map +1 -0
- package/dist/reloads.js +7 -0
- package/dist/reloads.js.map +1 -0
- package/dist/runtime.d.ts +24 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +58 -0
- package/dist/runtime.js.map +1 -0
- package/dist/schedule-triggers.d.ts +14 -10
- package/dist/schedule-triggers.d.ts.map +1 -1
- package/dist/schedule-triggers.js +36 -31
- package/dist/schedule-triggers.js.map +1 -1
- package/dist/scheduler.d.ts +45 -5
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +587 -44
- package/dist/scheduler.js.map +1 -1
- package/dist/ssh.d.ts +103 -0
- package/dist/ssh.d.ts.map +1 -0
- package/dist/ssh.js +144 -0
- package/dist/ssh.js.map +1 -0
- package/dist/trigger-condition.d.ts +12 -0
- package/dist/trigger-condition.d.ts.map +1 -0
- package/dist/trigger-condition.js +88 -0
- package/dist/trigger-condition.js.map +1 -0
- package/dist/trigger-submission.d.ts +16 -13
- package/dist/trigger-submission.d.ts.map +1 -1
- package/dist/trigger-submission.js +19 -14
- package/dist/trigger-submission.js.map +1 -1
- package/dist/worker-engine.d.ts +13 -0
- package/dist/worker-engine.d.ts.map +1 -0
- package/dist/worker-engine.js +56 -0
- package/dist/worker-engine.js.map +1 -0
- package/dist/worker-status.d.ts +140 -0
- package/dist/worker-status.d.ts.map +1 -0
- package/dist/worker-status.js +76 -0
- package/dist/worker-status.js.map +1 -0
- package/package.json +47 -22
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
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { NodeServices } from "@effect/platform-node";
|
|
2
|
+
import type { SshWorker, UsineConfig } from "@usine/config/factory";
|
|
3
|
+
import type { BrainSpec } from "@usine/core/agent/brain";
|
|
4
|
+
import type { InstanceDirectory } from "@usine/core/instance";
|
|
5
|
+
import { WorkerCapabilityError } from "@usine/executor";
|
|
6
|
+
import { type SshExecutorOptions, SshWorkers } from "@usine/executor/ssh";
|
|
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>>;
|
|
18
|
+
/** Returns the SSH Workers that `usine.yaml` declares, in declared order. */
|
|
19
|
+
export declare const sshWorkersOf: (config: UsineConfig) => ReadonlyArray<SshWorker>;
|
|
20
|
+
/**
|
|
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.
|
|
24
|
+
*/
|
|
25
|
+
export declare const sshWorkerAddressesOf: (config: UsineConfig) => Effect.Effect<{
|
|
26
|
+
name: string & import("effect/Brand").Brand<"WorkerName">;
|
|
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
|
+
};
|
|
74
|
+
identityFile: Option.Option<string & import("effect/Brand").Brand<"SshIdentityFile">>;
|
|
75
|
+
port: Option.Option<number & import("effect/Brand").Brand<"SshPort">>;
|
|
76
|
+
root: string & import("effect/Brand").Brand<"WorkerRoot">;
|
|
77
|
+
gateway: Option.Option<{
|
|
78
|
+
domain: string & import("effect/Brand").Brand<"GatewayDomain">;
|
|
79
|
+
destination: string & import("effect/Brand").Brand<"SshDestination">;
|
|
80
|
+
adminPort: number & import("effect/Brand").Brand<"GatewayAdminPort">;
|
|
81
|
+
adminToken: import("effect/Redacted").Redacted<string>;
|
|
82
|
+
llmProviders: readonly ("anthropic" | "openai")[];
|
|
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
|
+
};
|
|
90
|
+
}[], WorkerCapabilityError, never>;
|
|
91
|
+
/**
|
|
92
|
+
* Provides the scheduler over the SSH executor, so reloads can resize, add, and remove SSH Workers.
|
|
93
|
+
* A reload that adds a Worker fails with a `gateway` capability error if its `admin_token_env`
|
|
94
|
+
* variable is unset. `options.discard` is `StepExecutor.discard`.
|
|
95
|
+
*/
|
|
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>;
|
|
97
|
+
/**
|
|
98
|
+
* Provides the full engine and `WorkerStatus` for SSH Workers. Requires `CredentialProvider`,
|
|
99
|
+
* `GitHubApp`, `TriggerCondition`, `AttemptRuntime` (built before the engine), `ClaudeLoginLock`,
|
|
100
|
+
* and `CurrentInstance`.
|
|
101
|
+
*/
|
|
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>;
|
|
103
|
+
//# sourceMappingURL=ssh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { NodeServices } from "@effect/platform-node";
|
|
2
|
+
import { layer as localEngineLayer } from "@usine/engine/local-sqlite";
|
|
3
|
+
import { WorkerCapabilityError, WorkerMachines } from "@usine/executor";
|
|
4
|
+
import { layer as sshExecutorLayer, sshWorkerRecordsFor, SshWorkers, } from "@usine/executor/ssh";
|
|
5
|
+
import { Config, ConfigProvider, Effect, Layer, Option } from "effect";
|
|
6
|
+
import { externalHttpClientLayer } from "./http-client.js";
|
|
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));
|
|
17
|
+
/** Returns the SSH Workers that `usine.yaml` declares, in declared order. */
|
|
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
|
+
});
|
|
68
|
+
/**
|
|
69
|
+
* Returns how the executor connects to `worker`, reading the Gateway admin token from
|
|
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.
|
|
72
|
+
*/
|
|
73
|
+
const sshWorkerAddressOf = (worker, missing) => Effect.gen(function* () {
|
|
74
|
+
const gateway = yield* Effect.transposeOption(Option.map(worker.gateway, (settings) => Effect.gen(function* () {
|
|
75
|
+
const adminToken = yield* Config.Redacted(settings.adminTokenEnv);
|
|
76
|
+
return {
|
|
77
|
+
domain: settings.domain,
|
|
78
|
+
destination: settings.destination,
|
|
79
|
+
adminPort: settings.adminPort,
|
|
80
|
+
adminToken,
|
|
81
|
+
llmProviders: settings.llmProviders,
|
|
82
|
+
};
|
|
83
|
+
}).pipe(Effect.mapError((cause) => new WorkerCapabilityError({
|
|
84
|
+
worker: worker.name,
|
|
85
|
+
capability: "gateway",
|
|
86
|
+
message: missing("gateway admin token", settings.adminTokenEnv, "admin_token_env"),
|
|
87
|
+
cause,
|
|
88
|
+
})))));
|
|
89
|
+
return {
|
|
90
|
+
name: worker.name,
|
|
91
|
+
machine: yield* sshWorkerMachineOf(worker, missing),
|
|
92
|
+
identityFile: worker.identityFile,
|
|
93
|
+
port: worker.port,
|
|
94
|
+
root: worker.root,
|
|
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
|
+
},
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
/**
|
|
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.
|
|
108
|
+
*/
|
|
109
|
+
export const sshWorkerAddressesOf = Effect.fn("Orchestrator.sshWorkerAddressesOf")(function* (config) {
|
|
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.`));
|
|
111
|
+
});
|
|
112
|
+
/**
|
|
113
|
+
* Provides the scheduler over the SSH executor, so reloads can resize, add, and remove SSH Workers.
|
|
114
|
+
* A reload that adds a Worker fails with a `gateway` capability error if its `admin_token_env`
|
|
115
|
+
* variable is unset. `options.discard` is `StepExecutor.discard`.
|
|
116
|
+
*/
|
|
117
|
+
export const sshStepExecutorLayer = (config, brains, options = {}) => Layer.unwrap(Effect.gen(function* () {
|
|
118
|
+
const machines = yield* SshWorkers;
|
|
119
|
+
const provisioned = yield* Effect.serviceOption(WorkerMachines);
|
|
120
|
+
const environment = yield* ConfigProvider.ConfigProvider;
|
|
121
|
+
const add = Effect.fn("Orchestrator.addSshWorker")(function* (worker) {
|
|
122
|
+
yield* Effect.annotateCurrentSpan({ worker: worker.name });
|
|
123
|
+
if (worker.kind !== "ssh")
|
|
124
|
+
return yield* Effect.die(new Error(`The SSH executor cannot run worker "${worker.name}" of kind ${worker.kind}`));
|
|
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));
|
|
126
|
+
yield* machines.addWorker(address);
|
|
127
|
+
});
|
|
128
|
+
return stepExecutorLayer(config, brains, {
|
|
129
|
+
...options,
|
|
130
|
+
workers: { add, remove: machines.removeWorker },
|
|
131
|
+
...Option.match(provisioned, { onNone: () => ({}), onSome: (machines) => ({ machines }) }),
|
|
132
|
+
});
|
|
133
|
+
}));
|
|
134
|
+
/**
|
|
135
|
+
* Provides the full engine and `WorkerStatus` for SSH Workers. Requires `CredentialProvider`,
|
|
136
|
+
* `GitHubApp`, `TriggerCondition`, `AttemptRuntime` (built before the engine), `ClaudeLoginLock`,
|
|
137
|
+
* and `CurrentInstance`.
|
|
138
|
+
*/
|
|
139
|
+
export const layer = (instanceDirectory, config, brains, options) => {
|
|
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));
|
|
142
|
+
return localEngineLayer(instanceDirectory).pipe(Layer.provideMerge(stepExecutor));
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=ssh.js.map
|
package/dist/ssh.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../src/ssh.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TriggerCondition } from "@usine/engine/trigger-condition";
|
|
2
|
+
import { ExpressionEngine } from "@usine/expression/expression-engine";
|
|
3
|
+
import { GitHubPolling } from "@usine/github/polling";
|
|
4
|
+
import { Layer } from "effect";
|
|
5
|
+
import { CurrentInstance } from "./current-instance/current-instance.ts";
|
|
6
|
+
/**
|
|
7
|
+
* Re-evaluates a queued Event's trigger against a fresh GitHub snapshot of its Item. Returns
|
|
8
|
+
* `item-gone` if the Item no longer exists, and `matches` on any other failure or after five
|
|
9
|
+
* seconds.
|
|
10
|
+
*/
|
|
11
|
+
export declare const triggerConditionLayer: Layer.Layer<TriggerCondition, never, CurrentInstance | ExpressionEngine | GitHubPolling>;
|
|
12
|
+
//# sourceMappingURL=trigger-condition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-condition.d.ts","sourceRoot":"","sources":["../src/trigger-condition.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAoC,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAU,KAAK,EAAkB,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAMzE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAC7C,gBAAgB,EAChB,KAAK,EACL,eAAe,GAAG,gBAAgB,GAAG,aAAa,CAkGnD,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { environmentFor, repositoryContext } from "@usine/config/payload-slices";
|
|
2
|
+
import { matchesSelector } from "@usine/config/selector";
|
|
3
|
+
import { canonicalRepositoryName } from "@usine/core/repository";
|
|
4
|
+
import { TriggerCondition } from "@usine/engine/trigger-condition";
|
|
5
|
+
import { ExpressionEngine } from "@usine/expression/expression-engine";
|
|
6
|
+
import { ChangedIssue, ChangedPullRequest, GitHubPolling } from "@usine/github/polling";
|
|
7
|
+
import { Effect, Layer, Option, Schema } from "effect";
|
|
8
|
+
import { CurrentInstance } from "./current-instance/current-instance.js";
|
|
9
|
+
import { repositoryFailureLogFields } from "./polling/cycle.js";
|
|
10
|
+
import { GitHubItemKey } from "./polling/repository-sync.js";
|
|
11
|
+
const decodeItemKey = Schema.decodeUnknownOption(GitHubItemKey);
|
|
12
|
+
/**
|
|
13
|
+
* Re-evaluates a queued Event's trigger against a fresh GitHub snapshot of its Item. Returns
|
|
14
|
+
* `item-gone` if the Item no longer exists, and `matches` on any other failure or after five
|
|
15
|
+
* seconds.
|
|
16
|
+
*/
|
|
17
|
+
export const triggerConditionLayer = Layer.effect(TriggerCondition, Effect.gen(function* () {
|
|
18
|
+
const github = yield* GitHubPolling;
|
|
19
|
+
const expressions = yield* ExpressionEngine;
|
|
20
|
+
const instances = yield* CurrentInstance;
|
|
21
|
+
const evaluate = Effect.fn("TriggerCondition.evaluate")(function* (submission) {
|
|
22
|
+
const fields = {
|
|
23
|
+
loop: submission.loop,
|
|
24
|
+
repository: submission.repository,
|
|
25
|
+
itemKey: submission.itemKey,
|
|
26
|
+
};
|
|
27
|
+
const instance = yield* instances.get;
|
|
28
|
+
const loop = instance.loops.find(({ name }) => name === submission.loop);
|
|
29
|
+
if (loop === undefined) {
|
|
30
|
+
yield* Effect.logInfo("Queued Event belongs to a Loop that is no longer loaded", fields);
|
|
31
|
+
return "no-longer-matches";
|
|
32
|
+
}
|
|
33
|
+
if (loop.trigger.on === "schedule")
|
|
34
|
+
return "matches";
|
|
35
|
+
const repository = instance.config.repos.find(({ name }) => canonicalRepositoryName(name) === canonicalRepositoryName(submission.repository));
|
|
36
|
+
if (repository === undefined || !matchesSelector(loop.selector, repository)) {
|
|
37
|
+
yield* Effect.logInfo("Queued Event's repository is no longer watched by its Loop", {
|
|
38
|
+
...fields,
|
|
39
|
+
managed: repository !== undefined,
|
|
40
|
+
});
|
|
41
|
+
return "no-longer-matches";
|
|
42
|
+
}
|
|
43
|
+
const item = decodeItemKey(submission.itemKey);
|
|
44
|
+
if (Option.isNone(item)) {
|
|
45
|
+
yield* Effect.logWarning("Queued Event's Item key is not a GitHub Item; opening as before", fields);
|
|
46
|
+
return "matches";
|
|
47
|
+
}
|
|
48
|
+
const [, , number] = item.value;
|
|
49
|
+
const changed = loop.trigger.on === "pr"
|
|
50
|
+
? new ChangedPullRequest({ number, updatedAt: submission.event.receivedAt })
|
|
51
|
+
: new ChangedIssue({ number, updatedAt: submission.event.receivedAt });
|
|
52
|
+
const snapshot = yield* github.snapshot(repository.name, changed);
|
|
53
|
+
const holds = yield* expressions.evaluateBoolean(loop.trigger.if, environmentFor(loop.trigger.on), { repo: repositoryContext(repository), item: snapshot.payload });
|
|
54
|
+
yield* Effect.logInfo("Queued Event re-evaluated against the Item's current state", {
|
|
55
|
+
...fields,
|
|
56
|
+
item: number,
|
|
57
|
+
contentHash: snapshot.contentHash,
|
|
58
|
+
holds,
|
|
59
|
+
});
|
|
60
|
+
return holds ? "matches" : "no-longer-matches";
|
|
61
|
+
});
|
|
62
|
+
const recheck = Effect.fn("TriggerCondition.recheck")(function* (submission) {
|
|
63
|
+
yield* Effect.annotateCurrentSpan({
|
|
64
|
+
loop: submission.loop,
|
|
65
|
+
repository: submission.repository,
|
|
66
|
+
itemKey: submission.itemKey,
|
|
67
|
+
});
|
|
68
|
+
// Bound the whole re-check so a stalled read cannot retain the closed
|
|
69
|
+
// Run's continuation and block the Item or an operator retry.
|
|
70
|
+
return yield* evaluate(submission).pipe(Effect.timeout("5 seconds"));
|
|
71
|
+
}, (effect, submission) => effect.pipe(Effect.catchTag("GitHubItemNotFoundError", (error) => Effect.logInfo("Queued Event's Item is gone from GitHub; its Events are revoked", {
|
|
72
|
+
loop: submission.loop,
|
|
73
|
+
repository: submission.repository,
|
|
74
|
+
itemKey: submission.itemKey,
|
|
75
|
+
item: error.item,
|
|
76
|
+
errorTag: error._tag,
|
|
77
|
+
message: error.message,
|
|
78
|
+
}).pipe(Effect.as("item-gone"))), Effect.catch((error) => Effect.logWarning("Trigger re-check failed; opening the queued Event as before", {
|
|
79
|
+
loop: submission.loop,
|
|
80
|
+
repository: submission.repository,
|
|
81
|
+
itemKey: submission.itemKey,
|
|
82
|
+
...(error._tag === "TimeoutError"
|
|
83
|
+
? { errorTag: error._tag, message: "Trigger re-check exceeded five seconds" }
|
|
84
|
+
: repositoryFailureLogFields(error)),
|
|
85
|
+
}).pipe(Effect.as("matches")))));
|
|
86
|
+
return { recheck };
|
|
87
|
+
}));
|
|
88
|
+
//# sourceMappingURL=trigger-condition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-condition.js","sourceRoot":"","sources":["../src/trigger-condition.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,15 @@ import { Agent } from "@usine/core/agent";
|
|
|
6
6
|
import { ModelId } from "@usine/core/agent/brain";
|
|
7
7
|
import { AttemptTask } from "@usine/core/attempt";
|
|
8
8
|
import { DedupKey } from "@usine/core/event";
|
|
9
|
-
import { CycleGeneration } from "@usine/core/cycle-budget";
|
|
9
|
+
import { CycleGeneration, type CycleLimit } from "@usine/core/cycle-budget";
|
|
10
10
|
import { ItemKey } from "@usine/core/item";
|
|
11
11
|
import { RepositoryRevision } from "@usine/core/repository";
|
|
12
12
|
import { Submission, type SubmissionResult } from "@usine/engine/engine";
|
|
13
13
|
import { type DateTime, Effect, Option, Schema } from "effect";
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* The revision for issue and schedule Attempts, which resolve the remote's default branch at
|
|
16
|
+
* prepare time.
|
|
17
|
+
*/
|
|
15
18
|
export declare const DEFAULT_BRANCH_REVISION: string & import("effect/Brand").Brand<"RepositoryRevision">;
|
|
16
19
|
export interface ResolvedLoop {
|
|
17
20
|
readonly agent: Agent;
|
|
@@ -23,21 +26,16 @@ declare const LoopAgentResolutionError_base: Schema.Class<LoopAgentResolutionErr
|
|
|
23
26
|
readonly agent: Schema.brand<Schema.String, "AgentName">;
|
|
24
27
|
readonly message: Schema.NonEmptyString;
|
|
25
28
|
}>, import("effect/Cause").YieldableError>;
|
|
26
|
-
/** The
|
|
29
|
+
/** The Agent of a loaded Loop is no longer in the roster. */
|
|
27
30
|
export declare class LoopAgentResolutionError extends LoopAgentResolutionError_base {
|
|
28
31
|
}
|
|
29
|
-
/** Resolves one
|
|
32
|
+
/** Resolves one Loop's roster Agent and effective parent model. */
|
|
30
33
|
export declare const resolveTriggerLoop: (instance: LoadedInstance, loop: LoopFile) => Effect.Effect<{
|
|
31
34
|
agent: Agent;
|
|
32
35
|
loop: LoopFile;
|
|
33
36
|
parentModel: Option.Option<string & import("effect/Brand").Brand<"ModelId">>;
|
|
34
37
|
}, LoopAgentResolutionError, never>;
|
|
35
|
-
/**
|
|
36
|
-
* Resolves every loaded loop's agent. `InstanceFolder.load` already quarantines
|
|
37
|
-
* loops that name unknown agents, so a miss here means a hand-assembled
|
|
38
|
-
* instance drifted: the loop is skipped with a log each cycle and its siblings
|
|
39
|
-
* keep running.
|
|
40
|
-
*/
|
|
38
|
+
/** Resolves every loaded Loop's Agent, skipping and logging each Loop whose Agent is missing. */
|
|
41
39
|
export declare const resolveTriggerLoops: (instance: LoadedInstance) => Effect.Effect<ResolvedLoop[], never, never>;
|
|
42
40
|
interface TriggerSubmissionOptions {
|
|
43
41
|
readonly agent: Agent;
|
|
@@ -52,11 +50,16 @@ interface TriggerSubmissionOptions {
|
|
|
52
50
|
readonly task: AttemptTask;
|
|
53
51
|
readonly parentModel: Option.Option<ModelId>;
|
|
54
52
|
}
|
|
55
|
-
/**
|
|
53
|
+
/** Returns the Loop's `max_cycles`, or `None` for a schedule Loop, whose Runs no budget counts. */
|
|
54
|
+
export declare const cycleLimitOf: (loop: LoopFile) => Option.Option<CycleLimit>;
|
|
55
|
+
/** Builds the Submission that every trigger stream sends to the engine. */
|
|
56
56
|
export declare const triggerSubmission: (options: TriggerSubmissionOptions) => Submission;
|
|
57
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* Returns the log fields for a submission outcome: the Run ID for a claim or suppression, the
|
|
59
|
+
* reason for an ignore.
|
|
60
|
+
*/
|
|
58
61
|
export declare const submissionLogFields: (submission: SubmissionResult) => Record<string, string>;
|
|
59
|
-
/**
|
|
62
|
+
/** Returns the log fields for a config failure during triggering. */
|
|
60
63
|
export declare const configFileErrorLogFields: (error: ConfigFileError) => {
|
|
61
64
|
configFile: string & import("effect/Brand").Brand<"InstancePath">;
|
|
62
65
|
configStage: "expression" | "frontmatter" | "read" | "reference" | "schema" | "yaml";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-submission.d.ts","sourceRoot":"","sources":["../src/trigger-submission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAiC,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAS,QAAQ,EAAW,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"trigger-submission.d.ts","sourceRoot":"","sources":["../src/trigger-submission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAiC,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAS,QAAQ,EAAW,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,EAAS,MAAM,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9E;;;GAGG;AACH,eAAO,MAAM,uBAAuB,6DAAkC,CAAC;AAEvE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CAC9C;;;;;;AAED,6DAA6D;AAC7D,qBAAa,wBAAyB,SAAQ,6BAM5C;CAAG;AAEL,mEAAmE;AACnE,eAAO,MAAM,kBAAkB;;;;mCAoB7B,CAAC;AAEH,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,2EAkB9B,CAAC;AAEH,UAAU,wBAAwB;IAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CAC9C;AAED,mGAAmG;AACnG,eAAO,MAAM,YAAY,SAAU,QAAQ,KAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CACQ,CAAC;AAE/E,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,YAAa,wBAAwB,KAAG,UAoBlE,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAgB,gBAAgB,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAOpF,CAAC;AAEL,qEAAqE;AACrE,eAAO,MAAM,wBAAwB,UAAW,eAAe;;;;;;;CAQ3D,CAAC"}
|