rivet-design 0.14.9 → 0.14.11
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/dist/agent-variants/SessionStore.d.ts +11 -1
- package/dist/agent-variants/SessionStore.d.ts.map +1 -1
- package/dist/agent-variants/SessionStore.js +18 -0
- package/dist/agent-variants/SessionStore.js.map +1 -1
- package/dist/agent-variants/WorkerExecutorService.d.ts +77 -9
- package/dist/agent-variants/WorkerExecutorService.d.ts.map +1 -1
- package/dist/agent-variants/WorkerExecutorService.js +202 -104
- package/dist/agent-variants/WorkerExecutorService.js.map +1 -1
- package/dist/agent-variants/WorktreeOrchestrator.d.ts +13 -0
- package/dist/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
- package/dist/agent-variants/WorktreeOrchestrator.js +25 -0
- package/dist/agent-variants/WorktreeOrchestrator.js.map +1 -1
- package/dist/agent-variants/contracts.d.ts +22 -0
- package/dist/agent-variants/contracts.d.ts.map +1 -1
- package/dist/agent-variants/contracts.js.map +1 -1
- package/dist/agent-variants/directionAuthoring.d.ts.map +1 -1
- package/dist/agent-variants/directionAuthoring.js +12 -0
- package/dist/agent-variants/directionAuthoring.js.map +1 -1
- package/dist/agent-variants/workItemBriefing.d.ts.map +1 -1
- package/dist/agent-variants/workItemBriefing.js +48 -16
- package/dist/agent-variants/workItemBriefing.js.map +1 -1
- package/dist/agent-variants/workerRuntime.d.ts +230 -0
- package/dist/agent-variants/workerRuntime.d.ts.map +1 -0
- package/dist/agent-variants/workerRuntime.js +705 -0
- package/dist/agent-variants/workerRuntime.js.map +1 -0
- package/dist/cli/commands/mcpServe.d.ts.map +1 -1
- package/dist/cli/commands/mcpServe.js +16 -1
- package/dist/cli/commands/mcpServe.js.map +1 -1
- package/dist/cli/commands/variants.d.ts.map +1 -1
- package/dist/cli/commands/variants.js +26 -0
- package/dist/cli/commands/variants.js.map +1 -1
- package/dist/cli/hostWorkNextAction.d.ts +4 -0
- package/dist/cli/hostWorkNextAction.d.ts.map +1 -1
- package/dist/cli/hostWorkNextAction.js.map +1 -1
- package/dist/cli/router.js +1 -1
- package/dist/cli/router.js.map +1 -1
- package/dist/routes/agentVariants.d.ts.map +1 -1
- package/dist/routes/agentVariants.js +15 -0
- package/dist/routes/agentVariants.js.map +1 -1
- package/dist/services/ConfigManager.d.ts +18 -0
- package/dist/services/ConfigManager.d.ts.map +1 -1
- package/dist/services/ConfigManager.js +15 -0
- package/dist/services/ConfigManager.js.map +1 -1
- package/dist/services/VariantGenerationService.d.ts +5 -0
- package/dist/services/VariantGenerationService.d.ts.map +1 -1
- package/dist/services/VariantGenerationService.js +42 -11
- package/dist/services/VariantGenerationService.js.map +1 -1
- package/dist/services/VariantHistoryService.d.ts +7 -0
- package/dist/services/VariantHistoryService.d.ts.map +1 -1
- package/dist/services/VariantHistoryService.js +1 -0
- package/dist/services/VariantHistoryService.js.map +1 -1
- package/dist/services/VariantRunService.d.ts.map +1 -1
- package/dist/services/VariantRunService.js +17 -3
- package/dist/services/VariantRunService.js.map +1 -1
- package/dist/services/VariantsRuntime.d.ts.map +1 -1
- package/dist/services/VariantsRuntime.js +6 -0
- package/dist/services/VariantsRuntime.js.map +1 -1
- package/dist/types/change-request-types.d.ts +22 -0
- package/dist/types/change-request-types.d.ts.map +1 -1
- package/dist/utils/hostAgentEnv.d.ts +19 -0
- package/dist/utils/hostAgentEnv.d.ts.map +1 -0
- package/dist/utils/hostAgentEnv.js +32 -0
- package/dist/utils/hostAgentEnv.js.map +1 -0
- package/dist/utils/skills/claude-skill.d.ts +2 -2
- package/dist/utils/skills/claude-skill.d.ts.map +1 -1
- package/dist/utils/skills/claude-skill.js +1 -1
- package/dist/utils/skills/cli-guidance.d.ts +2 -2
- package/dist/utils/skills/cli-guidance.d.ts.map +1 -1
- package/dist/utils/skills/cli-guidance.js +4 -2
- package/dist/utils/skills/cli-guidance.js.map +1 -1
- package/dist/utils/skills/cursor-rules.d.ts +2 -2
- package/dist/utils/skills/cursor-rules.d.ts.map +1 -1
- package/dist/utils/skills/cursor-rules.js +1 -1
- package/package.json +1 -1
- package/src/ui/dist/assets/{main-CQho_sDZ.js → main-EGX1lAi3.js} +2 -2
- package/src/ui/dist/index.html +1 -1
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { spawn } from 'child_process';
|
|
2
|
+
import { type BinaryProbe, type RunnerVendor } from '../cli/runnerSelection';
|
|
3
|
+
import type { WorkerEffortLevel } from '../hosts/workerDefaults';
|
|
4
|
+
import type { WorkerFidelity } from './contracts';
|
|
5
|
+
import type { WorkItemInitiator, WorkerSelection } from '../types/change-request-types';
|
|
6
|
+
/**
|
|
7
|
+
* Executor-only worker tier, discriminated by vendor so a codex tier can never
|
|
8
|
+
* be handed to the claude adapter. This registry is deliberately separate from
|
|
9
|
+
* `FIDELITY_WORKER_TIERS` (src/hosts/workerDefaults.ts), which keeps supplying
|
|
10
|
+
* the HOST-worker hint defaults — the host path is unchanged by multi-vendor
|
|
11
|
+
* executor support.
|
|
12
|
+
*/
|
|
13
|
+
export type ExecutorWorkerTier = {
|
|
14
|
+
vendor: 'claude';
|
|
15
|
+
model: string;
|
|
16
|
+
effort: WorkerEffortLevel;
|
|
17
|
+
} | {
|
|
18
|
+
vendor: 'codex';
|
|
19
|
+
/** Omitted by default: the user's own codex default model applies, so we
|
|
20
|
+
* never pin a model id that their account/CLI version doesn't have. */
|
|
21
|
+
model?: string;
|
|
22
|
+
reasoningEffort: WorkerEffortLevel;
|
|
23
|
+
} | {
|
|
24
|
+
vendor: 'cursor';
|
|
25
|
+
/** Cursor has no per-invocation quality knob and model switching is a
|
|
26
|
+
* known capability cliff (see FIDELITY_WORKER_TIERS docs) — one model
|
|
27
|
+
* for every fidelity, omitted by default so the user's Cursor default
|
|
28
|
+
* applies. */
|
|
29
|
+
model?: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Fidelity → tier, per vendor. Claude mirrors the host registry (one model,
|
|
33
|
+
* effort varies — PR #965). Codex maps fidelity onto reasoning effort, its
|
|
34
|
+
* native analogue. Cursor cannot vary quality per invocation, so fidelity is
|
|
35
|
+
* intentionally a no-op there until a per-model benchmark says otherwise.
|
|
36
|
+
*/
|
|
37
|
+
export declare const EXECUTOR_FIDELITY_TIERS: Record<RunnerVendor, Record<WorkerFidelity, ExecutorWorkerTier>>;
|
|
38
|
+
/** Cheapest valid tier per vendor — what the preflight probe runs with. Same
|
|
39
|
+
* flags as a real worker (the probe must test the exact invocation), minimum
|
|
40
|
+
* spend. */
|
|
41
|
+
export declare const PREFLIGHT_TIERS: Record<RunnerVendor, ExecutorWorkerTier>;
|
|
42
|
+
/** What an adapter can recover from a finished worker's stdout. */
|
|
43
|
+
export type WorkerResultInfo = {
|
|
44
|
+
usage?: {
|
|
45
|
+
tokensIn?: number;
|
|
46
|
+
tokensOut?: number;
|
|
47
|
+
costUsd?: number;
|
|
48
|
+
};
|
|
49
|
+
/** Error/result text the CLI reported in-band (claude puts API failures in
|
|
50
|
+
* the stdout JSON, codex in error items) — stderr alone is not enough. */
|
|
51
|
+
resultText?: string;
|
|
52
|
+
/** Structured HTTP status of an API failure, when the CLI reports one. */
|
|
53
|
+
apiErrorStatus?: number;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* One adapter per vendor CLI: owns the arg grammar, how the briefing prompt is
|
|
57
|
+
* delivered, and how the result stream is parsed. The executor stays
|
|
58
|
+
* vendor-agnostic. Contracts verified live: 2026-07-22 against codex-cli
|
|
59
|
+
* 0.145.0 and claude; 2026-07-23 against cursor-agent 2026.07.23-e383d2b
|
|
60
|
+
* (print mode, argv prompt, trailing-JSON result with camelCase usage).
|
|
61
|
+
*/
|
|
62
|
+
export interface WorkerInvocationAdapter {
|
|
63
|
+
vendor: RunnerVendor;
|
|
64
|
+
binary: string;
|
|
65
|
+
/** 'stdin': briefing piped to the child; 'argv': appended as the prompt
|
|
66
|
+
* argument (cursor-agent ignores stdin in print mode). */
|
|
67
|
+
promptDelivery: 'stdin' | 'argv';
|
|
68
|
+
buildArgs(tier: ExecutorWorkerTier): string[];
|
|
69
|
+
parseResult(stdoutTail: string): WorkerResultInfo;
|
|
70
|
+
/** Only claude reports structured model-availability failures
|
|
71
|
+
* (api_error_status) that can safely drive the one-shot fallback-model
|
|
72
|
+
* retry. */
|
|
73
|
+
supportsModelFallback: boolean;
|
|
74
|
+
spawnEnv(): NodeJS.ProcessEnv;
|
|
75
|
+
}
|
|
76
|
+
/** Claude's `--output-format json`: one trailing JSON result object. */
|
|
77
|
+
export declare const parseClaudeWorkerResult: (stdout: string) => WorkerResultInfo;
|
|
78
|
+
/** Codex's `exec --json`: JSONL events. Usage rides `turn.completed`; failures
|
|
79
|
+
* surface as `item.completed` items of type `error` (and `turn.failed`). */
|
|
80
|
+
export declare const parseCodexWorkerResult: (stdout: string) => WorkerResultInfo;
|
|
81
|
+
export declare const makeClaudeAdapter: (binary?: string) => WorkerInvocationAdapter;
|
|
82
|
+
export declare const makeCodexAdapter: (binary?: string) => WorkerInvocationAdapter;
|
|
83
|
+
/** Cursor's `-p --output-format json`: one trailing JSON result object, like
|
|
84
|
+
* claude's — but usage keys are camelCase (`inputTokens`) and `subtype`/
|
|
85
|
+
* `result` are populated on success too ("success"/"ok"), so error text is
|
|
86
|
+
* taken only when `is_error` is set. Shape live-verified 2026-07-23 against
|
|
87
|
+
* cursor-agent 2026.07.23-e383d2b. */
|
|
88
|
+
export declare const parseCursorWorkerResult: (stdout: string) => WorkerResultInfo;
|
|
89
|
+
export declare const makeCursorAdapter: (binary?: string) => WorkerInvocationAdapter;
|
|
90
|
+
export declare const adapterForVendor: (vendor: RunnerVendor, binaryOverride?: string) => WorkerInvocationAdapter;
|
|
91
|
+
export type WorkerVendorSource = 'env'
|
|
92
|
+
/** Explicit `--worker-provider` on THIS request — the user's live choice,
|
|
93
|
+
* relayed by the host agent. Outranks config and initiator; only the
|
|
94
|
+
* RIVET_EXECUTOR_* env escape hatches outrank it. */
|
|
95
|
+
| 'request' | 'user_config' | 'initiator' | 'probe'
|
|
96
|
+
/** `workerVendorFallback` substituted this vendor after the explicit /
|
|
97
|
+
* initiator-implied one failed preflight — surfaced so logs and summaries
|
|
98
|
+
* never attribute the switched vendor to the original selection. */
|
|
99
|
+
| 'fallback';
|
|
100
|
+
export type PreflightDiagnostic = {
|
|
101
|
+
vendor: RunnerVendor;
|
|
102
|
+
binary: string;
|
|
103
|
+
reason: string;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* The lease-owner decision. `executor` carries the healthy runtime to spawn
|
|
107
|
+
* workers with; `host` means work items lease to the host agent (the
|
|
108
|
+
* pre-executor degraded mode) and carries per-vendor diagnostics explaining
|
|
109
|
+
* why. There is deliberately no cross-vendor silent substitution: an explicit
|
|
110
|
+
* or initiator-implied vendor that fails preflight lands on the host path —
|
|
111
|
+
* running another vendor's CLI (different subscription, data handling,
|
|
112
|
+
* bypassed-permissions posture) requires the `workerVendorFallback` opt-in.
|
|
113
|
+
*/
|
|
114
|
+
export type WorkerRuntimeDecision = {
|
|
115
|
+
mode: 'executor';
|
|
116
|
+
adapter: WorkerInvocationAdapter;
|
|
117
|
+
source: WorkerVendorSource;
|
|
118
|
+
/** Request-pinned worker model, present ONLY when the pin belongs to
|
|
119
|
+
* the winning adapter: the requested provider matches, or — for a
|
|
120
|
+
* model-only request — the winner is the PRIMARY candidate the pin
|
|
121
|
+
* was resolved against. A cross-vendor fallback (or later probe-path
|
|
122
|
+
* candidate) winner never inherits another CLI's model id. */
|
|
123
|
+
modelOverride?: string;
|
|
124
|
+
} | {
|
|
125
|
+
mode: 'host';
|
|
126
|
+
diagnostics: PreflightDiagnostic[];
|
|
127
|
+
};
|
|
128
|
+
/** Coarse failure bucket — the ONLY failure detail that leaves the machine
|
|
129
|
+
* (telemetry). Raw reasons carry stderr/paths/account fragments and stay in
|
|
130
|
+
* local logs and run feedback. */
|
|
131
|
+
export type ProbeFailureCategory = 'spawn_error' | 'timeout' | 'aborted' | 'login_required' | 'exit_nonzero' | 'worker_failure';
|
|
132
|
+
export type PreflightSpawn = (args: {
|
|
133
|
+
command: string;
|
|
134
|
+
args: string[];
|
|
135
|
+
cwd: string;
|
|
136
|
+
env: NodeJS.ProcessEnv;
|
|
137
|
+
}) => ReturnType<typeof spawn>;
|
|
138
|
+
export type WorkerRuntimeResolverOptions = {
|
|
139
|
+
/** `workerVendor` from ~/.rivet/config.json, read lazily so config edits
|
|
140
|
+
* don't require a server restart. */
|
|
141
|
+
configuredVendor?: () => string | undefined;
|
|
142
|
+
/** `workerVendorFallback` opt-in: allow trying OTHER vendors when the
|
|
143
|
+
* explicit/initiator vendor fails preflight. Default false. */
|
|
144
|
+
crossVendorFallback?: () => boolean;
|
|
145
|
+
/** `workerModels.<vendor>` config override for executor worker tiers. */
|
|
146
|
+
configuredModelFor?: (vendor: RunnerVendor) => string | undefined;
|
|
147
|
+
/** Claude-only preflight rung mirroring the executor's per-item
|
|
148
|
+
* fallback-model retry: when the PRIMARY model is what fails the probe
|
|
149
|
+
* (no access / unknown model / model-scoped rate limit), probe once more
|
|
150
|
+
* with the fallback model before declaring the runtime unhealthy —
|
|
151
|
+
* otherwise an account lacking the default worker model degrades to the
|
|
152
|
+
* host path before the per-item retry ever gets a chance. */
|
|
153
|
+
probeModelFallback?: {
|
|
154
|
+
fallbackModel: () => string | undefined;
|
|
155
|
+
isModelAvailabilityFailure: (args: {
|
|
156
|
+
message?: string;
|
|
157
|
+
apiErrorStatus?: number;
|
|
158
|
+
model?: string;
|
|
159
|
+
}) => boolean;
|
|
160
|
+
};
|
|
161
|
+
probeTimeoutMs?: number;
|
|
162
|
+
binaryProbe?: BinaryProbe;
|
|
163
|
+
spawnProbe?: PreflightSpawn;
|
|
164
|
+
env?: NodeJS.ProcessEnv;
|
|
165
|
+
telemetry?: {
|
|
166
|
+
track: (event: string, properties?: Record<string, unknown>) => void;
|
|
167
|
+
};
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Resolves and preflights the executor's worker runtime, per request.
|
|
171
|
+
*
|
|
172
|
+
* Precedence: env override (`RIVET_EXECUTOR_VENDOR`, or legacy
|
|
173
|
+
* `RIVET_EXECUTOR_COMMAND` = claude-grammar custom binary) > user config
|
|
174
|
+
* `workerVendor` > the request initiator's agent > (human / no preference)
|
|
175
|
+
* probe installed vendors in registry order.
|
|
176
|
+
*
|
|
177
|
+
* Note this is deliberately PER-REQUEST, unlike apply-runner resolution
|
|
178
|
+
* (`resolveRunner`, fixed for the server's lifetime): one live session can
|
|
179
|
+
* serve requests initiated by different agents, and each request's workers
|
|
180
|
+
* should run on its initiator's runtime.
|
|
181
|
+
*
|
|
182
|
+
* Preflight lifecycle: one in-flight probe per runtime identity (vendor +
|
|
183
|
+
* binary + resolved model — concurrent resolves join it); a healthy result
|
|
184
|
+
* is cached until a runtime-shaped worker failure invalidates it
|
|
185
|
+
* (`markUnhealthy`) or a config edit changes the resolved model; an
|
|
186
|
+
* unhealthy result is re-probed on the next resolve — so a user who fixes
|
|
187
|
+
* their auth is not stuck on the host path, and each new run retries a
|
|
188
|
+
* broken vendor at most once.
|
|
189
|
+
*/
|
|
190
|
+
export declare class WorkerRuntimeResolver {
|
|
191
|
+
private readonly options;
|
|
192
|
+
private readonly health;
|
|
193
|
+
private readonly inFlight;
|
|
194
|
+
constructor(options?: WorkerRuntimeResolverOptions);
|
|
195
|
+
/** Invalidate a cached-healthy vendor after a runtime-shaped worker failure
|
|
196
|
+
* (spawn error, unknown CLI option, auth rejection) so the next run
|
|
197
|
+
* re-probes instead of leasing four more items to a dead runtime. */
|
|
198
|
+
markUnhealthy(vendor: RunnerVendor, reason: string): void;
|
|
199
|
+
resolve(args?: {
|
|
200
|
+
initiator?: WorkItemInitiator;
|
|
201
|
+
/** Explicit per-request runtime choice (`--worker-provider` /
|
|
202
|
+
* `--worker-model`) relayed by the host agent. */
|
|
203
|
+
selection?: WorkerSelection;
|
|
204
|
+
signal?: AbortSignal;
|
|
205
|
+
}): Promise<WorkerRuntimeDecision>;
|
|
206
|
+
/** Candidate adapters in trial order, plus whether the choice was explicit
|
|
207
|
+
* (strict = unhealthy means host path, not another vendor). */
|
|
208
|
+
private candidatesFor;
|
|
209
|
+
private withFallbackCandidates;
|
|
210
|
+
private adapterFor;
|
|
211
|
+
/** Tier the probe runs with — cheapest per vendor, with the same model
|
|
212
|
+
* override precedence a real worker gets (`RIVET_EXECUTOR_MODEL` env >
|
|
213
|
+
* request `--worker-model` > `workerModels.<vendor>` config) so the probe
|
|
214
|
+
* exercises the exact model a real worker would run, not the CLI
|
|
215
|
+
* default. */
|
|
216
|
+
private probeTierFor;
|
|
217
|
+
private preflight;
|
|
218
|
+
/** One probe — plus, for claude (the only vendor with a structured
|
|
219
|
+
* fallback-model rung), a second probe on the fallback model when the
|
|
220
|
+
* primary MODEL is what failed. A healthy fallback probe marks the
|
|
221
|
+
* runtime healthy under the primary identity: real workers still start
|
|
222
|
+
* on the primary tier and degrade per item via the executor's one-shot
|
|
223
|
+
* fallback retry, exactly the pre-preflight behavior. */
|
|
224
|
+
private probeWithModelFallback;
|
|
225
|
+
private runProbe;
|
|
226
|
+
}
|
|
227
|
+
/** One-line human summary of a decision, for run feedback and server.log:
|
|
228
|
+
* `codex` / `host path (claude: probe exited 1: …)`. */
|
|
229
|
+
export declare const describeWorkerRuntimeDecision: (decision: WorkerRuntimeDecision) => string;
|
|
230
|
+
//# sourceMappingURL=workerRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workerRuntime.d.ts","sourceRoot":"","sources":["../../src/agent-variants/workerRuntime.ts"],"names":[],"mappings":"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"}
|