{"_id":"@buckeyestudio/toh-typert-registry","name":"@buckeyestudio/toh-typert-registry","dist-tags":{"next":"0.1.1-rc.2","latest":"0.1.1-rc.2"},"versions":{"0.1.1-rc.2":{"name":"@buckeyestudio/toh-typert-registry","description":"Runtime registry for generated package reflection and Zod schemas","version":"0.1.1-rc.2","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/typert/registry"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./src/*":"./src/*","./package.json":"./package.json"},"toh":{"client":{"inject":[],"platform":"web","immediately":true}},"license":"MIT","author":{"name":"buckeyestudio"},"dependencies":{"zod":"^4.4.3","@buckeyestudio/toh-typert-protocol":"^0.1.1-rc.2"},"peerDependencies":{"@buckeyestudio/toh-invariants":"^0.1.1-rc.2","@buckeyestudio/cordis":"^4.0.1"},"devDependencies":{"@buckeyestudio/cordis":"^4.0.1","@buckeyestudio/toh-invariants":"^0.1.1-rc.2"},"scripts":{"bundle":"tsdown","watch":"tsdown --watch"},"_id":"@buckeyestudio/toh-typert-registry@0.1.1-rc.2","bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","_integrity":"sha512-C9HnEfAdfR3bzXn1I5Wn+P4/wuyXhrLHdWOGdb3wUO1YJpPbSIA2eZSj92ZfSOiGAQ/d31x/v7RpGamjza9c7w==","_resolved":"/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-typert-registry-0.1.1-rc.2.tgz","_from":"file:/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-typert-registry-0.1.1-rc.2.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-C9HnEfAdfR3bzXn1I5Wn+P4/wuyXhrLHdWOGdb3wUO1YJpPbSIA2eZSj92ZfSOiGAQ/d31x/v7RpGamjza9c7w==","shasum":"3142706cce281c3ab623b8aedf22945013090684","tarball":"https://registry.npmjs.org/@buckeyestudio/toh-typert-registry/-/toh-typert-registry-0.1.1-rc.2.tgz","fileCount":18,"unpackedSize":120904,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHQ7jboIstzRh2NpGMhOEHxE/z9Mk4TV0XEIzBKDxRJSAiEAvmYoen6/TTHyeMeXRY4dg5daleLWohXM7p+UxMUl8yw="}]},"_npmUser":{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"},"directories":{},"maintainers":[{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/toh-typert-registry_0.1.1-rc.2_1787489089551_0.6596712791290003"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-23T12:44:49.366Z","0.1.1-rc.2":"2026-08-23T12:44:49.690Z","modified":"2026-08-23T12:44:49.948Z"},"maintainers":[{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"}],"description":"Runtime registry for generated package reflection and Zod schemas","homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/typert/registry"},"author":{"name":"buckeyestudio"},"bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"license":"MIT","readme":"# @buckeyestudio/toh-typert-registry\n\n[English](README.md) | 中文\n\n生成的 Typert 产物所用的运行时注册表。每个注册项包含某个包在一个 face 上的业务反射信息，以及可选的运行时 Zod schema；`ctx.typert` 会以原子方式同时注册两者，并在发起调用的 Cordis fiber 释放时一并移除它们。TypeScript 分析和代码生成由 [`toh-typert-generator`](../generator/README.zh.md) 负责。\n\n包反射信息以 `<package>#<face>` 为键。schema 以 `<package>#<name>` 为键，并保留生成方的 Zod 实例。系统按需在消费方边界计算 JSON Schema。\n\n## 公开 API\n\n- `TypertRegistry` 是默认插件，并提供 `ctx.typert`。\n- `ctx.typert.lookups.register()` 注册由业务包拥有的协议声明和默认解析器；`configure()` 注册由宿主组合拥有且可异步执行的解析器。两者的生命周期相互独立：配置可以先于提供方注册，卸载配置会恢复默认策略。\n- `ctx.typert.contexts.registerHost()` 和 `configureHost()` 对具作用域的上下文身份采用同样的所有权划分；`registerClient()` 提供对应的客户端上下文绑定器。\n- `register(contribution)` 会在提交任何内容之前拒绝格式错误的标识，以及重复的包与 face 组合键或 schema 键，随后返回 Cordis effect 提供的同一资源释放函数。\n- `get(key)`、`resolve(key)` 和 `list(filter?)` 查询当前有效的 schema。`resolve()` 能区分格式错误的键、未注册的包，以及已注册但未以该名称提供 schema 的包。\n- `getPackage(packageName, face?)` 和 `listPackages(filter?)` 查询生成的服务、事件和对象反射信息；默认 face 为 `host`。\n- `toJSONSchema(key, params?)` 使用 `z.toJSONSchema()` 投影当前有效的 schema，且不缓存结果。\n- `typertKey()` 和 `typertPackageKey()` 构造两种稳定的标识形式。\n\n`@buckeyestudio/toh-typert-registry/types` 子路径包含注册项和记录的纯类型约定。[`toh-typert-loader`](../loader/README.zh.md) 会在 Loader 组合中发现并注册生成的宿主侧产物；其他组合所有者可以直接调用 `ctx.typert.register()`。\n\n## 模型体验\n\n无。注册表不会提供提示词、工具或会话事件；所有模型可见投影均由 `cordis_inspect` 等消费方负责。\n\n#### KV Cache 影响\n\n无直接影响。将反射信息放入请求的消费方负责由此产生的前缀变化。\n\n## 已知限制与暂缓事项\n\n- 注册表存储生成的反射信息，但不会合并宿主侧与客户端侧的图，也不会解析 TypeScript 引用；这些由分析器和产物输出器负责。\n- schema 键不包含 face，因为宿主侧和客户端侧在不同的上下文中运行。若在同一上下文中注册来自两个 face 的同名 schema，系统会将其作为重复项拒绝。\n","readmeFilename":"README.zh.md","_rev":"1-c93c632228e5ec1362a58cf3d0bfe90a"}