@yaoxiu/marketing-dsl 2.6.0 → 2.7.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.
- package/dist/docs/index.cjs +312 -159
- package/dist/docs/index.js +312 -159
- package/dist/index.cjs +5 -2
- package/dist/index.d.cts +16 -8
- package/dist/index.d.ts +16 -8
- package/dist/index.js +5 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2315,12 +2315,15 @@ function formatIssues(issues) {
|
|
|
2315
2315
|
|
|
2316
2316
|
// src/host-capabilities.ts
|
|
2317
2317
|
var HOST_SOURCE_NAMES = ["userStatistics", "listRenewTiers"];
|
|
2318
|
-
var HOST_HANDLER_NAMES = [];
|
|
2318
|
+
var HOST_HANDLER_NAMES = ["dismissToday", "dismissForever"];
|
|
2319
2319
|
var HOST_SOURCE_LABELS = {
|
|
2320
2320
|
userStatistics: "\u7528\u6237\u6570\u636E\u7EDF\u8BA1\uFF08\u7D2F\u8BA1\u642C\u5BB6\u6570 / \u6B21\u6570\u4F59\u989D / AI \u4F18\u5316\u6B21\u6570\u7B49\uFF0C\u6241\u5E73\u5BF9\u8C61\uFF0C\u5B57\u6BB5\u540D\u4E3A\u540E\u7AEF snake_case\uFF09",
|
|
2321
2321
|
listRenewTiers: "\u7EED\u8D39\u4EF7\u683C\u6863\u4F4D\u5217\u8868\uFF08\u6708\u4ED8/\u5B63\u4ED8/\u534A\u5E74/\u5E74\u4ED8\uFF0C\u542B\u4E0B\u5355\u5730\u5740\uFF09"
|
|
2322
2322
|
};
|
|
2323
|
-
var HOST_HANDLER_LABELS = {
|
|
2323
|
+
var HOST_HANDLER_LABELS = {
|
|
2324
|
+
dismissToday: "\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\uFF1A\u628A\u8FD9\u6761\u7269\u6599\u6807\u8BB0\u4E3A\u300C\u4ECA\u5929\u4E0D\u518D\u5C55\u793A\u300D\uFF08\u524D\u7AEF\u672C\u5730\u8BB0\u5F55\uFF0C\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB\uFF0C\u8DE8\u8BBE\u5907\u4E0D\u540C\u6B65\uFF1B\u53EA\u5199\u6807\u8BB0\u4E0D\u5173\u95ED\uFF0C\u8981\u5173\u5F97\u81EA\u5DF1\u518D\u914D\u4E00\u4E2A close\uFF09",
|
|
2325
|
+
dismissForever: "\u4E0D\u518D\u63D0\u793A\uFF1A\u628A\u8FD9\u6761\u7269\u6599\u6807\u8BB0\u4E3A\u300C\u6C38\u4E45\u4E0D\u518D\u5C55\u793A\u300D\uFF08\u524D\u7AEF\u672C\u5730\u8BB0\u5F55\uFF0C\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB\uFF0C\u8DE8\u8BBE\u5907\u4E0D\u540C\u6B65\uFF1B\u53EA\u5199\u6807\u8BB0\u4E0D\u5173\u95ED\uFF0C\u8981\u5173\u5F97\u81EA\u5DF1\u518D\u914D\u4E00\u4E2A close\uFF09"
|
|
2326
|
+
};
|
|
2324
2327
|
function isRegisteredHostSource(name) {
|
|
2325
2328
|
return HOST_SOURCE_NAMES.indexOf(name) > -1;
|
|
2326
2329
|
}
|
package/dist/index.d.cts
CHANGED
|
@@ -144,7 +144,8 @@ declare function validateUserFields(dsl: unknown, allowed: string[]): FieldIssue
|
|
|
144
144
|
* 它是「**前台宿主实际注册了什么**」的事实记录,**不是** core 的能力声明。
|
|
145
145
|
* core 本身对数据源名一无所知:运行时只认宿主创建 runtime 时传进来的 `sources` /
|
|
146
146
|
* `handlers` 对象,查不到名字就抛 `unknown-source`、整份物料静默白屏
|
|
147
|
-
*
|
|
147
|
+
* (不报错、什么都不画,投到线上才发现);`call` 查不到 handler 则抛 `unknown-handler`,
|
|
148
|
+
* 该动作静默失效(物料照常显示,但按钮点了没反应)。
|
|
148
149
|
*
|
|
149
150
|
* 【为什么放在 core 里】
|
|
150
151
|
* 因为前台(move-front,注册表在 `components-business/marketing/sources.ts`)与
|
|
@@ -172,11 +173,14 @@ type HostSourceName = (typeof HOST_SOURCE_NAMES)[number];
|
|
|
172
173
|
/**
|
|
173
174
|
* 前台已注册的**宿主方法名**(DSL 里 `{ type: 'call', name: 'xxx' }` 的 `name`)。
|
|
174
175
|
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
176
|
+
* 当前两个都是「不再提示」类的本地记账:写一条本地标记,让这条物料下次不再进坑位。
|
|
177
|
+
* **标记与关闭是两回事**——handler 只写标记、不关闭,这一次关不关由运营在
|
|
178
|
+
* `sequence` 里自己配 `close` 决定(也因此留出了「勾选框」式交互的可能)。
|
|
179
|
+
*
|
|
180
|
+
* 用 `as const` 是为了推导出 {@link HostHandlerName} 联合类型,供前台约束注册表。
|
|
177
181
|
*/
|
|
178
|
-
declare const HOST_HANDLER_NAMES: readonly
|
|
179
|
-
/**
|
|
182
|
+
declare const HOST_HANDLER_NAMES: readonly ["dismissToday", "dismissForever"];
|
|
183
|
+
/** 宿主方法名的联合类型,前台注册表以它为键,漏注册一个就编译不过 */
|
|
180
184
|
type HostHandlerName = (typeof HOST_HANDLER_NAMES)[number];
|
|
181
185
|
/**
|
|
182
186
|
* 数据源的中文含义。后台告警文案、运营看的能力清单共用一份,避免说明各写各的。
|
|
@@ -184,8 +188,12 @@ type HostHandlerName = (typeof HOST_HANDLER_NAMES)[number];
|
|
|
184
188
|
* 键必须覆盖 {@link HOST_SOURCE_NAMES} 的全部名字(有单测钉死)。
|
|
185
189
|
*/
|
|
186
190
|
declare const HOST_SOURCE_LABELS: Record<HostSourceName, string>;
|
|
187
|
-
/**
|
|
188
|
-
|
|
191
|
+
/**
|
|
192
|
+
* 宿主方法的中文含义。后台告警文案、运营看的能力清单共用一份。
|
|
193
|
+
*
|
|
194
|
+
* 键必须覆盖 {@link HOST_HANDLER_NAMES} 的全部名字(有单测钉死)。
|
|
195
|
+
*/
|
|
196
|
+
declare const HOST_HANDLER_LABELS: Record<HostHandlerName, string>;
|
|
189
197
|
/**
|
|
190
198
|
* 判断一个数据源名是否已被前台注册。
|
|
191
199
|
*
|
|
@@ -197,7 +205,7 @@ declare function isRegisteredHostSource(name: string): boolean;
|
|
|
197
205
|
* 判断一个宿主方法名是否已被前台注册。
|
|
198
206
|
*
|
|
199
207
|
* @param name 待判断的名字,通常来自 DSL 里 `call` 动作的 `name`
|
|
200
|
-
* @returns 已注册返回 true
|
|
208
|
+
* @returns 已注册返回 true;未注册意味着该动作执行时会抛 `unknown-handler`,调用方应告警
|
|
201
209
|
*/
|
|
202
210
|
declare function isRegisteredHostHandler(name: string): boolean;
|
|
203
211
|
|
package/dist/index.d.ts
CHANGED
|
@@ -144,7 +144,8 @@ declare function validateUserFields(dsl: unknown, allowed: string[]): FieldIssue
|
|
|
144
144
|
* 它是「**前台宿主实际注册了什么**」的事实记录,**不是** core 的能力声明。
|
|
145
145
|
* core 本身对数据源名一无所知:运行时只认宿主创建 runtime 时传进来的 `sources` /
|
|
146
146
|
* `handlers` 对象,查不到名字就抛 `unknown-source`、整份物料静默白屏
|
|
147
|
-
*
|
|
147
|
+
* (不报错、什么都不画,投到线上才发现);`call` 查不到 handler 则抛 `unknown-handler`,
|
|
148
|
+
* 该动作静默失效(物料照常显示,但按钮点了没反应)。
|
|
148
149
|
*
|
|
149
150
|
* 【为什么放在 core 里】
|
|
150
151
|
* 因为前台(move-front,注册表在 `components-business/marketing/sources.ts`)与
|
|
@@ -172,11 +173,14 @@ type HostSourceName = (typeof HOST_SOURCE_NAMES)[number];
|
|
|
172
173
|
/**
|
|
173
174
|
* 前台已注册的**宿主方法名**(DSL 里 `{ type: 'call', name: 'xxx' }` 的 `name`)。
|
|
174
175
|
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
176
|
+
* 当前两个都是「不再提示」类的本地记账:写一条本地标记,让这条物料下次不再进坑位。
|
|
177
|
+
* **标记与关闭是两回事**——handler 只写标记、不关闭,这一次关不关由运营在
|
|
178
|
+
* `sequence` 里自己配 `close` 决定(也因此留出了「勾选框」式交互的可能)。
|
|
179
|
+
*
|
|
180
|
+
* 用 `as const` 是为了推导出 {@link HostHandlerName} 联合类型,供前台约束注册表。
|
|
177
181
|
*/
|
|
178
|
-
declare const HOST_HANDLER_NAMES: readonly
|
|
179
|
-
/**
|
|
182
|
+
declare const HOST_HANDLER_NAMES: readonly ["dismissToday", "dismissForever"];
|
|
183
|
+
/** 宿主方法名的联合类型,前台注册表以它为键,漏注册一个就编译不过 */
|
|
180
184
|
type HostHandlerName = (typeof HOST_HANDLER_NAMES)[number];
|
|
181
185
|
/**
|
|
182
186
|
* 数据源的中文含义。后台告警文案、运营看的能力清单共用一份,避免说明各写各的。
|
|
@@ -184,8 +188,12 @@ type HostHandlerName = (typeof HOST_HANDLER_NAMES)[number];
|
|
|
184
188
|
* 键必须覆盖 {@link HOST_SOURCE_NAMES} 的全部名字(有单测钉死)。
|
|
185
189
|
*/
|
|
186
190
|
declare const HOST_SOURCE_LABELS: Record<HostSourceName, string>;
|
|
187
|
-
/**
|
|
188
|
-
|
|
191
|
+
/**
|
|
192
|
+
* 宿主方法的中文含义。后台告警文案、运营看的能力清单共用一份。
|
|
193
|
+
*
|
|
194
|
+
* 键必须覆盖 {@link HOST_HANDLER_NAMES} 的全部名字(有单测钉死)。
|
|
195
|
+
*/
|
|
196
|
+
declare const HOST_HANDLER_LABELS: Record<HostHandlerName, string>;
|
|
189
197
|
/**
|
|
190
198
|
* 判断一个数据源名是否已被前台注册。
|
|
191
199
|
*
|
|
@@ -197,7 +205,7 @@ declare function isRegisteredHostSource(name: string): boolean;
|
|
|
197
205
|
* 判断一个宿主方法名是否已被前台注册。
|
|
198
206
|
*
|
|
199
207
|
* @param name 待判断的名字,通常来自 DSL 里 `call` 动作的 `name`
|
|
200
|
-
* @returns 已注册返回 true
|
|
208
|
+
* @returns 已注册返回 true;未注册意味着该动作执行时会抛 `unknown-handler`,调用方应告警
|
|
201
209
|
*/
|
|
202
210
|
declare function isRegisteredHostHandler(name: string): boolean;
|
|
203
211
|
|
package/dist/index.js
CHANGED
|
@@ -871,12 +871,15 @@ function createRuntime(dsl, options = {}) {
|
|
|
871
871
|
|
|
872
872
|
// src/host-capabilities.ts
|
|
873
873
|
var HOST_SOURCE_NAMES = ["userStatistics", "listRenewTiers"];
|
|
874
|
-
var HOST_HANDLER_NAMES = [];
|
|
874
|
+
var HOST_HANDLER_NAMES = ["dismissToday", "dismissForever"];
|
|
875
875
|
var HOST_SOURCE_LABELS = {
|
|
876
876
|
userStatistics: "\u7528\u6237\u6570\u636E\u7EDF\u8BA1\uFF08\u7D2F\u8BA1\u642C\u5BB6\u6570 / \u6B21\u6570\u4F59\u989D / AI \u4F18\u5316\u6B21\u6570\u7B49\uFF0C\u6241\u5E73\u5BF9\u8C61\uFF0C\u5B57\u6BB5\u540D\u4E3A\u540E\u7AEF snake_case\uFF09",
|
|
877
877
|
listRenewTiers: "\u7EED\u8D39\u4EF7\u683C\u6863\u4F4D\u5217\u8868\uFF08\u6708\u4ED8/\u5B63\u4ED8/\u534A\u5E74/\u5E74\u4ED8\uFF0C\u542B\u4E0B\u5355\u5730\u5740\uFF09"
|
|
878
878
|
};
|
|
879
|
-
var HOST_HANDLER_LABELS = {
|
|
879
|
+
var HOST_HANDLER_LABELS = {
|
|
880
|
+
dismissToday: "\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\uFF1A\u628A\u8FD9\u6761\u7269\u6599\u6807\u8BB0\u4E3A\u300C\u4ECA\u5929\u4E0D\u518D\u5C55\u793A\u300D\uFF08\u524D\u7AEF\u672C\u5730\u8BB0\u5F55\uFF0C\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB\uFF0C\u8DE8\u8BBE\u5907\u4E0D\u540C\u6B65\uFF1B\u53EA\u5199\u6807\u8BB0\u4E0D\u5173\u95ED\uFF0C\u8981\u5173\u5F97\u81EA\u5DF1\u518D\u914D\u4E00\u4E2A close\uFF09",
|
|
881
|
+
dismissForever: "\u4E0D\u518D\u63D0\u793A\uFF1A\u628A\u8FD9\u6761\u7269\u6599\u6807\u8BB0\u4E3A\u300C\u6C38\u4E45\u4E0D\u518D\u5C55\u793A\u300D\uFF08\u524D\u7AEF\u672C\u5730\u8BB0\u5F55\uFF0C\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB\uFF0C\u8DE8\u8BBE\u5907\u4E0D\u540C\u6B65\uFF1B\u53EA\u5199\u6807\u8BB0\u4E0D\u5173\u95ED\uFF0C\u8981\u5173\u5F97\u81EA\u5DF1\u518D\u914D\u4E00\u4E2A close\uFF09"
|
|
882
|
+
};
|
|
880
883
|
function isRegisteredHostSource(name) {
|
|
881
884
|
return HOST_SOURCE_NAMES.indexOf(name) > -1;
|
|
882
885
|
}
|