@integrity-labs/agt-cli 0.28.286 → 0.28.288
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-4WRAUNC4.js → chunk-6J467SLS.js} +3 -3
- package/dist/{chunk-HI7TA73T.js → chunk-GUCYHTCJ.js} +17 -2
- package/dist/chunk-GUCYHTCJ.js.map +1 -0
- package/dist/{claude-pair-runtime-5TLP7YBB.js → claude-pair-runtime-MGU5UP3T.js} +2 -2
- package/dist/lib/manager-worker.js +10 -10
- package/dist/mcp/index.js +39 -5
- package/dist/mcp/origami.js +16 -1
- package/dist/{persistent-session-VUHRDURH.js → persistent-session-C6IIZKQH.js} +2 -2
- package/dist/{responsiveness-probe-RVFNE2EV.js → responsiveness-probe-RAHMPI4W.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-HI7TA73T.js.map +0 -1
- /package/dist/{chunk-4WRAUNC4.js.map → chunk-6J467SLS.js.map} +0 -0
- /package/dist/{claude-pair-runtime-5TLP7YBB.js.map → claude-pair-runtime-MGU5UP3T.js.map} +0 -0
- /package/dist/{persistent-session-VUHRDURH.js.map → persistent-session-C6IIZKQH.js.map} +0 -0
- /package/dist/{responsiveness-probe-RVFNE2EV.js.map → responsiveness-probe-RAHMPI4W.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-C6IIZKQH.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-MGU5UP3T.js.map
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
requireHost,
|
|
39
39
|
safeWriteJsonAtomic,
|
|
40
40
|
setConfigHash
|
|
41
|
-
} from "../chunk-
|
|
41
|
+
} from "../chunk-6J467SLS.js";
|
|
42
42
|
import {
|
|
43
43
|
getProjectDir as getProjectDir2,
|
|
44
44
|
getReadyTasks,
|
|
@@ -125,7 +125,7 @@ import {
|
|
|
125
125
|
takeZombieDetection,
|
|
126
126
|
transcriptActivityAgeSeconds,
|
|
127
127
|
writeEgressAllowlist
|
|
128
|
-
} from "../chunk-
|
|
128
|
+
} from "../chunk-GUCYHTCJ.js";
|
|
129
129
|
import {
|
|
130
130
|
reapOrphanChannelMcps
|
|
131
131
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -6895,7 +6895,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
6895
6895
|
var lastVersionCheckAt = 0;
|
|
6896
6896
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
6897
6897
|
var lastResponsivenessProbeAt = 0;
|
|
6898
|
-
var agtCliVersion = true ? "0.28.
|
|
6898
|
+
var agtCliVersion = true ? "0.28.288" : "dev";
|
|
6899
6899
|
function resolveBrewPath(execFileSync2) {
|
|
6900
6900
|
try {
|
|
6901
6901
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -7748,7 +7748,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
7748
7748
|
if (codeNames.length === 0) return;
|
|
7749
7749
|
void (async () => {
|
|
7750
7750
|
try {
|
|
7751
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
7751
|
+
const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
|
|
7752
7752
|
await api.post("/host/heartbeat", {
|
|
7753
7753
|
host_id: hostId,
|
|
7754
7754
|
agent_diagnostics: collectDiagnostics(codeNames)
|
|
@@ -7846,7 +7846,7 @@ async function pollCycle() {
|
|
|
7846
7846
|
}
|
|
7847
7847
|
try {
|
|
7848
7848
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
7849
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
7849
|
+
const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
|
|
7850
7850
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
7851
7851
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
|
|
7852
7852
|
let tailscaleHostname;
|
|
@@ -7994,7 +7994,7 @@ async function pollCycle() {
|
|
|
7994
7994
|
const {
|
|
7995
7995
|
collectResponsivenessProbes,
|
|
7996
7996
|
getResponsivenessIntervalMs
|
|
7997
|
-
} = await import("../responsiveness-probe-
|
|
7997
|
+
} = await import("../responsiveness-probe-RAHMPI4W.js");
|
|
7998
7998
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
7999
7999
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
8000
8000
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -8026,7 +8026,7 @@ async function pollCycle() {
|
|
|
8026
8026
|
collectResponsivenessProbes,
|
|
8027
8027
|
livePendingInboundOldestAgeSeconds,
|
|
8028
8028
|
parkPendingInbound
|
|
8029
|
-
} = await import("../responsiveness-probe-
|
|
8029
|
+
} = await import("../responsiveness-probe-RAHMPI4W.js");
|
|
8030
8030
|
const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
|
|
8031
8031
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
8032
8032
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -10946,7 +10946,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
10946
10946
|
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}`));
|
|
10947
10947
|
void (async () => {
|
|
10948
10948
|
try {
|
|
10949
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
10949
|
+
const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
|
|
10950
10950
|
await api.post("/host/heartbeat", {
|
|
10951
10951
|
host_id: hostId,
|
|
10952
10952
|
agent_diagnostics: collectDiagnostics([codeName])
|
|
@@ -10996,7 +10996,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
10996
10996
|
}
|
|
10997
10997
|
try {
|
|
10998
10998
|
const hostId = await getHostId();
|
|
10999
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
10999
|
+
const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
|
|
11000
11000
|
await api.post("/host/heartbeat", {
|
|
11001
11001
|
host_id: hostId,
|
|
11002
11002
|
agent_diagnostics: collectDiagnostics([codeName])
|
|
@@ -11400,7 +11400,7 @@ async function processClaudePairSessions(agents) {
|
|
|
11400
11400
|
killPairSession,
|
|
11401
11401
|
pairTmuxSession,
|
|
11402
11402
|
finalizeClaudePairOnboarding
|
|
11403
|
-
} = await import("../claude-pair-runtime-
|
|
11403
|
+
} = await import("../claude-pair-runtime-MGU5UP3T.js");
|
|
11404
11404
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
11405
11405
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
11406
11406
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
package/dist/mcp/index.js
CHANGED
|
@@ -21780,8 +21780,8 @@ server.tool(
|
|
|
21780
21780
|
}
|
|
21781
21781
|
);
|
|
21782
21782
|
var kanbanMoveStatuses = AGT_KANBAN_WAITING_ENABLED ? ["backlog", "todo", "in_progress", "waiting", "done", "failed"] : ["backlog", "todo", "in_progress", "done", "failed"];
|
|
21783
|
-
var kanbanMoveDescription = AGT_KANBAN_WAITING_ENABLED ? 'Move a kanban item to a different status column. Use status="failed" for a task attempted but not completable. Use status="waiting" when you have COMPLETED your part and cannot proceed until one specific external action happens (a person approves/answers/decides, or a dependency like a PR merge or deploy completes) - set waiting_on to
|
|
21784
|
-
var kanbanMoveStatusDescribe = AGT_KANBAN_WAITING_ENABLED ? 'Target status. "waiting" parks the card
|
|
21783
|
+
var kanbanMoveDescription = AGT_KANBAN_WAITING_ENABLED ? 'Move a kanban item to a different status column. Use status="failed" for a task attempted but not completable. Use status="waiting" when you have COMPLETED your part and cannot proceed until one specific external action happens (a person approves/answers/decides, or a dependency like a PR merge or deploy completes). status="waiting" REQUIRES waiting_kind - classify the wait as "pr-review", "pr-merged", "human", "external", or "other" (the catch-all when none fit). For a PR wait ("pr-review"/"pr-merged") set waiting_repo ("owner/repo") and waiting_pr (the number) INSTEAD of waiting_on - the card then links straight to the PR and can auto-resume when it lands. For "human"/"external"/"other" set waiting_on to the single concrete action, phrased as an instruction ("Approve the budget", "Answer my question"). Do NOT use waiting to offload hard work, and do NOT confuse it with a failure. (matches the hosted kanban_move enum).' : 'Move a kanban item to a different status column. Use status="failed" to mark a task that was attempted but could not complete (matches the hosted kanban_move enum).';
|
|
21784
|
+
var kanbanMoveStatusDescribe = AGT_KANBAN_WAITING_ENABLED ? 'Target status. "waiting" parks the card until one external action happens; it REQUIRES waiting_kind - use "pr-review"/"pr-merged" with waiting_repo + waiting_pr, or "human"/"external"/"other" with a concrete waiting_on. "failed" closes the row as a failed attempt; there is no "cancelled" status, close no-longer-needed work via kanban_done with an explanatory result.' : 'Target status. "failed" closes the row as a failed attempt; there is no "cancelled" status, close no-longer-needed work via kanban_done with an explanatory result.';
|
|
21785
21785
|
server.tool(
|
|
21786
21786
|
"kanban_move",
|
|
21787
21787
|
kanbanMoveDescription,
|
|
@@ -21792,8 +21792,15 @@ server.tool(
|
|
|
21792
21792
|
notes: external_exports.string().optional().describe("Progress notes"),
|
|
21793
21793
|
...AGT_KANBAN_WAITING_ENABLED ? {
|
|
21794
21794
|
waiting_on: external_exports.string().optional().describe(
|
|
21795
|
-
'Only with status="waiting": the single concrete action you are parked on, phrased as an instruction ("
|
|
21796
|
-
)
|
|
21795
|
+
'Only with status="waiting", for a NON-PR wait: the single concrete action you are parked on, phrased as an instruction ("Approve the budget", "Answer my question"). Shown as the card headline. For a PR wait use waiting_kind/waiting_repo/waiting_pr instead.'
|
|
21796
|
+
),
|
|
21797
|
+
waiting_kind: external_exports.enum(["pr-review", "pr-merged", "human", "external", "other"]).optional().describe(
|
|
21798
|
+
'REQUIRED with status="waiting": classify what you are waiting on. "pr-review" = a pull request awaiting review, "pr-merged" = a reviewed PR awaiting merge (both require waiting_repo + waiting_pr and let the card link to the PR and auto-resume). "human" = a specific person must decide/answer, "external" = a non-PR system/process must complete (a deploy, CI, a third party); for those two, describe it in waiting_on. "other" = none of the above / unsure - the generic catch-all, also described in waiting_on. Always pick the most specific kind that fits; fall back to "other" rather than leaving it unset.'
|
|
21799
|
+
),
|
|
21800
|
+
waiting_repo: external_exports.string().optional().describe(
|
|
21801
|
+
'Only with a pr-* waiting_kind: the "owner/repo" the pull request lives in (e.g. "Integrity-Labs/augmented").'
|
|
21802
|
+
),
|
|
21803
|
+
waiting_pr: external_exports.number().int().positive().optional().describe("Only with a pr-* waiting_kind: the pull request number (e.g. 3120).")
|
|
21797
21804
|
} : {}
|
|
21798
21805
|
},
|
|
21799
21806
|
async (params) => {
|
|
@@ -21803,6 +21810,31 @@ server.tool(
|
|
|
21803
21810
|
isError: true
|
|
21804
21811
|
};
|
|
21805
21812
|
}
|
|
21813
|
+
const p = params;
|
|
21814
|
+
if (params.status === "waiting" && !p.waiting_kind) {
|
|
21815
|
+
return {
|
|
21816
|
+
content: [
|
|
21817
|
+
{
|
|
21818
|
+
type: "text",
|
|
21819
|
+
text: 'Error: status="waiting" requires waiting_kind - one of "pr-review", "pr-merged", "human", "external", or "other". Pick the most specific that fits; use "other" if none do.'
|
|
21820
|
+
}
|
|
21821
|
+
],
|
|
21822
|
+
isError: true
|
|
21823
|
+
};
|
|
21824
|
+
}
|
|
21825
|
+
const isPrKind = p.waiting_kind === "pr-review" || p.waiting_kind === "pr-merged";
|
|
21826
|
+
if (isPrKind && (!p.waiting_repo || p.waiting_pr === void 0)) {
|
|
21827
|
+
return {
|
|
21828
|
+
content: [
|
|
21829
|
+
{
|
|
21830
|
+
type: "text",
|
|
21831
|
+
text: `Error: waiting_kind="${p.waiting_kind}" requires waiting_repo ("owner/repo") and waiting_pr (the PR number).`
|
|
21832
|
+
}
|
|
21833
|
+
],
|
|
21834
|
+
isError: true
|
|
21835
|
+
};
|
|
21836
|
+
}
|
|
21837
|
+
const waitingContext = isPrKind ? { repo: p.waiting_repo, pr_number: p.waiting_pr } : void 0;
|
|
21806
21838
|
const data = await apiPost("/host/kanban", {
|
|
21807
21839
|
agent_id: AGT_AGENT_ID,
|
|
21808
21840
|
update: [
|
|
@@ -21811,7 +21843,9 @@ server.tool(
|
|
|
21811
21843
|
title: params.title,
|
|
21812
21844
|
status: params.status,
|
|
21813
21845
|
notes: params.notes,
|
|
21814
|
-
waiting_on:
|
|
21846
|
+
waiting_on: isPrKind ? void 0 : p.waiting_on,
|
|
21847
|
+
waiting_kind: p.waiting_kind,
|
|
21848
|
+
waiting_context: waitingContext
|
|
21815
21849
|
}
|
|
21816
21850
|
]
|
|
21817
21851
|
});
|
package/dist/mcp/origami.js
CHANGED
|
@@ -39336,6 +39336,16 @@ var KANBAN_STATUSES = [
|
|
|
39336
39336
|
];
|
|
39337
39337
|
var KANBAN_STATUS_SET = new Set(KANBAN_STATUSES);
|
|
39338
39338
|
|
|
39339
|
+
// ../core/dist/kanban/waiting.js
|
|
39340
|
+
var WAITING_KINDS = [
|
|
39341
|
+
"pr-review",
|
|
39342
|
+
"pr-merged",
|
|
39343
|
+
"human",
|
|
39344
|
+
"external",
|
|
39345
|
+
"other"
|
|
39346
|
+
];
|
|
39347
|
+
var WAITING_KIND_SET = new Set(WAITING_KINDS);
|
|
39348
|
+
|
|
39339
39349
|
// ../core/dist/conversations/metrics.js
|
|
39340
39350
|
var PERIOD_CONFIG = {
|
|
39341
39351
|
"24h": { windowMs: 24 * 60 * 60 * 1e3, bucket: "hour" },
|
|
@@ -39627,7 +39637,12 @@ var FLAG_REGISTRY = [
|
|
|
39627
39637
|
key: "integration-multi-connection",
|
|
39628
39638
|
description: "Allow adding a SECOND+ connection of one managed integration on the same agent (ENG-7543 / ADR-0045 Phase 3), discriminated by connection_key (e.g. two Gmail mailboxes). When OFF, only the default connection can be created (today's behaviour: a duplicate 409s). Gates 2nd-connection CREATION only; runtime N-server surfacing is a later phase. Evaluated per-org. Additive capability, not an enforcement control. Boolean gate; ships dark.",
|
|
39629
39639
|
flagType: "boolean",
|
|
39630
|
-
defaultValue: false
|
|
39640
|
+
defaultValue: false,
|
|
39641
|
+
// Exposed to the browser so the add-integration dialog can show the
|
|
39642
|
+
// "Add another connection" affordance only when the org is enabled (rather
|
|
39643
|
+
// than rendering a control whose create POST would 403). Additive, not
|
|
39644
|
+
// sensitive.
|
|
39645
|
+
public: true
|
|
39631
39646
|
},
|
|
39632
39647
|
{
|
|
39633
39648
|
key: "augmented-live-stream-producer",
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
writeDirectChatSessionState,
|
|
37
37
|
writeEgressAllowlist,
|
|
38
38
|
writePersistentClaudeWrapper
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-GUCYHTCJ.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-C6IIZKQH.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GUCYHTCJ.js";
|
|
4
4
|
import "./chunk-XWVM4KPK.js";
|
|
5
5
|
|
|
6
6
|
// src/lib/responsiveness-probe.ts
|
|
@@ -418,4 +418,4 @@ export {
|
|
|
418
418
|
readAndResetSlackReplyBindingClassifications,
|
|
419
419
|
readAndResetSlackReplyTargetClassifications
|
|
420
420
|
};
|
|
421
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
421
|
+
//# sourceMappingURL=responsiveness-probe-RAHMPI4W.js.map
|