paseo-plugin-zcode-provider 0.0.0-stage → 0.2.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.
Files changed (141) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +29 -0
  3. package/README.md +112 -2
  4. package/client/account.tsx +827 -0
  5. package/client/diagnostics.tsx +379 -0
  6. package/client/runtime.tsx +296 -0
  7. package/client/settings.tsx +84 -0
  8. package/client/value.tsx +20 -0
  9. package/icon.svg +1 -0
  10. package/index.client.tsx +22 -0
  11. package/index.server.ts +39 -0
  12. package/package.json +77 -4
  13. package/paseo-plugin.json +6 -0
  14. package/server/account.ts +781 -0
  15. package/server/attachments.ts +150 -0
  16. package/server/build-info.ts +2 -0
  17. package/server/conversation.ts +319 -0
  18. package/server/diagnostics.ts +252 -0
  19. package/server/discovery/discover.ts +225 -0
  20. package/server/discovery/manifest.ts +36 -0
  21. package/server/discovery/types.ts +30 -0
  22. package/server/errors.ts +36 -0
  23. package/server/host/bridge.ts +490 -0
  24. package/server/host/schemas.ts +119 -0
  25. package/server/logger.ts +19 -0
  26. package/server/mapping.ts +270 -0
  27. package/server/models.ts +68 -0
  28. package/server/persistence.ts +146 -0
  29. package/server/presentation.ts +470 -0
  30. package/server/provider-status.ts +81 -0
  31. package/server/provider.ts +838 -0
  32. package/server/runtime/managed.ts +501 -0
  33. package/server/runtime/pins.ts +72 -0
  34. package/server/runtime-setup.ts +77 -0
  35. package/server/session-types.ts +49 -0
  36. package/server/session.ts +866 -0
  37. package/server/status.ts +89 -0
  38. package/server/timeline.ts +18 -0
  39. package/server/usage.ts +362 -0
  40. package/server/vendor/zcode/LICENSE +202 -0
  41. package/server/vendor/zcode/NOTICE.md +70 -0
  42. package/server/vendor/zcode/THIRD-PARTY-NOTICES.md +37 -0
  43. package/server/vendor/zcode/packages/model-option-map/src/compiler.ts +92 -0
  44. package/server/vendor/zcode/packages/model-option-map/src/evaluator.ts +214 -0
  45. package/server/vendor/zcode/packages/model-option-map/src/index.ts +5 -0
  46. package/server/vendor/zcode/packages/model-option-map/src/merge-patch.ts +97 -0
  47. package/server/vendor/zcode/packages/model-option-map/src/option-maps.ts +42 -0
  48. package/server/vendor/zcode/packages/model-option-map/src/parser.ts +240 -0
  49. package/server/vendor/zcode/packages/model-option-map/src/tokenizer.ts +141 -0
  50. package/server/vendor/zcode/packages/model-option-map/src/types.ts +36 -0
  51. package/server/vendor/zcode/packages/rpc/src/buffer.ts +88 -0
  52. package/server/vendor/zcode/packages/rpc/src/channelClient.ts +275 -0
  53. package/server/vendor/zcode/packages/rpc/src/channelServer.ts +283 -0
  54. package/server/vendor/zcode/packages/rpc/src/channels.shared.ts +66 -0
  55. package/server/vendor/zcode/packages/rpc/src/channels.ts +4 -0
  56. package/server/vendor/zcode/packages/rpc/src/delayedChannel.ts +17 -0
  57. package/server/vendor/zcode/packages/rpc/src/foundation.ts +260 -0
  58. package/server/vendor/zcode/packages/rpc/src/protocol.ts +397 -0
  59. package/server/vendor/zcode/packages/rpc/src/proxy-channel.ts +213 -0
  60. package/server/vendor/zcode/packages/rpc/src/serialization.ts +291 -0
  61. package/server/vendor/zcode/packages/shared/src/account-provider-state.ts +13 -0
  62. package/server/vendor/zcode/packages/shared/src/background-bash-output.ts +24 -0
  63. package/server/vendor/zcode/packages/shared/src/background-task-controls.ts +404 -0
  64. package/server/vendor/zcode/packages/shared/src/bash-output-display.ts +11 -0
  65. package/server/vendor/zcode/packages/shared/src/bots.ts +558 -0
  66. package/server/vendor/zcode/packages/shared/src/browser-use/backend.ts +80 -0
  67. package/server/vendor/zcode/packages/shared/src/browser-use/command-metadata.ts +170 -0
  68. package/server/vendor/zcode/packages/shared/src/browser-use/commands.ts +588 -0
  69. package/server/vendor/zcode/packages/shared/src/browser-use/result.ts +130 -0
  70. package/server/vendor/zcode/packages/shared/src/browser-use/snapshot.ts +77 -0
  71. package/server/vendor/zcode/packages/shared/src/command-types.ts +96 -0
  72. package/server/vendor/zcode/packages/shared/src/config-schema.ts +8 -0
  73. package/server/vendor/zcode/packages/shared/src/cuaAccessibilitySettings.ts +41 -0
  74. package/server/vendor/zcode/packages/shared/src/database-startup.ts +178 -0
  75. package/server/vendor/zcode/packages/shared/src/env.ts +63 -0
  76. package/server/vendor/zcode/packages/shared/src/execution-output-preview.ts +14 -0
  77. package/server/vendor/zcode/packages/shared/src/localTtft.ts +192 -0
  78. package/server/vendor/zcode/packages/shared/src/model-config.ts +123 -0
  79. package/server/vendor/zcode/packages/shared/src/model-execution.ts +23 -0
  80. package/server/vendor/zcode/packages/shared/src/model-provider-family.ts +171 -0
  81. package/server/vendor/zcode/packages/shared/src/model-provider-types.ts +81 -0
  82. package/server/vendor/zcode/packages/shared/src/model-selection.ts +60 -0
  83. package/server/vendor/zcode/packages/shared/src/oauth.ts +203 -0
  84. package/server/vendor/zcode/packages/shared/src/official-mcp-auth.ts +272 -0
  85. package/server/vendor/zcode/packages/shared/src/official-mcp-tool-error.ts +68 -0
  86. package/server/vendor/zcode/packages/shared/src/process-diagnostic.ts +42 -0
  87. package/server/vendor/zcode/packages/shared/src/protocol.ts +369 -0
  88. package/server/vendor/zcode/packages/shared/src/provider-family-connection-selection.ts +32 -0
  89. package/server/vendor/zcode/packages/shared/src/remoteAssetInstallMode.ts +11 -0
  90. package/server/vendor/zcode/packages/shared/src/remoteResourcePackages.ts +91 -0
  91. package/server/vendor/zcode/packages/shared/src/runtimeEnv.ts +315 -0
  92. package/server/vendor/zcode/packages/shared/src/settings-source.ts +10 -0
  93. package/server/vendor/zcode/packages/shared/src/usage-quota.ts +74 -0
  94. package/server/vendor/zcode/packages/shared/src/usage-stats.ts +462 -0
  95. package/server/vendor/zcode/packages/shared/src/validationAppSettings.ts +562 -0
  96. package/server/vendor/zcode/packages/shared/src/workspacePurpose.ts +2 -0
  97. package/server/vendor/zcode/packages/shared/src/wslUserValidation.ts +33 -0
  98. package/server/vendor/zcode/packages/shared/src/zcode-agent-policy.ts +25 -0
  99. package/server/vendor/zcode/packages/shared/src/zcode-media-policy.ts +10 -0
  100. package/server/vendor/zcode/packages/shared/src/zcode-protocol/index.ts +3720 -0
  101. package/server/vendor/zcode/packages/shared/src/zcode-protocol-legacy-types.ts +529 -0
  102. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/apply.ts +218 -0
  103. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/attachment-ref.ts +14 -0
  104. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/command.ts +482 -0
  105. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/core.ts +100 -0
  106. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/create-workflow-display.ts +156 -0
  107. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/cuaPermission.ts +41 -0
  108. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/delta.ts +147 -0
  109. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/input-intent.ts +69 -0
  110. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/rows.ts +432 -0
  111. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/session-config.ts +43 -0
  112. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/sessions-index-workflow-activity.ts +195 -0
  113. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/sessions-index.ts +85 -0
  114. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/shared-context-import.ts +38 -0
  115. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/shared-context-ref.ts +10 -0
  116. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/snapshot.ts +509 -0
  117. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/submission.ts +5 -0
  118. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/toolDisplay.ts +264 -0
  119. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/transport.ts +1152 -0
  120. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/wire-assembler.ts +574 -0
  121. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/wire-binary.ts +65 -0
  122. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/wire-codec.ts +240 -0
  123. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/wire-fault.ts +39 -0
  124. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/wire.ts +159 -0
  125. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-artifacts.ts +291 -0
  126. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-observation-display.ts +281 -0
  127. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-row-meta.ts +163 -0
  128. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-run-settings-command.ts +62 -0
  129. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-runs-delta.ts +517 -0
  130. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workflow-runs.ts +512 -0
  131. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workspace-config.ts +81 -0
  132. package/server/vendor/zcode/packages/shared/src/zcode-protocol-v4/workspace-hook-review.ts +210 -0
  133. package/server/vendor/zcode/packages/shared/src/zcode-task-mode-schema.ts +6 -0
  134. package/server/vendor/zcode/packages/shared/src/zcode-task-types-core.ts +1187 -0
  135. package/server/vendor/zcode/packages/shared/src/zcodeEndpoint.ts +296 -0
  136. package/server/vendor/zcode/provenance.json +405 -0
  137. package/shared/account.ts +201 -0
  138. package/shared/diagnostics.ts +52 -0
  139. package/shared/runtime-setup.ts +73 -0
  140. package/vendor/acp-registry/LICENSE +176 -0
  141. package/vendor/paseo/LICENSE +211 -0
