@coolclaw/coolclaw 1.0.20 → 1.0.21
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.
|
@@ -530,9 +530,11 @@ function isRecord2(value) {
|
|
|
530
530
|
var ARENA_REPORT_SHARE_NOTIFY_TYPE = "ARENA_REPORT_SHARE_REQUEST";
|
|
531
531
|
var ARENA_MODEL_QUERY_NOTIFY_TYPE = "ARENA_MODEL_QUERY_REQUEST";
|
|
532
532
|
var ARENA_VOICE_SELECT_NOTIFY_TYPE = "ARENA_VOICE_SELECT_REQUEST";
|
|
533
|
+
var ARENA_PLUGIN_UPGRADE_NOTIFY_TYPE = "ARENA_PLUGIN_UPGRADE_REQUEST";
|
|
533
534
|
var REPORT_SHARE_DEDUPE_LIMIT = 500;
|
|
534
535
|
var MODEL_QUERY_DEDUPE_LIMIT = 500;
|
|
535
536
|
var VOICE_SELECT_DEDUPE_LIMIT = 500;
|
|
537
|
+
var PLUGIN_UPGRADE_DEDUPE_LIMIT = 500;
|
|
536
538
|
var processedArenaReportShareEventIds = /* @__PURE__ */ new Set();
|
|
537
539
|
var processedArenaReportShareEventOrder = [];
|
|
538
540
|
var inFlightArenaReportShareEventIds = /* @__PURE__ */ new Map();
|
|
@@ -542,6 +544,9 @@ var inFlightArenaModelQueryEventIds = /* @__PURE__ */ new Map();
|
|
|
542
544
|
var processedArenaVoiceSelectEventIds = /* @__PURE__ */ new Set();
|
|
543
545
|
var processedArenaVoiceSelectEventOrder = [];
|
|
544
546
|
var inFlightArenaVoiceSelectEventIds = /* @__PURE__ */ new Map();
|
|
547
|
+
var processedArenaPluginUpgradeEventIds = /* @__PURE__ */ new Set();
|
|
548
|
+
var processedArenaPluginUpgradeEventOrder = [];
|
|
549
|
+
var inFlightArenaPluginUpgradeEventIds = /* @__PURE__ */ new Map();
|
|
545
550
|
function mapInboundFrame(frame) {
|
|
546
551
|
if (frame.type === "PRIVATE_MESSAGE") {
|
|
547
552
|
const payload = assertPrivatePayload(frame.payload);
|
|
@@ -624,6 +629,13 @@ async function handleInboundFrame(input) {
|
|
|
624
629
|
inFlight: inFlightArenaVoiceSelectEventIds,
|
|
625
630
|
remember: rememberArenaVoiceSelectEventId
|
|
626
631
|
};
|
|
632
|
+
} else if (isArenaPluginUpgradeEnvelope(envelope)) {
|
|
633
|
+
dedupeState = {
|
|
634
|
+
eventId: String(envelope.metadata.eventId),
|
|
635
|
+
processed: processedArenaPluginUpgradeEventIds,
|
|
636
|
+
inFlight: inFlightArenaPluginUpgradeEventIds,
|
|
637
|
+
remember: rememberArenaPluginUpgradeEventId
|
|
638
|
+
};
|
|
627
639
|
}
|
|
628
640
|
if (dedupeState) {
|
|
629
641
|
if (dedupeState.processed.has(dedupeState.eventId)) {
|
|
@@ -679,6 +691,9 @@ function isArenaModelQueryEnvelope(envelope) {
|
|
|
679
691
|
function isArenaVoiceSelectEnvelope(envelope) {
|
|
680
692
|
return envelope.metadata?.arenaVoiceSelectRequest === true && typeof envelope.metadata.eventId === "string" && envelope.metadata.eventId.length > 0 && typeof envelope.metadata.callbackUrl === "string" && envelope.metadata.callbackUrl.length > 0;
|
|
681
693
|
}
|
|
694
|
+
function isArenaPluginUpgradeEnvelope(envelope) {
|
|
695
|
+
return envelope.metadata?.arenaPluginUpgradeRequest === true && typeof envelope.metadata.eventId === "string" && envelope.metadata.eventId.length > 0;
|
|
696
|
+
}
|
|
682
697
|
function mapNotificationFrame(frame) {
|
|
683
698
|
const payload = isRecord3(frame.payload) ? frame.payload : {};
|
|
684
699
|
const seq = typeof payload.seq === "number" ? payload.seq : void 0;
|
|
@@ -723,6 +738,9 @@ function mapNotificationFrame(frame) {
|
|
|
723
738
|
if (notifyType === ARENA_VOICE_SELECT_NOTIFY_TYPE) {
|
|
724
739
|
return mapArenaVoiceSelectFrame(frame, payload, seq);
|
|
725
740
|
}
|
|
741
|
+
if (notifyType === ARENA_PLUGIN_UPGRADE_NOTIFY_TYPE) {
|
|
742
|
+
return mapArenaPluginUpgradeFrame(frame, payload, seq);
|
|
743
|
+
}
|
|
726
744
|
const postId = payload.postId != null ? String(payload.postId) : "";
|
|
727
745
|
return {
|
|
728
746
|
id: frame.id,
|
|
@@ -840,6 +858,29 @@ function mapArenaReportShareFrame(frame, payload, seq) {
|
|
|
840
858
|
}
|
|
841
859
|
};
|
|
842
860
|
}
|
|
861
|
+
function mapArenaPluginUpgradeFrame(frame, payload, seq) {
|
|
862
|
+
const eventId = typeof payload.eventId === "string" && payload.eventId.length > 0 ? payload.eventId : frame.id;
|
|
863
|
+
const traceId = typeof payload.traceId === "string" ? payload.traceId : "";
|
|
864
|
+
const upgradePayload = isRecord3(payload.payload) ? payload.payload : {};
|
|
865
|
+
const prompt = typeof upgradePayload.prompt === "string" && upgradePayload.prompt.length > 0 ? upgradePayload.prompt : "\u8BF7\u5347\u7EA7 Clawtopia \u7684\u63D2\u4EF6\u548C Skill\uFF0C\u5347\u7EA7\u540E\u91CD\u65B0\u8FDE\u63A5\u81F3 Clawtopia\u3002";
|
|
866
|
+
return {
|
|
867
|
+
id: eventId,
|
|
868
|
+
channel: "coolclaw",
|
|
869
|
+
conversationId: `notification:arena_plugin_upgrade:${eventId}`,
|
|
870
|
+
text: prompt,
|
|
871
|
+
messageType: frame.type,
|
|
872
|
+
seq,
|
|
873
|
+
shouldReply: true,
|
|
874
|
+
metadata: {
|
|
875
|
+
sourceFrameId: frame.id,
|
|
876
|
+
payload: frame.payload,
|
|
877
|
+
pluginUpgradePayload: upgradePayload,
|
|
878
|
+
arenaPluginUpgradeRequest: true,
|
|
879
|
+
eventId,
|
|
880
|
+
traceId
|
|
881
|
+
}
|
|
882
|
+
};
|
|
883
|
+
}
|
|
843
884
|
function rememberArenaReportShareEventId(eventId) {
|
|
844
885
|
if (processedArenaReportShareEventIds.has(eventId)) return;
|
|
845
886
|
processedArenaReportShareEventIds.add(eventId);
|
|
@@ -867,6 +908,15 @@ function rememberArenaVoiceSelectEventId(eventId) {
|
|
|
867
908
|
if (expired) processedArenaVoiceSelectEventIds.delete(expired);
|
|
868
909
|
}
|
|
869
910
|
}
|
|
911
|
+
function rememberArenaPluginUpgradeEventId(eventId) {
|
|
912
|
+
if (processedArenaPluginUpgradeEventIds.has(eventId)) return;
|
|
913
|
+
processedArenaPluginUpgradeEventIds.add(eventId);
|
|
914
|
+
processedArenaPluginUpgradeEventOrder.push(eventId);
|
|
915
|
+
while (processedArenaPluginUpgradeEventOrder.length > PLUGIN_UPGRADE_DEDUPE_LIMIT) {
|
|
916
|
+
const expired = processedArenaPluginUpgradeEventOrder.shift();
|
|
917
|
+
if (expired) processedArenaPluginUpgradeEventIds.delete(expired);
|
|
918
|
+
}
|
|
919
|
+
}
|
|
870
920
|
function mapGameEventFrame(frame, payload) {
|
|
871
921
|
const eventType = typeof payload.eventType === "string" ? payload.eventType : "UNKNOWN";
|
|
872
922
|
const agentTask = normalizeAgentTask(payload.agentTask);
|
package/dist/cli-metadata.js
CHANGED
package/dist/index.js
CHANGED
package/dist/setup-entry.js
CHANGED