@ouro.bot/cli 0.1.0-alpha.34 → 0.1.0-alpha.36
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/changelog.json +12 -0
- package/dist/senses/bluebubbles.js +27 -16
- package/dist/senses/debug-activity.js +3 -0
- package/package.json +1 -1
package/changelog.json
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_note": "This changelog is maintained as part of the PR/version-bump workflow. Agent-curated, not auto-generated. Agents read this file directly via read_file to understand what changed between versions.",
|
|
3
3
|
"versions": [
|
|
4
|
+
{
|
|
5
|
+
"version": "0.1.0-alpha.36",
|
|
6
|
+
"changes": [
|
|
7
|
+
"BlueBubbles now marks a chat read at the same moment it starts typing for a turn, so read receipts and typing begin together instead of the read state lagging until after the reply finishes."
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"version": "0.1.0-alpha.35",
|
|
12
|
+
"changes": [
|
|
13
|
+
"BlueBubbles no longer emits generic follow-up phrase bubbles like 'on it...' or 'followup...' into iMessage. The sense now uses typing plus concrete tool/error activity only, which keeps mobile turns quieter and less redundant."
|
|
14
|
+
]
|
|
15
|
+
},
|
|
4
16
|
{
|
|
5
17
|
"version": "0.1.0-alpha.34",
|
|
6
18
|
"changes": [
|
|
@@ -209,6 +209,18 @@ function createReplyTargetController(event) {
|
|
|
209
209
|
},
|
|
210
210
|
};
|
|
211
211
|
}
|
|
212
|
+
function emitBlueBubblesMarkReadWarning(chat, error) {
|
|
213
|
+
(0, runtime_1.emitNervesEvent)({
|
|
214
|
+
level: "warn",
|
|
215
|
+
component: "senses",
|
|
216
|
+
event: "senses.bluebubbles_mark_read_error",
|
|
217
|
+
message: "failed to mark bluebubbles chat as read",
|
|
218
|
+
meta: {
|
|
219
|
+
chatGuid: chat.chatGuid ?? null,
|
|
220
|
+
reason: error instanceof Error ? error.message : String(error),
|
|
221
|
+
},
|
|
222
|
+
});
|
|
223
|
+
}
|
|
212
224
|
function createBlueBubblesCallbacks(client, chat, replyTarget) {
|
|
213
225
|
let textBuffer = "";
|
|
214
226
|
const phrases = (0, phrases_1.getPhrases)();
|
|
@@ -217,6 +229,7 @@ function createBlueBubblesCallbacks(client, chat, replyTarget) {
|
|
|
217
229
|
followupPhrases: phrases.followup,
|
|
218
230
|
startTypingOnModelStart: true,
|
|
219
231
|
suppressInitialModelStatus: true,
|
|
232
|
+
suppressFollowupPhraseStatus: true,
|
|
220
233
|
transport: {
|
|
221
234
|
sendStatus: async (text) => {
|
|
222
235
|
const sent = await client.sendText({
|
|
@@ -234,7 +247,20 @@ function createBlueBubblesCallbacks(client, chat, replyTarget) {
|
|
|
234
247
|
});
|
|
235
248
|
},
|
|
236
249
|
setTyping: async (active) => {
|
|
237
|
-
|
|
250
|
+
if (!active) {
|
|
251
|
+
await client.setTyping(chat, false);
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
const [markReadResult, typingResult] = await Promise.allSettled([
|
|
255
|
+
client.markChatRead(chat),
|
|
256
|
+
client.setTyping(chat, true),
|
|
257
|
+
]);
|
|
258
|
+
if (markReadResult.status === "rejected") {
|
|
259
|
+
emitBlueBubblesMarkReadWarning(chat, markReadResult.reason);
|
|
260
|
+
}
|
|
261
|
+
if (typingResult.status === "rejected") {
|
|
262
|
+
throw typingResult.reason;
|
|
263
|
+
}
|
|
238
264
|
},
|
|
239
265
|
},
|
|
240
266
|
onTransportError: (operation, error) => {
|
|
@@ -440,21 +466,6 @@ async function handleBlueBubblesEvent(payload, deps = {}) {
|
|
|
440
466
|
await callbacks.flush();
|
|
441
467
|
resolvedDeps.postTurn(messages, sessPath, result.usage);
|
|
442
468
|
await resolvedDeps.accumulateFriendTokens(store, friendId, result.usage);
|
|
443
|
-
try {
|
|
444
|
-
await client.markChatRead(event.chat);
|
|
445
|
-
}
|
|
446
|
-
catch (error) {
|
|
447
|
-
(0, runtime_1.emitNervesEvent)({
|
|
448
|
-
level: "warn",
|
|
449
|
-
component: "senses",
|
|
450
|
-
event: "senses.bluebubbles_mark_read_error",
|
|
451
|
-
message: "failed to mark bluebubbles chat as read",
|
|
452
|
-
meta: {
|
|
453
|
-
chatGuid: event.chat.chatGuid ?? null,
|
|
454
|
-
reason: error instanceof Error ? error.message : String(error),
|
|
455
|
-
},
|
|
456
|
-
});
|
|
457
|
-
}
|
|
458
469
|
(0, runtime_1.emitNervesEvent)({
|
|
459
470
|
component: "senses",
|
|
460
471
|
event: "senses.bluebubbles_turn_end",
|