weflow-cli 1.6.4 → 1.7.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.
Files changed (37) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/OPERATIONS.md +35 -0
  3. package/bin/weflow-cli.ts +312 -0
  4. package/dist/bin/weflow-cli.js +352 -0
  5. package/dist/bin/weflow-cli.js.map +1 -1
  6. package/dist/src/core/ntCore.d.ts +26 -0
  7. package/dist/src/core/ntCore.d.ts.map +1 -1
  8. package/dist/src/core/ntCore.js +21 -0
  9. package/dist/src/core/ntCore.js.map +1 -1
  10. package/dist/src/services/chatService.d.ts +13 -0
  11. package/dist/src/services/chatService.d.ts.map +1 -1
  12. package/dist/src/services/chatService.js +20 -0
  13. package/dist/src/services/chatService.js.map +1 -1
  14. package/dist/src/services/messageQuery.d.ts +35 -0
  15. package/dist/src/services/messageQuery.d.ts.map +1 -1
  16. package/dist/src/services/messageQuery.js +61 -0
  17. package/dist/src/services/messageQuery.js.map +1 -1
  18. package/dist/src/services/syncService.d.ts +121 -0
  19. package/dist/src/services/syncService.d.ts.map +1 -0
  20. package/dist/src/services/syncService.js +244 -0
  21. package/dist/src/services/syncService.js.map +1 -0
  22. package/dist/src/services/syncState.d.ts +113 -0
  23. package/dist/src/services/syncState.d.ts.map +1 -0
  24. package/dist/src/services/syncState.js +214 -0
  25. package/dist/src/services/syncState.js.map +1 -0
  26. package/docs/DECISIONS.md +60 -20
  27. package/docs/FUNCTIONAL-IMPROVEMENT-SPEC.md +338 -0
  28. package/docs/PROJECT_STATE.md +5 -3
  29. package/docs/SYNC_CONTRACT.md +152 -0
  30. package/package.json +1 -1
  31. package/scripts/export_chat_html.py +177 -13
  32. package/scripts/nt_decrypt.py +123 -15
  33. package/src/core/ntCore.ts +42 -0
  34. package/src/services/chatService.ts +26 -0
  35. package/src/services/messageQuery.ts +97 -0
  36. package/src/services/syncService.ts +335 -0
  37. package/src/services/syncState.ts +275 -0
