@agentvault/openai-bridge 0.1.1 → 0.1.2

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/bridge.d.ts CHANGED
@@ -19,6 +19,17 @@ export interface BridgeChannel {
19
19
  conversationId: string;
20
20
  }): Promise<unknown>;
21
21
  sendToRoom(roomId: string, text: string): Promise<unknown>;
22
+ /** SecureChannel's TelemetryReporter (device JWT, buffered). Optional so
23
+ * fixtures and a channel without telemetry keep working. */
24
+ telemetry?: {
25
+ reportLlmCall(opts: {
26
+ model: string;
27
+ provider?: string;
28
+ latencyMs: number;
29
+ tokensInput: number;
30
+ tokensOutput: number;
31
+ }): void;
32
+ } | null;
22
33
  }
23
34
  export interface TurnDriver {
24
35
  run(key: string, prompt: string, signal?: AbortSignal): Promise<TurnResult>;
@@ -46,6 +57,9 @@ export declare class OpenAIBridge {
46
57
  private hushed;
47
58
  private invalidate;
48
59
  private enqueue;
60
+ /** Health (2026-10-14): tokens for the model call. No cost — the bridge runs
61
+ * on a ChatGPT login, so there is no per-token price to report honestly. */
62
+ private reportUsage;
49
63
  private deliver;
50
64
  idle(): Promise<void>;
51
65
  stop(): Promise<void>;
package/dist/cli.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type HistoryRecoveryCommandInput } from "@agentvault/agentvault";
2
2
  import { type Layout } from "./driver.js";
3
- export declare const VERSION = "0.1.1";
3
+ export declare const VERSION = "0.1.2";
4
4
  export interface RunConfig {
5
5
  name: string;
6
6
  apiUrl: string;
package/dist/driver.d.ts CHANGED
@@ -18,10 +18,24 @@ export declare function buildInvocation(layout: Layout, sessionId?: string): {
18
18
  };
19
19
  export declare function resolveCodex(path?: string): Promise<string>;
20
20
  export declare function checkVersion(binary: string, layout: Layout): Promise<void>;
21
+ /** The one model this bridge runs (pinned in buildInvocation). */
22
+ export declare const CODEX_MODEL = "gpt-5.6-terra";
23
+ /** Token usage Codex reports on `turn.completed`, for Health (2026-10-14). */
24
+ export interface TurnUsage {
25
+ model: string;
26
+ inputTokens: number;
27
+ outputTokens: number;
28
+ cachedInputTokens?: number;
29
+ }
21
30
  export interface TurnResult {
22
31
  text: string;
23
32
  sessionId: string;
33
+ /** Absent when Codex reported none or the shape was not understood. */
34
+ usage?: TurnUsage;
24
35
  }
36
+ /** Lenient on purpose: usage is telemetry, so a shape we do not understand is
37
+ * dropped — it must never fail a turn the strict parser otherwise accepted. */
38
+ export declare function parseTurnUsage(raw: unknown): TurnUsage | undefined;
25
39
  export interface DriverOptions {
26
40
  binary: string;
27
41
  layout: Layout;
package/dist/index.js CHANGED
@@ -3473,7 +3473,10 @@ function buildLlmSpan(opts) {
3473
3473
  "gen_ai.request.model": opts.model,
3474
3474
  "gen_ai.usage.input_tokens": opts.tokensInput,
3475
3475
  "gen_ai.usage.output_tokens": opts.tokensOutput,
3476
- "gen_ai.operation.name": "chat"
3476
+ "gen_ai.operation.name": "chat",
3477
+ // AgentVault extensions the backend ledger reads (telemetry_service.py
3478
+ // _fan_in_genai_ledger) — the same names the Hermes plugin sends.
3479
+ "av.genai.latency_ms": opts.latencyMs
3477
3480
  };
3478
3481
  if (opts.provider !== void 0) {
3479
3482
  attributes["ai.agent.llm.provider"] = opts.provider;
@@ -3482,6 +3485,7 @@ function buildLlmSpan(opts) {
3482
3485
  if (opts.costUsd !== void 0) {
3483
3486
  attributes["ai.agent.llm.cost_usd"] = opts.costUsd;
3484
3487
  attributes["gen_ai.usage.cost_usd"] = opts.costUsd;
3488
+ attributes["av.genai.cost_usd"] = opts.costUsd;
3485
3489
  }
3486
3490
  applySkillName(attributes, opts.skillName);
3487
3491
  const isError = opts.status === "error";
@@ -5175,9 +5179,9 @@ async function deriveSecret(secret, label, kdf) {
5175
5179
  async function deriveTreeSecret(secret, label, generation, length, kdf) {
5176
5180
  return expandWithLabel(secret, label, encode(uint32Encoder)(generation), length, kdf);
5177
5181
  }
5178
- async function updatePskSecret(secret, pskId, psk, index, count, impl) {
5182
+ async function updatePskSecret(secret, pskId, psk, index, count2, impl) {
5179
5183
  const zeroes = new Uint8Array(impl.kdf.size);
5180
- return impl.kdf.extract(await expandWithLabel(await impl.kdf.extract(zeroes, psk), "derived psk", encode(pskLabelEncoder)({ id: pskId, index, count }), impl.kdf.size, impl.kdf), secret);
5184
+ return impl.kdf.extract(await expandWithLabel(await impl.kdf.extract(zeroes, psk), "derived psk", encode(pskLabelEncoder)({ id: pskId, index, count: count2 }), impl.kdf.size, impl.kdf), secret);
5181
5185
  }
5182
5186
  function decodeProposalCustom(proposalType) {
5183
5187
  return mapDecoder(decodeVarLenData, (proposalData) => ({ proposalType, proposalData }));
@@ -9489,7 +9493,7 @@ function expand_message_xof(msg, DST, lenInBytes, k2, H2) {
9489
9493
  throw new Error("expand_message_xof: invalid lenInBytes");
9490
9494
  return H2.create({ dkLen: lenInBytes }).update(msg).update(i2osp(lenInBytes, 2)).update(DST).update(i2osp(DST.length, 1)).digest();
9491
9495
  }
9492
- function hash_to_field(msg, count, options) {
9496
+ function hash_to_field(msg, count2, options) {
9493
9497
  _validateObject(options, {
9494
9498
  p: "bigint",
9495
9499
  m: "number",
@@ -9500,10 +9504,10 @@ function hash_to_field(msg, count, options) {
9500
9504
  if (!isHash(options.hash))
9501
9505
  throw new Error("expected valid hash");
9502
9506
  abytes4(msg);
9503
- anum(count);
9507
+ anum(count2);
9504
9508
  const log2p = p2.toString(2).length;
9505
9509
  const L2 = Math.ceil((log2p + k2) / 8);
9506
- const len_in_bytes = count * m2 * L2;
9510
+ const len_in_bytes = count2 * m2 * L2;
9507
9511
  let prb;
9508
9512
  if (expand === "xmd") {
9509
9513
  prb = expand_message_xmd(msg, DST, len_in_bytes, hash2);
@@ -9514,8 +9518,8 @@ function hash_to_field(msg, count, options) {
9514
9518
  } else {
9515
9519
  throw new Error('expand must be "xmd" or "xof"');
9516
9520
  }
9517
- const u2 = new Array(count);
9518
- for (let i2 = 0; i2 < count; i2++) {
9521
+ const u2 = new Array(count2);
9522
+ for (let i2 = 0; i2 < count2; i2++) {
9519
9523
  const e = new Array(m2);
9520
9524
  for (let j2 = 0; j2 < m2; j2++) {
9521
9525
  const elm_offset = L2 * (j2 + i2 * m2);
@@ -11737,11 +11741,11 @@ async function joinWithFirstMatchingKp(welcomeBytes, candidates) {
11737
11741
  return null;
11738
11742
  }
11739
11743
  function ownIdentity() {
11740
- const v2 = true ? "0.23.45" : FALLBACK;
11744
+ const v2 = true ? "0.23.46" : FALLBACK;
11741
11745
  return `${PACKAGE}@${v2}`;
11742
11746
  }
11743
11747
  function buildSha() {
11744
- const raw = true ? "af0ab83" : "";
11748
+ const raw = true ? "576baf3" : "";
11745
11749
  const cleaned = (raw ?? "").trim();
11746
11750
  return !cleaned || cleaned === "unknown" ? null : cleaned;
11747
11751
  }
@@ -17850,7 +17854,7 @@ function reportSkillInvocation(opts) {
17850
17854
  spanBuffer.push(span);
17851
17855
  return span;
17852
17856
  }
17853
- 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, url2, path, Module, Module, root, window_, crypto_, randomValuesStandard, crypto4, 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, isLE, swap8IfBE, swap32IfBE, hasHexBuiltin, hexes, oidNist, init_utils, BSIGMA, init_blake, HashMD, SHA256_IV, SHA384_IV, SHA512_IV, init_md, U32_MASK64, _32n, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, add3L, add3H, add4L, add4H, add5L, add5H, init_u64, 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, crypto2, 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_exports2, 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, 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, history_backup_client_exports, HISTORY_RESTORE_TIMEOUT_MS, HISTORY_RESTORE_RESPONSE_MAX_BYTES, HISTORY_ENVELOPE_MIN_BYTES, HISTORY_AAD_PREFIX, UUID_RE2, 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_RE3, 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, 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, NEVER, $ZodAsyncError, $ZodEncodeError, globalConfig, init_core, util_exports, EVALUATING, captureStackTrace, allowsEval, getParsedType2, propertyKeyTypes, primitiveTypes, NUMBER_FORMAT_RANGES, BIGINT_FORMAT_RANGES, Class, init_util2, initializer, $ZodError, $ZodRealError, init_errors3, _parse, parse, _parseAsync, parseAsync, _safeParse, safeParse, _safeParseAsync, safeParseAsync, _encode, _decode, _encodeAsync, _decodeAsync, _safeEncode, _safeDecode, _safeEncodeAsync, _safeDecodeAsync, init_parse, regexes_exports, cuid, cuid2, ulid, xid, ksuid, nanoid, duration, extendedDuration, guid, uuid, uuid4, uuid6, uuid7, email, html5Email, rfc5322Email, unicodeEmail, idnEmail, browserEmail, _emoji, ipv4, ipv6, mac, cidrv4, cidrv6, base64, base64url, hostname, domain, e164, dateSource, date, string, bigint, integer, number, boolean, _null, _undefined, lowercase, uppercase, hex, md5_hex, md5_base64, md5_base64url, sha1_hex, sha1_base64, sha1_base64url, sha256_hex, sha256_base64, sha256_base64url, sha384_hex, sha384_base64, sha384_base64url, sha512_hex, sha512_base64, sha512_base64url, init_regexes, $ZodCheck, numericOriginMap, $ZodCheckLessThan, $ZodCheckGreaterThan, $ZodCheckMultipleOf, $ZodCheckNumberFormat, $ZodCheckBigIntFormat, $ZodCheckMaxSize, $ZodCheckMinSize, $ZodCheckSizeEquals, $ZodCheckMaxLength, $ZodCheckMinLength, $ZodCheckLengthEquals, $ZodCheckStringFormat, $ZodCheckRegex, $ZodCheckLowerCase, $ZodCheckUpperCase, $ZodCheckIncludes, $ZodCheckStartsWith, $ZodCheckEndsWith, $ZodCheckProperty, $ZodCheckMimeType, $ZodCheckOverwrite, init_checks, Doc, init_doc, version, init_versions, $ZodType, $ZodString, $ZodStringFormat, $ZodGUID, $ZodUUID, $ZodEmail, $ZodURL, $ZodEmoji, $ZodNanoID, $ZodCUID, $ZodCUID2, $ZodULID, $ZodXID, $ZodKSUID, $ZodISODateTime, $ZodISODate, $ZodISOTime, $ZodISODuration, $ZodIPv4, $ZodIPv6, $ZodMAC, $ZodCIDRv4, $ZodCIDRv6, $ZodBase64, $ZodBase64URL, $ZodE164, $ZodJWT, $ZodCustomStringFormat, $ZodNumber, $ZodNumberFormat, $ZodBoolean, $ZodBigInt, $ZodBigIntFormat, $ZodSymbol, $ZodUndefined, $ZodNull, $ZodAny, $ZodUnknown, $ZodNever, $ZodVoid, $ZodDate, $ZodArray, $ZodObject, $ZodObjectJIT, $ZodUnion, $ZodXor, $ZodDiscriminatedUnion, $ZodIntersection, $ZodTuple, $ZodRecord, $ZodMap, $ZodSet, $ZodEnum, $ZodLiteral, $ZodFile, $ZodTransform, $ZodOptional, $ZodExactOptional, $ZodNullable, $ZodDefault, $ZodPrefault, $ZodNonOptional, $ZodSuccess, $ZodCatch, $ZodNaN, $ZodPipe, $ZodCodec, $ZodReadonly, $ZodTemplateLiteral, $ZodFunction, $ZodPromise, $ZodLazy, $ZodCustom, init_schemas, init_ar, init_az, init_be, init_bg, init_ca, init_cs, init_da, init_de, error, init_en2, init_eo, init_es, init_fa, init_fi, init_fr, init_fr_CA, init_he, init_hu, init_hy, init_id, init_is, init_it, init_ja, init_ka, init_km, init_kh, init_ko, init_lt, init_mk, init_ms, init_nl, init_no, init_ota, init_ps, init_pl, init_pt, init_ru, init_sl, init_sv, init_ta, init_th, init_tr, init_uk, init_ua, init_ur, init_uz, init_vi, init_zh_CN, init_zh_TW, init_yo, init_locales, _a2, $ZodRegistry, globalRegistry, init_registries, init_api, createToJSONSchemaMethod, createStandardJSONSchemaMethod, init_to_json_schema, formatMap, 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, recordProcessor, nullableProcessor, nonoptionalProcessor, defaultProcessor, prefaultProcessor, catchProcessor, pipeProcessor, readonlyProcessor, promiseProcessor, optionalProcessor, lazyProcessor, allProcessors, init_json_schema_processors, init_json_schema_generator, 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, checks_exports2, init_checks3, iso_exports2, ZodISODateTime, ZodISODate, ZodISOTime, ZodISODuration, init_iso2, initializer2, ZodError2, ZodRealError, init_errors4, parse2, parseAsync2, safeParse3, safeParseAsync3, encode3, decode2, encodeAsync2, decodeAsync2, safeEncode2, safeDecode2, safeEncodeAsync2, safeDecodeAsync2, init_parse3, schemas_exports3, ZodType2, _ZodString, ZodString2, ZodStringFormat, ZodEmail, ZodGUID, ZodUUID, ZodURL, ZodEmoji, ZodNanoID, ZodCUID, ZodCUID2, ZodULID, ZodXID, ZodKSUID, ZodIPv4, ZodMAC, ZodIPv6, ZodCIDRv4, ZodCIDRv6, ZodBase64, ZodBase64URL, ZodE164, ZodJWT, ZodCustomStringFormat, ZodNumber2, ZodNumberFormat, ZodBoolean2, ZodBigInt2, ZodBigIntFormat, ZodSymbol2, ZodUndefined2, ZodNull2, ZodAny2, ZodUnknown2, ZodNever2, ZodVoid2, ZodDate2, ZodArray2, ZodObject2, ZodUnion2, ZodXor, ZodDiscriminatedUnion2, ZodIntersection2, ZodTuple2, ZodRecord2, ZodMap2, ZodSet2, ZodEnum2, ZodLiteral2, ZodFile, ZodTransform, ZodOptional2, ZodExactOptional, ZodNullable2, ZodDefault2, ZodPrefault, ZodNonOptional, ZodSuccess, ZodCatch2, ZodNaN2, ZodPipe, ZodCodec, ZodReadonly2, ZodTemplateLiteral, ZodLazy2, ZodPromise2, ZodFunction2, ZodCustom, describe2, meta2, stringbool, init_schemas3, ZodFirstPartyTypeKind2, init_compat, z2, init_from_json_schema, 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, 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;
17857
+ 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, url2, path, Module, Module, root, window_, crypto_, randomValuesStandard, crypto4, 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, isLE, swap8IfBE, swap32IfBE, hasHexBuiltin, hexes, oidNist, init_utils, BSIGMA, init_blake, HashMD, SHA256_IV, SHA384_IV, SHA512_IV, init_md, U32_MASK64, _32n, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, add3L, add3H, add4L, add4H, add5L, add5H, init_u64, 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, crypto2, 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_exports2, 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, 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, history_backup_client_exports, HISTORY_RESTORE_TIMEOUT_MS, HISTORY_RESTORE_RESPONSE_MAX_BYTES, HISTORY_ENVELOPE_MIN_BYTES, HISTORY_AAD_PREFIX, UUID_RE2, 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_RE3, 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, NEVER, $ZodAsyncError, $ZodEncodeError, globalConfig, init_core, util_exports, EVALUATING, captureStackTrace, allowsEval, getParsedType2, propertyKeyTypes, primitiveTypes, NUMBER_FORMAT_RANGES, BIGINT_FORMAT_RANGES, Class, init_util2, initializer, $ZodError, $ZodRealError, init_errors3, _parse, parse, _parseAsync, parseAsync, _safeParse, safeParse, _safeParseAsync, safeParseAsync, _encode, _decode, _encodeAsync, _decodeAsync, _safeEncode, _safeDecode, _safeEncodeAsync, _safeDecodeAsync, init_parse, regexes_exports, cuid, cuid2, ulid, xid, ksuid, nanoid, duration, extendedDuration, guid, uuid, uuid4, uuid6, uuid7, email, html5Email, rfc5322Email, unicodeEmail, idnEmail, browserEmail, _emoji, ipv4, ipv6, mac, cidrv4, cidrv6, base64, base64url, hostname, domain, e164, dateSource, date, string, bigint, integer, number, boolean, _null, _undefined, lowercase, uppercase, hex, md5_hex, md5_base64, md5_base64url, sha1_hex, sha1_base64, sha1_base64url, sha256_hex, sha256_base64, sha256_base64url, sha384_hex, sha384_base64, sha384_base64url, sha512_hex, sha512_base64, sha512_base64url, init_regexes, $ZodCheck, numericOriginMap, $ZodCheckLessThan, $ZodCheckGreaterThan, $ZodCheckMultipleOf, $ZodCheckNumberFormat, $ZodCheckBigIntFormat, $ZodCheckMaxSize, $ZodCheckMinSize, $ZodCheckSizeEquals, $ZodCheckMaxLength, $ZodCheckMinLength, $ZodCheckLengthEquals, $ZodCheckStringFormat, $ZodCheckRegex, $ZodCheckLowerCase, $ZodCheckUpperCase, $ZodCheckIncludes, $ZodCheckStartsWith, $ZodCheckEndsWith, $ZodCheckProperty, $ZodCheckMimeType, $ZodCheckOverwrite, init_checks, Doc, init_doc, version, init_versions, $ZodType, $ZodString, $ZodStringFormat, $ZodGUID, $ZodUUID, $ZodEmail, $ZodURL, $ZodEmoji, $ZodNanoID, $ZodCUID, $ZodCUID2, $ZodULID, $ZodXID, $ZodKSUID, $ZodISODateTime, $ZodISODate, $ZodISOTime, $ZodISODuration, $ZodIPv4, $ZodIPv6, $ZodMAC, $ZodCIDRv4, $ZodCIDRv6, $ZodBase64, $ZodBase64URL, $ZodE164, $ZodJWT, $ZodCustomStringFormat, $ZodNumber, $ZodNumberFormat, $ZodBoolean, $ZodBigInt, $ZodBigIntFormat, $ZodSymbol, $ZodUndefined, $ZodNull, $ZodAny, $ZodUnknown, $ZodNever, $ZodVoid, $ZodDate, $ZodArray, $ZodObject, $ZodObjectJIT, $ZodUnion, $ZodXor, $ZodDiscriminatedUnion, $ZodIntersection, $ZodTuple, $ZodRecord, $ZodMap, $ZodSet, $ZodEnum, $ZodLiteral, $ZodFile, $ZodTransform, $ZodOptional, $ZodExactOptional, $ZodNullable, $ZodDefault, $ZodPrefault, $ZodNonOptional, $ZodSuccess, $ZodCatch, $ZodNaN, $ZodPipe, $ZodCodec, $ZodReadonly, $ZodTemplateLiteral, $ZodFunction, $ZodPromise, $ZodLazy, $ZodCustom, init_schemas, init_ar, init_az, init_be, init_bg, init_ca, init_cs, init_da, init_de, error, init_en2, init_eo, init_es, init_fa, init_fi, init_fr, init_fr_CA, init_he, init_hu, init_hy, init_id, init_is, init_it, init_ja, init_ka, init_km, init_kh, init_ko, init_lt, init_mk, init_ms, init_nl, init_no, init_ota, init_ps, init_pl, init_pt, init_ru, init_sl, init_sv, init_ta, init_th, init_tr, init_uk, init_ua, init_ur, init_uz, init_vi, init_zh_CN, init_zh_TW, init_yo, init_locales, _a2, $ZodRegistry, globalRegistry, init_registries, init_api, createToJSONSchemaMethod, createStandardJSONSchemaMethod, init_to_json_schema, formatMap, 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, recordProcessor, nullableProcessor, nonoptionalProcessor, defaultProcessor, prefaultProcessor, catchProcessor, pipeProcessor, readonlyProcessor, promiseProcessor, optionalProcessor, lazyProcessor, allProcessors, init_json_schema_processors, init_json_schema_generator, 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, checks_exports2, init_checks3, iso_exports2, ZodISODateTime, ZodISODate, ZodISOTime, ZodISODuration, init_iso2, initializer2, ZodError2, ZodRealError, init_errors4, parse2, parseAsync2, safeParse3, safeParseAsync3, encode3, decode2, encodeAsync2, decodeAsync2, safeEncode2, safeDecode2, safeEncodeAsync2, safeDecodeAsync2, init_parse3, schemas_exports3, ZodType2, _ZodString, ZodString2, ZodStringFormat, ZodEmail, ZodGUID, ZodUUID, ZodURL, ZodEmoji, ZodNanoID, ZodCUID, ZodCUID2, ZodULID, ZodXID, ZodKSUID, ZodIPv4, ZodMAC, ZodIPv6, ZodCIDRv4, ZodCIDRv6, ZodBase64, ZodBase64URL, ZodE164, ZodJWT, ZodCustomStringFormat, ZodNumber2, ZodNumberFormat, ZodBoolean2, ZodBigInt2, ZodBigIntFormat, ZodSymbol2, ZodUndefined2, ZodNull2, ZodAny2, ZodUnknown2, ZodNever2, ZodVoid2, ZodDate2, ZodArray2, ZodObject2, ZodUnion2, ZodXor, ZodDiscriminatedUnion2, ZodIntersection2, ZodTuple2, ZodRecord2, ZodMap2, ZodSet2, ZodEnum2, ZodLiteral2, ZodFile, ZodTransform, ZodOptional2, ZodExactOptional, ZodNullable2, ZodDefault2, ZodPrefault, ZodNonOptional, ZodSuccess, ZodCatch2, ZodNaN2, ZodPipe, ZodCodec, ZodReadonly2, ZodTemplateLiteral, ZodLazy2, ZodPromise2, ZodFunction2, ZodCustom, describe2, meta2, stringbool, init_schemas3, ZodFirstPartyTypeKind2, init_compat, z2, init_from_json_schema, 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, 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;
17854
17858
  var init_dist = __esm({
17855
17859
  async "../plugin/dist/index.js"() {
17856
17860
  "use strict";
@@ -62353,7 +62357,7 @@ var init_dist = __esm({
62353
62357
  decodePskId = mapDecoders([decodePskInfo, decodeVarLenData], (info, pskNonce) => ({ ...info, pskNonce }));
62354
62358
  pskLabelEncoder = contramapBufferEncoders([pskIdEncoder, uint16Encoder, uint16Encoder], (label) => [label.id, label.index, label.count]);
62355
62359
  encodePskLabel = encode(pskLabelEncoder);
62356
- decodePskLabel = mapDecoders([decodePskId, decodeUint16, decodeUint16], (id, index, count) => ({ id, index, count }));
62360
+ decodePskLabel = mapDecoders([decodePskId, decodeUint16, decodeUint16], (id, index, count2) => ({ id, index, count: count2 }));
62357
62361
  }
62358
62362
  });
62359
62363
  init_proposal = __esm2({
@@ -71565,7 +71569,24 @@ ${text}`;
71565
71569
  salt = libsodium_wrappers_default.randombytes_buf(16);
71566
71570
  }
71567
71571
  checkpoint();
71568
- const archive = buildHistoryArchive(state.hubId, state.messageHistory ?? []);
71572
+ const history = state.messageHistory ?? [];
71573
+ if (!Array.isArray(history)) throw new Error("entries must be an array");
71574
+ const snapshotEntries = /* @__PURE__ */ new Map();
71575
+ for (let index = 0; index < history.length; index += 1) {
71576
+ if (!(index in history)) throw new Error("entries must not be sparse");
71577
+ const entry = history[index];
71578
+ const legacyId = legacyHistoryEntryId(entry);
71579
+ const id = entry.id ?? legacyId;
71580
+ const previous = snapshotEntries.get(id);
71581
+ if (previous) {
71582
+ if (previous.sender !== entry.sender || previous.text !== entry.text || previous.ts !== entry.ts || previous.topicId !== entry.topicId) {
71583
+ throw new Error("History archive contains duplicate entry IDs");
71584
+ }
71585
+ continue;
71586
+ }
71587
+ snapshotEntries.set(id, { ...entry, id });
71588
+ }
71589
+ const archive = buildHistoryArchive(state.hubId, [...snapshotEntries.values()]);
71569
71590
  const requestedSaltHex = Buffer.from(salt).toString("hex");
71570
71591
  const cacheIdentity = `${state.hubId}:${codeHashHex}:${requestedSaltHex}`;
71571
71592
  checkpoint();
@@ -72295,7 +72316,7 @@ ${text}`;
72295
72316
  */
72296
72317
  sendActivitySpan(spanData) {
72297
72318
  if (!this._ws || this._ws.readyState !== WebSocket.OPEN) return;
72298
- const pluginVersion = true ? "0.23.45" : "0.0.0-dev";
72319
+ const pluginVersion = true ? "0.23.46" : "0.0.0-dev";
72299
72320
  const agentName = this.config.agentName ?? "Agent";
72300
72321
  const resource = {
72301
72322
  "service.name": "agentvault-agent",
@@ -74268,7 +74289,7 @@ ${text}`;
74268
74289
  agentVersion: this.config.agentVersion ?? "0.0.0",
74269
74290
  // __AV_VERSION__ is injected by esbuild from package.json at build time.
74270
74291
  // Falls back to "0.0.0-dev" in non-bundled contexts (tests).
74271
- pluginVersion: true ? "0.23.45" : "0.0.0-dev"
74292
+ pluginVersion: true ? "0.23.46" : "0.0.0-dev"
74272
74293
  });
74273
74294
  this._telemetryReporter.startAutoFlush(3e4);
74274
74295
  }
@@ -74592,7 +74613,7 @@ ${text}`;
74592
74613
  agentVersion: this.config.agentVersion ?? "0.0.0",
74593
74614
  // __AV_VERSION__ is injected by esbuild from package.json at build time.
74594
74615
  // Falls back to "0.0.0-dev" in non-bundled contexts (tests).
74595
- pluginVersion: true ? "0.23.45" : "0.0.0-dev"
74616
+ pluginVersion: true ? "0.23.46" : "0.0.0-dev"
74596
74617
  });
74597
74618
  this._telemetryReporter.startAutoFlush(3e4);
74598
74619
  }
@@ -75143,10 +75164,10 @@ ${text}`;
75143
75164
  return;
75144
75165
  }
75145
75166
  const failKey = mgrKey || `unknown:${groupId}`;
75146
- const count = (this._mlsDecryptFailCounts.get(failKey) ?? 0) + 1;
75147
- this._mlsDecryptFailCounts.set(failKey, count);
75148
- console.error(`[SecureChannel] MLS 1:1 decrypt failed (${count}/${_SecureChannel.MAX_MLS_DECRYPT_FAILS}) for ${failKey}:`, decryptErr);
75149
- if (count >= _SecureChannel.MAX_MLS_DECRYPT_FAILS) {
75167
+ const count2 = (this._mlsDecryptFailCounts.get(failKey) ?? 0) + 1;
75168
+ this._mlsDecryptFailCounts.set(failKey, count2);
75169
+ console.error(`[SecureChannel] MLS 1:1 decrypt failed (${count2}/${_SecureChannel.MAX_MLS_DECRYPT_FAILS}) for ${failKey}:`, decryptErr);
75170
+ if (count2 >= _SecureChannel.MAX_MLS_DECRYPT_FAILS) {
75150
75171
  const recoveryGroupId = (convGroupId ? this._persisted?.mlsGroups?.[convGroupId]?.mlsGroupId : null) ?? this._persisted?.mlsConversations?.[convId]?.mlsGroupId ?? groupId;
75151
75172
  if (recoveryGroupId && failKey) {
75152
75173
  if (!await this._resyncOnDivergence(failKey, recoveryGroupId)) {
@@ -76116,10 +76137,10 @@ ${baseText}`;
76116
76137
  return;
76117
76138
  }
76118
76139
  const failKey = resolvedRoomId;
76119
- const count = (this._mlsDecryptFailCounts.get(failKey) ?? 0) + 1;
76120
- this._mlsDecryptFailCounts.set(failKey, count);
76121
- console.error(`[SecureChannel] MLS room decrypt failed (${count}/${_SecureChannel.MAX_MLS_DECRYPT_FAILS}) for ${resolvedRoomId.slice(0, 8)}:`, err);
76122
- if (count >= _SecureChannel.MAX_MLS_DECRYPT_FAILS && groupId) {
76140
+ const count2 = (this._mlsDecryptFailCounts.get(failKey) ?? 0) + 1;
76141
+ this._mlsDecryptFailCounts.set(failKey, count2);
76142
+ console.error(`[SecureChannel] MLS room decrypt failed (${count2}/${_SecureChannel.MAX_MLS_DECRYPT_FAILS}) for ${resolvedRoomId.slice(0, 8)}:`, err);
76143
+ if (count2 >= _SecureChannel.MAX_MLS_DECRYPT_FAILS && groupId) {
76123
76144
  if (!await this._resyncOnDivergence(resolvedRoomId, groupId)) {
76124
76145
  await this._triggerMlsEpochRecovery(resolvedRoomId, groupId);
76125
76146
  }
@@ -76323,14 +76344,14 @@ ${baseText}`;
76323
76344
  );
76324
76345
  return;
76325
76346
  }
76326
- const count = (this._mlsCommitFailCounts.get(groupKey) ?? 0) + 1;
76327
- this._mlsCommitFailCounts.set(groupKey, count);
76347
+ const count2 = (this._mlsCommitFailCounts.get(groupKey) ?? 0) + 1;
76348
+ this._mlsCommitFailCounts.set(groupKey, count2);
76328
76349
  console.error(
76329
- `[SecureChannel] MLS commit failed (${count}/${_SecureChannel.MAX_MLS_DECRYPT_FAILS}) for ${label}:`,
76350
+ `[SecureChannel] MLS commit failed (${count2}/${_SecureChannel.MAX_MLS_DECRYPT_FAILS}) for ${label}:`,
76330
76351
  err
76331
76352
  );
76332
- if (count < _SecureChannel.MAX_MLS_DECRYPT_FAILS) return;
76333
- console.warn(`[SecureChannel] MLS commit resync triggered for ${label} \u2014 ${count} consecutive failures`);
76353
+ if (count2 < _SecureChannel.MAX_MLS_DECRYPT_FAILS) return;
76354
+ console.warn(`[SecureChannel] MLS commit resync triggered for ${label} \u2014 ${count2} consecutive failures`);
76334
76355
  try {
76335
76356
  if (!await this._resyncOnDivergence(groupKey, mlsGroupId)) {
76336
76357
  await this._triggerMlsEpochRecovery(groupKey, mlsGroupId);
@@ -77638,9 +77659,9 @@ ${baseText}`;
77638
77659
  console.debug(`[SecureChannel] Delivery ${msg.message_type} at epoch ${String(msg.epoch)} predates our epoch ${String(localMgr?.epoch)} \u2014 not counting toward recovery`);
77639
77660
  continue;
77640
77661
  }
77641
- const count = (this._mlsDecryptFailCounts.get(failKey) ?? 0) + 1;
77642
- this._mlsDecryptFailCounts.set(failKey, count);
77643
- if (count >= _SecureChannel.MAX_MLS_DECRYPT_FAILS) {
77662
+ const count2 = (this._mlsDecryptFailCounts.get(failKey) ?? 0) + 1;
77663
+ this._mlsDecryptFailCounts.set(failKey, count2);
77664
+ if (count2 >= _SecureChannel.MAX_MLS_DECRYPT_FAILS) {
77644
77665
  await this._triggerMlsEpochRecovery(failKey, msg.group_id);
77645
77666
  }
77646
77667
  }
@@ -78191,10 +78212,10 @@ ${baseText}`;
78191
78212
  return;
78192
78213
  }
78193
78214
  const failKey = `a2a:${a2aChannelId}`;
78194
- const count = (this._mlsDecryptFailCounts.get(failKey) ?? 0) + 1;
78195
- this._mlsDecryptFailCounts.set(failKey, count);
78196
- console.error(`[SecureChannel] MLS A2A decrypt failed (${count}/${_SecureChannel.MAX_MLS_DECRYPT_FAILS}) for ${a2aChannelId.slice(0, 8)}:`, err);
78197
- if (count >= _SecureChannel.MAX_MLS_DECRYPT_FAILS && groupId) {
78215
+ const count2 = (this._mlsDecryptFailCounts.get(failKey) ?? 0) + 1;
78216
+ this._mlsDecryptFailCounts.set(failKey, count2);
78217
+ console.error(`[SecureChannel] MLS A2A decrypt failed (${count2}/${_SecureChannel.MAX_MLS_DECRYPT_FAILS}) for ${a2aChannelId.slice(0, 8)}:`, err);
78218
+ if (count2 >= _SecureChannel.MAX_MLS_DECRYPT_FAILS && groupId) {
78198
78219
  if (!await this._resyncOnDivergence(failKey, groupId)) {
78199
78220
  await this._triggerMlsEpochRecovery(failKey, groupId);
78200
78221
  }
@@ -79351,9 +79372,540 @@ ${actionsText}`);
79351
79372
  "use strict";
79352
79373
  }
79353
79374
  });
79375
+ init_llm_pricing_openrouter = __esm2({
79376
+ "src/llm-pricing-openrouter.ts"() {
79377
+ "use strict";
79378
+ OPENROUTER_PRICING = {
79379
+ anthropic: {
79380
+ "claude-fable-5": { inputPerMtoken: 10, outputPerMtoken: 50 },
79381
+ "claude-fable-5-1": { inputPerMtoken: 10, outputPerMtoken: 50 },
79382
+ "claude-haiku-4-5": { inputPerMtoken: 1, outputPerMtoken: 5 },
79383
+ "claude-haiku-5-5": { inputPerMtoken: 0.1, outputPerMtoken: 0.5 },
79384
+ "claude-opus-4-1": { inputPerMtoken: 15, outputPerMtoken: 75 },
79385
+ "claude-opus-4-5": { inputPerMtoken: 5, outputPerMtoken: 25 },
79386
+ "claude-opus-4-6": { inputPerMtoken: 5, outputPerMtoken: 25 },
79387
+ "claude-opus-4-7": { inputPerMtoken: 5, outputPerMtoken: 25 },
79388
+ "claude-opus-4-8": { inputPerMtoken: 5, outputPerMtoken: 25 },
79389
+ "claude-opus-5": { inputPerMtoken: 5, outputPerMtoken: 25 },
79390
+ "claude-opus-5-5": { inputPerMtoken: 4, outputPerMtoken: 20 },
79391
+ "claude-sonnet-4": { inputPerMtoken: 3, outputPerMtoken: 15 },
79392
+ "claude-sonnet-4-5": { inputPerMtoken: 3, outputPerMtoken: 15 },
79393
+ "claude-sonnet-4-6": { inputPerMtoken: 3, outputPerMtoken: 15 },
79394
+ "claude-sonnet-5": { inputPerMtoken: 2, outputPerMtoken: 10 },
79395
+ "claude-sonnet-5-5": { inputPerMtoken: 2, outputPerMtoken: 10 }
79396
+ },
79397
+ openai: {
79398
+ "gpt-3.5-turbo": { inputPerMtoken: 0.5, outputPerMtoken: 1.5 },
79399
+ "gpt-3.5-turbo-0613": { inputPerMtoken: 1, outputPerMtoken: 2 },
79400
+ "gpt-3.5-turbo-16k": { inputPerMtoken: 3, outputPerMtoken: 4 },
79401
+ "gpt-3.5-turbo-instruct": { inputPerMtoken: 1.5, outputPerMtoken: 2 },
79402
+ "gpt-4": { inputPerMtoken: 30, outputPerMtoken: 60 },
79403
+ "gpt-4-turbo": { inputPerMtoken: 10, outputPerMtoken: 30 },
79404
+ "gpt-4.1": { inputPerMtoken: 2, outputPerMtoken: 8 },
79405
+ "gpt-4.1-mini": { inputPerMtoken: 0.4, outputPerMtoken: 1.6 },
79406
+ "gpt-4.1-nano": { inputPerMtoken: 0.1, outputPerMtoken: 0.4 },
79407
+ "gpt-4o": { inputPerMtoken: 2.5, outputPerMtoken: 10 },
79408
+ "gpt-4o-2024-05-13": { inputPerMtoken: 5, outputPerMtoken: 15 },
79409
+ "gpt-4o-2024-08-06": { inputPerMtoken: 2.5, outputPerMtoken: 10 },
79410
+ "gpt-4o-2024-11-20": { inputPerMtoken: 2.5, outputPerMtoken: 10 },
79411
+ "gpt-4o-mini": { inputPerMtoken: 0.15, outputPerMtoken: 0.6 },
79412
+ "gpt-4o-mini-2024-07-18": { inputPerMtoken: 0.15, outputPerMtoken: 0.6 },
79413
+ "gpt-5": { inputPerMtoken: 1.25, outputPerMtoken: 10 },
79414
+ "gpt-5-image": { inputPerMtoken: 10, outputPerMtoken: 10 },
79415
+ "gpt-5-image-mini": { inputPerMtoken: 2.5, outputPerMtoken: 2 },
79416
+ "gpt-5-mini": { inputPerMtoken: 0.25, outputPerMtoken: 2 },
79417
+ "gpt-5-nano": { inputPerMtoken: 0.05, outputPerMtoken: 0.4 },
79418
+ "gpt-5-pro": { inputPerMtoken: 15, outputPerMtoken: 120 },
79419
+ "gpt-5.1": { inputPerMtoken: 1.25, outputPerMtoken: 10 },
79420
+ "gpt-5.1-codex": { inputPerMtoken: 1.25, outputPerMtoken: 10 },
79421
+ "gpt-5.1-codex-max": { inputPerMtoken: 1.25, outputPerMtoken: 10 },
79422
+ "gpt-5.1-codex-mini": { inputPerMtoken: 0.25, outputPerMtoken: 2 },
79423
+ "gpt-5.2": { inputPerMtoken: 1.75, outputPerMtoken: 14 },
79424
+ "gpt-5.2-chat": { inputPerMtoken: 1.75, outputPerMtoken: 14 },
79425
+ "gpt-5.2-codex": { inputPerMtoken: 1.75, outputPerMtoken: 14 },
79426
+ "gpt-5.2-pro": { inputPerMtoken: 21, outputPerMtoken: 168 },
79427
+ "gpt-5.3-codex": { inputPerMtoken: 1.75, outputPerMtoken: 14 },
79428
+ "gpt-5.4": { inputPerMtoken: 2.5, outputPerMtoken: 15 },
79429
+ "gpt-5.4-image-2": { inputPerMtoken: 8, outputPerMtoken: 15 },
79430
+ "gpt-5.4-mini": { inputPerMtoken: 0.75, outputPerMtoken: 4.5 },
79431
+ "gpt-5.4-nano": { inputPerMtoken: 0.2, outputPerMtoken: 1.25 },
79432
+ "gpt-5.4-pro": { inputPerMtoken: 30, outputPerMtoken: 180 },
79433
+ "gpt-5.5": { inputPerMtoken: 5, outputPerMtoken: 30 },
79434
+ "gpt-5.5-pro": { inputPerMtoken: 30, outputPerMtoken: 180 },
79435
+ "gpt-5.6-luna": { inputPerMtoken: 0.2, outputPerMtoken: 1.2 },
79436
+ "gpt-5.6-luna-pro": { inputPerMtoken: 0.2, outputPerMtoken: 1.2 },
79437
+ "gpt-5.6-sol": { inputPerMtoken: 2, outputPerMtoken: 10 },
79438
+ "gpt-5.6-sol-pro": { inputPerMtoken: 2, outputPerMtoken: 10 },
79439
+ "gpt-5.6-terra": { inputPerMtoken: 2, outputPerMtoken: 12 },
79440
+ "gpt-5.6-terra-pro": { inputPerMtoken: 2, outputPerMtoken: 12 },
79441
+ "gpt-6-astra": { inputPerMtoken: 10, outputPerMtoken: 50 },
79442
+ "gpt-6-astra-pro": { inputPerMtoken: 10, outputPerMtoken: 50 },
79443
+ "gpt-6-luna": { inputPerMtoken: 0.1, outputPerMtoken: 0.5 },
79444
+ "gpt-6-luna-pro": { inputPerMtoken: 0.1, outputPerMtoken: 0.5 },
79445
+ "gpt-6-sol": { inputPerMtoken: 2, outputPerMtoken: 10 },
79446
+ "gpt-6-sol-pro": { inputPerMtoken: 2, outputPerMtoken: 10 },
79447
+ "gpt-6.1-sol": { inputPerMtoken: 2, outputPerMtoken: 10 },
79448
+ "gpt-6.1-sol-pro": { inputPerMtoken: 2, outputPerMtoken: 10 },
79449
+ "gpt-audio": { inputPerMtoken: 2.5, outputPerMtoken: 10 },
79450
+ "gpt-audio-mini": { inputPerMtoken: 0.6, outputPerMtoken: 2.4 },
79451
+ "gpt-chat-latest": { inputPerMtoken: 5, outputPerMtoken: 30 },
79452
+ "gpt-oss-120b": { inputPerMtoken: 0.037, outputPerMtoken: 0.17 },
79453
+ "gpt-oss-20b": { inputPerMtoken: 0.018, outputPerMtoken: 0.09 },
79454
+ "gpt-oss-safeguard-20b": { inputPerMtoken: 0.075, outputPerMtoken: 0.3 },
79455
+ "o1": { inputPerMtoken: 15, outputPerMtoken: 60 },
79456
+ "o1-pro": { inputPerMtoken: 150, outputPerMtoken: 600 },
79457
+ "o3": { inputPerMtoken: 2, outputPerMtoken: 8 },
79458
+ "o3-mini": { inputPerMtoken: 1.1, outputPerMtoken: 4.4 },
79459
+ "o3-mini-high": { inputPerMtoken: 1.1, outputPerMtoken: 4.4 },
79460
+ "o3-pro": { inputPerMtoken: 20, outputPerMtoken: 80 },
79461
+ "o4-mini": { inputPerMtoken: 1.1, outputPerMtoken: 4.4 },
79462
+ "o4-mini-high": { inputPerMtoken: 1.1, outputPerMtoken: 4.4 }
79463
+ },
79464
+ openrouter: {
79465
+ "aion-2.0": { inputPerMtoken: 0.8, outputPerMtoken: 1.6 },
79466
+ "aion-3.0": { inputPerMtoken: 3, outputPerMtoken: 6 },
79467
+ "aion-3.0-mini": { inputPerMtoken: 0.7, outputPerMtoken: 1.4 },
79468
+ "aion-3.5": { inputPerMtoken: 3, outputPerMtoken: 6 },
79469
+ "aion-3.5-mini": { inputPerMtoken: 0.7, outputPerMtoken: 1.4 },
79470
+ "aion-rp-llama-3.1-8b": { inputPerMtoken: 0.8, outputPerMtoken: 1.6 },
79471
+ "claude-fable-5": { inputPerMtoken: 10, outputPerMtoken: 50 },
79472
+ "claude-fable-5.1": { inputPerMtoken: 10, outputPerMtoken: 50 },
79473
+ "claude-fable-latest": { inputPerMtoken: 10, outputPerMtoken: 50 },
79474
+ "claude-haiku-4.5": { inputPerMtoken: 1, outputPerMtoken: 5 },
79475
+ "claude-haiku-5.5": { inputPerMtoken: 0.1, outputPerMtoken: 0.5 },
79476
+ "claude-haiku-latest": { inputPerMtoken: 0.1, outputPerMtoken: 0.5 },
79477
+ "claude-opus-4.1": { inputPerMtoken: 15, outputPerMtoken: 75 },
79478
+ "claude-opus-4.5": { inputPerMtoken: 5, outputPerMtoken: 25 },
79479
+ "claude-opus-4.6": { inputPerMtoken: 5, outputPerMtoken: 25 },
79480
+ "claude-opus-4.7": { inputPerMtoken: 5, outputPerMtoken: 25 },
79481
+ "claude-opus-4.8": { inputPerMtoken: 5, outputPerMtoken: 25 },
79482
+ "claude-opus-5": { inputPerMtoken: 5, outputPerMtoken: 25 },
79483
+ "claude-opus-5.5": { inputPerMtoken: 4, outputPerMtoken: 20 },
79484
+ "claude-opus-latest": { inputPerMtoken: 4, outputPerMtoken: 20 },
79485
+ "claude-sonnet-4": { inputPerMtoken: 3, outputPerMtoken: 15 },
79486
+ "claude-sonnet-4.5": { inputPerMtoken: 3, outputPerMtoken: 15 },
79487
+ "claude-sonnet-4.6": { inputPerMtoken: 3, outputPerMtoken: 15 },
79488
+ "claude-sonnet-5": { inputPerMtoken: 2, outputPerMtoken: 10 },
79489
+ "claude-sonnet-5.5": { inputPerMtoken: 2, outputPerMtoken: 10 },
79490
+ "claude-sonnet-latest": { inputPerMtoken: 2, outputPerMtoken: 10 },
79491
+ "codestral-2508": { inputPerMtoken: 0.3, outputPerMtoken: 0.9 },
79492
+ "command-a": { inputPerMtoken: 2.5, outputPerMtoken: 10 },
79493
+ "command-a-plus": { inputPerMtoken: 0.3, outputPerMtoken: 1.5 },
79494
+ "command-r-08-2024": { inputPerMtoken: 0.15, outputPerMtoken: 0.6 },
79495
+ "command-r-plus-08-2024": { inputPerMtoken: 2.5, outputPerMtoken: 10 },
79496
+ "command-r7b-12-2024": { inputPerMtoken: 0.0375, outputPerMtoken: 0.15 },
79497
+ "cydonia-24b-v4.1": { inputPerMtoken: 0.3, outputPerMtoken: 0.5 },
79498
+ "deepseek-chat": { inputPerMtoken: 0.32, outputPerMtoken: 0.89 },
79499
+ "deepseek-chat-v3-0324": { inputPerMtoken: 0.29, outputPerMtoken: 1.14 },
79500
+ "deepseek-chat-v3.1": { inputPerMtoken: 0.25, outputPerMtoken: 0.95 },
79501
+ "deepseek-flash-latest": { inputPerMtoken: 0.02016, outputPerMtoken: 0.891 },
79502
+ "deepseek-pro-latest": { inputPerMtoken: 0.1461, outputPerMtoken: 8 },
79503
+ "deepseek-r1": { inputPerMtoken: 0.7, outputPerMtoken: 2.5 },
79504
+ "deepseek-r1-0528": { inputPerMtoken: 0.5, outputPerMtoken: 2.15 },
79505
+ "deepseek-v3.1-terminus": { inputPerMtoken: 0.27, outputPerMtoken: 1 },
79506
+ "deepseek-v3.2": { inputPerMtoken: 0.259, outputPerMtoken: 0.8 },
79507
+ "deepseek-v3.2-exp": { inputPerMtoken: 0.27, outputPerMtoken: 0.41 },
79508
+ "deepseek-v4-flash": { inputPerMtoken: 0.091, outputPerMtoken: 0.182 },
79509
+ "deepseek-v4-flash-0731": { inputPerMtoken: 0.016, outputPerMtoken: 0.64 },
79510
+ "deepseek-v4-flash-latest": { inputPerMtoken: 0.0144, outputPerMtoken: 0.576 },
79511
+ "deepseek-v4-flash-vision-exp": { inputPerMtoken: 0.2156, outputPerMtoken: 0.6468 },
79512
+ "deepseek-v4-pro": { inputPerMtoken: 0.430824, outputPerMtoken: 0.861648 },
79513
+ "deepseek-v4-pro-0813": { inputPerMtoken: 0.66, outputPerMtoken: 1.98 },
79514
+ "deepseek-v4.1-flash": { inputPerMtoken: 0.02016, outputPerMtoken: 0.891 },
79515
+ "devstral-2512": { inputPerMtoken: 0.4, outputPerMtoken: 2 },
79516
+ "dolphin-mistral-24b-venice-edition": { inputPerMtoken: 0.2, outputPerMtoken: 0.9 },
79517
+ "dots-3-note-preview:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79518
+ "ember-1": { inputPerMtoken: 3, outputPerMtoken: 15 },
79519
+ "extract": { inputPerMtoken: 0.04, outputPerMtoken: 0 },
79520
+ "free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79521
+ "fugu-max": { inputPerMtoken: 2, outputPerMtoken: 6 },
79522
+ "fugu-ultra": { inputPerMtoken: 5, outputPerMtoken: 30 },
79523
+ "fugu-ultra-v2": { inputPerMtoken: 5, outputPerMtoken: 30 },
79524
+ "gemini-2.5-flash": { inputPerMtoken: 0.3, outputPerMtoken: 2.5 },
79525
+ "gemini-2.5-flash-image": { inputPerMtoken: 0.3, outputPerMtoken: 2.5 },
79526
+ "gemini-2.5-flash-lite": { inputPerMtoken: 0.1, outputPerMtoken: 0.4 },
79527
+ "gemini-2.5-pro": { inputPerMtoken: 1.25, outputPerMtoken: 10 },
79528
+ "gemini-2.5-pro-preview": { inputPerMtoken: 1.25, outputPerMtoken: 10 },
79529
+ "gemini-3-flash-preview": { inputPerMtoken: 0.5, outputPerMtoken: 3 },
79530
+ "gemini-3-pro-image": { inputPerMtoken: 2, outputPerMtoken: 12 },
79531
+ "gemini-3-pro-image-preview": { inputPerMtoken: 2, outputPerMtoken: 12 },
79532
+ "gemini-3.1-flash-image": { inputPerMtoken: 0.5, outputPerMtoken: 3 },
79533
+ "gemini-3.1-flash-image-preview": { inputPerMtoken: 0.5, outputPerMtoken: 3 },
79534
+ "gemini-3.1-flash-lite": { inputPerMtoken: 0.25, outputPerMtoken: 1.5 },
79535
+ "gemini-3.1-flash-lite-image": { inputPerMtoken: 0.25, outputPerMtoken: 1.5 },
79536
+ "gemini-3.1-flash-lite-preview": { inputPerMtoken: 0.25, outputPerMtoken: 1.5 },
79537
+ "gemini-3.1-pro-preview": { inputPerMtoken: 2, outputPerMtoken: 12 },
79538
+ "gemini-3.1-pro-preview-customtools": { inputPerMtoken: 2, outputPerMtoken: 12 },
79539
+ "gemini-3.5-flash": { inputPerMtoken: 1.5, outputPerMtoken: 9 },
79540
+ "gemini-3.5-flash-lite": { inputPerMtoken: 0.3, outputPerMtoken: 2.5 },
79541
+ "gemini-3.6-flash": { inputPerMtoken: 0.75, outputPerMtoken: 3.75 },
79542
+ "gemini-3.7-flash": { inputPerMtoken: 0.75, outputPerMtoken: 3.75 },
79543
+ "gemini-3.8-flash": { inputPerMtoken: 0.75, outputPerMtoken: 3.75 },
79544
+ "gemini-4-argon": { inputPerMtoken: 2, outputPerMtoken: 10 },
79545
+ "gemini-flash-latest": { inputPerMtoken: 0.75, outputPerMtoken: 3.75 },
79546
+ "gemini-nano-banana-2.1": { inputPerMtoken: 1.5, outputPerMtoken: 7.5 },
79547
+ "gemini-pro-latest": { inputPerMtoken: 2, outputPerMtoken: 12 },
79548
+ "gemma-2-27b-it": { inputPerMtoken: 0.65, outputPerMtoken: 0.65 },
79549
+ "gemma-3-12b-it": { inputPerMtoken: 0.05, outputPerMtoken: 0.15 },
79550
+ "gemma-3-27b-it": { inputPerMtoken: 0.08, outputPerMtoken: 0.45 },
79551
+ "gemma-3-4b-it": { inputPerMtoken: 0.05, outputPerMtoken: 0.1 },
79552
+ "gemma-4-26b-a4b-it": { inputPerMtoken: 0.09, outputPerMtoken: 0.3 },
79553
+ "gemma-4-26b-a4b-it:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79554
+ "gemma-4-31b-it": { inputPerMtoken: 0.09, outputPerMtoken: 0.34 },
79555
+ "gemma-4-31b-it:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79556
+ "glm-4.5": { inputPerMtoken: 0.6, outputPerMtoken: 2.2 },
79557
+ "glm-4.5-air": { inputPerMtoken: 0.13, outputPerMtoken: 0.85 },
79558
+ "glm-4.5v": { inputPerMtoken: 0.6, outputPerMtoken: 1.8 },
79559
+ "glm-4.6": { inputPerMtoken: 0.5, outputPerMtoken: 2 },
79560
+ "glm-4.6v": { inputPerMtoken: 0.3, outputPerMtoken: 0.9 },
79561
+ "glm-4.7": { inputPerMtoken: 0.6, outputPerMtoken: 2.2 },
79562
+ "glm-4.7-flash": { inputPerMtoken: 0.0605, outputPerMtoken: 0.4 },
79563
+ "glm-5": { inputPerMtoken: 0.6, outputPerMtoken: 1.92 },
79564
+ "glm-5-turbo": { inputPerMtoken: 1.2, outputPerMtoken: 4 },
79565
+ "glm-5.1": { inputPerMtoken: 1.33, outputPerMtoken: 4.18 },
79566
+ "glm-5.2": { inputPerMtoken: 0.05, outputPerMtoken: 7 },
79567
+ "glm-5.3": { inputPerMtoken: 0.079, outputPerMtoken: 4.8 },
79568
+ "glm-5.3-flash": { inputPerMtoken: 0.036, outputPerMtoken: 0.9 },
79569
+ "glm-5.3-flashx": { inputPerMtoken: 0.37, outputPerMtoken: 1.25 },
79570
+ "glm-5.3-prime": { inputPerMtoken: 2.8, outputPerMtoken: 8.8 },
79571
+ "glm-5v-turbo": { inputPerMtoken: 1.2, outputPerMtoken: 4 },
79572
+ "glm-flash-latest": { inputPerMtoken: 0.036, outputPerMtoken: 0.9 },
79573
+ "glm-latest": { inputPerMtoken: 0.0576, outputPerMtoken: 4.4 },
79574
+ "gpt-3.5-turbo": { inputPerMtoken: 0.5, outputPerMtoken: 1.5 },
79575
+ "gpt-3.5-turbo-0613": { inputPerMtoken: 1, outputPerMtoken: 2 },
79576
+ "gpt-3.5-turbo-16k": { inputPerMtoken: 3, outputPerMtoken: 4 },
79577
+ "gpt-3.5-turbo-instruct": { inputPerMtoken: 1.5, outputPerMtoken: 2 },
79578
+ "gpt-4": { inputPerMtoken: 30, outputPerMtoken: 60 },
79579
+ "gpt-4-turbo": { inputPerMtoken: 10, outputPerMtoken: 30 },
79580
+ "gpt-4.1": { inputPerMtoken: 2, outputPerMtoken: 8 },
79581
+ "gpt-4.1-mini": { inputPerMtoken: 0.4, outputPerMtoken: 1.6 },
79582
+ "gpt-4.1-nano": { inputPerMtoken: 0.1, outputPerMtoken: 0.4 },
79583
+ "gpt-4o": { inputPerMtoken: 2.5, outputPerMtoken: 10 },
79584
+ "gpt-4o-2024-05-13": { inputPerMtoken: 5, outputPerMtoken: 15 },
79585
+ "gpt-4o-2024-08-06": { inputPerMtoken: 2.5, outputPerMtoken: 10 },
79586
+ "gpt-4o-2024-11-20": { inputPerMtoken: 2.5, outputPerMtoken: 10 },
79587
+ "gpt-4o-mini": { inputPerMtoken: 0.15, outputPerMtoken: 0.6 },
79588
+ "gpt-4o-mini-2024-07-18": { inputPerMtoken: 0.15, outputPerMtoken: 0.6 },
79589
+ "gpt-5": { inputPerMtoken: 1.25, outputPerMtoken: 10 },
79590
+ "gpt-5-image": { inputPerMtoken: 10, outputPerMtoken: 10 },
79591
+ "gpt-5-image-mini": { inputPerMtoken: 2.5, outputPerMtoken: 2 },
79592
+ "gpt-5-mini": { inputPerMtoken: 0.25, outputPerMtoken: 2 },
79593
+ "gpt-5-nano": { inputPerMtoken: 0.05, outputPerMtoken: 0.4 },
79594
+ "gpt-5-pro": { inputPerMtoken: 15, outputPerMtoken: 120 },
79595
+ "gpt-5.1": { inputPerMtoken: 1.25, outputPerMtoken: 10 },
79596
+ "gpt-5.1-codex": { inputPerMtoken: 1.25, outputPerMtoken: 10 },
79597
+ "gpt-5.1-codex-max": { inputPerMtoken: 1.25, outputPerMtoken: 10 },
79598
+ "gpt-5.1-codex-mini": { inputPerMtoken: 0.25, outputPerMtoken: 2 },
79599
+ "gpt-5.2": { inputPerMtoken: 1.75, outputPerMtoken: 14 },
79600
+ "gpt-5.2-chat": { inputPerMtoken: 1.75, outputPerMtoken: 14 },
79601
+ "gpt-5.2-codex": { inputPerMtoken: 1.75, outputPerMtoken: 14 },
79602
+ "gpt-5.2-pro": { inputPerMtoken: 21, outputPerMtoken: 168 },
79603
+ "gpt-5.3-codex": { inputPerMtoken: 1.75, outputPerMtoken: 14 },
79604
+ "gpt-5.4": { inputPerMtoken: 2.5, outputPerMtoken: 15 },
79605
+ "gpt-5.4-image-2": { inputPerMtoken: 8, outputPerMtoken: 15 },
79606
+ "gpt-5.4-mini": { inputPerMtoken: 0.75, outputPerMtoken: 4.5 },
79607
+ "gpt-5.4-nano": { inputPerMtoken: 0.2, outputPerMtoken: 1.25 },
79608
+ "gpt-5.4-pro": { inputPerMtoken: 30, outputPerMtoken: 180 },
79609
+ "gpt-5.5": { inputPerMtoken: 5, outputPerMtoken: 30 },
79610
+ "gpt-5.5-pro": { inputPerMtoken: 30, outputPerMtoken: 180 },
79611
+ "gpt-5.6-luna": { inputPerMtoken: 0.2, outputPerMtoken: 1.2 },
79612
+ "gpt-5.6-luna-pro": { inputPerMtoken: 0.2, outputPerMtoken: 1.2 },
79613
+ "gpt-5.6-sol": { inputPerMtoken: 2, outputPerMtoken: 10 },
79614
+ "gpt-5.6-sol-pro": { inputPerMtoken: 2, outputPerMtoken: 10 },
79615
+ "gpt-5.6-terra": { inputPerMtoken: 2, outputPerMtoken: 12 },
79616
+ "gpt-5.6-terra-pro": { inputPerMtoken: 2, outputPerMtoken: 12 },
79617
+ "gpt-6-astra": { inputPerMtoken: 10, outputPerMtoken: 50 },
79618
+ "gpt-6-astra-pro": { inputPerMtoken: 10, outputPerMtoken: 50 },
79619
+ "gpt-6-luna": { inputPerMtoken: 0.1, outputPerMtoken: 0.5 },
79620
+ "gpt-6-luna-pro": { inputPerMtoken: 0.1, outputPerMtoken: 0.5 },
79621
+ "gpt-6-sol": { inputPerMtoken: 2, outputPerMtoken: 10 },
79622
+ "gpt-6-sol-pro": { inputPerMtoken: 2, outputPerMtoken: 10 },
79623
+ "gpt-6.1-sol": { inputPerMtoken: 2, outputPerMtoken: 10 },
79624
+ "gpt-6.1-sol-pro": { inputPerMtoken: 2, outputPerMtoken: 10 },
79625
+ "gpt-astra-latest": { inputPerMtoken: 10, outputPerMtoken: 50 },
79626
+ "gpt-audio": { inputPerMtoken: 2.5, outputPerMtoken: 10 },
79627
+ "gpt-audio-mini": { inputPerMtoken: 0.6, outputPerMtoken: 2.4 },
79628
+ "gpt-chat-latest": { inputPerMtoken: 5, outputPerMtoken: 30 },
79629
+ "gpt-luna-latest": { inputPerMtoken: 0.1, outputPerMtoken: 0.5 },
79630
+ "gpt-mini-latest": { inputPerMtoken: 0.75, outputPerMtoken: 4.5 },
79631
+ "gpt-oss-120b": { inputPerMtoken: 0.037, outputPerMtoken: 0.17 },
79632
+ "gpt-oss-20b": { inputPerMtoken: 0.018, outputPerMtoken: 0.09 },
79633
+ "gpt-oss-safeguard-20b": { inputPerMtoken: 0.075, outputPerMtoken: 0.3 },
79634
+ "gpt-sol-latest": { inputPerMtoken: 2, outputPerMtoken: 10 },
79635
+ "gpt-terra-latest": { inputPerMtoken: 2, outputPerMtoken: 12 },
79636
+ "granite-4.0-h-micro": { inputPerMtoken: 0.017, outputPerMtoken: 0.112 },
79637
+ "granite-4.2-8b": { inputPerMtoken: 0.06, outputPerMtoken: 0.25 },
79638
+ "grok-4.20": { inputPerMtoken: 1.25, outputPerMtoken: 2.5 },
79639
+ "grok-4.20-multi-agent": { inputPerMtoken: 1.25, outputPerMtoken: 2.5 },
79640
+ "grok-4.3": { inputPerMtoken: 1.25, outputPerMtoken: 2.5 },
79641
+ "grok-4.5": { inputPerMtoken: 2, outputPerMtoken: 6 },
79642
+ "grok-4.6": { inputPerMtoken: 2, outputPerMtoken: 6 },
79643
+ "grok-4.7": { inputPerMtoken: 2, outputPerMtoken: 6 },
79644
+ "grok-build-0.1": { inputPerMtoken: 1, outputPerMtoken: 2 },
79645
+ "grok-latest": { inputPerMtoken: 2, outputPerMtoken: 6 },
79646
+ "hermes-3-llama-3.1-405b": { inputPerMtoken: 1, outputPerMtoken: 1 },
79647
+ "hermes-3-llama-3.1-70b": { inputPerMtoken: 0.7, outputPerMtoken: 0.7 },
79648
+ "hermes-4-405b": { inputPerMtoken: 1, outputPerMtoken: 3 },
79649
+ "hunyuan-a13b-instruct": { inputPerMtoken: 0.14, outputPerMtoken: 0.57 },
79650
+ "hy-mt2-1.8b": { inputPerMtoken: 0.044, outputPerMtoken: 0.177 },
79651
+ "hy-mt2-30b-a3b": { inputPerMtoken: 0.074, outputPerMtoken: 0.295 },
79652
+ "hy-mt2-7b": { inputPerMtoken: 0.074, outputPerMtoken: 0.295 },
79653
+ "hy3": { inputPerMtoken: 0.132, outputPerMtoken: 0.528 },
79654
+ "hy3-preview": { inputPerMtoken: 0.18, outputPerMtoken: 0.6 },
79655
+ "hy4-preview": { inputPerMtoken: 0.834, outputPerMtoken: 2.501 },
79656
+ "inkling": { inputPerMtoken: 1, outputPerMtoken: 4.05 },
79657
+ "inkling-small": { inputPerMtoken: 0.45, outputPerMtoken: 1.2 },
79658
+ "inkling-small:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79659
+ "inkling:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79660
+ "kimi-k2": { inputPerMtoken: 0.57, outputPerMtoken: 2.3 },
79661
+ "kimi-k2-0905": { inputPerMtoken: 0.6, outputPerMtoken: 2.5 },
79662
+ "kimi-k2-thinking": { inputPerMtoken: 0.6, outputPerMtoken: 2.5 },
79663
+ "kimi-k2.5": { inputPerMtoken: 0.5, outputPerMtoken: 2.5 },
79664
+ "kimi-k2.6": { inputPerMtoken: 0.65, outputPerMtoken: 3.41 },
79665
+ "kimi-k2.7-code": { inputPerMtoken: 0.6712, outputPerMtoken: 3.35 },
79666
+ "kimi-k3": { inputPerMtoken: 0.7, outputPerMtoken: 15 },
79667
+ "kimi-latest": { inputPerMtoken: 0.536, outputPerMtoken: 14 },
79668
+ "l3-lunaris-8b": { inputPerMtoken: 0.04, outputPerMtoken: 0.05 },
79669
+ "l3.1-euryale-70b": { inputPerMtoken: 0.85, outputPerMtoken: 0.85 },
79670
+ "l3.3-euryale-70b": { inputPerMtoken: 0.65, outputPerMtoken: 0.75 },
79671
+ "laguna-s-2.1": { inputPerMtoken: 0.09, outputPerMtoken: 0.18 },
79672
+ "laguna-s-2.1:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79673
+ "laguna-xs-2.1": { inputPerMtoken: 0.06, outputPerMtoken: 0.12 },
79674
+ "laguna-xs-2.1:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79675
+ "lfm-2.5-2.6b:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79676
+ "lfm-2.5-24b-a2b": { inputPerMtoken: 0.05, outputPerMtoken: 0.7 },
79677
+ "ling-3.0-flash": { inputPerMtoken: 0.021, outputPerMtoken: 0.063 },
79678
+ "ling-3.0-flash-vl": { inputPerMtoken: 0.06, outputPerMtoken: 0.18 },
79679
+ "ling-3.1-flash": { inputPerMtoken: 0.075, outputPerMtoken: 0.225 },
79680
+ "llama-3.1-70b-instruct": { inputPerMtoken: 0.4, outputPerMtoken: 0.4 },
79681
+ "llama-3.1-8b-instruct": { inputPerMtoken: 0.05, outputPerMtoken: 0.08 },
79682
+ "llama-3.2-1b-instruct": { inputPerMtoken: 0.027, outputPerMtoken: 0.201 },
79683
+ "llama-3.2-3b-instruct": { inputPerMtoken: 0.05, outputPerMtoken: 0.33 },
79684
+ "llama-3.3-70b-instruct": { inputPerMtoken: 0.59, outputPerMtoken: 0.79 },
79685
+ "llama-4-maverick": { inputPerMtoken: 0.1875, outputPerMtoken: 0.6525 },
79686
+ "llama-4-scout": { inputPerMtoken: 0.18, outputPerMtoken: 0.59 },
79687
+ "llama-guard-4-12b": { inputPerMtoken: 0.18, outputPerMtoken: 0.18 },
79688
+ "longcat-2.0": { inputPerMtoken: 0.3, outputPerMtoken: 1.2 },
79689
+ "lyria-3-clip-preview": { inputPerMtoken: 0, outputPerMtoken: 0 },
79690
+ "lyria-3-pro-preview": { inputPerMtoken: 0, outputPerMtoken: 0 },
79691
+ "magnum-v4-72b": { inputPerMtoken: 2.5, outputPerMtoken: 5 },
79692
+ "mercury-2": { inputPerMtoken: 0.25, outputPerMtoken: 0.75 },
79693
+ "mercury-2.5": { inputPerMtoken: 0.04, outputPerMtoken: 0.15 },
79694
+ "mimo-v2.5": { inputPerMtoken: 0.14, outputPerMtoken: 0.28 },
79695
+ "mimo-v2.5-pro": { inputPerMtoken: 0.435, outputPerMtoken: 0.87 },
79696
+ "mimo-v2.6-flash": { inputPerMtoken: 0.14, outputPerMtoken: 0.28 },
79697
+ "mimo-v2.6-pro": { inputPerMtoken: 0.435, outputPerMtoken: 0.87 },
79698
+ "mimo-v2.6-pro-ultraspeed": { inputPerMtoken: 4.35, outputPerMtoken: 8.7 },
79699
+ "minimax-01": { inputPerMtoken: 0.2, outputPerMtoken: 1.1 },
79700
+ "minimax-m1": { inputPerMtoken: 0.55, outputPerMtoken: 2.2 },
79701
+ "minimax-m2": { inputPerMtoken: 0.255, outputPerMtoken: 1.02 },
79702
+ "minimax-m2-her": { inputPerMtoken: 0.3, outputPerMtoken: 1.2 },
79703
+ "minimax-m2.1": { inputPerMtoken: 0.3, outputPerMtoken: 1.2 },
79704
+ "minimax-m2.5": { inputPerMtoken: 0.27, outputPerMtoken: 1.08 },
79705
+ "minimax-m2.7": { inputPerMtoken: 0.3, outputPerMtoken: 1.2 },
79706
+ "minimax-m3": { inputPerMtoken: 0.3, outputPerMtoken: 1.2 },
79707
+ "ministral-14b-2512": { inputPerMtoken: 0.2, outputPerMtoken: 0.2 },
79708
+ "ministral-3b-2512": { inputPerMtoken: 0.1, outputPerMtoken: 0.1 },
79709
+ "ministral-8b-2512": { inputPerMtoken: 0.15, outputPerMtoken: 0.15 },
79710
+ "mistral-large": { inputPerMtoken: 2, outputPerMtoken: 6 },
79711
+ "mistral-large-2407": { inputPerMtoken: 2, outputPerMtoken: 6 },
79712
+ "mistral-large-2512": { inputPerMtoken: 0.5, outputPerMtoken: 1.5 },
79713
+ "mistral-large-4-0": { inputPerMtoken: 0.68, outputPerMtoken: 2.09 },
79714
+ "mistral-medium-3": { inputPerMtoken: 0.4, outputPerMtoken: 2 },
79715
+ "mistral-medium-3-5": { inputPerMtoken: 1.5, outputPerMtoken: 7.5 },
79716
+ "mistral-medium-3.1": { inputPerMtoken: 0.4, outputPerMtoken: 2 },
79717
+ "mistral-nemo": { inputPerMtoken: 0.029, outputPerMtoken: 0.03 },
79718
+ "mistral-saba": { inputPerMtoken: 0.2, outputPerMtoken: 0.6 },
79719
+ "mistral-small-24b-instruct-2501": { inputPerMtoken: 0.05, outputPerMtoken: 0.08 },
79720
+ "mistral-small-2603": { inputPerMtoken: 0.15, outputPerMtoken: 0.6 },
79721
+ "mistral-small-3.1-24b-instruct": { inputPerMtoken: 0.351, outputPerMtoken: 0.555 },
79722
+ "mistral-small-3.2-24b-instruct": { inputPerMtoken: 0.09375, outputPerMtoken: 0.25 },
79723
+ "mixtral-8x22b-instruct": { inputPerMtoken: 2, outputPerMtoken: 6 },
79724
+ "morph-v3-fast": { inputPerMtoken: 0.8, outputPerMtoken: 1.2 },
79725
+ "morph-v3-large": { inputPerMtoken: 0.9, outputPerMtoken: 1.9 },
79726
+ "muse-glimmer-30b": { inputPerMtoken: 0.3, outputPerMtoken: 1.2 },
79727
+ "muse-spark-1.1": { inputPerMtoken: 1.25, outputPerMtoken: 4.25 },
79728
+ "muse-spark-1.2": { inputPerMtoken: 1.25, outputPerMtoken: 4.25 },
79729
+ "muse-spark-1.2-contributor": { inputPerMtoken: 0.1, outputPerMtoken: 0.2 },
79730
+ "muse-spark-1.3": { inputPerMtoken: 1.25, outputPerMtoken: 4.25 },
79731
+ "muse-spark-1.3-contributor": { inputPerMtoken: 0.1, outputPerMtoken: 0.2 },
79732
+ "muse-wonder": { inputPerMtoken: 4, outputPerMtoken: 20 },
79733
+ "mythomax-l2-13b": { inputPerMtoken: 0.08, outputPerMtoken: 0.11 },
79734
+ "nemotron-3-nano-30b-a3b": { inputPerMtoken: 0.06, outputPerMtoken: 0.24 },
79735
+ "nemotron-3-nano-omni-30b-a3b-reasoning:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79736
+ "nemotron-3-super-120b-a12b": { inputPerMtoken: 0.08, outputPerMtoken: 0.45 },
79737
+ "nemotron-3-super-120b-a12b:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79738
+ "nemotron-3-ultra-550b-a55b": { inputPerMtoken: 0.6, outputPerMtoken: 2.4 },
79739
+ "nemotron-3-ultra-550b-a55b:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79740
+ "nemotron-3.5-content-safety": { inputPerMtoken: 0.2, outputPerMtoken: 0.2 },
79741
+ "nemotron-3.5-content-safety:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79742
+ "nemotron-3.5-lightning": { inputPerMtoken: 0.07, outputPerMtoken: 0.2 },
79743
+ "nemotron-3.5-lightning:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79744
+ "nex-n2.5-mini": { inputPerMtoken: 0.025, outputPerMtoken: 0.1 },
79745
+ "nex-n2.5-pro": { inputPerMtoken: 0.075, outputPerMtoken: 0.25 },
79746
+ "north-mini-code:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79747
+ "nova-2-lite-v1": { inputPerMtoken: 0.3, outputPerMtoken: 2.5 },
79748
+ "nova-lite-v1": { inputPerMtoken: 0.06, outputPerMtoken: 0.24 },
79749
+ "nova-micro-v1": { inputPerMtoken: 0.035, outputPerMtoken: 0.14 },
79750
+ "nova-premier-v1": { inputPerMtoken: 2.5, outputPerMtoken: 12.5 },
79751
+ "nova-pro-v1": { inputPerMtoken: 0.8, outputPerMtoken: 3.2 },
79752
+ "o1": { inputPerMtoken: 15, outputPerMtoken: 60 },
79753
+ "o1-pro": { inputPerMtoken: 150, outputPerMtoken: 600 },
79754
+ "o3": { inputPerMtoken: 2, outputPerMtoken: 8 },
79755
+ "o3-mini": { inputPerMtoken: 1.1, outputPerMtoken: 4.4 },
79756
+ "o3-mini-high": { inputPerMtoken: 1.1, outputPerMtoken: 4.4 },
79757
+ "o3-pro": { inputPerMtoken: 20, outputPerMtoken: 80 },
79758
+ "o4-mini": { inputPerMtoken: 1.1, outputPerMtoken: 4.4 },
79759
+ "o4-mini-high": { inputPerMtoken: 1.1, outputPerMtoken: 4.4 },
79760
+ "palmyra-x5": { inputPerMtoken: 0.6, outputPerMtoken: 6 },
79761
+ "pareto-26.10-preview": { inputPerMtoken: 0.8, outputPerMtoken: 3.2 },
79762
+ "pareto-26.9": { inputPerMtoken: 2.5, outputPerMtoken: 7.5 },
79763
+ "pareto-latest": { inputPerMtoken: 2.5, outputPerMtoken: 7.5 },
79764
+ "perceptron-mk1": { inputPerMtoken: 0.15, outputPerMtoken: 1.5 },
79765
+ "perceptron-mk1.5": { inputPerMtoken: 0.15, outputPerMtoken: 1.5 },
79766
+ "phi-4": { inputPerMtoken: 0.07, outputPerMtoken: 0.14 },
79767
+ "qwen-2.5-72b-instruct": { inputPerMtoken: 0.36, outputPerMtoken: 0.4 },
79768
+ "qwen-2.5-7b-instruct": { inputPerMtoken: 0.1, outputPerMtoken: 0.2 },
79769
+ "qwen-2.5-coder-32b-instruct": { inputPerMtoken: 0.66, outputPerMtoken: 1 },
79770
+ "qwen-plus": { inputPerMtoken: 0.26, outputPerMtoken: 0.78 },
79771
+ "qwen2.5-vl-72b-instruct": { inputPerMtoken: 0.8, outputPerMtoken: 1 },
79772
+ "qwen3-14b": { inputPerMtoken: 0.12, outputPerMtoken: 0.24 },
79773
+ "qwen3-235b-a22b-2507": { inputPerMtoken: 0.09, outputPerMtoken: 0.55 },
79774
+ "qwen3-235b-a22b-thinking-2507": { inputPerMtoken: 0.45, outputPerMtoken: 3.5 },
79775
+ "qwen3-30b-a3b": { inputPerMtoken: 0.12, outputPerMtoken: 0.5 },
79776
+ "qwen3-30b-a3b-instruct-2507": { inputPerMtoken: 0.1, outputPerMtoken: 0.3 },
79777
+ "qwen3-32b": { inputPerMtoken: 0.08, outputPerMtoken: 0.28 },
79778
+ "qwen3-coder": { inputPerMtoken: 0.3, outputPerMtoken: 1 },
79779
+ "qwen3-coder-30b-a3b-instruct": { inputPerMtoken: 0.07, outputPerMtoken: 0.28 },
79780
+ "qwen3-coder-flash": { inputPerMtoken: 0.195, outputPerMtoken: 0.975 },
79781
+ "qwen3-coder-next": { inputPerMtoken: 0.12, outputPerMtoken: 0.8 },
79782
+ "qwen3-next-80b-a3b-instruct": { inputPerMtoken: 0.1, outputPerMtoken: 1.1 },
79783
+ "qwen3-next-80b-a3b-thinking": { inputPerMtoken: 0.15, outputPerMtoken: 1.2 },
79784
+ "qwen3-vl-235b-a22b-instruct": { inputPerMtoken: 0.21, outputPerMtoken: 1.9 },
79785
+ "qwen3-vl-30b-a3b-instruct": { inputPerMtoken: 0.15, outputPerMtoken: 0.6 },
79786
+ "qwen3-vl-30b-a3b-thinking": { inputPerMtoken: 0.29, outputPerMtoken: 1 },
79787
+ "qwen3-vl-8b-instruct": { inputPerMtoken: 0.25, outputPerMtoken: 0.75 },
79788
+ "qwen3.5-122b-a10b": { inputPerMtoken: 0.26, outputPerMtoken: 2.08 },
79789
+ "qwen3.5-27b": { inputPerMtoken: 0.26, outputPerMtoken: 2.6 },
79790
+ "qwen3.5-35b-a3b": { inputPerMtoken: 0.15, outputPerMtoken: 1 },
79791
+ "qwen3.5-397b-a17b": { inputPerMtoken: 0.5, outputPerMtoken: 3.6 },
79792
+ "qwen3.5-9b": { inputPerMtoken: 0.1, outputPerMtoken: 0.15 },
79793
+ "qwen3.5-flash-02-23": { inputPerMtoken: 0.065, outputPerMtoken: 0.26 },
79794
+ "qwen3.5-plus-02-15": { inputPerMtoken: 0.26, outputPerMtoken: 1.56 },
79795
+ "qwen3.5-plus-20260420": { inputPerMtoken: 0.3, outputPerMtoken: 1.8 },
79796
+ "qwen3.6-27b": { inputPerMtoken: 0.32, outputPerMtoken: 3.2 },
79797
+ "qwen3.6-35b-a3b": { inputPerMtoken: 0.1, outputPerMtoken: 0.95 },
79798
+ "qwen3.6-flash": { inputPerMtoken: 0.1875, outputPerMtoken: 1.125 },
79799
+ "qwen3.6-plus": { inputPerMtoken: 0.325, outputPerMtoken: 1.95 },
79800
+ "qwen3.7-flash": { inputPerMtoken: 0.03, outputPerMtoken: 0.13 },
79801
+ "qwen3.7-max": { inputPerMtoken: 1.475, outputPerMtoken: 4.425 },
79802
+ "qwen3.7-plus": { inputPerMtoken: 0.32, outputPerMtoken: 1.28 },
79803
+ "qwen3.8-2.4t-a95b": { inputPerMtoken: 2, outputPerMtoken: 6 },
79804
+ "qwen3.8-27b": { inputPerMtoken: 0.04, outputPerMtoken: 2.3 },
79805
+ "qwen3.8-flash": { inputPerMtoken: 0.15, outputPerMtoken: 0.47 },
79806
+ "qwen3.8-max-0902": { inputPerMtoken: 2, outputPerMtoken: 6 },
79807
+ "qwen3.8-max-prime": { inputPerMtoken: 4, outputPerMtoken: 12 },
79808
+ "qwen3.8-omni-flash": { inputPerMtoken: 0.15, outputPerMtoken: 0.47 },
79809
+ "reka-edge": { inputPerMtoken: 0.1, outputPerMtoken: 0.1 },
79810
+ "reka-flash-3": { inputPerMtoken: 0.1, outputPerMtoken: 0.2 },
79811
+ "relace-apply-3": { inputPerMtoken: 0.85, outputPerMtoken: 1.25 },
79812
+ "relace-search": { inputPerMtoken: 1, outputPerMtoken: 3 },
79813
+ "remm-slerp-l2-13b": { inputPerMtoken: 0.35, outputPerMtoken: 0.65 },
79814
+ "sakana-namazu": { inputPerMtoken: 0.95, outputPerMtoken: 4 },
79815
+ "schematron-v2-small": { inputPerMtoken: 0.05, outputPerMtoken: 0.23 },
79816
+ "schematron-v2-turbo": { inputPerMtoken: 0.03, outputPerMtoken: 0.15 },
79817
+ "seed-1.6": { inputPerMtoken: 0.25, outputPerMtoken: 2 },
79818
+ "seed-1.6-flash": { inputPerMtoken: 0.075, outputPerMtoken: 0.3 },
79819
+ "seed-2-1-turbo": { inputPerMtoken: 0.5, outputPerMtoken: 2.5 },
79820
+ "seed-2.0-code": { inputPerMtoken: 0.5, outputPerMtoken: 3 },
79821
+ "seed-2.0-lite": { inputPerMtoken: 0.25, outputPerMtoken: 2 },
79822
+ "seed-2.0-mini": { inputPerMtoken: 0.1, outputPerMtoken: 0.4 },
79823
+ "skyfall-36b-v2": { inputPerMtoken: 0.55, outputPerMtoken: 0.8 },
79824
+ "solar-mini4": { inputPerMtoken: 0.05, outputPerMtoken: 0.2 },
79825
+ "solar-pro-3": { inputPerMtoken: 0.15, outputPerMtoken: 0.6 },
79826
+ "solar-pro4": { inputPerMtoken: 0.09, outputPerMtoken: 0.36 },
79827
+ "sonar": { inputPerMtoken: 1, outputPerMtoken: 1 },
79828
+ "sonar-deep-research": { inputPerMtoken: 2, outputPerMtoken: 8 },
79829
+ "sonar-pro": { inputPerMtoken: 3, outputPerMtoken: 15 },
79830
+ "sonar-pro-search": { inputPerMtoken: 3, outputPerMtoken: 15 },
79831
+ "sonar-reasoning-pro": { inputPerMtoken: 2, outputPerMtoken: 8 },
79832
+ "step-3.5-flash": { inputPerMtoken: 0.1, outputPerMtoken: 0.3 },
79833
+ "step-3.7-flash": { inputPerMtoken: 0.2, outputPerMtoken: 1.15 },
79834
+ "step-5-preview": { inputPerMtoken: 1, outputPerMtoken: 2.7 },
79835
+ "summarize": { inputPerMtoken: 0.04, outputPerMtoken: 0 },
79836
+ "ternary-bonsai-2-27b": { inputPerMtoken: 0.075, outputPerMtoken: 0.5 },
79837
+ "trinity-large-thinking": { inputPerMtoken: 0.25, outputPerMtoken: 0.8 },
79838
+ "ui-tars-1.5-7b": { inputPerMtoken: 0.1, outputPerMtoken: 0.2 },
79839
+ "unslopnemo-12b": { inputPerMtoken: 0.4, outputPerMtoken: 0.4 },
79840
+ "voxtral-small-24b-2507": { inputPerMtoken: 0.1, outputPerMtoken: 0.3 },
79841
+ "weaver": { inputPerMtoken: 0.4, outputPerMtoken: 0.75 },
79842
+ "wizardlm-2-8x22b": { inputPerMtoken: 0.62, outputPerMtoken: 0.62 }
79843
+ }
79844
+ };
79845
+ }
79846
+ });
79354
79847
  init_llm_cost = __esm2({
79355
79848
  "src/llm-cost.ts"() {
79356
79849
  "use strict";
79850
+ init_llm_pricing_openrouter();
79851
+ LEGACY_PRICING = {
79852
+ // Superseded by OPENROUTER_PRICING wherever OpenRouter lists the model.
79853
+ anthropic: {
79854
+ "claude-opus-4-7": { inputPerMtoken: 15, outputPerMtoken: 75 },
79855
+ "claude-opus-4": { inputPerMtoken: 15, outputPerMtoken: 75 },
79856
+ "claude-sonnet-4-6": { inputPerMtoken: 3, outputPerMtoken: 15 },
79857
+ "claude-sonnet-4": { inputPerMtoken: 3, outputPerMtoken: 15 },
79858
+ "claude-haiku-4-5": { inputPerMtoken: 0.8, outputPerMtoken: 4 },
79859
+ "claude-3-5-sonnet": { inputPerMtoken: 3, outputPerMtoken: 15 },
79860
+ "claude-3-5-haiku": { inputPerMtoken: 0.8, outputPerMtoken: 4 },
79861
+ "claude-3-opus": { inputPerMtoken: 15, outputPerMtoken: 75 },
79862
+ "claude-3-sonnet": { inputPerMtoken: 3, outputPerMtoken: 15 },
79863
+ "claude-3-haiku": { inputPerMtoken: 0.25, outputPerMtoken: 1.25 }
79864
+ },
79865
+ openai: {
79866
+ "gpt-4o": { inputPerMtoken: 2.5, outputPerMtoken: 10 },
79867
+ "gpt-4o-mini": { inputPerMtoken: 0.15, outputPerMtoken: 0.6 },
79868
+ "gpt-4-turbo": { inputPerMtoken: 10, outputPerMtoken: 30 },
79869
+ "gpt-4": { inputPerMtoken: 30, outputPerMtoken: 60 },
79870
+ "gpt-3.5-turbo": { inputPerMtoken: 0.5, outputPerMtoken: 1.5 },
79871
+ "o1-preview": { inputPerMtoken: 15, outputPerMtoken: 60 },
79872
+ "o1-mini": { inputPerMtoken: 3, outputPerMtoken: 12 },
79873
+ "o3-mini": { inputPerMtoken: 1.1, outputPerMtoken: 4.4 }
79874
+ },
79875
+ openrouter: {
79876
+ // Qwen via OpenRouter — keys are post-prefix-strip canonical names.
79877
+ "qwen3.5-397b-a17b": { inputPerMtoken: 0.39, outputPerMtoken: 2.34 },
79878
+ "qwen3.6-plus": { inputPerMtoken: 0.26, outputPerMtoken: 1.56 },
79879
+ "qwen3-max-thinking": { inputPerMtoken: 1e-3, outputPerMtoken: 4e-3 },
79880
+ "qwen3-coder:free": { inputPerMtoken: 0, outputPerMtoken: 0 },
79881
+ // Grok via OpenRouter
79882
+ "grok-4.20-multi-agent": { inputPerMtoken: 2, outputPerMtoken: 2 },
79883
+ // DeepSeek routed through OpenRouter (cheaper than direct on output tokens).
79884
+ "deepseek-v3.2": { inputPerMtoken: 0.28, outputPerMtoken: 0.42 },
79885
+ "deepseek-v3.2-speciale": { inputPerMtoken: 0.4, outputPerMtoken: 1.2 },
79886
+ "deepseek-v4-pro": { inputPerMtoken: 0.28, outputPerMtoken: 0.42 },
79887
+ "deepseek-v4-flash": { inputPerMtoken: 0.14, outputPerMtoken: 0.28 }
79888
+ },
79889
+ // DeepSeek direct (deepseek.com) — different pricing than via-OR.
79890
+ // Output prices are noticeably higher on the direct API.
79891
+ deepseek: {
79892
+ "deepseek-v3.2": { inputPerMtoken: 0.27, outputPerMtoken: 1.1 },
79893
+ "deepseek-v3.2-speciale": { inputPerMtoken: 0.55, outputPerMtoken: 2.19 },
79894
+ "deepseek-v4-pro": { inputPerMtoken: 0.27, outputPerMtoken: 1.1 },
79895
+ "deepseek-v4-flash": { inputPerMtoken: 0.14, outputPerMtoken: 0.55 }
79896
+ },
79897
+ // Empty for now — add as we onboard customers using these providers.
79898
+ groq: {},
79899
+ together: {},
79900
+ mistral: {},
79901
+ azure: {}
79902
+ };
79903
+ PRICING = {
79904
+ ...LEGACY_PRICING,
79905
+ anthropic: { ...LEGACY_PRICING.anthropic, ...OPENROUTER_PRICING.anthropic },
79906
+ openai: { ...LEGACY_PRICING.openai, ...OPENROUTER_PRICING.openai },
79907
+ openrouter: { ...LEGACY_PRICING.openrouter, ...OPENROUTER_PRICING.openrouter }
79908
+ };
79357
79909
  }
79358
79910
  });
79359
79911
  init_fetch_interceptor = __esm2({
@@ -93109,20 +93661,20 @@ ${actionsText}`);
93109
93661
  return false;
93110
93662
  }
93111
93663
  function countKeys(schema) {
93112
- let count = 0;
93664
+ let count2 = 0;
93113
93665
  for (const key in schema) {
93114
93666
  if (key === "$ref")
93115
93667
  return Infinity;
93116
- count++;
93668
+ count2++;
93117
93669
  if (SIMPLE_INLINED.has(key))
93118
93670
  continue;
93119
93671
  if (typeof schema[key] == "object") {
93120
- (0, util_1.eachItem)(schema[key], (sch) => count += countKeys(sch));
93672
+ (0, util_1.eachItem)(schema[key], (sch) => count2 += countKeys(sch));
93121
93673
  }
93122
- if (count === Infinity)
93674
+ if (count2 === Infinity)
93123
93675
  return Infinity;
93124
93676
  }
93125
- return count;
93677
+ return count2;
93126
93678
  }
93127
93679
  function getFullPath(resolver, id = "", normalize) {
93128
93680
  if (normalize !== false)
@@ -96145,8 +96697,8 @@ ${actionsText}`);
96145
96697
  cxt.result(valid, () => cxt.reset());
96146
96698
  function validateItemsWithCount() {
96147
96699
  const schValid = gen.name("_valid");
96148
- const count = gen.let("count", 0);
96149
- validateItems(schValid, () => gen.if(schValid, () => checkLimits(count)));
96700
+ const count2 = gen.let("count", 0);
96701
+ validateItems(schValid, () => gen.if(schValid, () => checkLimits(count2)));
96150
96702
  }
96151
96703
  function validateItems(_valid, block) {
96152
96704
  gen.forRange("i", 0, len, (i2) => {
@@ -96159,16 +96711,16 @@ ${actionsText}`);
96159
96711
  block();
96160
96712
  });
96161
96713
  }
96162
- function checkLimits(count) {
96163
- gen.code((0, codegen_1._)`${count}++`);
96714
+ function checkLimits(count2) {
96715
+ gen.code((0, codegen_1._)`${count2}++`);
96164
96716
  if (max === void 0) {
96165
- gen.if((0, codegen_1._)`${count} >= ${min}`, () => gen.assign(valid, true).break());
96717
+ gen.if((0, codegen_1._)`${count2} >= ${min}`, () => gen.assign(valid, true).break());
96166
96718
  } else {
96167
- gen.if((0, codegen_1._)`${count} > ${max}`, () => gen.assign(valid, false).break());
96719
+ gen.if((0, codegen_1._)`${count2} > ${max}`, () => gen.assign(valid, false).break());
96168
96720
  if (min === 1)
96169
96721
  gen.assign(valid, true);
96170
96722
  else
96171
- gen.if((0, codegen_1._)`${count} >= ${min}`, () => gen.assign(valid, true));
96723
+ gen.if((0, codegen_1._)`${count2} >= ${min}`, () => gen.assign(valid, true));
96172
96724
  }
96173
96725
  }
96174
96726
  }
@@ -100602,7 +101154,7 @@ data:
100602
101154
  await init_skill_telemetry();
100603
101155
  await init_policy_enforcer();
100604
101156
  init_room_protocol();
100605
- VERSION = true ? "0.23.45" : "0.0.0-dev";
101157
+ VERSION = true ? "0.23.46" : "0.0.0-dev";
100606
101158
  }
100607
101159
  });
100608
101160
  await init_index();
@@ -100755,7 +101307,7 @@ function buildInvocation(layout, sessionId) {
100755
101307
  "-c",
100756
101308
  'approval_policy="never"',
100757
101309
  "-c",
100758
- 'model="gpt-5.6-terra"',
101310
+ `model="${CODEX_MODEL}"`,
100759
101311
  "-c",
100760
101312
  'cli_auth_credentials_store="file"',
100761
101313
  "-c",
@@ -100798,7 +101350,17 @@ async function checkVersion(binary, layout) {
100798
101350
  if (version2 !== `codex-cli ${SUPPORTED_CODEX_VERSION}`)
100799
101351
  throw new Error(`Unsupported Codex CLI; install ${SUPPORTED_CODEX_VERSION}`);
100800
101352
  }
100801
- var SUPPORTED_CODEX_VERSION, CODE_MODE_WARNING, UUID2, CodexDriver;
101353
+ function parseTurnUsage(raw) {
101354
+ if (!raw || typeof raw !== "object")
101355
+ return void 0;
101356
+ const u2 = raw;
101357
+ const inputTokens = count(u2.input_tokens), outputTokens = count(u2.output_tokens);
101358
+ if (inputTokens === void 0 || outputTokens === void 0 || inputTokens + outputTokens === 0)
101359
+ return void 0;
101360
+ const cached2 = count(u2.cached_input_tokens);
101361
+ return { model: CODEX_MODEL, inputTokens, outputTokens, ...cached2 !== void 0 ? { cachedInputTokens: cached2 } : {} };
101362
+ }
101363
+ var SUPPORTED_CODEX_VERSION, CODE_MODE_WARNING, UUID2, CODEX_MODEL, count, CodexDriver;
100802
101364
  var init_driver = __esm({
100803
101365
  "src/driver.ts"() {
100804
101366
  "use strict";
@@ -100806,6 +101368,8 @@ var init_driver = __esm({
100806
101368
  SUPPORTED_CODEX_VERSION = "0.154.0";
100807
101369
  CODE_MODE_WARNING = "Code Mode is unavailable because code-mode host is disabled. Code mode will fail closed; enable `features.code_mode_host` and install `codex-code-mode-host`.";
100808
101370
  UUID2 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
101371
+ CODEX_MODEL = "gpt-5.6-terra";
101372
+ count = (v2) => typeof v2 === "number" && Number.isSafeInteger(v2) && v2 >= 0 ? v2 : void 0;
100809
101373
  CodexDriver = class {
100810
101374
  constructor(options) {
100811
101375
  this.options = options;
@@ -100851,6 +101415,7 @@ var init_driver = __esm({
100851
101415
  const child = spawn(binary, invocation.args, { cwd: invocation.cwd, env: invocation.env, stdio: ["pipe", "pipe", "pipe"], detached: true });
100852
101416
  let failed = false, closed = false, settled = false, started = false, terminal = false;
100853
101417
  let sessionId = "", text = "", buffered = "", bytes = 0;
101418
+ let usage;
100854
101419
  const decoder2 = new StringDecoder("utf8");
100855
101420
  let killTimer;
100856
101421
  let reapTimer;
@@ -100876,7 +101441,7 @@ var init_driver = __esm({
100876
101441
  settled = true;
100877
101442
  cleanup();
100878
101443
  if (ok)
100879
- resolve4({ text, sessionId });
101444
+ resolve4({ text, sessionId, ...usage ? { usage } : {} });
100880
101445
  else
100881
101446
  reject(new Error("Codex turn failed"));
100882
101447
  };
@@ -100928,6 +101493,7 @@ var init_driver = __esm({
100928
101493
  if (!started || !text.trim())
100929
101494
  throw new Error();
100930
101495
  terminal = true;
101496
+ usage = parseTurnUsage(e.usage);
100931
101497
  break;
100932
101498
  case "error":
100933
101499
  case "turn.failed":
@@ -101240,7 +101806,7 @@ var init_cli = __esm({
101240
101806
  "use strict";
101241
101807
  await init_dist();
101242
101808
  init_driver();
101243
- VERSION2 = "0.1.1";
101809
+ VERSION2 = "0.1.2";
101244
101810
  HELP = `AgentVault OpenAI Bridge ${VERSION2}
101245
101811
  Usage: AV_AGENT_NAME=<name> agentvault-openai-bridge <command>
101246
101812
 
@@ -101370,12 +101936,14 @@ var init_bridge = __esm({
101370
101936
  const controller = new AbortController();
101371
101937
  this.active = controller;
101372
101938
  try {
101939
+ const startedAt = Date.now();
101373
101940
  const reply = await this.driver.run(JSON.stringify([target.deviceId, kind, id]), `You are ${this.name}, an AgentVault conversational agent. Reply in plain text to this ${kind === "dm" ? "owner direct message" : "addressed room message"}. Filesystem, shell, web and integration tools are unavailable.
101374
101941
  ${history ? `Recent messages from this room (conversation context):
101375
101942
  ${history}
101376
101943
  ` : ""}
101377
101944
  Current message:
101378
101945
  ${text}`, controller.signal);
101946
+ this.reportUsage(reply, Date.now() - startedAt);
101379
101947
  if (!valid() || controller.signal.aborted)
101380
101948
  return;
101381
101949
  await this.deliver(target, reply.text, controller.signal);
@@ -101390,6 +101958,22 @@ ${text}`, controller.signal);
101390
101958
  this.pending--;
101391
101959
  });
101392
101960
  }
101961
+ /** Health (2026-10-14): tokens for the model call. No cost — the bridge runs
101962
+ * on a ChatGPT login, so there is no per-token price to report honestly. */
101963
+ reportUsage(reply, latencyMs) {
101964
+ if (!reply.usage)
101965
+ return;
101966
+ try {
101967
+ this.channel.telemetry?.reportLlmCall({
101968
+ model: reply.usage.model,
101969
+ provider: "openai",
101970
+ latencyMs,
101971
+ tokensInput: reply.usage.inputTokens,
101972
+ tokensOutput: reply.usage.outputTokens
101973
+ });
101974
+ } catch {
101975
+ }
101976
+ }
101393
101977
  async deliver(target, text, signal) {
101394
101978
  const delivery = target.kind === "room" ? this.channel.sendToRoom(target.id, text) : this.channel.send(text, { conversationId: target.id });
101395
101979
  await new Promise((resolve4, reject) => {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "@agentvault/openai-bridge", "version": "0.1.1", "type": "module",
2
+ "name": "@agentvault/openai-bridge", "version": "0.1.2", "type": "module",
3
3
  "description": "AgentVault OpenAI Codex bridge for encrypted owner messages and rooms",
4
4
  "main": "dist/index.js", "types": "dist/index.d.ts",
5
5
  "bin": { "agentvault-openai-bridge": "dist/index.js" },