@memberjunction/core-entities 6.2.0-edge.3 → 6.2.0-edge.5

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 (66) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/custom/ConversationForkAccess.d.ts +15 -0
  3. package/dist/custom/ConversationForkAccess.d.ts.map +1 -0
  4. package/dist/custom/ConversationForkAccess.js +28 -0
  5. package/dist/custom/ConversationForkAccess.js.map +1 -0
  6. package/dist/custom/ConversationWriteAccess.d.ts +21 -0
  7. package/dist/custom/ConversationWriteAccess.d.ts.map +1 -0
  8. package/dist/custom/ConversationWriteAccess.js +34 -0
  9. package/dist/custom/ConversationWriteAccess.js.map +1 -0
  10. package/dist/custom/MJConversationBranchEntityExtended.d.ts +30 -0
  11. package/dist/custom/MJConversationBranchEntityExtended.d.ts.map +1 -0
  12. package/dist/custom/MJConversationBranchEntityExtended.js +120 -0
  13. package/dist/custom/MJConversationBranchEntityExtended.js.map +1 -0
  14. package/dist/custom/MJConversationDetailEntityExtended.d.ts +46 -4
  15. package/dist/custom/MJConversationDetailEntityExtended.d.ts.map +1 -1
  16. package/dist/custom/MJConversationDetailEntityExtended.js +194 -47
  17. package/dist/custom/MJConversationDetailEntityExtended.js.map +1 -1
  18. package/dist/custom/MJDashboardEntityExtended.d.ts.map +1 -1
  19. package/dist/custom/MJDashboardEntityExtended.js +3 -0
  20. package/dist/custom/MJDashboardEntityExtended.js.map +1 -1
  21. package/dist/custom/MJThemeEntityExtended.d.ts +13 -0
  22. package/dist/custom/MJThemeEntityExtended.d.ts.map +1 -0
  23. package/dist/custom/MJThemeEntityExtended.js +37 -0
  24. package/dist/custom/MJThemeEntityExtended.js.map +1 -0
  25. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.d.ts.map +1 -1
  26. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js +14 -13
  27. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js.map +1 -1
  28. package/dist/engines/FileStorageEngine.d.ts +40 -0
  29. package/dist/engines/FileStorageEngine.d.ts.map +1 -1
  30. package/dist/engines/FileStorageEngine.js +49 -0
  31. package/dist/engines/FileStorageEngine.js.map +1 -1
  32. package/dist/engines/InstanceConfigEngine.d.ts.map +1 -1
  33. package/dist/engines/InstanceConfigEngine.js +13 -3
  34. package/dist/engines/InstanceConfigEngine.js.map +1 -1
  35. package/dist/engines/PermissionEngine.d.ts +5 -4
  36. package/dist/engines/PermissionEngine.d.ts.map +1 -1
  37. package/dist/engines/PermissionEngine.js +7 -5
  38. package/dist/engines/PermissionEngine.js.map +1 -1
  39. package/dist/engines/QueryEngine.d.ts +81 -6
  40. package/dist/engines/QueryEngine.d.ts.map +1 -1
  41. package/dist/engines/QueryEngine.js +283 -4
  42. package/dist/engines/QueryEngine.js.map +1 -1
  43. package/dist/engines/UserInfoEngine.d.ts +64 -12
  44. package/dist/engines/UserInfoEngine.d.ts.map +1 -1
  45. package/dist/engines/UserInfoEngine.js +100 -33
  46. package/dist/engines/UserInfoEngine.js.map +1 -1
  47. package/dist/engines/artifacts.d.ts.map +1 -1
  48. package/dist/engines/artifacts.js +1 -0
  49. package/dist/engines/artifacts.js.map +1 -1
  50. package/dist/engines/conversations.d.ts +378 -35
  51. package/dist/engines/conversations.d.ts.map +1 -1
  52. package/dist/engines/conversations.js +736 -79
  53. package/dist/engines/conversations.js.map +1 -1
  54. package/dist/generated/entities/__mj.d.ts +3488 -230
  55. package/dist/generated/entities/__mj.d.ts.map +1 -1
  56. package/dist/generated/entities/__mj.js +2927 -18
  57. package/dist/generated/entities/__mj.js.map +1 -1
  58. package/dist/generated/remote_operations.d.ts +17 -5
  59. package/dist/generated/remote_operations.d.ts.map +1 -1
  60. package/dist/generated/remote_operations.js.map +1 -1
  61. package/dist/index.d.ts +4 -0
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +4 -0
  64. package/dist/index.js.map +1 -1
  65. package/package.json +6 -5
  66. package/readme.md +1 -1
@@ -1,7 +1,7 @@
1
1
  import { BaseEngine, BaseEntityEvent, IMetadataProvider, UserInfo } from "@memberjunction/core";
2
2
  import { ChatMessage } from "@memberjunction/ai";
3
3
  import { Observable } from "rxjs";
