@integrity-labs/agt-cli 0.28.751 → 0.28.753
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-QYAJHOZB.js → chunk-6HFHZR3Z.js} +10 -4
- package/dist/chunk-6HFHZR3Z.js.map +1 -0
- package/dist/{chunk-TZOMZFXF.js → chunk-GPDHLGBD.js} +24 -13
- package/dist/chunk-GPDHLGBD.js.map +1 -0
- package/dist/{chunk-LCHGVH7O.js → chunk-VA6UHKFG.js} +7 -2
- package/dist/chunk-VA6UHKFG.js.map +1 -0
- package/dist/{claude-pair-runtime-MOUA66HF.js → claude-pair-runtime-7MWDR3RS.js} +2 -2
- package/dist/lib/manager-worker.js +13 -13
- package/dist/mcp/direct-chat-channel.js +9 -0
- package/dist/mcp/index.js +111 -4
- package/dist/mcp/origami.js +9 -0
- package/dist/mcp/slack-channel.js +9 -0
- package/dist/mcp/telegram-channel.js +9 -0
- package/dist/{persistent-session-Z3NHK5IW.js → persistent-session-6YR3ZHZV.js} +3 -3
- package/dist/{responsiveness-probe-62LL7XTQ.js → responsiveness-probe-Y5M7V5EC.js} +3 -3
- package/dist/{session-auth-dead-GEIXRAIM.js → session-auth-dead-EDLHHI3H.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-LCHGVH7O.js.map +0 -1
- package/dist/chunk-QYAJHOZB.js.map +0 -1
- package/dist/chunk-TZOMZFXF.js.map +0 -1
- /package/dist/{claude-pair-runtime-MOUA66HF.js.map → claude-pair-runtime-7MWDR3RS.js.map} +0 -0
- /package/dist/{persistent-session-Z3NHK5IW.js.map → persistent-session-6YR3ZHZV.js.map} +0 -0
- /package/dist/{responsiveness-probe-62LL7XTQ.js.map → responsiveness-probe-Y5M7V5EC.js.map} +0 -0
- /package/dist/{session-auth-dead-GEIXRAIM.js.map → session-auth-dead-EDLHHI3H.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-6YR3ZHZV.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-7MWDR3RS.js.map
|
|
@@ -57,7 +57,7 @@ import {
|
|
|
57
57
|
safeWriteJsonAtomic,
|
|
58
58
|
setConfigHash,
|
|
59
59
|
tripClass
|
|
60
|
-
} from "../chunk-
|
|
60
|
+
} from "../chunk-6HFHZR3Z.js";
|
|
61
61
|
import {
|
|
62
62
|
getProjectDir as getProjectDir2,
|
|
63
63
|
getReadyTasks,
|
|
@@ -118,7 +118,7 @@ import {
|
|
|
118
118
|
takeZombieDetection,
|
|
119
119
|
toOpencodeModel,
|
|
120
120
|
writeEgressAllowlist
|
|
121
|
-
} from "../chunk-
|
|
121
|
+
} from "../chunk-VA6UHKFG.js";
|
|
122
122
|
import {
|
|
123
123
|
ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
|
|
124
124
|
AnchorSessionClient,
|
|
@@ -207,7 +207,7 @@ import {
|
|
|
207
207
|
subagentActivityAgeSeconds,
|
|
208
208
|
sumTranscriptUsageInWindow,
|
|
209
209
|
transcriptActivityAgeSeconds
|
|
210
|
-
} from "../chunk-
|
|
210
|
+
} from "../chunk-GPDHLGBD.js";
|
|
211
211
|
import {
|
|
212
212
|
reapOrphanChannelMcps
|
|
213
213
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -12738,7 +12738,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
12738
12738
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
12739
12739
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
12740
12740
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
12741
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
12741
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-Y5M7V5EC.js");
|
|
12742
12742
|
const newest = newestPendingInboundActivityMtimeMs(dirname10(paneLogPath(codeName)));
|
|
12743
12743
|
if (newest === null) return null;
|
|
12744
12744
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -13391,7 +13391,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
13391
13391
|
var lastVersionCheckAt = 0;
|
|
13392
13392
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
13393
13393
|
var lastResponsivenessProbeAt = 0;
|
|
13394
|
-
var agtCliVersion = true ? "0.28.
|
|
13394
|
+
var agtCliVersion = true ? "0.28.753" : "dev";
|
|
13395
13395
|
function resolveBrewPath(execFileSync3) {
|
|
13396
13396
|
try {
|
|
13397
13397
|
const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -14932,7 +14932,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
14932
14932
|
if (codeNames.length === 0) return;
|
|
14933
14933
|
void (async () => {
|
|
14934
14934
|
try {
|
|
14935
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
14935
|
+
const { collectDiagnostics } = await import("../persistent-session-6YR3ZHZV.js");
|
|
14936
14936
|
await api.post("/host/heartbeat", {
|
|
14937
14937
|
host_id: hostId,
|
|
14938
14938
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -15073,7 +15073,7 @@ async function pollCycleInner() {
|
|
|
15073
15073
|
}
|
|
15074
15074
|
try {
|
|
15075
15075
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
15076
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15076
|
+
const { collectDiagnostics } = await import("../persistent-session-6YR3ZHZV.js");
|
|
15077
15077
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
15078
15078
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor) : void 0;
|
|
15079
15079
|
let tailscaleHostname;
|
|
@@ -15242,7 +15242,7 @@ async function pollCycleInner() {
|
|
|
15242
15242
|
collectPanelessActivityProbes,
|
|
15243
15243
|
getResponsivenessIntervalMs,
|
|
15244
15244
|
occupancyQualificationClassifications
|
|
15245
|
-
} = await import("../responsiveness-probe-
|
|
15245
|
+
} = await import("../responsiveness-probe-Y5M7V5EC.js");
|
|
15246
15246
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
15247
15247
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
15248
15248
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -15352,7 +15352,7 @@ async function pollCycleInner() {
|
|
|
15352
15352
|
collectResponsivenessProbes,
|
|
15353
15353
|
livePendingInboundOldestAgeSeconds,
|
|
15354
15354
|
parkPendingInbound
|
|
15355
|
-
} = await import("../responsiveness-probe-
|
|
15355
|
+
} = await import("../responsiveness-probe-Y5M7V5EC.js");
|
|
15356
15356
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
|
|
15357
15357
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
15358
15358
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -15508,7 +15508,7 @@ async function pollCycleInner() {
|
|
|
15508
15508
|
}
|
|
15509
15509
|
try {
|
|
15510
15510
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
|
|
15511
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
15511
|
+
const { probeSessionAuth } = await import("../session-auth-dead-EDLHHI3H.js");
|
|
15512
15512
|
const observations = [];
|
|
15513
15513
|
const pendingCacheCommits = [];
|
|
15514
15514
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -19472,7 +19472,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
19472
19472
|
void api.post("/host/restart-ack", { host_id: hostId, agent_id: agentId, restart_requested_at: requestedAt }).catch((err) => log(`[restart-lane] ack failed for '${codeName}': ${err.message}`));
|
|
19473
19473
|
void (async () => {
|
|
19474
19474
|
try {
|
|
19475
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
19475
|
+
const { collectDiagnostics } = await import("../persistent-session-6YR3ZHZV.js");
|
|
19476
19476
|
await api.post("/host/heartbeat", {
|
|
19477
19477
|
host_id: hostId,
|
|
19478
19478
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -19518,7 +19518,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
19518
19518
|
}
|
|
19519
19519
|
try {
|
|
19520
19520
|
const hostId = await getHostId();
|
|
19521
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
19521
|
+
const { collectDiagnostics } = await import("../persistent-session-6YR3ZHZV.js");
|
|
19522
19522
|
await api.post("/host/heartbeat", {
|
|
19523
19523
|
host_id: hostId,
|
|
19524
19524
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor)
|
|
@@ -20154,7 +20154,7 @@ async function processClaudePairSessions(agents) {
|
|
|
20154
20154
|
killPairSession,
|
|
20155
20155
|
pairTmuxSession,
|
|
20156
20156
|
finalizeClaudePairOnboarding
|
|
20157
|
-
} = await import("../claude-pair-runtime-
|
|
20157
|
+
} = await import("../claude-pair-runtime-7MWDR3RS.js");
|
|
20158
20158
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
20159
20159
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
20160
20160
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
|
@@ -30375,6 +30375,13 @@ function recordChannelDeflection(agentDir, channel, cause) {
|
|
|
30375
30375
|
import { readdirSync as readdirSync5, statSync as statSync2 } from "fs";
|
|
30376
30376
|
import { join as join9 } from "path";
|
|
30377
30377
|
|
|
30378
|
+
// ../core/dist/types/agent.js
|
|
30379
|
+
var FRAMEWORK_MODEL_SLOTS = {
|
|
30380
|
+
"claude-code": ["primary", "small_fast"],
|
|
30381
|
+
"opencode": ["primary"]
|
|
30382
|
+
};
|
|
30383
|
+
var KNOWN_MODEL_SLOTS = new Set(Object.values(FRAMEWORK_MODEL_SLOTS).flat());
|
|
30384
|
+
|
|
30378
30385
|
// ../core/dist/types/integration.js
|
|
30379
30386
|
var HITL_TIER_ORDER = [
|
|
30380
30387
|
"read",
|
|
@@ -31805,6 +31812,7 @@ var ROLE_PERMISSIONS = {
|
|
|
31805
31812
|
"agent.pause",
|
|
31806
31813
|
"agent.impersonate",
|
|
31807
31814
|
"agent.viewAuditLog",
|
|
31815
|
+
"agent.viewMemories",
|
|
31808
31816
|
"template.manage",
|
|
31809
31817
|
"audit_log.view",
|
|
31810
31818
|
"host.create",
|
|
@@ -31832,6 +31840,7 @@ var ROLE_PERMISSIONS = {
|
|
|
31832
31840
|
"agent.pause",
|
|
31833
31841
|
"agent.impersonate",
|
|
31834
31842
|
"agent.viewAuditLog",
|
|
31843
|
+
"agent.viewMemories",
|
|
31835
31844
|
"template.manage",
|
|
31836
31845
|
"audit_log.view",
|
|
31837
31846
|
"host.create",
|
package/dist/mcp/index.js
CHANGED
|
@@ -37767,6 +37767,55 @@ function describeAssignHumanResult(resp, email2) {
|
|
|
37767
37767
|
};
|
|
37768
37768
|
}
|
|
37769
37769
|
|
|
37770
|
+
// src/artefact-source.ts
|
|
37771
|
+
var SOURCE_READBACK_MAX_CHUNKS = 128;
|
|
37772
|
+
var SOURCE_READBACK_CHUNK_BYTES = 65536;
|
|
37773
|
+
async function assembleArtefactSource(fetchChunk, maxChunks = SOURCE_READBACK_MAX_CHUNKS) {
|
|
37774
|
+
const parts = [];
|
|
37775
|
+
let offset = 0;
|
|
37776
|
+
let totalLength = 0;
|
|
37777
|
+
let chunks = 0;
|
|
37778
|
+
for (; ; ) {
|
|
37779
|
+
const data = await fetchChunk(offset);
|
|
37780
|
+
parts.push(data.chunk);
|
|
37781
|
+
totalLength = data.total_length;
|
|
37782
|
+
chunks += 1;
|
|
37783
|
+
if (data.end_of_content) break;
|
|
37784
|
+
if (data.length <= 0) {
|
|
37785
|
+
throw new Error(
|
|
37786
|
+
`source read stalled at offset ${offset} of ${totalLength} bytes (server returned an empty chunk without signalling end of content)`
|
|
37787
|
+
);
|
|
37788
|
+
}
|
|
37789
|
+
if (chunks >= maxChunks) {
|
|
37790
|
+
throw new Error(
|
|
37791
|
+
`source read exceeded ${maxChunks} chunks (${totalLength} bytes reported); refusing to continue`
|
|
37792
|
+
);
|
|
37793
|
+
}
|
|
37794
|
+
offset = data.offset + data.length;
|
|
37795
|
+
}
|
|
37796
|
+
return { html: parts.join(""), totalLength, chunks };
|
|
37797
|
+
}
|
|
37798
|
+
function classifyRevision(before, after) {
|
|
37799
|
+
if (before === null || after === null) return "unknown";
|
|
37800
|
+
return before === after ? "stable" : "changed";
|
|
37801
|
+
}
|
|
37802
|
+
function describeSourceIntegrity(bytes, totalLength, revisionState = "stable") {
|
|
37803
|
+
if (revisionState === "changed") {
|
|
37804
|
+
return "WARNING: the artefact was re-published while this was being read, so the file may mix two versions - re-read it before editing, and do NOT re-publish this copy";
|
|
37805
|
+
}
|
|
37806
|
+
if (revisionState === "unknown") {
|
|
37807
|
+
return bytes === totalLength ? "assembled OK, but UNVERIFIED: the revision marker could not be read, so we cannot confirm the artefact stayed unchanged during the read - safe to read, but re-read before re-publishing" : `WARNING: assembled ${bytes} bytes but the server reports ${totalLength}, and the revision marker could not be read - do NOT re-publish this as-is`;
|
|
37808
|
+
}
|
|
37809
|
+
return bytes === totalLength ? "complete" : `WARNING: assembled ${bytes} bytes but the server reports ${totalLength} - do NOT re-publish this as-is`;
|
|
37810
|
+
}
|
|
37811
|
+
|
|
37812
|
+
// ../core/dist/types/agent.js
|
|
37813
|
+
var FRAMEWORK_MODEL_SLOTS = {
|
|
37814
|
+
"claude-code": ["primary", "small_fast"],
|
|
37815
|
+
"opencode": ["primary"]
|
|
37816
|
+
};
|
|
37817
|
+
var KNOWN_MODEL_SLOTS = new Set(Object.values(FRAMEWORK_MODEL_SLOTS).flat());
|
|
37818
|
+
|
|
37770
37819
|
// ../core/dist/types/integration.js
|
|
37771
37820
|
var HITL_TIER_ORDER = [
|
|
37772
37821
|
"read",
|
|
@@ -39197,6 +39246,7 @@ var ROLE_PERMISSIONS = {
|
|
|
39197
39246
|
"agent.pause",
|
|
39198
39247
|
"agent.impersonate",
|
|
39199
39248
|
"agent.viewAuditLog",
|
|
39249
|
+
"agent.viewMemories",
|
|
39200
39250
|
"template.manage",
|
|
39201
39251
|
"audit_log.view",
|
|
39202
39252
|
"host.create",
|
|
@@ -39224,6 +39274,7 @@ var ROLE_PERMISSIONS = {
|
|
|
39224
39274
|
"agent.pause",
|
|
39225
39275
|
"agent.impersonate",
|
|
39226
39276
|
"agent.viewAuditLog",
|
|
39277
|
+
"agent.viewMemories",
|
|
39227
39278
|
"template.manage",
|
|
39228
39279
|
"audit_log.view",
|
|
39229
39280
|
"host.create",
|
|
@@ -46999,6 +47050,7 @@ var LOCAL_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
|
46999
47050
|
"artefacts_list",
|
|
47000
47051
|
"artefacts_get",
|
|
47001
47052
|
"artefacts_get_source_chunk",
|
|
47053
|
+
"artefacts_get_source",
|
|
47002
47054
|
"artefacts_download",
|
|
47003
47055
|
"artefacts_resolve",
|
|
47004
47056
|
"artefacts_analytics",
|
|
@@ -47118,7 +47170,7 @@ async function getPublishedArtefactText(artefactId) {
|
|
|
47118
47170
|
`Published: ${p2.published_at}`,
|
|
47119
47171
|
p2.expires_at ? `Expires: ${p2.expires_at}` : null,
|
|
47120
47172
|
`Last modified: ${p2.last_modified_at}`,
|
|
47121
|
-
p2.has_source_html ? `Source HTML: ${p2.source_html_length} bytes (call
|
|
47173
|
+
p2.has_source_html ? `Source HTML: ${p2.source_html_length} bytes (call artefacts_get_source to save it to a file)` : "(source HTML not preserved for this artefact)"
|
|
47122
47174
|
].filter((s) => s !== null).join("\n");
|
|
47123
47175
|
}
|
|
47124
47176
|
async function getPublishedArtefactSourceChunkText(artefactId, offset, limit) {
|
|
@@ -47203,7 +47255,7 @@ server.tool(
|
|
|
47203
47255
|
);
|
|
47204
47256
|
server.tool(
|
|
47205
47257
|
"artefacts_get",
|
|
47206
|
-
"Fetch metadata for a single published artefact. Returns the artefact record without the source HTML \u2014 call
|
|
47258
|
+
"Fetch metadata for a single published artefact. Returns the artefact record without the source HTML \u2014 call artefacts_get_source to save the HTML to a file when you need to modify it.",
|
|
47207
47259
|
{
|
|
47208
47260
|
artefact_id: external_exports.string().uuid().describe("The artefact id returned by artefacts_list")
|
|
47209
47261
|
},
|
|
@@ -47224,7 +47276,7 @@ server.tool(
|
|
|
47224
47276
|
);
|
|
47225
47277
|
server.tool(
|
|
47226
47278
|
"artefacts_get_source_chunk",
|
|
47227
|
-
"Fetch
|
|
47279
|
+
"Fetch ONE chunk of source HTML for a published artefact. For editing a page, prefer artefacts_get_source, which saves the whole document to a file in a single call - assembling a large document from chunks by hand costs one round trip per 64KB and puts every byte in your context.",
|
|
47228
47280
|
{
|
|
47229
47281
|
artefact_id: external_exports.string().uuid().describe("The artefact id returned by artefacts_list"),
|
|
47230
47282
|
offset: external_exports.number().int().min(0).describe("Byte offset into the source HTML to start from"),
|
|
@@ -47236,6 +47288,61 @@ server.tool(
|
|
|
47236
47288
|
]
|
|
47237
47289
|
})
|
|
47238
47290
|
);
|
|
47291
|
+
async function fetchArtefactRevision(artefactId) {
|
|
47292
|
+
try {
|
|
47293
|
+
const data = await apiPost(
|
|
47294
|
+
`/host/published-artefact/${encodeURIComponent(artefactId)}`,
|
|
47295
|
+
{ agent_id: AGT_AGENT_ID }
|
|
47296
|
+
);
|
|
47297
|
+
return data.artefact?.last_modified_at ?? null;
|
|
47298
|
+
} catch {
|
|
47299
|
+
return null;
|
|
47300
|
+
}
|
|
47301
|
+
}
|
|
47302
|
+
async function saveArtefactSourceToFile(artefactId) {
|
|
47303
|
+
const dir = await mkdtemp(join4(tmpdir(), "augmented-artefact-source-"));
|
|
47304
|
+
const readOnce = async () => {
|
|
47305
|
+
const before = await fetchArtefactRevision(artefactId);
|
|
47306
|
+
const assembled = await assembleArtefactSource(
|
|
47307
|
+
(offset) => apiPost(
|
|
47308
|
+
`/host/published-artefact/${encodeURIComponent(artefactId)}/source-chunk`,
|
|
47309
|
+
{ agent_id: AGT_AGENT_ID, offset, limit: SOURCE_READBACK_CHUNK_BYTES }
|
|
47310
|
+
)
|
|
47311
|
+
);
|
|
47312
|
+
const after = await fetchArtefactRevision(artefactId);
|
|
47313
|
+
return { ...assembled, revisionState: classifyRevision(before, after) };
|
|
47314
|
+
};
|
|
47315
|
+
let result = await readOnce();
|
|
47316
|
+
if (result.revisionState !== "stable") result = await readOnce();
|
|
47317
|
+
const filePath = join4(dir, safeDownloadName(`${artefactId}.html`, `${artefactId}.html`));
|
|
47318
|
+
await writeFile(filePath, result.html, "utf8");
|
|
47319
|
+
return {
|
|
47320
|
+
path: filePath,
|
|
47321
|
+
bytes: Buffer.byteLength(result.html, "utf8"),
|
|
47322
|
+
totalLength: result.totalLength,
|
|
47323
|
+
chunks: result.chunks,
|
|
47324
|
+
revisionState: result.revisionState
|
|
47325
|
+
};
|
|
47326
|
+
}
|
|
47327
|
+
async function saveArtefactSourceText(artefactId) {
|
|
47328
|
+
const r = await saveArtefactSourceToFile(artefactId);
|
|
47329
|
+
const integrity = describeSourceIntegrity(r.bytes, r.totalLength, r.revisionState);
|
|
47330
|
+
return [
|
|
47331
|
+
`Saved source HTML to ${r.path}`,
|
|
47332
|
+
`${r.bytes} bytes in ${r.chunks} chunk(s) \u2014 ${integrity}`,
|
|
47333
|
+
"Read/edit that file, then pass the edited HTML back as `content` to agt_live_publish with the same slug."
|
|
47334
|
+
].join("\n");
|
|
47335
|
+
}
|
|
47336
|
+
server.tool(
|
|
47337
|
+
"artefacts_get_source",
|
|
47338
|
+
"Save a published artefact's FULL source HTML to a file on this host and return the path \u2014 one call, no paging. Use this when you need to EDIT a page you published: read the file, change it, then re-publish with the same slug. Works on your own gated artefacts (the content URL does not). Prefer this over artefacts_get_source_chunk, which exists for the rare case you want to inspect a slice without loading the document.",
|
|
47339
|
+
{
|
|
47340
|
+
artefact_id: external_exports.string().uuid().describe("The artefact id returned by artefacts_list")
|
|
47341
|
+
},
|
|
47342
|
+
async (params) => ({
|
|
47343
|
+
content: [{ type: "text", text: await saveArtefactSourceText(params.artefact_id) }]
|
|
47344
|
+
})
|
|
47345
|
+
);
|
|
47239
47346
|
var ARTEFACT_DOWNLOAD_MAX_ITEMS = 50;
|
|
47240
47347
|
function safeDownloadName(name, fallback) {
|
|
47241
47348
|
const base = basename(name).replace(/[^a-zA-Z0-9._-]/g, "_").replace(/^\.+/, "");
|
|
@@ -47310,7 +47417,7 @@ async function downloadArtefactText(params) {
|
|
|
47310
47417
|
}
|
|
47311
47418
|
server.tool(
|
|
47312
47419
|
"artefacts_download",
|
|
47313
|
-
|
|
47420
|
+
'Download a published artefact as a PDF or image (PNG) file(s) on this host, returning the saved file path(s) so you can attach, upload, or send them. pdf gives one multi-page document (one page per carousel item). png with an item index gives that single page. png with NO item index gives one PNG per item for a multi-item carousel (or a single PNG for a one-item artefact). TO PREVIEW A DOCUMENT before sending it, call this with format="png" and NO item: you get one image per section in a single call, which is what to check a contract with rather than exporting pages one index at a time. Capped at the first 50 sections - a longer document returns 50 PNGs and says so, so do not read "no more files" as "no more pages". Video downloads are not supported yet (tracked in ENG-6776).',
|
|
47314
47421
|
{
|
|
47315
47422
|
artefact_id: external_exports.string().uuid().describe("The artefact id returned by artefacts_list"),
|
|
47316
47423
|
format: external_exports.enum(["pdf", "png"]).describe('Output format: "pdf" (carousel document) or "png" (image)'),
|
package/dist/mcp/origami.js
CHANGED
|
@@ -36376,6 +36376,13 @@ var Server = class extends Protocol {
|
|
|
36376
36376
|
}
|
|
36377
36377
|
};
|
|
36378
36378
|
|
|
36379
|
+
// ../core/dist/types/agent.js
|
|
36380
|
+
var FRAMEWORK_MODEL_SLOTS = {
|
|
36381
|
+
"claude-code": ["primary", "small_fast"],
|
|
36382
|
+
"opencode": ["primary"]
|
|
36383
|
+
};
|
|
36384
|
+
var KNOWN_MODEL_SLOTS = new Set(Object.values(FRAMEWORK_MODEL_SLOTS).flat());
|
|
36385
|
+
|
|
36379
36386
|
// ../core/dist/types/integration.js
|
|
36380
36387
|
var HITL_TIER_ORDER = [
|
|
36381
36388
|
"read",
|
|
@@ -37989,6 +37996,7 @@ var ROLE_PERMISSIONS = {
|
|
|
37989
37996
|
"agent.pause",
|
|
37990
37997
|
"agent.impersonate",
|
|
37991
37998
|
"agent.viewAuditLog",
|
|
37999
|
+
"agent.viewMemories",
|
|
37992
38000
|
"template.manage",
|
|
37993
38001
|
"audit_log.view",
|
|
37994
38002
|
"host.create",
|
|
@@ -38016,6 +38024,7 @@ var ROLE_PERMISSIONS = {
|
|
|
38016
38024
|
"agent.pause",
|
|
38017
38025
|
"agent.impersonate",
|
|
38018
38026
|
"agent.viewAuditLog",
|
|
38027
|
+
"agent.viewMemories",
|
|
38019
38028
|
"template.manage",
|
|
38020
38029
|
"audit_log.view",
|
|
38021
38030
|
"host.create",
|
|
@@ -30670,6 +30670,13 @@ function isMaintenanceModeActive(opts) {
|
|
|
30670
30670
|
});
|
|
30671
30671
|
}
|
|
30672
30672
|
|
|
30673
|
+
// ../core/dist/types/agent.js
|
|
30674
|
+
var FRAMEWORK_MODEL_SLOTS = {
|
|
30675
|
+
"claude-code": ["primary", "small_fast"],
|
|
30676
|
+
"opencode": ["primary"]
|
|
30677
|
+
};
|
|
30678
|
+
var KNOWN_MODEL_SLOTS = new Set(Object.values(FRAMEWORK_MODEL_SLOTS).flat());
|
|
30679
|
+
|
|
30673
30680
|
// ../core/dist/types/integration.js
|
|
30674
30681
|
var HITL_TIER_ORDER = [
|
|
30675
30682
|
"read",
|
|
@@ -32099,6 +32106,7 @@ var ROLE_PERMISSIONS = {
|
|
|
32099
32106
|
"agent.pause",
|
|
32100
32107
|
"agent.impersonate",
|
|
32101
32108
|
"agent.viewAuditLog",
|
|
32109
|
+
"agent.viewMemories",
|
|
32102
32110
|
"template.manage",
|
|
32103
32111
|
"audit_log.view",
|
|
32104
32112
|
"host.create",
|
|
@@ -32126,6 +32134,7 @@ var ROLE_PERMISSIONS = {
|
|
|
32126
32134
|
"agent.pause",
|
|
32127
32135
|
"agent.impersonate",
|
|
32128
32136
|
"agent.viewAuditLog",
|
|
32137
|
+
"agent.viewMemories",
|
|
32129
32138
|
"template.manage",
|
|
32130
32139
|
"audit_log.view",
|
|
32131
32140
|
"host.create",
|
|
@@ -30834,6 +30834,13 @@ function isMaintenanceModeActive(opts) {
|
|
|
30834
30834
|
});
|
|
30835
30835
|
}
|
|
30836
30836
|
|
|
30837
|
+
// ../core/dist/types/agent.js
|
|
30838
|
+
var FRAMEWORK_MODEL_SLOTS = {
|
|
30839
|
+
"claude-code": ["primary", "small_fast"],
|
|
30840
|
+
"opencode": ["primary"]
|
|
30841
|
+
};
|
|
30842
|
+
var KNOWN_MODEL_SLOTS = new Set(Object.values(FRAMEWORK_MODEL_SLOTS).flat());
|
|
30843
|
+
|
|
30837
30844
|
// ../core/dist/types/integration.js
|
|
30838
30845
|
var HITL_TIER_ORDER = [
|
|
30839
30846
|
"read",
|
|
@@ -32263,6 +32270,7 @@ var ROLE_PERMISSIONS = {
|
|
|
32263
32270
|
"agent.pause",
|
|
32264
32271
|
"agent.impersonate",
|
|
32265
32272
|
"agent.viewAuditLog",
|
|
32273
|
+
"agent.viewMemories",
|
|
32266
32274
|
"template.manage",
|
|
32267
32275
|
"audit_log.view",
|
|
32268
32276
|
"host.create",
|
|
@@ -32290,6 +32298,7 @@ var ROLE_PERMISSIONS = {
|
|
|
32290
32298
|
"agent.pause",
|
|
32291
32299
|
"agent.impersonate",
|
|
32292
32300
|
"agent.viewAuditLog",
|
|
32301
|
+
"agent.viewMemories",
|
|
32293
32302
|
"template.manage",
|
|
32294
32303
|
"audit_log.view",
|
|
32295
32304
|
"host.create",
|
|
@@ -49,8 +49,8 @@ import {
|
|
|
49
49
|
writeDirectChatSessionState,
|
|
50
50
|
writeEgressAllowlist,
|
|
51
51
|
writePersistentClaudeWrapper
|
|
52
|
-
} from "./chunk-
|
|
53
|
-
import "./chunk-
|
|
52
|
+
} from "./chunk-VA6UHKFG.js";
|
|
53
|
+
import "./chunk-GPDHLGBD.js";
|
|
54
54
|
import "./chunk-XWVM4KPK.js";
|
|
55
55
|
export {
|
|
56
56
|
EGRESS_BASELINE_DOMAINS,
|
|
@@ -104,4 +104,4 @@ export {
|
|
|
104
104
|
writeEgressAllowlist,
|
|
105
105
|
writePersistentClaudeWrapper
|
|
106
106
|
};
|
|
107
|
-
//# sourceMappingURL=persistent-session-
|
|
107
|
+
//# sourceMappingURL=persistent-session-6YR3ZHZV.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-VA6UHKFG.js";
|
|
4
|
+
import "./chunk-GPDHLGBD.js";
|
|
5
5
|
import "./chunk-XWVM4KPK.js";
|
|
6
6
|
|
|
7
7
|
// src/lib/responsiveness-probe.ts
|
|
@@ -745,4 +745,4 @@ export {
|
|
|
745
745
|
readAndResetSlackReplyBindingClassifications,
|
|
746
746
|
readAndResetSlackReplyTargetClassifications
|
|
747
747
|
};
|
|
748
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
748
|
+
//# sourceMappingURL=responsiveness-probe-Y5M7V5EC.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sessionTranscriptDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GPDHLGBD.js";
|
|
4
4
|
|
|
5
5
|
// src/lib/session-auth-dead.ts
|
|
6
6
|
import { closeSync, openSync, readSync, readdirSync, statSync } from "fs";
|
|
@@ -203,4 +203,4 @@ export {
|
|
|
203
203
|
decideSessionAuthState,
|
|
204
204
|
probeSessionAuth
|
|
205
205
|
};
|
|
206
|
-
//# sourceMappingURL=session-auth-dead-
|
|
206
|
+
//# sourceMappingURL=session-auth-dead-EDLHHI3H.js.map
|