@integrity-labs/agt-cli 0.28.359 → 0.28.360
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-TVFNWNSP.js → chunk-U62E42YH.js} +3 -3
- package/dist/{chunk-FAGXXKWZ.js → chunk-Z7QR2YEJ.js} +14 -1
- package/dist/{chunk-FAGXXKWZ.js.map → chunk-Z7QR2YEJ.js.map} +1 -1
- package/dist/{claude-pair-runtime-ASRAOWWQ.js → claude-pair-runtime-JX2ZYSZC.js} +2 -2
- package/dist/lib/manager-worker.js +10 -10
- package/dist/mcp/direct-chat-channel.js +13 -0
- package/dist/mcp/origami.js +13 -0
- package/dist/mcp/slack-channel.js +13 -0
- package/dist/mcp/telegram-channel.js +13 -0
- package/dist/{persistent-session-R7JOZNIC.js → persistent-session-7XG63YFS.js} +2 -2
- package/dist/{responsiveness-probe-7SUERVWL.js → responsiveness-probe-JV6PRDKD.js} +2 -2
- package/package.json +1 -1
- /package/dist/{chunk-TVFNWNSP.js.map → chunk-U62E42YH.js.map} +0 -0
- /package/dist/{claude-pair-runtime-ASRAOWWQ.js.map → claude-pair-runtime-JX2ZYSZC.js.map} +0 -0
- /package/dist/{persistent-session-R7JOZNIC.js.map → persistent-session-7XG63YFS.js.map} +0 -0
- /package/dist/{responsiveness-probe-7SUERVWL.js.map → responsiveness-probe-JV6PRDKD.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-7XG63YFS.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-JX2ZYSZC.js.map
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
safeWriteJsonAtomic,
|
|
51
51
|
setConfigHash,
|
|
52
52
|
toOpencodeModel
|
|
53
|
-
} from "../chunk-
|
|
53
|
+
} from "../chunk-U62E42YH.js";
|
|
54
54
|
import {
|
|
55
55
|
getProjectDir as getProjectDir2,
|
|
56
56
|
getReadyTasks,
|
|
@@ -141,7 +141,7 @@ import {
|
|
|
141
141
|
takeZombieDetection,
|
|
142
142
|
transcriptActivityAgeSeconds,
|
|
143
143
|
writeEgressAllowlist
|
|
144
|
-
} from "../chunk-
|
|
144
|
+
} from "../chunk-Z7QR2YEJ.js";
|
|
145
145
|
import {
|
|
146
146
|
reapOrphanChannelMcps
|
|
147
147
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -9532,7 +9532,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
9532
9532
|
var lastVersionCheckAt = 0;
|
|
9533
9533
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
9534
9534
|
var lastResponsivenessProbeAt = 0;
|
|
9535
|
-
var agtCliVersion = true ? "0.28.
|
|
9535
|
+
var agtCliVersion = true ? "0.28.360" : "dev";
|
|
9536
9536
|
function resolveBrewPath(execFileSync2) {
|
|
9537
9537
|
try {
|
|
9538
9538
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -10551,7 +10551,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
10551
10551
|
if (codeNames.length === 0) return;
|
|
10552
10552
|
void (async () => {
|
|
10553
10553
|
try {
|
|
10554
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
10554
|
+
const { collectDiagnostics } = await import("../persistent-session-7XG63YFS.js");
|
|
10555
10555
|
await api.post("/host/heartbeat", {
|
|
10556
10556
|
host_id: hostId,
|
|
10557
10557
|
agent_diagnostics: collectDiagnostics(codeNames)
|
|
@@ -10650,7 +10650,7 @@ async function pollCycle() {
|
|
|
10650
10650
|
}
|
|
10651
10651
|
try {
|
|
10652
10652
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
10653
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
10653
|
+
const { collectDiagnostics } = await import("../persistent-session-7XG63YFS.js");
|
|
10654
10654
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
10655
10655
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
|
|
10656
10656
|
let tailscaleHostname;
|
|
@@ -10805,7 +10805,7 @@ async function pollCycle() {
|
|
|
10805
10805
|
const {
|
|
10806
10806
|
collectResponsivenessProbes,
|
|
10807
10807
|
getResponsivenessIntervalMs
|
|
10808
|
-
} = await import("../responsiveness-probe-
|
|
10808
|
+
} = await import("../responsiveness-probe-JV6PRDKD.js");
|
|
10809
10809
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
10810
10810
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
10811
10811
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -10837,7 +10837,7 @@ async function pollCycle() {
|
|
|
10837
10837
|
collectResponsivenessProbes,
|
|
10838
10838
|
livePendingInboundOldestAgeSeconds,
|
|
10839
10839
|
parkPendingInbound
|
|
10840
|
-
} = await import("../responsiveness-probe-
|
|
10840
|
+
} = await import("../responsiveness-probe-JV6PRDKD.js");
|
|
10841
10841
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-HYOOQV4A.js");
|
|
10842
10842
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
10843
10843
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -13992,7 +13992,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
13992
13992
|
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}`));
|
|
13993
13993
|
void (async () => {
|
|
13994
13994
|
try {
|
|
13995
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
13995
|
+
const { collectDiagnostics } = await import("../persistent-session-7XG63YFS.js");
|
|
13996
13996
|
await api.post("/host/heartbeat", {
|
|
13997
13997
|
host_id: hostId,
|
|
13998
13998
|
agent_diagnostics: collectDiagnostics([codeName])
|
|
@@ -14042,7 +14042,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
14042
14042
|
}
|
|
14043
14043
|
try {
|
|
14044
14044
|
const hostId = await getHostId();
|
|
14045
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
14045
|
+
const { collectDiagnostics } = await import("../persistent-session-7XG63YFS.js");
|
|
14046
14046
|
await api.post("/host/heartbeat", {
|
|
14047
14047
|
host_id: hostId,
|
|
14048
14048
|
agent_diagnostics: collectDiagnostics([codeName])
|
|
@@ -14540,7 +14540,7 @@ async function processClaudePairSessions(agents) {
|
|
|
14540
14540
|
killPairSession,
|
|
14541
14541
|
pairTmuxSession,
|
|
14542
14542
|
finalizeClaudePairOnboarding
|
|
14543
|
-
} = await import("../claude-pair-runtime-
|
|
14543
|
+
} = await import("../claude-pair-runtime-JX2ZYSZC.js");
|
|
14544
14544
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
14545
14545
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
14546
14546
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
|
@@ -34781,6 +34781,19 @@ var FLAG_REGISTRY = [
|
|
|
34781
34781
|
// deliberate, audited per-org flip (ADR-0022 §4).
|
|
34782
34782
|
sensitive: true
|
|
34783
34783
|
},
|
|
34784
|
+
{
|
|
34785
|
+
key: "email-guard-require-approval-enabled",
|
|
34786
|
+
description: "Platform enable-gate for the email-domain guardrail REQUIRE_APPROVAL stage (ENG-7939). When ON for an org, a scope at email_guard_stage=require_approval routes a send to a non-allowed domain into Human Approval (an Approve/Deny card) instead of a hard block: the rollout UI unlocks the option and the write routes accept require_approval. When OFF (default) the write routes reject require_approval and the UI shows it as not yet available, so no scope can select it. Structurally also depends on hitl-approval-routing being on (the approval broker fails closed to a hard block when routing is off). Evaluated per-org. Ships dark.",
|
|
34787
|
+
flagType: "boolean",
|
|
34788
|
+
// Declared safe value is `false` (require_approval is unselectable / inert). A flag-DB read
|
|
34789
|
+
// error degrades here, so a flags outage can never start routing customer email through a
|
|
34790
|
+
// half-wired approval path - the fail-closed direction. No envVar: net-new control with no
|
|
34791
|
+
// pre-flags env gate to migrate (ADR-0022).
|
|
34792
|
+
defaultValue: false,
|
|
34793
|
+
// Ungates a stage that changes how real customer email is handled (block becomes approval),
|
|
34794
|
+
// so it is a deliberate, audited per-org flip (ADR-0022 §4).
|
|
34795
|
+
sensitive: true
|
|
34796
|
+
},
|
|
34784
34797
|
{
|
|
34785
34798
|
key: "slack-reply-binding",
|
|
34786
34799
|
description: "Slack reply-target binding (ENG-7396 / WS2, cross-thread reply routing): the model names which inbound it answers (inbound_id) and the server resolves the destination from its own verified record. shadow = classify + count only, routing unchanged; warn = same routing plus a tool-result note so the model self-corrects; enforce = route a bound reply to the registry thread and REJECT a reply whose target matches no inbound this process delivered. The channel server can't evaluate flags, so the manager materializes the resolved value into the AGT_SLACK_REPLY_BINDING spawn env (the operator/canary override, ADR-0022). Ships shadow.",
|
package/dist/mcp/origami.js
CHANGED
|
@@ -40544,6 +40544,19 @@ var FLAG_REGISTRY = [
|
|
|
40544
40544
|
// deliberate, audited per-org flip (ADR-0022 §4).
|
|
40545
40545
|
sensitive: true
|
|
40546
40546
|
},
|
|
40547
|
+
{
|
|
40548
|
+
key: "email-guard-require-approval-enabled",
|
|
40549
|
+
description: "Platform enable-gate for the email-domain guardrail REQUIRE_APPROVAL stage (ENG-7939). When ON for an org, a scope at email_guard_stage=require_approval routes a send to a non-allowed domain into Human Approval (an Approve/Deny card) instead of a hard block: the rollout UI unlocks the option and the write routes accept require_approval. When OFF (default) the write routes reject require_approval and the UI shows it as not yet available, so no scope can select it. Structurally also depends on hitl-approval-routing being on (the approval broker fails closed to a hard block when routing is off). Evaluated per-org. Ships dark.",
|
|
40550
|
+
flagType: "boolean",
|
|
40551
|
+
// Declared safe value is `false` (require_approval is unselectable / inert). A flag-DB read
|
|
40552
|
+
// error degrades here, so a flags outage can never start routing customer email through a
|
|
40553
|
+
// half-wired approval path - the fail-closed direction. No envVar: net-new control with no
|
|
40554
|
+
// pre-flags env gate to migrate (ADR-0022).
|
|
40555
|
+
defaultValue: false,
|
|
40556
|
+
// Ungates a stage that changes how real customer email is handled (block becomes approval),
|
|
40557
|
+
// so it is a deliberate, audited per-org flip (ADR-0022 §4).
|
|
40558
|
+
sensitive: true
|
|
40559
|
+
},
|
|
40547
40560
|
{
|
|
40548
40561
|
key: "slack-reply-binding",
|
|
40549
40562
|
description: "Slack reply-target binding (ENG-7396 / WS2, cross-thread reply routing): the model names which inbound it answers (inbound_id) and the server resolves the destination from its own verified record. shadow = classify + count only, routing unchanged; warn = same routing plus a tool-result note so the model self-corrects; enforce = route a bound reply to the registry thread and REJECT a reply whose target matches no inbound this process delivered. The channel server can't evaluate flags, so the manager materializes the resolved value into the AGT_SLACK_REPLY_BINDING spawn env (the operator/canary override, ADR-0022). Ships shadow.",
|
|
@@ -34463,6 +34463,19 @@ var FLAG_REGISTRY = [
|
|
|
34463
34463
|
// deliberate, audited per-org flip (ADR-0022 §4).
|
|
34464
34464
|
sensitive: true
|
|
34465
34465
|
},
|
|
34466
|
+
{
|
|
34467
|
+
key: "email-guard-require-approval-enabled",
|
|
34468
|
+
description: "Platform enable-gate for the email-domain guardrail REQUIRE_APPROVAL stage (ENG-7939). When ON for an org, a scope at email_guard_stage=require_approval routes a send to a non-allowed domain into Human Approval (an Approve/Deny card) instead of a hard block: the rollout UI unlocks the option and the write routes accept require_approval. When OFF (default) the write routes reject require_approval and the UI shows it as not yet available, so no scope can select it. Structurally also depends on hitl-approval-routing being on (the approval broker fails closed to a hard block when routing is off). Evaluated per-org. Ships dark.",
|
|
34469
|
+
flagType: "boolean",
|
|
34470
|
+
// Declared safe value is `false` (require_approval is unselectable / inert). A flag-DB read
|
|
34471
|
+
// error degrades here, so a flags outage can never start routing customer email through a
|
|
34472
|
+
// half-wired approval path - the fail-closed direction. No envVar: net-new control with no
|
|
34473
|
+
// pre-flags env gate to migrate (ADR-0022).
|
|
34474
|
+
defaultValue: false,
|
|
34475
|
+
// Ungates a stage that changes how real customer email is handled (block becomes approval),
|
|
34476
|
+
// so it is a deliberate, audited per-org flip (ADR-0022 §4).
|
|
34477
|
+
sensitive: true
|
|
34478
|
+
},
|
|
34466
34479
|
{
|
|
34467
34480
|
key: "slack-reply-binding",
|
|
34468
34481
|
description: "Slack reply-target binding (ENG-7396 / WS2, cross-thread reply routing): the model names which inbound it answers (inbound_id) and the server resolves the destination from its own verified record. shadow = classify + count only, routing unchanged; warn = same routing plus a tool-result note so the model self-corrects; enforce = route a bound reply to the registry thread and REJECT a reply whose target matches no inbound this process delivered. The channel server can't evaluate flags, so the manager materializes the resolved value into the AGT_SLACK_REPLY_BINDING spawn env (the operator/canary override, ADR-0022). Ships shadow.",
|
|
@@ -34813,6 +34813,19 @@ var FLAG_REGISTRY = [
|
|
|
34813
34813
|
// deliberate, audited per-org flip (ADR-0022 §4).
|
|
34814
34814
|
sensitive: true
|
|
34815
34815
|
},
|
|
34816
|
+
{
|
|
34817
|
+
key: "email-guard-require-approval-enabled",
|
|
34818
|
+
description: "Platform enable-gate for the email-domain guardrail REQUIRE_APPROVAL stage (ENG-7939). When ON for an org, a scope at email_guard_stage=require_approval routes a send to a non-allowed domain into Human Approval (an Approve/Deny card) instead of a hard block: the rollout UI unlocks the option and the write routes accept require_approval. When OFF (default) the write routes reject require_approval and the UI shows it as not yet available, so no scope can select it. Structurally also depends on hitl-approval-routing being on (the approval broker fails closed to a hard block when routing is off). Evaluated per-org. Ships dark.",
|
|
34819
|
+
flagType: "boolean",
|
|
34820
|
+
// Declared safe value is `false` (require_approval is unselectable / inert). A flag-DB read
|
|
34821
|
+
// error degrades here, so a flags outage can never start routing customer email through a
|
|
34822
|
+
// half-wired approval path - the fail-closed direction. No envVar: net-new control with no
|
|
34823
|
+
// pre-flags env gate to migrate (ADR-0022).
|
|
34824
|
+
defaultValue: false,
|
|
34825
|
+
// Ungates a stage that changes how real customer email is handled (block becomes approval),
|
|
34826
|
+
// so it is a deliberate, audited per-org flip (ADR-0022 §4).
|
|
34827
|
+
sensitive: true
|
|
34828
|
+
},
|
|
34816
34829
|
{
|
|
34817
34830
|
key: "slack-reply-binding",
|
|
34818
34831
|
description: "Slack reply-target binding (ENG-7396 / WS2, cross-thread reply routing): the model names which inbound it answers (inbound_id) and the server resolves the destination from its own verified record. shadow = classify + count only, routing unchanged; warn = same routing plus a tool-result note so the model self-corrects; enforce = route a bound reply to the registry thread and REJECT a reply whose target matches no inbound this process delivered. The channel server can't evaluate flags, so the manager materializes the resolved value into the AGT_SLACK_REPLY_BINDING spawn env (the operator/canary override, ADR-0022). Ships shadow.",
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
writeDirectChatSessionState,
|
|
37
37
|
writeEgressAllowlist,
|
|
38
38
|
writePersistentClaudeWrapper
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-Z7QR2YEJ.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-7XG63YFS.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Z7QR2YEJ.js";
|
|
4
4
|
import "./chunk-XWVM4KPK.js";
|
|
5
5
|
|
|
6
6
|
// src/lib/responsiveness-probe.ts
|
|
@@ -437,4 +437,4 @@ export {
|
|
|
437
437
|
readAndResetSlackReplyBindingClassifications,
|
|
438
438
|
readAndResetSlackReplyTargetClassifications
|
|
439
439
|
};
|
|
440
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
440
|
+
//# sourceMappingURL=responsiveness-probe-JV6PRDKD.js.map
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|