@evalops/maestro 0.10.42 → 0.10.44
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/cli/commands/operating-plane.d.ts.map +1 -1
- package/dist/cli/commands/operating-plane.js +3 -2
- package/dist/cli/commands/operating-plane.js.map +1 -1
- package/dist/cli/help.js +8 -6
- package/dist/cli/help.js.map +1 -1
- package/dist/cli.js +247 -97
- package/dist/codex/subagent-dispatch-table.d.ts +1 -1
- package/dist/codex/subagent-dispatch-table.js +1 -1
- package/dist/codex/subagent-dispatch-table.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/package.json +1 -1
- package/dist/node_modules/@evalops/tui/package.json +1 -1
- package/dist/platform/a2a-completion-audit.d.ts +12 -6
- package/dist/platform/a2a-completion-audit.d.ts.map +1 -1
- package/dist/platform/a2a-completion-audit.js +28 -20
- package/dist/platform/a2a-completion-audit.js.map +1 -1
- package/dist/platform/a2a-maestro-peer.js +8 -7
- package/dist/platform/a2a-maestro-peer.js.map +1 -1
- package/dist/platform/a2a-telemetry-inspect.d.ts +2 -2
- package/dist/platform/a2a-telemetry-inspect.d.ts.map +1 -1
- package/dist/platform/a2a-telemetry-inspect.js +3 -3
- package/dist/platform/a2a-telemetry-inspect.js.map +1 -1
- package/dist/platform/operating-plane-client.d.ts +2 -2
- package/dist/platform/operating-plane-client.d.ts.map +1 -1
- package/dist/platform/operating-plane-client.js.map +1 -1
- package/dist/platform/operating-plane-summary.d.ts +4 -4
- package/dist/platform/operating-plane-summary.d.ts.map +1 -1
- package/dist/platform/operating-plane-summary.js +39 -27
- package/dist/platform/operating-plane-summary.js.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.d.ts +28 -0
- package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.js +55 -2
- package/dist/server/handlers/hosted-runner-drain.js.map +1 -1
- package/dist/server/session-timeline.d.ts.map +1 -1
- package/dist/server/session-timeline.js +112 -2
- package/dist/server/session-timeline.js.map +1 -1
- package/dist/tools/background/resource-monitor.d.ts.map +1 -1
- package/dist/tools/background/resource-monitor.js +8 -6
- package/dist/tools/background/resource-monitor.js.map +1 -1
- package/dist/tools/parallel-ripgrep.d.ts.map +1 -1
- package/dist/tools/parallel-ripgrep.js +2 -2
- package/dist/tools/parallel-ripgrep.js.map +1 -1
- package/dist/tools/ripgrep-utils.d.ts +1 -0
- package/dist/tools/ripgrep-utils.d.ts.map +1 -1
- package/dist/tools/ripgrep-utils.js +4 -0
- package/dist/tools/ripgrep-utils.js.map +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +2 -2
- package/dist/tools/search.js.map +1 -1
- package/dist/version.json +2 -2
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -36816,7 +36816,7 @@ import { dirname as dirname21 } from "node:path";
|
|
|
36816
36816
|
import { Writable } from "node:stream";
|
|
36817
36817
|
import { pipeline as pipeline2 } from "node:stream/promises";
|
|
36818
36818
|
import { createGzip } from "node:zlib";
|
|
36819
|
-
import {
|
|
36819
|
+
import { spawnSync as spawnSync2 } from "node:child_process";
|
|
36820
36820
|
import { readFileSync as readFileSync27 } from "node:fs";
|
|
36821
36821
|
import {
|
|
36822
36822
|
closeSync as closeSync2,
|
|
@@ -36829,7 +36829,7 @@ import {
|
|
|
36829
36829
|
unlinkSync as unlinkSync3
|
|
36830
36830
|
} from "node:fs";
|
|
36831
36831
|
import { gunzipSync } from "node:zlib";
|
|
36832
|
-
import { execSync
|
|
36832
|
+
import { execSync, spawnSync as spawnSync3 } from "node:child_process";
|
|
36833
36833
|
import { existsSync as existsSync32, readFileSync as readFileSync29, readdirSync as readdirSync8 } from "node:fs";
|
|
36834
36834
|
import { existsSync as existsSync33 } from "node:fs";
|
|
36835
36835
|
import { resolve as resolvePath2 } from "node:path";
|
|
@@ -37021,7 +37021,7 @@ import { existsSync as existsSync55, readFileSync as readFileSync45 } from "node
|
|
|
37021
37021
|
import { join as join52, resolve as resolve32 } from "node:path";
|
|
37022
37022
|
import { existsSync as existsSync56, mkdirSync as mkdirSync19, readFileSync as readFileSync46, writeFileSync as writeFileSync17 } from "node:fs";
|
|
37023
37023
|
import { dirname as dirname31, join as join53, resolve as resolve33 } from "node:path";
|
|
37024
|
-
import { spawnSync as
|
|
37024
|
+
import { spawnSync as spawnSync4 } from "node:child_process";
|
|
37025
37025
|
import {
|
|
37026
37026
|
copyFileSync,
|
|
37027
37027
|
existsSync as existsSync57,
|
|
@@ -37035,7 +37035,7 @@ import {
|
|
|
37035
37035
|
import os3 from "node:os";
|
|
37036
37036
|
import { dirname as dirname32, join as join54, resolve as resolve34 } from "node:path";
|
|
37037
37037
|
import chalk23 from "chalk";
|
|
37038
|
-
import { spawn as spawn8, spawnSync as
|
|
37038
|
+
import { spawn as spawn8, spawnSync as spawnSync5 } from "node:child_process";
|
|
37039
37039
|
import { isAbsolute as isAbsolute15, normalize as normalize3, resolve as resolve35 } from "node:path";
|
|
37040
37040
|
import { Spacer as Spacer8, Text as Text9 } from "@evalops/tui";
|
|
37041
37041
|
import chalk24 from "chalk";
|
|
@@ -37077,7 +37077,7 @@ import { join as join58 } from "node:path";
|
|
|
37077
37077
|
import { Spacer as Spacer12, Text as Text13 } from "@evalops/tui";
|
|
37078
37078
|
import chalk28 from "chalk";
|
|
37079
37079
|
import { Spacer as Spacer13, Text as Text14 } from "@evalops/tui";
|
|
37080
|
-
import { spawn as spawn9, spawnSync as
|
|
37080
|
+
import { spawn as spawn9, spawnSync as spawnSync6 } from "node:child_process";
|
|
37081
37081
|
import { Spacer as Spacer14, Text as Text15 } from "@evalops/tui";
|
|
37082
37082
|
import chalk29 from "chalk";
|
|
37083
37083
|
import chalk30 from "chalk";
|
|
@@ -37086,7 +37086,7 @@ import { spawn as spawn10 } from "node:child_process";
|
|
|
37086
37086
|
import { readFileSync as readFileSync48 } from "node:fs";
|
|
37087
37087
|
import { join as join59 } from "node:path";
|
|
37088
37088
|
import { Spacer as Spacer16, Text as Text17 } from "@evalops/tui";
|
|
37089
|
-
import { spawnSync as
|
|
37089
|
+
import { spawnSync as spawnSync7 } from "node:child_process";
|
|
37090
37090
|
import { join as join60, relative as relative7, resolve as resolve37, sep as sep6 } from "node:path";
|
|
37091
37091
|
import { SelectList } from "@evalops/tui";
|
|
37092
37092
|
import { Container as Container2, Text as Text18 } from "@evalops/tui";
|
|
@@ -37101,7 +37101,7 @@ import {
|
|
|
37101
37101
|
} from "@evalops/tui";
|
|
37102
37102
|
import { Spacer as Spacer19 } from "@evalops/tui";
|
|
37103
37103
|
import chalk34 from "chalk";
|
|
37104
|
-
import { spawnSync as
|
|
37104
|
+
import { spawnSync as spawnSync8 } from "node:child_process";
|
|
37105
37105
|
import fs32 from "node:fs";
|
|
37106
37106
|
import os4 from "node:os";
|
|
37107
37107
|
import path22 from "node:path";
|
|
@@ -37223,7 +37223,7 @@ import { existsSync as existsSync69, mkdirSync as mkdirSync27, readFileSync as r
|
|
|
37223
37223
|
import { join as join67 } from "node:path";
|
|
37224
37224
|
import { parse as parseYaml2 } from "yaml";
|
|
37225
37225
|
import chalk43 from "chalk";
|
|
37226
|
-
import { execSync as
|
|
37226
|
+
import { execSync as execSync2 } from "node:child_process";
|
|
37227
37227
|
import {
|
|
37228
37228
|
existsSync as existsSync70,
|
|
37229
37229
|
mkdirSync as mkdirSync28,
|
|
@@ -37329,7 +37329,7 @@ import AjvModule2, {
|
|
|
37329
37329
|
Ajv as AjvClass2
|
|
37330
37330
|
} from "ajv";
|
|
37331
37331
|
import chalk58 from "chalk";
|
|
37332
|
-
import { spawnSync as
|
|
37332
|
+
import { spawnSync as spawnSync9 } from "node:child_process";
|
|
37333
37333
|
import { realpathSync as realpathSync8 } from "node:fs";
|
|
37334
37334
|
import { isAbsolute as isAbsolute20, relative as relative12, resolve as resolve43, sep as sep8 } from "node:path";
|
|
37335
37335
|
import { spawn as spawn12 } from "node:child_process";
|
|
@@ -37457,7 +37457,7 @@ import ExcelJS from "exceljs";
|
|
|
37457
37457
|
import JSZip from "jszip";
|
|
37458
37458
|
import mammoth from "mammoth";
|
|
37459
37459
|
import { Type as Type19 } from "@sinclair/typebox";
|
|
37460
|
-
import { spawnSync as
|
|
37460
|
+
import { spawnSync as spawnSync10 } from "node:child_process";
|
|
37461
37461
|
import {
|
|
37462
37462
|
chmodSync as chmodSync2,
|
|
37463
37463
|
createWriteStream as createWriteStream3,
|
|
@@ -37473,7 +37473,7 @@ import { join as join79 } from "node:path";
|
|
|
37473
37473
|
import { Readable as Readable2 } from "node:stream";
|
|
37474
37474
|
import { finished as finished2 } from "node:stream/promises";
|
|
37475
37475
|
import chalk62 from "chalk";
|
|
37476
|
-
import { spawnSync as
|
|
37476
|
+
import { spawnSync as spawnSync11 } from "node:child_process";
|
|
37477
37477
|
import { existsSync as existsSync90, readFileSync as readFileSync68, statSync as statSync28 } from "node:fs";
|
|
37478
37478
|
import {
|
|
37479
37479
|
dirname as dirname50,
|
|
@@ -37653,7 +37653,7 @@ import { stat as stat9 } from "node:fs/promises";
|
|
|
37653
37653
|
import { Type as Type43 } from "@sinclair/typebox";
|
|
37654
37654
|
import { existsSync as existsSync98, readFileSync as readFileSync76, writeFileSync as writeFileSync37 } from "node:fs";
|
|
37655
37655
|
import { resolve as resolve58 } from "node:path";
|
|
37656
|
-
import { spawnSync as
|
|
37656
|
+
import { spawnSync as spawnSync12 } from "node:child_process";
|
|
37657
37657
|
import { Type as Type44 } from "@sinclair/typebox";
|
|
37658
37658
|
import {
|
|
37659
37659
|
ComposerPendingRequestResumeRequestSchema
|
|
@@ -37668,7 +37668,7 @@ import { existsSync as existsSync101, mkdirSync as mkdirSync38, readFileSync as
|
|
|
37668
37668
|
import { dirname as dirname57, resolve as resolve61 } from "node:path";
|
|
37669
37669
|
import { randomUUID as randomUUID19 } from "node:crypto";
|
|
37670
37670
|
import { sql as sql10 } from "drizzle-orm";
|
|
37671
|
-
import { execSync as
|
|
37671
|
+
import { execSync as execSync3 } from "node:child_process";
|
|
37672
37672
|
import { readFileSync as readFileSync79 } from "node:fs";
|
|
37673
37673
|
import { join as join84 } from "node:path";
|
|
37674
37674
|
import {
|
|
@@ -37677,7 +37677,7 @@ import {
|
|
|
37677
37677
|
reconstructArtifactsFromMessages as reconstructArtifactStateFromMessages
|
|
37678
37678
|
} from "@evalops/contracts";
|
|
37679
37679
|
import { lookup as lookupMimeType2 } from "mime-types";
|
|
37680
|
-
import { execSync as
|
|
37680
|
+
import { execSync as execSync4 } from "node:child_process";
|
|
37681
37681
|
import { existsSync as existsSync102 } from "node:fs";
|
|
37682
37682
|
import { join as join85 } from "node:path";
|
|
37683
37683
|
import { existsSync as existsSync103 } from "node:fs";
|
|
@@ -37719,7 +37719,7 @@ import { mkdirSync as mkdirSync40, writeFileSync as writeFileSync41 } from "node
|
|
|
37719
37719
|
import { dirname as dirname60, isAbsolute as isAbsolute28, resolve as resolve70 } from "node:path";
|
|
37720
37720
|
import { MAESTRO_SCRIPTED_SCENARIO_SCHEMA as MAESTRO_SCRIPTED_SCENARIO_SCHEMA2 } from "@evalops/contracts";
|
|
37721
37721
|
import chalk68 from "chalk";
|
|
37722
|
-
import { spawnSync as
|
|
37722
|
+
import { spawnSync as spawnSync13 } from "node:child_process";
|
|
37723
37723
|
import {
|
|
37724
37724
|
existsSync as existsSync108,
|
|
37725
37725
|
mkdirSync as mkdirSync41,
|
|
@@ -45582,7 +45582,7 @@ var init_subagent_dispatch_table = __esm2(() => {
|
|
|
45582
45582
|
laneId: "test-runner",
|
|
45583
45583
|
skillId: "maestro.subagent.test-runner",
|
|
45584
45584
|
displayName: "Maestro test runner subagent",
|
|
45585
|
-
description: "Delegate test execution, failure triage, and
|
|
45585
|
+
description: "Delegate test execution, failure triage, and result artifact capture to a target-owned Maestro child agent.",
|
|
45586
45586
|
tags: ["maestro", "subagent", "test", "ci"],
|
|
45587
45587
|
typeAliases: ["test", "qa", "ci", "ci-monitor", "test-runner"],
|
|
45588
45588
|
capabilityAliases: [
|
|
@@ -45730,7 +45730,7 @@ function laneSkillPolicy(laneId) {
|
|
|
45730
45730
|
requiredContextGrants: [
|
|
45731
45731
|
"repo:read",
|
|
45732
45732
|
"pull-request:read",
|
|
45733
|
-
"
|
|
45733
|
+
"artifact:read"
|
|
45734
45734
|
],
|
|
45735
45735
|
requiredArtifactKinds: ["review.summary"],
|
|
45736
45736
|
optionalArtifactKinds: ["risk.finding", "test.plan"],
|
|
@@ -45741,7 +45741,7 @@ function laneSkillPolicy(laneId) {
|
|
|
45741
45741
|
requiredContextGrants: [
|
|
45742
45742
|
"repo:read",
|
|
45743
45743
|
"tool:execute-tests",
|
|
45744
|
-
"
|
|
45744
|
+
"artifact:write"
|
|
45745
45745
|
],
|
|
45746
45746
|
requiredArtifactKinds: ["test.report"],
|
|
45747
45747
|
optionalArtifactKinds: ["failure.triage", "coverage.summary"],
|
|
@@ -45749,9 +45749,9 @@ function laneSkillPolicy(laneId) {
|
|
|
45749
45749
|
};
|
|
45750
45750
|
case "repo-explorer":
|
|
45751
45751
|
return {
|
|
45752
|
-
requiredContextGrants: ["repo:read", "
|
|
45752
|
+
requiredContextGrants: ["repo:read", "context:index:write"],
|
|
45753
45753
|
requiredArtifactKinds: ["repo.map"],
|
|
45754
|
-
optionalArtifactKinds: ["
|
|
45754
|
+
optionalArtifactKinds: ["context.index"],
|
|
45755
45755
|
allowedTaskClasses: ["repo.inspect", "context.gathering"]
|
|
45756
45756
|
};
|
|
45757
45757
|
case "release-shepherd":
|
|
@@ -45760,9 +45760,10 @@ function laneSkillPolicy(laneId) {
|
|
|
45760
45760
|
"repo:read",
|
|
45761
45761
|
"pull-request:write",
|
|
45762
45762
|
"deploy:read",
|
|
45763
|
-
"
|
|
45763
|
+
"artifact:write",
|
|
45764
|
+
"runtime:events:read"
|
|
45764
45765
|
],
|
|
45765
|
-
requiredArtifactKinds: ["release.
|
|
45766
|
+
requiredArtifactKinds: ["release.summary"],
|
|
45766
45767
|
optionalArtifactKinds: ["ci.summary", "deploy.status"],
|
|
45767
45768
|
allowedTaskClasses: ["release.follow-through", "deployment.smoke"]
|
|
45768
45769
|
};
|
|
@@ -45770,7 +45771,7 @@ function laneSkillPolicy(laneId) {
|
|
|
45770
45771
|
return {
|
|
45771
45772
|
requiredContextGrants: ["repo:read"],
|
|
45772
45773
|
requiredArtifactKinds: ["subagent.summary"],
|
|
45773
|
-
optionalArtifactKinds: ["
|
|
45774
|
+
optionalArtifactKinds: ["context.index"],
|
|
45774
45775
|
allowedTaskClasses: ["agent.delegation"]
|
|
45775
45776
|
};
|
|
45776
45777
|
}
|
|
@@ -45835,7 +45836,7 @@ function inspectA2ATelemetry(input) {
|
|
|
45835
45836
|
return {
|
|
45836
45837
|
schema: A2A_TELEMETRY_INSPECTION_SCHEMA,
|
|
45837
45838
|
swarmId: input.swarmId,
|
|
45838
|
-
complete: lanes.length > 0 && missingTelemetryLanes === 0 && orderingAnomalyLanes === 0 && lanes.every((lane) => lane.
|
|
45839
|
+
complete: lanes.length > 0 && missingTelemetryLanes === 0 && orderingAnomalyLanes === 0 && lanes.every((lane) => lane.missingSignals.length === 0) && input.audit?.complete !== false,
|
|
45839
45840
|
counts: {
|
|
45840
45841
|
events: events.length,
|
|
45841
45842
|
lanes: lanes.length,
|
|
@@ -45866,7 +45867,7 @@ function inspectLane(laneId, events, auditLane) {
|
|
|
45866
45867
|
timing,
|
|
45867
45868
|
orderingAnomalies: orderingAnomalies(events, timing),
|
|
45868
45869
|
missingEventTypes: missingEventTypes(events, eventTypes),
|
|
45869
|
-
|
|
45870
|
+
missingSignals: auditLane?.missingSignals ?? []
|
|
45870
45871
|
};
|
|
45871
45872
|
}
|
|
45872
45873
|
function mergeLaneEventData(events) {
|
|
@@ -45998,7 +45999,7 @@ function parseInspectionTimeMs(value) {
|
|
|
45998
45999
|
function unique2(values) {
|
|
45999
46000
|
return [...new Set(values)];
|
|
46000
46001
|
}
|
|
46001
|
-
var A2A_TELEMETRY_INSPECTION_SCHEMA = "evalops.maestro.a2a-telemetry-inspection.
|
|
46002
|
+
var A2A_TELEMETRY_INSPECTION_SCHEMA = "evalops.maestro.a2a-telemetry-inspection.v2";
|
|
46002
46003
|
var PEER_SELECTED = "maestro.events.a2a.peer.selected";
|
|
46003
46004
|
var TASK_DISPATCHED = "maestro.events.a2a.task.dispatched";
|
|
46004
46005
|
var TASK_COMPLETED = "maestro.events.a2a.task.completed";
|
|
@@ -91403,9 +91404,14 @@ var ResourceMonitor = class {
|
|
|
91403
91404
|
}
|
|
91404
91405
|
readUsageFromPs(pid) {
|
|
91405
91406
|
try {
|
|
91406
|
-
const
|
|
91407
|
-
encoding: "utf-8"
|
|
91408
|
-
|
|
91407
|
+
const result2 = spawnSync2("ps", ["-o", "rss=", "-o", "time=", "-p", String(pid)], {
|
|
91408
|
+
encoding: "utf-8",
|
|
91409
|
+
stdio: ["ignore", "pipe", "pipe"]
|
|
91410
|
+
});
|
|
91411
|
+
if (result2.error || result2.status !== 0) {
|
|
91412
|
+
return null;
|
|
91413
|
+
}
|
|
91414
|
+
const output = result2.stdout.trim().split(/\s+/).filter(Boolean);
|
|
91409
91415
|
if (output.length < 2) {
|
|
91410
91416
|
return null;
|
|
91411
91417
|
}
|
|
@@ -91809,7 +91815,7 @@ function getDescendantPidsLinux(pid) {
|
|
|
91809
91815
|
function getDescendantPidsMacOS(pid) {
|
|
91810
91816
|
const descendants = [];
|
|
91811
91817
|
try {
|
|
91812
|
-
const result2 =
|
|
91818
|
+
const result2 = spawnSync3("pgrep", ["-P", String(pid)], {
|
|
91813
91819
|
encoding: "utf-8",
|
|
91814
91820
|
timeout: 5e3
|
|
91815
91821
|
});
|
|
@@ -91840,7 +91846,7 @@ function getDescendantPids(pid) {
|
|
|
91840
91846
|
}
|
|
91841
91847
|
if (process.platform === "win32") {
|
|
91842
91848
|
try {
|
|
91843
|
-
const result2 =
|
|
91849
|
+
const result2 = execSync(`wmic process where parentprocessid=${pid} get processid`, {
|
|
91844
91850
|
encoding: "utf-8",
|
|
91845
91851
|
timeout: 5e3,
|
|
91846
91852
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -107970,11 +107976,11 @@ var AutoVerifyService = class {
|
|
|
107970
107976
|
this.lastTestRun = Date.now();
|
|
107971
107977
|
const startTime = Date.now();
|
|
107972
107978
|
try {
|
|
107973
|
-
const { execSync:
|
|
107979
|
+
const { execSync: execSync22 } = await import("node:child_process");
|
|
107974
107980
|
let output;
|
|
107975
107981
|
let success;
|
|
107976
107982
|
try {
|
|
107977
|
-
output =
|
|
107983
|
+
output = execSync22(command, {
|
|
107978
107984
|
cwd: this.cwd,
|
|
107979
107985
|
timeout: timeoutMs,
|
|
107980
107986
|
encoding: "utf-8",
|
|
@@ -113500,7 +113506,7 @@ function appendSpawnFailureDetails(stderr, command, error, signal, timeoutMs) {
|
|
|
113500
113506
|
`);
|
|
113501
113507
|
}
|
|
113502
113508
|
function commandExists(command, cwd) {
|
|
113503
|
-
const result2 =
|
|
113509
|
+
const result2 = spawnSync4(command, ["--version"], {
|
|
113504
113510
|
cwd,
|
|
113505
113511
|
stdio: "pipe",
|
|
113506
113512
|
encoding: "utf-8"
|
|
@@ -113510,7 +113516,7 @@ function commandExists(command, cwd) {
|
|
|
113510
113516
|
function runCommand(command, args, cwd, timeoutMs = DEFAULT_TIMEOUT_MS12, env) {
|
|
113511
113517
|
const started = Date.now();
|
|
113512
113518
|
try {
|
|
113513
|
-
const result2 =
|
|
113519
|
+
const result2 = spawnSync4(command, args, {
|
|
113514
113520
|
cwd,
|
|
113515
113521
|
encoding: "utf-8",
|
|
113516
113522
|
env: env ? { ...process.env, ...env } : process.env,
|
|
@@ -114737,7 +114743,7 @@ Reverted changes in:
|
|
|
114737
114743
|
}
|
|
114738
114744
|
notifyFileChanges() {
|
|
114739
114745
|
try {
|
|
114740
|
-
const result2 =
|
|
114746
|
+
const result2 = spawnSync5("git", ["status", "-sb"], {
|
|
114741
114747
|
cwd: process.cwd(),
|
|
114742
114748
|
encoding: "utf-8"
|
|
114743
114749
|
});
|
|
@@ -114815,7 +114821,7 @@ Use /plan add <goal> :: <task> to track follow-ups.`, "info");
|
|
|
114815
114821
|
}
|
|
114816
114822
|
runGitCommand(args) {
|
|
114817
114823
|
try {
|
|
114818
|
-
const result2 =
|
|
114824
|
+
const result2 = spawnSync5("git", args, {
|
|
114819
114825
|
cwd: process.cwd(),
|
|
114820
114826
|
encoding: "utf-8"
|
|
114821
114827
|
});
|
|
@@ -117266,7 +117272,7 @@ ${tail}`);
|
|
|
117266
117272
|
}
|
|
117267
117273
|
runOllama(args) {
|
|
117268
117274
|
try {
|
|
117269
|
-
const result2 =
|
|
117275
|
+
const result2 = spawnSync6("ollama", args, {
|
|
117270
117276
|
cwd: process.cwd(),
|
|
117271
117277
|
encoding: "utf-8"
|
|
117272
117278
|
});
|
|
@@ -117381,7 +117387,7 @@ ${lines.join(`
|
|
|
117381
117387
|
const cmd = args[0];
|
|
117382
117388
|
if (!cmd)
|
|
117383
117389
|
return;
|
|
117384
|
-
const result2 =
|
|
117390
|
+
const result2 = spawnSync6(cmd, args.slice(1), {
|
|
117385
117391
|
cwd: process.cwd(),
|
|
117386
117392
|
encoding: "utf-8"
|
|
117387
117393
|
});
|
|
@@ -118193,7 +118199,7 @@ function setCacheEntry(cwd, entry2) {
|
|
|
118193
118199
|
pruneCache(entry2.cachedAt);
|
|
118194
118200
|
}
|
|
118195
118201
|
function runRgFiles(cwd) {
|
|
118196
|
-
const result2 =
|
|
118202
|
+
const result2 = spawnSync7("rg", ["--files"], {
|
|
118197
118203
|
cwd,
|
|
118198
118204
|
encoding: "utf-8",
|
|
118199
118205
|
stdio: ["ignore", "pipe", "pipe"]
|
|
@@ -118225,7 +118231,7 @@ function runFindFiles(cwd) {
|
|
|
118225
118231
|
pruneArgs.push("-path", `./${dir}`);
|
|
118226
118232
|
}
|
|
118227
118233
|
pruneArgs.push(")", "-prune", "-o", "-type", "f", "-print");
|
|
118228
|
-
const result2 =
|
|
118234
|
+
const result2 = spawnSync7("find", [".", ...pruneArgs], {
|
|
118229
118235
|
cwd,
|
|
118230
118236
|
encoding: "utf-8",
|
|
118231
118237
|
stdio: ["ignore", "pipe", "pipe"]
|
|
@@ -118237,7 +118243,7 @@ function runFindFiles(cwd) {
|
|
|
118237
118243
|
return [];
|
|
118238
118244
|
}
|
|
118239
118245
|
function runGitFiles(cwd) {
|
|
118240
|
-
const rootResult =
|
|
118246
|
+
const rootResult = spawnSync7("git", ["rev-parse", "--show-toplevel"], {
|
|
118241
118247
|
cwd,
|
|
118242
118248
|
encoding: "utf-8",
|
|
118243
118249
|
stdio: ["ignore", "pipe", "pipe"]
|
|
@@ -118248,7 +118254,7 @@ function runGitFiles(cwd) {
|
|
|
118248
118254
|
const root = rootResult.stdout.trim();
|
|
118249
118255
|
if (!root)
|
|
118250
118256
|
return null;
|
|
118251
|
-
const listResult =
|
|
118257
|
+
const listResult = spawnSync7("git", ["ls-files", "--cached", "--others", "--exclude-standard"], {
|
|
118252
118258
|
cwd: root,
|
|
118253
118259
|
encoding: "utf-8",
|
|
118254
118260
|
stdio: ["ignore", "pipe", "pipe"]
|
|
@@ -119065,7 +119071,7 @@ function openExternalEditor(ui, currentText) {
|
|
|
119065
119071
|
if (!editor) {
|
|
119066
119072
|
return { error: "No editor command found" };
|
|
119067
119073
|
}
|
|
119068
|
-
const result2 =
|
|
119074
|
+
const result2 = spawnSync8(editor, [...editorArgs, tempFile], {
|
|
119069
119075
|
stdio: "inherit"
|
|
119070
119076
|
});
|
|
119071
119077
|
if (result2.error) {
|
|
@@ -132491,7 +132497,7 @@ function generateChangeId() {
|
|
|
132491
132497
|
function isGitTracked(filePath) {
|
|
132492
132498
|
try {
|
|
132493
132499
|
const dir = dirname41(filePath);
|
|
132494
|
-
|
|
132500
|
+
execSync2("git rev-parse --git-dir", {
|
|
132495
132501
|
cwd: dir,
|
|
132496
132502
|
stdio: "ignore"
|
|
132497
132503
|
});
|
|
@@ -147567,7 +147573,7 @@ function getHeadlessPtyPythonCommand() {
|
|
|
147567
147573
|
return cachedPythonCommand;
|
|
147568
147574
|
}
|
|
147569
147575
|
for (const candidate of ["python3", "python"]) {
|
|
147570
|
-
const result2 =
|
|
147576
|
+
const result2 = spawnSync9(candidate, ["-c", "import sys"], {
|
|
147571
147577
|
stdio: "ignore"
|
|
147572
147578
|
});
|
|
147573
147579
|
if (result2.status === 0) {
|
|
@@ -151380,12 +151386,15 @@ function printHelp(version3, options) {
|
|
|
151380
151386
|
maestro remote attach <session-id> [--verify] [--print-env]
|
|
151381
151387
|
maestro remote extend <session-id> --ttl 2h
|
|
151382
151388
|
maestro remote stop <session-id> [--reason <text>]`)}`;
|
|
151383
|
-
const
|
|
151384
|
-
maestro operating-plane status --
|
|
151385
|
-
|
|
151386
|
-
Fetches the Platform operating-plane ledger and prints
|
|
151387
|
-
|
|
151388
|
-
allowed
|
|
151389
|
+
const operatingPlaneHelp = [
|
|
151390
|
+
" maestro operating-plane status --thread-id <slack-thread> [--artifact-id <id>] [--auth-subject <subject>]",
|
|
151391
|
+
" maestro operating-plane status --trace-id <id> --json",
|
|
151392
|
+
" Fetches the Platform operating-plane ledger and prints content-free runtime",
|
|
151393
|
+
" status with identity, model/tool/approval/trace/artifact/cost signals,",
|
|
151394
|
+
" allowed artifact ids/revisions, blockers, next actions, and withheld reasons."
|
|
151395
|
+
].join(`
|
|
151396
|
+
`);
|
|
151397
|
+
const operatingPlaneSection = `${sectionHeading("maestro operating-plane")}${muted(operatingPlaneHelp)}`;
|
|
151389
151398
|
const runSection = `${sectionHeading("maestro run")}${muted(` maestro run inspect <session-id> [--json]
|
|
151390
151399
|
maestro run ledger <session-id>
|
|
151391
151400
|
maestro run replay <session-id>
|
|
@@ -158663,7 +158672,7 @@ function throwIfToolInstallAborted(config2, signal) {
|
|
|
158663
158672
|
}
|
|
158664
158673
|
function commandExists2(cmd) {
|
|
158665
158674
|
try {
|
|
158666
|
-
const result2 =
|
|
158675
|
+
const result2 = spawnSync10(cmd, ["--version"], { stdio: "pipe" });
|
|
158667
158676
|
return result2.error === void 0 || result2.error === null;
|
|
158668
158677
|
} catch {
|
|
158669
158678
|
return false;
|
|
@@ -158789,7 +158798,7 @@ async function downloadFile2(url, dest, signal) {
|
|
|
158789
158798
|
}
|
|
158790
158799
|
}
|
|
158791
158800
|
function runExtractor(command, args, description) {
|
|
158792
|
-
const result2 =
|
|
158801
|
+
const result2 = spawnSync10(command, args, { stdio: "pipe" });
|
|
158793
158802
|
if (result2.error) {
|
|
158794
158803
|
throw new Error(`${description} failed: ${result2.error.message}`);
|
|
158795
158804
|
}
|
|
@@ -159223,7 +159232,7 @@ var init_find = __esm2(() => {
|
|
|
159223
159232
|
}
|
|
159224
159233
|
args.push(pattern);
|
|
159225
159234
|
const command = [fdPath, ...args].join(" ");
|
|
159226
|
-
const result2 =
|
|
159235
|
+
const result2 = spawnSync11(fdPath, args, {
|
|
159227
159236
|
encoding: "utf-8",
|
|
159228
159237
|
maxBuffer: 10 * 1024 * 1024,
|
|
159229
159238
|
cwd: searchPath
|
|
@@ -160394,6 +160403,9 @@ function toArray(value) {
|
|
|
160394
160403
|
}
|
|
160395
160404
|
return Array.isArray(value) ? value : [value];
|
|
160396
160405
|
}
|
|
160406
|
+
function normalizeRipgrepPathArgs(paths) {
|
|
160407
|
+
return paths.map((path3) => expandTildePath(path3));
|
|
160408
|
+
}
|
|
160397
160409
|
function ripgrepAbortError() {
|
|
160398
160410
|
return new Error("ripgrep search aborted before start");
|
|
160399
160411
|
}
|
|
@@ -160558,6 +160570,7 @@ var ripgrepInstallController = null;
|
|
|
160558
160570
|
var ripgrepExecutableWaiters = 0;
|
|
160559
160571
|
var init_ripgrep_utils = __esm2(() => {
|
|
160560
160572
|
init_json();
|
|
160573
|
+
init_path_expansion();
|
|
160561
160574
|
init_tools_manager();
|
|
160562
160575
|
pathSchema = Type25.Optional(Type25.Union([
|
|
160563
160576
|
Type25.String({
|
|
@@ -160737,7 +160750,7 @@ var init_parallel_ripgrep = __esm2(() => {
|
|
|
160737
160750
|
if (context2 !== void 0 && (beforeContext !== void 0 || afterContext !== void 0)) {
|
|
160738
160751
|
throw new Error("Use either context or before/after context options, not both.");
|
|
160739
160752
|
}
|
|
160740
|
-
const pathArgs = toArray(paths);
|
|
160753
|
+
const pathArgs = normalizeRipgrepPathArgs(toArray(paths));
|
|
160741
160754
|
const globArgs = toArray(glob);
|
|
160742
160755
|
const commandCwd = cwd ? resolvePath12(expandUserPath2(cwd)) : process.cwd();
|
|
160743
160756
|
const before = beforeContext ?? context2 ?? 0;
|
|
@@ -161029,7 +161042,7 @@ Examples:
|
|
|
161029
161042
|
if (format === "json" && outputMode !== "content") {
|
|
161030
161043
|
throw new Error("JSON format is not supported with outputMode: 'files' or 'count'. Use format: 'text' or omit the format parameter.");
|
|
161031
161044
|
}
|
|
161032
|
-
const pathArgs = toArray(paths);
|
|
161045
|
+
const pathArgs = normalizeRipgrepPathArgs(toArray(paths));
|
|
161033
161046
|
const globArgs = toArray(glob);
|
|
161034
161047
|
const commandCwd = cwd ? resolvePath13(expandUserPath2(cwd)) : process.cwd();
|
|
161035
161048
|
const args = ["--color=never"];
|
|
@@ -166258,6 +166271,28 @@ function buildHostedRunnerRetentionPolicy() {
|
|
|
166258
166271
|
}
|
|
166259
166272
|
};
|
|
166260
166273
|
}
|
|
166274
|
+
function buildHostedRunnerRuntimeContinuity(input) {
|
|
166275
|
+
return {
|
|
166276
|
+
protocol_version: HOSTED_RUNNER_RUNTIME_CONTINUITY_VERSION,
|
|
166277
|
+
handoff: "drain_restore",
|
|
166278
|
+
source_runner_session_id: input.hostedRunner.runnerSessionId,
|
|
166279
|
+
...input.hostedRunner.ownerInstanceId ? { source_owner_instance_id: input.hostedRunner.ownerInstanceId } : {},
|
|
166280
|
+
source_process_id: process.pid,
|
|
166281
|
+
source_runtime_lease: {
|
|
166282
|
+
protocol_version: HOSTED_RUNNER_LEASE_PROTOCOL_VERSION,
|
|
166283
|
+
state: input.leaseSnapshot.state,
|
|
166284
|
+
generation: input.leaseSnapshot.generation,
|
|
166285
|
+
...input.leaseSnapshot.maestroSessionId ? { maestro_session_id: input.leaseSnapshot.maestroSessionId } : {},
|
|
166286
|
+
updated_at: input.leaseSnapshot.updatedAt
|
|
166287
|
+
},
|
|
166288
|
+
restore_environment_key: "MAESTRO_REMOTE_RUNNER_RESTORE_MANIFEST",
|
|
166289
|
+
restore_manifest_path: input.manifestPath,
|
|
166290
|
+
evidence_refs: [
|
|
166291
|
+
`remote-runner://sessions/${input.hostedRunner.runnerSessionId}/drain#snapshot`,
|
|
166292
|
+
`maestro://headless/sessions/${input.maestroSessionId}#cursor:${input.runtime.cursor ?? 0}`
|
|
166293
|
+
]
|
|
166294
|
+
};
|
|
166295
|
+
}
|
|
166261
166296
|
function buildHostedRunnerPlatformEvidence(input) {
|
|
166262
166297
|
const edges = input.workContinuity.codex_subagent_edges ?? [];
|
|
166263
166298
|
return {
|
|
@@ -166289,6 +166324,18 @@ function buildHostedRunnerPlatformEvidence(input) {
|
|
|
166289
166324
|
codex_subagent_thread_ids: input.workContinuity.codex_subagent_thread_ids,
|
|
166290
166325
|
...edges.length > 0 ? { codex_subagent_edges: edges } : {}
|
|
166291
166326
|
},
|
|
166327
|
+
runtime_continuity: {
|
|
166328
|
+
protocol_version: input.runtimeContinuity.protocol_version,
|
|
166329
|
+
handoff: input.runtimeContinuity.handoff,
|
|
166330
|
+
...input.runtimeContinuity.source_owner_instance_id ? {
|
|
166331
|
+
source_owner_instance_id: input.runtimeContinuity.source_owner_instance_id
|
|
166332
|
+
} : {},
|
|
166333
|
+
source_process_id: input.runtimeContinuity.source_process_id,
|
|
166334
|
+
...input.runtimeContinuity.source_runtime_lease ? {
|
|
166335
|
+
source_runtime_lease_generation: input.runtimeContinuity.source_runtime_lease.generation
|
|
166336
|
+
} : {},
|
|
166337
|
+
restore_manifest_path: input.runtimeContinuity.restore_manifest_path
|
|
166338
|
+
},
|
|
166292
166339
|
retention: {
|
|
166293
166340
|
policy_version: input.retentionPolicy.policy_version,
|
|
166294
166341
|
control_plane_metadata_visibility: input.retentionPolicy.visibility.control_plane_metadata,
|
|
@@ -166426,7 +166473,7 @@ async function drainHostedRunner(input, options) {
|
|
|
166426
166473
|
return null;
|
|
166427
166474
|
}
|
|
166428
166475
|
const requestedAtDate = options.now?.() ?? /* @__PURE__ */ new Date();
|
|
166429
|
-
markHostedRunnerLeaseDraining(hostedRunner, requestedAtDate);
|
|
166476
|
+
const leaseSnapshot = markHostedRunnerLeaseDraining(hostedRunner, requestedAtDate);
|
|
166430
166477
|
const requestedAt = requestedAtDate.toISOString();
|
|
166431
166478
|
const workspaceRoot = await resolveWorkspaceRoot2(hostedRunner);
|
|
166432
166479
|
const snapshotRoot = resolve54(workspaceRoot, hostedRunner.snapshotRoot ?? ".maestro/runner-snapshots");
|
|
@@ -166482,6 +166529,13 @@ async function drainHostedRunner(input, options) {
|
|
|
166482
166529
|
const snapshot = runtimeSnapshot ?? buildHostedRunnerSnapshot(maestroSessionId, workspaceRoot, runtime);
|
|
166483
166530
|
const workContinuity = collectHostedRunnerWorkContinuity(snapshot);
|
|
166484
166531
|
const retentionPolicy = buildHostedRunnerRetentionPolicy();
|
|
166532
|
+
const runtimeContinuity = buildHostedRunnerRuntimeContinuity({
|
|
166533
|
+
hostedRunner,
|
|
166534
|
+
maestroSessionId,
|
|
166535
|
+
manifestPath: snapshotPath,
|
|
166536
|
+
runtime,
|
|
166537
|
+
leaseSnapshot
|
|
166538
|
+
});
|
|
166485
166539
|
const platformEvidence = buildHostedRunnerPlatformEvidence({
|
|
166486
166540
|
hostedRunner,
|
|
166487
166541
|
status,
|
|
@@ -166489,6 +166543,7 @@ async function drainHostedRunner(input, options) {
|
|
|
166489
166543
|
createdAt: requestedAt,
|
|
166490
166544
|
manifestPath: snapshotPath,
|
|
166491
166545
|
runtime,
|
|
166546
|
+
runtimeContinuity,
|
|
166492
166547
|
workContinuity,
|
|
166493
166548
|
retentionPolicy,
|
|
166494
166549
|
reason: input.reason,
|
|
@@ -166509,6 +166564,7 @@ async function drainHostedRunner(input, options) {
|
|
|
166509
166564
|
mode: "local_path_contract",
|
|
166510
166565
|
paths: exportPaths
|
|
166511
166566
|
},
|
|
166567
|
+
runtime_continuity: runtimeContinuity,
|
|
166512
166568
|
work_continuity: workContinuity,
|
|
166513
166569
|
platform_evidence: platformEvidence,
|
|
166514
166570
|
snapshot,
|
|
@@ -166540,6 +166596,7 @@ async function drainHostedRunner(input, options) {
|
|
|
166540
166596
|
createdAt: requestedAt,
|
|
166541
166597
|
manifestPath: snapshotPath,
|
|
166542
166598
|
runtime,
|
|
166599
|
+
runtimeContinuity,
|
|
166543
166600
|
workContinuity,
|
|
166544
166601
|
retentionPolicy,
|
|
166545
166602
|
reason: input.reason,
|
|
@@ -166648,6 +166705,7 @@ var HOSTED_RUNNER_SNAPSHOT_MANIFEST_VERSION = "evalops.remote-runner.snapshot-ma
|
|
|
166648
166705
|
var HOSTED_RUNNER_RETENTION_POLICY_VERSION = "evalops.remote-runner.retention.v1";
|
|
166649
166706
|
var HOSTED_RUNNER_WORK_CONTINUITY_VERSION = "evalops.remote-runner.work-continuity.v1";
|
|
166650
166707
|
var HOSTED_RUNNER_PLATFORM_EVIDENCE_VERSION = "evalops.remote-runner.platform-evidence.v1";
|
|
166708
|
+
var HOSTED_RUNNER_RUNTIME_CONTINUITY_VERSION = "evalops.remote-runner.runtime-continuity.v1";
|
|
166651
166709
|
var HostedRunnerRuntimeDrainError;
|
|
166652
166710
|
var init_hosted_runner_drain = __esm2(() => {
|
|
166653
166711
|
init_headless_protocol();
|
|
@@ -185366,7 +185424,7 @@ var init_models = __esm2(() => {
|
|
|
185366
185424
|
});
|
|
185367
185425
|
function runOllama(args) {
|
|
185368
185426
|
try {
|
|
185369
|
-
const result2 =
|
|
185427
|
+
const result2 = spawnSync12("ollama", args, {
|
|
185370
185428
|
cwd: process.cwd(),
|
|
185371
185429
|
encoding: "utf-8"
|
|
185372
185430
|
});
|
|
@@ -187293,14 +187351,14 @@ async function handleReview(req, res, corsHeaders) {
|
|
|
187293
187351
|
return;
|
|
187294
187352
|
try {
|
|
187295
187353
|
const cwd = process.cwd();
|
|
187296
|
-
const statusResult =
|
|
187354
|
+
const statusResult = execSync3("git status -sb", {
|
|
187297
187355
|
cwd,
|
|
187298
187356
|
encoding: "utf-8",
|
|
187299
187357
|
stdio: ["pipe", "pipe", "pipe"]
|
|
187300
187358
|
});
|
|
187301
187359
|
let diffStat = "";
|
|
187302
187360
|
try {
|
|
187303
|
-
diffStat =
|
|
187361
|
+
diffStat = execSync3("git diff --stat", {
|
|
187304
187362
|
cwd,
|
|
187305
187363
|
encoding: "utf-8",
|
|
187306
187364
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -187309,7 +187367,7 @@ async function handleReview(req, res, corsHeaders) {
|
|
|
187309
187367
|
}
|
|
187310
187368
|
let stagedDiff = "";
|
|
187311
187369
|
try {
|
|
187312
|
-
stagedDiff =
|
|
187370
|
+
stagedDiff = execSync3("git diff --cached --unified=5", {
|
|
187313
187371
|
cwd,
|
|
187314
187372
|
encoding: "utf-8",
|
|
187315
187373
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -187318,7 +187376,7 @@ async function handleReview(req, res, corsHeaders) {
|
|
|
187318
187376
|
}
|
|
187319
187377
|
let worktreeDiff = "";
|
|
187320
187378
|
try {
|
|
187321
|
-
worktreeDiff =
|
|
187379
|
+
worktreeDiff = execSync3("git diff --unified=5", {
|
|
187322
187380
|
cwd,
|
|
187323
187381
|
encoding: "utf-8",
|
|
187324
187382
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -189530,6 +189588,63 @@ function finiteNumber2(value) {
|
|
|
189530
189588
|
function booleanValue2(value) {
|
|
189531
189589
|
return typeof value === "boolean" ? value : void 0;
|
|
189532
189590
|
}
|
|
189591
|
+
function stringValue8(value) {
|
|
189592
|
+
return typeof value === "string" && value.trim().length > 0 ? value : void 0;
|
|
189593
|
+
}
|
|
189594
|
+
function isPendingRequestKind(value) {
|
|
189595
|
+
return value === "approval" || value === "client_tool" || value === "mcp_elicitation" || value === "user_input" || value === "tool_retry";
|
|
189596
|
+
}
|
|
189597
|
+
function isPendingRequestSource(value) {
|
|
189598
|
+
return value === "local" || value === "platform";
|
|
189599
|
+
}
|
|
189600
|
+
function isPendingRequestPlatformSource(value) {
|
|
189601
|
+
return value === "approvals_service" || value === "tool_execution";
|
|
189602
|
+
}
|
|
189603
|
+
function pendingRequestFromCustomEntry(entry2, sessionId, timestamp3) {
|
|
189604
|
+
if (entry2.type !== "custom" || entry2.customType !== "pending_request") {
|
|
189605
|
+
return;
|
|
189606
|
+
}
|
|
189607
|
+
const data = detailsRecord(entry2.data);
|
|
189608
|
+
const request = detailsRecord(data?.request) ?? data;
|
|
189609
|
+
if (!request) {
|
|
189610
|
+
return;
|
|
189611
|
+
}
|
|
189612
|
+
const id = stringValue8(request.id);
|
|
189613
|
+
const kind = request.kind;
|
|
189614
|
+
const toolCallId2 = stringValue8(request.toolCallId);
|
|
189615
|
+
const toolName = stringValue8(request.toolName);
|
|
189616
|
+
const reason = stringValue8(request.reason);
|
|
189617
|
+
if (!id || !isPendingRequestKind(kind) || !toolCallId2 || !toolName || !reason) {
|
|
189618
|
+
return;
|
|
189619
|
+
}
|
|
189620
|
+
const platformRecord = detailsRecord(request.platform);
|
|
189621
|
+
const platformSource = platformRecord ? isPendingRequestPlatformSource(platformRecord.source) ? platformRecord.source : void 0 : void 0;
|
|
189622
|
+
const platform5 = platformSource ? {
|
|
189623
|
+
source: platformSource,
|
|
189624
|
+
...stringValue8(platformRecord?.toolExecutionId) ? { toolExecutionId: stringValue8(platformRecord?.toolExecutionId) } : {},
|
|
189625
|
+
...stringValue8(platformRecord?.approvalRequestId) ? {
|
|
189626
|
+
approvalRequestId: stringValue8(platformRecord?.approvalRequestId)
|
|
189627
|
+
} : {}
|
|
189628
|
+
} : void 0;
|
|
189629
|
+
return {
|
|
189630
|
+
id,
|
|
189631
|
+
kind,
|
|
189632
|
+
status: "pending",
|
|
189633
|
+
visibility: "user",
|
|
189634
|
+
sessionId: stringValue8(request.sessionId) ?? sessionId,
|
|
189635
|
+
toolCallId: toolCallId2,
|
|
189636
|
+
toolName,
|
|
189637
|
+
...stringValue8(request.displayName) ? { displayName: stringValue8(request.displayName) } : {},
|
|
189638
|
+
...stringValue8(request.summaryLabel) ? { summaryLabel: stringValue8(request.summaryLabel) } : {},
|
|
189639
|
+
...stringValue8(request.actionDescription) ? { actionDescription: stringValue8(request.actionDescription) } : {},
|
|
189640
|
+
args: request.args ?? {},
|
|
189641
|
+
reason,
|
|
189642
|
+
createdAt: normalizeTimestamp2(request.createdAt, timestamp3),
|
|
189643
|
+
...stringValue8(request.expiresAt) ? { expiresAt: normalizeTimestamp2(request.expiresAt, timestamp3) } : {},
|
|
189644
|
+
source: isPendingRequestSource(request.source) ? request.source : "local",
|
|
189645
|
+
...platform5 ? { platform: platform5 } : {}
|
|
189646
|
+
};
|
|
189647
|
+
}
|
|
189533
189648
|
function textFromContent(content) {
|
|
189534
189649
|
if (typeof content === "string")
|
|
189535
189650
|
return content;
|
|
@@ -189838,6 +189953,9 @@ function pendingRequestTitle(request) {
|
|
|
189838
189953
|
}
|
|
189839
189954
|
function addPendingRequestItems(items, sessionId, pendingRequests, generatedAt) {
|
|
189840
189955
|
for (const request of pendingRequests) {
|
|
189956
|
+
if (items.some((item) => item.type === "wait.pending" && item.pendingRequestId === request.id)) {
|
|
189957
|
+
continue;
|
|
189958
|
+
}
|
|
189841
189959
|
const summary2 = compactTimelineSummary(request.actionDescription || request.summaryLabel || request.reason);
|
|
189842
189960
|
const platformOperation = platformOperationForPending(request);
|
|
189843
189961
|
appendItem(items, {
|
|
@@ -189989,6 +190107,11 @@ function addEntryItems(items, sessionId, entries, generatedAt, context2) {
|
|
|
189989
190107
|
break;
|
|
189990
190108
|
}
|
|
189991
190109
|
case "custom": {
|
|
190110
|
+
const pendingRequest2 = pendingRequestFromCustomEntry(entry2, sessionId, timestamp3);
|
|
190111
|
+
if (pendingRequest2) {
|
|
190112
|
+
addPendingRequestItems(items, sessionId, [pendingRequest2], generatedAt);
|
|
190113
|
+
break;
|
|
190114
|
+
}
|
|
189992
190115
|
appendItem(items, {
|
|
189993
190116
|
id: `custom:${entry2.id}`,
|
|
189994
190117
|
sessionId,
|
|
@@ -190013,6 +190136,21 @@ function sortItems(items) {
|
|
|
190013
190136
|
return a.id.localeCompare(b.id);
|
|
190014
190137
|
});
|
|
190015
190138
|
}
|
|
190139
|
+
function pendingRequestCountForItems(items) {
|
|
190140
|
+
const pendingRequestIds = /* @__PURE__ */ new Set();
|
|
190141
|
+
let pendingWithoutId = 0;
|
|
190142
|
+
for (const item of items) {
|
|
190143
|
+
if (item.type !== "wait.pending") {
|
|
190144
|
+
continue;
|
|
190145
|
+
}
|
|
190146
|
+
if (item.pendingRequestId) {
|
|
190147
|
+
pendingRequestIds.add(item.pendingRequestId);
|
|
190148
|
+
} else {
|
|
190149
|
+
pendingWithoutId += 1;
|
|
190150
|
+
}
|
|
190151
|
+
}
|
|
190152
|
+
return pendingRequestIds.size + pendingWithoutId;
|
|
190153
|
+
}
|
|
190016
190154
|
function buildComposerRunTimeline(options) {
|
|
190017
190155
|
const generatedAt = options.generatedAt ?? (/* @__PURE__ */ new Date()).toISOString();
|
|
190018
190156
|
const items = [];
|
|
@@ -190034,13 +190172,14 @@ function buildComposerRunTimeline(options) {
|
|
|
190034
190172
|
}
|
|
190035
190173
|
}
|
|
190036
190174
|
addPendingRequestItems(items, options.sessionId, pendingRequests, generatedAt);
|
|
190175
|
+
const sortedItems = sortItems(items);
|
|
190037
190176
|
return {
|
|
190038
190177
|
sessionId: options.sessionId,
|
|
190039
190178
|
source: "local",
|
|
190040
190179
|
generatedAt,
|
|
190041
190180
|
platformBacked: false,
|
|
190042
|
-
pendingRequestCount:
|
|
190043
|
-
items:
|
|
190181
|
+
pendingRequestCount: pendingRequestCountForItems(sortedItems),
|
|
190182
|
+
items: sortedItems
|
|
190044
190183
|
};
|
|
190045
190184
|
}
|
|
190046
190185
|
var init_session_timeline = __esm2(() => {
|
|
@@ -190378,12 +190517,12 @@ async function getStatusSnapshot(options = {}) {
|
|
|
190378
190517
|
let gitBranch = null;
|
|
190379
190518
|
let gitStatus = null;
|
|
190380
190519
|
try {
|
|
190381
|
-
gitBranch =
|
|
190520
|
+
gitBranch = execSync4("git rev-parse --abbrev-ref HEAD", {
|
|
190382
190521
|
cwd,
|
|
190383
190522
|
encoding: "utf-8",
|
|
190384
190523
|
stdio: ["pipe", "pipe", "ignore"]
|
|
190385
190524
|
}).trim();
|
|
190386
|
-
const status =
|
|
190525
|
+
const status = execSync4("git status --porcelain", {
|
|
190387
190526
|
cwd,
|
|
190388
190527
|
encoding: "utf-8",
|
|
190389
190528
|
stdio: ["pipe", "pipe", "ignore"]
|
|
@@ -195367,7 +195506,7 @@ async function validateToolbox(skillDir, options = {}) {
|
|
|
195367
195506
|
}
|
|
195368
195507
|
runnableEntryCount += 1;
|
|
195369
195508
|
if (options.describeToolbox) {
|
|
195370
|
-
const result2 =
|
|
195509
|
+
const result2 = spawnSync13(toolboxDescribeSpawnCommand(path3, platform5), {
|
|
195371
195510
|
env: { ...process.env, MAESTRO_TOOLBOX_ACTION: "describe" },
|
|
195372
195511
|
encoding: "utf8",
|
|
195373
195512
|
shell: shouldUseShellForToolboxDescribe(platform5),
|
|
@@ -200398,7 +200537,7 @@ function summarizeOperatingPlaneInspection(inspection, options = {}) {
|
|
|
200398
200537
|
}
|
|
200399
200538
|
function formatOperatingPlaneStatusReport(report) {
|
|
200400
200539
|
const lines = [
|
|
200401
|
-
`Agent operating-plane
|
|
200540
|
+
`Agent operating-plane status (${report.runCount} ${pluralize("run", report.runCount)})`,
|
|
200402
200541
|
`Generated: ${report.generatedAt}`
|
|
200403
200542
|
];
|
|
200404
200543
|
if (report.unavailableSources.length > 0) {
|
|
@@ -200415,14 +200554,14 @@ function formatOperatingPlaneStatusReport(report) {
|
|
|
200415
200554
|
pushLine(lines, " Thread", run2.channelThreadId);
|
|
200416
200555
|
pushLine(lines, " Trace", run2.traceId);
|
|
200417
200556
|
pushLine(lines, " Identity", run2.identitySubject);
|
|
200418
|
-
if (run2.
|
|
200419
|
-
lines.push(`
|
|
200557
|
+
if (run2.signalsPresent.length > 0) {
|
|
200558
|
+
lines.push(` Signals present: ${run2.signalsPresent.join(", ")}`);
|
|
200420
200559
|
}
|
|
200421
|
-
if (run2.
|
|
200422
|
-
lines.push(`
|
|
200560
|
+
if (run2.signalsMissing.length > 0) {
|
|
200561
|
+
lines.push(` Signals missing: ${run2.signalsMissing.join(", ")}`);
|
|
200423
200562
|
}
|
|
200424
|
-
if (run2.
|
|
200425
|
-
lines.push(`
|
|
200563
|
+
if (run2.artifactRefs.length > 0) {
|
|
200564
|
+
lines.push(` Artifacts: ${run2.artifactRefs.map(formatArtifactRef).join("; ")}`);
|
|
200426
200565
|
}
|
|
200427
200566
|
for (const nextAction of run2.nextActions) {
|
|
200428
200567
|
lines.push(` Next action: ${nextAction}`);
|
|
@@ -200442,7 +200581,7 @@ function formatOperatingPlaneStatusReport(report) {
|
|
|
200442
200581
|
`);
|
|
200443
200582
|
}
|
|
200444
200583
|
function summarizeOperatingPlaneRun(run2) {
|
|
200445
|
-
const {
|
|
200584
|
+
const { signalsPresent, signalsMissing } = summarizeValueSignals(run2);
|
|
200446
200585
|
return stripUndefined({
|
|
200447
200586
|
runId: run2.agent_run_id,
|
|
200448
200587
|
title: oneLine(run2.title) ?? "",
|
|
@@ -200452,35 +200591,35 @@ function summarizeOperatingPlaneRun(run2) {
|
|
|
200452
200591
|
traceId: oneLine(run2.trace_id),
|
|
200453
200592
|
identitySubject: operatingPlaneIdentitySubject(run2),
|
|
200454
200593
|
operatorSummary: oneLine(run2.value_proof?.operator_summary),
|
|
200455
|
-
|
|
200456
|
-
|
|
200457
|
-
|
|
200594
|
+
signalsPresent,
|
|
200595
|
+
signalsMissing,
|
|
200596
|
+
artifactRefs: summarizeArtifactRefs(run2.evidence_refs),
|
|
200458
200597
|
nextActions: uniqueStrings4(run2.work_items?.map((item) => oneLine(item.next_action))),
|
|
200459
200598
|
blockers: uniqueStrings4(run2.work_items?.map((item) => oneLine(item.blocker))),
|
|
200460
200599
|
withheld: operatingPlaneWithheldReasons(run2),
|
|
200461
200600
|
usage: summarizeUsage(run2.usage)
|
|
200462
200601
|
});
|
|
200463
200602
|
}
|
|
200464
|
-
function
|
|
200465
|
-
const
|
|
200603
|
+
function summarizeValueSignals(run2) {
|
|
200604
|
+
const signals = run2.value_proof;
|
|
200466
200605
|
const fields = [
|
|
200467
|
-
{ label: "identity", value:
|
|
200468
|
-
{ label: "model", value:
|
|
200469
|
-
{ label: "tool", value:
|
|
200470
|
-
{ label: "approval", value:
|
|
200471
|
-
{ label: "trace", value:
|
|
200472
|
-
{ label: "
|
|
200473
|
-
{ label: "cost", value:
|
|
200606
|
+
{ label: "identity", value: signals?.identity_bound },
|
|
200607
|
+
{ label: "model", value: signals?.model_observed },
|
|
200608
|
+
{ label: "tool", value: signals?.tool_observed },
|
|
200609
|
+
{ label: "approval", value: signals?.approval_observed },
|
|
200610
|
+
{ label: "trace", value: signals?.trace_linked },
|
|
200611
|
+
{ label: "artifact", value: signals?.evidence_linked },
|
|
200612
|
+
{ label: "cost", value: signals?.cost_attributed }
|
|
200474
200613
|
];
|
|
200475
|
-
const
|
|
200476
|
-
const
|
|
200614
|
+
const signalsPresent = fields.filter((field) => field.value === true).map((field) => field.label);
|
|
200615
|
+
const signalsMissing = uniqueStrings4([
|
|
200477
200616
|
...fields.filter((field) => field.value !== true).map((field) => field.label),
|
|
200478
|
-
...
|
|
200479
|
-
|
|
200617
|
+
...(signals?.missing_proof ?? []).map(operatorFacingSignalLabel),
|
|
200618
|
+
signals ? void 0 : "runtime signal unavailable"
|
|
200480
200619
|
]);
|
|
200481
|
-
return {
|
|
200620
|
+
return { signalsPresent, signalsMissing };
|
|
200482
200621
|
}
|
|
200483
|
-
function
|
|
200622
|
+
function summarizeArtifactRefs(evidenceRefs) {
|
|
200484
200623
|
return (evidenceRefs ?? []).map((evidence2) => stripUndefined({
|
|
200485
200624
|
id: oneLine(evidence2.id) ?? "",
|
|
200486
200625
|
source: oneLine(evidence2.source) ?? "",
|
|
@@ -200517,7 +200656,7 @@ function operatingPlaneWithheldReasons(run2) {
|
|
|
200517
200656
|
...run2.unavailable_sources ?? []
|
|
200518
200657
|
]);
|
|
200519
200658
|
}
|
|
200520
|
-
function
|
|
200659
|
+
function formatArtifactRef(evidence2) {
|
|
200521
200660
|
const details = [
|
|
200522
200661
|
`${evidence2.source}/${evidence2.kind}`,
|
|
200523
200662
|
evidence2.available ? "available" : "unavailable",
|
|
@@ -200526,6 +200665,16 @@ function formatEvidenceRef(evidence2) {
|
|
|
200526
200665
|
];
|
|
200527
200666
|
return `${evidence2.id} (${uniqueStrings4(details).join(", ")})`;
|
|
200528
200667
|
}
|
|
200668
|
+
function operatorFacingSignalLabel(value) {
|
|
200669
|
+
const normalized = oneLine(value);
|
|
200670
|
+
if (!normalized) {
|
|
200671
|
+
return;
|
|
200672
|
+
}
|
|
200673
|
+
if (normalized === "value_proof unavailable") {
|
|
200674
|
+
return "runtime signal unavailable";
|
|
200675
|
+
}
|
|
200676
|
+
return normalized.replace(/\bproof\b/giu, "signal").replace(/\bevidence\b/giu, "artifact");
|
|
200677
|
+
}
|
|
200529
200678
|
function formatUsage(usage4) {
|
|
200530
200679
|
const parts = [
|
|
200531
200680
|
typeof usage4.totalTokens === "number" ? `${usage4.totalTokens} total tokens` : void 0,
|
|
@@ -200655,7 +200804,7 @@ function queryFromFlags(flags) {
|
|
|
200655
200804
|
channelThreadId: flagString(flags, "--channel-thread-id"),
|
|
200656
200805
|
traceId: flagString(flags, "--trace-id"),
|
|
200657
200806
|
sessionId: flagString(flags, "--session-id"),
|
|
200658
|
-
evidenceId: flagString(flags, "--evidence-id"),
|
|
200807
|
+
evidenceId: flagString(flags, "--artifact-id") ?? flagString(flags, "--evidence-id"),
|
|
200659
200808
|
gatewayAuthenticatedSubject: flagString(flags, "--gateway-authenticated-subject") ?? flagString(flags, "--auth-subject"),
|
|
200660
200809
|
audience: flagString(flags, "--audience"),
|
|
200661
200810
|
includeGates: flagBoolean(flags, "--include-gates"),
|
|
@@ -200710,7 +200859,7 @@ function operatingPlaneHelpText() {
|
|
|
200710
200859
|
|
|
200711
200860
|
Filters:
|
|
200712
200861
|
--thread-id <id> Slack/channel thread id
|
|
200713
|
-
--
|
|
200862
|
+
--artifact-id <id> Runtime artifact ref id
|
|
200714
200863
|
--auth-subject <subject> Gateway-authenticated subject
|
|
200715
200864
|
--trace-id <id> Trace id
|
|
200716
200865
|
--session-id <id> Maestro/session id
|
|
@@ -200727,6 +200876,7 @@ var init_operating_plane = __esm2(() => {
|
|
|
200727
200876
|
init_operating_plane_client();
|
|
200728
200877
|
VALUE_FLAGS = /* @__PURE__ */ new Set([
|
|
200729
200878
|
"--agent-id",
|
|
200879
|
+
"--artifact-id",
|
|
200730
200880
|
"--audience",
|
|
200731
200881
|
"--auth-subject",
|
|
200732
200882
|
"--autonomy-session-id",
|