@memberjunction/core-entities 6.2.0-edge.2 → 6.2.0-edge.4

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 (85) 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 +16 -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/FormScope/FormContributionClaims.d.ts +20 -0
  11. package/dist/custom/FormScope/FormContributionClaims.d.ts.map +1 -0
  12. package/dist/custom/FormScope/FormContributionClaims.js +33 -0
  13. package/dist/custom/FormScope/FormContributionClaims.js.map +1 -0
  14. package/dist/custom/FormScope/FormContributionLifecycle.d.ts +43 -0
  15. package/dist/custom/FormScope/FormContributionLifecycle.d.ts.map +1 -0
  16. package/dist/custom/FormScope/FormContributionLifecycle.js +47 -0
  17. package/dist/custom/FormScope/FormContributionLifecycle.js.map +1 -0
  18. package/dist/custom/FormScope/FormContributionRow.d.ts +40 -0
  19. package/dist/custom/FormScope/FormContributionRow.d.ts.map +1 -0
  20. package/dist/custom/FormScope/FormContributionRow.js +84 -0
  21. package/dist/custom/FormScope/FormContributionRow.js.map +1 -0
  22. package/dist/custom/FormScope/FormPanelHides.d.ts +14 -0
  23. package/dist/custom/FormScope/FormPanelHides.d.ts.map +1 -0
  24. package/dist/custom/FormScope/FormPanelHides.js +32 -0
  25. package/dist/custom/FormScope/FormPanelHides.js.map +1 -0
  26. package/dist/custom/FormScope/FormScopeRules.d.ts +220 -0
  27. package/dist/custom/FormScope/FormScopeRules.d.ts.map +1 -0
  28. package/dist/custom/FormScope/FormScopeRules.js +295 -0
  29. package/dist/custom/FormScope/FormScopeRules.js.map +1 -0
  30. package/dist/custom/MJConversationBranchEntityExtended.d.ts +30 -0
  31. package/dist/custom/MJConversationBranchEntityExtended.d.ts.map +1 -0
  32. package/dist/custom/MJConversationBranchEntityExtended.js +120 -0
  33. package/dist/custom/MJConversationBranchEntityExtended.js.map +1 -0
  34. package/dist/custom/MJConversationDetailEntityExtended.d.ts.map +1 -1
  35. package/dist/custom/MJConversationDetailEntityExtended.js +15 -25
  36. package/dist/custom/MJConversationDetailEntityExtended.js.map +1 -1
  37. package/dist/custom/MJDashboardEntityExtended.d.ts.map +1 -1
  38. package/dist/custom/MJDashboardEntityExtended.js +3 -0
  39. package/dist/custom/MJDashboardEntityExtended.js.map +1 -1
  40. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.d.ts.map +1 -1
  41. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js +14 -13
  42. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js.map +1 -1
  43. package/dist/engines/FileStorageEngine.d.ts +40 -0
  44. package/dist/engines/FileStorageEngine.d.ts.map +1 -1
  45. package/dist/engines/FileStorageEngine.js +49 -0
  46. package/dist/engines/FileStorageEngine.js.map +1 -1
  47. package/dist/engines/IdentityClaimEngine.d.ts +15 -2
  48. package/dist/engines/IdentityClaimEngine.d.ts.map +1 -1
  49. package/dist/engines/IdentityClaimEngine.js.map +1 -1
  50. package/dist/engines/QueryEngine.d.ts.map +1 -1
  51. package/dist/engines/QueryEngine.js +2 -1
  52. package/dist/engines/QueryEngine.js.map +1 -1
  53. package/dist/engines/UserInfoEngine.d.ts +16 -10
  54. package/dist/engines/UserInfoEngine.d.ts.map +1 -1
  55. package/dist/engines/UserInfoEngine.js +35 -25
  56. package/dist/engines/UserInfoEngine.js.map +1 -1
  57. package/dist/engines/artifacts.d.ts.map +1 -1
  58. package/dist/engines/artifacts.js +1 -0
  59. package/dist/engines/artifacts.js.map +1 -1
  60. package/dist/engines/component-metadata.d.ts +3 -1
  61. package/dist/engines/component-metadata.d.ts.map +1 -1
  62. package/dist/engines/component-metadata.js +12 -5
  63. package/dist/engines/component-metadata.js.map +1 -1
  64. package/dist/engines/conversations.d.ts +359 -34
  65. package/dist/engines/conversations.d.ts.map +1 -1
  66. package/dist/engines/conversations.js +611 -57
  67. package/dist/engines/conversations.js.map +1 -1
  68. package/dist/engines/interactive-forms.d.ts +128 -9
  69. package/dist/engines/interactive-forms.d.ts.map +1 -1
  70. package/dist/engines/interactive-forms.js +268 -14
  71. package/dist/engines/interactive-forms.js.map +1 -1
  72. package/dist/generated/entities/__mj.d.ts +6038 -393
  73. package/dist/generated/entities/__mj.d.ts.map +1 -1
  74. package/dist/generated/entities/__mj.js +26601 -20397
  75. package/dist/generated/entities/__mj.js.map +1 -1
  76. package/dist/generated/remote_operations.d.ts +262 -0
  77. package/dist/generated/remote_operations.d.ts.map +1 -1
  78. package/dist/generated/remote_operations.js +126 -0
  79. package/dist/generated/remote_operations.js.map +1 -1
  80. package/dist/index.d.ts +8 -0
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +8 -0
  83. package/dist/index.js.map +1 -1
  84. package/package.json +5 -5
  85. 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.
@@ -485,6 +610,14 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
485
610
  * @returns true if saved successfully
486
611
  */
487
612
  MoveConversationToProject(conversationId: string, projectId: string | null, contextUser: UserInfo): Promise<boolean>;
613
+ /**
614
+ * Creates a fork (an `MJ: Conversation Branches` row) started by `contextUser`. A fork before the
615
+ * first message shares nothing, so its parent is always Main. Never reads or writes the
616
+ * conversation row. Write access is the branch entity's rule (owner, or an Edit/Owner share).
617
+ * The server refuses it unless the person holds the `Conversations: Fork` authorization.
618
+ * @throws when the fork cannot be saved; the message carries the save result
619
+ */
620
+ CreateFork(input: CreateForkInput, contextUser: UserInfo): Promise<MJConversationBranchEntity>;
488
621
  /**
489
622
  * Reparents a folder (project) under another folder, or to the top level when
490
623
  * parentId is null. Callers are responsible for preventing cycles (don't pass a
@@ -640,26 +773,34 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
640
773
  */
641
774
  private saveMultipleConversations;
642
775
  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
776
  /**
653
777
  * Loads conversation details using the efficient GetConversationComplete query
654
778
  * which returns messages, agent runs, artifacts, ratings, and user avatars in one round-trip.
655
- * Results are cached for instant retrieval on subsequent calls.
779
+ * The cache holds every row of the conversation, on every branch path; a scope limits
780
+ * only what this call returns.
656
781
  *
657
782
  * @param conversationId - The conversation to load details for
658
783
  * @param contextUser - The current user context
659
784
  * @param forceRefresh - If true, reloads even if cached
660
- * @returns The full cache entry with all peripheral data
785
+ * @param scope - When given, the returned entry holds only the rows in this scope
786
+ * (see {@link scopedEntry}); when omitted, every row of the conversation
787
+ * @returns The cache entry with all peripheral data, limited to the scope when one is given
788
+ * @throws when the scope belongs to another conversation
789
+ */
790
+ LoadConversationDetails(conversationId: string, contextUser: UserInfo, forceRefresh?: boolean, scope?: ConversationScope): Promise<ConversationDetailCache>;
791
+ /**
792
+ * Throws when a scope is given and belongs to another conversation.
793
+ * @throws when the scope belongs to another conversation
661
794
  */
