@integrity-labs/agt-cli 0.28.417 → 0.28.418
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 +4 -4
- package/dist/{chunk-NDDVFICX.js → chunk-4OLSHG7F.js} +10 -10
- package/dist/chunk-4OLSHG7F.js.map +1 -0
- package/dist/{chunk-I5SDCW2T.js → chunk-IE7ZJKF3.js} +18 -3
- package/dist/{chunk-I5SDCW2T.js.map → chunk-IE7ZJKF3.js.map} +1 -1
- package/dist/{claude-pair-runtime-I4Q66W7S.js → claude-pair-runtime-CYJFIF2Z.js} +2 -2
- package/dist/lib/manager-worker.js +10 -10
- package/dist/mcp/direct-chat-channel.js +17 -2
- package/dist/mcp/origami.js +17 -2
- package/dist/mcp/slack-channel.js +17 -2
- package/dist/mcp/telegram-channel.js +17 -2
- package/dist/{persistent-session-EW7GTES3.js → persistent-session-B7E5ZX2C.js} +2 -2
- package/dist/{responsiveness-probe-HP3NKDGQ.js → responsiveness-probe-NQIEWYTJ.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-NDDVFICX.js.map +0 -1
- /package/dist/{claude-pair-runtime-I4Q66W7S.js.map → claude-pair-runtime-CYJFIF2Z.js.map} +0 -0
- /package/dist/{persistent-session-EW7GTES3.js.map → persistent-session-B7E5ZX2C.js.map} +0 -0
- /package/dist/{responsiveness-probe-HP3NKDGQ.js.map → responsiveness-probe-NQIEWYTJ.js.map} +0 -0
|
@@ -100,7 +100,7 @@ async function spawnPairSession(session) {
|
|
|
100
100
|
return { ok: true };
|
|
101
101
|
} catch {
|
|
102
102
|
}
|
|
103
|
-
const { resolveClaudeBinary } = await import("./persistent-session-
|
|
103
|
+
const { resolveClaudeBinary } = await import("./persistent-session-B7E5ZX2C.js");
|
|
104
104
|
const claudeBin = resolveClaudeBinary();
|
|
105
105
|
const pairEnv = {
|
|
106
106
|
...process.env,
|
|
@@ -373,4 +373,4 @@ export {
|
|
|
373
373
|
startClaudePair,
|
|
374
374
|
submitClaudePairCode
|
|
375
375
|
};
|
|
376
|
-
//# sourceMappingURL=claude-pair-runtime-
|
|
376
|
+
//# sourceMappingURL=claude-pair-runtime-CYJFIF2Z.js.map
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
resolveEffectivePinRaw,
|
|
46
46
|
safeWriteJsonAtomic,
|
|
47
47
|
setConfigHash
|
|
48
|
-
} from "../chunk-
|
|
48
|
+
} from "../chunk-4OLSHG7F.js";
|
|
49
49
|
import {
|
|
50
50
|
getProjectDir as getProjectDir2,
|
|
51
51
|
getReadyTasks,
|
|
@@ -150,7 +150,7 @@ import {
|
|
|
150
150
|
toOpencodeModel,
|
|
151
151
|
transcriptActivityAgeSeconds,
|
|
152
152
|
writeEgressAllowlist
|
|
153
|
-
} from "../chunk-
|
|
153
|
+
} from "../chunk-IE7ZJKF3.js";
|
|
154
154
|
import {
|
|
155
155
|
reapOrphanChannelMcps
|
|
156
156
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -9458,7 +9458,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
9458
9458
|
var lastVersionCheckAt = 0;
|
|
9459
9459
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
9460
9460
|
var lastResponsivenessProbeAt = 0;
|
|
9461
|
-
var agtCliVersion = true ? "0.28.
|
|
9461
|
+
var agtCliVersion = true ? "0.28.418" : "dev";
|
|
9462
9462
|
function resolveBrewPath(execFileSync2) {
|
|
9463
9463
|
try {
|
|
9464
9464
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -10606,7 +10606,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
10606
10606
|
if (codeNames.length === 0) return;
|
|
10607
10607
|
void (async () => {
|
|
10608
10608
|
try {
|
|
10609
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
10609
|
+
const { collectDiagnostics } = await import("../persistent-session-B7E5ZX2C.js");
|
|
10610
10610
|
await api.post("/host/heartbeat", {
|
|
10611
10611
|
host_id: hostId,
|
|
10612
10612
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor)
|
|
@@ -10713,7 +10713,7 @@ async function pollCycle() {
|
|
|
10713
10713
|
}
|
|
10714
10714
|
try {
|
|
10715
10715
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
10716
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
10716
|
+
const { collectDiagnostics } = await import("../persistent-session-B7E5ZX2C.js");
|
|
10717
10717
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
10718
10718
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor) : void 0;
|
|
10719
10719
|
let tailscaleHostname;
|
|
@@ -10827,7 +10827,7 @@ async function pollCycle() {
|
|
|
10827
10827
|
collectResponsivenessProbes,
|
|
10828
10828
|
collectPanelessActivityProbes,
|
|
10829
10829
|
getResponsivenessIntervalMs
|
|
10830
|
-
} = await import("../responsiveness-probe-
|
|
10830
|
+
} = await import("../responsiveness-probe-NQIEWYTJ.js");
|
|
10831
10831
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
10832
10832
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
10833
10833
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -10866,7 +10866,7 @@ async function pollCycle() {
|
|
|
10866
10866
|
collectResponsivenessProbes,
|
|
10867
10867
|
livePendingInboundOldestAgeSeconds,
|
|
10868
10868
|
parkPendingInbound
|
|
10869
|
-
} = await import("../responsiveness-probe-
|
|
10869
|
+
} = await import("../responsiveness-probe-NQIEWYTJ.js");
|
|
10870
10870
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-HYOOQV4A.js");
|
|
10871
10871
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
10872
10872
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -14177,7 +14177,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
14177
14177
|
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}`));
|
|
14178
14178
|
void (async () => {
|
|
14179
14179
|
try {
|
|
14180
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
14180
|
+
const { collectDiagnostics } = await import("../persistent-session-B7E5ZX2C.js");
|
|
14181
14181
|
await api.post("/host/heartbeat", {
|
|
14182
14182
|
host_id: hostId,
|
|
14183
14183
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor)
|
|
@@ -14227,7 +14227,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
14227
14227
|
}
|
|
14228
14228
|
try {
|
|
14229
14229
|
const hostId = await getHostId();
|
|
14230
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
14230
|
+
const { collectDiagnostics } = await import("../persistent-session-B7E5ZX2C.js");
|
|
14231
14231
|
await api.post("/host/heartbeat", {
|
|
14232
14232
|
host_id: hostId,
|
|
14233
14233
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor)
|
|
@@ -14680,7 +14680,7 @@ async function processClaudePairSessions(agents) {
|
|
|
14680
14680
|
killPairSession,
|
|
14681
14681
|
pairTmuxSession,
|
|
14682
14682
|
finalizeClaudePairOnboarding
|
|
14683
|
-
} = await import("../claude-pair-runtime-
|
|
14683
|
+
} = await import("../claude-pair-runtime-CYJFIF2Z.js");
|
|
14684
14684
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
14685
14685
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
14686
14686
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
|
@@ -34674,9 +34674,9 @@ var FLAG_REGISTRY = [
|
|
|
34674
34674
|
},
|
|
34675
34675
|
{
|
|
34676
34676
|
key: "compaction-notice",
|
|
34677
|
-
description: 'Compaction courtesy notice (ENG-7339): when a managed Claude Code session compacts its context, the persistent session pauses and stops replying for a stretch, which looks identical to a dead agent from the channel. When ON, the generated PreCompact hook finds the conversation the user is actively on (the last <channel ...> tag in the transcript) and drops a notice into the matching <channel>-notice-outbox; the channel MCP server (alive while the Claude process compacts) posts a short "reorganizing my memory, back shortly" line. The notice path never clears the pending-inbound marker, so the genuine reply the agent still owes after compaction is unaffected. No active channel tag \u21D2 silent (idle agents never broadcast).
|
|
34677
|
+
description: 'Compaction courtesy notice (ENG-7339): when a managed Claude Code session compacts its context, the persistent session pauses and stops replying for a stretch, which looks identical to a dead agent from the channel. When ON, the generated PreCompact hook finds the conversation the user is actively on (the last <channel ...> tag in the transcript) and drops a notice into the matching <channel>-notice-outbox; the channel MCP server (alive while the Claude process compacts) posts a short "reorganizing my memory, back shortly" line. The notice path never clears the pending-inbound marker, so the genuine reply the agent still owes after compaction is unaffected. No active channel tag \u21D2 silent (idle agents never broadcast). Default ON (ENG-8040: introduced dark on 2026-07-23 via ENG-7339, never activated in prod; Brad Bond reported Sherlock went silent mid-compaction with no notice). Set AGT_COMPACTION_NOTICE_ENABLED=false or override via the Feature Flags admin page to disable per-host. When OFF the hook writes nothing and the consumer drops any stray notice unsent.',
|
|
34678
34678
|
flagType: "boolean",
|
|
34679
|
-
defaultValue:
|
|
34679
|
+
defaultValue: true,
|
|
34680
34680
|
envVar: "AGT_COMPACTION_NOTICE_ENABLED"
|
|
34681
34681
|
},
|
|
34682
34682
|
{
|
|
@@ -34850,6 +34850,21 @@ var FLAG_REGISTRY = [
|
|
|
34850
34850
|
// AGT_CONV_EVAL_BACKEND keeps that value until the env var is retired.
|
|
34851
34851
|
envVar: "AGT_CONV_EVAL_BACKEND"
|
|
34852
34852
|
},
|
|
34853
|
+
{
|
|
34854
|
+
key: "synthetic-probe-enabled",
|
|
34855
|
+
description: 'Global gate for the agent synthetic-liveness cron (ENG-8074). When OFF, the cron exits after reading the flag \u2014 no probes sent, no metrics emitted, no CloudWatch alarms fired, near-zero DB footprint. Ships dark (OFF) because the probe cron was generating false positives (probe_timeout on angie for 7+ days while healthy, ENG-8048) and had open cron_invocation_errors alarms (since 2026-07-23). Flip ON per-environment via the admin Feature Flags page once the reliability issues are resolved. The existing AUGMENTED_SYNTHETIC_PROBE_ENABLED env var is the declared envVar for this flag (ADR-0022): set it to "true"/"1" to force-enable (env takes precedence over the DB stage value), or "false"/"0" to force-disable without a DB lookup. Evaluated as a global stage value by the central cron (no per-org targeting). Boolean gate.',
|
|
34856
|
+
flagType: "boolean",
|
|
34857
|
+
// Safe/dark default: false = probe off. This encodes the ENG-8074 intent (disable
|
|
34858
|
+
// in prod until reliability issues are resolved) and is the fail-safe direction for
|
|
34859
|
+
// a flag-DB read error — a hiccup degrades to keeping the cron dormant rather than
|
|
34860
|
+
// silently re-arming a broken probe fleet-wide.
|
|
34861
|
+
// The env var AUGMENTED_SYNTHETIC_PROBE_ENABLED was the pre-flag emergency kill switch
|
|
34862
|
+
// (read as `!== 'false'`, so unset = probe ON). The flag inverts this: unset env var
|
|
34863
|
+
// now resolves to the flag default (OFF). Set AUGMENTED_SYNTHETIC_PROBE_ENABLED=true to
|
|
34864
|
+
// explicitly re-arm the probe via env, or flip the flag ON from the admin UI.
|
|
34865
|
+
defaultValue: false,
|
|
34866
|
+
envVar: "AUGMENTED_SYNTHETIC_PROBE_ENABLED"
|
|
34867
|
+
},
|
|
34853
34868
|
{
|
|
34854
34869
|
key: "synthetic-probe-on-metered-hosts",
|
|
34855
34870
|
description: "Synthetic liveness probing of OpenRouter-metered agents (ENG-7235). On a host whose claude_auth_mode='openrouter' every model call is per-token cost, so the hourly synthetic probe (a full inbound\u2192session\u2192model\u2192outbound round-trip whose only output is a probe_ack) is real spend for zero deliverable - unlike a Max-subscription host where it is effectively free. When OFF (default) the synthetic-probe cron skips OpenRouter-mode agents entirely; their liveness falls back to the zero-token signals (pane-activity ENG-5399 + manager heartbeat + inbound-loop liveness ENG-5614). When ON, metered agents are probed like every other agent (the pre-ENG-7235 behaviour) - the explicit opt-in for an operator who wants the end-to-end check and accepts the cost. Subscription / api_key hosts are unaffected either way. Evaluated as a global stage value by the central cron (no per-org targeting in v1). Boolean gate.",
|
package/dist/mcp/origami.js
CHANGED
|
@@ -40290,9 +40290,9 @@ var FLAG_REGISTRY = [
|
|
|
40290
40290
|
},
|
|
40291
40291
|
{
|
|
40292
40292
|
key: "compaction-notice",
|
|
40293
|
-
description: 'Compaction courtesy notice (ENG-7339): when a managed Claude Code session compacts its context, the persistent session pauses and stops replying for a stretch, which looks identical to a dead agent from the channel. When ON, the generated PreCompact hook finds the conversation the user is actively on (the last <channel ...> tag in the transcript) and drops a notice into the matching <channel>-notice-outbox; the channel MCP server (alive while the Claude process compacts) posts a short "reorganizing my memory, back shortly" line. The notice path never clears the pending-inbound marker, so the genuine reply the agent still owes after compaction is unaffected. No active channel tag \u21D2 silent (idle agents never broadcast).
|
|
40293
|
+
description: 'Compaction courtesy notice (ENG-7339): when a managed Claude Code session compacts its context, the persistent session pauses and stops replying for a stretch, which looks identical to a dead agent from the channel. When ON, the generated PreCompact hook finds the conversation the user is actively on (the last <channel ...> tag in the transcript) and drops a notice into the matching <channel>-notice-outbox; the channel MCP server (alive while the Claude process compacts) posts a short "reorganizing my memory, back shortly" line. The notice path never clears the pending-inbound marker, so the genuine reply the agent still owes after compaction is unaffected. No active channel tag \u21D2 silent (idle agents never broadcast). Default ON (ENG-8040: introduced dark on 2026-07-23 via ENG-7339, never activated in prod; Brad Bond reported Sherlock went silent mid-compaction with no notice). Set AGT_COMPACTION_NOTICE_ENABLED=false or override via the Feature Flags admin page to disable per-host. When OFF the hook writes nothing and the consumer drops any stray notice unsent.',
|
|
40294
40294
|
flagType: "boolean",
|
|
40295
|
-
defaultValue:
|
|
40295
|
+
defaultValue: true,
|
|
40296
40296
|
envVar: "AGT_COMPACTION_NOTICE_ENABLED"
|
|
40297
40297
|
},
|
|
40298
40298
|
{
|
|
@@ -40466,6 +40466,21 @@ var FLAG_REGISTRY = [
|
|
|
40466
40466
|
// AGT_CONV_EVAL_BACKEND keeps that value until the env var is retired.
|
|
40467
40467
|
envVar: "AGT_CONV_EVAL_BACKEND"
|
|
40468
40468
|
},
|
|
40469
|
+
{
|
|
40470
|
+
key: "synthetic-probe-enabled",
|
|
40471
|
+
description: 'Global gate for the agent synthetic-liveness cron (ENG-8074). When OFF, the cron exits after reading the flag \u2014 no probes sent, no metrics emitted, no CloudWatch alarms fired, near-zero DB footprint. Ships dark (OFF) because the probe cron was generating false positives (probe_timeout on angie for 7+ days while healthy, ENG-8048) and had open cron_invocation_errors alarms (since 2026-07-23). Flip ON per-environment via the admin Feature Flags page once the reliability issues are resolved. The existing AUGMENTED_SYNTHETIC_PROBE_ENABLED env var is the declared envVar for this flag (ADR-0022): set it to "true"/"1" to force-enable (env takes precedence over the DB stage value), or "false"/"0" to force-disable without a DB lookup. Evaluated as a global stage value by the central cron (no per-org targeting). Boolean gate.',
|
|
40472
|
+
flagType: "boolean",
|
|
40473
|
+
// Safe/dark default: false = probe off. This encodes the ENG-8074 intent (disable
|
|
40474
|
+
// in prod until reliability issues are resolved) and is the fail-safe direction for
|
|
40475
|
+
// a flag-DB read error — a hiccup degrades to keeping the cron dormant rather than
|
|
40476
|
+
// silently re-arming a broken probe fleet-wide.
|
|
40477
|
+
// The env var AUGMENTED_SYNTHETIC_PROBE_ENABLED was the pre-flag emergency kill switch
|
|
40478
|
+
// (read as `!== 'false'`, so unset = probe ON). The flag inverts this: unset env var
|
|
40479
|
+
// now resolves to the flag default (OFF). Set AUGMENTED_SYNTHETIC_PROBE_ENABLED=true to
|
|
40480
|
+
// explicitly re-arm the probe via env, or flip the flag ON from the admin UI.
|
|
40481
|
+
defaultValue: false,
|
|
40482
|
+
envVar: "AUGMENTED_SYNTHETIC_PROBE_ENABLED"
|
|
40483
|
+
},
|
|
40469
40484
|
{
|
|
40470
40485
|
key: "synthetic-probe-on-metered-hosts",
|
|
40471
40486
|
description: "Synthetic liveness probing of OpenRouter-metered agents (ENG-7235). On a host whose claude_auth_mode='openrouter' every model call is per-token cost, so the hourly synthetic probe (a full inbound\u2192session\u2192model\u2192outbound round-trip whose only output is a probe_ack) is real spend for zero deliverable - unlike a Max-subscription host where it is effectively free. When OFF (default) the synthetic-probe cron skips OpenRouter-mode agents entirely; their liveness falls back to the zero-token signals (pane-activity ENG-5399 + manager heartbeat + inbound-loop liveness ENG-5614). When ON, metered agents are probed like every other agent (the pre-ENG-7235 behaviour) - the explicit opt-in for an operator who wants the end-to-end check and accepts the cost. Subscription / api_key hosts are unaffected either way. Evaluated as a global stage value by the central cron (no per-org targeting in v1). Boolean gate.",
|
|
@@ -34209,9 +34209,9 @@ var FLAG_REGISTRY = [
|
|
|
34209
34209
|
},
|
|
34210
34210
|
{
|
|
34211
34211
|
key: "compaction-notice",
|
|
34212
|
-
description: 'Compaction courtesy notice (ENG-7339): when a managed Claude Code session compacts its context, the persistent session pauses and stops replying for a stretch, which looks identical to a dead agent from the channel. When ON, the generated PreCompact hook finds the conversation the user is actively on (the last <channel ...> tag in the transcript) and drops a notice into the matching <channel>-notice-outbox; the channel MCP server (alive while the Claude process compacts) posts a short "reorganizing my memory, back shortly" line. The notice path never clears the pending-inbound marker, so the genuine reply the agent still owes after compaction is unaffected. No active channel tag \u21D2 silent (idle agents never broadcast).
|
|
34212
|
+
description: 'Compaction courtesy notice (ENG-7339): when a managed Claude Code session compacts its context, the persistent session pauses and stops replying for a stretch, which looks identical to a dead agent from the channel. When ON, the generated PreCompact hook finds the conversation the user is actively on (the last <channel ...> tag in the transcript) and drops a notice into the matching <channel>-notice-outbox; the channel MCP server (alive while the Claude process compacts) posts a short "reorganizing my memory, back shortly" line. The notice path never clears the pending-inbound marker, so the genuine reply the agent still owes after compaction is unaffected. No active channel tag \u21D2 silent (idle agents never broadcast). Default ON (ENG-8040: introduced dark on 2026-07-23 via ENG-7339, never activated in prod; Brad Bond reported Sherlock went silent mid-compaction with no notice). Set AGT_COMPACTION_NOTICE_ENABLED=false or override via the Feature Flags admin page to disable per-host. When OFF the hook writes nothing and the consumer drops any stray notice unsent.',
|
|
34213
34213
|
flagType: "boolean",
|
|
34214
|
-
defaultValue:
|
|
34214
|
+
defaultValue: true,
|
|
34215
34215
|
envVar: "AGT_COMPACTION_NOTICE_ENABLED"
|
|
34216
34216
|
},
|
|
34217
34217
|
{
|
|
@@ -34385,6 +34385,21 @@ var FLAG_REGISTRY = [
|
|
|
34385
34385
|
// AGT_CONV_EVAL_BACKEND keeps that value until the env var is retired.
|
|
34386
34386
|
envVar: "AGT_CONV_EVAL_BACKEND"
|
|
34387
34387
|
},
|
|
34388
|
+
{
|
|
34389
|
+
key: "synthetic-probe-enabled",
|
|
34390
|
+
description: 'Global gate for the agent synthetic-liveness cron (ENG-8074). When OFF, the cron exits after reading the flag \u2014 no probes sent, no metrics emitted, no CloudWatch alarms fired, near-zero DB footprint. Ships dark (OFF) because the probe cron was generating false positives (probe_timeout on angie for 7+ days while healthy, ENG-8048) and had open cron_invocation_errors alarms (since 2026-07-23). Flip ON per-environment via the admin Feature Flags page once the reliability issues are resolved. The existing AUGMENTED_SYNTHETIC_PROBE_ENABLED env var is the declared envVar for this flag (ADR-0022): set it to "true"/"1" to force-enable (env takes precedence over the DB stage value), or "false"/"0" to force-disable without a DB lookup. Evaluated as a global stage value by the central cron (no per-org targeting). Boolean gate.',
|
|
34391
|
+
flagType: "boolean",
|
|
34392
|
+
// Safe/dark default: false = probe off. This encodes the ENG-8074 intent (disable
|
|
34393
|
+
// in prod until reliability issues are resolved) and is the fail-safe direction for
|
|
34394
|
+
// a flag-DB read error — a hiccup degrades to keeping the cron dormant rather than
|
|
34395
|
+
// silently re-arming a broken probe fleet-wide.
|
|
34396
|
+
// The env var AUGMENTED_SYNTHETIC_PROBE_ENABLED was the pre-flag emergency kill switch
|
|
34397
|
+
// (read as `!== 'false'`, so unset = probe ON). The flag inverts this: unset env var
|
|
34398
|
+
// now resolves to the flag default (OFF). Set AUGMENTED_SYNTHETIC_PROBE_ENABLED=true to
|
|
34399
|
+
// explicitly re-arm the probe via env, or flip the flag ON from the admin UI.
|
|
34400
|
+
defaultValue: false,
|
|
34401
|
+
envVar: "AUGMENTED_SYNTHETIC_PROBE_ENABLED"
|
|
34402
|
+
},
|
|
34388
34403
|
{
|
|
34389
34404
|
key: "synthetic-probe-on-metered-hosts",
|
|
34390
34405
|
description: "Synthetic liveness probing of OpenRouter-metered agents (ENG-7235). On a host whose claude_auth_mode='openrouter' every model call is per-token cost, so the hourly synthetic probe (a full inbound\u2192session\u2192model\u2192outbound round-trip whose only output is a probe_ack) is real spend for zero deliverable - unlike a Max-subscription host where it is effectively free. When OFF (default) the synthetic-probe cron skips OpenRouter-mode agents entirely; their liveness falls back to the zero-token signals (pane-activity ENG-5399 + manager heartbeat + inbound-loop liveness ENG-5614). When ON, metered agents are probed like every other agent (the pre-ENG-7235 behaviour) - the explicit opt-in for an operator who wants the end-to-end check and accepts the cost. Subscription / api_key hosts are unaffected either way. Evaluated as a global stage value by the central cron (no per-org targeting in v1). Boolean gate.",
|
|
@@ -34559,9 +34559,9 @@ var FLAG_REGISTRY = [
|
|
|
34559
34559
|
},
|
|
34560
34560
|
{
|
|
34561
34561
|
key: "compaction-notice",
|
|
34562
|
-
description: 'Compaction courtesy notice (ENG-7339): when a managed Claude Code session compacts its context, the persistent session pauses and stops replying for a stretch, which looks identical to a dead agent from the channel. When ON, the generated PreCompact hook finds the conversation the user is actively on (the last <channel ...> tag in the transcript) and drops a notice into the matching <channel>-notice-outbox; the channel MCP server (alive while the Claude process compacts) posts a short "reorganizing my memory, back shortly" line. The notice path never clears the pending-inbound marker, so the genuine reply the agent still owes after compaction is unaffected. No active channel tag \u21D2 silent (idle agents never broadcast).
|
|
34562
|
+
description: 'Compaction courtesy notice (ENG-7339): when a managed Claude Code session compacts its context, the persistent session pauses and stops replying for a stretch, which looks identical to a dead agent from the channel. When ON, the generated PreCompact hook finds the conversation the user is actively on (the last <channel ...> tag in the transcript) and drops a notice into the matching <channel>-notice-outbox; the channel MCP server (alive while the Claude process compacts) posts a short "reorganizing my memory, back shortly" line. The notice path never clears the pending-inbound marker, so the genuine reply the agent still owes after compaction is unaffected. No active channel tag \u21D2 silent (idle agents never broadcast). Default ON (ENG-8040: introduced dark on 2026-07-23 via ENG-7339, never activated in prod; Brad Bond reported Sherlock went silent mid-compaction with no notice). Set AGT_COMPACTION_NOTICE_ENABLED=false or override via the Feature Flags admin page to disable per-host. When OFF the hook writes nothing and the consumer drops any stray notice unsent.',
|
|
34563
34563
|
flagType: "boolean",
|
|
34564
|
-
defaultValue:
|
|
34564
|
+
defaultValue: true,
|
|
34565
34565
|
envVar: "AGT_COMPACTION_NOTICE_ENABLED"
|
|
34566
34566
|
},
|
|
34567
34567
|
{
|
|
@@ -34735,6 +34735,21 @@ var FLAG_REGISTRY = [
|
|
|
34735
34735
|
// AGT_CONV_EVAL_BACKEND keeps that value until the env var is retired.
|
|
34736
34736
|
envVar: "AGT_CONV_EVAL_BACKEND"
|
|
34737
34737
|
},
|
|
34738
|
+
{
|
|
34739
|
+
key: "synthetic-probe-enabled",
|
|
34740
|
+
description: 'Global gate for the agent synthetic-liveness cron (ENG-8074). When OFF, the cron exits after reading the flag \u2014 no probes sent, no metrics emitted, no CloudWatch alarms fired, near-zero DB footprint. Ships dark (OFF) because the probe cron was generating false positives (probe_timeout on angie for 7+ days while healthy, ENG-8048) and had open cron_invocation_errors alarms (since 2026-07-23). Flip ON per-environment via the admin Feature Flags page once the reliability issues are resolved. The existing AUGMENTED_SYNTHETIC_PROBE_ENABLED env var is the declared envVar for this flag (ADR-0022): set it to "true"/"1" to force-enable (env takes precedence over the DB stage value), or "false"/"0" to force-disable without a DB lookup. Evaluated as a global stage value by the central cron (no per-org targeting). Boolean gate.',
|
|
34741
|
+
flagType: "boolean",
|
|
34742
|
+
// Safe/dark default: false = probe off. This encodes the ENG-8074 intent (disable
|
|
34743
|
+
// in prod until reliability issues are resolved) and is the fail-safe direction for
|
|
34744
|
+
// a flag-DB read error — a hiccup degrades to keeping the cron dormant rather than
|
|
34745
|
+
// silently re-arming a broken probe fleet-wide.
|
|
34746
|
+
// The env var AUGMENTED_SYNTHETIC_PROBE_ENABLED was the pre-flag emergency kill switch
|
|
34747
|
+
// (read as `!== 'false'`, so unset = probe ON). The flag inverts this: unset env var
|
|
34748
|
+
// now resolves to the flag default (OFF). Set AUGMENTED_SYNTHETIC_PROBE_ENABLED=true to
|
|
34749
|
+
// explicitly re-arm the probe via env, or flip the flag ON from the admin UI.
|
|
34750
|
+
defaultValue: false,
|
|
34751
|
+
envVar: "AUGMENTED_SYNTHETIC_PROBE_ENABLED"
|
|
34752
|
+
},
|
|
34738
34753
|
{
|
|
34739
34754
|
key: "synthetic-probe-on-metered-hosts",
|
|
34740
34755
|
description: "Synthetic liveness probing of OpenRouter-metered agents (ENG-7235). On a host whose claude_auth_mode='openrouter' every model call is per-token cost, so the hourly synthetic probe (a full inbound\u2192session\u2192model\u2192outbound round-trip whose only output is a probe_ack) is real spend for zero deliverable - unlike a Max-subscription host where it is effectively free. When OFF (default) the synthetic-probe cron skips OpenRouter-mode agents entirely; their liveness falls back to the zero-token signals (pane-activity ENG-5399 + manager heartbeat + inbound-loop liveness ENG-5614). When ON, metered agents are probed like every other agent (the pre-ENG-7235 behaviour) - the explicit opt-in for an operator who wants the end-to-end check and accepts the cost. Subscription / api_key hosts are unaffected either way. Evaluated as a global stage value by the central cron (no per-org targeting in v1). Boolean gate.",
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
writeDirectChatSessionState,
|
|
37
37
|
writeEgressAllowlist,
|
|
38
38
|
writePersistentClaudeWrapper
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-IE7ZJKF3.js";
|
|
40
40
|
import "./chunk-XWVM4KPK.js";
|
|
41
41
|
export {
|
|
42
42
|
EGRESS_BASELINE_DOMAINS,
|
|
@@ -77,4 +77,4 @@ export {
|
|
|
77
77
|
writeEgressAllowlist,
|
|
78
78
|
writePersistentClaudeWrapper
|
|
79
79
|
};
|
|
80
|
-
//# sourceMappingURL=persistent-session-
|
|
80
|
+
//# sourceMappingURL=persistent-session-B7E5ZX2C.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IE7ZJKF3.js";
|
|
4
4
|
import "./chunk-XWVM4KPK.js";
|
|
5
5
|
|
|
6
6
|
// src/lib/responsiveness-probe.ts
|
|
@@ -462,4 +462,4 @@ export {
|
|
|
462
462
|
readAndResetSlackReplyBindingClassifications,
|
|
463
463
|
readAndResetSlackReplyTargetClassifications
|
|
464
464
|
};
|
|
465
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
465
|
+
//# sourceMappingURL=responsiveness-probe-NQIEWYTJ.js.map
|