@geoly-ai/social-hub-cli 0.3.8 → 0.3.10
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 +30 -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/permissions-revisions-cursor.test.d.ts +2 -0
- package/dist/permissions-revisions-cursor.test.d.ts.map +1 -0
- package/dist/permissions-revisions-cursor.test.js +92 -0
- package/dist/permissions-revisions-cursor.test.js.map +1 -0
- package/dist/register-notify.d.ts +38 -0
- package/dist/register-notify.d.ts.map +1 -1
- package/dist/register-notify.js +324 -9
- 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 +44 -1
- package/skills/social-hub-notifications/SKILL.md +207 -14
- package/skills/social-hub-openclaw-context/SKILL.md +10 -0
- package/skills/social-hub-subreddit-pools/SKILL.md +51 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,36 @@ 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.10] - 2026-08-04
|
|
8
|
+
|
|
9
|
+
游标改十进制字符串:permissions revisions 的 --before-\*-revision-no 不再 Number() 化(修精度失真)
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- 权限轨迹 revisionNo 改十进制字符串(bigint 不再失真)
|
|
14
|
+
|
|
15
|
+
## [0.3.9] - 2026-08-03
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- `permissions revisions` —— 权限 override 变更轨迹(gate 是 `permissionMatrix:**update**` 而非
|
|
20
|
+
read;双 keyset 游标原样回传;口径是 override 轨迹而非 effective 权限轨迹)
|
|
21
|
+
- `notify events list|get` —— 事件运维查看面(`--before-seq` / `--order`,与 pull 的消费语义分离)
|
|
22
|
+
- `notify schedules summary|list|get` —— 节点排期可观测面(强制有界时间窗,默认 30 天 / 上限 90 天)
|
|
23
|
+
- `notify schedules purge-status` —— 保留期 GC 的运行状态
|
|
24
|
+
- `notify source-configs activate|create` 增加 `--expect-active <uuid|none>` /
|
|
25
|
+
`--expect-active-version`(激活 CAS;**缺省 = 不启用**,沿用历史 last-writer-wins)
|
|
26
|
+
- `notify templates list|versions|get|create|activate|set-auto-derivation` ——
|
|
27
|
+
系统级 source 模板(服务端硬 admin 门 + 仅不受限的交互式登录)
|
|
28
|
+
- `pools catalog-list` / `tier-rules-list` 增加 `--aggregate-visible-teams`
|
|
29
|
+
(**跨可见团队的署名聚合视图**,不是无条件全表)
|
|
30
|
+
- `reddit team-buckets` —— 列出外部/未配置桶
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- skills 自动同步默认开启(opt-out:`SOCIAL_HUB_NO_SKILLS_AUTO_UPDATE=1`)
|
|
35
|
+
- `social-hub-admin` / `social-hub-notifications` 的 `metadata.cliVersion` 提到 `>=0.3.9`
|
|
36
|
+
|
|
7
37
|
## [0.3.8] - 2026-08-03
|
|
8
38
|
|
|
9
39
|
### 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-04T06:29:13.978Z",
|
|
3
|
+
"cliVersion": "0.3.10",
|
|
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;AAk9E9B,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
|
+
// 🔴 游标**原样透传字符串**,以前这里是 `Number(...)` —— revision_no 是
|
|
1021
|
+
// int8(63 bit),Number 会在跨过 2^53 后静默失真,把游标指到错误的位置,
|
|
1022
|
+
// 于是「翻页」悄悄变成「跳过或重复一段审计轨迹」。commander 给的本来就是
|
|
1023
|
+
// 字符串,不要动它。(`limit` 保持 Number:它是 1–500 的小整数。)
|
|
1024
|
+
beforePermissionRevisionNo: opts.beforePermissionRevisionNo,
|
|
1025
|
+
beforeFieldRevisionNo: 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
|
});
|