@integrity-labs/agt-cli 0.28.620 → 0.28.621
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 +5 -5
- package/dist/{chunk-P6KFZVKA.js → chunk-EDH4GZIW.js} +20 -14
- package/dist/chunk-EDH4GZIW.js.map +1 -0
- package/dist/{chunk-5ZJFTTGB.js → chunk-MSQXSVA5.js} +4 -4
- package/dist/{chunk-RXC3MTSN.js → chunk-QSPSXG4K.js} +2 -2
- package/dist/{claude-pair-runtime-3356FFTC.js → claude-pair-runtime-63GQ5AOP.js} +2 -2
- package/dist/lib/manager-worker.js +13 -13
- package/dist/mcp/direct-chat-channel.js +19 -13
- package/dist/mcp/index.js +53 -10
- package/dist/mcp/origami.js +19 -13
- package/dist/mcp/slack-channel.js +19 -13
- package/dist/mcp/telegram-channel.js +19 -13
- package/dist/{persistent-session-AGPLISL3.js → persistent-session-IFZS5AXT.js} +3 -3
- package/dist/{responsiveness-probe-ITYPPSHM.js → responsiveness-probe-76U4MR6U.js} +3 -3
- package/dist/{session-auth-dead-Y6ABNWNM.js → session-auth-dead-RLQK5ZQV.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-P6KFZVKA.js.map +0 -1
- /package/dist/{chunk-5ZJFTTGB.js.map → chunk-MSQXSVA5.js.map} +0 -0
- /package/dist/{chunk-RXC3MTSN.js.map → chunk-QSPSXG4K.js.map} +0 -0
- /package/dist/{claude-pair-runtime-3356FFTC.js.map → claude-pair-runtime-63GQ5AOP.js.map} +0 -0
- /package/dist/{persistent-session-AGPLISL3.js.map → persistent-session-IFZS5AXT.js.map} +0 -0
- /package/dist/{responsiveness-probe-ITYPPSHM.js.map → responsiveness-probe-76U4MR6U.js.map} +0 -0
- /package/dist/{session-auth-dead-Y6ABNWNM.js.map → session-auth-dead-RLQK5ZQV.js.map} +0 -0
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
expandTemplateVars,
|
|
8
8
|
isolationMode,
|
|
9
9
|
parseEnvIntegrations
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-QSPSXG4K.js";
|
|
11
11
|
import {
|
|
12
12
|
BIND_FAILURE_QUARANTINE_THRESHOLD,
|
|
13
13
|
INTEGRATIONS_SECTION_END,
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
resolveConnectivityProbe,
|
|
49
49
|
worseConnectivityOutcome,
|
|
50
50
|
wrapScheduledTaskPrompt
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-EDH4GZIW.js";
|
|
52
52
|
import {
|
|
53
53
|
parsePsRows
|
|
54
54
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -6065,7 +6065,7 @@ function exchangeFailureKind(err) {
|
|
|
6065
6065
|
}
|
|
6066
6066
|
|
|
6067
6067
|
// src/lib/api-client.ts
|
|
6068
|
-
var agtCliVersion = true ? "0.28.
|
|
6068
|
+
var agtCliVersion = true ? "0.28.621" : "dev";
|
|
6069
6069
|
var lastConfigHash = null;
|
|
6070
6070
|
function setConfigHash(hash) {
|
|
6071
6071
|
lastConfigHash = hash && hash.length > 0 ? hash : null;
|
|
@@ -9558,4 +9558,4 @@ export {
|
|
|
9558
9558
|
managerInstallSystemUnitCommand,
|
|
9559
9559
|
managerUninstallSystemUnitCommand
|
|
9560
9560
|
};
|
|
9561
|
-
//# sourceMappingURL=chunk-
|
|
9561
|
+
//# sourceMappingURL=chunk-MSQXSVA5.js.map
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
rotateDailySession,
|
|
17
17
|
sessionFileExists,
|
|
18
18
|
todayLocalIso
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-EDH4GZIW.js";
|
|
20
20
|
import {
|
|
21
21
|
reapOrphanChannelMcps
|
|
22
22
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -4352,4 +4352,4 @@ export {
|
|
|
4352
4352
|
stopAllSessionsAndWait,
|
|
4353
4353
|
getProjectDir
|
|
4354
4354
|
};
|
|
4355
|
-
//# sourceMappingURL=chunk-
|
|
4355
|
+
//# sourceMappingURL=chunk-QSPSXG4K.js.map
|
|
@@ -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-IFZS5AXT.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-63GQ5AOP.js.map
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
safeWriteJsonAtomic,
|
|
55
55
|
setConfigHash,
|
|
56
56
|
tripClass
|
|
57
|
-
} from "../chunk-
|
|
57
|
+
} from "../chunk-MSQXSVA5.js";
|
|
58
58
|
import {
|
|
59
59
|
getProjectDir as getProjectDir2,
|
|
60
60
|
getReadyTasks,
|
|
@@ -110,7 +110,7 @@ import {
|
|
|
110
110
|
takeZombieDetection,
|
|
111
111
|
toOpencodeModel,
|
|
112
112
|
writeEgressAllowlist
|
|
113
|
-
} from "../chunk-
|
|
113
|
+
} from "../chunk-QSPSXG4K.js";
|
|
114
114
|
import {
|
|
115
115
|
ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
|
|
116
116
|
AnchorSessionClient,
|
|
@@ -187,7 +187,7 @@ import {
|
|
|
187
187
|
subagentActivityAgeSeconds,
|
|
188
188
|
sumTranscriptUsageInWindow,
|
|
189
189
|
transcriptActivityAgeSeconds
|
|
190
|
-
} from "../chunk-
|
|
190
|
+
} from "../chunk-EDH4GZIW.js";
|
|
191
191
|
import {
|
|
192
192
|
reapOrphanChannelMcps
|
|
193
193
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -11394,7 +11394,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
11394
11394
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
11395
11395
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
11396
11396
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
11397
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
11397
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-76U4MR6U.js");
|
|
11398
11398
|
const newest = newestPendingInboundActivityMtimeMs(dirname9(paneLogPath(codeName)));
|
|
11399
11399
|
if (newest === null) return null;
|
|
11400
11400
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -12033,7 +12033,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
12033
12033
|
var lastVersionCheckAt = 0;
|
|
12034
12034
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
12035
12035
|
var lastResponsivenessProbeAt = 0;
|
|
12036
|
-
var agtCliVersion = true ? "0.28.
|
|
12036
|
+
var agtCliVersion = true ? "0.28.621" : "dev";
|
|
12037
12037
|
function resolveBrewPath(execFileSync3) {
|
|
12038
12038
|
try {
|
|
12039
12039
|
const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -13340,7 +13340,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
13340
13340
|
if (codeNames.length === 0) return;
|
|
13341
13341
|
void (async () => {
|
|
13342
13342
|
try {
|
|
13343
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
13343
|
+
const { collectDiagnostics } = await import("../persistent-session-IFZS5AXT.js");
|
|
13344
13344
|
await api.post("/host/heartbeat", {
|
|
13345
13345
|
host_id: hostId,
|
|
13346
13346
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
|
|
@@ -13456,7 +13456,7 @@ async function pollCycleInner() {
|
|
|
13456
13456
|
}
|
|
13457
13457
|
try {
|
|
13458
13458
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
13459
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
13459
|
+
const { collectDiagnostics } = await import("../persistent-session-IFZS5AXT.js");
|
|
13460
13460
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
13461
13461
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor) : void 0;
|
|
13462
13462
|
let tailscaleHostname;
|
|
@@ -13579,7 +13579,7 @@ async function pollCycleInner() {
|
|
|
13579
13579
|
collectPanelessActivityProbes,
|
|
13580
13580
|
getResponsivenessIntervalMs,
|
|
13581
13581
|
occupancyQualificationClassifications
|
|
13582
|
-
} = await import("../responsiveness-probe-
|
|
13582
|
+
} = await import("../responsiveness-probe-76U4MR6U.js");
|
|
13583
13583
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
13584
13584
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
13585
13585
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -13685,7 +13685,7 @@ async function pollCycleInner() {
|
|
|
13685
13685
|
collectResponsivenessProbes,
|
|
13686
13686
|
livePendingInboundOldestAgeSeconds,
|
|
13687
13687
|
parkPendingInbound
|
|
13688
|
-
} = await import("../responsiveness-probe-
|
|
13688
|
+
} = await import("../responsiveness-probe-76U4MR6U.js");
|
|
13689
13689
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
|
|
13690
13690
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
13691
13691
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -13841,7 +13841,7 @@ async function pollCycleInner() {
|
|
|
13841
13841
|
}
|
|
13842
13842
|
try {
|
|
13843
13843
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
|
|
13844
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
13844
|
+
const { probeSessionAuth } = await import("../session-auth-dead-RLQK5ZQV.js");
|
|
13845
13845
|
const observations = [];
|
|
13846
13846
|
const pendingCacheCommits = [];
|
|
13847
13847
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -17368,7 +17368,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
17368
17368
|
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}`));
|
|
17369
17369
|
void (async () => {
|
|
17370
17370
|
try {
|
|
17371
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
17371
|
+
const { collectDiagnostics } = await import("../persistent-session-IFZS5AXT.js");
|
|
17372
17372
|
await api.post("/host/heartbeat", {
|
|
17373
17373
|
host_id: hostId,
|
|
17374
17374
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
|
|
@@ -17419,7 +17419,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
17419
17419
|
}
|
|
17420
17420
|
try {
|
|
17421
17421
|
const hostId = await getHostId();
|
|
17422
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
17422
|
+
const { collectDiagnostics } = await import("../persistent-session-IFZS5AXT.js");
|
|
17423
17423
|
await api.post("/host/heartbeat", {
|
|
17424
17424
|
host_id: hostId,
|
|
17425
17425
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
|
|
@@ -18015,7 +18015,7 @@ async function processClaudePairSessions(agents) {
|
|
|
18015
18015
|
killPairSession,
|
|
18016
18016
|
pairTmuxSession,
|
|
18017
18017
|
finalizeClaudePairOnboarding
|
|
18018
|
-
} = await import("../claude-pair-runtime-
|
|
18018
|
+
} = await import("../claude-pair-runtime-63GQ5AOP.js");
|
|
18019
18019
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
18020
18020
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
18021
18021
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
|
@@ -33939,7 +33939,12 @@ var AGENT_DIRECTED_NOTICE_KINDS = [
|
|
|
33939
33939
|
// instructing the agent what not to do ("do not re-raise it yourself"). The
|
|
33940
33940
|
// human needs none of it: they are the person who tapped the button, and the
|
|
33941
33941
|
// card swapped under their finger to say so.
|
|
33942
|
-
"offer_result"
|
|
33942
|
+
"offer_result",
|
|
33943
|
+
// ENG-9051. The "you are blocking another agent" notice. Its content opens
|
|
33944
|
+
// with a `[blocking]` machine tag and is second-person instruction to the
|
|
33945
|
+
// agent ("Do whatever you owe them, then tell them"). The customer has no
|
|
33946
|
+
// part in it - this is one agent telling another it has stopped.
|
|
33947
|
+
"waiting_on_agent"
|
|
33943
33948
|
];
|
|
33944
33949
|
var AGENT_DIRECTED_KIND_SET = new Set(AGENT_DIRECTED_NOTICE_KINDS);
|
|
33945
33950
|
|
|
@@ -34582,7 +34587,8 @@ var WAITING_KINDS = [
|
|
|
34582
34587
|
"human",
|
|
34583
34588
|
"external",
|
|
34584
34589
|
"other",
|
|
34585
|
-
"approval"
|
|
34590
|
+
"approval",
|
|
34591
|
+
"agent"
|
|
34586
34592
|
];
|
|
34587
34593
|
var WAITING_KIND_SET = new Set(WAITING_KINDS);
|
|
34588
34594
|
|
|
@@ -35022,18 +35028,18 @@ var FLAG_REGISTRY = [
|
|
|
35022
35028
|
// modal would report every recently-seen host as honoring the flip — the
|
|
35023
35029
|
// dangerous direction, because it reads as "armed" when it is not.
|
|
35024
35030
|
//
|
|
35025
|
-
//
|
|
35026
|
-
// 0.28.
|
|
35027
|
-
//
|
|
35028
|
-
//
|
|
35029
|
-
//
|
|
35030
|
-
//
|
|
35031
|
-
// nobody flips), and a GUESSED number is not.
|
|
35031
|
+
// Resolved from the PUBLISHED artifacts, not from the merge timestamp: the
|
|
35032
|
+
// tarballs for 0.28.617 and 0.28.618 were unpacked and searched for the
|
|
35033
|
+
// `-e AGT_API_KEY=` push in `spawnSession`. 0.28.617 does not contain it;
|
|
35034
|
+
// 0.28.618 does, along with the flag key, `dedicatedEnabled` and the
|
|
35035
|
+
// `skipped-per-agent-key-mint-failed` decision — so the whole reader
|
|
35036
|
+
// shipped together and core was not stale in that bundle.
|
|
35032
35037
|
//
|
|
35033
|
-
//
|
|
35034
|
-
//
|
|
35035
|
-
//
|
|
35036
|
-
|
|
35038
|
+
// Bisected rather than inferred because the CLI auto-publishes on merge and
|
|
35039
|
+
// several unrelated versions landed within minutes either side; picking the
|
|
35040
|
+
// version whose timestamp merely looked closest would have been a guess
|
|
35041
|
+
// wearing a precise number, which is the failure this field invites.
|
|
35042
|
+
since: "0.28.618"
|
|
35037
35043
|
},
|
|
35038
35044
|
{
|
|
35039
35045
|
key: "agent-hours-billing-enabled",
|
package/dist/mcp/index.js
CHANGED
|
@@ -21317,6 +21317,9 @@ function kanbanPriorityLabel(priority) {
|
|
|
21317
21317
|
function isHumanAssigned(item) {
|
|
21318
21318
|
return item.assignee_type !== void 0 && item.assignee_type !== "agent";
|
|
21319
21319
|
}
|
|
21320
|
+
function isBlockedOnMe(item) {
|
|
21321
|
+
return typeof item.blocked_agent_label === "string" && item.blocked_agent_label.length > 0;
|
|
21322
|
+
}
|
|
21320
21323
|
function groupKanbanByStatus(items) {
|
|
21321
21324
|
const groups = {};
|
|
21322
21325
|
for (const item of items) {
|
|
@@ -21366,8 +21369,10 @@ function renderKanbanItemLine(item, nowMs) {
|
|
|
21366
21369
|
}
|
|
21367
21370
|
function renderKanbanList(items, nowMs = Date.now()) {
|
|
21368
21371
|
if (!items.length) return "Board is empty.";
|
|
21369
|
-
const
|
|
21370
|
-
const
|
|
21372
|
+
const blockedOnMe = items.filter(isBlockedOnMe);
|
|
21373
|
+
const rest = items.filter((i) => !isBlockedOnMe(i));
|
|
21374
|
+
const humanAssigned = rest.filter(isHumanAssigned);
|
|
21375
|
+
const mine = rest.filter((i) => !isHumanAssigned(i));
|
|
21371
21376
|
const grouped = groupKanbanByStatus(mine);
|
|
21372
21377
|
const lines = [];
|
|
21373
21378
|
const known = new Set(KANBAN_LIST_DISPLAY_ORDER);
|
|
@@ -21380,6 +21385,14 @@ function renderKanbanList(items, nowMs = Date.now()) {
|
|
|
21380
21385
|
## ${kanbanStatusLabel(status)} (${group.length})`);
|
|
21381
21386
|
for (const item of group) lines.push(renderKanbanItemLine(item, nowMs));
|
|
21382
21387
|
}
|
|
21388
|
+
if (blockedOnMe.length) {
|
|
21389
|
+
lines.push(`
|
|
21390
|
+
## ${BLOCKED_ON_ME_SECTION_HEADING} (${blockedOnMe.length})`);
|
|
21391
|
+
lines.push(BLOCKED_ON_ME_SECTION_NOTE);
|
|
21392
|
+
for (const item of blockedOnMe) {
|
|
21393
|
+
lines.push(`${renderKanbanItemLine(item, nowMs)} [blocking ${item.blocked_agent_label}]`);
|
|
21394
|
+
}
|
|
21395
|
+
}
|
|
21383
21396
|
if (humanAssigned.length) {
|
|
21384
21397
|
lines.push(`
|
|
21385
21398
|
## ${HUMAN_ASSIGNED_SECTION_HEADING} (${humanAssigned.length})`);
|
|
@@ -21391,6 +21404,8 @@ function renderKanbanList(items, nowMs = Date.now()) {
|
|
|
21391
21404
|
}
|
|
21392
21405
|
return lines.join("\n");
|
|
21393
21406
|
}
|
|
21407
|
+
var BLOCKED_ON_ME_SECTION_HEADING = "You are blocking these (another agent has stopped)";
|
|
21408
|
+
var BLOCKED_ON_ME_SECTION_NOTE = "_Another agent has PARKED its own work until you act. These are not your cards and not pullable work \u2014 you cannot move, note or complete them, and they do not count toward your in-progress load. Do the thing named, then tell the agent so it can resume; it un-parks its own card._";
|
|
21394
21409
|
var HUMAN_ASSIGNED_SECTION_HEADING = "Assigned to a person (not yours to action)";
|
|
21395
21410
|
var HUMAN_ASSIGNED_SECTION_NOTE = "_These belong to a person, not to you. You cannot move, note or complete them \u2014 every kanban write is refused. If the work is finished (or was never really theirs), use `kanban_recall` to pull the card back onto your board, then close it as normal._";
|
|
21396
21411
|
|
|
@@ -21399,8 +21414,15 @@ function isPersonWaitingKindMcp(kind) {
|
|
|
21399
21414
|
if (kind === void 0 || kind === null || kind === "") return true;
|
|
21400
21415
|
return kind === "human" || kind === "approval" || kind === "pr-review" || kind === "pr-merged";
|
|
21401
21416
|
}
|
|
21417
|
+
function isAgentWaitingKindMcp(kind) {
|
|
21418
|
+
if (kind === void 0 || kind === null || kind === "") return true;
|
|
21419
|
+
return kind === "agent";
|
|
21420
|
+
}
|
|
21421
|
+
function agentWaitingKindRejection(kind) {
|
|
21422
|
+
return `Error: waiting_on_agent cannot be used with waiting_kind="${kind ?? "unset"}". Use waiting_kind="agent" when a teammate agent is what is blocking you, or drop waiting_on_agent.`;
|
|
21423
|
+
}
|
|
21402
21424
|
function personWaitingKindRejection(kind) {
|
|
21403
|
-
return `Error: waiting_on_person cannot be used with waiting_kind="${kind ?? "unset"}". A "${kind}" wait is parked on a system or is unclassified, so there is no one to notify. Name a person on a "human" decision, or on a "pr-review"/"pr-merged" wait (the reviewer or whoever has to tap merge), or drop waiting_on_person.`;
|
|
21425
|
+
return `Error: waiting_on_person cannot be used with waiting_kind="${kind ?? "unset"}". A "${kind}" wait is parked on a system or is unclassified, so there is no one to notify. Name a person on a "human" decision, or on a "pr-review"/"pr-merged" wait (the reviewer or whoever has to tap merge), or drop waiting_on_person. If a teammate AGENT is what is blocking you, use waiting_kind="agent" with waiting_on_agent.`;
|
|
21404
21426
|
}
|
|
21405
21427
|
|
|
21406
21428
|
// src/kanban-artefact-kinds.ts
|
|
@@ -22370,7 +22392,7 @@ if (AGT_AGENT_ID) {
|
|
|
22370
22392
|
}
|
|
22371
22393
|
server.tool(
|
|
22372
22394
|
"kanban_list",
|
|
22373
|
-
'List kanban board items for this agent. Returns active items plus only the most recently completed work (last 24h). This is a NARROW, recency-windowed view \u2014 older done cards are NOT here (only done cards are windowed; failed and active cards always show). Before telling anyone you have "no record" of past work, use kanban_search, which covers your full history.',
|
|
22395
|
+
'List kanban board items for this agent. Returns active items plus only the most recently completed work (last 24h). This is a NARROW, recency-windowed view \u2014 older done cards are NOT here (only done cards are windowed; failed and active cards always show). Before telling anyone you have "no record" of past work, use kanban_search, which covers your full history. The board also lists cards belonging to OTHER agents that are parked on you (a teammate has stopped until you act) in their own section \u2014 those are not yours to move and do not count toward your in-progress load; do the thing named and tell them.',
|
|
22374
22396
|
{},
|
|
22375
22397
|
async () => {
|
|
22376
22398
|
const data = await apiPost("/host/my-kanban", {
|
|
@@ -22476,8 +22498,8 @@ server.tool(
|
|
|
22476
22498
|
}
|
|
22477
22499
|
);
|
|
22478
22500
|
var kanbanMoveStatuses = AGT_KANBAN_WAITING_ENABLED ? ["backlog", "todo", "in_progress", "waiting", "done", "failed"] : ["backlog", "todo", "in_progress", "done", "failed"];
|
|
22479
|
-
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 a one-line ask ("Answer my 5 scoping questions") AND put the full context the person needs to decide - the actual questions, options, links - in waiting_details, so they can answer from the card without opening a ticket. For "human" ALSO set waiting_on_person to that person's person_id (uuid, from directory_lookup \u2014 preferred) or their Slack user id, so the card lands in their "Awaiting you" queue and they are notified instead of your ask sitting unseen. 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).';
|
|
22480
|
-
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.';
|
|
22501
|
+
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", "agent", "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 a one-line ask ("Answer my 5 scoping questions") AND put the full context the person needs to decide - the actual questions, options, links - in waiting_details, so they can answer from the card without opening a ticket. For "human" ALSO set waiting_on_person to that person's person_id (uuid, from directory_lookup \u2014 preferred) or their Slack user id, so the card lands in their "Awaiting you" queue and they are notified instead of your ask sitting unseen. When a teammate AGENT is what is blocking you, use waiting_kind="agent" with waiting_on_agent (its code_name) - that notifies the agent and shows the card on its board as something it is holding up. 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).';
|
|
22502
|
+
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, "agent" with waiting_on_agent (a teammate agent is blocking you), 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.';
|
|
22481
22503
|
server.tool(
|
|
22482
22504
|
"kanban_move",
|
|
22483
22505
|
kanbanMoveDescription,
|
|
@@ -22493,8 +22515,8 @@ server.tool(
|
|
|
22493
22515
|
waiting_details: external_exports.string().optional().describe(
|
|
22494
22516
|
`Only with status="waiting" on a "human"/"external"/"other" wait: the FULL context the person needs to make the decision, inline - the actual questions, the options, the specifics, any links. Put everything here so they can answer from the card alone; NEVER just point at a ticket ("see ENG-1234"). waiting_on stays the one-line headline; this is the body. Shown in full in the card's Respond panel; the card preview and chat notifications may show a truncated preview (kept within their limits).`
|
|
22495
22517
|
),
|
|
22496
|
-
waiting_kind: external_exports.enum(["pr-review", "pr-merged", "human", "external", "other"]).optional().describe(
|
|
22497
|
-
'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 put a one-line ask in waiting_on and the full decision context in waiting_details. "other" = none of the above / unsure - the generic catch-all, same waiting_on + waiting_details. Always pick the most specific kind that fits; fall back to "other" rather than leaving it unset.'
|
|
22518
|
+
waiting_kind: external_exports.enum(["pr-review", "pr-merged", "human", "external", "other", "agent"]).optional().describe(
|
|
22519
|
+
'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 put a one-line ask in waiting_on and the full decision context in waiting_details. "agent" = another AGENT has to act before you can continue - set waiting_on_agent to its code_name, which notifies it and puts the card on its board as something it is holding up. "other" = none of the above / unsure - the generic catch-all, same waiting_on + waiting_details. Always pick the most specific kind that fits; fall back to "other" rather than leaving it unset - but note "other" and "external" mean THERE IS NOBODY TO NOTIFY, so never use them when a person ("human") or a teammate agent ("agent") is what is actually blocking you.'
|
|
22498
22520
|
),
|
|
22499
22521
|
waiting_repo: external_exports.string().optional().describe(
|
|
22500
22522
|
'Only with a pr-* waiting_kind: the "owner/repo" the pull request lives in (e.g. "Integrity-Labs/augmented").'
|
|
@@ -22503,6 +22525,9 @@ server.tool(
|
|
|
22503
22525
|
waiting_choices: external_exports.array(external_exports.string()).optional().describe(
|
|
22504
22526
|
'Optional, best with waiting_kind="human": 2-5 short answer options to offer the person as one-click buttons (e.g. ["Ship it", "Hold", "Needs changes"]). Keep them short. They can still add a free-text comment alongside a choice. Omit for an open-ended human wait (they just get a comment box).'
|
|
22505
22527
|
),
|
|
22528
|
+
waiting_on_agent: external_exports.string().optional().describe(
|
|
22529
|
+
'ENG-9051. The code_name (or uuid) of the teammate AGENT that has to act before you can continue - the same identifier kanban_assign takes as target_agent. Requires waiting_kind="agent". This notifies that agent and puts the card on its board as something it is holding up, so the blocker reaches it instead of sitting on a field. It does NOT reassign the card - you still own driving it to done and you resume as soon as they unblock you. Use this rather than "other"/"external" (which mean nobody to notify) or "human" (which takes a Slack user id and would notify the wrong entity).'
|
|
22530
|
+
),
|
|
22506
22531
|
waiting_on_person: external_exports.string().optional().describe(
|
|
22507
22532
|
`Who has to act before you can continue - the ONE person. Two accepted forms: a person_id (uuid) as emitted by directory_lookup, which is PREFERRED because it is the id the directory actually gives you and it resolves for people with no linked Slack account; or a Slack user id (e.g. "U0123ABCD" - the same id you would pass to deliver_to). This puts the card in that person's "Awaiting you" queue and notifies them, so your ask does not sit unseen. It does NOT reassign the card - you still own driving it to done and you resume as soon as they answer. Valid on "human", "approval", "pr-review" and "pr-merged" waits (ENG-8291: a PR waiting on a review or a merge tap IS waiting on a person, and naming them is the whole point). Note "approval" is absent from the waiting_kind enum above deliberately and that is NOT an inconsistency: the approval broker sets that kind server-side, so you never pass it - but a card the server already parked that way still accepts this field, and rejecting the pair the server itself produces was the ENG-8291 bug. NOT valid on "external" or "other", which are parked on a system or unclassified - there is nobody to notify. Set it whenever you know who has to act; omit only if genuinely nobody specific does.`
|
|
22508
22533
|
)
|
|
@@ -22521,7 +22546,7 @@ server.tool(
|
|
|
22521
22546
|
content: [
|
|
22522
22547
|
{
|
|
22523
22548
|
type: "text",
|
|
22524
|
-
text: 'Error: status="waiting" requires waiting_kind - one of "pr-review", "pr-merged", "human", "external", or "other". Pick the most specific that fits
|
|
22549
|
+
text: 'Error: status="waiting" requires waiting_kind - one of "pr-review", "pr-merged", "human", "external", "agent", or "other". Pick the most specific that fits. Use "agent" when a teammate agent is blocking you and "human" when a person is; "other" and "external" mean there is nobody to notify, so reach for them only when that is actually true.'
|
|
22525
22550
|
}
|
|
22526
22551
|
],
|
|
22527
22552
|
isError: true
|
|
@@ -22545,6 +22570,23 @@ server.tool(
|
|
|
22545
22570
|
isError: true
|
|
22546
22571
|
};
|
|
22547
22572
|
}
|
|
22573
|
+
if (p.waiting_on_agent && !isAgentWaitingKindMcp(p.waiting_kind)) {
|
|
22574
|
+
return {
|
|
22575
|
+
content: [{ type: "text", text: agentWaitingKindRejection(p.waiting_kind) }],
|
|
22576
|
+
isError: true
|
|
22577
|
+
};
|
|
22578
|
+
}
|
|
22579
|
+
if (p.waiting_kind === "agent" && !p.waiting_on_agent) {
|
|
22580
|
+
return {
|
|
22581
|
+
content: [
|
|
22582
|
+
{
|
|
22583
|
+
type: "text",
|
|
22584
|
+
text: 'Error: waiting_kind="agent" requires waiting_on_agent - the code_name of the teammate agent that has to act. Without it the card is parked on nobody and the blocker is never told.'
|
|
22585
|
+
}
|
|
22586
|
+
],
|
|
22587
|
+
isError: true
|
|
22588
|
+
};
|
|
22589
|
+
}
|
|
22548
22590
|
let waitingContext;
|
|
22549
22591
|
if (isPrKind) {
|
|
22550
22592
|
waitingContext = { repo: p.waiting_repo, pr_number: p.waiting_pr };
|
|
@@ -22565,7 +22607,8 @@ server.tool(
|
|
|
22565
22607
|
waiting_on: isPrKind ? void 0 : p.waiting_on,
|
|
22566
22608
|
waiting_kind: p.waiting_kind,
|
|
22567
22609
|
waiting_context: waitingContext,
|
|
22568
|
-
waiting_on_person: p.waiting_on_person
|
|
22610
|
+
waiting_on_person: p.waiting_on_person,
|
|
22611
|
+
waiting_on_agent: p.waiting_on_agent
|
|
22569
22612
|
}
|
|
22570
22613
|
]
|
|
22571
22614
|
});
|
package/dist/mcp/origami.js
CHANGED
|
@@ -40273,7 +40273,12 @@ var AGENT_DIRECTED_NOTICE_KINDS = [
|
|
|
40273
40273
|
// instructing the agent what not to do ("do not re-raise it yourself"). The
|
|
40274
40274
|
// human needs none of it: they are the person who tapped the button, and the
|
|
40275
40275
|
// card swapped under their finger to say so.
|
|
40276
|
-
"offer_result"
|
|
40276
|
+
"offer_result",
|
|
40277
|
+
// ENG-9051. The "you are blocking another agent" notice. Its content opens
|
|
40278
|
+
// with a `[blocking]` machine tag and is second-person instruction to the
|
|
40279
|
+
// agent ("Do whatever you owe them, then tell them"). The customer has no
|
|
40280
|
+
// part in it - this is one agent telling another it has stopped.
|
|
40281
|
+
"waiting_on_agent"
|
|
40277
40282
|
];
|
|
40278
40283
|
var AGENT_DIRECTED_KIND_SET = new Set(AGENT_DIRECTED_NOTICE_KINDS);
|
|
40279
40284
|
|
|
@@ -40446,7 +40451,8 @@ var WAITING_KINDS = [
|
|
|
40446
40451
|
"human",
|
|
40447
40452
|
"external",
|
|
40448
40453
|
"other",
|
|
40449
|
-
"approval"
|
|
40454
|
+
"approval",
|
|
40455
|
+
"agent"
|
|
40450
40456
|
];
|
|
40451
40457
|
var WAITING_KIND_SET = new Set(WAITING_KINDS);
|
|
40452
40458
|
|
|
@@ -40886,18 +40892,18 @@ var FLAG_REGISTRY = [
|
|
|
40886
40892
|
// modal would report every recently-seen host as honoring the flip — the
|
|
40887
40893
|
// dangerous direction, because it reads as "armed" when it is not.
|
|
40888
40894
|
//
|
|
40889
|
-
//
|
|
40890
|
-
// 0.28.
|
|
40891
|
-
//
|
|
40892
|
-
//
|
|
40893
|
-
//
|
|
40894
|
-
//
|
|
40895
|
-
// nobody flips), and a GUESSED number is not.
|
|
40895
|
+
// Resolved from the PUBLISHED artifacts, not from the merge timestamp: the
|
|
40896
|
+
// tarballs for 0.28.617 and 0.28.618 were unpacked and searched for the
|
|
40897
|
+
// `-e AGT_API_KEY=` push in `spawnSession`. 0.28.617 does not contain it;
|
|
40898
|
+
// 0.28.618 does, along with the flag key, `dedicatedEnabled` and the
|
|
40899
|
+
// `skipped-per-agent-key-mint-failed` decision — so the whole reader
|
|
40900
|
+
// shipped together and core was not stale in that bundle.
|
|
40896
40901
|
//
|
|
40897
|
-
//
|
|
40898
|
-
//
|
|
40899
|
-
//
|
|
40900
|
-
|
|
40902
|
+
// Bisected rather than inferred because the CLI auto-publishes on merge and
|
|
40903
|
+
// several unrelated versions landed within minutes either side; picking the
|
|
40904
|
+
// version whose timestamp merely looked closest would have been a guess
|
|
40905
|
+
// wearing a precise number, which is the failure this field invites.
|
|
40906
|
+
since: "0.28.618"
|
|
40901
40907
|
},
|
|
40902
40908
|
{
|
|
40903
40909
|
key: "agent-hours-billing-enabled",
|
|
@@ -34333,7 +34333,12 @@ var AGENT_DIRECTED_NOTICE_KINDS = [
|
|
|
34333
34333
|
// instructing the agent what not to do ("do not re-raise it yourself"). The
|
|
34334
34334
|
// human needs none of it: they are the person who tapped the button, and the
|
|
34335
34335
|
// card swapped under their finger to say so.
|
|
34336
|
-
"offer_result"
|
|
34336
|
+
"offer_result",
|
|
34337
|
+
// ENG-9051. The "you are blocking another agent" notice. Its content opens
|
|
34338
|
+
// with a `[blocking]` machine tag and is second-person instruction to the
|
|
34339
|
+
// agent ("Do whatever you owe them, then tell them"). The customer has no
|
|
34340
|
+
// part in it - this is one agent telling another it has stopped.
|
|
34341
|
+
"waiting_on_agent"
|
|
34337
34342
|
];
|
|
34338
34343
|
var AGENT_DIRECTED_KIND_SET = new Set(AGENT_DIRECTED_NOTICE_KINDS);
|
|
34339
34344
|
|
|
@@ -34920,7 +34925,8 @@ var WAITING_KINDS = [
|
|
|
34920
34925
|
"human",
|
|
34921
34926
|
"external",
|
|
34922
34927
|
"other",
|
|
34923
|
-
"approval"
|
|
34928
|
+
"approval",
|
|
34929
|
+
"agent"
|
|
34924
34930
|
];
|
|
34925
34931
|
var WAITING_KIND_SET = new Set(WAITING_KINDS);
|
|
34926
34932
|
|
|
@@ -35363,18 +35369,18 @@ var FLAG_REGISTRY = [
|
|
|
35363
35369
|
// modal would report every recently-seen host as honoring the flip — the
|
|
35364
35370
|
// dangerous direction, because it reads as "armed" when it is not.
|
|
35365
35371
|
//
|
|
35366
|
-
//
|
|
35367
|
-
// 0.28.
|
|
35368
|
-
//
|
|
35369
|
-
//
|
|
35370
|
-
//
|
|
35371
|
-
//
|
|
35372
|
-
// nobody flips), and a GUESSED number is not.
|
|
35372
|
+
// Resolved from the PUBLISHED artifacts, not from the merge timestamp: the
|
|
35373
|
+
// tarballs for 0.28.617 and 0.28.618 were unpacked and searched for the
|
|
35374
|
+
// `-e AGT_API_KEY=` push in `spawnSession`. 0.28.617 does not contain it;
|
|
35375
|
+
// 0.28.618 does, along with the flag key, `dedicatedEnabled` and the
|
|
35376
|
+
// `skipped-per-agent-key-mint-failed` decision — so the whole reader
|
|
35377
|
+
// shipped together and core was not stale in that bundle.
|
|
35373
35378
|
//
|
|
35374
|
-
//
|
|
35375
|
-
//
|
|
35376
|
-
//
|
|
35377
|
-
|
|
35379
|
+
// Bisected rather than inferred because the CLI auto-publishes on merge and
|
|
35380
|
+
// several unrelated versions landed within minutes either side; picking the
|
|
35381
|
+
// version whose timestamp merely looked closest would have been a guess
|
|
35382
|
+
// wearing a precise number, which is the failure this field invites.
|
|
35383
|
+
since: "0.28.618"
|
|
35378
35384
|
},
|
|
35379
35385
|
{
|
|
35380
35386
|
key: "agent-hours-billing-enabled",
|
|
@@ -34483,7 +34483,12 @@ var AGENT_DIRECTED_NOTICE_KINDS = [
|
|
|
34483
34483
|
// instructing the agent what not to do ("do not re-raise it yourself"). The
|
|
34484
34484
|
// human needs none of it: they are the person who tapped the button, and the
|
|
34485
34485
|
// card swapped under their finger to say so.
|
|
34486
|
-
"offer_result"
|
|
34486
|
+
"offer_result",
|
|
34487
|
+
// ENG-9051. The "you are blocking another agent" notice. Its content opens
|
|
34488
|
+
// with a `[blocking]` machine tag and is second-person instruction to the
|
|
34489
|
+
// agent ("Do whatever you owe them, then tell them"). The customer has no
|
|
34490
|
+
// part in it - this is one agent telling another it has stopped.
|
|
34491
|
+
"waiting_on_agent"
|
|
34487
34492
|
];
|
|
34488
34493
|
var AGENT_DIRECTED_KIND_SET = new Set(AGENT_DIRECTED_NOTICE_KINDS);
|
|
34489
34494
|
|
|
@@ -35070,7 +35075,8 @@ var WAITING_KINDS = [
|
|
|
35070
35075
|
"human",
|
|
35071
35076
|
"external",
|
|
35072
35077
|
"other",
|
|
35073
|
-
"approval"
|
|
35078
|
+
"approval",
|
|
35079
|
+
"agent"
|
|
35074
35080
|
];
|
|
35075
35081
|
var WAITING_KIND_SET = new Set(WAITING_KINDS);
|
|
35076
35082
|
|
|
@@ -35513,18 +35519,18 @@ var FLAG_REGISTRY = [
|
|
|
35513
35519
|
// modal would report every recently-seen host as honoring the flip — the
|
|
35514
35520
|
// dangerous direction, because it reads as "armed" when it is not.
|
|
35515
35521
|
//
|
|
35516
|
-
//
|
|
35517
|
-
// 0.28.
|
|
35518
|
-
//
|
|
35519
|
-
//
|
|
35520
|
-
//
|
|
35521
|
-
//
|
|
35522
|
-
// nobody flips), and a GUESSED number is not.
|
|
35522
|
+
// Resolved from the PUBLISHED artifacts, not from the merge timestamp: the
|
|
35523
|
+
// tarballs for 0.28.617 and 0.28.618 were unpacked and searched for the
|
|
35524
|
+
// `-e AGT_API_KEY=` push in `spawnSession`. 0.28.617 does not contain it;
|
|
35525
|
+
// 0.28.618 does, along with the flag key, `dedicatedEnabled` and the
|
|
35526
|
+
// `skipped-per-agent-key-mint-failed` decision — so the whole reader
|
|
35527
|
+
// shipped together and core was not stale in that bundle.
|
|
35523
35528
|
//
|
|
35524
|
-
//
|
|
35525
|
-
//
|
|
35526
|
-
//
|
|
35527
|
-
|
|
35529
|
+
// Bisected rather than inferred because the CLI auto-publishes on merge and
|
|
35530
|
+
// several unrelated versions landed within minutes either side; picking the
|
|
35531
|
+
// version whose timestamp merely looked closest would have been a guess
|
|
35532
|
+
// wearing a precise number, which is the failure this field invites.
|
|
35533
|
+
since: "0.28.618"
|
|
35528
35534
|
},
|
|
35529
35535
|
{
|
|
35530
35536
|
key: "agent-hours-billing-enabled",
|
|
@@ -43,8 +43,8 @@ import {
|
|
|
43
43
|
writeDirectChatSessionState,
|
|
44
44
|
writeEgressAllowlist,
|
|
45
45
|
writePersistentClaudeWrapper
|
|
46
|
-
} from "./chunk-
|
|
47
|
-
import "./chunk-
|
|
46
|
+
} from "./chunk-QSPSXG4K.js";
|
|
47
|
+
import "./chunk-EDH4GZIW.js";
|
|
48
48
|
import "./chunk-XWVM4KPK.js";
|
|
49
49
|
export {
|
|
50
50
|
EGRESS_BASELINE_DOMAINS,
|
|
@@ -92,4 +92,4 @@ export {
|
|
|
92
92
|
writeEgressAllowlist,
|
|
93
93
|
writePersistentClaudeWrapper
|
|
94
94
|
};
|
|
95
|
-
//# sourceMappingURL=persistent-session-
|
|
95
|
+
//# sourceMappingURL=persistent-session-IFZS5AXT.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-QSPSXG4K.js";
|
|
4
|
+
import "./chunk-EDH4GZIW.js";
|
|
5
5
|
import "./chunk-XWVM4KPK.js";
|
|
6
6
|
|
|
7
7
|
// src/lib/responsiveness-probe.ts
|
|
@@ -710,4 +710,4 @@ export {
|
|
|
710
710
|
readAndResetSlackReplyBindingClassifications,
|
|
711
711
|
readAndResetSlackReplyTargetClassifications
|
|
712
712
|
};
|
|
713
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
713
|
+
//# sourceMappingURL=responsiveness-probe-76U4MR6U.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sessionTranscriptDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EDH4GZIW.js";
|
|
4
4
|
|
|
5
5
|
// src/lib/session-auth-dead.ts
|
|
6
6
|
import { closeSync, openSync, readSync, readdirSync, statSync } from "fs";
|
|
@@ -203,4 +203,4 @@ export {
|
|
|
203
203
|
decideSessionAuthState,
|
|
204
204
|
probeSessionAuth
|
|
205
205
|
};
|
|
206
|
-
//# sourceMappingURL=session-auth-dead-
|
|
206
|
+
//# sourceMappingURL=session-auth-dead-RLQK5ZQV.js.map
|