@agentvault/grok-bridge 0.4.21 → 0.4.22
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.js +315 -59
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -11712,11 +11712,11 @@ async function joinWithFirstMatchingKp(welcomeBytes, candidates) {
|
|
|
11712
11712
|
return null;
|
|
11713
11713
|
}
|
|
11714
11714
|
function ownIdentity() {
|
|
11715
|
-
const v2 = true ? "0.23.
|
|
11715
|
+
const v2 = true ? "0.23.51" : FALLBACK;
|
|
11716
11716
|
return `${PACKAGE}@${v2}`;
|
|
11717
11717
|
}
|
|
11718
11718
|
function buildSha() {
|
|
11719
|
-
const raw = true ? "
|
|
11719
|
+
const raw = true ? "753de79" : "";
|
|
11720
11720
|
const cleaned = (raw ?? "").trim();
|
|
11721
11721
|
return !cleaned || cleaned === "unknown" ? null : cleaned;
|
|
11722
11722
|
}
|
|
@@ -12891,14 +12891,27 @@ function migrateHistoryEntries(history) {
|
|
|
12891
12891
|
return { id, ...legacyEntry };
|
|
12892
12892
|
});
|
|
12893
12893
|
}
|
|
12894
|
+
function isTopicId(value) {
|
|
12895
|
+
return typeof value === "string" && TOPIC_ID_RE.test(value);
|
|
12896
|
+
}
|
|
12897
|
+
function migrateDefaultTopics(state) {
|
|
12898
|
+
if (!state.defaultTopicId || !state.groupId) return state;
|
|
12899
|
+
if (state.defaultTopicIds?.[state.groupId]) return state;
|
|
12900
|
+
return {
|
|
12901
|
+
...state,
|
|
12902
|
+
defaultTopicIds: { ...state.defaultTopicIds ?? {}, [state.groupId]: state.defaultTopicId }
|
|
12903
|
+
};
|
|
12904
|
+
}
|
|
12894
12905
|
function migratePersistedState(raw) {
|
|
12895
12906
|
if (raw.sessions && raw.primaryConversationId) {
|
|
12896
12907
|
const history = raw.messageHistory;
|
|
12897
|
-
if (!history?.some((entry) => typeof entry.id !== "string"))
|
|
12898
|
-
|
|
12908
|
+
if (!history?.some((entry) => typeof entry.id !== "string")) {
|
|
12909
|
+
return migrateDefaultTopics(raw);
|
|
12910
|
+
}
|
|
12911
|
+
return migrateDefaultTopics({
|
|
12899
12912
|
...raw,
|
|
12900
12913
|
messageHistory: migrateHistoryEntries(history)
|
|
12901
|
-
};
|
|
12914
|
+
});
|
|
12902
12915
|
}
|
|
12903
12916
|
const legacy = raw;
|
|
12904
12917
|
return {
|
|
@@ -17630,7 +17643,7 @@ function armSseKeepAlive(intervalMs, onTick) {
|
|
|
17630
17643
|
timer.unref?.();
|
|
17631
17644
|
return timer;
|
|
17632
17645
|
}
|
|
17633
|
-
var __create, __defProp2, __getOwnPropDesc, __getOwnPropNames2, __getProtoOf, __hasOwnProp, __esm2, __commonJS, __export2, __copyProps, __toESM, SENTINEL, WRAPPERS, INSTRUCTION, init_abstention, init_envelope_text, init_mls_commit_classify, MENTION_RE, BROADCAST_NAMES, init_room_protocol, __filename, __dirname, url, path, Module, Module, root, window_, crypto_, randomValuesStandard, crypto2, randomValueNodeJS, _Module, libsodium_sumo_default, init_libsodium_sumo, a, r, t, c, libsodium_wrappers_default, init_libsodium_wrappers, init_keys, init_x3dh, MAX_SKIP, CHAIN_KEY_SEED, MSG_KEY_SEED, HEADER_KEY_SEED, DoubleRatchet, init_ratchet, init_file_crypto, DOMAIN_DID_DOCUMENT, DOMAIN_TRANSFER_INTENT, DOMAIN_TRANSFER_ACCEPT, BASE58_ALPHABET, init_did, BUILTIN_PATTERNS, ScanEngine, init_scan_engine, init_merkle, VC_CONTEXT_V2, AV_CREDENTIAL_CONTEXT, CRYPTOSUITE, BASE58_ALPHABET2, init_vc, init_transport, init_telemetry, TelemetryReporter, init_telemetry_reporter, CROCKFORD, ARGON2_OPSLIMIT, ARGON2_MEMLIMIT, SALT_BYTES, NONCE_BYTES, KEY_BYTES, BACKUP_VERSION, MAX_BACKUP_SIZE, init_backup, atitle, aobject, aopts, isLE, swap8IfBE, swap32IfBE, hasHexBuiltin, hexes, oidNist, init_utils, BSIGMA, init_blake, U32_MASK64, _32n, fromNumH, fromNumL, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, add3L, add3H, add4L, add4H, add5L, add5H, init_u64, HashMD, SHA256_IV, SHA384_IV, SHA512_IV, init_md, B2B_IV, BBUF, _BLAKE2, _BLAKE2b, blake2b, init_blake2, CROCKFORD2, SALT_BYTES2, NONCE_BYTES2, KEY_BYTES2, TAG_BYTES, ENVELOPE_OVERHEAD, AAD_PREFIX, UUID_RE, UUID_V4_RE, DIGEST_ID_RE, TIMESTAMP_RE, encoder, decoder, HISTORY_MAGIC, HISTORY_ARCHIVE_VERSION, HISTORY_MAX_ENTRIES, HISTORY_MAX_BLOB_BYTES, HISTORY_KDF_OPSLIMIT, HISTORY_KDF_MEMLIMIT, HistoryEntryTooLargeError, init_history_backup, init_approval, encVoid, init_tlsEncoder, uint8Encoder, encodeUint8, decodeUint8, uint16Encoder, encodeUint16, decodeUint16, uint32Encoder, encodeUint32, decodeUint32, uint64Encoder, encodeUint64, decodeUint64, init_number, init_tlsDecoder, init_enumHelpers, defaultProposalTypes, defaultProposalTypeEncoder, encodeDefaultProposalType, decodeDefaultProposalType, init_defaultProposalType, defaultExtensionTypes, defaultExtensionTypeEncoder, encodeDefaultExtensionType, decodeDefaultExtensionType, init_defaultExtensionType, acceptAll, init_incomingMessageAction, MlsError, ValidationError, CodecError, UsageError, DependencyError, CryptoVerificationError, CryptoError, InternalError, init_mlsError, init_byteArray, varLenDataEncoder, decodeVarLenData, init_variableLength, init_constantTimeCompare, extensionTypeEncoder, encodeExtensionType, decodeExtensionType, extensionEncoder, encodeExtension, decodeExtension, init_extension, credentialTypes, credentialTypeEncoder, encodeCredentialType, decodeCredentialType, init_credentialType, credentialBasicEncoder, encodeCredentialBasic, credentialX509Encoder, encodeCredentialX509, credentialCustomEncoder, encodeCredentialCustom, credentialEncoder, encodeCredential, decodeCredentialBasic, decodeCredentialX509, decodeCredential, init_credential, externalSenderEncoder, encodeExternalSender, decodeExternalSender, init_externalSender, init_hash, init_optional, ciphersuites, ciphersuiteEncoder, encodeCiphersuite, decodeCiphersuite, ciphersuiteValues, init_ciphersuite, init_signature, protocolVersions, protocolVersionEncoder, encodeProtocolVersion, decodeProtocolVersion, init_protocolVersion, capabilitiesEncoder, encodeCapabilities, decodeCapabilities, init_capabilities, leafNodeSources, leafNodeSourceEncoder, encodeLeafNodeSource, decodeLeafNodeSource, init_leafNodeSource, lifetimeEncoder, encodeLifetime, decodeLifetime, defaultLifetime, init_lifetime, leafNodeDataEncoder, encodeLeafNodeData, decodeLeafNodeData, leafNodeInfoKeyPackageEncoder, encodeLeafNodeInfoKeyPackage, leafNodeInfoUpdateOmittedEncoder, encodeLeafNodeInfoUpdateOmitted, leafNodeInfoCommitOmittedEncoder, encodeLeafNodeInfoCommitOmitted, leafNodeInfoOmittedEncoder, encodeLeafNodeInfoOmitted, decodeLeafNodeInfoKeyPackage, decodeLeafNodeInfoUpdateOmitted, decodeLeafNodeInfoCommitOmitted, decodeLeafNodeInfoOmitted, leafNodeInfoUpdateEncoder, encodeLeafNodeInfoUpdate, leafNodeInfoCommitEncoder, encodeLeafNodeInfoCommit, leafNodeInfoEncoder, encodeLeafNodeInfo, decodeLeafNodeInfoUpdate, decodeLeafNodeInfoCommit, decodeLeafNodeInfo, leafNodeTBSEncoder, encodeLeafNodeTBS, leafNodeEncoder, encodeLeafNode, decodeLeafNode, decodeLeafNodeKeyPackage, decodeLeafNodeCommit, decodeLeafNodeUpdate, init_leafNode, keyPackageTBSEncoder, encodeKeyPackageTBS, decodeKeyPackageTBS, keyPackageEncoder, encodeKeyPackage, decodeKeyPackage, init_keyPackage, init_kdf, pskTypes, pskTypeEncoder, encodePskType, decodePskType, resumptionPSKUsages, resumptionPSKUsageEncoder, encodeResumptionPSKUsage, decodeResumptionPSKUsage, encodePskInfoExternal, encodePskInfoResumption, decodePskInfoResumption, pskInfoEncoder, encodePskInfo, decodePskInfo, pskIdEncoder, encodePskId, decodePskId, pskLabelEncoder, encodePskLabel, decodePskLabel, init_presharedkey, addEncoder, encodeAdd, decodeAdd, updateEncoder, encodeUpdate, decodeUpdate, removeEncoder, encodeRemove, decodeRemove, pskEncoder, encodePSK, decodePSK, reinitEncoder, encodeReinit, decodeReinit, externalInitEncoder, encodeExternalInit, decodeExternalInit, groupContextExtensionsEncoder, encodeGroupContextExtensions, decodeGroupContextExtensions, proposalAddEncoder, encodeProposalAdd, proposalUpdateEncoder, encodeProposalUpdate, proposalRemoveEncoder, encodeProposalRemove, proposalPSKEncoder, encodeProposalPSK, proposalReinitEncoder, encodeProposalReinit, proposalExternalInitEncoder, encodeProposalExternalInit, proposalGroupContextExtensionsEncoder, encodeProposalGroupContextExtensions, proposalCustomEncoder, encodeProposalCustom, proposalEncoder, encodeProposal, decodeProposalAdd, decodeProposalUpdate, decodeProposalRemove, decodeProposalPSK, decodeProposalReinit, decodeProposalExternalInit, decodeProposalGroupContextExtensions, decodeProposal, init_proposal, proposalOrRefTypes, proposalOrRefTypeEncoder, encodeProposalOrRefType, decodeProposalOrRefType, proposalOrRefProposalEncoder, encodeProposalOrRefProposal, proposalOrRefProposalRefEncoder, encodeProposalOrRefProposalRef, proposalOrRefEncoder, encodeProposalOrRef, decodeProposalOrRef, init_proposalOrRefType, init_hpke, groupContextEncoder, encodeGroupContext, decodeGroupContext, init_groupContext, nodeTypes, nodeTypeEncoder, encodeNodeType, decodeNodeType, init_nodeType, parentNodeEncoder, encodeParentNode, decodeParentNode, init_parentNode, init_treemath, nodeEncoder, encodeNode, decodeNode, ratchetTreeEncoder, encodeRatchetTree, decodeRatchetTree, init_ratchetTree, leafNodeHashInputEncoder, encodeLeafNodeHashInput, decodeLeafNodeHashInput, parentNodeHashInputEncoder, encodeParentNodeHashInput, decodeParentNodeHashInput, treeHashInputEncoder, encodeTreeHashInput, decodeTreeHashInput, init_treeHash, parentHashInputEncoder, encodeParentHashInput, decodeParentHashInput, init_parentHash, hpkeCiphertextEncoder, encodeHpkeCiphertext, decodeHpkeCiphertext, init_hpkeCiphertext, updatePathNodeEncoder, encodeUpdatePathNode, decodeUpdatePathNode, updatePathEncoder, encodeUpdatePath, decodeUpdatePath, init_updatePath, commitEncoder, encodeCommit, decodeCommit, init_commit, contentTypes, contentTypeEncoder, encodeContentType, decodeContentType, init_contentType, wireformats, wireformatEncoder, encodeWireformat, decodeWireformat, init_wireformat, senderTypes, senderTypeEncoder, encodeSenderType, decodeSenderType, senderEncoder, encodeSender, decodeSender, reuseGuardEncoder, encodeReuseGuard, decodeReuseGuard, senderDataEncoder, encodeSenderData, decodeSenderData, senderDataAADEncoder, encodeSenderDataAAD, decodeSenderDataAAD, init_sender, framedContentApplicationDataEncoder, encodeFramedContentApplicationData, framedContentProposalDataEncoder, encodeFramedContentProposalData, framedContentCommitDataEncoder, encodeFramedContentCommitData, framedContentInfoEncoder, encodeFramedContentInfo, decodeFramedContentApplicationData, decodeFramedContentProposalData, decodeFramedContentCommitData, decodeFramedContentInfo, framedContentEncoder, encodeFramedContent, decodeFramedContent, senderInfoEncoder, encodeSenderInfo, framedContentTBSEncoder, encodeFramedContentTBS, encodeFramedContentAuthDataContent, encodeFramedContentAuthDataCommit, framedContentAuthDataEncoder, encodeFramedContentAuthData, decodeFramedContentAuthDataCommit, init_framedContent, authenticatedContentEncoder, encodeAuthenticatedContent, decodeAuthenticatedContent, authenticatedContentTBMEncoder, encodeAuthenticatedContentTBM, init_authenticatedContent, publicMessageInfoEncoder, encodePublicMessageInfo, publicMessageEncoder, encodePublicMessage, decodePublicMessage, init_publicMessage, init_messageProtectionPublic, init_externalProposal, requiredCapabilitiesEncoder, encodeRequiredCapabilities, decodeRequiredCapabilities, init_requiredCapabilities, defaultAuthenticationService, init_authenticationService, defaultPaddingConfig, init_paddingConfig, defaultKeyPackageEqualityConfig, init_keyPackageEqualityConfig, defaultLifetimeConfig, init_lifetimeConfig, defaultKeyRetentionConfig, init_keyRetentionConfig, groupInfoTBSEncoder, encodeGroupInfoTBS, decodeGroupInfoTBS, groupInfoEncoder, encodeGroupInfo, decodeGroupInfo, init_groupInfo, keyScheduleEncoder, encodeKeySchedule, decodeKeySchedule, init_keySchedule, generationSecretEncoder, decodeGenerationSecret, secretTreeNodeEncoder, decodeSecretTreeNode, secretTreeEncoder, decodeSecretTree, init_secretTree, confirmedTranscriptHashInputEncoder, encodeConfirmedTranscriptHashInput, decodeConfirmedTranscriptHashInput, init_transcriptHash, groupSecretsEncoder, encodeGroupSecrets, decodeGroupSecrets, init_groupSecrets, encryptedGroupSecretsEncoder, encodeEncryptedGroupSecrets, decodeEncryptedGroupSecrets, welcomeEncoder, encodeWelcome, decodeWelcome, init_welcome, init_pathSecrets, privateKeyPathEncoder, decodePrivateKeyPath, init_privateKeyPath, proposalWithSenderEncoder, decodeProposalWithSender, unappliedProposalsEncoder, decodeUnappliedProposals, init_unappliedProposals, emptyPskIndex, init_pskIndex, init_addToMap, defaultClientConfig, init_clientConfig, init_array, stringEncoder, encodeString, decodeString, init_string, activeEncoder, suspendedPendingReinitEncoder, removedFromGroupEncoder, groupActiveStateEncoder, decodeGroupActiveState, init_groupActiveState, epochReceiverDataEncoder, decodeEpochReceiverData, init_epochReceiverData, groupStateEncoder, encodeGroupState, decodeGroupState, groupStateEncoderWithoutTree, encodeGroupStateWithoutTree, emptyProposals, init_clientState, privateMessageEncoder, encodePrivateMessage, decodePrivateMessage, privateContentAADEncoder, encodePrivateContentAAD, decodePrivateContentAAD, init_privateMessage, init_messageProtection, init_createMessage, init_createCommit, init_processMessages, init_makeHashImpl, HpkeError, InvalidParamError, SerializeError, DeserializeError, EncapError, DecapError, ExportError, SealError, OpenError, MessageLimitReachedError, DeriveKeyPairError, NotSupportedError, init_errors, dntGlobals, dntGlobalThis, init_dnt_shims, NativeAlgorithm, init_algorithm, Mode, KemId, KdfId, AeadId, init_identifiers, INPUT_LENGTH_LIMIT, INFO_LENGTH_LIMIT, MINIMUM_PSK_LENGTH, EMPTY, BYTE_TO_BIGINT_256, init_consts, SUITE_ID_HEADER_KEM, init_kemInterface, HPKE_VERSION, HkdfNative, HkdfSha256Native, HkdfSha384Native, HkdfSha512Native, init_hkdf, isCryptoKeyPair, init_misc, LABEL_EAE_PRK, LABEL_SHARED_SECRET, Dhkem, init_dhkem, KEM_USAGES, LABEL_DKP_PRK, LABEL_SK, init_dhkemPrimitives, Bignum, init_bignum, LABEL_CANDIDATE, ORDER_P_256, ORDER_P_384, ORDER_P_521, PKCS8_ALG_ID_P_256, PKCS8_ALG_ID_P_384, PKCS8_ALG_ID_P_521, EC_P_256_PARAMS, EC_P_384_PARAMS, EC_P_521_PARAMS, Ec, init_ec, init_xCryptoKey, init_xCurve, init_hybridkem, AEAD_USAGES, init_aeadEncryptionContext, _endianTestBuffer, _endianTestBytes, isLE2, init_noble, init_hash2, _HMAC, hmac, init_hmac, init_md2, U32_MASK642, _32n2, init_u642, init_sha2, _0n, _1n, _2n, _7n, _256n, _0x71n, SHA3_PI, SHA3_ROTL, _SHA3_IOTA, IOTAS, SHA3_IOTA_H, SHA3_IOTA_L, init_sha3, init_modular, init_curve, init_montgomery, init_mod, AesGcmContext, Aes128Gcm, Aes256Gcm, init_aesGcm, init_exportOnly, init_emitNotSupported, LABEL_SEC, ExporterContextImpl, RecipientExporterContextImpl, SenderExporterContextImpl, init_exporterContext, EncryptionContextImpl, init_encryptionContext, __classPrivateFieldGet, __classPrivateFieldSet, _Mutex_locked, Mutex, init_mutex, __classPrivateFieldGet2, __classPrivateFieldSet2, _RecipientContextImpl_mutex, RecipientContextImpl, init_recipientContext, __classPrivateFieldGet3, __classPrivateFieldSet3, _SenderContextImpl_mutex, SenderContextImpl, init_senderContext, LABEL_BASE_NONCE, LABEL_EXP, LABEL_INFO_HASH, LABEL_KEY, LABEL_PSK_ID_HASH, LABEL_SECRET, SUITE_ID_HEADER_HPKE, CipherSuiteNative, init_cipherSuiteNative, DhkemP256HkdfSha256Native, DhkemP384HkdfSha384Native, DhkemP521HkdfSha512Native, init_dhkemNative, CipherSuite, DhkemP256HkdfSha256, DhkemP384HkdfSha384, DhkemP521HkdfSha512, HkdfSha256, HkdfSha384, HkdfSha512, init_native, ALG_NAME, PKCS8_ALG_ID_X25519, BASE_POINT_X25519, X25519, init_x25519, DhkemX25519HkdfSha256, init_dhkemX25519, PKCS8_ALG_ID_X448, init_x448, init_dhkemX448, init_mod2, init_hpke2, isLE3, wrapCipher, init_utils2, encodeStr, sigma16, sigma32, sigma16_32, sigma32_32, BLOCK_LEN, BLOCK_LEN32, MAX_COUNTER, U32_EMPTY, _XorStreamPRG, createPRG, init_arx, Poly1305, poly1305, init_poly1305, chacha_exports, chacha20orig, chacha20, xchacha20, chacha8, chacha12, ZEROS16, updatePadded, ZEROS32, _poly1305_aead, chacha20poly1305, xchacha20poly1305, rngChacha20, rngChacha8, init_chacha, init_makeAead, init_makeKdfImpl, init_makeDhKem, init_makeHpke, defaultRng, init_rng, crypto3, init_cryptoNode, isLE4, swap32IfBE3, hasHexBuiltin2, hexes2, asciis, Hash, init_utils3, HashMD3, SHA256_IV3, SHA384_IV3, SHA512_IV3, init_md3, U32_MASK643, _32n3, shrSH3, shrSL3, rotrSH3, rotrSL3, rotrBH3, rotrBL3, rotlSH2, rotlSL2, rotlBH2, rotlBL2, add3L3, add3H3, add4L3, add4H3, add5L3, add5H3, init_u643, SHA256_K, SHA256_W, SHA256, K512, SHA512_Kh, SHA512_Kl, SHA512_W_H, SHA512_W_L, SHA512, SHA384, sha2563, sha5122, sha3842, init_sha22, _0n2, _1n2, isPosBig, bitMask, notImplemented, init_utils4, _0n3, _1n3, _2n2, _3n, _4n, _5n, _7n2, _8n, _9n, _16n, isNegativeLE, FIELD_FIELDS, init_modular2, _0n4, _1n4, pointPrecomputes, pointWindowSizes, wNAF, init_curve2, _0n5, _1n5, _2n3, _8n2, PrimeEdwardsPoint, init_edwards, os2ip, _DST_scalar, init_hash_to_curve, _0n6, _1n6, _2n4, init_montgomery2, ed25519_exports, _0n7, _1n7, _2n5, _3n2, _5n2, _8n3, ed25519_CURVE_p, ed25519_CURVE, ED25519_SQRT_M1, Fp, Fn, ed25519Defaults, ed25519, ed25519ctx, ed25519ph, x25519, ELL2_C1, ELL2_C2, ELL2_C3, ELL2_C1_EDWARDS, ed25519_hasher, SQRT_M1, SQRT_AD_MINUS_ONE, INVSQRT_A_MINUS_D, ONE_MINUS_D_SQ, D_MINUS_ONE_SQ, invertSqrt, MAX_255B, bytes255ToNumberLE, _RistrettoPoint, ristretto255, ristretto255_hasher, ED25519_TORSION_SUBGROUP, edwardsToMontgomery, RistrettoPoint, hashToCurve, encodeToCurve, hashToRistretto255, hash_to_ristretto255, init_ed25519, _0n8, _1n8, _2n6, _7n3, _256n2, _0x71n2, SHA3_PI2, SHA3_ROTL2, _SHA3_IOTA2, IOTAS2, SHA3_IOTA_H2, SHA3_IOTA_L2, rotlH, rotlL, Keccak, genShake, shake2562, init_sha32, ed448_exports, ed448_CURVE, E448_CURVE, shake256_114, shake256_64, _1n9, _2n7, _3n3, _4n2, _11n, _22n, _44n, _88n, _223n, Fp2, Fn2, Fp448, Fn448, ED448_DEF, ed448, ed448ph, E448, x448, ELL2_C12, ELL2_J, ed448_hasher, ONE_MINUS_D, ONE_MINUS_TWO_D, SQRT_MINUS_D, INVSQRT_MINUS_D, invertSqrt2, _DecafPoint, decaf448, decaf448_hasher, ED448_TORSION_SUBGROUP, DecafPoint, hashToCurve2, encodeToCurve2, hashToDecaf448, hash_to_decaf448, edwardsToMontgomery2, init_ed448, HMAC, hmac2, init_hmac2, divNearest, DERErr, DER, _0n9, _1n10, _2n8, _3n4, _4n3, init_weierstrass, init_shortw_utils, nist_exports, p256_CURVE, p384_CURVE, p521_CURVE, Fp256, Fp384, Fp521, p256, p256_hasher, p384, p384_hasher, p521, secp256r1, secp384r1, secp521r1, p521_hasher, init_nist, init_makeNobleSignatureImpl, defaultCryptoProvider, init_provider, init_getCiphersuiteImpl, init_resumption, SHA256_K2, SHA256_W2, SHA2_32B, _SHA256, K5122, SHA512_Kh2, SHA512_Kl2, SHA512_W_H2, SHA512_W_L2, SHA2_64B, _SHA512, _SHA384, sha2564, sha5123, sha3843, init_sha23, _HMAC2, hmac3, init_hmac3, init_makeHashImpl2, init_makeNobleSignatureImpl2, BLOCK_SIZE, ZEROS162, ZEROS322, POLY, mul2, swapLE, estimateWindow, GHASH, Polyval, ghash, polyval, init_polyval, BLOCK_SIZE2, BLOCK_SIZE32, EMPTY_BLOCK, POLY2, sbox, rotr32_8, rotl32_8, tableEncoding, xPowers, gcm, _CMAC, cmac, init_aes, init_makeAead2, init_makeKdfImpl2, init_makeDhKem2, init_makeHpke2, init_rng2, nobleCryptoProvider, init_provider2, mlsPublicMessageEncoder, encodeMlsPublicMessage, mlsWelcomeEncoder, encodeMlsWelcome, mlsPrivateMessageEncoder, encodeMlsPrivateMessage, mlsGroupInfoEncoder, encodeMlsGroupInfo, mlsKeyPackageEncoder, encodeMlsKeyPackage, mlsMessageContentEncoder, encodeMlsMessageContent, decodeMlsMessageContent, mlsMessageEncoder, encodeMlsMessage, decodeMlsMessage, init_message, greaseValues, defaultGreaseConfig, init_grease, init_defaultCapabilities, init_src, DEFAULT_CIPHERSUITE, MLSGroupManager, init_mls_group, DOMAIN, NONCE_BYTES3, init_owner_sync, init_mls_delivery_order, init_mls_presend_epoch, dist_exports, init_dist2, DIR_MODE, FILE_MODE, init_secure_file, SYNC_LOCK_STALE_MS, pendingKpPath, init_mls_state, init_mls_kp_pool, PACKAGE, FALLBACK, MAX_LEN, DISALLOWED, init_client_version, CredentialStore, init_credential_store, init_crypto_helpers, STATE_FILE, LEGACY_STATE_FILE, init_state, ACTIVATION_DOMAIN, UUID_RE2, init_transport2, A2ALogGate, init_a2a_log_gate, init_mls_membership_probe, FIRST_DIRTY_DELAY_MS, RETRY_BASE_DELAYS_MS, MAX_RETRY_DELAY_MS, JITTER_FRACTION, HistoryBackupScheduler, init_history_backup_scheduler, FILE_MODE2, init_history_recovery_file, TENANT_ID_PATTERN, DIR_MODE2, FILE_MODE3, HISTORY_RECOVERY_VERIFY_TIMEOUT_MS, VERIFY_TIMEOUT_MESSAGE, HistoryRecoveryVerificationTimeoutError, init_history_recovery_code, ACTIONS, init_decision_reply, history_backup_client_exports, HISTORY_RESTORE_TIMEOUT_MS, HISTORY_RESTORE_RESPONSE_MAX_BYTES, HISTORY_ENVELOPE_MIN_BYTES, HISTORY_AAD_PREFIX, UUID_RE3, GENERATION_RESPONSE_KEYS, utf8Encoder, utf8Decoder, HistoryBackupClient, init_history_backup_client, openclaw_compat_exports, defaultImporter, HEARTBEAT_CANDIDATES, AGENT_EVENT_CANDIDATES, TRANSCRIPT_CANDIDATES, _heartbeatFn, _agentEventFn, _transcriptFn, init_openclaw_compat, http_handlers_exports, init_http_handlers, mcp_proxy_helpers_exports, init_mcp_proxy_helpers, workspace_handlers_exports, MAX_FILE_SIZE, init_workspace_handlers, ROOM_AGENT_TYPES, CREDENTIAL_MESSAGE_TYPES, CATCHUP_MESSAGE_TYPES, POLL_INTERVAL_MS, RECONNECT_BASE_MS, UUID_RE4, RECONNECT_MAX_MS, PENDING_POLL_INTERVAL_MS, HISTORY_RESTORE_TIMEOUT_MS2, HISTORY_UPLOAD_TIMEOUT_MS, CANONICAL_TIMESTAMP_RE, OUTBOUND_DEDUPE_WINDOW_MS, OUTBOUND_DEDUPE_MAX_SUPPRESS_MS, OUTBOUND_DEDUPE_MAX, OUTBOUND_DEDUPE_TYPES, RETRY_CANDIDATE_TTL_MS, RETRY_CANDIDATE_MAX, ROOM_FULFIL_COOLDOWN_MS, SecureChannel, init_channel, init_types, DEFAULT_API_URL, DEFAULT_HTTP_PORT, init_account_config, init_lifecycle, _ocRuntime, _channels, agentVaultPlugin, init_openclaw_plugin, init_gateway_send, init_llm_response_parser, OPENROUTER_PRICING, init_llm_pricing_openrouter, LEGACY_PRICING, PRICING, init_llm_cost, traceStore, init_fetch_interceptor, init_tool_audit, init_harness_compat, managedRoutesRequested, init_openclaw_entry, util, objectUtil, ZodParsedType, getParsedType, init_util, ZodIssueCode, ZodError, init_ZodError, errorMap, en_default, init_en, overrideErrorMap, init_errors2, makeIssue, ParseStatus, INVALID, DIRTY, OK, isAborted, isDirty, isValid, isAsync, init_parseUtil, init_typeAliases, errorUtil, init_errorUtil, ParseInputLazyPath, handleResult, ZodType, cuidRegex, cuid2Regex, ulidRegex, uuidRegex, nanoidRegex, jwtRegex, durationRegex, emailRegex, _emojiRegex, emojiRegex, ipv4Regex, ipv4CidrRegex, ipv6Regex, ipv6CidrRegex, base64Regex, base64urlRegex, dateRegexSource, dateRegex, ZodString, ZodNumber, ZodBigInt, ZodBoolean, ZodDate, ZodSymbol, ZodUndefined, ZodNull, ZodAny, ZodUnknown, ZodNever, ZodVoid, ZodArray, ZodObject, ZodUnion, getDiscriminator, ZodDiscriminatedUnion, ZodIntersection, ZodTuple, ZodRecord, ZodMap, ZodSet, ZodFunction, ZodLazy, ZodLiteral, ZodEnum, ZodNativeEnum, ZodPromise, ZodEffects, ZodOptional, ZodNullable, ZodDefault, ZodCatch, ZodNaN, ZodBranded, ZodPipeline, ZodReadonly, late, ZodFirstPartyTypeKind, stringType, numberType, nanType, bigIntType, booleanType, dateType, symbolType, undefinedType, nullType, anyType, unknownType, neverType, voidType, arrayType, objectType, strictObjectType, unionType, discriminatedUnionType, intersectionType, tupleType, recordType, mapType, setType, functionType, lazyType, literalType, enumType, nativeEnumType, promiseType, effectsType, optionalType, nullableType, preprocessType, pipelineType, init_types2, init_external, init_v3, util_exports, Cached, EVALUATING, captureStackTrace, allowsEval, getParsedType2, propertyKeyTypes, primitiveTypes, NUMBER_FORMAT_RANGES, BIGINT_FORMAT_RANGES, highSurrogate, Class, installing, broke, breaker, CONSTANT_CATCH, init_util2, _a2, _zodDesc, _E, $ZodAsyncError, $ZodEncodeError, globalConfig, init_core, _messageDesc, _issuesDesc, _installedToString, initializer, $ZodError, $ZodRealError, init_errors3, _parse, parse, _parseAsync, parseAsync, _safeParse, safeParse, _safeParseAsync, safeParseAsync, COMPILE_INVALID, COMPILE_FALLBACK, validate, validateAsync, _encode, _decode, _encodeAsync, _decodeAsync, _safeEncode, _safeDecode, _safeEncodeAsync, _safeDecodeAsync, init_parse, cuid, cuid2, ulid, xid, ksuid, nanoid, duration, guid, uuid, email, _emoji, ipv4, ipv6, cidrv4, cidrv6, base64, base64url, httpProtocol, e164, dateSource, date, anyString, integer, number, boolean, _null, lowercase, uppercase, init_regexes, $ZodCheck, _whenHasLength, numericOriginMap, $ZodCheckLessThan, $ZodCheckGreaterThan, $ZodCheckMultipleOf, $ZodCheckNumberFormat, $ZodCheckMaxLength, $ZodCheckMinLength, $ZodCheckLengthEquals, $ZodCheckStringFormat, $ZodCheckRegex, $ZodCheckLowerCase, $ZodCheckUpperCase, $ZodCheckIncludes, $ZodCheckStartsWith, $ZodCheckEndsWith, $ZodCheckOverwrite, init_checks, Doc, init_doc, version, init_versions, $ZodType, toStandardResult, $ZodString, $ZodStringFormat, $ZodGUID, $ZodUUID, $ZodEmail, URL_BAD_FORMAT, URL_UNPARSEABLE, asciiTabOrNewline, $ZodURL, $ZodEmoji, $ZodNanoID, $ZodCUID, $ZodCUID2, $ZodULID, $ZodXID, $ZodKSUID, $ZodISODateTime, $ZodISODate, $ZodISOTime, $ZodISODuration, $ZodIPv4, ipv6Alphabet, $ZodIPv6, $ZodCIDRv4, $ZodCIDRv6, base64Charset, $ZodBase64, base64urlCharset, $ZodBase64URL, $ZodE164, $ZodJWT, $ZodNumber, $ZodNumberFormat, $ZodBoolean, $ZodNull, $ZodUnknown, $ZodNever, arraySize, $ZodArray, NO_SYMBOL_KEYS, $ZodObject, $ZodObjectJIT, $ZodUnion, $ZodDiscriminatedUnion, $ZodIntersection, $ZodRecord, $ZodEnum, $ZodLiteral, $ZodTransform, $ZodOptional, $ZodExactOptional, $ZodNullable, $ZodDefault, $ZodPrefault, $ZodNonOptional, $ZodCatch, $ZodPipe, $ZodPreprocess, $ZodReadonly, $ZodCustom, init_schemas, $ZodCyclicError, STATE, NO_ISSUES, recursive, NONE, ASSUMED, PROVEN, handoff, open4, memo, init_memoizer, error, init_en2, init_locales, _a3, $ZodRegistry, globalRegistry, init_registries, init_compile, init_api, FOLDABLE_KEYS, UNION_KEYS, createToJSONSchemaMethod, createStandardJSONSchemaMethod, init_to_json_schema, narrowMin, narrowMax, narrowBoth, addDivisor, addPattern, intersectMime, setFormat, minContributor, maxContributor, formatContributor, contributors, formatMap, exactPatterns, exactPattern, stringProcessor, numberProcessor, booleanProcessor, bigintProcessor, symbolProcessor, nullProcessor, undefinedProcessor, voidProcessor, neverProcessor, anyProcessor, unknownProcessor, dateProcessor, enumProcessor, literalProcessor, nanProcessor, templateLiteralProcessor, fileProcessor, successProcessor, customProcessor, functionProcessor, transformProcessor, mapProcessor, setProcessor, arrayProcessor, objectProcessor, unionProcessor, intersectionProcessor, tupleProcessor, pendingRecords, recordProcessor, nullableProcessor, nonoptionalProcessor, UNREPRESENTABLE_DEFAULT, defaultProcessor, prefaultProcessor, catchProcessor, pipeProcessor, readonlyProcessor, promiseProcessor, optionalProcessor, lazyProcessor, allProcessors, init_json_schema_processors, init_json_schema, init_core2, init_parse2, ZodMiniType, ZodMiniObject, init_schemas2, init_checks2, init_iso, init_coerce, init_external2, init_v4_mini, init_zod_compat, init_checks3, _installedErrorProtos, initializer2, ZodRealError, init_errors4, parse2, parseAsync2, safeParse3, safeParseAsync3, encode3, decode2, encodeAsync2, decodeAsync2, safeEncode2, safeDecode2, safeEncodeAsync2, safeDecodeAsync2, init_parse3, ZodType2, _ZodString, ZodString2, ZodStringFormat, ZodISODateTime, ZodISODate, ZodISOTime, ZodISODuration, ZodEmail, ZodGUID, ZodUUID, ZodURL, ZodEmoji, ZodNanoID, ZodCUID, ZodCUID2, ZodULID, ZodXID, ZodKSUID, ZodIPv4, ZodIPv6, ZodCIDRv4, ZodCIDRv6, ZodBase64, ZodBase64URL, ZodE164, ZodJWT, ZodNumber2, ZodNumberFormat, ZodBoolean2, ZodNull2, ZodUnknown2, ZodNever2, ZodArray2, ZodObject2, ZodUnion2, ZodDiscriminatedUnion2, ZodIntersection2, ZodRecord2, ZodEnum2, ZodLiteral2, ZodTransform, ZodOptional2, ZodExactOptional, ZodNullable2, ZodDefault2, ZodPrefault, ZodNonOptional, ZodCatch2, ZodPipe, ZodPreprocess, ZodReadonly2, ZodCustom, init_schemas3, ZodFirstPartyTypeKind2, init_compat, iso_exports2, init_iso2, init_coerce2, init_external3, init_classic, init_v4, LATEST_PROTOCOL_VERSION, DEFAULT_NEGOTIATED_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, RELATED_TASK_META_KEY, JSONRPC_VERSION, AssertObjectSchema, ProgressTokenSchema, CursorSchema, TaskCreationParamsSchema, TaskMetadataSchema, RelatedTaskMetadataSchema, RequestMetaSchema, BaseRequestParamsSchema, TaskAugmentedRequestParamsSchema, isTaskAugmentedRequestParams, RequestSchema, NotificationsParamsSchema, NotificationSchema, ResultSchema, RequestIdSchema, JSONRPCRequestSchema, isJSONRPCRequest, JSONRPCNotificationSchema, isJSONRPCNotification, JSONRPCResultResponseSchema, isJSONRPCResultResponse, ErrorCode, JSONRPCErrorResponseSchema, isJSONRPCErrorResponse, JSONRPCMessageSchema, JSONRPCResponseSchema, EmptyResultSchema, CancelledNotificationParamsSchema, CancelledNotificationSchema, IconSchema, IconsSchema, BaseMetadataSchema, ImplementationSchema, FormElicitationCapabilitySchema, ElicitationCapabilitySchema, ClientTasksCapabilitySchema, ServerTasksCapabilitySchema, ClientCapabilitiesSchema, InitializeRequestParamsSchema, InitializeRequestSchema, isInitializeRequest, ServerCapabilitiesSchema, InitializeResultSchema, InitializedNotificationSchema, PingRequestSchema, ProgressSchema, ProgressNotificationParamsSchema, ProgressNotificationSchema, PaginatedRequestParamsSchema, PaginatedRequestSchema, PaginatedResultSchema, TaskStatusSchema, TaskSchema, CreateTaskResultSchema, TaskStatusNotificationParamsSchema, TaskStatusNotificationSchema, GetTaskRequestSchema, GetTaskResultSchema, GetTaskPayloadRequestSchema, GetTaskPayloadResultSchema, ListTasksRequestSchema, ListTasksResultSchema, CancelTaskRequestSchema, CancelTaskResultSchema, ResourceContentsSchema, TextResourceContentsSchema, Base64Schema, BlobResourceContentsSchema, RoleSchema, AnnotationsSchema, ResourceSchema, ResourceTemplateSchema, ListResourcesRequestSchema, ListResourcesResultSchema, ListResourceTemplatesRequestSchema, ListResourceTemplatesResultSchema, ResourceRequestParamsSchema, ReadResourceRequestParamsSchema, ReadResourceRequestSchema, ReadResourceResultSchema, ResourceListChangedNotificationSchema, SubscribeRequestParamsSchema, SubscribeRequestSchema, UnsubscribeRequestParamsSchema, UnsubscribeRequestSchema, ResourceUpdatedNotificationParamsSchema, ResourceUpdatedNotificationSchema, PromptArgumentSchema, PromptSchema, ListPromptsRequestSchema, ListPromptsResultSchema, GetPromptRequestParamsSchema, GetPromptRequestSchema, TextContentSchema, ImageContentSchema, AudioContentSchema, ToolUseContentSchema, EmbeddedResourceSchema, ResourceLinkSchema, ContentBlockSchema, PromptMessageSchema, GetPromptResultSchema, PromptListChangedNotificationSchema, ToolAnnotationsSchema, ToolExecutionSchema, ToolSchema, ListToolsRequestSchema, ListToolsResultSchema, CallToolResultSchema, CompatibilityCallToolResultSchema, CallToolRequestParamsSchema, CallToolRequestSchema, ToolListChangedNotificationSchema, ListChangedOptionsBaseSchema, LoggingLevelSchema, SetLevelRequestParamsSchema, SetLevelRequestSchema, LoggingMessageNotificationParamsSchema, LoggingMessageNotificationSchema, ModelHintSchema, ModelPreferencesSchema, ToolChoiceSchema, ToolResultContentSchema, SamplingContentSchema, SamplingMessageContentBlockSchema, SamplingMessageSchema, CreateMessageRequestParamsSchema, CreateMessageRequestSchema, CreateMessageResultSchema, CreateMessageResultWithToolsSchema, BooleanSchemaSchema, StringSchemaSchema, NumberSchemaSchema, UntitledSingleSelectEnumSchemaSchema, TitledSingleSelectEnumSchemaSchema, LegacyTitledEnumSchemaSchema, SingleSelectEnumSchemaSchema, UntitledMultiSelectEnumSchemaSchema, TitledMultiSelectEnumSchemaSchema, MultiSelectEnumSchemaSchema, EnumSchemaSchema, PrimitiveSchemaDefinitionSchema, ElicitRequestFormParamsSchema, ElicitRequestURLParamsSchema, ElicitRequestParamsSchema, ElicitRequestSchema, ElicitationCompleteNotificationParamsSchema, ElicitationCompleteNotificationSchema, ElicitResultSchema, ResourceTemplateReferenceSchema, PromptReferenceSchema, CompleteRequestParamsSchema, CompleteRequestSchema, CompleteResultSchema, RootSchema, ListRootsRequestSchema, ListRootsResultSchema, RootsListChangedNotificationSchema, ClientRequestSchema, ClientNotificationSchema, ClientResultSchema, ServerRequestSchema, ServerNotificationSchema, ServerResultSchema, McpError, UrlElicitationRequiredError, init_types3, init_interfaces, ignoreOverride, defaultOptions, getDefaultOptions, init_Options, getRefs, init_Refs, init_errorMessages, getRelativePath, init_getRelativePath, init_any, init_array2, init_bigint, init_boolean, init_branded, parseCatchDef, init_catch, integerDateParser, init_date, init_default, init_effects, init_enum, isJsonSchema7AllOfType, init_intersection, init_literal, emojiRegex2, zodPatterns, ALPHA_NUMERIC, init_string2, init_record, init_map, init_nativeEnum, init_never, init_null, primitiveMappings, asAnyOf, init_union, init_nullable, init_number2, init_object, parseOptionalDef, init_optional2, parsePipelineDef, init_pipeline, init_promise, init_set, init_tuple, init_undefined, init_unknown, parseReadonlyDef, init_readonly, selectParser, init_selectParser, get$ref, addMeta, init_parseDef, init_parseTypes, zodToJsonSchema, init_zodToJsonSchema, init_esm, init_zod_json_schema_compat, DEFAULT_REQUEST_TIMEOUT_MSEC, Protocol, init_protocol, require_code, require_scope, require_codegen, require_util, require_names, require_errors, require_boolSchema, require_rules, require_applicability, require_dataType, require_defaults, require_code2, require_keyword, require_subschema, require_fast_deep_equal, require_json_schema_traverse, require_resolve, require_validate, require_validation_error, require_ref_error, require_compile, require_data, require_utils, require_schemes, require_fast_uri, require_uri, require_core, require_id, require_ref, require_core2, require_limitNumber, require_multipleOf, require_ucs2length, require_limitLength, require_pattern, require_limitProperties, require_required, require_limitItems, require_equal, require_uniqueItems, require_const, require_enum, require_validation, require_additionalItems, require_items, require_prefixItems, require_items2020, require_contains, require_dependencies, require_propertyNames, require_additionalProperties, require_properties, require_patternProperties, require_not, require_anyOf, require_oneOf, require_allOf, require_if, require_thenElse, require_applicator, require_format, require_format2, require_metadata, require_draft7, require_types, require_discriminator, require_json_schema_draft_07, require_ajv, require_formats, require_limit, require_dist, import_ajv, import_ajv_formats, AjvJsonSchemaValidator, init_ajv_provider, ExperimentalServerTasks, init_server, init_helpers, Server, init_server2, COMPLETABLE_SYMBOL, McpZodTypeKind, init_completable, init_uriTemplate, TOOL_NAME_REGEX, init_toolNameValidation, ExperimentalMcpServerTasks, init_mcp_server, init_zod, McpServer, EMPTY_OBJECT_JSON_SCHEMA, EMPTY_COMPLETION_RESULT, init_mcp, RequestError, toRequestError, GlobalRequest, Request2, newHeadersFromIncoming, wrapBodyStream, newRequestFromIncoming, getRequestCache, requestCache, incomingKey, urlKey, headersKey, abortControllerKey, getAbortController, requestPrototype, newRequest, responseCache, getResponseCache, cacheKey, GlobalResponse, Response2, buildOutgoingHttpHeaders, X_ALREADY_SENT, outgoingEnded, handleRequestError, handleFetchError, handleResponseError, flushHeaders, responseViaCache, isPromise, responseViaResponseObject, getRequestListener, init_dist22, require_content_type, import_content_type, init_mediaType, DEFAULT_MAX_REQUEST_BODY_SIZE, MAX_BATCH_SIZE, init_requestBody, DEFAULT_SSE_KEEP_ALIVE_MS, MAX_TIMER_DELAY_MS, init_sseKeepAlive, WebStandardStreamableHTTPServerTransport, init_webStandardStreamableHttp, StreamableHTTPServerTransport, init_streamableHttp, AgentVaultMcpServer, init_mcp_server2, init_mcp_handlers, init_skill_manifest, init_skill_invoker, spanBuffer, init_skill_telemetry, PolicyEnforcer, init_policy_enforcer, VERSION, init_index;
|
|
17646
|
+
var __create, __defProp2, __getOwnPropDesc, __getOwnPropNames2, __getProtoOf, __hasOwnProp, __esm2, __commonJS, __export2, __copyProps, __toESM, SENTINEL, WRAPPERS, INSTRUCTION, init_abstention, init_envelope_text, init_mls_commit_classify, MENTION_RE, BROADCAST_NAMES, init_room_protocol, __filename, __dirname, url, path, Module, Module, root, window_, crypto_, randomValuesStandard, crypto2, randomValueNodeJS, _Module, libsodium_sumo_default, init_libsodium_sumo, a, r, t, c, libsodium_wrappers_default, init_libsodium_wrappers, init_keys, init_x3dh, MAX_SKIP, CHAIN_KEY_SEED, MSG_KEY_SEED, HEADER_KEY_SEED, DoubleRatchet, init_ratchet, init_file_crypto, DOMAIN_DID_DOCUMENT, DOMAIN_TRANSFER_INTENT, DOMAIN_TRANSFER_ACCEPT, BASE58_ALPHABET, init_did, BUILTIN_PATTERNS, ScanEngine, init_scan_engine, init_merkle, VC_CONTEXT_V2, AV_CREDENTIAL_CONTEXT, CRYPTOSUITE, BASE58_ALPHABET2, init_vc, init_transport, init_telemetry, TelemetryReporter, init_telemetry_reporter, CROCKFORD, ARGON2_OPSLIMIT, ARGON2_MEMLIMIT, SALT_BYTES, NONCE_BYTES, KEY_BYTES, BACKUP_VERSION, MAX_BACKUP_SIZE, init_backup, atitle, aobject, aopts, isLE, swap8IfBE, swap32IfBE, hasHexBuiltin, hexes, oidNist, init_utils, BSIGMA, init_blake, U32_MASK64, _32n, fromNumH, fromNumL, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, add3L, add3H, add4L, add4H, add5L, add5H, init_u64, HashMD, SHA256_IV, SHA384_IV, SHA512_IV, init_md, B2B_IV, BBUF, _BLAKE2, _BLAKE2b, blake2b, init_blake2, CROCKFORD2, SALT_BYTES2, NONCE_BYTES2, KEY_BYTES2, TAG_BYTES, ENVELOPE_OVERHEAD, AAD_PREFIX, UUID_RE, UUID_V4_RE, DIGEST_ID_RE, TIMESTAMP_RE, encoder, decoder, HISTORY_MAGIC, HISTORY_ARCHIVE_VERSION, HISTORY_MAX_ENTRIES, HISTORY_MAX_BLOB_BYTES, HISTORY_KDF_OPSLIMIT, HISTORY_KDF_MEMLIMIT, HistoryEntryTooLargeError, init_history_backup, init_approval, encVoid, init_tlsEncoder, uint8Encoder, encodeUint8, decodeUint8, uint16Encoder, encodeUint16, decodeUint16, uint32Encoder, encodeUint32, decodeUint32, uint64Encoder, encodeUint64, decodeUint64, init_number, init_tlsDecoder, init_enumHelpers, defaultProposalTypes, defaultProposalTypeEncoder, encodeDefaultProposalType, decodeDefaultProposalType, init_defaultProposalType, defaultExtensionTypes, defaultExtensionTypeEncoder, encodeDefaultExtensionType, decodeDefaultExtensionType, init_defaultExtensionType, acceptAll, init_incomingMessageAction, MlsError, ValidationError, CodecError, UsageError, DependencyError, CryptoVerificationError, CryptoError, InternalError, init_mlsError, init_byteArray, varLenDataEncoder, decodeVarLenData, init_variableLength, init_constantTimeCompare, extensionTypeEncoder, encodeExtensionType, decodeExtensionType, extensionEncoder, encodeExtension, decodeExtension, init_extension, credentialTypes, credentialTypeEncoder, encodeCredentialType, decodeCredentialType, init_credentialType, credentialBasicEncoder, encodeCredentialBasic, credentialX509Encoder, encodeCredentialX509, credentialCustomEncoder, encodeCredentialCustom, credentialEncoder, encodeCredential, decodeCredentialBasic, decodeCredentialX509, decodeCredential, init_credential, externalSenderEncoder, encodeExternalSender, decodeExternalSender, init_externalSender, init_hash, init_optional, ciphersuites, ciphersuiteEncoder, encodeCiphersuite, decodeCiphersuite, ciphersuiteValues, init_ciphersuite, init_signature, protocolVersions, protocolVersionEncoder, encodeProtocolVersion, decodeProtocolVersion, init_protocolVersion, capabilitiesEncoder, encodeCapabilities, decodeCapabilities, init_capabilities, leafNodeSources, leafNodeSourceEncoder, encodeLeafNodeSource, decodeLeafNodeSource, init_leafNodeSource, lifetimeEncoder, encodeLifetime, decodeLifetime, defaultLifetime, init_lifetime, leafNodeDataEncoder, encodeLeafNodeData, decodeLeafNodeData, leafNodeInfoKeyPackageEncoder, encodeLeafNodeInfoKeyPackage, leafNodeInfoUpdateOmittedEncoder, encodeLeafNodeInfoUpdateOmitted, leafNodeInfoCommitOmittedEncoder, encodeLeafNodeInfoCommitOmitted, leafNodeInfoOmittedEncoder, encodeLeafNodeInfoOmitted, decodeLeafNodeInfoKeyPackage, decodeLeafNodeInfoUpdateOmitted, decodeLeafNodeInfoCommitOmitted, decodeLeafNodeInfoOmitted, leafNodeInfoUpdateEncoder, encodeLeafNodeInfoUpdate, leafNodeInfoCommitEncoder, encodeLeafNodeInfoCommit, leafNodeInfoEncoder, encodeLeafNodeInfo, decodeLeafNodeInfoUpdate, decodeLeafNodeInfoCommit, decodeLeafNodeInfo, leafNodeTBSEncoder, encodeLeafNodeTBS, leafNodeEncoder, encodeLeafNode, decodeLeafNode, decodeLeafNodeKeyPackage, decodeLeafNodeCommit, decodeLeafNodeUpdate, init_leafNode, keyPackageTBSEncoder, encodeKeyPackageTBS, decodeKeyPackageTBS, keyPackageEncoder, encodeKeyPackage, decodeKeyPackage, init_keyPackage, init_kdf, pskTypes, pskTypeEncoder, encodePskType, decodePskType, resumptionPSKUsages, resumptionPSKUsageEncoder, encodeResumptionPSKUsage, decodeResumptionPSKUsage, encodePskInfoExternal, encodePskInfoResumption, decodePskInfoResumption, pskInfoEncoder, encodePskInfo, decodePskInfo, pskIdEncoder, encodePskId, decodePskId, pskLabelEncoder, encodePskLabel, decodePskLabel, init_presharedkey, addEncoder, encodeAdd, decodeAdd, updateEncoder, encodeUpdate, decodeUpdate, removeEncoder, encodeRemove, decodeRemove, pskEncoder, encodePSK, decodePSK, reinitEncoder, encodeReinit, decodeReinit, externalInitEncoder, encodeExternalInit, decodeExternalInit, groupContextExtensionsEncoder, encodeGroupContextExtensions, decodeGroupContextExtensions, proposalAddEncoder, encodeProposalAdd, proposalUpdateEncoder, encodeProposalUpdate, proposalRemoveEncoder, encodeProposalRemove, proposalPSKEncoder, encodeProposalPSK, proposalReinitEncoder, encodeProposalReinit, proposalExternalInitEncoder, encodeProposalExternalInit, proposalGroupContextExtensionsEncoder, encodeProposalGroupContextExtensions, proposalCustomEncoder, encodeProposalCustom, proposalEncoder, encodeProposal, decodeProposalAdd, decodeProposalUpdate, decodeProposalRemove, decodeProposalPSK, decodeProposalReinit, decodeProposalExternalInit, decodeProposalGroupContextExtensions, decodeProposal, init_proposal, proposalOrRefTypes, proposalOrRefTypeEncoder, encodeProposalOrRefType, decodeProposalOrRefType, proposalOrRefProposalEncoder, encodeProposalOrRefProposal, proposalOrRefProposalRefEncoder, encodeProposalOrRefProposalRef, proposalOrRefEncoder, encodeProposalOrRef, decodeProposalOrRef, init_proposalOrRefType, init_hpke, groupContextEncoder, encodeGroupContext, decodeGroupContext, init_groupContext, nodeTypes, nodeTypeEncoder, encodeNodeType, decodeNodeType, init_nodeType, parentNodeEncoder, encodeParentNode, decodeParentNode, init_parentNode, init_treemath, nodeEncoder, encodeNode, decodeNode, ratchetTreeEncoder, encodeRatchetTree, decodeRatchetTree, init_ratchetTree, leafNodeHashInputEncoder, encodeLeafNodeHashInput, decodeLeafNodeHashInput, parentNodeHashInputEncoder, encodeParentNodeHashInput, decodeParentNodeHashInput, treeHashInputEncoder, encodeTreeHashInput, decodeTreeHashInput, init_treeHash, parentHashInputEncoder, encodeParentHashInput, decodeParentHashInput, init_parentHash, hpkeCiphertextEncoder, encodeHpkeCiphertext, decodeHpkeCiphertext, init_hpkeCiphertext, updatePathNodeEncoder, encodeUpdatePathNode, decodeUpdatePathNode, updatePathEncoder, encodeUpdatePath, decodeUpdatePath, init_updatePath, commitEncoder, encodeCommit, decodeCommit, init_commit, contentTypes, contentTypeEncoder, encodeContentType, decodeContentType, init_contentType, wireformats, wireformatEncoder, encodeWireformat, decodeWireformat, init_wireformat, senderTypes, senderTypeEncoder, encodeSenderType, decodeSenderType, senderEncoder, encodeSender, decodeSender, reuseGuardEncoder, encodeReuseGuard, decodeReuseGuard, senderDataEncoder, encodeSenderData, decodeSenderData, senderDataAADEncoder, encodeSenderDataAAD, decodeSenderDataAAD, init_sender, framedContentApplicationDataEncoder, encodeFramedContentApplicationData, framedContentProposalDataEncoder, encodeFramedContentProposalData, framedContentCommitDataEncoder, encodeFramedContentCommitData, framedContentInfoEncoder, encodeFramedContentInfo, decodeFramedContentApplicationData, decodeFramedContentProposalData, decodeFramedContentCommitData, decodeFramedContentInfo, framedContentEncoder, encodeFramedContent, decodeFramedContent, senderInfoEncoder, encodeSenderInfo, framedContentTBSEncoder, encodeFramedContentTBS, encodeFramedContentAuthDataContent, encodeFramedContentAuthDataCommit, framedContentAuthDataEncoder, encodeFramedContentAuthData, decodeFramedContentAuthDataCommit, init_framedContent, authenticatedContentEncoder, encodeAuthenticatedContent, decodeAuthenticatedContent, authenticatedContentTBMEncoder, encodeAuthenticatedContentTBM, init_authenticatedContent, publicMessageInfoEncoder, encodePublicMessageInfo, publicMessageEncoder, encodePublicMessage, decodePublicMessage, init_publicMessage, init_messageProtectionPublic, init_externalProposal, requiredCapabilitiesEncoder, encodeRequiredCapabilities, decodeRequiredCapabilities, init_requiredCapabilities, defaultAuthenticationService, init_authenticationService, defaultPaddingConfig, init_paddingConfig, defaultKeyPackageEqualityConfig, init_keyPackageEqualityConfig, defaultLifetimeConfig, init_lifetimeConfig, defaultKeyRetentionConfig, init_keyRetentionConfig, groupInfoTBSEncoder, encodeGroupInfoTBS, decodeGroupInfoTBS, groupInfoEncoder, encodeGroupInfo, decodeGroupInfo, init_groupInfo, keyScheduleEncoder, encodeKeySchedule, decodeKeySchedule, init_keySchedule, generationSecretEncoder, decodeGenerationSecret, secretTreeNodeEncoder, decodeSecretTreeNode, secretTreeEncoder, decodeSecretTree, init_secretTree, confirmedTranscriptHashInputEncoder, encodeConfirmedTranscriptHashInput, decodeConfirmedTranscriptHashInput, init_transcriptHash, groupSecretsEncoder, encodeGroupSecrets, decodeGroupSecrets, init_groupSecrets, encryptedGroupSecretsEncoder, encodeEncryptedGroupSecrets, decodeEncryptedGroupSecrets, welcomeEncoder, encodeWelcome, decodeWelcome, init_welcome, init_pathSecrets, privateKeyPathEncoder, decodePrivateKeyPath, init_privateKeyPath, proposalWithSenderEncoder, decodeProposalWithSender, unappliedProposalsEncoder, decodeUnappliedProposals, init_unappliedProposals, emptyPskIndex, init_pskIndex, init_addToMap, defaultClientConfig, init_clientConfig, init_array, stringEncoder, encodeString, decodeString, init_string, activeEncoder, suspendedPendingReinitEncoder, removedFromGroupEncoder, groupActiveStateEncoder, decodeGroupActiveState, init_groupActiveState, epochReceiverDataEncoder, decodeEpochReceiverData, init_epochReceiverData, groupStateEncoder, encodeGroupState, decodeGroupState, groupStateEncoderWithoutTree, encodeGroupStateWithoutTree, emptyProposals, init_clientState, privateMessageEncoder, encodePrivateMessage, decodePrivateMessage, privateContentAADEncoder, encodePrivateContentAAD, decodePrivateContentAAD, init_privateMessage, init_messageProtection, init_createMessage, init_createCommit, init_processMessages, init_makeHashImpl, HpkeError, InvalidParamError, SerializeError, DeserializeError, EncapError, DecapError, ExportError, SealError, OpenError, MessageLimitReachedError, DeriveKeyPairError, NotSupportedError, init_errors, dntGlobals, dntGlobalThis, init_dnt_shims, NativeAlgorithm, init_algorithm, Mode, KemId, KdfId, AeadId, init_identifiers, INPUT_LENGTH_LIMIT, INFO_LENGTH_LIMIT, MINIMUM_PSK_LENGTH, EMPTY, BYTE_TO_BIGINT_256, init_consts, SUITE_ID_HEADER_KEM, init_kemInterface, HPKE_VERSION, HkdfNative, HkdfSha256Native, HkdfSha384Native, HkdfSha512Native, init_hkdf, isCryptoKeyPair, init_misc, LABEL_EAE_PRK, LABEL_SHARED_SECRET, Dhkem, init_dhkem, KEM_USAGES, LABEL_DKP_PRK, LABEL_SK, init_dhkemPrimitives, Bignum, init_bignum, LABEL_CANDIDATE, ORDER_P_256, ORDER_P_384, ORDER_P_521, PKCS8_ALG_ID_P_256, PKCS8_ALG_ID_P_384, PKCS8_ALG_ID_P_521, EC_P_256_PARAMS, EC_P_384_PARAMS, EC_P_521_PARAMS, Ec, init_ec, init_xCryptoKey, init_xCurve, init_hybridkem, AEAD_USAGES, init_aeadEncryptionContext, _endianTestBuffer, _endianTestBytes, isLE2, init_noble, init_hash2, _HMAC, hmac, init_hmac, init_md2, U32_MASK642, _32n2, init_u642, init_sha2, _0n, _1n, _2n, _7n, _256n, _0x71n, SHA3_PI, SHA3_ROTL, _SHA3_IOTA, IOTAS, SHA3_IOTA_H, SHA3_IOTA_L, init_sha3, init_modular, init_curve, init_montgomery, init_mod, AesGcmContext, Aes128Gcm, Aes256Gcm, init_aesGcm, init_exportOnly, init_emitNotSupported, LABEL_SEC, ExporterContextImpl, RecipientExporterContextImpl, SenderExporterContextImpl, init_exporterContext, EncryptionContextImpl, init_encryptionContext, __classPrivateFieldGet, __classPrivateFieldSet, _Mutex_locked, Mutex, init_mutex, __classPrivateFieldGet2, __classPrivateFieldSet2, _RecipientContextImpl_mutex, RecipientContextImpl, init_recipientContext, __classPrivateFieldGet3, __classPrivateFieldSet3, _SenderContextImpl_mutex, SenderContextImpl, init_senderContext, LABEL_BASE_NONCE, LABEL_EXP, LABEL_INFO_HASH, LABEL_KEY, LABEL_PSK_ID_HASH, LABEL_SECRET, SUITE_ID_HEADER_HPKE, CipherSuiteNative, init_cipherSuiteNative, DhkemP256HkdfSha256Native, DhkemP384HkdfSha384Native, DhkemP521HkdfSha512Native, init_dhkemNative, CipherSuite, DhkemP256HkdfSha256, DhkemP384HkdfSha384, DhkemP521HkdfSha512, HkdfSha256, HkdfSha384, HkdfSha512, init_native, ALG_NAME, PKCS8_ALG_ID_X25519, BASE_POINT_X25519, X25519, init_x25519, DhkemX25519HkdfSha256, init_dhkemX25519, PKCS8_ALG_ID_X448, init_x448, init_dhkemX448, init_mod2, init_hpke2, isLE3, wrapCipher, init_utils2, encodeStr, sigma16, sigma32, sigma16_32, sigma32_32, BLOCK_LEN, BLOCK_LEN32, MAX_COUNTER, U32_EMPTY, _XorStreamPRG, createPRG, init_arx, Poly1305, poly1305, init_poly1305, chacha_exports, chacha20orig, chacha20, xchacha20, chacha8, chacha12, ZEROS16, updatePadded, ZEROS32, _poly1305_aead, chacha20poly1305, xchacha20poly1305, rngChacha20, rngChacha8, init_chacha, init_makeAead, init_makeKdfImpl, init_makeDhKem, init_makeHpke, defaultRng, init_rng, crypto3, init_cryptoNode, isLE4, swap32IfBE3, hasHexBuiltin2, hexes2, asciis, Hash, init_utils3, HashMD3, SHA256_IV3, SHA384_IV3, SHA512_IV3, init_md3, U32_MASK643, _32n3, shrSH3, shrSL3, rotrSH3, rotrSL3, rotrBH3, rotrBL3, rotlSH2, rotlSL2, rotlBH2, rotlBL2, add3L3, add3H3, add4L3, add4H3, add5L3, add5H3, init_u643, SHA256_K, SHA256_W, SHA256, K512, SHA512_Kh, SHA512_Kl, SHA512_W_H, SHA512_W_L, SHA512, SHA384, sha2563, sha5122, sha3842, init_sha22, _0n2, _1n2, isPosBig, bitMask, notImplemented, init_utils4, _0n3, _1n3, _2n2, _3n, _4n, _5n, _7n2, _8n, _9n, _16n, isNegativeLE, FIELD_FIELDS, init_modular2, _0n4, _1n4, pointPrecomputes, pointWindowSizes, wNAF, init_curve2, _0n5, _1n5, _2n3, _8n2, PrimeEdwardsPoint, init_edwards, os2ip, _DST_scalar, init_hash_to_curve, _0n6, _1n6, _2n4, init_montgomery2, ed25519_exports, _0n7, _1n7, _2n5, _3n2, _5n2, _8n3, ed25519_CURVE_p, ed25519_CURVE, ED25519_SQRT_M1, Fp, Fn, ed25519Defaults, ed25519, ed25519ctx, ed25519ph, x25519, ELL2_C1, ELL2_C2, ELL2_C3, ELL2_C1_EDWARDS, ed25519_hasher, SQRT_M1, SQRT_AD_MINUS_ONE, INVSQRT_A_MINUS_D, ONE_MINUS_D_SQ, D_MINUS_ONE_SQ, invertSqrt, MAX_255B, bytes255ToNumberLE, _RistrettoPoint, ristretto255, ristretto255_hasher, ED25519_TORSION_SUBGROUP, edwardsToMontgomery, RistrettoPoint, hashToCurve, encodeToCurve, hashToRistretto255, hash_to_ristretto255, init_ed25519, _0n8, _1n8, _2n6, _7n3, _256n2, _0x71n2, SHA3_PI2, SHA3_ROTL2, _SHA3_IOTA2, IOTAS2, SHA3_IOTA_H2, SHA3_IOTA_L2, rotlH, rotlL, Keccak, genShake, shake2562, init_sha32, ed448_exports, ed448_CURVE, E448_CURVE, shake256_114, shake256_64, _1n9, _2n7, _3n3, _4n2, _11n, _22n, _44n, _88n, _223n, Fp2, Fn2, Fp448, Fn448, ED448_DEF, ed448, ed448ph, E448, x448, ELL2_C12, ELL2_J, ed448_hasher, ONE_MINUS_D, ONE_MINUS_TWO_D, SQRT_MINUS_D, INVSQRT_MINUS_D, invertSqrt2, _DecafPoint, decaf448, decaf448_hasher, ED448_TORSION_SUBGROUP, DecafPoint, hashToCurve2, encodeToCurve2, hashToDecaf448, hash_to_decaf448, edwardsToMontgomery2, init_ed448, HMAC, hmac2, init_hmac2, divNearest, DERErr, DER, _0n9, _1n10, _2n8, _3n4, _4n3, init_weierstrass, init_shortw_utils, nist_exports, p256_CURVE, p384_CURVE, p521_CURVE, Fp256, Fp384, Fp521, p256, p256_hasher, p384, p384_hasher, p521, secp256r1, secp384r1, secp521r1, p521_hasher, init_nist, init_makeNobleSignatureImpl, defaultCryptoProvider, init_provider, init_getCiphersuiteImpl, init_resumption, SHA256_K2, SHA256_W2, SHA2_32B, _SHA256, K5122, SHA512_Kh2, SHA512_Kl2, SHA512_W_H2, SHA512_W_L2, SHA2_64B, _SHA512, _SHA384, sha2564, sha5123, sha3843, init_sha23, _HMAC2, hmac3, init_hmac3, init_makeHashImpl2, init_makeNobleSignatureImpl2, BLOCK_SIZE, ZEROS162, ZEROS322, POLY, mul2, swapLE, estimateWindow, GHASH, Polyval, ghash, polyval, init_polyval, BLOCK_SIZE2, BLOCK_SIZE32, EMPTY_BLOCK, POLY2, sbox, rotr32_8, rotl32_8, tableEncoding, xPowers, gcm, _CMAC, cmac, init_aes, init_makeAead2, init_makeKdfImpl2, init_makeDhKem2, init_makeHpke2, init_rng2, nobleCryptoProvider, init_provider2, mlsPublicMessageEncoder, encodeMlsPublicMessage, mlsWelcomeEncoder, encodeMlsWelcome, mlsPrivateMessageEncoder, encodeMlsPrivateMessage, mlsGroupInfoEncoder, encodeMlsGroupInfo, mlsKeyPackageEncoder, encodeMlsKeyPackage, mlsMessageContentEncoder, encodeMlsMessageContent, decodeMlsMessageContent, mlsMessageEncoder, encodeMlsMessage, decodeMlsMessage, init_message, greaseValues, defaultGreaseConfig, init_grease, init_defaultCapabilities, init_src, DEFAULT_CIPHERSUITE, MLSGroupManager, init_mls_group, DOMAIN, NONCE_BYTES3, init_owner_sync, init_mls_delivery_order, init_mls_presend_epoch, dist_exports, init_dist2, DIR_MODE, FILE_MODE, init_secure_file, SYNC_LOCK_STALE_MS, pendingKpPath, init_mls_state, init_mls_kp_pool, PACKAGE, FALLBACK, MAX_LEN, DISALLOWED, init_client_version, CredentialStore, init_credential_store, init_crypto_helpers, STATE_FILE, LEGACY_STATE_FILE, init_state, ACTIVATION_DOMAIN, UUID_RE2, init_transport2, A2ALogGate, init_a2a_log_gate, init_mls_membership_probe, FIRST_DIRTY_DELAY_MS, RETRY_BASE_DELAYS_MS, MAX_RETRY_DELAY_MS, JITTER_FRACTION, HistoryBackupScheduler, init_history_backup_scheduler, FILE_MODE2, init_history_recovery_file, TENANT_ID_PATTERN, DIR_MODE2, FILE_MODE3, HISTORY_RECOVERY_VERIFY_TIMEOUT_MS, VERIFY_TIMEOUT_MESSAGE, HistoryRecoveryVerificationTimeoutError, init_history_recovery_code, ACTIONS, init_decision_reply, history_backup_client_exports, HISTORY_RESTORE_TIMEOUT_MS, HISTORY_RESTORE_RESPONSE_MAX_BYTES, HISTORY_ENVELOPE_MIN_BYTES, HISTORY_AAD_PREFIX, UUID_RE3, GENERATION_RESPONSE_KEYS, utf8Encoder, utf8Decoder, HistoryBackupClient, init_history_backup_client, openclaw_compat_exports, defaultImporter, HEARTBEAT_CANDIDATES, AGENT_EVENT_CANDIDATES, TRANSCRIPT_CANDIDATES, _heartbeatFn, _agentEventFn, _transcriptFn, init_openclaw_compat, http_handlers_exports, init_http_handlers, mcp_proxy_helpers_exports, init_mcp_proxy_helpers, workspace_handlers_exports, MAX_FILE_SIZE, init_workspace_handlers, ROOM_AGENT_TYPES, CREDENTIAL_MESSAGE_TYPES, CATCHUP_MESSAGE_TYPES, POLL_INTERVAL_MS, RECONNECT_BASE_MS, UUID_RE4, RECONNECT_MAX_MS, PENDING_POLL_INTERVAL_MS, HISTORY_RESTORE_TIMEOUT_MS2, HISTORY_UPLOAD_TIMEOUT_MS, CANONICAL_TIMESTAMP_RE, OUTBOUND_DEDUPE_WINDOW_MS, OUTBOUND_DEDUPE_MAX_SUPPRESS_MS, OUTBOUND_DEDUPE_MAX, OUTBOUND_DEDUPE_TYPES, RETRY_CANDIDATE_TTL_MS, RETRY_CANDIDATE_MAX, TOPIC_ID_RE, ROOM_FULFIL_COOLDOWN_MS, SecureChannel, init_channel, init_types, DEFAULT_API_URL, DEFAULT_HTTP_PORT, init_account_config, init_lifecycle, _ocRuntime, _channels, agentVaultPlugin, init_openclaw_plugin, init_gateway_send, init_llm_response_parser, OPENROUTER_PRICING, init_llm_pricing_openrouter, LEGACY_PRICING, PRICING, init_llm_cost, traceStore, init_fetch_interceptor, init_tool_audit, init_harness_compat, managedRoutesRequested, init_openclaw_entry, util, objectUtil, ZodParsedType, getParsedType, init_util, ZodIssueCode, ZodError, init_ZodError, errorMap, en_default, init_en, overrideErrorMap, init_errors2, makeIssue, ParseStatus, INVALID, DIRTY, OK, isAborted, isDirty, isValid, isAsync, init_parseUtil, init_typeAliases, errorUtil, init_errorUtil, ParseInputLazyPath, handleResult, ZodType, cuidRegex, cuid2Regex, ulidRegex, uuidRegex, nanoidRegex, jwtRegex, durationRegex, emailRegex, _emojiRegex, emojiRegex, ipv4Regex, ipv4CidrRegex, ipv6Regex, ipv6CidrRegex, base64Regex, base64urlRegex, dateRegexSource, dateRegex, ZodString, ZodNumber, ZodBigInt, ZodBoolean, ZodDate, ZodSymbol, ZodUndefined, ZodNull, ZodAny, ZodUnknown, ZodNever, ZodVoid, ZodArray, ZodObject, ZodUnion, getDiscriminator, ZodDiscriminatedUnion, ZodIntersection, ZodTuple, ZodRecord, ZodMap, ZodSet, ZodFunction, ZodLazy, ZodLiteral, ZodEnum, ZodNativeEnum, ZodPromise, ZodEffects, ZodOptional, ZodNullable, ZodDefault, ZodCatch, ZodNaN, ZodBranded, ZodPipeline, ZodReadonly, late, ZodFirstPartyTypeKind, stringType, numberType, nanType, bigIntType, booleanType, dateType, symbolType, undefinedType, nullType, anyType, unknownType, neverType, voidType, arrayType, objectType, strictObjectType, unionType, discriminatedUnionType, intersectionType, tupleType, recordType, mapType, setType, functionType, lazyType, literalType, enumType, nativeEnumType, promiseType, effectsType, optionalType, nullableType, preprocessType, pipelineType, init_types2, init_external, init_v3, util_exports, Cached, EVALUATING, captureStackTrace, allowsEval, getParsedType2, propertyKeyTypes, primitiveTypes, NUMBER_FORMAT_RANGES, BIGINT_FORMAT_RANGES, highSurrogate, Class, installing, broke, breaker, CONSTANT_CATCH, init_util2, _a2, _zodDesc, _E, $ZodAsyncError, $ZodEncodeError, globalConfig, init_core, _messageDesc, _issuesDesc, _installedToString, initializer, $ZodError, $ZodRealError, init_errors3, _parse, parse, _parseAsync, parseAsync, _safeParse, safeParse, _safeParseAsync, safeParseAsync, COMPILE_INVALID, COMPILE_FALLBACK, validate, validateAsync, _encode, _decode, _encodeAsync, _decodeAsync, _safeEncode, _safeDecode, _safeEncodeAsync, _safeDecodeAsync, init_parse, cuid, cuid2, ulid, xid, ksuid, nanoid, duration, guid, uuid, email, _emoji, ipv4, ipv6, cidrv4, cidrv6, base64, base64url, httpProtocol, e164, dateSource, date, anyString, integer, number, boolean, _null, lowercase, uppercase, init_regexes, $ZodCheck, _whenHasLength, numericOriginMap, $ZodCheckLessThan, $ZodCheckGreaterThan, $ZodCheckMultipleOf, $ZodCheckNumberFormat, $ZodCheckMaxLength, $ZodCheckMinLength, $ZodCheckLengthEquals, $ZodCheckStringFormat, $ZodCheckRegex, $ZodCheckLowerCase, $ZodCheckUpperCase, $ZodCheckIncludes, $ZodCheckStartsWith, $ZodCheckEndsWith, $ZodCheckOverwrite, init_checks, Doc, init_doc, version, init_versions, $ZodType, toStandardResult, $ZodString, $ZodStringFormat, $ZodGUID, $ZodUUID, $ZodEmail, URL_BAD_FORMAT, URL_UNPARSEABLE, asciiTabOrNewline, $ZodURL, $ZodEmoji, $ZodNanoID, $ZodCUID, $ZodCUID2, $ZodULID, $ZodXID, $ZodKSUID, $ZodISODateTime, $ZodISODate, $ZodISOTime, $ZodISODuration, $ZodIPv4, ipv6Alphabet, $ZodIPv6, $ZodCIDRv4, $ZodCIDRv6, base64Charset, $ZodBase64, base64urlCharset, $ZodBase64URL, $ZodE164, $ZodJWT, $ZodNumber, $ZodNumberFormat, $ZodBoolean, $ZodNull, $ZodUnknown, $ZodNever, arraySize, $ZodArray, NO_SYMBOL_KEYS, $ZodObject, $ZodObjectJIT, $ZodUnion, $ZodDiscriminatedUnion, $ZodIntersection, $ZodRecord, $ZodEnum, $ZodLiteral, $ZodTransform, $ZodOptional, $ZodExactOptional, $ZodNullable, $ZodDefault, $ZodPrefault, $ZodNonOptional, $ZodCatch, $ZodPipe, $ZodPreprocess, $ZodReadonly, $ZodCustom, init_schemas, $ZodCyclicError, STATE, NO_ISSUES, recursive, NONE, ASSUMED, PROVEN, handoff, open4, memo, init_memoizer, error, init_en2, init_locales, _a3, $ZodRegistry, globalRegistry, init_registries, init_compile, init_api, FOLDABLE_KEYS, UNION_KEYS, createToJSONSchemaMethod, createStandardJSONSchemaMethod, init_to_json_schema, narrowMin, narrowMax, narrowBoth, addDivisor, addPattern, intersectMime, setFormat, minContributor, maxContributor, formatContributor, contributors, formatMap, exactPatterns, exactPattern, stringProcessor, numberProcessor, booleanProcessor, bigintProcessor, symbolProcessor, nullProcessor, undefinedProcessor, voidProcessor, neverProcessor, anyProcessor, unknownProcessor, dateProcessor, enumProcessor, literalProcessor, nanProcessor, templateLiteralProcessor, fileProcessor, successProcessor, customProcessor, functionProcessor, transformProcessor, mapProcessor, setProcessor, arrayProcessor, objectProcessor, unionProcessor, intersectionProcessor, tupleProcessor, pendingRecords, recordProcessor, nullableProcessor, nonoptionalProcessor, UNREPRESENTABLE_DEFAULT, defaultProcessor, prefaultProcessor, catchProcessor, pipeProcessor, readonlyProcessor, promiseProcessor, optionalProcessor, lazyProcessor, allProcessors, init_json_schema_processors, init_json_schema, init_core2, init_parse2, ZodMiniType, ZodMiniObject, init_schemas2, init_checks2, init_iso, init_coerce, init_external2, init_v4_mini, init_zod_compat, init_checks3, _installedErrorProtos, initializer2, ZodRealError, init_errors4, parse2, parseAsync2, safeParse3, safeParseAsync3, encode3, decode2, encodeAsync2, decodeAsync2, safeEncode2, safeDecode2, safeEncodeAsync2, safeDecodeAsync2, init_parse3, ZodType2, _ZodString, ZodString2, ZodStringFormat, ZodISODateTime, ZodISODate, ZodISOTime, ZodISODuration, ZodEmail, ZodGUID, ZodUUID, ZodURL, ZodEmoji, ZodNanoID, ZodCUID, ZodCUID2, ZodULID, ZodXID, ZodKSUID, ZodIPv4, ZodIPv6, ZodCIDRv4, ZodCIDRv6, ZodBase64, ZodBase64URL, ZodE164, ZodJWT, ZodNumber2, ZodNumberFormat, ZodBoolean2, ZodNull2, ZodUnknown2, ZodNever2, ZodArray2, ZodObject2, ZodUnion2, ZodDiscriminatedUnion2, ZodIntersection2, ZodRecord2, ZodEnum2, ZodLiteral2, ZodTransform, ZodOptional2, ZodExactOptional, ZodNullable2, ZodDefault2, ZodPrefault, ZodNonOptional, ZodCatch2, ZodPipe, ZodPreprocess, ZodReadonly2, ZodCustom, init_schemas3, ZodFirstPartyTypeKind2, init_compat, iso_exports2, init_iso2, init_coerce2, init_external3, init_classic, init_v4, LATEST_PROTOCOL_VERSION, DEFAULT_NEGOTIATED_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, RELATED_TASK_META_KEY, JSONRPC_VERSION, AssertObjectSchema, ProgressTokenSchema, CursorSchema, TaskCreationParamsSchema, TaskMetadataSchema, RelatedTaskMetadataSchema, RequestMetaSchema, BaseRequestParamsSchema, TaskAugmentedRequestParamsSchema, isTaskAugmentedRequestParams, RequestSchema, NotificationsParamsSchema, NotificationSchema, ResultSchema, RequestIdSchema, JSONRPCRequestSchema, isJSONRPCRequest, JSONRPCNotificationSchema, isJSONRPCNotification, JSONRPCResultResponseSchema, isJSONRPCResultResponse, ErrorCode, JSONRPCErrorResponseSchema, isJSONRPCErrorResponse, JSONRPCMessageSchema, JSONRPCResponseSchema, EmptyResultSchema, CancelledNotificationParamsSchema, CancelledNotificationSchema, IconSchema, IconsSchema, BaseMetadataSchema, ImplementationSchema, FormElicitationCapabilitySchema, ElicitationCapabilitySchema, ClientTasksCapabilitySchema, ServerTasksCapabilitySchema, ClientCapabilitiesSchema, InitializeRequestParamsSchema, InitializeRequestSchema, isInitializeRequest, ServerCapabilitiesSchema, InitializeResultSchema, InitializedNotificationSchema, PingRequestSchema, ProgressSchema, ProgressNotificationParamsSchema, ProgressNotificationSchema, PaginatedRequestParamsSchema, PaginatedRequestSchema, PaginatedResultSchema, TaskStatusSchema, TaskSchema, CreateTaskResultSchema, TaskStatusNotificationParamsSchema, TaskStatusNotificationSchema, GetTaskRequestSchema, GetTaskResultSchema, GetTaskPayloadRequestSchema, GetTaskPayloadResultSchema, ListTasksRequestSchema, ListTasksResultSchema, CancelTaskRequestSchema, CancelTaskResultSchema, ResourceContentsSchema, TextResourceContentsSchema, Base64Schema, BlobResourceContentsSchema, RoleSchema, AnnotationsSchema, ResourceSchema, ResourceTemplateSchema, ListResourcesRequestSchema, ListResourcesResultSchema, ListResourceTemplatesRequestSchema, ListResourceTemplatesResultSchema, ResourceRequestParamsSchema, ReadResourceRequestParamsSchema, ReadResourceRequestSchema, ReadResourceResultSchema, ResourceListChangedNotificationSchema, SubscribeRequestParamsSchema, SubscribeRequestSchema, UnsubscribeRequestParamsSchema, UnsubscribeRequestSchema, ResourceUpdatedNotificationParamsSchema, ResourceUpdatedNotificationSchema, PromptArgumentSchema, PromptSchema, ListPromptsRequestSchema, ListPromptsResultSchema, GetPromptRequestParamsSchema, GetPromptRequestSchema, TextContentSchema, ImageContentSchema, AudioContentSchema, ToolUseContentSchema, EmbeddedResourceSchema, ResourceLinkSchema, ContentBlockSchema, PromptMessageSchema, GetPromptResultSchema, PromptListChangedNotificationSchema, ToolAnnotationsSchema, ToolExecutionSchema, ToolSchema, ListToolsRequestSchema, ListToolsResultSchema, CallToolResultSchema, CompatibilityCallToolResultSchema, CallToolRequestParamsSchema, CallToolRequestSchema, ToolListChangedNotificationSchema, ListChangedOptionsBaseSchema, LoggingLevelSchema, SetLevelRequestParamsSchema, SetLevelRequestSchema, LoggingMessageNotificationParamsSchema, LoggingMessageNotificationSchema, ModelHintSchema, ModelPreferencesSchema, ToolChoiceSchema, ToolResultContentSchema, SamplingContentSchema, SamplingMessageContentBlockSchema, SamplingMessageSchema, CreateMessageRequestParamsSchema, CreateMessageRequestSchema, CreateMessageResultSchema, CreateMessageResultWithToolsSchema, BooleanSchemaSchema, StringSchemaSchema, NumberSchemaSchema, UntitledSingleSelectEnumSchemaSchema, TitledSingleSelectEnumSchemaSchema, LegacyTitledEnumSchemaSchema, SingleSelectEnumSchemaSchema, UntitledMultiSelectEnumSchemaSchema, TitledMultiSelectEnumSchemaSchema, MultiSelectEnumSchemaSchema, EnumSchemaSchema, PrimitiveSchemaDefinitionSchema, ElicitRequestFormParamsSchema, ElicitRequestURLParamsSchema, ElicitRequestParamsSchema, ElicitRequestSchema, ElicitationCompleteNotificationParamsSchema, ElicitationCompleteNotificationSchema, ElicitResultSchema, ResourceTemplateReferenceSchema, PromptReferenceSchema, CompleteRequestParamsSchema, CompleteRequestSchema, CompleteResultSchema, RootSchema, ListRootsRequestSchema, ListRootsResultSchema, RootsListChangedNotificationSchema, ClientRequestSchema, ClientNotificationSchema, ClientResultSchema, ServerRequestSchema, ServerNotificationSchema, ServerResultSchema, McpError, UrlElicitationRequiredError, init_types3, init_interfaces, ignoreOverride, defaultOptions, getDefaultOptions, init_Options, getRefs, init_Refs, init_errorMessages, getRelativePath, init_getRelativePath, init_any, init_array2, init_bigint, init_boolean, init_branded, parseCatchDef, init_catch, integerDateParser, init_date, init_default, init_effects, init_enum, isJsonSchema7AllOfType, init_intersection, init_literal, emojiRegex2, zodPatterns, ALPHA_NUMERIC, init_string2, init_record, init_map, init_nativeEnum, init_never, init_null, primitiveMappings, asAnyOf, init_union, init_nullable, init_number2, init_object, parseOptionalDef, init_optional2, parsePipelineDef, init_pipeline, init_promise, init_set, init_tuple, init_undefined, init_unknown, parseReadonlyDef, init_readonly, selectParser, init_selectParser, get$ref, addMeta, init_parseDef, init_parseTypes, zodToJsonSchema, init_zodToJsonSchema, init_esm, init_zod_json_schema_compat, DEFAULT_REQUEST_TIMEOUT_MSEC, Protocol, init_protocol, require_code, require_scope, require_codegen, require_util, require_names, require_errors, require_boolSchema, require_rules, require_applicability, require_dataType, require_defaults, require_code2, require_keyword, require_subschema, require_fast_deep_equal, require_json_schema_traverse, require_resolve, require_validate, require_validation_error, require_ref_error, require_compile, require_data, require_utils, require_schemes, require_fast_uri, require_uri, require_core, require_id, require_ref, require_core2, require_limitNumber, require_multipleOf, require_ucs2length, require_limitLength, require_pattern, require_limitProperties, require_required, require_limitItems, require_equal, require_uniqueItems, require_const, require_enum, require_validation, require_additionalItems, require_items, require_prefixItems, require_items2020, require_contains, require_dependencies, require_propertyNames, require_additionalProperties, require_properties, require_patternProperties, require_not, require_anyOf, require_oneOf, require_allOf, require_if, require_thenElse, require_applicator, require_format, require_format2, require_metadata, require_draft7, require_types, require_discriminator, require_json_schema_draft_07, require_ajv, require_formats, require_limit, require_dist, import_ajv, import_ajv_formats, AjvJsonSchemaValidator, init_ajv_provider, ExperimentalServerTasks, init_server, init_helpers, Server, init_server2, COMPLETABLE_SYMBOL, McpZodTypeKind, init_completable, init_uriTemplate, TOOL_NAME_REGEX, init_toolNameValidation, ExperimentalMcpServerTasks, init_mcp_server, init_zod, McpServer, EMPTY_OBJECT_JSON_SCHEMA, EMPTY_COMPLETION_RESULT, init_mcp, RequestError, toRequestError, GlobalRequest, Request2, newHeadersFromIncoming, wrapBodyStream, newRequestFromIncoming, getRequestCache, requestCache, incomingKey, urlKey, headersKey, abortControllerKey, getAbortController, requestPrototype, newRequest, responseCache, getResponseCache, cacheKey, GlobalResponse, Response2, buildOutgoingHttpHeaders, X_ALREADY_SENT, outgoingEnded, handleRequestError, handleFetchError, handleResponseError, flushHeaders, responseViaCache, isPromise, responseViaResponseObject, getRequestListener, init_dist22, require_content_type, import_content_type, init_mediaType, DEFAULT_MAX_REQUEST_BODY_SIZE, MAX_BATCH_SIZE, init_requestBody, DEFAULT_SSE_KEEP_ALIVE_MS, MAX_TIMER_DELAY_MS, init_sseKeepAlive, WebStandardStreamableHTTPServerTransport, init_webStandardStreamableHttp, StreamableHTTPServerTransport, init_streamableHttp, AgentVaultMcpServer, init_mcp_server2, init_mcp_handlers, init_skill_manifest, init_skill_invoker, spanBuffer, init_skill_telemetry, PolicyEnforcer, init_policy_enforcer, VERSION, init_index;
|
|
17634
17647
|
var init_dist = __esm({
|
|
17635
17648
|
async "../plugin/dist/index.js"() {
|
|
17636
17649
|
"use strict";
|
|
@@ -70592,6 +70605,7 @@ var init_dist = __esm({
|
|
|
70592
70605
|
OUTBOUND_DEDUPE_TYPES = /* @__PURE__ */ new Set(["text", "status_alert", "artifact", "attachment"]);
|
|
70593
70606
|
RETRY_CANDIDATE_TTL_MS = 6e4;
|
|
70594
70607
|
RETRY_CANDIDATE_MAX = 32;
|
|
70608
|
+
TOPIC_ID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
70595
70609
|
ROOM_FULFIL_COOLDOWN_MS = 6e4;
|
|
70596
70610
|
SecureChannel = class _SecureChannel extends EventEmitter {
|
|
70597
70611
|
constructor(config2) {
|
|
@@ -70818,8 +70832,15 @@ ${text}`;
|
|
|
70818
70832
|
_scanEngine = null;
|
|
70819
70833
|
_scanRuleSetVersion = 0;
|
|
70820
70834
|
_telemetryReporter = null;
|
|
70821
|
-
/**
|
|
70822
|
-
|
|
70835
|
+
/**
|
|
70836
|
+
* #1416: topic of the most recent inbound message, PER conversation group —
|
|
70837
|
+
* the fallback for a reply that names no topic. Keyed by `_topicScope()`:
|
|
70838
|
+
* `g:<group>` normally, `c:<conversation>` for a conversation whose group is
|
|
70839
|
+
* not known yet, `*` for a legacy agent that knows no groups at all. It used
|
|
70840
|
+
* to be one value for the whole agent, so a broadcast into person B's group
|
|
70841
|
+
* carried the topic of person A's last message. In memory only, as before.
|
|
70842
|
+
*/
|
|
70843
|
+
_lastIncomingTopics = /* @__PURE__ */ new Map();
|
|
70823
70844
|
/** Room ID from the most recent inbound room message — used as fallback for HTTP /send replies. */
|
|
70824
70845
|
_lastInboundRoomId;
|
|
70825
70846
|
/** Rate-limit: last resync_request timestamp per conversation (5-min cooldown). */
|
|
@@ -71397,13 +71418,76 @@ ${text}`;
|
|
|
71397
71418
|
}
|
|
71398
71419
|
return `${kind}:${id ?? ""}`;
|
|
71399
71420
|
}
|
|
71421
|
+
/*
|
|
71422
|
+
* #1416 — DM history is partitioned by conversation GROUP.
|
|
71423
|
+
*
|
|
71424
|
+
* Since #1399 every person has their own 1:1 group with the agent, but the
|
|
71425
|
+
* agent kept one DM history pool: a catch-up request or a session_init
|
|
71426
|
+
* replay from person B's group was answered with person A's plaintext too.
|
|
71427
|
+
* A DM entry's context now names its group:
|
|
71428
|
+
*
|
|
71429
|
+
* dm:g:<groupId>:<topicId> — the group is known
|
|
71430
|
+
* dm:c:<convId>:<topicId> — the conversation's group is not known yet
|
|
71431
|
+
* dm:<topicId> — legacy (pre-#1416): the PRIMARY group's
|
|
71432
|
+
*
|
|
71433
|
+
* Every form keeps the `dm:` prefix the archive, the web client and Hermes
|
|
71434
|
+
* test for, and the archive format (`topicId` is a free string) is unchanged.
|
|
71435
|
+
* An agent that knows at most one group selects exactly what it did before.
|
|
71436
|
+
*/
|
|
71437
|
+
/** The DM history context for a message in `gid` (or `convId`'s group). */
|
|
71438
|
+
_dmHistoryContext(topicId, gid, convId) {
|
|
71439
|
+
const g2 = gid ?? (convId ? this._sessionGroupIds.get(convId) : void 0);
|
|
71440
|
+
if (g2) return `dm:g:${g2}:${topicId ?? ""}`;
|
|
71441
|
+
if (convId && this._knownDmGroups().size > 0) return `dm:c:${convId}:${topicId ?? ""}`;
|
|
71442
|
+
const legacyTopic = topicId && /^[gc]:/.test(topicId) ? "" : topicId;
|
|
71443
|
+
return this._historyContext("dm", legacyTopic);
|
|
71444
|
+
}
|
|
71445
|
+
/** Every conversation group this agent knows of. */
|
|
71446
|
+
_knownDmGroups() {
|
|
71447
|
+
const known = new Set(this._sessionGroupIds.values());
|
|
71448
|
+
if (this._persisted?.groupId) known.add(this._persisted.groupId);
|
|
71449
|
+
return known;
|
|
71450
|
+
}
|
|
71451
|
+
/** The group a DM history entry belongs to (see the forms above). */
|
|
71452
|
+
_dmEntryScope(entry, known) {
|
|
71453
|
+
const t2 = entry.topicId ?? "";
|
|
71454
|
+
let scope;
|
|
71455
|
+
if (t2.startsWith("dm:g:")) {
|
|
71456
|
+
scope = t2.slice("dm:g:".length).split(":")[0];
|
|
71457
|
+
} else if (t2.startsWith("dm:c:")) {
|
|
71458
|
+
const conv = t2.slice("dm:c:".length).split(":")[0];
|
|
71459
|
+
scope = this._sessionGroupIds.get(conv) ?? `c:${conv}`;
|
|
71460
|
+
} else {
|
|
71461
|
+
scope = this._persisted?.groupId;
|
|
71462
|
+
}
|
|
71463
|
+
if ((scope === void 0 || scope.startsWith("c:")) && known.size === 1) {
|
|
71464
|
+
return [...known][0];
|
|
71465
|
+
}
|
|
71466
|
+
return scope;
|
|
71467
|
+
}
|
|
71468
|
+
/**
|
|
71469
|
+
* The group a DM history request is answered from, or `null` for "every DM
|
|
71470
|
+
* entry" (an agent that knows no groups at all — the old behaviour). A
|
|
71471
|
+
* request whose group cannot be told fails closed to its own conversation.
|
|
71472
|
+
*/
|
|
71473
|
+
_dmRequestScope(gid, convId, known) {
|
|
71474
|
+
if (known.size === 0) return null;
|
|
71475
|
+
const g2 = gid ?? (convId ? this._sessionGroupIds.get(convId) : void 0);
|
|
71476
|
+
if (g2) return g2;
|
|
71477
|
+
const isPrimaryConv = convId === void 0 || convId === this._primaryConversationId;
|
|
71478
|
+
if (known.size === 1 && isPrimaryConv) return [...known][0];
|
|
71479
|
+
if (convId && convId === this._primaryConversationId && this._persisted?.groupId) {
|
|
71480
|
+
return this._persisted.groupId;
|
|
71481
|
+
}
|
|
71482
|
+
return `c:${convId ?? ""}`;
|
|
71483
|
+
}
|
|
71400
71484
|
/**
|
|
71401
71485
|
* Normalize one accepted application envelope before it enters plaintext
|
|
71402
71486
|
* history. Protocol/control types and empty attachment-only envelopes are
|
|
71403
71487
|
* never archived, and attachment key material can never become the fallback
|
|
71404
71488
|
* text.
|
|
71405
71489
|
*/
|
|
71406
|
-
async _captureHistoryApplication(sender, rawPlaintext, kind, id, transportTimestamp, declaredType = "message") {
|
|
71490
|
+
async _captureHistoryApplication(sender, rawPlaintext, kind, id, transportTimestamp, declaredType = "message", dmScope) {
|
|
71407
71491
|
let messageType = declaredType;
|
|
71408
71492
|
let text = rawPlaintext;
|
|
71409
71493
|
try {
|
|
@@ -71418,14 +71502,14 @@ ${text}`;
|
|
|
71418
71502
|
await this._appendHistory(
|
|
71419
71503
|
sender,
|
|
71420
71504
|
text,
|
|
71421
|
-
this._historyContext(kind, id),
|
|
71505
|
+
kind === "dm" ? this._dmHistoryContext(id, dmScope?.groupId, dmScope?.conversationId) : this._historyContext(kind, id),
|
|
71422
71506
|
transportTimestamp
|
|
71423
71507
|
);
|
|
71424
71508
|
return text;
|
|
71425
71509
|
}
|
|
71426
71510
|
/** Select a context before applying the optional lower bound and final cap. */
|
|
71427
|
-
_historyForCatchup(kind, id, sinceTs) {
|
|
71428
|
-
let filtered = this._selectHistoryContext(kind, id);
|
|
71511
|
+
_historyForCatchup(kind, id, sinceTs, dmScope) {
|
|
71512
|
+
let filtered = this._selectHistoryContext(kind, id, dmScope);
|
|
71429
71513
|
if (sinceTs !== void 0 && sinceTs !== null) {
|
|
71430
71514
|
if (typeof sinceTs !== "string" || !CANONICAL_TIMESTAMP_RE.test(sinceTs) || !Number.isFinite(Date.parse(sinceTs)) || new Date(Date.parse(sinceTs)).toISOString() !== sinceTs) {
|
|
71431
71515
|
throw new Error("Invalid history catch-up timestamp");
|
|
@@ -71435,11 +71519,17 @@ ${text}`;
|
|
|
71435
71519
|
return filtered.sort((a2, b2) => Date.parse(a2.ts) - Date.parse(b2.ts) || a2.id.localeCompare(b2.id)).slice(-100);
|
|
71436
71520
|
}
|
|
71437
71521
|
/** Shared exact routing selector for catch-up and legacy DR replay. */
|
|
71438
|
-
_selectHistoryContext(kind, id) {
|
|
71522
|
+
_selectHistoryContext(kind, id, dmScope) {
|
|
71439
71523
|
const history = this._persisted?.messageHistory ?? [];
|
|
71440
|
-
|
|
71524
|
+
if (kind === "room") {
|
|
71525
|
+
return history.filter((entry) => entry.topicId === this._historyContext("room", id));
|
|
71526
|
+
}
|
|
71527
|
+
const dm = history.filter(
|
|
71441
71528
|
(entry) => entry.topicId?.startsWith("dm:") === true || !entry.topicId?.startsWith("room:") && !entry.topicId?.startsWith("a2a:")
|
|
71442
71529
|
);
|
|
71530
|
+
const known = this._knownDmGroups();
|
|
71531
|
+
const want = this._dmRequestScope(dmScope?.groupId, dmScope?.conversationId, known);
|
|
71532
|
+
return want === null ? dm : dm.filter((entry) => this._dmEntryScope(entry, known) === want);
|
|
71443
71533
|
}
|
|
71444
71534
|
_markHistoryDirty() {
|
|
71445
71535
|
this._historyBackupScheduler.markDirty();
|
|
@@ -71929,7 +72019,9 @@ ${text}`;
|
|
|
71929
72019
|
Promise.resolve().then(() => (init_openclaw_compat(), openclaw_compat_exports)).then(({ requestHeartbeatNow: requestHeartbeatNow2 }) => requestHeartbeatNow2({ reason: "channel-send" })).catch(() => {
|
|
71930
72020
|
});
|
|
71931
72021
|
const targetConvId = options?.conversationId;
|
|
71932
|
-
const
|
|
72022
|
+
const explicitTopicId = options?.topicId;
|
|
72023
|
+
const targeted = targetConvId !== void 0;
|
|
72024
|
+
const frameHistoryContexts = [];
|
|
71933
72025
|
const messageType = options?.messageType ?? "text";
|
|
71934
72026
|
const priority = options?.priority ?? "normal";
|
|
71935
72027
|
const parentSpanId = options?.parentSpanId;
|
|
@@ -71996,11 +72088,12 @@ ${text}`;
|
|
|
71996
72088
|
plaintextBytes
|
|
71997
72089
|
);
|
|
71998
72090
|
await saveMlsState(this.config.dataDir, entry.mlsGroupId, JSON.stringify(mlsGroup.exportState()));
|
|
72091
|
+
const frameTopicId = this._topicForFrame(gid, targetConvId, explicitTopicId, targeted);
|
|
71999
72092
|
const payload = {
|
|
72000
72093
|
group_id: entry.mlsGroupId,
|
|
72001
72094
|
epoch: Number(mlsGroup.epoch),
|
|
72002
72095
|
payload: Buffer.from(cipherBytes).toString("hex"),
|
|
72003
|
-
topic_id:
|
|
72096
|
+
topic_id: frameTopicId,
|
|
72004
72097
|
client_message_id: clientMessageId,
|
|
72005
72098
|
message_type: messageType,
|
|
72006
72099
|
priority,
|
|
@@ -72010,6 +72103,7 @@ ${text}`;
|
|
|
72010
72103
|
if (this._persisted?.hubAddress) payload.hub_address = this._persisted.hubAddress;
|
|
72011
72104
|
if (this._persisted?.hubId) payload.sender_hub_id = this._persisted.hubId;
|
|
72012
72105
|
pendingWsSends.push(JSON.stringify({ event: "message_mls", data: payload }));
|
|
72106
|
+
frameHistoryContexts.push(this._dmHistoryContext(frameTopicId, gid, targetConvId));
|
|
72013
72107
|
addressedMlsGroupIds.push(entry.mlsGroupId);
|
|
72014
72108
|
sentSharedGroupIds.add(gid);
|
|
72015
72109
|
sentCount++;
|
|
@@ -72033,6 +72127,7 @@ ${text}`;
|
|
|
72033
72127
|
continue;
|
|
72034
72128
|
}
|
|
72035
72129
|
try {
|
|
72130
|
+
const topicId = this._topicForFrame(convGroupId, convId, explicitTopicId, targeted);
|
|
72036
72131
|
const mlsGroup = (convGroupId ? this._mlsGroups.get(`1to1-group:${convGroupId}`) : null) ?? this._mlsGroups.get(`conv:${convId}`);
|
|
72037
72132
|
const mlsGroupId = (convGroupId ? this._persisted?.mlsGroups?.[convGroupId]?.mlsGroupId : null) ?? this._persisted?.mlsConversations?.[convId]?.mlsGroupId;
|
|
72038
72133
|
if (convGroupId && mlsGroupId && sentSharedGroupIds.has(convGroupId)) {
|
|
@@ -72074,6 +72169,7 @@ ${text}`;
|
|
|
72074
72169
|
data: payload
|
|
72075
72170
|
})
|
|
72076
72171
|
);
|
|
72172
|
+
frameHistoryContexts.push(this._dmHistoryContext(topicId, convGroupId, convId));
|
|
72077
72173
|
addressedMlsGroupIds.push(mlsGroupId);
|
|
72078
72174
|
if (convGroupId) sentSharedGroupIds.add(convGroupId);
|
|
72079
72175
|
} else if (!options?.bypassMlsHold && this._shouldHoldForMls(convGroupId, mlsGroup, mlsGroupId)) {
|
|
@@ -72093,7 +72189,7 @@ ${text}`;
|
|
|
72093
72189
|
history: {
|
|
72094
72190
|
id: clientMessageId,
|
|
72095
72191
|
text: plaintext,
|
|
72096
|
-
topicId: this.
|
|
72192
|
+
topicId: this._dmHistoryContext(topicId, convGroupId, convId)
|
|
72097
72193
|
}
|
|
72098
72194
|
} : {}
|
|
72099
72195
|
};
|
|
@@ -72122,6 +72218,7 @@ ${text}`;
|
|
|
72122
72218
|
data: payload
|
|
72123
72219
|
})
|
|
72124
72220
|
);
|
|
72221
|
+
frameHistoryContexts.push(this._dmHistoryContext(topicId, convGroupId, convId));
|
|
72125
72222
|
} else {
|
|
72126
72223
|
if (!this._persisted.outboundQueue) {
|
|
72127
72224
|
this._persisted.outboundQueue = [];
|
|
@@ -72153,6 +72250,7 @@ ${text}`;
|
|
|
72153
72250
|
continue;
|
|
72154
72251
|
}
|
|
72155
72252
|
try {
|
|
72253
|
+
const topicId = this._topicForFrame(mlsOnlyConvGroupId, mlsConvId, explicitTopicId, targeted);
|
|
72156
72254
|
const plaintextBytes = new TextEncoder().encode(plaintext);
|
|
72157
72255
|
const mlsOnlyGroupKey = mlsOnlyConvGroupId && this._mlsGroups.has(`1to1-group:${mlsOnlyConvGroupId}`) ? `1to1-group:${mlsOnlyConvGroupId}` : `conv:${mlsConvId}`;
|
|
72158
72256
|
const cipherBytes = await this._encryptWithCatchUp(
|
|
@@ -72178,6 +72276,7 @@ ${text}`;
|
|
|
72178
72276
|
if (this._persisted?.hubAddress) payload.hub_address = this._persisted.hubAddress;
|
|
72179
72277
|
if (this._persisted?.hubId) payload.sender_hub_id = this._persisted.hubId;
|
|
72180
72278
|
pendingWsSends.push(JSON.stringify({ event: "message_mls", data: payload }));
|
|
72279
|
+
frameHistoryContexts.push(this._dmHistoryContext(topicId, mlsOnlyConvGroupId, mlsConvId));
|
|
72181
72280
|
addressedMlsGroupIds.push(resolvedMlsGroupId);
|
|
72182
72281
|
sentCount++;
|
|
72183
72282
|
if (mlsOnlyConvGroupId) sentSharedGroupIds.add(mlsOnlyConvGroupId);
|
|
@@ -72199,11 +72298,15 @@ ${text}`;
|
|
|
72199
72298
|
);
|
|
72200
72299
|
}
|
|
72201
72300
|
let writtenFrames = 0;
|
|
72202
|
-
|
|
72203
|
-
|
|
72301
|
+
let historyContext;
|
|
72302
|
+
for (const [i2, frame] of pendingWsSends.entries()) {
|
|
72303
|
+
if (this._sendApplicationFrame(frame)) {
|
|
72304
|
+
if (writtenFrames === 0) historyContext = frameHistoryContexts[i2];
|
|
72305
|
+
writtenFrames += 1;
|
|
72306
|
+
}
|
|
72204
72307
|
}
|
|
72205
72308
|
if (!options?.isResend && messageType === "text" && writtenFrames > 0) {
|
|
72206
|
-
await this._appendHistory("agent", plaintext, this._historyContext("dm"
|
|
72309
|
+
await this._appendHistory("agent", plaintext, historyContext ?? this._historyContext("dm"), void 0, clientMessageId);
|
|
72207
72310
|
}
|
|
72208
72311
|
if (writtenFrames > 0) {
|
|
72209
72312
|
console.log(
|
|
@@ -72259,7 +72362,7 @@ ${text}`;
|
|
|
72259
72362
|
*/
|
|
72260
72363
|
sendActivitySpan(spanData) {
|
|
72261
72364
|
if (!this._ws || this._ws.readyState !== WebSocket.OPEN) return;
|
|
72262
|
-
const pluginVersion = true ? "0.23.
|
|
72365
|
+
const pluginVersion = true ? "0.23.51" : "0.0.0-dev";
|
|
72263
72366
|
const agentName = this.config.agentName ?? "Agent";
|
|
72264
72367
|
const resource = {
|
|
72265
72368
|
"service.name": "agentvault-agent",
|
|
@@ -72744,6 +72847,16 @@ ${text}`;
|
|
|
72744
72847
|
);
|
|
72745
72848
|
if (mine.length === 0) return false;
|
|
72746
72849
|
const before = this._persisted.groupId;
|
|
72850
|
+
const primaryBefore = this._persisted.primaryConversationId;
|
|
72851
|
+
const knownBefore = this._knownDmGroups();
|
|
72852
|
+
const ownersBefore = /* @__PURE__ */ new Set();
|
|
72853
|
+
if (before) {
|
|
72854
|
+
for (const [convId, gid] of this._sessionGroupIds) {
|
|
72855
|
+
if (gid !== before) continue;
|
|
72856
|
+
const owner = this._sessions.get(convId)?.ownerDeviceId ?? this._persisted.sessions?.[convId]?.ownerDeviceId;
|
|
72857
|
+
if (owner) ownersBefore.add(owner);
|
|
72858
|
+
}
|
|
72859
|
+
}
|
|
72747
72860
|
this._sessionGroupIds = new Map(mine.map((r2) => [r2.id, r2.group_id]));
|
|
72748
72861
|
this._persisted.conversationGroupIds = Object.fromEntries(this._sessionGroupIds);
|
|
72749
72862
|
const joined = mine.find((r2) => this._persisted.mlsGroups?.[r2.group_id]);
|
|
@@ -72755,6 +72868,23 @@ ${text}`;
|
|
|
72755
72868
|
}
|
|
72756
72869
|
this._persisted.groupId = primary.group_id;
|
|
72757
72870
|
this._persisted.primaryConversationId = primary.id;
|
|
72871
|
+
for (const r2 of mine) {
|
|
72872
|
+
if (typeof r2.default_topic_id === "string") this._recordDefaultTopic(r2.group_id, r2.default_topic_id);
|
|
72873
|
+
}
|
|
72874
|
+
const primaryDefault = this._persisted.defaultTopicIds?.[primary.group_id];
|
|
72875
|
+
if (primaryDefault) this._persisted.defaultTopicId = primaryDefault;
|
|
72876
|
+
const primaryOwner = primary.owner_device_id;
|
|
72877
|
+
const samePerson = primary.id === primaryBefore || typeof primaryOwner === "string" && ownersBefore.has(primaryOwner);
|
|
72878
|
+
let retagged = false;
|
|
72879
|
+
if (before && primary.group_id !== before && knownBefore.size === 1 && knownBefore.has(before) && samePerson) {
|
|
72880
|
+
const oldPrefix = `dm:g:${before}:`;
|
|
72881
|
+
for (const entry of this._persisted.messageHistory ?? []) {
|
|
72882
|
+
if (entry.topicId?.startsWith(oldPrefix)) {
|
|
72883
|
+
entry.topicId = `dm:g:${primary.group_id}:${entry.topicId.slice(oldPrefix.length)}`;
|
|
72884
|
+
retagged = true;
|
|
72885
|
+
}
|
|
72886
|
+
}
|
|
72887
|
+
}
|
|
72758
72888
|
const liveGroupIds = new Set(mine.map((r2) => r2.group_id));
|
|
72759
72889
|
if (staleGid && staleMlsGroupId && !liveGroupIds.has(staleGid)) {
|
|
72760
72890
|
try {
|
|
@@ -72769,6 +72899,10 @@ ${text}`;
|
|
|
72769
72899
|
});
|
|
72770
72900
|
}
|
|
72771
72901
|
await this._persistState();
|
|
72902
|
+
if (retagged) {
|
|
72903
|
+
this._markHistoryDirty();
|
|
72904
|
+
await this._saveHistoryState();
|
|
72905
|
+
}
|
|
72772
72906
|
console.log(
|
|
72773
72907
|
`[SecureChannel] Re-resolved conversation groups ${staleMlsGroupId ? `after 'unknown group' ${staleMlsGroupId.slice(0, 8)}` : "on connect (#1034)"}: primary group ${String(before).slice(0, 8)} \u2192 ${this._persisted.groupId.slice(0, 8)} (${mine.length} active conversation(s))`
|
|
72774
72908
|
);
|
|
@@ -73502,15 +73636,105 @@ ${text}`;
|
|
|
73502
73636
|
return this._mcpServer;
|
|
73503
73637
|
}
|
|
73504
73638
|
// --- Topic management ---
|
|
73639
|
+
/*
|
|
73640
|
+
* #1416 — topics are per conversation GROUP.
|
|
73641
|
+
*
|
|
73642
|
+
* Since #1399 every person has their own 1:1 group with the agent, and a
|
|
73643
|
+
* topic belongs to exactly one group (`topics.group_id`). The agent used to
|
|
73644
|
+
* keep ONE default topic (the primary group's) and ONE last-incoming topic,
|
|
73645
|
+
* and stamped both on every frame — so a reply into person B's group could
|
|
73646
|
+
* carry person A's topic, and B's web client (which filters live messages by
|
|
73647
|
+
* the topic it is viewing) dropped it until a reload.
|
|
73648
|
+
*
|
|
73649
|
+
* The rule now: a frame's topic comes from THAT frame's group. A group with
|
|
73650
|
+
* no known topic gets none — the server then files the message under that
|
|
73651
|
+
* conversation's own default topic (`ws.py`, lazily created) — rather than
|
|
73652
|
+
* borrowing another group's.
|
|
73653
|
+
*/
|
|
73654
|
+
/** Scope key for per-group topic state; see `_lastIncomingTopics`. */
|
|
73655
|
+
_topicScope(gid, convId) {
|
|
73656
|
+
if (gid) return `g:${gid}`;
|
|
73657
|
+
if (!this._persisted?.groupId && this._sessionGroupIds.size === 0) return "*";
|
|
73658
|
+
return convId ? `c:${convId}` : void 0;
|
|
73659
|
+
}
|
|
73660
|
+
/** Record the topic of an inbound 1:1 message for its own group (#1416). */
|
|
73661
|
+
_rememberIncomingTopic(convId, gid, topicId) {
|
|
73662
|
+
const scope = this._topicScope(gid ?? (convId ? this._sessionGroupIds.get(convId) : void 0), convId);
|
|
73663
|
+
if (!scope) return;
|
|
73664
|
+
if (topicId && !isTopicId(topicId)) return;
|
|
73665
|
+
if (topicId) this._lastIncomingTopics.set(scope, topicId);
|
|
73666
|
+
else this._lastIncomingTopics.delete(scope);
|
|
73667
|
+
}
|
|
73505
73668
|
/**
|
|
73506
|
-
*
|
|
73507
|
-
*
|
|
73669
|
+
* Record a group's default topic (#1416). The legacy `defaultTopicId` keeps
|
|
73670
|
+
* mirroring the PRIMARY group's entry, for older readers and backups.
|
|
73671
|
+
*/
|
|
73672
|
+
_recordDefaultTopic(gid, topicId) {
|
|
73673
|
+
if (!gid || !topicId || !this._persisted) return;
|
|
73674
|
+
(this._persisted.defaultTopicIds ??= {})[gid] = topicId;
|
|
73675
|
+
if (gid === this._persisted.groupId) this._persisted.defaultTopicId = topicId;
|
|
73676
|
+
}
|
|
73677
|
+
/** The group a topic is known to belong to, if any. */
|
|
73678
|
+
_groupOfTopic(topicId) {
|
|
73679
|
+
const p2 = this._persisted;
|
|
73680
|
+
for (const [gid, tid] of Object.entries(p2?.defaultTopicIds ?? {})) {
|
|
73681
|
+
if (tid === topicId) return gid;
|
|
73682
|
+
}
|
|
73683
|
+
if (p2?.defaultTopicId === topicId && p2.groupId) return p2.groupId;
|
|
73684
|
+
for (const t2 of p2?.topics ?? []) {
|
|
73685
|
+
if (t2.id === topicId) return t2.groupId ?? p2?.groupId;
|
|
73686
|
+
}
|
|
73687
|
+
for (const [scope, tid] of this._lastIncomingTopics) {
|
|
73688
|
+
if (tid === topicId && scope.startsWith("g:")) return scope.slice(2);
|
|
73689
|
+
}
|
|
73690
|
+
return void 0;
|
|
73691
|
+
}
|
|
73692
|
+
/**
|
|
73693
|
+
* The topic one outgoing 1:1 frame carries (#1416), or `undefined` to send
|
|
73694
|
+
* none. `gid` is the frame's conversation group (looked up from `convId`
|
|
73695
|
+
* when not given); `explicit` is the caller's `topicId`; `targeted` is true
|
|
73696
|
+
* when the caller addressed one conversation.
|
|
73697
|
+
*/
|
|
73698
|
+
_topicForFrame(gid, convId, explicit, targeted, useLastIncoming = true) {
|
|
73699
|
+
const p2 = this._persisted;
|
|
73700
|
+
const g2 = gid ?? (convId ? this._sessionGroupIds.get(convId) : void 0);
|
|
73701
|
+
const primaryScope = g2 !== void 0 ? g2 === p2?.groupId : convId === this._primaryConversationId || !p2?.groupId;
|
|
73702
|
+
if (isTopicId(explicit)) {
|
|
73703
|
+
const owner = this._groupOfTopic(explicit);
|
|
73704
|
+
if (owner !== void 0 ? owner === g2 : targeted || primaryScope) return explicit;
|
|
73705
|
+
}
|
|
73706
|
+
const scope = this._topicScope(g2, convId);
|
|
73707
|
+
const last = scope && useLastIncoming ? this._lastIncomingTopics.get(scope) : void 0;
|
|
73708
|
+
if (last) return last;
|
|
73709
|
+
if (g2 && p2?.defaultTopicIds?.[g2]) return p2.defaultTopicIds[g2];
|
|
73710
|
+
if (primaryScope && p2?.defaultTopicId) return p2.defaultTopicId;
|
|
73711
|
+
return void 0;
|
|
73712
|
+
}
|
|
73713
|
+
/**
|
|
73714
|
+
* The conversation group a topic call addresses (#1416): the named
|
|
73715
|
+
* conversation's own group, else the primary group. A named conversation
|
|
73716
|
+
* whose group is unknown is an error — falling back to the primary group
|
|
73717
|
+
* would create/list topics in somebody else's chat.
|
|
73508
73718
|
*/
|
|
73509
|
-
|
|
73719
|
+
_topicGroupFor(conversationId) {
|
|
73720
|
+
if (conversationId) {
|
|
73721
|
+
const gid = this._sessionGroupIds.get(conversationId);
|
|
73722
|
+
if (!gid) throw new Error("Conversation group unknown for topic call");
|
|
73723
|
+
return gid;
|
|
73724
|
+
}
|
|
73510
73725
|
if (!this._persisted?.groupId) {
|
|
73511
73726
|
throw new Error("Channel not initialized or groupId unknown");
|
|
73512
73727
|
}
|
|
73513
|
-
|
|
73728
|
+
return this._persisted.groupId;
|
|
73729
|
+
}
|
|
73730
|
+
/**
|
|
73731
|
+
* Create a new topic within a conversation group — the given conversation's
|
|
73732
|
+
* own group (#1416), or the primary group when none is named.
|
|
73733
|
+
* Requires the channel to be initialized with a groupId (from activation).
|
|
73734
|
+
*/
|
|
73735
|
+
async createTopic(name, options) {
|
|
73736
|
+
const groupId = this._topicGroupFor(options?.conversationId);
|
|
73737
|
+
if (!this._deviceJwt || !this._persisted) {
|
|
73514
73738
|
throw new Error("Channel not authenticated");
|
|
73515
73739
|
}
|
|
73516
73740
|
const res = await fetch(`${this.config.apiUrl}/api/v1/topics`, {
|
|
@@ -73520,7 +73744,7 @@ ${text}`;
|
|
|
73520
73744
|
Authorization: `Bearer ${this._deviceJwt}`
|
|
73521
73745
|
},
|
|
73522
73746
|
body: JSON.stringify({
|
|
73523
|
-
group_id:
|
|
73747
|
+
group_id: groupId,
|
|
73524
73748
|
name,
|
|
73525
73749
|
creator_device_id: this._persisted.deviceId
|
|
73526
73750
|
})
|
|
@@ -73534,23 +73758,23 @@ ${text}`;
|
|
|
73534
73758
|
if (!this._persisted.topics) {
|
|
73535
73759
|
this._persisted.topics = [];
|
|
73536
73760
|
}
|
|
73537
|
-
this._persisted.topics.push(topic);
|
|
73761
|
+
this._persisted.topics.push({ ...topic, groupId });
|
|
73762
|
+
if (topic.isDefault) this._recordDefaultTopic(groupId, topic.id);
|
|
73538
73763
|
await this._persistState();
|
|
73539
73764
|
return topic;
|
|
73540
73765
|
}
|
|
73541
73766
|
/**
|
|
73542
|
-
* List all topics in the conversation
|
|
73767
|
+
* List all topics in a conversation group — the given conversation's own
|
|
73768
|
+
* group (#1416), or the primary group when none is named.
|
|
73543
73769
|
* Requires the channel to be initialized with a groupId (from activation).
|
|
73544
73770
|
*/
|
|
73545
|
-
async listTopics() {
|
|
73546
|
-
|
|
73547
|
-
|
|
73548
|
-
}
|
|
73549
|
-
if (!this._deviceJwt) {
|
|
73771
|
+
async listTopics(options) {
|
|
73772
|
+
const groupId = this._topicGroupFor(options?.conversationId);
|
|
73773
|
+
if (!this._deviceJwt || !this._persisted) {
|
|
73550
73774
|
throw new Error("Channel not authenticated");
|
|
73551
73775
|
}
|
|
73552
73776
|
const res = await fetch(
|
|
73553
|
-
`${this.config.apiUrl}/api/v1/topics?group_id=${encodeURIComponent(
|
|
73777
|
+
`${this.config.apiUrl}/api/v1/topics?group_id=${encodeURIComponent(groupId)}`,
|
|
73554
73778
|
{
|
|
73555
73779
|
headers: {
|
|
73556
73780
|
Authorization: `Bearer ${this._deviceJwt}`
|
|
@@ -73563,7 +73787,13 @@ ${text}`;
|
|
|
73563
73787
|
}
|
|
73564
73788
|
const resp = await res.json();
|
|
73565
73789
|
const topics = resp.map((t2) => ({ id: t2.id, name: t2.name, isDefault: t2.is_default }));
|
|
73566
|
-
this._persisted.
|
|
73790
|
+
const primaryGid = this._persisted.groupId;
|
|
73791
|
+
this._persisted.topics = [
|
|
73792
|
+
...(this._persisted.topics ?? []).filter((t2) => (t2.groupId ?? primaryGid) !== groupId),
|
|
73793
|
+
...topics.map((t2) => ({ ...t2, groupId }))
|
|
73794
|
+
];
|
|
73795
|
+
const def = topics.find((t2) => t2.isDefault);
|
|
73796
|
+
if (def) this._recordDefaultTopic(groupId, def.id);
|
|
73567
73797
|
await this._persistState();
|
|
73568
73798
|
return topics;
|
|
73569
73799
|
}
|
|
@@ -74147,6 +74377,9 @@ ${text}`;
|
|
|
74147
74377
|
this._persisted.defaultTopicId = primary.default_topic_id;
|
|
74148
74378
|
}
|
|
74149
74379
|
}
|
|
74380
|
+
for (const conv of conversations) {
|
|
74381
|
+
this._recordDefaultTopic(conv.group_id, conv.default_topic_id);
|
|
74382
|
+
}
|
|
74150
74383
|
this._sessionGroupIds = /* @__PURE__ */ new Map();
|
|
74151
74384
|
for (const conv of conversations) {
|
|
74152
74385
|
if (conv.group_id) {
|
|
@@ -74259,7 +74492,7 @@ ${text}`;
|
|
|
74259
74492
|
agentVersion: this.config.agentVersion ?? "0.0.0",
|
|
74260
74493
|
// __AV_VERSION__ is injected by esbuild from package.json at build time.
|
|
74261
74494
|
// Falls back to "0.0.0-dev" in non-bundled contexts (tests).
|
|
74262
|
-
pluginVersion: true ? "0.23.
|
|
74495
|
+
pluginVersion: true ? "0.23.51" : "0.0.0-dev"
|
|
74263
74496
|
});
|
|
74264
74497
|
this._telemetryReporter.startAutoFlush(3e4);
|
|
74265
74498
|
}
|
|
@@ -74587,7 +74820,7 @@ ${text}`;
|
|
|
74587
74820
|
agentVersion: this.config.agentVersion ?? "0.0.0",
|
|
74588
74821
|
// __AV_VERSION__ is injected by esbuild from package.json at build time.
|
|
74589
74822
|
// Falls back to "0.0.0-dev" in non-bundled contexts (tests).
|
|
74590
|
-
pluginVersion: true ? "0.23.
|
|
74823
|
+
pluginVersion: true ? "0.23.51" : "0.0.0-dev"
|
|
74591
74824
|
});
|
|
74592
74825
|
this._telemetryReporter.startAutoFlush(3e4);
|
|
74593
74826
|
}
|
|
@@ -75050,11 +75283,15 @@ ${text}`;
|
|
|
75050
75283
|
if (decisionReply) messageType = "decision_response";
|
|
75051
75284
|
} catch {
|
|
75052
75285
|
}
|
|
75286
|
+
const dmGroupId = convGroupId ?? (mgrKey?.startsWith("1to1-group:") ? mgrKey.slice("1to1-group:".length) : void 0);
|
|
75053
75287
|
if (messageType === "history_catchup_request") {
|
|
75054
75288
|
try {
|
|
75055
75289
|
const request = JSON.parse(plaintext);
|
|
75056
75290
|
if (typeof request.requesting_device_id !== "string") return;
|
|
75057
|
-
const filtered = this._historyForCatchup("dm", void 0, request.since_ts
|
|
75291
|
+
const filtered = this._historyForCatchup("dm", void 0, request.since_ts, {
|
|
75292
|
+
groupId: dmGroupId,
|
|
75293
|
+
conversationId: convId
|
|
75294
|
+
});
|
|
75058
75295
|
const responsePayload = JSON.stringify({
|
|
75059
75296
|
type: "history_catchup_response",
|
|
75060
75297
|
target_device_id: request.requesting_device_id,
|
|
@@ -75109,6 +75346,9 @@ ${text}`;
|
|
|
75109
75346
|
console.log(`[SecureChannel] Session ${convId.slice(0, 8)} activated via MLS message`);
|
|
75110
75347
|
}
|
|
75111
75348
|
}
|
|
75349
|
+
if (topicId) {
|
|
75350
|
+
this._rememberIncomingTopic(convId, dmGroupId, topicId);
|
|
75351
|
+
}
|
|
75112
75352
|
if (mlsAttachment) {
|
|
75113
75353
|
text = await this._augmentWithAttachment(mlsAttachment, text);
|
|
75114
75354
|
}
|
|
@@ -75118,7 +75358,8 @@ ${text}`;
|
|
|
75118
75358
|
"dm",
|
|
75119
75359
|
topicId,
|
|
75120
75360
|
data.created_at,
|
|
75121
|
-
messageType
|
|
75361
|
+
messageType,
|
|
75362
|
+
{ groupId: dmGroupId, conversationId: convId }
|
|
75122
75363
|
);
|
|
75123
75364
|
const metadata = {
|
|
75124
75365
|
messageId: data.message_id ?? `mls_${Date.now()}`,
|
|
@@ -75303,7 +75544,7 @@ ${text}`;
|
|
|
75303
75544
|
}
|
|
75304
75545
|
if (messageType === "message" || messageType === "decision_response" && decisionReply) {
|
|
75305
75546
|
const topicId = msgData.topic_id;
|
|
75306
|
-
this.
|
|
75547
|
+
this._rememberIncomingTopic(convId, void 0, topicId);
|
|
75307
75548
|
let attachData;
|
|
75308
75549
|
if (attachmentInfo) {
|
|
75309
75550
|
try {
|
|
@@ -75331,7 +75572,8 @@ ${text}`;
|
|
|
75331
75572
|
"dm",
|
|
75332
75573
|
topicId,
|
|
75333
75574
|
msgData.created_at,
|
|
75334
|
-
messageType
|
|
75575
|
+
messageType,
|
|
75576
|
+
{ conversationId: convId }
|
|
75335
75577
|
);
|
|
75336
75578
|
let emitText = messageText;
|
|
75337
75579
|
if (attachData) {
|
|
@@ -75524,18 +75766,19 @@ ${baseText}`;
|
|
|
75524
75766
|
if (this._state !== "ready" || this._sessions.size === 0 || !this._ws) {
|
|
75525
75767
|
throw new Error("Channel is not ready");
|
|
75526
75768
|
}
|
|
75527
|
-
const topicId = options?.topicId ?? this._persisted?.defaultTopicId;
|
|
75528
75769
|
const attachMeta = await this._uploadAttachment(filePath, this._primaryConversationId);
|
|
75529
|
-
const envelope = JSON.stringify({
|
|
75530
|
-
type: "message",
|
|
75531
|
-
text: plaintext,
|
|
75532
|
-
topicId,
|
|
75533
|
-
attachment: attachMeta
|
|
75534
|
-
});
|
|
75535
75770
|
const messageGroupId = randomUUID4();
|
|
75536
75771
|
const pendingWsSends = [];
|
|
75772
|
+
const frameHistoryContexts = [];
|
|
75537
75773
|
for (const [convId, session2] of this._sessions) {
|
|
75538
75774
|
if (!session2.activated) continue;
|
|
75775
|
+
const topicId = this._topicForFrame(void 0, convId, options?.topicId, false, false);
|
|
75776
|
+
const envelope = JSON.stringify({
|
|
75777
|
+
type: "message",
|
|
75778
|
+
text: plaintext,
|
|
75779
|
+
topicId,
|
|
75780
|
+
attachment: attachMeta
|
|
75781
|
+
});
|
|
75539
75782
|
const encrypted = session2.ratchet.encrypt(envelope);
|
|
75540
75783
|
const transport = encryptedMessageToTransport(encrypted);
|
|
75541
75784
|
pendingWsSends.push(
|
|
@@ -75550,14 +75793,19 @@ ${baseText}`;
|
|
|
75550
75793
|
}
|
|
75551
75794
|
})
|
|
75552
75795
|
);
|
|
75796
|
+
frameHistoryContexts.push(this._dmHistoryContext(topicId, void 0, convId));
|
|
75553
75797
|
}
|
|
75554
75798
|
await this._persistState();
|
|
75555
75799
|
let deliveredFrames = 0;
|
|
75556
|
-
|
|
75557
|
-
|
|
75800
|
+
let historyContext;
|
|
75801
|
+
for (const [i2, frame] of pendingWsSends.entries()) {
|
|
75802
|
+
if (this._sendApplicationFrame(frame)) {
|
|
75803
|
+
if (deliveredFrames === 0) historyContext = frameHistoryContexts[i2];
|
|
75804
|
+
deliveredFrames += 1;
|
|
75805
|
+
}
|
|
75558
75806
|
}
|
|
75559
75807
|
if (deliveredFrames > 0) {
|
|
75560
|
-
await this._appendHistory("agent", plaintext, this._historyContext("dm"
|
|
75808
|
+
await this._appendHistory("agent", plaintext, historyContext ?? this._historyContext("dm"), void 0, messageGroupId);
|
|
75561
75809
|
}
|
|
75562
75810
|
}
|
|
75563
75811
|
/**
|
|
@@ -75582,9 +75830,13 @@ ${baseText}`;
|
|
|
75582
75830
|
topicId
|
|
75583
75831
|
});
|
|
75584
75832
|
const pendingWsSends = [];
|
|
75833
|
+
const sourceGid = this._sessionGroupIds.get(sourceConvId);
|
|
75834
|
+
const knowsGroups = this._sessionGroupIds.size > 0;
|
|
75585
75835
|
for (const [siblingConvId, siblingSession] of this._sessions) {
|
|
75586
75836
|
if (siblingConvId === sourceConvId) continue;
|
|
75587
75837
|
if (!siblingSession.activated) continue;
|
|
75838
|
+
const siblingGid = this._sessionGroupIds.get(siblingConvId);
|
|
75839
|
+
if (knowsGroups && !(sourceGid && siblingGid && siblingGid === sourceGid)) continue;
|
|
75588
75840
|
if (roomConvIds.has(siblingConvId)) continue;
|
|
75589
75841
|
const syncEncrypted = siblingSession.ratchet.encrypt(syncPayload);
|
|
75590
75842
|
const syncTransport = encryptedMessageToTransport(syncEncrypted);
|
|
@@ -75665,7 +75917,7 @@ ${baseText}`;
|
|
|
75665
75917
|
async _replayHistoryToSession(convId) {
|
|
75666
75918
|
const session2 = this._sessions.get(convId);
|
|
75667
75919
|
if (!session2 || !session2.activated || !this._ws) return;
|
|
75668
|
-
const history = this._selectHistoryContext("dm");
|
|
75920
|
+
const history = this._selectHistoryContext("dm", void 0, { conversationId: convId });
|
|
75669
75921
|
if (history.length === 0) {
|
|
75670
75922
|
console.log(`[SecureChannel] No history to replay for ${convId.slice(0, 8)}...`);
|
|
75671
75923
|
return;
|
|
@@ -75739,6 +75991,10 @@ ${baseText}`;
|
|
|
75739
75991
|
if (event.owner_hub_id) {
|
|
75740
75992
|
this._persisted.ownerHubId = event.owner_hub_id;
|
|
75741
75993
|
}
|
|
75994
|
+
if (event.group_id && !this._sessionGroupIds.has(event.conversation_id)) {
|
|
75995
|
+
this._sessionGroupIds.set(event.conversation_id, event.group_id);
|
|
75996
|
+
this._persisted.conversationGroupIds = Object.fromEntries(this._sessionGroupIds);
|
|
75997
|
+
}
|
|
75742
75998
|
await this._persistState();
|
|
75743
75999
|
console.log(
|
|
75744
76000
|
`[SecureChannel] Session initialized for device ${event.owner_device_id.slice(0, 8)}... (conv ${event.conversation_id.slice(0, 8)}...)`
|
|
@@ -78037,7 +78293,7 @@ ${baseText}`;
|
|
|
78037
78293
|
}
|
|
78038
78294
|
if (messageType === "message" || messageType === "decision_response" && decisionReply) {
|
|
78039
78295
|
const topicId = msg.topic_id;
|
|
78040
|
-
await this._appendHistory("owner", messageText, this.
|
|
78296
|
+
await this._appendHistory("owner", messageText, this._dmHistoryContext(topicId, void 0, msg.conversation_id), msg.created_at, msg.message_id);
|
|
78041
78297
|
const metadata = {
|
|
78042
78298
|
messageId: msg.message_id,
|
|
78043
78299
|
conversationId: msg.conversation_id,
|
|
@@ -78643,7 +78899,7 @@ ${baseText}`;
|
|
|
78643
78899
|
}
|
|
78644
78900
|
if (messageType === "message" || messageType === "decision_response" && decisionReply) {
|
|
78645
78901
|
const topicId = msg.topic_id;
|
|
78646
|
-
await this._appendHistory("owner", messageText, this.
|
|
78902
|
+
await this._appendHistory("owner", messageText, this._dmHistoryContext(topicId, void 0, msg.conversation_id), msg.created_at, msg.id);
|
|
78647
78903
|
const metadata = {
|
|
78648
78904
|
messageId: msg.id,
|
|
78649
78905
|
conversationId: msg.conversation_id,
|
|
@@ -78963,7 +79219,7 @@ ${baseText}`;
|
|
|
78963
79219
|
}
|
|
78964
79220
|
if (messageType === "message" || messageType === "decision_response" && decisionReply) {
|
|
78965
79221
|
const topicId = msg.topic_id;
|
|
78966
|
-
await this._appendHistory("owner", messageText, this.
|
|
79222
|
+
await this._appendHistory("owner", messageText, this._dmHistoryContext(topicId, void 0, msg.conversation_id), msg.created_at, msg.id);
|
|
78967
79223
|
const metadata = {
|
|
78968
79224
|
messageId: msg.id,
|
|
78969
79225
|
conversationId: msg.conversation_id,
|
|
@@ -100743,7 +100999,7 @@ data:
|
|
|
100743
100999
|
await init_skill_telemetry();
|
|
100744
101000
|
await init_policy_enforcer();
|
|
100745
101001
|
init_room_protocol();
|
|
100746
|
-
VERSION = true ? "0.23.
|
|
101002
|
+
VERSION = true ? "0.23.51" : "0.0.0-dev";
|
|
100747
101003
|
}
|
|
100748
101004
|
});
|
|
100749
101005
|
await init_index();
|
|
@@ -102844,7 +103100,7 @@ async function main() {
|
|
|
102844
103100
|
const info = parseInfoFlags(process.argv.slice(2));
|
|
102845
103101
|
if (info.showVersion || info.showHelp) {
|
|
102846
103102
|
const version2 = buildClientVersion2(
|
|
102847
|
-
true ? "0.4.
|
|
103103
|
+
true ? "0.4.22" : void 0
|
|
102848
103104
|
);
|
|
102849
103105
|
if (info.showVersion) printLine(version2);
|
|
102850
103106
|
if (info.showHelp) {
|
|
@@ -102883,7 +103139,7 @@ async function main() {
|
|
|
102883
103139
|
process.exit(0);
|
|
102884
103140
|
}
|
|
102885
103141
|
const cfg = loadConfig(process.env, process.argv.slice(2));
|
|
102886
|
-
logLine(`[grok-bridge] version: ${true ? "0.4.
|
|
103142
|
+
logLine(`[grok-bridge] version: ${true ? "0.4.22" : "dev"}`);
|
|
102887
103143
|
mkdirSync7(cfg.workspaceDir, { recursive: true });
|
|
102888
103144
|
mkdirSync7(cfg.fenceHome, { recursive: true });
|
|
102889
103145
|
seedFenceCredential({
|
|
@@ -102898,7 +103154,7 @@ async function main() {
|
|
|
102898
103154
|
agentName: cfg.agentName,
|
|
102899
103155
|
platform: "node",
|
|
102900
103156
|
clientVersion: buildClientVersion2(
|
|
102901
|
-
true ? "0.4.
|
|
103157
|
+
true ? "0.4.22" : void 0
|
|
102902
103158
|
)
|
|
102903
103159
|
});
|
|
102904
103160
|
channelRef = channel;
|
package/package.json
CHANGED