@integrity-labs/agt-cli 0.27.33 → 0.27.35
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-IQP6CNDB.js → chunk-JPLA6ZSD.js} +59 -5
- package/dist/chunk-JPLA6ZSD.js.map +1 -0
- package/dist/{chunk-MV4WLCUO.js → chunk-KR2MENCK.js} +2 -2
- package/dist/{chunk-NZWPRYJO.js → chunk-VAZATEYS.js} +3 -1
- package/dist/{chunk-NZWPRYJO.js.map → chunk-VAZATEYS.js.map} +1 -1
- package/dist/{claude-pair-runtime-JRG2D5KQ.js → claude-pair-runtime-FP6LQJ52.js} +2 -2
- package/dist/lib/manager-worker.js +7 -7
- package/dist/mcp/index.js +102 -53
- package/dist/{persistent-session-ZJDQHJL3.js → persistent-session-M3YSRKIF.js} +3 -3
- package/dist/{responsiveness-probe-XQFRB2DB.js → responsiveness-probe-C3G5RPUZ.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-IQP6CNDB.js.map +0 -1
- /package/dist/{chunk-MV4WLCUO.js.map → chunk-KR2MENCK.js.map} +0 -0
- /package/dist/{claude-pair-runtime-JRG2D5KQ.js.map → claude-pair-runtime-FP6LQJ52.js.map} +0 -0
- /package/dist/{persistent-session-ZJDQHJL3.js.map → persistent-session-M3YSRKIF.js.map} +0 -0
- /package/dist/{responsiveness-probe-XQFRB2DB.js.map → responsiveness-probe-C3G5RPUZ.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-M3YSRKIF.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-FP6LQJ52.js.map
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
provisionOrientHook,
|
|
16
16
|
provisionStopHook,
|
|
17
17
|
requireHost
|
|
18
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-JPLA6ZSD.js";
|
|
19
19
|
import {
|
|
20
20
|
getProjectDir as getProjectDir2,
|
|
21
21
|
getReadyTasks,
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
stopAllSessionsAndWait,
|
|
47
47
|
stopPersistentSession,
|
|
48
48
|
takeZombieDetection
|
|
49
|
-
} from "../chunk-
|
|
49
|
+
} from "../chunk-KR2MENCK.js";
|
|
50
50
|
import {
|
|
51
51
|
KANBAN_CHECK_COMMAND,
|
|
52
52
|
appendDmFooter,
|
|
@@ -69,7 +69,7 @@ import {
|
|
|
69
69
|
resolveConnectivityProbe,
|
|
70
70
|
resolveDmTarget,
|
|
71
71
|
wrapScheduledTaskPrompt
|
|
72
|
-
} from "../chunk-
|
|
72
|
+
} from "../chunk-VAZATEYS.js";
|
|
73
73
|
import {
|
|
74
74
|
parsePsRows,
|
|
75
75
|
reapOrphanChannelMcps
|
|
@@ -3344,7 +3344,7 @@ var cachedFrameworkVersion = null;
|
|
|
3344
3344
|
var lastVersionCheckAt = 0;
|
|
3345
3345
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
3346
3346
|
var lastResponsivenessProbeAt = 0;
|
|
3347
|
-
var agtCliVersion = true ? "0.27.
|
|
3347
|
+
var agtCliVersion = true ? "0.27.35" : "dev";
|
|
3348
3348
|
function resolveBrewPath(execFileSync4) {
|
|
3349
3349
|
try {
|
|
3350
3350
|
const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -4395,7 +4395,7 @@ async function pollCycle() {
|
|
|
4395
4395
|
}
|
|
4396
4396
|
try {
|
|
4397
4397
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
4398
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
4398
|
+
const { collectDiagnostics } = await import("../persistent-session-M3YSRKIF.js");
|
|
4399
4399
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
4400
4400
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
|
|
4401
4401
|
let tailscaleHostname;
|
|
@@ -4463,7 +4463,7 @@ async function pollCycle() {
|
|
|
4463
4463
|
const {
|
|
4464
4464
|
collectResponsivenessProbes,
|
|
4465
4465
|
getResponsivenessIntervalMs
|
|
4466
|
-
} = await import("../responsiveness-probe-
|
|
4466
|
+
} = await import("../responsiveness-probe-C3G5RPUZ.js");
|
|
4467
4467
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
4468
4468
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
4469
4469
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -8508,7 +8508,7 @@ async function processClaudePairSessions(agents) {
|
|
|
8508
8508
|
killPairSession,
|
|
8509
8509
|
pairTmuxSession,
|
|
8510
8510
|
finalizeClaudePairOnboarding
|
|
8511
|
-
} = await import("../claude-pair-runtime-
|
|
8511
|
+
} = await import("../claude-pair-runtime-FP6LQJ52.js");
|
|
8512
8512
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
8513
8513
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
8514
8514
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
package/dist/mcp/index.js
CHANGED
|
@@ -22317,6 +22317,10 @@ var LOCAL_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
|
22317
22317
|
"dashboards_request_refresh",
|
|
22318
22318
|
"dashboards_pending_refreshes",
|
|
22319
22319
|
"dashboards_persist_widget",
|
|
22320
|
+
"artefacts_list",
|
|
22321
|
+
"artefacts_get",
|
|
22322
|
+
"artefacts_get_source_chunk",
|
|
22323
|
+
// ADR-0016 deprecated aliases (removed before ADR-0017 reuses projects_*).
|
|
22320
22324
|
"projects_list",
|
|
22321
22325
|
"projects_get",
|
|
22322
22326
|
"projects_get_source_chunk"
|
|
@@ -22353,76 +22357,121 @@ async function registerForwardedApiTools() {
|
|
|
22353
22357
|
}
|
|
22354
22358
|
return { registered, skipped };
|
|
22355
22359
|
}
|
|
22356
|
-
|
|
22357
|
-
|
|
22358
|
-
|
|
22359
|
-
|
|
22360
|
-
publisher: external_exports.string().optional().describe('Filter by publisher (e.g. "here-now")'),
|
|
22361
|
-
kind: external_exports.enum(["mockup", "deck", "site", "app", "other"]).optional().describe("Filter by artefact kind"),
|
|
22362
|
-
limit: external_exports.number().int().min(1).max(100).optional().describe("Maximum projects to return (default 50, max 100)")
|
|
22363
|
-
},
|
|
22364
|
-
async (params) => {
|
|
22365
|
-
const data = await apiPost("/host/my-published-projects", {
|
|
22360
|
+
async function listPublishedArtefactsText(params) {
|
|
22361
|
+
const data = await apiPost(
|
|
22362
|
+
"/host/my-published-artefacts",
|
|
22363
|
+
{
|
|
22366
22364
|
agent_id: AGT_AGENT_ID,
|
|
22367
22365
|
publisher: params.publisher,
|
|
22368
22366
|
kind: params.kind,
|
|
22369
22367
|
limit: params.limit
|
|
22370
|
-
});
|
|
22371
|
-
if (!data.projects.length) {
|
|
22372
|
-
return { content: [{ type: "text", text: "No published projects yet." }] };
|
|
22373
22368
|
}
|
|
22374
|
-
|
|
22375
|
-
|
|
22376
|
-
|
|
22377
|
-
|
|
22378
|
-
|
|
22379
|
-
|
|
22380
|
-
|
|
22369
|
+
);
|
|
22370
|
+
if (!data.artefacts.length) {
|
|
22371
|
+
return "No published artefacts yet.";
|
|
22372
|
+
}
|
|
22373
|
+
return data.artefacts.map((p) => {
|
|
22374
|
+
const title = p.title ?? "(untitled)";
|
|
22375
|
+
const expires = p.expires_at ? ` expires ${p.expires_at}` : "";
|
|
22376
|
+
return `- [${p.kind}] ${title} \u2014 ${p.live_url} (id: ${p.id}, ${p.mode}, published ${p.published_at}${expires})`;
|
|
22377
|
+
}).join("\n");
|
|
22378
|
+
}
|
|
22379
|
+
async function getPublishedArtefactText(artefactId) {
|
|
22380
|
+
const data = await apiPost(`/host/published-artefact/${encodeURIComponent(artefactId)}`, {
|
|
22381
|
+
agent_id: AGT_AGENT_ID
|
|
22382
|
+
});
|
|
22383
|
+
const p = data.artefact;
|
|
22384
|
+
return [
|
|
22385
|
+
`Artefact: ${p.title ?? "(untitled)"} [${p.kind}]`,
|
|
22386
|
+
`Publisher: ${p.publisher} (${p.mode})`,
|
|
22387
|
+
`Live URL: ${p.live_url}`,
|
|
22388
|
+
p.claim_url ? `Claim URL: ${p.claim_url}` : null,
|
|
22389
|
+
`Published: ${p.published_at}`,
|
|
22390
|
+
p.expires_at ? `Expires: ${p.expires_at}` : null,
|
|
22391
|
+
`Last modified: ${p.last_modified_at}`,
|
|
22392
|
+
p.has_source_html ? `Source HTML: ${p.source_html_length} bytes (call artefacts_get_source_chunk to fetch)` : "(source HTML not preserved for this artefact)"
|
|
22393
|
+
].filter((s) => s !== null).join("\n");
|
|
22394
|
+
}
|
|
22395
|
+
async function getPublishedArtefactSourceChunkText(artefactId, offset, limit) {
|
|
22396
|
+
const data = await apiPost(`/host/published-artefact/${encodeURIComponent(artefactId)}/source-chunk`, {
|
|
22397
|
+
agent_id: AGT_AGENT_ID,
|
|
22398
|
+
offset,
|
|
22399
|
+
limit
|
|
22400
|
+
});
|
|
22401
|
+
const trailer = data.end_of_content ? "\n\n---\n(end of source)" : `
|
|
22402
|
+
|
|
22403
|
+
---
|
|
22404
|
+
(more \u2014 next offset: ${data.offset + data.length}, total: ${data.total_length} bytes)`;
|
|
22405
|
+
return data.chunk + trailer;
|
|
22406
|
+
}
|
|
22407
|
+
var artefactListSchema = {
|
|
22408
|
+
publisher: external_exports.string().optional().describe('Filter by publisher (e.g. "here-now")'),
|
|
22409
|
+
kind: external_exports.enum(["mockup", "deck", "site", "app", "other"]).optional().describe("Filter by artefact kind"),
|
|
22410
|
+
limit: external_exports.number().int().min(1).max(100).optional().describe("Maximum artefacts to return (default 50, max 100)")
|
|
22411
|
+
};
|
|
22412
|
+
server.tool(
|
|
22413
|
+
"artefacts_list",
|
|
22414
|
+
"List artefacts (websites, slide decks, mockups) this agent has previously published. Call this BEFORE re-publishing to find and modify existing work instead of creating duplicates.",
|
|
22415
|
+
artefactListSchema,
|
|
22416
|
+
async (params) => ({
|
|
22417
|
+
content: [{ type: "text", text: await listPublishedArtefactsText(params) }]
|
|
22418
|
+
})
|
|
22419
|
+
);
|
|
22420
|
+
server.tool(
|
|
22421
|
+
"artefacts_get",
|
|
22422
|
+
"Fetch metadata for a single published artefact. Returns the artefact record without the source HTML \u2014 call artefacts_get_source_chunk to retrieve the HTML in chunks when you need to modify it.",
|
|
22423
|
+
{
|
|
22424
|
+
artefact_id: external_exports.string().uuid().describe("The artefact id returned by artefacts_list")
|
|
22425
|
+
},
|
|
22426
|
+
async (params) => ({
|
|
22427
|
+
content: [{ type: "text", text: await getPublishedArtefactText(params.artefact_id) }]
|
|
22428
|
+
})
|
|
22429
|
+
);
|
|
22430
|
+
server.tool(
|
|
22431
|
+
"artefacts_get_source_chunk",
|
|
22432
|
+
"Fetch a chunk of source HTML for a published artefact. Use this to assemble the HTML for modification when artefacts_get reports a non-zero source_html_length.",
|
|
22433
|
+
{
|
|
22434
|
+
artefact_id: external_exports.string().uuid().describe("The artefact id returned by artefacts_list"),
|
|
22435
|
+
offset: external_exports.number().int().min(0).describe("Byte offset into the source HTML to start from"),
|
|
22436
|
+
limit: external_exports.number().int().min(1).max(65536).optional().describe("Max bytes to return (default 32KB, max 64KB)")
|
|
22437
|
+
},
|
|
22438
|
+
async (params) => ({
|
|
22439
|
+
content: [
|
|
22440
|
+
{ type: "text", text: await getPublishedArtefactSourceChunkText(params.artefact_id, params.offset, params.limit) }
|
|
22441
|
+
]
|
|
22442
|
+
})
|
|
22443
|
+
);
|
|
22444
|
+
server.tool(
|
|
22445
|
+
"projects_list",
|
|
22446
|
+
"DEPRECATED \u2014 renamed to artefacts_list (ADR-0016). Use artefacts_list instead. Lists artefacts (websites, slide decks, mockups) this agent has previously published; call BEFORE re-publishing to modify existing work instead of creating duplicates.",
|
|
22447
|
+
artefactListSchema,
|
|
22448
|
+
async (params) => ({
|
|
22449
|
+
content: [{ type: "text", text: await listPublishedArtefactsText(params) }]
|
|
22450
|
+
})
|
|
22381
22451
|
);
|
|
22382
22452
|
server.tool(
|
|
22383
22453
|
"projects_get",
|
|
22384
|
-
"
|
|
22454
|
+
"DEPRECATED \u2014 renamed to artefacts_get (ADR-0016). Use artefacts_get instead. Fetches metadata for a single published artefact without the source HTML.",
|
|
22385
22455
|
{
|
|
22386
|
-
project_id: external_exports.string().uuid().describe("The
|
|
22456
|
+
project_id: external_exports.string().uuid().describe("The artefact id returned by artefacts_list (deprecated param name; artefacts_get uses artefact_id)")
|
|
22387
22457
|
},
|
|
22388
|
-
async (params) => {
|
|
22389
|
-
|
|
22390
|
-
|
|
22391
|
-
});
|
|
22392
|
-
const p = data.project;
|
|
22393
|
-
const header = [
|
|
22394
|
-
`Project: ${p.title ?? "(untitled)"} [${p.kind}]`,
|
|
22395
|
-
`Publisher: ${p.publisher} (${p.mode})`,
|
|
22396
|
-
`Live URL: ${p.live_url}`,
|
|
22397
|
-
p.claim_url ? `Claim URL: ${p.claim_url}` : null,
|
|
22398
|
-
`Published: ${p.published_at}`,
|
|
22399
|
-
p.expires_at ? `Expires: ${p.expires_at}` : null,
|
|
22400
|
-
`Last modified: ${p.last_modified_at}`,
|
|
22401
|
-
p.has_source_html ? `Source HTML: ${p.source_html_length} bytes (call projects_get_source_chunk to fetch)` : "(source HTML not preserved for this project)"
|
|
22402
|
-
].filter((s) => s !== null).join("\n");
|
|
22403
|
-
return { content: [{ type: "text", text: header }] };
|
|
22404
|
-
}
|
|
22458
|
+
async (params) => ({
|
|
22459
|
+
content: [{ type: "text", text: await getPublishedArtefactText(params.project_id) }]
|
|
22460
|
+
})
|
|
22405
22461
|
);
|
|
22406
22462
|
server.tool(
|
|
22407
22463
|
"projects_get_source_chunk",
|
|
22408
|
-
"
|
|
22464
|
+
"DEPRECATED \u2014 renamed to artefacts_get_source_chunk (ADR-0016). Use artefacts_get_source_chunk instead. Fetches a chunk of source HTML for a published artefact.",
|
|
22409
22465
|
{
|
|
22410
|
-
project_id: external_exports.string().uuid().describe("The
|
|
22466
|
+
project_id: external_exports.string().uuid().describe("The artefact id returned by artefacts_list (deprecated param name; artefacts_get_source_chunk uses artefact_id)"),
|
|
22411
22467
|
offset: external_exports.number().int().min(0).describe("Byte offset into the source HTML to start from"),
|
|
22412
22468
|
limit: external_exports.number().int().min(1).max(65536).optional().describe("Max bytes to return (default 32KB, max 64KB)")
|
|
22413
22469
|
},
|
|
22414
|
-
async (params) => {
|
|
22415
|
-
|
|
22416
|
-
|
|
22417
|
-
|
|
22418
|
-
|
|
22419
|
-
});
|
|
22420
|
-
const trailer = data.end_of_content ? "\n\n---\n(end of source)" : `
|
|
22421
|
-
|
|
22422
|
-
---
|
|
22423
|
-
(more \u2014 next offset: ${data.offset + data.length}, total: ${data.total_length} bytes)`;
|
|
22424
|
-
return { content: [{ type: "text", text: data.chunk + trailer }] };
|
|
22425
|
-
}
|
|
22470
|
+
async (params) => ({
|
|
22471
|
+
content: [
|
|
22472
|
+
{ type: "text", text: await getPublishedArtefactSourceChunkText(params.project_id, params.offset, params.limit) }
|
|
22473
|
+
]
|
|
22474
|
+
})
|
|
22426
22475
|
);
|
|
22427
22476
|
async function main() {
|
|
22428
22477
|
try {
|
|
@@ -21,8 +21,8 @@ import {
|
|
|
21
21
|
stopPersistentSession,
|
|
22
22
|
takeZombieDetection,
|
|
23
23
|
writePersistentClaudeWrapper
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import "./chunk-
|
|
24
|
+
} from "./chunk-KR2MENCK.js";
|
|
25
|
+
import "./chunk-VAZATEYS.js";
|
|
26
26
|
import "./chunk-XWVM4KPK.js";
|
|
27
27
|
export {
|
|
28
28
|
SEND_KEYS_ENTER_DELAY_MS,
|
|
@@ -48,4 +48,4 @@ export {
|
|
|
48
48
|
takeZombieDetection,
|
|
49
49
|
writePersistentClaudeWrapper
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=persistent-session-
|
|
51
|
+
//# sourceMappingURL=persistent-session-M3YSRKIF.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-KR2MENCK.js";
|
|
4
|
+
import "./chunk-VAZATEYS.js";
|
|
5
5
|
import "./chunk-XWVM4KPK.js";
|
|
6
6
|
|
|
7
7
|
// src/lib/responsiveness-probe.ts
|
|
@@ -30,4 +30,4 @@ export {
|
|
|
30
30
|
collectResponsivenessProbes,
|
|
31
31
|
getResponsivenessIntervalMs
|
|
32
32
|
};
|
|
33
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
33
|
+
//# sourceMappingURL=responsiveness-probe-C3G5RPUZ.js.map
|