@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.
Files changed (36) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/cmd-manifest.json +18 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +42 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.test.js +35 -0
  7. package/dist/index.test.js.map +1 -1
  8. package/dist/permissions-gates-admin.d.ts.map +1 -1
  9. package/dist/permissions-gates-admin.js +8 -0
  10. package/dist/permissions-gates-admin.js.map +1 -1
  11. package/dist/permissions-gates-admin.test.js +10 -0
  12. package/dist/permissions-gates-admin.test.js.map +1 -1
  13. package/dist/permissions-gates-notify.d.ts.map +1 -1
  14. package/dist/permissions-gates-notify.js +81 -1
  15. package/dist/permissions-gates-notify.js.map +1 -1
  16. package/dist/permissions-gates-notify.test.js +10 -3
  17. package/dist/permissions-gates-notify.test.js.map +1 -1
  18. package/dist/register-notify.d.ts +38 -0
  19. package/dist/register-notify.d.ts.map +1 -1
  20. package/dist/register-notify.js +329 -14
  21. package/dist/register-notify.js.map +1 -1
  22. package/dist/register-notify.test.js +40 -1
  23. package/dist/register-notify.test.js.map +1 -1
  24. package/package.json +3 -3
  25. package/skills/manifest.json +1 -1
  26. package/skills/reddit-matrix.lock.json +14 -14
  27. package/skills/reddit-voc-volume/services/firecrawl/examples/o1_web_crawler/o1_web_crawler.py +152 -152
  28. package/skills/social-hub-admin/SKILL.md +41 -1
  29. package/skills/social-hub-notifications/SKILL.md +230 -14
  30. package/skills/social-hub-openclaw-context/SKILL.md +10 -0
  31. package/skills/social-hub-posts/SKILL.md +9 -2
  32. package/skills/social-hub-subreddit-pools/SKILL.md +51 -2
  33. package/dist/register-subreddit-post-style.d.ts +0 -8
  34. package/dist/register-subreddit-post-style.d.ts.map +0 -1
  35. package/dist/register-subreddit-post-style.js +0 -161
  36. package/dist/register-subreddit-post-style.js.map +0 -1
@@ -3,7 +3,7 @@ import { tmpdir } from "node:os";
3
3
  import { join } from "node:path";
4
4
  import { describe, expect, it } from "vitest";
5
5
  import { SocialHubHttpError } from "@geoly-ai/social-hub-sdk";
6
- import { NOTIFY_EXIT, buildCreateSubscriptionBody, buildReceiptSidecar, classifyNotifyError, evaluateCursorWait, extractAckInput, isNetworkError, isRetryableStatus, nextBackoffMs, parseSortedList, writeReceiptSidecarAtomically, } from "./register-notify.js";
6
+ import { NOTIFY_EXIT, buildCreateSubscriptionBody, buildExpectedActiveArg, buildReceiptSidecar, classifyNotifyError, evaluateCursorWait, extractAckInput, isNetworkError, isRetryableStatus, nextBackoffMs, parseSortedList, resolveEffectiveExpectedActive, writeReceiptSidecarAtomically, } from "./register-notify.js";
7
7
  const receipt = {
8
8
  subscriptionId: "11111111-1111-4111-8111-111111111111",
9
9
  fromCursorSeq: "1041",
@@ -306,4 +306,43 @@ describe("buildCreateSubscriptionBody", () => {
306
306
  })).toEqual({ name: "raw", sourceIds: ["a.v1"] });
307
307
  });
308
308
  });
