openmates 0.27.0-alpha.66 → 0.27.0-alpha.68
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/{chunk-K3QTZCPB.js → chunk-BRNBYTW4.js} +141 -8
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/fixtures/privacy-runtime/linux-arm64/libggml-base.so +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml-base.so.0 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml-base.so.0.15.1 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml-cpu.so +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml-cpu.so.0 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml-cpu.so.0.15.1 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml.so +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml.so.0 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml.so.0.15.1 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/manifest.json +9 -9
- package/package.json +1 -1
|
@@ -15519,6 +15519,12 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
15519
15519
|
}
|
|
15520
15520
|
async sendMessage(params) {
|
|
15521
15521
|
const preWsStartedAt = performance.now();
|
|
15522
|
+
const traceSendTiming = (phase) => {
|
|
15523
|
+
if (process.env.OPENMATES_TRACE_SEND_TIMING === "1") {
|
|
15524
|
+
console.error(`[chat send timing] phase=${phase} elapsed_ms=${Math.round(performance.now() - preWsStartedAt)}`);
|
|
15525
|
+
}
|
|
15526
|
+
};
|
|
15527
|
+
traceSendTiming("send_begin");
|
|
15522
15528
|
if (this.preparedSendSocket && !this.preparedSendSocket.opened) this.closePreparedSendSocket();
|
|
15523
15529
|
const teamId = this.resolveTeamContext({ teamId: params.teamId, personal: params.personal });
|
|
15524
15530
|
const teamSenderName = teamId ? await this.ownTeamSenderName(teamId) : "User";
|
|
@@ -15572,6 +15578,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
15572
15578
|
let socketSnapshotResultRows = null;
|
|
15573
15579
|
let socketProjectCandidateRows = null;
|
|
15574
15580
|
let verifiedProjectCandidates = null;
|
|
15581
|
+
let deferredProjectDirectory = false;
|
|
15575
15582
|
let projectCandidatesReadyFromSendStartMs = null;
|
|
15576
15583
|
let socketMemoryReceipt = null;
|
|
15577
15584
|
const socketMemoryOptionsKey = () => JSON.stringify([
|
|
@@ -15602,8 +15609,12 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
15602
15609
|
const combinedSupported = await memorySocket.ws.waitForServerCapability("personal_send_context_snapshot_v1");
|
|
15603
15610
|
const supported = combinedSupported || await memorySocket.ws.waitForServerCapability("personal_memory_snapshot_v1");
|
|
15604
15611
|
if (supported) {
|
|
15605
|
-
const
|
|
15612
|
+
const deferProjectDirectory = sdkMintedChatId && !teamId && !params.incognito && !params.projectId && shouldWaitForAi && memorySocket.ws.supportsServerCapability("personal_memory_snapshot_v1") && memorySocket.ws.supportsServerCapability("chat_turn_admit_v1") && memorySocket.ws.supportsServerCapability("chat_turn_context_v1");
|
|
15613
|
+
deferredProjectDirectory = deferProjectDirectory;
|
|
15614
|
+
traceSendTiming("snapshot_request");
|
|
15615
|
+
const combined = combinedSupported && !deferProjectDirectory ? await memorySocket.ws.requestPersonalSendContextSnapshot(randomUUID9()) : null;
|
|
15606
15616
|
const snapshot2 = combined?.personal_memories ?? await memorySocket.ws.requestPersonalMemorySnapshot(randomUUID9());
|
|
15617
|
+
traceSendTiming("snapshot_ready");
|
|
15607
15618
|
if (combined) {
|
|
15608
15619
|
socketProjectCandidateRows = combined.project_candidates;
|
|
15609
15620
|
verifiedProjectCandidates = await decodePersonalProjectCandidates(this, combined.project_candidates);
|
|
@@ -15611,6 +15622,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
15611
15622
|
}
|
|
15612
15623
|
socketSnapshotResultRows = snapshot2.memories;
|
|
15613
15624
|
availableMemories = await this.listMemoriesUnshared({ personal: true }, snapshot2);
|
|
15625
|
+
traceSendTiming("memory_decrypt_ready");
|
|
15614
15626
|
if (!memorySocket.ws.isOpen() || JSON.stringify([
|
|
15615
15627
|
this.sendSocketOwnerKey(this.requireSession(), teamId),
|
|
15616
15628
|
authCookieFingerprint(this.http.getCookieMap())
|
|
@@ -15660,6 +15672,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
15660
15672
|
const personalSendAuthHandoff = !teamId && !params.incognito ? snapshotAuthHandoff : null;
|
|
15661
15673
|
const memoryPrepMs = Math.round(performance.now() - memoryStartedAt);
|
|
15662
15674
|
const privacyStartedAt = performance.now();
|
|
15675
|
+
traceSendTiming("privacy_begin");
|
|
15663
15676
|
const savedPrivacyHistory = !params.incognito && params.chatId ? await this.getChatMessages(chatId, teamId ? { teamId } : { personal: true }) : null;
|
|
15664
15677
|
let piiMappings = [...savedPrivacyHistory?.messages.flatMap((message) => (message.piiMappings ?? []).map((mapping) => ({ ...mapping, type: mapping.type ?? "OTHER" }))) ?? [], ...params.piiMappings ?? []];
|
|
15665
15678
|
try {
|
|
@@ -15689,6 +15702,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
15689
15702
|
throw error;
|
|
15690
15703
|
}
|
|
15691
15704
|
const privacyPrepMs = Math.round(performance.now() - privacyStartedAt);
|
|
15705
|
+
traceSendTiming("privacy_ready");
|
|
15692
15706
|
const preWsMs = Math.round(performance.now() - preWsStartedAt);
|
|
15693
15707
|
const contextSession = this.requireSession();
|
|
15694
15708
|
const {
|
|
@@ -15700,6 +15714,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
15700
15714
|
activeTeamId: contextActiveTeamId
|
|
15701
15715
|
} = contextSession;
|
|
15702
15716
|
const contextScope = { teamId, personal: !teamId };
|
|
15717
|
+
const suppliedContext = deferredProjectDirectory ? { ...params.jevContext, project_focus_candidates: void 0 } : params.jevContext;
|
|
15703
15718
|
const contextStartedAt = Date.now();
|
|
15704
15719
|
let publishRouting;
|
|
15705
15720
|
const routingContext = new Promise((resolve20) => {
|
|
@@ -15715,7 +15730,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
15715
15730
|
});
|
|
15716
15731
|
const publishProjectRoutingTimed = (context) => {
|
|
15717
15732
|
projectCandidatesReadyFromSendStartMs ??= Math.round(performance.now() - preWsStartedAt);
|
|
15718
|
-
publishProjectRouting(context);
|
|
15733
|
+
publishProjectRouting(deferredProjectDirectory ? { ...context, project_focus_candidates: context.project_focus_candidates?.filter((candidate) => candidate.auto_selection === true) } : context);
|
|
15719
15734
|
};
|
|
15720
15735
|
let recoveryMs = 0;
|
|
15721
15736
|
const contextOwnerIsCurrent = () => {
|
|
@@ -15723,7 +15738,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
15723
15738
|
return Boolean(current2 && current2.apiUrl === contextApiUrl && current2.hashedEmail === contextHashedEmail && current2.sessionId === contextSessionId && current2.createdAt === contextSessionCreatedAt && current2.masterKeyExportedB64 === contextMasterKey && current2.activeTeamId === contextActiveTeamId);
|
|
15724
15739
|
};
|
|
15725
15740
|
const earlyContextAbort = new AbortController();
|
|
15726
|
-
const earlyContext = !params.incognito && !params.chatId && !params.projectId ? withHttpAbortSignal(earlyContextAbort.signal, () => prepareCliJevContext(this, chatId, contextScope,
|
|
15741
|
+
const earlyContext = !params.incognito && !params.chatId && !params.projectId ? withHttpAbortSignal(earlyContextAbort.signal, () => prepareCliJevContext(this, chatId, contextScope, suppliedContext, finalMessage, {
|
|
15727
15742
|
sdkMintedChatId,
|
|
15728
15743
|
onRouting: publishRouting,
|
|
15729
15744
|
verifiedProjectCandidates: verifiedProjectCandidates ?? void 0,
|
|
@@ -15830,6 +15845,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
15830
15845
|
let terminalExpectedMessagesV = 1;
|
|
15831
15846
|
let savedTurnId = null;
|
|
15832
15847
|
if (!params.incognito) {
|
|
15848
|
+
traceSendTiming("key_begin");
|
|
15833
15849
|
const masterKey = this.getMasterKeyBytes();
|
|
15834
15850
|
const preparedKey = isNewChat && ownsPreparedId && this.preparedChatKey?.chatId === chatId && this.preparedChatOwnerCurrent(this.preparedChatKey.owner, teamId) ? this.preparedChatKey : null;
|
|
15835
15851
|
if (preparedKey) this.preparedChatKey = null;
|
|
@@ -15888,6 +15904,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
15888
15904
|
throw new Error(`Encrypted chat key not found for chat '${chatId}'. Sync and try again.`);
|
|
15889
15905
|
}
|
|
15890
15906
|
}
|
|
15907
|
+
traceSendTiming("key_ready");
|
|
15891
15908
|
}
|
|
15892
15909
|
let focusPersistence = Promise.resolve();
|
|
15893
15910
|
let focusPersistenceError = null;
|
|
@@ -16023,7 +16040,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
16023
16040
|
messagePayload.client_context_request_id = contextRequestId;
|
|
16024
16041
|
}
|
|
16025
16042
|
pendingContext = (async () => {
|
|
16026
|
-
const prepared = earlyContext ? await earlyContext : { ok: true, value: await withHttpAbortSignal(earlyContextAbort.signal, () => prepareCliJevContext(this, chatId, contextScope,
|
|
16043
|
+
const prepared = earlyContext ? await earlyContext : { ok: true, value: await withHttpAbortSignal(earlyContextAbort.signal, () => prepareCliJevContext(this, chatId, contextScope, suppliedContext, finalMessage, {
|
|
16027
16044
|
sdkMintedChatId,
|
|
16028
16045
|
onRouting: publishRouting,
|
|
16029
16046
|
verifiedProjectCandidates: verifiedProjectCandidates ?? void 0,
|
|
@@ -16035,7 +16052,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
16035
16052
|
if (process.env.OPENMATES_DEBUG === "1") {
|
|
16036
16053
|
console.error(`[chat preparation] pre_ws_ms=${preWsMs} memory_ms=${memoryPrepMs} privacy_ms=${privacyPrepMs} auth_ws_ms=${authSocketMs} recovery_ms=${recoveryMs} context_ms=${prepared.elapsedMs} project_candidates_ready_from_send_start_ms=${projectCandidatesReadyFromSendStartMs ?? "pending"}`);
|
|
16037
16054
|
}
|
|
16038
|
-
return prepared.value;
|
|
16055
|
+
return deferredProjectDirectory ? { ...prepared.value, project_focus_candidates: prepared.value.project_focus_candidates?.filter((candidate) => candidate.auto_selection === true) } : prepared.value;
|
|
16039
16056
|
})();
|
|
16040
16057
|
void pendingContext.catch(() => {
|
|
16041
16058
|
});
|
|
@@ -16159,6 +16176,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
16159
16176
|
let admissionPayload = null;
|
|
16160
16177
|
let precollectedResponse = params.precollectResponse && params.incognito && shouldWaitForAi ? ws.collectAiResponse(messageId2, chatId, { onStream: params.onStream, timeoutMs: params.responseTimeoutMs }) : null;
|
|
16161
16178
|
if (!params.incognito && chatKeyBytes && encryptedChatKey) {
|
|
16179
|
+
traceSendTiming("preflight_begin");
|
|
16162
16180
|
const protocolVersion = 1;
|
|
16163
16181
|
const chatKeyVersion = 1;
|
|
16164
16182
|
const turnId = randomUUID9();
|
|
@@ -16295,6 +16313,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
16295
16313
|
pendingContext = Promise.resolve(focusedContext);
|
|
16296
16314
|
}
|
|
16297
16315
|
admissionPayload = preflightPayload;
|
|
16316
|
+
traceSendTiming("preflight_ready");
|
|
16298
16317
|
} catch (error) {
|
|
16299
16318
|
ws.close();
|
|
16300
16319
|
throw error;
|
|
@@ -16360,10 +16379,12 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
16360
16379
|
admissionContinuationPhase = "await_ack";
|
|
16361
16380
|
await consumeSocketMemoryReceipt();
|
|
16362
16381
|
await ws.sendAsync(useCombinedAdmission ? "chat_turn_admit" : "chat_turn_preflight", admissionPayload);
|
|
16382
|
+
traceSendTiming("admission_frame");
|
|
16363
16383
|
if (process.env.OPENMATES_DEBUG === "1") {
|
|
16364
16384
|
console.error(`[chat admission preparation] sdk_minted=${sdkMintedChatId} defer_recovery=${mayDeferRecovery} combined_admission=${useCombinedAdmission} caps_wait_ms=${capabilitiesWaitMs} key_wait_ms=${keyWaitMs} recovery_keypair_ms=${recoveryKeypairMs} encrypt_payload_ms=${encryptPayloadMs} socket_ready_to_frame_dispatch_ms=${Math.round(frameDispatchAt - socketReadyForSendAt)} frame_dispatch_from_send_start_ms=${Math.round(frameDispatchAt - preWsStartedAt)} wire_send_ms=${Math.round(performance.now() - frameDispatchAt)}`);
|
|
16365
16385
|
}
|
|
16366
16386
|
const ackPayload = (await admissionAck).payload;
|
|
16387
|
+
traceSendTiming("admission_ack");
|
|
16367
16388
|
admissionAckObserved = true;
|
|
16368
16389
|
if (typeof ackPayload.preflight_id !== "string" || !ackPayload.preflight_id) {
|
|
16369
16390
|
throw new Error("Encrypted chat admission acknowledgement omitted preflight_id.");
|
|
@@ -16405,7 +16426,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
16405
16426
|
};
|
|
16406
16427
|
let routing;
|
|
16407
16428
|
try {
|
|
16408
|
-
routing = useSelectionDetailsV2 ? await projectRoutingContext : params.projectId ? await pendingContext : await Promise.race([routingContext, pendingContext]);
|
|
16429
|
+
routing = useSelectionDetailsV2 ? await projectRoutingContext : deferredProjectDirectory ? (await Promise.all([pendingContext, projectRoutingContext]))[0] : params.projectId ? await pendingContext : await Promise.race([routingContext, pendingContext]);
|
|
16409
16430
|
} catch (error) {
|
|
16410
16431
|
try {
|
|
16411
16432
|
await notifyContextFailure(useSelectionDetailsV2 ? "project_discovery_failed" : "context_preparation_failed");
|
|
@@ -16423,7 +16444,12 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
16423
16444
|
let rejectedPhaseSeen = false;
|
|
16424
16445
|
const attemptedContextPhases = /* @__PURE__ */ new Set();
|
|
16425
16446
|
removeContextAckWatcher = ws.onMessageType("chat_turn_context_ack", (event) => {
|
|
16426
|
-
if (rejectedPhaseSeen || event.chat_id !== chatId || event.turn_id !== savedTurnId || event.message_id !== messageId2 || event.request_id !== contextRequestId || event.phase !== "routing" && event.phase !== "details" || !attemptedContextPhases.has(event.phase)
|
|
16447
|
+
if (rejectedPhaseSeen || event.chat_id !== chatId || event.turn_id !== savedTurnId || event.message_id !== messageId2 || event.request_id !== contextRequestId || event.phase !== "routing" && event.phase !== "details" || !attemptedContextPhases.has(event.phase)) return;
|
|
16448
|
+
if (event.status === "accepted" || event.status === "duplicate") {
|
|
16449
|
+
traceSendTiming(event.phase === "routing" ? "routing_ack" : "details_ack");
|
|
16450
|
+
return;
|
|
16451
|
+
}
|
|
16452
|
+
if (event.status !== "rejected") return;
|
|
16427
16453
|
rejectedPhaseSeen = true;
|
|
16428
16454
|
if (!contextOwnerIsCurrent()) {
|
|
16429
16455
|
rejectContextAck(new Error("Chat workspace changed while preparing context."));
|
|
@@ -16435,9 +16461,11 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
16435
16461
|
});
|
|
16436
16462
|
});
|
|
16437
16463
|
const { project_focus_candidates, related_task_candidates, project_focus_catalog, accepted_plan_context } = routing;
|
|
16464
|
+
traceSendTiming("routing_prepared");
|
|
16438
16465
|
attemptedContextPhases.add("routing");
|
|
16439
16466
|
await ws.sendAsync("chat_turn_context_ready", { ...identity3, phase: "routing", context: useSelectionDetailsV2 ? { project_focus_candidates } : { project_focus_candidates, related_task_candidates, project_focus_catalog, accepted_plan_context } });
|
|
16440
16467
|
routingFrameSent = true;
|
|
16468
|
+
traceSendTiming("routing_frame");
|
|
16441
16469
|
admissionContinuationPhase = "await_details";
|
|
16442
16470
|
let context;
|
|
16443
16471
|
try {
|
|
@@ -16450,6 +16478,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
16450
16478
|
throw error;
|
|
16451
16479
|
}
|
|
16452
16480
|
if (!contextOwnerIsCurrent()) throw new Error("Chat workspace changed while preparing context.");
|
|
16481
|
+
traceSendTiming("details_prepared");
|
|
16453
16482
|
attemptedContextPhases.add("details");
|
|
16454
16483
|
await ws.sendAsync("chat_turn_context_ready", { ...identity3, phase: "details", context: {
|
|
16455
16484
|
custom_memory_documents: context.custom_memory_documents ?? [],
|
|
@@ -16463,6 +16492,7 @@ var OpenMatesClient = class _OpenMatesClient {
|
|
|
16463
16492
|
} : {}
|
|
16464
16493
|
} });
|
|
16465
16494
|
detailsFrameSent = true;
|
|
16495
|
+
traceSendTiming("details_frame");
|
|
16466
16496
|
}
|
|
16467
16497
|
admissionContinuationPhase = "await_confirmation";
|
|
16468
16498
|
} else {
|
|
@@ -81422,7 +81452,7 @@ As of mid-2026, the severe supply shocks from the 2024\u20132025 avian flu have
|
|
|
81422
81452
|
text: "Google Gemini"
|
|
81423
81453
|
},
|
|
81424
81454
|
description: {
|
|
81425
|
-
text: "Google's Gemini API processes eligible chat messages when you select a Gemini model. Gemini is also used to correct raw Mistral voice transcripts and create titles, and may process prompts, reference images, screenshots, or generated code for image generation or editing, Veo video generation, and screenshot-to-HTML conversion.
|
|
81455
|
+
text: "Google's Gemini API processes eligible chat messages when you select a Gemini model. Gemini Live receives raw microphone audio, submitted text, and permitted chat context during voice calls. Gemini is also used to correct raw Mistral voice transcripts and create titles, and may process prompts, reference images, screenshots, or generated code for image generation or editing, Veo video generation, and screenshot-to-HTML conversion. Call audio and raw transcripts do not receive typed-message placeholder substitution. Google's paid Gemini API terms say prompts and outputs are not used to improve its products, while its current abuse-monitoring documentation states that logged prompts, context, and outputs may be retained for 55 days."
|
|
81426
81456
|
}
|
|
81427
81457
|
}
|
|
81428
81458
|
},
|
|
@@ -82631,6 +82661,14 @@ As of mid-2026, the severe supply shocks from the 2024\u20132025 avian flu have
|
|
|
82631
82661
|
text: "Audio travels over TLS through the OpenMates backend hosted by Hetzner and is sent to Mistral for transcription. Realtime audio is streamed; uploaded recordings are encrypted by our upload service before durable storage and decrypted only in server memory for transcription. The raw transcript is then sent to Google Gemini to correct obvious transcription errors and create a title. Audio and raw transcripts do not receive the placeholder substitution used for eligible typed chat messages. OpenMates stores recordings and transcripts as encrypted account content, but Mistral and Google may retain API request data under their own policies."
|
|
82632
82662
|
}
|
|
82633
82663
|
},
|
|
82664
|
+
voice_calls: {
|
|
82665
|
+
question: {
|
|
82666
|
+
text: "What happens during a voice call?"
|
|
82667
|
+
},
|
|
82668
|
+
answer: {
|
|
82669
|
+
text: "During a Gemini voice call, microphone audio, submitted text, and permitted chat context travel over TLS through OpenMates to Google Gemini Live. Raw call audio and transcripts do not receive the placeholder substitution used for eligible typed chat inference. User and assistant transcripts are encrypted in your browser before durable synchronization. OpenMates does not durably retain plaintext call audio or transcripts, and phase-one calls do not save an audio recording. Google may retain API request data under its own policies."
|
|
82670
|
+
}
|
|
82671
|
+
},
|
|
82634
82672
|
storage_protection_v2: {
|
|
82635
82673
|
answer: {
|
|
82636
82674
|
text: "Saved chats, artifact history, settings, and memories are stored as ciphertext. PostgreSQL holds their records; these records are encrypted for authorized clients. Uploaded files and recordings are kept separately as encrypted objects in S3. A separate short-lived AI context cache is encrypted with server-side Vault keys and can be read by OpenMates servers while processing your request. A pending assistant response sealed to a client public key for offline recovery remains available until an authorized client verifies and confirms its normal client-encrypted save, or the related chat or account is deleted. Large sealed responses may be stored in regional S3 object storage. Expiry of a retry lease or the AI working cache alone does not remove the pending sealed copy. The server cannot rebuild missing readable AI context from client-encrypted history without an authorized client."
|
|
@@ -93979,6 +94017,101 @@ As of mid-2026, the severe supply shocks from the 2024\u20132025 avian flu have
|
|
|
93979
94017
|
text: "The call is unavailable right now. Please try again."
|
|
93980
94018
|
}
|
|
93981
94019
|
},
|
|
94020
|
+
voicecall: {
|
|
94021
|
+
title: {
|
|
94022
|
+
text: "Voice call"
|
|
94023
|
+
},
|
|
94024
|
+
provider: {
|
|
94025
|
+
text: "Via Google Gemini"
|
|
94026
|
+
},
|
|
94027
|
+
start: {
|
|
94028
|
+
text: "Start voice call"
|
|
94029
|
+
},
|
|
94030
|
+
connecting: {
|
|
94031
|
+
text: "Connecting\u2026 Wait to speak."
|
|
94032
|
+
},
|
|
94033
|
+
live: {
|
|
94034
|
+
text: "Listening \xB7 You can speak now"
|
|
94035
|
+
},
|
|
94036
|
+
muted: {
|
|
94037
|
+
text: "Microphone muted"
|
|
94038
|
+
},
|
|
94039
|
+
assistant_speaking: {
|
|
94040
|
+
text: "Gemini is speaking"
|
|
94041
|
+
},
|
|
94042
|
+
interrupted: {
|
|
94043
|
+
text: "(interrupted)"
|
|
94044
|
+
},
|
|
94045
|
+
credits: {
|
|
94046
|
+
text: "credits"
|
|
94047
|
+
},
|
|
94048
|
+
credits_per_minute: {
|
|
94049
|
+
text: "credits/min"
|
|
94050
|
+
},
|
|
94051
|
+
return_to_chat: {
|
|
94052
|
+
text: "Return to chat"
|
|
94053
|
+
},
|
|
94054
|
+
mute: {
|
|
94055
|
+
text: "Mute"
|
|
94056
|
+
},
|
|
94057
|
+
unmute: {
|
|
94058
|
+
text: "Unmute"
|
|
94059
|
+
},
|
|
94060
|
+
minimize: {
|
|
94061
|
+
text: "Minimize"
|
|
94062
|
+
},
|
|
94063
|
+
expand: {
|
|
94064
|
+
text: "Expand"
|
|
94065
|
+
},
|
|
94066
|
+
hangup: {
|
|
94067
|
+
text: "Hang up"
|
|
94068
|
+
},
|
|
94069
|
+
close: {
|
|
94070
|
+
text: "Close"
|
|
94071
|
+
},
|
|
94072
|
+
microphone_denied: {
|
|
94073
|
+
text: "Microphone access was denied."
|
|
94074
|
+
},
|
|
94075
|
+
microphone_missing: {
|
|
94076
|
+
text: "No microphone was found."
|
|
94077
|
+
},
|
|
94078
|
+
microphone_failed: {
|
|
94079
|
+
text: "Could not start the microphone."
|
|
94080
|
+
},
|
|
94081
|
+
session_expired: {
|
|
94082
|
+
text: "Your session expired. Sign in again to call."
|
|
94083
|
+
},
|
|
94084
|
+
connection_failed: {
|
|
94085
|
+
text: "Could not connect the call."
|
|
94086
|
+
},
|
|
94087
|
+
connection_lost: {
|
|
94088
|
+
text: "Call connection lost."
|
|
94089
|
+
},
|
|
94090
|
+
call_unavailable: {
|
|
94091
|
+
text: "Voice calling is unavailable right now."
|
|
94092
|
+
},
|
|
94093
|
+
transcript_limit: {
|
|
94094
|
+
text: "The call reached its transcript limit and ended."
|
|
94095
|
+
},
|
|
94096
|
+
invalid_response: {
|
|
94097
|
+
text: "The call received an invalid response."
|
|
94098
|
+
},
|
|
94099
|
+
transcript_save_failed: {
|
|
94100
|
+
text: "The transcript could not be saved. The call was stopped."
|
|
94101
|
+
},
|
|
94102
|
+
unsupported_content: {
|
|
94103
|
+
text: "Attachments and app skills are not available in voice calls yet. Your draft is saved."
|
|
94104
|
+
},
|
|
94105
|
+
text_only_hint: {
|
|
94106
|
+
text: "Voice call: text only. Attachments and app skills are unavailable for now."
|
|
94107
|
+
},
|
|
94108
|
+
text_too_long: {
|
|
94109
|
+
text: "Voice call messages can contain up to 8,000 characters. Your draft is preserved."
|
|
94110
|
+
},
|
|
94111
|
+
recording_disabled: {
|
|
94112
|
+
text: "Recording is unavailable during a voice call."
|
|
94113
|
+
}
|
|
94114
|
+
},
|
|
93982
94115
|
waiting_list: {
|
|
93983
94116
|
discord_members: {
|
|
93984
94117
|
text: "Members in our Discord will"
|
package/dist/cli.js
CHANGED
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
shouldRequireTrustedAccountGuard,
|
|
22
22
|
waitForSafeE2ETotpWindow,
|
|
23
23
|
waitForWorkflowRun
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-BRNBYTW4.js";
|
|
25
25
|
import "./chunk-IWKP55ZB.js";
|
|
26
26
|
import "./chunk-F2U6KIMR.js";
|
|
27
27
|
import "./chunk-YMVXTMTD.js";
|
package/dist/index.js
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -17,47 +17,47 @@
|
|
|
17
17
|
{
|
|
18
18
|
"name": "libggml-base.so",
|
|
19
19
|
"bytes": 1110088,
|
|
20
|
-
"sha256": "
|
|
20
|
+
"sha256": "3dbc8fa7f87cdf376436e8164dad352af883419126815b307acfe43f58170b27"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"name": "libggml-base.so.0",
|
|
24
24
|
"bytes": 1110088,
|
|
25
|
-
"sha256": "
|
|
25
|
+
"sha256": "3dbc8fa7f87cdf376436e8164dad352af883419126815b307acfe43f58170b27"
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
"name": "libggml-base.so.0.15.1",
|
|
29
29
|
"bytes": 1110088,
|
|
30
|
-
"sha256": "
|
|
30
|
+
"sha256": "3dbc8fa7f87cdf376436e8164dad352af883419126815b307acfe43f58170b27"
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
"name": "libggml-cpu.so",
|
|
34
34
|
"bytes": 869800,
|
|
35
|
-
"sha256": "
|
|
35
|
+
"sha256": "03423dbd3296a487876742f3a792d57ec80ee71f5d3ac9659c424afbe3394e01"
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
"name": "libggml-cpu.so.0",
|
|
39
39
|
"bytes": 869800,
|
|
40
|
-
"sha256": "
|
|
40
|
+
"sha256": "03423dbd3296a487876742f3a792d57ec80ee71f5d3ac9659c424afbe3394e01"
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
"name": "libggml-cpu.so.0.15.1",
|
|
44
44
|
"bytes": 869800,
|
|
45
|
-
"sha256": "
|
|
45
|
+
"sha256": "03423dbd3296a487876742f3a792d57ec80ee71f5d3ac9659c424afbe3394e01"
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
"name": "libggml.so",
|
|
49
49
|
"bytes": 1899104,
|
|
50
|
-
"sha256": "
|
|
50
|
+
"sha256": "28c405562b6a3b50deafd96c83ef48f774913eee1d12251db52e74d983bf8713"
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
"name": "libggml.so.0",
|
|
54
54
|
"bytes": 1899104,
|
|
55
|
-
"sha256": "
|
|
55
|
+
"sha256": "28c405562b6a3b50deafd96c83ef48f774913eee1d12251db52e74d983bf8713"
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"name": "libggml.so.0.15.1",
|
|
59
59
|
"bytes": 1899104,
|
|
60
|
-
"sha256": "
|
|
60
|
+
"sha256": "28c405562b6a3b50deafd96c83ef48f774913eee1d12251db52e74d983bf8713"
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
"name": "openmates-pii-worker",
|