@postplus/cli 0.1.13 → 0.1.14

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/README.md CHANGED
@@ -11,7 +11,7 @@ Instead of asking you to choose tools first, PostPlus starts from the job you wa
11
11
  ```text
12
12
  "Find creators for this product."
13
13
  "Analyze why this competitor video works."
14
- "Tell me whether this product has TikTok Shop potential."
14
+ "Tell me whether this product has marketplace potential."
15
15
  "Turn these references into a short-form video brief."
16
16
  "Package the research into a client-ready Feishu report."
17
17
  ```
@@ -162,7 +162,7 @@ Use PostPlus when you need to decide whether a product, category, or channel is
162
162
  Example requests:
163
163
 
164
164
  ```text
165
- "Does this product fit TikTok Shop or Amazon better?"
165
+ "Does this product fit Amazon or a content-led launch better?"
166
166
  "Find 1688 suppliers and compare them against demand signals."
167
167
  "Analyze whether this category has enough content proof to test."
168
168
  ```
@@ -244,7 +244,7 @@ Typical outputs:
244
244
 
245
245
  ```text
246
246
  Product idea
247
- -> collect TikTok, Amazon, TikTok Shop, Xiaohongshu, Google Trends, or 1688 evidence
247
+ -> collect TikTok, Amazon, Xiaohongshu, Google Trends, or 1688 evidence
248
248
  -> compare demand, content fit, supply, price, and risk
249
249
  -> produce a go / no-go / test-first recommendation
250
250
  ```
@@ -305,7 +305,7 @@ Examples: social media routing, creator discovery routing, media routing, patter
305
305
 
306
306
  For collecting and analyzing public signals from platforms, marketplaces, search behavior, and social content.
307
307
 
308
- Examples: TikTok, TikTok ads, Instagram, X, YouTube, LinkedIn, Facebook, Xiaohongshu, 1688, Amazon, TikTok Shop, Google Trends.
308
+ Examples: TikTok, TikTok ads, Instagram, X, YouTube, LinkedIn, Facebook, Xiaohongshu, 1688, Amazon, Google Trends.
309
309
 
310
310
  ### 3. Decide and Shortlist
311
311
 
@@ -345,7 +345,7 @@ This is not a full catalog. It is a practical map of the problems PostPlus is me
345
345
  |---|---|---|
346
346
  | Understand a market or audience | Topic listening, trend discovery, competitor snapshots, comment mining, audience language, demand signals | TikTok, Instagram, X, YouTube, LinkedIn, Facebook, Xiaohongshu, Google Trends, Amazon reviews |
347
347
  | Find creators or KOL/KOC partners | Creator discovery, profile enrichment, content-fit scoring, shortlist building, contact signal extraction, outreach prep | TikTok creators, Instagram creators, Xiaohongshu accounts, X accounts, creator graph, follower bands, engagement proxy |
348
- | Decide whether a product is worth testing | Product selection, marketplace comparison, channel fit, price bands, review analysis, supply-side checks, sourcing judgment | Amazon, TikTok Shop, 1688, Google Trends, Xiaohongshu commerce, supplier ranking, SKU, MOQ, margin risk |
348
+ | Decide whether a product is worth testing | Product selection, marketplace comparison, channel fit, price bands, review analysis, supply-side checks, sourcing judgment | Amazon, 1688, Google Trends, Xiaohongshu commerce, supplier ranking, SKU, MOQ, margin risk |
349
349
  | Turn references into creative direction | Reference decoding, hook analysis, visual grammar, benchmark-to-brief, persona packs, storyboard planning, prompt QA | TikTok videos, Reels, Xiaohongshu notes, short-form hooks, UGC, product demo, lifestyle, testimonial |
350
350
  | Produce media assets | Transcription, subtitles, frame extraction, B-roll planning, image generation, video generation, voice generation, edit packaging | Whisper, SRT/VTT/ASS, B-roll, storyboard grid, hosted media generation, image prompts, video requests |
351
351
  | Plan content and messaging | Positioning, content strategy, copywriting, social content, email sequences, SEO, AI search, launch planning | Blog, landing page, LinkedIn, X, Xiaohongshu, cold email, content pillars, hooks, objections, offers |
@@ -2,6 +2,7 @@ import { randomUUID } from 'node:crypto';
2
2
  import { createServer } from 'node:http';
3
3
  import { requireHostedBaseUrl } from './hosted-release.js';
4
4
  import { setLocalSession } from './local-state.js';
5
+ export const CLI_AUTH_HANDOFF_TIMEOUT_MS = 30 * 60 * 1000;
5
6
  export async function loginWithBrowserHandoff() {
6
7
  const baseUrl = await requireHostedBaseUrl();
7
8
  const handoff = await createCliAuthHandoffServer({
@@ -18,7 +19,7 @@ export async function loginWithBrowserHandoff() {
18
19
  'Open this URL in your browser to continue:',
19
20
  loginUrl,
20
21
  '',
21
- 'Waiting for browser sign-in...',
22
+ 'Waiting for browser sign-in (up to 30 minutes)...',
22
23
  '',
23
24
  ].join('\n'));
24
25
  try {
@@ -84,7 +85,7 @@ export function formatCliSessionAuthError(payload) {
84
85
  }
85
86
  return 'Failed to validate the browser session for PostPlus CLI.';
86
87
  }
87
- async function createCliAuthHandoffServer(input) {
88
+ export async function createCliAuthHandoffServer(input) {
88
89
  const requestId = randomUUID();
89
90
  return new Promise((resolve, reject) => {
90
91
  let settled = false;
@@ -107,6 +108,7 @@ async function createCliAuthHandoffServer(input) {
107
108
  response.writeHead(204, {
108
109
  'Access-Control-Allow-Headers': 'Content-Type',
109
110
  'Access-Control-Allow-Methods': 'POST, OPTIONS',
111
+ 'Access-Control-Allow-Private-Network': 'true',
110
112
  'Access-Control-Allow-Origin': allowOrigin,
111
113
  'Access-Control-Max-Age': '600',
112
114
  Vary: 'Origin',
@@ -184,7 +186,7 @@ async function createCliAuthHandoffServer(input) {
184
186
  rejectPayload?.(new Error('Timed out waiting for the browser sign-in handoff.'));
185
187
  }
186
188
  server.close();
187
- }, 5 * 60 * 1000);
189
+ }, CLI_AUTH_HANDOFF_TIMEOUT_MS);
188
190
  resolve({
189
191
  bridgeUrl: `http://127.0.0.1:${address.port}/handoff`,
190
192
  close: async () => new Promise((innerResolve, innerReject) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postplus/cli",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "packageManager": "pnpm@10.30.3+sha512.c961d1e0a2d8e354ecaa5166b822516668b7f44cb5bd95122d590dd81922f606f5473b6d23ec4a5be05e7fcd18e8488d47d978bbe981872f1145d06e9a740017",
5
5
  "type": "module",
6
6
  "description": "PostPlus CLI for PostPlus Cloud auth, status, and diagnostics.",