@adhdev/mesh-shared 1.0.60-rc.73 → 1.0.60-rc.74
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/brain-routing.d.ts +4 -6
- package/dist/git-diff.d.ts +21 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +84 -269
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +78 -250
- package/dist/index.mjs.map +1 -1
- package/dist/json.d.ts +4 -0
- package/dist/mesh-tool-names.d.ts +11 -7
- package/dist/mesh-vocabulary.d.ts +1 -2
- package/dist/outbound-message.d.ts +1 -2
- package/dist/protocol/daemon-server.d.ts +8 -31
- package/dist/session-launch.d.ts +0 -8
- package/dist/slot-proposal.d.ts +1 -27
- package/dist/turn-ipc-mission.d.ts +0 -7
- package/dist/turn-ipc-queue.d.ts +10 -35
- package/dist/turn-ipc-stats.d.ts +72 -0
- package/dist/turn-ipc.d.ts +4 -4
- package/package.json +1 -1
- package/src/brain-routing.ts +6 -8
- package/src/git-diff.ts +48 -0
- package/src/index.ts +1 -1
- package/src/json.ts +10 -0
- package/src/mesh-tool-names.ts +20 -25
- package/src/mesh-vocabulary.ts +1 -2
- package/src/outbound-message.ts +1 -2
- package/src/protocol/daemon-server.ts +3 -34
- package/src/session-launch.ts +2 -4
- package/src/slot-proposal.ts +1 -47
- package/src/turn-ipc-mission.ts +7 -21
- package/src/turn-ipc-queue.ts +40 -102
- package/src/turn-ipc-stats.ts +193 -0
- package/src/turn-ipc.ts +5 -11
- package/dist/magi.d.ts +0 -281
- package/dist/turn-ipc-graph.d.ts +0 -195
- package/src/magi.ts +0 -310
- package/src/turn-ipc-graph.ts +0 -477
package/dist/index.mjs
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
function readRecord(value) {
|
|
3
3
|
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
4
4
|
}
|
|
5
|
+
function readOptionalRecord(value) {
|
|
6
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
7
|
+
}
|
|
5
8
|
function readString(...values) {
|
|
6
9
|
for (const value of values) {
|
|
7
10
|
if (typeof value !== "string") continue;
|
|
@@ -10,6 +13,9 @@ function readString(...values) {
|
|
|
10
13
|
}
|
|
11
14
|
return void 0;
|
|
12
15
|
}
|
|
16
|
+
function readText(...values) {
|
|
17
|
+
return readString(...values) ?? "";
|
|
18
|
+
}
|
|
13
19
|
function readNumber(...values) {
|
|
14
20
|
for (const value of values) {
|
|
15
21
|
if (typeof value === "number" && Number.isFinite(value)) return value;
|
|
@@ -377,8 +383,29 @@ function summarizeGitShape(status) {
|
|
|
377
383
|
};
|
|
378
384
|
}
|
|
379
385
|
|
|
380
|
-
// src/
|
|
381
|
-
|
|
386
|
+
// src/git-diff.ts
|
|
387
|
+
function truncateDiffText(text, maxLines) {
|
|
388
|
+
const lines = text.split("\n");
|
|
389
|
+
const truncated = lines.length > maxLines;
|
|
390
|
+
return {
|
|
391
|
+
diff: truncated ? lines.slice(0, maxLines).join("\n") + "\n... (truncated)" : text,
|
|
392
|
+
truncated
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
function projectFileDiffRow(file, rawResult, maxLines) {
|
|
396
|
+
const raw = readRecord(rawResult);
|
|
397
|
+
const d = readRecord(raw.diff ?? rawResult);
|
|
398
|
+
const text = typeof d.diff === "string" ? d.diff : "";
|
|
399
|
+
const { diff, truncated } = truncateDiffText(text, maxLines);
|
|
400
|
+
return {
|
|
401
|
+
path: file.path,
|
|
402
|
+
old_path: file.oldPath ?? null,
|
|
403
|
+
status: file.status ?? "M",
|
|
404
|
+
diff,
|
|
405
|
+
truncated,
|
|
406
|
+
binary: typeof d.binary === "boolean" ? d.binary : false
|
|
407
|
+
};
|
|
408
|
+
}
|
|
382
409
|
|
|
383
410
|
// src/brain-routing.ts
|
|
384
411
|
var MESH_TASK_DIFFICULTIES = ["easy", "medium", "difficult", "freeform"];
|
|
@@ -619,23 +646,6 @@ function buildSlotProposal(detected, currentSlots = []) {
|
|
|
619
646
|
destructive: droppedSlots.length > 0
|
|
620
647
|
};
|
|
621
648
|
}
|
|
622
|
-
function buildMagiPanelProposal(detected, opts = {}) {
|
|
623
|
-
const providers = dedupeDetected(detected ?? []);
|
|
624
|
-
const tableOrder = Object.keys(CLI_SLOT_RECIPES);
|
|
625
|
-
const rank = (type) => {
|
|
626
|
-
const i = tableOrder.indexOf(type);
|
|
627
|
-
return i === -1 ? Number.MAX_SAFE_INTEGER : i;
|
|
628
|
-
};
|
|
629
|
-
const ordered = [...providers].sort((a, b) => rank(a.type) - rank(b.type));
|
|
630
|
-
const limit = Number.isFinite(opts.maxSlots) && opts.maxSlots > 0 ? Math.floor(opts.maxSlots) : ordered.length;
|
|
631
|
-
return ordered.slice(0, limit).map((p) => ({
|
|
632
|
-
...opts.nodeId ? { nodeId: opts.nodeId } : {},
|
|
633
|
-
provider: p.type
|
|
634
|
-
// A model is intentionally NOT pinned: the panel's job is cross-provider
|
|
635
|
-
// independence, and pinning models here would silently couple the panel
|
|
636
|
-
// to this table's cost assumptions rather than to review quality.
|
|
637
|
-
}));
|
|
638
|
-
}
|
|
639
649
|
|
|
640
650
|
// src/interpolation.ts
|
|
641
651
|
function interpolateString(template, ctx) {
|
|
@@ -650,14 +660,10 @@ var CANONICAL_MESH_TOOL_NAMES = [
|
|
|
650
660
|
"mesh_status",
|
|
651
661
|
"mesh_route_preview",
|
|
652
662
|
"mesh_list_nodes",
|
|
653
|
-
//
|
|
663
|
+
// Batch before task, mirroring ALL_MESH_TOOLS.
|
|
654
664
|
"mesh_enqueue_batch",
|
|
655
665
|
"mesh_enqueue_task",
|
|
656
666
|
"mesh_view_queue",
|
|
657
|
-
// GRAPH-ORCHESTRATION Phase E — the coordinator gate + graph view surface.
|
|
658
|
-
"mesh_graph_view",
|
|
659
|
-
"mesh_graph_gate",
|
|
660
|
-
"mesh_graph_node_patch",
|
|
661
667
|
"mesh_queue_cancel",
|
|
662
668
|
"mesh_queue_requeue",
|
|
663
669
|
"mesh_send_task",
|
|
@@ -692,29 +698,14 @@ var CANONICAL_MESH_TOOL_NAMES = [
|
|
|
692
698
|
"mesh_mission_upsert",
|
|
693
699
|
"mesh_mission_list",
|
|
694
700
|
"mesh_review_inbox",
|
|
695
|
-
"mesh_magi_review",
|
|
696
|
-
"mesh_magi_collect",
|
|
697
|
-
"mesh_magi_kind_panel",
|
|
698
701
|
"mesh_node_slots",
|
|
699
702
|
"mesh_coordinator_prompt_append"
|
|
700
703
|
];
|
|
701
704
|
var CANONICAL_MESH_TOOL_COUNT = CANONICAL_MESH_TOOL_NAMES.length;
|
|
702
705
|
var RETIRED_MESH_TOOLS = {
|
|
703
|
-
mesh_graph_gate_claim: {
|
|
704
|
-
tool: "mesh_graph_gate",
|
|
705
|
-
args: { action: "claim" },
|
|
706
|
-
note: 'The extend-only form (claim with extend_seconds) is now action: "extend" with the same extend_seconds.'
|
|
707
|
-
},
|
|
708
|
-
mesh_graph_gate_release: { tool: "mesh_graph_gate", args: { action: "release" } },
|
|
709
|
-
mesh_graph_gate_abandon: { tool: "mesh_graph_gate", args: { action: "abandon" } },
|
|
710
|
-
// Never a published tool (it is the daemon command behind the extend verb),
|
|
711
|
-
// but an older gate-expiry notice told coordinators to call it by this name.
|
|
712
|
-
mesh_graph_gate_extend: { tool: "mesh_graph_gate", args: { action: "extend" } },
|
|
713
706
|
mesh_node_slots_set: { tool: "mesh_node_slots", args: { action: "set" } },
|
|
714
707
|
mesh_node_slots_list: { tool: "mesh_node_slots", args: { action: "list" } },
|
|
715
708
|
mesh_node_slots_propose: { tool: "mesh_node_slots", args: { action: "propose" } },
|
|
716
|
-
mesh_magi_kind_panel_set: { tool: "mesh_magi_kind_panel", args: { action: "set" } },
|
|
717
|
-
mesh_magi_kind_panel_list: { tool: "mesh_magi_kind_panel", args: { action: "list" } },
|
|
718
709
|
mesh_coordinator_prompt_append_get: { tool: "mesh_coordinator_prompt_append", args: { action: "get" } },
|
|
719
710
|
mesh_coordinator_prompt_append_set: { tool: "mesh_coordinator_prompt_append", args: { action: "set" } },
|
|
720
711
|
mesh_record_note: { tool: "mesh_note", args: { action: "record" } },
|
|
@@ -726,7 +717,17 @@ var RETIRED_MESH_TOOLS = {
|
|
|
726
717
|
mesh_plan_onboarding: { tool: "mesh_create", args: { mode: "plan" } },
|
|
727
718
|
mesh_prune_stale_direct: { tool: "mesh_cleanup_sessions", args: { mode: "prune_stale_direct" } }
|
|
728
719
|
};
|
|
720
|
+
var REMOVED_MESH_TOOLS = {
|
|
721
|
+
mesh_magi_review: "For a multi-perspective review, send the same question to 2-3 workers on different providers with mesh_send_task, wait for their report_completion, then synthesize the answers yourself.",
|
|
722
|
+
mesh_magi_collect: "Worker answers arrive as report_completion events; synthesize them yourself.",
|
|
723
|
+
mesh_magi_kind_panel: "There are no review panels any more; pick the workers per review with mesh_send_task.",
|
|
724
|
+
mesh_magi_kind_panel_set: "There are no review panels any more; pick the workers per review with mesh_send_task.",
|
|
725
|
+
mesh_magi_kind_panel_list: "There are no review panels any more; pick the workers per review with mesh_send_task."
|
|
726
|
+
};
|
|
729
727
|
function retiredMeshToolError(name) {
|
|
728
|
+
if (Object.prototype.hasOwnProperty.call(REMOVED_MESH_TOOLS, name)) {
|
|
729
|
+
return `Tool "${name}" was removed. ${REMOVED_MESH_TOOLS[name]}`;
|
|
730
|
+
}
|
|
730
731
|
const entry = Object.prototype.hasOwnProperty.call(RETIRED_MESH_TOOLS, name) ? RETIRED_MESH_TOOLS[name] : void 0;
|
|
731
732
|
if (!entry) return null;
|
|
732
733
|
const discriminator = Object.entries(entry.args).map(([k, v]) => `${k}: "${v}"`).join(", ");
|
|
@@ -1023,7 +1024,6 @@ var DAEMON_TO_SERVER_TYPES = [
|
|
|
1023
1024
|
"command_result",
|
|
1024
1025
|
"error",
|
|
1025
1026
|
"agent_event",
|
|
1026
|
-
"beacon_vectors",
|
|
1027
1027
|
"daemon_mesh_command",
|
|
1028
1028
|
"p2p_offer",
|
|
1029
1029
|
"p2p_ice"
|
|
@@ -1056,7 +1056,6 @@ var SERVER_TO_DAEMON_CONTROL_TYPES = [
|
|
|
1056
1056
|
"command",
|
|
1057
1057
|
"agent_command",
|
|
1058
1058
|
"resolve_action",
|
|
1059
|
-
"beacon_vectors_result",
|
|
1060
1059
|
"daemon_mesh_result",
|
|
1061
1060
|
"p2p_ready",
|
|
1062
1061
|
"p2p_offer",
|
|
@@ -1081,18 +1080,9 @@ function decodeServerToDaemon(raw) {
|
|
|
1081
1080
|
...readEnvelopeFields(raw),
|
|
1082
1081
|
...isNonEmptyString(raw.source) ? { source: raw.source } : {}
|
|
1083
1082
|
};
|
|
1084
|
-
if (raw.type === "
|
|
1083
|
+
if (raw.type === "daemon_mesh_result") {
|
|
1085
1084
|
if (!isNonEmptyString(raw.requestId)) return null;
|
|
1086
1085
|
const base = { requestId: raw.requestId, success: raw.success === true };
|
|
1087
|
-
if (raw.type === "beacon_vectors_result") {
|
|
1088
|
-
return {
|
|
1089
|
-
type: "beacon_vectors_result",
|
|
1090
|
-
...base,
|
|
1091
|
-
...Array.isArray(raw.reports) ? { reports: raw.reports } : {},
|
|
1092
|
-
...typeof raw.truncated === "number" ? { truncated: raw.truncated } : {},
|
|
1093
|
-
...typeof raw.error === "string" ? { error: raw.error } : {}
|
|
1094
|
-
};
|
|
1095
|
-
}
|
|
1096
1086
|
return {
|
|
1097
1087
|
type: "daemon_mesh_result",
|
|
1098
1088
|
...base,
|
|
@@ -2069,9 +2059,6 @@ function sanitizeModelIdentifier(value) {
|
|
|
2069
2059
|
const trimmed = value.trim();
|
|
2070
2060
|
return MODEL_IDENTIFIER_PATTERN.test(trimmed) ? trimmed : void 0;
|
|
2071
2061
|
}
|
|
2072
|
-
function readString2(value) {
|
|
2073
|
-
return typeof value === "string" && value.trim() ? value.trim() : void 0;
|
|
2074
|
-
}
|
|
2075
2062
|
function readFiniteNumber(value) {
|
|
2076
2063
|
return typeof value === "number" && Number.isFinite(value) ? value : void 0;
|
|
2077
2064
|
}
|
|
@@ -2083,17 +2070,17 @@ function parseModelSelection(raw) {
|
|
|
2083
2070
|
for (const entry of record.history) {
|
|
2084
2071
|
if (!entry || typeof entry !== "object") continue;
|
|
2085
2072
|
const e = entry;
|
|
2086
|
-
const value =
|
|
2073
|
+
const value = readString(e.value);
|
|
2087
2074
|
const at = readFiniteNumber(e.at);
|
|
2088
2075
|
const via = e.via === "launch" || e.via === "change_model" || e.via === "observed" ? e.via : void 0;
|
|
2089
2076
|
if (value && at !== void 0 && via) history.push({ at, value, via });
|
|
2090
2077
|
}
|
|
2091
2078
|
}
|
|
2092
|
-
const requested =
|
|
2093
|
-
const launchValue =
|
|
2094
|
-
const resolvedDefault =
|
|
2095
|
-
const current =
|
|
2096
|
-
const observed =
|
|
2079
|
+
const requested = readString(record.requested);
|
|
2080
|
+
const launchValue = readString(record.launchValue);
|
|
2081
|
+
const resolvedDefault = readString(record.resolvedDefault);
|
|
2082
|
+
const current = readString(record.current);
|
|
2083
|
+
const observed = readString(record.observed);
|
|
2097
2084
|
const observedAt = readFiniteNumber(record.observedAt);
|
|
2098
2085
|
return {
|
|
2099
2086
|
source: isModelAxisSource(record.source) ? record.source : "unspecified",
|
|
@@ -2109,15 +2096,15 @@ function parseModelSelection(raw) {
|
|
|
2109
2096
|
function parseSessionLaunchRecord(raw) {
|
|
2110
2097
|
if (!raw || typeof raw !== "object") return void 0;
|
|
2111
2098
|
const record = raw;
|
|
2112
|
-
const sessionId =
|
|
2113
|
-
const providerType =
|
|
2099
|
+
const sessionId = readString(record.sessionId);
|
|
2100
|
+
const providerType = readString(record.providerType);
|
|
2114
2101
|
const launchedAt = readFiniteNumber(record.launchedAt);
|
|
2115
2102
|
const model = parseModelSelection(record.model);
|
|
2116
2103
|
const thinkingLevel = parseModelSelection(record.thinkingLevel);
|
|
2117
2104
|
if (!sessionId || !providerType || launchedAt === void 0 || !model || !thinkingLevel) return void 0;
|
|
2118
|
-
const providerVersion =
|
|
2119
|
-
const workspace =
|
|
2120
|
-
const autoApproveModeId =
|
|
2105
|
+
const providerVersion = readString(record.providerVersion);
|
|
2106
|
+
const workspace = readString(record.workspace);
|
|
2107
|
+
const autoApproveModeId = readString(record.autoApproveModeId);
|
|
2121
2108
|
return {
|
|
2122
2109
|
sessionId,
|
|
2123
2110
|
providerType,
|
|
@@ -2405,8 +2392,6 @@ function decodeMeshIndexQueryResponse(value) {
|
|
|
2405
2392
|
// src/turn-ipc-mission.ts
|
|
2406
2393
|
var MESH_MISSION_STATUSES = ["active", "paused", "completed", "abandoned"];
|
|
2407
2394
|
var isMeshMissionStatusValue = makeGuard3(MESH_MISSION_STATUSES);
|
|
2408
|
-
var MESH_MISSION_SOURCES = ["magi", "coordinator"];
|
|
2409
|
-
var isMeshMissionSourceValue = makeGuard3(MESH_MISSION_SOURCES);
|
|
2410
2395
|
function isMissionBriefWire(value) {
|
|
2411
2396
|
if (!isRecord(value) || !hasOnlyKeys2(value, ["goal", "constraints", "doneCriteria", "handoffNotes", "ownedPaths"])) return false;
|
|
2412
2397
|
if (typeof value.goal !== "string" || value.goal.trim().length === 0) return false;
|
|
@@ -2416,23 +2401,21 @@ function isMissionBriefWire(value) {
|
|
|
2416
2401
|
return true;
|
|
2417
2402
|
}
|
|
2418
2403
|
function isMeshMissionRecordWire(value) {
|
|
2419
|
-
if (!isRecord(value) || !hasOnlyKeys2(value, ["id", "meshId", "title", "goal", "status", "
|
|
2404
|
+
if (!isRecord(value) || !hasOnlyKeys2(value, ["id", "meshId", "title", "goal", "status", "brief"])) return false;
|
|
2420
2405
|
if (!isEvidenceIdentifier(value.id) || !isEvidenceIdentifier(value.meshId)) return false;
|
|
2421
2406
|
if (typeof value.title !== "string" || typeof value.goal !== "string") return false;
|
|
2422
2407
|
if (!isMeshMissionStatusValue(value.status)) return false;
|
|
2423
|
-
if (value.source !== void 0 && !isMeshMissionSourceValue(value.source)) return false;
|
|
2424
2408
|
if (value.brief !== void 0 && !isMissionBriefWire(value.brief)) return false;
|
|
2425
2409
|
return true;
|
|
2426
2410
|
}
|
|
2427
2411
|
function isMissionUpsertRequest(value) {
|
|
2428
|
-
if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "id", "title", "goal", "status", "
|
|
2412
|
+
if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "id", "title", "goal", "status", "brief"])) return false;
|
|
2429
2413
|
if (value.v !== TURN_IPC_PROTOCOL_VERSION) return false;
|
|
2430
2414
|
if (!isEvidenceIdentifier(value.meshId)) return false;
|
|
2431
2415
|
if (value.id !== void 0 && !isEvidenceIdentifier(value.id)) return false;
|
|
2432
2416
|
if (typeof value.title !== "string" || value.title.trim().length === 0) return false;
|
|
2433
2417
|
if (value.goal !== void 0 && typeof value.goal !== "string") return false;
|
|
2434
2418
|
if (value.status !== void 0 && !isMeshMissionStatusValue(value.status)) return false;
|
|
2435
|
-
if (value.source !== void 0 && !isMeshMissionSourceValue(value.source)) return false;
|
|
2436
2419
|
if (value.brief !== void 0 && value.brief !== null && !isMissionBriefWire(value.brief)) return false;
|
|
2437
2420
|
return true;
|
|
2438
2421
|
}
|
|
@@ -2466,7 +2449,7 @@ function decodeMissionQueryResponse(value) {
|
|
|
2466
2449
|
return isMissionQueryResponse(value) ? value : null;
|
|
2467
2450
|
}
|
|
2468
2451
|
function isMissionListQueryRequest(value) {
|
|
2469
|
-
if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "statuses", "verbose", "
|
|
2452
|
+
if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "statuses", "verbose", "withStats", "limit", "historyIdLimit", "meshStatusView"])) return false;
|
|
2470
2453
|
if (value.meshStatusView !== void 0 && value.meshStatusView !== "compact" && value.meshStatusView !== "verbose") return false;
|
|
2471
2454
|
if (value.v !== TURN_IPC_PROTOCOL_VERSION) return false;
|
|
2472
2455
|
if (!isEvidenceIdentifier(value.meshId)) return false;
|
|
@@ -2475,7 +2458,6 @@ function isMissionListQueryRequest(value) {
|
|
|
2475
2458
|
if (!value.statuses.every(isMeshMissionStatusValue)) return false;
|
|
2476
2459
|
}
|
|
2477
2460
|
if (value.verbose !== void 0 && typeof value.verbose !== "boolean") return false;
|
|
2478
|
-
if (value.includeMagi !== void 0 && typeof value.includeMagi !== "boolean") return false;
|
|
2479
2461
|
if (value.withStats !== void 0 && typeof value.withStats !== "boolean") return false;
|
|
2480
2462
|
if (value.limit !== void 0 && !isNonNegativeInt(value.limit)) return false;
|
|
2481
2463
|
if (value.historyIdLimit !== void 0 && !isNonNegativeInt(value.historyIdLimit)) return false;
|
|
@@ -2508,13 +2490,12 @@ function isMissionListSummaryWire(value) {
|
|
|
2508
2490
|
const hasGoal = "goal" in value;
|
|
2509
2491
|
const hasPreview = "goalPreview" in value && "goalTruncated" in value;
|
|
2510
2492
|
if (hasGoal === hasPreview) return false;
|
|
2511
|
-
const baseKeys = ["id", "meshId", "title", "status", "
|
|
2493
|
+
const baseKeys = ["id", "meshId", "title", "status", "tasks", "stats", "brief", "createdAt", "updatedAt", "closeCandidateEmittedAt"];
|
|
2512
2494
|
const allowed = hasGoal ? [...baseKeys, "goal"] : [...baseKeys, "goalPreview", "goalTruncated"];
|
|
2513
2495
|
if (!hasOnlyKeys2(value, allowed)) return false;
|
|
2514
2496
|
if (!isEvidenceIdentifier(value.id) || !isEvidenceIdentifier(value.meshId)) return false;
|
|
2515
2497
|
if (typeof value.title !== "string") return false;
|
|
2516
2498
|
if (!isMeshMissionStatusValue(value.status)) return false;
|
|
2517
|
-
if (value.source !== void 0 && !isMeshMissionSourceValue(value.source)) return false;
|
|
2518
2499
|
if (!isMeshMissionTaskAggregateWire(value.tasks)) return false;
|
|
2519
2500
|
if (value.stats !== void 0 && !isMeshMissionStatsWire(value.stats)) return false;
|
|
2520
2501
|
if (value.brief !== void 0 && !isMissionBriefWire(value.brief)) return false;
|
|
@@ -2667,7 +2648,7 @@ function decodeQueueQueryRequest(value) {
|
|
|
2667
2648
|
return isQueueQueryRequest(value) ? value : null;
|
|
2668
2649
|
}
|
|
2669
2650
|
function isQueueDependencyHeadWire(value) {
|
|
2670
|
-
return isRecord(value) && hasOnlyKeys2(value, ["id", "status", "
|
|
2651
|
+
return isRecord(value) && hasOnlyKeys2(value, ["id", "status", "cancelReason"]) && typeof value.id === "string" && typeof value.status === "string" && (value.cancelReason === void 0 || typeof value.cancelReason === "string");
|
|
2671
2652
|
}
|
|
2672
2653
|
function isQueueQueryResponse(value) {
|
|
2673
2654
|
if (!isRecord(value) || !hasOnlyKeys2(value, ["entries", "counts", "oldHistoricalCount", "dependencyHeads"])) return false;
|
|
@@ -2681,7 +2662,7 @@ function decodeQueueQueryResponse(value) {
|
|
|
2681
2662
|
return isQueueQueryResponse(value) ? value : null;
|
|
2682
2663
|
}
|
|
2683
2664
|
function isQueueEnqueueRequest(value) {
|
|
2684
|
-
return isRecord(value) && hasOnlyKeys2(value, ["v", "meshId", "message", "options"
|
|
2665
|
+
return isRecord(value) && hasOnlyKeys2(value, ["v", "meshId", "message", "options"]) && value.v === TURN_IPC_PROTOCOL_VERSION && isEvidenceIdentifier(value.meshId) && typeof value.message === "string" && isOptionalRecord(value.options);
|
|
2685
2666
|
}
|
|
2686
2667
|
function decodeQueueEnqueueRequest(value) {
|
|
2687
2668
|
return isQueueEnqueueRequest(value) ? value : null;
|
|
@@ -2692,28 +2673,24 @@ function isQueueEnqueueResponse(value) {
|
|
|
2692
2673
|
function decodeQueueEnqueueResponse(value) {
|
|
2693
2674
|
return isQueueEnqueueResponse(value) ? value : null;
|
|
2694
2675
|
}
|
|
2695
|
-
function
|
|
2696
|
-
|
|
2697
|
-
if (value.v !== TURN_IPC_PROTOCOL_VERSION || !isEvidenceIdentifier(value.meshId)) return false;
|
|
2698
|
-
if (value.mode === "compat") return isRecordArray(value.specs) && value.plan === void 0 && isOptionalRecord(value.audit);
|
|
2699
|
-
if (value.mode === "graph") return isRecord(value.plan) && value.specs === void 0 && isOptionalRecord(value.audit);
|
|
2700
|
-
return false;
|
|
2676
|
+
function isQueueEnqueueBatchRequest(value) {
|
|
2677
|
+
return isRecord(value) && hasOnlyKeys2(value, ["v", "meshId", "specs"]) && value.v === TURN_IPC_PROTOCOL_VERSION && isEvidenceIdentifier(value.meshId) && isRecordArray(value.specs);
|
|
2701
2678
|
}
|
|
2702
|
-
function
|
|
2703
|
-
return
|
|
2679
|
+
function decodeQueueEnqueueBatchRequest(value) {
|
|
2680
|
+
return isQueueEnqueueBatchRequest(value) ? value : null;
|
|
2704
2681
|
}
|
|
2705
|
-
function
|
|
2682
|
+
function isQueueEnqueueBatchResponse(value) {
|
|
2706
2683
|
if (!isRecord(value)) return false;
|
|
2707
2684
|
if (value.ok === true) {
|
|
2708
|
-
return hasOnlyKeys2(value, ["ok", "tasks"
|
|
2685
|
+
return hasOnlyKeys2(value, ["ok", "tasks"]) && Array.isArray(value.tasks) && value.tasks.every(isQueueEntryWire);
|
|
2709
2686
|
}
|
|
2710
2687
|
if (value.ok === false) {
|
|
2711
2688
|
return hasOnlyKeys2(value, ["ok", "refusalCode", "message", "extra"]) && typeof value.message === "string" && isOptionalString(value.refusalCode) && isOptionalRecord(value.extra);
|
|
2712
2689
|
}
|
|
2713
2690
|
return false;
|
|
2714
2691
|
}
|
|
2715
|
-
function
|
|
2716
|
-
return
|
|
2692
|
+
function decodeQueueEnqueueBatchResponse(value) {
|
|
2693
|
+
return isQueueEnqueueBatchResponse(value) ? value : null;
|
|
2717
2694
|
}
|
|
2718
2695
|
function isQueueCancelRequest(value) {
|
|
2719
2696
|
return isRecord(value) && hasOnlyKeys2(value, ["v", "meshId", "taskId", "reason"]) && value.v === TURN_IPC_PROTOCOL_VERSION && isEvidenceIdentifier(value.meshId) && isEvidenceIdentifier(value.taskId) && isOptionalString(value.reason);
|
|
@@ -2740,31 +2717,17 @@ function decodeQueueRequeueResponse(value) {
|
|
|
2740
2717
|
return isQueueRequeueResponse(value) ? value : null;
|
|
2741
2718
|
}
|
|
2742
2719
|
function isDirectDispatchRecordRequest(value) {
|
|
2743
|
-
return isRecord(value) && hasOnlyKeys2(value, ["v", "meshId", "taskId", "message", "task"
|
|
2720
|
+
return isRecord(value) && hasOnlyKeys2(value, ["v", "meshId", "taskId", "message", "task"]) && value.v === TURN_IPC_PROTOCOL_VERSION && isEvidenceIdentifier(value.meshId) && isEvidenceIdentifier(value.taskId) && typeof value.message === "string" && isOptionalRecord(value.task);
|
|
2744
2721
|
}
|
|
2745
2722
|
function decodeDirectDispatchRecordRequest(value) {
|
|
2746
2723
|
return isDirectDispatchRecordRequest(value) ? value : null;
|
|
2747
2724
|
}
|
|
2748
2725
|
function isDirectDispatchRecordResponse(value) {
|
|
2749
|
-
return isRecord(value) && hasOnlyKeys2(value, ["taskRecorded"
|
|
2726
|
+
return isRecord(value) && hasOnlyKeys2(value, ["taskRecorded"]) && typeof value.taskRecorded === "boolean";
|
|
2750
2727
|
}
|
|
2751
2728
|
function decodeDirectDispatchRecordResponse(value) {
|
|
2752
2729
|
return isDirectDispatchRecordResponse(value) ? value : null;
|
|
2753
2730
|
}
|
|
2754
|
-
var GRAPH_AUDIT_EVENTS = ["gate_claimed", "gate_released", "gate_abandoned", "node_patched"];
|
|
2755
|
-
var isGraphAuditEvent = makeGuard3(GRAPH_AUDIT_EVENTS);
|
|
2756
|
-
function isGraphAuditRecordRequest(value) {
|
|
2757
|
-
return isRecord(value) && hasOnlyKeys2(value, ["v", "meshId", "event", "fields"]) && value.v === TURN_IPC_PROTOCOL_VERSION && isEvidenceIdentifier(value.meshId) && isGraphAuditEvent(value.event) && isRecord(value.fields);
|
|
2758
|
-
}
|
|
2759
|
-
function decodeGraphAuditRecordRequest(value) {
|
|
2760
|
-
return isGraphAuditRecordRequest(value) ? value : null;
|
|
2761
|
-
}
|
|
2762
|
-
function isGraphAuditRecordResponse(value) {
|
|
2763
|
-
return isRecord(value) && hasOnlyKeys2(value, ["recorded"]) && typeof value.recorded === "boolean";
|
|
2764
|
-
}
|
|
2765
|
-
function decodeGraphAuditRecordResponse(value) {
|
|
2766
|
-
return isGraphAuditRecordResponse(value) ? value : null;
|
|
2767
|
-
}
|
|
2768
2731
|
function isActiveWorkQueryRequest(value) {
|
|
2769
2732
|
if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "nodes", "queue", "recordTail", "includeTerminalDirect", "compute", "includeInputs", "includeSummary", "includeSchedulingRuntime", "mesh"])) return false;
|
|
2770
2733
|
if (value.v !== TURN_IPC_PROTOCOL_VERSION || !isEvidenceIdentifier(value.meshId)) return false;
|
|
@@ -2813,123 +2776,7 @@ function decodeRecoveryContextQueryResponse(value) {
|
|
|
2813
2776
|
return isRecoveryContextQueryResponse(value) ? value : null;
|
|
2814
2777
|
}
|
|
2815
2778
|
|
|
2816
|
-
// src/turn-ipc-
|
|
2817
|
-
function isGraphGateClaimRequest(value) {
|
|
2818
|
-
if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "gateId", "coordinatorSessionId", "leaseSeconds", "extendDeadlineSeconds", "probeConvergenceEvidence"])) return false;
|
|
2819
|
-
if (value.v !== TURN_IPC_PROTOCOL_VERSION || !isEvidenceIdentifier(value.meshId) || !isEvidenceIdentifier(value.gateId) || !isEvidenceIdentifier(value.coordinatorSessionId)) return false;
|
|
2820
|
-
if (value.leaseSeconds !== void 0 && !isFiniteNumber3(value.leaseSeconds)) return false;
|
|
2821
|
-
if (value.extendDeadlineSeconds !== void 0 && !isFiniteNumber3(value.extendDeadlineSeconds)) return false;
|
|
2822
|
-
return isOptionalBoolean(value.probeConvergenceEvidence);
|
|
2823
|
-
}
|
|
2824
|
-
function decodeGraphGateClaimRequest(value) {
|
|
2825
|
-
return isGraphGateClaimRequest(value) ? value : null;
|
|
2826
|
-
}
|
|
2827
|
-
function isGraphGateClaimResponse(value) {
|
|
2828
|
-
if (!isRecord(value) || !hasOnlyKeys2(value, ["claimed", "reason", "gate", "leaseGeneration", "fencingToken", "leaseExpiresAt", "deadlineAt", "ambiguousExternalOutcome", "previousLeaseOwnerSessionId", "convergenceEvidence"])) return false;
|
|
2829
|
-
if (typeof value.claimed !== "boolean") return false;
|
|
2830
|
-
return isOptionalRecord(value.gate) && isOptionalRecord(value.convergenceEvidence) && isOptionalBoolean(value.ambiguousExternalOutcome);
|
|
2831
|
-
}
|
|
2832
|
-
function decodeGraphGateClaimResponse(value) {
|
|
2833
|
-
return isGraphGateClaimResponse(value) ? value : null;
|
|
2834
|
-
}
|
|
2835
|
-
function isGraphGateReleaseRequest(value) {
|
|
2836
|
-
if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "gateId", "fencingToken", "leaseGeneration", "idempotencyKey", "outcome", "result", "evidence", "patches"])) return false;
|
|
2837
|
-
if (value.v !== TURN_IPC_PROTOCOL_VERSION || !isEvidenceIdentifier(value.meshId) || !isEvidenceIdentifier(value.gateId)) return false;
|
|
2838
|
-
if (typeof value.fencingToken !== "string" || !value.fencingToken) return false;
|
|
2839
|
-
if (!isFiniteNumber3(value.leaseGeneration)) return false;
|
|
2840
|
-
if (typeof value.idempotencyKey !== "string" || !value.idempotencyKey) return false;
|
|
2841
|
-
if (typeof value.outcome !== "string" || !value.outcome) return false;
|
|
2842
|
-
if (value.patches !== void 0) {
|
|
2843
|
-
if (!Array.isArray(value.patches)) return false;
|
|
2844
|
-
for (const p of value.patches) {
|
|
2845
|
-
if (!isRecord(p) || typeof p.node !== "string" || !p.node || !isRecord(p.baseSpecPatch)) return false;
|
|
2846
|
-
}
|
|
2847
|
-
}
|
|
2848
|
-
return true;
|
|
2849
|
-
}
|
|
2850
|
-
function decodeGraphGateReleaseRequest(value) {
|
|
2851
|
-
return isGraphGateReleaseRequest(value) ? value : null;
|
|
2852
|
-
}
|
|
2853
|
-
function isGraphGateReleaseResponse(value) {
|
|
2854
|
-
if (!isRecord(value)) return false;
|
|
2855
|
-
if (value.released === true) {
|
|
2856
|
-
if (!hasOnlyKeys2(value, ["released", "duplicate", "gate", "materializedNodeIds", "downstreamNodeCount", "graphCompleted"])) return false;
|
|
2857
|
-
if (typeof value.duplicate !== "boolean") return false;
|
|
2858
|
-
if (!Array.isArray(value.materializedNodeIds) || !value.materializedNodeIds.every((n) => typeof n === "string")) return false;
|
|
2859
|
-
if (value.downstreamNodeCount !== void 0 && !isNonNegativeInt(value.downstreamNodeCount)) return false;
|
|
2860
|
-
return isOptionalRecord(value.gate) && isOptionalBoolean(value.graphCompleted);
|
|
2861
|
-
}
|
|
2862
|
-
if (value.released === false) {
|
|
2863
|
-
return hasOnlyKeys2(value, ["released", "refusalCode", "message"]) && typeof value.message === "string" && isOptionalString(value.refusalCode);
|
|
2864
|
-
}
|
|
2865
|
-
return false;
|
|
2866
|
-
}
|
|
2867
|
-
function decodeGraphGateReleaseResponse(value) {
|
|
2868
|
-
return isGraphGateReleaseResponse(value) ? value : null;
|
|
2869
|
-
}
|
|
2870
|
-
function isGraphGateAbandonRequest(value) {
|
|
2871
|
-
if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "gateId", "reason", "coordinatorSessionId", "force"])) return false;
|
|
2872
|
-
if (value.v !== TURN_IPC_PROTOCOL_VERSION || !isEvidenceIdentifier(value.meshId) || !isEvidenceIdentifier(value.gateId)) return false;
|
|
2873
|
-
if (typeof value.reason !== "string" || !value.reason) return false;
|
|
2874
|
-
if (value.coordinatorSessionId !== void 0 && !isEvidenceIdentifier(value.coordinatorSessionId)) return false;
|
|
2875
|
-
return isOptionalBoolean(value.force);
|
|
2876
|
-
}
|
|
2877
|
-
function decodeGraphGateAbandonRequest(value) {
|
|
2878
|
-
return isGraphGateAbandonRequest(value) ? value : null;
|
|
2879
|
-
}
|
|
2880
|
-
function isGraphGateAbandonResponse(value) {
|
|
2881
|
-
if (!isRecord(value) || !hasOnlyKeys2(value, ["abandoned", "reason", "gate", "cancelledNodeIds", "cancelledTaskIds", "graphStatus"])) return false;
|
|
2882
|
-
if (typeof value.abandoned !== "boolean") return false;
|
|
2883
|
-
if (!Array.isArray(value.cancelledNodeIds) || !value.cancelledNodeIds.every((n) => typeof n === "string")) return false;
|
|
2884
|
-
if (!Array.isArray(value.cancelledTaskIds) || !value.cancelledTaskIds.every((n) => typeof n === "string")) return false;
|
|
2885
|
-
return isOptionalRecord(value.gate);
|
|
2886
|
-
}
|
|
2887
|
-
function decodeGraphGateAbandonResponse(value) {
|
|
2888
|
-
return isGraphGateAbandonResponse(value) ? value : null;
|
|
2889
|
-
}
|
|
2890
|
-
function isGraphNodePatchRequest(value) {
|
|
2891
|
-
if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "node", "graphId", "baseSpecPatch"])) return false;
|
|
2892
|
-
if (value.v !== TURN_IPC_PROTOCOL_VERSION || !isEvidenceIdentifier(value.meshId)) return false;
|
|
2893
|
-
if (typeof value.node !== "string" || !value.node) return false;
|
|
2894
|
-
if (value.graphId !== void 0 && !isEvidenceIdentifier(value.graphId)) return false;
|
|
2895
|
-
return isRecord(value.baseSpecPatch) && Object.keys(value.baseSpecPatch).length > 0;
|
|
2896
|
-
}
|
|
2897
|
-
function decodeGraphNodePatchRequest(value) {
|
|
2898
|
-
return isGraphNodePatchRequest(value) ? value : null;
|
|
2899
|
-
}
|
|
2900
|
-
function isGraphNodePatchResponse(value) {
|
|
2901
|
-
if (!isRecord(value)) return false;
|
|
2902
|
-
if (value.patched === true) {
|
|
2903
|
-
if (!hasOnlyKeys2(value, ["patched", "graphId", "nodeId", "ref", "queueTaskId", "materializationVersion", "state", "outcomeKind", "skippedReason", "blockedReason"])) return false;
|
|
2904
|
-
if (!isEvidenceIdentifier(value.graphId) || !isEvidenceIdentifier(value.nodeId)) return false;
|
|
2905
|
-
if (!isNonNegativeInt(value.materializationVersion)) return false;
|
|
2906
|
-
return typeof value.state === "string" && typeof value.outcomeKind === "string";
|
|
2907
|
-
}
|
|
2908
|
-
if (value.patched === false) {
|
|
2909
|
-
return hasOnlyKeys2(value, ["patched", "refusalCode", "message"]) && typeof value.message === "string" && isOptionalString(value.refusalCode);
|
|
2910
|
-
}
|
|
2911
|
-
return false;
|
|
2912
|
-
}
|
|
2913
|
-
function decodeGraphNodePatchResponse(value) {
|
|
2914
|
-
return isGraphNodePatchResponse(value) ? value : null;
|
|
2915
|
-
}
|
|
2916
|
-
function isGraphViewQueryRequest(value) {
|
|
2917
|
-
if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "graphId", "batchId", "activeOnly", "limit", "probeGateEvidence"])) return false;
|
|
2918
|
-
if (value.v !== TURN_IPC_PROTOCOL_VERSION || !isEvidenceIdentifier(value.meshId)) return false;
|
|
2919
|
-
if (value.graphId !== void 0 && !isEvidenceIdentifier(value.graphId)) return false;
|
|
2920
|
-
if (value.batchId !== void 0 && !isEvidenceIdentifier(value.batchId)) return false;
|
|
2921
|
-
if (value.limit !== void 0 && !isNonNegativeInt(value.limit)) return false;
|
|
2922
|
-
return isOptionalBoolean(value.activeOnly) && isOptionalBoolean(value.probeGateEvidence);
|
|
2923
|
-
}
|
|
2924
|
-
function decodeGraphViewQueryRequest(value) {
|
|
2925
|
-
return isGraphViewQueryRequest(value) ? value : null;
|
|
2926
|
-
}
|
|
2927
|
-
function isGraphViewQueryResponse(value) {
|
|
2928
|
-
return isRecord(value) && hasOnlyKeys2(value, ["graphs"]) && isRecordArray(value.graphs);
|
|
2929
|
-
}
|
|
2930
|
-
function decodeGraphViewQueryResponse(value) {
|
|
2931
|
-
return isGraphViewQueryResponse(value) ? value : null;
|
|
2932
|
-
}
|
|
2779
|
+
// src/turn-ipc-stats.ts
|
|
2933
2780
|
function isTaskStatsQueryRequest(value) {
|
|
2934
2781
|
if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "taskIds", "missionId", "tail", "rollup", "missionIds"])) return false;
|
|
2935
2782
|
if (value.v !== TURN_IPC_PROTOCOL_VERSION || !isEvidenceIdentifier(value.meshId)) return false;
|
|
@@ -3023,21 +2870,15 @@ var TURN_IPC_COMMANDS = [
|
|
|
3023
2870
|
"record_local",
|
|
3024
2871
|
"queue_query",
|
|
3025
2872
|
"queue_enqueue",
|
|
3026
|
-
"
|
|
2873
|
+
"queue_enqueue_batch",
|
|
3027
2874
|
"queue_cancel",
|
|
3028
2875
|
"queue_requeue",
|
|
3029
2876
|
"direct_dispatch_record",
|
|
3030
|
-
"graph_audit_record",
|
|
3031
2877
|
"active_work_query",
|
|
3032
2878
|
"recovery_context_query",
|
|
3033
2879
|
// C-W9c additions (2026-09-24 19:00 stamp — the last mcp-server in-process
|
|
3034
|
-
// daemon-core paths:
|
|
3035
|
-
//
|
|
3036
|
-
"graph_gate_claim",
|
|
3037
|
-
"graph_gate_release",
|
|
3038
|
-
"graph_gate_abandon",
|
|
3039
|
-
"graph_node_patch",
|
|
3040
|
-
"graph_view_query",
|
|
2880
|
+
// daemon-core paths: mission reads, task/mission stats, orphaned-pin
|
|
2881
|
+
// helpers, one prune audit):
|
|
3041
2882
|
"task_stats_query",
|
|
3042
2883
|
"prune_stale_direct",
|
|
3043
2884
|
"orphaned_pin_notify"
|
|
@@ -3486,10 +3327,8 @@ export {
|
|
|
3486
3327
|
DISPATCH_FAILURE_REASONS,
|
|
3487
3328
|
EVIDENCE_ENVELOPE_FIELD_SPECS,
|
|
3488
3329
|
EVIDENCE_SOURCE_IDS,
|
|
3489
|
-
GRAPH_AUDIT_EVENTS,
|
|
3490
3330
|
HOLD_REASONS,
|
|
3491
3331
|
LIVENESS_RESULTS,
|
|
3492
|
-
MAGI_RAW_ANSWER_CAP,
|
|
3493
3332
|
MAX_MESH_RECORD_STRING,
|
|
3494
3333
|
MAX_OWNED_PATHS,
|
|
3495
3334
|
MESH_CHUNK_KIND,
|
|
@@ -3500,7 +3339,6 @@ export {
|
|
|
3500
3339
|
MESH_MAX_CHUNKS,
|
|
3501
3340
|
MESH_MAX_INLINE_FRAME_BYTES,
|
|
3502
3341
|
MESH_MAX_REASSEMBLED_BYTES,
|
|
3503
|
-
MESH_MISSION_SOURCES,
|
|
3504
3342
|
MESH_MISSION_STATUSES,
|
|
3505
3343
|
MESH_P2P_SIGNAL_TYPES,
|
|
3506
3344
|
MESH_RECORD_PAYLOAD_KEYS,
|
|
@@ -3534,6 +3372,7 @@ export {
|
|
|
3534
3372
|
RECENT_SESSION_BUCKETS,
|
|
3535
3373
|
RECLAIMING_SEND_REFUSALS,
|
|
3536
3374
|
RELEASE_CHANNELS,
|
|
3375
|
+
REMOVED_MESH_TOOLS,
|
|
3537
3376
|
RETIRED_MESH_TOOLS,
|
|
3538
3377
|
SEND_POLICY_MODES,
|
|
3539
3378
|
SEND_REFUSAL_REASONS,
|
|
@@ -3577,7 +3416,6 @@ export {
|
|
|
3577
3416
|
WORKER_TOOLS,
|
|
3578
3417
|
appendWorkerProtocolFooter,
|
|
3579
3418
|
argsCarryStatusProbeMarker,
|
|
3580
|
-
buildMagiPanelProposal,
|
|
3581
3419
|
buildSlotProposal,
|
|
3582
3420
|
canonicalDaemonId,
|
|
3583
3421
|
classifySessionStatus,
|
|
@@ -3593,18 +3431,6 @@ export {
|
|
|
3593
3431
|
decodeDashboardToUserSession,
|
|
3594
3432
|
decodeDirectDispatchRecordRequest,
|
|
3595
3433
|
decodeDirectDispatchRecordResponse,
|
|
3596
|
-
decodeGraphAuditRecordRequest,
|
|
3597
|
-
decodeGraphAuditRecordResponse,
|
|
3598
|
-
decodeGraphGateAbandonRequest,
|
|
3599
|
-
decodeGraphGateAbandonResponse,
|
|
3600
|
-
decodeGraphGateClaimRequest,
|
|
3601
|
-
decodeGraphGateClaimResponse,
|
|
3602
|
-
decodeGraphGateReleaseRequest,
|
|
3603
|
-
decodeGraphGateReleaseResponse,
|
|
3604
|
-
decodeGraphNodePatchRequest,
|
|
3605
|
-
decodeGraphNodePatchResponse,
|
|
3606
|
-
decodeGraphViewQueryRequest,
|
|
3607
|
-
decodeGraphViewQueryResponse,
|
|
3608
3434
|
decodeLedgerQueryRequest,
|
|
3609
3435
|
decodeLedgerQueryResponse,
|
|
3610
3436
|
decodeMeshIndexQueryRequest,
|
|
@@ -3629,8 +3455,8 @@ export {
|
|
|
3629
3455
|
decodePruneStaleDirectResponse,
|
|
3630
3456
|
decodeQueueCancelRequest,
|
|
3631
3457
|
decodeQueueCancelResponse,
|
|
3632
|
-
|
|
3633
|
-
|
|
3458
|
+
decodeQueueEnqueueBatchRequest,
|
|
3459
|
+
decodeQueueEnqueueBatchResponse,
|
|
3634
3460
|
decodeQueueEnqueueRequest,
|
|
3635
3461
|
decodeQueueEnqueueResponse,
|
|
3636
3462
|
decodeQueueQueryRequest,
|
|
@@ -3687,7 +3513,6 @@ export {
|
|
|
3687
3513
|
isDowngrade,
|
|
3688
3514
|
isEvidenceIdentifier,
|
|
3689
3515
|
isFiniteNumber,
|
|
3690
|
-
isGraphViewQueryRequest,
|
|
3691
3516
|
isIdleSessionState,
|
|
3692
3517
|
isInputEnvelopeWire,
|
|
3693
3518
|
isMeshDeliveryMode,
|
|
@@ -3766,14 +3591,17 @@ export {
|
|
|
3766
3591
|
parseSessionLaunchRecord,
|
|
3767
3592
|
pathsOverlap,
|
|
3768
3593
|
pickBestTransitGitStatus,
|
|
3594
|
+
projectFileDiffRow,
|
|
3769
3595
|
projectTurnEvidenceEntry,
|
|
3770
3596
|
readBoolean,
|
|
3771
3597
|
readEnvelopeFields,
|
|
3772
3598
|
readGitSubmodules,
|
|
3773
3599
|
readNumber,
|
|
3600
|
+
readOptionalRecord,
|
|
3774
3601
|
readRecord,
|
|
3775
3602
|
readString,
|
|
3776
3603
|
readStringArray,
|
|
3604
|
+
readText,
|
|
3777
3605
|
renderCoordinatorWorkerSection,
|
|
3778
3606
|
renderMissionBriefBlock,
|
|
3779
3607
|
renderWorkerProtocolFooter,
|