glimmervoid 0.38.0 → 0.38.1
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 +16 -14
- package/dist/chunks/{adapters-B-IkWl-r.js → adapters-B0EJp_oE.js} +3 -3
- package/dist/chunks/{adapters-Dt3vwxwY.js → adapters-BIbF8RJB.js} +1 -1
- package/dist/chunks/{agent-api-cli-BcZ9DLCF.js → agent-api-cli-B5Tm0wXO.js} +27 -8
- package/dist/chunks/{agent-api-cli-3hryuewm.js → agent-api-cli-BDu1CxZf.js} +1 -1
- package/dist/chunks/{agent-api-core--8WtU1xU.js → agent-api-core-B_mUSenR.js} +36 -4
- package/dist/chunks/{agent-setup-cli-BixDoCkF.js → agent-setup-cli-C9MMiask.js} +1 -1
- package/dist/chunks/{config-BHBZsCBc.js → browser-config-BrBT8269.js} +2 -217
- package/dist/chunks/config-CjawSOBk.js +219 -0
- package/dist/chunks/config-store-B6mX2phK.js +1 -0
- package/dist/chunks/{config-store-DbfMbz4j.js → config-store-CKcDJebD.js} +3 -2
- package/dist/chunks/{contracts-u40eJhaf.js → contracts-HVCEJfxs.js} +6 -239
- package/dist/chunks/factory-D7ryES9n.js +240 -0
- package/dist/chunks/{git-version-BpnTd8sU.js → git-version-rWZjF2Px.js} +1 -1
- package/dist/chunks/{grok-xFs6zIu4.js → grok-y65HOvlU.js} +1 -1
- package/dist/chunks/{knowledge-graph-cli-DcspNqhz.js → knowledge-graph-cli-ByUJoKw_.js} +1 -1
- package/dist/chunks/{main-w01-P1oZ.js → main-DeiiNNI7.js} +149 -46
- package/dist/chunks/{pair-cli-BdoyrDCr.js → pair-cli-B9hHUHLl.js} +2 -2
- package/dist/chunks/{remote-config-61zJ0hME.js → remote-config-DlquYoVe.js} +1 -1
- package/dist/chunks/{session-8Pv0y1vz.js → session-BlT68ppa.js} +5 -2
- package/dist/chunks/{session-routes-D-GZC-Sy.js → session-routes-CT1JrjoT.js} +1 -1
- package/dist/chunks/{settings-cli-DKJsm3AP.js → settings-cli-C5i9v59a.js} +3 -3
- package/dist/chunks/{ssh-sign-cli-Dc2gOCwE.js → ssh-sign-cli-C74BGTQS.js} +2 -2
- package/dist/client/assets/index-ChXRDbjt.js +275 -0
- package/dist/client/assets/index-DA251uL1.css +1 -0
- package/dist/client/index.html +3 -2
- package/dist/server/index.js +1 -1
- package/package.json +3 -2
- package/dist/chunks/config-store-DYj3wYgw.js +0 -1
- package/dist/client/assets/index-BfqmOGgc.js +0 -275
- package/dist/client/assets/index-DxABp5yJ.css +0 -1
|
@@ -2,10 +2,10 @@ import { i as sanitizeOneLine, n as requireExecutableSpawnHelper, r as firstLine
|
|
|
2
2
|
import { a as isMissingFileError, i as errorText$1, r as errorMessage, t as errorCode } from "./text-DoirglWV.js";
|
|
3
3
|
import { a as sanitizeWorktreeName, i as safePathSegment, n as equalsIgnoringCaseOnWindows, r as isPathInside, t as caseFoldedPathKey } from "./paths-Bu4eH1Yd.js";
|
|
4
4
|
import { a as packageRoot, n as cliPath, o as relayPath, r as clientDir, s as resolvePackageBin, t as bundled } from "./runtime-paths-BkeftE60.js";
|
|
5
|
-
import { At as
|
|
5
|
+
import { At as FULL_SHA_RE, Bt as KILLABLE_STATES, Ct as TeamReviewThreadCommentsResponse, D as SSH_SIGN_BODY_CAP_BYTES, Dt as decisionAsIfApprovalRequired, E as SIGN_URL_ENV, Et as canApproveAfterComment, F as LinkedPr, Ft as REPO_SLUG_RE, G as MyPrMergeWhenReadyRequest, H as MyPrMergeRequest, Ht as RESTARTABLE_STATES, I as MyPrAutoRebase, It as repoParts, J as MyPrSearchResponse, L as MyPrCheckContext, M as SshSignRequest, Mt as shortSha$1, N as TASK_TITLE_CONTROL_CHARACTERS, Nt as GH_SEGMENT, P as TaskTitle, Pt as NODE_ID_RE, Q as MyPrsStatus, R as MyPrCheckContextsResponse, S as RefinedTaskTitle, St as TeamReviewStatus, Tt as TeamReviewThreadsRepository, Ut as STATES, V as MyPrMergeMethod, Vt as MERGEABLE_LIVE_STATES, W as MyPrMergeStateResponse, X as MyPrThreadsResponse, Y as MyPrThreadNode, Z as MyPrsState, _t as TeamReviewActionRequest, a as AgentDispatchRequest, at as GithubReviewState, b as ORCHESTRATOR_AGENT_VERBS, bt as TeamReviewResolveResponse, ct as QueuedReview, dt as ReviewDraft, f as AgentTicketRequest, ft as ReviewFinding, gt as SearchedPr, h as CONVERSATION_TOOL_RESULT_HOOK_EVENT, ht as ReviewVerdict, it as GithubReviewDecision, jt as HEX_SHA_RE, kt as hasStandingViewerApproval, lt as ReviewChecksState, m as CONVERSATION_PERMISSION_HOOK_EVENT, mt as ReviewThreadId, n as AGENT_URL_ENV, nt as DECIDING_REVIEW_STATES, ot as PostingPlan, p as CONVERSATION_APPROVAL_SUMMARY_MAX_CHARS, pt as ReviewResult, q as MyPrSearchNode, r as ASK_USER_QUESTION_TOOL_NAME, rt as FindingSeverity, st as PrDetail, tt as CommitSha, ut as ReviewComment, w as SESSION_DOC_BODY_CAP_BYTES, wt as TeamReviewThreadResult, xt as TeamReviewStateEntry, y as ConversationQuestion, yt as TeamReviewCompareFiles, z as MyPrKeepMergeableRequest } from "./session-BlT68ppa.js";
|
|
6
6
|
import { n as execFileAsync, o as spawn, r as execFileSync, t as execFile } from "./child-process-safe-CbQnyh7D.js";
|
|
7
7
|
import { n as glimmervoidHomeDir, t as decideConfigPath } from "./config-path-core-DFt-TemS.js";
|
|
8
|
-
import { i as parseCommandLine, n as warnWhenGitIsTooOld } from "./git-version-
|
|
8
|
+
import { i as parseCommandLine, n as warnWhenGitIsTooOld } from "./git-version-rWZjF2Px.js";
|
|
9
9
|
import { n as checkGuardrailsDependencies, t as allowGuardedSpawn } from "./guardrails-deps-Cb-ki4EU.js";
|
|
10
10
|
import { t as HOOK_URL_ENV } from "./hook-relay-core-DA_bz2KA.js";
|
|
11
11
|
import { t as HOOK_VIA_GUARDRAILS_PROXY_ENV } from "./guardrails-proxy-core-BI3rdY-m.js";
|
|
@@ -16,18 +16,20 @@ import { a as SANE_YOLO_FILES } from "./rtk-hook-core-VrUafGAp.js";
|
|
|
16
16
|
import { _ as lineStartOffsets, a as projectForUri, b as replacedSpanOfWholeTextChange, c as visionsLaneReloadSignature, d as applyDidOpen, f as createDocStore, g as lineOfOffset, h as getDoc, i as isUriInProjects, l as applyDidChange, m as formatRange, n as applyEditorNotification, o as resolveVisionsScopeProjects, p as detectBlankLineBoundary, r as createEditorState, s as scopePathsOf, t as ACTIVITY_METHOD, u as applyDidClose, v as listDocs, x as uriOfParams, y as offsetOfPosition } from "./ingest-editor-core-B2tycW_m.js";
|
|
17
17
|
import { n as DEFAULT_MAX_MS, r as nextBackoffMs, t as DEFAULT_BASE_MS } from "./backoff-DjVpfHk7.js";
|
|
18
18
|
import { n as unrefTimer, t as DEFAULT_TIMER_FNS } from "./timer-deps-u2DAQLok.js";
|
|
19
|
-
import { o as permitsHelpCommand, r as describeSessionLimits } from "./session-routes-
|
|
20
|
-
import {
|
|
21
|
-
import { s as
|
|
19
|
+
import { o as permitsHelpCommand, r as describeSessionLimits } from "./session-routes-CT1JrjoT.js";
|
|
20
|
+
import { $ as CoherenceTicketCreated, C as WorkflowsState, G as USAGE_INTEGER_RANGES, N as KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE, T as USAGE_VENDOR_KEYS, X as CoherenceOrient, a as DEFAULT_FACTORY_CHECKS, b as WorkflowSearchNode, et as CoherenceWorkCreated, o as DEFAULT_FACTORY_PROTECTED_PATHS, tt as CoherenceWorkInspect, v as WorkflowCommentBody, w as USAGE_COST_MODES, x as WorkflowsSettings, y as WorkflowLabelName } from "./browser-config-BrBT8269.js";
|
|
21
|
+
import { _ as isSingleFactoryPathSegment, a as FactoryControlRequest, c as FactoryHarnessVerdict, d as FactoryQueueIntentRequest, g as FactoryWorkerEvent, i as FactoryConsequences, l as FactoryLaneState, m as FactoryReviewerOutput, n as FACTORY_ERROR_MAX_CHARS, p as FactoryReviewVerdict, r as FACTORY_PROTECTED_PATH_FLOOR, s as FactoryHarnessStateLine, u as FactoryProjectState } from "./factory-D7ryES9n.js";
|
|
22
|
+
import { _ as parseAgentVerb, a as decideFactoryControlAllowance, c as deriveChildSessionName, d as describePushRouteRefusal, f as describeUnavailableFactoryState, g as isOrchestratorAgentVerb, i as decideEditAllowance, l as describeFactorySetupProfile, m as formatFactoryStatus, n as decideAgentRequest, o as decideSpawnAllowance, p as findSessionProjectId, r as decideAttentionAllowance, s as decideTicketAction, t as REFUSAL_REASON, u as describePushLanding } from "./agent-api-core-B_mUSenR.js";
|
|
23
|
+
import { s as GLIMMERVOID_SECRET_KEYS } from "./grok-y65HOvlU.js";
|
|
22
24
|
import { n as shellQuote } from "./hook-command-core-qTNK-xMF.js";
|
|
23
25
|
import { C as headroomFromReadings, D as parseMemAvailableBytes, E as parseCgroupV2Path, S as cgroupLimitBytes, T as parseCgroupBytes, _ as createSpawnGate, a as jsonStateLoadError, c as loadedJsonValue, d as writeJsonAtomicSync, f as writeTextAtomic, g as createSerialQueue, h as createMemoryAdmission, i as createJsonStateWriter, m as createKeyedSerialQueue, n as appendJsonLines, o as loadJsonStateFile, p as writeTextAtomicSync, r as createJsonStateStore, s as loadJsonStateFileSync, t as appendJsonLine, u as writeJsonAtomic, v as isQueueAdmissionAbandoned, w as memoryReserveBytes, x as cgroupAncestorPaths, y as isQueueAdmissionTimeout } from "./json-file-CIJf0Cel.js";
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import { A as shouldPersistWarehouse, C as isUsageFile, D as resolveProjectsDirs, E as projectDirCandidates, M as claudeCode, O as scopedClaudeRoots, S as grokRootCandidates, T as passOutcome, _ as continuationDelayMs, a as describeAgentResolvability, b as expandTilde, c as isKnownAgentId, d as resolveAdapter, f as setCustomAgents, g as codexSessionIdFromPath, h as codexRootCandidates, i as customAgentFingerprint, j as splitLines$1, k as shouldEvaluateDespiteIoFailures, l as listAgentIds, m as codexHomes, n as cachedAgentResolvability, o as getAdapter, p as codexFallbackRoots, r as commandFor, s as hookProfileOf, t as DEFAULT_AGENT_ID, u as resetCommandCache, v as decideFileRead, w as laneSpendStatus, x as grokHomes, y as dedupeCodexFiles } from "./adapters-
|
|
26
|
+
import { B as buildExceptionProperties, F as TELEMETRY_BATCH_URL, G as decideTelemetryConsent, H as classifySessionExit, I as TELEMETRY_FLAGS_URL, J as parsePosthogReleaseId, K as exceptionFingerprint, L as adapterBucket, P as FIRST_RUN_NOTICE, Q as stableConfigKey, R as buildAiGenerationEvents, U as decideIsDevInstall, V as buildFactoryDecisionEvent, W as decideRemoteTelemetryState, Y as resolveProjectToken, a as generateProjectId, at as usablePrefixes, b as validateSettingsBlock, ct as comparableDirectoryPath, d as assetForPlatform, et as DEFAULT_BRANCH_GC_PREFIXES, f as decideRtkInstall, g as verifyDigest, h as isRtkBinaryName, i as ensureProjectIds, it as sessionIdFromBranch, lt as isSameDirectoryPath, m as installTargetPath, n as DEFAULT_CONFIG, nt as planBranchGc, o as glimmervoidHomeDir$1, ot as worktreeIntegrationTips, p as findEscapingArchiveMember, q as nodeMajorVersion, r as createConfigStore, rt as planWorktreeGc, st as canonicalizePath, t as ABORT_CONFIG_SAVE, tt as matchedPrefix, v as mergeSettingsBlock, y as settingsBlockSpecFor, z as buildBrowserExceptionProperties } from "./config-store-CKcDJebD.js";
|
|
27
|
+
import { a as ConfigUpdate, c as RUNTIME_CONFIG_SCALAR_KEYS, l as TASK_TITLE_SOURCE_PRIORITY, o as PersistedTaskTitle, r as BrowserConfig, s as ProjectConfig, u as configIssueMessage } from "./config-CjawSOBk.js";
|
|
28
|
+
import { A as ChangeMap, B as MergedPrListing, C as GithubIssuePullRequestsRepository, D as IssuesSearchResponse, E as IssueUpdate, F as BenchmarkJudgement, G as TELEMETRY_EVENT_SCHEMAS, H as PrCheckoutCaseInput, I as BenchmarkRun, J as FACTORY_DECISION_OUTPUT_MAX_BYTES, L as BenchmarkStatus, M as BenchmarkActionRequest, N as BenchmarkCase, O as IssuesState, P as BenchmarkId, R as BenchmarkSuite, S as planTitle, T as IssueKey, V as MinedPrReviewData, W as PendingCrashReport, Y as FactoryDecisionLogLine, _ as PLAN_RESULT_HOOK_EVENT, a as parseDataClientMessage, b as PlanRevision, c as DIFF_ANNOTATION_NOTE_MAX_CHARS, d as MAX_RAW_LINE_CHARS, f as TraceCheckpoint, g as PLAN_HOOK_OUTPUT_MAX_CHARS, h as PLAN_HOOK_EVENT, i as parseDataAttachHistory, j as changeMapFactId, k as IssuesStatus, l as InstallFlavor, m as PLAN_BODY_CAP_BYTES, n as HookEnvelope, o as CONTROL_FRAME_MAX_BYTES, p as TraceRecord, q as TelemetryState, r as DEEP_HISTORY_SCROLLBACK_LINES, s as ClientMessage, t as HTTP_URL_RE, u as UpdateJournal, v as PLAN_TOOL_NAME, w as GithubIssueResponse, x as parseExitPlanModeHookPayload, y as PlanDecision, z as CommitComparison } from "./contracts-HVCEJfxs.js";
|
|
29
|
+
import { A as shouldPersistWarehouse, C as isUsageFile, D as resolveProjectsDirs, E as projectDirCandidates, M as claudeCode, O as scopedClaudeRoots, S as grokRootCandidates, T as passOutcome, _ as continuationDelayMs, a as describeAgentResolvability, b as expandTilde, c as isKnownAgentId, d as resolveAdapter, f as setCustomAgents, g as codexSessionIdFromPath, h as codexRootCandidates, i as customAgentFingerprint, j as splitLines$1, k as shouldEvaluateDespiteIoFailures, l as listAgentIds, m as codexHomes, n as cachedAgentResolvability, o as getAdapter, p as codexFallbackRoots, r as commandFor, s as hookProfileOf, t as DEFAULT_AGENT_ID, u as resetCommandCache, v as decideFileRead, w as laneSpendStatus, x as grokHomes, y as dedupeCodexFiles } from "./adapters-B0EJp_oE.js";
|
|
28
30
|
import { t as HOOK_TOOLS } from "./hook-tools-BkxllUHE.js";
|
|
29
31
|
import { a as formatSshPublicKey, c as orderAgentSockets, i as commitSigningShimText, l as parseSshPublicKey, n as NO_AGENT_HOLDS_KEY, o as isForwardedAgentDirName, r as agentListsKey, s as isSignableGitObject, t as COMMIT_SIGNING_SHIM_NAME } from "./ssh-signing-core-CRhVVWNW.js";
|
|
30
|
-
import { a as configSiblingPath, c as defaultPairingsPath, d as decideDeviceAuth, f as deviceNameFromUserAgent, l as defaultSeenPath, n as normalizeRemoteConfig, o as createPairingsStore, p as hashSecret, r as validateRemoteConfig, s as createSeenStore, t as decideBindHost, u as DEFAULT_DEVICE_MAX_AGE_MS } from "./remote-config-
|
|
32
|
+
import { a as configSiblingPath, c as defaultPairingsPath, d as decideDeviceAuth, f as deviceNameFromUserAgent, l as defaultSeenPath, n as normalizeRemoteConfig, o as createPairingsStore, p as hashSecret, r as validateRemoteConfig, s as createSeenStore, t as decideBindHost, u as DEFAULT_DEVICE_MAX_AGE_MS } from "./remote-config-DlquYoVe.js";
|
|
31
33
|
import { _ as escapeMarkup, g as createLaneLog, n as createVisionsSetup } from "./visions-setup-B-ZeRdsi.js";
|
|
32
34
|
import { t as getRtkPath } from "./rtk-resolver-C_micGrL.js";
|
|
33
35
|
import { createRequire } from "node:module";
|
|
@@ -198,6 +200,7 @@ function createLifecycle({ shutdown, httpServer, extraServers = [], onRestart =
|
|
|
198
200
|
warn: log
|
|
199
201
|
});
|
|
200
202
|
closeExtraServers(extraServers);
|
|
203
|
+
await prepareHandOffOnce();
|
|
201
204
|
let exited = false;
|
|
202
205
|
const doExit = () => {
|
|
203
206
|
if (exited) return;
|
|
@@ -5008,6 +5011,70 @@ function createAgentApiWiring({ config, agentSessions, listAllSessions, listBoar
|
|
|
5008
5011
|
if (routeRefusal) return routeRefusal;
|
|
5009
5012
|
return describePushLanding(await session.mergeAndContinue({ force: true }));
|
|
5010
5013
|
}
|
|
5014
|
+
async function setUpFactoryProject(session, factoryPort, projects) {
|
|
5015
|
+
const projectId = findSessionProjectId(config.projects, session.path);
|
|
5016
|
+
if (!projectId) return {
|
|
5017
|
+
status: 404,
|
|
5018
|
+
body: {
|
|
5019
|
+
ok: false,
|
|
5020
|
+
error: `no configured project has the path ${session.path}, so the operator has to add this repository as a project first`
|
|
5021
|
+
}
|
|
5022
|
+
};
|
|
5023
|
+
const outcome = await factoryPort.rerunSetup(projectId);
|
|
5024
|
+
if (!outcome.ok) return {
|
|
5025
|
+
status: 409,
|
|
5026
|
+
body: {
|
|
5027
|
+
ok: false,
|
|
5028
|
+
error: outcome.reason
|
|
5029
|
+
}
|
|
5030
|
+
};
|
|
5031
|
+
return {
|
|
5032
|
+
status: 200,
|
|
5033
|
+
body: {
|
|
5034
|
+
ok: true,
|
|
5035
|
+
projectId,
|
|
5036
|
+
profile: outcome.profile,
|
|
5037
|
+
text: describeFactorySetupProfile(outcome.profile, projects.some((project) => project.projectId === projectId))
|
|
5038
|
+
}
|
|
5039
|
+
};
|
|
5040
|
+
}
|
|
5041
|
+
async function queueFactoryIntent(session, factoryPort, projects, request) {
|
|
5042
|
+
const projectId = findSessionProjectId(config.projects, session.path);
|
|
5043
|
+
if (!projectId) return {
|
|
5044
|
+
status: 404,
|
|
5045
|
+
body: {
|
|
5046
|
+
ok: false,
|
|
5047
|
+
error: `no configured project has the path ${session.path}, so the operator has to add this repository as a project first`
|
|
5048
|
+
}
|
|
5049
|
+
};
|
|
5050
|
+
if (!projects.some((project) => project.projectId === projectId)) return {
|
|
5051
|
+
status: 409,
|
|
5052
|
+
body: {
|
|
5053
|
+
ok: false,
|
|
5054
|
+
error: `${projectId} is not a factory project yet: commit a coherence.config.json holding {} at the repository root, land it on the integration branch with glimmervoid push, then queue again`
|
|
5055
|
+
}
|
|
5056
|
+
};
|
|
5057
|
+
const outcome = await factoryPort.queueIntent({
|
|
5058
|
+
...request,
|
|
5059
|
+
projectId
|
|
5060
|
+
});
|
|
5061
|
+
if (!outcome.ok) return {
|
|
5062
|
+
status: 409,
|
|
5063
|
+
body: {
|
|
5064
|
+
ok: false,
|
|
5065
|
+
error: outcome.error ?? "the factory refused the intent"
|
|
5066
|
+
}
|
|
5067
|
+
};
|
|
5068
|
+
return {
|
|
5069
|
+
status: 200,
|
|
5070
|
+
body: {
|
|
5071
|
+
ok: true,
|
|
5072
|
+
projectId,
|
|
5073
|
+
workId: outcome.workId,
|
|
5074
|
+
text: `Queued ${outcome.workId ?? "the intent"} on ${projectId}. Follow it with glimmervoid factory status --project ${projectId}`
|
|
5075
|
+
}
|
|
5076
|
+
};
|
|
5077
|
+
}
|
|
5011
5078
|
async function handle(session, verb, payload) {
|
|
5012
5079
|
const parsed = parseAgentVerb(verb, payload);
|
|
5013
5080
|
if (!parsed.ok) return {
|
|
@@ -5017,7 +5084,7 @@ function createAgentApiWiring({ config, agentSessions, listAllSessions, listBoar
|
|
|
5017
5084
|
error: parsed.error
|
|
5018
5085
|
}
|
|
5019
5086
|
};
|
|
5020
|
-
if (parsed.verb === "factory-status" || parsed.verb === "factory-retry") {
|
|
5087
|
+
if (parsed.verb === "factory-status" || parsed.verb === "factory-retry" || parsed.verb === "factory-setup" || parsed.verb === "factory-queue") {
|
|
5021
5088
|
const allowance = decideFactoryControlAllowance(roleFactsOf(session));
|
|
5022
5089
|
if (!allowance.ok) return {
|
|
5023
5090
|
status: allowance.status,
|
|
@@ -5034,6 +5101,8 @@ function createAgentApiWiring({ config, agentSessions, listAllSessions, listBoar
|
|
|
5034
5101
|
error: "Factory is not running"
|
|
5035
5102
|
}
|
|
5036
5103
|
};
|
|
5104
|
+
if (parsed.verb === "factory-setup") return setUpFactoryProject(session, factory, projects);
|
|
5105
|
+
if (parsed.verb === "factory-queue") return queueFactoryIntent(session, factory, projects, parsed.request);
|
|
5037
5106
|
if (parsed.verb === "factory-status") {
|
|
5038
5107
|
const selectedProjects = parsed.request.projectId === void 0 ? projects : projects.filter((project) => project.projectId === parsed.request.projectId);
|
|
5039
5108
|
if (parsed.request.projectId !== void 0 && selectedProjects.length === 0) return {
|
|
@@ -21776,11 +21845,8 @@ var Session = class extends EventEmitter {
|
|
|
21776
21845
|
this._taskTitleSources.customTitle = this.customTitle;
|
|
21777
21846
|
this._updateTaskTitle();
|
|
21778
21847
|
}
|
|
21779
|
-
get
|
|
21780
|
-
return
|
|
21781
|
-
...this._taskTitleSources,
|
|
21782
|
-
pendingPromptTitle: null
|
|
21783
|
-
}).taskTitle;
|
|
21848
|
+
get refinedTaskTitle() {
|
|
21849
|
+
return this._taskTitleSources.refinedTitle ?? null;
|
|
21784
21850
|
}
|
|
21785
21851
|
get persistedTaskTitle() {
|
|
21786
21852
|
return buildPersistedTaskTitle(this._taskTitleSources);
|
|
@@ -36925,7 +36991,7 @@ function createTaskTitleRefiner({ getConfig, spawnLane, nowFn = () => Date.now()
|
|
|
36925
36991
|
const request = {
|
|
36926
36992
|
session,
|
|
36927
36993
|
revision: session.taskTitlePromptRevision,
|
|
36928
|
-
currentTitle: session.
|
|
36994
|
+
currentTitle: session.refinedTaskTitle,
|
|
36929
36995
|
recentPrompts: session.recentTaskPrompts
|
|
36930
36996
|
};
|
|
36931
36997
|
queuedBySession.set(session, request);
|
|
@@ -52032,7 +52098,7 @@ function parseSinceParam(url) {
|
|
|
52032
52098
|
return Number.isFinite(n) ? n : null;
|
|
52033
52099
|
}
|
|
52034
52100
|
function registerControlHandlers(controlWss, deps) {
|
|
52035
|
-
const { sessions, agentSessions = /* @__PURE__ */ new Map(), config, configStore, broadcastControl, generateProjectId, applyConfigReload, applySettingsReload, requestShutdown, requestRestart, handleClientFocus, buildHealthSnapshot, getUpdateStatus, getUpdateJournal = null, getPostTurnLeftoversNotice = null, recheckPostTurnLeftovers = null, checkNow = null, applyUpdate = null,
|
|
52101
|
+
const { sessions, agentSessions = /* @__PURE__ */ new Map(), config, configStore, broadcastControl, generateProjectId, applyConfigReload, applySettingsReload, requestShutdown, requestRestart, handleClientFocus, buildHealthSnapshot, getUpdateStatus, getUpdateJournal = null, getPostTurnLeftoversNotice = null, recheckPostTurnLeftovers = null, checkNow = null, applyUpdate = null, noteRestartRequested = null, getRadarStatus, posthogReportsDir = null, posthogSetIssueStatus = null, radarArchiveInvestigation = null, getTeamReviewStatus = null, getMyPrsStatus = null, getIssuesStatus = null, issues = null, teamReview = null, myPrs = null, getBenchmarkStatus = null, getFactoryState = null, benchmarks = null, factory = null, createGithubClient = createPrGh, issueProjectRepos = null, serverBuild = () => null, getUsageSessions = null, getUsageReport = null, requestUsageReport = null, getPlanLimits = null, controlReplayLog = null, getRtkInstallStatus = () => null, resolveRtkPath = () => getRtkPath(), conversationFs = fs, conversationGit = runGitForConversationHistory, conversationProjectsDir = claudeProjectsDir(process.env, os.homedir()), readTracePage = null, readPlanRevision = null, decidePlanReview = null, sessionDocs = null, changeMapNarrator = null } = deps;
|
|
52036
52102
|
const changeMaps = createChangeMapService({
|
|
52037
52103
|
sessions,
|
|
52038
52104
|
narrator: changeMapNarrator,
|
|
@@ -53256,29 +53322,16 @@ function registerControlHandlers(controlWss, deps) {
|
|
|
53256
53322
|
}
|
|
53257
53323
|
await checkNow();
|
|
53258
53324
|
}
|
|
53259
|
-
async function handleUpdateApply(
|
|
53325
|
+
async function handleUpdateApply(_msg, ws) {
|
|
53260
53326
|
if (!applyUpdate) {
|
|
53261
53327
|
sendError(ws, "[update-apply-unavailable] Update application is unavailable.");
|
|
53262
53328
|
return;
|
|
53263
53329
|
}
|
|
53264
53330
|
const outcome = await applyUpdate();
|
|
53265
|
-
if (
|
|
53266
|
-
|
|
53267
|
-
return;
|
|
53268
|
-
}
|
|
53269
|
-
if (msg.restartWhenStaged !== true) return;
|
|
53270
|
-
const confirmedSessionIds = new Set(msg.confirmedSessionIds ?? []);
|
|
53271
|
-
if ([...sessions.keys(), ...agentSessions.keys()].some((liveSessionId) => !confirmedSessionIds.has(liveSessionId))) {
|
|
53272
|
-
sendError(ws, "[update-restart-skipped] The update is staged, but sessions started since you confirmed. Restart when ready.");
|
|
53273
|
-
return;
|
|
53274
|
-
}
|
|
53275
|
-
handleRestart(msg, ws);
|
|
53331
|
+
if (outcome.ok) return;
|
|
53332
|
+
sendError(ws, `[${outcome.reason || "update-refused"}] ${outcome.message}`);
|
|
53276
53333
|
}
|
|
53277
|
-
function handleRestart(_msg
|
|
53278
|
-
if (isStaging?.()) {
|
|
53279
|
-
sendError(ws, "[update-staging] Wait for the update staging run to finish before restarting.");
|
|
53280
|
-
return;
|
|
53281
|
-
}
|
|
53334
|
+
function handleRestart(_msg) {
|
|
53282
53335
|
noteRestartRequested?.();
|
|
53283
53336
|
console.log("[control] Restart requested via UI");
|
|
53284
53337
|
broadcastControl({ type: "restarting" });
|
|
@@ -53739,7 +53792,6 @@ function createBackendControl(dependencies) {
|
|
|
53739
53792
|
recheckPostTurnLeftovers: dependencies.recheckPostTurnLeftovers,
|
|
53740
53793
|
checkNow: dependencies.checkNow,
|
|
53741
53794
|
applyUpdate: dependencies.applyUpdate,
|
|
53742
|
-
isStaging: dependencies.isStaging,
|
|
53743
53795
|
noteRestartRequested: dependencies.noteRestartRequested,
|
|
53744
53796
|
getRadarStatus: () => posthog.getStatus(),
|
|
53745
53797
|
posthogSetIssueStatus: (args) => posthog.setIssueStatus(args),
|
|
@@ -53791,6 +53843,7 @@ var PREVIOUS_DEPENDENCIES_BACKUP_NAME = "prev-node_modules";
|
|
|
53791
53843
|
var QUARANTINED_DIST_NAME = "broken-dist";
|
|
53792
53844
|
var QUARANTINED_DEPENDENCIES_NAME = "broken-node_modules";
|
|
53793
53845
|
var SUPPORTED_UPDATE_REMOTE = "origin";
|
|
53846
|
+
var LOWEST_SCHEDULING_PRIORITY = "19";
|
|
53794
53847
|
var TRANSITIONS_ALLOWED_BY_STATE = Object.freeze({
|
|
53795
53848
|
idle: Object.freeze(["begin-run"]),
|
|
53796
53849
|
running: Object.freeze([
|
|
@@ -53952,6 +54005,21 @@ function planSteps({ lockfileChanged }) {
|
|
|
53952
54005
|
"build"
|
|
53953
54006
|
];
|
|
53954
54007
|
}
|
|
54008
|
+
function lowPriorityCommand({ file, args, platform }) {
|
|
54009
|
+
if (platform === "win32") return {
|
|
54010
|
+
file,
|
|
54011
|
+
args
|
|
54012
|
+
};
|
|
54013
|
+
return {
|
|
54014
|
+
file: "nice",
|
|
54015
|
+
args: [
|
|
54016
|
+
"-n",
|
|
54017
|
+
LOWEST_SCHEDULING_PRIORITY,
|
|
54018
|
+
file,
|
|
54019
|
+
...args
|
|
54020
|
+
]
|
|
54021
|
+
};
|
|
54022
|
+
}
|
|
53955
54023
|
function planHandOffRenames({ root, stagingPath, lockfileChanged }) {
|
|
53956
54024
|
const updatePath = `${root}/.glimmervoid/update`;
|
|
53957
54025
|
const renames = [{
|
|
@@ -54478,6 +54546,7 @@ function createBackendUpdateCheck(dependencies) {
|
|
|
54478
54546
|
let inFlight = null;
|
|
54479
54547
|
let lastChannel = normalizeUpdateChannel(dependencies.config.updateChannel);
|
|
54480
54548
|
let lastSurfacedIdentity = null;
|
|
54549
|
+
let lastDownloadedIdentity = null;
|
|
54481
54550
|
let pendingChannelRefresh = false;
|
|
54482
54551
|
let stopped = false;
|
|
54483
54552
|
const now = dependencies.now || (() => Date.now());
|
|
@@ -54581,6 +54650,26 @@ function createBackendUpdateCheck(dependencies) {
|
|
|
54581
54650
|
const latestRelease = status.latest || shortSha(status.latestSha) || "unknown";
|
|
54582
54651
|
dependencies.logger.log(`[update] A newer glimmervoid is available: ${currentRelease} -> ${latestRelease}. Update: ${status.command}`);
|
|
54583
54652
|
}
|
|
54653
|
+
function downloadInBackground(status) {
|
|
54654
|
+
const downloadUpdate = dependencies.downloadUpdate;
|
|
54655
|
+
if (!downloadUpdate || dependencies.config.checkForUpdates === false) return;
|
|
54656
|
+
if (!status.updateAvailable || status.applyRefusal) return;
|
|
54657
|
+
const identity = status.latestSha || status.latest;
|
|
54658
|
+
if (!identity || identity === lastDownloadedIdentity) return;
|
|
54659
|
+
lastDownloadedIdentity = identity;
|
|
54660
|
+
dependencies.logger.log(`[update] downloading ${status.latest || shortSha(status.latestSha)} in the background`);
|
|
54661
|
+
const allowRetryAtNextCheck = () => {
|
|
54662
|
+
if (lastDownloadedIdentity === identity) lastDownloadedIdentity = null;
|
|
54663
|
+
};
|
|
54664
|
+
downloadUpdate().then((outcome) => {
|
|
54665
|
+
if (outcome.ok) return;
|
|
54666
|
+
allowRetryAtNextCheck();
|
|
54667
|
+
dependencies.logger.log(`[update] background download stopped: ${outcome.message}`);
|
|
54668
|
+
}, (error) => {
|
|
54669
|
+
allowRetryAtNextCheck();
|
|
54670
|
+
dependencies.logger.log(`[update] background download failed: ${String(error)}`);
|
|
54671
|
+
});
|
|
54672
|
+
}
|
|
54584
54673
|
function runCheck(ttlMs) {
|
|
54585
54674
|
if (inFlight) return inFlight;
|
|
54586
54675
|
const channel = normalizeUpdateChannel(dependencies.config.updateChannel);
|
|
@@ -54599,6 +54688,7 @@ function createBackendUpdateCheck(dependencies) {
|
|
|
54599
54688
|
});
|
|
54600
54689
|
const status = recordStatus(updateResult, checkedAt, channel);
|
|
54601
54690
|
surfaceAvailableUpdate(status);
|
|
54691
|
+
downloadInBackground(status);
|
|
54602
54692
|
return status;
|
|
54603
54693
|
}).finally(() => {
|
|
54604
54694
|
inFlight = null;
|
|
@@ -54621,6 +54711,7 @@ function createBackendUpdateCheck(dependencies) {
|
|
|
54621
54711
|
recordedStatus = null;
|
|
54622
54712
|
lastLaneSignature = null;
|
|
54623
54713
|
lastSurfacedIdentity = null;
|
|
54714
|
+
lastDownloadedIdentity = null;
|
|
54624
54715
|
updateAbort?.abort();
|
|
54625
54716
|
return true;
|
|
54626
54717
|
}
|
|
@@ -55374,7 +55465,12 @@ function createUpdateApplyLane(dependencies) {
|
|
|
55374
55465
|
stepId,
|
|
55375
55466
|
now: clock()
|
|
55376
55467
|
}));
|
|
55377
|
-
const
|
|
55468
|
+
const throttled = lowPriorityCommand({
|
|
55469
|
+
file,
|
|
55470
|
+
args,
|
|
55471
|
+
platform: dependencies.platform || process.platform
|
|
55472
|
+
});
|
|
55473
|
+
const outcome = await command(throttled.file, throttled.args, cwd, timeout);
|
|
55378
55474
|
journal = appendStepOutput(journal, stepId, outcome.output);
|
|
55379
55475
|
if (!outcome.ok) throw new Error(outcome.reason || `${stepId} failed`);
|
|
55380
55476
|
await publish(finishStep(journal, {
|
|
@@ -55669,9 +55765,6 @@ function createUpdateApplyLane(dependencies) {
|
|
|
55669
55765
|
activeRun = run;
|
|
55670
55766
|
await run;
|
|
55671
55767
|
}
|
|
55672
|
-
function isStaging() {
|
|
55673
|
-
return inFlight;
|
|
55674
|
-
}
|
|
55675
55768
|
function isRestartRequested() {
|
|
55676
55769
|
return restartRequested;
|
|
55677
55770
|
}
|
|
@@ -55778,7 +55871,6 @@ function createUpdateApplyLane(dependencies) {
|
|
|
55778
55871
|
getJournal,
|
|
55779
55872
|
handOffStagedUpdate,
|
|
55780
55873
|
isRestartRequested,
|
|
55781
|
-
isStaging,
|
|
55782
55874
|
noteRestartRequested,
|
|
55783
55875
|
startAfterListening,
|
|
55784
55876
|
stop,
|
|
@@ -56780,6 +56872,12 @@ function createBackend(httpServer, options = {}) {
|
|
|
56780
56872
|
visionsSetup.maybeApply();
|
|
56781
56873
|
laneAssembly.restartDynamicLanes();
|
|
56782
56874
|
}
|
|
56875
|
+
function downloadUpdateOnceListening() {
|
|
56876
|
+
if (httpServer.listening) return updateApply.applyUpdate();
|
|
56877
|
+
return new Promise((resolve) => {
|
|
56878
|
+
httpServer.once("listening", resolve);
|
|
56879
|
+
}).then(() => updateApply.applyUpdate());
|
|
56880
|
+
}
|
|
56783
56881
|
const updateCheck = createBackendUpdateCheck({
|
|
56784
56882
|
config,
|
|
56785
56883
|
currentVersion: packageJson.version,
|
|
@@ -56790,7 +56888,8 @@ function createBackend(httpServer, options = {}) {
|
|
|
56790
56888
|
isRestartRequested: () => updateApply.isRestartRequested(),
|
|
56791
56889
|
getControlClientCount: () => controlWss.clients.size,
|
|
56792
56890
|
broadcastControl,
|
|
56793
|
-
logger: console
|
|
56891
|
+
logger: console,
|
|
56892
|
+
...options.downloadUpdatesInBackground ? { downloadUpdate: downloadUpdateOnceListening } : {}
|
|
56794
56893
|
});
|
|
56795
56894
|
const updateApply = createUpdateApplyLane({
|
|
56796
56895
|
gitWorkspace: assembledGitWorkspace,
|
|
@@ -56913,7 +57012,6 @@ function createBackend(httpServer, options = {}) {
|
|
|
56913
57012
|
recheckPostTurnLeftovers,
|
|
56914
57013
|
checkNow: updateCheck.checkNow,
|
|
56915
57014
|
applyUpdate: updateApply.applyUpdate,
|
|
56916
|
-
isStaging: updateApply.isStaging,
|
|
56917
57015
|
noteRestartRequested: () => {
|
|
56918
57016
|
updateApply.noteRestartRequested();
|
|
56919
57017
|
updateCheck.refreshApplyAvailability();
|
|
@@ -56953,6 +57051,7 @@ function createBackend(httpServer, options = {}) {
|
|
|
56953
57051
|
updateCheck.start();
|
|
56954
57052
|
return {
|
|
56955
57053
|
shutdown,
|
|
57054
|
+
handOffStagedUpdate: updateApply.handOffStagedUpdate,
|
|
56956
57055
|
port,
|
|
56957
57056
|
app,
|
|
56958
57057
|
telemetry,
|
|
@@ -57002,7 +57101,10 @@ function isBootRefusal(error) {
|
|
|
57002
57101
|
}
|
|
57003
57102
|
function createBackendOrExit() {
|
|
57004
57103
|
try {
|
|
57005
|
-
return createBackend(server, {
|
|
57104
|
+
return createBackend(server, {
|
|
57105
|
+
staticDir: "auto",
|
|
57106
|
+
downloadUpdatesInBackground: true
|
|
57107
|
+
});
|
|
57006
57108
|
} catch (err) {
|
|
57007
57109
|
if (!isBootRefusal(err)) throw err;
|
|
57008
57110
|
console.error(err.message);
|
|
@@ -57010,7 +57112,7 @@ function createBackendOrExit() {
|
|
|
57010
57112
|
}
|
|
57011
57113
|
}
|
|
57012
57114
|
var backend = createBackendOrExit();
|
|
57013
|
-
var { shutdown, port, app, telemetry, version } = backend;
|
|
57115
|
+
var { shutdown, handOffStagedUpdate, port, app, telemetry, version } = backend;
|
|
57014
57116
|
server.on("request", app);
|
|
57015
57117
|
function writeTerminalTitle(sequence) {
|
|
57016
57118
|
if (!process.stdout.isTTY) return;
|
|
@@ -57091,7 +57193,8 @@ var { requestShutdown } = createLifecycle({
|
|
|
57091
57193
|
httpServer: server,
|
|
57092
57194
|
extraServers: remoteServers,
|
|
57093
57195
|
spawn,
|
|
57094
|
-
exit: exitWithClearedTerminalTitle
|
|
57196
|
+
exit: exitWithClearedTerminalTitle,
|
|
57197
|
+
beforeHandOff: handOffStagedUpdate
|
|
57095
57198
|
});
|
|
57096
57199
|
function handleShutdownSignal(signal) {
|
|
57097
57200
|
console.log(`\n${signal} received - shutting down...`);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as errorMessage } from "./text-DoirglWV.js";
|
|
2
|
-
import { c as resolveConfigPath } from "./config-store-
|
|
3
|
-
import { c as defaultPairingsPath, i as REVOCATION_PROPAGATION_SECONDS, l as defaultSeenPath, n as normalizeRemoteConfig, o as createPairingsStore, s as createSeenStore } from "./remote-config-
|
|
2
|
+
import { c as resolveConfigPath } from "./config-store-CKcDJebD.js";
|
|
3
|
+
import { c as defaultPairingsPath, i as REVOCATION_PROPAGATION_SECONDS, l as defaultSeenPath, n as normalizeRemoteConfig, o as createPairingsStore, s as createSeenStore } from "./remote-config-DlquYoVe.js";
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
//#region server/text-format.ts
|
|
6
6
|
function trimIso(iso) {
|
|
@@ -3,7 +3,7 @@ import { n as equalsIgnoringCaseOnWindows } from "./paths-Bu4eH1Yd.js";
|
|
|
3
3
|
import { n as isRecord } from "./coerce-NSst8oRP.js";
|
|
4
4
|
import { n as unrefTimer, t as DEFAULT_TIMER_FNS } from "./timer-deps-u2DAQLok.js";
|
|
5
5
|
import { a as jsonStateLoadError, d as writeJsonAtomicSync, l as sleepSync, s as loadJsonStateFileSync, u as writeJsonAtomic } from "./json-file-CIJf0Cel.js";
|
|
6
|
-
import { o as glimmervoidHomeDir, st as canonicalizePath } from "./config-store-
|
|
6
|
+
import { o as glimmervoidHomeDir, st as canonicalizePath } from "./config-store-CKcDJebD.js";
|
|
7
7
|
import fs from "node:fs";
|
|
8
8
|
import path from "node:path";
|
|
9
9
|
import crypto from "node:crypto";
|
|
@@ -959,7 +959,9 @@ var AGENT_API_VERBS = [
|
|
|
959
959
|
"edit",
|
|
960
960
|
"limits",
|
|
961
961
|
"factory-status",
|
|
962
|
-
"factory-retry"
|
|
962
|
+
"factory-retry",
|
|
963
|
+
"factory-setup",
|
|
964
|
+
"factory-queue"
|
|
963
965
|
];
|
|
964
966
|
var ORCHESTRATOR_AGENT_VERBS = [
|
|
965
967
|
"dispatch",
|
|
@@ -968,6 +970,7 @@ var ORCHESTRATOR_AGENT_VERBS = [
|
|
|
968
970
|
];
|
|
969
971
|
var AgentFactoryStatusRequest = z.object({ projectId: z.string().trim().min(1).max(128).optional() }).strict();
|
|
970
972
|
var AgentFactoryRetryRequest = z.object({ intentId: z.string().trim().min(1).max(128) }).strict();
|
|
973
|
+
var AgentFactorySetupRequest = z.object({}).strict();
|
|
971
974
|
var AgentSpawnRequest = z.object({
|
|
972
975
|
prompt: z.string({ error: "prompt must be a string" }).min(1, { error: "prompt must not be empty" }).max(2e4, { error: "prompt must be at most 20000 characters" }).refine((prompt) => !prompt.trimStart().startsWith("-"), { message: "prompt must not start with a dash, which the agent CLI would read as an option" }),
|
|
973
976
|
name: z.string({ error: "name must be a string" }).min(1, { error: "name must not be empty" }).max(200, { error: "name must be at most 200 characters" }).optional(),
|
|
@@ -1029,4 +1032,4 @@ z.discriminatedUnion("ok", [z.object({
|
|
|
1029
1032
|
reason: z.string()
|
|
1030
1033
|
})]);
|
|
1031
1034
|
//#endregion
|
|
1032
|
-
export {
|
|
1035
|
+
export { SessionPrLinks as $, SessionState as A, FULL_SHA_RE as At, MyPrKeepMergeableResult as B, KILLABLE_STATES as Bt, SESSION_COMMANDS as C, TeamReviewThreadCommentsResponse as Ct, SSH_SIGN_BODY_CAP_BYTES as D, decisionAsIfApprovalRequired as Dt, SIGN_URL_ENV as E, canApproveAfterComment as Et, LinkedPr as F, REPO_SLUG_RE as Ft, MyPrMergeWhenReadyRequest as G, MyPrMergeRequest as H, RESTARTABLE_STATES as Ht, MyPrAutoRebase as I, repoParts as It, MyPrSearchResponse as J, MyPrMergeWhenReadyResult as K, MyPrCheckContext as L, GithubPollingRefreshRequest as Lt, SshSignRequest as M, shortSha as Mt, TASK_TITLE_CONTROL_CHARACTERS as N, GH_SEGMENT as Nt, SessionDoc as O, hasRequiredActionHead as Ot, TaskTitle as P, NODE_ID_RE as Pt, MyPrsStatus as Q, MyPrCheckContextsResponse as R, GithubPollingRefreshResult as Rt, RefinedTaskTitle as S, TeamReviewStatus as St, SESSION_DOC_PATH_MAX_CHARS as T, TeamReviewThreadsRepository as Tt, MyPrMergeResult as U, STATES as Ut, MyPrMergeMethod as V, MERGEABLE_LIVE_STATES as Vt, MyPrMergeStateResponse as W, MyPrThreadsResponse as X, MyPrThreadNode as Y, MyPrsState as Z, ConversationApproval as _, TeamReviewActionRequest as _t, AgentDispatchRequest as a, GithubReviewState as at, ORCHESTRATOR_AGENT_VERBS as b, TeamReviewResolveResponse as bt, AgentFactorySetupRequest as c, QueuedReview as ct, AgentSpawnRequest as d, ReviewDraft as dt, repositoryName as et, AgentTicketRequest as f, ReviewFinding as ft, ConversationAnswers as g, SearchedPr as gt, CONVERSATION_TOOL_RESULT_HOOK_EVENT as h, ReviewVerdict as ht, AgentAttentionRequest as i, GithubReviewDecision as it, SshSignReply as j, HEX_SHA_RE as jt, SessionSnapshot as k, hasStandingViewerApproval as kt, AgentFactoryStatusRequest as l, ReviewChecksState as lt, CONVERSATION_PERMISSION_HOOK_EVENT as m, ReviewThreadId as mt, AGENT_URL_ENV as n, DECIDING_REVIEW_STATES as nt, AgentEditRequest as o, PostingPlan as ot, CONVERSATION_APPROVAL_SUMMARY_MAX_CHARS as p, ReviewResult as pt, MyPrSearchNode as q, ASK_USER_QUESTION_TOOL_NAME as r, FindingSeverity as rt, AgentFactoryRetryRequest as s, PrDetail as st, AGENT_API_VERBS as t, CommitSha as tt, AgentLimitsReply as u, ReviewComment as ut, ConversationApprovalDecision as v, TeamReviewActionResult as vt, SESSION_DOC_BODY_CAP_BYTES as w, TeamReviewThreadResult as wt, PendingWakeup as x, TeamReviewStateEntry as xt, ConversationQuestion as y, TeamReviewCompareFiles as yt, MyPrKeepMergeableRequest as z, githubPollingShape as zt };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as SESSION_COMMANDS } from "./session-BlT68ppa.js";
|
|
2
2
|
//#region session/core/session-routes.ts
|
|
3
3
|
var SUPERVISION_LINE = "Glimmervoid supervises this session. Run glimmervoid --help for the commands it gives you and this session's limits.";
|
|
4
4
|
var GUARDRAILS_LINE = "Its guardrails are OS-enforced, so a read, write or connection they refuse will not succeed on retry.";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { r as errorMessage, t as errorCode } from "./text-DoirglWV.js";
|
|
2
|
-
import "./session-
|
|
2
|
+
import "./session-BlT68ppa.js";
|
|
3
3
|
import { t as renderTable } from "./ascii-figure-core-pDAwtlKO.js";
|
|
4
4
|
import { n as glimmervoidHomeDir, t as decideConfigPath } from "./config-path-core-DFt-TemS.js";
|
|
5
5
|
import { n as isRecord } from "./coerce-NSst8oRP.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { $ as withEnvSecrets, A as settingsOf, C as deleteValueAtPath, D as scoreSettingsSearch, E as parsePosthogProjectSelection, M as FILE_ONLY_GROUPS, N as SETTINGS_REGISTRY, O as setValueAtPath, S as cloneValue, T as hasScaledUnit, X as ENV_SECRET_BINDINGS, Z as readEnvSecrets, j as valueAtPath, k as settingsGroupOf, l as saveConfigFileOnce, s as loadConfigFile, u as validateConfig, w as displayText, x as SETTINGS_INDEX } from "./config-store-CKcDJebD.js";
|
|
7
|
+
import { r as BrowserConfig } from "./config-CjawSOBk.js";
|
|
8
8
|
import fs from "node:fs";
|
|
9
9
|
import os from "node:os";
|
|
10
10
|
import { parseArgs } from "node:util";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { r as errorMessage } from "./text-DoirglWV.js";
|
|
2
|
-
import {
|
|
2
|
+
import { E as SIGN_URL_ENV, j as SshSignReply } from "./session-BlT68ppa.js";
|
|
3
3
|
import { n as execFileAsync, o as spawn } from "./child-process-safe-CbQnyh7D.js";
|
|
4
4
|
import { a as isLoopbackHostname } from "./hook-relay-core-DA_bz2KA.js";
|
|
5
|
-
import { t as postToAgentIngress } from "./agent-api-cli-
|
|
5
|
+
import { t as postToAgentIngress } from "./agent-api-cli-B5Tm0wXO.js";
|
|
6
6
|
import { l as parseSshPublicKey } from "./ssh-signing-core-CRhVVWNW.js";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import fsp from "node:fs/promises";
|