@geoly-ai/social-hub-cli 0.3.0 → 0.3.2

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 (51) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cmd-manifest.json +2 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +49 -72
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/json-arg.d.ts +46 -0
  7. package/dist/lib/json-arg.d.ts.map +1 -0
  8. package/dist/lib/json-arg.js +115 -0
  9. package/dist/lib/json-arg.js.map +1 -0
  10. package/dist/lib/json-arg.test.d.ts +2 -0
  11. package/dist/lib/json-arg.test.d.ts.map +1 -0
  12. package/dist/lib/json-arg.test.js +101 -0
  13. package/dist/lib/json-arg.test.js.map +1 -0
  14. package/dist/post-review-json-arg.test.d.ts +2 -0
  15. package/dist/post-review-json-arg.test.d.ts.map +1 -0
  16. package/dist/post-review-json-arg.test.js +86 -0
  17. package/dist/post-review-json-arg.test.js.map +1 -0
  18. package/dist/skill-update-check.d.ts +9 -0
  19. package/dist/skill-update-check.d.ts.map +1 -1
  20. package/dist/skill-update-check.js +10 -4
  21. package/dist/skill-update-check.js.map +1 -1
  22. package/dist/skill-update-check.test.js +31 -2
  23. package/dist/skill-update-check.test.js.map +1 -1
  24. package/dist/skills/install-planner.d.ts +9 -0
  25. package/dist/skills/install-planner.d.ts.map +1 -1
  26. package/dist/skills/install-planner.js +11 -1
  27. package/dist/skills/install-planner.js.map +1 -1
  28. package/dist/skills/install-planner.test.js +62 -1
  29. package/dist/skills/install-planner.test.js.map +1 -1
  30. package/dist/skills/installer.js +26 -0
  31. package/dist/skills/installer.js.map +1 -1
  32. package/dist/skills/managed-sync.integration.test.js +83 -0
  33. package/dist/skills/managed-sync.integration.test.js.map +1 -1
  34. package/dist/skills/types.d.ts +9 -0
  35. package/dist/skills/types.d.ts.map +1 -1
  36. package/dist/update-check.d.ts +14 -1
  37. package/dist/update-check.d.ts.map +1 -1
  38. package/dist/update-check.js +39 -7
  39. package/dist/update-check.js.map +1 -1
  40. package/dist/update-check.notify.test.d.ts +2 -0
  41. package/dist/update-check.notify.test.d.ts.map +1 -0
  42. package/dist/update-check.notify.test.js +51 -0
  43. package/dist/update-check.notify.test.js.map +1 -0
  44. package/dist/update-check.test.js +41 -6
  45. package/dist/update-check.test.js.map +1 -1
  46. package/package.json +1 -1
  47. package/skills/manifest.json +1 -1
  48. package/skills/reddit-matrix.lock.json +1 -1
  49. package/skills/reddit-voc-volume/SKILL.md +21 -4
  50. package/skills/reddit-voc-volume/references/hub-first.md +4 -2
  51. package/skills/social-hub-shared/SKILL.md +1 -1
@@ -1,7 +1,19 @@
1
1
  export declare const PACKAGE_NAME = "@geoly-ai/social-hub-cli";
2
+ type UpdateCache = {
3
+ checkedAt: string;
4
+ latest: string;
5
+ };
2
6
  export declare function shouldSkipUpdateCheck(argv: string[]): boolean;
7
+ /**
8
+ * version/help invocations must stay instant: they trigger the background
9
+ * auto-update only from a fresh cache and never block on a network round-trip
10
+ * (see the cache-only branch in maybeNotifyUpdate). Covers the -V/--version and
11
+ * -h/--help flags plus the `version`/`help` subcommands.
12
+ */
13
+ export declare function isVersionOrHelpInvocation(argv: string[]): boolean;
3
14
  export declare function isNewerVersion(latest: string, current: string): boolean;
4
- /** Real-time npm latest lookup (bypasses the 24h notice cache). */
15
+ export declare function cacheIsFresh(cache: UpdateCache): boolean;
16
+ /** Real-time npm latest lookup (bypasses the notice cache). */
5
17
  export declare function getLatestVersion(): Promise<string | null>;
6
18
  /**
7
19
  * Commands `self-update` runs for a global install: upgrade the CLI, then sync
@@ -43,4 +55,5 @@ export declare function spawnBackgroundUpdate(latest: string, lockFile?: string)
43
55
  /** 后台更新已启动时给人/agent 的一行提示(stderr;不污染 stdout/JSON)。 */
44
56
  export declare function formatAutoUpdateLines(current: string, latest: string): string[];
