@geoly-ai/social-hub-cli 0.3.41 → 0.3.42
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 +6 -0
- package/dist/cmd-manifest.json +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -1
- package/dist/watchlists-list-filters.test.d.ts +2 -0
- package/dist/watchlists-list-filters.test.d.ts.map +1 -0
- package/dist/watchlists-list-filters.test.js +143 -0
- package/dist/watchlists-list-filters.test.js.map +1 -0
- package/package.json +2 -2
- package/skills/integrity.json +2 -2
- package/skills/manifest.json +1 -1
- package/skills/social-hub-intelligence/SKILL.md +40 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ 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.42] - 2026-09-10
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- watchlist 筛选补齐 CLI/skills 层 + 清两处 sticky 死代码
|
|
12
|
+
|
|
7
13
|
## [0.3.41] - 2026-09-09
|
|
8
14
|
|
|
9
15
|
### Added
|
package/dist/cmd-manifest.json
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AA0qCD;;;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
|
@@ -2985,12 +2985,41 @@ intel
|
|
|
2985
2985
|
.description("GET .../subreddit-intelligence/watchlists")
|
|
2986
2986
|
.option("--campaign <uuid>", "campaignId")
|
|
2987
2987
|
.option("--subreddit <name>", "按板块名精确查归属(r/ 可省)")
|
|
2988
|
+
.option("--subreddit-query <text>", "板块名**子串**搜索(大小写不敏感,r/ 可省);与 --subreddit 是两个独立谓词,后者是精确匹配")
|
|
2989
|
+
.option("--status <st>", "active|paused|archived")
|
|
2990
|
+
.option("--brand <uuid>", "brandId:只返回**显式绑定**该品牌的监控池(不含全局池)")
|
|
2991
|
+
.option("--industry-keys <list>", "industryKey 过滤(逗号分隔可多个)")
|
|
2992
|
+
.option("--tag <tag>", "标签精确包含(tags 是 jsonb 数组)")
|
|
2993
|
+
.option("--monitor-state <state>", "新帖监听状态,三值:enabled=在监听 | disabled=加过但已停(软停,配置行还在) | never=从没加过。" +
|
|
2994
|
+
"⚠️ 受限主体(client)传这个会 403")
|
|
2995
|
+
.option("--sort-by <f>", "createdAt|subreddit|monitorLastObservedAt")
|
|
2996
|
+
.option("--sort-dir <d>", "asc|desc")
|
|
2988
2997
|
.option("-n, --limit <n>", "limit", "100")
|
|
2989
2998
|
.option("--offset <n>", "offset", "0")
|
|
2990
2999
|
.action(async (opts) => {
|
|
3000
|
+
// 🔴 显式校验只给 --monitor-state 一个,不是漏了别的:本仓 CLI 的既有惯例是
|
|
3001
|
+
// 枚举透传、由服务端 zod 400(见 hot-posts / voc 的 --sort-by),只有**会被静默
|
|
3002
|
+
// 强转**的选项才本地拦(monitors-list 的 `--enabled` 是 Boolean() 强转)。
|
|
3003
|
+
// monitorState 拦下来的理由不是强转,而是**语义**:它最容易被当成布尔用
|
|
3004
|
+
// (`--monitor-state true` / `false`),而服务端那句 "invalid enum value"
|
|
3005
|
+
// 讲不清 disabled(停了的) 与 never(从没加过) 的区别 —— 而用户提这个需求
|
|
3006
|
+
// 要的正是这个区别。
|
|
3007
|
+
if (opts.monitorState !== undefined &&
|
|
3008
|
+
!["enabled", "disabled", "never"].includes(opts.monitorState))
|
|
3009
|
+
throw new Error("--monitor-state 必须是 enabled | disabled | never 之一(三值,不是布尔):" +
|
|
3010
|
+
"disabled = 加过监听后停了(软停,配置行与观察水位都还在,重新启用不会重复报旧帖);" +
|
|
3011
|
+
"never = 压根没加过监听(需要新建配置行)。想要「没在监听的全部」请分两次查。");
|
|
2991
3012
|
const res = await requireClient().listSubredditWatchlists({
|
|
2992
3013
|
campaignId: opts.campaign,
|
|
2993
3014
|
subreddit: opts.subreddit,
|
|
3015
|
+
subredditQuery: opts.subredditQuery,
|
|
3016
|
+
status: opts.status,
|
|
3017
|
+
brandId: opts.brand,
|
|
3018
|
+
industryKeys: opts.industryKeys,
|
|
3019
|
+
tag: opts.tag,
|
|
3020
|
+
monitorState: opts.monitorState,
|
|
3021
|
+
sortBy: opts.sortBy,
|
|
3022
|
+
sortDir: opts.sortDir,
|
|
2994
3023
|
limit: Number(opts.limit),
|
|
2995
3024
|
offset: Number(opts.offset),
|
|
2996
3025
|
});
|