mirror of
https://gitcode.com/JianFeeeee/homeagent-sdk.git
synced 2026-09-20 08:58:03 +00:00
内核侧 Lua 桥此前停在 v0.8.0 时代能力面,而 1.1/1.2/1.3 新增的 媒体、注入标志位、中断优先级、事件订阅、动态通道注销只在 Go 侧存在, 文档却宣称『能力完全对齐』——属于静默漂移。 本仓(事实源): - 新增 sdk/lua/sdk.lua:Lua mock 的单一事实源,补齐全部新 API (*_opts / inject_input_sync / inject_*_media / set_tool_blocks / unregister_output_channel / events / plugin_mgr / insert_with_media / sentence_text+media_digests / attachments / context_policy)。 - scripts/sync-lua-sdk.sh:把事实源同步到 hmapdev assets、luademo、 以及被 vendored 时的内核副本;三份 sdk.lua 不再各自漂移。 - hmapdev init --lua:优先从激活 SDK 拷权威 mock,内嵌模板降级为 assets/sdk.lua 回退,不再内联手写副本。 - hmapdev build(Lua):plugin.json 写入 SDK 版本(能力可追溯), 打包前用 luac -p / lua loadfile 做语法预检,失败以非零码退出。 - hmapdev debug --lua:优先用激活 SDK 的权威 mock(HMAPDEV_SDK_LUA)。 - luademo 升级为全能力示例(新增 luademo_probe_v2)。
39 lines
1.4 KiB
Bash
Executable File
39 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# 同步 Lua SDK mock 的单一事实源到各副本。
|
||
#
|
||
# 事实源:sdk/lua/sdk.lua(本仓)
|
||
# 副本:
|
||
# - tools/hmapdev/assets/sdk.lua 工具链内嵌回退(hmapdev init --lua 无 SDK 时用)
|
||
# - example/luademo/sdk.lua 示例插件的离线测试副本
|
||
# - <core>/internal/lua/sdk/sdk.lua 内核内嵌副本(本仓被 vendored 到
|
||
# <core>/third_party/homeagent-sdk 时自动识别;独立 clone 时跳过)
|
||
#
|
||
# 为什么要有它:三份 sdk.lua 曾各自漂移,出现「mock 有、内核没有」的静默失配。
|
||
# 改 mock 只改事实源,然后跑这个脚本;内核仓另有契约测试比对。
|
||
set -euo pipefail
|
||
|
||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||
SRC="$ROOT/sdk/lua/sdk.lua"
|
||
|
||
[ -f "$SRC" ] || { echo "error: canonical sdk.lua not found: $SRC" >&2; exit 1; }
|
||
|
||
copy() {
|
||
local dst="$1"
|
||
mkdir -p "$(dirname "$dst")"
|
||
cp "$SRC" "$dst"
|
||
echo " synced -> $dst"
|
||
}
|
||
|
||
copy "$ROOT/tools/hmapdev/assets/sdk.lua"
|
||
copy "$ROOT/example/luademo/sdk.lua"
|
||
|
||
# 被内核仓 vendored 时(本仓位于 <core>/third_party/homeagent-sdk)同步内核副本。
|
||
CORE_COPY="$ROOT/../../internal/lua/sdk/sdk.lua"
|
||
if [ -d "$ROOT/../../internal" ]; then
|
||
copy "$(cd "$(dirname "$CORE_COPY")" && pwd)/sdk.lua"
|
||
else
|
||
echo " note: core repo not vendored next to this checkout, skipping core copy"
|
||
fi
|
||
|
||
echo "Lua SDK mock synced."
|