@@ -0,0 +1,264 @@
1
+ // zcode-protocol-v4 toolCall 的展示层 schema。
2
+ // 从 rows.ts 拆出:两侧增量叠加后 rows.ts 触发 oxlint max-lines(400)。
3
+ // 本文件只含不依赖 rowBaseFields 的纯展示 union,rows.ts 单向依赖它,无循环。
4
+ import { z } from "zod";
5
+ import { bashOutputDisplaySchema } from "../bash-output-display.js";
6
+ import { timestampSchema } from "./core.js";
7
+ import { OFFICIAL_MCP_TOOL_ERROR_CODES } from "../official-mcp-tool-error.js";
8
+ import { cuaRequestAccessStatusSchema } from "./cuaPermission.js";
9
+ import { toolCallCreateWorkflowDisplaySchema } from "./create-workflow-display.js";
10
+ import {
11
+ toolCallEvalWorkflowSnippetDisplaySchema,
12
+ toolCallGetWorkflowRunDisplaySchema,
13
+ toolCallListModelsDisplaySchema,
14
+ toolCallListWorkflowRunsDisplaySchema,
15
+ toolCallSavedWorkflowListDisplaySchema,
16
+ toolCallResumeWorkflowRunDisplaySchema,
17
+ } from "./workflow-observation-display.js";
18
+
19
+ // toolCall 终态 output 的结构化展示模型(port 自 feat;CUA 工具靠 kind:"cua" 分支把
20
+ // errorCode/suggestedAction/media(screenshot) 等结构化内容带到 renderer)。consume-main 之前
21
+ // 缺这个 union + toolOutputSchema.display 字段——协议层 zod 校验会把 agent 下发的 display 整个
22
+ // strip 掉,导致 UI 永远拿不到 display?.kind==="cua",CUA 工具调用退化成 fallback 渲染。
23
+ const toolResultDisplaySchema = z.discriminatedUnion("kind", [
24
+ bashOutputDisplaySchema,
25
+ z.object({
26
+ kind: z.literal("file_diff"),
27
+ filePath: z.string().min(1),
28
+ additions: z.number().int().nonnegative(),
29
+ deletions: z.number().int().nonnegative(),
30
+ structuredPatch: z.array(
31
+ z.object({
32
+ oldStart: z.number().int(),
33
+ oldLines: z.number().int(),
34
+ newStart: z.number().int(),
35
+ newLines: z.number().int(),
36
+ lines: z.array(z.string()),
37
+ }),
38
+ ),
39
+ truncated: z.boolean().optional(),
40
+ }),
41
+ z.object({
42
+ kind: z.literal("local_agent_message"),
43
+ status: z.enum(["success", "failed"]),
44
+ error: z.string().optional(),
45
+ message: z.string().optional(),
46
+ }),
47
+ z.object({
48
+ kind: z.literal("task_stop"),
49
+ taskId: z.string().min(1),
50
+ taskType: z.string().min(1),
51
+ command: z.string().min(1).optional(),
52
+ message: z.string().min(1),
53
+ truncated: z.boolean().optional(),
54
+ }),
55
+ z.object({
56
+ kind: z.literal("task_output"),
57
+ retrievalStatus: z.enum(["success", "not_ready", "timeout"]),
58
+ taskStatus: z.string().min(1).max(64).optional(),
59
+ output: z.string().min(1).max(2_000).optional(),
60
+ truncated: z.literal(true).optional(),
61
+ }),
62
+ z.object({
63
+ kind: z.literal("respond_to_coordinator"),
64
+ status: z.enum(["success", "failed"]),
65
+ }),
66
+ z.object({
67
+ kind: z.literal("cua"),
68
+ schemaVersion: z.literal(1),
69
+ toolName: z.string().min(1),
70
+ status: z.enum(["success", "failed"]),
71
+ // 旧 v1 snapshot 曾重复携带 ToolCallRow.input;只为历史回放继续接受。
72
+ input: z.string().optional(),
73
+ structuredContent: z.string().optional(),
74
+ text: z.string().optional(),
75
+ errorCode: z.string().optional(),
76
+ suggestedAction: z.string().optional(),
77
+ permissionStatus: cuaRequestAccessStatusSchema.optional(),
78
+ targetApp: z
79
+ .object({
80
+ schemaVersion: z.literal(1),
81
+ displayName: z.string().trim().min(1).max(512).optional(),
82
+ iconLocators: z
83
+ .array(
84
+ z.discriminatedUnion("kind", [
85
+ z
86
+ .object({
87
+ kind: z.literal("darwin-bundle-id"),
88
+ value: z.string().trim().min(1).max(512),
89
+ })
90
+ .strict(),
91
+ z
92
+ .object({
93
+ kind: z.literal("windows-executable-path"),
94
+ value: z.string().trim().min(1).max(32_768),
95
+ })
96
+ .strict(),
97
+ z
98
+ .object({
99
+ kind: z.literal("windows-aumid"),
100
+ value: z.string().trim().min(1).max(512),
101
+ })
102
+ .strict(),
103
+ ]),
104
+ )
105
+ .max(3),
106
+ })
107
+ .strict()
108
+ .optional(),
109
+ media: z
110
+ .array(
111
+ z.object({
112
+ mimeType: z.string().min(1),
113
+ data: z.string().min(1).max(349_528).optional(),
114
+ artifactUri: z.string().min(1).optional(),
115
+ }),
116
+ )
117
+ .max(4)
118
+ .optional(),
119
+ truncated: z.boolean().optional(),
120
+ }),
121
+ z.object({
122
+ kind: z.literal("mcp_tool"),
123
+ serverName: z.string().min(1).max(256),
124
+ toolName: z.string().min(1).max(256),
125
+ description: z
126
+ .string()
127
+ .min(1)
128
+ .max(4 * 1024)
129
+ .optional(),
130
+ // 与 toolCallMcpDisplaySchema 同源:不在这里声明,zod 会把 agent 下发的 unavailable
131
+ // 静默 strip 掉,官方 MCP 额度提示在 v4 链路上失效(同本文件顶部 display strip 的坑)。
132
+ unavailable: z
133
+ .object({ code: z.enum(OFFICIAL_MCP_TOOL_ERROR_CODES) })
134
+ .strict()
135
+ .optional(),
136
+ }),
137
+ // buildToolOutput 把 CLI 侧 ToolResultDisplayPayload 原样塞进 toolOutput.display,
138
+ // 而这条 union 是 strict 的——create_workflow 不在成员里,CreateWorkflow 的 display 会被整段
139
+ // 拒掉/剥掉,工具卡退化成纯文本。两侧成员表必须同步(同 contracts 的
140
+ // toolResultDisplayPayloadSchema),所以直接复用 toolCall 侧同形的那份 schema。
141
+ toolCallCreateWorkflowDisplaySchema,
142
+ // 观察类工作流工具的五个 display kind + ResumeWorkflowRun 的恢复卡(同上:与 contracts
143
+ // 侧同步,缺成员 = 整块被剥)。
144
+ toolCallGetWorkflowRunDisplaySchema,
145
+ toolCallListWorkflowRunsDisplaySchema,
146
+ toolCallEvalWorkflowSnippetDisplaySchema,
147
+ toolCallSavedWorkflowListDisplaySchema,
148
+ toolCallListModelsDisplaySchema,
149
+ toolCallResumeWorkflowRunDisplaySchema,
150
+ ]);
151
+ export type ToolResultDisplay = z.infer<typeof toolResultDisplaySchema>;
152
+
153
+ // toolCall。终态 output 全档统一 head+tail 截断,超出走 truncated.ref 按需拉。
154
+ // display 是展示载荷;版本不兼容时降级为无卡片,避免同一内容导致整条订阅反复恢复失败。
155
+ export const toolOutputSchema = z.object({
156
+ text: z.string(),
157
+ display: toolResultDisplaySchema.optional().catch(undefined),
158
+ truncated: z
159
+ .object({
160
+ totalBytes: z.number(),
161
+ ref: z.string(),
162
+ })
163
+ .optional(),
164
+ });
165
+ export type ToolOutput = z.infer<typeof toolOutputSchema>;
166
+
167
+ export const toolProgressSchema = z.object({
168
+ bytes: z.number(),
169
+ previewLine: z.string().optional(),
170
+ updatedAt: timestampSchema,
171
+ });
172
+ export type ToolProgress = z.infer<typeof toolProgressSchema>;
173
+
174
+ /**
175
+ * node_repl cell 的目标应用身份(Computer Use 的工具卡图标)。与 CLI contracts 的
176
+ * `nodeReplCuaAppDisplaySchema` 必须同集——两侧都是 strict,少一个字段会让整块 display 被剥掉。
177
+ */
178
+ const toolCallNodeReplCuaAppDisplaySchema = z
179
+ .object({
180
+ appKey: z.string().trim().min(1).max(2_048),
181
+ displayName: z.string().trim().min(1).max(512).optional(),
182
+ })
183
+ .strict();
184
+
185
+ const toolCallNodeReplImageDisplaySchema = z
186
+ .object({
187
+ kind: z.literal("node_repl_images"),
188
+ // images 可选:CUA 的纯动作 cell 没有截图,但仍要携带 app 身份。kind 名保留不动,
189
+ // 改名会让已持久化的 row 在这条 strict union 里整段校验失败。
190
+ images: z
191
+ .array(
192
+ z
193
+ .object({
194
+ base64: z
195
+ .string()
196
+ .min(1)
197
+ .max(200 * 1024),
198
+ mimeType: z.string().regex(/^image\/[a-z0-9.+-]+$/iu),
199
+ })
200
+ .strict(),
201
+ )
202
+ .min(1)
203
+ .max(2)
204
+ .optional(),
205
+ app: toolCallNodeReplCuaAppDisplaySchema.optional(),
206
+ truncated: z.boolean().optional(),
207
+ source: z.literal("browser_turn_end").optional(),
208
+ })
209
+ .strict();
210
+
211
+ const toolCallTaskOutputDisplaySchema = z
212
+ .object({
213
+ kind: z.literal("task_output"),
214
+ retrievalStatus: z.enum(["success", "not_ready", "timeout"]),
215
+ taskStatus: z.string().min(1).max(64).optional(),
216
+ output: z.string().min(1).max(2_000).optional(),
217
+ truncated: z.literal(true).optional(),
218
+ })
219
+ .strict();
220
+
221
+ const toolCallRespondToCoordinatorDisplaySchema = z
222
+ .object({
223
+ kind: z.literal("respond_to_coordinator"),
224
+ status: z.enum(["success", "failed"]),
225
+ })
226
+ .strict();
227
+
228
+ const toolCallMcpDisplaySchema = z
229
+ .object({
230
+ kind: z.literal("mcp_tool"),
231
+ serverName: z.string().min(1).max(256),
232
+ toolName: z.string().min(1).max(256),
233
+ description: z
234
+ .string()
235
+ .min(1)
236
+ .max(4 * 1024)
237
+ .optional(),
238
+ /**
239
+ * 官方 Server MCP 判定本次调用不可用(额度耗尽 / 无 Coding Plan)时下发的结构化标识。
240
+ * CLI 侧只在官方来源 + isError 时填充,UI 据此在输入框上方提示。
241
+ * 与 CLI contracts 的 mcpToolResultDisplayPayloadSchema 必须同步——两侧都是 strict,
242
+ * 少加一处会让整条 row 校验失败。
243
+ */
244
+ unavailable: z
245
+ .object({ code: z.enum(OFFICIAL_MCP_TOOL_ERROR_CODES) })
246
+ .strict()
247
+ .optional(),
248
+ })
249
+ .strict();
250
+
251
+ export const toolCallDisplaySchema = z.discriminatedUnion("kind", [
252
+ toolCallNodeReplImageDisplaySchema,
253
+ toolCallTaskOutputDisplaySchema,
254
+ toolCallRespondToCoordinatorDisplaySchema,
255
+ toolCallMcpDisplaySchema,
256
+ toolCallCreateWorkflowDisplaySchema,
257
+ toolCallGetWorkflowRunDisplaySchema,
258
+ toolCallListWorkflowRunsDisplaySchema,
259
+ toolCallEvalWorkflowSnippetDisplaySchema,
260
+ toolCallSavedWorkflowListDisplaySchema,
261
+ toolCallListModelsDisplaySchema,
262
+ toolCallResumeWorkflowRunDisplaySchema,
263
+ ]);
264
+ export type ToolCallDisplay = z.infer<typeof toolCallDisplaySchema>;