@peasant-labs/fairtrade 0.0.18 → 0.0.20

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.
@@ -51,6 +51,10 @@
51
51
  * @property {number} tokensIn
52
52
  * @property {number} tokensOut
53
53
  * @property {number} turnCount
54
+ * @property {number} [inputSubmissionCount] absent means unmeasured, never inferred from turns
55
+ * @property {boolean} [hasNormalizedEvidence] prevents legacy prompt-derived title inference
56
+ * @property {import('@peasant-labs/schema').SessionPurpose} [purpose]
57
+ * @property {string} [rootSessionId]
54
58
  * @property {number} toolCallCount
55
59
  * @property {string} [title] editorial session title/summary (render-when-present; else the consumer derives one from the first prompt). Not a wire field — supplied by a curated consumer.
56
60
  * @property {string} [project]
@@ -148,6 +152,16 @@ export type SessionVM = {
148
152
  tokensIn: number;
149
153
  tokensOut: number;
150
154
  turnCount: number;
155
+ /**
156
+ * absent means unmeasured, never inferred from turns
157
+ */
158
+ inputSubmissionCount?: number;
159
+ /**
160
+ * prevents legacy prompt-derived title inference
161
+ */
162
+ hasNormalizedEvidence?: boolean;
163
+ purpose?: import("@peasant-labs/schema").SessionPurpose;
164
+ rootSessionId?: string;
151
165
  toolCallCount: number;
152
166
  /**
153
167
  * editorial session title/summary (render-when-present; else the consumer derives one from the first prompt). Not a wire field — supplied by a curated consumer.
@@ -206,6 +220,18 @@ export type ToolCallVM = {
206
220
  * display name (e.g. "Read", "Bash")
207
221
  */
208
222
  name: string;
223
+ callEntryRef?: string;
224
+ resultEntryRef?: string;
225
+ callProvenance?: import("@peasant-labs/schema").ContentProvenance;
226
+ resultProvenance?: import("@peasant-labs/schema").ContentProvenance;
227
+ /**
228
+ * main or earlier-N, never a native coordinate
229
+ */
230
+ partition?: string;
231
+ /**
232
+ * separately recorded namespace; empty string remains present evidence
233
+ */
234
+ namespace?: string;
209
235
  kind: import("./wire-types.js").ToolCallKind;
210
236
  /**
211
237
  * filters-rail grouping
@@ -227,6 +253,18 @@ export type ToolCallVM = {
227
253
  durationMs?: number;
228
254
  exitCode?: number;
229
255
  isError?: boolean;
256
+ /**
257
+ * validated owner evidence; cost strings remain verbatim
258
+ */
259
+ usage?: import("@peasant-labs/schema").UsageDetail;
260
+ /**
261
+ * attached structured details, excluded from conversation/search
262
+ */
263
+ nativeMetadata?: import("@peasant-labs/schema").NativeMetadataRecord[];
264
+ /**
265
+ * no recorded result; never a fabricated success
266
+ */
267
+ pending?: boolean;
230
268
  /**
231
269
  * present for edit/write kinds
232
270
  */
@@ -254,6 +292,16 @@ export type ThinkingVM = {
254
292
  */
255
293
  export type TurnVM = {
256
294
  index: number;
295
+ /**
296
+ * partition-scoped stable rendering key
297
+ */
298
+ identity?: string;
299
+ /**
300
+ * main or earlier-N; main index navigation stays unchanged
301
+ */
302
+ partition?: string;
303
+ sourceEntryRef?: string;
304
+ provenance?: import("@peasant-labs/schema").ContentProvenance;
257
305
  role: import("./wire-types.js").Role;
258
306
  /**
259
307
  * display label, e.g. "1a" / "2"
@@ -284,6 +332,7 @@ export type TurnVM = {
284
332
  */
285
333
  agentName?: string;
286
334
  thinking?: ThinkingVM;
335
+ usage?: import("@peasant-labs/schema").UsageDetail;
287
336
  toolCalls: ToolCallVM[];
288
337
  entryType?: import("./wire-types.js").EntryType;
289
338
  stopReason?: import("./wire-types.js").StopReason | null;
@@ -590,4 +639,52 @@ export type TranscriptViewModel = {
590
639
  * render-when-present
591
640
  */
592
641
  analytics?: TranscriptAnalyticsVM;
642
+ /**
643
+ * authorized current-target navigation, cooked once
644
+ */
645
+ relationships?: RelationshipVM[];
646
+ /**
647
+ * separate index domains, collapsed by default
648
+ */
649
+ earlierHistory?: EarlierHistoryVM[];
650
+ /**
651
+ * non-conversational, including unattached records
652
+ */
653
+ nativeMetadata?: import("@peasant-labs/schema").NativeMetadataRecord[];
654
+ /**
655
+ * complete owner universe, before visible-turn filtering
656
+ */
657
+ usageScopes?: UsageScopeVM[];
658
+ };
659
+ export type UsageFieldVM = {
660
+ label: string;
661
+ /**
662
+ * exact known sum or unknown
663
+ */
664
+ value: string;
665
+ completeness: import("@peasant-labs/schema").UsageCompleteness;
666
+ };
667
+ export type UsageScopeVM = {
668
+ scope: import("@peasant-labs/schema").UsageScope;
669
+ ownerCount: number;
670
+ tokens: UsageFieldVM[];
671
+ cost: UsageFieldVM[];
672
+ };
673
+ export type RelationshipVM = {
674
+ kind: import("@peasant-labs/schema").SessionRelationshipKind;
675
+ label: string;
676
+ statusLabel: string;
677
+ note?: string;
678
+ /**
679
+ * only usable, authorized targets
680
+ */
681
+ navigation?: import("@peasant-labs/schema").SessionRelationshipNavigation;
682
+ };
683
+ export type EarlierHistoryVM = {
684
+ id: string;
685
+ state: import("@peasant-labs/schema").EarlierHistoryState;
686
+ explanation: string;
687
+ turns: TurnVM[];
688
+ nativeMetadata?: import("@peasant-labs/schema").NativeMetadataRecord[];
689
+ usageScopes: UsageScopeVM[];
593
690
  };