@integrity-labs/agt-cli 0.12.9 → 0.14.0
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 +3 -3
- package/dist/{chunk-ZFTZDO5E.js → chunk-Y2ZGJIXI.js} +26 -3
- package/dist/chunk-Y2ZGJIXI.js.map +1 -0
- package/dist/lib/manager-worker.js +339 -37
- package/dist/lib/manager-worker.js.map +1 -1
- package/mcp/direct-chat-channel.js +1 -0
- package/mcp/slack-channel.js +47 -5
- package/mcp/telegram-channel.js +1 -0
- package/package.json +1 -1
- package/dist/chunk-ZFTZDO5E.js.map +0 -1
package/dist/bin/agt.js
CHANGED
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
resolveChannels,
|
|
33
33
|
serializeManifestForSlackCli,
|
|
34
34
|
setActiveTeam
|
|
35
|
-
} from "../chunk-
|
|
35
|
+
} from "../chunk-Y2ZGJIXI.js";
|
|
36
36
|
|
|
37
37
|
// src/bin/agt.ts
|
|
38
38
|
import { join as join11 } from "path";
|
|
@@ -3717,7 +3717,7 @@ import { execFileSync, execSync } from "child_process";
|
|
|
3717
3717
|
import { existsSync as existsSync5, realpathSync } from "fs";
|
|
3718
3718
|
import chalk20 from "chalk";
|
|
3719
3719
|
import ora15 from "ora";
|
|
3720
|
-
var cliVersion = true ? "0.
|
|
3720
|
+
var cliVersion = true ? "0.14.0" : "dev";
|
|
3721
3721
|
async function fetchLatestVersion() {
|
|
3722
3722
|
const host2 = getHost();
|
|
3723
3723
|
if (!host2) return null;
|
|
@@ -4166,7 +4166,7 @@ function handleError(err) {
|
|
|
4166
4166
|
}
|
|
4167
4167
|
|
|
4168
4168
|
// src/bin/agt.ts
|
|
4169
|
-
var cliVersion2 = true ? "0.
|
|
4169
|
+
var cliVersion2 = true ? "0.14.0" : "dev";
|
|
4170
4170
|
var program = new Command();
|
|
4171
4171
|
program.name("agt").description("Augmented CLI \u2014 agent provisioning and management").version(cliVersion2).option("--json", "Emit machine-readable JSON output (suppress spinners and colors)").option("--skip-update-check", "Skip the automatic update check on startup");
|
|
4172
4172
|
program.hook("preAction", (thisCommand) => {
|
|
@@ -9,6 +9,8 @@ var EXECUTION_PREAMBLE = [
|
|
|
9
9
|
"\u2022 Do not announce what you are about to do. Just do it and produce the output.",
|
|
10
10
|
'\u2022 The recipient sees ONLY your final text response \u2014 intermediate tool calls, files you wrote, and prior turns do NOT reach them. If the task asks for a brief, report, summary, or any deliverable, put the FULL content verbatim in your final response. Do not reference "above", "attached", or earlier output.',
|
|
11
11
|
"\u2022 Do not expose internal bookkeeping to the recipient \u2014 memory files, saved paths, kanban status, or meta-notes about how the work was done. Only the deliverable content belongs in your response.",
|
|
12
|
+
"\u2022 Exception: if your output references a specific kanban card (for example, you just completed, updated, or made progress on a tracked item), include the deep-link URL that the kanban tool returned alongside the card name. The link is part of the deliverable \u2014 it lets the user jump straight to the card \u2014 not meta-bookkeeping.",
|
|
13
|
+
'\u2022 Conditional tasks: if the instruction contains a clause like "DO NOT notify me unless X", "only message me if Y", or "skip if nothing to report", and that condition is NOT met for this run, your final response must be EXACTLY `<no-delivery/>` on a single line \u2014 nothing else, no other text, no trailing punctuation, no "Nothing urgent"-style summary. The delivery gateway recognises that literal token and suppresses the send. Writing "Nothing urgent", "No updates", "All quiet", or similar filler messages in place of `<no-delivery/>` will deliver those words to the user and violates the instruction.',
|
|
12
14
|
"\u2022 Do not over-deliver. Match the scope and length of the request. A yes/no question gets a one-line answer; a brief request gets the brief, not a dissertation. Long rambling messages are not useful \u2014 cut any section, caveat, or restatement that does not directly answer the instruction.",
|
|
13
15
|
"",
|
|
14
16
|
"Instruction:"
|
|
@@ -3330,6 +3332,7 @@ ${sections}`
|
|
|
3330
3332
|
const botToken = config["bot_token"];
|
|
3331
3333
|
const appToken = config["app_token"];
|
|
3332
3334
|
const threadAutoFollow = config["thread_auto_follow"];
|
|
3335
|
+
const channelResponseMode = config["channel_response_mode"];
|
|
3333
3336
|
if (botToken) {
|
|
3334
3337
|
const localSlackChannel = join4(getHomeDir3(), ".augmented", "_mcp", "slack-channel.js");
|
|
3335
3338
|
const slackEntry = {
|
|
@@ -3339,6 +3342,10 @@ ${sections}`
|
|
|
3339
3342
|
SLACK_BOT_TOKEN: botToken,
|
|
3340
3343
|
...appToken ? { SLACK_APP_TOKEN: appToken } : {},
|
|
3341
3344
|
...threadAutoFollow && threadAutoFollow !== "off" ? { SLACK_THREAD_AUTO_FOLLOW: threadAutoFollow } : {},
|
|
3345
|
+
// ENG-4464: only emit when non-default — `mention_only` is the
|
|
3346
|
+
// default in slack-response-mode.ts, so omitting keeps the env
|
|
3347
|
+
// block tidy for the common case.
|
|
3348
|
+
...channelResponseMode && channelResponseMode !== "mention_only" ? { SLACK_CHANNEL_RESPONSE_MODE: channelResponseMode } : {},
|
|
3342
3349
|
// Scopes slack.upload_file uploads to the agent's project dir.
|
|
3343
3350
|
AGT_AGENT_CODE_NAME: codeName
|
|
3344
3351
|
}
|
|
@@ -3391,6 +3398,8 @@ ${sections}`
|
|
|
3391
3398
|
const localSlackChannel = join4(getHomeDir3(), ".augmented", "_mcp", "slack-channel.js");
|
|
3392
3399
|
const slackThreadAutoFollow = config["thread_auto_follow"];
|
|
3393
3400
|
const slackAutoFollowEnv = slackThreadAutoFollow && slackThreadAutoFollow !== "off" ? { SLACK_THREAD_AUTO_FOLLOW: slackThreadAutoFollow } : {};
|
|
3401
|
+
const slackChannelResponseMode = config["channel_response_mode"];
|
|
3402
|
+
const slackResponseModeEnv = slackChannelResponseMode && slackChannelResponseMode !== "mention_only" ? { SLACK_CHANNEL_RESPONSE_MODE: slackChannelResponseMode } : {};
|
|
3394
3403
|
if (isPersistent && existsSync4(localSlackChannel)) {
|
|
3395
3404
|
mcpServers["slack"] = {
|
|
3396
3405
|
command: "node",
|
|
@@ -3398,7 +3407,8 @@ ${sections}`
|
|
|
3398
3407
|
env: {
|
|
3399
3408
|
SLACK_BOT_TOKEN: botToken,
|
|
3400
3409
|
...appToken ? { SLACK_APP_TOKEN: appToken } : {},
|
|
3401
|
-
...slackAutoFollowEnv
|
|
3410
|
+
...slackAutoFollowEnv,
|
|
3411
|
+
...slackResponseModeEnv
|
|
3402
3412
|
}
|
|
3403
3413
|
};
|
|
3404
3414
|
} else {
|
|
@@ -3408,7 +3418,8 @@ ${sections}`
|
|
|
3408
3418
|
env: {
|
|
3409
3419
|
SLACK_BOT_TOKEN: botToken,
|
|
3410
3420
|
...appToken ? { SLACK_APP_TOKEN: appToken } : {},
|
|
3411
|
-
...slackAutoFollowEnv
|
|
3421
|
+
...slackAutoFollowEnv,
|
|
3422
|
+
...slackResponseModeEnv
|
|
3412
3423
|
}
|
|
3413
3424
|
};
|
|
3414
3425
|
}
|
|
@@ -4780,6 +4791,17 @@ function validateHeadings(body, requiredHeadings = REQUIRED_CHARTER_HEADINGS) {
|
|
|
4780
4791
|
return requiredHeadings.filter((h) => !found.has(h));
|
|
4781
4792
|
}
|
|
4782
4793
|
|
|
4794
|
+
// ../../packages/core/dist/scheduled-tasks/suppress.js
|
|
4795
|
+
var SUPPRESS_SENTINEL = "<no-delivery/>";
|
|
4796
|
+
function isSuppressOutput(output) {
|
|
4797
|
+
if (output == null)
|
|
4798
|
+
return true;
|
|
4799
|
+
const trimmed = output.trim();
|
|
4800
|
+
if (trimmed.length === 0)
|
|
4801
|
+
return true;
|
|
4802
|
+
return trimmed === SUPPRESS_SENTINEL;
|
|
4803
|
+
}
|
|
4804
|
+
|
|
4783
4805
|
// ../../packages/core/dist/schemas/validators.js
|
|
4784
4806
|
import Ajv2020 from "ajv/dist/2020.js";
|
|
4785
4807
|
import addFormats from "ajv-formats";
|
|
@@ -6361,6 +6383,7 @@ export {
|
|
|
6361
6383
|
DEPLOYMENT_TEMPLATES,
|
|
6362
6384
|
getTemplate,
|
|
6363
6385
|
detectDrift,
|
|
6386
|
+
isSuppressOutput,
|
|
6364
6387
|
provision
|
|
6365
6388
|
};
|
|
6366
|
-
//# sourceMappingURL=chunk-
|
|
6389
|
+
//# sourceMappingURL=chunk-Y2ZGJIXI.js.map
|