@integrity-labs/agt-cli 0.28.679 → 0.28.680
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-CLNFPTVG.js → chunk-4JTDWOBW.js} +4 -4
- package/dist/{chunk-GDT7JHV6.js → chunk-OOFJUWMT.js} +77 -17
- package/dist/chunk-OOFJUWMT.js.map +1 -0
- package/dist/{chunk-HLJKOJVJ.js → chunk-ZKNKHAHX.js} +2 -2
- package/dist/{claude-pair-runtime-5UDCBIB7.js → claude-pair-runtime-HPCXQDVY.js} +2 -2
- package/dist/lib/manager-worker.js +13 -13
- package/dist/mcp/direct-chat-channel.js +76 -16
- package/dist/mcp/index.js +76 -16
- package/dist/mcp/origami.js +76 -16
- package/dist/mcp/slack-channel.js +76 -16
- package/dist/mcp/telegram-channel.js +76 -16
- package/dist/{persistent-session-GQZQWMJU.js → persistent-session-OQ7MFVEH.js} +3 -3
- package/dist/{responsiveness-probe-QKKOHDHF.js → responsiveness-probe-MDL53OT2.js} +3 -3
- package/dist/{session-auth-dead-CUEBDRZU.js → session-auth-dead-4OJ2XLH4.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-GDT7JHV6.js.map +0 -1
- /package/dist/{chunk-CLNFPTVG.js.map → chunk-4JTDWOBW.js.map} +0 -0
- /package/dist/{chunk-HLJKOJVJ.js.map → chunk-ZKNKHAHX.js.map} +0 -0
- /package/dist/{claude-pair-runtime-5UDCBIB7.js.map → claude-pair-runtime-HPCXQDVY.js.map} +0 -0
- /package/dist/{persistent-session-GQZQWMJU.js.map → persistent-session-OQ7MFVEH.js.map} +0 -0
- /package/dist/{responsiveness-probe-QKKOHDHF.js.map → responsiveness-probe-MDL53OT2.js.map} +0 -0
- /package/dist/{session-auth-dead-CUEBDRZU.js.map → session-auth-dead-4OJ2XLH4.js.map} +0 -0
package/dist/bin/agt.js
CHANGED
|
@@ -40,10 +40,10 @@ import {
|
|
|
40
40
|
success,
|
|
41
41
|
table,
|
|
42
42
|
warn
|
|
43
|
-
} from "../chunk-
|
|
43
|
+
} from "../chunk-4JTDWOBW.js";
|
|
44
44
|
import {
|
|
45
45
|
readDirectChatSessionState
|
|
46
|
-
} from "../chunk-
|
|
46
|
+
} from "../chunk-ZKNKHAHX.js";
|
|
47
47
|
import {
|
|
48
48
|
AnchorSessionClient,
|
|
49
49
|
CHANNEL_REGISTRY,
|
|
@@ -73,7 +73,7 @@ import {
|
|
|
73
73
|
requiredMcpWildcard,
|
|
74
74
|
resolveChannels,
|
|
75
75
|
serializeManifestForSlackCli
|
|
76
|
-
} from "../chunk-
|
|
76
|
+
} from "../chunk-OOFJUWMT.js";
|
|
77
77
|
import "../chunk-XWVM4KPK.js";
|
|
78
78
|
|
|
79
79
|
// src/bin/agt.ts
|
|
@@ -4909,7 +4909,7 @@ import { execFileSync, execSync } from "child_process";
|
|
|
4909
4909
|
import { existsSync as existsSync10, realpathSync as realpathSync2 } from "fs";
|
|
4910
4910
|
import chalk18 from "chalk";
|
|
4911
4911
|
import ora16 from "ora";
|
|
4912
|
-
var cliVersion = true ? "0.28.
|
|
4912
|
+
var cliVersion = true ? "0.28.680" : "dev";
|
|
4913
4913
|
async function fetchLatestVersion() {
|
|
4914
4914
|
const host2 = getHost();
|
|
4915
4915
|
if (!host2) return null;
|
|
@@ -6089,7 +6089,7 @@ function handleError(err) {
|
|
|
6089
6089
|
}
|
|
6090
6090
|
|
|
6091
6091
|
// src/bin/agt.ts
|
|
6092
|
-
var cliVersion2 = true ? "0.28.
|
|
6092
|
+
var cliVersion2 = true ? "0.28.680" : "dev";
|
|
6093
6093
|
var program = new Command();
|
|
6094
6094
|
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");
|
|
6095
6095
|
program.hook("preAction", async (thisCommand, actionCommand) => {
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
parseEnvFileEntries,
|
|
13
13
|
parseEnvIntegrations,
|
|
14
14
|
shellQuote
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-ZKNKHAHX.js";
|
|
16
16
|
import {
|
|
17
17
|
BIND_FAILURE_QUARANTINE_THRESHOLD,
|
|
18
18
|
INTEGRATIONS_SECTION_END,
|
|
@@ -59,7 +59,7 @@ import {
|
|
|
59
59
|
resolveConnectivityProbe,
|
|
60
60
|
worseConnectivityOutcome,
|
|
61
61
|
wrapScheduledTaskPrompt
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-OOFJUWMT.js";
|
|
63
63
|
import {
|
|
64
64
|
parsePsRows
|
|
65
65
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -6445,7 +6445,7 @@ function exchangeFailureKind(err) {
|
|
|
6445
6445
|
}
|
|
6446
6446
|
|
|
6447
6447
|
// src/lib/api-client.ts
|
|
6448
|
-
var agtCliVersion = true ? "0.28.
|
|
6448
|
+
var agtCliVersion = true ? "0.28.680" : "dev";
|
|
6449
6449
|
var lastConfigHash = null;
|
|
6450
6450
|
function setConfigHash(hash) {
|
|
6451
6451
|
lastConfigHash = hash && hash.length > 0 ? hash : null;
|
|
@@ -10187,4 +10187,4 @@ export {
|
|
|
10187
10187
|
managerInstallSystemUnitCommand,
|
|
10188
10188
|
managerUninstallSystemUnitCommand
|
|
10189
10189
|
};
|
|
10190
|
-
//# sourceMappingURL=chunk-
|
|
10190
|
+
//# sourceMappingURL=chunk-4JTDWOBW.js.map
|
|
@@ -4964,14 +4964,15 @@ var FLAG_REGISTRY = [
|
|
|
4964
4964
|
// hand-written process.env gate) — same posture as memory-extraction /
|
|
4965
4965
|
// tool-call-audit above. Gives a per-host canary before the DB flag exists.
|
|
4966
4966
|
envVar: "AGT_SECRET_FILES_TMPFS_ENABLED",
|
|
4967
|
-
//
|
|
4968
|
-
//
|
|
4969
|
-
//
|
|
4970
|
-
//
|
|
4971
|
-
//
|
|
4972
|
-
//
|
|
4973
|
-
//
|
|
4974
|
-
|
|
4967
|
+
// The real published build that carries the manager reader + core writer,
|
|
4968
|
+
// replacing the deliberately-unreachable `99.0.0` this flag shipped with.
|
|
4969
|
+
// Verified against the tarball (`npm pack @integrity-labs/agt-cli@0.28.678`):
|
|
4970
|
+
// `setSecretFileTmpfsBacking` is present in package/dist/lib/manager-worker.js
|
|
4971
|
+
// and the `secret-files-tmpfs` key ships in the bundle. Auto-publish patch-
|
|
4972
|
+
// bumps from main, so if a CLI-touching PR landed between the ENG-9348 merge
|
|
4973
|
+
// and this one the real cut is higher than 0.28.678 and reach under-reports;
|
|
4974
|
+
// re-verify before flipping the flag on for a canary (ENG-8575/ENG-9350).
|
|
4975
|
+
since: "0.28.678"
|
|
4975
4976
|
},
|
|
4976
4977
|
{
|
|
4977
4978
|
key: "memory-file-tombstones",
|
|
@@ -5755,6 +5756,17 @@ var FLAG_REGISTRY = [
|
|
|
5755
5756
|
// control that does nothing, which is the ENG-8303 class exactly.
|
|
5756
5757
|
// enforce arms automated downtime on a customer's production host.
|
|
5757
5758
|
sensitive: true
|
|
5759
|
+
},
|
|
5760
|
+
{
|
|
5761
|
+
key: "live-meeting-advisor",
|
|
5762
|
+
description: "Live meeting advising in Ninja Notes (ENG-9381). When ON for an org, a person recording a meeting on the Mac may arm an agent to watch it in flight: audio chunks stream to POST /notes/live/:id/chunks, a server-side Haiku vet decides moment by moment whether to escalate, and escalations reach the agent in a server-minted chat thread. Gates the CAPABILITY, not a surface: the refusal is in startLiveAdvisorSession, so a client that ignores the flag still cannot open a session, and GET /notes/destinations reports the same answer as advisor_enabled so the app can skip the arming modal entirely. Boolean gate; ships dark. OFF NEVER COSTS THE RECORDING. An unentitled org \u2014 or a flag read that fails \u2014 costs the advisor only; the microphone still starts and the note is still transcribed and delivered. That direction is deliberate: the user pressed Record and a recording is what they are owed, while arming on a failed read would spend money per minute on a session nobody confirmed. Deliberately NO envVar. This is an org-scoped gate, and an envVar is highest-precedence per ADR-0022 \u2014 a literal in sst.config.ts would pin every stage and make the admin control do nothing, the ENG-8303 class exactly.",
|
|
5763
|
+
flagType: "boolean",
|
|
5764
|
+
defaultValue: false,
|
|
5765
|
+
// Turning it ON arms a per-minute-metered capability AND starts streaming
|
|
5766
|
+
// meeting content to a server-side vet. Both halves are the deliberate,
|
|
5767
|
+
// audited decision ADR-0022 §4 reserves confirmation for — same treatment as
|
|
5768
|
+
// agent-hours-billing-enabled.
|
|
5769
|
+
sensitive: true
|
|
5758
5770
|
}
|
|
5759
5771
|
];
|
|
5760
5772
|
var REGISTRY_BY_KEY = new Map(FLAG_REGISTRY.map((definition) => [definition.key, definition]));
|
|
@@ -8076,6 +8088,15 @@ var MARKUP_BRIDGE_SCRIPT = `<script>(function(){
|
|
|
8076
8088
|
// long note on the window-capture click handler for why this is a mode and
|
|
8077
8089
|
// not just always-on.
|
|
8078
8090
|
var editMode = false;
|
|
8091
|
+
// ENG-9383: the ONE gate every edit-entry path asks. It exists because the
|
|
8092
|
+
// last time a path was added, the old ones did not come with it: ENG-8477
|
|
8093
|
+
// introduced editMode for the deep-probe handlers and left the ENG-6821
|
|
8094
|
+
// direct click/hover on an arming-only check, so text stayed editable with
|
|
8095
|
+
// the toggle off and the button gated one of two paths. A funnel is the fix
|
|
8096
|
+
// for that class of bug; adding the term twice is only the fix for this
|
|
8097
|
+
// instance of it. A fifth handler cannot forget the mode.
|
|
8098
|
+
function canEdit(){ return editEnabled && editMode && !editing; }
|
|
8099
|
+
var hoverCued = []; // ENG-9383: elements currently wearing the mouseover cue
|
|
8079
8100
|
|
|
8080
8101
|
// Element-child indices from <body> down to el. Counts ELEMENT children only
|
|
8081
8102
|
// (children, not childNodes), matching how the server walks source_html; our
|
|
@@ -8269,14 +8290,48 @@ var MARKUP_BRIDGE_SCRIPT = `<script>(function(){
|
|
|
8269
8290
|
// Hover affordance (only when armed and not mid-edit). Highlight leaves AND
|
|
8270
8291
|
// inline-only containers (their bare text is per-node editable, ENG-6856).
|
|
8271
8292
|
document.addEventListener('mouseover', function(e){
|
|
8272
|
-
if(!
|
|
8273
|
-
if(editable(el)||inlineOnlyEditable(el)){
|
|
8293
|
+
if(!canEdit()) return; var el=e.target;
|
|
8294
|
+
if(editable(el)||inlineOnlyEditable(el)){
|
|
8295
|
+
// ENG-9383: remember what the author's cursor was before we overwrite it.
|
|
8296
|
+
// Blanking it on the way out would delete an inline cursor the artefact
|
|
8297
|
+
// set itself; '' is a legitimate saved value meaning "there was none".
|
|
8298
|
+
if(el.__alCur===undefined) el.__alCur = el.style.cursor || '';
|
|
8299
|
+
el.style.cursor='text'; el.style.outline=el.style.outline||'1px dashed rgba(110,231,183,.6)'; el.__alHover=1; hoverCued.push(el);
|
|
8300
|
+
}
|
|
8274
8301
|
});
|
|
8275
8302
|
document.addEventListener('mouseout', function(e){
|
|
8276
|
-
var el=e.target; if(el&&el.__alHover&&el!==editing){ el.style.outline=''; el.__alHover=0; }
|
|
8303
|
+
var el=e.target; if(el&&el.__alHover&&el!==editing){ el.style.outline=''; restoreCursor(el); el.__alHover=0; dropHoverCue(el); }
|
|
8277
8304
|
});
|
|
8305
|
+
// ENG-9383 (CodeRabbit on #4956): the cue is an outline AND an I-beam cursor.
|
|
8306
|
+
// Clearing only the outline leaves the text still saying "you can type here"
|
|
8307
|
+
// on a page that will now refuse the click - the same misdirection this ticket
|
|
8308
|
+
// is about, one property over.
|
|
8309
|
+
function restoreCursor(el){
|
|
8310
|
+
if(el.__alCur!==undefined){ try{ el.style.cursor=el.__alCur; }catch(e){} el.__alCur=undefined; }
|
|
8311
|
+
}
|
|
8312
|
+
// Keep hoverCued bounded. Without this it grows once per hovered element for
|
|
8313
|
+
// the life of the page and pins every one of them against GC - a list that
|
|
8314
|
+
// only ever empties when the viewer toggles the mode off is a leak on any page
|
|
8315
|
+
// nobody toggles.
|
|
8316
|
+
function dropHoverCue(el){
|
|
8317
|
+
var i=hoverCued.indexOf(el); if(i!==-1) hoverCued.splice(i,1);
|
|
8318
|
+
}
|
|
8319
|
+
// ENG-9383: drop every outline the mouseover cue left behind, without waiting
|
|
8320
|
+
// for a mouseout that may never come - the mode can go off while the pointer is
|
|
8321
|
+
// parked on the text, and then the artefact wears a dashed "editable" outline
|
|
8322
|
+
// on a page where you no longer can. Tracked in a list rather than queried back
|
|
8323
|
+
// out of the DOM: more than one element can carry the cue if the pointer moved
|
|
8324
|
+
// between mouseover and mouseout, and the bridge should not depend on a
|
|
8325
|
+
// selector matching an inline style it wrote.
|
|
8326
|
+
function clearHoverCues(){
|
|
8327
|
+
for(var i=0;i<hoverCued.length;i++){
|
|
8328
|
+
var el=hoverCued[i];
|
|
8329
|
+
if(el && el.__alHover && el!==editing){ try{ el.style.outline=''; }catch(e){} restoreCursor(el); el.__alHover=0; }
|
|
8330
|
+
}
|
|
8331
|
+
hoverCued.length=0;
|
|
8332
|
+
}
|
|
8278
8333
|
document.addEventListener('click', function(e){
|
|
8279
|
-
if(!
|
|
8334
|
+
if(!canEdit()) return;
|
|
8280
8335
|
var sel=document.getSelection(); if(sel && String(sel).trim()) return; // a selection => comment flow
|
|
8281
8336
|
var el=e.target;
|
|
8282
8337
|
if(editable(el)){ e.preventDefault(); e.stopPropagation(); startEdit(el); return; }
|
|
@@ -8320,7 +8375,7 @@ var MARKUP_BRIDGE_SCRIPT = `<script>(function(){
|
|
|
8320
8375
|
// Deliberately general: nothing here knows about .clickzone or any class name.
|
|
8321
8376
|
// It fixes any artefact that covers its own content.
|
|
8322
8377
|
window.addEventListener('click', function(e){
|
|
8323
|
-
if(!
|
|
8378
|
+
if(!canEdit()) return;
|
|
8324
8379
|
var sel=document.getSelection(); if(sel && String(sel).trim()) return; // selection => comment flow
|
|
8325
8380
|
var t=e.target;
|
|
8326
8381
|
// Our own toolbar (Save/Cancel) must keep its clicks.
|
|
@@ -8378,7 +8433,7 @@ var MARKUP_BRIDGE_SCRIPT = `<script>(function(){
|
|
|
8378
8433
|
hoverEl=null;
|
|
8379
8434
|
}
|
|
8380
8435
|
document.addEventListener('mousemove', function(e){
|
|
8381
|
-
if(!
|
|
8436
|
+
if(!canEdit()){ clearDeepHover(); return; }
|
|
8382
8437
|
var t=e.target;
|
|
8383
8438
|
if(editable(t)||inlineOnlyEditable(t)){ clearDeepHover(); return; }
|
|
8384
8439
|
var now=Date.now(); if(now-hoverProbeAt<80) return; hoverProbeAt=now;
|
|
@@ -8478,12 +8533,17 @@ var MARKUP_BRIDGE_SCRIPT = `<script>(function(){
|
|
|
8478
8533
|
var d=e.data; if(!d || d['${MARKUP_CONTROL_MARKER}']!==true) return;
|
|
8479
8534
|
if(d.type==='enable-edit'){ editEnabled=true; }
|
|
8480
8535
|
else if(d.type==='enable-comment'){ commentEnabled=true; }
|
|
8481
|
-
// ENG-8477: the viewer toggled Edit
|
|
8536
|
+
// ENG-8477: the viewer toggled Edit mode in the shell. Turning it OFF must
|
|
8482
8537
|
// also close anything open and drop the hover cue, or the artefact is left
|
|
8483
8538
|
// wearing our outlines with no way to clear them.
|
|
8539
|
+
// ENG-9383: clearDeepHover() only knows the deep-probe path's outline. The
|
|
8540
|
+
// ENG-6821 mouseover path marks its own element with __alHover and relies on
|
|
8541
|
+
// mouseout to undo it - which never fires if the pointer is still sitting on
|
|
8542
|
+
// the text when the mode goes off, leaving a dashed "you can edit this"
|
|
8543
|
+
// outline on a page where you now cannot. Clear both.
|
|
8484
8544
|
else if(d.type==='set-edit-mode'){
|
|
8485
8545
|
editMode = !!d.on;
|
|
8486
|
-
if(!editMode){ if(editing) endEdit(false); clearDeepHover(); }
|
|
8546
|
+
if(!editMode){ if(editing) endEdit(false); clearDeepHover(); clearHoverCues(); }
|
|
8487
8547
|
}
|
|
8488
8548
|
else if(d.type==='edit-result'){
|
|
8489
8549
|
if(d.ok){ /* republish hot-swaps the iframe; nothing to do */ }
|
|
@@ -12546,4 +12606,4 @@ export {
|
|
|
12546
12606
|
minutesSinceLocalMidnight,
|
|
12547
12607
|
peekCurrentSession
|
|
12548
12608
|
};
|
|
12549
|
-
//# sourceMappingURL=chunk-
|
|
12609
|
+
//# sourceMappingURL=chunk-OOFJUWMT.js.map
|