@@ -6,8 +6,26 @@ export interface NtResult {
6
6
  export interface NtSessionsResult extends NtResult {
7
7
  sessions?: ChatSession[];
8
8
  }
9
+ /** One shard's outcome, as reported by `nt_decrypt.py --report-shards`. */
10
+ export interface ShardOutcome {
11
+ /** basename only - the child never reports a full path */
12
+ name: string;
13
+ opened: boolean;
14
+ /** null when the shard could not be read at all */
15
+ hasTalkerTable: boolean | null;
16
+ rowsForTalker: number | null;
17
+ /** null | KEY_REJECTED | OPEN_FAILED | READ_FAILED */
18
+ reason: string | null;
19
+ }
20
+ export interface ShardReport {
21
+ scanned: number;
22
+ opened: number;
23
+ failed: number;
24
+ items: ShardOutcome[];
25
+ }
9
26
  export interface NtMessagesResult extends NtResult {
10
27
  messages?: Message[];
28
+ shards?: ShardReport;
11
29
  }
12
30
  export interface NtContactsResult extends NtResult {
13
31
  contacts?: Contact[];
@@ -67,6 +85,14 @@ export declare class NtCore {
67
85
  }>;
68
86
  getSessions(keyword?: string): Promise<NtSessionsResult>;
69
87
  getMessages(talker: string, limit?: number, offset?: number): Promise<NtMessagesResult>;
88
+ /**
89
+ * `getMessages` plus the per-shard read report.
90
+ *
91
+ * Separate method rather than a flag on `getMessages`: the extra argv token
92
+ * changes what the child returns, and every existing caller is better off
93
+ * with the smaller payload it already parses.
94
+ */
95
+ getMessagesWithShards(talker: string, limit?: number, offset?: number): Promise<NtMessagesResult>;
70
96
  getContacts(keyword?: string, limit?: number): Promise<NtContactsResult>;
71
97
  /** 查询 SNS 朋友圈时间线 */
72
98
  getSnsTimeline(snsDbPath: string, snsKey: string, snsSalt: string, opts?: {
@@ -1 +1 @@
1
- {"version":3,"file":"ntCore.d.ts","sourceRoot":"","sources":["../../../src/core/ntCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ntCore.d.ts","sourceRoot":"","sources":["../../../src/core/ntCore.ts"],"names":[],"mappings":"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"}
@@ -234,6 +234,27 @@ export class NtCore {
234
234
  }
235
235
  return { success: true, messages: result.messages || [] };
236
236
  }
237
+ /**
238
+ * `getMessages` plus the per-shard read report.
239
+ *
240
+ * Separate method rather than a flag on `getMessages`: the extra argv token
241
+ * changes what the child returns, and every existing caller is better off
242
+ * with the smaller payload it already parses.
243
+ */
244
+ async getMessagesWithShards(talker, limit = 100, offset = 0) {
245
+ const args = [
246
+ 'messages',
247
+ '--limit', String(limit),
248
+ '--offset', String(offset),
249
+ '--report-shards',
250
+ ];
251
+ const ownWxid = configService.get('wxid');
252
+ const result = await this.callPython(args, { talker, ownWxid });
253
+ if (result.error) {
254
+ return { success: false, error: result.error };
255
+ }
256
+ return { success: true, messages: result.messages || [], shards: result.shards };
257
+ }
237
258
  async getContacts(keyword, limit = 200) {
238
259
  const args = [
239
260
  'contacts',
@@ -1 +1 @@
1
- {"version":3,"file":"ntCore.js","sourceRoot":"","sources":["../../../src/core/ntCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ntCore.js","sourceRoot":"","sources":["../../../src/core/ntCore.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ShardReport } from '../core/ntCore.js';
1
2
  import type { ChatSession, Message, Contact } from '../types.js';
2
3
  export declare class ChatService {
3
4
  private connected;
@@ -18,6 +19,18 @@ export declare class ChatService {
18
19
  private connect3x;
19
20
  listSessions(keyword?: string, limit?: number): Promise<ChatSession[]>;
20
21
  getMessages(talker: string, limit?: number, offset?: number): Promise<Message[]>;
22
+ /**
23
+ * Messages plus a per-shard read report, when the backend can produce one.
24
+ *
25
+ * Only the NT path (Python) knows about shards. The legacy 3.x, raw-4.x and
26
+ * WCDB paths return `shards: undefined`, which callers must read as "this
27
+ * backend cannot tell you" rather than "everything was read" - see
28
+ * `coverage: 'unverified'` in docs/SYNC_CONTRACT.md.
29
+ */
30
+ getMessagesWithShards(talker: string, limit?: number, offset?: number): Promise<{
31
+ messages: Message[];
32
+ shards?: ShardReport;
33
+ }>;
21
34
  getMessagesInRange(talker: string, limit?: number, from?: number, to?: number): Promise<Message[]>;
22
35
  listContacts(keyword?: string, limit?: number): Promise<Contact[]>;
23
36
  disconnect(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"chatService.d.ts","sourceRoot":"","sources":["../../../src/services/chatService.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAA;AAQ7E,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,aAAa,CAA2B;IAChD,yCAAyC;IACzC,OAAO,CAAC,cAAc,CAAQ;IAC9B,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAAsB;IAEpC;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBf,OAAO,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YAehD,SAAS;YAmGT,SAAS;IAkBjB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAsClE,WAAW,CACf,MAAM,EAAE,MAAM,EACd,KAAK,SAAI,EACT,MAAM,SAAI,GACT,OAAO,CAAC,OAAO,EAAE,CAAC;IA0Bf,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,KAAK,SAAI,EACT,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,EAAE,CAAC;IAWf,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAuCrE,UAAU,IAAI,IAAI;IAoBlB,oBAAoB;IACpB,cAAc,IAAI,OAAO;IAcnB,cAAc,CAAC,IAAI,GAAE;QACzB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACZ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAsBlE,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAatF,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAepK,mBAAmB;IACnB,cAAc,IAAI,OAAO;IAIzB;;;;;OAKG;IACH,oBAAoB,IAAI,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;IAOzD,uDAAuD;IACvD,OAAO,CAAC,aAAa;IAaf,YAAY,CAAC,IAAI,GAAE;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAChE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAS1F;AAED,eAAO,MAAM,WAAW,aAAoB,CAAA"}
1
+ {"version":3,"file":"chatService.d.ts","sourceRoot":"","sources":["../../../src/services/chatService.ts"],"names":[],"mappings":"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"}
@@ -223,6 +223,26 @@ export class ChatService {
223
223
  }
224
224
  return [];
225
225
  }
226
+ /**
227
+ * Messages plus a per-shard read report, when the backend can produce one.
228
+ *
229
+ * Only the NT path (Python) knows about shards. The legacy 3.x, raw-4.x and
230
+ * WCDB paths return `shards: undefined`, which callers must read as "this
231
+ * backend cannot tell you" rather than "everything was read" - see
232
+ * `coverage: 'unverified'` in docs/SYNC_CONTRACT.md.
233
+ */
234
+ async getMessagesWithShards(talker, limit = 0, offset = 0) {
235
+ const conn = await this.connect();
236
+ if (!conn.success)
237
+ return { messages: [] };
238
+ if (this.ntCore) {
239
+ const result = await this.ntCore.getMessagesWithShards(talker, limit, offset);
240
+ if (!result.success || !result.messages)
241
+ return { messages: [] };
242
+ return { messages: result.messages, shards: result.shards };
243
+ }
244
+ return { messages: await this.getMessages(talker, limit, offset) };
245
+ }
226
246
  async getMessagesInRange(talker, limit = 0, from, to) {
227
247
  if (from === undefined && to === undefined) {
228
248
  return this.getMessages(talker, limit);
@@ -1 +1 @@
1
- {"version":3,"file":"chatService.js","sourceRoot":"","sources":["../../../src/services/chatService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatService.js","sourceRoot":"","sources":["../../../src/services/chatService.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,39 @@ export interface MessageTimeRange {
4
4
  to?: number;
5
5
  }
6
6
  export declare function collectMessagesInRange(fetchPage: (limit: number, offset: number) => Promise<Message[]>, limit: number, range: MessageTimeRange, pageSize?: number): Promise<Message[]>;
7
+ /** Why the paging loop stopped. The first two are expected; the last two are not. */
8
+ export type StopReason =
9
+ /** Reached the requested `from` bound. */
10
+ 'range'
11
+ /** A page came back empty - there is nothing older. */
12
+ | 'exhausted'
13
+ /** Collected the caller's limit. */
14
+ | 'limit'
15
+ /** A page shorter than pageSize ended the loop before `from` was reached. */
16
+ | 'short-page';
17
+ export interface DetailedMessageCollection {
18
+ messages: Message[];
19
+ pages: number;
20
+ stoppedBy: StopReason;
21
+ mayHaveMore: boolean;
22
+ /**
23
+ * A short page ended the loop while the requested `from` was still ahead
24
+ * of us.
25
+ *
26
+ * `collectMessagesInRange` breaks on a short page, which is right when the
27
+ * page is short because the conversation ended - but a live database can
28
+ * also return a short page while rows are being written, because offset
29
+ * paging shifts underneath. The two are indistinguishable from the result
30
+ * alone, so this records the difference instead of assuming the benign one.
31
+ */
32
+ truncatedEarly: boolean;
33
+ }
34
+ /**
35
+ * `collectMessagesInRange` plus the reason it stopped.
36
+ *
37
+ * Kept separate rather than folded into the original: that one is covered by
38
+ * existing tests and used by every export path, and changing what it returns
39
+ * would change those callers.
40
+ */
41
+ export declare function collectMessagesInRangeDetailed(fetchPage: (limit: number, offset: number) => Promise<Message[]>, limit: number, range: MessageTimeRange, pageSize?: number): Promise<DetailedMessageCollection>;
7
42
  //# sourceMappingURL=messageQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messageQuery.d.ts","sourceRoot":"","sources":["../../../src/services/messageQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,EAChE,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,gBAAgB,EACvB,QAAQ,SAAM,GACb,OAAO,CAAC,OAAO,EAAE,CAAC,CAyBpB"}
1
+ {"version":3,"file":"messageQuery.d.ts","sourceRoot":"","sources":["../../../src/services/messageQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,EAChE,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,gBAAgB,EACvB,QAAQ,SAAM,GACb,OAAO,CAAC,OAAO,EAAE,CAAC,CAyBpB;AAED,qFAAqF;AACrF,MAAM,MAAM,UAAU;AACpB,0CAA0C;AACxC,OAAO;AACT,uDAAuD;GACrD,WAAW;AACb,oCAAoC;GAClC,OAAO;AACT,6EAA6E;GAC3E,YAAY,CAAA;AAEhB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,UAAU,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;;;;OASG;IACH,cAAc,EAAE,OAAO,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAClD,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,EAChE,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,gBAAgB,EACvB,QAAQ,SAAM,GACb,OAAO,CAAC,yBAAyB,CAAC,CAsDpC"}
@@ -27,4 +27,65 @@ export async function collectMessagesInRange(fetchPage, limit, range, pageSize =
27
27
  }
28
28
  return result;
29
29
  }
30
+ /**
31
+ * `collectMessagesInRange` plus the reason it stopped.
32
+ *
33
+ * Kept separate rather than folded into the original: that one is covered by
34
+ * existing tests and used by every export path, and changing what it returns
35
+ * would change those callers.
36
+ */
37
+ export async function collectMessagesInRangeDetailed(fetchPage, limit, range, pageSize = 500) {
38
+ const messages = [];
39
+ let offset = 0;
40
+ let pages = 0;
41
+ let stoppedBy = 'exhausted';
42
+ let reachedFrom = range.from === undefined;
43
+ while (true) {
44
+ const page = await fetchPage(pageSize, offset);
45
+ pages += 1;
46
+ if (page.length === 0) {
47
+ stoppedBy = 'exhausted';
48
+ reachedFrom = true;
49
+ break;
50
+ }
51
+ let oldestTimestamp = Number.POSITIVE_INFINITY;
52
+ for (const message of page) {
53
+ const timestamp = Number(message.createTime);
54
+ if (!Number.isFinite(timestamp))
55
+ continue;
56
+ oldestTimestamp = Math.min(oldestTimestamp, timestamp);
57
+ if (range.from !== undefined && timestamp < range.from)
58
+ continue;
59
+ if (range.to !== undefined && timestamp > range.to)
60
+ continue;
61
+ messages.push(message);
62
+ if (limit > 0 && messages.length >= limit) {
63
+ return { messages, pages, stoppedBy: 'limit', mayHaveMore: true, truncatedEarly: false };
64
+ }
65
+ }
66
+ offset += page.length;
67
+ if (range.from !== undefined && oldestTimestamp < range.from) {
68
+ stoppedBy = 'range';
69
+ reachedFrom = true;
70
+ break;
71
+ }
72
+ if (page.length < pageSize) {
73
+ // A short *first* page is unambiguous: nothing has shifted yet, so the
74
+ // conversation simply has fewer than pageSize messages. A short later
75
+ // page is the ambiguous one offset paging can produce on a live
76
+ // database, so it keeps its own name.
77
+ stoppedBy = pages === 1 ? 'exhausted' : 'short-page';
78
+ break;
79
+ }
80
+ }
81
+ return {
82
+ messages,
83
+ pages,
84
+ stoppedBy,
85
+ // A limit hit is handled above; anything else that is not 'range' may
86
+ // still have older matching rows we never looked at.
87
+ mayHaveMore: stoppedBy !== 'range' && stoppedBy !== 'exhausted',
88
+ truncatedEarly: stoppedBy === 'short-page' && !reachedFrom,
89
+ };
90
+ }
30
91
  //# sourceMappingURL=messageQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messageQuery.js","sourceRoot":"","sources":["../../../src/services/messageQuery.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAgE,EAChE,KAAa,EACb,KAAuB,EACvB,QAAQ,GAAG,GAAG;IAEd,MAAM,MAAM,GAAc,EAAE,CAAA;IAC5B,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAK;QAE5B,IAAI,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAA;QAC9C,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,SAAQ;YACzC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;YACtD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI;gBAAE,SAAQ;YAChE,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,SAAS,GAAG,KAAK,CAAC,EAAE;gBAAE,SAAQ;YAC5D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACpB,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK;gBAAE,OAAO,MAAM,CAAA;QACxD,CAAC;QAED,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;QACrB,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ;YAAE,MAAK;QACjC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,eAAe,GAAG,KAAK,CAAC,IAAI;YAAE,MAAK;IACrE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"messageQuery.js","sourceRoot":"","sources":["../../../src/services/messageQuery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * One sync pass: pick a window, read it, dedupe, decide coverage, record state.
3
+ *
4
+ * Deliberately not a general job runner - it is the single caller of the sync
5
+ * state contract for now (docs/SYNC_CONTRACT.md, D-029).
6
+ */
7
+ import type { Message } from '../types.js';
8
+ import type { ShardReport } from '../core/ntCore.js';
9
+ import { type SyncCoverage, type SyncState, type SyncStateStore } from './syncState.js';
10
+ /** A window wider than this is worth warning about: the read is not bounded. */
11
+ export declare const WIDE_WINDOW_SECONDS: number;
12
+ export declare class SyncRangeRequiredError extends Error {
13
+ readonly code = "SYNC_RANGE_REQUIRED";
14
+ constructor();
15
+ }
16
+ /**
17
+ * Stable identity for one message.
18
+ *
19
+ * `serverId` wins when nonzero; otherwise `localId` is paired with
20
+ * `createTime`. A bare `localId` is never an identity - it restarts in every
21
+ * shard, which is the whole reason D-014 exists.
22
+ *
23
+ * `shard` is intentionally absent: messages do not carry it, adding one would
24
+ * touch the fenced export contract, and overlap dedup does not need it (the
25
+ * same message read twice yields the same serverId or the same pair).
26
+ */
27
+ export declare function messageIdentity(source: string, talker: string, message: Message): string;
28
+ export interface WindowOptions {
29
+ since?: number;
30
+ full?: boolean;
31
+ overlapSeconds?: number;
32
+ now?: number;
33
+ }
34
+ export interface SyncWindow {
35
+ from: number | null;
36
+ to: number;
37
+ overlapSeconds: number;
38
+ full: boolean;
39
+ }
40
+ /**
41
+ * Work out what to read.
42
+ *
43
+ * Without a prior checkpoint there is nothing to resume from, so the caller
44
+ * must say how far back to go - guessing "everything" would silently turn a
45
+ * routine sync into a full-history read.
46
+ */
47
+ export declare function computeWindow(prior: SyncState | null, options: WindowOptions): SyncWindow;
48
+ /** Drop repeats the overlap window re-read. */
49
+ export declare function dedupeMessages(messages: Message[], source: string, talker: string): {
50
+ unique: Message[];
51
+ duplicateCount: number;
52
+ };
53
+ /**
54
+ * Decide how much of the read we can stand behind.
55
+ *
56
+ * `partial` is the only value that must not be reported as success.
57
+ *
58
+ * A short-page truncation cannot occur here because this pass reads in one
59
+ * call rather than paging; `collectMessagesInRangeDetailed` detects that case
60
+ * for the paged readers and is where a future revision of this should look.
61
+ */
62
+ export declare function deriveCoverage(input: {
63
+ shards?: ShardReport;
64
+ mayHaveMore: boolean;
65
+ }): SyncCoverage;
66
+ export declare function buildNextState(input: {
67
+ prior: SyncState | null;
68
+ talker: string;
69
+ scope: string;
70
+ source: string;
71
+ window: SyncWindow;
72
+ recordsRead: number;
73
+ recordsDeduplicated: number;
74
+ recordsReturned: number;
75
+ newestCreateTime: number | null;
76
+ oldestCreateTime: number | null;
77
+ shards?: ShardReport;
78
+ coverage: SyncCoverage;
79
+ mayHaveMore: boolean;
80
+ warnings: string[];
81
+ now?: number;
82
+ }): SyncState;
83
+ export interface SyncRunOptions extends WindowOptions {
84
+ source?: string;
85
+ scope?: string;
86
+ limit?: number;
87
+ /** Injected for tests; the CLI wires this to chatService. */
88
+ read: (talker: string, limit: number) => Promise<{
89
+ messages: Message[];
90
+ shards?: ShardReport;
91
+ }>;
92
+ write?: boolean;
93
+ /** Defaults to the real store; tests pass one rooted in a temp directory. */
94
+ store?: SyncStateStore;
95
+ }
96
+ export interface SyncRunResult {
97
+ success: boolean;
98
+ code?: string;
99
+ action: 'sync.messages';
100
+ scope: string;
101
+ window: SyncWindow;
102
+ recordsRead: number;
103
+ recordsDeduplicated: number;
104
+ recordsReturned: number;
105
+ shards?: ShardReport;
106
+ coverage: SyncCoverage;
107
+ mayHaveMore: boolean;
108
+ partial: boolean;
109
+ warnings: string[];
110
+ jobId: string | null;
111
+ state: SyncState | null;
112
+ }
113
+ /**
114
+ * Run one pass. Writes state and a job record unless `write: false`.
115
+ *
116
+ * A partial run still writes (the spec forbids discarding usable results) but
117
+ * returns `success: false` with `code: 'SYNC_PARTIAL'` so nothing downstream
118
+ * treats it as complete.
119
+ */
120
+ export declare function runSync(talker: string, options: SyncRunOptions): Promise<SyncRunResult>;
121
+ //# sourceMappingURL=syncService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncService.d.ts","sourceRoot":"","sources":["../../../src/services/syncService.ts"],"names":[],"mappings":"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"}