662
- LoadConversationDetails(conversationId: string, contextUser: UserInfo, forceRefresh?: boolean): Promise<ConversationDetailCache>;
795
+ private static assertScopeOf;
796
+ /**
797
+ * A cache entry limited to a scope: a copy whose `Details` hold only the rows in the scope,
798
+ * and whose `RawData` holds the raw rows of those details, both in their cached order. The
799
+ * peripheral maps are the cached ones, shared. The entry itself when no scope is given. The
800
+ * cached entry is never changed. Callers check the scope's conversation first
801
+ * ({@link assertScopeOf}).
802
+ */
803
+ private static scopedEntry;
663
804
  /**
664
805
  * Loads ONE page of a conversation's transcript — the chat area's windowed history read.
665
806
  *
@@ -674,19 +815,25 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
674
815
  * a partial entry there would silently starve the agent of everything before the summary
675
816
  * boundary, with no error. Use a separate partial cache if incremental caching is needed.
676
817
  *
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.
818
+ * Every detail read is limited to the path of `BranchID` (the trunk when omitted).
819
+ * Replaced rows (`ReplacedAt` set) are never read.
820
+ *
821
+ * Does not throw for a read that FAILS — a failed branch-path read, like a failed page
822
+ * read, returns an empty window flagged {@link DetailWindowLoadResult.Failed} so the
823
+ * caller can leave its paging state intact rather than mistaking the failure for the
824
+ * start of the conversation. A failed branch-path read never falls back to the trunk.
680
825
  *
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.
826
+ * It is not, however, exception-proof: the detail reads have no `try/catch`, so a
827
+ * provider that REJECTS rather than returning `Success: false` propagates out to the
828
+ * caller. That path is left deliberately — it degrades better than the handled one,
829
+ * because an exception skips the cursor write entirely and the caller's paging state
830
+ * survives untouched.
685
831
  *
686
832
  * ### Round-trip profile — the counterweight to the payload win
687
833
  *
688
834
  * This trades ONE fat query for several thin ones. Per page:
689
835
  *
836
+ * 0. {@link BranchPathFilterFresh} — one branch read, only when `BranchID` is set
690
837
  * 1. {@link fetchDetailRowsBySequence} — always
691
838
  * 2. {@link expandOldestSession} — only when the oldest row is session-stamped
692
839
  * 3. {@link hasOlderDetails} — always, in parallel with (4)
@@ -708,10 +855,17 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
708
855
  * over more content — and unlike first paint, a reader who has scrolled up has already
709
856
  * committed to reading back. If paging up ever feels slow, that is the number to raise.
710
857
  *
711
- * @param params - Conversation, optional `Sequence` bound, and page sizing
858
+ * @param params - Conversation, optional branch, optional `Sequence` bound, and page sizing
712
859
  * @param contextUser - The requesting user (entity RLS applies)
713
860
  */
714
861
  LoadDetailWindow(params: LoadDetailWindowParams, contextUser: UserInfo): Promise<DetailWindowLoadResult>;
862
+ /**
863
+ * The `ExtraFilter` predicate for the window's branch path.
864
+ *
865
+ * @returns The predicate, or null when the branch rows could not be read or the branch
866
+ * path could not be built.
867
+ */
868
+ private resolveWindowPathFilter;
715
869
  /**
716
870
  * Reads the newest `maxRows` detail rows below an optional `Sequence` bound and returns
717
871
  * them in CHRONOLOGICAL order.
@@ -719,6 +873,7 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
719
873
  * The query is `Sequence DESC` because the interesting end of a transcript is the tail;
720
874
  * the reversal happens here so every caller downstream sees oldest-to-newest.
721
875
  *
876
+ * @param pathFilter - The branch path predicate from {@link BuildBranchPathFilter}
722
877
  * @returns The page in ascending `Sequence` order, or null when the read failed.
723
878
  */
724
879
  private fetchDetailRowsBySequence;
@@ -730,6 +885,7 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
730
885
  * boundary — without this read the card renders from a partial row set AND the same
731
886
  * session reappears on the next older page.
732
887
  *
888
+ * @param pathFilter - The branch path predicate from {@link BuildBranchPathFilter}
733
889
  * @returns The page with any missing session rows prepended, still chronological.
734
890
  */
735
891
  private expandOldestSession;
@@ -742,6 +898,8 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
742
898
  *
743
899
  * Returns a TRI-STATE rather than a boolean. "No older rows" and "could not find out"
