@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.
@@ -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-ZJDQHJL3.js");
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-JRG2D5KQ.js.map
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-IQP6CNDB.js";
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-MV4WLCUO.js";
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-NZWPRYJO.js";
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.33" : "dev";
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-ZJDQHJL3.js");
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-XQFRB2DB.js");
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-JRG2D5KQ.js");
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
- server.tool(
22357
- "projects_list",
22358
- "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.",
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
- const lines = data.projects.map((p) => {
22375
- const title = p.title ?? "(untitled)";
22376
- const expires = p.expires_at ? ` expires ${p.expires_at}` : "";
22377
- return `- [${p.kind}] ${title} \u2014 ${p.live_url} (id: ${p.id}, ${p.mode}, published ${p.published_at}${expires})`;
22378
- });
22379
- return { content: [{ type: "text", text: lines.join("\n") }] };
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
- "Fetch metadata for a single published project. Returns the project record without the source HTML \u2014 call projects_get_source_chunk to retrieve the HTML in chunks when you need to modify it.",
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 project id returned by projects_list")
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
- const data = await apiPost(`/host/published-project/${encodeURIComponent(params.project_id)}`, {
22390
- agent_id: AGT_AGENT_ID
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
- "Fetch a chunk of source HTML for a published project. Use this to assemble the HTML for modification when projects_get reports a non-zero source_html_length.",
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 project id returned by projects_list"),
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
- const data = await apiPost(`/host/published-project/${encodeURIComponent(params.project_id)}/source-chunk`, {
22416
- agent_id: AGT_AGENT_ID,
22417
- offset: params.offset,
22418
- limit: params.limit
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-MV4WLCUO.js";
25
- import "./chunk-NZWPRYJO.js";
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-ZJDQHJL3.js.map
51
+ //# sourceMappingURL=persistent-session-M3YSRKIF.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-MV4WLCUO.js";
4
- import "./chunk-NZWPRYJO.js";
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-XQFRB2DB.js.map
33
+ //# sourceMappingURL=responsiveness-probe-C3G5RPUZ.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.27.33",
3
+ "version": "0.27.35",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {