@integrity-labs/agt-cli 0.28.1191 → 0.28.1193
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/agt.js +6 -6
- package/dist/{chunk-7T4CZ2NS.js → chunk-DXLSLT5G.js} +2 -2
- package/dist/{chunk-L5BWZX3Z.js → chunk-NJ2AUTIO.js} +3 -3
- package/dist/{chunk-VS3QXUDM.js → chunk-UQYIFOWE.js} +2 -2
- package/dist/{chunk-GRU6GNLP.js → chunk-UUO7QTLC.js} +76 -15
- package/dist/chunk-UUO7QTLC.js.map +1 -0
- package/dist/{chunk-5RDPFXWO.js → chunk-ZTA7AGKM.js} +7 -5
- package/dist/chunk-ZTA7AGKM.js.map +1 -0
- package/dist/{claude-code-updater-JPVLPWVR.js → claude-code-updater-EOJQHUZ2.js} +3 -3
- package/dist/{claude-pair-runtime-JXXYGKWS.js → claude-pair-runtime-WKTA3HNF.js} +3 -3
- package/dist/lib/manager-worker.js +71 -23
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +6 -2
- package/dist/mcp/index.js +54 -1
- package/dist/mcp/origami.js +3 -0
- package/dist/mcp/slack-channel.js +6 -2
- package/dist/mcp/telegram-channel.js +112 -15
- package/dist/{persistent-session-NSA3UYRF.js → persistent-session-5MGJGJIB.js} +4 -4
- package/dist/{responsiveness-probe-MWH3BKAL.js → responsiveness-probe-J4CBYZS3.js} +4 -4
- package/dist/{session-auth-dead-RYU7ZB56.js → session-auth-dead-7CSZHNBK.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-5RDPFXWO.js.map +0 -1
- package/dist/chunk-GRU6GNLP.js.map +0 -1
- /package/dist/{chunk-7T4CZ2NS.js.map → chunk-DXLSLT5G.js.map} +0 -0
- /package/dist/{chunk-L5BWZX3Z.js.map → chunk-NJ2AUTIO.js.map} +0 -0
- /package/dist/{chunk-VS3QXUDM.js.map → chunk-UQYIFOWE.js.map} +0 -0
- /package/dist/{claude-code-updater-JPVLPWVR.js.map → claude-code-updater-EOJQHUZ2.js.map} +0 -0
- /package/dist/{claude-pair-runtime-JXXYGKWS.js.map → claude-pair-runtime-WKTA3HNF.js.map} +0 -0
- /package/dist/{persistent-session-NSA3UYRF.js.map → persistent-session-5MGJGJIB.js.map} +0 -0
- /package/dist/{responsiveness-probe-MWH3BKAL.js.map → responsiveness-probe-J4CBYZS3.js.map} +0 -0
- /package/dist/{session-auth-dead-RYU7ZB56.js.map → session-auth-dead-7CSZHNBK.js.map} +0 -0
|
@@ -13,9 +13,9 @@ import {
|
|
|
13
13
|
probeClaudeInstalls,
|
|
14
14
|
readsAsNativeInstall,
|
|
15
15
|
shouldRunClaudeCodeUpdater
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-UQYIFOWE.js";
|
|
17
17
|
import "./chunk-XWVM4KPK.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-UUO7QTLC.js";
|
|
19
19
|
import "./chunk-AIUIMEUS.js";
|
|
20
20
|
import "./chunk-DGUM43GV.js";
|
|
21
21
|
export {
|
|
@@ -34,4 +34,4 @@ export {
|
|
|
34
34
|
readsAsNativeInstall,
|
|
35
35
|
shouldRunClaudeCodeUpdater
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=claude-code-updater-
|
|
37
|
+
//# sourceMappingURL=claude-code-updater-EOJQHUZ2.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
redactPaneFrame,
|
|
10
10
|
sanitizeTerminalFrame
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-UUO7QTLC.js";
|
|
12
12
|
import {
|
|
13
13
|
CLAUDE_CONFIG_DIR_ENV,
|
|
14
14
|
claudeConfigDirFor,
|
|
@@ -321,7 +321,7 @@ async function spawnPairSession(session) {
|
|
|
321
321
|
return { ok: true };
|
|
322
322
|
} catch {
|
|
323
323
|
}
|
|
324
|
-
const { resolveClaudeBinary } = await import("./persistent-session-
|
|
324
|
+
const { resolveClaudeBinary } = await import("./persistent-session-5MGJGJIB.js");
|
|
325
325
|
const claudeBin = resolveClaudeBinary();
|
|
326
326
|
const pairEnv = {
|
|
327
327
|
...process.env,
|
|
@@ -836,4 +836,4 @@ export {
|
|
|
836
836
|
startClaudePair,
|
|
837
837
|
submitClaudePairCode
|
|
838
838
|
};
|
|
839
|
-
//# sourceMappingURL=claude-pair-runtime-
|
|
839
|
+
//# sourceMappingURL=claude-pair-runtime-WKTA3HNF.js.map
|
|
@@ -83,7 +83,7 @@ import {
|
|
|
83
83
|
tripClass,
|
|
84
84
|
writeEtcEnvironment,
|
|
85
85
|
writeProfileDScript
|
|
86
|
-
} from "../chunk-
|
|
86
|
+
} from "../chunk-ZTA7AGKM.js";
|
|
87
87
|
import {
|
|
88
88
|
CLAUDE_CODE_SECURITY_FLOOR,
|
|
89
89
|
SELF_UPDATE_TIMEOUTS,
|
|
@@ -97,7 +97,7 @@ import {
|
|
|
97
97
|
runSafeCleanup,
|
|
98
98
|
tightestDiskStat,
|
|
99
99
|
withPackageCacheLock
|
|
100
|
-
} from "../chunk-
|
|
100
|
+
} from "../chunk-UQYIFOWE.js";
|
|
101
101
|
import {
|
|
102
102
|
rewriteSupervisorApiKey,
|
|
103
103
|
supervisorChannelsRefusing
|
|
@@ -190,7 +190,7 @@ import {
|
|
|
190
190
|
webFetchBaselineValue,
|
|
191
191
|
webFetchRestartNeeded,
|
|
192
192
|
writeEgressAllowlist
|
|
193
|
-
} from "../chunk-
|
|
193
|
+
} from "../chunk-NJ2AUTIO.js";
|
|
194
194
|
import {
|
|
195
195
|
isAgentIdle,
|
|
196
196
|
isStaleForToday,
|
|
@@ -200,7 +200,7 @@ import {
|
|
|
200
200
|
sessionTranscriptDir,
|
|
201
201
|
subagentActivityAgeSeconds,
|
|
202
202
|
transcriptActivityAgeSeconds
|
|
203
|
-
} from "../chunk-
|
|
203
|
+
} from "../chunk-DXLSLT5G.js";
|
|
204
204
|
import {
|
|
205
205
|
classifyUnanswerablePane,
|
|
206
206
|
focusedConfirmDialogBlock,
|
|
@@ -318,6 +318,7 @@ import {
|
|
|
318
318
|
resolveChannels,
|
|
319
319
|
resolveCrossTeamPeerIntraOrg,
|
|
320
320
|
resolveDmTarget,
|
|
321
|
+
resolveInheritedForDelivery,
|
|
321
322
|
resolveSessionActivityState,
|
|
322
323
|
scrubPreservingIdentifiers,
|
|
323
324
|
senderPolicyIsEnforcedOn,
|
|
@@ -326,7 +327,7 @@ import {
|
|
|
326
327
|
stabiliseResetInstant,
|
|
327
328
|
sumTranscriptUsageInWindow,
|
|
328
329
|
summarizeTranscriptActivity
|
|
329
|
-
} from "../chunk-
|
|
330
|
+
} from "../chunk-UUO7QTLC.js";
|
|
330
331
|
import {
|
|
331
332
|
CLAUDE_CONFIG_DIR_ENV,
|
|
332
333
|
claudeConfigDirFor,
|
|
@@ -8777,6 +8778,16 @@ var agentState = {
|
|
|
8777
8778
|
* above and is persisted through the same sidecar (`agentRules` concern).
|
|
8778
8779
|
*/
|
|
8779
8780
|
knownAgentRulesHashes: /* @__PURE__ */ new Map(),
|
|
8781
|
+
/**
|
|
8782
|
+
* ENG-11472 (CodeRabbit on #7341): the inherited org/team rules last DELIVERED
|
|
8783
|
+
* to each agent, so a cycle on which the API could not read one scope (sent as
|
|
8784
|
+
* null) renders and hashes what the agent already has instead of an empty set.
|
|
8785
|
+
* Keyed with the team the rules came from, so a moved agent never re-uses its
|
|
8786
|
+
* old team's rules for its new team.
|
|
8787
|
+
* In memory only: after a manager restart a failed scope is `unknown` and the
|
|
8788
|
+
* rules restart is skipped for that cycle rather than guessed.
|
|
8789
|
+
*/
|
|
8790
|
+
knownInheritedAgentRules: /* @__PURE__ */ new Map(),
|
|
8780
8791
|
/**
|
|
8781
8792
|
* ENG-6024: hash of the Teams behaviour subset (thread_auto_follow,
|
|
8782
8793
|
* channel_response_mode, adaptive_cards_enabled/_ask_user_enabled) from the
|
|
@@ -8867,6 +8878,7 @@ function clearAgentState(agentId, codeName) {
|
|
|
8867
8878
|
agentState.knownSenderPolicyHashes.delete(agentId);
|
|
8868
8879
|
agentState.knownTelegramPolicyHashes.delete(agentId);
|
|
8869
8880
|
agentState.knownAgentRulesHashes.delete(agentId);
|
|
8881
|
+
agentState.knownInheritedAgentRules.delete(agentId);
|
|
8870
8882
|
agentState.knownMsTeamsBehaviourHashes.delete(agentId);
|
|
8871
8883
|
agentState.knownSlackBehaviourHashes.delete(agentId);
|
|
8872
8884
|
agentState.knownGlobalSkillIds.delete(agentId);
|
|
@@ -15488,7 +15500,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
15488
15500
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
15489
15501
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
15490
15502
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
15491
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
15503
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-J4CBYZS3.js");
|
|
15492
15504
|
const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
|
|
15493
15505
|
if (newest === null) return null;
|
|
15494
15506
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -16285,7 +16297,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
16285
16297
|
var lastVersionCheckAt = 0;
|
|
16286
16298
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
16287
16299
|
var lastResponsivenessProbeAt = 0;
|
|
16288
|
-
var agtCliVersion = true ? "0.28.
|
|
16300
|
+
var agtCliVersion = true ? "0.28.1193" : "dev";
|
|
16289
16301
|
function resolveBrewPath(execFileSync3) {
|
|
16290
16302
|
try {
|
|
16291
16303
|
const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -18189,7 +18201,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
18189
18201
|
if (codeNames.length === 0) return;
|
|
18190
18202
|
void (async () => {
|
|
18191
18203
|
try {
|
|
18192
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
18204
|
+
const { collectDiagnostics } = await import("../persistent-session-5MGJGJIB.js");
|
|
18193
18205
|
await api.post("/host/heartbeat", {
|
|
18194
18206
|
host_id: hostId,
|
|
18195
18207
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
|
|
@@ -18332,7 +18344,7 @@ async function pollCycleInner() {
|
|
|
18332
18344
|
}
|
|
18333
18345
|
try {
|
|
18334
18346
|
const { detectHostSecurity } = await import("../host-security-KQYYZZVW.js");
|
|
18335
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
18347
|
+
const { collectDiagnostics } = await import("../persistent-session-5MGJGJIB.js");
|
|
18336
18348
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
18337
18349
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor) : void 0;
|
|
18338
18350
|
let tailscaleHostname;
|
|
@@ -18587,7 +18599,7 @@ async function pollCycleInner() {
|
|
|
18587
18599
|
}
|
|
18588
18600
|
try {
|
|
18589
18601
|
const desiredClaudeCodeVersion = hbResp?.desired_claude_code_version?.trim();
|
|
18590
|
-
const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-
|
|
18602
|
+
const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-EOJQHUZ2.js");
|
|
18591
18603
|
const securityFloor = currentSecurityFloor();
|
|
18592
18604
|
claudeUpdaterInFlight = true;
|
|
18593
18605
|
if (desiredClaudeCodeVersion && (claudePairLoop.busy || claudePairingInProgress())) {
|
|
@@ -18622,7 +18634,7 @@ async function pollCycleInner() {
|
|
|
18622
18634
|
collectPanelessActivityProbes,
|
|
18623
18635
|
getResponsivenessIntervalMs,
|
|
18624
18636
|
occupancyQualificationClassifications
|
|
18625
|
-
} = await import("../responsiveness-probe-
|
|
18637
|
+
} = await import("../responsiveness-probe-J4CBYZS3.js");
|
|
18626
18638
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
18627
18639
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
18628
18640
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -18739,7 +18751,7 @@ async function pollCycleInner() {
|
|
|
18739
18751
|
collectResponsivenessProbes,
|
|
18740
18752
|
livePendingInboundOldestAgeSeconds,
|
|
18741
18753
|
parkPendingInbound
|
|
18742
|
-
} = await import("../responsiveness-probe-
|
|
18754
|
+
} = await import("../responsiveness-probe-J4CBYZS3.js");
|
|
18743
18755
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-M6AFZWNU.js");
|
|
18744
18756
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
18745
18757
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -19025,7 +19037,7 @@ async function pollCycleInner() {
|
|
|
19025
19037
|
}
|
|
19026
19038
|
}
|
|
19027
19039
|
);
|
|
19028
|
-
const { parkPendingInbound } = await import("../responsiveness-probe-
|
|
19040
|
+
const { parkPendingInbound } = await import("../responsiveness-probe-J4CBYZS3.js");
|
|
19029
19041
|
const { parked, deadLettered } = parkPendingInbound(codeName, new Date(fatalNowMs));
|
|
19030
19042
|
paneFatalStreak.delete(codeName);
|
|
19031
19043
|
paneFatalRestarts.set(codeName, [...history, fatalNowMs]);
|
|
@@ -19056,7 +19068,7 @@ async function pollCycleInner() {
|
|
|
19056
19068
|
TRANSCRIPT_MOUNT_ESCALATION_REFRESH_MS,
|
|
19057
19069
|
bindSourceEscalations
|
|
19058
19070
|
} = await import("../transcript-mount-health-OHE6IVJV.js");
|
|
19059
|
-
const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-
|
|
19071
|
+
const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-5MGJGJIB.js");
|
|
19060
19072
|
const mountConfig = resolveTranscriptMountConfig();
|
|
19061
19073
|
const liveAgents = agentState.persistentSessionAgents;
|
|
19062
19074
|
for (const tracked of [
|
|
@@ -19221,7 +19233,7 @@ async function pollCycleInner() {
|
|
|
19221
19233
|
}
|
|
19222
19234
|
try {
|
|
19223
19235
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-VR5QGP3J.js");
|
|
19224
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
19236
|
+
const { probeSessionAuth } = await import("../session-auth-dead-7CSZHNBK.js");
|
|
19225
19237
|
const observations = [];
|
|
19226
19238
|
const pendingCacheCommits = [];
|
|
19227
19239
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -20434,8 +20446,27 @@ async function processAgent(agent, agentStates, managedToolkits) {
|
|
|
20434
20446
|
}
|
|
20435
20447
|
}
|
|
20436
20448
|
}
|
|
20449
|
+
let provisionSucceeded = false;
|
|
20450
|
+
const currentTeamId = refreshData.agent.team_id ?? null;
|
|
20451
|
+
const inheritedResolution = resolveInheritedForDelivery(
|
|
20452
|
+
refreshData.inherited_agent_rules,
|
|
20453
|
+
agentState.knownInheritedAgentRules.get(agent.agent_id),
|
|
20454
|
+
currentTeamId
|
|
20455
|
+
);
|
|
20456
|
+
if (inheritedResolution.reusedLastKnown.length > 0 || inheritedResolution.unknown.length > 0) {
|
|
20457
|
+
log(
|
|
20458
|
+
`[hot-reload] inherited rules for '${agent.code_name}': API could not read ${[...inheritedResolution.reusedLastKnown, ...inheritedResolution.unknown].join(" + ")} - ` + (inheritedResolution.unknown.length > 0 ? "no last-known copy, so the standing-rules restart is skipped this cycle" : "rendering the last-delivered rules for that scope")
|
|
20459
|
+
);
|
|
20460
|
+
}
|
|
20461
|
+
const provisionRefreshData = { ...refreshData, inherited_agent_rules: inheritedResolution.rules };
|
|
20462
|
+
const inheritedRulesKnown = inheritedResolution.unknown.length === 0;
|
|
20437
20463
|
try {
|
|
20438
|
-
|
|
20464
|
+
if (!inheritedRulesKnown) {
|
|
20465
|
+
throw new Error(
|
|
20466
|
+
`inherited ${inheritedResolution.unknown.join(" + ")} rules could not be read and there is no last-delivered copy; not writing CLAUDE.md this cycle`
|
|
20467
|
+
);
|
|
20468
|
+
}
|
|
20469
|
+
const artifacts = generateArtifacts(agent, provisionRefreshData, frameworkAdapter, renderIntegrationsSection);
|
|
20439
20470
|
const changedFiles = [];
|
|
20440
20471
|
mkdirSync16(agentDir, { recursive: true });
|
|
20441
20472
|
for (const artifact of artifacts) {
|
|
@@ -20577,9 +20608,13 @@ async function processAgent(agent, agentStates, managedToolkits) {
|
|
|
20577
20608
|
if (frameworkAdapter.deployArtifactsToProject) {
|
|
20578
20609
|
frameworkAdapter.deployArtifactsToProject(agent.code_name, agentDir);
|
|
20579
20610
|
}
|
|
20611
|
+
provisionSucceeded = true;
|
|
20580
20612
|
} catch (err) {
|
|
20581
20613
|
log(`Provision failed for '${agent.code_name}': ${err.message}`);
|
|
20582
20614
|
}
|
|
20615
|
+
if (provisionSucceeded && inheritedRulesKnown && inheritedResolution.rules) {
|
|
20616
|
+
agentState.knownInheritedAgentRules.set(agent.agent_id, { rules: inheritedResolution.rules, teamId: currentTeamId });
|
|
20617
|
+
}
|
|
20583
20618
|
const resolvedForModel = resolveModelChain(refreshData);
|
|
20584
20619
|
const primaryModel = resolvedForModel.primary ?? refreshData.agent.primary_model;
|
|
20585
20620
|
const holdModelChange = shouldHoldModelChange({
|
|
@@ -21204,11 +21239,16 @@ async function processAgent(agent, agentStates, managedToolkits) {
|
|
|
21204
21239
|
agentState.knownTelegramPolicyHashes.delete(agent.agent_id);
|
|
21205
21240
|
removeDeliveryBaselineEntry("telegramPolicy", agent.agent_id);
|
|
21206
21241
|
}
|
|
21207
|
-
{
|
|
21242
|
+
if (!provisionSucceeded || !inheritedRulesKnown) {
|
|
21243
|
+
log(
|
|
21244
|
+
`[hot-reload] skipping the standing-rules check for '${agent.code_name}' - ` + (provisionSucceeded ? "an inherited scope could not be read and there is no last-known copy" : "provisioning failed this cycle, so the rendered rules are not on disk") + "; baseline left unchanged"
|
|
21245
|
+
);
|
|
21246
|
+
} else {
|
|
21208
21247
|
const agentRules = refreshData.agent_rules ?? [];
|
|
21209
|
-
const
|
|
21248
|
+
const inheritedRules = inheritedResolution.rules;
|
|
21249
|
+
const agentRulesHash = createHash20("sha256").update(agentRulesRestartBasis(agentRules, inheritedRules)).digest("hex");
|
|
21210
21250
|
const prevAgentRulesHash = agentState.knownAgentRulesHashes.get(agent.agent_id);
|
|
21211
|
-
const rulesPresent = agentHasRules(agentRules);
|
|
21251
|
+
const rulesPresent = agentHasRules(agentRules, inheritedRules);
|
|
21212
21252
|
const agentRulesDecision = decideSenderPolicyRestart({
|
|
21213
21253
|
previousHash: prevAgentRulesHash,
|
|
21214
21254
|
currentPolicyRestrictive: rulesPresent,
|
|
@@ -23923,7 +23963,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
23923
23963
|
try {
|
|
23924
23964
|
const freshId = rotateSessionForWedge(codeName);
|
|
23925
23965
|
consecutiveWedgeCycles.delete(codeName);
|
|
23926
|
-
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-
|
|
23966
|
+
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-J4CBYZS3.js");
|
|
23927
23967
|
const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
|
|
23928
23968
|
const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
|
|
23929
23969
|
const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
|
|
@@ -23966,7 +24006,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
23966
24006
|
void api.post("/host/restart-ack", { host_id: hostId, agent_id: agentId, restart_requested_at: requestedAt }).catch((err) => log(`[restart-lane] ack failed for '${codeName}': ${err.message}`));
|
|
23967
24007
|
void (async () => {
|
|
23968
24008
|
try {
|
|
23969
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
24009
|
+
const { collectDiagnostics } = await import("../persistent-session-5MGJGJIB.js");
|
|
23970
24010
|
await api.post("/host/heartbeat", {
|
|
23971
24011
|
host_id: hostId,
|
|
23972
24012
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
|
|
@@ -24017,7 +24057,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
24017
24057
|
}
|
|
24018
24058
|
try {
|
|
24019
24059
|
const hostId = await getHostId();
|
|
24020
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
24060
|
+
const { collectDiagnostics } = await import("../persistent-session-5MGJGJIB.js");
|
|
24021
24061
|
await api.post("/host/heartbeat", {
|
|
24022
24062
|
host_id: hostId,
|
|
24023
24063
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
|
|
@@ -24719,7 +24759,7 @@ async function processClaudePairSessions(agents) {
|
|
|
24719
24759
|
snapshotPairConfig,
|
|
24720
24760
|
// ENG-11659: result -> report body + the manager.log line that records it.
|
|
24721
24761
|
planPairStartReport
|
|
24722
|
-
} = await import("../claude-pair-runtime-
|
|
24762
|
+
} = await import("../claude-pair-runtime-WKTA3HNF.js");
|
|
24723
24763
|
const { resetClaudeSignin, describeSigninResetForLog, describeSigninResetFailure } = await import("../claude-signin-reset-6IJMMVYG.js");
|
|
24724
24764
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
24725
24765
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
@@ -24992,6 +25032,14 @@ function generateArtifacts(agent, refreshData, adapter, renderIntegrationsSectio
|
|
|
24992
25032
|
// the claude-code adapter can render them into CLAUDE.md. Absent on an
|
|
24993
25033
|
// older API renders nothing, which is the documented fail-direction.
|
|
24994
25034
|
agentRules: refreshData.agent_rules,
|
|
25035
|
+
// ENG-11472: inherited org and team rules; absent on an older API renders
|
|
25036
|
+
// exactly as before.
|
|
25037
|
+
// Settled to concrete lists in processAgent before this runs; a stray null
|
|
25038
|
+
// scope still renders as none rather than failing the type.
|
|
25039
|
+
inheritedAgentRules: refreshData.inherited_agent_rules ? {
|
|
25040
|
+
organization: refreshData.inherited_agent_rules.organization ?? [],
|
|
25041
|
+
team: refreshData.inherited_agent_rules.team ?? []
|
|
25042
|
+
} : void 0,
|
|
24995
25043
|
// ADR-0012 / ENG-6352: down-synced dynamic workflows (flag-gated, resolved
|
|
24996
25044
|
// server-side). The claude-code adapter renders each as
|
|
24997
25045
|
// `.claude/workflows/<name>.js`; undefined/empty no-ops.
|