siluzan-tso-cli 1.1.53-beta.9 → 1.1.54-beta.1
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/README.md
CHANGED
|
@@ -51,7 +51,7 @@ siluzan-tso init -d /path/to/skills # 写入自定义目录
|
|
|
51
51
|
siluzan-tso init --force # 强制覆盖已存在文件
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
> **注意**:当前为测试版(1.1.
|
|
54
|
+
> **注意**:当前为测试版(1.1.54-beta.1),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-tso-cli`。
|
|
55
55
|
|
|
56
56
|
| 助手 | 建议 `--ai` |
|
|
57
57
|
| ----------------------- | ------------------------------------ |
|
package/dist/index.js
CHANGED
|
@@ -3092,7 +3092,8 @@ async function emitCliJsonOrSnapshot(opts, params) {
|
|
|
3092
3092
|
commandHint: params.commandHint,
|
|
3093
3093
|
idSuffix: params.idSuffix
|
|
3094
3094
|
});
|
|
3095
|
-
|
|
3095
|
+
const line = params.summaryExtras ? { ...summary, ...params.summaryExtras } : summary;
|
|
3096
|
+
console.log(JSON.stringify(line));
|
|
3096
3097
|
return true;
|
|
3097
3098
|
}
|
|
3098
3099
|
return false;
|
|
@@ -107502,6 +107503,10 @@ function isScopeActivationBypassed(headers) {
|
|
|
107502
107503
|
const v = raw?.trim().toLowerCase();
|
|
107503
107504
|
return v === "1" || v === "true" || v === "yes";
|
|
107504
107505
|
}
|
|
107506
|
+
function scopeActivationBypassFields(bypassed) {
|
|
107507
|
+
if (!bypassed) return {};
|
|
107508
|
+
return { scopeActivationBypassed: true };
|
|
107509
|
+
}
|
|
107505
107510
|
function shouldExposeScopeActivatedSources(bypassed = false) {
|
|
107506
107511
|
if (bypassed) return false;
|
|
107507
107512
|
return resolveCompanySourceType() === "Ctaiad";
|
|
@@ -108098,6 +108103,7 @@ async function runListAccounts(opts) {
|
|
|
108098
108103
|
})();
|
|
108099
108104
|
const incompletePageWarning = total !== void 0 && items3.length < total ? "\u672C\u9875\u4E0D\u5B8C\u6574\uFF08itemCount < total\uFF09\u3002\u7981\u6B62\u636E\u6B64\u5224\u5B9A\u8D26\u6237\u672A\u7ED1\u5B9A\u6216\u672A\u6388\u6743\u3002\u7528\u6237\u7ED9\u4E86\u8D26\u6237\u53F7\u65F6\u5FC5\u987B list-accounts -m <\u5A92\u4F53> -k <\u7528\u6237\u539F\u6837ID>\uFF08Google CID \u5E26\u6A2A\u6760\u4E5F\u53EF\uFF0CCLI \u4F1A\u53BB\u8FDE\u5B57\u7B26\uFF09\u3002\u5217\u5168\u90E8\u987B --page-size 999\u3002" : null;
|
|
108100
108105
|
const combinedWarning = [oauthFailWarning, incompletePageWarning].filter(Boolean).join("\n") || null;
|
|
108106
|
+
const bypassFields = scopeActivationBypassFields(scopeActivationBypassed);
|
|
108101
108107
|
const listPayload = {
|
|
108102
108108
|
...wrapListJson({
|
|
108103
108109
|
page,
|
|
@@ -108105,6 +108111,7 @@ async function runListAccounts(opts) {
|
|
|
108105
108111
|
total: total ?? null,
|
|
108106
108112
|
items: items3
|
|
108107
108113
|
}),
|
|
108114
|
+
...bypassFields,
|
|
108108
108115
|
...combinedWarning ? { warning: combinedWarning } : {}
|
|
108109
108116
|
};
|
|
108110
108117
|
if (await emitCliJsonOrSnapshot(opts, {
|
|
@@ -108112,7 +108119,9 @@ async function runListAccounts(opts) {
|
|
|
108112
108119
|
commandLabel: "list-accounts",
|
|
108113
108120
|
commandHint: opts.media,
|
|
108114
108121
|
payload: listPayload,
|
|
108115
|
-
idSuffix: opts.media ?? "unknown"
|
|
108122
|
+
idSuffix: opts.media ?? "unknown",
|
|
108123
|
+
// 摘要里带同一标志。Agent 禁止把业务 JSON 贴进对话,只解析这一行 stdout。
|
|
108124
|
+
summaryExtras: bypassFields
|
|
108116
108125
|
})) {
|
|
108117
108126
|
return;
|
|
108118
108127
|
}
|
package/dist/skill/_meta.json
CHANGED
|
@@ -81,11 +81,12 @@ siluzan-tso list-accounts -m Google --page 2 --page-size 999 --json-out ./snap-p
|
|
|
81
81
|
| `ma.mediaCustomerName` | 账户名称(表格「账户名称」) |
|
|
82
82
|
| `ma.mediaAccountState` 等 | 平台开户/审核态(如 Approved / Linked);**不是** OAuth 是否可用 |
|
|
83
83
|
| **`ma.invalidOAuthToken`** | **OAuth 是否失效**:`true`=失效,`false`=正常。**表格必有「授权状态」列**(✅ 正常 / ⚠️ 失效),与此字段一一对应;判失效、筛 `-s invalid`、走 `reauth` 均看它 |
|
|
84
|
+
| `scopeActivationBypassed`(可选,JSON 顶层,不在 `items` 里) | 只在命中时出现,值为 true:当前企业已跳过按户开通。继续取数或报表,不要调用 `present_activate`,也不要按户判断套餐。表格不加列、不加行。没有这个字段不等于未开通 |
|
|
84
85
|
| **`ma.scopeActivatedSources`**(可选) | **仅当本次 `list-accounts` 输出中出现该字段时才可读**:非空且存在未过期条目(看 `expireAt`)= 已激活;空数组或全部过期 = 未激活。出现时 Google 表格才有「套餐激活」列。**若 JSON/表格中无此字段/列:禁止向用户谈套餐是否激活,禁止臆造未激活/已激活** |
|
|
85
86
|
| `ma.TTADInfo.status` 等 | 媒体侧投放/审核细态(TikTok 表格「审核状态」等);**勿**当成 OAuth 授权状态 |
|
|
86
87
|
|
|
87
88
|
> **Agent**:用户问「哪些授权失效 / OAuth 状态」时,读盘看 `items[].ma.invalidOAuthToken`,表格看「授权状态」列;**不要**用 `mediaAccountState` 或审核状态列代替。
|
|
88
|
-
> 用户问「哪些买了套餐 /
|
|
89
|
+
> 用户问「哪些买了套餐 / 是否激活套餐」,或准备出激活卡时:先看 JSON 顶层 `scopeActivationBypassed`。值为 true 则该公司不用按户开通,继续原来的取数或报表,不要调用 `present_activate`。否则**仅当**输出含 `ma.scopeActivatedSources`(或 Google 表格有「套餐激活」列)才可据此回答;没有有效 CTAIAD 条目才是未开通。字段缺失时不要猜,直接取数;只有接口正文出现「未开通套餐」才出激活卡。单独一个「开通」是开户,不是激活卡。
|
|
89
90
|
> **Google 单户**:若输出中能确认套餐**已激活**,可用 `account check-access -a <mediaCustomerId>` 再确认网关侧授权是否可用;若输出无激活字段,仍可直接跑 `check-access`(以返回 `status` 为准),**不要**先编造「未激活」。见 `accounts-permissions.md` § check-access。
|
|
90
91
|
|
|
91
92
|
---
|
|
@@ -9,7 +9,7 @@ $ErrorActionPreference = 'Stop'
|
|
|
9
9
|
# -- Package info (injected at build time) ------------------------------------
|
|
10
10
|
$PKG_NAME = 'siluzan-tso-cli'
|
|
11
11
|
# PKG_VERSION 锁定到与本脚本同批构建产物一致的版本,避免与 dist/skill 错位
|
|
12
|
-
$PKG_VERSION = '1.1.
|
|
12
|
+
$PKG_VERSION = '1.1.54-beta.1'
|
|
13
13
|
$CLI_BIN = 'siluzan-tso'
|
|
14
14
|
$SKILL_LABEL = 'Siluzan TSO'
|
|
15
15
|
$INSTALL_CMD = 'npm install -g siluzan-tso-cli@beta'
|
|
@@ -9,7 +9,7 @@ set -euo pipefail
|
|
|
9
9
|
# -- Package info (injected at build time) ------------------------------------
|
|
10
10
|
readonly PKG_NAME="siluzan-tso-cli"
|
|
11
11
|
# PKG_VERSION 锁定到与本脚本同批构建产物一致的版本,避免与 dist/skill 错位
|
|
12
|
-
readonly PKG_VERSION="1.1.
|
|
12
|
+
readonly PKG_VERSION="1.1.54-beta.1"
|
|
13
13
|
readonly CLI_BIN="siluzan-tso"
|
|
14
14
|
readonly SKILL_LABEL="Siluzan TSO"
|
|
15
15
|
readonly INSTALL_CMD="npm install -g siluzan-tso-cli@beta"
|