@geoly-ai/social-hub-cli 0.3.34 → 0.3.35
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/register-reddit-account-verification.d.ts +3 -0
- package/dist/register-reddit-account-verification.d.ts.map +1 -1
- package/dist/register-reddit-account-verification.js +11 -0
- package/dist/register-reddit-account-verification.js.map +1 -1
- package/dist/register-reddit-account-verification.test.d.ts +2 -0
- package/dist/register-reddit-account-verification.test.d.ts.map +1 -0
- package/dist/register-reddit-account-verification.test.js +73 -0
- package/dist/register-reddit-account-verification.test.js.map +1 -0
- package/package.json +2 -2
- package/skills/integrity.json +1 -1
- package/skills/manifest.json +1 -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.35] - 2026-09-01
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- CLI/SDK 补 0164 三列 —— 白名单静默吞掉了它们
|
|
12
|
+
|
|
7
13
|
## [0.3.34] - 2026-09-01
|
|
8
14
|
|
|
9
15
|
### Added
|
package/dist/cmd-manifest.json
CHANGED
|
@@ -17,6 +17,9 @@ export declare function buildRecordObservationBody(raw: Record<string, unknown>)
|
|
|
17
17
|
sourceEventType: string;
|
|
18
18
|
deadlineRaw?: string | null;
|
|
19
19
|
deadlineAt?: string | null;
|
|
20
|
+
platformStatusRaw?: string | null;
|
|
21
|
+
platformCaseId?: string | null;
|
|
22
|
+
documentLang?: string | null;
|
|
20
23
|
evidence: Array<{
|
|
21
24
|
kind: (typeof evidenceKinds)[number];
|
|
22
25
|
ref?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-reddit-account-verification.d.ts","sourceRoot":"","sources":["../src/register-reddit-account-verification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC;;;;;;;GAOG;AAEH,QAAA,MAAM,aAAa,4DAIT,CAAC;AACX,QAAA,MAAM,cAAc,+DAIV,CAAC;AAQX,0DAA0D;AAC1D,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACxE,aAAa,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;QACrC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC,CAAC;CACJ,
|
|
1
|
+
{"version":3,"file":"register-reddit-account-verification.d.ts","sourceRoot":"","sources":["../src/register-reddit-account-verification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC;;;;;;;GAOG;AAEH,QAAA,MAAM,aAAa,4DAIT,CAAC;AACX,QAAA,MAAM,cAAc,+DAIV,CAAC;AAQX,0DAA0D;AAC1D,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACxE,aAAa,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;QACrC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC,CAAC;CACJ,CAqEA;AAED,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,OAAO,GACf,IAAI,CA2LN"}
|
|
@@ -53,6 +53,14 @@ export function buildRecordObservationBody(raw) {
|
|
|
53
53
|
const sourceEventType = str("sourceEventType", true);
|
|
54
54
|
const deadlineRaw = str("deadlineRaw", false);
|
|
55
55
|
const deadlineAt = str("deadlineAt", false);
|
|
56
|
+
// 🔴 迁移 0164 的三列。本函数是**显式白名单**(逐键取,不是透传),所以服务端每加
|
|
57
|
+
// 一个字段这里都必须同步加一条 —— 否则调用方送了、CLI 静默丢掉,而 `--dry-run` 的
|
|
58
|
+
// wouldApply 是 CLI **自己重新拼出来的**,同样不会回显被丢掉的键:
|
|
59
|
+
// 「送了但没写进去」与「写进去了」在 CLI 输出上完全一样。
|
|
60
|
+
// ⚠️ 这已经真实发生过一次(0.3.34 漏了这三列,矩阵侧端到端才发现)。
|
|
61
|
+
const platformStatusRaw = str("platformStatusRaw", false);
|
|
62
|
+
const platformCaseId = str("platformCaseId", false);
|
|
63
|
+
const documentLang = str("documentLang", false);
|
|
56
64
|
const evidenceRaw = raw.evidence;
|
|
57
65
|
if (!Array.isArray(evidenceRaw) || evidenceRaw.length === 0) {
|
|
58
66
|
return fail("--json 字段 evidence 须为非空数组");
|
|
@@ -82,6 +90,9 @@ export function buildRecordObservationBody(raw) {
|
|
|
82
90
|
sourceEventType,
|
|
83
91
|
...(deadlineRaw ? { deadlineRaw } : {}),
|
|
84
92
|
...(deadlineAt ? { deadlineAt } : {}),
|
|
93
|
+
...(platformStatusRaw ? { platformStatusRaw } : {}),
|
|
94
|
+
...(platformCaseId ? { platformCaseId } : {}),
|
|
95
|
+
...(documentLang ? { documentLang } : {}),
|
|
85
96
|
evidence,
|
|
86
97
|
};
|
|
87
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-reddit-account-verification.js","sourceRoot":"","sources":["../src/register-reddit-account-verification.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EACL,eAAe,EACf,WAAW,EACX,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;GAOG;AAEH,MAAM,aAAa,GAAG;IACpB,cAAc;IACd,YAAY;IACZ,iBAAiB;CACT,CAAC;AACX,MAAM,cAAc,GAAG;IACrB,uBAAuB;IACvB,aAAa;IACb,UAAU;CACF,CAAC;AACX,MAAM,sBAAsB,GAAG;IAC7B,WAAW;IACX,SAAS;IACT,SAAS;IACT,SAAS;CACD,CAAC;AAEX,0DAA0D;AAC1D,MAAM,UAAU,0BAA0B,CAAC,GAA4B;
|
|
1
|
+
{"version":3,"file":"register-reddit-account-verification.js","sourceRoot":"","sources":["../src/register-reddit-account-verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-reddit-account-verification.test.d.ts","sourceRoot":"","sources":["../src/register-reddit-account-verification.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `buildRecordObservationBody` —— Reddit 账号验证观测的 `--json` 解析。
|
|
3
|
+
*
|
|
4
|
+
* 🔴 这个文件只为一件事存在:**它是显式白名单,不是透传**。服务端每加一个字段,
|
|
5
|
+
* 这里都必须同步加一条,否则调用方送了、CLI 静默丢掉。
|
|
6
|
+
*
|
|
7
|
+
* ⚠️ 而且失败的样子和成功一模一样:`--dry-run` 的 `wouldApply` 是 CLI **自己重新拼出来
|
|
8
|
+
* 的**,不是调用方 payload 的回声,所以被丢掉的键在 dry-run 里同样不显示。
|
|
9
|
+
* 「送了但没写进去」与「写进去了」在 CLI 输出上**完全无法区分**。
|
|
10
|
+
*
|
|
11
|
+
* 这已经真实发生过:0.3.34 漏了迁移 0164 的三列(`platformStatusRaw` /
|
|
12
|
+
* `platformCaseId` / `documentLang`),矩阵侧做端到端才发现。后果不只是少三个字段——
|
|
13
|
+
* 调用方的 `requestId` 是**带着这三个字段**算出来的,少带写进去,存下来的行就与它自己
|
|
14
|
+
* 的幂等键对不上;将来用支持字段的 CLI 重送同一次 capture,会撞「同 requestId、
|
|
15
|
+
* 不同内容」的 409。
|
|
16
|
+
*
|
|
17
|
+
* 所以下面那条「透传全部已知字段」的用例是**回归闸门**:新增字段时它会红,提醒你
|
|
18
|
+
* 这里要跟着改。
|
|
19
|
+
*/
|
|
20
|
+
import { describe, expect, it } from "vitest";
|
|
21
|
+
import { buildRecordObservationBody } from "./register-reddit-account-verification.js";
|
|
22
|
+
const base = {
|
|
23
|
+
observedState: "verification_required",
|
|
24
|
+
observedAt: "2026-09-01T00:00:00.000Z",
|
|
25
|
+
requestId: "req-1",
|
|
26
|
+
sourceEventType: "risk.human_verification",
|
|
27
|
+
evidence: [{ kind: "dom_snapshot", ref: "dom-1" }],
|
|
28
|
+
};
|
|
29
|
+
describe("buildRecordObservationBody", () => {
|
|
30
|
+
it("🔴 迁移 0164 的三列必须透传,⛔ 不许被白名单吞掉", () => {
|
|
31
|
+
const body = buildRecordObservationBody({
|
|
32
|
+
...base,
|
|
33
|
+
platformStatusRaw: "ACTION_NEEDED",
|
|
34
|
+
platformCaseId: "67a222f2-86d1-44ba-a59a-3a24e8f5c41a",
|
|
35
|
+
documentLang: "es-ES",
|
|
36
|
+
});
|
|
37
|
+
expect(body.platformStatusRaw).toBe("ACTION_NEEDED");
|
|
38
|
+
expect(body.platformCaseId).toBe("67a222f2-86d1-44ba-a59a-3a24e8f5c41a");
|
|
39
|
+
expect(body.documentLang).toBe("es-ES");
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* `platformStatusRaw` 的值域**刻意不校验** —— 这个字段存在的唯一理由就是接住 Reddit
|
|
43
|
+
* 将来新增的、我们还不认识的状态值。若在 CLI 或契约层限死枚举,未知值会被拒收,
|
|
44
|
+
* 那就回到了「只有映射结果、发现不了新状态」的老问题。
|
|
45
|
+
*/
|
|
46
|
+
it("🔴 未知的 platformStatusRaw 原样透传,⛔ 不做枚举校验", () => {
|
|
47
|
+
const body = buildRecordObservationBody({
|
|
48
|
+
...base,
|
|
49
|
+
platformStatusRaw: "SOME_FUTURE_STATE",
|
|
50
|
+
});
|
|
51
|
+
expect(body.platformStatusRaw).toBe("SOME_FUTURE_STATE");
|
|
52
|
+
});
|
|
53
|
+
// 正向控制组:证明上面那两条不是因为函数把**所有**输入都原样带出来了。
|
|
54
|
+
// 未知键必须被丢弃(白名单的本意),⛔ 不能连它一起透传。
|
|
55
|
+
it("未在白名单里的键仍然被丢弃(证明白名单本身还在起作用)", () => {
|
|
56
|
+
const body = buildRecordObservationBody({
|
|
57
|
+
...base,
|
|
58
|
+
someUnknownKey: "should-not-appear",
|
|
59
|
+
});
|
|
60
|
+
expect(body).not.toHaveProperty("someUnknownKey");
|
|
61
|
+
// 前提:合法字段确实带出来了,否则上面那条 not.toHaveProperty 在验空气。
|
|
62
|
+
expect(body.sourceEventType).toBe("risk.human_verification");
|
|
63
|
+
});
|
|
64
|
+
it("三列省略时不出现在 body 里(`null` 由服务端解释为「本次未取到」)", () => {
|
|
65
|
+
const body = buildRecordObservationBody({ ...base });
|
|
66
|
+
expect(body).not.toHaveProperty("platformStatusRaw");
|
|
67
|
+
expect(body).not.toHaveProperty("platformCaseId");
|
|
68
|
+
expect(body).not.toHaveProperty("documentLang");
|
|
69
|
+
// 前提:必填字段在,证明这次解析确实成功了。
|
|
70
|
+
expect(body.requestId).toBe("req-1");
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=register-reddit-account-verification.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-reddit-account-verification.test.js","sourceRoot":"","sources":["../src/register-reddit-account-verification.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,MAAM,IAAI,GAAG;IACX,aAAa,EAAE,uBAAuB;IACtC,UAAU,EAAE,0BAA0B;IACtC,SAAS,EAAE,OAAO;IAClB,eAAe,EAAE,yBAAyB;IAC1C,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;CACnD,CAAC;AAEF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,0BAA0B,CAAC;YACtC,GAAG,IAAI;YACP,iBAAiB,EAAE,eAAe;YAClC,cAAc,EAAE,sCAAsC;YACtD,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,IAAI,GAAG,0BAA0B,CAAC;YACtC,GAAG,IAAI;YACP,iBAAiB,EAAE,mBAAmB;SACvC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,uCAAuC;IACvC,+BAA+B;IAC/B,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,IAAI,GAAG,0BAA0B,CAAC;YACtC,GAAG,IAAI;YACP,cAAc,EAAE,mBAAmB;SACT,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAClD,gDAAgD;QAChD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,IAAI,GAAG,0BAA0B,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAChD,wBAAwB;QACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,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.
|
|
3
|
+
"version": "0.3.35",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "social-hub CLI for Social Ops Hub",
|
|
6
6
|
"repository": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"commander": "^12.1.0",
|
|
25
25
|
"@geoly-ai/social-hub-authz": "0.0.20",
|
|
26
|
-
"@geoly-ai/social-hub-sdk": "0.1.
|
|
26
|
+
"@geoly-ai/social-hub-sdk": "0.1.9"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "^22.10.2",
|
package/skills/integrity.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"fileCount": 1656,
|
|
5
5
|
"files": {
|
|
6
6
|
"README.md": "5246d4ae2712e3e656b101041929183d7ae7f8ea487dacf5854187826ab7c335",
|
|
7
|
-
"manifest.json": "
|
|
7
|
+
"manifest.json": "758db248bba076db32436dfa19bb7906e073998b1bd118dcbe14ac60105e1b59",
|
|
8
8
|
"reddit-answers-research/SKILL.md": "ab6fd12eeb2fef4dc31a6f3c21a84810d6b5bdb309f130bcdc9eb902f075294a",
|
|
9
9
|
"reddit-answers-research/references/browser-playbook.md": "a8f61d3d43ca93d46dadc8a092a515ddcd32df12fb1d08d334cce2e02709d915",
|
|
10
10
|
"reddit-answers-research/references/report-template.md": "9aa9acf555ba8b2ca503bdbdf5750a5f53c66e19989bf6807fa6200c7317e306",
|