@agentdock/wire 0.0.46 → 0.0.48
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 +1 -1
- package/dist/agentCapabilities.js +1 -195
- package/dist/agentCommonEnv.js +1 -20
- package/dist/agentInstallGuide.js +1 -81
- package/dist/checkpointSchemas.js +1 -46
- package/dist/controlLevel.js +1 -11
- package/dist/edition.js +1 -13
- package/dist/envelope.d.ts +35 -1
- package/dist/envelope.js +1 -78
- package/dist/errorMessage.js +1 -6
- package/dist/events.d.ts +37 -1
- package/dist/events.js +1 -97
- package/dist/features.js +1 -112
- package/dist/feedback.d.ts +23 -5
- package/dist/feedback.js +1 -26
- package/dist/index.d.ts +7 -7
- package/dist/index.js +1 -64
- package/dist/interactionEvents.js +1 -108
- package/dist/legacyProtocol.d.ts +1 -1
- package/dist/legacyProtocol.js +1 -30
- package/dist/license.d.ts +100 -11
- package/dist/license.js +1 -17
- package/dist/machine.d.ts +8 -0
- package/dist/machine.js +1 -56
- package/dist/messageMeta.js +1 -60
- package/dist/messages.d.ts +85 -1
- package/dist/messages.js +1 -35
- package/dist/ops.js +1 -74
- package/dist/pairing.d.ts +10 -0
- package/dist/pairing.js +1 -115
- package/dist/protocol.js +1 -7
- package/dist/rpc.js +1 -246
- package/dist/scheduledTasks.js +1 -81
- package/dist/semver.js +1 -60
- package/dist/sessionResult.js +1 -23
- package/dist/socketEvents.d.ts +3 -0
- package/dist/socketEvents.js +1 -44
- package/dist/spawnError.js +1 -31
- package/dist/stats.d.ts +27 -422
- package/dist/stats.js +1 -126
- package/dist/sync.d.ts +47 -1
- package/dist/sync.js +1 -78
- package/dist/telemetry.d.ts +9 -9
- package/dist/telemetry.js +1 -80
- package/dist/utils.js +1 -2
- package/package.json +2 -2
- package/dist/agentCapabilities.d.ts.map +0 -1
- package/dist/agentCapabilities.js.map +0 -1
- package/dist/agentCommonEnv.d.ts.map +0 -1
- package/dist/agentCommonEnv.js.map +0 -1
- package/dist/agentInstallGuide.d.ts.map +0 -1
- package/dist/agentInstallGuide.js.map +0 -1
- package/dist/checkpointSchemas.d.ts.map +0 -1
- package/dist/checkpointSchemas.js.map +0 -1
- package/dist/controlLevel.d.ts.map +0 -1
- package/dist/controlLevel.js.map +0 -1
- package/dist/edition.d.ts.map +0 -1
- package/dist/edition.js.map +0 -1
- package/dist/envelope.d.ts.map +0 -1
- package/dist/envelope.js.map +0 -1
- package/dist/errorMessage.d.ts.map +0 -1
- package/dist/errorMessage.js.map +0 -1
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js.map +0 -1
- package/dist/features.d.ts.map +0 -1
- package/dist/features.js.map +0 -1
- package/dist/feedback.d.ts.map +0 -1
- package/dist/feedback.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/interactionEvents.d.ts.map +0 -1
- package/dist/interactionEvents.js.map +0 -1
- package/dist/legacyProtocol.d.ts.map +0 -1
- package/dist/legacyProtocol.js.map +0 -1
- package/dist/license.d.ts.map +0 -1
- package/dist/license.js.map +0 -1
- package/dist/machine.d.ts.map +0 -1
- package/dist/machine.js.map +0 -1
- package/dist/messageMeta.d.ts.map +0 -1
- package/dist/messageMeta.js.map +0 -1
- package/dist/messages.d.ts.map +0 -1
- package/dist/messages.js.map +0 -1
- package/dist/ops.d.ts.map +0 -1
- package/dist/ops.js.map +0 -1
- package/dist/pairing.d.ts.map +0 -1
- package/dist/pairing.js.map +0 -1
- package/dist/protocol.d.ts.map +0 -1
- package/dist/protocol.js.map +0 -1
- package/dist/rpc.d.ts.map +0 -1
- package/dist/rpc.js.map +0 -1
- package/dist/scheduledTasks.d.ts.map +0 -1
- package/dist/scheduledTasks.js.map +0 -1
- package/dist/semver.d.ts.map +0 -1
- package/dist/semver.js.map +0 -1
- package/dist/sessionResult.d.ts.map +0 -1
- package/dist/sessionResult.js.map +0 -1
- package/dist/socketEvents.d.ts.map +0 -1
- package/dist/socketEvents.js.map +0 -1
- package/dist/spawnError.d.ts.map +0 -1
- package/dist/spawnError.js.map +0 -1
- package/dist/stats.d.ts.map +0 -1
- package/dist/stats.js.map +0 -1
- package/dist/sync.d.ts.map +0 -1
- package/dist/sync.js.map +0 -1
- package/dist/telemetry.d.ts.map +0 -1
- package/dist/telemetry.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js.map +0 -1
package/README.md
CHANGED
|
@@ -146,7 +146,7 @@ pnpm --filter @agentdock/wire typecheck
|
|
|
146
146
|
|
|
147
147
|
## 设计决策
|
|
148
148
|
|
|
149
|
-
-
|
|
149
|
+
- **字段命名规范**:`call`/`name`/`args`(非 `toolId`/`toolName`/`params`),确保协议兼容
|
|
150
150
|
- **cuid2 作为 ID**:`subagent` 字段用 cuid2 验证,`id` 用 `createId()` 生成
|
|
151
151
|
- **Unix number 时间戳**:`time`/`createdAt`/`updatedAt` 都是 Unix 毫秒数,非 ISO string
|
|
152
152
|
- **discriminated union**:`SessionEventSchema` 用 `t` 字段做类型判别,而非 `type`
|
|
@@ -1,195 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Agent capability matrix — static mapping of which features each CLI agent supports.
|
|
3
|
-
*
|
|
4
|
-
* Web UI uses this to conditionally show/hide spawn parameters
|
|
5
|
-
* (model, systemPrompt, tools, permissions, etc.) based on the selected agent.
|
|
6
|
-
*/
|
|
7
|
-
// ── Per-agent permission modes ──────────────────────────────────────
|
|
8
|
-
const CLAUDE_PERMISSION_MODES = [
|
|
9
|
-
{ value: 'default', labelKey: 'permissionDefault' },
|
|
10
|
-
{ value: 'acceptEdits', labelKey: 'permissionAutoEdit' },
|
|
11
|
-
{ value: 'auto', labelKey: 'permissionAuto' },
|
|
12
|
-
{ value: 'plan', labelKey: 'permissionPlan' },
|
|
13
|
-
{ value: 'bypassPermissions', labelKey: 'permissionFullAuto' },
|
|
14
|
-
];
|
|
15
|
-
// ── Per-agent static models (non-ACP agents) ──────────────────────
|
|
16
|
-
const CLAUDE_MODELS = [
|
|
17
|
-
{ value: 'sonnet', label: 'Sonnet' },
|
|
18
|
-
{ value: 'opus', label: 'Opus' },
|
|
19
|
-
{ value: 'haiku', label: 'Haiku' },
|
|
20
|
-
];
|
|
21
|
-
// ── Capability matrix ───────────────────────────────────────────────
|
|
22
|
-
export const AGENT_CAPABILITIES = {
|
|
23
|
-
claude: {
|
|
24
|
-
controlLevel: 3,
|
|
25
|
-
supportsModel: true,
|
|
26
|
-
supportsSystemPrompt: true,
|
|
27
|
-
supportsToolConfig: true,
|
|
28
|
-
supportsMcpConfig: true,
|
|
29
|
-
supportsPermissionMode: true,
|
|
30
|
-
supportsResume: true,
|
|
31
|
-
supportsMaxTurns: true,
|
|
32
|
-
supportsSlashClear: true,
|
|
33
|
-
supportsSlashCompact: true,
|
|
34
|
-
supportsInSessionModelSwitch: true,
|
|
35
|
-
supportsInSessionModeSwitch: true,
|
|
36
|
-
usesAcpConfig: false,
|
|
37
|
-
staticModels: CLAUDE_MODELS,
|
|
38
|
-
permissionModes: CLAUDE_PERMISSION_MODES,
|
|
39
|
-
defaultPermissionMode: 'default',
|
|
40
|
-
},
|
|
41
|
-
copilot: {
|
|
42
|
-
controlLevel: 3,
|
|
43
|
-
supportsModel: true,
|
|
44
|
-
supportsSystemPrompt: false,
|
|
45
|
-
supportsToolConfig: true,
|
|
46
|
-
supportsMcpConfig: true,
|
|
47
|
-
supportsPermissionMode: true,
|
|
48
|
-
supportsResume: true,
|
|
49
|
-
supportsMaxTurns: false,
|
|
50
|
-
supportsSlashClear: true,
|
|
51
|
-
supportsSlashCompact: false,
|
|
52
|
-
supportsInSessionModelSwitch: true,
|
|
53
|
-
supportsInSessionModeSwitch: true,
|
|
54
|
-
usesAcpConfig: true,
|
|
55
|
-
staticModels: [],
|
|
56
|
-
permissionModes: [],
|
|
57
|
-
defaultPermissionMode: '',
|
|
58
|
-
},
|
|
59
|
-
opencode: {
|
|
60
|
-
controlLevel: 3,
|
|
61
|
-
supportsModel: true,
|
|
62
|
-
supportsSystemPrompt: true,
|
|
63
|
-
supportsToolConfig: true,
|
|
64
|
-
supportsMcpConfig: true,
|
|
65
|
-
supportsPermissionMode: false,
|
|
66
|
-
supportsResume: true,
|
|
67
|
-
supportsMaxTurns: false,
|
|
68
|
-
supportsSlashClear: true,
|
|
69
|
-
supportsSlashCompact: false,
|
|
70
|
-
supportsInSessionModelSwitch: true,
|
|
71
|
-
supportsInSessionModeSwitch: true,
|
|
72
|
-
usesAcpConfig: true,
|
|
73
|
-
staticModels: [],
|
|
74
|
-
permissionModes: [],
|
|
75
|
-
defaultPermissionMode: '',
|
|
76
|
-
},
|
|
77
|
-
codex: {
|
|
78
|
-
controlLevel: 2,
|
|
79
|
-
supportsModel: true,
|
|
80
|
-
supportsSystemPrompt: false,
|
|
81
|
-
supportsToolConfig: false,
|
|
82
|
-
supportsMcpConfig: false,
|
|
83
|
-
supportsPermissionMode: true,
|
|
84
|
-
supportsResume: true,
|
|
85
|
-
supportsMaxTurns: false,
|
|
86
|
-
supportsSlashClear: true,
|
|
87
|
-
supportsSlashCompact: false,
|
|
88
|
-
supportsInSessionModelSwitch: true,
|
|
89
|
-
supportsInSessionModeSwitch: true,
|
|
90
|
-
usesAcpConfig: true,
|
|
91
|
-
staticModels: [],
|
|
92
|
-
permissionModes: [],
|
|
93
|
-
defaultPermissionMode: '',
|
|
94
|
-
},
|
|
95
|
-
gemini: {
|
|
96
|
-
controlLevel: 3,
|
|
97
|
-
supportsModel: true,
|
|
98
|
-
supportsSystemPrompt: false,
|
|
99
|
-
supportsToolConfig: false,
|
|
100
|
-
supportsMcpConfig: true,
|
|
101
|
-
supportsPermissionMode: false,
|
|
102
|
-
supportsResume: false,
|
|
103
|
-
supportsMaxTurns: false,
|
|
104
|
-
supportsSlashClear: true,
|
|
105
|
-
supportsSlashCompact: false,
|
|
106
|
-
supportsInSessionModelSwitch: false,
|
|
107
|
-
supportsInSessionModeSwitch: false,
|
|
108
|
-
usesAcpConfig: true,
|
|
109
|
-
staticModels: [],
|
|
110
|
-
permissionModes: [],
|
|
111
|
-
defaultPermissionMode: 'bypassPermissions',
|
|
112
|
-
},
|
|
113
|
-
hermes: {
|
|
114
|
-
controlLevel: 3,
|
|
115
|
-
supportsModel: true,
|
|
116
|
-
supportsSystemPrompt: false,
|
|
117
|
-
supportsToolConfig: false,
|
|
118
|
-
supportsMcpConfig: false,
|
|
119
|
-
supportsPermissionMode: false,
|
|
120
|
-
supportsResume: true,
|
|
121
|
-
supportsMaxTurns: false,
|
|
122
|
-
supportsSlashClear: true,
|
|
123
|
-
supportsSlashCompact: false,
|
|
124
|
-
supportsInSessionModelSwitch: false,
|
|
125
|
-
supportsInSessionModeSwitch: false,
|
|
126
|
-
usesAcpConfig: true,
|
|
127
|
-
staticModels: [],
|
|
128
|
-
permissionModes: [],
|
|
129
|
-
defaultPermissionMode: '',
|
|
130
|
-
},
|
|
131
|
-
openclaw: {
|
|
132
|
-
controlLevel: 3,
|
|
133
|
-
supportsModel: true,
|
|
134
|
-
supportsSystemPrompt: false,
|
|
135
|
-
supportsToolConfig: false,
|
|
136
|
-
supportsMcpConfig: false,
|
|
137
|
-
supportsPermissionMode: false,
|
|
138
|
-
supportsResume: false,
|
|
139
|
-
supportsMaxTurns: false,
|
|
140
|
-
supportsSlashClear: true,
|
|
141
|
-
supportsSlashCompact: false,
|
|
142
|
-
supportsInSessionModelSwitch: false,
|
|
143
|
-
supportsInSessionModeSwitch: false,
|
|
144
|
-
usesAcpConfig: true,
|
|
145
|
-
staticModels: [],
|
|
146
|
-
permissionModes: [],
|
|
147
|
-
defaultPermissionMode: '',
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
// ── Dynamic mode overrides (from ACP configOptions at runtime) ─────
|
|
151
|
-
let dynamicModes = {};
|
|
152
|
-
/** Update dynamic modes for an ACP agent (called by daemon when session reports modes). */
|
|
153
|
-
export function updateDynamicModes(agentType, modes) {
|
|
154
|
-
if (modes.length === 0)
|
|
155
|
-
return;
|
|
156
|
-
dynamicModes = {
|
|
157
|
-
...dynamicModes,
|
|
158
|
-
[agentType]: modes.map((m) => ({ value: m.id, labelKey: m.label })),
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
/** Get dynamic modes for an agent, or null if none reported. */
|
|
162
|
-
export function getDynamicModes(agentType) {
|
|
163
|
-
return dynamicModes[agentType] ?? null;
|
|
164
|
-
}
|
|
165
|
-
/** Get capability for an agent, falling back to minimal (Level 0) for unknown agents. */
|
|
166
|
-
export function getAgentCapability(agentType) {
|
|
167
|
-
return (AGENT_CAPABILITIES[agentType] ?? {
|
|
168
|
-
controlLevel: 0,
|
|
169
|
-
supportsModel: false,
|
|
170
|
-
supportsSystemPrompt: false,
|
|
171
|
-
supportsToolConfig: false,
|
|
172
|
-
supportsMcpConfig: false,
|
|
173
|
-
supportsPermissionMode: false,
|
|
174
|
-
supportsResume: false,
|
|
175
|
-
supportsMaxTurns: false,
|
|
176
|
-
supportsSlashClear: false,
|
|
177
|
-
supportsSlashCompact: false,
|
|
178
|
-
supportsInSessionModelSwitch: false,
|
|
179
|
-
supportsInSessionModeSwitch: false,
|
|
180
|
-
usesAcpConfig: false,
|
|
181
|
-
staticModels: [],
|
|
182
|
-
permissionModes: [],
|
|
183
|
-
defaultPermissionMode: 'default',
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Normalize a Claude model ID so that dot-separated versions (e.g. `claude-opus-4.6`)
|
|
188
|
-
* match the hyphen-separated form returned by the API (e.g. `claude-opus-4-6`).
|
|
189
|
-
*
|
|
190
|
-
* Safe to call on any string — non-Claude IDs pass through unchanged.
|
|
191
|
-
*/
|
|
192
|
-
export function normalizeModelId(id) {
|
|
193
|
-
return id.replace(/(\d+)\.(\d+)/g, '$1-$2');
|
|
194
|
-
}
|
|
195
|
-
//# sourceMappingURL=agentCapabilities.js.map
|
|
1
|
+
"use strict";const p=[{value:"default",labelKey:"permissionDefault"},{value:"acceptEdits",labelKey:"permissionAutoEdit"},{value:"auto",labelKey:"permissionAuto"},{value:"plan",labelKey:"permissionPlan"},{value:"bypassPermissions",labelKey:"permissionFullAuto"}],r=[{value:"sonnet",label:"Sonnet"},{value:"opus",label:"Opus"},{value:"haiku",label:"Haiku"}];export const AGENT_CAPABILITIES={claude:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!0,supportsToolConfig:!0,supportsMcpConfig:!0,supportsPermissionMode:!0,supportsResume:!0,supportsMaxTurns:!0,supportsSlashClear:!0,supportsSlashCompact:!0,supportsInSessionModelSwitch:!0,supportsInSessionModeSwitch:!0,usesAcpConfig:!1,staticModels:r,permissionModes:p,defaultPermissionMode:"default"},copilot:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!0,supportsMcpConfig:!0,supportsPermissionMode:!0,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!0,supportsInSessionModeSwitch:!0,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""},opencode:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!0,supportsToolConfig:!0,supportsMcpConfig:!0,supportsPermissionMode:!1,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!0,supportsInSessionModeSwitch:!0,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""},codex:{controlLevel:2,supportsModel:!0,supportsSystemPrompt:!0,supportsToolConfig:!1,supportsMcpConfig:!1,supportsPermissionMode:!0,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!0,supportsInSessionModelSwitch:!0,supportsInSessionModeSwitch:!0,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""},gemini:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!0,supportsPermissionMode:!1,supportsResume:!1,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!1,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:"bypassPermissions"},hermes:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!1,supportsPermissionMode:!1,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!1,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""},openclaw:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!1,supportsPermissionMode:!1,supportsResume:!1,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!1,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""}};let e={};export function updateDynamicModes(s,o){o.length!==0&&(e={...e,[s]:o.map(t=>({value:t.id,labelKey:t.label}))})}export function getDynamicModes(s){return e[s]??null}export function getAgentCapability(s){return AGENT_CAPABILITIES[s]??{controlLevel:0,supportsModel:!1,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!1,supportsPermissionMode:!1,supportsResume:!1,supportsMaxTurns:!1,supportsSlashClear:!1,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!1,usesAcpConfig:!1,staticModels:[],permissionModes:[],defaultPermissionMode:"default"}}export function normalizeModelId(s){return s.replace(/(\d+)\.(\d+)/g,"$1-$2")}
|
package/dist/agentCommonEnv.js
CHANGED
|
@@ -1,20 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Common environment variables for each agent.
|
|
3
|
-
*
|
|
4
|
-
* Only agents that use a single-provider API key are listed here.
|
|
5
|
-
* Multi-provider agents (opencode, hermes, openclaw) configure keys
|
|
6
|
-
* through their own config files, so they are intentionally omitted.
|
|
7
|
-
* Copilot authenticates via OAuth (`gh auth login`), not env vars.
|
|
8
|
-
*/
|
|
9
|
-
export const AGENT_COMMON_ENV_VARS = {
|
|
10
|
-
claude: [
|
|
11
|
-
{ key: 'ANTHROPIC_API_KEY', placeholder: 'sk-ant-...' },
|
|
12
|
-
{ key: 'ANTHROPIC_BASE_URL', placeholder: 'https://api.anthropic.com' },
|
|
13
|
-
],
|
|
14
|
-
codex: [
|
|
15
|
-
{ key: 'OPENAI_API_KEY', placeholder: 'sk-...' },
|
|
16
|
-
{ key: 'OPENAI_BASE_URL', placeholder: 'https://api.openai.com/v1' },
|
|
17
|
-
],
|
|
18
|
-
gemini: [{ key: 'GEMINI_API_KEY', placeholder: 'AIza...' }],
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=agentCommonEnv.js.map
|
|
1
|
+
"use strict";export const AGENT_COMMON_ENV_VARS={claude:[{key:"ANTHROPIC_API_KEY",placeholder:"sk-ant-..."},{key:"ANTHROPIC_BASE_URL",placeholder:"https://api.anthropic.com"}],codex:[{key:"OPENAI_API_KEY",placeholder:"sk-..."},{key:"OPENAI_BASE_URL",placeholder:"https://api.openai.com/v1"}],gemini:[{key:"GEMINI_API_KEY",placeholder:"AIza..."}]};
|
|
@@ -1,81 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Per-agent install instructions for the web UI.
|
|
3
|
-
*
|
|
4
|
-
* Display-only data — the actual gating logic lives in daemon's registry.
|
|
5
|
-
* Wire only has the strings so the web can render install/upgrade instructions.
|
|
6
|
-
*/
|
|
7
|
-
export const AGENT_INSTALL_GUIDE = {
|
|
8
|
-
claude: {
|
|
9
|
-
minVersion: '1.0.0',
|
|
10
|
-
install: {
|
|
11
|
-
darwin: 'curl -fsSL https://claude.ai/install.sh | bash',
|
|
12
|
-
linux: 'curl -fsSL https://claude.ai/install.sh | bash',
|
|
13
|
-
win32: 'irm https://claude.ai/install.ps1 | iex',
|
|
14
|
-
},
|
|
15
|
-
upgradeUrl: 'https://code.claude.com/docs/en/overview',
|
|
16
|
-
},
|
|
17
|
-
copilot: {
|
|
18
|
-
minVersion: '0.1.0',
|
|
19
|
-
install: {
|
|
20
|
-
darwin: 'curl -fsSL https://claude.ai/install.sh | bash # then: see https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli',
|
|
21
|
-
linux: 'curl -fsSL https://claude.ai/install.sh | bash # then: see https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli',
|
|
22
|
-
win32: 'irm https://claude.ai/install.ps1 | iex # then: see https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli',
|
|
23
|
-
},
|
|
24
|
-
upgradeUrl: 'https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli',
|
|
25
|
-
},
|
|
26
|
-
codex: {
|
|
27
|
-
minVersion: '0.43.0',
|
|
28
|
-
install: {
|
|
29
|
-
darwin: 'npm install -g @openai/codex',
|
|
30
|
-
linux: 'npm install -g @openai/codex',
|
|
31
|
-
win32: 'npm install -g @openai/codex',
|
|
32
|
-
},
|
|
33
|
-
upgradeUrl: 'https://github.com/openai/codex',
|
|
34
|
-
},
|
|
35
|
-
gemini: {
|
|
36
|
-
minVersion: '0.1.0',
|
|
37
|
-
install: {
|
|
38
|
-
darwin: 'npm install -g @google/gemini-cli',
|
|
39
|
-
linux: 'npm install -g @google/gemini-cli',
|
|
40
|
-
win32: 'npm install -g @google/gemini-cli',
|
|
41
|
-
},
|
|
42
|
-
upgradeUrl: 'https://github.com/google-gemini/gemini-cli',
|
|
43
|
-
},
|
|
44
|
-
opencode: {
|
|
45
|
-
minVersion: '0.1.0',
|
|
46
|
-
install: {
|
|
47
|
-
darwin: 'curl -fsSL https://opencode.ai/install | bash',
|
|
48
|
-
linux: 'curl -fsSL https://opencode.ai/install | bash',
|
|
49
|
-
win32: 'npm install -g opencode-ai',
|
|
50
|
-
},
|
|
51
|
-
upgradeUrl: 'https://opencode.ai',
|
|
52
|
-
},
|
|
53
|
-
hermes: {
|
|
54
|
-
minVersion: '0.1.0',
|
|
55
|
-
install: {
|
|
56
|
-
darwin: 'npm install -g hermes-agent',
|
|
57
|
-
linux: 'npm install -g hermes-agent',
|
|
58
|
-
win32: 'npm install -g hermes-agent',
|
|
59
|
-
},
|
|
60
|
-
upgradeUrl: '',
|
|
61
|
-
},
|
|
62
|
-
openclaw: {
|
|
63
|
-
minVersion: '2026.4.0',
|
|
64
|
-
install: {
|
|
65
|
-
darwin: 'npm install -g openclaw',
|
|
66
|
-
linux: 'npm install -g openclaw',
|
|
67
|
-
win32: 'npm install -g openclaw',
|
|
68
|
-
},
|
|
69
|
-
upgradeUrl: 'https://docs.openclaw.ai',
|
|
70
|
-
},
|
|
71
|
-
custom: {
|
|
72
|
-
minVersion: '0.0.0',
|
|
73
|
-
install: {
|
|
74
|
-
darwin: 'Install the custom agent CLI per its documentation',
|
|
75
|
-
linux: 'Install the custom agent CLI per its documentation',
|
|
76
|
-
win32: 'Install the custom agent CLI per its documentation',
|
|
77
|
-
},
|
|
78
|
-
upgradeUrl: '',
|
|
79
|
-
},
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=agentInstallGuide.js.map
|
|
1
|
+
"use strict";export const AGENT_INSTALL_GUIDE={claude:{minVersion:"1.0.0",install:{darwin:"curl -fsSL https://claude.ai/install.sh | bash",linux:"curl -fsSL https://claude.ai/install.sh | bash",win32:"irm https://claude.ai/install.ps1 | iex"},upgradeUrl:"https://code.claude.com/docs/en/overview"},copilot:{minVersion:"0.1.0",install:{darwin:"curl -fsSL https://claude.ai/install.sh | bash # then: see https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli",linux:"curl -fsSL https://claude.ai/install.sh | bash # then: see https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli",win32:"irm https://claude.ai/install.ps1 | iex # then: see https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli"},upgradeUrl:"https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli"},codex:{minVersion:"0.43.0",install:{darwin:"npm install -g @openai/codex",linux:"npm install -g @openai/codex",win32:"npm install -g @openai/codex"},upgradeUrl:"https://github.com/openai/codex"},gemini:{minVersion:"0.1.0",install:{darwin:"npm install -g @google/gemini-cli",linux:"npm install -g @google/gemini-cli",win32:"npm install -g @google/gemini-cli"},upgradeUrl:"https://github.com/google-gemini/gemini-cli"},opencode:{minVersion:"0.1.0",install:{darwin:"curl -fsSL https://opencode.ai/install | bash",linux:"curl -fsSL https://opencode.ai/install | bash",win32:"npm install -g opencode-ai"},upgradeUrl:"https://opencode.ai"},hermes:{minVersion:"0.1.0",install:{darwin:"npm install -g hermes-agent",linux:"npm install -g hermes-agent",win32:"npm install -g hermes-agent"},upgradeUrl:""},openclaw:{minVersion:"2026.4.0",install:{darwin:"npm install -g openclaw",linux:"npm install -g openclaw",win32:"npm install -g openclaw"},upgradeUrl:"https://docs.openclaw.ai"},custom:{minVersion:"0.0.0",install:{darwin:"Install the custom agent CLI per its documentation",linux:"Install the custom agent CLI per its documentation",win32:"Install the custom agent CLI per its documentation"},upgradeUrl:""}};
|
|
@@ -1,46 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
export const ROLLBACK_MODES = ['code', 'conversation', 'both'];
|
|
3
|
-
export const CheckpointListParamsSchema = z.object({
|
|
4
|
-
claudeSessionId: z.string().min(1),
|
|
5
|
-
});
|
|
6
|
-
export const CheckpointEntrySchema = z.object({
|
|
7
|
-
messageId: z.string(),
|
|
8
|
-
timestamp: z.string(),
|
|
9
|
-
trackedFileCount: z.number().int().nonnegative(),
|
|
10
|
-
sequence: z.number().int().nonnegative(),
|
|
11
|
-
});
|
|
12
|
-
export const CheckpointListResultSchema = z.object({
|
|
13
|
-
checkpoints: z.array(CheckpointEntrySchema),
|
|
14
|
-
});
|
|
15
|
-
export const CheckpointDiffParamsSchema = z.object({
|
|
16
|
-
claudeSessionId: z.string().min(1),
|
|
17
|
-
messageId: z.string().min(1),
|
|
18
|
-
});
|
|
19
|
-
export const FileDiffEntrySchema = z.object({
|
|
20
|
-
filePath: z.string(),
|
|
21
|
-
status: z.enum(['modified', 'deleted', 'created']),
|
|
22
|
-
currentSize: z.number().int().nonnegative(),
|
|
23
|
-
snapshotSize: z.number().int().nonnegative(),
|
|
24
|
-
});
|
|
25
|
-
export const CheckpointDiffResultSchema = z.object({
|
|
26
|
-
files: z.array(FileDiffEntrySchema),
|
|
27
|
-
hasExternalChanges: z.boolean(),
|
|
28
|
-
externallyModifiedFiles: z.array(z.string()),
|
|
29
|
-
});
|
|
30
|
-
export const CheckpointRollbackParamsSchema = z.object({
|
|
31
|
-
claudeSessionId: z.string().min(1),
|
|
32
|
-
messageId: z.string().min(1).optional(),
|
|
33
|
-
timestamp: z.string().optional(),
|
|
34
|
-
mode: z.enum(ROLLBACK_MODES).optional().default('code'),
|
|
35
|
-
force: z.boolean().optional().default(false),
|
|
36
|
-
});
|
|
37
|
-
export const CheckpointRollbackResultSchema = z.object({
|
|
38
|
-
restoredCount: z.number().int().nonnegative(),
|
|
39
|
-
deletedCount: z.number().int().nonnegative(),
|
|
40
|
-
skippedFiles: z.array(z.string()),
|
|
41
|
-
truncatedMessageCount: z.number().int().nonnegative().optional(),
|
|
42
|
-
pivotTimestamp: z.string().optional(),
|
|
43
|
-
pivotMessageUuid: z.string().optional(),
|
|
44
|
-
mode: z.enum(ROLLBACK_MODES).optional(),
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=checkpointSchemas.js.map
|
|
1
|
+
"use strict";import{z as e}from"zod";export const ROLLBACK_MODES=["code","conversation","both"],CheckpointListParamsSchema=e.object({claudeSessionId:e.string().min(1)}),CheckpointEntrySchema=e.object({messageId:e.string(),timestamp:e.string(),trackedFileCount:e.number().int().nonnegative(),sequence:e.number().int().nonnegative()}),CheckpointListResultSchema=e.object({checkpoints:e.array(CheckpointEntrySchema)}),CheckpointDiffParamsSchema=e.object({claudeSessionId:e.string().min(1),messageId:e.string().min(1)}),FileDiffEntrySchema=e.object({filePath:e.string(),status:e.enum(["modified","deleted","created"]),currentSize:e.number().int().nonnegative(),snapshotSize:e.number().int().nonnegative()}),CheckpointDiffResultSchema=e.object({files:e.array(FileDiffEntrySchema),hasExternalChanges:e.boolean(),externallyModifiedFiles:e.array(e.string())}),CheckpointRollbackParamsSchema=e.object({claudeSessionId:e.string().min(1),messageId:e.string().min(1).optional(),timestamp:e.string().optional(),mode:e.enum(ROLLBACK_MODES).optional().default("code"),force:e.boolean().optional().default(!1)}),CheckpointRollbackResultSchema=e.object({restoredCount:e.number().int().nonnegative(),deletedCount:e.number().int().nonnegative(),skippedFiles:e.array(e.string()),truncatedMessageCount:e.number().int().nonnegative().optional(),pivotTimestamp:e.string().optional(),pivotMessageUuid:e.string().optional(),mode:e.enum(ROLLBACK_MODES).optional()});
|
package/dist/controlLevel.js
CHANGED
|
@@ -1,11 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
/**
|
|
3
|
-
* Control depth level for CLI tools.
|
|
4
|
-
*
|
|
5
|
-
* Level 3: Full control — bidirectional ACP, per-tool permissions, resume (Claude Code, OpenCode)
|
|
6
|
-
* Level 2: High control — JSONL + resume + pre-configured permissions (Codex CLI)
|
|
7
|
-
* Level 1: Read-only monitoring — JSONL + no resume + binary permissions (Gemini, Qwen)
|
|
8
|
-
* Level 0: Minimal — plain text + no multi-turn (Aider, not recommended)
|
|
9
|
-
*/
|
|
10
|
-
export const ControlLevel = z.union([z.literal(3), z.literal(2), z.literal(1), z.literal(0)]);
|
|
11
|
-
//# sourceMappingURL=controlLevel.js.map
|
|
1
|
+
"use strict";import{z as l}from"zod";export const ControlLevel=l.union([l.literal(3),l.literal(2),l.literal(1),l.literal(0)]);
|
package/dist/edition.js
CHANGED
|
@@ -1,13 +1 @@
|
|
|
1
|
-
export const EDITIONS
|
|
2
|
-
export function getEdition() {
|
|
3
|
-
const raw = process.env['EDITION'] || 'personal';
|
|
4
|
-
const found = EDITIONS.find((e) => e === raw);
|
|
5
|
-
if (!found) {
|
|
6
|
-
throw new Error(`Invalid EDITION="${raw}". Must be one of: ${EDITIONS.join(', ')}`);
|
|
7
|
-
}
|
|
8
|
-
return found;
|
|
9
|
-
}
|
|
10
|
-
export function isEnterprise() {
|
|
11
|
-
return getEdition() === 'enterprise';
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=edition.js.map
|
|
1
|
+
"use strict";export const EDITIONS=["personal","enterprise"];export function getEdition(){const n=process.env.EDITION||"personal",e=EDITIONS.find(r=>r===n);if(!e)throw new Error(`Invalid EDITION="${n}". Must be one of: ${EDITIONS.join(", ")}`);return e}export function isEnterprise(){return getEdition()==="enterprise"}
|
package/dist/envelope.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Session envelope schema
|
|
2
|
+
* Session envelope schema.
|
|
3
3
|
*
|
|
4
4
|
* Wraps a SessionEvent with metadata (id, time, role, turn, subagent).
|
|
5
5
|
*/
|
|
@@ -19,13 +19,31 @@ export declare const SessionEnvelopeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
19
19
|
t: z.ZodLiteral<"text">;
|
|
20
20
|
text: z.ZodString;
|
|
21
21
|
thinking: z.ZodOptional<z.ZodBoolean>;
|
|
22
|
+
images: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
23
|
+
data: z.ZodString;
|
|
24
|
+
mediaType: z.ZodString;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
data: string;
|
|
27
|
+
mediaType: string;
|
|
28
|
+
}, {
|
|
29
|
+
data: string;
|
|
30
|
+
mediaType: string;
|
|
31
|
+
}>, "many">>;
|
|
22
32
|
}, "strip", z.ZodTypeAny, {
|
|
23
33
|
t: "text";
|
|
24
34
|
text: string;
|
|
35
|
+
images?: {
|
|
36
|
+
data: string;
|
|
37
|
+
mediaType: string;
|
|
38
|
+
}[] | undefined;
|
|
25
39
|
thinking?: boolean | undefined;
|
|
26
40
|
}, {
|
|
27
41
|
t: "text";
|
|
28
42
|
text: string;
|
|
43
|
+
images?: {
|
|
44
|
+
data: string;
|
|
45
|
+
mediaType: string;
|
|
46
|
+
}[] | undefined;
|
|
29
47
|
thinking?: boolean | undefined;
|
|
30
48
|
}>, z.ZodObject<{
|
|
31
49
|
t: z.ZodLiteral<"service">;
|
|
@@ -305,6 +323,10 @@ export declare const SessionEnvelopeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
305
323
|
} | {
|
|
306
324
|
t: "text";
|
|
307
325
|
text: string;
|
|
326
|
+
images?: {
|
|
327
|
+
data: string;
|
|
328
|
+
mediaType: string;
|
|
329
|
+
}[] | undefined;
|
|
308
330
|
thinking?: boolean | undefined;
|
|
309
331
|
} | {
|
|
310
332
|
t: "service";
|
|
@@ -390,6 +412,10 @@ export declare const SessionEnvelopeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
390
412
|
} | {
|
|
391
413
|
t: "text";
|
|
392
414
|
text: string;
|
|
415
|
+
images?: {
|
|
416
|
+
data: string;
|
|
417
|
+
mediaType: string;
|
|
418
|
+
}[] | undefined;
|
|
393
419
|
thinking?: boolean | undefined;
|
|
394
420
|
} | {
|
|
395
421
|
t: "service";
|
|
@@ -475,6 +501,10 @@ export declare const SessionEnvelopeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
475
501
|
} | {
|
|
476
502
|
t: "text";
|
|
477
503
|
text: string;
|
|
504
|
+
images?: {
|
|
505
|
+
data: string;
|
|
506
|
+
mediaType: string;
|
|
507
|
+
}[] | undefined;
|
|
478
508
|
thinking?: boolean | undefined;
|
|
479
509
|
} | {
|
|
480
510
|
t: "service";
|
|
@@ -560,6 +590,10 @@ export declare const SessionEnvelopeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
560
590
|
} | {
|
|
561
591
|
t: "text";
|
|
562
592
|
text: string;
|
|
593
|
+
images?: {
|
|
594
|
+
data: string;
|
|
595
|
+
mediaType: string;
|
|
596
|
+
}[] | undefined;
|
|
563
597
|
thinking?: boolean | undefined;
|
|
564
598
|
} | {
|
|
565
599
|
t: "service";
|
package/dist/envelope.js
CHANGED
|
@@ -1,78 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Session envelope schema — aligned with Happy sessionProtocol.
|
|
3
|
-
*
|
|
4
|
-
* Wraps a SessionEvent with metadata (id, time, role, turn, subagent).
|
|
5
|
-
*/
|
|
6
|
-
import { z } from 'zod';
|
|
7
|
-
import { isCuid } from '@paralleldrive/cuid2';
|
|
8
|
-
import { createId } from './utils.js';
|
|
9
|
-
import { SessionEventSchema } from './events.js';
|
|
10
|
-
export const SessionRoleSchema = z.enum(['user', 'agent']);
|
|
11
|
-
export const SessionEnvelopeSchema = z
|
|
12
|
-
.object({
|
|
13
|
-
id: z.string(),
|
|
14
|
-
time: z.number(),
|
|
15
|
-
role: SessionRoleSchema,
|
|
16
|
-
turn: z.string().optional(),
|
|
17
|
-
subagent: z
|
|
18
|
-
.string()
|
|
19
|
-
.refine((value) => isCuid(value), { message: 'subagent must be a cuid2 value' })
|
|
20
|
-
.optional(),
|
|
21
|
-
/** Claude CLI message UUID — used for precise conversation rollback. */
|
|
22
|
-
messageUuid: z.string().optional(),
|
|
23
|
-
ev: SessionEventSchema,
|
|
24
|
-
})
|
|
25
|
-
.superRefine((envelope, ctx) => {
|
|
26
|
-
if (envelope.ev.t === 'service' && envelope.role !== 'agent') {
|
|
27
|
-
ctx.addIssue({
|
|
28
|
-
code: z.ZodIssueCode.custom,
|
|
29
|
-
message: 'service events must use role "agent"',
|
|
30
|
-
path: ['role'],
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
if ((envelope.ev.t === 'start' || envelope.ev.t === 'stop') && envelope.role !== 'agent') {
|
|
34
|
-
ctx.addIssue({
|
|
35
|
-
code: z.ZodIssueCode.custom,
|
|
36
|
-
message: `${envelope.ev.t} events must use role "agent"`,
|
|
37
|
-
path: ['role'],
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
if ((envelope.ev.t === 'question' || envelope.ev.t === 'permission-request') &&
|
|
41
|
-
envelope.role !== 'agent') {
|
|
42
|
-
ctx.addIssue({
|
|
43
|
-
code: z.ZodIssueCode.custom,
|
|
44
|
-
message: `${envelope.ev.t} events must use role "agent"`,
|
|
45
|
-
path: ['role'],
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
if (envelope.ev.t === 'answer' && envelope.role !== 'user') {
|
|
49
|
-
ctx.addIssue({
|
|
50
|
-
code: z.ZodIssueCode.custom,
|
|
51
|
-
message: 'answer events must use role "user"',
|
|
52
|
-
path: ['role'],
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
/**
|
|
57
|
-
* Create a SessionEnvelope by direct construction (hot path).
|
|
58
|
-
*
|
|
59
|
-
* Skips Zod `.parse()` for performance — the discriminated union with
|
|
60
|
-
* 14 variants + 4 superRefine checks is expensive on every streaming token.
|
|
61
|
-
* Validation still happens at ingress boundaries (server API handlers).
|
|
62
|
-
*/
|
|
63
|
-
export function createEnvelope(role, ev, opts = {}) {
|
|
64
|
-
const envelope = {
|
|
65
|
-
id: opts.id ?? createId(),
|
|
66
|
-
time: opts.time ?? Date.now(),
|
|
67
|
-
role,
|
|
68
|
-
ev,
|
|
69
|
-
};
|
|
70
|
-
if (opts.turn)
|
|
71
|
-
envelope.turn = opts.turn;
|
|
72
|
-
if (opts.subagent)
|
|
73
|
-
envelope.subagent = opts.subagent;
|
|
74
|
-
if (opts.messageUuid)
|
|
75
|
-
envelope.messageUuid = opts.messageUuid;
|
|
76
|
-
return envelope;
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=envelope.js.map
|
|
1
|
+
"use strict";import{z as s}from"zod";import{isCuid as o}from"@paralleldrive/cuid2";import{createId as a}from"./utils.js";import{SessionEventSchema as i}from"./events.js";export const SessionRoleSchema=s.enum(["user","agent"]),SessionEnvelopeSchema=s.object({id:s.string(),time:s.number(),role:SessionRoleSchema,turn:s.string().optional(),subagent:s.string().refine(e=>o(e),{message:"subagent must be a cuid2 value"}).optional(),messageUuid:s.string().optional(),ev:i}).superRefine((e,r)=>{e.ev.t==="service"&&e.role!=="agent"&&r.addIssue({code:s.ZodIssueCode.custom,message:'service events must use role "agent"',path:["role"]}),(e.ev.t==="start"||e.ev.t==="stop")&&e.role!=="agent"&&r.addIssue({code:s.ZodIssueCode.custom,message:`${e.ev.t} events must use role "agent"`,path:["role"]}),(e.ev.t==="question"||e.ev.t==="permission-request")&&e.role!=="agent"&&r.addIssue({code:s.ZodIssueCode.custom,message:`${e.ev.t} events must use role "agent"`,path:["role"]}),e.ev.t==="answer"&&e.role!=="user"&&r.addIssue({code:s.ZodIssueCode.custom,message:'answer events must use role "user"',path:["role"]})});export function createEnvelope(e,r,t={}){const u={id:t.id??a(),time:t.time??Date.now(),role:e,ev:r};return t.turn&&(u.turn=t.turn),t.subagent&&(u.subagent=t.subagent),t.messageUuid&&(u.messageUuid=t.messageUuid),u}
|
package/dist/errorMessage.js
CHANGED
package/dist/events.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Session event schemas
|
|
2
|
+
* Session event schemas.
|
|
3
3
|
*
|
|
4
4
|
* Event types: text, service, tool-call-start, tool-call-end,
|
|
5
5
|
* file, turn-start, turn-end, start, stop.
|
|
@@ -9,13 +9,31 @@ export declare const SessionTextEventSchema: z.ZodObject<{
|
|
|
9
9
|
t: z.ZodLiteral<"text">;
|
|
10
10
|
text: z.ZodString;
|
|
11
11
|
thinking: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
+
images: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13
|
+
data: z.ZodString;
|
|
14
|
+
mediaType: z.ZodString;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
data: string;
|
|
17
|
+
mediaType: string;
|
|
18
|
+
}, {
|
|
19
|
+
data: string;
|
|
20
|
+
mediaType: string;
|
|
21
|
+
}>, "many">>;
|
|
12
22
|
}, "strip", z.ZodTypeAny, {
|
|
13
23
|
t: "text";
|
|
14
24
|
text: string;
|
|
25
|
+
images?: {
|
|
26
|
+
data: string;
|
|
27
|
+
mediaType: string;
|
|
28
|
+
}[] | undefined;
|
|
15
29
|
thinking?: boolean | undefined;
|
|
16
30
|
}, {
|
|
17
31
|
t: "text";
|
|
18
32
|
text: string;
|
|
33
|
+
images?: {
|
|
34
|
+
data: string;
|
|
35
|
+
mediaType: string;
|
|
36
|
+
}[] | undefined;
|
|
19
37
|
thinking?: boolean | undefined;
|
|
20
38
|
}>;
|
|
21
39
|
export declare const SessionServiceEventSchema: z.ZodObject<{
|
|
@@ -212,13 +230,31 @@ export declare const SessionEventSchema: z.ZodDiscriminatedUnion<"t", [z.ZodObje
|
|
|
212
230
|
t: z.ZodLiteral<"text">;
|
|
213
231
|
text: z.ZodString;
|
|
214
232
|
thinking: z.ZodOptional<z.ZodBoolean>;
|
|
233
|
+
images: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
234
|
+
data: z.ZodString;
|
|
235
|
+
mediaType: z.ZodString;
|
|
236
|
+
}, "strip", z.ZodTypeAny, {
|
|
237
|
+
data: string;
|
|
238
|
+
mediaType: string;
|
|
239
|
+
}, {
|
|
240
|
+
data: string;
|
|
241
|
+
mediaType: string;
|
|
242
|
+
}>, "many">>;
|
|
215
243
|
}, "strip", z.ZodTypeAny, {
|
|
216
244
|
t: "text";
|
|
217
245
|
text: string;
|
|
246
|
+
images?: {
|
|
247
|
+
data: string;
|
|
248
|
+
mediaType: string;
|
|
249
|
+
}[] | undefined;
|
|
218
250
|
thinking?: boolean | undefined;
|
|
219
251
|
}, {
|
|
220
252
|
t: "text";
|
|
221
253
|
text: string;
|
|
254
|
+
images?: {
|
|
255
|
+
data: string;
|
|
256
|
+
mediaType: string;
|
|
257
|
+
}[] | undefined;
|
|
222
258
|
thinking?: boolean | undefined;
|
|
223
259
|
}>, z.ZodObject<{
|
|
224
260
|
t: z.ZodLiteral<"service">;
|