4
- import { MJConversationEntity, MJConversationDetailEntity, MJConversationDetailEntityType, MJAIAgentRunEntity, MJAIAgentRunEntityType, MJConversationDetailRatingEntityType, MJConversationDetailArtifactEntityType, MJProjectEntity } from "../generated/entity_subclasses.js";
4
+ import { MJConversationEntity, MJConversationBranchEntity, MJConversationDetailEntity, MJConversationDetailEntityType, MJAIAgentRunEntity, MJAIAgentRunEntityType, MJConversationDetailRatingEntityType, MJConversationDetailArtifactEntityType, MJProjectEntity } from "../generated/entity_subclasses.js";
5
5
  /**
6
6
  * Display info about the user who shared a conversation with the current user,
7
7
  * plus the `PermissionLevel` the grantee was granted. Exposed via
@@ -96,6 +96,11 @@ export interface ConversationWindowSourceRow {
96
96
  * rows by hand for an unfloored assembly need not supply it.
97
97
  */
98
98
  __mj_CreatedAt?: Date | string | null;
99
+ /**
100
+ * Set when a rerun of the row's turn replaced it (in-place Regenerate or Save and resend). Such a
101
+ * row is kept for audit but left out of every window; optional so hand-built rows may omit it.
102
+ */
103
+ ReplacedAt?: Date | string | null;
99
104
  }
100
105
  /**
101
106
  * The Fields list a fresh per-request load must select to satisfy
@@ -103,6 +108,124 @@ export interface ConversationWindowSourceRow {
103
108
  * from the assembler's requirements.
104
109
  */
105
110
  export declare const ConversationWindowFields: readonly (keyof ConversationWindowSourceRow)[];
