@pagelines/sdk 1.0.657 → 1.0.659

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.
@@ -74,6 +74,8 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
74
74
  timezone?: string | null | undefined;
75
75
  desiredStatus?: "active" | "stopped" | null | undefined;
76
76
  automationPrimaryChannel?: string | undefined;
77
+ heartbeatMode?: "standard" | "briefing" | "checkpoint" | "off" | undefined;
78
+ heartbeatAnchorTime?: string | undefined;
77
79
  onboardedAt?: string | null | undefined;
78
80
  org?: {
79
81
  orgId: string;
@@ -178,6 +180,8 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
178
180
  timezone?: string | null | undefined;
179
181
  desiredStatus?: "active" | "stopped" | null | undefined;
180
182
  automationPrimaryChannel?: string | undefined;
183
+ heartbeatMode?: "standard" | "briefing" | "checkpoint" | "off" | undefined;
184
+ heartbeatAnchorTime?: string | undefined;
181
185
  onboardedAt?: string | null | undefined;
182
186
  org?: {
183
187
  orgId: string;
@@ -72,25 +72,35 @@ export type LiveTurnSegment = {
72
72
  kind: 'work';
73
73
  activityIds: string[];
74
74
  };
75
- /** One rendered block of the interleaved live progression (mockup 28c). */
75
+ /**
76
+ * One rendered block of the interleaved live progression (mockup 28c).
77
+ * `id` is content-stable (segment position / first activity id) so streaming
78
+ * updates never shift a block onto a different view identity — an identity
79
+ * shift remounts the subtree, and a remount mid-stream reads as flicker.
80
+ */
76
81
  export type LiveTurnBlock = {
77
82
  kind: 'text';
83
+ id: string;
78
84
  content: string;
79
85
  } | {
80
86
  kind: 'work';
87
+ id: string;
81
88
  journal: WorkJournalModel;
89
+ } | {
90
+ kind: 'loading';
91
+ id: string;
82
92
  };
83
93
  /**
84
- * Interleaved live-turn projection: each completed work group sits above the
85
- * text it produced, the next group opens beneath that text, and only the tail
86
- * block may carry the terminal (spinner / wait ladder). Blocks above the tail
87
- * are immutable evidence. The Swift twin must mirror this rule.
94
+ * Interleaved live-turn projection: completed work stays where it landed,
95
+ * text stays where the user read it, and one stable tail owns all live motion.
96
+ * Started activities are projected into that tail even when text arrived
97
+ * after them; they never disappear merely because their original segment is
98
+ * no longer last. The Swift twin must mirror this rule.
88
99
  *
89
- * A tail of streaming text renders no loading block while deltas visibly
90
- * arrive; once the quiet boundary passes, an empty live group supplies the
91
- * honest Finishing up state at the tail. With no segmentation (restored
92
- * threads, unsegmented producers) the whole activity set renders as one live
93
- * group — the pre-progression shape.
100
+ * A healthy text tail ends in one bare loading arc; the quiet boundary
101
+ * promotes that same tail to the honest Finishing up / Waiting for results
102
+ * copy. With no segmentation, completed evidence and the live tip remain
103
+ * separate instead of competing inside one mutable group.
94
104
  */
95
105
  export declare function buildLiveTurnBlocks(args: {
96
106
  segments: LiveTurnSegment[];
@@ -83,6 +83,8 @@ export declare function getDemoAgentByHandle(handle: string): Partial<{
83
83
  timezone?: string | null | undefined;
84
84
  desiredStatus?: "active" | "stopped" | null | undefined;
85
85
  automationPrimaryChannel?: string | undefined;
86
+ heartbeatMode?: "standard" | "briefing" | "checkpoint" | "off" | undefined;
87
+ heartbeatAnchorTime?: string | undefined;
86
88
  onboardedAt?: string | null | undefined;
87
89
  org?: {
88
90
  orgId: string;