@geoly-ai/social-hub-cli 0.3.43 → 0.3.44

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/CHANGELOG.md CHANGED
@@ -4,6 +4,23 @@ All notable changes to `@geoly-ai/social-hub-cli` are documented in this file.
4
4
 
5
5
  Release workflow: `pnpm release:cli` → `pnpm publish:cli`.
6
6
 
7
+ ## [0.3.44] - 2026-09-18
8
+
9
+ Reddit VOC Arctic-only docs, cookie initialization removal, and links fallback regression tests
10
+
11
+ ### Added
12
+
13
+ - 分页 B8b —— account-pools / subreddit-candidates 自曝截断
14
+ - 分页 B8a —— 分类 run 列表自曝截断
15
+ - Aporro 块 5 代码面 —— SDK 补齐四象限声明与回执类型
16
+ - 配置更新走独立 PATCH,不再隐式重启监听 + CI 真库门补齐
17
+
18
+ ### Fixed
19
+
20
+ - remove legacy JSON fallback and cookie init
21
+ - B8a/B8b truncated 语义与覆盖补全(Codex 复审)
22
+ - 发布校验改看 tarball + 提醒下游包钉着旧版
23
+
7
24
  ## [0.3.43] - 2026-09-10
8
25
 
9
26
  ### Added
