Maka plugin SDK

English

用于 Maka Host 服务和原生 UI 组件的 TypeScript 契约与辅助函数。从 @maka-agent/plugin-sdk 导入;guest 代码需要先打包,再交给运行时。

源码用途
index.tsHostService、RequestContext、Component 和公开导出
ui.ts终端与桌面场景构造函数
generated/runtime.tsRust 协议类型与原生组件 props
contracts.ts服务和组件契约
configurations.ts原生配置 schema
native.ts包声明使用的原生实现定义

生成文件以 Rust 声明为源。修改声明后,在仓库根目录运行:

npm --workspace @maka-agent/plugin-sdk run schema:generate
npm --workspace @maka-agent/plugin-sdk run schema:check
npm --workspace @maka-agent/plugin-sdk run typecheck

生成过程使用 maka-schema,无需构建产品或 V8。运行时也可通过 maka application schema 导出目录。

组件的同步回调提出帧和动作,终端与桌面使用各自场景类型。原生控件管理编辑器缓冲区、选择和 IME;应通过声明的契约捕获资源。Host 服务接收请求作用域内的导入与附件,不提供环境级 Node API。

客体运行时提供 TextEncoder、TextDecoder、atob、URL 和 URLSearchParams 进行纯文本与字节转换。可用 Uint8Array.from(atob(value), c => c.charCodeAt(0)) 将 Base64 解码成字节;这些 API 不授予文件或网络访问权限。

TypeScript 帮助发现编写错误,运行时另外校验值、契约兼容性、资源槽位和权限。参阅插件指南和可运行示例。