sino-bc-cli 1.0.0-beta.0

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 (123) hide show
  1. package/README.md +256 -0
  2. package/dist/affordance/auth.md +31 -0
  3. package/dist/affordance/bill.md +48 -0
  4. package/dist/affordance/biz-line-ai-strategy.md +35 -0
  5. package/dist/affordance/biz-line-metrics.md +47 -0
  6. package/dist/affordance/biz-line.md +84 -0
  7. package/dist/affordance/common-file.md +25 -0
  8. package/dist/affordance/dashboard.md +75 -0
  9. package/dist/affordance/dict.md +28 -0
  10. package/dist/affordance/document.md +67 -0
  11. package/dist/affordance/im.md +91 -0
  12. package/dist/affordance/invoice.md +49 -0
  13. package/dist/affordance/media.md +17 -0
  14. package/dist/affordance/organization.md +47 -0
  15. package/dist/affordance/project-analysis.md +95 -0
  16. package/dist/affordance/project.md +321 -0
  17. package/dist/affordance/quota.md +19 -0
  18. package/dist/affordance/reconciliation.md +41 -0
  19. package/dist/affordance/report.md +75 -0
  20. package/dist/affordance/sso-team-group.md +30 -0
  21. package/dist/affordance/task.md +148 -0
  22. package/dist/affordance/tenant.md +17 -0
  23. package/dist/affordance/user.md +41 -0
  24. package/dist/affordance/wallet.md +100 -0
  25. package/dist/api-doc/README.md +67 -0
  26. package/dist/api-doc/custom/template.md +0 -0
  27. package/dist/api-doc/oapi/auth.md +61 -0
  28. package/dist/api-doc/oapi/bill.md +130 -0
  29. package/dist/api-doc/oapi/biz-line-ai-strategy.md +119 -0
  30. package/dist/api-doc/oapi/biz-line-metrics.md +419 -0
  31. package/dist/api-doc/oapi/biz-line.md +382 -0
  32. package/dist/api-doc/oapi/common-file.md +50 -0
  33. package/dist/api-doc/oapi/dashboard.md +218 -0
  34. package/dist/api-doc/oapi/dict.md +49 -0
  35. package/dist/api-doc/oapi/document.md +182 -0
  36. package/dist/api-doc/oapi/im.md +278 -0
  37. package/dist/api-doc/oapi/invoice.md +129 -0
  38. package/dist/api-doc/oapi/media.md +17 -0
  39. package/dist/api-doc/oapi/organization.md +94 -0
  40. package/dist/api-doc/oapi/project-analysis.md +364 -0
  41. package/dist/api-doc/oapi/project.md +1114 -0
  42. package/dist/api-doc/oapi/quota.md +21 -0
  43. package/dist/api-doc/oapi/reconciliation.md +98 -0
  44. package/dist/api-doc/oapi/report.md +254 -0
  45. package/dist/api-doc/oapi/sso-team-group.md +54 -0
  46. package/dist/api-doc/oapi/task.md +528 -0
  47. package/dist/api-doc/oapi/tenant.md +17 -0
  48. package/dist/api-doc/oapi/user.md +98 -0
  49. package/dist/api-doc/oapi/wallet.md +275 -0
  50. package/dist/generated/api-catalog.json +39681 -0
  51. package/dist/generated/api-directory-index.json +1509 -0
  52. package/dist/index.js +2 -0
  53. package/dist/skill-manifest.json +336 -0
  54. package/dist/skills/biz-line-strategy-generate/SKILL.md +122 -0
  55. package/dist/skills/biz-line-strategy-generate/references/ai-strategy-prompt.md +50 -0
  56. package/dist/skills/biz-line-strategy-generate/references/api-flow.md +155 -0
  57. package/dist/skills/biz-line-strategy-generate/references/four-strategies.md +58 -0
  58. package/dist/skills/biz-line-strategy-generate/references/metrics.md +119 -0
  59. package/dist/skills/biz-line-strategy-generate/references/output-excel.md +63 -0
  60. package/dist/skills/biz-line-strategy-generate/references/runtime.md +127 -0
  61. package/dist/skills/biz-line-strategy-generate/references/spec.md +500 -0
  62. package/dist/skills/biz-line-strategy-generate/scripts/ai_strategy.py +89 -0
  63. package/dist/skills/biz-line-strategy-generate/scripts/build_report.py +629 -0
  64. package/dist/skills/biz-line-strategy-generate/scripts/cleanup.py +87 -0
  65. package/dist/skills/biz-line-strategy-generate/scripts/cli_json.py +705 -0
  66. package/dist/skills/biz-line-strategy-generate/scripts/fetch_data.py +449 -0
  67. package/dist/skills/biz-line-strategy-generate/scripts/run_workflow.py +402 -0
  68. package/dist/skills/biz-line-strategy-generate/scripts/strategy_output.py +556 -0
  69. package/dist/skills/biz-line-strategy-generate/scripts/submit_tags.py +32 -0
  70. package/dist/skills/biz-line-strategy-generate/scripts/summarize.py +932 -0
  71. package/dist/skills/biz-line-strategy-generate/scripts/test_ai_strategy.py +235 -0
  72. package/dist/skills/biz-line-strategy-generate/scripts/test_cli_json.py +97 -0
  73. package/dist/skills/biz-line-strategy-generate/scripts/test_database_output.py +904 -0
  74. package/dist/skills/biz-line-strategy-generate/scripts/test_pipeline.py +253 -0
  75. package/dist/skills/biz-line-strategy-generate/scripts/test_strategy_rules.py +224 -0
  76. package/dist/skills/biz-line-strategy-generate/scripts/test_tag_submission.py +238 -0
  77. package/dist/skills/biz-line-strategy-generate/scripts/test_workflow.py +1233 -0
  78. package/dist/skills/sino-bc-cli/SKILL.md +62 -0
  79. package/dist/skills/sino-bc-cli/domains/sino-bc-auth/SKILL.md +36 -0
  80. package/dist/skills/sino-bc-cli/domains/sino-bc-bill/SKILL.md +48 -0
  81. package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line/SKILL.md +58 -0
  82. package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line/references/common-mistakes.md +7 -0
  83. package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line/references/enums.md +13 -0
  84. package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line-ai-strategy/SKILL.md +46 -0
  85. package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line-metrics/SKILL.md +46 -0
  86. package/dist/skills/sino-bc-cli/domains/sino-bc-common-file/SKILL.md +44 -0
  87. package/dist/skills/sino-bc-cli/domains/sino-bc-dashboard/SKILL.md +50 -0
  88. package/dist/skills/sino-bc-cli/domains/sino-bc-dict/SKILL.md +48 -0
  89. package/dist/skills/sino-bc-cli/domains/sino-bc-document/SKILL.md +53 -0
  90. package/dist/skills/sino-bc-cli/domains/sino-bc-im/SKILL.md +62 -0
  91. package/dist/skills/sino-bc-cli/domains/sino-bc-invoice/SKILL.md +48 -0
  92. package/dist/skills/sino-bc-cli/domains/sino-bc-media/SKILL.md +40 -0
  93. package/dist/skills/sino-bc-cli/domains/sino-bc-organization/SKILL.md +46 -0
  94. package/dist/skills/sino-bc-cli/domains/sino-bc-project/SKILL.md +112 -0
  95. package/dist/skills/sino-bc-cli/domains/sino-bc-project-analysis/SKILL.md +61 -0
  96. package/dist/skills/sino-bc-cli/domains/sino-bc-project-analysis/references/analysis-workflow.md +21 -0
  97. package/dist/skills/sino-bc-cli/domains/sino-bc-project-analysis/references/filters-and-metrics.md +30 -0
  98. package/dist/skills/sino-bc-cli/domains/sino-bc-quota/SKILL.md +44 -0
  99. package/dist/skills/sino-bc-cli/domains/sino-bc-reconciliation/SKILL.md +47 -0
  100. package/dist/skills/sino-bc-cli/domains/sino-bc-report/SKILL.md +53 -0
  101. package/dist/skills/sino-bc-cli/domains/sino-bc-sso-team-group/SKILL.md +45 -0
  102. package/dist/skills/sino-bc-cli/domains/sino-bc-task/SKILL.md +73 -0
  103. package/dist/skills/sino-bc-cli/domains/sino-bc-task/references/state-machine.md +18 -0
  104. package/dist/skills/sino-bc-cli/domains/sino-bc-tenant/SKILL.md +34 -0
  105. package/dist/skills/sino-bc-cli/domains/sino-bc-user/SKILL.md +57 -0
  106. package/dist/skills/sino-bc-cli/domains/sino-bc-wallet/SKILL.md +55 -0
  107. package/dist/skills/sino-bc-cli/references/domain-index/module-8534789.md +53 -0
  108. package/dist/skills/sino-bc-cli/references/domain-index/module-8551546.md +70 -0
  109. package/dist/skills/sino-bc-cli/references/domain-index/module-8562638.md +13 -0
  110. package/dist/skills/sino-bc-cli/references/domain-index/module-8566367.md +13 -0
  111. package/dist/skills/sino-bc-cli/references/domain-index/module-8581524.md +17 -0
  112. package/dist/skills/sino-bc-cli/references/domain-index/module-8601540.md +13 -0
  113. package/dist/skills/sino-bc-cli/references/domain-index/module-8614891.md +33 -0
  114. package/dist/skills/sino-bc-cli/references/domain-index/module-8621792.md +17 -0
  115. package/dist/skills/sino-bc-shared/SKILL.md +31 -0
  116. package/dist/skills/sino-bc-shared/references/auth-recovery.md +36 -0
  117. package/dist/skills/sino-bc-shared/references/config-and-env.md +60 -0
  118. package/dist/skills/sino-bc-shared/references/output-contract.md +86 -0
  119. package/dist/skills/sino-bc-shared/references/skill-lifecycle.md +17 -0
  120. package/dist/skills/sino-bc-shared/references/tenant-context.md +21 -0
  121. package/dist/skills/sino-bc-shared/references/write-approval.md +16 -0
  122. package/package.json +70 -0
  123. package/scripts/postinstall.cjs +36 -0
