@agentdock/wire 0.0.44 → 0.0.46
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/dist/agentCapabilities.d.ts.map +1 -0
- package/dist/agentCapabilities.js +195 -1
- package/dist/agentCapabilities.js.map +1 -0
- package/dist/agentCommonEnv.d.ts.map +1 -0
- package/dist/agentCommonEnv.js +20 -1
- package/dist/agentCommonEnv.js.map +1 -0
- package/dist/agentInstallGuide.d.ts.map +1 -0
- package/dist/agentInstallGuide.js +81 -1
- package/dist/agentInstallGuide.js.map +1 -0
- package/dist/checkpointSchemas.d.ts.map +1 -0
- package/dist/checkpointSchemas.js +46 -1
- package/dist/checkpointSchemas.js.map +1 -0
- package/dist/controlLevel.d.ts.map +1 -0
- package/dist/controlLevel.js +11 -1
- package/dist/controlLevel.js.map +1 -0
- package/dist/edition.d.ts.map +1 -0
- package/dist/edition.js +13 -1
- package/dist/edition.js.map +1 -0
- package/dist/envelope.d.ts.map +1 -0
- package/dist/envelope.js +78 -1
- package/dist/envelope.js.map +1 -0
- package/dist/errorMessage.d.ts.map +1 -0
- package/dist/errorMessage.js +6 -1
- package/dist/errorMessage.js.map +1 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +97 -1
- package/dist/events.js.map +1 -0
- package/dist/features.d.ts.map +1 -0
- package/dist/features.js +112 -1
- package/dist/features.js.map +1 -0
- package/dist/feedback.d.ts.map +1 -0
- package/dist/feedback.js +26 -1
- package/dist/feedback.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +64 -1
- package/dist/index.js.map +1 -0
- package/dist/interactionEvents.d.ts.map +1 -0
- package/dist/interactionEvents.js +108 -1
- package/dist/interactionEvents.js.map +1 -0
- package/dist/legacyProtocol.d.ts.map +1 -0
- package/dist/legacyProtocol.js +30 -1
- package/dist/legacyProtocol.js.map +1 -0
- package/dist/license.d.ts.map +1 -0
- package/dist/license.js +17 -1
- package/dist/license.js.map +1 -0
- package/dist/machine.d.ts.map +1 -0
- package/dist/machine.js +56 -1
- package/dist/machine.js.map +1 -0
- package/dist/messageMeta.d.ts.map +1 -0
- package/dist/messageMeta.js +60 -1
- package/dist/messageMeta.js.map +1 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +35 -1
- package/dist/messages.js.map +1 -0
- package/dist/ops.d.ts.map +1 -0
- package/dist/ops.js +74 -1
- package/dist/ops.js.map +1 -0
- package/dist/pairing.d.ts.map +1 -0
- package/dist/pairing.js +115 -1
- package/dist/pairing.js.map +1 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +7 -1
- package/dist/protocol.js.map +1 -0
- package/dist/rpc.d.ts +64 -3
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +246 -1
- package/dist/rpc.js.map +1 -0
- package/dist/scheduledTasks.d.ts.map +1 -0
- package/dist/scheduledTasks.js +81 -1
- package/dist/scheduledTasks.js.map +1 -0
- package/dist/semver.d.ts.map +1 -0
- package/dist/semver.js +60 -1
- package/dist/semver.js.map +1 -0
- package/dist/sessionResult.d.ts.map +1 -0
- package/dist/sessionResult.js +23 -1
- package/dist/sessionResult.js.map +1 -0
- package/dist/socketEvents.d.ts.map +1 -0
- package/dist/socketEvents.js +44 -1
- package/dist/socketEvents.js.map +1 -0
- package/dist/spawnError.d.ts.map +1 -0
- package/dist/spawnError.js +31 -1
- package/dist/spawnError.js.map +1 -0
- package/dist/stats.d.ts +74 -74
- package/dist/stats.d.ts.map +1 -0
- package/dist/stats.js +126 -1
- package/dist/stats.js.map +1 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +78 -1
- package/dist/sync.js.map +1 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +80 -1
- package/dist/telemetry.js.map +1 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +2 -1
- package/dist/utils.js.map +1 -0
- package/package.json +1 -1
package/dist/rpc.js
CHANGED
|
@@ -1 +1,246 @@
|
|
|
1
|
-
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { SessionMessageSchema } from './messages.js';
|
|
3
|
+
import { CLI_AGENT_TYPES, SPAWNABLE_AGENTS } from './messageMeta.js';
|
|
4
|
+
import { PermissionModeSchema } from './interactionEvents.js';
|
|
5
|
+
export const RpcMethod = z.enum([
|
|
6
|
+
'spawn-session',
|
|
7
|
+
'stop-session',
|
|
8
|
+
'list-sessions',
|
|
9
|
+
'abort',
|
|
10
|
+
'switch-mode',
|
|
11
|
+
'approve-permission',
|
|
12
|
+
'deny-permission',
|
|
13
|
+
'answer-question',
|
|
14
|
+
'shutdown-daemon',
|
|
15
|
+
'get-messages',
|
|
16
|
+
'get-stats',
|
|
17
|
+
'get-team-stats',
|
|
18
|
+
'start-invite',
|
|
19
|
+
'get-machine-info',
|
|
20
|
+
'get-agent-settings',
|
|
21
|
+
'set-agent-settings',
|
|
22
|
+
'get-labs-settings',
|
|
23
|
+
'set-labs-settings',
|
|
24
|
+
'check-path',
|
|
25
|
+
'backfill-history-session',
|
|
26
|
+
'trigger-upgrade',
|
|
27
|
+
'checkpoint-list',
|
|
28
|
+
'checkpoint-diff',
|
|
29
|
+
'checkpoint-rollback',
|
|
30
|
+
'refresh-enterprise-models',
|
|
31
|
+
]);
|
|
32
|
+
/**
|
|
33
|
+
* Session-scoped RPC methods — registered by `agentdock start` (CLI process).
|
|
34
|
+
* These operate on a specific session and require the CLI to be running.
|
|
35
|
+
*/
|
|
36
|
+
export const SESSION_RPC_METHODS = [
|
|
37
|
+
'answer-question',
|
|
38
|
+
'approve-permission',
|
|
39
|
+
'deny-permission',
|
|
40
|
+
'abort',
|
|
41
|
+
'stop-session',
|
|
42
|
+
];
|
|
43
|
+
/**
|
|
44
|
+
* Machine-scoped RPC methods — registered by the persistent daemon only.
|
|
45
|
+
* These are account/machine-level operations independent of any session.
|
|
46
|
+
*/
|
|
47
|
+
export const MACHINE_RPC_METHODS = [
|
|
48
|
+
'start-invite',
|
|
49
|
+
'get-machine-info',
|
|
50
|
+
'get-agent-settings',
|
|
51
|
+
'set-agent-settings',
|
|
52
|
+
'get-labs-settings',
|
|
53
|
+
'set-labs-settings',
|
|
54
|
+
'check-path',
|
|
55
|
+
'backfill-history-session',
|
|
56
|
+
'trigger-upgrade',
|
|
57
|
+
'checkpoint-list',
|
|
58
|
+
'checkpoint-diff',
|
|
59
|
+
'checkpoint-rollback',
|
|
60
|
+
'refresh-enterprise-models',
|
|
61
|
+
];
|
|
62
|
+
/**
|
|
63
|
+
* All RPC methods that must be registered for Web UI to function.
|
|
64
|
+
* Daemon registers MACHINE_RPC_METHODS; CLI registers SESSION_RPC_METHODS.
|
|
65
|
+
*
|
|
66
|
+
* @deprecated Use SESSION_RPC_METHODS or MACHINE_RPC_METHODS directly.
|
|
67
|
+
*/
|
|
68
|
+
export const DAEMON_REQUIRED_RPC_METHODS = [
|
|
69
|
+
...SESSION_RPC_METHODS,
|
|
70
|
+
...MACHINE_RPC_METHODS,
|
|
71
|
+
];
|
|
72
|
+
export const RpcCallSchema = z.object({
|
|
73
|
+
method: z.string().min(1),
|
|
74
|
+
params: z.unknown(),
|
|
75
|
+
timeout: z.number().int().positive().default(30000),
|
|
76
|
+
});
|
|
77
|
+
export const RpcResultSchema = z.discriminatedUnion('ok', [
|
|
78
|
+
z.object({ ok: z.literal(true), result: z.unknown() }),
|
|
79
|
+
z.object({ ok: z.literal(false), error: z.string() }),
|
|
80
|
+
]);
|
|
81
|
+
export const SpawnSessionParamsSchema = z.object({
|
|
82
|
+
agentType: z.enum(CLI_AGENT_TYPES),
|
|
83
|
+
cwd: z.string().min(1),
|
|
84
|
+
prompt: z.string().optional(),
|
|
85
|
+
permissionMode: PermissionModeSchema.default('default'),
|
|
86
|
+
env: z.record(z.string()).optional(),
|
|
87
|
+
model: z.string().optional(),
|
|
88
|
+
baseUrl: z.string().url().optional(),
|
|
89
|
+
/** System prompt text appended to the agent's built-in system prompt. */
|
|
90
|
+
appendSystemPrompt: z.string().optional(),
|
|
91
|
+
/** Restrict agent to only these tools (Claude CLI --allowedTools). */
|
|
92
|
+
allowedTools: z.array(z.string()).optional(),
|
|
93
|
+
/** Deny agent from using these tools (Claude CLI --disallowedTools). */
|
|
94
|
+
disallowedTools: z.array(z.string()).optional(),
|
|
95
|
+
/** MCP server config JSON string (Claude CLI --mcp-config). */
|
|
96
|
+
mcpConfig: z.string().optional(),
|
|
97
|
+
/** Resume a previous session by ID (Claude CLI --resume). */
|
|
98
|
+
resumeSessionId: z.string().optional(),
|
|
99
|
+
/** Server session ID to reuse (skip creating new session on resume). */
|
|
100
|
+
serverSessionId: z.string().optional(),
|
|
101
|
+
/** Maximum conversation turns before auto-stop (Claude CLI --max-turns). */
|
|
102
|
+
maxTurns: z.number().int().positive().optional(),
|
|
103
|
+
/** Target machine for multi-host routing. Omit for single-machine (auto-select). */
|
|
104
|
+
machineId: z.string().min(1).optional(),
|
|
105
|
+
// ── Claude CLI extended parameters ──────────────────────────────────
|
|
106
|
+
/** Replace the default system prompt entirely (Claude CLI --system-prompt). */
|
|
107
|
+
systemPrompt: z.string().optional(),
|
|
108
|
+
/** Load system prompt from a file path (Claude CLI --system-prompt-file). */
|
|
109
|
+
systemPromptFile: z.string().optional(),
|
|
110
|
+
/** Load append system prompt from a file path (Claude CLI --append-system-prompt-file). */
|
|
111
|
+
appendSystemPromptFile: z.string().optional(),
|
|
112
|
+
/** Fallback model when primary is overloaded (Claude CLI --fallback-model). */
|
|
113
|
+
fallbackModel: z.string().optional(),
|
|
114
|
+
/** Maximum dollar amount for API calls (Claude CLI --max-budget-usd). */
|
|
115
|
+
maxBudgetUsd: z.number().positive().optional(),
|
|
116
|
+
/** Specify available tools from the built-in set (Claude CLI --tools). */
|
|
117
|
+
tools: z.array(z.string()).optional(),
|
|
118
|
+
/** Reasoning effort level (Claude CLI --effort). */
|
|
119
|
+
effort: z.enum(['low', 'medium', 'high', 'xhigh', 'max']).optional(),
|
|
120
|
+
/** Additional directories to allow tool access to (Claude CLI --add-dir). */
|
|
121
|
+
addDirs: z.array(z.string()).optional(),
|
|
122
|
+
/** Agent for the session (Claude CLI --agent). */
|
|
123
|
+
agent: z.string().optional(),
|
|
124
|
+
/** JSON object defining custom agents (Claude CLI --agents). */
|
|
125
|
+
agents: z.string().optional(),
|
|
126
|
+
/** JSON Schema for structured output validation (Claude CLI --json-schema). */
|
|
127
|
+
jsonSchema: z.string().optional(),
|
|
128
|
+
/** Only use MCP servers from --mcp-config (Claude CLI --strict-mcp-config). */
|
|
129
|
+
strictMcpConfig: z.boolean().optional(),
|
|
130
|
+
/** Enable Chrome integration (Claude CLI --chrome / --no-chrome). */
|
|
131
|
+
chrome: z.boolean().optional(),
|
|
132
|
+
/** Create a git worktree for the session (Claude CLI --worktree). */
|
|
133
|
+
worktree: z.union([z.boolean(), z.string()]).optional(),
|
|
134
|
+
/** Create a new session ID when resuming (Claude CLI --fork-session). */
|
|
135
|
+
forkSession: z.boolean().optional(),
|
|
136
|
+
/** Use a specific session UUID (Claude CLI --session-id). */
|
|
137
|
+
sessionId: z.string().uuid().optional(),
|
|
138
|
+
/** Path to settings file or JSON string (Claude CLI --settings). */
|
|
139
|
+
settings: z.string().optional(),
|
|
140
|
+
/** Beta headers for API requests (Claude CLI --betas). */
|
|
141
|
+
betas: z.array(z.string()).optional(),
|
|
142
|
+
/** Enable brief mode with SendUserMessage tool (Claude CLI --brief). */
|
|
143
|
+
brief: z.boolean().optional(),
|
|
144
|
+
/** Disable session persistence (Claude CLI --no-session-persistence). */
|
|
145
|
+
noSessionPersistence: z.boolean().optional(),
|
|
146
|
+
/** Include partial message chunks (Claude CLI --include-partial-messages). */
|
|
147
|
+
includePartialMessages: z.boolean().optional(),
|
|
148
|
+
/** Re-emit user messages for acknowledgment (Claude CLI --replay-user-messages). */
|
|
149
|
+
replayUserMessages: z.boolean().optional(),
|
|
150
|
+
/** Comma-separated setting sources (Claude CLI --setting-sources). */
|
|
151
|
+
settingSources: z.string().optional(),
|
|
152
|
+
/** Disable all skills/slash commands (Claude CLI --disable-slash-commands). */
|
|
153
|
+
disableSlashCommands: z.boolean().optional(),
|
|
154
|
+
/** File resources to download at startup (Claude CLI --file). */
|
|
155
|
+
files: z.array(z.string()).optional(),
|
|
156
|
+
/** Load plugins from directories (Claude CLI --plugin-dir). */
|
|
157
|
+
pluginDirs: z.array(z.string()).optional(),
|
|
158
|
+
/** Bypass all permission checks (Claude CLI --dangerously-skip-permissions). */
|
|
159
|
+
dangerouslySkipPermissions: z.boolean().optional(),
|
|
160
|
+
/** Enable bypass option without auto-enabling (Claude CLI --allow-dangerously-skip-permissions). */
|
|
161
|
+
allowDangerouslySkipPermissions: z.boolean().optional(),
|
|
162
|
+
/** Shell commands to execute before agent starts (same shell, && chained). */
|
|
163
|
+
startupScripts: z.array(z.string()).optional(),
|
|
164
|
+
/** Session source — 'managed' (default), 'history' (scanner), 'scheduled' (cron). */
|
|
165
|
+
source: z.enum(['managed', 'history', 'scheduled']).default('managed'),
|
|
166
|
+
/** Run in background without a terminal window. Used by scheduled tasks. */
|
|
167
|
+
background: z.boolean().default(false),
|
|
168
|
+
});
|
|
169
|
+
// ── Get Messages (session history sync) ─────────────────────────────
|
|
170
|
+
export const GetMessagesParamsSchema = z.object({
|
|
171
|
+
sessionId: z.string().min(1),
|
|
172
|
+
fromSeq: z.number().int().nonnegative().optional(),
|
|
173
|
+
limit: z.number().int().positive().default(100),
|
|
174
|
+
});
|
|
175
|
+
export const GetMessagesResponseSchema = z.object({
|
|
176
|
+
messages: z.array(SessionMessageSchema),
|
|
177
|
+
total: z.number(),
|
|
178
|
+
hasMore: z.boolean(),
|
|
179
|
+
});
|
|
180
|
+
// ── Custom Model (user-defined) ─────────────────────────────────────
|
|
181
|
+
export const CustomModelSchema = z.object({
|
|
182
|
+
id: z.string().min(1),
|
|
183
|
+
label: z.string().min(1),
|
|
184
|
+
});
|
|
185
|
+
// ── Skill Definition (Provider Skills) ──────────────────────────────
|
|
186
|
+
export const SkillDefinitionSchema = z.object({
|
|
187
|
+
name: z.string().min(1),
|
|
188
|
+
description: z.string(),
|
|
189
|
+
/** If false, the skill is internal-only and should not appear in the menu. */
|
|
190
|
+
userInvocable: z.boolean().default(true),
|
|
191
|
+
/** Source: 'project' (.claude/skills/) or 'user' (~/.claude/skills/). */
|
|
192
|
+
source: z.enum(['project', 'user']).default('project'),
|
|
193
|
+
/** Project root directory for project-level skills. Undefined for user-level skills. */
|
|
194
|
+
projectPath: z.string().optional(),
|
|
195
|
+
});
|
|
196
|
+
// ── Agent Settings (proxy + env per agent) ──────────────────────────
|
|
197
|
+
export const AGENT_ENV_NONE = 'none';
|
|
198
|
+
export const AgentEnvConfigSchema = z.object({
|
|
199
|
+
httpProxy: z.string().optional(),
|
|
200
|
+
httpsProxy: z.string().optional(),
|
|
201
|
+
customEnv: z.record(z.string()).optional(),
|
|
202
|
+
customModels: z.array(CustomModelSchema).optional(),
|
|
203
|
+
});
|
|
204
|
+
export const AgentSettingsSchema = z
|
|
205
|
+
.object({
|
|
206
|
+
defaults: AgentEnvConfigSchema.optional(),
|
|
207
|
+
startupScripts: z.array(z.string()).optional(),
|
|
208
|
+
telemetryEnabled: z.boolean().optional(),
|
|
209
|
+
})
|
|
210
|
+
.merge(z.object(Object.fromEntries(SPAWNABLE_AGENTS.map((a) => [a, AgentEnvConfigSchema.optional()]))));
|
|
211
|
+
// ── Get Machine Info (daemon environment) ───────────────────────────
|
|
212
|
+
export const MachineInfoResponseSchema = z.object({
|
|
213
|
+
homedir: z.string(),
|
|
214
|
+
defaultCwd: z.string().optional(),
|
|
215
|
+
recentCwds: z.array(z.string()),
|
|
216
|
+
/** All known project directories from ~/.claude/projects/ scan. */
|
|
217
|
+
projectPaths: z.array(z.string()).optional().default([]),
|
|
218
|
+
availableAgents: z.array(z.string()),
|
|
219
|
+
agentModels: z
|
|
220
|
+
.record(z.string(), z.array(z.object({
|
|
221
|
+
id: z.string(),
|
|
222
|
+
displayName: z.string(),
|
|
223
|
+
isDefault: z.boolean(),
|
|
224
|
+
hidden: z.boolean(),
|
|
225
|
+
})))
|
|
226
|
+
.optional(),
|
|
227
|
+
agentModes: z
|
|
228
|
+
.record(z.string(), z.array(z.object({ id: z.string(), label: z.string() })))
|
|
229
|
+
.optional(),
|
|
230
|
+
agentSettings: AgentSettingsSchema.optional(),
|
|
231
|
+
/** Agent skills discovered from filesystem provider directories.
|
|
232
|
+
* Keyed by agent type (e.g. 'claude'). */
|
|
233
|
+
agentSkills: z.record(z.string(), z.array(SkillDefinitionSchema)).optional(),
|
|
234
|
+
});
|
|
235
|
+
// ── Check Path (validate cwd on target machine) ────────────────────
|
|
236
|
+
export const CheckPathParamsSchema = z.object({
|
|
237
|
+
cwd: z.string().min(1),
|
|
238
|
+
/** Target machine for multi-host routing. Omit for single-machine (auto-select). */
|
|
239
|
+
machineId: z.string().min(1).optional(),
|
|
240
|
+
});
|
|
241
|
+
// ── Labs Settings (experimental features) ───────────────────────────
|
|
242
|
+
export const LabsSettingsSchema = z.object({
|
|
243
|
+
/** Enable discovery and sync of CLI history sessions (experimental). */
|
|
244
|
+
historySessionSync: z.boolean().default(false),
|
|
245
|
+
});
|
|
246
|
+
//# sourceMappingURL=rpc.js.map
|
package/dist/rpc.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduledTasks.d.ts","sourceRoot":"","sources":["../src/scheduledTasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB,iCAA+B,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAenC,CAAC;AAEL,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,yBAAyB,0FAQpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,0BAA0B,oCAAkC,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAI9E,eAAO,MAAM,OAAO,QAAkE,CAAC;AAGvF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
package/dist/scheduledTasks.js
CHANGED
|
@@ -1 +1,81 @@
|
|
|
1
|
-
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { SpawnSessionParamsSchema } from './rpc.js';
|
|
3
|
+
// Derived from source schema via .pick() — no independent definition
|
|
4
|
+
// Extended with scheduler-only config fields (no migration needed, stored in spawnParams JSON).
|
|
5
|
+
export const RetryPolicySchema = z.object({
|
|
6
|
+
maxRetries: z.number().int().min(0).max(10).default(0),
|
|
7
|
+
retryDelayMs: z.number().int().min(1000).max(300000).default(60000),
|
|
8
|
+
});
|
|
9
|
+
export const MissedRunPolicySchema = z.enum(['skip', 'run-once']);
|
|
10
|
+
export const ScheduledSpawnParamsSchema = SpawnSessionParamsSchema.pick({
|
|
11
|
+
agentType: true,
|
|
12
|
+
cwd: true,
|
|
13
|
+
prompt: true,
|
|
14
|
+
model: true,
|
|
15
|
+
agent: true,
|
|
16
|
+
startupScripts: true,
|
|
17
|
+
})
|
|
18
|
+
.partial()
|
|
19
|
+
.required({ prompt: true })
|
|
20
|
+
.extend({
|
|
21
|
+
maxExecutionMs: z.number().int().positive().max(21600000).optional(),
|
|
22
|
+
retryPolicy: RetryPolicySchema.optional(),
|
|
23
|
+
missedRunPolicy: MissedRunPolicySchema.optional(),
|
|
24
|
+
circuitBreakerThreshold: z.number().int().min(1).max(20).optional(),
|
|
25
|
+
});
|
|
26
|
+
export const TaskExecutionStatusSchema = z.enum([
|
|
27
|
+
'pending',
|
|
28
|
+
'running',
|
|
29
|
+
'completed',
|
|
30
|
+
'failed',
|
|
31
|
+
'lost',
|
|
32
|
+
'skipped',
|
|
33
|
+
'cancelled',
|
|
34
|
+
]);
|
|
35
|
+
export const TaskExecutionTriggerSchema = z.enum(['scheduled', 'manual']);
|
|
36
|
+
// Basic 5-field cron format validation (each field: digits, *, -, /, ,).
|
|
37
|
+
// Server uses cron-parser for thorough range/interval validation.
|
|
38
|
+
export const CRON_RE = /^[0-9*/, -]+ [0-9*/, -]+ [0-9*/, -]+ [0-9*/, -]+ [0-9*/, -]+$/;
|
|
39
|
+
// API request/response schemas
|
|
40
|
+
export const CreateScheduledTaskSchema = z.object({
|
|
41
|
+
name: z.string().min(1).max(100),
|
|
42
|
+
schedule: z.string().min(1).max(100).regex(CRON_RE, 'Invalid 5-field cron expression'),
|
|
43
|
+
enabled: z.boolean().optional().default(true),
|
|
44
|
+
machineId: z.string().min(1).optional(),
|
|
45
|
+
spawnParams: ScheduledSpawnParamsSchema,
|
|
46
|
+
});
|
|
47
|
+
export const UpdateScheduledTaskSchema = CreateScheduledTaskSchema.partial();
|
|
48
|
+
export const ScheduledTaskSummarySchema = z.object({
|
|
49
|
+
id: z.string(),
|
|
50
|
+
name: z.string(),
|
|
51
|
+
schedule: z.string(),
|
|
52
|
+
enabled: z.boolean(),
|
|
53
|
+
machineId: z.string().nullable(),
|
|
54
|
+
nextRunAt: z.string().nullable(),
|
|
55
|
+
lastRunAt: z.string().nullable(),
|
|
56
|
+
lastExecution: z
|
|
57
|
+
.object({
|
|
58
|
+
status: TaskExecutionStatusSchema,
|
|
59
|
+
summary: z.string().nullable(),
|
|
60
|
+
})
|
|
61
|
+
.nullable(),
|
|
62
|
+
createdAt: z.string(),
|
|
63
|
+
updatedAt: z.string(),
|
|
64
|
+
consecutiveFailures: z.number().int(),
|
|
65
|
+
disabledReason: z.string().nullable(),
|
|
66
|
+
});
|
|
67
|
+
export const TaskExecutionSchema = z.object({
|
|
68
|
+
id: z.string(),
|
|
69
|
+
taskId: z.string(),
|
|
70
|
+
sessionId: z.string().nullable(),
|
|
71
|
+
status: TaskExecutionStatusSchema,
|
|
72
|
+
trigger: TaskExecutionTriggerSchema,
|
|
73
|
+
scheduledAt: z.string(),
|
|
74
|
+
startedAt: z.string().nullable(),
|
|
75
|
+
completedAt: z.string().nullable(),
|
|
76
|
+
error: z.string().nullable(),
|
|
77
|
+
retryCount: z.number(),
|
|
78
|
+
summary: z.string().nullable(),
|
|
79
|
+
createdAt: z.string(),
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=scheduledTasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduledTasks.js","sourceRoot":"","sources":["../src/scheduledTasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver.d.ts","sourceRoot":"","sources":["../src/semver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAU/D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAoBhE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEzE"}
|
package/dist/semver.js
CHANGED
|
@@ -1 +1,60 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Minimal semver comparison utility.
|
|
3
|
+
*
|
|
4
|
+
* Handles standard semver (major.minor.patch) plus optional pre-release
|
|
5
|
+
* suffixes like `-alpha.1`. No npm dependency needed.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Parse a version string into its components.
|
|
9
|
+
*
|
|
10
|
+
* @returns SemverParts or null if the string doesn't contain a valid version.
|
|
11
|
+
*/
|
|
12
|
+
export function parseSemver(version) {
|
|
13
|
+
const match = version.match(/(\d+)\.(\d+)\.(\d+)(?:-(.+))?/);
|
|
14
|
+
if (!match)
|
|
15
|
+
return null;
|
|
16
|
+
return {
|
|
17
|
+
major: Number(match[1]),
|
|
18
|
+
minor: Number(match[2]),
|
|
19
|
+
patch: Number(match[3]),
|
|
20
|
+
prerelease: match[4],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Compare two semver version strings.
|
|
25
|
+
*
|
|
26
|
+
* @returns -1 if a < b, 0 if a === b, 1 if a > b.
|
|
27
|
+
* Returns 0 if either version cannot be parsed.
|
|
28
|
+
*/
|
|
29
|
+
export function compareVersions(a, b) {
|
|
30
|
+
const pa = parseSemver(a);
|
|
31
|
+
const pb = parseSemver(b);
|
|
32
|
+
if (!pa || !pb)
|
|
33
|
+
return 0;
|
|
34
|
+
if (pa.major !== pb.major)
|
|
35
|
+
return pa.major > pb.major ? 1 : -1;
|
|
36
|
+
if (pa.minor !== pb.minor)
|
|
37
|
+
return pa.minor > pb.minor ? 1 : -1;
|
|
38
|
+
if (pa.patch !== pb.patch)
|
|
39
|
+
return pa.patch > pb.patch ? 1 : -1;
|
|
40
|
+
// Pre-release versions have lower precedence than release
|
|
41
|
+
if (pa.prerelease && !pb.prerelease)
|
|
42
|
+
return -1;
|
|
43
|
+
if (!pa.prerelease && pb.prerelease)
|
|
44
|
+
return 1;
|
|
45
|
+
// Both have prerelease — lexicographic compare
|
|
46
|
+
if (pa.prerelease && pb.prerelease) {
|
|
47
|
+
if (pa.prerelease < pb.prerelease)
|
|
48
|
+
return -1;
|
|
49
|
+
if (pa.prerelease > pb.prerelease)
|
|
50
|
+
return 1;
|
|
51
|
+
}
|
|
52
|
+
return 0;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Check if version `a` satisfies `>= minVersion`.
|
|
56
|
+
*/
|
|
57
|
+
export function satisfiesMin(version, minVersion) {
|
|
58
|
+
return compareVersions(version, minVersion) >= 0;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=semver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver.js","sourceRoot":"","sources":["../src/semver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;KACrB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC;IAEzB,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D,0DAA0D;IAC1D,IAAI,EAAE,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC;IAE9C,+CAA+C;IAC/C,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC,CAAC;QAC7C,IAAI,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,UAAkB;IAC9D,OAAO,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionResult.d.ts","sourceRoot":"","sources":["../src/sessionResult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;IAC9B,uCAAuC;;IAEvC,yBAAyB;;IAEzB,0BAA0B;;IAE1B,gCAAgC;;IAEhC,kCAAkC;;IAElC,8CAA8C;;IAE9C,oCAAoC;;;;;;;;;;;;;;;;;;EAEpC,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
package/dist/sessionResult.js
CHANGED
|
@@ -1 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Session result schema — data from Claude's `result` event.
|
|
3
|
+
*
|
|
4
|
+
* Emitted once per conversation turn, contains token usage, cost, and timing.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
export const SessionResultSchema = z.object({
|
|
8
|
+
/** Total cost in USD for this turn. */
|
|
9
|
+
totalCostUsd: z.number().optional(),
|
|
10
|
+
/** Input token count. */
|
|
11
|
+
inputTokens: z.number().int().nonnegative().optional(),
|
|
12
|
+
/** Output token count. */
|
|
13
|
+
outputTokens: z.number().int().nonnegative().optional(),
|
|
14
|
+
/** Duration in milliseconds. */
|
|
15
|
+
durationMs: z.number().nonnegative().optional(),
|
|
16
|
+
/** Claude-internal session ID. */
|
|
17
|
+
cliSessionId: z.string().optional(),
|
|
18
|
+
/** Whether the result represents an error. */
|
|
19
|
+
isError: z.boolean().optional(),
|
|
20
|
+
/** Number of conversation turns. */
|
|
21
|
+
numTurns: z.number().int().nonnegative().optional(),
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=sessionResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionResult.js","sourceRoot":"","sources":["../src/sessionResult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,uCAAuC;IACvC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,yBAAyB;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACtD,0BAA0B;IAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACvD,gCAAgC;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC/C,kCAAkC;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,8CAA8C;IAC9C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,oCAAoC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socketEvents.d.ts","sourceRoot":"","sources":["../src/socketEvents.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDf,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
|
package/dist/socketEvents.js
CHANGED
|
@@ -1 +1,44 @@
|
|
|
1
|
-
|
|
1
|
+
export const SOCKET_EVENTS = Object.freeze({
|
|
2
|
+
// server → client
|
|
3
|
+
SESSION_STATUS: 'session-status',
|
|
4
|
+
PERMISSION_RESOLVED: 'permission-resolved',
|
|
5
|
+
CORE_UPDATE: 'core-update',
|
|
6
|
+
USAGE_REPORT: 'usage-report',
|
|
7
|
+
RPC_REQUEST: 'rpc-request',
|
|
8
|
+
HISTORY_SYNC_RESULT: 'history-sync-result',
|
|
9
|
+
BACKFILL_PROGRESS: 'backfill-progress',
|
|
10
|
+
MACHINE_STATUS_UPDATE: 'machine-status-update',
|
|
11
|
+
DYNAMIC_MODES_UPDATED: 'dynamic-modes-updated',
|
|
12
|
+
TELEMETRY_REPORT: 'telemetry-report',
|
|
13
|
+
UPDATE: 'update',
|
|
14
|
+
EPHEMERAL: 'ephemeral',
|
|
15
|
+
ENTERPRISE_ALERT: 'enterprise-alert',
|
|
16
|
+
// client → server: sessions
|
|
17
|
+
SESSION_CREATE: 'session-create',
|
|
18
|
+
LIST_SESSIONS: 'list-sessions',
|
|
19
|
+
UPDATE_METADATA: 'update-metadata',
|
|
20
|
+
UPDATE_STATE: 'update-state',
|
|
21
|
+
SESSION_ALIVE: 'session-alive',
|
|
22
|
+
PROVISION_SESSION_DEK: 'provision-session-dek',
|
|
23
|
+
RENAME_SESSION: 'rename-session',
|
|
24
|
+
SESSION_END: 'session-end',
|
|
25
|
+
SESSION_SUMMARY: 'session-summary',
|
|
26
|
+
// client → server: messages
|
|
27
|
+
GET_MESSAGES: 'get-messages',
|
|
28
|
+
MESSAGE: 'message',
|
|
29
|
+
BATCH_MESSAGE: 'batch-message',
|
|
30
|
+
// client → server: RPC
|
|
31
|
+
RPC_REGISTER: 'rpc-register',
|
|
32
|
+
RPC_UNREGISTER: 'rpc-unregister',
|
|
33
|
+
RPC_CALL: 'rpc-call',
|
|
34
|
+
// client → server: visibility
|
|
35
|
+
CLIENT_VISIBILITY: 'client-visibility',
|
|
36
|
+
// client → server: machines
|
|
37
|
+
MACHINE_REGISTER: 'machine-register',
|
|
38
|
+
MACHINE_HEARTBEAT: 'machine-heartbeat',
|
|
39
|
+
// client → server: history
|
|
40
|
+
GET_KNOWN_CLAUDE_SESSIONS: 'get-known-claude-sessions',
|
|
41
|
+
REGISTER_HISTORY_SESSIONS: 'register-history-sessions',
|
|
42
|
+
UPDATE_SYNC_STATUS: 'update-sync-status',
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=socketEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socketEvents.js","sourceRoot":"","sources":["../src/socketEvents.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,kBAAkB;IAClB,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,mBAAmB,EAAE,qBAAqB;IAC1C,iBAAiB,EAAE,mBAAmB;IACtC,qBAAqB,EAAE,uBAAuB;IAC9C,qBAAqB,EAAE,uBAAuB;IAC9C,gBAAgB,EAAE,kBAAkB;IACpC,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,gBAAgB,EAAE,kBAAkB;IAEpC,4BAA4B;IAC5B,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,qBAAqB,EAAE,uBAAuB;IAC9C,cAAc,EAAE,gBAAgB;IAChC,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,iBAAiB;IAElC,4BAA4B;IAC5B,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAE9B,uBAAuB;IACvB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,QAAQ,EAAE,UAAU;IAEpB,8BAA8B;IAC9B,iBAAiB,EAAE,mBAAmB;IAEtC,4BAA4B;IAC5B,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IAEtC,2BAA2B;IAC3B,yBAAyB,EAAE,2BAA2B;IACtD,yBAAyB,EAAE,2BAA2B;IACtD,kBAAkB,EAAE,oBAAoB;CAChC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawnError.d.ts","sourceRoot":"","sources":["../src/spawnError.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB,sGAK/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,gBAAgB;;IAE3B,wDAAwD;;IAExD,6EAA6E;;;;;;;;;;;;;;;;;;;;;;EAM7E,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,kCAAkC;AAClC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE/D"}
|
package/dist/spawnError.js
CHANGED
|
@@ -1 +1,31 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Structured spawn errors for agent CLI processes.
|
|
3
|
+
*
|
|
4
|
+
* Replaces opaque stderr dumps with actionable, machine-readable errors.
|
|
5
|
+
* Lives in wire so the web UI can render structured error cards.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { AgentTypeSchema } from './messageMeta.js';
|
|
9
|
+
import { PlatformSchema } from './machine.js';
|
|
10
|
+
export const SpawnErrorCodeSchema = z.enum([
|
|
11
|
+
'agent-not-found',
|
|
12
|
+
'agent-version-too-old',
|
|
13
|
+
'agent-spawn-failed',
|
|
14
|
+
'agent-spawn-timeout',
|
|
15
|
+
]);
|
|
16
|
+
export const SpawnErrorSchema = z.object({
|
|
17
|
+
code: SpawnErrorCodeSchema,
|
|
18
|
+
/** User-facing message, e.g. "Claude CLI not found". */
|
|
19
|
+
message: z.string(),
|
|
20
|
+
/** Actionable detail, e.g. "Install: npm i -g @anthropic-ai/claude-code". */
|
|
21
|
+
detail: z.string(),
|
|
22
|
+
agentType: AgentTypeSchema,
|
|
23
|
+
platform: PlatformSchema,
|
|
24
|
+
detectedVersion: z.string().optional(),
|
|
25
|
+
minVersion: z.string().optional(),
|
|
26
|
+
});
|
|
27
|
+
/** Create a SpawnError object. */
|
|
28
|
+
export function createSpawnError(fields) {
|
|
29
|
+
return SpawnErrorSchema.parse(fields);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=spawnError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawnError.js","sourceRoot":"","sources":["../src/spawnError.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,iBAAiB;IACjB,uBAAuB;IACvB,oBAAoB;IACpB,qBAAqB;CACtB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,oBAAoB;IAC1B,wDAAwD;IACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,6EAA6E;IAC7E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,cAAc;IACxB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAIH,kCAAkC;AAClC,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
|