insta-dista-cli 1.4.0 → 1.6.0

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.
package/dist/dm.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dm.d.ts","sourceRoot":"","sources":["../src/dm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAepD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFzE"}
1
+ {"version":3,"file":"dm.d.ts","sourceRoot":"","sources":["../src/dm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA4DpD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgHzE"}
package/dist/dm.js CHANGED
@@ -41,13 +41,57 @@ const chalk_1 = __importDefault(require("chalk"));
41
41
  const boxen_1 = __importDefault(require("boxen"));
42
42
  const inquirer = __importStar(require("inquirer"));
43
43
  const ora_1 = __importDefault(require("ora"));
44
+ const readline = __importStar(require("readline"));
44
45
  const child_process_1 = require("child_process");
45
46
  // ─── Brand Colors ───
46
47
  const pink = chalk_1.default.hex('#E1306C');
48
+ const purple = chalk_1.default.hex('#C13584');
47
49
  const orange = chalk_1.default.hex('#F77737');
48
50
  const gold = chalk_1.default.hex('#FCAF45');
49
- const me = chalk_1.default.hex('#58C4DC');
50
- const them = chalk_1.default.hex('#C678DD');
51
+ const myColor = chalk_1.default.hex('#58C4DC');
52
+ const theirColor = chalk_1.default.hex('#C678DD');
53
+ const dim = chalk_1.default.dim;
54
+ const bold = chalk_1.default.bold;
55
+ // ─── Box Drawing ───
56
+ function msgBox(text, color, align, maxWidth = 50) {
57
+ // Word-wrap the text
58
+ const words = text.split(' ');
59
+ const lines = [];
60
+ let currentLine = '';
61
+ for (const word of words) {
62
+ if (currentLine.length + word.length + 1 > maxWidth - 4) {
63
+ if (currentLine)
64
+ lines.push(currentLine);
65
+ currentLine = word;
66
+ }
67
+ else {
68
+ currentLine = currentLine ? `${currentLine} ${word}` : word;
69
+ }
70
+ }
71
+ if (currentLine)
72
+ lines.push(currentLine);
73
+ if (lines.length === 0)
74
+ lines.push(text);
75
+ const contentWidth = Math.max(...lines.map(l => stripAnsi(l).length), 1);
76
+ const boxWidth = contentWidth + 2; // 1 padding each side
77
+ const top = color(`╭${'─'.repeat(boxWidth)}╮`);
78
+ const bottom = color(`╰${'─'.repeat(boxWidth)}╯`);
79
+ const body = lines.map(l => {
80
+ const pad = contentWidth - stripAnsi(l).length;
81
+ return color('│') + ' ' + l + ' '.repeat(pad) + ' ' + color('│');
82
+ });
83
+ const allLines = [top, ...body, bottom];
84
+ if (align === 'right') {
85
+ const indent = Math.max(0, 72 - boxWidth - 2);
86
+ return allLines.map(l => ' '.repeat(indent) + l).join('\n');
87
+ }
88
+ else {
89
+ return allLines.map(l => ' ' + l).join('\n');
90
+ }
91
+ }
92
+ function stripAnsi(str) {
93
+ return str.replace(/\x1b\[[0-9;]*m/g, '');
94
+ }
51
95
  // ─── Inbox ───
52
96
  async function interactiveInbox(client) {
53
97
  while (true) {
@@ -59,7 +103,7 @@ async function interactiveInbox(client) {
59
103
  borderColor: '#E1306C',
60
104
  margin: { top: 0, bottom: 0, left: 2, right: 2 },
61
105
  }));
62
- const spinner = (0, ora_1.default)({ text: chalk_1.default.dim(' Loading conversations...'), indent: 4 }).start();
106
+ const spinner = (0, ora_1.default)({ text: dim(' Loading conversations...'), indent: 4 }).start();
63
107
  let threads;
64
108
  try {
65
109
  const inboxFeed = client.feed.directInbox();
@@ -77,9 +121,30 @@ async function interactiveInbox(client) {
77
121
  await pause();
78
122
  return;
79
123
  }
80
- console.log(chalk_1.default.dim(` ${threads.length} conversations • `) + chalk_1.default.dim('Use ↑ ↓ to browse, Enter to open\n'));
124
+ // ─── Search Filter ───
125
+ const { search } = await inquirer.prompt([
126
+ {
127
+ type: 'input',
128
+ name: 'search',
129
+ message: pink('🔍 Search username (or press Enter to see all):'),
130
+ prefix: ' ',
131
+ default: '',
132
+ },
133
+ ]);
134
+ const searchTerm = search.trim().toLowerCase();
135
+ const filtered = searchTerm
136
+ ? threads.filter((t) => t.users?.some((u) => u.username?.toLowerCase().includes(searchTerm) ||
137
+ u.full_name?.toLowerCase().includes(searchTerm)))
138
+ : threads;
139
+ if (filtered.length === 0) {
140
+ console.log(chalk_1.default.yellow(`\n No conversations matching "${search}"\n`));
141
+ await pause();
142
+ continue;
143
+ }
144
+ console.log(dim(`\n ${filtered.length} conversation${filtered.length !== 1 ? 's' : ''} • `) +
145
+ dim('Use ↑ ↓ to browse, Enter to open\n'));
81
146
  // Build choices
82
- const choices = threads.map((thread, index) => {
147
+ const choices = filtered.map((thread, index) => {
83
148
  const users = thread.users?.map((u) => u.username).join(', ') || 'Unknown';
84
149
  const lastItem = thread.last_permanent_item || thread.items?.[0];
85
150
  const preview = getMessagePreview(lastItem);
@@ -87,18 +152,18 @@ async function interactiveInbox(client) {
87
152
  ? formatTimestamp(Number(lastItem.timestamp) / 1000)
88
153
  : '';
89
154
  const isUnread = !thread.read_state;
90
- const num = chalk_1.default.dim(`${(index + 1).toString().padStart(2)}`);
91
- const dot = isUnread ? chalk_1.default.green('●') : chalk_1.default.dim('○');
92
- const user = chalk_1.default.bold.white(truncate(users, 18).padEnd(18));
93
- const msg = chalk_1.default.dim(truncate(preview, 30).padEnd(30));
94
- const ts = chalk_1.default.dim(time.padStart(8));
155
+ const num = dim(`${(index + 1).toString().padStart(2)}`);
156
+ const dot = isUnread ? chalk_1.default.green('●') : dim('○');
157
+ const user = bold.white(truncate(users, 18).padEnd(18));
158
+ const msg = dim(truncate(preview, 28).padEnd(28));
159
+ const ts = dim(time.padStart(8));
95
160
  return {
96
161
  name: ` ${num} ${dot} ${user} ${msg} ${ts}`,
97
162
  value: { threadId: thread.thread_id, users: thread.users, username: users },
98
163
  short: `@${users}`,
99
164
  };
100
165
  });
101
- choices.push(new inquirer.Separator(chalk_1.default.dim(' ─────────────────────────────────────────────────────────')), { name: ` ${chalk_1.default.dim('🔄 Refresh')}`, value: { action: 'refresh' } }, { name: ` ${chalk_1.default.dim('⬅ Back to menu')}`, value: { action: 'back' } });
166
+ choices.push(new inquirer.Separator(dim(' ─────────────────────────────────────────────────────────')), { name: ` ${dim('🔄 Refresh')}`, value: { action: 'refresh' } }, { name: ` ${dim('⬅ Back to menu')}`, value: { action: 'back' } });
102
167
  const { selected } = await inquirer.prompt([
103
168
  {
104
169
  type: 'list',
@@ -106,7 +171,7 @@ async function interactiveInbox(client) {
106
171
  message: pink('Pick a conversation'),
107
172
  choices,
108
173
  pageSize: 15,
109
- prefix: chalk_1.default.dim(' '),
174
+ prefix: dim(' '),
110
175
  loop: false,
111
176
  },
112
177
  ]);
@@ -114,153 +179,208 @@ async function interactiveInbox(client) {
114
179
  return;
115
180
  if (selected.action === 'refresh')
116
181
  continue;
117
- // Open chat
118
182
  const otherUser = selected.users?.[0];
119
- await interactiveChat(client, selected.threadId, selected.username, otherUser?.pk);
183
+ await liveChat(client, selected.threadId, selected.username, otherUser?.pk);
120
184
  }
121
185
  }
122
- // ─── Chat ───
123
- async function interactiveChat(client, threadId, username, userId) {
124
- while (true) {
125
- // Load & render messages
126
- console.clear();
127
- console.log('');
128
- console.log((0, boxen_1.default)(them.bold(`💬 @${username}`), {
129
- padding: { top: 0, bottom: 0, left: 2, right: 2 },
130
- borderStyle: 'round',
131
- borderColor: '#C678DD',
132
- margin: { top: 0, bottom: 0, left: 2, right: 2 },
133
- }));
134
- const spinner = (0, ora_1.default)({ text: chalk_1.default.dim(' Loading messages...'), indent: 4 }).start();
135
- let messages = [];
186
+ // ─── Live Chat ───
187
+ async function liveChat(client, threadId, username, otherUserId) {
188
+ let messages = [];
189
+ let refreshTimer = null;
190
+ let isRefreshing = false;
191
+ let exitRequested = false;
192
+ // Track all media URLs from the current chat for the /open N command
193
+ let mediaList = [];
194
+ async function loadMessages() {
195
+ if (isRefreshing)
196
+ return;
197
+ isRefreshing = true;
136
198
  try {
137
199
  const threadFeed = client.feed.directThread({
138
200
  thread_id: threadId,
139
201
  oldest_cursor: '',
140
202
  });
141
203
  messages = await threadFeed.items();
142
- spinner.stop();
143
204
  }
144
- catch (err) {
145
- spinner.stop();
146
- console.error(chalk_1.default.red(`\n ✗ Could not load messages: ${err.message}\n`));
147
- await pause();
148
- return;
205
+ catch {
206
+ // silently fail on refresh
149
207
  }
150
- renderMessages(messages, userId, username);
151
- let latestMediaUrl = null;
152
- for (const msg of messages) {
153
- const url = extractMediaUrl(msg);
154
- if (url) {
155
- latestMediaUrl = url;
156
- break;
157
- }
158
- }
159
- const choices = [
160
- { name: ` ${me('✏️')} ${chalk_1.default.bold('Send a message')}`, value: 'send' },
161
- { name: ` ${gold('🔄')} ${chalk_1.default.bold('Refresh')} ${chalk_1.default.dim('Reload latest messages')}`, value: 'refresh' },
162
- ];
163
- if (latestMediaUrl) {
164
- choices.push({ name: ` ${chalk_1.default.cyan('📺')} ${chalk_1.default.bold('View latest media')} ${chalk_1.default.dim('Open reel/photo without doomscrolling')}`, value: 'media' });
165
- }
166
- choices.push(new inquirer.Separator(chalk_1.default.dim(' ────────────────────────────────')), { name: ` ${chalk_1.default.dim('⬅')} ${chalk_1.default.dim('Back to inbox')}`, value: 'back' });
167
- // Action menu
168
- const { action } = await inquirer.prompt([
169
- {
170
- type: 'list',
171
- name: 'action',
172
- message: them('What do you want to do?'),
173
- choices,
174
- prefix: chalk_1.default.dim(' '),
175
- },
176
- ]);
177
- if (action === 'back')
178
- return;
179
- if (action === 'refresh')
180
- continue; // re-loops and re-renders
181
- if (action === 'media' && latestMediaUrl) {
182
- console.log(chalk_1.default.green('\n ✓ Opening media... (Check your browser or video player)\n'));
183
- (0, child_process_1.exec)(`open "${latestMediaUrl}"`);
184
- await pause();
185
- continue;
208
+ isRefreshing = false;
209
+ }
210
+ function renderChat() {
211
+ console.clear();
212
+ console.log('');
213
+ // Chat header
214
+ console.log((0, boxen_1.default)(theirColor.bold(`💬 @${username}`) + '\n' +
215
+ dim(`Type a message → Enter to send • `) + chalk_1.default.yellow('/back') + dim(' to exit') + '\n' +
216
+ dim('Media: ') + chalk_1.default.cyan('/open') + dim(' latest • ') + chalk_1.default.cyan('/open 3') + dim(' = 3rd newest'), {
217
+ padding: { top: 0, bottom: 0, left: 1, right: 1 },
218
+ borderStyle: 'round',
219
+ borderColor: '#C13584',
220
+ margin: { top: 0, bottom: 0, left: 2, right: 2 },
221
+ }));
222
+ // Collect media for /open command
223
+ mediaList = [];
224
+ if (!messages || messages.length === 0) {
225
+ console.log(dim('\n No messages yet. Say hi! 👋\n'));
186
226
  }
187
- if (action === 'send') {
188
- // Enter send mode — allow sending multiple messages back-to-back
189
- console.log('');
190
- console.log((0, boxen_1.default)(chalk_1.default.dim('Type your message and press Enter to send\n') +
191
- chalk_1.default.dim('Type ') + chalk_1.default.yellow('/done') + chalk_1.default.dim(' when finished'), {
192
- padding: { top: 0, bottom: 0, left: 1, right: 1 },
193
- borderStyle: 'round',
194
- borderColor: 'gray',
195
- dimBorder: true,
196
- margin: { top: 0, bottom: 0, left: 4, right: 4 },
197
- }));
227
+ else {
228
+ const chronological = [...messages].reverse().slice(-20);
229
+ let lastDate = '';
198
230
  console.log('');
199
- while (true) {
200
- const { text } = await inquirer.prompt([
201
- {
202
- type: 'input',
203
- name: 'text',
204
- message: me(' ➤'),
205
- prefix: '',
206
- },
207
- ]);
208
- const trimmed = text.trim();
209
- if (!trimmed)
210
- continue;
211
- if (trimmed === '/done' || trimmed === '/exit' || trimmed === '/back')
212
- break;
213
- const sendSpinner = (0, ora_1.default)({ text: chalk_1.default.dim(' Sending...'), indent: 6 }).start();
214
- try {
215
- const threadEntity = client.entity.directThread(threadId);
216
- await threadEntity.broadcastText(trimmed);
217
- sendSpinner.succeed(chalk_1.default.green(' Sent!'));
231
+ for (const msg of chronological) {
232
+ const isFromMe = msg.user_id !== otherUserId;
233
+ const time = new Date(Number(msg.timestamp) / 1000)
234
+ .toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
235
+ const dateStr = new Date(Number(msg.timestamp) / 1000).toLocaleDateString();
236
+ // Date separator
237
+ if (dateStr !== lastDate) {
238
+ console.log(dim(`\n ┄┄┄┄┄┄ ${dateStr} ┄┄┄┄┄┄`));
239
+ lastDate = dateStr;
240
+ }
241
+ const content = getMessageContent(msg);
242
+ const mediaUrl = extractMediaUrl(msg);
243
+ if (mediaUrl) {
244
+ mediaList.push({
245
+ index: mediaList.length + 1,
246
+ type: getMediaType(msg),
247
+ url: mediaUrl,
248
+ });
249
+ }
250
+ const color = isFromMe ? myColor : theirColor;
251
+ const timeStr = dim(time);
252
+ const label = isFromMe ? '' : dim(` @${username}`);
253
+ // Build the message box
254
+ const boxContent = content;
255
+ const box = msgBox(boxContent, color, isFromMe ? 'right' : 'left');
256
+ // Print time label above box
257
+ if (isFromMe) {
258
+ const indent = Math.max(0, 72 - time.length - 2);
259
+ console.log(' '.repeat(indent) + timeStr);
218
260
  }
219
- catch (err) {
220
- sendSpinner.fail(chalk_1.default.red(` Failed: ${err.message}`));
261
+ else {
262
+ console.log(` ${timeStr}${label}`);
263
+ }
264
+ console.log(box);
265
+ // Media badge under the box
266
+ if (mediaUrl) {
267
+ const badge = ` 📎 ${chalk_1.default.cyan(`[${getMediaType(msg)}]`)} — ${dim(`/open ${mediaList.length}`)}`;
268
+ if (isFromMe) {
269
+ const indent = Math.max(0, 72 - stripAnsi(badge).length);
270
+ console.log(' '.repeat(indent) + badge);
271
+ }
272
+ else {
273
+ console.log(' ' + badge);
274
+ }
221
275
  }
222
276
  }
223
- // After sending, loop back to refresh and show updated messages
224
- continue;
277
+ if (messages.length > 20) {
278
+ console.log(dim(`\n ... ${messages.length - 20} older messages`));
279
+ }
225
280
  }
281
+ console.log(dim('\n ────────────────────────────────────────────\n'));
226
282
  }
227
- }
228
- // ─── Render Messages ───
229
- function renderMessages(messages, otherUserId, otherUsername) {
230
- if (!messages || messages.length === 0) {
231
- console.log(chalk_1.default.dim('\n No messages yet. Send one to start the conversation!\n'));
232
- return;
233
- }
234
- const chronological = [...messages].reverse().slice(-15);
235
- let lastDate = '';
236
- console.log('');
237
- for (const msg of chronological) {
238
- const isFromMe = msg.user_id !== otherUserId;
239
- const time = new Date(Number(msg.timestamp) / 1000)
240
- .toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
241
- const dateStr = new Date(Number(msg.timestamp) / 1000).toLocaleDateString();
242
- // Date separator
243
- if (dateStr !== lastDate) {
244
- console.log(chalk_1.default.dim(`\n ────── ${dateStr} ──────`));
245
- lastDate = dateStr;
246
- }
247
- const sender = isFromMe
248
- ? me.bold(' You')
249
- : them.bold(` @${otherUsername}`);
250
- const content = getMessageContent(msg);
251
- if (isFromMe) {
252
- console.log(` ${chalk_1.default.dim(time)} ${sender} ${chalk_1.default.white(content)}`);
253
- }
254
- else {
255
- console.log(` ${chalk_1.default.dim(time)} ${sender} ${chalk_1.default.gray(content)}`);
283
+ // Initial load
284
+ const spinner = (0, ora_1.default)({ text: dim(' Loading messages...'), indent: 4 }).start();
285
+ await loadMessages();
286
+ spinner.stop();
287
+ renderChat();
288
+ // Auto-refresh every 4 seconds
289
+ refreshTimer = setInterval(async () => {
290
+ if (exitRequested)
291
+ return;
292
+ const prevLastTs = messages[0]?.timestamp;
293
+ const prevCount = messages.length;
294
+ await loadMessages();
295
+ if (messages.length !== prevCount || messages[0]?.timestamp !== prevLastTs) {
296
+ renderChat();
297
+ process.stdout.write(myColor(' ➤ '));
256
298
  }
257
- }
258
- if (messages.length > 15) {
259
- console.log(chalk_1.default.dim(`\n ... ${messages.length - 15} older messages not shown`));
260
- }
261
- console.log(chalk_1.default.dim('\n ──────────────────────────────────────\n'));
299
+ }, 4000);
300
+ // Interactive readline input
301
+ return new Promise((resolve) => {
302
+ const rl = readline.createInterface({
303
+ input: process.stdin,
304
+ output: process.stdout,
305
+ prompt: myColor(' ➤ '),
306
+ });
307
+ rl.prompt();
308
+ rl.on('line', async (line) => {
309
+ const trimmed = line.trim();
310
+ if (!trimmed) {
311
+ rl.prompt();
312
+ return;
313
+ }
314
+ // ─── Commands ───
315
+ if (trimmed === '/back' || trimmed === '/exit' || trimmed === '/quit') {
316
+ exitRequested = true;
317
+ if (refreshTimer)
318
+ clearInterval(refreshTimer);
319
+ rl.close();
320
+ resolve();
321
+ return;
322
+ }
323
+ if (trimmed === '/refresh' || trimmed === '/r') {
324
+ await loadMessages();
325
+ renderChat();
326
+ rl.prompt();
327
+ return;
328
+ }
329
+ // /open or /open N
330
+ if (trimmed.startsWith('/open')) {
331
+ const parts = trimmed.split(/\s+/);
332
+ let idx = mediaList.length; // default: latest
333
+ if (parts[1]) {
334
+ idx = parseInt(parts[1], 10);
335
+ }
336
+ const media = mediaList.find(m => m.index === idx);
337
+ if (media) {
338
+ console.log(chalk_1.default.green(` ✓ Opening ${media.type}...`));
339
+ (0, child_process_1.exec)(`open "${media.url}"`);
340
+ }
341
+ else if (mediaList.length === 0) {
342
+ console.log(chalk_1.default.yellow(' No media in this conversation.'));
343
+ }
344
+ else {
345
+ console.log(chalk_1.default.yellow(` Invalid. Use /open 1 to /open ${mediaList.length}`));
346
+ }
347
+ rl.prompt();
348
+ return;
349
+ }
350
+ // /media (alias for /open)
351
+ if (trimmed === '/media') {
352
+ if (mediaList.length > 0) {
353
+ const latest = mediaList[mediaList.length - 1];
354
+ console.log(chalk_1.default.green(` ✓ Opening ${latest.type}...`));
355
+ (0, child_process_1.exec)(`open "${latest.url}"`);
356
+ }
357
+ else {
358
+ console.log(chalk_1.default.yellow(' No media in this conversation.'));
359
+ }
360
+ rl.prompt();
361
+ return;
362
+ }
363
+ // ─── Send Message ───
364
+ try {
365
+ const threadEntity = client.entity.directThread(threadId);
366
+ await threadEntity.broadcastText(trimmed);
367
+ await loadMessages();
368
+ renderChat();
369
+ }
370
+ catch (err) {
371
+ console.log(chalk_1.default.red(` ✗ Send failed: ${err.message}`));
372
+ }
373
+ rl.prompt();
374
+ });
375
+ rl.on('close', () => {
376
+ exitRequested = true;
377
+ if (refreshTimer)
378
+ clearInterval(refreshTimer);
379
+ resolve();
380
+ });
381
+ });
262
382
  }
263
- // ─── Helpers ───
383
+ // ─── Message Preview (for inbox list) ───
264
384
  function getMessagePreview(item) {
265
385
  if (!item)
266
386
  return '';
@@ -274,73 +394,158 @@ function getMessagePreview(item) {
274
394
  case 'like': return '❤️ Like';
275
395
  case 'link': return '🔗 Link';
276
396
  case 'clip': return '🎬 Reel';
397
+ case 'xma_clip': return '🎬 Reel';
398
+ case 'xma_media_share': return '🖼️ Post';
399
+ case 'xma_reel_share': return '📷 Story';
400
+ case 'action_log': return item.action_log?.description || '📌 Action';
277
401
  case 'placeholder': return item.placeholder?.message || '[Media]';
278
- default: return `[${item.item_type || 'message'}]`;
402
+ default:
403
+ if (item.item_type?.startsWith('xma'))
404
+ return '🎬 Media';
405
+ return `[${item.item_type || 'message'}]`;
279
406
  }
280
407
  }
408
+ // ─── Message Content (for chat view) ───
281
409
  function getMessageContent(msg) {
282
410
  switch (msg.item_type) {
283
- case 'text': return msg.text || '';
284
- case 'media': return '📸 [Photo]';
285
- case 'voice_media': return '🎤 [Voice message]';
286
- case 'animated_media': return '🎬 [GIF]';
411
+ case 'text':
412
+ return msg.text || '';
413
+ case 'media':
414
+ return '📸 Photo';
415
+ case 'voice_media':
416
+ return '🎤 Voice message';
417
+ case 'animated_media':
418
+ return '🎬 GIF';
287
419
  case 'reel_share':
288
420
  return msg.reel_share?.text
289
- ? `📷 Story reply: ${msg.reel_share.text}`
290
- : '📷 [Story reply]';
291
- case 'media_share': return '🖼️ [Shared post]';
292
- case 'like': return '❤️';
293
- case 'link': return `🔗 ${msg.link?.text || '[Link]'}`;
294
- case 'clip': return '🎬 [Reel]';
295
- case 'placeholder': return msg.placeholder?.message || '[Media]';
296
- default: return `[${msg.item_type}]`;
421
+ ? `📷 Story reply: "${msg.reel_share.text}"`
422
+ : '📷 Story reply';
423
+ case 'media_share':
424
+ const caption = msg.media_share?.caption?.text;
425
+ return caption ? `🖼️ Post: "${truncate(caption, 40)}"` : '🖼️ Shared post';
426
+ case 'like':
427
+ return '❤️';
428
+ case 'link':
429
+ return `🔗 ${msg.link?.text || msg.link?.link_url || 'Link'}`;
430
+ case 'clip':
431
+ const clipCaption = msg.clip?.clip?.caption?.text;
432
+ return clipCaption ? `🎬 Reel: "${truncate(clipCaption, 35)}"` : '🎬 Reel';
433
+ case 'xma_clip':
434
+ // Newer Instagram reel shares via DM
435
+ const xmaTitle = extractXmaTitle(msg);
436
+ return xmaTitle ? `🎬 Reel: "${truncate(xmaTitle, 35)}"` : '🎬 Reel';
437
+ case 'xma_media_share':
438
+ const xmaShareTitle = extractXmaTitle(msg);
439
+ return xmaShareTitle ? `🖼️ Post: "${truncate(xmaShareTitle, 35)}"` : '🖼️ Shared post';
440
+ case 'xma_reel_share':
441
+ return '📷 Story';
442
+ case 'action_log':
443
+ return `📌 ${msg.action_log?.description || 'Action'}`;
444
+ case 'placeholder':
445
+ return msg.placeholder?.message || '[Media]';
446
+ default:
447
+ // Catch any other xma types
448
+ if (msg.item_type?.startsWith('xma')) {
449
+ const title = extractXmaTitle(msg);
450
+ return title ? `🎬 ${truncate(title, 40)}` : '🎬 Media';
451
+ }
452
+ return `[${msg.item_type}]`;
297
453
  }
298
454
  }
455
+ // ─── Extract XMA title/text ───
456
+ function extractXmaTitle(msg) {
457
+ // xma_media_share is usually an array of XMA items
458
+ if (msg.xma_media_share && msg.xma_media_share.length > 0) {
459
+ const xma = msg.xma_media_share[0];
460
+ if (xma.title_text)
461
+ return xma.title_text;
462
+ if (xma.caption_body_text)
463
+ return xma.caption_body_text;
464
+ if (xma.preview_title)
465
+ return xma.preview_title;
466
+ }
467
+ return null;
468
+ }
469
+ // ─── Extract Media URL ───
299
470
  function extractMediaUrl(msg) {
300
471
  if (!msg)
301
472
  return null;
302
- // Reel share / Story reply
473
+ // ─── XMA types (xma_clip, xma_media_share, etc.) ───
474
+ if (msg.item_type?.startsWith('xma') && msg.xma_media_share?.length > 0) {
475
+ const xma = msg.xma_media_share[0];
476
+ // Try playable URL first (for reels/videos)
477
+ if (xma.playable_url)
478
+ return xma.playable_url;
479
+ // Target URL (deep link to the content)
480
+ if (xma.target_url)
481
+ return xma.target_url;
482
+ // Preview URL (image thumbnail)
483
+ if (xma.preview_url)
484
+ return xma.preview_url;
485
+ if (xma.preview_url_info?.url)
486
+ return xma.preview_url_info.url;
487
+ }
488
+ // ─── Reel share / Story reply ───
303
489
  if (msg.item_type === 'reel_share' && msg.reel_share?.media) {
304
490
  const media = msg.reel_share.media;
305
- if (media.video_versions && media.video_versions.length > 0)
491
+ if (media.video_versions?.length > 0)
306
492
  return media.video_versions[0].url;
307
- if (media.image_versions2?.candidates && media.image_versions2.candidates.length > 0)
493
+ if (media.image_versions2?.candidates?.length > 0)
308
494
  return media.image_versions2.candidates[0].url;
309
495
  }
310
- // Shared post / Media share
496
+ // ─── Shared post / Media share ───
311
497
  if (msg.item_type === 'media_share' && msg.media_share) {
312
498
  const media = msg.media_share;
313
- if (media.carousel_media && media.carousel_media.length > 0) {
499
+ if (media.carousel_media?.length > 0) {
314
500
  const first = media.carousel_media[0];
315
- if (first.video_versions && first.video_versions.length > 0)
501
+ if (first.video_versions?.length > 0)
316
502
  return first.video_versions[0].url;
317
- if (first.image_versions2?.candidates && first.image_versions2.candidates.length > 0)
503
+ if (first.image_versions2?.candidates?.length > 0)
318
504
  return first.image_versions2.candidates[0].url;
319
505
  }
320
- if (media.video_versions && media.video_versions.length > 0)
506
+ if (media.video_versions?.length > 0)
321
507
  return media.video_versions[0].url;
322
- if (media.image_versions2?.candidates && media.image_versions2.candidates.length > 0)
508
+ if (media.image_versions2?.candidates?.length > 0)
323
509
  return media.image_versions2.candidates[0].url;
324
510
  }
325
- // Sent photo / video
511
+ // ─── Sent photo / video ───
326
512
  if (msg.item_type === 'media' && msg.media) {
327
- if (msg.media.video_versions && msg.media.video_versions.length > 0)
513
+ if (msg.media.video_versions?.length > 0)
328
514
  return msg.media.video_versions[0].url;
329
- if (msg.media.image_versions2?.candidates && msg.media.image_versions2.candidates.length > 0)
515
+ if (msg.media.image_versions2?.candidates?.length > 0)
330
516
  return msg.media.image_versions2.candidates[0].url;
331
517
  }
332
- // Clip (sent Reel directly)
518
+ // ─── Clip (sent Reel directly) ───
333
519
  if (msg.item_type === 'clip') {
334
520
  const c = msg.clip?.clip || msg.clip;
335
- if (c?.video_versions && c.video_versions.length > 0)
521
+ if (c?.video_versions?.length > 0)
336
522
  return c.video_versions[0].url;
337
523
  }
338
- // Voice
524
+ // ─── Voice message ───
339
525
  if (msg.item_type === 'voice_media' && msg.voice_media?.media?.audio?.audio_src) {
340
526
  return msg.voice_media.media.audio.audio_src;
341
527
  }
342
528
  return null;
343
529
  }
530
+ // ─── Get media type label ───
531
+ function getMediaType(msg) {
532
+ switch (msg.item_type) {
533
+ case 'xma_clip':
534
+ case 'clip': return 'Reel';
535
+ case 'media': return 'Photo';
536
+ case 'media_share':
537
+ case 'xma_media_share': return 'Post';
538
+ case 'reel_share':
539
+ case 'xma_reel_share': return 'Story';
540
+ case 'voice_media': return 'Voice';
541
+ case 'animated_media': return 'GIF';
542
+ default:
543
+ if (msg.item_type?.startsWith('xma'))
544
+ return 'Media';
545
+ return 'Media';
546
+ }
547
+ }
548
+ // ─── Utilities ───
344
549
  function truncate(str, len) {
345
550
  if (str.length <= len)
346
551
  return str;
@@ -368,7 +573,7 @@ async function pause() {
368
573
  {
369
574
  type: 'input',
370
575
  name: '_',
371
- message: chalk_1.default.dim('Press Enter to continue...'),
576
+ message: dim('Press Enter to continue...'),
372
577
  prefix: ' ',
373
578
  },
374
579
  ]);
package/dist/dm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dm.js","sourceRoot":"","sources":["../src/dm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dm.js","sourceRoot":"","sources":["../src/dm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "insta-dista-cli",
3
- "version": "1.4.0",
3
+ "version": "1.6.0",
4
4
  "description": "Distraction-free Instagram CLI — DMs only, no reels, no feed, no stories.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {