truememory-mirror 1.0.5 → 1.0.7

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 (2) hide show
  1. package/bin/mirror.js +54 -13
  2. package/package.json +1 -1
package/bin/mirror.js CHANGED
@@ -99,6 +99,39 @@ function clearLine() {
99
99
  if (!_jsonMode) process.stderr.write('\r\x1b[K');
100
100
  }
101
101
 
102
+ const STATUS_PHRASES = [
103
+ 'scanning cognitive patterns',
104
+ 'indexing conversation fragments',
105
+ 'parsing behavioral signals',
106
+ 'extracting reasoning signatures',
107
+ 'profiling communication style',
108
+ 'detecting stress responses',
109
+ 'measuring risk tolerance curves',
110
+ 'mapping decision architecture',
111
+ 'isolating personality markers',
112
+ 'tracing collaboration fingerprint',
113
+ 'decoding problem-solving heuristics',
114
+ 'analyzing delegation patterns',
115
+ 'triangulating identity vectors',
116
+ 'calibrating behavioral model',
117
+ 'resolving cognitive tensions',
118
+ 'consolidating trait matrix',
119
+ 'building predictive scaffolding',
120
+ 'running scenario simulations',
121
+ 'stress-testing edge cases',
122
+ 'computing confidence intervals',
123
+ 'rendering identity surface',
124
+ 'locking archetype match',
125
+ 'sealing behavioral predictions',
126
+ 'finalizing your mirror',
127
+ ];
128
+
129
+ let _phraseIndex = 0;
130
+
131
+ function nextPhrase() {
132
+ return STATUS_PHRASES[_phraseIndex++ % STATUS_PHRASES.length];
133
+ }
134
+
102
135
  function progressBar(pct, width = 30) {
103
136
  const filled = Math.round(pct * width);
104
137
  const empty = width - filled;
@@ -132,8 +165,13 @@ async function main() {
132
165
  return;
133
166
  }
134
167
 
135
- // --- Scan & parse (silent) ---
136
- write(` ${DIM}generating identity profile...${R}\n\n`);
168
+ // --- Scan & parse with rotating status ---
169
+ const spinTimer = setInterval(() => {
170
+ clearLine();
171
+ write(` ${DIM}${nextPhrase()}...${R}`);
172
+ }, 3750);
173
+
174
+ write(` ${DIM}${nextPhrase()}...${R}`);
137
175
  const sources = await scan(args.source);
138
176
 
139
177
  let claudeSessions = [];
@@ -161,8 +199,11 @@ async function main() {
161
199
  }
162
200
  }
163
201
 
202
+ clearInterval(spinTimer);
203
+
164
204
  const totalSessions = claudeSessions.length + codexSessions.length;
165
205
  if (totalSessions === 0) {
206
+ clearLine();
166
207
  write(` no AI conversations found.\n make sure you have Claude Code or Codex CLI installed.\n\n`);
167
208
  process.exit(1);
168
209
  }
@@ -183,7 +224,7 @@ async function main() {
183
224
  }
184
225
 
185
226
  // --- Extract ---
186
-
227
+ clearLine();
187
228
  let result;
188
229
  try {
189
230
  result = await submitForExtraction(payload, args.apiUrl);
@@ -192,23 +233,23 @@ async function main() {
192
233
  process.exit(1);
193
234
  }
194
235
 
195
- // --- Poll ---
236
+ // --- Poll with rotating status ---
237
+ let lastPhraseTick = 0;
238
+ let currentPhrase = nextPhrase();
239
+
196
240
  try {
197
241
  await pollStatus(result.profile_id, args.apiUrl, (status) => {
198
242
  const pct = status.progress || 0;
199
243
  const bar = progressBar(pct);
200
- let detail = '';
201
-
202
- if (status.status === 'extracting' && status.claims_found) {
203
- detail = `${DIM}${status.claims_found} claims found${R}`;
204
- } else if (status.status === 'consolidating') {
205
- detail = `${DIM}building profile${R}`;
206
- } else if (status.status === 'predicting') {
207
- detail = `${DIM}running predictions${R}`;
244
+ const now = Date.now();
245
+
246
+ if (now - lastPhraseTick > 3750) {
247
+ currentPhrase = nextPhrase();
248
+ lastPhraseTick = now;
208
249
  }
209
250
 
210
251
  clearLine();
211
- write(` ${bar} ${WHITE}${Math.round(pct * 100)}%${R} ${detail}`);
252
+ write(` ${bar} ${WHITE}${Math.round(pct * 100)}%${R} ${DIM}${currentPhrase}...${R}`);
212
253
  });
213
254
  } catch (err) {
214
255
  write(`\n\n ✗ extraction failed: ${err.message}\n\n`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "truememory-mirror",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Behavioral prediction engine for how you think, decide, and react",
5
5
  "bin": {
6
6
  "truememory-mirror": "./bin/mirror.js"