@amalgm/shell 0.1.111 → 0.1.112

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.
@@ -38,6 +38,28 @@ export interface DetectScanEvidence {
38
38
  readonly plannedRows?: number;
39
39
  readonly records?: number;
40
40
  readonly recordBytes?: number;
41
+ /** Wall time inside readdir/lstat — the traversal's own cost. */
42
+ readonly walkMs?: number;
43
+ /** Wall time from the first content capture scheduled to the last settled. */
44
+ readonly captureMs?: number;
45
+ /** Summed capture task time. Divided by captureMs it is pool occupancy: at
46
+ * or near 1 the pool is idle-serial, near its width it is saturated. */
47
+ readonly captureBusyMs?: number;
48
+ /** Bytes read and hashed by content capture during this scan. */
49
+ readonly captureBytes?: number;
50
+ /** Wall time inside Git index inspection during the walk. */
51
+ readonly gitMs?: number;
52
+ /** Wall time proving repository identity through Git, across every
53
+ * repository. Repositories are sealed one at a time, so this is serial. */
54
+ readonly repositoryIdentityMs?: number;
55
+ /** Wall time packing repository transport bytes, across every repository. */
56
+ readonly repositoryCaptureMs?: number;
57
+ /** Wall time sealing and re-inspecting repository transport artifacts. */
58
+ readonly repositorySealMs?: number;
59
+ /** Wall time resolving stored UUIDs against what the walk found. */
60
+ readonly reconcileMs?: number;
61
+ /** Wall time planning and persisting rows once identity is settled. */
62
+ readonly persistMs?: number;
41
63
  }
42
64
  export interface UserGroundHostOptions {
43
65
  readonly amalgmRoot: string;
@@ -67,6 +89,13 @@ export interface UserGroundHostOptions {
67
89
  }) => Promise<void> | void;
68
90
  /** Transient, opt-in evidence for exact stage measurement. */
69
91
  readonly onFilesStage?: FilesStageObserver;
92
+ /**
93
+ * Is stage evidence being read right now? An observer may be permanently
94
+ * installed while nothing is listening, so the host asks rather than
95
+ * assumes: counters that cost real work on the critical path are computed
96
+ * only when the answer is yes.
97
+ */
98
+ readonly filesTraceActive?: () => boolean;
70
99
  }
71
100
  export type WorkspaceAddStage = "intent-recorded" | "materialization-verified" | "rows-committed" | "ground-revealed" | "binding-created" | "watching";
72
101
  export interface UserGroundCloseOptions {
@@ -102,6 +131,8 @@ export declare class UserGroundHost {
102
131
  readonly port: UserGroundPort;
103
132
  constructor(options: UserGroundHostOptions);
104
133
  private stage;
134
+ /** Whether a counter worth real time on the critical path may be computed. */
135
+ private measuring;
105
136
  private reportDetectScan;
106
137
  databasePath(identity: UserGroundIdentity): string;
107
138
  rows(identity: UserGroundIdentity): GroundRow[];
@@ -180,6 +211,9 @@ export declare class UserGroundHost {
180
211
  * resource snapshot. */
181
212
  private prepareSnapshotPublication;
182
213
  private publishMaterializedSnapshot;
214
+ /** Close the graph-preparation stage with every leg it spent, so a slow
215
+ * preparation names the slow part instead of one opaque number. */
216
+ private finishPreparation;
183
217
  /** Which of these heads does the authority hold sealed under the current
184
218
  * content contract? Batched so a whole workspace costs a handful of
185
219
  * frames; the answer is the only permission to skip an upload. */