@khorsheed/dsh-client-message-tools 0.1.0 → 0.2.0
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.md +8 -0
- package/README.en.md +15 -11
- package/README.i18n.yaml +2 -2
- package/README.md +35 -31
- package/lib/client.js +276 -131
- package/lib/client.js.map +1 -1
- package/lib/index.js +16 -15
- package/lib/tsconfig.client.tsbuildinfo +1 -1
- package/lib/tsconfig.host.tsbuildinfo +1 -1
- package/lib/typert.host.js +3 -3
- package/lib/typert.remote-client.d.ts.map +1 -1
- package/lib/typert.remote-client.js +3 -3
- package/lib/types/client/RestoredMessageView.d.ts +1 -1
- package/lib/types/client/RestoredMessageView.d.ts.map +1 -1
- package/lib/types/client/RestoredMessageView.js +20 -1
- package/lib/types/client/UserMessageView.d.ts +1 -1
- package/lib/types/client/UserMessageView.d.ts.map +1 -1
- package/lib/types/client/UserMessageView.js +9 -6
- package/lib/types/client/WithdrawnDividerView.d.ts +1 -1
- package/lib/types/client/WithdrawnDividerView.d.ts.map +1 -1
- package/lib/types/client/WithdrawnDividerView.js +11 -7
- package/lib/types/client/chat-hook.d.ts +36 -0
- package/lib/types/client/chat-hook.d.ts.map +1 -0
- package/lib/types/client/chat-hook.js +51 -0
- package/lib/types/client/dom-hider.d.ts +3 -2
- package/lib/types/client/dom-hider.d.ts.map +1 -1
- package/lib/types/client/dom-hider.js +20 -13
- package/lib/types/client/edit-in-place.d.ts +2 -1
- package/lib/types/client/edit-in-place.d.ts.map +1 -1
- package/lib/types/client/index.d.ts +6 -4
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/index.js +42 -8
- package/lib/types/client/locales.d.ts +8 -0
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/client/locales.js +8 -0
- package/lib/types/client/slots.d.ts.map +1 -1
- package/lib/types/client/withdrawn-node.d.ts +3 -2
- package/lib/types/client/withdrawn-node.d.ts.map +1 -1
- package/lib/types/client/withdrawn-node.js +43 -52
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +10 -8
- package/lib/types/withdraw.d.ts.map +1 -1
- package/lib/types/withdraw.js +10 -6
- package/package.json +19 -18
package/lib/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SessionSeq } from "@deepseek-ai/dsh-session";
|
|
1
2
|
import { createUserMessage } from "@deepseek-ai/dsh-llm";
|
|
2
3
|
import { Remote, TypertRemoteService } from "@deepseek-ai/dsh-typert-protocol";
|
|
3
4
|
import { isAppendSurfaceEvent, isReplacementSurfaceEvent } from "@deepseek-ai/dsh-session/surface";
|
|
@@ -234,11 +235,11 @@ function joinAssistantMessageText(blocks) {
|
|
|
234
235
|
function findWithdrawnSpan(events, targetSeq) {
|
|
235
236
|
for (let index = events.length - 1; index > targetSeq; index--) {
|
|
236
237
|
const event = events[index];
|
|
237
|
-
if (event
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
238
|
+
if (event === void 0 || !isMessageToolsReplacement(event)) continue;
|
|
239
|
+
if (event.sourceEventSeqs?.includes(targetSeq) !== true) continue;
|
|
240
|
+
const span = [];
|
|
241
|
+
for (let seq = event.surfaceOp.start; seq < event.seq; seq++) span.push(seq);
|
|
242
|
+
return span;
|
|
242
243
|
}
|
|
243
244
|
}
|
|
244
245
|
/**
|
|
@@ -502,7 +503,7 @@ let MessageToolsService = (() => {
|
|
|
502
503
|
ok: false,
|
|
503
504
|
error: { code: "session-not-found" }
|
|
504
505
|
};
|
|
505
|
-
const planned = planWithdrawal(session.
|
|
506
|
+
const planned = planWithdrawal(session.snapshotEvents(), session.surface.nodes, request.targetSeq);
|
|
506
507
|
if (!planned.ok) return {
|
|
507
508
|
ok: false,
|
|
508
509
|
error: { code: planned.code }
|
|
@@ -519,10 +520,10 @@ let MessageToolsService = (() => {
|
|
|
519
520
|
}), {
|
|
520
521
|
surfaceOp: {
|
|
521
522
|
op: "replace",
|
|
522
|
-
start: planned.plan.start,
|
|
523
|
-
end: planned.plan.end
|
|
523
|
+
start: SessionSeq(planned.plan.start),
|
|
524
|
+
end: SessionSeq(planned.plan.end)
|
|
524
525
|
},
|
|
525
|
-
sourceEventSeqs:
|
|
526
|
+
sourceEventSeqs: planned.plan.sourceEventSeqs.map((seq) => SessionSeq(seq))
|
|
526
527
|
});
|
|
527
528
|
await this.ctx.sessions.flush(session);
|
|
528
529
|
return {
|
|
@@ -553,7 +554,7 @@ let MessageToolsService = (() => {
|
|
|
553
554
|
ok: false,
|
|
554
555
|
error: { code: "session-not-found" }
|
|
555
556
|
};
|
|
556
|
-
const planned = planRestore(session.
|
|
557
|
+
const planned = planRestore(session.snapshotEvents(), session.surface.nodes, request.targetSeq);
|
|
557
558
|
if (!planned.ok) return {
|
|
558
559
|
ok: false,
|
|
559
560
|
error: { code: planned.code }
|
|
@@ -575,7 +576,7 @@ let MessageToolsService = (() => {
|
|
|
575
576
|
});
|
|
576
577
|
appendedSeqs.push(session.append("user/message", message, {
|
|
577
578
|
surfaceOp: "append",
|
|
578
|
-
sourceEventSeqs: [entry.sourceSeq]
|
|
579
|
+
sourceEventSeqs: [SessionSeq(entry.sourceSeq)]
|
|
579
580
|
}).seq);
|
|
580
581
|
}
|
|
581
582
|
await this.ctx.sessions.flush(session);
|
|
@@ -602,7 +603,7 @@ let MessageToolsService = (() => {
|
|
|
602
603
|
ok: false,
|
|
603
604
|
error: { code: "session-not-found" }
|
|
604
605
|
};
|
|
605
|
-
const planned = planEdit(session.
|
|
606
|
+
const planned = planEdit(session.snapshotEvents(), session.surface.nodes, request.targetSeq, request.text);
|
|
606
607
|
if (!planned.ok) return {
|
|
607
608
|
ok: false,
|
|
608
609
|
error: { code: planned.code }
|
|
@@ -616,10 +617,10 @@ let MessageToolsService = (() => {
|
|
|
616
617
|
}), {
|
|
617
618
|
surfaceOp: {
|
|
618
619
|
op: "replace",
|
|
619
|
-
start: planned.plan.start,
|
|
620
|
-
end: planned.plan.end
|
|
620
|
+
start: SessionSeq(planned.plan.start),
|
|
621
|
+
end: SessionSeq(planned.plan.end)
|
|
621
622
|
},
|
|
622
|
-
sourceEventSeqs:
|
|
623
|
+
sourceEventSeqs: planned.plan.sourceEventSeqs.map((seq) => SessionSeq(seq))
|
|
623
624
|
});
|
|
624
625
|
await this.ctx.sessions.flush(session);
|
|
625
626
|
const agent = this.ctx.agents.get(request.sessionId);
|