@@ -1,6 +1,6 @@
1
1
  {
2
- "generatedAt": "2026-09-10T07:24:06.541Z",
3
- "cliVersion": "0.3.43",
2
+ "generatedAt": "2026-09-18T10:33:18.086Z",
3
+ "cliVersion": "0.3.44",
4
4
  "commands": [
5
5
  "accounts",
6
6
  "accounts brand-bindings",
@@ -279,6 +279,7 @@
279
279
  "intelligence monitors-enable",
280
280
  "intelligence monitors-list",
281
281
  "intelligence monitors-run",
282
+ "intelligence monitors-update",
282
283
  "intelligence opportunity-map",
283
284
  "intelligence posts-import",
284
285
  "intelligence runs-list",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+DpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AAunF9B,8DAA8D;AAC9D,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,GAAG,IAAI,CAOf;AAg+BD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE,CAAC;AAQF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE;IACN,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,GACA,OAAO,CAAC;IAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAkJnE;AAsxCD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE,GAAG,MAAM,CAiBT;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAyCpD;AAqzDD,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+DpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AAunF9B,8DAA8D;AAC9D,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,GAAG,IAAI,CAOf;AAg+BD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE,CAAC;AAQF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE;IACN,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,GACA,OAAO,CAAC;IAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAkJnE;AAwyCD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE,GAAG,MAAM,CAiBT;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAyCpD;AAqzDD,OAAO,EAAE,OAAO,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -513,7 +513,7 @@ content
513
513
  .command("review")
514
514
  .description("POST /content-review — 评论发布前独立 LLM 复审+优化(层③);degraded 时降级本地自审")
515
515
  .option("-t, --team <teamId>", "Team UUID(缺省用当前 context)")
516
- .option("-j, --json <json>", "{ accountId?, draft, commentType, thread:{subreddit,postTitle,...}, brandContext?:{brandKey|campaignId}, rewrite?, stage?, attempt? } (omit accountId for persona-less ContentOnly review)。也可 -j @<path> 读文件 / -j - 读 stdin")
516
+ .option("-j, --json <json>", "{ accountId?, draft, commentType, thread:{subreddit,postTitle,...}, brandContext?:{brandKey|campaignId}, rewrite?, stage?, attempt?, requestedScope?:{accountBinding,brandTreatment}, knowledgeContext?, requestedAcceptanceProfile? } (omit accountId for persona-less ContentOnly review)。requestedScope 声明四象限(account_bound|persona_less × managed_brand|organic);三个字段各自可选,同步入口不要求成对(只传 knowledgeContext 时按 legacy_derived 象限审,不满足 native_copy)。也可 -j @<path> 读文件 / -j - 读 stdin")
517
517
  .option("--json-file <path>", "从文件读 body JSON(路径,或 - 表示 stdin);与 -j 二选一。Windows 建议用此绕开 shell 引号问题")
518
518
  .option("--brand-context <json>", '品牌上下文 { "brandKey":"..." } 或 { "campaignId":"..." }(§0.3;便捷参数,覆盖 -j 里的 brandContext)')
519
519
  .option("--thread-permalink <url>", "本次所审原帖的 permalink,写进 thread.threadPermalink(覆盖 -j 里的同名值)。供 Hub 独立核验作者关系;不保证 Hub 侧有该帖快照,也不改变评分标准")
@@ -559,7 +559,7 @@ content
559
559
  .command("post-review")
560
560
  .description("POST /post-review — 帖子(title+body)发布前独立 LLM 审核(七维,独立模型 key);仅审帖子正文,评论审核用 content review")
561
561
  .option("-t, --team <teamId>", "Team UUID(缺省用当前 context)")
562
- .option("-j, --json <json>", "{ accountId?, title, body, subreddit, subredditRules?, brandContext?:{brandKey|campaignId}, rewrite?, stage?, attempt? } (omit accountId for persona-less ContentOnly review)。也可 -j @<path> 读文件 / -j - 读 stdin")
562
+ .option("-j, --json <json>", "{ accountId?, title, body, subreddit, subredditRules?, brandContext?:{brandKey|campaignId}, rewrite?, stage?, attempt?, requestedScope?:{accountBinding,brandTreatment}, knowledgeContext?, requestedAcceptanceProfile? } (omit accountId for persona-less ContentOnly review)。requestedScope 声明四象限(account_bound|persona_less × managed_brand|organic);三个字段各自可选,同步入口不要求成对(只传 knowledgeContext 时按 legacy_derived 象限审,不满足 native_copy)。也可 -j @<path> 读文件 / -j - 读 stdin")
563
563
  .option("--json-file <path>", "从文件读 body JSON(路径,或 - 表示 stdin);与 -j 二选一。Windows 建议用此绕开 shell 引号问题")
564
564
  .option("--brand-context <json>", '品牌上下文 { "brandKey":"..." } 或 { "campaignId":"..." }(便捷参数,覆盖 -j 里的 brandContext)')
565
565
  .action(async (opts) => {
@@ -1227,7 +1227,7 @@ reviewTargets
1227
1227
  .command("create")
1228
1228
  .description("POST /content-review-targets — 建 pending 审核目标 + 待审正文(幂等 dedupeKey)")
1229
1229
  .option("-t, --team <teamId>", "Team UUID(缺省用当前 context)")
1230
- .requiredOption("-j, --json <json>", "createReviewTargetBody JSON({ sourceKind, contentType, deliveryMode, reviewLevel, contentVersion, contentHash, dedupeKey, subject:{body,...}, ...refs })")
1230
+ .requiredOption("-j, --json <json>", "createReviewTargetBody JSON({ sourceKind, contentType, deliveryMode, reviewLevel, contentVersion, contentHash, dedupeKey, subject:{body,threadContext?:{subredditRules?},...}, requestedScope?, knowledgeContext?, requestedAcceptanceProfile?, ...refs })。声明 requestedScope 后象限/Card/acceptance 在建 target 时固化,worker 与发布 gate 不再重新解析;knowledgeContext / requestedAcceptanceProfile 缺 requestedScope 返回 400")
1231
1231
  .action(async (opts) => {
1232
1232
  let body;
1233
1233
  try {
@@ -3090,6 +3090,18 @@ intel
3090
3090
  });
3091
3091
  console.log(JSON.stringify(res, null, 2));
3092
3092
  });
3093
+ intel
3094
+ .command("monitors-update")
3095
+ .description("PATCH .../subreddit-intelligence/monitors/:watchlistId —— 只改监听配置,不碰启停。" +
3096
+ "⚠️ 用 monitors-enable 改 fetch-limit 会顺带把一个已停止的监听重新启用(那是个 upsert," +
3097
+ "DO UPDATE 里写死 enabled=true);要在停止状态下改配置就用本命令。" +
3098
+ "该 watchlist 没配置过监听时 404 —— 本命令不会凭空把它创建成监听")
3099
+ .requiredOption("--watchlist <uuid>", "Watchlist UUID")
3100
+ .requiredOption("--fetch-limit <n>", "单页抓取条数上限 1–100")
3101
+ .action(async (opts) => {
3102
+ const res = await requireClient().updateSubredditMonitorConfig(opts.watchlist, { fetchLimit: Number(opts.fetchLimit) });
3103
+ console.log(JSON.stringify(res, null, 2));
3104
+ });
3093
3105
  intel
3094
3106
  .command("monitors-disable")
3095
3107
  .description("DELETE .../subreddit-intelligence/monitors/:watchlistId —— 软停监听;" +