@gencode/plugin-sdk 0.7.0 → 0.7.2
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 +24 -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,29 @@
|
|
|
1
1
|
# @gencode/plugin-sdk
|
|
2
2
|
|
|
3
|
+
## 0.7.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0e09aac: 所有发往模型网关的请求现在都会携带 `X-Model-Id` header,其值为该请求最终实际使用的模型名,包括主 Agent、子 Agent、插件、摘要和主题拆分等调用路径;无需新增配置。
|
|
8
|
+
- f7335c1: Skill 的高风险命令现在必须在 `SKILL.md` 同级的 `actions.yml` 中声明,并通过 `skill_action_run` 执行;运行时不再向 Agent 提供可直接审批任意命令的 `guarded_exec` 工具。已有 skill 如果直接调用该工具,需要先把命令、输入校验和 `hitl` 策略迁移到 `actions.yml`。
|
|
9
|
+
- e691d24: HITL 暂停且当前轮没有模型文本时,返回内容现在直接展示确认请求的标题和说明,不再添加 `[HITL paused]` 前缀;暂停状态及恢复协议保持不变。
|
|
10
|
+
- ed68c0c: Topic-filtered conversations now compact oversized selected topics without replacing unrelated session history. Topic compaction is stored in `.aimax/sessions/<sessionId>/topic-segments.json`, while `transcript.jsonl` remains complete; ordinary conversations and `/compact` keep their existing global compaction behavior. Automatic compaction also reserves context for the base system prompt and visible tool schemas before deciding how much history to retain.
|
|
11
|
+
- Updated dependencies [0e09aac]
|
|
12
|
+
- Updated dependencies [f7335c1]
|
|
13
|
+
- Updated dependencies [e691d24]
|
|
14
|
+
- Updated dependencies [ed68c0c]
|
|
15
|
+
- @gencode/agents@0.18.2
|
|
16
|
+
|
|
17
|
+
## 0.7.1
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- 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.
|
|
22
|
+
- d77a70b: 插件现在可以通过 `api.hitl.pause()` 发起持久化人工确认,并通过 `api.hitl.isPause()` 识别暂停信号。插件只需使用 `@gencode/plugin-sdk` 的类型,不再需要运行时引入 `@gencode/agents`;请求 ID、当前会话 ID 和创建时间由 AIMax 自动补齐,现有暂停、恢复与外部事件行为保持不变。
|
|
23
|
+
- Updated dependencies [bc161b3]
|
|
24
|
+
- Updated dependencies [d77a70b]
|
|
25
|
+
- @gencode/agents@0.18.1
|
|
26
|
+
|
|
3
27
|
## 0.7.0
|
|
4
28
|
|
|
5
29
|
### 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.2",
|
|
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.2",
|
|
22
|
+
"@gencode/shared": "0.6.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "^5.9.3"
|