paseo-plugin-zcode-provider 0.0.0-stage → 0.1.0
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/LICENSE +21 -0
- package/NOTICE.md +29 -0
- package/README.md +98 -2
- package/client/diagnostics.tsx +397 -0
- package/client/setup.tsx +347 -0
- package/icon.svg +1 -0
- package/index.client.tsx +22 -0
- package/index.server.ts +21 -0
- package/package.json +75 -4
- package/paseo-plugin.json +6 -0
- package/server/attachments.ts +150 -0
- package/server/build-info.ts +2 -0
- package/server/conversation.ts +319 -0
- package/server/diagnostics.ts +235 -0
- package/server/discovery/discover.ts +225 -0
- package/server/discovery/manifest.ts +36 -0
- package/server/discovery/types.ts +30 -0
- package/server/errors.ts +36 -0
- package/server/host/bridge.ts +463 -0
- package/server/host/schemas.ts +119 -0
- package/server/logger.ts +19 -0
- package/server/mapping.ts +270 -0
- package/server/models.ts +68 -0
- package/server/persistence.ts +146 -0
- package/server/presentation.ts +428 -0
- package/server/provider.ts +831 -0
- package/server/runtime/managed.ts +501 -0
- package/server/runtime/pins.ts +72 -0
- package/server/runtime-setup.ts +102 -0
- package/server/session-types.ts +49 -0
- package/server/session.ts +866 -0
- package/server/status.ts +89 -0
- package/server/timeline.ts +18 -0
- package/server/vendor/zcode/LICENSE +202 -0
- package/server/vendor/zcode/NOTICE.md +70 -0
- package/server/vendor/zcode/THIRD-PARTY-NOTICES.md +37 -0
- package/server/vendor/zcode/packages/model-option-map/src/compiler.ts +92 -0
- package/server/vendor/zcode/packages/model-option-map/src/evaluator.ts +214 -0
- package/server/vendor/zcode/packages/model-option-map/src/index.ts +5 -0
- package/server/vendor/zcode/packages/model-option-map/src/merge-patch.ts +97 -0
- package/server/vendor/zcode/packages/model-option-map/src/option-maps.ts +42 -0
- package/server/vendor/zcode/packages/model-option-map/src/parser.ts +240 -0
- package/server/vendor/zcode/packages/model-option-map/src/tokenizer.ts +141 -0
- package/server/vendor/zcode/packages/model-option-map/src/types.ts +36 -0
- package/server/vendor/zcode/packages/rpc/src/buffer.ts +88 -0
- package/server/vendor/zcode/packages/rpc/src/channelClient.ts +275 -0
- package/server/vendor/zcode/packages/rpc/src/channelServer.ts +283 -0
- package/server/vendor/zcode/packages/rpc/src/channels.shared.ts +66 -0
- package/server/vendor/zcode/packages/rpc/src/channels.ts +4 -0
- package/server/vendor/zcode/packages/rpc/src/delayedChannel.ts +17 -0
- package/server/vendor/zcode/packages/rpc/src/foundation.ts +260 -0
- package/server/vendor/zcode/packages/rpc/src/protocol.ts +397 -0
- package/server/vendor/zcode/packages/rpc/src/proxy-channel.ts +213 -0
- package/server/vendor/zcode/packages/rpc/src/serialization.ts +291 -0
- package/server/vendor/zcode/packages/shared/src/account-provider-state.ts +13 -0
- package/server/vendor/zcode/packages/shared/src/background-bash-output.ts +24 -0
- package/server/vendor/zcode/packages/shared/src/background-task-controls.ts +404 -0
- package/server/vendor/zcode/packages/shared/src/bash-output-display.ts +11 -0
- package/server/vendor/zcode/packages/shared/src/bots.ts +558 -0
- package/server/vendor/zcode/packages/shared/src/browser-use/backend.ts +80 -0
- package/server/vendor/zcode/packages/shared/src/browser-use/command-metadata.ts +170 -0
- package/server/vendor/zcode/packages/shared/src/browser-use/commands.ts +588 -0
- package/server/vendor/zcode/packages/shared/src/browser-use/result.ts +130 -0
- package/server/vendor/zcode/packages/shared/src/browser-use/snapshot.ts +77 -0
- package/server/vendor/zcode/packages/shared/src/command-types.ts +96 -0
- package/server/vendor/zcode/packages/shared/src/config-schema.ts +8 -0
- package/server/vendor/zcode/packages/shared/src/cuaAccessibilitySettings.ts +41 -0
- package/server/vendor/zcode/packages/shared/src/database-startup.ts +178 -0
- package/server/vendor/zcode/packages/shared/src/env.ts +63 -0
- package/server/vendor/zcode/packages/shared/src/execution-output-preview.ts +14 -0
- package/server/vendor/zcode/packages/shared/src/localTtft.ts +192 -0
- package/server/vendor/zcode/packages/shared/src/model-config.ts +123 -0
- package/server/vendor/zcode/packages/shared/src/model-execution.ts +23 -0
- package/server/vendor/zcode/packages/shared/src/model-provider-family.ts +171 -0
- package/server/vendor/zcode/packages/shared/src/model-provider-types.ts +81 -0
- package/server/vendor/zcode/packages/shared/src/model-selection.ts +60 -0
- package/server/vendor/zcode/packages/shared/src/oauth.ts +203 -0
- package/server/vendor/zcode/packages/shared/src/official-mcp-auth.ts +272 -0
- package/server/vendor/zcode/packages/shared/src/official-mcp-tool-error.ts +68 -0
- package/server/vendor/zcode/packages/shared/src/process-diagnostic.ts +42 -0
- package/server/vendor/zcode/packages/shared/src/protocol.ts +369 -0
- package/server/vendor/zcode/packages/shared/src/provider-family-connection-selection.ts +32 -0
- package/server/vendor/zcode/packages/shared/src/remoteAssetInstallMode.ts +11 -0
- package/server/vendor/zcode/packages/shared/src/remoteResourcePackages.ts +91 -0
- package/server/vendor/zcode/packages/shared/src/runtimeEnv.ts +315 -0
- package/server/vendor/zcode/packages/shared/src/settings-source.ts +10 -0
- package/server/vendor/zcode/packages/shared/src/usage-quota.ts +74 -0
- package/server/vendor/zcode/packages/shared/src/usage-stats.ts +462 -0
- package/server/vendor/zcode/packages/shared/src/validationAppSettings.ts +562 -0
- package/server/vendor/zcode/packages/shared/src/workspacePurpose.ts +2 -0
- package/server/vendor/zcode/packages/shared/src/wslUserValidation.ts +33 -0
- package/server/vendor/zcode/packages/shared/src/zcode-agent-policy.ts +25 -0
- package/server/vendor/zcode/packages/shared/src/zcode-media-policy.ts +10 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol/index.ts +3720 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-legacy-types.ts +529 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/apply.ts +218 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/attachment-ref.ts +14 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/command.ts +482 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/core.ts +100 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/create-workflow-display.ts +156 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/cuaPermission.ts +41 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/delta.ts +147 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/input-intent.ts +69 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/rows.ts +432 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/session-config.ts +43 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/sessions-index-workflow-activity.ts +195 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/sessions-index.ts +85 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/shared-context-import.ts +38 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/shared-context-ref.ts +10 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/snapshot.ts +509 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/submission.ts +5 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/toolDisplay.ts +264 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/transport.ts +1152 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/wire-assembler.ts +574 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/wire-binary.ts +65 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/wire-codec.ts +240 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/wire-fault.ts +39 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/wire.ts +159 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-artifacts.ts +291 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-observation-display.ts +281 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-row-meta.ts +163 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-run-settings-command.ts +62 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-runs-delta.ts +517 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-runs.ts +512 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workspace-config.ts +81 -0
- package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workspace-hook-review.ts +210 -0
- package/server/vendor/zcode/packages/shared/src/zcode-task-mode-schema.ts +6 -0
- package/server/vendor/zcode/packages/shared/src/zcode-task-types-core.ts +1187 -0
- package/server/vendor/zcode/packages/shared/src/zcodeEndpoint.ts +296 -0
- package/server/vendor/zcode/provenance.json +405 -0
- package/shared/diagnostics.ts +52 -0
- package/shared/runtime-setup.ts +75 -0
- package/vendor/acp-registry/LICENSE +176 -0
- package/vendor/paseo/LICENSE +211 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// workflow 轮的行级元数据(rows.ts 的 turnHeader / userInput 成员)
|
|
3
|
+
// ============================================================
|
|
4
|
+
// 从 rows.ts 拆出:通知 manifest、后台结果归属、直接启动三段 schema 让 rows.ts 越过
|
|
5
|
+
// max-lines 上限(与 create-workflow-display.ts 同一先例——特性级 schema 单独成模块)。
|
|
6
|
+
// 对外名字不变:rows.ts 原样再导出,@zcode/shared 桶与相对导入两条路都照旧。
|
|
7
|
+
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
import { toolCallCreateWorkflowDisplaySchema } from "./create-workflow-display.js";
|
|
10
|
+
import { WORKFLOW_RUNS_LIMITS } from "./workflow-runs.js";
|
|
11
|
+
|
|
12
|
+
// workflow 通知的结构化载荷。
|
|
13
|
+
// 发射侧铸造、有界;禁止从模型面通知文本反解析。上界原则:载荷随 turnHeader row
|
|
14
|
+
// 走协议 + snapshot,截断诚实(resultTruncated / count≠shown ⇒ 预览是局部的,
|
|
15
|
+
// 全量经 run id 可取)。批量轮刻意不携带(一轮一张 manifest 在批量下不成立)。
|
|
16
|
+
export const workflowNotificationMetaSchema = z.discriminatedUnion("kind", [
|
|
17
|
+
z.object({
|
|
18
|
+
kind: z.literal("terminal"),
|
|
19
|
+
status: z.enum(["completed", "errored", "stopped"]),
|
|
20
|
+
// `status === "stopped"` 才在场。
|
|
21
|
+
stopReason: z.enum(["user", "model", "provider", "interrupted", "superseded"]).optional(),
|
|
22
|
+
summary: z.string().min(1).max(500),
|
|
23
|
+
result: z.string().max(4000).optional(),
|
|
24
|
+
resultForm: z.enum(["prose", "json"]).optional(),
|
|
25
|
+
resultTruncated: z.literal(true).optional(),
|
|
26
|
+
error: z.string().max(2000).optional(),
|
|
27
|
+
reports: z
|
|
28
|
+
.object({
|
|
29
|
+
count: z.number().int().nonnegative(),
|
|
30
|
+
shown: z.number().int().nonnegative(),
|
|
31
|
+
preview: z.array(z.string().max(500)).max(8),
|
|
32
|
+
})
|
|
33
|
+
.optional(),
|
|
34
|
+
// 用户面产物的 chips 载荷。
|
|
35
|
+
// ⚠ 术语:这里的 artifact 是脚本经 `artifact.*` 发布给用户看的产出,与同一载荷上的
|
|
36
|
+
// `result`(脚本顶层返回值,引擎内部也叫 artifact)无关。
|
|
37
|
+
// 只带 chip 画得下的字段:字节数 / 条目数点开侧板即可看到,chip 上放不下。
|
|
38
|
+
// 上界 8,超出(含被种类过滤掉的)置 artifactsTruncated;title 的 120 与
|
|
39
|
+
// ARTIFACT_CAPS.maxTitleLength 同值,发射侧就地截断。
|
|
40
|
+
// 例外是交付物(`primary`)那一条:它还带 `description`(≤ 500,同 ARTIFACT_CAPS),因为
|
|
41
|
+
// 完成卡把它画成一行带文字的交付物,冷 transcript 上只有这个载荷可读。清单 primary 在前。
|
|
42
|
+
artifacts: z
|
|
43
|
+
.array(
|
|
44
|
+
z.object({
|
|
45
|
+
id: z.string().min(1).max(64),
|
|
46
|
+
kind: z.enum(["file", "markdown", "chart", "table", "metrics", "board"]),
|
|
47
|
+
title: z.string().max(120).optional(),
|
|
48
|
+
version: z.number().int().positive(),
|
|
49
|
+
contentType: z.string().max(255).optional(),
|
|
50
|
+
primary: z.literal(true).optional(),
|
|
51
|
+
description: z.string().max(500).optional(),
|
|
52
|
+
}),
|
|
53
|
+
)
|
|
54
|
+
.max(8)
|
|
55
|
+
.optional(),
|
|
56
|
+
artifactsTruncated: z.literal(true).optional(),
|
|
57
|
+
durationMs: z.number().nonnegative().optional(),
|
|
58
|
+
}),
|
|
59
|
+
z.object({
|
|
60
|
+
kind: z.literal("escalation"),
|
|
61
|
+
qid: z.string().min(1),
|
|
62
|
+
actor: z.string().min(1),
|
|
63
|
+
question: z.string().min(1).max(4000),
|
|
64
|
+
context: z.string().max(4000).optional(),
|
|
65
|
+
askedAt: z.number().optional(),
|
|
66
|
+
}),
|
|
67
|
+
// run 级停滞:每个 stall 段一条,不是终态。
|
|
68
|
+
z.object({
|
|
69
|
+
kind: z.literal("stall"),
|
|
70
|
+
sinceMs: z.number().int().nonnegative(),
|
|
71
|
+
reason: z.string().max(64).optional(),
|
|
72
|
+
cap: z.number().int().nonnegative().optional(),
|
|
73
|
+
}),
|
|
74
|
+
]);
|
|
75
|
+
export type WorkflowNotificationMeta = z.infer<typeof workflowNotificationMetaSchema>;
|
|
76
|
+
|
|
77
|
+
export const backgroundResultOriginMetaSchema = z.object({
|
|
78
|
+
// 三个取值与 contracts 的 BackgroundResultOriginMeta 保持同步。
|
|
79
|
+
// "workflow" 是 dynamic-workflow run(workId ≡ runId),复用整条后台通知管线。
|
|
80
|
+
backgroundSource: z.enum(["bash", "subagent", "workflow"]),
|
|
81
|
+
workId: z.string().min(1),
|
|
82
|
+
title: z.string().min(1),
|
|
83
|
+
// 只在 backgroundSource === "workflow" 的单条通知轮上在场;zod 剥离未知键,
|
|
84
|
+
// 这里不加即整条链路静默丢——本字段是 manifest 渲染的唯一数据源。
|
|
85
|
+
workflowNotification: workflowNotificationMetaSchema.optional(),
|
|
86
|
+
});
|
|
87
|
+
export type BackgroundResultOriginMeta = z.infer<typeof backgroundResultOriginMetaSchema>;
|
|
88
|
+
|
|
89
|
+
// 直接启动的启动轮元数据。
|
|
90
|
+
// GUI 用中枢的「运行」在新会话里直接启动一个已保存工作流,agent 铸造一条 controlOnly 轮;
|
|
91
|
+
// 该轮的 turnHeader 与 userInput 都以 origin: "workflowLaunch" 投影,并各自携带这一份元数据。
|
|
92
|
+
// 冷恢复(消息 metadata)与活投影(TurnStarted payload)取同一份,冷热同形。
|
|
93
|
+
// 上界原则与 workflowNotificationMetaSchema 一致:发射侧铸造、有界、截断诚实——
|
|
94
|
+
// 全量脚本 / 诊断经 runId 在详情侧板可取,卡片上只画这份定长摘要。
|
|
95
|
+
// 刻意不复用 backgroundResultOriginMeta 的 backgroundSource 形状:那是「后台通知归属」,
|
|
96
|
+
// 这里是「用户从中枢发起的启动」,语义不同,形状独立以免两处交叉演进时互相拖累。
|
|
97
|
+
const workflowSubagentModelTextSchema = z
|
|
98
|
+
.string()
|
|
99
|
+
.min(1)
|
|
100
|
+
.max(WORKFLOW_RUNS_LIMITS.maxSubagentModelLength);
|
|
101
|
+
|
|
102
|
+
// 设置轮:用户在 run 卡 / 详情页的「配置」里
|
|
103
|
+
// 改了设置,agent 以同一份脚本修订出新 run,并用一条与直接启动同形的 controlOnly 轮记下这件事。
|
|
104
|
+
// 这一块说**改了什么**:只有改动过的设置在场;每一项的 from / to 缺一端即那一端是默认
|
|
105
|
+
// (模型 = 会话模型,上限 = 本机上限)。`ceiling` 是本机上限,供「13 → 4」这种读法。
|
|
106
|
+
export const workflowSettingsAmendMetaSchema = z.object({
|
|
107
|
+
// 修订自哪个 run。**缺席 = 就地生效**:只改并发上限、run
|
|
108
|
+
// 又在飞时,那次「配置」不停这次 run、也不另起一次,于是没有前驱可指——`runId` 指的就是被调整的
|
|
109
|
+
// 那一个。渲染端据此只出那一行、不再出卡(同一条 run 画两张卡会读成两次运行)。
|
|
110
|
+
// 此字段为可选;生产者和消费者需使用一致的 schema 才能解析就地调整的设置记录。
|
|
111
|
+
predecessorRunId: z.string().min(1).max(128).optional(),
|
|
112
|
+
subagentModel: z
|
|
113
|
+
.object({
|
|
114
|
+
from: workflowSubagentModelTextSchema.optional(),
|
|
115
|
+
to: workflowSubagentModelTextSchema.optional(),
|
|
116
|
+
})
|
|
117
|
+
.optional(),
|
|
118
|
+
maxConcurrency: z
|
|
119
|
+
.object({
|
|
120
|
+
from: z.number().int().positive().optional(),
|
|
121
|
+
to: z.number().int().positive().optional(),
|
|
122
|
+
})
|
|
123
|
+
.optional(),
|
|
124
|
+
ceiling: z.number().int().positive().optional(),
|
|
125
|
+
});
|
|
126
|
+
export type WorkflowSettingsAmendMeta = z.infer<typeof workflowSettingsAmendMetaSchema>;
|
|
127
|
+
|
|
128
|
+
export const workflowLaunchMetaSchema = z.object({
|
|
129
|
+
// runId ≡ workId:驱动启动轮 run 卡的实时状态 / 步数,也是取消 / 恢复 / 详情侧板的联接键。
|
|
130
|
+
runId: z.string().min(1).max(128),
|
|
131
|
+
// launch-<uuid> 前缀(区别于模型工具调用 id);与合成 CreateWorkflow toolCall 同一个 id。
|
|
132
|
+
toolCallId: z.string().min(1).max(128),
|
|
133
|
+
// 解析结果里的工作流名(由 agent 填,用户与模型都不能另起)。中枢启动恒在场;设置轮
|
|
134
|
+
// 取被调整的 run 自己的名字,没起过名的 run 就没有——卡片与侧板照任何无名 run 的规矩换用兜底词,
|
|
135
|
+
// 而不是把一个 run id 当标题。
|
|
136
|
+
name: z.string().min(1).max(200).optional(),
|
|
137
|
+
// scope / path 只属于中枢启动:设置轮(下方 `amend`)改的是一个已有 run,没有保存文件可指。
|
|
138
|
+
// 记录在案的偏斜:旧桌面上它们是必填,新 CLI 的设置轮在那里 parse 失败、整行被丢(与
|
|
139
|
+
// origin 闭集加值同一档);中枢启动轮两者恒在,不受影响。
|
|
140
|
+
scope: z.enum(["project", "global"]).optional(),
|
|
141
|
+
// 命中的脚本落盘路径;仅供详情 / 诊断,卡片不显示。1024 覆盖深层全局 / 项目路径。
|
|
142
|
+
path: z.string().min(1).max(1024).optional(),
|
|
143
|
+
// 实参键值表(卡片渲染源)。有界:序列化 ≤ 4KB,与 contracts 侧 TurnStartedPayload 同界,
|
|
144
|
+
// 防止把整个大对象塞进每条持久消息与活事件。
|
|
145
|
+
args: z
|
|
146
|
+
.record(z.string(), z.unknown())
|
|
147
|
+
.refine((value) => JSON.stringify(value).length <= 4096, {
|
|
148
|
+
message: "workflowLaunch.args JSON must be ≤ 4096 bytes",
|
|
149
|
+
})
|
|
150
|
+
.optional(),
|
|
151
|
+
// 说明行(若有);与实参窗 / 中枢卡同一段文案,500 与通知 summary 同界。
|
|
152
|
+
description: z.string().max(500).optional(),
|
|
153
|
+
// 启动前编译得到的 create_workflow display(有界因果图 + 诊断):run 详情侧板按 toolCallId 找
|
|
154
|
+
// 「发起行」取图,直接启动没有工具行,图从这里取。与工具行 display 同一 schema。
|
|
155
|
+
// 同样不设门:图解析失败只是这一行没有图,不拒整帧(见 toolDisplay.ts 注释)。
|
|
156
|
+
display: toolCallCreateWorkflowDisplaySchema.optional().catch(undefined),
|
|
157
|
+
// 本次 run 实际执行的脚本原文(侧板 Script 区),对应工具行的 input.script;上界与 contracts
|
|
158
|
+
// WORKFLOW_LAUNCH_SCRIPT_MAX_CHARS 同值。
|
|
159
|
+
script: z.string().max(256_000).optional(),
|
|
160
|
+
// 设置轮才在场:这次 run 是用「配置」从哪个 run 修订来的、改了什么。
|
|
161
|
+
amend: workflowSettingsAmendMetaSchema.optional(),
|
|
162
|
+
});
|
|
163
|
+
export type WorkflowLaunchMeta = z.infer<typeof workflowLaunchMetaSchema>;
|
package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-run-settings-command.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// amendWorkflowRunSettings:从 GUI 改一个 run 的两项设置
|
|
3
|
+
// ============================================================
|
|
4
|
+
// 从 command.ts 拆出(max-lines 门):载荷、accepted 结果与拒绝词表三件同属一个命令,
|
|
5
|
+
// bootstrap 铸 fault code、UI 反查文案,两侧共享这一份词表避免漂移。
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { WORKFLOW_RUNS_LIMITS } from "./workflow-runs.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 命令载荷。两项设置守工具的同一条三态规则:省略 = 沿用,`null` = 回到默认(会话模型 / 本机上限),
|
|
12
|
+
* 值 = 设定。GUI 只发用户改过的那几项。刻意不携 baseRevision:与 cancelBackgroundWork /
|
|
13
|
+
* resumeWorkflowRun 同类(workflowRuns 面免 revision)。
|
|
14
|
+
*/
|
|
15
|
+
export const amendWorkflowRunSettingsPayloadSchema = z.object({
|
|
16
|
+
/** ≡ runId,与取消、恢复同一个身份等式。 */
|
|
17
|
+
workId: z.string(),
|
|
18
|
+
/** 规范串 `providerId/modelId[$level]`;`null` = 子代理回到会话模型。 */
|
|
19
|
+
subagentModel: z
|
|
20
|
+
.string()
|
|
21
|
+
.min(1)
|
|
22
|
+
.max(WORKFLOW_RUNS_LIMITS.maxSubagentModelLength)
|
|
23
|
+
.nullable()
|
|
24
|
+
.optional(),
|
|
25
|
+
/** 同时运行的子代理上限;`null` = 解除本 run 自己的界(回到本机上限)。agent 侧钳到 `[1, 天花板]`。 */
|
|
26
|
+
maxConcurrency: z.number().int().min(1).nullable().optional(),
|
|
27
|
+
});
|
|
28
|
+
export type AmendWorkflowRunSettingsPayload = z.infer<typeof amendWorkflowRunSettingsPayloadSchema>;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* accepted ACK 的结果。`runId` / `toolCallId` 指**新** run(toolCallId = `settings-<uuid>`,
|
|
32
|
+
* 联接设置轮的 run 卡与详情页);`supersededRunId` 只在旧 run 仍在飞、被这次调整停下时在场。
|
|
33
|
+
*/
|
|
34
|
+
export const amendWorkflowRunSettingsResultSchema = z.object({
|
|
35
|
+
type: z.literal("amendWorkflowRunSettings"),
|
|
36
|
+
runId: z.string().min(1),
|
|
37
|
+
toolCallId: z.string().min(1),
|
|
38
|
+
supersededRunId: z.string().min(1).optional(),
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* 拒绝词表。所有拒绝都发生在停下或新建任何东西之前:
|
|
43
|
+
* not_found / not_configurable / unchanged / script_missing / model_unavailable / compile_failed
|
|
44
|
+
* 是命令自己的检查,missing_boundaries 是端口预检,start_failed 是端口缺席或抛错。
|
|
45
|
+
*/
|
|
46
|
+
export const workflowRunSettingsRejectionReasonSchema = z.enum([
|
|
47
|
+
"not_found",
|
|
48
|
+
"not_configurable",
|
|
49
|
+
"unchanged",
|
|
50
|
+
"script_missing",
|
|
51
|
+
"model_unavailable",
|
|
52
|
+
"compile_failed",
|
|
53
|
+
"missing_boundaries",
|
|
54
|
+
"start_failed",
|
|
55
|
+
]);
|
|
56
|
+
export type WorkflowRunSettingsRejectionReason = z.infer<
|
|
57
|
+
typeof workflowRunSettingsRejectionReasonSchema
|
|
58
|
+
>;
|
|
59
|
+
|
|
60
|
+
/** 完整 fault code = 前缀 + reason;与 workflowRunResumeRejected 同族。 */
|
|
61
|
+
export const WORKFLOW_RUN_SETTINGS_REJECTED_FAULT_PREFIX =
|
|
62
|
+
"fault.command.workflowRunSettingsRejected." as const;
|