309
+ describe("buildExpectedActiveArg —— 激活的 CAS 参数", () => {
310
+ it("未给 --expect-active = undefined(不启用 CAS,与 null 是两回事)", () => {
311
+ expect(buildExpectedActiveArg({})).toBeUndefined();
312
+ });
313
+ it("`none` → null(「我认为当前没有 active」)", () => {
314
+ expect(buildExpectedActiveArg({ expectActive: "none" })).toBeNull();
315
+ });
316
+ it("uuid → 对象;带 version 时一并校验", () => {
317
+ expect(buildExpectedActiveArg({ expectActive: "cfg-1" })).toEqual({
318
+ configId: "cfg-1",
319
+ });
320
+ expect(buildExpectedActiveArg({
321
+ expectActive: "cfg-1",
322
+ expectActiveVersion: "3",
323
+ })).toEqual({ configId: "cfg-1", version: 3 });
324
+ });
325
+ it("🔴 --expect-active-version 不能单独给(只校验一半正是 CAS 最典型的失效方式)", () => {
326
+ expect(() => buildExpectedActiveArg({ expectActiveVersion: "3" })).toThrow();
327
+ expect(() => buildExpectedActiveArg({
328
+ expectActive: "none",
329
+ expectActiveVersion: "3",
330
+ })).toThrow();
331
+ });
332
+ });
333
+ describe("resolveEffectiveExpectedActive —— CAS 的两个入口", () => {
334
+ it("body 里的 expectedActive 也算「启用了 CAS」(只看 flag 会把警示报反)", () => {
335
+ expect(resolveEffectiveExpectedActive({}, { expectedActive: { configId: "cfg-1" } })).toEqual({ configId: "cfg-1" });
336
+ expect(resolveEffectiveExpectedActive({}, { expectedActive: null })).toBeNull();
337
+ });
338
+ it("显式 flag 覆盖 body(绝不一半来自 body、一半来自 flag)", () => {
339
+ expect(resolveEffectiveExpectedActive({ expectActive: "cfg-flag" }, { expectedActive: { configId: "cfg-body" } })).toEqual({ configId: "cfg-flag" });
340
+ });
341
+ it("🔴 `--expect-active none` 解析成 null,也必须覆盖 body(判据是 flag 有没有出现,不是解析结果)", () => {
342
+ expect(resolveEffectiveExpectedActive({ expectActive: "none" }, { expectedActive: { configId: "cfg-body" } })).toBeNull();
343
+ });
344
+ it("两处都没有 → undefined(= 不启用 CAS)", () => {
345
+ expect(resolveEffectiveExpectedActive({}, {})).toBeUndefined();
346
+ });
347
+ });
309
348
  //# sourceMappingURL=register-notify.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-notify.test.js","sourceRoot":"","sources":["../src/register-notify.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-notify.test.js","sourceRoot":"","sources":["../src/register-notify.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geoly-ai/social-hub-cli",
3
- "version": "0.3.7",
3
+ "version": "0.3.9",
4
4
  "type": "module",
5
5
  "description": "social-hub CLI for Social Ops Hub",
