glimmervoid 0.43.4 → 0.44.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/dist/bin/glimmervoid.js +13 -13
- package/dist/chunks/{adapters-Du4HJLMG.js → adapters-CSRTLFiZ.js} +5 -5
- package/dist/chunks/{adapters-C7wGqlhU.js → adapters-DjDtNufj.js} +1 -1
- package/dist/chunks/{agent-api-cli-DRTVOR2W.js → agent-api-cli-CVgij_62.js} +17 -3
- package/dist/chunks/{agent-api-cli-BC2i4XNI.js → agent-api-cli-ep_5T7Hx.js} +1 -1
- package/dist/chunks/{agent-api-core-9mdbvlfc.js → agent-api-core-DmPT6Hc_.js} +13 -6
- package/dist/chunks/{agent-setup-cli-DAPHGpRA.js → agent-setup-cli-7hG401Io.js} +1 -1
- package/dist/chunks/{config-D0YwCXFd.js → config-CGRYpcBQ.js} +28 -5
- package/dist/chunks/{config-store-BpsH_oWP.js → config-store-B1u3WA5t.js} +3 -3
- package/dist/chunks/config-store-D4vUBcUX.js +1 -0
- package/dist/chunks/{contracts-Dxc9Gp0Y.js → contracts-Fup4hhP9.js} +34 -12
- package/dist/chunks/{git-version-ByOV7a_h.js → git-version-C3lznLS_.js} +1 -1
- package/dist/chunks/{grok-2z-LqPHN.js → grok-Di4aQGre.js} +1 -1
- package/dist/chunks/{main-Bzy6xXUF.js → main-DPtmg7Bn.js} +4381 -3932
- package/dist/chunks/{pair-cli-DSZFFEkT.js → pair-cli-BwOTWShx.js} +2 -2
- package/dist/chunks/{remote-config-Cd_FC7bd.js → remote-config-DWWnz5dP.js} +1 -1
- package/dist/chunks/{session-BUcx9uJa.js → session-CUc6d7aS.js} +24 -4
- package/dist/chunks/{session-routes-BQPy81dm.js → session-routes--hrsvv7a.js} +2 -1
- package/dist/chunks/{settings-cli-DOpMn6-A.js → settings-cli-C_owm3rw.js} +5 -5
- package/dist/chunks/{settings-readout-core-D1ZP4UIs.js → settings-readout-core-C_JzSeF7.js} +2 -2
- package/dist/chunks/{ssh-sign-cli-ynkhYkLs.js → ssh-sign-cli-CDjUtDKa.js} +2 -2
- package/dist/client/assets/index-BedqDfKJ.js +177 -0
- package/dist/client/assets/index-o9J4_Orv.css +2 -0
- package/dist/client/index.html +3 -3
- package/dist/server/index.js +1 -1
- package/package.json +6 -5
- package/dist/chunks/config-store-DcJKvInM.js +0 -1
- package/dist/client/assets/index-583DiM8X.css +0 -2
- package/dist/client/assets/index-CsyFNXR2.js +0 -177
package/dist/bin/glimmervoid.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import { o as nodePtyRebuildHint, r as firstLine, t as probeNodePty } from "../chunks/node-pty-preflight-C8QIlrtU.js";
|
|
3
3
|
import { i as errorText } from "../chunks/text-DoirglWV.js";
|
|
4
4
|
import { o as packageRoot } from "../chunks/runtime-paths-ghcH9CeW.js";
|
|
5
|
-
import { t as AGENT_API_VERBS } from "../chunks/session-
|
|
5
|
+
import { t as AGENT_API_VERBS } from "../chunks/session-CUc6d7aS.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-DmPT6Hc_.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
|
-
import { i as parseCommandLine, r as gitDoctorRows, t as probeGitVersion } from "../chunks/git-version-
|
|
10
|
+
import { i as parseCommandLine, r as gitDoctorRows, t as probeGitVersion } from "../chunks/git-version-C3lznLS_.js";
|
|
11
11
|
import { i as guardrailsDoctorRows, r as probeGuardrailsDependencies } from "../chunks/guardrails-deps-BjPzk1rE.js";
|
|
12
12
|
import { i as pnpmGlobalBinDir, n as npmGlobalBinDir, r as onPath, t as formatPathNotice } from "../chunks/path-doctor-C23VAqeu.js";
|
|
13
13
|
import fs from "node:fs";
|
|
@@ -65,15 +65,15 @@ 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-BwOTWShx.js");
|
|
69
69
|
return runPairCli(subcommandArgs);
|
|
70
70
|
}],
|
|
71
71
|
["agent", async (subcommandArgs) => {
|
|
72
|
-
const { runAgentSetupCli } = await import("../chunks/agent-setup-cli-
|
|
72
|
+
const { runAgentSetupCli } = await import("../chunks/agent-setup-cli-7hG401Io.js");
|
|
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-C_owm3rw.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-CDjUtDKa.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-ep_5T7Hx.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-ep_5T7Hx.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-D4vUBcUX.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-DjDtNufj.js");
|
|
238
238
|
const declaredCustomAgents = await readDeclaredCustomAgents();
|
|
239
239
|
if (declaredCustomAgents.error) line("config", declaredCustomAgents.error);
|
|
240
240
|
setCustomAgents(declaredCustomAgents.declared);
|
|
@@ -242,7 +242,7 @@ async function runDoctor() {
|
|
|
242
242
|
const { label, path: resolvedPath } = describeAgentResolvability(id);
|
|
243
243
|
line(`${id} (${label})`, resolvedPath ?? missingAgentText(id));
|
|
244
244
|
}
|
|
245
|
-
const { inspectGrokAgentSetup } = await import("../chunks/agent-setup-cli-
|
|
245
|
+
const { inspectGrokAgentSetup } = await import("../chunks/agent-setup-cli-7hG401Io.js");
|
|
246
246
|
const grokSetup = inspectGrokAgentSetup();
|
|
247
247
|
line("grok hook setup", `${grokSetup.classification}: ${grokSetup.filePath}`);
|
|
248
248
|
} catch (err) {
|
|
@@ -259,7 +259,7 @@ async function runDoctor() {
|
|
|
259
259
|
try {
|
|
260
260
|
const { resolvePackageBin } = await import("../chunks/runtime-paths-Cc0_ZR6V.js");
|
|
261
261
|
const { execFileSync } = await import("../chunks/child-process-safe-CjVtRjDD.js");
|
|
262
|
-
const { inspectGrokAgentSetup } = await import("../chunks/agent-setup-cli-
|
|
262
|
+
const { inspectGrokAgentSetup } = await import("../chunks/agent-setup-cli-7hG401Io.js");
|
|
263
263
|
const binPath = resolvePackageBin("cc-safety-net", "cc-safety-net");
|
|
264
264
|
line("Sane YOLO", binPath || "not installed");
|
|
265
265
|
if (binPath) line("cc-safety-net version", execFileSync(process.execPath, [binPath, "--version"], {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { s as relayPath } from "./runtime-paths-ghcH9CeW.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Vt as shortSha$1, zt as FULL_SHA_RE } from "./session-CUc6d7aS.js";
|
|
3
3
|
import { n as execFileAsync, r as execFileSync } from "./child-process-safe-D4hyVIXj.js";
|
|
4
|
-
import { y as InstallFlavor } from "./config-
|
|
5
|
-
import { o as supervisionLine } from "./session-routes
|
|
4
|
+
import { y as InstallFlavor } from "./config-CGRYpcBQ.js";
|
|
5
|
+
import { o as supervisionLine } from "./session-routes--hrsvv7a.js";
|
|
6
6
|
import { c as textOr, s as rawTextOr } from "./coerce-NSst8oRP.js";
|
|
7
7
|
import { n as resolveAgentCommand, t as buildAgentSpawnCommand } from "./spawn-command-Cc40FiZI.js";
|
|
8
8
|
import { r as nextBackoffMs } from "./backoff-DjVpfHk7.js";
|
|
9
|
-
import { i as isSpinnerChar, n as classifyAgentTitle, r as isBrailleChar, s as buildAgentEnv, t as grok } from "./grok-
|
|
9
|
+
import { i as isSpinnerChar, n as classifyAgentTitle, r as isBrailleChar, s as buildAgentEnv, t as grok } from "./grok-Di4aQGre.js";
|
|
10
10
|
import { t as buildHookCommand } from "./hook-command-core-qTNK-xMF.js";
|
|
11
|
-
import "./contracts-
|
|
11
|
+
import "./contracts-Fup4hhP9.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-CSRTLFiZ.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as errorCode } from "./text-DoirglWV.js";
|
|
2
|
-
import {
|
|
3
|
-
import { i as formatSessionLimits } from "./session-routes
|
|
4
|
-
import { f as isAgentApiVerb, t as AGENT_COMMAND_HELP } from "./agent-api-core-
|
|
2
|
+
import { c as AgentLimitsReply, n as AGENT_URL_ENV } from "./session-CUc6d7aS.js";
|
|
3
|
+
import { i as formatSessionLimits } from "./session-routes--hrsvv7a.js";
|
|
4
|
+
import { f as isAgentApiVerb, t as AGENT_COMMAND_HELP } from "./agent-api-core-DmPT6Hc_.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";
|
|
@@ -34,6 +34,20 @@ var BODY_BUILDERS = {
|
|
|
34
34
|
discard
|
|
35
35
|
} : { child };
|
|
36
36
|
},
|
|
37
|
+
answer: ([child, answerText, ...extra]) => {
|
|
38
|
+
if (!child?.trim() || !answerText || extra.length > 0) return null;
|
|
39
|
+
if (answerText === "--operator") return {
|
|
40
|
+
child,
|
|
41
|
+
toOperator: true
|
|
42
|
+
};
|
|
43
|
+
const answers = parseJsonOrNull(answerText);
|
|
44
|
+
if (typeof answers !== "object" || answers === null || Array.isArray(answers)) return null;
|
|
45
|
+
if (!Object.values(answers).every((answer) => typeof answer === "string")) return null;
|
|
46
|
+
return {
|
|
47
|
+
child,
|
|
48
|
+
answers
|
|
49
|
+
};
|
|
50
|
+
},
|
|
37
51
|
attention: (rest) => {
|
|
38
52
|
const note = rest.join(" ").trim();
|
|
39
53
|
return note ? { note } : null;
|
|
@@ -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-CVgij_62.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { n as NO_OWN_WORKTREE_REASON, t as COMMAND_ROUTES } from "./session-routes
|
|
1
|
+
import { R as TASK_TITLE_CONTROL_CHARACTERS, T as RefinedTaskTitle, a as AgentAttentionRequest, d as AgentSendRequest, i as AgentAnswerRequest, l as AgentPullRequestRequest, m as AgentSpawnRequest, o as AgentCloseRequest, p as AgentSettingsRequest, s as AgentEditRequest, t as AGENT_API_VERBS, u as AgentReadRequest } from "./session-CUc6d7aS.js";
|
|
2
|
+
import { c as TASK_TITLE_SOURCE_PRIORITY, o as PersistedTaskTitle, w as pullRequestKeyFromReference } from "./config-CGRYpcBQ.js";
|
|
3
|
+
import { n as NO_OWN_WORKTREE_REASON, t as COMMAND_ROUTES } from "./session-routes--hrsvv7a.js";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import crypto from "node:crypto";
|
|
6
6
|
//#region shared/session-naming.ts
|
|
@@ -441,6 +441,7 @@ function chooseRefinedSessionName({ currentName, projectFolderName, proposedName
|
|
|
441
441
|
if (!isAutoNameOf(currentName, projectFolderName)) return null;
|
|
442
442
|
return nextSuggestedName(proposedName, takenNames.filter((name) => name !== currentName));
|
|
443
443
|
}
|
|
444
|
+
var MAX_LIFETIME_SPAWNS = 10;
|
|
444
445
|
var MAX_SPAWNS_IN_FLIGHT = 1;
|
|
445
446
|
var REFUSAL_REASON = "unknown session";
|
|
446
447
|
var INVALID_BODY_STATUS = 400;
|
|
@@ -490,10 +491,10 @@ function decideSpawnAllowance({ liveChildren, lifetimeSpawns, inFlight }) {
|
|
|
490
491
|
status: 429,
|
|
491
492
|
reason: `at most 3 spawned sessions may be live at once`
|
|
492
493
|
};
|
|
493
|
-
if (lifetimeSpawns >=
|
|
494
|
+
if (lifetimeSpawns >= MAX_LIFETIME_SPAWNS) return {
|
|
494
495
|
ok: false,
|
|
495
496
|
status: 429,
|
|
496
|
-
reason: `this session has used its
|
|
497
|
+
reason: `this session has used its ${MAX_LIFETIME_SPAWNS} spawns`
|
|
497
498
|
};
|
|
498
499
|
return { ok: true };
|
|
499
500
|
}
|
|
@@ -559,6 +560,7 @@ var REQUEST_PARSERS = Object.freeze({
|
|
|
559
560
|
send: bodyParser(AgentSendRequest),
|
|
560
561
|
read: bodyParser(AgentReadRequest),
|
|
561
562
|
close: bodyParser(AgentCloseRequest),
|
|
563
|
+
answer: bodyParser(AgentAnswerRequest),
|
|
562
564
|
attention: bodyParser(AgentAttentionRequest),
|
|
563
565
|
board: parseEmptyBody,
|
|
564
566
|
push: parseEmptyBody,
|
|
@@ -724,6 +726,11 @@ var AGENT_COMMAND_HELP = Object.freeze({
|
|
|
724
726
|
summary: "End a session this one spawned and discard its worktree; refused while it holds unpushed work unless --discard",
|
|
725
727
|
missingArgumentHint: "glimmervoid close: this command needs the spawned session, for example \"glimmervoid close <child>\""
|
|
726
728
|
},
|
|
729
|
+
answer: {
|
|
730
|
+
usage: "answer <child> <json>|--operator",
|
|
731
|
+
summary: "Answer a spawned session's held question, or pass it to the operator with --operator",
|
|
732
|
+
missingArgumentHint: "glimmervoid answer: this command needs a child and a JSON object of answers, or --operator"
|
|
733
|
+
},
|
|
727
734
|
attention: {
|
|
728
735
|
usage: "attention <note>",
|
|
729
736
|
summary: "Flag this session as needing the operator",
|
|
@@ -776,7 +783,7 @@ var AGENT_COMMAND_HELP = Object.freeze({
|
|
|
776
783
|
}
|
|
777
784
|
});
|
|
778
785
|
function agentCommandHelpLines() {
|
|
779
|
-
return Object.values(AGENT_COMMAND_HELP).map(({ usage, summary }) => ` ${usage.padEnd(USAGE_COLUMN_WIDTH)}${summary}`);
|
|
786
|
+
return Object.values(AGENT_COMMAND_HELP).map(({ usage, summary }) => ` ${usage.padEnd(Math.max(USAGE_COLUMN_WIDTH, usage.length + 1))}${summary}`);
|
|
780
787
|
}
|
|
781
788
|
//#endregion
|
|
782
789
|
export { seedTaskTitleSources as A, listRepoWorktreePaths as B, extractPromptTaskTitle as C, parseRefinedTaskTitle as D, parseRefinedSessionName as E, resumePromptFor as F, shouldAdoptReportedResumeId as I, claudeProjectsDir as L, RESUME_ID_RE as M, pickAutoResume as N, resolveRefocusTaskTitle as O, resolveResumeTarget as P, encodeProjectDir as R, extractOscTaskTitle as S, isSubstantivePrompt as T, isAutoNameOf as V, buildTaskTitleRefinementPrompt as _, decideSpawnAllowance as a, decideTaskTitleRefinement as b, describeKeptChildAttention as c, describeUnpushedCloseRefusal as d, isAgentApiVerb as f, buildPersistedTaskTitle as g, projectReviews as h, decideAgentRequest as i, AUTO_CONTINUE_PROMPT as j, resolveTaskTitle as k, describePushLanding as l, projectMyPrs as m, REFUSAL_REASON as n, deriveChildSessionName as o, parseAgentVerb as p, agentCommandHelpLines as r, describeChildEndNote as s, AGENT_COMMAND_HELP as t, describeRoleRefusal as u, chooseRefinedSessionName as v, isSelfWakePrompt as w, extractAiTitle as x, cleanTaskPrompt as y, listRepoConversations as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as isMissingFileError, r as errorMessage } from "./text-DoirglWV.js";
|
|
2
|
-
import { a as classifyGrokHooksFile, o as renderGrokHooksFile, t as grok } from "./grok-
|
|
2
|
+
import { a as classifyGrokHooksFile, o as renderGrokHooksFile, t as grok } from "./grok-Di4aQGre.js";
|
|
3
3
|
import { p as writeTextAtomicSync } from "./json-file-DFCTvPjj.js";
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as MyPrMergeWhenReadyRequest, B as UnseenOutcome, Dt as TeamReviewActionResult, Et as TeamReviewActionRequest, F as SessionState, Gt as repoParts, H as MyPr, Ht as GH_SEGMENT, Jt as GithubPrsFreshness, K as MyPrKeepMergeableRequest, Kt as GithubPollingRefreshRequest, Lt as hasRequiredActionHead, N as SessionDoc, O as SESSION_DOC_PATH_MAX_CHARS, P as SessionSnapshot, S as ConversationApprovalDecision, V as LinkedPr, Wt as REPO_SLUG_RE, X as MyPrMergeRequest, Yt as githubPollingShape, Z as MyPrMergeResult, b as ConversationAnswers, ct as pullRequestKeyFormat, et as MyPrMergeWhenReadyResult, jt as TeamReviewStatus, lt as repositoryName, mt as GithubReviewDecision, ot as MyPrsStatus, q as MyPrKeepMergeableResult, qt as GithubPollingRefreshResult, st as SessionPrLinks, tt as MyPrSearchNode, ut as CommitSha, w as PendingWakeup, x as ConversationApproval, y as CoherenceHooksState, yt as ReviewChecksState, z as TaskTitle } from "./session-CUc6d7aS.js";
|
|
2
2
|
import { n as isRecord } from "./coerce-NSst8oRP.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { z } from "zod";
|
|
@@ -1405,7 +1405,11 @@ var ClientErrorReport = z.object({
|
|
|
1405
1405
|
name: z.string().max(128),
|
|
1406
1406
|
stack: z.string().max(8192)
|
|
1407
1407
|
}).strict();
|
|
1408
|
-
var DASHBOARD_TELEMETRY_EVENTS = Object.freeze([
|
|
1408
|
+
var DASHBOARD_TELEMETRY_EVENTS = Object.freeze([
|
|
1409
|
+
"view_shown",
|
|
1410
|
+
"operator_action",
|
|
1411
|
+
"onboarding_step"
|
|
1412
|
+
]);
|
|
1409
1413
|
var DASHBOARD_VIEWS = Object.freeze([
|
|
1410
1414
|
"focus",
|
|
1411
1415
|
"zen",
|
|
@@ -1445,6 +1449,12 @@ var OPERATOR_ACTIONS_BY_SURFACE = Object.freeze({
|
|
|
1445
1449
|
"suppress",
|
|
1446
1450
|
"archive-investigation"
|
|
1447
1451
|
],
|
|
1452
|
+
onboarding: [
|
|
1453
|
+
"rescan",
|
|
1454
|
+
"add-root-typed",
|
|
1455
|
+
"add-root-suggested",
|
|
1456
|
+
"add-session"
|
|
1457
|
+
],
|
|
1448
1458
|
reviews: [
|
|
1449
1459
|
"open-session",
|
|
1450
1460
|
"approve",
|
|
@@ -1459,17 +1469,22 @@ var OPERATOR_ACTIONS_BY_SURFACE = Object.freeze({
|
|
|
1459
1469
|
"refresh"
|
|
1460
1470
|
]
|
|
1461
1471
|
});
|
|
1472
|
+
var ONBOARDING_STEPS = Object.freeze([
|
|
1473
|
+
"agent",
|
|
1474
|
+
"repo_roots",
|
|
1475
|
+
"first_session"
|
|
1476
|
+
]);
|
|
1477
|
+
var ONBOARDING_STEP_STATES = Object.freeze(["current", "done"]);
|
|
1462
1478
|
var OPERATOR_SURFACES = Object.freeze([
|
|
1463
1479
|
"usage",
|
|
1464
1480
|
"issues",
|
|
1465
1481
|
"radar",
|
|
1482
|
+
"onboarding",
|
|
1466
1483
|
"reviews"
|
|
1467
1484
|
]);
|
|
1468
1485
|
var idOnlyClientTypes = [
|
|
1469
1486
|
"kill",
|
|
1470
1487
|
"start-session",
|
|
1471
|
-
"restart",
|
|
1472
|
-
"force-restart",
|
|
1473
1488
|
"merge-session",
|
|
1474
1489
|
"finish-session",
|
|
1475
1490
|
"merge-continue-session",
|
|
@@ -1488,7 +1503,15 @@ function idOnlyClientVariant(type) {
|
|
|
1488
1503
|
});
|
|
1489
1504
|
}
|
|
1490
1505
|
var idOnlyClientVariants = idOnlyClientTypes.map(idOnlyClientVariant);
|
|
1506
|
+
var restartClientShape = {
|
|
1507
|
+
id: sessionId,
|
|
1508
|
+
force: z.unknown().optional(),
|
|
1509
|
+
fresh: z.unknown().optional(),
|
|
1510
|
+
conversationId: z.string().optional()
|
|
1511
|
+
};
|
|
1491
1512
|
var clientVariants = [
|
|
1513
|
+
loose("restart", restartClientShape),
|
|
1514
|
+
loose("force-restart", restartClientShape),
|
|
1492
1515
|
loose("add-session", {
|
|
1493
1516
|
name: z.string(),
|
|
1494
1517
|
path: z.string(),
|
|
@@ -2914,4 +2937,4 @@ function configIssueMessage(error) {
|
|
|
2914
2937
|
return error.issues[0]?.message || "settings are invalid";
|
|
2915
2938
|
}
|
|
2916
2939
|
//#endregion
|
|
2917
|
-
export {
|
|
2940
|
+
export { POSITIVE_NUMBER_RANGE as $, BenchmarkStatus as A, GithubIssueResponse as At, comparablePrKey as B, OPERATOR_SURFACES as C, PLAN_RESULT_HOOK_EVENT as Ct, BenchmarkId as D, parseExitPlanModeHookPayload as Dt, BenchmarkCase as E, PlanRevision as Et, PrCheckoutCaseInput as F, IssuesStatus as Ft, FLYING_ANIMALS_DEFAULTS as G, WorkflowLabelName as H, GithubPrDetailNode as I, issuePullRequestStateFromGithub as It, FLYING_ANIMALS_SCALE_RANGE as J, FLYING_ANIMALS_DURATION_RANGE as K, GithubPrKey as L, CommitComparison as M, IssueUpdate as Mt, MergedPrListing as N, IssuesSearchResponse as Nt, BenchmarkJudgement as O, planTitle as Ot, MinedPrReviewData as P, IssuesState as Pt, PORT_RANGE as Q, GithubPrLightSearchNode as R, OPERATOR_ACTIONS_BY_SURFACE as S, PLAN_HOOK_OUTPUT_MAX_CHARS as St, BenchmarkActionRequest as T, PlanDecision as Tt, WorkflowsSettings as U, WorkflowCommentBody as V, WorkflowsState as W, MEMORY_RESERVE_MB_RANGE as X, KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE as Y, NON_NEGATIVE_NUMBER_RANGE as Z, ClientMessage as _, CoherenceJournalOutput as _t, ConfigUpdate as a, TASK_TITLE_TIMEOUT_RANGE as at, ONBOARDING_STEPS as b, PLAN_BODY_CAP_BYTES as bt, TASK_TITLE_SOURCE_PRIORITY as c, USAGE_RETAIN_DAYS_RANGE as ct, POST_TURN_CHECK_MODES as d, WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE as dt, POSTHOG_FIX_TIMEOUT_RANGE as et, UPDATE_CHANNELS as f, UpdateJournal as ft, CONTROL_FRAME_MAX_BYTES as g, TraceRecord as gt, normalizeLegacyConfigNumbers as h, TraceCheckpoint as ht, Config as i, REPLAY_BUFFER_KB_RANGE as it, BenchmarkSuite as j, IssueKey as jt, BenchmarkRun as k, GithubIssuePullRequestsRepository as kt, configIssueMessage as l, USAGE_SCAN_INTERVAL_RANGE as lt, USAGE_VENDOR_KEYS as m, MAX_RAW_LINE_CHARS as mt, BUILTIN_AGENT_IDS as n, POSTHOG_TRAFFIC_MIN_USERS_RANGE as nt, PersistedTaskTitle as o, USAGE_BUDGET_RANGE as ot, USAGE_COST_MODES as p, SessionSetup as pt, FLYING_ANIMALS_GAP_RANGE as q, BrowserConfig as r, POSTHOG_TRAFFIC_MULTIPLIER_RANGE as rt, RUNTIME_CONFIG_SCALAR_KEYS as s, USAGE_INTEGER_RANGES as st, AGENT_ID_SHAPE_MESSAGE as t, POSTHOG_TRAFFIC_BASELINE_RANGE as tt, BranchGcFileSettings as u, WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE as ut, DASHBOARD_VIEWS as v, ChangeMap as vt, pullRequestKeyFromReference as w, PLAN_TOOL_NAME as wt, ONBOARDING_STEP_STATES as x, PLAN_HOOK_EVENT as xt, InstallFlavor as y, changeMapFactId as yt, GithubPrsFrame as z };
|
|
@@ -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 { $ as
|
|
3
|
+
import { $ as POSITIVE_NUMBER_RANGE, G as FLYING_ANIMALS_DEFAULTS, J as FLYING_ANIMALS_SCALE_RANGE, K as FLYING_ANIMALS_DURATION_RANGE, Q as PORT_RANGE, X as MEMORY_RESERVE_MB_RANGE, Y as KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE, Z as NON_NEGATIVE_NUMBER_RANGE, at as TASK_TITLE_TIMEOUT_RANGE, ct as USAGE_RETAIN_DAYS_RANGE, d as POST_TURN_CHECK_MODES, dt as WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE, et as POSTHOG_FIX_TIMEOUT_RANGE, f as UPDATE_CHANNELS, h as normalizeLegacyConfigNumbers, i as Config, it as REPLAY_BUFFER_KB_RANGE, l as configIssueMessage, lt as USAGE_SCAN_INTERVAL_RANGE, n as BUILTIN_AGENT_IDS, nt as POSTHOG_TRAFFIC_MIN_USERS_RANGE, ot as USAGE_BUDGET_RANGE, p as USAGE_COST_MODES, q as FLYING_ANIMALS_GAP_RANGE, rt as POSTHOG_TRAFFIC_MULTIPLIER_RANGE, s as RUNTIME_CONFIG_SCALAR_KEYS, st as USAGE_INTEGER_RANGES, t as AGENT_ID_SHAPE_MESSAGE, tt as POSTHOG_TRAFFIC_BASELINE_RANGE, u as BranchGcFileSettings, ut as WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE } from "./config-CGRYpcBQ.js";
|
|
4
4
|
import { n as isRecord } from "./coerce-NSst8oRP.js";
|
|
5
5
|
import { n as glimmervoidHomeDir$1, t as decideConfigPath } from "./config-path-core-DFt-TemS.js";
|
|
6
6
|
import { d as writeJsonAtomicSync, f as writeTextAtomic, p as writeTextAtomicSync } from "./json-file-DFCTvPjj.js";
|
|
7
|
-
import { s as FeatureFlagsResponse, u as TELEMETRY_KILL_SWITCH_FLAG } from "./contracts-
|
|
7
|
+
import { s as FeatureFlagsResponse, u as TELEMETRY_KILL_SWITCH_FLAG } from "./contracts-Fup4hhP9.js";
|
|
8
8
|
import fs from "node:fs";
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import os from "node:os";
|
|
@@ -1635,7 +1635,7 @@ var SECTIONS = Object.freeze([
|
|
|
1635
1635
|
id: "team-review-re-review-after-hours",
|
|
1636
1636
|
path: "teamReview.reReviewAfterHours",
|
|
1637
1637
|
title: "Re-review after",
|
|
1638
|
-
description: "When a reviewed PR has a new head, review it again after this long since its last review.
|
|
1638
|
+
description: "When a reviewed PR has a new head, review it again after this long since its last review. Re-run review runs it at any time.",
|
|
1639
1639
|
control: "number",
|
|
1640
1640
|
range: POSITIVE_NUMBER_RANGE,
|
|
1641
1641
|
unit: HOURS,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { s as loadConfigFile } from "./config-store-B1u3WA5t.js";
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import "./session-
|
|
2
|
-
import {
|
|
1
|
+
import "./session-CUc6d7aS.js";
|
|
2
|
+
import { C as OPERATOR_SURFACES, S as OPERATOR_ACTIONS_BY_SURFACE, b as ONBOARDING_STEPS, n as BUILTIN_AGENT_IDS, v as DASHBOARD_VIEWS, x as ONBOARDING_STEP_STATES } from "./config-CGRYpcBQ.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region shared/contracts/telemetry.ts
|
|
5
5
|
var TELEMETRY_ADAPTERS = Object.freeze([...BUILTIN_AGENT_IDS, "custom"]);
|
|
6
|
+
var SESSION_END_CAUSES = Object.freeze([
|
|
7
|
+
"removed",
|
|
8
|
+
"replaced",
|
|
9
|
+
"server_stopped"
|
|
10
|
+
]);
|
|
6
11
|
var SESSION_EXIT_KINDS = Object.freeze([
|
|
7
12
|
"clean",
|
|
8
13
|
"error",
|
|
9
14
|
"signal",
|
|
10
|
-
"no_output"
|
|
15
|
+
"no_output",
|
|
16
|
+
...SESSION_END_CAUSES
|
|
11
17
|
]);
|
|
12
18
|
var TEAM_REVIEW_SETTLED_OUTCOMES = Object.freeze([
|
|
13
19
|
"approve",
|
|
@@ -72,6 +78,10 @@ var OperatorActionProperties = z.object({
|
|
|
72
78
|
surface: z.enum(OPERATOR_SURFACES),
|
|
73
79
|
action: z.enum(OPERATOR_ACTIONS)
|
|
74
80
|
}).strict().refine(isActionOfSurface, { message: "action does not belong to its surface" });
|
|
81
|
+
var OnboardingStepProperties = z.object({
|
|
82
|
+
step: z.enum(ONBOARDING_STEPS),
|
|
83
|
+
state: z.enum(ONBOARDING_STEP_STATES)
|
|
84
|
+
}).strict();
|
|
75
85
|
var TeamReviewDraftedProperties = z.object({ inline_comment_count: nonNegativeInteger }).strict();
|
|
76
86
|
var TeamReviewSettledProperties = z.object({
|
|
77
87
|
duration_ms: nonNegativeInteger,
|
|
@@ -89,13 +99,20 @@ var RadarInvestigationFinishedProperties = z.object({
|
|
|
89
99
|
error_reason: z.enum(RADAR_ERROR_REASONS).optional()
|
|
90
100
|
}).strict();
|
|
91
101
|
var RadarFixHandoffFailedProperties = z.object({ step: z.enum(RADAR_HANDOFF_STEPS) }).strict();
|
|
92
|
-
var DashboardTelemetryReport = z.discriminatedUnion("event", [
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
102
|
+
var DashboardTelemetryReport = z.discriminatedUnion("event", [
|
|
103
|
+
z.object({
|
|
104
|
+
event: z.literal("view_shown"),
|
|
105
|
+
properties: ViewShownProperties
|
|
106
|
+
}),
|
|
107
|
+
z.object({
|
|
108
|
+
event: z.literal("operator_action"),
|
|
109
|
+
properties: OperatorActionProperties
|
|
110
|
+
}),
|
|
111
|
+
z.object({
|
|
112
|
+
event: z.literal("onboarding_step"),
|
|
113
|
+
properties: OnboardingStepProperties
|
|
114
|
+
})
|
|
115
|
+
]);
|
|
99
116
|
var ExceptionFrame = z.object({
|
|
100
117
|
platform: z.enum(["node:javascript", "web:javascript"]),
|
|
101
118
|
function: boundedText,
|
|
@@ -140,6 +157,7 @@ var TELEMETRY_EVENT_SCHEMAS = Object.freeze({
|
|
|
140
157
|
$ai_generation: AiGenerationProperties,
|
|
141
158
|
view_shown: ViewShownProperties,
|
|
142
159
|
operator_action: OperatorActionProperties,
|
|
160
|
+
onboarding_step: OnboardingStepProperties,
|
|
143
161
|
team_review_drafted: TeamReviewDraftedProperties,
|
|
144
162
|
team_review_settled: TeamReviewSettledProperties,
|
|
145
163
|
team_review_post_refused: TeamReviewPostRefusedProperties,
|
|
@@ -161,7 +179,7 @@ Object.freeze([
|
|
|
161
179
|
},
|
|
162
180
|
{
|
|
163
181
|
name: "session_ended",
|
|
164
|
-
description: "A session
|
|
182
|
+
description: "A session ended: how it exited, or that it was removed, replaced by a settings change or stopped with the server, and how long it ran, in whole seconds."
|
|
165
183
|
},
|
|
166
184
|
{
|
|
167
185
|
name: "$exception",
|
|
@@ -177,7 +195,11 @@ Object.freeze([
|
|
|
177
195
|
},
|
|
178
196
|
{
|
|
179
197
|
name: "operator_action",
|
|
180
|
-
description: "An action taken in the Usage, Issues, Radar or Reviews tab: which tab and which action, from a fixed list. Never which repository, pull request, issue or session it was taken on."
|
|
198
|
+
description: "An action taken in the Usage, Issues, Radar or Reviews tab or the first-run checklist: which tab and which action, from a fixed list. Never which repository, pull request, issue or session it was taken on."
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
name: "onboarding_step",
|
|
202
|
+
description: "The first-run checklist moved a step to current or done, with which step. Sent once per change while the page is open."
|
|
181
203
|
},
|
|
182
204
|
{
|
|
183
205
|
name: "team_review_drafted",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as AGENT_API_VERBS } from "./session-
|
|
1
|
+
import { t as AGENT_API_VERBS } from "./session-CUc6d7aS.js";
|
|
2
2
|
import { r as execFileSync } from "./child-process-safe-D4hyVIXj.js";
|
|
3
3
|
//#region server/core/command-line-core.ts
|
|
4
4
|
var SUBCOMMANDS_HONORING_TRAILING_GLOBAL_OPTIONS = /* @__PURE__ */ new Set([
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as errorMessage } from "./text-DoirglWV.js";
|
|
2
2
|
import { s as relayPath } from "./runtime-paths-ghcH9CeW.js";
|
|
3
|
-
import {
|
|
3
|
+
import { j as SIGN_URL_ENV, n as AGENT_URL_ENV } from "./session-CUc6d7aS.js";
|
|
4
4
|
import { n as isRecord } from "./coerce-NSst8oRP.js";
|
|
5
5
|
import { t as HOOK_URL_ENV } from "./hook-relay-core-DA_bz2KA.js";
|
|
6
6
|
import { a as SANE_YOLO_PATH_ENV, o as saneYoloEnv, r as RTK_PATH_ENV } from "./rtk-hook-core-B-MpzPin.js";
|