@integrity-labs/agt-cli 0.28.168 → 0.28.170
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-6TIVVGA7.js → chunk-25T4GQTU.js} +2 -2
- package/dist/{chunk-SDUFTHIF.js → chunk-VZP5CIVP.js} +36 -1
- package/dist/{chunk-SDUFTHIF.js.map → chunk-VZP5CIVP.js.map} +1 -1
- package/dist/{chunk-DYW5QFTU.js → chunk-ZLEYBDHR.js} +3 -3
- package/dist/{claude-pair-runtime-6ZLSPL6Z.js → claude-pair-runtime-SEFGHAXC.js} +2 -2
- package/dist/lib/manager-worker.js +18 -15
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/index.js +54 -2
- package/dist/{persistent-session-XIW3I5CQ.js → persistent-session-2QNOLKCT.js} +3 -3
- package/dist/{responsiveness-probe-7JTG6QMB.js → responsiveness-probe-4JPUYWPB.js} +3 -3
- package/package.json +1 -1
- /package/dist/{chunk-6TIVVGA7.js.map → chunk-25T4GQTU.js.map} +0 -0
- /package/dist/{chunk-DYW5QFTU.js.map → chunk-ZLEYBDHR.js.map} +0 -0
- /package/dist/{claude-pair-runtime-6ZLSPL6Z.js.map → claude-pair-runtime-SEFGHAXC.js.map} +0 -0
- /package/dist/{persistent-session-XIW3I5CQ.js.map → persistent-session-2QNOLKCT.js.map} +0 -0
- /package/dist/{responsiveness-probe-7JTG6QMB.js.map → responsiveness-probe-4JPUYWPB.js.map} +0 -0
package/dist/mcp/index.js
CHANGED
|
@@ -21368,6 +21368,31 @@ function describeAssignHumanResult(resp, email2) {
|
|
|
21368
21368
|
};
|
|
21369
21369
|
}
|
|
21370
21370
|
|
|
21371
|
+
// src/directory.ts
|
|
21372
|
+
function formatDirectoryResult(data, query) {
|
|
21373
|
+
const agents = data.agents ?? [];
|
|
21374
|
+
const people = data.people ?? [];
|
|
21375
|
+
if (agents.length === 0 && people.length === 0) {
|
|
21376
|
+
return {
|
|
21377
|
+
text: query ? `No agents or people match "${query}" in your directory.` : "No agents or people are visible in your directory."
|
|
21378
|
+
};
|
|
21379
|
+
}
|
|
21380
|
+
const agentLines = agents.map((a) => {
|
|
21381
|
+
const scope = a.same_team ? "your team" : `team ${a.team_slug}`;
|
|
21382
|
+
const assignHint = a.same_team ? `kanban_assign target_agent="${a.code_name}"` : `kanban_assign target_agent="${a.code_name}" target_team="${a.team_slug}"`;
|
|
21383
|
+
return ` \u2022 ${a.code_name} (${a.display_name}) - ${scope} [${a.team_name}] \u2192 ${assignHint}`;
|
|
21384
|
+
});
|
|
21385
|
+
const peopleLines = people.map(
|
|
21386
|
+
(p) => ` \u2022 ${p.name ?? p.email} <${p.email}> \u2192 assign_kanban_to_human assignee_email="${p.email}"`
|
|
21387
|
+
);
|
|
21388
|
+
const sections = [];
|
|
21389
|
+
if (agents.length > 0) sections.push(`Agents (${agents.length}):
|
|
21390
|
+
${agentLines.join("\n")}`);
|
|
21391
|
+
if (people.length > 0) sections.push(`People (${people.length}):
|
|
21392
|
+
${peopleLines.join("\n")}`);
|
|
21393
|
+
return { text: sections.join("\n\n") };
|
|
21394
|
+
}
|
|
21395
|
+
|
|
21371
21396
|
// src/index.ts
|
|
21372
21397
|
import { spawn } from "child_process";
|
|
21373
21398
|
var DeliveryTargetSchema = external_exports.union([
|
|
@@ -21856,9 +21881,34 @@ server.tool(
|
|
|
21856
21881
|
};
|
|
21857
21882
|
}
|
|
21858
21883
|
);
|
|
21884
|
+
server.tool(
|
|
21885
|
+
"directory_lookup",
|
|
21886
|
+
"Look up the AGENTS and PEOPLE you are allowed to see, so you can find the identifiers the assignment + messaging tools need. Returns each agent's code_name + team slug (use these as `target_agent` / `target_team` for kanban_assign) and each person's name + email (use the email as `assignee_email` for assign_kanban_to_human). Your own team is always included; other teams in your organization appear only when your org has enabled cross-team work. Pass an optional `query` to filter by name, code_name, team, or email. If someone is not in the results, you are not authorised to act on them, so do not guess identifiers.",
|
|
21887
|
+
{
|
|
21888
|
+
query: external_exports.string().trim().min(1).optional().describe("Optional case-insensitive filter on agent code_name / name / team, or person name / email.")
|
|
21889
|
+
},
|
|
21890
|
+
async (params) => {
|
|
21891
|
+
try {
|
|
21892
|
+
const data = await apiPost("/host/directory/lookup", {
|
|
21893
|
+
agent_id: AGT_AGENT_ID,
|
|
21894
|
+
// `.trim().min(1)` already rejects a whitespace-only query; the truthy
|
|
21895
|
+
// check keeps the wire body free of an empty query either way.
|
|
21896
|
+
...params.query ? { query: params.query } : {}
|
|
21897
|
+
});
|
|
21898
|
+
const { text } = formatDirectoryResult(data, params.query);
|
|
21899
|
+
return { content: [{ type: "text", text }] };
|
|
21900
|
+
} catch (err) {
|
|
21901
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
21902
|
+
return {
|
|
21903
|
+
content: [{ type: "text", text: `Could not look up the directory: ${msg}` }],
|
|
21904
|
+
isError: true
|
|
21905
|
+
};
|
|
21906
|
+
}
|
|
21907
|
+
}
|
|
21908
|
+
);
|
|
21859
21909
|
server.tool(
|
|
21860
21910
|
"kanban_assign",
|
|
21861
|
-
"Delegate a task to ANOTHER agent by placing a new card on THEIR board. Use this to hand off or route work to a teammate agent (e.g. you triage a request and route the fix to a specialist agent). This is different from kanban_add, which adds a card to YOUR OWN board. By default the target must be an agent on your OWN team. To assign across teams within your organization, also pass `target_team` (the other team's slug) \u2014 this only works if your org has enabled cross-team assignment and a peer grant links the two teams; otherwise it reads as not-found. When the target finishes, you get a completion notice back on your board.",
|
|
21911
|
+
"Delegate a task to ANOTHER agent by placing a new card on THEIR board. Use this to hand off or route work to a teammate agent (e.g. you triage a request and route the fix to a specialist agent). This is different from kanban_add, which adds a card to YOUR OWN board. By default the target must be an agent on your OWN team. To assign across teams within your organization, also pass `target_team` (the other team's slug) \u2014 this only works if your org has enabled cross-team assignment and a peer grant links the two teams; otherwise it reads as not-found. When the target finishes, you get a completion notice back on your board. Don't know the agent's code_name or team slug? Call directory_lookup first to find them.",
|
|
21862
21912
|
{
|
|
21863
21913
|
target_agent: external_exports.string().describe(
|
|
21864
21914
|
"The teammate to assign to: their agent code_name (kebab-case) or agent UUID. On your own team unless target_team is also set."
|
|
@@ -21913,7 +21963,7 @@ server.tool(
|
|
|
21913
21963
|
);
|
|
21914
21964
|
server.tool(
|
|
21915
21965
|
"assign_kanban_to_human",
|
|
21916
|
-
`Assign a task to a HUMAN teammate (a person on your team), not an agent. Use this to hand work to a person - e.g. "ask Brad to approve the contract" or routing something only a human can do. Identify them by their email. The task appears on their personal "My Tasks" page, and if your org has it enabled they also get a notification. This is different from kanban_assign (which targets another AGENT) and kanban_add (your own board). If your team hasn't enabled this, you'll get a clear message - tell your operator rather than retrying.`,
|
|
21966
|
+
`Assign a task to a HUMAN teammate (a person on your team), not an agent. Use this to hand work to a person - e.g. "ask Brad to approve the contract" or routing something only a human can do. Identify them by their email. The task appears on their personal "My Tasks" page, and if your org has it enabled they also get a notification. This is different from kanban_assign (which targets another AGENT) and kanban_add (your own board). If your team hasn't enabled this, you'll get a clear message - tell your operator rather than retrying. Don't know the person's email? Call directory_lookup first to find people you can assign to.`,
|
|
21917
21967
|
{
|
|
21918
21968
|
assignee_email: external_exports.string().describe("The teammate's email. Must be a person in your team's organization."),
|
|
21919
21969
|
title: external_exports.string().describe("Task title (max 200 chars)"),
|
|
@@ -23059,6 +23109,8 @@ var LOCAL_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
|
23059
23109
|
"kanban_done",
|
|
23060
23110
|
"kanban_assign",
|
|
23061
23111
|
"assign_kanban_to_human",
|
|
23112
|
+
// ENG-6953: agent + people directory lookup (always registered locally).
|
|
23113
|
+
"directory_lookup",
|
|
23062
23114
|
"status_standup",
|
|
23063
23115
|
"status_update",
|
|
23064
23116
|
"drift_report",
|
|
@@ -34,8 +34,8 @@ import {
|
|
|
34
34
|
writeDirectChatSessionState,
|
|
35
35
|
writeEgressAllowlist,
|
|
36
36
|
writePersistentClaudeWrapper
|
|
37
|
-
} from "./chunk-
|
|
38
|
-
import "./chunk-
|
|
37
|
+
} from "./chunk-25T4GQTU.js";
|
|
38
|
+
import "./chunk-VZP5CIVP.js";
|
|
39
39
|
import "./chunk-XWVM4KPK.js";
|
|
40
40
|
export {
|
|
41
41
|
EGRESS_BASELINE_DOMAINS,
|
|
@@ -74,4 +74,4 @@ export {
|
|
|
74
74
|
writeEgressAllowlist,
|
|
75
75
|
writePersistentClaudeWrapper
|
|
76
76
|
};
|
|
77
|
-
//# sourceMappingURL=persistent-session-
|
|
77
|
+
//# sourceMappingURL=persistent-session-2QNOLKCT.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-25T4GQTU.js";
|
|
4
|
+
import "./chunk-VZP5CIVP.js";
|
|
5
5
|
import "./chunk-XWVM4KPK.js";
|
|
6
6
|
|
|
7
7
|
// src/lib/responsiveness-probe.ts
|
|
@@ -304,4 +304,4 @@ export {
|
|
|
304
304
|
readAndResetChannelDeflections,
|
|
305
305
|
readAndResetChannelLaneClassifications
|
|
306
306
|
};
|
|
307
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
307
|
+
//# sourceMappingURL=responsiveness-probe-4JPUYWPB.js.map
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|