@@ -0,0 +1,49 @@
1
+ # 通用字典
2
+
3
+ 对应命令:`dict +<shortcut>` 与 `dict api <name>`。
4
+
5
+ 执行前 MUST 读取 [sino-bc-shared](../../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取其 references;当前上下文已读且仍适用时可复用。可用 `sino-bc-cli /skill` 查询真实路径。
6
+
7
+ ## 1. 按场景查询字典条目
8
+
9
+ `GET /sino-bc-nexus/dict/items`
10
+
11
+ 主体上下文:`tenant=true`。
12
+
13
+ 角色范围:`sso/passport/system`。
14
+
15
+ 风险:`read`。
16
+
17
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
18
+
19
+ 调用示例:`sino-bc-cli dict api dict-items --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
20
+
21
+ 按场景查询字典条目
22
+
23
+ **输入参数(--data)**
24
+
25
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
26
+ | --- | --- | --- | --- | --- |
27
+ | `sceneCodes` | array | query | 是 | 场景编码列表;实际参数名sceneCodes。可传sceneCodes=TYPE,REGION,或sceneCodes=TYPE&sceneCodes=REGION。 |
28
+
29
+ ## 2. 按作用域查询字典场景
30
+
31
+ `GET /sino-bc-nexus/dict/scenes`
32
+
33
+ 主体上下文:`tenant=true`。
34
+
35
+ 角色范围:`sso/passport/system`。
36
+
37
+ 风险:`read`。
38
+
39
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
40
+
41
+ 调用示例:`sino-bc-cli dict api dict-scenes --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
42
+
43
+ 按作用域查询字典场景
44
+
45
+ **输入参数(--data)**
46
+
47
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
48
+ | --- | --- | --- | --- | --- |
49
+ | `bizScope` | string | query | 否 | 业务用途筛选,如PROJECT、TASK;省略或空白不筛选。 |
@@ -0,0 +1,182 @@
1
+ # 营销协同文档
2
+
3
+ 对应命令:`document +<shortcut>` 与 `document api <name>`。
4
+
5
+ 执行前 MUST 读取 [sino-bc-shared](../../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取其 references;当前上下文已读且仍适用时可复用。可用 `sino-bc-cli /skill` 查询真实路径。
6
+
7
+ ## 1. 协同文档详情
8
+
9
+ `GET /sino-bc-nexus/document/detail`
10
+
11
+ 主体上下文:`tenant=true`。
12
+
13
+ 角色范围:`sso/passport/system`。
14
+
15
+ 风险:`read`。
16
+
17
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
18
+
19
+ 调用示例:`sino-bc-cli document api document-detail --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
20
+
21
+ 协同文档详情
22
+
23
+ **输入参数(--data)**
24
+
25
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
26
+ | --- | --- | --- | --- | --- |
27
+ | `id` | integer | query | 是 | |
28
+
29
+ ## 2. 协同文档列表(全量)
30
+
31
+ `POST /sino-bc-nexus/document/list`
32
+
33
+ 主体上下文:`tenant=true`。
34
+
35
+ 角色范围:`sso/passport/system`。
36
+
37
+ 风险:`read`。
38
+
39
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
40
+
41
+ 调用示例:`sino-bc-cli document api document-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
42
+
43
+ 协同文档列表(全量)
44
+
45
+ **输入参数(--data)**
46
+
47
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
48
+ | --- | --- | --- | --- | --- |
49
+ | `docType` | string | body | 否 | 文档业务类型 |
50
+ | `docTypeList` | array | body | 否 | 文档业务类型列表 |
51
+ | `projectId` | integer | body | 否 | 所属项目ID |
52
+ | `refType` | string | body | 否 | 关联对象类型 |
53
+ | `refTypeList` | array | body | 否 | 关联对象类型列表 |
54
+ | `refId` | integer | body | 否 | 关联对象ID |
55
+ | `refIdList` | array | body | 否 | 关联对象ID列表 |
56
+ | `fileName` | string | body | 否 | 文件名(模糊匹配) |
57
+
58
+ ## 3. 协同文档列表(分页)
59
+
60
+ `POST /sino-bc-nexus/document/page`
61
+
62
+ 主体上下文:`tenant=true`。
63
+
64
+ 角色范围:`sso/passport/system`。
65
+
66
+ 风险:`read`。
67
+
68
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
69
+
70
+ 调用示例:`sino-bc-cli document api document-page --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
71
+
72
+ 协同文档列表(分页)
73
+
74
+ **输入参数(--data)**
75
+
76
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
77
+ | --- | --- | --- | --- | --- |
78
+ | `pageNum` | integer | body | 否 | 页码,从 1 开始 |
79
+ | `pageSize` | integer | body | 否 | 每页条数 |
80
+ | `sortType` | string | body | 否 | 排序字段 |
81
+ | `sortDirection` | string | body | 否 | 排序方向 ASC/DESC |
82
+ | `docType` | string | body | 否 | 文档业务类型 |
83
+ | `docTypeList` | array | body | 否 | 文档业务类型列表 |
84
+ | `projectId` | integer | body | 否 | 所属项目ID |
85
+ | `refType` | string | body | 否 | 关联对象类型 |
86
+ | `refTypeList` | array | body | 否 | 关联对象类型列表 |
87
+ | `refId` | integer | body | 否 | 关联对象ID |
88
+ | `refIdList` | array | body | 否 | 关联对象ID列表 |
89
+ | `fileName` | string | body | 否 | 文件名(模糊匹配) |
90
+
91
+ ## 4. 根据上传记录ID获取上传文件信息
92
+
93
+ `GET /sino-bc-nexus/file/upload-info-by-record`
94
+
95
+ 主体上下文:`tenant=true`。
96
+
97
+ 角色范围:`sso/passport/system`。
98
+
99
+ 风险:`read`。
100
+
101
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
102
+
103
+ 调用示例:`sino-bc-cli document api file-upload-info-by-record --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
104
+
105
+ preview=true 表示预览文档,不记下载日志
106
+
107
+ **输入参数(--data)**
108
+
109
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
110
+ | --- | --- | --- | --- | --- |
111
+ | `fileUploadRecordId` | integer | query | 是 | |
112
+ | `preview` | boolean | query | 否 | |
113
+
114
+ ## 5. 获取上传文件信息
115
+
116
+ `GET /sino-bc-nexus/file/upload-info`
117
+
118
+ 主体上下文:`tenant=true`。
119
+
120
+ 角色范围:`sso/passport/system`。
121
+
122
+ 风险:`read`。
123
+
124
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
125
+
126
+ 调用示例:`sino-bc-cli document api file-upload-info --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
127
+
128
+ preview=true 表示预览文档,不记下载日志
129
+
130
+ **输入参数(--data)**
131
+
132
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
133
+ | --- | --- | --- | --- | --- |
134
+ | `storageKey` | string | query | 是 | |
135
+ | `preview` | boolean | query | 否 | |
136
+
137
+ ## 6. 文件上传
138
+
139
+ `POST /sino-bc-nexus/file/upload`
140
+
141
+ 主体上下文:`tenant=true`。
142
+
143
+ 角色范围:`sso/passport/system`。
144
+
145
+ 风险:`write`。
146
+
147
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
148
+
149
+ 调用示例:`sino-bc-cli document api file-upload --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
150
+
151
+ 文件上传
152
+
153
+ 编码:`multipart/form-data`;文件字段填写本地路径,`--dry-run` 只预览、不上传。
154
+
155
+ **输入参数(--data)**
156
+
157
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
158
+ | --- | --- | --- | --- | --- |
159
+ | `file` | string | form | 是 | 本地文件路径;发送时读取为文件。文件 |
160
+ | `projectId` | integer | query | 否 | |
161
+
162
+ ## 7. 获取上传文件链接
163
+
164
+ `GET /sino-bc-nexus/file/url`
165
+
166
+ 主体上下文:`tenant=true`。
167
+
168
+ 角色范围:`sso/passport/system`。
169
+
170
+ 风险:`read`。
171
+
172
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
173
+
174
+ 调用示例:`sino-bc-cli document api file-url --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
175
+
176
+ 获取上传文件链接
177
+
178
+ **输入参数(--data)**
179
+
180
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
181
+ | --- | --- | --- | --- | --- |
182
+ | `storageKey` | string | query | 是 | |
@@ -0,0 +1,278 @@
1
+ # 飞书IM
2
+
3
+ 对应命令:`im +<shortcut>` 与 `im api <name>`。
4
+
5
+ 执行前 MUST 读取 [sino-bc-shared](../../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取其 references;当前上下文已读且仍适用时可复用。可用 `sino-bc-cli /skill` 查询真实路径。
6
+
7
+ ## 1. 查询会话成员
8
+
9
+ `POST /sino-bc-nexus/lark/im/chat/members`
10
+
11
+ 主体上下文:`tenant=true`。
12
+
13
+ 角色范围:`sso/passport/system`。
14
+
15
+ 风险:`read`。
16
+
17
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
18
+
19
+ 调用示例:`sino-bc-cli im api lark-im-chat-members --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
20
+
21
+ 必填 chatId。返回 t_lark_im_chat_member 未删除成员,按入群时间旧→新。
22
+
23
+ **输入参数(--data)**
24
+
25
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
26
+ | --- | --- | --- | --- | --- |
27
+ | `chatId` | string | body | 否 | 飞书会话 ID |
28
+
29
+ ## 2. 查询任务或项目日志关联的飞书聊天记录
30
+
31
+ `POST /sino-bc-nexus/lark/im/lark-chat/list`
32
+
33
+ 主体上下文:`tenant=true`。
34
+
35
+ 角色范围:`sso/passport/system`。
36
+
37
+ 风险:`read`。
38
+
39
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
40
+
41
+ 调用示例:`sino-bc-cli im api lark-im-lark-chat-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
42
+
43
+ taskId / logId 二选一。
44
+
45
+ **输入参数(--data)**
46
+
47
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
48
+ | --- | --- | --- | --- | --- |
49
+ | `taskId` | integer | body | 否 | 任务 ID,与 logId 二选一;传 taskId 时汇总该任务下操作日志关联聊天 |
50
+ | `logId` | integer | body | 否 | 操作日志 ID,与 taskId 二选一;配合 logType 只查这一条日志关联的聊天 |
51
+ | `logType` | string | body | 否 | 日志类型,与 logId 同传。TASK_ACTION_LOG=任务操作日志,PROJECT_ACTION_LOG=项目操作日志 |
52
+
53
+ ## 3. 锚点翻页查询群消息
54
+
55
+ `POST /sino-bc-nexus/lark/im/message/cursor`
56
+
57
+ 主体上下文:`tenant=true`。
58
+
59
+ 角色范围:`sso/passport/system`。
60
+
61
+ 风险:`read`。
62
+
63
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
64
+
65
+ 调用示例:`sino-bc-cli im api lark-im-message-cursor --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
66
+
67
+ 必填 chatId。
68
+
69
+ **输入参数(--data)**
70
+
71
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
72
+ | --- | --- | --- | --- | --- |
73
+ | `pageNum` | integer | body | 否 | 页码,从 1 开始 |
74
+ | `pageSize` | integer | body | 否 | 每页条数 |
75
+ | `sortType` | string | body | 否 | 排序字段 |
76
+ | `sortDirection` | string | body | 否 | 排序方向 ASC/DESC |
77
+ | `chatId` | string | body | 否 | 飞书会话 ID |
78
+ | `startMessageId` | string | body | 否 | 任务起始消息 ID(om_);首次无 cursor 时与 threadId 至少一个。翻页有 cursor 后非必填。不裁剪范围 |
79
+ | `endMessageId` | string | body | 否 | 任务结束消息 ID(om_,可选);不裁剪范围,用于给本页打 isEndMessage |
80
+ | `threadId` | string | body | 否 | 话题 ID(omt_);传了则翻页只在该话题内 |
81
+ | `cursorMessageId` | string | body | 否 | 翻页锚点消息 ID(om_);上一页用当前页第一条,下一页用最后一条 |
82
+ | `direction` | object | body | 否 | 翻页方向:BEFORE 更早 / AFTER 更晚;有 cursorMessageId 时必填 |
83
+
84
+ ## 4. 按 chatId + messageId 查询消息明细
85
+
86
+ `POST /sino-bc-nexus/lark/im/message/detail`
87
+
88
+ 主体上下文:`tenant=false`。
89
+
90
+ 角色范围:`sso/passport/system`。
91
+
92
+ 风险:`read`。
93
+
94
+ 必填 chatId、messageId;消息须属于该会话。
95
+
96
+ **输入参数(--data)**
97
+
98
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
99
+ | --- | --- | --- | --- | --- |
100
+ | `chatId` | string | body | 否 | 飞书会话 ID |
101
+ | `messageId` | string | body | 否 | 消息 ID(om_) |
102
+
103
+ ## 5. 分页查询群消息
104
+
105
+ `POST /sino-bc-nexus/lark/im/message/page`
106
+
107
+ 主体上下文:`tenant=false`。
108
+
109
+ 角色范围:`sso/passport/system`。
110
+
111
+ 风险:`read`。
112
+
113
+ 必填 chatId。
114
+
115
+ ### 日期字段说明(代码同步)
116
+ 必填 chatId。可选 senderOpenId、消息时间 startTime/endTime(yyyy-MM-dd HH:mm:ss,含边界)、keyword 模糊匹配 display_text 展示摘要。按 message_create_time 新→旧标准分页(pageNum/pageSize)。出参标明 MAIN/THREAD 归属;话题内回复回 threadRootMessageId。不含引用标记、表情回复。
117
+
118
+ **输入参数(--data)**
119
+
120
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
121
+ | --- | --- | --- | --- | --- |
122
+ | `pageNum` | integer | body | 否 | 页码,从 1 开始 |
123
+ | `pageSize` | integer | body | 否 | 每页条数 |
124
+ | `sortType` | string | body | 否 | 排序字段 |
125
+ | `sortDirection` | string | body | 否 | 排序方向 ASC/DESC |
126
+ | `chatId` | string | body | 否 | 飞书会话 ID |
127
+ | `senderOpenId` | string | body | 否 | 发送者 open_id |
128
+ | `startTime` | string | body | 否 | 消息创建时间起(含);JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;时区 GMT+8(UTC+08:00);示例:2026-09-01 00:00:00 |
129
+ | `endTime` | string | body | 否 | 消息创建时间止(含);JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;时区 GMT+8(UTC+08:00);示例:2026-09-02 23:59:59 |
130
+ | `keyword` | string | body | 否 | 内容关键字,模糊匹配 display_text 展示摘要 |
131
+
132
+ ## 6. 按引用链根查询根消息及全部回复
133
+
134
+ `POST /sino-bc-nexus/lark/im/message/replies`
135
+
136
+ 主体上下文:`tenant=true`。
137
+
138
+ 角色范围:`sso/passport/system`。
139
+
140
+ 风险:`read`。
141
+
142
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
143
+
144
+ 调用示例:`sino-bc-cli im api lark-im-message-replies --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
145
+
146
+ 必填 chatId、rootId(被回复那条的 messageId)。
147
+
148
+ **输入参数(--data)**
149
+
150
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
151
+ | --- | --- | --- | --- | --- |
152
+ | `chatId` | string | body | 否 | 飞书会话 ID |
153
+ | `rootId` | string | body | 否 | 引用链根消息 ID(om_),即被回复那条的 messageId |
154
+
155
+ ## 7. 查询消息归属(主群或话题)
156
+
157
+ `POST /sino-bc-nexus/lark/im/message/scope`
158
+
159
+ 主体上下文:`tenant=true`。
160
+
161
+ 角色范围:`sso/passport/system`。
162
+
163
+ 风险:`read`。
164
+
165
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
166
+
167
+ 调用示例:`sino-bc-cli im api lark-im-message-scope --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
168
+
169
+ 必填 chatId、messageId。
170
+
171
+ **输入参数(--data)**
172
+
173
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
174
+ | --- | --- | --- | --- | --- |
175
+ | `chatId` | string | body | 否 | 飞书会话 ID |
176
+ | `messageId` | string | body | 否 | 待判定的消息 ID(om_) |
177
+
178
+ ## 8. 应用机器人发送消息(卡片)
179
+
180
+ `POST /sino-bc-nexus/lark/im/message/send`
181
+
182
+ 主体上下文:`tenant=true`。
183
+
184
+ 角色范围:`sso/passport/system`。
185
+
186
+ 风险:`write`。
187
+
188
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
189
+
190
+ 调用示例:`sino-bc-cli im api lark-im-message-send --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
191
+
192
+ 以当前环境 Apollo 应用(cli_aaf316a98c39dbeb 等)的 tenant_access_token 调用飞书 OpenAPI。
193
+
194
+ **输入参数(--data)**
195
+
196
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
197
+ | --- | --- | --- | --- | --- |
198
+ | `chatId` | string | body | 否 | 接收者 ID:群聊 chat_id(oc_)或单聊 open_id(ou_)。回复时可不传 |
199
+ | `receiveIdType` | string | body | 否 | 接收者类型,默认 chat_id。可选 chat_id / open_id / user_id / email |
200
+ | `msgType` | string | body | 否 | 消息类型,默认 interactive(卡片)。可选 text / post / image 等 |
201
+ | `content` | object | body | 否 | 消息体:卡片 JSON 对象或已字符串化的 JSON。 |
202
+ | `uuid` | string | body | 否 | 幂等键;1 小时内相同 uuid 只发一次 |
203
+ | `replyMessageId` | string | body | 否 | 回复的消息 ID(om_)。有值则走 reply,不再按 chatId 新发 |
204
+ | `replyInThread` | boolean | body | 否 | reply 时是否进话题。true=话题内回复,false/空=主群引用回复 |
205
+
206
+ ## 9. 机器人通知飞书员工
207
+
208
+ `POST /sino-bc-nexus/lark/im/message/notify`
209
+
210
+ 主体上下文:`tenant=false`。
211
+
212
+ 角色范围:`sso/system`。
213
+
214
+ 风险:`write`。
215
+
216
+ # 机器人通知飞书员工消息
217
+
218
+
219
+ **输入参数(--data)**
220
+
221
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
222
+ | --- | --- | --- | --- | --- |
223
+ | `projectId` | integer | body | 否 | 可选项目ID;无指定员工号和任务ID时取项目全部PM_POC |
224
+ | `taskId` | integer | body | 否 | 可选任务ID;无指定员工号时取任务全部EXECUTOR,优先于项目ID |
225
+ | `employeeNumbers` | array | body | 否 | 可选指定员工号;非空优先于任务及项目,第一阶段忽略;后端trim并校验S开头数字 |
226
+ | `msgType` | string | body | 是 | 原生飞书消息类型,如text、post、interactive;不限定枚举,格式匹配由飞书校验 |
227
+ | `content` | object | body | 是 | 原生飞书JSON内容对象;仅序列化一次,不拼接业务文案,不接受JSON字符串 |
228
+ | `requestId` | string | body | 是 | 本次发送唯一标识;相同内容重试沿用,改内容须换新标识 |
229
+
230
+ ## 10. 查询群自动汇总全局开关
231
+
232
+ `GET /sino-bc-nexus/lark/im/chat/summary/switch`
233
+
234
+ 主体上下文:`tenant=false`。
235
+
236
+ 角色范围:`sso/passport/system`。
237
+
238
+ 风险:`read`。
239
+
240
+ # 群自动汇总全局开关
241
+
242
+ ## 11. 业务项目告警
243
+
244
+ `POST /sino-bc-nexus/lark/im/chat/project-unmatched/alert`
245
+
246
+ 主体上下文:`tenant=false`。
247
+
248
+ 角色范围:`sso/system`。
249
+
250
+ 风险:`write`。
251
+
252
+ # 每日 Summary 群无法匹配项目告警
253
+
254
+
255
+ **输入参数(--data)**
256
+
257
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
258
+ | --- | --- | --- | --- | --- |
259
+ | `chatId` | string | body | 是 | 无法匹配项目的飞书群ID;必填,最长128字符,发送前trim |
260
+ | `description` | string | body | 否 | 报警描述 |
261
+
262
+ ## 12. 查询项目通知及自动创建任务配置
263
+
264
+ `GET /sino-bc-nexus/lark/im/chat/summary/task-config`
265
+
266
+ 主体上下文:`tenant=false`。
267
+
268
+ 角色范围:`sso/passport`。
269
+
270
+ 风险:`read`。
271
+
272
+ 按项目查询通知对象和自动创建任务配置,需当前主体及项目查询权限。
273
+
274
+ **输入参数(--data)**
275
+
276
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
277
+ | --- | --- | --- | --- | --- |
278
+ | `projectId` | integer | query | 是 | 项目ID,正整数 |
@@ -0,0 +1,129 @@
1
+ # 发票结算单
2
+
3
+ 对应命令:`invoice +<shortcut>` 与 `invoice api <name>`。
4
+
5
+ 执行前 MUST 读取 [sino-bc-shared](../../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取其 references;当前上下文已读且仍适用时可复用。可用 `sino-bc-cli /skill` 查询真实路径。
6
+
7
+ ## 1. 对账单关联结算单
8
+
9
+ `GET /sino-wallet-pu/platform/wallet/bill/detail/settlement/list`
10
+
11
+ 主体上下文:`tenant=true`。
12
+
13
+ 角色范围:`passport/system`。
14
+
15
+ 风险:`read`。
16
+
17
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
18
+
19
+ 调用示例:`sino-bc-cli invoice api bill-settlement-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
20
+
21
+ 查某张对账单下已开的发票结算单,不分页。
22
+
23
+ **输入参数(--data)**
24
+
25
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
26
+ | --- | --- | --- | --- | --- |
27
+ | `billId` | string | query | 是 | 账单id |
28
+
29
+ ## 2. 发票结算单列表
30
+
31
+ `POST /sino-wallet-pu/invoice/settlement/list`
32
+
33
+ 主体上下文:`tenant=true`。
34
+
35
+ 角色范围:`passport/system`。
36
+
37
+ 风险:`read`。
38
+
39
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
40
+
41
+ 调用示例:`sino-bc-cli invoice api invoice-settlement-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
42
+
43
+ 按申请时间查当前主体的结算单列表。响应只保留列表,不含待还汇总。
44
+
45
+ **输入参数(--data)**
46
+
47
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
48
+ | --- | --- | --- | --- | --- |
49
+ | `pageNum` | integer | body | 否 | 页码,从 1 开始 |
50
+ | `pageSize` | integer | body | 否 | 每页条数 |
51
+ | `startTime` | string | body | 是 | yyyy-MM-dd |
52
+ | `endTime` | string | body | 是 | yyyy-MM-dd |
53
+ | `invoiceSettlementId` | string | body | 否 | 结算单id |
54
+ | `billIdList` | array | body | 否 | 账单id列表 |
55
+ | `name` | string | body | 否 | 模糊 |
56
+ | `paymentStatusList` | array | body | 否 | 还款状态 |
57
+ | `issuanceStatusList` | array | body | 否 | 开票状态 |
58
+ | `invoiceTypeList` | array | body | 否 | 发票形式 |
59
+ | `invoiceVatTypeList` | array | body | 否 | VAT发票类型 |
60
+ | `minAmount` | number | body | 否 | 金额起始 |
61
+ | `maxAmount` | number | body | 否 | 金额截止 |
62
+ | `collectFlag` | boolean | body | 否 | 本契约丢弃汇总,可不传 |
63
+
64
+ ## 3. 发票结算单详情
65
+
66
+ `GET /sino-wallet-pu/invoice/settlement/detail`
67
+
68
+ 主体上下文:`tenant=true`。
69
+
70
+ 角色范围:`passport/system`。
71
+
72
+ 风险:`read`。
73
+
74
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
75
+
76
+ 调用示例:`sino-bc-cli invoice api invoice-settlement-detail --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
77
+
78
+ 按结算单号查开票金额、税费、发票/VAT 明细与预览地址。
79
+
80
+ **输入参数(--data)**
81
+
82
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
83
+ | --- | --- | --- | --- | --- |
84
+ | `invoiceSettlementId` | string | query | 是 | 发票编号/结算单id |
85
+
86
+ ## 4. 下载发票
87
+
88
+ `POST /sino-wallet-pu/invoice/settlement/invoice/download`
89
+
90
+ 主体上下文:`tenant=true`。
91
+
92
+ 角色范围:`passport/system`。
93
+
94
+ 风险:`read`。
95
+
96
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
97
+
98
+ 调用示例:`sino-bc-cli invoice api invoice-download --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
99
+
100
+ 按结算单号和 PDF/OFD 返回发票下载 URL 列表。
101
+
102
+ **输入参数(--data)**
103
+
104
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
105
+ | --- | --- | --- | --- | --- |
106
+ | `invoiceSettlementId` | string | body | 是 | 结算单id |
107
+ | `fileType` | string | body | 是 | 发票格式 |
108
+
109
+ ## 5. 结算单还款记录
110
+
111
+ `POST /sino-wallet-pu/invoice/settlement/payment/list`
112
+
113
+ 主体上下文:`tenant=true`。
114
+
115
+ 角色范围:`passport/system`。
116
+
117
+ 风险:`read`。
118
+
119
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
120
+
121
+ 调用示例:`sino-bc-cli invoice api invoice-settlement-payment-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
122
+
123
+ 查结算单还款历史。
124
+
125
+ **输入参数(--data)**
126
+
127
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
128
+ | --- | --- | --- | --- | --- |
129
+ | `invoiceSettlementId` | string | body | 是 | 结算单id |
@@ -0,0 +1,17 @@
1
+ # 媒体字典
2
+
3
+ 对应命令:`media +<shortcut>` 与 `media api <name>`。
4
+
5
+ 执行前 MUST 读取 [sino-bc-shared](../../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取其 references;当前上下文已读且仍适用时可复用。可用 `sino-bc-cli /skill` 查询真实路径。
6
+
7
+ ## 1. 查询投放渠道列表
8
+
9
+ `GET /bc-business-pu/media/queryChannelInfo`
10
+
11
+ 主体上下文:`tenant=false`。
12
+
13
+ 角色范围:`sso/system/passport`。
14
+
15
+ 风险:`read`。
16
+
17
+ 查询投放渠道列表