@gencode/plugin-sdk 0.7.0 → 0.7.1
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/CHANGELOG.md +10 -0
- package/README.md +41 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @gencode/plugin-sdk
|
|
2
2
|
|
|
3
|
+
## 0.7.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- bc161b3: Expose the current user data root on plugin hook context as `ctx.dataDir`. Plugin hooks can now distinguish the persistent AIMax data directory from the effective working directory exposed as `ctx.workspaceDir`, which may point to `--project-dir` when a run is scoped to a specific repository.
|
|
8
|
+
- d77a70b: 插件现在可以通过 `api.hitl.pause()` 发起持久化人工确认,并通过 `api.hitl.isPause()` 识别暂停信号。插件只需使用 `@gencode/plugin-sdk` 的类型,不再需要运行时引入 `@gencode/agents`;请求 ID、当前会话 ID 和创建时间由 AIMax 自动补齐,现有暂停、恢复与外部事件行为保持不变。
|
|
9
|
+
- Updated dependencies [bc161b3]
|
|
10
|
+
- Updated dependencies [d77a70b]
|
|
11
|
+
- @gencode/agents@0.18.1
|
|
12
|
+
|
|
3
13
|
## 0.7.0
|
|
4
14
|
|
|
5
15
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -108,6 +108,47 @@ WebSocket / callback 中的事件载荷核心字段:
|
|
|
108
108
|
- `progress_demo.fetch.completed`
|
|
109
109
|
- `progress_demo.report.generated`
|
|
110
110
|
|
|
111
|
+
## `api.hitl`
|
|
112
|
+
|
|
113
|
+
自定义 tool 或 hook 需要主动发起持久化 HITL 暂停时,使用宿主注入的 `api.hitl.pause()`。插件不需要、也不应运行时引入 `@gencode/agents`:
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
import type { PluginApi } from "@gencode/plugin-sdk";
|
|
117
|
+
|
|
118
|
+
export default function register(api: PluginApi) {
|
|
119
|
+
api.registerTool({
|
|
120
|
+
name: "approve_action",
|
|
121
|
+
description: "Request approval for an action",
|
|
122
|
+
parameters: { type: "object", properties: {} },
|
|
123
|
+
async execute(toolCallId, params) {
|
|
124
|
+
api.hitl.pause({
|
|
125
|
+
request: {
|
|
126
|
+
kind: "approval",
|
|
127
|
+
title: "操作审批",
|
|
128
|
+
prompt: "是否继续?",
|
|
129
|
+
input: {
|
|
130
|
+
mode: "choice",
|
|
131
|
+
choices: [
|
|
132
|
+
{ id: "approve", label: "允许" },
|
|
133
|
+
{ id: "deny", label: "拒绝" },
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
policy: { resumable: true, defaultOnTimeout: "deny" },
|
|
137
|
+
},
|
|
138
|
+
checkpoint: {
|
|
139
|
+
turnId: toolCallId,
|
|
140
|
+
phase: "before_tool",
|
|
141
|
+
resumeStrategy: "reenter_from_checkpoint",
|
|
142
|
+
},
|
|
143
|
+
toolContext: { toolCallId, toolName: "approve_action", toolArgs: params },
|
|
144
|
+
});
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
宿主负责生成 `requestId`、绑定当前 `sessionId` 并填写 `createdAt`。需要在异常包装逻辑中识别控制信号时,使用 `api.hitl.isPause(error)`。
|
|
151
|
+
|
|
111
152
|
## `registerUiTool`
|
|
112
153
|
|
|
113
154
|
插件可以通过 `api.registerUiTool()` 注册 UI 工具,让 LLM 在需要时暂停 agent 并通过前端表单收集结构化用户输入。
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @gencode/plugin-sdk
|
|
3
3
|
* Thin re-export layer for plugin authors.
|
|
4
4
|
*/
|
|
5
|
-
export type { UiToolInputSchema, 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, PluginHitlApi, PluginHitlPauseInput, PluginHitlPauseSignal, PluginHitlRequest, } 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, PluginHookBeforeAgentStartEvent, PluginHookBeforeAgentStartResult, PluginHookToolResultEvent, PluginHookToolResultResult, PluginHookTurnStartEvent, PluginHookTurnEndEvent, PluginHookAgentStartEvent, ReadonlyTranscriptSessionAdapter, PluginHookAgentEndEvent, PluginHookBeforeCompactionEvent, PluginHookAfterCompactionEvent, PluginHookSessionStartEvent, PluginHookSessionEndEvent, PluginHookSessionResetEvent, PluginHookMemoryChangedEvent, PluginHookInputEvent, PluginHookInputResult, PluginHookResourcesDiscoverEvent, PluginHookResourcesDiscoverResult, PluginHookContextEvent, PluginHookContextResult, PluginHookBeforeProviderRequestEvent, PluginHookBeforeProviderRequestResult, PluginHookRegistration, PluginHookAfterPromptBuildEvent, } from "@gencode/agents";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EACnB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,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,+BAA+B,EAC/B,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,+BAA+B,EAC/B,8BAA8B,EAC9B,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,gCAAgC,EAChC,iCAAiC,EACjC,sBAAsB,EACtB,uBAAuB,EACvB,oCAAoC,EACpC,qCAAqC,EACrC,sBAAsB,EACtB,+BAA+B,GAChC,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.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@gencode/
|
|
22
|
-
"@gencode/
|
|
21
|
+
"@gencode/agents": "0.18.1",
|
|
22
|
+
"@gencode/shared": "0.6.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "^5.9.3"
|