744
900
  * are both `HasOlder: false`, and only the second must leave the caller's cursor alone.
901
+ *
902
+ * @param pathFilter - The branch path predicate from {@link BuildBranchPathFilter}
745
903
  */
746
904
  private hasOlderDetails;
747
905
  /**
@@ -788,13 +946,17 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
788
946
  * - Artifacts/ratings: replaced per-detail (cheap — plain data, not entity objects)
789
947
  * - User avatars: merged (new users added)
790
948
  *
791
- * If no cache exists yet, falls back to a full load.
949
+ * If no cache exists yet, falls back to a full load. The cache holds every row of the
950
+ * conversation; a scope limits only what this call returns.
792
951
  *
793
952
  * @param conversationId - The conversation to refresh
794
953
  * @param contextUser - The current user context
795
- * @returns The updated cache entry
954
+ * @param scope - When given, the returned entry holds only the rows in this scope
955
+ * (see {@link scopedEntry}); when omitted, every row of the conversation
956
+ * @returns The updated cache entry, limited to the scope when one is given
957
+ * @throws when the scope belongs to another conversation
796
958
  */
797
- RefreshConversationDetails(conversationId: string, contextUser: UserInfo): Promise<ConversationDetailCache>;
959
+ RefreshConversationDetails(conversationId: string, contextUser: UserInfo, scope?: ConversationScope): Promise<ConversationDetailCache>;
798
960
  /**
799
961
  * Returns cached conversation details (messages only) without hitting the database.
800
962
  * Returns undefined if no cache entry exists for this conversation.
@@ -841,22 +1003,39 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
841
1003
  * covers everything before it, and cutting into the post-boundary tail would create
842
1004
  * a coverage gap.
843
1005
  * @param options.historyFrom - A history floor: see {@link AssembleContextWindow}.
1006
+ * @param scope - When given, the window is built from the rows in this scope only; when
1007
+ * omitted, from every cached row of the conversation
844
1008
  * @returns Messages in chronological order, each stamped with
845
1009
  * {@link ConversationContextMetadata}
1010
+ * @throws when the scope belongs to another conversation
846
1011
  */
847
1012
  GetAgentContextWindow(conversationId: string, contextUser: UserInfo, options?: {
848
1013
  excludeDetailIds?: string[];
849
1014
  maxTailMessages?: number;
850
1015
  historyFrom?: Date | null;
851
- }): Promise<ConversationContextMessage[]>;
1016
+ }, scope?: ConversationScope): Promise<ConversationContextMessage[]>;
1017
+ /**
1018
+ * Loads a conversation's branch rows FRESH through the given provider (entity RLS applies).
1019
+ * Ordered by creation so alternatives at a fork point list in the order they were made.
1020
+ * @throws when the RunView reports failure
1021
+ */
1022
+ static LoadBranchesFresh(conversationId: string, contextUser: UserInfo, provider?: IMetadataProvider): Promise<ConversationBranchRow[]>;
1023
+ /**
1024
+ * {@link ScopeFilter} of the scope from {@link LoadScope}. The trunk (an empty, whitespace-only
1025
+ * or missing branch id) needs no load and costs no query.
1026
+ * @throws When the branch read fails ({@link LoadBranchesFresh}), when `branchId` is not
1027
+ * among the conversation's branches, or when its chain is longer than {@link MAX_BRANCH_DEPTH}
1028
+ */
1029
+ static BranchPathFilterFresh(conversationId: string, branchId: string | null | undefined, contextUser: UserInfo, provider?: IMetadataProvider): Promise<string>;
852
1030
  /**
853
- * Loads a conversation's window source rows FRESH — one RunView through the given
1031
+ * Loads the window source rows on a conversation's branch path FRESH — through the given
854
1032
  * 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,
1033
+ * process-global detail cache. The trunk costs one RunView; a branch costs two (its branch
1034
+ * rows via {@link BranchPathFilterFresh}, then the path's rows). The single source of the
1035
+ * fresh-load query shape (entity name, filter, order, fields) for every server-side
1036
+ * caller: the agent resolver's history loader and the cross-turn compaction pass both consume this,
858
1037
  * so the two can never drift apart. THROWS on load failure — servers must fail
859
- * loudly rather than proceed against an empty history.
1038
+ * loudly rather than proceed against an empty history. Replaced rows never leave the database.
860
1039
  *
861
1040
  * @param conversationId - The conversation whose detail rows to load
862
1041
  * @param contextUser - The requesting user (entity RLS is applied under this user)
@@ -864,11 +1043,14 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
864
1043
  * @param historyFrom - Optional history floor: only rows written at or after it are loaded,
865
1044
  * so nothing before it leaves the database. Pair it with the same `historyFrom` on
866
1045
  * {@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
1046
+ * @param branchId - The branch whose path to load; null or omitted reads the trunk.
1047
+ * @returns The rows on the branch's path (the trunk when no branch) in Sequence order,
1048
+ * shaped for {@link AssembleContextWindow}
1049
+ * @throws When a RunView reports failure (never returns a silent empty set), when
1050
+ * `historyFrom` is an invalid date, when `branchId` is not among the conversation's
1051
+ * branches, or when its chain is longer than {@link MAX_BRANCH_DEPTH}
870
1052
  */
