@gencode/plugin-sdk 0.0.6 → 0.0.7

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/README.md CHANGED
@@ -112,7 +112,7 @@ WebSocket / callback 中的事件载荷核心字段:
112
112
 
113
113
  插件可以通过 `api.registerUiTool()` 注册 UI 工具,让 LLM 在需要时暂停 agent 并通过前端表单收集结构化用户输入。
114
114
 
115
- 与 `registerTool` 不同,插件只需要提供表单 schema 和基本元数据 session 绑定、暂停/恢复流程、结果校验都由框架自动完成。
115
+ 与 `registerTool` 不同,插件只需要提供 schema 和基本元数据。`inputSchema` 用于定义 LLM 调用这个工具时的参数结构,`outputSchema` 用于定义前端要渲染和回传的表单结构;session 绑定、暂停/恢复流程、结果校验都由框架自动完成。
116
116
 
117
117
  ### 基本用法
118
118
 
@@ -124,7 +124,7 @@ export default function register(api: PluginApi) {
124
124
  name: "collect_feedback",
125
125
  label: "收集用户反馈",
126
126
  description: "Collect structured feedback from the user.",
127
- schema: {
127
+ outputSchema: {
128
128
  type: "object",
129
129
  title: "用户反馈",
130
130
  properties: {
@@ -146,7 +146,7 @@ export default function register(api: PluginApi) {
146
146
 
147
147
  ### JSON Schema 约定
148
148
 
149
- `schema` 现在遵循 JSON Schema 风格的对象定义,推荐至少提供:
149
+ `outputSchema` 遵循 JSON Schema 风格的对象定义,推荐至少提供:
150
150
 
151
151
  | 字段 | 说明 |
152
152
  |------|------|
@@ -162,7 +162,7 @@ export default function register(api: PluginApi) {
162
162
  示例:
163
163
 
164
164
  ```ts
165
- schema: {
165
+ outputSchema: {
166
166
  type: "object",
167
167
  title: "报告参数",
168
168
  properties: {
@@ -197,7 +197,7 @@ api.registerUiTool({
197
197
  name: "custom_summary_form",
198
198
  label: "自定义摘要表单",
199
199
  description: "Collect values through a custom-rendered panel.",
200
- schema: {
200
+ outputSchema: {
201
201
  type: "object",
202
202
  title: "摘要确认",
203
203
  properties: {
@@ -242,7 +242,7 @@ api.registerUiTool({
242
242
  name: "date_range",
243
243
  label: "选择日期范围",
244
244
  description: "Collect a date range with cross-field validation.",
245
- schema: {
245
+ outputSchema: {
246
246
  type: "object",
247
247
  title: "日期范围",
248
248
  properties: {
@@ -272,7 +272,7 @@ api.registerUiTool({
272
272
  | 维度 | `registerTool` | `registerUiTool` |
273
273
  |------|---------------|-----------------|
274
274
  | 用途 | 通用工具 | 收集前端表单输入 |
275
- | 开发者关注点 | 完整 `execute` 实现 | 只需提供 JSON Schema + 元数据 |
275
+ | 开发者关注点 | 完整 `execute` 实现 | 只需提供 `inputSchema?` + `outputSchema` + 元数据 |
276
276
  | sessionId | 需要自行处理 | 框架自动绑定 |
277
277
  | 暂停/恢复 | 需要手动抛出信号 | 框架自动处理 |
278
278
  | 结果校验 | 自行实现 | 内置 JSON Schema 校验 + 可选自定义 validator |
@@ -280,8 +280,8 @@ api.registerUiTool({
280
280
  ### 运行流程
281
281
 
282
282
  1. LLM 调用 UI 工具 → 自动抛出 `UiToolPauseSignal` 暂停 agent
283
- 2. Runner 捕获信号,发出 `ui_tool_request` 进度事件(包含表单 schema)
284
- 3. 前端根据 schema 渲染标准表单,或结合 `extra` 渲染自定义 UI
283
+ 2. Runner 捕获信号,发出 `ui_tool_request` 进度事件(包含 `outputSchema`)
284
+ 3. 前端根据 `outputSchema` 渲染标准表单,或结合 `extra` 渲染自定义 UI
285
285
  4. 用户提交后,CLI 带 `uiToolResume` 重新调用 agent
286
286
  5. 框架自动校验数据(内置 + 自定义 validator)
287
287
  6. 校验通过 → 工具返回提交值给 LLM → agent 继续执行
@@ -292,7 +292,8 @@ api.registerUiTool({
292
292
 
293
293
  - `PluginUiToolDescriptor` — `registerUiTool` 的参数类型
294
294
  - `PluginUiToolOptions` — 可选参数(如 `optional`)
295
- - `UiToolSchema` — 表单 schema
295
+ - `UiToolInputSchema` — LLM 调用参数 schema
296
+ - `UiToolOutputSchema` / `UiToolSchema` — 表单 schema
296
297
  - `UiToolJsonSchemaProperty` — 单个字段的 JSON Schema 定义
297
298
  - `UiToolJsonSchemaType` — 支持的 JSON Schema `type`
298
299
  - `UiToolExtra` — 前端扩展渲染负载
package/dist/index.d.ts CHANGED
@@ -2,10 +2,10 @@
2
2
  * @gencode/plugin-sdk
3
3
  * Thin re-export layer for plugin authors.
4
4
  */
5
- export type { AgentCustomProgressEvent, PluginApi, PluginRegistry, PluginRecord, PluginDiagnostic, PluginKind, PluginOrigin, PluginManifest, PluginManifestLoadResult, PluginConfigUiHint, PluginProgressEmitter, PluginCustomProgressInput, PluginUiToolDescriptor, PluginUiToolOptions, } from "@gencode/agents";
5
+ export type { UiToolInputSchema, AgentCustomProgressEvent, PluginApi, PluginRegistry, PluginRecord, PluginDiagnostic, PluginKind, PluginOrigin, PluginManifest, PluginManifestLoadResult, PluginConfigUiHint, PluginProgressEmitter, PluginCustomProgressInput, PluginUiToolDescriptor, PluginUiToolOptions, } from "@gencode/agents";
6
6
  export type { MemoryProvider, MemoryProviderContext, MemoryProviderFactory, MemoryProviderRegistration, MemorySearchOptions, MemoryChangeSource, MemoryChangedEvent, MemoryChangedHandler, } from "@gencode/agents";
7
7
  export type { EmbeddingProvider, EmbeddingProviderContext, EmbeddingProviderFactory, EmbeddingProviderRegistration, } from "@gencode/agents";
8
8
  export type { PluginHookName, PluginHookHandlerMap, PluginHookAgentContext, PluginHookBeforeModelResolveEvent, PluginHookBeforeModelResolveResult, PluginHookBeforePromptBuildEvent, PluginHookBeforePromptBuildResult, PluginHookLlmInputEvent, PluginHookLlmOutputEvent, PluginHookBeforeToolCallEvent, PluginHookBeforeToolCallResult, PluginHookAfterToolCallEvent, PluginHookAgentEndEvent, PluginHookBeforeCompactionEvent, PluginHookAfterCompactionEvent, PluginHookSessionStartEvent, PluginHookSessionEndEvent, PluginHookSessionResetEvent, PluginHookMemoryChangedEvent, } from "@gencode/agents";
9
9
  export type { PluginRuntime } from "@gencode/agents";
10
- export type { UiToolExtra, UiToolJsonSchemaProperty, UiToolJsonSchemaType, UiToolSchema, UiToolValidationError, UiToolValidationResult, } from "@gencode/shared";
10
+ export type { UiToolExtra, UiToolOutputSchema, UiToolJsonSchemaProperty, UiToolJsonSchemaType, UiToolSchema, UiToolValidationError, UiToolValidationResult, } from "@gencode/shared";
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,wBAAwB,EACxB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EACjC,kCAAkC,EAClC,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,EAC5B,uBAAuB,EACvB,+BAA+B,EAC/B,8BAA8B,EAC9B,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,YAAY,EACV,WAAW,EACX,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EACjC,kCAAkC,EAClC,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,EAC5B,uBAAuB,EACvB,+BAA+B,EAC/B,8BAA8B,EAC9B,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gencode/plugin-sdk",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,8 +17,8 @@
17
17
  "access": "public"
18
18
  },
19
19
  "dependencies": {
20
- "@gencode/agents": "0.0.42",
21
- "@gencode/shared": "0.0.14"
20
+ "@gencode/agents": "0.0.43",
21
+ "@gencode/shared": "0.0.15"
22
22
  },
23
23
  "devDependencies": {
24
24
  "typescript": "^5.9.3"