111
+ /** How a fork started. The values come from the CHECK constraint on ConversationBranch.Kind. */
112
+ export type ForkKind = MJConversationBranchEntity['Kind'];
113
+ /** Every fork kind. */
114
+ export declare const FORK_KINDS: readonly ForkKind[];
115
+ /** One `MJ: Conversation Branches` row (a fork), as the path helpers and the fork summaries need it. */
116
+ export interface ConversationBranchRow {
117
+ ID: string;
118
+ ConversationID: string;
119
+ /** Fork this one started from; null means it started from Main. */
120
+ ParentBranchID: string | null;
121
+ /** Sequence of the last message shared with the parent path; null means none are shared. */
122
+ ForkFromSequence: number | null;
123
+ Name?: string | null;
124
+ /** How the fork started; a row without it counts as 'Fork'. */
125
+ Kind?: ForkKind;
126
+ /** The edited message (Edit) or the replaced answer (Regenerate); null otherwise. */
127
+ SourceDetailID?: string | null;
128
+ /** The person who started the fork. */
129
+ UserID?: string;
130
+ /** The name of that person (the view's virtual field). */
131
+ User?: string | null;
132
+ __mj_CreatedAt?: Date | string;
133
+ }
134
+ /** Longest branch chain the path predicate will build. */
135
+ export declare const MAX_BRANCH_DEPTH = 32;
136
+ /** The Fields a fresh load of fork rows selects. */
137
+ export declare const ConversationBranchFields: readonly (keyof ConversationBranchRow)[];
138
+ /**
139
+ * What {@link ConversationEngine.CreateFork} needs. A null ForkFromSequence starts before the first message.
140
+ * ParentBranchID must be the branch that owns the row at ForkFromSequence (null for a Main row); the
141
+ * fork-point helpers ({@link ConversationEngine.ForkPointFrom} and the others) produce that.
142
+ */
143
+ export interface CreateForkInput {
144
+ ConversationID: string;
145
+ Kind: ForkKind;
146
+ ParentBranchID: string | null;
147
+ ForkFromSequence: number | null;
148
+ SourceDetailID?: string | null;
149
+ Name?: string | null;
150
+ }
151
+ /** Where a new fork starts: the parent path (null is Main) and the Sequence of the last shared message. */
152
+ export interface ForkPoint {
153
+ readonly ParentBranchID: string | null;
154
+ readonly ForkFromSequence: number | null;
155
+ }
156
+ /** A person or an agent who wrote in a fork. */
157
+ export interface ForkParticipant {
158
+ readonly Kind: 'User' | 'Agent';
159
+ readonly ID: string;
160
+ readonly Name: string | null;
161
+ }
162
+ /** A detail row as the fork summaries read it: a fork's own row, or an anchor row. */
163
+ export interface ForkSummaryRow {
164
+ ID: MJConversationDetailEntity['ID'];
165
+ BranchID: MJConversationDetailEntity['BranchID'];
166
+ Sequence: MJConversationDetailEntity['Sequence'];
167
+ Role: MJConversationDetailEntity['Role'] | null;
168
+ Message: MJConversationDetailEntity['Message'] | null;
169
+ UserID: MJConversationDetailEntity['UserID'];
170
+ AgentID: MJConversationDetailEntity['AgentID'];
171
+ User?: MJConversationDetailEntity['User'];
172
+ Agent?: MJConversationDetailEntity['Agent'];
173
+ HiddenToUser?: MJConversationDetailEntity['HiddenToUser'] | null;
174
+ /** A Date on an entity, an ISO string on a 'simple' RunView row. */
175
+ __mj_CreatedAt: MJConversationDetailEntity['__mj_CreatedAt'] | string;
176
+ }
177
+ /** The Fields the fork-summary reads select. */
178
+ export declare const ForkSummaryRowFields: readonly (keyof ForkSummaryRow)[];
179
+ /** Most participants a fork summary lists. */
180
+ export declare const MAX_FORK_PARTICIPANTS = 3;
181
+ /** Where a message is: its branch (null is Main) and its Sequence. */
182
+ export interface ForkMessagePosition {
183
+ readonly BranchID: string | null;
184
+ readonly Sequence: number;
185
+ }
186
+ /** What the UI shows for one fork: its chip, its header and its row in the forks list. */
187
+ export interface ForkSummary {
188
+ readonly Branch: ConversationBranchRow;
189
+ readonly Kind: ForkKind;
190
+ readonly DisplayName: string;
191
+ /** The fork's own visible rows. */
192
+ readonly MessageCount: number;
193
+ /** Distinct agents and people of the own rows, in order of first appearance, at most {@link MAX_FORK_PARTICIPANTS}. */
194
+ readonly Participants: ReadonlyArray<ForkParticipant>;
195
+ /** Every person who wrote an own User row. */
196
+ readonly AuthorUserIDs: ReadonlyArray<string>;
197
+ /** The newest own row's time, else the fork's creation time. */
198
+ readonly LastActivityAt: Date;
199
+ readonly LastMessagePreview: string | null;
200
+ readonly LastMessageAuthorName: string | null;
201
+ /** The message the chip shows under: SourceDetailID, else the anchor. */
202
+ readonly PlacementDetailID: string | null;
203
+ /** The branch and Sequence of the placement message; null when its row is not read. */
204
+ readonly PlacementPosition?: ForkMessagePosition | null;
205
+ /**
206
+ * The row the fork inherits up to: the parent fork's own row (a Main row when ParentBranchID
207
+ * is null) with Sequence = ForkFromSequence. Null when there is no such row.
208
+ */
209
+ readonly AnchorDetailID: string | null;
210
+ readonly AnchorAuthorName: string | null;
211
+ readonly AnchorAt: Date | null;
212
+ /**
213
+ * The author of the fork's source message (SourceDetailID: the replaced, edited or regenerated
214
+ * message): the agent of an agent row, else the person. Null with no source or when its row is not read.
215
+ */
216
+ readonly SourceAuthorName?: string | null;
217
+ readonly StartedByUserID: string | null;
218
+ readonly StartedByName: string | null;
219
+ readonly ParentBranchID: string | null;
220
+ }
221
+ /** The rows one reader may see: a conversation plus the branch whose path is active. */
222
+ export interface ConversationScope {
223
+ readonly ConversationID: string;
224
+ /** null = trunk */
225
+ readonly BranchID: string | null;
226
+ /** The conversation's branch rows, loaded once. Empty on the trunk. */
227
+ readonly Branches: ReadonlyArray<ConversationBranchRow>;
228
+ }
106
229
  export interface SharedByInfo {
107
230
  /** Grantor user ID. Null when the share predates the `SharedByUserID` column. */
108
231
  UserID: string | null;
@@ -224,6 +347,8 @@ export interface LoadDetailWindowParams {
224
347
  PageSize?: number;
225
348
  /** Raw rows to pull per attempt. Default `PageSize * 3`. */
226
349
  RawOverread?: number;
350
+ /** The branch whose path to page; null or omitted is the trunk. */
351
+ BranchID?: string | null;
227
352
  }
228
353
  /**
229
354
  * One page of a conversation's transcript plus the peripheral data its rows need.
@@ -264,6 +389,21 @@ export interface DetailWindowLoadResult {
264
389
  */
265
390
  Failed: boolean;
266
391
  }
392
+ interface DetailAgentRunCandidate {
393
+ ID?: string | null;
394
+ ParentRunID?: string | null;
395
+ ContinuationDepth?: number | null;
396
+ StartedAt?: Date | string | null;
397
+ __mj_CreatedAt?: Date | string | null;
398
+ }
399
+ /**
400
+ * Returns true when `candidate` should replace `existing` as the representative agent run
401
+ * for a single `ConversationDetailID`. Lower tier wins (primary root run beats continuation
402
+ * synthesis run, which beats child sub-agent run); within the same tier, a strictly newer run
403
+ * wins (so user retries of a message replace the earlier run while DESC-ordered queries keep
404
+ * the first row when timestamps are tied or omitted in test fixtures).
405
+ */
406
+ export declare function ShouldReplaceDetailAgentRun(existing: DetailAgentRunCandidate | undefined, candidate: DetailAgentRunCandidate): boolean;
267
407
  /**
268
408
  * The row filter that decides which folders a user may see: SHARED ones (no owner)
269
409
  * plus their OWN.
@@ -485,6 +625,14 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
485
625
  * @returns true if saved successfully
486
626
  */
487
627
  MoveConversationToProject(conversationId: string, projectId: string | null, contextUser: UserInfo): Promise<boolean>;
628
+ /**
629
+ * Creates a fork (an `MJ: Conversation Branches` row) started by `contextUser`. A fork before the
630
+ * first message shares nothing, so its parent is always Main. Never reads or writes the
631
+ * conversation row. Write access is the branch entity's rule (owner, or an Edit/Owner share).
632
+ * The server refuses it unless the person holds the `Conversations: Fork` authorization.
633
+ * @throws when the fork cannot be saved; the message carries the save result
634
+ */
635
+ CreateFork(input: CreateForkInput, contextUser: UserInfo): Promise<MJConversationBranchEntity>;
488
636
  /**
489
637
  * Reparents a folder (project) under another folder, or to the top level when
490
638
  * parentId is null. Callers are responsible for preventing cycles (don't pass a
@@ -640,26 +788,34 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
640
788
  */
641
789
  private saveMultipleConversations;
642
790
  private applyBulkUpdate;
643
- /**
644
- * Loads conversation details (messages) for a specific conversation.
645
- * Results are cached for instant retrieval on subsequent calls.
646
- *
647
- * @param conversationId - The conversation to load details for
648
- * @param contextUser - The current user context
649
- * @param forceRefresh - If true, reloads even if cached
650
- * @returns Array of conversation detail entities
651
- */
652
791
  /**
653
792
  * Loads conversation details using the efficient GetConversationComplete query
654
793
  * which returns messages, agent runs, artifacts, ratings, and user avatars in one round-trip.
655
- * Results are cached for instant retrieval on subsequent calls.
794
+ * The cache holds every row of the conversation, on every branch path; a scope limits
795
+ * only what this call returns.
656
796
  *
657
797
  * @param conversationId - The conversation to load details for
658
798
  * @param contextUser - The current user context
659
799
  * @param forceRefresh - If true, reloads even if cached
660
- * @returns The full cache entry with all peripheral data
800
+ * @param scope - When given, the returned entry holds only the rows in this scope
801
+ * (see {@link scopedEntry}); when omitted, every row of the conversation
802
+ * @returns The cache entry with all peripheral data, limited to the scope when one is given
803
+ * @throws when the scope belongs to another conversation
661
804
  */
662
- LoadConversationDetails(conversationId: string, contextUser: UserInfo, forceRefresh?: boolean): Promise<ConversationDetailCache>;
805
+ LoadConversationDetails(conversationId: string, contextUser: UserInfo, forceRefresh?: boolean, scope?: ConversationScope): Promise<ConversationDetailCache>;
806
+ /**
807
+ * Throws when a scope is given and belongs to another conversation.
808
+ * @throws when the scope belongs to another conversation
809
+ */
810
+ private static assertScopeOf;
811
+ /**
812
+ * A cache entry limited to a scope: a copy whose `Details` hold only the rows in the scope,
813
+ * and whose `RawData` holds the raw rows of those details, both in their cached order. The
814
+ * peripheral maps are the cached ones, shared. The entry itself when no scope is given. The
815
+ * cached entry is never changed. Callers check the scope's conversation first
816
+ * ({@link assertScopeOf}).
817
+ */
818
+ private static scopedEntry;
663
819
  /**
664
820
  * Loads ONE page of a conversation's transcript — the chat area's windowed history read.
665
821
  *
@@ -674,19 +830,25 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
674
830
  * a partial entry there would silently starve the agent of everything before the summary
675
831
  * boundary, with no error. Use a separate partial cache if incremental caching is needed.
676
832
  *
677
- * Does not throw for a read that FAILS — a failed load returns an empty window flagged
678
- * {@link DetailWindowLoadResult.Failed} so the caller can leave its paging state intact
679
- * rather than mistaking the failure for the start of the conversation.
833
+ * Every detail read is limited to the path of `BranchID` (the trunk when omitted).
834
+ * Replaced rows (`ReplacedAt` set) are never read.
680
835
  *
681
- * It is not, however, exception-proof: there is no `try/catch` here, so a provider that
682
- * REJECTS rather than returning `Success: false` propagates out to the caller. That path
683
- * is left deliberately — it degrades better than the handled one, because an exception
684
- * skips the cursor write entirely and the caller's paging state survives untouched.
836
+ * Does not throw for a read that FAILS — a failed branch-path read, like a failed page
837
+ * read, returns an empty window flagged {@link DetailWindowLoadResult.Failed} so the
838
+ * caller can leave its paging state intact rather than mistaking the failure for the
839
+ * start of the conversation. A failed branch-path read never falls back to the trunk.
840
+ *
841
+ * It is not, however, exception-proof: the detail reads have no `try/catch`, so a
842
+ * provider that REJECTS rather than returning `Success: false` propagates out to the
843
+ * caller. That path is left deliberately — it degrades better than the handled one,
844
+ * because an exception skips the cursor write entirely and the caller's paging state
845
+ * survives untouched.
685
846
  *
686
847
  * ### Round-trip profile — the counterweight to the payload win
687
848
  *
688
849
  * This trades ONE fat query for several thin ones. Per page:
689
850
  *
851
+ * 0. {@link BranchPathFilterFresh} — one branch read, only when `BranchID` is set
690
852
  * 1. {@link fetchDetailRowsBySequence} — always
691
853
  * 2. {@link expandOldestSession} — only when the oldest row is session-stamped
692
854
  * 3. {@link hasOlderDetails} — always, in parallel with (4)
@@ -708,10 +870,17 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
708
870
  * over more content — and unlike first paint, a reader who has scrolled up has already
709
871
  * committed to reading back. If paging up ever feels slow, that is the number to raise.
710
872
  *
711
- * @param params - Conversation, optional `Sequence` bound, and page sizing
873
+ * @param params - Conversation, optional branch, optional `Sequence` bound, and page sizing
712
874
  * @param contextUser - The requesting user (entity RLS applies)
713
875
  */
714
876
  LoadDetailWindow(params: LoadDetailWindowParams, contextUser: UserInfo): Promise<DetailWindowLoadResult>;
877
+ /**
878
+ * The `ExtraFilter` predicate for the window's branch path.
879
+ *
880
+ * @returns The predicate, or null when the branch rows could not be read or the branch
881
+ * path could not be built.
882
+ */
883
+ private resolveWindowPathFilter;
715
884
  /**
716
885
  * Reads the newest `maxRows` detail rows below an optional `Sequence` bound and returns
717
886
  * them in CHRONOLOGICAL order.
@@ -719,6 +888,7 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
719
888
  * The query is `Sequence DESC` because the interesting end of a transcript is the tail;
720
889
  * the reversal happens here so every caller downstream sees oldest-to-newest.
721
890
  *
891
+ * @param pathFilter - The branch path predicate from {@link BuildBranchPathFilter}
722
892
  * @returns The page in ascending `Sequence` order, or null when the read failed.
723
893
  */
724
894
  private fetchDetailRowsBySequence;
@@ -730,6 +900,7 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
730
900
  * boundary — without this read the card renders from a partial row set AND the same
731
901
  * session reappears on the next older page.
732
902
  *
903
+ * @param pathFilter - The branch path predicate from {@link BuildBranchPathFilter}
733
904
  * @returns The page with any missing session rows prepended, still chronological.
734
905
  */
735
906
  private expandOldestSession;
@@ -742,6 +913,8 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
742
913
  *
743
914
  * Returns a TRI-STATE rather than a boolean. "No older rows" and "could not find out"
744
915
  * are both `HasOlder: false`, and only the second must leave the caller's cursor alone.
916
+ *
917
+ * @param pathFilter - The branch path predicate from {@link BuildBranchPathFilter}
745
918
  */
746
919
  private hasOlderDetails;
747
920
  /**
@@ -788,13 +961,17 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
788
961
  * - Artifacts/ratings: replaced per-detail (cheap — plain data, not entity objects)
789
962
  * - User avatars: merged (new users added)
790
963
  *
791
- * If no cache exists yet, falls back to a full load.
964
+ * If no cache exists yet, falls back to a full load. The cache holds every row of the
965
+ * conversation; a scope limits only what this call returns.
792
966
  *
793
967
  * @param conversationId - The conversation to refresh
794
968
  * @param contextUser - The current user context
795
- * @returns The updated cache entry
969
+ * @param scope - When given, the returned entry holds only the rows in this scope
970
+ * (see {@link scopedEntry}); when omitted, every row of the conversation
971
+ * @returns The updated cache entry, limited to the scope when one is given
972
+ * @throws when the scope belongs to another conversation
796
973
  */
797
- RefreshConversationDetails(conversationId: string, contextUser: UserInfo): Promise<ConversationDetailCache>;
974
+ RefreshConversationDetails(conversationId: string, contextUser: UserInfo, scope?: ConversationScope): Promise<ConversationDetailCache>;
798
975
  /**
799
976
  * Returns cached conversation details (messages only) without hitting the database.
800
977
  * Returns undefined if no cache entry exists for this conversation.
@@ -841,22 +1018,39 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
841
1018
  * covers everything before it, and cutting into the post-boundary tail would create
842
1019
  * a coverage gap.
843
1020
  * @param options.historyFrom - A history floor: see {@link AssembleContextWindow}.
1021
+ * @param scope - When given, the window is built from the rows in this scope only; when
1022
+ * omitted, from every cached row of the conversation
844
1023
  * @returns Messages in chronological order, each stamped with
845
1024
  * {@link ConversationContextMetadata}
1025
+ * @throws when the scope belongs to another conversation
846
1026
  */
847
1027
  GetAgentContextWindow(conversationId: string, contextUser: UserInfo, options?: {
848
1028
  excludeDetailIds?: string[];
849
1029
  maxTailMessages?: number;
850
1030
  historyFrom?: Date | null;
851
- }): Promise<ConversationContextMessage[]>;
1031
+ }, scope?: ConversationScope): Promise<ConversationContextMessage[]>;
852
1032
  /**
853
- * Loads a conversation's window source rows FRESH — one RunView through the given
1033
+ * Loads a conversation's branch rows FRESH through the given provider (entity RLS applies).
1034
+ * Ordered by creation so alternatives at a fork point list in the order they were made.
1035
+ * @throws when the RunView reports failure
1036
+ */
1037
+ static LoadBranchesFresh(conversationId: string, contextUser: UserInfo, provider?: IMetadataProvider): Promise<ConversationBranchRow[]>;
1038
+ /**
1039
+ * {@link ScopeFilter} of the scope from {@link LoadScope}. The trunk (an empty, whitespace-only
1040
+ * or missing branch id) needs no load and costs no query.
1041
+ * @throws When the branch read fails ({@link LoadBranchesFresh}), when `branchId` is not
1042
+ * among the conversation's branches, or when its chain is longer than {@link MAX_BRANCH_DEPTH}
1043
+ */
1044
+ static BranchPathFilterFresh(conversationId: string, branchId: string | null | undefined, contextUser: UserInfo, provider?: IMetadataProvider): Promise<string>;
1045
+ /**
1046
+ * Loads the window source rows on a conversation's branch path FRESH — through the given
854
1047
  * provider with the contextUser (entity RLS applies), never touching this engine's
855
- * process-global detail cache. The single source of the fresh-load query shape
856
- * (entity name, filter, order, fields) for every server-side caller: the agent
857
- * resolver's history loader and the cross-turn compaction pass both consume this,
1048
+ * process-global detail cache. The trunk costs one RunView; a branch costs two (its branch
1049
+ * rows via {@link BranchPathFilterFresh}, then the path's rows). The single source of the
1050
+ * fresh-load query shape (entity name, filter, order, fields) for every server-side
1051
+ * caller: the agent resolver's history loader and the cross-turn compaction pass both consume this,
858
1052
  * so the two can never drift apart. THROWS on load failure — servers must fail
859
- * loudly rather than proceed against an empty history.
1053
+ * loudly rather than proceed against an empty history. Replaced rows never leave the database.
860
1054
  *
861
1055
  * @param conversationId - The conversation whose detail rows to load
862
1056
  * @param contextUser - The requesting user (entity RLS is applied under this user)
@@ -864,11 +1058,14 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
864
1058
  * @param historyFrom - Optional history floor: only rows written at or after it are loaded,
865
1059
  * so nothing before it leaves the database. Pair it with the same `historyFrom` on
866
1060
  * {@link AssembleContextWindow}, which also drops the summary of earlier messages.
867
- * @returns The conversation's rows in Sequence order, shaped for {@link AssembleContextWindow}
868
- * @throws When the underlying RunView reports failure (never returns a silent empty set),
869
- * or when `historyFrom` is an invalid date
1061
+ * @param branchId - The branch whose path to load; null or omitted reads the trunk.
1062
+ * @returns The rows on the branch's path (the trunk when no branch) in Sequence order,
1063
+ * shaped for {@link AssembleContextWindow}
1064
+ * @throws When a RunView reports failure (never returns a silent empty set), when
1065
+ * `historyFrom` is an invalid date, when `branchId` is not among the conversation's
1066
+ * branches, or when its chain is longer than {@link MAX_BRANCH_DEPTH}
870
1067
  */
871
- static LoadWindowRowsFresh(conversationId: string, contextUser: UserInfo, provider?: IMetadataProvider, historyFrom?: Date | null): Promise<ConversationWindowSourceRow[]>;
1068
+ static LoadWindowRowsFresh(conversationId: string, contextUser: UserInfo, provider?: IMetadataProvider, historyFrom?: Date | null, branchId?: string | null): Promise<ConversationWindowSourceRow[]>;
872
1069
  /**
873
1070
  * Pure window assembly over already-loaded rows: exclude → sort by Sequence →
874
1071
  * summary-boundary fold → tail cap. Extracted from {@link GetAgentContextWindow} so
@@ -887,6 +1084,8 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
887
1084
  * floor none is used, and the window is the most recent `maxTailMessages` rows at or
888
1085
  * after the floor. A row whose `__mj_CreatedAt` is missing or unreadable can't be shown
889
1086
  * to be after the floor, so it is dropped too.
1087
+ *
1088
+ * Replaced rows (`ReplacedAt` set) are always left out.
890
1089
  */
891
1090
  static AssembleContextWindow(details: ReadonlyArray<ConversationWindowSourceRow>, options?: {
892
1091
  excludeDetailIds?: string[];
@@ -904,6 +1103,147 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
904
1103
  * down must fail rather than silently read everything.
905
1104
  */
906
1105
  static HistoryFromFilter(historyFrom: Date, column?: string): string;
1106
+ /**
1107
+ * `filter` limited to rows no rerun replaced (`ReplacedAt` is NULL). A replaced row is an answer a
1108
+ * rerun of its turn superseded: it is kept, but never shown and never sent to an agent. Every reader
1109
+ * of conversation rows for display or for agent context applies this.
1110
+ */
1111
+ static LiveRowsFilter(filter: string): string;
1112
+ /** True when a rerun of its turn replaced the row (`ReplacedAt` is set). */
1113
+ static IsReplacedRow(row: {
1114
+ ReplacedAt?: Date | string | null;
1115
+ }): boolean;
1116
+ /**
1117
+ * The branch and its ancestors, current branch first. Empty for the trunk.
1118
+ * @throws when the branch is not in `branches`, or the chain is longer than
1119
+ * {@link MAX_BRANCH_DEPTH} (which also catches a cycle).
1120
+ */
1121
+ static BuildBranchChain(branches: ReadonlyArray<ConversationBranchRow>, branchId: string | null | undefined): ConversationBranchRow[];
1122
+ /**
1123
+ * The `ExtraFilter` predicate for a branch path: the branch's own rows, plus each
1124
+ * ancestor's rows up to that ancestor's fork sequence, plus the trunk up to the last
1125
+ * fork sequence. A null branch is the trunk alone.
1126
+ *
1127
+ * Column names are bracketed, so the predicate also works inside a subquery on
1128
+ * `vwConversationDetails` from another entity's filter: the PostgreSQL provider converts
1129
+ * bracketed names itself but quotes bare names only when they are fields of the outer entity.
1130
+ */
1131
+ static BuildBranchPathFilter(conversationId: string, branchId: string | null | undefined, branches: ReadonlyArray<ConversationBranchRow>): string;
1132
+ /** True when a row is on the path described by a chain from {@link BuildBranchChain}. */
1133
+ static IsRowOnBranchPath(row: {
1134
+ BranchID?: string | null;
1135
+ Sequence: number;
1136
+ }, chain: ReadonlyArray<ConversationBranchRow>): boolean;
1137
+ /** In-memory counterpart of {@link BuildBranchPathFilter} for rows already loaded. */
1138
+ static FilterRowsToBranchPath<T extends {
1139
+ BranchID?: string | null;
1140
+ Sequence: number;
1141
+ }>(rows: ReadonlyArray<T>, branchId: string | null | undefined, branches: ReadonlyArray<ConversationBranchRow>): T[];
1142
+ /** A scope for the trunk: no branch rows are needed. */
1143
+ static TrunkScope(conversationId: string): ConversationScope;
1144
+ /**
1145
+ * Builds a scope for an explicit branch. An empty, whitespace-only or missing branch id is the
1146
+ * trunk. A branch id loads the conversation's branch rows once and must name one of them
1147
+ * (compared without regard to case); the scope's `BranchID` is that row's `ID`.
1148
+ * @throws when the branch rows cannot be read or the branch is not one of them.
1149
+ */
1150
+ static LoadScope(conversationId: string, branchId: string | null | undefined, contextUser: UserInfo, provider?: IMetadataProvider): Promise<ConversationScope>;
1151
+ /**
1152
+ * Predicate over MJ: Conversation Details for the rows in scope. Same text as
1153
+ * {@link BuildBranchPathFilter}.
1154
+ * @throws when the scope's `BranchID`, or the parent of a branch on its chain, is not in the
1155
+ * scope's `Branches`, or when the chain is longer than {@link MAX_BRANCH_DEPTH}.
1156
+ */
1157
+ static ScopeFilter(scope: ConversationScope): string;
1158
+ /**
1159
+ * `[column] IN (SELECT ID FROM [__mj].[vwConversationDetails] WHERE <ScopeFilter>)` for entities
1160
+ * anchored by a conversation detail id column.
1161
+ */
1162
+ static ScopeSubquery(scope: ConversationScope, column?: string): string;
1163
+ /** In-memory form of {@link ScopeFilter} for one row already loaded. */
1164
+ static IsInScope(scope: ConversationScope, row: {
1165
+ BranchID?: string | null;
1166
+ Sequence: number;
1167
+ }): boolean;
1168
+ /** In-memory form of {@link ScopeFilter} for rows already loaded. Keeps their order. */
1169
+ static FilterToScope<T extends {
1170
+ BranchID?: string | null;
1171
+ Sequence: number;
1172
+ }>(scope: ConversationScope, rows: readonly T[]): T[];
1173
+ /**
1174
+ * Filter over MJ: Artifact Versions for the versions of one artifact visible in scope: versions
1175
+ * linked (in any direction) from a message on the path, and versions with no conversation link
1176
+ * at all.
1177
+ */
1178
+ static ArtifactVersionScopeFilter(scope: ConversationScope, artifactId: string): string;
1179
+ /** The kind of a fork row; a missing or unknown value is 'Fork'. */
1180
+ static NormalizeForkKind(kind: string | null | undefined): ForkKind;
1181
+ /**
1182
+ * Plain text of a stored message: each `@{...}` mention becomes `@<name>`, or is dropped when it
1183
+ * has no name, and runs of whitespace become one space. Null when nothing is left.
1184
+ */
1185
+ static ForkPlainText(message: string | null | undefined): string | null;
1186
+ /** The first words of a message, for a fork with no name: at most 6 words and 40 characters, '…' when cut. */
1187
+ static ForkFirstWords(message: string | null | undefined): string | null;
1188
+ /** A one-line preview of a message: at most 120 characters, '…' when cut. */
1189
+ static ForkPreviewText(message: string | null | undefined): string | null;
1190
+ /**
1191
+ * The label of a fork: its name, else a default from its kind — Fork: the first words of its first
1192
+ * message, else "Fork"; Edit: "Edited version"; Regenerate: "Other answer".
1193
+ */
1194
+ static ForkDisplayName(branch: Pick<ConversationBranchRow, 'Name' | 'Kind'>, firstOwnMessage: string | null): string;
1195
+ /** The fork point at a message: the new fork starts after the message itself, on its branch. */
1196
+ static ForkPointFrom(message: {
1197
+ BranchID?: string | null;
1198
+ Sequence: number;
1199
+ }): ForkPoint;
1200
+ /**
1201
+ * Edit of a message, or Fork from here on it (the fork replaces it): the new fork starts at the row
1202
+ * before it on its path (both null when it is the first message). Undefined when that row is not
1203
+ * known: the message is not in `pathRows`, or it is the first loaded row while older rows exist
1204
+ * (`hasMoreAbove`).
1205
+ */
1206
+ static EditForkPoint(message: {
1207
+ ID: string;
1208
+ Sequence: number;
1209
+ }, pathRows: ReadonlyArray<{
1210
+ ID: string;
1211
+ Sequence: number;
1212
+ BranchID?: string | null;
1213
+ }>, hasMoreAbove?: boolean): ForkPoint | undefined;
1214
+ /** Regenerate of an answer: the new fork starts at the user message the answer replied to. */
1215
+ static RegenerateForkPoint(userMessage: {
1216
+ BranchID?: string | null;
1217
+ Sequence: number;
1218
+ }): ForkPoint;
1219
+ /**
1220
+ * Predicate over MJ: Conversation Details for the anchor rows of the given forks (one clause per
1221
+ * distinct fork point); null when no fork has a fork point.
1222
+ */
1223
+ static AnchorRowsFilter(conversationId: string, branches: ReadonlyArray<ConversationBranchRow>): string | null;
1224
+ /**
1225
+ * Predicate over MJ: Conversation Details for the source rows of the given forks (each distinct
1226
+ * SourceDetailID once); null when no fork has a source.
1227
+ */
1228
+ static SourceRowsFilter(conversationId: string, branches: ReadonlyArray<ConversationBranchRow>): string | null;
1229
+ /**
1230
+ * One summary per fork, in the order of `branches`. Pure: `ownRows` are the conversation's rows
1231
+ * with a BranchID, `anchorRows` the rows {@link AnchorRowsFilter} selects, `sourceRows` the rows
1232
+ * {@link SourceRowsFilter} selects.
1233
+ */
1234
+ static BuildForkSummaries(branches: ReadonlyArray<ConversationBranchRow>, ownRows: ReadonlyArray<ForkSummaryRow>, anchorRows: ReadonlyArray<ForkSummaryRow>, sourceRows?: ReadonlyArray<ForkSummaryRow>): ForkSummary[];
1235
+ /**
1236
+ * Loads the fork summaries of a conversation FRESH (entity RLS applies): the fork rows (unless
1237
+ * given), then the forks' own rows, their anchor rows and their source rows in one RunViews batch.
1238
+ * @throws when a read fails
1239
+ */
1240
+ static LoadForkSummaries(conversationId: string, contextUser: UserInfo, provider?: IMetadataProvider, branches?: ReadonlyArray<ConversationBranchRow>): Promise<ForkSummary[]>;
1241
+ /** Distinct agents and people of rows in order, at most {@link MAX_FORK_PARTICIPANTS}. */
1242
+ private static forkParticipants;
1243
+ /** The agent's name for an agent row, else the person's name; null when the row names neither. */
1244
+ private static rowAuthorName;
1245
+ /** A Date from a stored timestamp; null when missing or unreadable. */
1246
+ private static toForkDate;
907
1247
  /** True when a row's timestamp is at or after the floor; false when it is missing or unreadable. */
908
1248
  private static isAtOrAfter;
909
1249
  /**
@@ -954,7 +1294,9 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
954
1294
  */
955
1295
  GetAgentRunsMap(conversationId: string): Map<string, MJAIAgentRunEntity>;
956
1296
  /**
957
- * Adds or updates an agent run in the cache for a specific detail.
1297
+ * Adds or updates an agent run in the cache for a specific detail, honoring
1298
+ * {@link ShouldReplaceDetailAgentRun} so a continuation/sub-agent run never overwrites
1299
+ * the primary root orchestrating run for that detail.
958
1300
  *
959
1301
  * @param conversationId - The conversation ID
960
1302
  * @param detailId - The detail ID the agent run is associated with
@@ -1088,4 +1430,5 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
1088
1430
  */
1089
1431
  private sortConversations;
1090
1432
  }
1433
+ export {};
1091
1434
  //# sourceMappingURL=conversations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/engines/conversations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/engines/conversations.ts"],"names":[],"mappings":"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"}