@geoly-ai/social-hub-cli 0.3.7 → 0.3.9
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 +34 -0
- package/dist/cmd-manifest.json +18 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +35 -0
- package/dist/index.test.js.map +1 -1
- package/dist/permissions-gates-admin.d.ts.map +1 -1
- package/dist/permissions-gates-admin.js +8 -0
- package/dist/permissions-gates-admin.js.map +1 -1
- package/dist/permissions-gates-admin.test.js +10 -0
- package/dist/permissions-gates-admin.test.js.map +1 -1
- package/dist/permissions-gates-notify.d.ts.map +1 -1
- package/dist/permissions-gates-notify.js +81 -1
- package/dist/permissions-gates-notify.js.map +1 -1
- package/dist/permissions-gates-notify.test.js +10 -3
- package/dist/permissions-gates-notify.test.js.map +1 -1
- package/dist/register-notify.d.ts +38 -0
- package/dist/register-notify.d.ts.map +1 -1
- package/dist/register-notify.js +329 -14
- package/dist/register-notify.js.map +1 -1
- package/dist/register-notify.test.js +40 -1
- package/dist/register-notify.test.js.map +1 -1
- package/package.json +3 -3
- package/skills/manifest.json +1 -1
- package/skills/reddit-matrix.lock.json +14 -14
- package/skills/reddit-voc-volume/services/firecrawl/examples/o1_web_crawler/o1_web_crawler.py +152 -152
- package/skills/social-hub-admin/SKILL.md +41 -1
- package/skills/social-hub-notifications/SKILL.md +230 -14
- package/skills/social-hub-openclaw-context/SKILL.md +10 -0
- package/skills/social-hub-posts/SKILL.md +9 -2
- package/skills/social-hub-subreddit-pools/SKILL.md +51 -2
- package/dist/register-subreddit-post-style.d.ts +0 -8
- package/dist/register-subreddit-post-style.d.ts.map +0 -1
- package/dist/register-subreddit-post-style.js +0 -161
- package/dist/register-subreddit-post-style.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,40 @@ 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.9] - 2026-08-03
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- `permissions revisions` —— 权限 override 变更轨迹(gate 是 `permissionMatrix:**update**` 而非
|
|
12
|
+
read;双 keyset 游标原样回传;口径是 override 轨迹而非 effective 权限轨迹)
|
|
13
|
+
- `notify events list|get` —— 事件运维查看面(`--before-seq` / `--order`,与 pull 的消费语义分离)
|
|
14
|
+
- `notify schedules summary|list|get` —— 节点排期可观测面(强制有界时间窗,默认 30 天 / 上限 90 天)
|
|
15
|
+
- `notify schedules purge-status` —— 保留期 GC 的运行状态
|
|
16
|
+
- `notify source-configs activate|create` 增加 `--expect-active <uuid|none>` /
|
|
17
|
+
`--expect-active-version`(激活 CAS;**缺省 = 不启用**,沿用历史 last-writer-wins)
|
|
18
|
+
- `notify templates list|versions|get|create|activate|set-auto-derivation` ——
|
|
19
|
+
系统级 source 模板(服务端硬 admin 门 + 仅不受限的交互式登录)
|
|
20
|
+
- `pools catalog-list` / `tier-rules-list` 增加 `--aggregate-visible-teams`
|
|
21
|
+
(**跨可见团队的署名聚合视图**,不是无条件全表)
|
|
22
|
+
- `reddit team-buckets` —— 列出外部/未配置桶
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- skills 自动同步默认开启(opt-out:`SOCIAL_HUB_NO_SKILLS_AUTO_UPDATE=1`)
|
|
27
|
+
- `social-hub-admin` / `social-hub-notifications` 的 `metadata.cliVersion` 提到 `>=0.3.9`
|
|
28
|
+
|
|
29
|
+
## [0.3.8] - 2026-08-03
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
|
|
33
|
+
- 关掉最后一组桶写入面 —— refresh-all / refresh-filtered / refresh-preview 归属闸门
|
|
34
|
+
- 桶 refresh 归属闸门(单帖/selected)+ 品牌 scope 下推进 PUT/DELETE 最终 WHERE
|
|
35
|
+
- 共享桶按 ID 写操作补归属闸门(update/delete/bulk-patch)
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- 勾「自动包含」字段返 400 而非 500 + dry-run 不再谎称已校验
|
|
40
|
+
|
|
7
41
|
## [0.3.7] - 2026-08-03
|
|
8
42
|
|
|
9
43
|
### Added
|
package/dist/cmd-manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-08-
|
|
3
|
-
"cliVersion": "0.3.
|
|
2
|
+
"generatedAt": "2026-08-04T02:18:08.929Z",
|
|
3
|
+
"cliVersion": "0.3.9",
|
|
4
4
|
"commands": [
|
|
5
5
|
"accounts",
|
|
6
6
|
"accounts brand-bindings",
|
|
@@ -298,7 +298,15 @@
|
|
|
298
298
|
"notification-channels update",
|
|
299
299
|
"notify",
|
|
300
300
|
"notify ack",
|
|
301
|
+
"notify events",
|
|
302
|
+
"notify events get",
|
|
303
|
+
"notify events list",
|
|
301
304
|
"notify pull",
|
|
305
|
+
"notify schedules",
|
|
306
|
+
"notify schedules get",
|
|
307
|
+
"notify schedules list",
|
|
308
|
+
"notify schedules purge-status",
|
|
309
|
+
"notify schedules summary",
|
|
302
310
|
"notify source-configs",
|
|
303
311
|
"notify source-configs activate",
|
|
304
312
|
"notify source-configs create",
|
|
@@ -315,6 +323,13 @@
|
|
|
315
323
|
"notify subscriptions reset",
|
|
316
324
|
"notify subscriptions resume",
|
|
317
325
|
"notify subscriptions update",
|
|
326
|
+
"notify templates",
|
|
327
|
+
"notify templates activate",
|
|
328
|
+
"notify templates create",
|
|
329
|
+
"notify templates get",
|
|
330
|
+
"notify templates list",
|
|
331
|
+
"notify templates set-auto-derivation",
|
|
332
|
+
"notify templates versions",
|
|
318
333
|
"openclaw-ingest",
|
|
319
334
|
"openclaw-ingest runs",
|
|
320
335
|
"openclaw-ingest status",
|
|
@@ -328,6 +343,7 @@
|
|
|
328
343
|
"permissions",
|
|
329
344
|
"permissions explain",
|
|
330
345
|
"permissions matrix",
|
|
346
|
+
"permissions revisions",
|
|
331
347
|
"permissions-update",
|
|
332
348
|
"personas",
|
|
333
349
|
"personas pools-get",
|
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;AAgDpC,QAAA,MAAM,OAAO,SAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgDpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AAg9E9B,8DAA8D;AAC9D,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,GAAG,IAAI,CAOf;AAqgCD,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;AA+1ED,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -992,6 +992,44 @@ permissionsCmd
|
|
|
992
992
|
const res = await requireClient().getPermissionsMatrix(resolveTeamId(opts.team));
|
|
993
993
|
console.log(JSON.stringify(res, null, 2));
|
|
994
994
|
});
|
|
995
|
+
permissionsCmd
|
|
996
|
+
.command("revisions")
|
|
997
|
+
.description("GET /permissions-matrix/revisions(权限 override 变更轨迹;gate=permissionMatrix:update,不是 read)")
|
|
998
|
+
.option("-t, --team <teamId>", "Team UUID(缺省用当前 context)")
|
|
999
|
+
.option("--kind <kind>", "permission|field(省略=两张轨迹都查)")
|
|
1000
|
+
.option("--role <role>", "role filter")
|
|
1001
|
+
.option("--resource <resource>", "resource filter")
|
|
1002
|
+
.option("--action <action>", "action filter(仅 permission 轨迹;与 --field 互斥)")
|
|
1003
|
+
.option("--field <field>", "field filter(仅 field 轨迹;与 --action 互斥)")
|
|
1004
|
+
.option("--before-permission-revision-no <n>", "keyset 游标:上一页的 nextPermissionRevisionNo,原样回传")
|
|
1005
|
+
.option("--before-field-revision-no <n>", "keyset 游标:上一页的 nextFieldRevisionNo,原样回传")
|
|
1006
|
+
.option("-n, --limit <n>", "limit(1–500,服务端默认 50)")
|
|
1007
|
+
.action(async (opts) => {
|
|
1008
|
+
await withPermissionGate({
|
|
1009
|
+
command: "permissions revisions",
|
|
1010
|
+
resource: "permissionMatrix",
|
|
1011
|
+
action: "update",
|
|
1012
|
+
teamId: resolveTeamId(opts.team),
|
|
1013
|
+
}, async () => {
|
|
1014
|
+
const res = await requireClient().listPermissionsMatrixRevisions(resolveTeamId(opts.team), {
|
|
1015
|
+
kind: opts.kind,
|
|
1016
|
+
role: opts.role,
|
|
1017
|
+
resource: opts.resource,
|
|
1018
|
+
action: opts.action,
|
|
1019
|
+
field: opts.field,
|
|
1020
|
+
beforePermissionRevisionNo: opts.beforePermissionRevisionNo === undefined
|
|
1021
|
+
? undefined
|
|
1022
|
+
: Number(opts.beforePermissionRevisionNo),
|
|
1023
|
+
beforeFieldRevisionNo: opts.beforeFieldRevisionNo === undefined
|
|
1024
|
+
? undefined
|
|
1025
|
+
: Number(opts.beforeFieldRevisionNo),
|
|
1026
|
+
limit: opts.limit === undefined ? undefined : Number(opts.limit),
|
|
1027
|
+
});
|
|
1028
|
+
// stdout 保持**纯 JSON**(要能直接 `| jq`)。口径提醒走响应体自带的 `note`
|
|
1029
|
+
// 与 --help,不在这里往 stdout 里掺文字。
|
|
1030
|
+
console.log(JSON.stringify(res, null, 2));
|
|
1031
|
+
});
|
|
1032
|
+
});
|
|
995
1033
|
registerPermissionsExplain(permissionsCmd);
|
|
996
1034
|
const graph = program.command("graph").description("账号图谱");
|
|
997
1035
|
graph
|
|
@@ -2204,6 +2242,7 @@ pools
|
|
|
2204
2242
|
.option("--status <s>", "active|paused|archived")
|
|
2205
2243
|
.option("--industry-key <key>", "industryKey filter")
|
|
2206
2244
|
.option("--pool-kind <kind>", "pet|common|industry|brand|other")
|
|
2245
|
+
.option("--aggregate-visible-teams", "跨可见团队的归属署名视图(catalog 是系统级共享数据,行上的 teamId 只是历史署名);查重前必开,否则漏掉别的团队署名的行")
|
|
2207
2246
|
.option("-n, --limit <n>", "limit", "50")
|
|
2208
2247
|
.option("--offset <n>", "offset", "0")
|
|
2209
2248
|
.action(async (opts) => {
|
|
@@ -2211,6 +2250,7 @@ pools
|
|
|
2211
2250
|
status: opts.status,
|
|
2212
2251
|
industryKey: opts.industryKey,
|
|
2213
2252
|
poolKind: opts.poolKind,
|
|
2253
|
+
aggregateVisibleTeams: opts.aggregateVisibleTeams ? true : undefined,
|
|
2214
2254
|
limit: Number(opts.limit),
|
|
2215
2255
|
offset: Number(opts.offset),
|
|
2216
2256
|
});
|
|
@@ -2299,6 +2339,7 @@ pools
|
|
|
2299
2339
|
.option("-t, --team <teamId>", "Team UUID(缺省用当前 context)")
|
|
2300
2340
|
.option("--tier <tier>", "S0|S1|S2|S3")
|
|
2301
2341
|
.option("--enabled <bool>", "true|false")
|
|
2342
|
+
.option("--aggregate-visible-teams", "跨可见团队的归属署名视图(tier-rules 是系统级共享数据,subreddit 全局唯一);查重前必开")
|
|
2302
2343
|
.option("-n, --limit <n>", "limit", "50")
|
|
2303
2344
|
.option("--offset <n>", "offset", "0")
|
|
2304
2345
|
.action(async (opts) => {
|
|
@@ -2307,6 +2348,7 @@ pools
|
|
|
2307
2348
|
enabled: opts.enabled === undefined
|
|
2308
2349
|
? undefined
|
|
2309
2350
|
: opts.enabled === "true" || opts.enabled === "1",
|
|
2351
|
+
aggregateVisibleTeams: opts.aggregateVisibleTeams ? true : undefined,
|
|
2310
2352
|
limit: Number(opts.limit),
|
|
2311
2353
|
offset: Number(opts.offset),
|
|
2312
2354
|
});
|