871
- static LoadWindowRowsFresh(conversationId: string, contextUser: UserInfo, provider?: IMetadataProvider, historyFrom?: Date | null): Promise<ConversationWindowSourceRow[]>;
1053
+ static LoadWindowRowsFresh(conversationId: string, contextUser: UserInfo, provider?: IMetadataProvider, historyFrom?: Date | null, branchId?: string | null): Promise<ConversationWindowSourceRow[]>;
872
1054
  /**
873
1055
  * Pure window assembly over already-loaded rows: exclude → sort by Sequence →
874
1056
  * summary-boundary fold → tail cap. Extracted from {@link GetAgentContextWindow} so
@@ -887,6 +1069,8 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
887
1069
  * floor none is used, and the window is the most recent `maxTailMessages` rows at or
888
1070
  * after the floor. A row whose `__mj_CreatedAt` is missing or unreadable can't be shown
889
1071
  * to be after the floor, so it is dropped too.
1072
+ *
1073
+ * Replaced rows (`ReplacedAt` set) are always left out.
890
1074
  */
891
1075
  static AssembleContextWindow(details: ReadonlyArray<ConversationWindowSourceRow>, options?: {
892
1076
  excludeDetailIds?: string[];
@@ -904,6 +1088,147 @@ export declare class ConversationEngine extends BaseEngine<ConversationEngine> {
904
1088
  * down must fail rather than silently read everything.
905
1089
  */
906
1090
  static HistoryFromFilter(historyFrom: Date, column?: string): string;
1091
+ /**
1092
+ * `filter` limited to rows no rerun replaced (`ReplacedAt` is NULL). A replaced row is an answer a
1093
+ * rerun of its turn superseded: it is kept, but never shown and never sent to an agent. Every reader
1094
+ * of conversation rows for display or for agent context applies this.
1095
+ */
1096
+ static LiveRowsFilter(filter: string): string;
1097
+ /** True when a rerun of its turn replaced the row (`ReplacedAt` is set). */
1098
+ static IsReplacedRow(row: {
1099
+ ReplacedAt?: Date | string | null;
1100
+ }): boolean;
1101
+ /**
1102
+ * The branch and its ancestors, current branch first. Empty for the trunk.
1103
+ * @throws when the branch is not in `branches`, or the chain is longer than
1104
+ * {@link MAX_BRANCH_DEPTH} (which also catches a cycle).
1105
+ */
1106
+ static BuildBranchChain(branches: ReadonlyArray<ConversationBranchRow>, branchId: string | null | undefined): ConversationBranchRow[];
1107
+ /**
1108
+ * The `ExtraFilter` predicate for a branch path: the branch's own rows, plus each
1109
+ * ancestor's rows up to that ancestor's fork sequence, plus the trunk up to the last
1110
+ * fork sequence. A null branch is the trunk alone.
1111
+ *
1112
+ * Column names are bracketed, so the predicate also works inside a subquery on
1113
+ * `vwConversationDetails` from another entity's filter: the PostgreSQL provider converts
1114
+ * bracketed names itself but quotes bare names only when they are fields of the outer entity.
1115
+ */
1116
+ static BuildBranchPathFilter(conversationId: string, branchId: string | null | undefined, branches: ReadonlyArray<ConversationBranchRow>): string;
1117
+ /** True when a row is on the path described by a chain from {@link BuildBranchChain}. */
1118
+ static IsRowOnBranchPath(row: {
1119
+ BranchID?: string | null;
1120
+ Sequence: number;
1121
+ }, chain: ReadonlyArray<ConversationBranchRow>): boolean;
1122
+ /** In-memory counterpart of {@link BuildBranchPathFilter} for rows already loaded. */
1123
+ static FilterRowsToBranchPath<T extends {
1124
+ BranchID?: string | null;
1125
+ Sequence: number;
1126
+ }>(rows: ReadonlyArray<T>, branchId: string | null | undefined, branches: ReadonlyArray<ConversationBranchRow>): T[];
1127
+ /** A scope for the trunk: no branch rows are needed. */
1128
+ static TrunkScope(conversationId: string): ConversationScope;
1129
+ /**
1130
+ * Builds a scope for an explicit branch. An empty, whitespace-only or missing branch id is the
1131
+ * trunk. A branch id loads the conversation's branch rows once and must name one of them
1132
+ * (compared without regard to case); the scope's `BranchID` is that row's `ID`.
1133
+ * @throws when the branch rows cannot be read or the branch is not one of them.
1134
+ */
1135
+ static LoadScope(conversationId: string, branchId: string | null | undefined, contextUser: UserInfo, provider?: IMetadataProvider): Promise<ConversationScope>;
1136
+ /**
1137
+ * Predicate over MJ: Conversation Details for the rows in scope. Same text as
1138
+ * {@link BuildBranchPathFilter}.
1139
+ * @throws when the scope's `BranchID`, or the parent of a branch on its chain, is not in the
1140
+ * scope's `Branches`, or when the chain is longer than {@link MAX_BRANCH_DEPTH}.
1141
+ */
1142
+ static ScopeFilter(scope: ConversationScope): string;
1143
+ /**
1144
+ * `[column] IN (SELECT ID FROM [__mj].[vwConversationDetails] WHERE <ScopeFilter>)` for entities
1145
+ * anchored by a conversation detail id column.
1146
+ */
1147
+ static ScopeSubquery(scope: ConversationScope, column?: string): string;
1148
+ /** In-memory form of {@link ScopeFilter} for one row already loaded. */
1149
+ static IsInScope(scope: ConversationScope, row: {
1150
+ BranchID?: string | null;
1151
+ Sequence: number;
1152
+ }): boolean;
1153
+ /** In-memory form of {@link ScopeFilter} for rows already loaded. Keeps their order. */
1154
+ static FilterToScope<T extends {
1155
+ BranchID?: string | null;
1156
+ Sequence: number;
1157
+ }>(scope: ConversationScope, rows: readonly T[]): T[];
1158
+ /**
1159
+ * Filter over MJ: Artifact Versions for the versions of one artifact visible in scope: versions
1160
+ * linked (in any direction) from a message on the path, and versions with no conversation link
1161
+ * at all.
1162
+ */
1163
+ static ArtifactVersionScopeFilter(scope: ConversationScope, artifactId: string): string;
1164
+ /** The kind of a fork row; a missing or unknown value is 'Fork'. */
1165
+ static NormalizeForkKind(kind: string | null | undefined): ForkKind;
1166
+ /**
1167
+ * Plain text of a stored message: each `@{...}` mention becomes `@<name>`, or is dropped when it
1168
+ * has no name, and runs of whitespace become one space. Null when nothing is left.
1169
+ */
1170
+ static ForkPlainText(message: string | null | undefined): string | null;
1171
+ /** The first words of a message, for a fork with no name: at most 6 words and 40 characters, '…' when cut. */
1172
+ static ForkFirstWords(message: string | null | undefined): string | null;
1173
+ /** A one-line preview of a message: at most 120 characters, '…' when cut. */
1174
+ static ForkPreviewText(message: string | null | undefined): string | null;
1175
+ /**
1176
+ * The label of a fork: its name, else a default from its kind — Fork: the first words of its first
1177
+ * message, else "Fork"; Edit: "Edited version"; Regenerate: "Other answer".
1178
+ */
1179
+ static ForkDisplayName(branch: Pick<ConversationBranchRow, 'Name' | 'Kind'>, firstOwnMessage: string | null): string;
1180
+ /** The fork point at a message: the new fork starts after the message itself, on its branch. */
1181
+ static ForkPointFrom(message: {
1182
+ BranchID?: string | null;
1183
+ Sequence: number;
1184
+ }): ForkPoint;
1185
+ /**
1186
+ * Edit of a message, or Fork from here on it (the fork replaces it): the new fork starts at the row
1187
+ * before it on its path (both null when it is the first message). Undefined when that row is not
1188
+ * known: the message is not in `pathRows`, or it is the first loaded row while older rows exist
1189
+ * (`hasMoreAbove`).
1190
+ */
1191
+ static EditForkPoint(message: {
1192
+ ID: string;
1193
+ Sequence: number;
1194
+ }, pathRows: ReadonlyArray<{
1195
+ ID: string;
1196
+ Sequence: number;
1197
+ BranchID?: string | null;
1198
+ }>, hasMoreAbove?: boolean): ForkPoint | undefined;
1199
+ /** Regenerate of an answer: the new fork starts at the user message the answer replied to. */
1200
+ static RegenerateForkPoint(userMessage: {
1201
+ BranchID?: string | null;
1202
+ Sequence: number;
1203
+ }): ForkPoint;
1204
+ /**
1205
+ * Predicate over MJ: Conversation Details for the anchor rows of the given forks (one clause per
1206
+ * distinct fork point); null when no fork has a fork point.
1207
+ */
1208
+ static AnchorRowsFilter(conversationId: string, branches: ReadonlyArray<ConversationBranchRow>): string | null;
1209
+ /**
1210
+ * Predicate over MJ: Conversation Details for the source rows of the given forks (each distinct
1211
+ * SourceDetailID once); null when no fork has a source.
1212
+ */
1213
+ static SourceRowsFilter(conversationId: string, branches: ReadonlyArray<ConversationBranchRow>): string | null;
1214
+ /**
1215
+ * One summary per fork, in the order of `branches`. Pure: `ownRows` are the conversation's rows
1216
+ * with a BranchID, `anchorRows` the rows {@link AnchorRowsFilter} selects, `sourceRows` the rows
1217
+ * {@link SourceRowsFilter} selects.
1218
+ */
1219
+ static BuildForkSummaries(branches: ReadonlyArray<ConversationBranchRow>, ownRows: ReadonlyArray<ForkSummaryRow>, anchorRows: ReadonlyArray<ForkSummaryRow>, sourceRows?: ReadonlyArray<ForkSummaryRow>): ForkSummary[];
1220
+ /**
1221
+ * Loads the fork summaries of a conversation FRESH (entity RLS applies): the fork rows (unless
1222
+ * given), then the forks' own rows, their anchor rows and their source rows in one RunViews batch.
1223
+ * @throws when a read fails
1224
+ */
1225
+ static LoadForkSummaries(conversationId: string, contextUser: UserInfo, provider?: IMetadataProvider, branches?: ReadonlyArray<ConversationBranchRow>): Promise<ForkSummary[]>;
1226
+ /** Distinct agents and people of rows in order, at most {@link MAX_FORK_PARTICIPANTS}. */
1227
+ private static forkParticipants;
1228
+ /** The agent's name for an agent row, else the person's name; null when the row names neither. */
1229
+ private static rowAuthorName;
1230
+ /** A Date from a stored timestamp; null when missing or unreadable. */
1231
+ private static toForkDate;
907
1232
  /** True when a row's timestamp is at or after the floor; false when it is missing or unreadable. */
908
1233
  private static isAtOrAfter;
909
1234
  /**
@@ -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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"}