[暂缓] 定义 WASI 0.3.1 与 QuickJS 共用 FaaS 契约和迁移路径
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript, wasm
Research direction
The issue is a high-level design and planning document for integrating WASI 0.3.1 and QuickJS. The scope is large and cross-cutting, involving multiple repositories (Hosta, Hoya). The first step would be to read the linked research document docs/WASI_JS_PLATFORM_PLAN.md and understand the existing hoya-json-v1 and JS main(input, ctx) interfaces. The work involves defining WIT worlds, TypeScript contracts, and integration tests, but the issue is currently on hold pending product review.
Written by the indexing model from the issue text.
Description
状态:暂缓(2026-09-23)
维护者决定暂缓 Hosta 项目及本项关联改造探索,恢复时间未定。本 issue 保持开放用于保存研究,不按已完成关闭。后续路线(WASI 主线、QuickJS 是否保留、Spin/wasmCloud 复用)尚未批准;恢复前须先 review 产品场景和复用/自建证据,再调整验收与 milestones。Wasmtime 不限定在 33,工具链以恢复时实际验证的版本为准。
研究及暂缓决定:Hosta PR #21。下文是暂停前的候选范围,不是当前实施承诺。
目标
为现有 Hosta/Hoya JSON FaaS 定义未来 WASI 0.3.1 component 与 QuickJS 可移植 API 的共用平台契约。保持 Hosta 控制面、Hoya 独立执行引擎,CLI/agent 优先,旧 hoya-json-v1 与 JS main(input, ctx) 可回滚。
设计和官方依据见待提交的 docs/WASI_JS_PLATFORM_PLAN.md(2026-09-23)。WASI 0.3.1 增加 Component Model map<K,V>、implements/external-id,不能把旧 wasm32-unknown-unknown 模块视为兼容;JS 参考 ECMAScript + WinterTC Minimum Common Web API,平台权限仍自定义。
验收标准
- 版本矩阵区分 WASI、artifact ABI、JS guest API 与 Hoya HTTP 协议;上传、版本、部署与 run 固定 ABI/能力,
doctor报告真实支持级别。 - 定义版本化 WIT
invokeworld、JS TypeScript 契约和跨运行时 JSON/错误/日志/cancel fixtures;明确wasi:http/service的 HTTP 专用适用范围。 - CLI/API 对 component 上传、校验、试跑、发布、调用、回滚提供明确结果和错误;旧 JS/WASM 生命周期继续通过真实 Hoya smoke,无 UI/AI 前置条件。
- 权限默认拒绝,Hosta 授权与 Hoya 执行策略一致;出站、密钥、持久存储等能力在限额、审计与负例验证后独立开放。
- 形成冷启动、p95、RSS、构建大小和失败率基线及可复现实验,先 opt-in,保留回滚与弃用窗口。
依赖
Hoya WASI 0.3.1 运行时和 QuickJS API 子 issue;Hosta #3/#10/#13,Hoya #7/#8/#11。此 issue 是规划与未来集成验收,不表示当前支持 WASI 0.3.1 或 WinterTC 全量兼容。
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 18m
- Merged PRs (30d)
- 7
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from worktools/hosta
-
priority:P1 type:feature
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
priority:P2 type:feature
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
priority:P1 type:chore
Difficulty 5/5 Over a week Newbie friendliness 30/100
-
priority:P1 type:feature
Difficulty 5/5 Over a week Newbie friendliness 30/100
-
priority:P2 type:feature
Difficulty 5/5 Over a week Newbie friendliness 28/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
mksglu/context-mode#1200 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
jaegertracing/jaeger-ui#4506 ·
-
area:desktop area:ui bug platform:macos
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
anthropics/claude-code#96687 ·
-
good first issue
Difficulty 1/5 Under an hour Newbie friendliness 95/100
AOSSIE-Org/DebateAI#582 · 2 comments ·