@mininglamp-oss/cc-channel-octo 1.0.3-dev.6401c0b → 1.0.3-dev.713e873
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/session-store.d.ts +0 -26
- package/dist/session-store.js +1 -64
- package/dist/session-store.js.map +1 -1
- package/package.json +1 -1
package/dist/session-store.d.ts
CHANGED
|
@@ -28,32 +28,6 @@ export declare class SessionStore {
|
|
|
28
28
|
private lastBotReplySeq;
|
|
29
29
|
constructor(adapter: DbAdapter);
|
|
30
30
|
init(): void;
|
|
31
|
-
/**
|
|
32
|
-
* XIN-154 existing-row migration: collapse duplicate
|
|
33
|
-
* (session_id, role, message_seq) rows left by the pre-fix seq236 double-write,
|
|
34
|
-
* keeping the lowest id (the earliest insert) in each group.
|
|
35
|
-
*
|
|
36
|
-
* Only REAL wire seqs (message_seq > 0) participate. Rows are exempt when:
|
|
37
|
-
* - message_seq IS NULL (assistant / legacy / no-seq turns), or
|
|
38
|
-
* - message_seq <= 0 — notably the seq=0 SENTINEL a synthetic cron fire
|
|
39
|
-
* carries (no real wire seq; see index.ts where the cron round stores
|
|
40
|
-
* seq=0). Multiple cron rounds legitimately share seq=0, so folding on it
|
|
41
|
-
* would delete real data — hence `> 0`, matching the codebase's existing
|
|
42
|
-
* "real seq" predicate (`msg.message_seq > 0`).
|
|
43
|
-
* Rows that merely share a seq across roles (a user turn and the bot's reply)
|
|
44
|
-
* are preserved because role is part of the grouping key.
|
|
45
|
-
*
|
|
46
|
-
* Wrapped in a single transaction with explicit before/after row accounting: a
|
|
47
|
-
* mismatch between the delete count and the row delta means the table was
|
|
48
|
-
* mutated concurrently, so we throw and roll back rather than report a clean
|
|
49
|
-
* migration over an inconsistent result (防丢数据). Idempotent: a second run over
|
|
50
|
-
* already-clean data deletes nothing and leaves counts unchanged.
|
|
51
|
-
*/
|
|
52
|
-
dedupeMessagesBySeq(): {
|
|
53
|
-
before: number;
|
|
54
|
-
removed: number;
|
|
55
|
-
after: number;
|
|
56
|
-
};
|
|
57
31
|
getOrCreate(id: string, channelId: string, channelType: number): Session;
|
|
58
32
|
appendUser(sessionId: string, content: string, messageSeq?: number, fromName?: string): void;
|
|
59
33
|
appendAssistant(sessionId: string, content: string, messageSeq?: number, botName?: string): void;
|
package/dist/session-store.js
CHANGED
|
@@ -102,36 +102,10 @@ export class SessionStore {
|
|
|
102
102
|
catch (err) {
|
|
103
103
|
throw new Error(`session-store: messages column migration failed — database is in an unknown state. Underlying error: ${String(err)}`);
|
|
104
104
|
}
|
|
105
|
-
// XIN-154: collapse any pre-existing seq236-style duplicate rows BEFORE
|
|
106
|
-
// creating the partial unique index — a unique index cannot be built over a
|
|
107
|
-
// table that already violates it. Idempotent + transactional (see the method),
|
|
108
|
-
// so it is safe to run on every startup; on an already-clean DB it deletes
|
|
109
|
-
// nothing. After this, INSERT OR IGNORE (insertMessage) keeps the table clean.
|
|
110
|
-
this.dedupeMessagesBySeq();
|
|
111
|
-
// Partial unique index that makes the (session_id, role, message_seq) write
|
|
112
|
-
// idempotent. Keyed on role because a user turn and the bot's reply
|
|
113
|
-
// legitimately share the inbound seq (appendAssistant is called with the
|
|
114
|
-
// inbound message_seq), so a session_id+seq-only index would wrongly forbid
|
|
115
|
-
// the reply. The predicate is `message_seq > 0` (not merely IS NOT NULL):
|
|
116
|
-
// a synthetic cron fire carries the seq=0 SENTINEL (no real wire seq; see
|
|
117
|
-
// index.ts), and multiple cron rounds legitimately share seq=0 — constraining
|
|
118
|
-
// them would silently drop real rounds via INSERT OR IGNORE. So only real
|
|
119
|
-
// positive wire seqs are deduped; NULL- and 0/negative-seq turns stay
|
|
120
|
-
// unconstrained. `> 0` matches the existing "real seq" predicate in index.ts.
|
|
121
|
-
this.adapter.exec('CREATE UNIQUE INDEX IF NOT EXISTS idx_messages_session_role_seq ' +
|
|
122
|
-
'ON messages(session_id, role, message_seq) WHERE message_seq > 0');
|
|
123
105
|
this.selectSession = this.adapter.prepare('SELECT * FROM sessions WHERE id = ?');
|
|
124
106
|
this.insertSession = this.adapter.prepare('INSERT INTO sessions (id, channel_id, channel_type, created_at, updated_at) VALUES (?, ?, ?, ?, ?)');
|
|
125
107
|
this.touchSession = this.adapter.prepare('UPDATE sessions SET updated_at = ? WHERE id = ?');
|
|
126
|
-
|
|
127
|
-
// live inbound path both persisted the SAME triggering message, doubling the
|
|
128
|
-
// row at its message_seq (the "seq236" bug). The cure is a PARTIAL unique
|
|
129
|
-
// index (created above) plus INSERT OR IGNORE here: a re-write of an already
|
|
130
|
-
// stored (session_id, role, message_seq) is silently dropped, making append()
|
|
131
|
-
// idempotent. The index is partial on `message_seq > 0`, so NULL-seq turns
|
|
132
|
-
// AND the seq=0 cron sentinel (multiple legit rounds share it) are exempt —
|
|
133
|
-
// OR IGNORE never suppresses them.
|
|
134
|
-
this.insertMessage = this.adapter.prepare('INSERT OR IGNORE INTO messages (session_id, role, content, timestamp, message_seq, from_name) VALUES (?, ?, ?, ?, ?, ?)');
|
|
108
|
+
this.insertMessage = this.adapter.prepare('INSERT INTO messages (session_id, role, content, timestamp, message_seq, from_name) VALUES (?, ?, ?, ?, ?, ?)');
|
|
135
109
|
this.selectRecentMessages = this.adapter.prepare('SELECT role, content, message_seq, from_name FROM messages WHERE session_id = ? ORDER BY id DESC LIMIT ?');
|
|
136
110
|
this.deleteExpired = this.adapter.prepare('DELETE FROM sessions WHERE updated_at < ?');
|
|
137
111
|
this.deleteSessionStmt = this.adapter.prepare('DELETE FROM sessions WHERE id = ?');
|
|
@@ -146,43 +120,6 @@ export class SessionStore {
|
|
|
146
120
|
this.deleteSdkSession = this.adapter.prepare('DELETE FROM sdk_sessions WHERE session_id = ?');
|
|
147
121
|
this.deleteExpiredSdkSessions = this.adapter.prepare('DELETE FROM sdk_sessions WHERE updated_at < ?');
|
|
148
122
|
}
|
|
149
|
-
/**
|
|
150
|
-
* XIN-154 existing-row migration: collapse duplicate
|
|
151
|
-
* (session_id, role, message_seq) rows left by the pre-fix seq236 double-write,
|
|
152
|
-
* keeping the lowest id (the earliest insert) in each group.
|
|
153
|
-
*
|
|
154
|
-
* Only REAL wire seqs (message_seq > 0) participate. Rows are exempt when:
|
|
155
|
-
* - message_seq IS NULL (assistant / legacy / no-seq turns), or
|
|
156
|
-
* - message_seq <= 0 — notably the seq=0 SENTINEL a synthetic cron fire
|
|
157
|
-
* carries (no real wire seq; see index.ts where the cron round stores
|
|
158
|
-
* seq=0). Multiple cron rounds legitimately share seq=0, so folding on it
|
|
159
|
-
* would delete real data — hence `> 0`, matching the codebase's existing
|
|
160
|
-
* "real seq" predicate (`msg.message_seq > 0`).
|
|
161
|
-
* Rows that merely share a seq across roles (a user turn and the bot's reply)
|
|
162
|
-
* are preserved because role is part of the grouping key.
|
|
163
|
-
*
|
|
164
|
-
* Wrapped in a single transaction with explicit before/after row accounting: a
|
|
165
|
-
* mismatch between the delete count and the row delta means the table was
|
|
166
|
-
* mutated concurrently, so we throw and roll back rather than report a clean
|
|
167
|
-
* migration over an inconsistent result (防丢数据). Idempotent: a second run over
|
|
168
|
-
* already-clean data deletes nothing and leaves counts unchanged.
|
|
169
|
-
*/
|
|
170
|
-
dedupeMessagesBySeq() {
|
|
171
|
-
const tx = this.adapter.transaction(() => {
|
|
172
|
-
const before = this.adapter.prepare('SELECT COUNT(*) AS n FROM messages').get().n;
|
|
173
|
-
const result = this.adapter
|
|
174
|
-
.prepare('DELETE FROM messages WHERE message_seq > 0 AND id NOT IN (' +
|
|
175
|
-
'SELECT MIN(id) FROM messages WHERE message_seq > 0 ' +
|
|
176
|
-
'GROUP BY session_id, role, message_seq)')
|
|
177
|
-
.run();
|
|
178
|
-
const after = this.adapter.prepare('SELECT COUNT(*) AS n FROM messages').get().n;
|
|
179
|
-
if (before - after !== result.changes) {
|
|
180
|
-
throw new Error(`session-store: dedup row accounting mismatch (before=${before}, after=${after}, deleted=${result.changes}) — rolling back`);
|
|
181
|
-
}
|
|
182
|
-
return { before, removed: result.changes, after };
|
|
183
|
-
});
|
|
184
|
-
return tx();
|
|
185
|
-
}
|
|
186
123
|
getOrCreate(id, channelId, channelType) {
|
|
187
124
|
const now = Date.now();
|
|
188
125
|
const existing = this.selectSession.get(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAyB3E,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Cd,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9C,SAAS,YAAY,CAAC,GAAe;IACnC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,YAAY;IACN,OAAO,CAAY;IAE5B,aAAa,CAAqB;IAClC,aAAa,CAAqB;IAClC,YAAY,CAAqB;IACjC,aAAa,CAAqB;IAClC,oBAAoB,CAAqB;IACzC,aAAa,CAAqB;IAClC,iBAAiB,CAAqB;IACtC,kBAAkB,CAAqB;IACvC,kBAAkB,CAAqB;IACvC,gBAAgB,CAAqB;IACrC,gBAAgB,CAAqB;IACrC,gBAAgB,CAAqB;IACrC,wBAAwB,CAAqB;IAErD,mFAAmF;IAC3E,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,YAAY,OAAkB;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1B,6EAA6E;QAC7E,6EAA6E;QAC7E,4EAA4E;QAC5E,0EAA0E;QAC1E,4EAA4E;QAC5E,sEAAsE;QACtE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO;iBACtB,OAAO,CAAC,6BAA6B,CAAC;iBACtC,GAAG,EAA6B,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,wGAAwG,MAAM,CAAC,GAAG,CAAC,EAAE,CACtH,CAAC;QACJ,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED