@adhdev/mesh-shared 1.0.58-rc.5 → 1.0.58-rc.7
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/index.d.ts +2 -0
- package/dist/index.js +91 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +84 -0
- package/dist/index.mjs.map +1 -1
- package/dist/mesh-tool-names.d.ts +2 -2
- package/dist/semver-compare.d.ts +68 -0
- package/dist/ws-protocol.d.ts +35 -0
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/mesh-tool-names.ts +1 -0
- package/src/semver-compare.ts +122 -0
- package/src/ws-protocol.ts +90 -0
package/dist/index.mjs
CHANGED
|
@@ -653,6 +653,7 @@ function interpolateString(template, ctx) {
|
|
|
653
653
|
// src/mesh-tool-names.ts
|
|
654
654
|
var CANONICAL_MESH_TOOL_NAMES = [
|
|
655
655
|
"mesh_status",
|
|
656
|
+
"mesh_route_preview",
|
|
656
657
|
"mesh_list_nodes",
|
|
657
658
|
// GRAPH-ORCHESTRATION Phase F — batch before task, mirroring ALL_MESH_TOOLS.
|
|
658
659
|
"mesh_enqueue_batch",
|
|
@@ -906,10 +907,87 @@ var MeshChunkAssembler = class {
|
|
|
906
907
|
}
|
|
907
908
|
}
|
|
908
909
|
};
|
|
910
|
+
|
|
911
|
+
// src/semver-compare.ts
|
|
912
|
+
var SEMVER_PATTERN = /^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
|
|
913
|
+
var NUMERIC_IDENTIFIER = /^\d+$/;
|
|
914
|
+
function parseSemver(version) {
|
|
915
|
+
if (typeof version !== "string") return null;
|
|
916
|
+
const match = version.trim().replace(/^v/, "").match(SEMVER_PATTERN);
|
|
917
|
+
if (!match) return null;
|
|
918
|
+
return {
|
|
919
|
+
major: Number(match[1]),
|
|
920
|
+
minor: Number(match[2]),
|
|
921
|
+
patch: Number(match[3]),
|
|
922
|
+
prerelease: match[4] ? match[4].split(".") : []
|
|
923
|
+
};
|
|
924
|
+
}
|
|
925
|
+
function comparePrerelease(a, b) {
|
|
926
|
+
if (a.length === 0 && b.length === 0) return 0;
|
|
927
|
+
if (a.length === 0) return 1;
|
|
928
|
+
if (b.length === 0) return -1;
|
|
929
|
+
for (let i = 0; i < Math.min(a.length, b.length); i += 1) {
|
|
930
|
+
const idA = a[i];
|
|
931
|
+
const idB = b[i];
|
|
932
|
+
if (idA === idB) continue;
|
|
933
|
+
const numA = NUMERIC_IDENTIFIER.test(idA);
|
|
934
|
+
const numB = NUMERIC_IDENTIFIER.test(idB);
|
|
935
|
+
if (numA && numB) return Number(idA) < Number(idB) ? -1 : 1;
|
|
936
|
+
if (numA) return -1;
|
|
937
|
+
if (numB) return 1;
|
|
938
|
+
return idA < idB ? -1 : 1;
|
|
939
|
+
}
|
|
940
|
+
return a.length === b.length ? 0 : a.length < b.length ? -1 : 1;
|
|
941
|
+
}
|
|
942
|
+
function compareSemver(a, b) {
|
|
943
|
+
const pa = parseSemver(a);
|
|
944
|
+
const pb = parseSemver(b);
|
|
945
|
+
if (!pa || !pb) return null;
|
|
946
|
+
if (pa.major !== pb.major) return pa.major < pb.major ? -1 : 1;
|
|
947
|
+
if (pa.minor !== pb.minor) return pa.minor < pb.minor ? -1 : 1;
|
|
948
|
+
if (pa.patch !== pb.patch) return pa.patch < pb.patch ? -1 : 1;
|
|
949
|
+
return comparePrerelease(pa.prerelease, pb.prerelease);
|
|
950
|
+
}
|
|
951
|
+
function isDowngrade(current, target) {
|
|
952
|
+
const direction = compareSemver(target, current);
|
|
953
|
+
if (direction === null) return false;
|
|
954
|
+
return direction < 0;
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
// src/ws-protocol.ts
|
|
958
|
+
var DAEMON_TO_SERVER_WS_MSGS = [
|
|
959
|
+
"auth",
|
|
960
|
+
"status_report",
|
|
961
|
+
"status_heartbeat",
|
|
962
|
+
"status_event",
|
|
963
|
+
"command_result",
|
|
964
|
+
"error",
|
|
965
|
+
"agent_event",
|
|
966
|
+
"log"
|
|
967
|
+
];
|
|
968
|
+
var SERVER_TO_DAEMON_WS_MSGS = [
|
|
969
|
+
"auth_ok",
|
|
970
|
+
"auth_error",
|
|
971
|
+
"machine_evicted",
|
|
972
|
+
"force_disconnect",
|
|
973
|
+
"token_revoked",
|
|
974
|
+
"version_mismatch",
|
|
975
|
+
"force_update_required",
|
|
976
|
+
"command",
|
|
977
|
+
"agent_command",
|
|
978
|
+
"resolve_action"
|
|
979
|
+
];
|
|
980
|
+
function isDaemonToServerWsMsg(value) {
|
|
981
|
+
return typeof value === "string" && DAEMON_TO_SERVER_WS_MSGS.includes(value);
|
|
982
|
+
}
|
|
983
|
+
function isServerToDaemonWsMsg(value) {
|
|
984
|
+
return typeof value === "string" && SERVER_TO_DAEMON_WS_MSGS.includes(value);
|
|
985
|
+
}
|
|
909
986
|
export {
|
|
910
987
|
CANONICAL_MESH_TOOL_COUNT,
|
|
911
988
|
CANONICAL_MESH_TOOL_NAMES,
|
|
912
989
|
CLI_SLOT_RECIPES,
|
|
990
|
+
DAEMON_TO_SERVER_WS_MSGS,
|
|
913
991
|
DEFAULT_DIFFICULTY_BRAINS,
|
|
914
992
|
MAGI_RAW_ANSWER_CAP,
|
|
915
993
|
MESH_CHUNK_KIND,
|
|
@@ -921,12 +999,14 @@ export {
|
|
|
921
999
|
MESH_TASK_DIFFICULTIES,
|
|
922
1000
|
MeshChunkAssembler,
|
|
923
1001
|
QUOTA_SUPPORTED_PROVIDERS,
|
|
1002
|
+
SERVER_TO_DAEMON_WS_MSGS,
|
|
924
1003
|
STATUS_PROBE_ARG_KEY,
|
|
925
1004
|
UNKNOWN_CLI_SLOT_RECIPE,
|
|
926
1005
|
argsCarryStatusProbeMarker,
|
|
927
1006
|
buildMagiPanelProposal,
|
|
928
1007
|
buildSlotProposal,
|
|
929
1008
|
canonicalDaemonId,
|
|
1009
|
+
compareSemver,
|
|
930
1010
|
daemonIdsEquivalent,
|
|
931
1011
|
deriveProviderPriorityFromSlots,
|
|
932
1012
|
deriveSlotsFromLegacy,
|
|
@@ -935,9 +1015,12 @@ export {
|
|
|
935
1015
|
hasGitStatusEvidence,
|
|
936
1016
|
interpolateArgs,
|
|
937
1017
|
interpolateString,
|
|
1018
|
+
isDaemonToServerWsMsg,
|
|
1019
|
+
isDowngrade,
|
|
938
1020
|
isMeshTaskDifficulty,
|
|
939
1021
|
isPhantomDaemonEntry,
|
|
940
1022
|
isRawDaemonDoId,
|
|
1023
|
+
isServerToDaemonWsMsg,
|
|
941
1024
|
joinRepoPath,
|
|
942
1025
|
machineCoreFromDaemonId,
|
|
943
1026
|
measureWorstCaseChunkEnvelopeBytes,
|
|
@@ -956,6 +1039,7 @@ export {
|
|
|
956
1039
|
normalizeNodeCapabilitySlots,
|
|
957
1040
|
normalizeThinkingLevel,
|
|
958
1041
|
parseJsonRecord,
|
|
1042
|
+
parseSemver,
|
|
959
1043
|
pickBestTransitGitStatus,
|
|
960
1044
|
readBoolean,
|
|
961
1045
|
readGitSubmodules,
|