45
57
  export declare function maybeNotifyUpdate(argv?: string[]): Promise<void>;
58
+ export {};
46
59
  //# sourceMappingURL=update-check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,6BAA6B,CAAC;AAevD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAW7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAavE;AA6BD,mEAAmE;AACnE,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE/D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,GAC5B,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBvD;AAoBD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAUV;AAaD,wBAAgB,oBAAoB,IAAI,OAAO,CAI9C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,GAAE,MAA8B,GACvC,OAAO,CA4BT;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,GAAE,MAA8B,GACvC,IAAI,CAMN;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAA8B,GACvC,OAAO,CAcT;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAQV;AAoBD,wBAAsB,iBAAiB,CACrC,IAAI,GAAE,MAAM,EAAiB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAqBf"}
1
+ {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,6BAA6B,CAAC;AAavD,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAkB7D;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAYjE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAavE;AAuBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAIxD;AAED,+DAA+D;AAC/D,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE/D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,GAC5B,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBvD;AAoBD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAUV;AAaD,wBAAgB,oBAAoB,IAAI,OAAO,CAI9C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,GAAE,MAA8B,GACvC,OAAO,CA4BT;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,GAAE,MAA8B,GACvC,IAAI,CAMN;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAA8B,GACvC,OAAO,CAcT;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAQV;AAoBD,wBAAsB,iBAAiB,CACrC,IAAI,GAAE,MAAM,EAAiB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
@@ -6,7 +6,10 @@ import { isRunningViaNpx } from "./skills/paths.js";
6
6
  import { getCliVersion } from "./version-info.js";
7
7
  export const PACKAGE_NAME = "@geoly-ai/social-hub-cli";
8
8
  const REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME.replace("/", "%2F")}/latest`;
9
- const CACHE_TTL_MS = 24 * 60 * 60 * 1000;
9
+ // Notice cache TTL: fresh cache is reused (no npm re-fetch); once older than
10
+ // this the next non-version/help command re-queries the registry. Kept short
11
+ // (4h) so a new release propagates to already-upgraded machines within hours.
12
+ const CACHE_TTL_MS = 4 * 60 * 60 * 1000;
10
13
  const FETCH_TIMEOUT_MS = 2_000;
11
14
  const CACHE_DIR = join(homedir(), ".config", "geoly");
12
15
  const CACHE_FILE = join(CACHE_DIR, "social-hub-update-check.json");
@@ -20,14 +23,37 @@ export function shouldSkipUpdateCheck(argv) {
20
23
  return true;
21
24
  if (argv.includes("--no-update-check"))
22
25
  return true;
23
- const skipCommands = new Set(["version", "help", "self-update"]);
26
+ // `self-update` runs its own foreground `npm i -g`; a concurrent background
27
+ // auto-update would double-install, so it stays excluded. Matched on the
28
+ // command position (not anywhere in argv) so a literal "self-update" passed
29
+ // as an option value can't accidentally suppress the check.
30
+ //
31
+ // version/help — both the subcommands AND the --version/-V, --help/-h flags —
32
+ // now DO trigger the check so `social-hub --version` propagates upgrades.
33
+ // maybeNotifyUpdate keeps them instant via a cache-only fast path (no fetch).
24
34
  const args = argv.slice(2);
25
- if (args.includes("-V") || args.includes("--version"))
26
- return true;
27
- if (args.some((arg) => skipCommands.has(arg)))
35
+ const firstPositional = args.find((arg) => !arg.startsWith("-"));
36
+ if (firstPositional === "self-update")
28
37
  return true;
29
38
  return false;
30
39
  }
40
+ /**
41
+ * version/help invocations must stay instant: they trigger the background
42
+ * auto-update only from a fresh cache and never block on a network round-trip
43
+ * (see the cache-only branch in maybeNotifyUpdate). Covers the -V/--version and
44
+ * -h/--help flags plus the `version`/`help` subcommands.
45
+ */
46
+ export function isVersionOrHelpInvocation(argv) {
47
+ const args = argv.slice(2);
48
+ if (args.includes("-V") ||
49
+ args.includes("--version") ||
50
+ args.includes("-h") ||
51
+ args.includes("--help")) {
52
+ return true;
53
+ }
54
+ const firstPositional = args.find((arg) => !arg.startsWith("-"));
55
+ return firstPositional === "version" || firstPositional === "help";
56
+ }
31
57
  export function isNewerVersion(latest, current) {
32
58
  const parse = (value) => value.split(".").map((part) => Number.parseInt(part, 10) || 0);
33
59
  const latestParts = parse(latest);
@@ -59,13 +85,13 @@ function writeCache(latest) {
59
85
  // ignore cache write failures
60
86
  }
61
87
  }
62
- function cacheIsFresh(cache) {
88
+ export function cacheIsFresh(cache) {
63
89
  const checkedAt = Date.parse(cache.checkedAt);
64
90
  if (Number.isNaN(checkedAt))
65
91
  return false;
66
92
  return Date.now() - checkedAt < CACHE_TTL_MS;
67
93
  }
68
- /** Real-time npm latest lookup (bypasses the 24h notice cache). */
94
+ /** Real-time npm latest lookup (bypasses the notice cache). */
69
95
  export async function getLatestVersion() {
70
96
  return fetchLatestVersion();
71
97
  }
@@ -252,6 +278,12 @@ export async function maybeNotifyUpdate(argv = process.argv) {
252
278
  }
253
279
  return;
254
280
  }
281
+ // version/help must not block on a network fetch — they trigger the auto-update
282
+ // only from a fresh cache (kept warm by regular commands on the 4h TTL). With a
283
+ // stale/absent cache, skip the fetch this run so `--version`/`--help` stay
284
+ // instant; the next regular command refreshes the cache.
285
+ if (isVersionOrHelpInvocation(argv))
286
+ return;
255
287
  const latest = await fetchLatestVersion();
256
288
  if (!latest)
257
289
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAC;AACvD,MAAM,YAAY,GAAG,8BAA8B,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC;AAC7F,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACxC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACtD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;AACnE,iEAAiE;AACjE,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;AAC7E,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAO/C,MAAM,UAAU,qBAAqB,CAAC,IAAc;IAClD,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACnE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3E,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpD,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,4DAA4D;IAC5D,EAAE;IACF,8EAA8E;IAC9E,0EAA0E;IAC1E,8EAA8E;IAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,IAAI,eAAe,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAEnD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAc;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACvB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,MAAM,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,OAAe;IAC5D,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAC9B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3E,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS;IAChB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAgB,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,IAAI,CAAC;QACH,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,aAAa,CACX,UAAU,EACV,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EACxE,MAAM,CACP,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAkB;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,YAAY,CAAC;AAC/C,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,kBAAkB,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,IAA6B;IAE7B,MAAM,KAAK,GAAG;QACZ;YACE,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC;YACpD,KAAK,EAAE,kBAAkB,YAAY,IAAI,MAAM,EAAE;SAClD;KACF,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC;YACT,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,YAAY,IAAI,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;YACvE,KAAK,EAAE,aAAa,YAAY,IAAI,MAAM,oBAAoB;SAC/D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;YACpC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;QACxD,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,eAAe,EAAE;QACtB,CAAC,CAAC,OAAO,YAAY,IAAI,MAAM,EAAE;QACjC,CAAC,CAAC,kBAAkB,YAAY,IAAI,MAAM,EAAE,CAAC;AACjD,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,uBAAuB,CACrC,OAAe,EACf,MAAc;IAEd,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO;QACL,EAAE;QACF,kCAAkC,OAAO,MAAM,MAAM,EAAE;QACvD,2FAA2F;QAC3F,oCAAoC,SAAS,uCAAuC;QACpF,kJAAkJ;QAClJ,EAAE;KACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,MAAc;IACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,8EAA8E;AAC9E,wDAAwD;AACxD,qDAAqD;AACrD,wEAAwE;AACxE,kCAAkC;AAClC,8EAA8E;AAE9E,MAAM,UAAU,oBAAoB;IAClC,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,eAAe,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAmB,qBAAqB;IAExC,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,aAAa,CACX,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,EAClE,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,uBAAuB,EAAE,CAAC;oBACnE,OAAO,KAAK,CAAC,CAAC,QAAQ;gBACxB,CAAC;gBACD,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,WAAmB,qBAAqB;IAExC,IAAI,CAAC;QACH,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,WAAmB,qBAAqB;IAExC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC,EAAE;YACzE,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,MAAc;IAEd,OAAO;QACL,EAAE;QACF,8BAA8B,OAAO,MAAM,MAAM,4BAA4B;QAC7E,8BAA8B,OAAO,iDAAiD,MAAM,GAAG;QAC/F,oGAAoG;QACpG,EAAE;KACH,CAAC;AACJ,CAAC;AAED,oCAAoC;AACpC,SAAS,kBAAkB,CACzB,OAAe,EACf,MAAc,EACd,IAAc;IAEd,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC3B,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB;QAC1D,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,OAAO,CAAC,eAAe;IAC/D,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,wDAAwD;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAiB,OAAO,CAAC,IAAI;IAE7B,IAAI,qBAAqB,CAAC,IAAI,CAAC;QAAE,OAAO;IAExC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO;IAElC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3C,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,OAAO;IACT,CAAC;IAED,gFAAgF;IAChF,gFAAgF;IAChF,2EAA2E;IAC3E,yDAAyD;IACzD,IAAI,yBAAyB,CAAC,IAAI,CAAC;QAAE,OAAO;IAE5C,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,IAAI,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QACpC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=update-check.notify.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.notify.test.d.ts","sourceRoot":"","sources":["../src/update-check.notify.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
+ // Force the notice cache to be absent (readFileSync throws) so we exercise the
3
+ // stale/absent-cache path deterministically regardless of the dev machine's
4
+ // real ~/.config/geoly cache. Isolated in its own file so this fs mock doesn't
5
+ // affect the temp-dir lock tests in update-check.test.ts.
6
+ vi.mock("node:fs", async (importOriginal) => {
7
+ const actual = await importOriginal();
8
+ return {
9
+ ...actual,
10
+ readFileSync: vi.fn(() => {
11
+ throw new Error("no cache");
12
+ }),
13
+ };
14
+ });
15
+ // Keep a real, known current version so maybeNotifyUpdate doesn't bail on
16
+ // "unknown" before reaching the fetch decision.
17
+ vi.mock("./version-info.js", () => ({
18
+ getCliVersion: () => "0.0.1",
19
+ }));
20
+ const { maybeNotifyUpdate } = await import("./update-check.js");
21
+ describe("maybeNotifyUpdate cache-only fast path", () => {
22
+ let fetchSpy;
23
+ beforeEach(() => {
24
+ // Reject so fetchLatestVersion returns null (no writeCache, no auto-update
25
+ // spawn) — we only assert WHETHER the network was consulted.
26
+ fetchSpy = vi.fn().mockRejectedValue(new Error("network disabled in test"));
27
+ vi.stubGlobal("fetch", fetchSpy);
28
+ delete process.env["SOCIAL_HUB_NO_UPDATE_CHECK"];
29
+ delete process.env["CI"];
30
+ });
31
+ afterEach(() => {
32
+ vi.unstubAllGlobals();
33
+ });
34
+ it("does NOT hit the network for --version when the cache is stale/absent", async () => {
35
+ await maybeNotifyUpdate(["node", "cli", "--version"]);
36
+ expect(fetchSpy).not.toHaveBeenCalled();
37
+ });
38
+ it("does NOT hit the network for --help when the cache is stale/absent", async () => {
39
+ await maybeNotifyUpdate(["node", "cli", "--help"]);
40
+ expect(fetchSpy).not.toHaveBeenCalled();
41
+ });
42
+ it("does NOT hit the network for the version subcommand", async () => {
43
+ await maybeNotifyUpdate(["node", "cli", "version"]);
44
+ expect(fetchSpy).not.toHaveBeenCalled();
45
+ });
46
+ it("DOES query npm for a normal command when the cache is stale/absent", async () => {
47
+ await maybeNotifyUpdate(["node", "cli", "doctor"]);
48
+ expect(fetchSpy).toHaveBeenCalledTimes(1);
49
+ });
50
+ });
51
+ //# sourceMappingURL=update-check.notify.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.notify.test.js","sourceRoot":"","sources":["../src/update-check.notify.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEzE,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAC/E,0DAA0D;AAC1D,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAG,MAAM,cAAc,EAA4B,CAAC;IAChE,OAAO;QACL,GAAG,MAAM;QACT,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC,CAAC;KACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,0EAA0E;AAC1E,gDAAgD;AAChD,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO;CAC7B,CAAC,CAAC,CAAC;AAEJ,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAEhE,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;IACtD,IAAI,QAAkC,CAAC;IAEvC,UAAU,CAAC,GAAG,EAAE;QACd,2EAA2E;QAC3E,6DAA6D;QAC7D,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC5E,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,iBAAiB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,iBAAiB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,iBAAiB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,iBAAiB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -2,7 +2,7 @@ import { mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
2
2
  import { tmpdir } from "node:os";
3
3
  import { join } from "node:path";
4
4
  import { afterEach, beforeEach, describe, expect, it } from "vitest";
5
- import { acquireAutoUpdateLock, buildSelfUpdateSteps, formatAutoUpdateLines, formatUpdateNoticeLines, formatUpgradeCommand, isNewerVersion, releaseAutoUpdateLock, shouldSkipAutoUpdate, shouldSkipUpdateCheck, } from "./update-check.js";
5
+ import { acquireAutoUpdateLock, buildSelfUpdateSteps, cacheIsFresh, formatAutoUpdateLines, formatUpdateNoticeLines, formatUpgradeCommand, isNewerVersion, isVersionOrHelpInvocation, releaseAutoUpdateLock, shouldSkipAutoUpdate, shouldSkipUpdateCheck, } from "./update-check.js";
6
6
  describe("shouldSkipUpdateCheck", () => {
7
7
  it("skips when env SOCIAL_HUB_NO_UPDATE_CHECK=1", () => {
8
8
  const prev = process.env["SOCIAL_HUB_NO_UPDATE_CHECK"];
@@ -17,10 +17,15 @@ describe("shouldSkipUpdateCheck", () => {
17
17
  process.env["SOCIAL_HUB_NO_UPDATE_CHECK"] = prev;
18
18
  }
19
19
  });
20
- it("skips version and help subcommands", () => {
21
- expect(shouldSkipUpdateCheck(["node", "cli", "version"])).toBe(true);
22
- expect(shouldSkipUpdateCheck(["node", "cli", "--version"])).toBe(true);
23
- expect(shouldSkipUpdateCheck(["node", "cli", "help", "doctor"])).toBe(true);
20
+ it("no longer skips version/help commands or the --version/--help flags", () => {
21
+ // version/help now trigger the check (kept instant via cache-only fast path)
22
+ // so `social-hub --version` can propagate a background auto-update.
23
+ expect(shouldSkipUpdateCheck(["node", "cli", "version"])).toBe(false);
24
+ expect(shouldSkipUpdateCheck(["node", "cli", "--version"])).toBe(false);
25
+ expect(shouldSkipUpdateCheck(["node", "cli", "-V"])).toBe(false);
26
+ expect(shouldSkipUpdateCheck(["node", "cli", "help", "doctor"])).toBe(false);
27
+ expect(shouldSkipUpdateCheck(["node", "cli", "--help"])).toBe(false);
28
+ expect(shouldSkipUpdateCheck(["node", "cli", "doctor", "--help"])).toBe(false);
24
29
  });
25
30
  it("skips when --no-update-check is present", () => {
26
31
  expect(shouldSkipUpdateCheck(["node", "cli", "--no-update-check", "doctor"])).toBe(true);
@@ -30,8 +35,38 @@ describe("shouldSkipUpdateCheck", () => {
30
35
  expect(shouldSkipUpdateCheck(["node", "cli", "doctor"])).toBe(false);
31
36
  expect(shouldSkipUpdateCheck(["node", "cli", "health"])).toBe(false);
32
37
  });
33
- it("skips the redundant notice on self-update", () => {
38
+ it("skips the redundant notice on self-update (command position only)", () => {
34
39
  expect(shouldSkipUpdateCheck(["node", "cli", "self-update"])).toBe(true);
40
+ // "self-update" as an option value must NOT suppress the check.
41
+ expect(shouldSkipUpdateCheck(["node", "cli", "doctor", "--note", "self-update"])).toBe(false);
42
+ });
43
+ });
44
+ describe("isVersionOrHelpInvocation", () => {
45
+ it("matches the version/help flags and subcommands", () => {
46
+ expect(isVersionOrHelpInvocation(["node", "cli", "--version"])).toBe(true);
47
+ expect(isVersionOrHelpInvocation(["node", "cli", "-V"])).toBe(true);
48
+ expect(isVersionOrHelpInvocation(["node", "cli", "--help"])).toBe(true);
49
+ expect(isVersionOrHelpInvocation(["node", "cli", "-h"])).toBe(true);
50
+ expect(isVersionOrHelpInvocation(["node", "cli", "version"])).toBe(true);
51
+ expect(isVersionOrHelpInvocation(["node", "cli", "help", "doctor"])).toBe(true);
52
+ expect(isVersionOrHelpInvocation(["node", "cli", "doctor", "--help"])).toBe(true);
53
+ });
54
+ it("does not match normal commands", () => {
55
+ expect(isVersionOrHelpInvocation(["node", "cli", "doctor"])).toBe(false);
56
+ expect(isVersionOrHelpInvocation(["node", "cli", "posts", "list"])).toBe(false);
57
+ });
58
+ });
59
+ describe("cacheIsFresh (4h TTL)", () => {
60
+ it("treats a cache younger than 4h as fresh", () => {
61
+ const checkedAt = new Date(Date.now() - 3 * 60 * 60 * 1000).toISOString();
62
+ expect(cacheIsFresh({ checkedAt, latest: "0.2.30" })).toBe(true);
63
+ });
64
+ it("treats a cache older than 4h as stale", () => {
65
+ const checkedAt = new Date(Date.now() - 5 * 60 * 60 * 1000).toISOString();
66
+ expect(cacheIsFresh({ checkedAt, latest: "0.2.30" })).toBe(false);
67
+ });
68
+ it("treats an unparseable timestamp as stale", () => {
69
+ expect(cacheIsFresh({ checkedAt: "not-a-date", latest: "0.2.30" })).toBe(false);
35
70
  });
36
71
  });
37
72
  describe("formatUpdateNoticeLines", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"update-check.test.js","sourceRoot":"","sources":["../src/update-check.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-check.test.js","sourceRoot":"","sources":["../src/update-check.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,GAAG,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;;gBACpE,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,6EAA6E;QAC7E,oEAAoE;QACpE,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CACnE,KAAK,CACN,CAAC;QACF,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CACJ,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,CACJ,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,gEAAgE;QAChE,MAAM,CACJ,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAC1E,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CACvE,IAAI,CACL,CAAC;QACF,MAAM,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CACzE,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CACtE,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CACtE,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,KAAK,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC;YAC7B,SAAS;YACT,IAAI;YACJ,gCAAgC;SACjC,CAAC,CAAC;QACH,0EAA0E;QAC1E,yEAAyE;QACzE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC;YAC7B,OAAO;YACP,gCAAgC;YAChC,QAAQ;YACR,MAAM;YACN,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAClE,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,GAAG,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;;gBACnE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,8CAA8C,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,GAAW,CAAC;IAChB,IAAI,QAAgB,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE;QACd,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACrD,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACpE,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,aAAa;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAmB,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geoly-ai/social-hub-cli",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "type": "module",
5
5
  "description": "social-hub CLI for Social Ops Hub",
6
6
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 1,
3
3
  "package": "social-ops-hub",
4
- "cliVersion": "0.3.0",
4
+ "cliVersion": "0.3.2",
5
5
  "repository": "social-ops-hub",
6
6
  "publish": {
7
7
  "registry": "https://skill.sh",
@@ -28,7 +28,7 @@
28
28
  "contentSha256": "e619faf2e9a54770b4ee52889bd1da045c21c5226ea8e58b6fd02b2ee87ca77b"
29
29
  },
30
30
  "reddit-voc-volume": {
31
- "contentSha256": "3c95bc365df0e7869c558a851e2bf4d1e377429ee9414bf03faa9d193d071c11"
31
+ "contentSha256": "4f3fa174ca084691c39fb80eb226d965005c0cf3b0977844028ddb9bb17d116b"
32
32
  },
33
33
  "reddit-brand-risk-response": {
34
34
  "contentSha256": "5d375160d99de5ad86075abb2f2b1ec25c120cd02ad1e204f0748144ff57cf97"
@@ -4,7 +4,8 @@ description: |
4
4
  获取 Reddit VOC 声量、历史帖文与公开 URL 证据:按关键词/品牌词搜索、指定 subreddit 扫描、批量链接汇总帖子量/评论量/score/子版分布,**按时间窗回溯 2005 年至今的历史帖子(正文全文,不截断)**,读取版规/wiki/subreddit 元数据,并通过 Social Hub 或自托管 Firecrawl 读取公开 About 页周访客/周贡献/周活跃用户兼容字段、Installed Apps、flair filters、通用 page_signals,以及**核验归档 score 与版规是否仍然现行**,输出结构化 JSON。
5
5
  用户提到 Reddit VOC、品牌词/竞品讨论量、subreddit 声量、帖子评论量统计、舆情采样、批量 Reddit 链接、about/rules/wiki、版规、**历史帖子/往年数据/时间窗回溯/某年某月的帖子/长期趋势**、置顶帖/pinned/sticky/megathread、公开 About 页周指标、Installed Apps、flair filters、页面公开链接信号,或需要**建 subreddit baseline 卡/统计正文长度分布**时必须用本 skill。
6
6
  v2.12.28 起 reddit `.json` 直采已全部移除:搜索/帖子/about/版规/wiki 一律走 Arctic Shift 归档 API(`history` 模式 + Emergency Acquisition),正文不截断;归档 `score` 带 `score_status`,只有 `Backfilled`/`VerifiedLive` 可用于声量,`--verify-scores` / `--verify-rules` 用 Firecrawl 渲染页核验实时值。**置顶是 live 语义,本地已无采集途径,只能走 Social Hub**,取不到标 NotVisible,不得用归档 stickied 代替。
7
- Hub-First 链路不变:`keyword` / `subreddit` 及证据类模式先查 Social Hub(voc-query/evidence-status),缺口由 Hub 派发(dispatch-on-gap/evidence-fetch)并轮询 runs(partial 定向重派一次);仅 Hub failed/timeout/unreachable 才进入本地 Emergency Acquisition,本地成功结果自动回灌 Hub(hot-posts-create/evidence-import),coverage 满足但读不到 items 时输出 itemsUnavailable 而非假成功。不用于全站爬取、绕过登录墙或读取 mod 后台。
7
+ **历史数据类意图直连 Arctic,不走 Hub-First**:历史帖子 / 往年数据 / 时间窗回溯 / 某年某月 / 长期趋势 / subreddit baseline 卡需历史样本,一律直接路由到 `history` 模式(Arctic Shift 深度归档,权威源,正文不截断),**不经 Hub-First 四级链路**——Hub 只有近实时缓存、不持有深度归档,历史查 Hub 是浪费且拿不到。仅「当下声量」类(`keyword` / `subreddit` 及证据类模式)才走 Hub-First。
8
+ Hub-First 链路(仅当下声量/证据类,不含 history):`keyword` / `subreddit` 及证据类模式先查 Social Hub(voc-query/evidence-status),缺口由 Hub 派发(dispatch-on-gap/evidence-fetch)并轮询 runs(partial 定向重派一次);仅 Hub failed/timeout/unreachable 才进入本地 Emergency Acquisition,本地成功结果自动回灌 Hub(hot-posts-create/evidence-import),coverage 满足但读不到 items 时输出 itemsUnavailable 而非假成功。不用于全站爬取、绕过登录墙或读取 mod 后台。
8
9
  ---
9
10
 
10
11
  # Reddit VOC 声量
@@ -18,12 +19,28 @@ reddit.com。**使用前读 [references/arctic-shift.md](references/arctic-shift
18
19
  尤其是「能力边界」表:正文 / `num_comments` / `upvote_ratio` / 版规 / wiki 可用;
19
20
  **`score` 不可信**(实测约 1/3 归档行是发帖瞬间的陈旧值,逐条标 `score_status`,
20
21
  只有 `Backfilled` 允许用于声量);此刻置顶、当前 hot、About 页周指标是 live 语义,
21
- 仍走 Hub / Firecrawl。它替换的是四级链路里 L3 Emergency Acquisition 的**实现**,
22
- 不改变链路位置——Hub 可用时永远优先走 Hub。
22
+ 仍走 Hub / Firecrawl
23
+
24
+ ### 路由:历史意图 → `history` 模式(固定 Arctic,不 hub-first)
25
+
26
+ **深度归档(往年 / 时间窗 / 长期趋势 / baseline 历史样本)的权威源是 Arctic Shift,Hub 只有近实时缓存、不持有深度归档。** 因此凡属下列意图,**直接执行 `history` 模式,不经 Hub-First 四级链路**(不查 voc-query、不派 dispatch):
27
+
28
+ - 历史帖子 / 往年数据 / 某年某月的帖子 / 回溯到 20xx 年 / 截至某日
29
+ - 任意**绝对日期区间**回溯(`--after` / `--before`)、早于 Hub 覆盖窗口
30
+ - 过去 N 年、跨年 / 同比、按季度、长期趋势 / 趋势演变、逐年 / 逐月抽样、历史基准 / 回测、事件前后对比
31
+ - 建 subreddit baseline 卡且需要历史正文样本 / 长度分布语料
32
+
33
+ **边界(勿把"近期"误判为历史)**:「最近一天 / 一周 / 一月、本周、本月、当前热度」仍是**当下声量**,走 `keyword` / `subreddit` Hub-First(Hub 侧另有 `--hub-time-window day|week|month` 覆盖近实时窗口);只有上面那种绝对日期 / 跨年 / 早于 Hub 覆盖 / 历史基线的意图才进 `history`。长期趋势应**按月 / 年分桶多次查询**,不要把单次 `--limit` 样本当成完整总体。
34
+
35
+ `history` 模式在脚本层就固定走 `arctic_search_posts`,**不接受 `--acquisition-policy`**(`history` 子命令未注册该参数,显式传入会直接报错退出),`provenance` 恒为 `arctic_shift`。对历史意图先撞 Hub 是错误引导——Hub 会返回近实时缓存空窗或缺口,既浪费一次派发轮询又拿不到深归档。
36
+
37
+ 当下声量(`keyword` / `subreddit`)与证据类(rules/wiki/about/pinned/flair)仍按下节 Hub-First。Arctic 后端只是 `keyword` / `subreddit` 的 L3 Emergency Acquisition **实现**(证据 live 类的本地兜底是 Firecrawl,stickies 本地无有效采集路径),不改变 Hub 优先级——这些模式 Hub 可用时永远优先走 Hub。
23
38
 
24
39
  ## Hub-First 数据链路(v2.12.25,必读)
25
40
 
26
- **执行任何模式前,先读 [references/hub-first.md](references/hub-first.md)** 并按 acquisition-policy(缺省 hub-first)走四级链路:**Hub Cache Hub Dispatch Emergency Acquisition → Hub Write-back**。要点:
41
+ > **例外:`history` 模式不适用 Hub-First。** 历史/时间窗/往年数据固定走 Arctic Shift 归档(见上节路由),不查 Hub、不派发、不读 acquisition-policy。本节只约束 `keyword` / `subreddit` 及证据类模式。
42
+
43
+ **执行当下声量 / 证据类模式前,先读 [references/hub-first.md](references/hub-first.md)** 并按 acquisition-policy(缺省 hub-first)走四级链路:**Hub Cache → Hub Dispatch → Emergency Acquisition → Hub Write-back**。要点:
27
44
 
28
45
  - L1 `keyword` / `subreddit` 由脚本自动执行 `voc-query`;命中且 fresh → 直接消费(provenance=social_hub_cache,零 Reddit 请求)。
29
46
  - 缺口默认 Hub 派发(voc-query --dispatch-on-gap / evidence-fetch / comments-fetch)+ runs-list 轮询(5s→30s 退避,10min 硬超时;partial 按维判;**超时≠无数据**)。
@@ -1,12 +1,14 @@
1
1
  # Hub-First 数据链路(v2.12.25)
2
2
 
3
- 矩阵所有 Reddit 公开数据消费遵循四级链路:**Hub Cache → Hub Dispatch → Emergency Acquisition → Hub Write-back**。本地采集(本 skill 的 Python 工具)正式定名 **Emergency Acquisition**——它不是与 Hub 并列的默认链路,只在 Hub 失败/离线且急用时启用。
3
+ 矩阵**当下声量 / 证据类** Reddit 公开数据消费遵循四级链路:**Hub Cache → Hub Dispatch → Emergency Acquisition → Hub Write-back**。本地采集(本 skill 的 Python 工具)正式定名 **Emergency Acquisition**——它不是与 Hub 并列的默认链路,只在 Hub 失败/离线且急用时启用。
4
+
5
+ > **`history` 模式不在本链路内。** 历史/往年数据/时间窗回溯/长期趋势/建 baseline 卡的历史样本固定走 Arctic Shift 深度归档(权威源),**不查 Hub、不派发、不读 acquisition-policy**——Hub 只有近实时缓存、不持有深度归档,对历史意图先撞 Hub 是浪费且拿不到。历史意图请直接执行 `history` 模式,不要套用下述四级链路。
4
6
 
5
7
  前置:Social Hub CLI ≥0.2.10 已安装、`auth login`、`context use`(见 SETUP.md capability probe)。
6
8
 
7
9
  ## acquisition-policy
8
10
 
9
- 执行者按用户指定(缺省 `hub-first`)选择策略:
11
+ acquisition-policy 作用于 `keyword` / `subreddit` 以及注册了该参数的证据类模式(`stickies` / `about-page` / `page-signals` / `flair-filters`);`links` 无此参数、按 `no_hub_dispatch_path` 例外处理,而 **`history` 模式根本不注册该参数(固定 Arctic,见上方例外框),显式传入会报错**。执行者按用户指定(缺省 `hub-first`)选择策略:
10
12
 
11
13
  | 策略 | 行为 |
12
14
  |---|---|
@@ -175,7 +175,7 @@ admin 专属操作(如 `agent-teams create`)需要 **admin** role 的 CLI to
175
175
 
176
176
  ## CLI 新版本检测(自动)
177
177
 
178
- `version` / `help` 外,每次执行 `social-hub` 会(最多每 24 小时)查询 npm registry;若存在比当前安装更新的 `@geoly-ai/social-hub-cli`,会在 **stderr** 打印升级提示,并明确要求 **Agent 告知用户** 后执行升级与 skill 同步。
178
+ 每次执行 `social-hub`(含 `version` / `help` `--version` / `--help`;仅 `self-update`、CI、npx 临时运行、`--no-update-check`、`SOCIAL_HUB_NO_UPDATE_CHECK=1` 除外)会(最多每 **4 小时**)查询 npm registry;若存在更新的 `@geoly-ai/social-hub-cli`,**默认后台静默 `npm i -g @latest`(本次调用仍用旧版跑完,下次调用自动生效,不重启/不 re-exec)**;`SOCIAL_HUB_NO_AUTO_UPDATE=1` 或 npx 场景退回「仅 stderr 提示」。`version` / `help` 命中时只从新鲜缓存触发后台自升级、自身不发网络请求(保 `--version` 即时输出)。
179
179
 
180
180
  示例输出(节选):
181
181