glimmervoid 0.42.0 → 0.42.2
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 +2 -2
- package/dist/bin/glimmervoid.js +8 -8
- package/dist/chunks/{adapters-D2u85MEH.js → adapters-Bga1N6Ie.js} +2 -2
- package/dist/chunks/{adapters-C8GfnK2r.js → adapters-DeqV4wUv.js} +1 -1
- package/dist/chunks/{agent-api-cli-B-1MqjKc.js → agent-api-cli-DWVeqlLu.js} +1 -1
- package/dist/chunks/{agent-api-cli-D7JPxNso.js → agent-api-cli-YvQ8WxHA.js} +1 -1
- package/dist/chunks/{agent-api-core-PwO7fPoc.js → agent-api-core-DFYLP1bF.js} +1 -1
- package/dist/chunks/config-store-CGrS8s6x.js +1 -0
- package/dist/chunks/{config-store-BxCW2IwK.js → config-store-DOGtTJ1d.js} +2 -69
- package/dist/chunks/{contracts-LXlDbl4R.js → contracts-Ds_eevZs.js} +2 -12
- package/dist/chunks/{control-messages-88sdxt-U.js → control-messages-Dgap3JRR.js} +14 -45
- package/dist/chunks/{main-DZzDU4Q4.js → main-Ywst1s6Z.js} +326 -483
- package/dist/chunks/{pair-cli-3KKNhZ22.js → pair-cli-PCXITdEd.js} +2 -2
- package/dist/chunks/{remote-config-Ce5nN0zL.js → remote-config-DeWURqqr.js} +1 -1
- package/dist/chunks/{settings-cli-BYY991YC.js → settings-cli-xpR7vk9L.js} +4 -4
- package/dist/chunks/{settings-readout-core-CWAhwZKN.js → settings-readout-core-C2mOk9Yz.js} +1 -1
- package/dist/chunks/{ssh-sign-cli-BbqYIPwh.js → ssh-sign-cli-rKiqiNem.js} +1 -1
- package/dist/client/assets/index-D9A5nTKg.js +177 -0
- package/dist/client/assets/index-NhAGtpDY.css +2 -0
- package/dist/client/index.html +2 -3
- package/dist/server/index.js +1 -1
- package/package.json +2 -2
- package/dist/chunks/config-store-BL8LDBuM.js +0 -1
- package/dist/client/assets/index-C9wfiVqt.js +0 -176
- package/dist/client/assets/index-PnaYWtoe.css +0 -2
package/README.md
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
[](https://nodejs.org)
|
|
7
7
|
[](https://github.com/johncwaters/glimmervoid)
|
|
8
8
|
|
|
9
|
-
**Mission control
|
|
9
|
+
**Mission control that ships. Not a terminal multiplexer. Grids are for watching. This is for shipping.**
|
|
10
10
|
|
|
11
11
|
[glimmervoid.dev](https://glimmervoid.dev)
|
|
12
12
|
|
|
13
|
-
Glimmervoid
|
|
13
|
+
Glimmervoid takes a feature from start to finish. Every agent works in its own git worktree, status comes from the agent's own hooks, and the one session that needs you comes to the front. Review and merge from the same page.
|
|
14
14
|
|
|
15
15
|
It is an orchestrator, not a harness. Claude Code, Codex and Grok run unmodified, as real processes in real terminals on your own machine. No cloud service, no account. Glimmervoid is developed inside Glimmervoid.
|
|
16
16
|
|
package/dist/bin/glimmervoid.js
CHANGED
|
@@ -4,7 +4,7 @@ import { i as errorText } from "../chunks/text-DoirglWV.js";
|
|
|
4
4
|
import { a as packageRoot } from "../chunks/runtime-paths-BkeftE60.js";
|
|
5
5
|
import { t as AGENT_API_VERBS } from "../chunks/session-3eSP3t1i.js";
|
|
6
6
|
import { i as execSync } from "../chunks/child-process-safe-D4hyVIXj.js";
|
|
7
|
-
import { r as agentCommandHelpLines } from "../chunks/agent-api-core-
|
|
7
|
+
import { r as agentCommandHelpLines } from "../chunks/agent-api-core-DFYLP1bF.js";
|
|
8
8
|
import { t as renderTable } from "../chunks/ascii-figure-core-pDAwtlKO.js";
|
|
9
9
|
import { n as glimmervoidHomeDir, t as decideConfigPath } from "../chunks/config-path-core-DFt-TemS.js";
|
|
10
10
|
import { i as parseCommandLine, r as gitDoctorRows, t as probeGitVersion } from "../chunks/git-version-DqagvnAZ.js";
|
|
@@ -65,7 +65,7 @@ var OWN_SUBCOMMAND_RUNNERS = [
|
|
|
65
65
|
return 0;
|
|
66
66
|
}],
|
|
67
67
|
["pair", async (subcommandArgs) => {
|
|
68
|
-
const { runPairCli } = await import("../chunks/pair-cli-
|
|
68
|
+
const { runPairCli } = await import("../chunks/pair-cli-PCXITdEd.js");
|
|
69
69
|
return runPairCli(subcommandArgs);
|
|
70
70
|
}],
|
|
71
71
|
["agent", async (subcommandArgs) => {
|
|
@@ -73,7 +73,7 @@ var OWN_SUBCOMMAND_RUNNERS = [
|
|
|
73
73
|
return runAgentSetupCli(subcommandArgs);
|
|
74
74
|
}],
|
|
75
75
|
["settings", async (subcommandArgs) => {
|
|
76
|
-
const { runSettingsCli } = await import("../chunks/settings-cli-
|
|
76
|
+
const { runSettingsCli } = await import("../chunks/settings-cli-xpR7vk9L.js");
|
|
77
77
|
return runSettingsCli(subcommandArgs);
|
|
78
78
|
}],
|
|
79
79
|
["visions", async (subcommandArgs) => {
|
|
@@ -81,13 +81,13 @@ var OWN_SUBCOMMAND_RUNNERS = [
|
|
|
81
81
|
return runVisionsCli(subcommandArgs);
|
|
82
82
|
}],
|
|
83
83
|
["ssh-sign", async (subcommandArgs) => {
|
|
84
|
-
const { runSshSignCli } = await import("../chunks/ssh-sign-cli-
|
|
84
|
+
const { runSshSignCli } = await import("../chunks/ssh-sign-cli-rKiqiNem.js");
|
|
85
85
|
return runSshSignCli(subcommandArgs);
|
|
86
86
|
}]
|
|
87
87
|
];
|
|
88
88
|
var ownSubcommandNames = new Set(OWN_SUBCOMMAND_RUNNERS.map(([name]) => name));
|
|
89
89
|
var SUBCOMMAND_RUNNERS = new Map([...OWN_SUBCOMMAND_RUNNERS, ...AGENT_API_VERBS.filter((verb) => !ownSubcommandNames.has(verb)).map((verb) => [verb, async (subcommandArgs, subcommandName) => {
|
|
90
|
-
const { runAgentApiCli } = await import("../chunks/agent-api-cli-
|
|
90
|
+
const { runAgentApiCli } = await import("../chunks/agent-api-cli-DWVeqlLu.js");
|
|
91
91
|
return runAgentApiCli([subcommandName, ...subcommandArgs]);
|
|
92
92
|
}])]);
|
|
93
93
|
var AGENT_INSTALL_COMMAND_BY_ID = {
|
|
@@ -101,7 +101,7 @@ function missingAgentText(agentId) {
|
|
|
101
101
|
}
|
|
102
102
|
async function printSessionLimits() {
|
|
103
103
|
if (!process.env["GLIMMERVOID_AGENT_URL"]) return;
|
|
104
|
-
const { sessionLimitsHelpLines } = await import("../chunks/agent-api-cli-
|
|
104
|
+
const { sessionLimitsHelpLines } = await import("../chunks/agent-api-cli-DWVeqlLu.js");
|
|
105
105
|
const limitsLines = await sessionLimitsHelpLines();
|
|
106
106
|
console.log(`\n${limitsLines.join("\n")}`);
|
|
107
107
|
}
|
|
@@ -158,7 +158,7 @@ async function readDeclaredCustomAgents() {
|
|
|
158
158
|
declared: [],
|
|
159
159
|
error: null
|
|
160
160
|
};
|
|
161
|
-
const { loadConfigFile } = await import("../chunks/config-store-
|
|
161
|
+
const { loadConfigFile } = await import("../chunks/config-store-CGrS8s6x.js");
|
|
162
162
|
try {
|
|
163
163
|
const loaded = loadConfigFile(decided.path, { exitOnError: false });
|
|
164
164
|
if (!loaded.config) return {
|
|
@@ -234,7 +234,7 @@ async function runDoctor() {
|
|
|
234
234
|
}
|
|
235
235
|
switchSection("Agents");
|
|
236
236
|
try {
|
|
237
|
-
const { listAgentIds, describeAgentResolvability, setCustomAgents } = await import("../chunks/adapters-
|
|
237
|
+
const { listAgentIds, describeAgentResolvability, setCustomAgents } = await import("../chunks/adapters-DeqV4wUv.js");
|
|
238
238
|
const declaredCustomAgents = await readDeclaredCustomAgents();
|
|
239
239
|
if (declaredCustomAgents.error) line("config", declaredCustomAgents.error);
|
|
240
240
|
setCustomAgents(declaredCustomAgents.declared);
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { o as relayPath } from "./runtime-paths-BkeftE60.js";
|
|
2
2
|
import { Bt as shortSha$1, Rt as FULL_SHA_RE } from "./session-3eSP3t1i.js";
|
|
3
3
|
import { n as execFileAsync, r as execFileSync } from "./child-process-safe-D4hyVIXj.js";
|
|
4
|
-
import {
|
|
4
|
+
import { i as InstallFlavor } from "./control-messages-Dgap3JRR.js";
|
|
5
5
|
import { o as supervisionLine } from "./session-routes-B2oSzmQn.js";
|
|
6
6
|
import { n as resolveAgentCommand, t as buildAgentSpawnCommand } from "./spawn-command-Cc40FiZI.js";
|
|
7
7
|
import { c as textOr, s as rawTextOr } from "./coerce-NSst8oRP.js";
|
|
8
8
|
import { r as nextBackoffMs } from "./backoff-DjVpfHk7.js";
|
|
9
9
|
import { i as isSpinnerChar, n as classifyAgentTitle, r as isBrailleChar, s as buildAgentEnv, t as grok } from "./grok-DwrAcNHC.js";
|
|
10
10
|
import { t as buildHookCommand } from "./hook-command-core-qTNK-xMF.js";
|
|
11
|
-
import "./contracts-
|
|
11
|
+
import "./contracts-Ds_eevZs.js";
|
|
12
12
|
import { n as mergeCodexPreToolUse, t as HOOK_TOOLS } from "./hook-tools-Dl7-r2Eb.js";
|
|
13
13
|
import fs from "node:fs";
|
|
14
14
|
import path from "node:path";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { a as describeAgentResolvability, l as listAgentIds, f as setCustomAgents } from "./adapters-
|
|
1
|
+
export { a as describeAgentResolvability, l as listAgentIds, f as setCustomAgents } from "./adapters-Bga1N6Ie.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as askAgentApi, r as runAgentApiCli, i as sessionLimitsHelpLines } from "./agent-api-cli-
|
|
1
|
+
export { t as askAgentApi, r as runAgentApiCli, i as sessionLimitsHelpLines } from "./agent-api-cli-YvQ8WxHA.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as errorCode } from "./text-DoirglWV.js";
|
|
2
2
|
import { n as AGENT_URL_ENV, s as AgentLimitsReply } from "./session-3eSP3t1i.js";
|
|
3
3
|
import { i as formatSessionLimits } from "./session-routes-B2oSzmQn.js";
|
|
4
|
-
import { f as isAgentApiVerb, t as AGENT_COMMAND_HELP } from "./agent-api-core-
|
|
4
|
+
import { f as isAgentApiVerb, t as AGENT_COMMAND_HELP } from "./agent-api-core-DFYLP1bF.js";
|
|
5
5
|
import { i as resolveHookTarget } from "./hook-relay-core-DA_bz2KA.js";
|
|
6
6
|
import { n as decideGuardrailsProxy } from "./guardrails-proxy-core-BI3rdY-m.js";
|
|
7
7
|
import { t as parseJsonOrNull } from "./json-core-dfa_7Fak.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as AgentCloseRequest, c as AgentPullRequestRequest, f as AgentSettingsRequest, i as AgentAttentionRequest, l as AgentReadRequest, o as AgentEditRequest, p as AgentSpawnRequest, t as AGENT_API_VERBS, u as AgentSendRequest } from "./session-3eSP3t1i.js";
|
|
2
|
-
import {
|
|
2
|
+
import { s as pullRequestKeyFromReference } from "./control-messages-Dgap3JRR.js";
|
|
3
3
|
import { n as NO_OWN_WORKTREE_REASON, t as COMMAND_ROUTES } from "./session-routes-B2oSzmQn.js";
|
|
4
4
|
import crypto from "node:crypto";
|
|
5
5
|
var MAX_SPAWNS_IN_FLIGHT = 1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { s as loadConfigFile } from "./config-store-DOGtTJ1d.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { n as errorLabel, r as errorMessage } from "./text-DoirglWV.js";
|
|
2
2
|
import { n as equalsIgnoringCaseOnWindows } from "./paths-Bu4eH1Yd.js";
|
|
3
|
-
import {
|
|
3
|
+
import { $ as TASK_TITLE_TIMEOUT_RANGE, F as KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE, I as MEMORY_RESERVE_MB_RANGE, L as NON_NEGATIVE_NUMBER_RANGE, M as FLYING_ANIMALS_DURATION_RANGE, N as FLYING_ANIMALS_GAP_RANGE, P as FLYING_ANIMALS_SCALE_RANGE, Q as REPLAY_BUFFER_KB_RANGE, R as PORT_RANGE, V as POSTHOG_FIX_TIMEOUT_RANGE, X as POSTHOG_TRAFFIC_MULTIPLIER_RANGE, Y as POSTHOG_TRAFFIC_MIN_USERS_RANGE, dt as WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE, et as USAGE_BUDGET_RANGE, j as FLYING_ANIMALS_DEFAULTS, nt as USAGE_RETAIN_DAYS_RANGE, q as POSTHOG_TRAFFIC_BASELINE_RANGE, rt as USAGE_SCAN_INTERVAL_RANGE, tt as USAGE_INTEGER_RANGES, ut as WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE, z as POSITIVE_NUMBER_RANGE } from "./control-messages-Dgap3JRR.js";
|
|
4
4
|
import { n as glimmervoidHomeDir$1, t as decideConfigPath } from "./config-path-core-DFt-TemS.js";
|
|
5
5
|
import { n as isRecord } from "./coerce-NSst8oRP.js";
|
|
6
6
|
import { d as writeJsonAtomicSync, f as writeTextAtomic, p as writeTextAtomicSync } from "./json-file-DFCTvPjj.js";
|
|
7
|
-
import { C as
|
|
7
|
+
import { C as UPDATE_CHANNELS, E as normalizeLegacyConfigNumbers, S as POST_TURN_CHECK_MODES, b as configIssueMessage, f as AGENT_ID_SHAPE_MESSAGE, h as Config, p as BUILTIN_AGENT_IDS, s as FeatureFlagsResponse, u as TELEMETRY_KILL_SWITCH_FLAG, v as RUNTIME_CONFIG_SCALAR_KEYS, w as USAGE_COST_MODES, x as BranchGcFileSettings } from "./contracts-Ds_eevZs.js";
|
|
8
8
|
import fs from "node:fs";
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import os from "node:os";
|
|
@@ -1789,50 +1789,6 @@ var SECTIONS = Object.freeze([
|
|
|
1789
1789
|
...MACHINE_NOW
|
|
1790
1790
|
}]
|
|
1791
1791
|
},
|
|
1792
|
-
{
|
|
1793
|
-
id: "lanes-change-map",
|
|
1794
|
-
level: "lanes",
|
|
1795
|
-
title: "Change map",
|
|
1796
|
-
description: "Optional model narration for deterministic change facts.",
|
|
1797
|
-
legacyIds: ["change-map"],
|
|
1798
|
-
settings: [
|
|
1799
|
-
{
|
|
1800
|
-
id: "change-map-narrator-enabled",
|
|
1801
|
-
path: "changeMap.narrator.enabled",
|
|
1802
|
-
title: "Enable narration",
|
|
1803
|
-
description: "Add cited model claims to the change map.",
|
|
1804
|
-
control: "toggle",
|
|
1805
|
-
keywords: ["review", "claims"],
|
|
1806
|
-
defaultValue: false,
|
|
1807
|
-
...MACHINE_NOW
|
|
1808
|
-
},
|
|
1809
|
-
{
|
|
1810
|
-
id: "change-map-narrator-engine",
|
|
1811
|
-
path: "changeMap.narrator.engine",
|
|
1812
|
-
title: "Narrator engine",
|
|
1813
|
-
description: "CLI used to generate change map claims.",
|
|
1814
|
-
control: "select",
|
|
1815
|
-
options: capitalizedOptions(CHANGE_MAP_NARRATOR_ENGINES),
|
|
1816
|
-
keywords: ["claude", "codex"],
|
|
1817
|
-
defaultValue: "claude",
|
|
1818
|
-
...MACHINE_NOW
|
|
1819
|
-
},
|
|
1820
|
-
{
|
|
1821
|
-
id: "change-map-narrator-model",
|
|
1822
|
-
path: "changeMap.narrator.model",
|
|
1823
|
-
title: "Narrator model",
|
|
1824
|
-
description: "Blank uses the engine default: haiku for Claude, the configured Codex model for Codex.",
|
|
1825
|
-
control: "text",
|
|
1826
|
-
keywords: [
|
|
1827
|
-
"claude",
|
|
1828
|
-
"codex",
|
|
1829
|
-
"haiku"
|
|
1830
|
-
],
|
|
1831
|
-
defaultValue: "",
|
|
1832
|
-
...MACHINE_NOW
|
|
1833
|
-
}
|
|
1834
|
-
]
|
|
1835
|
-
},
|
|
1836
1792
|
{
|
|
1837
1793
|
id: "machine-privacy",
|
|
1838
1794
|
level: "machine",
|
|
@@ -2477,21 +2433,6 @@ var FILE_ONLY_SETTINGS = Object.freeze([
|
|
|
2477
2433
|
fileOnlyReason: TUNING_KNOB,
|
|
2478
2434
|
...FILE_ONLY
|
|
2479
2435
|
},
|
|
2480
|
-
{
|
|
2481
|
-
id: "file-change-map-narrator-timeout",
|
|
2482
|
-
path: "changeMap.narrator.timeoutSeconds",
|
|
2483
|
-
title: "Narrator timeout",
|
|
2484
|
-
group: "lanes-change-map",
|
|
2485
|
-
description: "Maximum time allowed for one narration.",
|
|
2486
|
-
control: "number",
|
|
2487
|
-
range: CHANGE_MAP_NARRATOR_TIMEOUT_RANGE,
|
|
2488
|
-
unit: SECONDS,
|
|
2489
|
-
keywords: ["deadline", "narration"],
|
|
2490
|
-
defaultValue: 90,
|
|
2491
|
-
takesEffect: "now",
|
|
2492
|
-
fileOnlyReason: TUNING_KNOB,
|
|
2493
|
-
...FILE_ONLY
|
|
2494
|
-
},
|
|
2495
2436
|
{
|
|
2496
2437
|
id: "file-visions-quiet-delay",
|
|
2497
2438
|
path: "visions.dispatch.quietMs",
|
|
@@ -3417,12 +3358,6 @@ var DEFAULT_CONFIG = {
|
|
|
3417
3358
|
minIntervalSeconds: 60,
|
|
3418
3359
|
timeoutSeconds: 60
|
|
3419
3360
|
} },
|
|
3420
|
-
changeMap: { narrator: {
|
|
3421
|
-
enabled: false,
|
|
3422
|
-
engine: "claude",
|
|
3423
|
-
model: "",
|
|
3424
|
-
timeoutSeconds: 90
|
|
3425
|
-
} },
|
|
3426
3361
|
guardrails: {
|
|
3427
3362
|
unguardedRepos: [],
|
|
3428
3363
|
blockedPaths: [],
|
|
@@ -3872,7 +3807,6 @@ function createConfigStore({ settingsDefaults } = {}) {
|
|
|
3872
3807
|
repoRoots: config.repoRoots,
|
|
3873
3808
|
repositoryRootCaseInsensitive: equalsIgnoringCaseOnWindows("root", "ROOT"),
|
|
3874
3809
|
taskTitle: pickBlock("taskTitle", config.taskTitle ?? DEFAULT_CONFIG.taskTitle),
|
|
3875
|
-
changeMap: pickBlock("changeMap", config.changeMap),
|
|
3876
3810
|
branchGc: pickBlock("branchGc", config.branchGc),
|
|
3877
3811
|
postTurnChecks: pickBlock("postTurnChecks", config.postTurnChecks ?? DEFAULT_CONFIG.postTurnChecks),
|
|
3878
3812
|
visions: pickBlock("visions", config.visions),
|
|
@@ -3920,7 +3854,6 @@ function createConfigStore({ settingsDefaults } = {}) {
|
|
|
3920
3854
|
if (newConfig.worktreeShare == null) delete config.worktreeShare;
|
|
3921
3855
|
if (newConfig.worktreeShare != null) config.worktreeShare = newConfig.worktreeShare;
|
|
3922
3856
|
if (newConfig.taskTitle != null) config.taskTitle = newConfig.taskTitle;
|
|
3923
|
-
if (newConfig.changeMap != null) config.changeMap = newConfig.changeMap;
|
|
3924
3857
|
if (newConfig.branchGc != null) config.branchGc = resolveBranchGc(newConfig.branchGc);
|
|
3925
3858
|
if (newConfig.visions != null) config.visions = newConfig.visions;
|
|
3926
3859
|
if (newConfig.github != null) config.github = newConfig.github;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { R as TaskTitle, Wt as repoParts, ot as SessionPrLinks } from "./session-3eSP3t1i.js";
|
|
2
|
-
import { $ as
|
|
2
|
+
import { $ as TASK_TITLE_TIMEOUT_RANGE, A as BRANCH_GC_STALE_DAYS_RANGE, B as POSTHOG_ESCALATION_RANGE, D as WorkflowsSettingsUpdate, E as WorkflowsSettings, F as KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE, G as POSTHOG_MIN_USERS_RANGE, H as POSTHOG_INTERVAL_RANGE, I as MEMORY_RESERVE_MB_RANGE, J as POSTHOG_TRAFFIC_COOLDOWN_RANGE, K as POSTHOG_RECURRENCE_WINDOW_RANGE, Q as REPLAY_BUFFER_KB_RANGE, R as PORT_RANGE, U as POSTHOG_INVESTIGATION_TIMEOUT_RANGE, V as POSTHOG_FIX_TIMEOUT_RANGE, W as POSTHOG_MAX_CONCURRENT_RANGE, X as POSTHOG_TRAFFIC_MULTIPLIER_RANGE, Y as POSTHOG_TRAFFIC_MIN_USERS_RANGE, Z as POSTHOG_TRANSIENT_RECURRENCE_RANGE, a as OPERATOR_ACTIONS_BY_SURFACE, at as VISIONS_COOLDOWN_MS_RANGE, ct as VISIONS_MAX_PER_HOUR_RANGE, it as VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE, k as BRANCH_GC_INTERVAL_MS_RANGE, lt as VISIONS_QUIET_MS_RANGE, o as OPERATOR_SURFACES, ot as VISIONS_DISPATCH_TIMEOUT_RANGE, q as POSTHOG_TRAFFIC_BASELINE_RANGE, r as DASHBOARD_VIEWS, st as VISIONS_INTENT_THREAD_TTL_MS_RANGE, tt as USAGE_INTEGER_RANGES, z as POSITIVE_NUMBER_RANGE } from "./control-messages-Dgap3JRR.js";
|
|
3
3
|
import { n as isRecord } from "./coerce-NSst8oRP.js";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { z } from "zod";
|
|
@@ -120,15 +120,8 @@ var optionalWholeNumber = (field, range) => optionalNumber(field, range).unwrap(
|
|
|
120
120
|
var optionalInteger = (field, range) => z.number({ error: `${field} must be an integer between ${range.min} and ${range.max}` }).int({ error: `${field} must be an integer between ${range.min} and ${range.max}` }).min(range.min, { error: `${field} must be an integer between ${range.min} and ${range.max}` }).max(range.max, { error: `${field} must be an integer between ${range.min} and ${range.max}` }).optional();
|
|
121
121
|
var optionalObject = (field, shape) => z.object(shape, { error: `${field} must be an object` }).nullable().optional();
|
|
122
122
|
var optionalLooseObject = (field) => z.object({}, { error: `${field} must be an object` }).passthrough().nullable().optional();
|
|
123
|
-
var CHANGE_MAP_NARRATOR_ENGINES = Object.freeze(["claude", "codex"]);
|
|
124
123
|
var UPDATE_CHANNELS = Object.freeze(["release", "main"]);
|
|
125
124
|
var POST_TURN_CHECK_MODES = Object.freeze(["report", "fix"]);
|
|
126
|
-
var ChangeMapSettings = optionalObject("changeMap", { narrator: optionalObject("changeMap.narrator", {
|
|
127
|
-
enabled: optionalBoolean("changeMap.narrator.enabled"),
|
|
128
|
-
engine: z.enum(CHANGE_MAP_NARRATOR_ENGINES, { error: `changeMap.narrator.engine must be one of ${CHANGE_MAP_NARRATOR_ENGINES.join(", ")}` }).optional(),
|
|
129
|
-
model: optionalString("changeMap.narrator.model", true),
|
|
130
|
-
timeoutSeconds: optionalInteger("changeMap.narrator.timeoutSeconds", CHANGE_MAP_NARRATOR_TIMEOUT_RANGE)
|
|
131
|
-
}) });
|
|
132
125
|
var TaskTitleSettings = z.object({ refiner: z.object({
|
|
133
126
|
enabled: optionalBoolean("taskTitle.refiner.enabled"),
|
|
134
127
|
model: optionalString("taskTitle.refiner.model", true),
|
|
@@ -274,7 +267,6 @@ var createBrowserConfigShape = (isAbsolutePath) => ({
|
|
|
274
267
|
worktreeRoot: optionalString("worktreeRoot"),
|
|
275
268
|
worktreeShare: z.array(z.string()).optional(),
|
|
276
269
|
repoRoots: z.array(z.string()).optional(),
|
|
277
|
-
changeMap: ChangeMapSettings,
|
|
278
270
|
taskTitle: TaskTitleSettings,
|
|
279
271
|
branchGc: BranchGcSettings,
|
|
280
272
|
postTurnChecks: PostTurnChecksSettings,
|
|
@@ -442,7 +434,6 @@ var ProjectConfig = z.object({
|
|
|
442
434
|
}).passthrough();
|
|
443
435
|
var FILE_CONFIG_SHAPE = {
|
|
444
436
|
...BROWSER_CONFIG_SHAPE,
|
|
445
|
-
changeMap: ChangeMapSettings,
|
|
446
437
|
branchGc: optionalLooseObject("branchGc"),
|
|
447
438
|
coder: CoderSettings,
|
|
448
439
|
visions: optionalLooseObject("visions"),
|
|
@@ -512,7 +503,6 @@ var Config = z.object({
|
|
|
512
503
|
}
|
|
513
504
|
});
|
|
514
505
|
var CONFIG_BLOCK_KEYS = Object.freeze([
|
|
515
|
-
"changeMap",
|
|
516
506
|
"taskTitle",
|
|
517
507
|
"branchGc",
|
|
518
508
|
"postTurnChecks",
|
|
@@ -838,4 +828,4 @@ z.object({
|
|
|
838
828
|
projects: z.array(z.string()).optional()
|
|
839
829
|
}).passthrough();
|
|
840
830
|
//#endregion
|
|
841
|
-
export {
|
|
831
|
+
export { UPDATE_CHANNELS as C, normalizeLegacyConfigNumbers as E, POST_TURN_CHECK_MODES as S, USAGE_VENDOR_KEYS as T, PersistedTaskTitle as _, parseDataClientMessage as a, configIssueMessage as b, PendingCrashReport as c, TelemetryState as d, AGENT_ID_SHAPE_MESSAGE as f, ConfigUpdate as g, Config as h, parseDataAttachHistory as i, TELEMETRY_EVENT_SCHEMAS as l, BrowserConfig as m, HookEnvelope as n, DashboardTelemetryReport as o, BUILTIN_AGENT_IDS as p, DEEP_HISTORY_SCROLLBACK_LINES as r, FeatureFlagsResponse as s, HTTP_URL_RE as t, TELEMETRY_KILL_SWITCH_FLAG as u, RUNTIME_CONFIG_SCALAR_KEYS as v, USAGE_COST_MODES as w, BranchGcFileSettings as x, TASK_TITLE_SOURCE_PRIORITY as y };
|
|
@@ -365,28 +365,11 @@ var RepoChangeMap = z.strictObject({
|
|
|
365
365
|
links: z.array(CrossRepoLink),
|
|
366
366
|
error: z.string().nullable()
|
|
367
367
|
});
|
|
368
|
-
var NarrativeClaim = z.strictObject({
|
|
369
|
-
text: z.string().min(1).max(600),
|
|
370
|
-
factIds: z.array(factId).min(1)
|
|
371
|
-
});
|
|
372
|
-
var ChangeNarrative = z.strictObject({
|
|
373
|
-
factsHash: z.string().min(1),
|
|
374
|
-
model: z.string().nullable(),
|
|
375
|
-
claims: z.array(NarrativeClaim).max(12)
|
|
376
|
-
});
|
|
377
|
-
var NarratorState = z.enum([
|
|
378
|
-
"disabled",
|
|
379
|
-
"pending",
|
|
380
|
-
"ready",
|
|
381
|
-
"failed"
|
|
382
|
-
]);
|
|
383
368
|
var ChangeMap = z.strictObject({
|
|
384
369
|
sessionId: z.string().min(1),
|
|
385
370
|
sig: z.string().nullable(),
|
|
386
371
|
generatedAt: z.number().finite(),
|
|
387
372
|
repos: z.array(RepoChangeMap),
|
|
388
|
-
narrative: ChangeNarrative.nullable(),
|
|
389
|
-
narratorState: NarratorState,
|
|
390
373
|
error: z.string().min(1).optional()
|
|
391
374
|
});
|
|
392
375
|
var CoherenceJournalKind = z.enum([
|
|
@@ -775,10 +758,6 @@ var USAGE_INTEGER_RANGES = Object.freeze({
|
|
|
775
758
|
warehouseRetainDays: USAGE_WAREHOUSE_RETAIN_DAYS_RANGE,
|
|
776
759
|
sessionBlockHours: USAGE_SESSION_BLOCK_HOURS_RANGE
|
|
777
760
|
});
|
|
778
|
-
var CHANGE_MAP_NARRATOR_TIMEOUT_RANGE = Object.freeze({
|
|
779
|
-
min: 15,
|
|
780
|
-
max: 600
|
|
781
|
-
});
|
|
782
761
|
var KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE = Object.freeze({
|
|
783
762
|
min: 5,
|
|
784
763
|
max: 120
|
|
@@ -796,7 +775,6 @@ Object.freeze({
|
|
|
796
775
|
FLYING_ANIMALS_GAP_RANGE,
|
|
797
776
|
FLYING_ANIMALS_DURATION_RANGE,
|
|
798
777
|
FLYING_ANIMALS_SCALE_RANGE,
|
|
799
|
-
CHANGE_MAP_NARRATOR_TIMEOUT_RANGE,
|
|
800
778
|
KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE,
|
|
801
779
|
PORT_RANGE,
|
|
802
780
|
POSTHOG_ESCALATION_RANGE,
|
|
@@ -1384,15 +1362,6 @@ var SessionCardFields = z.object({
|
|
|
1384
1362
|
ownerId: sessionId.optional(),
|
|
1385
1363
|
linkedPrs: z.array(LinkedPr).optional()
|
|
1386
1364
|
});
|
|
1387
|
-
var DIFF_ANNOTATION_NOTE_MAX_CHARS = 1e3;
|
|
1388
|
-
var DIFF_ANNOTATION_PATH_RE = new RegExp(`^[^${String.fromCharCode(0)}-${String.fromCharCode(31)}${String.fromCharCode(127)}-${String.fromCharCode(159)}]+$`);
|
|
1389
|
-
var DiffAnnotation = z.strictObject({
|
|
1390
|
-
section: z.enum(["committed", "uncommitted"]),
|
|
1391
|
-
path: z.string().min(1).max(400).regex(DIFF_ANNOTATION_PATH_RE),
|
|
1392
|
-
line: z.number().int().positive(),
|
|
1393
|
-
side: z.enum(["old", "new"]),
|
|
1394
|
-
note: z.string().min(1).max(DIFF_ANNOTATION_NOTE_MAX_CHARS)
|
|
1395
|
-
});
|
|
1396
1365
|
var CONTROL_FRAME_MAX_BYTES = 4096 + 2 * (PLAN_BODY_CAP_BYTES + PLAN_FEEDBACK_MAX_CHARS + 80 * PLAN_COMMENT_MAX_CHARS);
|
|
1397
1366
|
var UpdateApplyRefusal = z.object({
|
|
1398
1367
|
reason: z.string(),
|
|
@@ -1491,7 +1460,6 @@ var OPERATOR_SURFACES = Object.freeze([
|
|
|
1491
1460
|
"reviews"
|
|
1492
1461
|
]);
|
|
1493
1462
|
var idOnlyClientTypes = [
|
|
1494
|
-
"remove-session",
|
|
1495
1463
|
"kill",
|
|
1496
1464
|
"start-session",
|
|
1497
1465
|
"restart",
|
|
@@ -1526,6 +1494,12 @@ var clientVariants = [
|
|
|
1526
1494
|
environment: z.string().optional(),
|
|
1527
1495
|
requestId
|
|
1528
1496
|
}),
|
|
1497
|
+
loose("remove-session", {
|
|
1498
|
+
id: sessionId,
|
|
1499
|
+
force: z.unknown().optional(),
|
|
1500
|
+
discardRemoteWork: z.boolean().optional(),
|
|
1501
|
+
requestId
|
|
1502
|
+
}),
|
|
1529
1503
|
loose("list-conversations", {
|
|
1530
1504
|
id: sessionId,
|
|
1531
1505
|
requestId
|
|
@@ -1652,11 +1626,6 @@ var clientVariants = [
|
|
|
1652
1626
|
force: z.unknown().optional()
|
|
1653
1627
|
}),
|
|
1654
1628
|
loose("request-hooks-report", { requestId }),
|
|
1655
|
-
loose("send-diff-annotations", {
|
|
1656
|
-
id: sessionId,
|
|
1657
|
-
annotations: z.array(DiffAnnotation).min(1).max(50),
|
|
1658
|
-
requestId
|
|
1659
|
-
}),
|
|
1660
1629
|
loose("save-hook", {
|
|
1661
1630
|
hook: z.record(z.string(), z.unknown()),
|
|
1662
1631
|
requestId
|
|
@@ -1736,6 +1705,7 @@ Object.freeze([
|
|
|
1736
1705
|
"hooks-report",
|
|
1737
1706
|
"save-hook-result",
|
|
1738
1707
|
"add-session-result",
|
|
1708
|
+
"remove-session-result",
|
|
1739
1709
|
"agent-logins",
|
|
1740
1710
|
"delete-hook-result",
|
|
1741
1711
|
"workspace-repos",
|
|
@@ -1761,7 +1731,6 @@ Object.freeze([
|
|
|
1761
1731
|
"session-diff",
|
|
1762
1732
|
"session-diff-error",
|
|
1763
1733
|
"change-map",
|
|
1764
|
-
"send-diff-annotations-result",
|
|
1765
1734
|
"branch-sync-status",
|
|
1766
1735
|
"session-changed",
|
|
1767
1736
|
"post-turn-result",
|
|
@@ -1866,6 +1835,12 @@ var serverVariants = [
|
|
|
1866
1835
|
error: optionalError,
|
|
1867
1836
|
reason: z.enum(["not-git"]).optional()
|
|
1868
1837
|
}),
|
|
1838
|
+
loose("remove-session-result", {
|
|
1839
|
+
requestId,
|
|
1840
|
+
ok: z.boolean(),
|
|
1841
|
+
error: optionalError,
|
|
1842
|
+
canDiscardRemoteWork: z.boolean().optional()
|
|
1843
|
+
}),
|
|
1869
1844
|
loose("agent-logins", {
|
|
1870
1845
|
requestId,
|
|
1871
1846
|
logins: AgentLoginStatuses,
|
|
@@ -2006,12 +1981,6 @@ var serverVariants = [
|
|
|
2006
1981
|
id: sessionId,
|
|
2007
1982
|
map: ChangeMap
|
|
2008
1983
|
}),
|
|
2009
|
-
loose("send-diff-annotations-result", {
|
|
2010
|
-
requestId,
|
|
2011
|
-
ok: z.boolean(),
|
|
2012
|
-
error: optionalError,
|
|
2013
|
-
pending: z.boolean().optional()
|
|
2014
|
-
}),
|
|
2015
1984
|
loose("branch-sync-status", {
|
|
2016
1985
|
id: sessionId,
|
|
2017
1986
|
branch: nullableString,
|
|
@@ -2384,4 +2353,4 @@ var serverVariants = [
|
|
|
2384
2353
|
];
|
|
2385
2354
|
z.discriminatedUnion("type", serverVariants);
|
|
2386
2355
|
//#endregion
|
|
2387
|
-
export {
|
|
2356
|
+
export { TASK_TITLE_TIMEOUT_RANGE as $, BRANCH_GC_STALE_DAYS_RANGE as A, GithubIssueResponse as At, POSTHOG_ESCALATION_RANGE as B, comparablePrKey as C, PLAN_RESULT_HOOK_EVENT as Ct, WorkflowsSettingsUpdate as D, parseExitPlanModeHookPayload as Dt, WorkflowsSettings as E, PlanRevision as Et, KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE as F, IssuesStatus as Ft, POSTHOG_MIN_USERS_RANGE as G, POSTHOG_INTERVAL_RANGE as H, MEMORY_RESERVE_MB_RANGE as I, issuePullRequestStateFromGithub as It, POSTHOG_TRAFFIC_COOLDOWN_RANGE as J, POSTHOG_RECURRENCE_WINDOW_RANGE as K, NON_NEGATIVE_NUMBER_RANGE as L, FLYING_ANIMALS_DURATION_RANGE as M, IssueUpdate as Mt, FLYING_ANIMALS_GAP_RANGE as N, IssuesSearchResponse as Nt, WorkflowsState as O, planTitle as Ot, FLYING_ANIMALS_SCALE_RANGE as P, IssuesState as Pt, REPLAY_BUFFER_KB_RANGE as Q, PORT_RANGE as R, GithubPrsFrame as S, PLAN_HOOK_OUTPUT_MAX_CHARS as St, WorkflowLabelName as T, PlanDecision as Tt, POSTHOG_INVESTIGATION_TIMEOUT_RANGE as U, POSTHOG_FIX_TIMEOUT_RANGE as V, POSTHOG_MAX_CONCURRENT_RANGE as W, POSTHOG_TRAFFIC_MULTIPLIER_RANGE as X, POSTHOG_TRAFFIC_MIN_USERS_RANGE as Y, POSTHOG_TRANSIENT_RECURRENCE_RANGE as Z, MinedPrReviewData as _, CoherenceJournalOutput as _t, OPERATOR_ACTIONS_BY_SURFACE as a, VISIONS_COOLDOWN_MS_RANGE as at, GithubPrKey as b, PLAN_BODY_CAP_BYTES as bt, BenchmarkActionRequest as c, VISIONS_MAX_PER_HOUR_RANGE as ct, BenchmarkJudgement as d, WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE as dt, USAGE_BUDGET_RANGE as et, BenchmarkRun as f, UpdateJournal as ft, MergedPrListing as g, TraceRecord as gt, CommitComparison as h, TraceCheckpoint as ht, InstallFlavor as i, VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE as it, FLYING_ANIMALS_DEFAULTS as j, IssueKey as jt, BRANCH_GC_INTERVAL_MS_RANGE as k, GithubIssuePullRequestsRepository as kt, BenchmarkCase as l, VISIONS_QUIET_MS_RANGE as lt, BenchmarkSuite as m, MAX_RAW_LINE_CHARS as mt, ClientMessage as n, USAGE_RETAIN_DAYS_RANGE as nt, OPERATOR_SURFACES as o, VISIONS_DISPATCH_TIMEOUT_RANGE as ot, BenchmarkStatus as p, SessionSetup as pt, POSTHOG_TRAFFIC_BASELINE_RANGE as q, DASHBOARD_VIEWS as r, USAGE_SCAN_INTERVAL_RANGE as rt, pullRequestKeyFromReference as s, VISIONS_INTENT_THREAD_TTL_MS_RANGE as st, CONTROL_FRAME_MAX_BYTES as t, USAGE_INTEGER_RANGES as tt, BenchmarkId as u, WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE as ut, PrCheckoutCaseInput as v, ChangeMap as vt, WorkflowCommentBody as w, PLAN_TOOL_NAME as wt, GithubPrLightSearchNode as x, PLAN_HOOK_EVENT as xt, GithubPrDetailNode as y, changeMapFactId as yt, POSITIVE_NUMBER_RANGE as z };
|