@the-open-engine/zeroshot 6.27.0 → 6.29.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/README.md +3 -3
- package/cli/index.js +28 -21
- package/docker/zeroshot-cluster/Dockerfile +2 -3
- package/docker/zeroshot-oecp/Cargo.toml +12 -0
- package/docker/zeroshot-oecp/Dockerfile +65 -0
- package/docker/zeroshot-oecp/src/main.rs +32 -0
- package/lib/agent-cli-provider/adapters/codex.d.ts.map +1 -1
- package/lib/agent-cli-provider/adapters/codex.js +1 -0
- package/lib/agent-cli-provider/adapters/codex.js.map +1 -1
- package/lib/cluster-worker/engine-adapter.js +11 -15
- package/lib/cluster-worker/engine-input.js +14 -0
- package/lib/cluster-worker/profiles.js +42 -1
- package/lib/start-cluster.js +3 -3
- package/lib/target/bounded-json.d.ts +6 -0
- package/lib/target/bounded-json.js +43 -0
- package/lib/target/credential-lock.d.ts +1 -0
- package/lib/target/credential-lock.js +38 -0
- package/lib/target/credential-store.d.ts +27 -0
- package/lib/target/credential-store.js +113 -0
- package/lib/target/device-flow.d.ts +42 -0
- package/lib/target/device-flow.js +109 -0
- package/lib/target/discovery.d.ts +12 -0
- package/lib/target/discovery.js +97 -0
- package/lib/target/hosted-run/client.d.ts +26 -0
- package/lib/target/hosted-run/client.js +158 -0
- package/lib/target/hosted-run/commands.d.ts +4 -0
- package/lib/target/hosted-run/commands.js +113 -0
- package/lib/target/hosted-run/contracts.d.ts +49 -0
- package/lib/target/hosted-run/contracts.js +3 -0
- package/lib/target/hosted-run/input.d.ts +5 -0
- package/lib/target/hosted-run/input.js +200 -0
- package/lib/target/hosted-run.d.ts +4 -0
- package/lib/target/hosted-run.js +12 -0
- package/lib/target/index.d.ts +6 -0
- package/lib/target/index.js +38 -0
- package/lib/target/target-registry.d.ts +45 -0
- package/lib/target/target-registry.js +132 -0
- package/lib/target/target-session.d.ts +40 -0
- package/lib/target/target-session.js +163 -0
- package/package.json +25 -7
- package/scripts/audit-production-dependencies.js +150 -0
- package/scripts/opcore-agent-gate.js +159 -0
- package/scripts/opcore-agent-tool-overlays.js +154 -0
- package/scripts/opcore-introduced-check.js +290 -0
- package/src/agent-cli-provider/adapters/codex.ts +1 -0
- package/src/isolation-manager.js +16 -1
- package/src/target/bounded-json.ts +48 -0
- package/src/target/credential-lock.ts +35 -0
- package/src/target/credential-store.ts +107 -0
- package/src/target/device-flow.ts +168 -0
- package/src/target/discovery.ts +131 -0
- package/src/target/hosted-run/client.ts +198 -0
- package/src/target/hosted-run/commands.ts +140 -0
- package/src/target/hosted-run/contracts.ts +53 -0
- package/src/target/hosted-run/input.ts +199 -0
- package/src/target/hosted-run.ts +8 -0
- package/src/target/index.ts +55 -0
- package/src/target/target-registry.ts +174 -0
- package/src/target/target-session.ts +253 -0
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
[](https://www.npmjs.com/package/@the-open-engine/zeroshot)
|
|
16
16
|
[](https://github.com/the-open-engine/zeroshot/actions/workflows/ci.yml)
|
|
17
17
|
[](LICENSE)
|
|
18
|
-
[](#install)
|
|
19
19
|
[](#install)
|
|
20
20
|
[](https://github.com/the-open-engine/zeroshot)
|
|
21
21
|
[](#the-open-engine)
|
|
@@ -43,7 +43,7 @@ Zeroshot is an open-source, multi-agent orchestration engine for autonomous soft
|
|
|
43
43
|
npm install -g @the-open-engine/zeroshot
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
Requires **Node ≥
|
|
46
|
+
Requires **Node ≥ 22** and at least one provider CLI (Claude Code, Codex, Gemini, or OpenCode). The package includes the pinned Opcore constraints CLI; repository hook activation remains explicit. Linux and macOS today; Windows is deferred.
|
|
47
47
|
|
|
48
48
|
<div align="center">
|
|
49
49
|
<img src="docs/assets/zeroshot-demo.gif" alt="Zeroshot resolving an issue through the executor-verifier loop" width="760">
|
|
@@ -207,7 +207,7 @@ Zeroshot is **Layer 01 · Verification** of [The Open Engine](https://theopeneng
|
|
|
207
207
|
| 02 | Constraints: **Opcore** | Sibling · alpha |
|
|
208
208
|
| 03-05 | Intent · Context · Runtime | In development |
|
|
209
209
|
|
|
210
|
-
Zeroshot runs the loop: an agent writes the change, and an **independent** verifier decides whether it holds: approve, or a reproducible failure. **Opcore** is the sibling layer, a deterministic, local, read-only **constraints** gate for coding agents
|
|
210
|
+
Zeroshot runs the loop: an agent writes the change, and an **independent** verifier decides whether it holds: approve, or a reproducible failure. **Opcore** is the sibling layer, a deterministic, local, read-only **constraints** gate for coding agents. Zeroshot packages Opcore `0.2.1` and uses introduced-change validation so existing repository debt never blocks an otherwise clean change. Verification asks _"does this meet the goal?"_; constraints ask _"is this within tolerance?"_
|
|
211
211
|
|
|
212
212
|
Each layer ships the same way: extracted from the platform we run, then opened. **Trust nothing. Verify everything.**
|
|
213
213
|
|
package/cli/index.js
CHANGED
|
@@ -2647,6 +2647,7 @@ Shell completion:
|
|
|
2647
2647
|
);
|
|
2648
2648
|
|
|
2649
2649
|
// Run command - CLUSTER with auto-detection
|
|
2650
|
+
|
|
2650
2651
|
program
|
|
2651
2652
|
.command('run <input>')
|
|
2652
2653
|
.description(
|
|
@@ -3958,7 +3959,12 @@ for (const providerName of VALID_PROVIDERS) {
|
|
|
3958
3959
|
|
|
3959
3960
|
// Settings management
|
|
3960
3961
|
const settingsCmd = program.command('settings').description('Manage zeroshot settings');
|
|
3961
|
-
const INTERNAL_SETTINGS_KEYS = new Set(['lastUpdateCheckClaim']);
|
|
3962
|
+
const INTERNAL_SETTINGS_KEYS = new Set(['lastUpdateCheckClaim', '_targets']);
|
|
3963
|
+
// Fail closed while hosted commands are unpublished. Keeping these names out of the
|
|
3964
|
+
// default `run` rewrite makes them unknown commands rather than local task input.
|
|
3965
|
+
// Do not add a registration import, environment gate, or preview path here; the only
|
|
3966
|
+
// hosted parser constructor lives in src/target/register-hosted-commands.ts.
|
|
3967
|
+
const UNREGISTERED_HOSTED_COMMAND_NAMES = new Set(['target', 'capsule']);
|
|
3962
3968
|
|
|
3963
3969
|
function visibleSettingKeys() {
|
|
3964
3970
|
return Object.keys(DEFAULT_SETTINGS).filter((key) => !INTERNAL_SETTINGS_KEYS.has(key));
|
|
@@ -4339,8 +4345,12 @@ function parseSettingValue(value) {
|
|
|
4339
4345
|
|
|
4340
4346
|
function resetGlobalSettings() {
|
|
4341
4347
|
mutateSettings((settings) => {
|
|
4348
|
+
const preserved = {};
|
|
4349
|
+
for (const key of INTERNAL_SETTINGS_KEYS) {
|
|
4350
|
+
if (key in settings) preserved[key] = settings[key];
|
|
4351
|
+
}
|
|
4342
4352
|
for (const key of Object.keys(settings)) delete settings[key];
|
|
4343
|
-
Object.assign(settings, JSON.parse(JSON.stringify({ ...DEFAULT_SETTINGS })));
|
|
4353
|
+
Object.assign(settings, JSON.parse(JSON.stringify({ ...DEFAULT_SETTINGS })), preserved);
|
|
4344
4354
|
});
|
|
4345
4355
|
}
|
|
4346
4356
|
|
|
@@ -4486,6 +4496,8 @@ settingsCmd.action(() => {
|
|
|
4486
4496
|
formatSettingsList(settings, true);
|
|
4487
4497
|
});
|
|
4488
4498
|
|
|
4499
|
+
// Hosted target commands intentionally NOT registered here — see src/target/register-hosted-commands.ts
|
|
4500
|
+
|
|
4489
4501
|
// Providers management
|
|
4490
4502
|
const providersCmd = program.command('providers').description('Manage AI providers');
|
|
4491
4503
|
providersCmd.action(async () => {
|
|
@@ -6046,6 +6058,16 @@ function isStartupUpdateEligible(argv, options = {}) {
|
|
|
6046
6058
|
});
|
|
6047
6059
|
}
|
|
6048
6060
|
|
|
6061
|
+
function applyDefaultCommand(args) {
|
|
6062
|
+
const firstArg = args[0];
|
|
6063
|
+
if (!firstArg || firstArg.startsWith('-')) return;
|
|
6064
|
+
|
|
6065
|
+
const commandNames = program.commands.map((command) => command.name());
|
|
6066
|
+
if (commandNames.includes(firstArg) || UNREGISTERED_HOSTED_COMMAND_NAMES.has(firstArg)) return;
|
|
6067
|
+
|
|
6068
|
+
process.argv.splice(2, 0, 'run');
|
|
6069
|
+
}
|
|
6070
|
+
|
|
6049
6071
|
// Main entry point
|
|
6050
6072
|
async function main() {
|
|
6051
6073
|
printLegacyDistroNotice();
|
|
@@ -6071,31 +6093,16 @@ async function main() {
|
|
|
6071
6093
|
checkForUpdates({ argv: startupArgs, eligibilityChecked: true });
|
|
6072
6094
|
}
|
|
6073
6095
|
|
|
6074
|
-
|
|
6096
|
+
const args = startupArgs;
|
|
6075
6097
|
|
|
6076
6098
|
if (args.length === 0) {
|
|
6077
6099
|
program.outputHelp();
|
|
6078
6100
|
return;
|
|
6079
6101
|
}
|
|
6080
6102
|
|
|
6081
|
-
//
|
|
6082
|
-
//
|
|
6083
|
-
args
|
|
6084
|
-
if (args.length > 0) {
|
|
6085
|
-
const firstArg = args[0];
|
|
6086
|
-
|
|
6087
|
-
// Skip if it's a flag/option (starts with -)
|
|
6088
|
-
// Skip if it's --help or --version (these are handled by commander)
|
|
6089
|
-
if (!firstArg.startsWith('-')) {
|
|
6090
|
-
// Get all registered command names
|
|
6091
|
-
const commandNames = program.commands.map((cmd) => cmd.name());
|
|
6092
|
-
|
|
6093
|
-
// If first arg is not a known command, prepend 'run'
|
|
6094
|
-
if (!commandNames.includes(firstArg)) {
|
|
6095
|
-
process.argv.splice(2, 0, 'run');
|
|
6096
|
-
}
|
|
6097
|
-
}
|
|
6098
|
-
}
|
|
6103
|
+
// Preserve the default local run shorthand without treating hosted-only command
|
|
6104
|
+
// names as task input in the stable parser.
|
|
6105
|
+
applyDefaultCommand(args);
|
|
6099
6106
|
|
|
6100
6107
|
program.parse();
|
|
6101
6108
|
}
|
|
@@ -4,12 +4,11 @@
|
|
|
4
4
|
# Build: docker build -t vibe-cluster-base vibe/cluster/docker/vibe-cluster/
|
|
5
5
|
# Usage: zeroshot run <task> --docker
|
|
6
6
|
|
|
7
|
-
FROM node:
|
|
7
|
+
FROM node:22-slim
|
|
8
8
|
|
|
9
9
|
# Upgrade npm to fix Arborist isDescendantOf bug (npm 10.x crash on complex peer deps)
|
|
10
10
|
# See: https://github.com/npm/cli/issues/7682
|
|
11
|
-
# Pinned to npm@11
|
|
12
|
-
# now requires node >=22 and breaks the build with EBADENGINE.
|
|
11
|
+
# Pinned to npm@11 to keep the container toolchain reproducible with the supported Node 22 line.
|
|
13
12
|
RUN npm install -g npm@11
|
|
14
13
|
|
|
15
14
|
# Version pinning for infrastructure tools
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
[package]
|
|
2
|
+
name = "zeroshot-oecp-server"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
edition.workspace = true
|
|
5
|
+
rust-version.workspace = true
|
|
6
|
+
license.workspace = true
|
|
7
|
+
repository.workspace = true
|
|
8
|
+
publish = false
|
|
9
|
+
|
|
10
|
+
[dependencies]
|
|
11
|
+
tokio.workspace = true
|
|
12
|
+
zeroshot-engine = { package = "zeroshot-rust", path = "../../zeroshot-rust" }
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# syntax=docker/dockerfile:1
|
|
2
|
+
|
|
3
|
+
# The server and the existing Node worker ship together because OECP is the
|
|
4
|
+
# in-capsule process boundary. Capsule allocation and termination remain owned
|
|
5
|
+
# by Zero Cloud's control plane and capsule agent.
|
|
6
|
+
FROM rust@sha256:14b9b5f47dcc6644d0f0c1b35a2c2c5d0124f67159aaee28a348627523459b55 AS rust-builder
|
|
7
|
+
# Security package revisions intentionally follow the pinned Alpine release repositories.
|
|
8
|
+
# hadolint ignore=DL3018
|
|
9
|
+
RUN apk add --no-cache musl-dev
|
|
10
|
+
WORKDIR /build
|
|
11
|
+
COPY Cargo.toml Cargo.lock rust-toolchain.toml ./
|
|
12
|
+
COPY crates ./crates
|
|
13
|
+
COPY zeroshot-rust ./zeroshot-rust
|
|
14
|
+
COPY docker/zeroshot-oecp ./docker/zeroshot-oecp
|
|
15
|
+
# musl does not expose renameat2 through libc, although the Linux syscall is
|
|
16
|
+
# available. Keep the portable source API on glibc and use the syscall binding
|
|
17
|
+
# only for this musl image build.
|
|
18
|
+
RUN sed -i 's/libc::renameat2(/libc::syscall(libc::SYS_renameat2,/' \
|
|
19
|
+
zeroshot-rust/src/workspace_lease/types.rs \
|
|
20
|
+
&& grep -Fq 'libc::syscall(libc::SYS_renameat2,' \
|
|
21
|
+
zeroshot-rust/src/workspace_lease/types.rs
|
|
22
|
+
RUN rustup component add --toolchain 1.97.0 rustfmt clippy \
|
|
23
|
+
&& cargo +1.97.0 build --locked --release -p zeroshot-oecp-server \
|
|
24
|
+
&& rustup default 1.97.0 \
|
|
25
|
+
&& rustup toolchain uninstall 1.96.0 1.96.1
|
|
26
|
+
|
|
27
|
+
FROM node@sha256:c2cc26d8f991c2db236ad51a61efee843c482372d6d22570787309d511694110 AS node-builder
|
|
28
|
+
ARG CODEX_VERSION=0.146.0
|
|
29
|
+
# Security package revisions intentionally follow the pinned Alpine release repositories.
|
|
30
|
+
# hadolint ignore=DL3018
|
|
31
|
+
RUN apk add --no-cache build-base python3
|
|
32
|
+
WORKDIR /opt/zeroshot
|
|
33
|
+
COPY package.json package-lock.json ./
|
|
34
|
+
RUN npm ci --omit=dev --ignore-scripts --no-audit --no-fund \
|
|
35
|
+
&& npm rebuild better-sqlite3 node-pty \
|
|
36
|
+
&& npm install --global --no-audit --no-fund "@openai/codex@${CODEX_VERSION}"
|
|
37
|
+
COPY . .
|
|
38
|
+
|
|
39
|
+
FROM node@sha256:c2cc26d8f991c2db236ad51a61efee843c482372d6d22570787309d511694110 AS runtime
|
|
40
|
+
ARG ZEROSHOT_MIN_DISK_GB=10
|
|
41
|
+
ENV ZEROSHOT_MIN_DISK_GB=${ZEROSHOT_MIN_DISK_GB}
|
|
42
|
+
# Security package revisions intentionally follow the pinned Alpine release repositories.
|
|
43
|
+
# hadolint ignore=DL3018
|
|
44
|
+
RUN apk add --no-cache bash build-base ca-certificates git github-cli openssl python3 tini \
|
|
45
|
+
&& install -d -m 1777 /tmp \
|
|
46
|
+
&& install -d -m 0750 -o node -g node /workspace
|
|
47
|
+
COPY --from=node-builder --chown=node:node /opt/zeroshot /opt/zeroshot
|
|
48
|
+
COPY --from=node-builder /usr/local/lib/node_modules/@openai /usr/local/lib/node_modules/@openai
|
|
49
|
+
COPY --from=rust-builder --chown=node:node /usr/local/cargo/bin /usr/local/cargo/bin
|
|
50
|
+
COPY --from=rust-builder --chown=node:node /usr/local/rustup /usr/local/rustup
|
|
51
|
+
COPY --from=rust-builder /build/target/release/zeroshot-oecp-server /usr/local/bin/zeroshot-oecp-server
|
|
52
|
+
RUN ln -s /opt/zeroshot/bin/zeroshot-cluster-worker.js /usr/local/bin/zeroshot-cluster-worker \
|
|
53
|
+
&& ln -s /opt/zeroshot/cli/index.js /usr/local/bin/zeroshot \
|
|
54
|
+
&& ln -s /usr/local/lib/node_modules/@openai/codex/bin/codex.js /usr/local/bin/codex \
|
|
55
|
+
&& for command in cargo cargo-clippy cargo-fmt clippy-driver rustc rustdoc rustfmt rustup; do \
|
|
56
|
+
ln -s "/usr/local/cargo/bin/${command}" "/usr/local/bin/${command}"; \
|
|
57
|
+
done
|
|
58
|
+
ENV RUSTUP_HOME=/usr/local/rustup
|
|
59
|
+
ENV PATH=/usr/local/cargo/bin:${PATH}
|
|
60
|
+
# The official Node image defines this stable application user.
|
|
61
|
+
# hadolint ignore=DL3066
|
|
62
|
+
USER node
|
|
63
|
+
WORKDIR /workspace
|
|
64
|
+
EXPOSE 8083 8084
|
|
65
|
+
ENTRYPOINT ["/sbin/tini", "--", "/usr/local/bin/zeroshot-oecp-server"]
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
use std::{error::Error, net::SocketAddr, sync::Arc};
|
|
2
|
+
|
|
3
|
+
use tokio::net::TcpListener;
|
|
4
|
+
use zeroshot_engine::hosted_oecp::{serve, HostedBackend, OECP_PORT};
|
|
5
|
+
|
|
6
|
+
#[tokio::main]
|
|
7
|
+
async fn main() -> Result<(), Box<dyn Error>> {
|
|
8
|
+
if std::env::args().nth(1).as_deref() == Some("--healthcheck") {
|
|
9
|
+
println!("zeroshot OECP server ready");
|
|
10
|
+
return Ok(());
|
|
11
|
+
}
|
|
12
|
+
let backend = Arc::new(HostedBackend::new());
|
|
13
|
+
let listener = TcpListener::bind(SocketAddr::from(([127, 0, 0, 1], OECP_PORT))).await?;
|
|
14
|
+
serve(listener, backend, shutdown_signal()).await?;
|
|
15
|
+
Ok(())
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
#[cfg(unix)]
|
|
19
|
+
async fn shutdown_signal() {
|
|
20
|
+
use tokio::signal::unix::{signal, SignalKind};
|
|
21
|
+
|
|
22
|
+
let mut terminate = signal(SignalKind::terminate()).expect("SIGTERM handler must install");
|
|
23
|
+
tokio::select! {
|
|
24
|
+
_ = tokio::signal::ctrl_c() => {}
|
|
25
|
+
_ = terminate.recv() => {}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
#[cfg(not(unix))]
|
|
30
|
+
async fn shutdown_signal() {
|
|
31
|
+
let _result = tokio::signal::ctrl_c().await;
|
|
32
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/codex.ts"],"names":[],"mappings":"AAGA,OAAO,EASL,KAAK,+BAA+B,EAGrC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/codex.ts"],"names":[],"mappings":"AAGA,OAAO,EASL,KAAK,+BAA+B,EAGrC,MAAM,UAAU,CAAC;AAoTlB,eAAO,MAAM,YAAY,EAAE,+BAoB1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const { cloneJson } = require('./object-utils');
|
|
4
|
+
const { inputFromRequest } = require('./engine-input');
|
|
4
5
|
|
|
5
6
|
const TERMINAL_TOPICS = new Set(['CLUSTER_COMPLETE', 'CLUSTER_FAILED']);
|
|
6
7
|
|
|
@@ -11,9 +12,14 @@ function messageKey(message) {
|
|
|
11
12
|
function terminalEventFromMessage(message) {
|
|
12
13
|
const data = message.content?.data || {};
|
|
13
14
|
if (message.topic === 'CLUSTER_COMPLETE') {
|
|
15
|
+
let prSummary = null;
|
|
16
|
+
if (typeof data.pr_url === 'string' && data.pr_url) {
|
|
17
|
+
const number = Number.isSafeInteger(data.pr_number) ? ` #${data.pr_number}` : '';
|
|
18
|
+
prSummary = `Pull request${number} created: ${data.pr_url}`;
|
|
19
|
+
}
|
|
14
20
|
return {
|
|
15
21
|
type: 'complete',
|
|
16
|
-
summary: data.reason || message.content?.text,
|
|
22
|
+
summary: prSummary || data.reason || message.content?.text,
|
|
17
23
|
...(Object.prototype.hasOwnProperty.call(data, 'result') ? { result: data.result } : {}),
|
|
18
24
|
...(Object.prototype.hasOwnProperty.call(data, 'artifacts')
|
|
19
25
|
? { artifacts: data.artifacts }
|
|
@@ -28,17 +34,6 @@ function terminalEventFromMessage(message) {
|
|
|
28
34
|
};
|
|
29
35
|
}
|
|
30
36
|
|
|
31
|
-
function inputFromRequest(request, artifactManifest) {
|
|
32
|
-
if (request.source === 'issue') return { issue: request.issue };
|
|
33
|
-
if (request.source === 'prompt') return { text: request.prompt };
|
|
34
|
-
return {
|
|
35
|
-
text:
|
|
36
|
-
'Execute the task described by this registry-staged, byte-free artifact manifest. ' +
|
|
37
|
-
'Do not request interactive input.\n' +
|
|
38
|
-
JSON.stringify(artifactManifest),
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
37
|
function resolveOrchestrator(options) {
|
|
43
38
|
if (options.orchestrator) return options.orchestrator;
|
|
44
39
|
const Orchestrator = options.Orchestrator || require('../../src/orchestrator');
|
|
@@ -238,16 +233,16 @@ class CurrentEngineAdapter {
|
|
|
238
233
|
this.stopPromise ||= this.stopResource();
|
|
239
234
|
return this.stopPromise;
|
|
240
235
|
}
|
|
236
|
+
|
|
241
237
|
async waitForAllocatedCluster() {
|
|
242
238
|
let cluster = this.orchestrator.getCluster(this.resource.clusterId);
|
|
243
239
|
while (!cluster && !this.startSettled && !this.closed) {
|
|
244
|
-
await new Promise((resolve) =>
|
|
245
|
-
setTimeout(resolve, 10);
|
|
246
|
-
});
|
|
240
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
|
247
241
|
cluster = this.orchestrator.getCluster(this.resource.clusterId);
|
|
248
242
|
}
|
|
249
243
|
return cluster;
|
|
250
244
|
}
|
|
245
|
+
|
|
251
246
|
stopAllocatedCluster(cluster = this.orchestrator.getCluster(this.resource.clusterId)) {
|
|
252
247
|
if (!cluster) return Promise.resolve(false);
|
|
253
248
|
if (cluster.state === 'stopped' || cluster.state === 'killed') return Promise.resolve(true);
|
|
@@ -256,6 +251,7 @@ class CurrentEngineAdapter {
|
|
|
256
251
|
.then(() => true);
|
|
257
252
|
return this.allocatedStopPromise;
|
|
258
253
|
}
|
|
254
|
+
|
|
259
255
|
async stopResource() {
|
|
260
256
|
this.cleanupPromise ||= this.waitForAllocatedCluster()
|
|
261
257
|
.then((cluster) => this.stopAllocatedCluster(cluster))
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function inputFromRequest(request, artifactManifest) {
|
|
4
|
+
if (request.source === 'issue') return { issue: request.issue };
|
|
5
|
+
if (request.source === 'prompt') return { text: request.prompt };
|
|
6
|
+
return {
|
|
7
|
+
text:
|
|
8
|
+
'Execute the task described by this registry-staged, byte-free artifact manifest. ' +
|
|
9
|
+
'Do not request interactive input.\n' +
|
|
10
|
+
JSON.stringify(artifactManifest),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
module.exports = { inputFromRequest };
|
|
@@ -24,6 +24,44 @@ const DEFAULT_PROVIDER_PROFILES = Object.freeze({
|
|
|
24
24
|
}),
|
|
25
25
|
});
|
|
26
26
|
|
|
27
|
+
const HOSTED_CODEX_OPENROUTER_PROFILE = 'provider.codex-openrouter@1';
|
|
28
|
+
const HOSTED_CODEX_OPENROUTER_PR_PROFILE = 'provider.codex-openrouter-pr@1';
|
|
29
|
+
const DEFAULT_HOSTED_MODEL = 'openai/gpt-5.4';
|
|
30
|
+
|
|
31
|
+
function providerProfilesFromEnvironment(environment = process.env) {
|
|
32
|
+
if (environment.ZEROSHOT_HOSTED_CODEX_OPENROUTER !== '1') {
|
|
33
|
+
return DEFAULT_PROVIDER_PROFILES;
|
|
34
|
+
}
|
|
35
|
+
const model = environment.ZEROSHOT_HOSTED_MODEL || DEFAULT_HOSTED_MODEL;
|
|
36
|
+
const levelOverrides = Object.freeze({
|
|
37
|
+
level1: Object.freeze({ model, reasoningEffort: 'medium' }),
|
|
38
|
+
level2: Object.freeze({ model, reasoningEffort: 'high' }),
|
|
39
|
+
level3: Object.freeze({ model, reasoningEffort: 'xhigh' }),
|
|
40
|
+
});
|
|
41
|
+
const hostedSettings = {
|
|
42
|
+
templateParams: { task_type: 'TASK' },
|
|
43
|
+
providerSettings: {
|
|
44
|
+
codex: {
|
|
45
|
+
defaultLevel: 'level2',
|
|
46
|
+
levelOverrides,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
return deepFreeze({
|
|
51
|
+
...DEFAULT_PROVIDER_PROFILES,
|
|
52
|
+
[HOSTED_CODEX_OPENROUTER_PROFILE]: {
|
|
53
|
+
configName: 'base-templates/single-worker',
|
|
54
|
+
providerOverride: 'codex',
|
|
55
|
+
settings: hostedSettings,
|
|
56
|
+
},
|
|
57
|
+
[HOSTED_CODEX_OPENROUTER_PR_PROFILE]: {
|
|
58
|
+
configName: 'base-templates/worker-validator',
|
|
59
|
+
providerOverride: 'codex',
|
|
60
|
+
settings: hostedSettings,
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
27
65
|
function own(map, key) {
|
|
28
66
|
return Object.prototype.hasOwnProperty.call(map, key) ? map[key] : null;
|
|
29
67
|
}
|
|
@@ -38,7 +76,7 @@ function validateBounds(bounds) {
|
|
|
38
76
|
|
|
39
77
|
function createDeploymentProfileRegistry(options = {}) {
|
|
40
78
|
const isolationProfiles = options.isolationProfiles || DEFAULT_ISOLATION_PROFILES;
|
|
41
|
-
const providerProfiles = options.providerProfiles ||
|
|
79
|
+
const providerProfiles = options.providerProfiles || providerProfilesFromEnvironment();
|
|
42
80
|
const defaultBounds = { ...DEFAULT_BOUNDS, ...(options.bounds || {}) };
|
|
43
81
|
validateBounds(defaultBounds);
|
|
44
82
|
const bounds = deepFreeze(defaultBounds);
|
|
@@ -77,5 +115,8 @@ module.exports = {
|
|
|
77
115
|
DEFAULT_BOUNDS,
|
|
78
116
|
DEFAULT_ISOLATION_PROFILES,
|
|
79
117
|
DEFAULT_PROVIDER_PROFILES,
|
|
118
|
+
HOSTED_CODEX_OPENROUTER_PROFILE,
|
|
119
|
+
HOSTED_CODEX_OPENROUTER_PR_PROFILE,
|
|
80
120
|
createDeploymentProfileRegistry,
|
|
121
|
+
providerProfilesFromEnvironment,
|
|
81
122
|
};
|
package/lib/start-cluster.js
CHANGED
|
@@ -176,17 +176,17 @@ function applyProviderOverrideToConfig(config, providerOverride, settings) {
|
|
|
176
176
|
console.log(chalk.dim(`Provider override: ${providerOverride} (all agents)`));
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
function resolveParameterizedConfigFile(config) {
|
|
179
|
+
function resolveParameterizedConfigFile(config, templateParams = {}) {
|
|
180
180
|
if (!config?.params || Object.keys(config.params).length === 0) {
|
|
181
181
|
return config;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
const resolver = new TemplateResolver(path.join(PACKAGE_ROOT, 'cluster-templates'));
|
|
185
|
-
return resolver.resolveTemplate(config,
|
|
185
|
+
return resolver.resolveTemplate(config, templateParams);
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
function prepareClusterConfig(config, settings = {}, providerOverride) {
|
|
189
|
-
const prepared = resolveParameterizedConfigFile(config);
|
|
189
|
+
const prepared = resolveParameterizedConfigFile(config, settings.templateParams || {});
|
|
190
190
|
ensureConfigProviderDefaults(prepared, settings);
|
|
191
191
|
if (providerOverride) {
|
|
192
192
|
applyProviderOverrideToConfig(prepared, providerOverride, settings);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readBoundedJson = readBoundedJson;
|
|
4
|
+
async function readBoundedJson(response, maxBytes, errors) {
|
|
5
|
+
const declared = response.headers.get('content-length');
|
|
6
|
+
if (declared !== null && Number(declared) > maxBytes)
|
|
7
|
+
throw errors.tooLarge();
|
|
8
|
+
const reader = response.body?.getReader();
|
|
9
|
+
if (!reader) {
|
|
10
|
+
const bytes = new Uint8Array(await response.arrayBuffer());
|
|
11
|
+
if (bytes.byteLength > maxBytes)
|
|
12
|
+
throw errors.tooLarge();
|
|
13
|
+
return parseJson(bytes, errors);
|
|
14
|
+
}
|
|
15
|
+
const chunks = [];
|
|
16
|
+
let total = 0;
|
|
17
|
+
for (;;) {
|
|
18
|
+
const { done, value } = await reader.read();
|
|
19
|
+
if (done)
|
|
20
|
+
break;
|
|
21
|
+
total += value.byteLength;
|
|
22
|
+
if (total > maxBytes) {
|
|
23
|
+
await reader.cancel();
|
|
24
|
+
throw errors.tooLarge();
|
|
25
|
+
}
|
|
26
|
+
chunks.push(value);
|
|
27
|
+
}
|
|
28
|
+
const bytes = new Uint8Array(total);
|
|
29
|
+
let offset = 0;
|
|
30
|
+
for (const chunk of chunks) {
|
|
31
|
+
bytes.set(chunk, offset);
|
|
32
|
+
offset += chunk.byteLength;
|
|
33
|
+
}
|
|
34
|
+
return parseJson(bytes, errors);
|
|
35
|
+
}
|
|
36
|
+
function parseJson(bytes, errors) {
|
|
37
|
+
try {
|
|
38
|
+
return JSON.parse(new TextDecoder().decode(bytes));
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
throw errors.invalid();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function acquireTargetLock(targetId: string): Promise<() => Promise<void>>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.acquireTargetLock = acquireTargetLock;
|
|
7
|
+
const node_fs_1 = require("node:fs");
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
10
|
+
// @ts-expect-error no declaration file for proper-lockfile
|
|
11
|
+
const proper_lockfile_1 = __importDefault(require("proper-lockfile"));
|
|
12
|
+
const LOCK_STALE_MS = 10_000;
|
|
13
|
+
const LOCK_RETRIES = 100;
|
|
14
|
+
const LOCK_RETRY_MIN_TIMEOUT_MS = 50;
|
|
15
|
+
const LOCK_RETRY_MAX_TIMEOUT_MS = 5_000;
|
|
16
|
+
async function acquireTargetLock(targetId) {
|
|
17
|
+
const lockDir = node_path_1.default.join(node_os_1.default.homedir(), '.zeroshot');
|
|
18
|
+
await node_fs_1.promises.mkdir(lockDir, { recursive: true });
|
|
19
|
+
const lockTarget = node_path_1.default.join(lockDir, `target-${targetId}.lock`);
|
|
20
|
+
try {
|
|
21
|
+
await node_fs_1.promises.writeFile(lockTarget, '', { flag: 'wx' });
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
if (err.code !== 'EEXIST')
|
|
25
|
+
throw err;
|
|
26
|
+
}
|
|
27
|
+
const release = await proper_lockfile_1.default.lock(lockTarget, {
|
|
28
|
+
stale: LOCK_STALE_MS,
|
|
29
|
+
retries: {
|
|
30
|
+
retries: LOCK_RETRIES,
|
|
31
|
+
minTimeout: LOCK_RETRY_MIN_TIMEOUT_MS,
|
|
32
|
+
maxTimeout: LOCK_RETRY_MAX_TIMEOUT_MS,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
return async () => {
|
|
36
|
+
await release();
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare class CredentialStoreUnavailableError extends Error {
|
|
2
|
+
constructor(message?: string);
|
|
3
|
+
}
|
|
4
|
+
export interface TargetCredentialStore {
|
|
5
|
+
get(service: string, account: string): Promise<string | null>;
|
|
6
|
+
set(service: string, account: string, token: string): Promise<void>;
|
|
7
|
+
delete(service: string, account: string): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare function targetServiceKey(targetId: string): string;
|
|
10
|
+
export declare const TARGET_ACCOUNT = "refresh-token";
|
|
11
|
+
export declare class KeyringCredentialStore implements TargetCredentialStore {
|
|
12
|
+
private readonly Entry;
|
|
13
|
+
private constructor();
|
|
14
|
+
static create(): Promise<KeyringCredentialStore>;
|
|
15
|
+
get(service: string, account: string): Promise<string | null>;
|
|
16
|
+
set(service: string, account: string, token: string): Promise<void>;
|
|
17
|
+
delete(service: string, account: string): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export declare class FakeCredentialStore implements TargetCredentialStore {
|
|
20
|
+
private readonly store;
|
|
21
|
+
private key;
|
|
22
|
+
get(service: string, account: string): Promise<string | null>;
|
|
23
|
+
set(service: string, account: string, token: string): Promise<void>;
|
|
24
|
+
delete(service: string, account: string): Promise<void>;
|
|
25
|
+
has(service: string, account: string): boolean;
|
|
26
|
+
clear(): void;
|
|
27
|
+
}
|