6
6
  "repository": {
@@ -22,8 +22,8 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "commander": "^12.1.0",
25
- "@geoly-ai/social-hub-authz": "0.0.10",
26
- "@geoly-ai/social-hub-sdk": "0.0.47"
25
+ "@geoly-ai/social-hub-authz": "0.0.12",
26
+ "@geoly-ai/social-hub-sdk": "0.0.48"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^22.10.2",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 1,
3
3
  "package": "social-ops-hub",
4
- "cliVersion": "0.3.7",
4
+ "cliVersion": "0.3.9",
5
5
  "repository": "social-ops-hub",
6
6
  "publish": {
7
7
  "registry": "https://skill.sh",
@@ -4,46 +4,46 @@
4
4
  "archiveSha256": "7af75a08d8779f0d4aa73e6fa0706e7fac82737da7eecc08adf8a02151619e0b",
5
5
  "skills": {
6
6
  "reddit-strategy-orchestrator": {
7
- "contentSha256": "dfaf4bafae4118deb37b3857fea660e025a64203a9dcaf222fd0d12d4b4e9627"
7
+ "contentSha256": "501408ce9cd1be969ac91c672523cde18bdbb6118836e032539ef30af98f2711"
8
8
  },
9
9
  "reddit-strategy-shared": {
10
- "contentSha256": "5774f1d9d6bc93f04549dfdb606ff24c258eb900a43baf880e11bd13c7a27fd4"
10
+ "contentSha256": "04c91d348907fded8cda969af973056dfff70ecfd96011e6dea01c3462f23ab0"
11
11
  },
12
12
  "reddit-phase-research": {
13
- "contentSha256": "f1c2260587b5d6a82272efd6da1289a8bf667a05eb65fa8a774059348d2afca9"
13
+ "contentSha256": "e1818757ae92019448a454b956cb38c9cabc7e3c4762da4a6e4a765d687b8dc6"
14
14
  },
15
15
  "reddit-phase-planning": {
16
- "contentSha256": "04cbfddebd8cb6d22de6eb9711d9fd0580680190ca8465ca7a888f44338db4c4"
16
+ "contentSha256": "7568acf5b9e0ec9bd44deff09a49cadd80a7cf5acbe483c97f979f96ac9d962f"
17
17
  },
18
18
  "reddit-phase-brief": {
19
- "contentSha256": "a56b9648acb48260ec06d0304d5bcc04b13e971471ba1c3a910147c472125882"
19
+ "contentSha256": "841d9e9928126553af0211da7d74a69af92076fc00d800dff2243075359b2157"
20
20
  },
21
21
  "reddit-content-writing": {
22
- "contentSha256": "c4aeb42db6343475428215f90ee0ae01fe2f1837f17754025b733e55c90a98bb"
22
+ "contentSha256": "262d8cd5bb4709452793e2711e9ea07ff73e5d46ee2e507d6723f364b3cbed01"
23
23
  },
24
24
  "reddit-content-rewrite": {
25
- "contentSha256": "9a2a64e08727dfaf34550f75cfa568b81ea285a030e770c54fea064e6fc4a13d"
25
+ "contentSha256": "fd96108f6436804e80cb4054e5904df9ef59a4c68cec4efd410f1247bbee4735"
26
26
  },
27
27
  "reddit-delivery-check": {
28
- "contentSha256": "e619faf2e9a54770b4ee52889bd1da045c21c5226ea8e58b6fd02b2ee87ca77b"
28
+ "contentSha256": "234d7fd1d8f2db68444674c20418c836c1b2488305b20399114dec89a0de32fc"
29
29
  },
30
30
  "reddit-voc-volume": {
31
- "contentSha256": "4f3fa174ca084691c39fb80eb226d965005c0cf3b0977844028ddb9bb17d116b"
31
+ "contentSha256": "00e0675d6c77d5c08f3232fa7b6a7ecd8bea6d75b0ebeb67ae01254483695639"
32
32
  },
33
33
  "reddit-brand-risk-response": {
34
- "contentSha256": "5d375160d99de5ad86075abb2f2b1ec25c120cd02ad1e204f0748144ff57cf97"
34
+ "contentSha256": "dbba80345ebe68818a25e7604dfaa6951c6bf0e4d785d5013be7a06b22ec5b7c"
35
35
  },
36
36
  "reddit-subreddit-compliance": {
37
- "contentSha256": "0fe13553dd92d4abcecc31fe310bace82c6546e9fce257c27e51fc14a89e8b08"
37
+ "contentSha256": "a996e1dbffee237d0535012ac3ec40698c2d4ba03d0c9fb088fefe27f51646ee"
38
38
  },
39
39
  "reddit-answers-research": {
40
- "contentSha256": "e4e5eb26a6eb7405b9a60013a34e0aec0fc939e4e26124b6fe96ee24b039def1"
40
+ "contentSha256": "eb132d81021f0a24619d9b576a287f722cf61c24422874d5be86cd4be2c392df"
41
41
  },
42
42
  "reddit-monthly-iteration": {
43
- "contentSha256": "9dbc699d5084712c16b2c387ede26ba42cf367059e32f74975c583386b506fa1"
43
+ "contentSha256": "808659c48e546e8ce35e32ec42c68d35e3f843ec41d4974ea8eabd1da1dac7ce"
44
44
  },
45
45
  "reddit-ext-post-audit": {
46
- "contentSha256": "e057af229208ad4bd0d76e7ce5c7bd7441de398b120d7b2a16bf19fb030afbc6"
46
+ "contentSha256": "7ebe1b407c1897a6ba7620c6ae6ec16d206b3a7b0be3d1d30618705d58492214"
47
47
  }
48
48
  }
49
49
  }
@@ -1,152 +1,152 @@
1
- import os
2
- from firecrawl import FirecrawlApp
3
- import json
4
- from dotenv import load_dotenv
5
- from openai import OpenAI
6
-
7
- # ANSI color codes
8
- class Colors:
9
- CYAN = '\033[96m'
10
- YELLOW = '\033[93m'
11
- GREEN = '\033[92m'
12
- RED = '\033[91m'
13
- MAGENTA = '\033[95m'
14
- BLUE = '\033[94m'
15
- RESET = '\033[0m'
16
-
17
- # Load environment variables
18
- load_dotenv()
19
-
20
- # Retrieve API keys from environment variables
21
- firecrawl_api_key = os.getenv("FIRECRAWL_API_KEY")
22
- openai_api_key = os.getenv("OPENAI_API_KEY")
23
-
24
- # Initialize the FirecrawlApp and OpenAI client
25
- app = FirecrawlApp(api_key=firecrawl_api_key)
26
- client = OpenAI(api_key=openai_api_key)
27
-
28
- # Find the page that most likely contains the objective
29
- def find_relevant_page_via_map(objective, url, app, client):
30
- try:
31
- print(f"{Colors.CYAN}Understood. The objective is: {objective}{Colors.RESET}")
32
- print(f"{Colors.CYAN}Initiating search on the website: {url}{Colors.RESET}")
33
-
34
- map_prompt = f"""
35
- The map function generates a list of URLs from a website and it accepts a search parameter. Based on the objective of: {objective}, come up with a 1-2 word search parameter that will help us find the information we need. Only respond with 1-2 words nothing else.
36
- """
37
-
38
- print(f"{Colors.YELLOW}Analyzing objective to determine optimal search parameter...{Colors.RESET}")
39
- completion = client.chat.completions.create(
40
- model="o1-preview",
41
- messages=[
42
- {
43
- "role": "user",
44
- "content": [
45
- {
46
- "type": "text",
47
- "text": map_prompt
48
- }
49
- ]
50
- }
51
- ]
52
- )
53
-
54
- map_search_parameter = completion.choices[0].message.content
55
- print(f"{Colors.GREEN}Optimal search parameter identified: {map_search_parameter}{Colors.RESET}")
56
-
57
- print(f"{Colors.YELLOW}Mapping website using the identified search parameter...{Colors.RESET}")
58
- map_website = app.map_url(url, params={"search": map_search_parameter})
59
- print(f"{Colors.GREEN}Website mapping completed successfully.{Colors.RESET}")
60
- print(f"{Colors.GREEN}Located {len(map_website)} relevant links.{Colors.RESET}")
61
- return map_website
62
- except Exception as e:
63
- print(f"{Colors.RED}Error encountered during relevant page identification: {str(e)}{Colors.RESET}")
64
- return None
65
-
66
- # Scrape the top 3 pages and see if the objective is met, if so return in json format else return None
67
- def find_objective_in_top_pages(map_website, objective, app, client):
68
- try:
69
- # Get top 3 links from the map result
70
- top_links = map_website[:3] if isinstance(map_website, list) else []
71
- print(f"{Colors.CYAN}Proceeding to analyze top {len(top_links)} links: {top_links}{Colors.RESET}")
72
-
73
- for link in top_links:
74
- print(f"{Colors.YELLOW}Initiating scrape of page: {link}{Colors.RESET}")
75
- # Scrape the page
76
- scrape_result = app.scrape_url(link, params={'formats': ['markdown']})
77
- print(f"{Colors.GREEN}Page scraping completed successfully.{Colors.RESET}")
78
-
79
-
80
- # Check if objective is met
81
- check_prompt = f"""
82
- Given the following scraped content and objective, determine if the objective is met.
83
- If it is, extract the relevant information in a simple and concise JSON format. Use only the necessary fields and avoid nested structures if possible.
84
- If the objective is not met with confidence, respond with 'Objective not met'.
85
-
86
- Objective: {objective}
87
- Scraped content: {scrape_result['markdown']}
88
-
89
- Remember:
90
- 1. Only return JSON if you are confident the objective is fully met.
91
- 2. Keep the JSON structure as simple and flat as possible.
92
- 3. Do not include any explanations or markdown formatting in your response.
93
- """
94
-
95
- completion = client.chat.completions.create(
96
- model="o1-preview",
97
- messages=[
98
- {
99
- "role": "user",
100
- "content": [
101
- {
102
- "type": "text",
103
- "text": check_prompt
104
- }
105
- ]
106
- }
107
- ]
108
- )
109
-
110
- result = completion.choices[0].message.content
111
-
112
- if result != "Objective not met":
113
- print(f"{Colors.GREEN}Objective potentially fulfilled. Relevant information identified.{Colors.RESET}")
114
- try:
115
- return json.loads(result)
116
- except json.JSONDecodeError:
117
- print(f"{Colors.RED}Error in parsing response. Proceeding to next page...{Colors.RESET}")
118
- else:
119
- print(f"{Colors.YELLOW}Objective not met on this page. Proceeding to next link...{Colors.RESET}")
120
-
121
- print(f"{Colors.RED}All available pages analyzed. Objective not fulfilled in examined content.{Colors.RESET}")
122
- return None
123
-
124
- except Exception as e:
125
- print(f"{Colors.RED}Error encountered during page analysis: {str(e)}{Colors.RESET}")
126
- return None
127
-
128
- # Main function to execute the process
129
- def main():
130
- # Get user input
131
- url = input(f"{Colors.BLUE}Enter the website to crawl: {Colors.RESET}")
132
- objective = input(f"{Colors.BLUE}Enter your objective: {Colors.RESET}")
133
-
134
- print(f"{Colors.YELLOW}Initiating web crawling process...{Colors.RESET}")
135
- # Find the relevant page
136
- map_website = find_relevant_page_via_map(objective, url, app, client)
137
-
138
- if map_website:
139
- print(f"{Colors.GREEN}Relevant pages identified. Proceeding with detailed analysis...{Colors.RESET}")
140
- # Find objective in top pages
141
- result = find_objective_in_top_pages(map_website, objective, app, client)
142
-
143
- if result:
144
- print(f"{Colors.GREEN}Objective successfully fulfilled. Extracted information:{Colors.RESET}")
145
- print(f"{Colors.MAGENTA}{json.dumps(result, indent=2)}{Colors.RESET}")
146
- else:
147
- print(f"{Colors.RED}Unable to fulfill the objective with the available content.{Colors.RESET}")
148
- else:
149
- print(f"{Colors.RED}No relevant pages identified. Consider refining the search parameters or trying a different website.{Colors.RESET}")
150
-
151
- if __name__ == "__main__":
152
- main()
1
+ import os
2
+ from firecrawl import FirecrawlApp
3
+ import json
4
+ from dotenv import load_dotenv
5
+ from openai import OpenAI
6
+
7
+ # ANSI color codes
8
+ class Colors:
9
+ CYAN = '\033[96m'
10
+ YELLOW = '\033[93m'
11
+ GREEN = '\033[92m'
12
+ RED = '\033[91m'
13
+ MAGENTA = '\033[95m'
14
+ BLUE = '\033[94m'
15
+ RESET = '\033[0m'
16
+
17
+ # Load environment variables
18
+ load_dotenv()
19
+
20
+ # Retrieve API keys from environment variables
21
+ firecrawl_api_key = os.getenv("FIRECRAWL_API_KEY")
22
+ openai_api_key = os.getenv("OPENAI_API_KEY")
23
+
24
+ # Initialize the FirecrawlApp and OpenAI client
25
+ app = FirecrawlApp(api_key=firecrawl_api_key)
26
+ client = OpenAI(api_key=openai_api_key)
27
+
28
+ # Find the page that most likely contains the objective
29
+ def find_relevant_page_via_map(objective, url, app, client):
30
+ try:
31
+ print(f"{Colors.CYAN}Understood. The objective is: {objective}{Colors.RESET}")
32
+ print(f"{Colors.CYAN}Initiating search on the website: {url}{Colors.RESET}")
33
+
34
+ map_prompt = f"""
35
+ The map function generates a list of URLs from a website and it accepts a search parameter. Based on the objective of: {objective}, come up with a 1-2 word search parameter that will help us find the information we need. Only respond with 1-2 words nothing else.
36
+ """
37
+
38
+ print(f"{Colors.YELLOW}Analyzing objective to determine optimal search parameter...{Colors.RESET}")
39
+ completion = client.chat.completions.create(
40
+ model="o1-preview",
41
+ messages=[
42
+ {
43
+ "role": "user",
44
+ "content": [
45
+ {
46
+ "type": "text",
47
+ "text": map_prompt
48
+ }
49
+ ]
50
+ }
51
+ ]
52
+ )
53
+
54
+ map_search_parameter = completion.choices[0].message.content
55
+ print(f"{Colors.GREEN}Optimal search parameter identified: {map_search_parameter}{Colors.RESET}")
56
+
57
+ print(f"{Colors.YELLOW}Mapping website using the identified search parameter...{Colors.RESET}")
58
+ map_website = app.map_url(url, params={"search": map_search_parameter})
59
+ print(f"{Colors.GREEN}Website mapping completed successfully.{Colors.RESET}")
60
+ print(f"{Colors.GREEN}Located {len(map_website)} relevant links.{Colors.RESET}")
61
+ return map_website
62
+ except Exception as e:
63
+ print(f"{Colors.RED}Error encountered during relevant page identification: {str(e)}{Colors.RESET}")
64
+ return None
65
+
66
+ # Scrape the top 3 pages and see if the objective is met, if so return in json format else return None
67
+ def find_objective_in_top_pages(map_website, objective, app, client):
68
+ try:
69
+ # Get top 3 links from the map result
70
+ top_links = map_website[:3] if isinstance(map_website, list) else []
71
+ print(f"{Colors.CYAN}Proceeding to analyze top {len(top_links)} links: {top_links}{Colors.RESET}")
72
+
73
+ for link in top_links:
74
+ print(f"{Colors.YELLOW}Initiating scrape of page: {link}{Colors.RESET}")
75
+ # Scrape the page
76
+ scrape_result = app.scrape_url(link, params={'formats': ['markdown']})
77
+ print(f"{Colors.GREEN}Page scraping completed successfully.{Colors.RESET}")
78
+
79
+
80
+ # Check if objective is met
81
+ check_prompt = f"""
82
+ Given the following scraped content and objective, determine if the objective is met.
83
+ If it is, extract the relevant information in a simple and concise JSON format. Use only the necessary fields and avoid nested structures if possible.
84
+ If the objective is not met with confidence, respond with 'Objective not met'.
85
+
86
+ Objective: {objective}
87
+ Scraped content: {scrape_result['markdown']}
88
+
89
+ Remember:
90
+ 1. Only return JSON if you are confident the objective is fully met.
91
+ 2. Keep the JSON structure as simple and flat as possible.
92
+ 3. Do not include any explanations or markdown formatting in your response.
93
+ """
94
+
95
+ completion = client.chat.completions.create(
96
+ model="o1-preview",
97
+ messages=[
98
+ {
99
+ "role": "user",
100
+ "content": [
101
+ {
102
+ "type": "text",
103
+ "text": check_prompt
104
+ }
105
+ ]
106
+ }
107
+ ]
108
+ )
109
+
110
+ result = completion.choices[0].message.content
111
+
112
+ if result != "Objective not met":
113
+ print(f"{Colors.GREEN}Objective potentially fulfilled. Relevant information identified.{Colors.RESET}")
114
+ try:
115
+ return json.loads(result)
116
+ except json.JSONDecodeError:
117
+ print(f"{Colors.RED}Error in parsing response. Proceeding to next page...{Colors.RESET}")
118
+ else:
119
+ print(f"{Colors.YELLOW}Objective not met on this page. Proceeding to next link...{Colors.RESET}")
120
+
121
+ print(f"{Colors.RED}All available pages analyzed. Objective not fulfilled in examined content.{Colors.RESET}")
122
+ return None
123
+
124
+ except Exception as e:
125
+ print(f"{Colors.RED}Error encountered during page analysis: {str(e)}{Colors.RESET}")
126
+ return None
127
+
128
+ # Main function to execute the process
129
+ def main():
130
+ # Get user input
131
+ url = input(f"{Colors.BLUE}Enter the website to crawl: {Colors.RESET}")
132
+ objective = input(f"{Colors.BLUE}Enter your objective: {Colors.RESET}")
133
+
134
+ print(f"{Colors.YELLOW}Initiating web crawling process...{Colors.RESET}")
135
+ # Find the relevant page
136
+ map_website = find_relevant_page_via_map(objective, url, app, client)
137
+
138
+ if map_website:
139
+ print(f"{Colors.GREEN}Relevant pages identified. Proceeding with detailed analysis...{Colors.RESET}")
140
+ # Find objective in top pages
141
+ result = find_objective_in_top_pages(map_website, objective, app, client)
142
+
143
+ if result:
144
+ print(f"{Colors.GREEN}Objective successfully fulfilled. Extracted information:{Colors.RESET}")
145
+ print(f"{Colors.MAGENTA}{json.dumps(result, indent=2)}{Colors.RESET}")
146
+ else:
147
+ print(f"{Colors.RED}Unable to fulfill the objective with the available content.{Colors.RESET}")
148
+ else:
149
+ print(f"{Colors.RED}No relevant pages identified. Consider refining the search parameters or trying a different website.{Colors.RESET}")
150
+
151
+ if __name__ == "__main__":
152
+ main()
@@ -9,7 +9,7 @@ description: >-
9
9
  部分既有高风险 admin 命令(settings/api-keys/members 等)需 --apply(品牌治理新命令无 --apply 选项)。
10
10
  API Key 创建/轮换是管理员资源,不是 CLI 日常登录方式。
11
11
  metadata:
12
- cliVersion: ">=0.2.21"
12
+ cliVersion: ">=0.3.9"
13
13
  ---
14
14
 
15
15
  # social-hub-admin
@@ -217,8 +217,48 @@ social-hub api-keys batch-rotate -t <team-id> -j '{"apiKeyIds":["uuid1"]}' --app
217
217
 
218
218
  social-hub permissions matrix -t <team-id>
219
219
  social-hub permissions-update -t <team-id> -j '{...}'
220
+
221
+ # 权限 override 变更轨迹(谁在何时插入/修改/删除了哪一条 override)
222
+ social-hub permissions revisions -t <team-id> [--kind permission|field] \
223
+ [--role manager] [--resource redditPost] [--action update] [--field authorNote] \
224
+ [--before-permission-revision-no <n>] [--before-field-revision-no <n>] [-n 50]
220
225
  ```
221
226
 
227
+ ### `permissions revisions` 的口径(**读之前必须先懂这一条**)
228
+
229
+ 🔴 **它是 override 轨迹,不是 effective 权限轨迹。**
230
+ effective 权限 = 静态 authz 矩阵 ⊕ override ⊕ 硬钳制;轨迹只看得见 **override 表**
231
+ 发生了什么。所以下面三种情况轨迹都会"看起来不对":
232
+
233
+ - 静态本来就 allow,有人插了一条 `allowed=true` → 轨迹记 `change_kind=insert`,
234
+ **effective 没变**;
235
+ - 有人**删掉**一条 deny override → 轨迹记 `change_kind=delete`,
236
+ **effective 可能从 deny 变成 allow**(放宽,却长得像"撤销");
237
+ - authz 包升版 → override 表一行没动,effective 也可能变。
238
+
239
+ `authzPolicyVersion` 就是为这一层准备的:重放时用**当时**的静态规则解释**当时**的
240
+ override,才能还原"那一刻实际能做什么"。
241
+ ⚠️ 它**可能为 null** —— 触发器读的是事务级 GUC,只有经标准应用写路径产生的行才带版本号;
242
+ **未显式设置该 GUC 的** raw DML / psql 直插留下的行没有。这类行只能看出 override 变了什么,**连重放都做不了**。
243
+ ⚠️ **不要**把某一行直接读成"当时该角色的实际权限" —— 那是最常见的误读。
244
+
245
+ 其他要点:
246
+
247
+ - 🔴 gate 是 `permissionMatrix:**update**`,**不是** `read`:能看见"谁改了权限"
248
+ 本身就是治理信息(还露出 actor user id),门槛等同"能改权限"。矩阵只读的角色看不到。
249
+ - 翻页是 **keyset**:把响应里的 `nextPermissionRevisionNo` / `nextFieldRevisionNo`
250
+ **原样**回传给 `--before-permission-revision-no` / `--before-field-revision-no`,
251
+ **不要自己拼**。它们是 continuation token 而不是 has-more 信号 ——
252
+ 本页非空就一定有值,要再请求一次拿到空数组才算到底。
253
+ - 两张轨迹表:动作权限(`--action`)与字段可见性(`--field`)。给了 `--action` 就只查
254
+ permission 轨迹,给了 `--field` 就只查 field 轨迹;两个一起给、或游标与 `--kind`
255
+ 矛盾,服务端 **400**(而不是返回空结果 —— 空结果会被误读成"这段时间没人改过")。
256
+ - 记的是**全部**有语义的 override 变化:insert(true 或 false)、update(两个方向)、
257
+ delete。**不是**只记"放宽" —— 收紧和删除同样留痕,别只盯着 deny→allow。
258
+ - 轨迹行由 **DB 触发器**写,append-only:UPDATE/DELETE/TRUNCATE 全被拒。
259
+ actor 署名可能为空(api_key / 无 userId 的服务 token / psql 直插),
260
+ "有痕迹但没署名"是正常状态,不是数据损坏。
261
+
222
262
  - **API Key**:集成/服务端密钥管理;Agent 日常仍用 Device Code(见 `social-hub-shared`)
223
263
  - admin 写操作建议先 `--dry-run` 再 `--apply`
224
264
  - `api-keys delete` / `batch-revoke` / `batch-rotate`:**必须** `--apply`;先 `list` 核对 key id