@mbws/plugin-sdk 0.2.3 → 0.2.4

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/client.d.ts CHANGED
@@ -39,10 +39,17 @@ export type MbwsContractOutputs<C> = C extends {
39
39
  * 动态注册(M3 起),协议固定面不硬编码。
40
40
  */
41
41
  export interface MbwsClient<C extends MbwsContractTypes = MbwsContractTypes> {
42
- /** 工人会话数据面:read slot 值 / blob 拿签名 URL / apply 经 write gate 写回。
43
- * 泛型 C 来自契约快照(mbws.contract.gen.ts)时,read/apply 的键与值类型随之收紧 */
42
+ /** 工人会话数据面:inputs/outputs 整体取数(对称)+ blob 换签名 URL + apply 写回。
43
+ * 泛型 C 来自契约快照(mbws.contract.gen.ts)时,键与值类型随之收紧 */
44
44
  data?: {
45
- read<K extends string & keyof MbwsContractInputs<C>>(key: K): Promise<MbwsContractInputs<C>[K]>;
45
+ /** 全部输入 slot 值(契约输入键 值;按 manifest.inputs 圈定,数据最小化) */
46
+ inputs(): Promise<MbwsContractInputs<C>>;
47
+ /**
48
+ * 上次产出反演:本插件绑定输出字段的当前值(契约输出键 → 已产出值)。
49
+ * 增量编辑用——打开面板先取上次结果继续改,而非每次从头开始;
50
+ * 未产出过的键不在返回里(缺键 = 从头开始)
51
+ */
52
+ outputs(): Promise<Partial<MbwsContractOutputs<C>>>;
46
53
  blob<K extends string & keyof MbwsContractInputs<C>>(key: K): Promise<{
47
54
  url: string;
48
55
  mime?: string;
@@ -103,10 +110,10 @@ export interface CreateMbwsOptions {
103
110
  * 插件面板经 http 的 registry 代理装载(dev)时不存在,历史上已踩坑。
104
111
  */
105
112
  /** 分层可测:纯端口逻辑(不碰 window),单测用 Node MessageChannel 直连 broker。 */
106
- export declare function connectMbwsPort(port: MessagePort, init: {
113
+ export declare function connectMbwsPort<C extends MbwsContractTypes = MbwsContractTypes>(port: MessagePort, init: {
107
114
  grants: string[];
108
115
  theme?: Record<string, string>;
109
- }, opts?: Pick<CreateMbwsOptions, "invokeTimeoutMs">): MbwsClient;
116
+ }, opts?: Pick<CreateMbwsOptions, "invokeTimeoutMs">): MbwsClient<C>;
110
117
  /**
111
118
  * 生产引导的窗口层:等宿主 init(带端口),超时/顶窗口降级 dev mock。
112
119
  * 抽成独立函数(接受窗口注入)以支持单测用假 window 驱动。
package/dist/client.js CHANGED
@@ -108,7 +108,8 @@ export function connectMbwsPort(port, init, opts = {}) {
108
108
  ...(has("data")
109
109
  ? {
110
110
  data: {
111
- read: (key) => invoke("data", "read", { key }),
111
+ inputs: () => invoke("data", "inputs"),
112
+ outputs: () => invoke("data", "outputs"),
112
113
  blob: (key) => invoke("data", "blob", { key }),
113
114
  apply: (outputs) => invoke("data", "apply", { outputs }),
114
115
  },
package/dist/dev-mock.js CHANGED
@@ -6,22 +6,14 @@ import { fetchContract } from "./contract.js";
6
6
  export function createDevMockMbws() {
7
7
  return {
8
8
  data: {
9
- read: async (key) => {
10
- try {
11
- const response = await fetch(new URL(`samples/${key}.json`, document.baseURI));
12
- if (!response.ok)
13
- return undefined;
14
- return (await response.json());
15
- }
16
- catch (_error) {
17
- console.warn(`[mbws:dev] samples/${key}.json 读取失败,回 undefined`);
18
- return undefined;
19
- }
20
- },
9
+ // dev mock 无契约键集可枚举,inputs() 整体返回空——夹具数据仍可经 blob 预览
10
+ inputs: async () => ({}),
21
11
  blob: async (key) => {
22
12
  console.info(`[mbws:dev] data.blob(${key}) no-op`);
23
13
  return { url: `dev://samples/${key}` };
24
14
  },
15
+ // dev 无宿主记录,上次产出恒为空(面板按「从头开始」路径走)
16
+ outputs: async () => ({}),
25
17
  apply: async (outputs) => {
26
18
  console.info("[mbws:dev] apply(不入库)", outputs);
27
19
  },
package/dist/version.d.ts CHANGED
@@ -12,4 +12,4 @@ export declare const PROTOCOL_VERSION: 1;
12
12
  * SDK 自身版本(与 package.json version 保持一致)。
13
13
  * init-ack 上报给宿主做审计,与 manifest.sdk(build 写入)交叉核对。
14
14
  */
15
- export declare const SDK_VERSION = "0.2.3";
15
+ export declare const SDK_VERSION = "0.2.4";
package/dist/version.js CHANGED
@@ -12,4 +12,4 @@ export const PROTOCOL_VERSION = 1;
12
12
  * SDK 自身版本(与 package.json version 保持一致)。
13
13
  * init-ack 上报给宿主做审计,与 manifest.sdk(build 写入)交叉核对。
14
14
  */
15
- export const SDK_VERSION = "0.2.3";
15
+ export const SDK_VERSION = "0.2.4";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mbws/plugin-sdk",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Moye 插件开发 SDK——panel/viewer 与宿主的类型定义与运行时端口适配",
5
5
  "license": "MIT",
6
6
  "type": "module",