antechamber 1.0.39 → 1.0.40
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
CHANGED
|
@@ -7,6 +7,14 @@ and this project uses [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.0.40] - 2026-11-06
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Keep the conversation in order after a `!` shell command. The history refresh that follows a shell command sent
|
|
15
|
+
every earlier reply to OpenChamber again with the current time as its creation time, so OpenChamber moved those
|
|
16
|
+
replies after the prompts they answered and placed the shell card among them. Replies now keep their own times.
|
|
17
|
+
|
|
10
18
|
## [1.0.39] - 2026-11-04
|
|
11
19
|
|
|
12
20
|
- fix(v2): give each task batch card its own tool id (#90)
|
package/dist/v2.js
CHANGED
|
@@ -489,12 +489,10 @@ export class V2EventTranslator {
|
|
|
489
489
|
step.error = info.error ?? { name: "UnknownError", data: { message: "Provider error" } };
|
|
490
490
|
}
|
|
491
491
|
st.step = step;
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
model: step.model,
|
|
497
|
-
}));
|
|
492
|
+
// OpenChamber 2.x takes the message's creation time from this frame (events.ts `session.step.started`) and
|
|
493
|
+
// reorders by it. A history refresh re-announces every reply, so `Date.now()` would move them all after the
|
|
494
|
+
// prompts they answer.
|
|
495
|
+
frames.push(this.frame(directory, "session.step.started", { sessionID: info.sessionID, assistantMessageID: info.id, agent: step.agent, model: step.model }, info.time.created));
|
|
498
496
|
}
|
|
499
497
|
else if (st.step) {
|
|
500
498
|
st.step.cost = info.cost;
|
|
@@ -512,11 +510,11 @@ export class V2EventTranslator {
|
|
|
512
510
|
if (st.step && !st.step.ended && info.time.completed !== undefined) {
|
|
513
511
|
if (info.finish !== undefined)
|
|
514
512
|
st.step.finish = info.finish;
|
|
515
|
-
frames.push(...this.finalizeStep(directory, st.step));
|
|
513
|
+
frames.push(...this.finalizeStep(directory, st.step, info.time.completed));
|
|
516
514
|
}
|
|
517
515
|
return frames;
|
|
518
516
|
}
|
|
519
|
-
finalizeStep(directory, st) {
|
|
517
|
+
finalizeStep(directory, st, completed) {
|
|
520
518
|
if (st.ended)
|
|
521
519
|
return [];
|
|
522
520
|
st.ended = true;
|
|
@@ -529,14 +527,14 @@ export class V2EventTranslator {
|
|
|
529
527
|
error: st.error ?? { name: "UnknownError", data: { message: "Provider error" } },
|
|
530
528
|
cost: st.cost,
|
|
531
529
|
tokens: st.tokens,
|
|
532
|
-
})
|
|
530
|
+
}, completed)
|
|
533
531
|
: this.frame(directory, "session.step.ended", {
|
|
534
532
|
sessionID: st.sessionID,
|
|
535
533
|
assistantMessageID: st.messageID,
|
|
536
534
|
...(st.finish !== undefined ? { finish: st.finish } : {}),
|
|
537
535
|
cost: st.cost,
|
|
538
536
|
tokens: st.tokens,
|
|
539
|
-
}),
|
|
537
|
+
}, completed),
|
|
540
538
|
];
|
|
541
539
|
}
|
|
542
540
|
onPartUpdated(directory, part, delta) {
|
|
@@ -704,14 +702,14 @@ export class V2EventTranslator {
|
|
|
704
702
|
}
|
|
705
703
|
return st;
|
|
706
704
|
}
|
|
707
|
-
frame(directory, type, data) {
|
|
705
|
+
frame(directory, type, data, created = Date.now()) {
|
|
708
706
|
const aggregateID = typeof data.sessionID === "string" ? data.sessionID : undefined;
|
|
709
707
|
const seq = aggregateID === undefined ? undefined : (this.sequences.get(aggregateID) ?? 0) + 1;
|
|
710
708
|
if (aggregateID !== undefined && seq !== undefined)
|
|
711
709
|
this.sequences.set(aggregateID, seq);
|
|
712
710
|
return {
|
|
713
711
|
id: genId("evt"),
|
|
714
|
-
created
|
|
712
|
+
created,
|
|
715
713
|
type,
|
|
716
714
|
location: { directory },
|
|
717
715
|
data,
|