@rallycry/conveyor-agent 10.9.0 → 10.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-H3OGNJS4.js → chunk-KEKGEDN2.js} +994 -793
- package/dist/chunk-KEKGEDN2.js.map +1 -0
- package/dist/cli.js +313 -16
- package/dist/cli.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -2
- package/dist/chunk-H3OGNJS4.js.map +0 -1
|
@@ -2,6 +2,13 @@ import {
|
|
|
2
2
|
LoopLagMonitor
|
|
3
3
|
} from "./chunk-7TQO4ZF4.js";
|
|
4
4
|
|
|
5
|
+
// src/utils/sleep.ts
|
|
6
|
+
function sleep(ms) {
|
|
7
|
+
return new Promise((resolve) => {
|
|
8
|
+
setTimeout(resolve, ms);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
5
12
|
// src/setup/bootstrap.ts
|
|
6
13
|
var BOOTSTRAP_TIMEOUT_MS = 3e4;
|
|
7
14
|
var RETRY_DELAYS_MS = [5e3, 1e4, 2e4];
|
|
@@ -37,11 +44,6 @@ async function singleBootstrapAttempt(apiUrl, instanceName, bootstrapToken, time
|
|
|
37
44
|
clearTimeout(timer);
|
|
38
45
|
}
|
|
39
46
|
}
|
|
40
|
-
async function sleep(ms) {
|
|
41
|
-
await new Promise((resolve) => {
|
|
42
|
-
setTimeout(resolve, ms);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
47
|
function buildFailure(reason, attempts, status, detail) {
|
|
46
48
|
const out = { ok: false, reason, attempts };
|
|
47
49
|
if (status === void 0) {
|
|
@@ -133,11 +135,6 @@ var PollUntilBoundHttpError = class extends Error {
|
|
|
133
135
|
}
|
|
134
136
|
status;
|
|
135
137
|
};
|
|
136
|
-
async function sleep2(ms) {
|
|
137
|
-
await new Promise((resolve) => {
|
|
138
|
-
setTimeout(resolve, ms);
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
138
|
async function pollUntilBound(opts) {
|
|
142
139
|
const pollIntervalMs = opts.pollIntervalMs ?? 2e3;
|
|
143
140
|
const maxWaitMs = opts.maxWaitMs ?? 30 * 60 * 1e3;
|
|
@@ -153,7 +150,7 @@ async function pollUntilBound(opts) {
|
|
|
153
150
|
if (Date.now() >= deadline) {
|
|
154
151
|
throw new Error(`pollUntilBound timed out after ${maxWaitMs}ms waiting for pod bind`);
|
|
155
152
|
}
|
|
156
|
-
await
|
|
153
|
+
await sleep(pollIntervalMs);
|
|
157
154
|
continue;
|
|
158
155
|
}
|
|
159
156
|
throw new PollUntilBoundHttpError(response.status);
|
|
@@ -1903,6 +1900,8 @@ async function restoreOnBoot(bundle, cwd) {
|
|
|
1903
1900
|
// ../shared/dist/index.js
|
|
1904
1901
|
import { z } from "zod";
|
|
1905
1902
|
import { z as z2 } from "zod";
|
|
1903
|
+
import { z as z3 } from "zod";
|
|
1904
|
+
import { z as z4 } from "zod";
|
|
1906
1905
|
var DEFAULT_SONNET_MODEL = "claude-sonnet-5";
|
|
1907
1906
|
var FABLE_MODEL = "claude-fable-5";
|
|
1908
1907
|
var TUI_KINDS = ["claude-code", "opencode"];
|
|
@@ -1910,784 +1909,988 @@ var MAX_FILE_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
1910
1909
|
var EMBED_THRESHOLD_IMAGES = 5 * 1024 * 1024;
|
|
1911
1910
|
var EMBED_THRESHOLD_TEXT = 2 * 1024 * 1024;
|
|
1912
1911
|
var IDLE_HEARTBEAT_MS = 90 * 1e3;
|
|
1913
|
-
var
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1912
|
+
var TurnEndToolCallSchema = z.object({
|
|
1913
|
+
tool: z.string(),
|
|
1914
|
+
input: z.string().optional(),
|
|
1915
|
+
output: z.string().optional(),
|
|
1916
|
+
timestamp: z.string().optional()
|
|
1917
|
+
}).passthrough();
|
|
1918
|
+
var KnownAgentEventSchema = z.discriminatedUnion("type", [
|
|
1919
|
+
// ── Lifecycle / connection ────────────────────────────────────────────
|
|
1920
|
+
z.object({
|
|
1921
|
+
type: z.literal("connected"),
|
|
1922
|
+
sessionId: z.string(),
|
|
1923
|
+
projectId: z.string().optional()
|
|
1924
|
+
}).passthrough(),
|
|
1925
|
+
// Open-ended context snapshot spread from buildInitializationContext().
|
|
1926
|
+
z.object({ type: z.literal("session_manifest") }).passthrough(),
|
|
1927
|
+
z.object({
|
|
1928
|
+
type: z.literal("agent_runner_status"),
|
|
1929
|
+
reason: z.string(),
|
|
1930
|
+
attempt: z.number().optional(),
|
|
1931
|
+
attempts: z.number().optional()
|
|
1932
|
+
}).passthrough(),
|
|
1933
|
+
z.object({ type: z.literal("shutdown"), reason: z.string().optional() }).passthrough(),
|
|
1934
|
+
z.object({ type: z.literal("mode_changed"), agentMode: z.string() }).passthrough(),
|
|
1935
|
+
z.object({ type: z.literal("mode_transition"), from: z.string(), to: z.string() }).passthrough(),
|
|
1936
|
+
// ── Turn stream ───────────────────────────────────────────────────────
|
|
1937
|
+
z.object({ type: z.literal("message"), content: z.string() }).passthrough(),
|
|
1938
|
+
z.object({ type: z.literal("thinking"), message: z.string() }).passthrough(),
|
|
1939
|
+
z.object({
|
|
1940
|
+
type: z.literal("tool_use"),
|
|
1941
|
+
tool: z.string(),
|
|
1942
|
+
// Producers send JSON.stringify(input); consumers defend against
|
|
1943
|
+
// object inputs from older agents, so the wire stays permissive here.
|
|
1944
|
+
input: z.unknown().optional()
|
|
1945
|
+
}).passthrough(),
|
|
1946
|
+
z.object({
|
|
1947
|
+
type: z.literal("tool_result"),
|
|
1948
|
+
tool: z.string(),
|
|
1949
|
+
output: z.unknown().optional(),
|
|
1950
|
+
isError: z.boolean().optional(),
|
|
1951
|
+
redactedCount: z.number().optional()
|
|
1952
|
+
}).passthrough(),
|
|
1953
|
+
z.object({ type: z.literal("turn_end"), toolCalls: z.array(TurnEndToolCallSchema) }).passthrough(),
|
|
1954
|
+
z.object({
|
|
1955
|
+
type: z.literal("completed"),
|
|
1956
|
+
summary: z.string().optional(),
|
|
1957
|
+
durationMs: z.number().optional()
|
|
1958
|
+
}).passthrough(),
|
|
1959
|
+
z.object({ type: z.literal("error"), message: z.string() }).passthrough(),
|
|
1960
|
+
z.object({ type: z.literal("agent_typing_start") }).passthrough(),
|
|
1961
|
+
z.object({ type: z.literal("agent_typing_stop") }).passthrough(),
|
|
1962
|
+
// ── Telemetry ─────────────────────────────────────────────────────────
|
|
1963
|
+
// heartbeat/typing: legacy telemetry the server still classifies as
|
|
1964
|
+
// transient (TRANSIENT_EVENT_TYPES) — kept in the vocabulary.
|
|
1965
|
+
z.object({ type: z.literal("heartbeat") }).passthrough(),
|
|
1966
|
+
z.object({ type: z.literal("typing") }).passthrough(),
|
|
1967
|
+
z.object({
|
|
1968
|
+
type: z.literal("context_update"),
|
|
1969
|
+
contextTokens: z.number(),
|
|
1970
|
+
contextWindow: z.number(),
|
|
1971
|
+
inputTokens: z.number().optional(),
|
|
1972
|
+
cacheReadInputTokens: z.number().optional(),
|
|
1973
|
+
cacheCreationInputTokens: z.number().optional(),
|
|
1974
|
+
totalTokensUsed: z.number().optional()
|
|
1975
|
+
}).passthrough(),
|
|
1976
|
+
// Two producer shapes share this type: {rateLimitType, utilization, status}
|
|
1977
|
+
// (SDK rate_limit_event) and {resetsAt} (agent-connection resume notice).
|
|
1978
|
+
z.object({
|
|
1979
|
+
type: z.literal("rate_limit_update"),
|
|
1980
|
+
rateLimitType: z.string().optional(),
|
|
1981
|
+
utilization: z.number().optional(),
|
|
1982
|
+
status: z.string().optional(),
|
|
1983
|
+
resetsAt: z.string().optional()
|
|
1984
|
+
}).passthrough(),
|
|
1985
|
+
z.object({
|
|
1986
|
+
type: z.literal("context_compacted"),
|
|
1987
|
+
trigger: z.string().optional(),
|
|
1988
|
+
preTokens: z.number().optional()
|
|
1989
|
+
}).passthrough(),
|
|
1990
|
+
z.object({
|
|
1991
|
+
type: z.literal("tool_progress"),
|
|
1992
|
+
toolName: z.string().optional(),
|
|
1993
|
+
elapsedSeconds: z.number().optional()
|
|
1994
|
+
}).passthrough(),
|
|
1995
|
+
z.object({
|
|
1996
|
+
type: z.literal("subagent_started"),
|
|
1997
|
+
sdkTaskId: z.string().optional(),
|
|
1998
|
+
description: z.string().optional()
|
|
1999
|
+
}).passthrough(),
|
|
2000
|
+
z.object({
|
|
2001
|
+
type: z.literal("subagent_progress"),
|
|
2002
|
+
sdkTaskId: z.string().optional(),
|
|
2003
|
+
description: z.string().optional(),
|
|
2004
|
+
toolUses: z.number().optional(),
|
|
2005
|
+
durationMs: z.number().optional()
|
|
2006
|
+
}).passthrough(),
|
|
2007
|
+
// ── Work products ─────────────────────────────────────────────────────
|
|
2008
|
+
z.object({ type: z.literal("pr_created"), url: z.string(), number: z.number() }).passthrough(),
|
|
2009
|
+
z.object({
|
|
2010
|
+
type: z.literal("code_review_complete"),
|
|
2011
|
+
result: z.enum(["approved", "changes_requested"]),
|
|
2012
|
+
summary: z.string().optional(),
|
|
2013
|
+
issues: z.array(
|
|
2014
|
+
z.object({
|
|
2015
|
+
file: z.string(),
|
|
2016
|
+
line: z.number().optional(),
|
|
2017
|
+
severity: z.string().optional(),
|
|
2018
|
+
description: z.string().optional()
|
|
2019
|
+
}).passthrough()
|
|
2020
|
+
).optional()
|
|
2021
|
+
}).passthrough(),
|
|
2022
|
+
// ── Environment setup / start command ─────────────────────────────────
|
|
2023
|
+
z.object({ type: z.literal("setup_output"), stream: z.string(), data: z.string() }).passthrough(),
|
|
2024
|
+
z.object({
|
|
2025
|
+
type: z.literal("setup_complete"),
|
|
2026
|
+
startCommandRunning: z.boolean().optional(),
|
|
2027
|
+
// Sanitized server-side by sanitizeSessionPreviewPorts — stays unknown.
|
|
2028
|
+
previewPorts: z.unknown().optional()
|
|
2029
|
+
}).passthrough(),
|
|
2030
|
+
z.object({ type: z.literal("setup_error"), message: z.string() }).passthrough(),
|
|
2031
|
+
z.object({ type: z.literal("start_command_started") }).passthrough(),
|
|
2032
|
+
z.object({ type: z.literal("start_command_output"), stream: z.string(), data: z.string() }).passthrough(),
|
|
2033
|
+
z.object({
|
|
2034
|
+
type: z.literal("start_command_exited"),
|
|
2035
|
+
code: z.number().nullable().optional(),
|
|
2036
|
+
signal: z.string().nullable().optional(),
|
|
2037
|
+
message: z.string().optional()
|
|
2038
|
+
}).passthrough(),
|
|
2039
|
+
z.object({ type: z.literal("start_command_error"), message: z.string() }).passthrough()
|
|
2040
|
+
]);
|
|
2041
|
+
var AgentEventSchema = z.union([
|
|
2042
|
+
KnownAgentEventSchema,
|
|
2043
|
+
z.object({ type: z.string().min(1) }).catchall(z.unknown())
|
|
2044
|
+
]);
|
|
2045
|
+
var AgentHeartbeatSchema = z2.object({
|
|
2046
|
+
sessionId: z2.string().optional(),
|
|
2047
|
+
timestamp: z2.string(),
|
|
2048
|
+
status: z2.enum(["active", "idle", "building"]),
|
|
2049
|
+
currentAction: z2.string().optional(),
|
|
1918
2050
|
/** Sender-observed main event-loop lag (ms) — see AgentHeartbeat.loopLagMs. */
|
|
1919
|
-
loopLagMs:
|
|
2051
|
+
loopLagMs: z2.number().nonnegative().optional()
|
|
1920
2052
|
});
|
|
1921
|
-
var CreatePRInputSchema =
|
|
1922
|
-
title:
|
|
1923
|
-
body:
|
|
1924
|
-
head:
|
|
1925
|
-
base:
|
|
2053
|
+
var CreatePRInputSchema = z2.object({
|
|
2054
|
+
title: z2.string().min(1),
|
|
2055
|
+
body: z2.string(),
|
|
2056
|
+
head: z2.string().optional(),
|
|
2057
|
+
base: z2.string().optional()
|
|
1926
2058
|
});
|
|
1927
|
-
var PostToChatInputSchema =
|
|
1928
|
-
message:
|
|
1929
|
-
type:
|
|
2059
|
+
var PostToChatInputSchema = z2.object({
|
|
2060
|
+
message: z2.string().min(1),
|
|
2061
|
+
type: z2.enum(["message", "question", "update"]).optional().default("message")
|
|
1930
2062
|
});
|
|
1931
|
-
var GetTaskContextRequestSchema =
|
|
1932
|
-
sessionId:
|
|
1933
|
-
includeHistory:
|
|
2063
|
+
var GetTaskContextRequestSchema = z2.object({
|
|
2064
|
+
sessionId: z2.string(),
|
|
2065
|
+
includeHistory: z2.boolean().optional().default(false)
|
|
1934
2066
|
});
|
|
1935
|
-
var GetChatMessagesRequestSchema =
|
|
1936
|
-
sessionId:
|
|
1937
|
-
limit:
|
|
1938
|
-
offset:
|
|
2067
|
+
var GetChatMessagesRequestSchema = z2.object({
|
|
2068
|
+
sessionId: z2.string(),
|
|
2069
|
+
limit: z2.number().int().positive().optional().default(50),
|
|
2070
|
+
offset: z2.number().int().nonnegative().optional().default(0)
|
|
1939
2071
|
});
|
|
1940
|
-
var GetTaskFilesRequestSchema =
|
|
1941
|
-
sessionId:
|
|
2072
|
+
var GetTaskFilesRequestSchema = z2.object({
|
|
2073
|
+
sessionId: z2.string()
|
|
1942
2074
|
});
|
|
1943
|
-
var GetTaskFileRequestSchema =
|
|
1944
|
-
sessionId:
|
|
1945
|
-
fileId:
|
|
2075
|
+
var GetTaskFileRequestSchema = z2.object({
|
|
2076
|
+
sessionId: z2.string(),
|
|
2077
|
+
fileId: z2.string()
|
|
1946
2078
|
});
|
|
1947
|
-
var GetTaskRequestSchema =
|
|
1948
|
-
sessionId:
|
|
1949
|
-
taskSlugOrId:
|
|
2079
|
+
var GetTaskRequestSchema = z2.object({
|
|
2080
|
+
sessionId: z2.string(),
|
|
2081
|
+
taskSlugOrId: z2.string()
|
|
1950
2082
|
});
|
|
1951
|
-
var GetCliHistoryRequestSchema =
|
|
1952
|
-
sessionId:
|
|
1953
|
-
limit:
|
|
1954
|
-
source:
|
|
2083
|
+
var GetCliHistoryRequestSchema = z2.object({
|
|
2084
|
+
sessionId: z2.string(),
|
|
2085
|
+
limit: z2.number().int().positive().optional().default(100),
|
|
2086
|
+
source: z2.enum(["agent", "application"]).optional()
|
|
1955
2087
|
});
|
|
1956
|
-
var ListSubtasksRequestSchema =
|
|
1957
|
-
sessionId:
|
|
2088
|
+
var ListSubtasksRequestSchema = z2.object({
|
|
2089
|
+
sessionId: z2.string(),
|
|
1958
2090
|
/** "compact" returns the slim orchestration view (ListSubtasksCompactResponse)
|
|
1959
2091
|
* with the pack build-slot picture; "full" (default — wire-compat with older
|
|
1960
2092
|
* agents) returns the verbose SubtaskSummaryDTO[] including description/plan. */
|
|
1961
|
-
view:
|
|
1962
|
-
});
|
|
1963
|
-
var GetDependenciesRequestSchema =
|
|
1964
|
-
sessionId:
|
|
1965
|
-
});
|
|
1966
|
-
var GetSuggestionsRequestSchema =
|
|
1967
|
-
sessionId:
|
|
1968
|
-
status:
|
|
1969
|
-
limit:
|
|
1970
|
-
});
|
|
1971
|
-
var ListManualTestsRequestSchema =
|
|
1972
|
-
sessionId:
|
|
1973
|
-
});
|
|
1974
|
-
var QueryManualTestsRequestSchema =
|
|
1975
|
-
sessionId:
|
|
1976
|
-
cardStatuses:
|
|
1977
|
-
testStatuses:
|
|
1978
|
-
});
|
|
1979
|
-
var CreatePullRequestRequestSchema = CreatePRInputSchema.extend({ sessionId:
|
|
1980
|
-
var RequestFileUploadRequestSchema =
|
|
1981
|
-
sessionId:
|
|
1982
|
-
fileName:
|
|
1983
|
-
mimeType:
|
|
1984
|
-
fileSize:
|
|
1985
|
-
});
|
|
1986
|
-
var ConfirmFileUploadRequestSchema =
|
|
1987
|
-
sessionId:
|
|
1988
|
-
fileId:
|
|
1989
|
-
title:
|
|
1990
|
-
});
|
|
1991
|
-
var UpdateTaskStatusRequestSchema =
|
|
1992
|
-
sessionId:
|
|
1993
|
-
status:
|
|
1994
|
-
force:
|
|
1995
|
-
});
|
|
1996
|
-
var StoreSessionIdRequestSchema =
|
|
1997
|
-
sessionId:
|
|
1998
|
-
sdkSessionId:
|
|
1999
|
-
});
|
|
2000
|
-
var SetManualTestsRequestSchema =
|
|
2001
|
-
sessionId:
|
|
2002
|
-
items:
|
|
2003
|
-
});
|
|
2004
|
-
var EditManualTestRequestSchema =
|
|
2005
|
-
sessionId:
|
|
2006
|
-
title:
|
|
2007
|
-
newTitle:
|
|
2008
|
-
});
|
|
2009
|
-
var RemoveManualTestRequestSchema =
|
|
2010
|
-
sessionId:
|
|
2011
|
-
title:
|
|
2012
|
-
});
|
|
2013
|
-
var ApproveManualTestRequestSchema =
|
|
2014
|
-
sessionId:
|
|
2015
|
-
title:
|
|
2016
|
-
});
|
|
2017
|
-
var RejectManualTestRequestSchema =
|
|
2018
|
-
sessionId:
|
|
2019
|
-
title:
|
|
2020
|
-
reason:
|
|
2021
|
-
});
|
|
2022
|
-
var
|
|
2023
|
-
sessionId:
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
});
|
|
2038
|
-
var
|
|
2039
|
-
sessionId:
|
|
2040
|
-
|
|
2041
|
-
});
|
|
2042
|
-
var ConnectAgentRequestSchema = z.object({
|
|
2043
|
-
sessionId: z.string()
|
|
2044
|
-
});
|
|
2045
|
-
var ReportAgentStatusRequestSchema = z.object({
|
|
2046
|
-
sessionId: z.string(),
|
|
2047
|
-
status: z.string(),
|
|
2093
|
+
view: z2.enum(["compact", "full"]).optional()
|
|
2094
|
+
});
|
|
2095
|
+
var GetDependenciesRequestSchema = z2.object({
|
|
2096
|
+
sessionId: z2.string()
|
|
2097
|
+
});
|
|
2098
|
+
var GetSuggestionsRequestSchema = z2.object({
|
|
2099
|
+
sessionId: z2.string(),
|
|
2100
|
+
status: z2.string().optional(),
|
|
2101
|
+
limit: z2.number().int().min(1).max(100).optional()
|
|
2102
|
+
});
|
|
2103
|
+
var ListManualTestsRequestSchema = z2.object({
|
|
2104
|
+
sessionId: z2.string()
|
|
2105
|
+
});
|
|
2106
|
+
var QueryManualTestsRequestSchema = z2.object({
|
|
2107
|
+
sessionId: z2.string(),
|
|
2108
|
+
cardStatuses: z2.array(z2.string()).optional(),
|
|
2109
|
+
testStatuses: z2.array(z2.enum(["open", "approved", "rejected"])).optional()
|
|
2110
|
+
});
|
|
2111
|
+
var CreatePullRequestRequestSchema = CreatePRInputSchema.extend({ sessionId: z2.string() });
|
|
2112
|
+
var RequestFileUploadRequestSchema = z2.object({
|
|
2113
|
+
sessionId: z2.string(),
|
|
2114
|
+
fileName: z2.string().min(1).max(255),
|
|
2115
|
+
mimeType: z2.string().min(1).max(128),
|
|
2116
|
+
fileSize: z2.number().int().positive().max(MAX_FILE_SIZE_BYTES)
|
|
2117
|
+
});
|
|
2118
|
+
var ConfirmFileUploadRequestSchema = z2.object({
|
|
2119
|
+
sessionId: z2.string(),
|
|
2120
|
+
fileId: z2.string(),
|
|
2121
|
+
title: z2.string().max(500).optional()
|
|
2122
|
+
});
|
|
2123
|
+
var UpdateTaskStatusRequestSchema = z2.object({
|
|
2124
|
+
sessionId: z2.string(),
|
|
2125
|
+
status: z2.string(),
|
|
2126
|
+
force: z2.boolean().optional().default(false)
|
|
2127
|
+
});
|
|
2128
|
+
var StoreSessionIdRequestSchema = z2.object({
|
|
2129
|
+
sessionId: z2.string(),
|
|
2130
|
+
sdkSessionId: z2.string()
|
|
2131
|
+
});
|
|
2132
|
+
var SetManualTestsRequestSchema = z2.object({
|
|
2133
|
+
sessionId: z2.string(),
|
|
2134
|
+
items: z2.array(z2.object({ title: z2.string().min(1) })).min(1)
|
|
2135
|
+
});
|
|
2136
|
+
var EditManualTestRequestSchema = z2.object({
|
|
2137
|
+
sessionId: z2.string(),
|
|
2138
|
+
title: z2.string().min(1),
|
|
2139
|
+
newTitle: z2.string().min(1)
|
|
2140
|
+
});
|
|
2141
|
+
var RemoveManualTestRequestSchema = z2.object({
|
|
2142
|
+
sessionId: z2.string(),
|
|
2143
|
+
title: z2.string().min(1)
|
|
2144
|
+
});
|
|
2145
|
+
var ApproveManualTestRequestSchema = z2.object({
|
|
2146
|
+
sessionId: z2.string(),
|
|
2147
|
+
title: z2.string().min(1)
|
|
2148
|
+
});
|
|
2149
|
+
var RejectManualTestRequestSchema = z2.object({
|
|
2150
|
+
sessionId: z2.string(),
|
|
2151
|
+
title: z2.string().min(1),
|
|
2152
|
+
reason: z2.string().min(1).max(2e3)
|
|
2153
|
+
});
|
|
2154
|
+
var SessionStartRequestSchema = z2.object({
|
|
2155
|
+
sessionId: z2.string(),
|
|
2156
|
+
agentVersion: z2.string(),
|
|
2157
|
+
capabilities: z2.array(z2.string())
|
|
2158
|
+
});
|
|
2159
|
+
var SessionStopRequestSchema = z2.object({
|
|
2160
|
+
sessionId: z2.string(),
|
|
2161
|
+
reason: z2.string().optional()
|
|
2162
|
+
});
|
|
2163
|
+
var EndReviewSessionRequestSchema = z2.object({
|
|
2164
|
+
sessionId: z2.string(),
|
|
2165
|
+
reason: z2.enum(["approved", "changes_requested", "finished"]).optional()
|
|
2166
|
+
});
|
|
2167
|
+
var ConnectAgentRequestSchema = z2.object({
|
|
2168
|
+
sessionId: z2.string()
|
|
2169
|
+
});
|
|
2170
|
+
var ReportAgentStatusRequestSchema = z2.object({
|
|
2171
|
+
sessionId: z2.string(),
|
|
2172
|
+
status: z2.string(),
|
|
2048
2173
|
/** Why the agent reports this status (e.g. "user_question" while an AskUserQuestion questionnaire is pending in the TUI). */
|
|
2049
|
-
reason:
|
|
2174
|
+
reason: z2.string().optional(),
|
|
2050
2175
|
/**
|
|
2051
2176
|
* The pending question text, sent only alongside `reason: "user_question"`
|
|
2052
2177
|
* so the server can surface it in the user-question notification body (and
|
|
2053
2178
|
* thus the Attention feed) instead of a generic string. Optional: older
|
|
2054
2179
|
* agents omit it and the server falls back to the generic wording.
|
|
2055
2180
|
*/
|
|
2056
|
-
questionText:
|
|
2057
|
-
});
|
|
2058
|
-
var NotifyAgentVersionRequestSchema =
|
|
2059
|
-
sessionId:
|
|
2060
|
-
agentVersion:
|
|
2061
|
-
});
|
|
2062
|
-
var DiscoveredPortSchema =
|
|
2063
|
-
port:
|
|
2064
|
-
label:
|
|
2065
|
-
protocol:
|
|
2066
|
-
detectedAt:
|
|
2067
|
-
});
|
|
2068
|
-
var ReportDiscoveredPortsRequestSchema =
|
|
2069
|
-
sessionId:
|
|
2070
|
-
ports:
|
|
2071
|
-
});
|
|
2072
|
-
var CreateSubtaskRequestSchema =
|
|
2073
|
-
sessionId:
|
|
2074
|
-
title:
|
|
2075
|
-
description:
|
|
2076
|
-
plan:
|
|
2077
|
-
storyPointValue:
|
|
2078
|
-
ordinal:
|
|
2079
|
-
followParentStatus:
|
|
2181
|
+
questionText: z2.string().optional()
|
|
2182
|
+
});
|
|
2183
|
+
var NotifyAgentVersionRequestSchema = z2.object({
|
|
2184
|
+
sessionId: z2.string(),
|
|
2185
|
+
agentVersion: z2.string()
|
|
2186
|
+
});
|
|
2187
|
+
var DiscoveredPortSchema = z2.object({
|
|
2188
|
+
port: z2.number().int().min(1).max(65535),
|
|
2189
|
+
label: z2.string().min(1).max(64).optional(),
|
|
2190
|
+
protocol: z2.enum(["http", "tcp"]).optional(),
|
|
2191
|
+
detectedAt: z2.string()
|
|
2192
|
+
});
|
|
2193
|
+
var ReportDiscoveredPortsRequestSchema = z2.object({
|
|
2194
|
+
sessionId: z2.string(),
|
|
2195
|
+
ports: z2.array(DiscoveredPortSchema).max(64)
|
|
2196
|
+
});
|
|
2197
|
+
var CreateSubtaskRequestSchema = z2.object({
|
|
2198
|
+
sessionId: z2.string(),
|
|
2199
|
+
title: z2.string().min(1),
|
|
2200
|
+
description: z2.string().optional(),
|
|
2201
|
+
plan: z2.string().optional(),
|
|
2202
|
+
storyPointValue: z2.number().int().positive().optional(),
|
|
2203
|
+
ordinal: z2.number().int().nonnegative().optional(),
|
|
2204
|
+
followParentStatus: z2.boolean().optional(),
|
|
2080
2205
|
/** Sibling subtask ids or slugs this subtask blocks on (explicit dependency
|
|
2081
2206
|
* metadata — preferred over encoding order in plan text / ordinal). */
|
|
2082
|
-
dependsOn:
|
|
2083
|
-
});
|
|
2084
|
-
var UpdateSubtaskRequestSchema =
|
|
2085
|
-
sessionId:
|
|
2086
|
-
subtaskId:
|
|
2087
|
-
title:
|
|
2088
|
-
description:
|
|
2089
|
-
plan:
|
|
2207
|
+
dependsOn: z2.array(z2.string().min(1)).max(32).optional()
|
|
2208
|
+
});
|
|
2209
|
+
var UpdateSubtaskRequestSchema = z2.object({
|
|
2210
|
+
sessionId: z2.string(),
|
|
2211
|
+
subtaskId: z2.string(),
|
|
2212
|
+
title: z2.string().min(1).optional(),
|
|
2213
|
+
description: z2.string().optional(),
|
|
2214
|
+
plan: z2.string().optional(),
|
|
2090
2215
|
/** Orchestration statuses only ("Planning" | "Open") — the pack parent's
|
|
2091
2216
|
* sanctioned promotion path. Execution statuses stay with the build
|
|
2092
2217
|
* pipeline / force_update_task_status. Enforced server-side. */
|
|
2093
|
-
status:
|
|
2218
|
+
status: z2.string().optional(),
|
|
2094
2219
|
/** Assign a project agent to the child — accepts the agent's id or exact
|
|
2095
2220
|
* name; resolved against the parent task's project server-side. */
|
|
2096
|
-
agentIdOrName:
|
|
2097
|
-
storyPointValue:
|
|
2098
|
-
followParentStatus:
|
|
2221
|
+
agentIdOrName: z2.string().min(1).optional(),
|
|
2222
|
+
storyPointValue: z2.number().int().positive().optional(),
|
|
2223
|
+
followParentStatus: z2.boolean().optional(),
|
|
2099
2224
|
/** Replace this subtask's dependency edges with these sibling ids/slugs.
|
|
2100
2225
|
* Empty array clears all. Omit to leave dependencies unchanged. */
|
|
2101
|
-
dependsOn:
|
|
2102
|
-
});
|
|
2103
|
-
var DeleteSubtaskRequestSchema = z.object({
|
|
2104
|
-
sessionId: z.string(),
|
|
2105
|
-
subtaskId: z.string()
|
|
2106
|
-
});
|
|
2107
|
-
var GetTaskPropertiesRequestSchema = z.object({
|
|
2108
|
-
sessionId: z.string()
|
|
2109
|
-
});
|
|
2110
|
-
var GetCumulativeSpendingRequestSchema = z.object({
|
|
2111
|
-
sessionId: z.string()
|
|
2112
|
-
});
|
|
2113
|
-
var ModelUsageEntrySchema = z.object({
|
|
2114
|
-
model: z.string(),
|
|
2115
|
-
inputTokens: z.number().nonnegative(),
|
|
2116
|
-
outputTokens: z.number().nonnegative(),
|
|
2117
|
-
cacheReadInputTokens: z.number().nonnegative(),
|
|
2118
|
-
cacheCreationInputTokens: z.number().nonnegative(),
|
|
2119
|
-
costUSD: z.number().nonnegative()
|
|
2120
|
-
});
|
|
2121
|
-
var GetCumulativeSpendingResponseSchema = z.object({
|
|
2122
|
-
totalCostUsd: z.number().nonnegative(),
|
|
2123
|
-
modelUsage: z.array(ModelUsageEntrySchema)
|
|
2124
|
-
});
|
|
2125
|
-
var UpdateTaskFieldsRequestSchema = z.object({
|
|
2126
|
-
sessionId: z.string(),
|
|
2127
|
-
plan: z.string().optional(),
|
|
2128
|
-
description: z.string().optional()
|
|
2129
|
-
});
|
|
2130
|
-
var UpdateTaskPropertiesRequestSchema = z.object({
|
|
2131
|
-
sessionId: z.string(),
|
|
2132
|
-
title: z.string().optional(),
|
|
2133
|
-
storyPointValue: z.number().int().positive().optional(),
|
|
2134
|
-
tagIds: z.array(z.string()).optional(),
|
|
2135
|
-
tagNames: z.array(z.string()).optional(),
|
|
2136
|
-
githubPRUrl: z.string().url().optional(),
|
|
2137
|
-
githubBranch: z.string().optional()
|
|
2138
|
-
});
|
|
2139
|
-
var ListIconsRequestSchema = z.object({
|
|
2140
|
-
sessionId: z.string()
|
|
2141
|
-
});
|
|
2142
|
-
var GenerateTaskIconRequestSchema = z.object({
|
|
2143
|
-
sessionId: z.string(),
|
|
2144
|
-
prompt: z.string().min(1),
|
|
2145
|
-
aspectRatio: z.string().optional()
|
|
2146
|
-
});
|
|
2147
|
-
var SearchFaIconsRequestSchema = z.object({
|
|
2148
|
-
sessionId: z.string(),
|
|
2149
|
-
query: z.string().min(1),
|
|
2150
|
-
first: z.number().int().positive().optional()
|
|
2151
|
-
});
|
|
2152
|
-
var PickFaIconRequestSchema = z.object({
|
|
2153
|
-
sessionId: z.string(),
|
|
2154
|
-
fontAwesomeId: z.string().min(1),
|
|
2155
|
-
fontAwesomeStyle: z.string().optional()
|
|
2156
|
-
});
|
|
2157
|
-
var CreateFollowUpTaskRequestSchema = z.object({
|
|
2158
|
-
sessionId: z.string(),
|
|
2159
|
-
title: z.string().min(1),
|
|
2160
|
-
description: z.string().optional(),
|
|
2161
|
-
plan: z.string().optional(),
|
|
2162
|
-
storyPointValue: z.number().int().positive().optional()
|
|
2163
|
-
});
|
|
2164
|
-
var AddDependencyRequestSchema = z.object({
|
|
2165
|
-
sessionId: z.string(),
|
|
2166
|
-
dependsOnSlugOrId: z.string()
|
|
2167
|
-
});
|
|
2168
|
-
var RemoveDependencyRequestSchema = z.object({
|
|
2169
|
-
sessionId: z.string(),
|
|
2170
|
-
dependsOnSlugOrId: z.string()
|
|
2171
|
-
});
|
|
2172
|
-
var CreateSuggestionRequestSchema = z.object({
|
|
2173
|
-
sessionId: z.string(),
|
|
2174
|
-
title: z.string().min(1),
|
|
2175
|
-
description: z.string().optional(),
|
|
2176
|
-
tagNames: z.array(z.string()).optional()
|
|
2177
|
-
});
|
|
2178
|
-
var VoteSuggestionRequestSchema = z.object({
|
|
2179
|
-
sessionId: z.string(),
|
|
2180
|
-
suggestionId: z.string(),
|
|
2181
|
-
value: z.union([z.literal(1), z.literal(-1)])
|
|
2182
|
-
});
|
|
2183
|
-
var TriggerIdentificationRequestSchema = z.object({
|
|
2184
|
-
sessionId: z.string()
|
|
2185
|
-
});
|
|
2186
|
-
var SubmitCodeReviewResultRequestSchema = z.object({
|
|
2187
|
-
sessionId: z.string(),
|
|
2188
|
-
approved: z.boolean(),
|
|
2189
|
-
content: z.string()
|
|
2190
|
-
});
|
|
2191
|
-
var CycleCodingAgentKeyRequestSchema = z.object({
|
|
2192
|
-
sessionId: z.string(),
|
|
2193
|
-
rateLimitType: z.string(),
|
|
2194
|
-
resetsAt: z.string().optional()
|
|
2195
|
-
});
|
|
2196
|
-
var StartChildCloudBuildRequestSchema = z.object({
|
|
2197
|
-
sessionId: z.string(),
|
|
2198
|
-
childTaskId: z.string()
|
|
2199
|
-
});
|
|
2200
|
-
var StopChildBuildRequestSchema = z.object({
|
|
2201
|
-
sessionId: z.string(),
|
|
2202
|
-
childTaskId: z.string()
|
|
2203
|
-
});
|
|
2204
|
-
var ApproveAndMergePRRequestSchema = z.object({
|
|
2205
|
-
sessionId: z.string(),
|
|
2206
|
-
childTaskId: z.string()
|
|
2207
|
-
});
|
|
2208
|
-
var PostChildChatMessageRequestSchema = z.object({
|
|
2209
|
-
sessionId: z.string(),
|
|
2210
|
-
childTaskId: z.string(),
|
|
2211
|
-
message: z.string().min(1)
|
|
2212
|
-
});
|
|
2213
|
-
var UpdateChildStatusRequestSchema = z.object({
|
|
2214
|
-
sessionId: z.string(),
|
|
2215
|
-
childTaskId: z.string(),
|
|
2216
|
-
status: z.string()
|
|
2217
|
-
});
|
|
2218
|
-
var GetAgentStatusRequestSchema = z.object({
|
|
2219
|
-
taskId: z.string()
|
|
2220
|
-
});
|
|
2221
|
-
var GetUiCliHistoryRequestSchema = z.object({
|
|
2222
|
-
taskId: z.string()
|
|
2223
|
-
});
|
|
2224
|
-
var GetActivePtySessionRequestSchema = z.object({
|
|
2225
|
-
taskId: z.string()
|
|
2226
|
-
});
|
|
2227
|
-
var ListActivePtySessionsRequestSchema = z.object({
|
|
2228
|
-
taskId: z.string()
|
|
2229
|
-
});
|
|
2230
|
-
var SendSoftStopRequestSchema = z.object({
|
|
2231
|
-
taskId: z.string()
|
|
2232
|
-
});
|
|
2233
|
-
var StopTaskSessionRequestSchema = z.object({
|
|
2234
|
-
taskId: z.string(),
|
|
2235
|
-
sessionId: z.string()
|
|
2236
|
-
});
|
|
2237
|
-
var FlushTaskQueueRequestSchema = z.object({
|
|
2238
|
-
taskId: z.string(),
|
|
2239
|
-
softStop: z.boolean().optional()
|
|
2240
|
-
});
|
|
2241
|
-
var CancelTaskQueuedMessageRequestSchema = z.object({
|
|
2242
|
-
taskId: z.string(),
|
|
2243
|
-
messageId: z.string()
|
|
2244
|
-
});
|
|
2245
|
-
var FlushSingleQueuedMessageRequestSchema = z.object({
|
|
2246
|
-
taskId: z.string(),
|
|
2247
|
-
messageId: z.string(),
|
|
2248
|
-
softStop: z.boolean().optional()
|
|
2249
|
-
});
|
|
2250
|
-
var AnswerAgentQuestionRequestSchema = z.object({
|
|
2251
|
-
taskId: z.string(),
|
|
2252
|
-
requestId: z.string(),
|
|
2253
|
-
answers: z.record(z.string(), z.string())
|
|
2254
|
-
});
|
|
2255
|
-
var ClearAgentTodosRequestSchema = z.object({
|
|
2256
|
-
taskId: z.string()
|
|
2257
|
-
});
|
|
2258
|
-
var AgentQuestionOptionSchema = z.object({
|
|
2259
|
-
label: z.string(),
|
|
2260
|
-
description: z.string(),
|
|
2261
|
-
preview: z.string().optional()
|
|
2262
|
-
});
|
|
2263
|
-
var AgentQuestionSchema = z.object({
|
|
2264
|
-
question: z.string(),
|
|
2265
|
-
header: z.string(),
|
|
2266
|
-
options: z.array(AgentQuestionOptionSchema),
|
|
2267
|
-
multiSelect: z.boolean().optional()
|
|
2268
|
-
});
|
|
2269
|
-
var AskUserQuestionRequestSchema = z.object({
|
|
2270
|
-
sessionId: z.string(),
|
|
2271
|
-
question: z.string().min(1),
|
|
2272
|
-
requestId: z.string().min(1),
|
|
2273
|
-
questions: z.array(AgentQuestionSchema).min(1)
|
|
2274
|
-
});
|
|
2275
|
-
var AgentEventSchema = z.object({
|
|
2276
|
-
type: z.string().min(1)
|
|
2277
|
-
}).catchall(z.unknown());
|
|
2278
|
-
var EmitAgentEventRequestSchema = z.object({
|
|
2279
|
-
sessionId: z.string(),
|
|
2280
|
-
events: z.array(AgentEventSchema).max(500)
|
|
2281
|
-
});
|
|
2282
|
-
var RefreshGithubTokenRequestSchema = z.object({
|
|
2283
|
-
sessionId: z.string()
|
|
2284
|
-
});
|
|
2285
|
-
var ReportReviewSpawnFailureRequestSchema = z.object({
|
|
2286
|
-
sessionId: z.string(),
|
|
2287
|
-
reviewSessionId: z.string(),
|
|
2288
|
-
error: z.string().max(2e3).optional()
|
|
2289
|
-
});
|
|
2290
|
-
var SpawnTaskSessionRequestSchema = z.object({
|
|
2291
|
-
taskId: z.string(),
|
|
2292
|
-
kind: z.enum(["tui", "shell"])
|
|
2293
|
-
});
|
|
2294
|
-
var SpawnTaskReviewRequestSchema = z.object({
|
|
2295
|
-
taskId: z.string()
|
|
2296
|
-
});
|
|
2297
|
-
var ReportSessionSpawnFailureRequestSchema = z.object({
|
|
2298
|
-
sessionId: z.string(),
|
|
2299
|
-
spawnedSessionId: z.string(),
|
|
2300
|
-
error: z.string().max(2e3).optional()
|
|
2301
|
-
});
|
|
2302
|
-
var RefreshGithubTokenResponseSchema = z.object({
|
|
2303
|
-
token: z.string()
|
|
2226
|
+
dependsOn: z2.array(z2.string().min(1)).max(32).optional()
|
|
2304
2227
|
});
|
|
2305
|
-
var
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
sessionId: z.string(),
|
|
2309
|
-
data: z.string().max(PTY_FRAME_MAX_CHARS),
|
|
2310
|
-
cols: z.number().int().positive().max(PTY_MAX_DIMENSION).optional(),
|
|
2311
|
-
rows: z.number().int().positive().max(PTY_MAX_DIMENSION).optional()
|
|
2228
|
+
var DeleteSubtaskRequestSchema = z2.object({
|
|
2229
|
+
sessionId: z2.string(),
|
|
2230
|
+
subtaskId: z2.string()
|
|
2312
2231
|
});
|
|
2313
|
-
var
|
|
2314
|
-
sessionId:
|
|
2232
|
+
var GetTaskPropertiesRequestSchema = z2.object({
|
|
2233
|
+
sessionId: z2.string()
|
|
2315
2234
|
});
|
|
2316
|
-
var
|
|
2317
|
-
sessionId:
|
|
2318
|
-
|
|
2235
|
+
var UpdateTaskFieldsRequestSchema = z2.object({
|
|
2236
|
+
sessionId: z2.string(),
|
|
2237
|
+
plan: z2.string().optional(),
|
|
2238
|
+
description: z2.string().optional()
|
|
2319
2239
|
});
|
|
2320
|
-
var
|
|
2321
|
-
sessionId:
|
|
2322
|
-
|
|
2323
|
-
|
|
2240
|
+
var UpdateTaskPropertiesRequestSchema = z2.object({
|
|
2241
|
+
sessionId: z2.string(),
|
|
2242
|
+
title: z2.string().optional(),
|
|
2243
|
+
storyPointValue: z2.number().int().positive().optional(),
|
|
2244
|
+
tagIds: z2.array(z2.string()).optional(),
|
|
2245
|
+
tagNames: z2.array(z2.string()).optional(),
|
|
2246
|
+
githubPRUrl: z2.string().url().optional(),
|
|
2247
|
+
githubBranch: z2.string().optional()
|
|
2324
2248
|
});
|
|
2325
|
-
var
|
|
2326
|
-
sessionId:
|
|
2249
|
+
var ListIconsRequestSchema = z2.object({
|
|
2250
|
+
sessionId: z2.string()
|
|
2327
2251
|
});
|
|
2328
|
-
var
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
claudeSessionId: z.string().max(100).optional()
|
|
2333
|
-
}),
|
|
2334
|
-
z.object({ kind: z.literal("user_text"), text: z.string().max(16384) }),
|
|
2335
|
-
z.object({ kind: z.literal("assistant_text"), text: z.string().max(16384) }),
|
|
2336
|
-
z.object({
|
|
2337
|
-
kind: z.literal("tool_use"),
|
|
2338
|
-
name: z.string().max(200),
|
|
2339
|
-
// Compact preview: JSON.stringify(input) truncated agent-side.
|
|
2340
|
-
input: z.string().max(2e3)
|
|
2341
|
-
}),
|
|
2342
|
-
z.object({ kind: z.literal("turn_end") })
|
|
2343
|
-
]);
|
|
2344
|
-
var PtyChatEventRequestSchema = z.object({
|
|
2345
|
-
sessionId: z.string(),
|
|
2346
|
-
event: PtyChatEventPayloadSchema
|
|
2252
|
+
var GenerateTaskIconRequestSchema = z2.object({
|
|
2253
|
+
sessionId: z2.string(),
|
|
2254
|
+
prompt: z2.string().min(1),
|
|
2255
|
+
aspectRatio: z2.string().optional()
|
|
2347
2256
|
});
|
|
2348
|
-
var
|
|
2349
|
-
sessionId:
|
|
2257
|
+
var SearchFaIconsRequestSchema = z2.object({
|
|
2258
|
+
sessionId: z2.string(),
|
|
2259
|
+
query: z2.string().min(1),
|
|
2260
|
+
first: z2.number().int().positive().optional()
|
|
2350
2261
|
});
|
|
2351
|
-
var
|
|
2352
|
-
|
|
2353
|
-
|
|
2262
|
+
var PickFaIconRequestSchema = z2.object({
|
|
2263
|
+
sessionId: z2.string(),
|
|
2264
|
+
fontAwesomeId: z2.string().min(1),
|
|
2265
|
+
fontAwesomeStyle: z2.string().optional()
|
|
2354
2266
|
});
|
|
2355
|
-
var
|
|
2356
|
-
|
|
2267
|
+
var CreateFollowUpTaskRequestSchema = z2.object({
|
|
2268
|
+
sessionId: z2.string(),
|
|
2269
|
+
title: z2.string().min(1),
|
|
2270
|
+
description: z2.string().optional(),
|
|
2271
|
+
plan: z2.string().optional(),
|
|
2272
|
+
storyPointValue: z2.number().int().positive().optional()
|
|
2357
2273
|
});
|
|
2358
|
-
var
|
|
2359
|
-
|
|
2360
|
-
|
|
2274
|
+
var AddDependencyRequestSchema = z2.object({
|
|
2275
|
+
sessionId: z2.string(),
|
|
2276
|
+
dependsOnSlugOrId: z2.string()
|
|
2361
2277
|
});
|
|
2362
|
-
var
|
|
2363
|
-
|
|
2278
|
+
var RemoveDependencyRequestSchema = z2.object({
|
|
2279
|
+
sessionId: z2.string(),
|
|
2280
|
+
dependsOnSlugOrId: z2.string()
|
|
2364
2281
|
});
|
|
2365
|
-
var
|
|
2366
|
-
|
|
2282
|
+
var CreateSuggestionRequestSchema = z2.object({
|
|
2283
|
+
sessionId: z2.string(),
|
|
2284
|
+
title: z2.string().min(1),
|
|
2285
|
+
description: z2.string().optional(),
|
|
2286
|
+
tagNames: z2.array(z2.string()).optional()
|
|
2367
2287
|
});
|
|
2368
|
-
var
|
|
2369
|
-
sessionId:
|
|
2370
|
-
|
|
2288
|
+
var VoteSuggestionRequestSchema = z2.object({
|
|
2289
|
+
sessionId: z2.string(),
|
|
2290
|
+
suggestionId: z2.string(),
|
|
2291
|
+
value: z2.union([z2.literal(1), z2.literal(-1)])
|
|
2371
2292
|
});
|
|
2372
|
-
var
|
|
2373
|
-
sessionId:
|
|
2374
|
-
stoppedAt: z.string()
|
|
2293
|
+
var TriggerIdentificationRequestSchema = z2.object({
|
|
2294
|
+
sessionId: z2.string()
|
|
2375
2295
|
});
|
|
2376
|
-
var
|
|
2377
|
-
|
|
2296
|
+
var SubmitCodeReviewResultRequestSchema = z2.object({
|
|
2297
|
+
sessionId: z2.string(),
|
|
2298
|
+
approved: z2.boolean(),
|
|
2299
|
+
content: z2.string()
|
|
2378
2300
|
});
|
|
2379
|
-
var
|
|
2380
|
-
|
|
2301
|
+
var CycleCodingAgentKeyRequestSchema = z2.object({
|
|
2302
|
+
sessionId: z2.string(),
|
|
2303
|
+
rateLimitType: z2.string(),
|
|
2304
|
+
resetsAt: z2.string().optional()
|
|
2381
2305
|
});
|
|
2382
|
-
var
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2306
|
+
var StartChildCloudBuildRequestSchema = z2.object({
|
|
2307
|
+
sessionId: z2.string(),
|
|
2308
|
+
childTaskId: z2.string()
|
|
2309
|
+
});
|
|
2310
|
+
var StopChildBuildRequestSchema = z2.object({
|
|
2311
|
+
sessionId: z2.string(),
|
|
2312
|
+
childTaskId: z2.string()
|
|
2313
|
+
});
|
|
2314
|
+
var ApproveAndMergePRRequestSchema = z2.object({
|
|
2315
|
+
sessionId: z2.string(),
|
|
2316
|
+
childTaskId: z2.string()
|
|
2317
|
+
});
|
|
2318
|
+
var PostChildChatMessageRequestSchema = z2.object({
|
|
2319
|
+
sessionId: z2.string(),
|
|
2320
|
+
childTaskId: z2.string(),
|
|
2321
|
+
message: z2.string().min(1)
|
|
2322
|
+
});
|
|
2323
|
+
var UpdateChildStatusRequestSchema = z2.object({
|
|
2324
|
+
sessionId: z2.string(),
|
|
2325
|
+
childTaskId: z2.string(),
|
|
2326
|
+
status: z2.string()
|
|
2390
2327
|
});
|
|
2391
|
-
var
|
|
2392
|
-
projectId: z2.string(),
|
|
2328
|
+
var GetAgentStatusRequestSchema = z2.object({
|
|
2393
2329
|
taskId: z2.string()
|
|
2394
2330
|
});
|
|
2395
|
-
var
|
|
2396
|
-
|
|
2397
|
-
tagNames: z2.array(z2.string()).optional(),
|
|
2398
|
-
searchQuery: z2.string().optional(),
|
|
2399
|
-
statusFilters: z2.array(z2.string()).optional(),
|
|
2400
|
-
// Card types to include. Omitted/empty → defaults to ["task"] in the handler so
|
|
2401
|
-
// search doesn't surface incidents/suggestions unless asked. Enum validation lives
|
|
2402
|
-
// at the MCP tool layer (mirrors statusFilters).
|
|
2403
|
-
typeFilters: z2.array(z2.string()).optional(),
|
|
2404
|
-
assigneeId: z2.string().optional(),
|
|
2405
|
-
unassigned: z2.boolean().optional(),
|
|
2406
|
-
limit: z2.number().int().positive().optional().default(20)
|
|
2407
|
-
}).refine((p) => !(p.unassigned && p.assigneeId), {
|
|
2408
|
-
message: "Pass either assigneeId or unassigned, not both"
|
|
2331
|
+
var GetUiCliHistoryRequestSchema = z2.object({
|
|
2332
|
+
taskId: z2.string()
|
|
2409
2333
|
});
|
|
2410
|
-
var
|
|
2411
|
-
|
|
2334
|
+
var GetActivePtySessionRequestSchema = z2.object({
|
|
2335
|
+
taskId: z2.string()
|
|
2412
2336
|
});
|
|
2413
|
-
var
|
|
2414
|
-
|
|
2337
|
+
var ListActivePtySessionsRequestSchema = z2.object({
|
|
2338
|
+
taskId: z2.string()
|
|
2415
2339
|
});
|
|
2416
|
-
var
|
|
2417
|
-
|
|
2418
|
-
title: z2.string().min(1),
|
|
2419
|
-
description: z2.string().optional(),
|
|
2420
|
-
plan: z2.string().optional(),
|
|
2421
|
-
status: z2.string().optional(),
|
|
2422
|
-
requestingUserId: z2.string().optional()
|
|
2340
|
+
var SendSoftStopRequestSchema = z2.object({
|
|
2341
|
+
taskId: z2.string()
|
|
2423
2342
|
});
|
|
2424
|
-
var
|
|
2425
|
-
projectId: z2.string(),
|
|
2343
|
+
var StopTaskSessionRequestSchema = z2.object({
|
|
2426
2344
|
taskId: z2.string(),
|
|
2427
|
-
|
|
2428
|
-
description: z2.string().optional(),
|
|
2429
|
-
plan: z2.string().optional(),
|
|
2430
|
-
status: z2.string().optional(),
|
|
2431
|
-
assignedUserId: z2.string().nullish(),
|
|
2432
|
-
requestingUserId: z2.string().optional()
|
|
2345
|
+
sessionId: z2.string()
|
|
2433
2346
|
});
|
|
2434
|
-
var
|
|
2435
|
-
projectId: z2.string(),
|
|
2347
|
+
var FlushTaskQueueRequestSchema = z2.object({
|
|
2436
2348
|
taskId: z2.string(),
|
|
2437
|
-
|
|
2438
|
-
requestingUserId: z2.string().optional()
|
|
2349
|
+
softStop: z2.boolean().optional()
|
|
2439
2350
|
});
|
|
2440
|
-
var
|
|
2441
|
-
projectId: z2.string(),
|
|
2351
|
+
var CancelTaskQueuedMessageRequestSchema = z2.object({
|
|
2442
2352
|
taskId: z2.string(),
|
|
2443
|
-
|
|
2444
|
-
source: z2.string().optional()
|
|
2353
|
+
messageId: z2.string()
|
|
2445
2354
|
});
|
|
2446
|
-
var
|
|
2447
|
-
projectId: z2.string(),
|
|
2448
|
-
taskId: z2.string()
|
|
2449
|
-
});
|
|
2450
|
-
var QueryProjectGcpLogsRequestSchema = z2.object({
|
|
2451
|
-
projectId: z2.string(),
|
|
2452
|
-
env: z2.enum(["prod", "dev", "claudespace"]).optional(),
|
|
2453
|
-
severity: z2.enum(["DEBUG", "INFO", "NOTICE", "WARNING", "ERROR", "CRITICAL", "ALERT", "EMERGENCY"]).optional(),
|
|
2454
|
-
services: z2.array(z2.string().min(1).max(200)).max(25).optional(),
|
|
2455
|
-
sqlInstances: z2.array(z2.string().min(1).max(200)).max(25).optional(),
|
|
2456
|
-
allServices: z2.boolean().optional(),
|
|
2457
|
-
search: z2.string().max(256).optional(),
|
|
2458
|
-
filter: z2.string().max(1e3).optional(),
|
|
2459
|
-
startTime: z2.string().optional(),
|
|
2460
|
-
endTime: z2.string().optional(),
|
|
2461
|
-
limit: z2.number().int().min(1).max(200).optional().default(50),
|
|
2462
|
-
pageToken: z2.string().max(4096).optional()
|
|
2463
|
-
});
|
|
2464
|
-
var StartProjectBuildRequestSchema = z2.object({
|
|
2465
|
-
projectId: z2.string(),
|
|
2355
|
+
var FlushSingleQueuedMessageRequestSchema = z2.object({
|
|
2466
2356
|
taskId: z2.string(),
|
|
2467
|
-
|
|
2357
|
+
messageId: z2.string(),
|
|
2358
|
+
softStop: z2.boolean().optional()
|
|
2468
2359
|
});
|
|
2469
|
-
var
|
|
2470
|
-
projectId: z2.string(),
|
|
2360
|
+
var AnswerAgentQuestionRequestSchema = z2.object({
|
|
2471
2361
|
taskId: z2.string(),
|
|
2472
|
-
|
|
2362
|
+
requestId: z2.string(),
|
|
2363
|
+
answers: z2.record(z2.string(), z2.string())
|
|
2473
2364
|
});
|
|
2474
|
-
var
|
|
2475
|
-
|
|
2476
|
-
requestingUserId: z2.string().optional()
|
|
2365
|
+
var ClearAgentTodosRequestSchema = z2.object({
|
|
2366
|
+
taskId: z2.string()
|
|
2477
2367
|
});
|
|
2478
|
-
var
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2368
|
+
var AgentQuestionOptionSchema = z2.object({
|
|
2369
|
+
label: z2.string(),
|
|
2370
|
+
description: z2.string(),
|
|
2371
|
+
preview: z2.string().optional()
|
|
2482
2372
|
});
|
|
2483
|
-
var
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2373
|
+
var AgentQuestionSchema = z2.object({
|
|
2374
|
+
question: z2.string(),
|
|
2375
|
+
header: z2.string(),
|
|
2376
|
+
options: z2.array(AgentQuestionOptionSchema),
|
|
2377
|
+
multiSelect: z2.boolean().optional()
|
|
2487
2378
|
});
|
|
2488
|
-
var
|
|
2489
|
-
|
|
2379
|
+
var AskUserQuestionRequestSchema = z2.object({
|
|
2380
|
+
sessionId: z2.string(),
|
|
2381
|
+
question: z2.string().min(1),
|
|
2382
|
+
requestId: z2.string().min(1),
|
|
2383
|
+
questions: z2.array(AgentQuestionSchema).min(1)
|
|
2490
2384
|
});
|
|
2491
|
-
var
|
|
2492
|
-
|
|
2385
|
+
var EmitAgentEventRequestSchema = z2.object({
|
|
2386
|
+
sessionId: z2.string(),
|
|
2387
|
+
events: z2.array(AgentEventSchema).max(500)
|
|
2493
2388
|
});
|
|
2494
|
-
var
|
|
2495
|
-
|
|
2496
|
-
label: z2.string().max(200).optional(),
|
|
2497
|
-
/** Coding-agent key to launch under — validated pick-time (ownership + TUI availability) in the handler. */
|
|
2498
|
-
codingAgentKeyId: z2.string().optional(),
|
|
2499
|
-
/**
|
|
2500
|
-
* Session role. Constrained: other task-less modes fall through to the pm
|
|
2501
|
-
* runner in the pod entrypoint, and "review" would crash without a task.
|
|
2502
|
-
*/
|
|
2503
|
-
mode: z2.enum(["adhoc", "pm"]).optional(),
|
|
2504
|
-
/** Base branch to check out (defaults to the project's dev branch). */
|
|
2505
|
-
branch: z2.string().max(300).optional(),
|
|
2506
|
-
requestingUserId: z2.string().optional()
|
|
2507
|
-
});
|
|
2508
|
-
var StopAdhocSessionRequestSchema = z2.object({
|
|
2509
|
-
projectId: z2.string(),
|
|
2510
|
-
workspaceId: z2.string(),
|
|
2511
|
-
destroy: z2.boolean().optional(),
|
|
2512
|
-
requestingUserId: z2.string().optional()
|
|
2513
|
-
});
|
|
2514
|
-
var ResumeAdhocSessionRequestSchema = z2.object({
|
|
2515
|
-
projectId: z2.string(),
|
|
2516
|
-
workspaceId: z2.string(),
|
|
2517
|
-
requestingUserId: z2.string().optional()
|
|
2518
|
-
});
|
|
2519
|
-
var CreateProjectReleaseRequestSchema = z2.object({
|
|
2520
|
-
projectId: z2.string(),
|
|
2521
|
-
taskIds: z2.array(z2.string()).optional(),
|
|
2522
|
-
requestingUserId: z2.string().optional()
|
|
2523
|
-
});
|
|
2524
|
-
var ApproveProjectMergePRRequestSchema = z2.object({
|
|
2525
|
-
projectId: z2.string(),
|
|
2526
|
-
childTaskId: z2.string(),
|
|
2527
|
-
requestingUserId: z2.string().optional()
|
|
2389
|
+
var RefreshGithubTokenRequestSchema = z2.object({
|
|
2390
|
+
sessionId: z2.string()
|
|
2528
2391
|
});
|
|
2529
|
-
var
|
|
2530
|
-
|
|
2392
|
+
var ReportReviewSpawnFailureRequestSchema = z2.object({
|
|
2393
|
+
sessionId: z2.string(),
|
|
2394
|
+
reviewSessionId: z2.string(),
|
|
2395
|
+
error: z2.string().max(2e3).optional()
|
|
2396
|
+
});
|
|
2397
|
+
var SpawnTaskSessionRequestSchema = z2.object({
|
|
2398
|
+
taskId: z2.string(),
|
|
2399
|
+
kind: z2.enum(["tui", "shell"])
|
|
2400
|
+
});
|
|
2401
|
+
var SpawnTaskReviewRequestSchema = z2.object({
|
|
2531
2402
|
taskId: z2.string()
|
|
2532
2403
|
});
|
|
2533
|
-
var
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
description: z2.string().optional(),
|
|
2538
|
-
plan: z2.string().optional(),
|
|
2539
|
-
ordinal: z2.number().int().nonnegative().optional(),
|
|
2540
|
-
storyPointValue: z2.number().int().positive().optional(),
|
|
2541
|
-
followParentStatus: z2.boolean().optional(),
|
|
2542
|
-
/** Sibling subtask ids or slugs this subtask blocks on (explicit dependency
|
|
2543
|
-
* metadata — preferred over encoding order in plan text / ordinal). */
|
|
2544
|
-
dependsOn: z2.array(z2.string().min(1)).max(32).optional(),
|
|
2545
|
-
requestingUserId: z2.string().optional()
|
|
2404
|
+
var ReportSessionSpawnFailureRequestSchema = z2.object({
|
|
2405
|
+
sessionId: z2.string(),
|
|
2406
|
+
spawnedSessionId: z2.string(),
|
|
2407
|
+
error: z2.string().max(2e3).optional()
|
|
2546
2408
|
});
|
|
2547
|
-
var
|
|
2548
|
-
|
|
2549
|
-
subtaskId: z2.string(),
|
|
2550
|
-
title: z2.string().optional(),
|
|
2551
|
-
description: z2.string().optional(),
|
|
2552
|
-
plan: z2.string().optional(),
|
|
2553
|
-
status: z2.string().optional(),
|
|
2554
|
-
ordinal: z2.number().int().nonnegative().optional(),
|
|
2555
|
-
storyPointValue: z2.number().int().positive().optional(),
|
|
2556
|
-
followParentStatus: z2.boolean().optional(),
|
|
2557
|
-
requestingUserId: z2.string().optional()
|
|
2409
|
+
var RefreshGithubTokenResponseSchema = z2.object({
|
|
2410
|
+
token: z2.string()
|
|
2558
2411
|
});
|
|
2559
|
-
var
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2412
|
+
var PTY_FRAME_MAX_CHARS = 256 * 1024;
|
|
2413
|
+
var PTY_MAX_DIMENSION = 1e3;
|
|
2414
|
+
var PtyOutputRequestSchema = z2.object({
|
|
2415
|
+
sessionId: z2.string(),
|
|
2416
|
+
data: z2.string().max(PTY_FRAME_MAX_CHARS),
|
|
2417
|
+
cols: z2.number().int().positive().max(PTY_MAX_DIMENSION).optional(),
|
|
2418
|
+
rows: z2.number().int().positive().max(PTY_MAX_DIMENSION).optional()
|
|
2419
|
+
});
|
|
2420
|
+
var PtyEndedRequestSchema = z2.object({
|
|
2421
|
+
sessionId: z2.string()
|
|
2422
|
+
});
|
|
2423
|
+
var PtyInputRequestSchema = z2.object({
|
|
2424
|
+
sessionId: z2.string(),
|
|
2425
|
+
data: z2.string().max(PTY_FRAME_MAX_CHARS)
|
|
2426
|
+
});
|
|
2427
|
+
var PtyResizeRequestSchema = z2.object({
|
|
2428
|
+
sessionId: z2.string(),
|
|
2429
|
+
cols: z2.number().int().positive().max(PTY_MAX_DIMENSION),
|
|
2430
|
+
rows: z2.number().int().positive().max(PTY_MAX_DIMENSION)
|
|
2431
|
+
});
|
|
2432
|
+
var PtyAttachRequestSchema = z2.object({
|
|
2433
|
+
sessionId: z2.string()
|
|
2434
|
+
});
|
|
2435
|
+
var PtyChatEventPayloadSchema = z2.discriminatedUnion("kind", [
|
|
2436
|
+
z2.object({
|
|
2437
|
+
kind: z2.literal("init"),
|
|
2438
|
+
model: z2.string().max(200),
|
|
2439
|
+
claudeSessionId: z2.string().max(100).optional()
|
|
2440
|
+
}),
|
|
2441
|
+
z2.object({ kind: z2.literal("user_text"), text: z2.string().max(16384) }),
|
|
2442
|
+
z2.object({ kind: z2.literal("assistant_text"), text: z2.string().max(16384) }),
|
|
2443
|
+
z2.object({
|
|
2444
|
+
kind: z2.literal("tool_use"),
|
|
2445
|
+
name: z2.string().max(200),
|
|
2446
|
+
// Compact preview: JSON.stringify(input) truncated agent-side.
|
|
2447
|
+
input: z2.string().max(2e3)
|
|
2448
|
+
}),
|
|
2449
|
+
z2.object({ kind: z2.literal("turn_end") })
|
|
2450
|
+
]);
|
|
2451
|
+
var PtyChatEventRequestSchema = z2.object({
|
|
2452
|
+
sessionId: z2.string(),
|
|
2453
|
+
event: PtyChatEventPayloadSchema
|
|
2563
2454
|
});
|
|
2564
|
-
var
|
|
2565
|
-
|
|
2566
|
-
taskId: z2.string(),
|
|
2567
|
-
limit: z2.number().int().positive().optional().default(20)
|
|
2455
|
+
var PtyChatAttachRequestSchema = z2.object({
|
|
2456
|
+
sessionId: z2.string()
|
|
2568
2457
|
});
|
|
2569
|
-
var
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2458
|
+
var CreatePRResponseSchema = z2.object({
|
|
2459
|
+
prNumber: z2.number().int().positive(),
|
|
2460
|
+
prUrl: z2.string().url()
|
|
2461
|
+
});
|
|
2462
|
+
var PostToChatResponseSchema = z2.object({
|
|
2463
|
+
messageId: z2.string()
|
|
2574
2464
|
});
|
|
2575
|
-
var
|
|
2576
|
-
projectId: z2.string(),
|
|
2465
|
+
var UpdateTaskStatusResponseSchema = z2.object({
|
|
2577
2466
|
taskId: z2.string(),
|
|
2578
|
-
|
|
2579
|
-
requestingUserId: z2.string().optional()
|
|
2467
|
+
status: z2.string()
|
|
2580
2468
|
});
|
|
2581
|
-
var
|
|
2582
|
-
|
|
2583
|
-
suggestionId: z2.string(),
|
|
2584
|
-
value: z2.union([z2.literal(1), z2.literal(-1)]),
|
|
2585
|
-
requestingUserId: z2.string().optional()
|
|
2469
|
+
var StoreSessionIdResponseSchema = z2.object({
|
|
2470
|
+
success: z2.boolean()
|
|
2586
2471
|
});
|
|
2587
|
-
var
|
|
2588
|
-
|
|
2589
|
-
taskId: z2.string()
|
|
2472
|
+
var HeartbeatResponseSchema = z2.object({
|
|
2473
|
+
acknowledged: z2.boolean()
|
|
2590
2474
|
});
|
|
2591
|
-
var
|
|
2592
|
-
|
|
2593
|
-
|
|
2475
|
+
var SessionStartResponseSchema = z2.object({
|
|
2476
|
+
sessionId: z2.string(),
|
|
2477
|
+
startedAt: z2.string()
|
|
2594
2478
|
});
|
|
2595
|
-
var
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
fileId: z2.string(),
|
|
2599
|
-
/** Byte offset into text content (paging large logs/JSON). Default 0. */
|
|
2600
|
-
offset: z2.number().int().nonnegative().optional(),
|
|
2601
|
-
/** Max bytes of text content to return from `offset`. Server default applies. */
|
|
2602
|
-
maxBytes: z2.number().int().positive().optional()
|
|
2479
|
+
var SessionStopResponseSchema = z2.object({
|
|
2480
|
+
sessionId: z2.string(),
|
|
2481
|
+
stoppedAt: z2.string()
|
|
2603
2482
|
});
|
|
2604
|
-
var
|
|
2605
|
-
|
|
2606
|
-
taskId: z2.string(),
|
|
2607
|
-
fileName: z2.string().min(1).max(255),
|
|
2608
|
-
mimeType: z2.string().min(1).max(128),
|
|
2609
|
-
fileSize: z2.number().int().positive().max(MAX_FILE_SIZE_BYTES),
|
|
2610
|
-
requestingUserId: z2.string().optional()
|
|
2483
|
+
var DeleteSubtaskResponseSchema = z2.object({
|
|
2484
|
+
deleted: z2.boolean()
|
|
2611
2485
|
});
|
|
2612
|
-
var
|
|
2613
|
-
|
|
2614
|
-
taskId: z2.string(),
|
|
2615
|
-
fileId: z2.string(),
|
|
2616
|
-
/** When set, the attachment is also posted to the task chat with this text. */
|
|
2617
|
-
comment: z2.string().max(2e3).optional(),
|
|
2618
|
-
requestingUserId: z2.string().optional()
|
|
2486
|
+
var ListAccessibleProjectsRequestSchema = z3.object({
|
|
2487
|
+
pageSize: z3.number().int().positive().max(100).optional().default(100)
|
|
2619
2488
|
});
|
|
2620
|
-
var
|
|
2621
|
-
projectId:
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2489
|
+
var ListProjectTasksRequestSchema = z3.object({
|
|
2490
|
+
projectId: z3.string(),
|
|
2491
|
+
status: z3.string().optional(),
|
|
2492
|
+
assigneeId: z3.string().optional(),
|
|
2493
|
+
unassigned: z3.boolean().optional(),
|
|
2494
|
+
limit: z3.number().int().positive().optional().default(50)
|
|
2495
|
+
}).refine((p) => !(p.unassigned && p.assigneeId), {
|
|
2496
|
+
message: "Pass either assigneeId or unassigned, not both"
|
|
2628
2497
|
});
|
|
2629
|
-
var
|
|
2630
|
-
projectId:
|
|
2498
|
+
var GetProjectTaskRequestSchema = z3.object({
|
|
2499
|
+
projectId: z3.string(),
|
|
2500
|
+
taskId: z3.string()
|
|
2631
2501
|
});
|
|
2632
|
-
var
|
|
2633
|
-
projectId:
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2502
|
+
var SearchProjectTasksRequestSchema = z3.object({
|
|
2503
|
+
projectId: z3.string(),
|
|
2504
|
+
tagNames: z3.array(z3.string()).optional(),
|
|
2505
|
+
searchQuery: z3.string().optional(),
|
|
2506
|
+
statusFilters: z3.array(z3.string()).optional(),
|
|
2507
|
+
// Card types to include. Omitted/empty → defaults to ["task"] in the handler so
|
|
2508
|
+
// search doesn't surface incidents/suggestions unless asked. Enum validation lives
|
|
2509
|
+
// at the MCP tool layer (mirrors statusFilters).
|
|
2510
|
+
typeFilters: z3.array(z3.string()).optional(),
|
|
2511
|
+
assigneeId: z3.string().optional(),
|
|
2512
|
+
unassigned: z3.boolean().optional(),
|
|
2513
|
+
limit: z3.number().int().positive().optional().default(20)
|
|
2514
|
+
}).refine((p) => !(p.unassigned && p.assigneeId), {
|
|
2515
|
+
message: "Pass either assigneeId or unassigned, not both"
|
|
2637
2516
|
});
|
|
2638
|
-
var
|
|
2639
|
-
projectId:
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2517
|
+
var ListProjectTagsRequestSchema = z3.object({
|
|
2518
|
+
projectId: z3.string()
|
|
2519
|
+
});
|
|
2520
|
+
var GetProjectSummaryRequestSchema = z3.object({
|
|
2521
|
+
projectId: z3.string()
|
|
2522
|
+
});
|
|
2523
|
+
var CreateProjectTaskRequestSchema = z3.object({
|
|
2524
|
+
projectId: z3.string(),
|
|
2525
|
+
title: z3.string().min(1),
|
|
2526
|
+
description: z3.string().optional(),
|
|
2527
|
+
plan: z3.string().optional(),
|
|
2528
|
+
status: z3.string().optional(),
|
|
2529
|
+
requestingUserId: z3.string().optional()
|
|
2530
|
+
});
|
|
2531
|
+
var UpdateProjectTaskRequestSchema = z3.object({
|
|
2532
|
+
projectId: z3.string(),
|
|
2533
|
+
taskId: z3.string(),
|
|
2534
|
+
title: z3.string().optional(),
|
|
2535
|
+
description: z3.string().optional(),
|
|
2536
|
+
plan: z3.string().optional(),
|
|
2537
|
+
status: z3.string().optional(),
|
|
2538
|
+
assignedUserId: z3.string().nullish(),
|
|
2539
|
+
requestingUserId: z3.string().optional()
|
|
2540
|
+
});
|
|
2541
|
+
var PostToProjectTaskChatRequestSchema = z3.object({
|
|
2542
|
+
projectId: z3.string(),
|
|
2543
|
+
taskId: z3.string(),
|
|
2544
|
+
content: z3.string(),
|
|
2545
|
+
requestingUserId: z3.string().optional()
|
|
2546
|
+
});
|
|
2547
|
+
var GetProjectTaskCliRequestSchema = z3.object({
|
|
2548
|
+
projectId: z3.string(),
|
|
2549
|
+
taskId: z3.string(),
|
|
2550
|
+
limit: z3.number().int().positive().optional().default(50),
|
|
2551
|
+
source: z3.string().optional()
|
|
2552
|
+
});
|
|
2553
|
+
var GetProjectTaskSessionsRequestSchema = z3.object({
|
|
2554
|
+
projectId: z3.string(),
|
|
2555
|
+
taskId: z3.string()
|
|
2556
|
+
});
|
|
2557
|
+
var QueryProjectGcpLogsRequestSchema = z3.object({
|
|
2558
|
+
projectId: z3.string(),
|
|
2559
|
+
env: z3.enum(["prod", "dev", "claudespace"]).optional(),
|
|
2560
|
+
severity: z3.enum(["DEBUG", "INFO", "NOTICE", "WARNING", "ERROR", "CRITICAL", "ALERT", "EMERGENCY"]).optional(),
|
|
2561
|
+
services: z3.array(z3.string().min(1).max(200)).max(25).optional(),
|
|
2562
|
+
sqlInstances: z3.array(z3.string().min(1).max(200)).max(25).optional(),
|
|
2563
|
+
allServices: z3.boolean().optional(),
|
|
2564
|
+
search: z3.string().max(256).optional(),
|
|
2565
|
+
filter: z3.string().max(1e3).optional(),
|
|
2566
|
+
startTime: z3.string().optional(),
|
|
2567
|
+
endTime: z3.string().optional(),
|
|
2568
|
+
limit: z3.number().int().min(1).max(200).optional().default(50),
|
|
2569
|
+
pageToken: z3.string().max(4096).optional()
|
|
2570
|
+
});
|
|
2571
|
+
var StartProjectBuildRequestSchema = z3.object({
|
|
2572
|
+
projectId: z3.string(),
|
|
2573
|
+
taskId: z3.string(),
|
|
2574
|
+
requestingUserId: z3.string().optional()
|
|
2575
|
+
});
|
|
2576
|
+
var StopProjectBuildRequestSchema = z3.object({
|
|
2577
|
+
projectId: z3.string(),
|
|
2578
|
+
taskId: z3.string(),
|
|
2579
|
+
requestingUserId: z3.string().optional()
|
|
2580
|
+
});
|
|
2581
|
+
var StartProjectWorkspaceRequestSchema = z3.object({
|
|
2582
|
+
projectId: z3.string(),
|
|
2583
|
+
requestingUserId: z3.string().optional()
|
|
2584
|
+
});
|
|
2585
|
+
var StopProjectWorkspaceRequestSchema = z3.object({
|
|
2586
|
+
projectId: z3.string(),
|
|
2587
|
+
destroy: z3.boolean().optional(),
|
|
2588
|
+
requestingUserId: z3.string().optional()
|
|
2589
|
+
});
|
|
2590
|
+
var ListMyLiveSessionsRequestSchema = z3.object({
|
|
2591
|
+
projectId: z3.string(),
|
|
2592
|
+
/** Admin-only: list another member's sessions instead of the caller's. */
|
|
2593
|
+
targetUserId: z3.string().optional()
|
|
2643
2594
|
});
|
|
2644
|
-
var
|
|
2645
|
-
projectId:
|
|
2646
|
-
taskId: z2.string()
|
|
2595
|
+
var ListProjectSessionGroupsRequestSchema = z3.object({
|
|
2596
|
+
projectId: z3.string()
|
|
2647
2597
|
});
|
|
2648
|
-
var
|
|
2649
|
-
projectId:
|
|
2650
|
-
cardStatuses: z2.array(z2.string()).optional(),
|
|
2651
|
-
testStatuses: z2.array(z2.enum(["open", "approved", "rejected"])).optional()
|
|
2598
|
+
var GetProjectAvailableTuisRequestSchema = z3.object({
|
|
2599
|
+
projectId: z3.string()
|
|
2652
2600
|
});
|
|
2653
|
-
var
|
|
2654
|
-
projectId:
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2601
|
+
var StartAdhocSessionRequestSchema = z3.object({
|
|
2602
|
+
projectId: z3.string(),
|
|
2603
|
+
label: z3.string().max(200).optional(),
|
|
2604
|
+
/** Coding-agent key to launch under — validated pick-time (ownership + TUI availability) in the handler. */
|
|
2605
|
+
codingAgentKeyId: z3.string().optional(),
|
|
2606
|
+
/**
|
|
2607
|
+
* Session role. Constrained: other task-less modes fall through to the pm
|
|
2608
|
+
* runner in the pod entrypoint, and "review" would crash without a task.
|
|
2609
|
+
*/
|
|
2610
|
+
mode: z3.enum(["adhoc", "pm"]).optional(),
|
|
2611
|
+
/** Base branch to check out (defaults to the project's dev branch). */
|
|
2612
|
+
branch: z3.string().max(300).optional(),
|
|
2613
|
+
requestingUserId: z3.string().optional()
|
|
2614
|
+
});
|
|
2615
|
+
var StopAdhocSessionRequestSchema = z3.object({
|
|
2616
|
+
projectId: z3.string(),
|
|
2617
|
+
workspaceId: z3.string(),
|
|
2618
|
+
destroy: z3.boolean().optional(),
|
|
2619
|
+
requestingUserId: z3.string().optional()
|
|
2620
|
+
});
|
|
2621
|
+
var ResumeAdhocSessionRequestSchema = z3.object({
|
|
2622
|
+
projectId: z3.string(),
|
|
2623
|
+
workspaceId: z3.string(),
|
|
2624
|
+
requestingUserId: z3.string().optional()
|
|
2625
|
+
});
|
|
2626
|
+
var CreateProjectReleaseRequestSchema = z3.object({
|
|
2627
|
+
projectId: z3.string(),
|
|
2628
|
+
taskIds: z3.array(z3.string()).optional(),
|
|
2629
|
+
requestingUserId: z3.string().optional()
|
|
2630
|
+
});
|
|
2631
|
+
var ApproveProjectMergePRRequestSchema = z3.object({
|
|
2632
|
+
projectId: z3.string(),
|
|
2633
|
+
childTaskId: z3.string(),
|
|
2634
|
+
requestingUserId: z3.string().optional()
|
|
2635
|
+
});
|
|
2636
|
+
var ListProjectSubtasksRequestSchema = z3.object({
|
|
2637
|
+
projectId: z3.string(),
|
|
2638
|
+
taskId: z3.string()
|
|
2639
|
+
});
|
|
2640
|
+
var CreateProjectSubtaskRequestSchema = z3.object({
|
|
2641
|
+
projectId: z3.string(),
|
|
2642
|
+
parentTaskId: z3.string(),
|
|
2643
|
+
title: z3.string().min(1),
|
|
2644
|
+
description: z3.string().optional(),
|
|
2645
|
+
plan: z3.string().optional(),
|
|
2646
|
+
ordinal: z3.number().int().nonnegative().optional(),
|
|
2647
|
+
storyPointValue: z3.number().int().positive().optional(),
|
|
2648
|
+
followParentStatus: z3.boolean().optional(),
|
|
2649
|
+
/** Sibling subtask ids or slugs this subtask blocks on (explicit dependency
|
|
2650
|
+
* metadata — preferred over encoding order in plan text / ordinal). */
|
|
2651
|
+
dependsOn: z3.array(z3.string().min(1)).max(32).optional(),
|
|
2652
|
+
requestingUserId: z3.string().optional()
|
|
2653
|
+
});
|
|
2654
|
+
var UpdateProjectSubtaskRequestSchema = z3.object({
|
|
2655
|
+
projectId: z3.string(),
|
|
2656
|
+
subtaskId: z3.string(),
|
|
2657
|
+
title: z3.string().optional(),
|
|
2658
|
+
description: z3.string().optional(),
|
|
2659
|
+
plan: z3.string().optional(),
|
|
2660
|
+
status: z3.string().optional(),
|
|
2661
|
+
ordinal: z3.number().int().nonnegative().optional(),
|
|
2662
|
+
storyPointValue: z3.number().int().positive().optional(),
|
|
2663
|
+
followParentStatus: z3.boolean().optional(),
|
|
2664
|
+
requestingUserId: z3.string().optional()
|
|
2665
|
+
});
|
|
2666
|
+
var DeleteProjectSubtaskRequestSchema = z3.object({
|
|
2667
|
+
projectId: z3.string(),
|
|
2668
|
+
subtaskId: z3.string(),
|
|
2669
|
+
requestingUserId: z3.string().optional()
|
|
2670
|
+
});
|
|
2671
|
+
var GetProjectTaskChatRequestSchema = z3.object({
|
|
2672
|
+
projectId: z3.string(),
|
|
2673
|
+
taskId: z3.string(),
|
|
2674
|
+
limit: z3.number().int().positive().optional().default(20)
|
|
2675
|
+
});
|
|
2676
|
+
var AddProjectTaskDependencyRequestSchema = z3.object({
|
|
2677
|
+
projectId: z3.string(),
|
|
2678
|
+
taskId: z3.string(),
|
|
2679
|
+
dependsOnSlugOrId: z3.string(),
|
|
2680
|
+
requestingUserId: z3.string().optional()
|
|
2681
|
+
});
|
|
2682
|
+
var RemoveProjectTaskDependencyRequestSchema = z3.object({
|
|
2683
|
+
projectId: z3.string(),
|
|
2684
|
+
taskId: z3.string(),
|
|
2685
|
+
dependsOnSlugOrId: z3.string(),
|
|
2686
|
+
requestingUserId: z3.string().optional()
|
|
2687
|
+
});
|
|
2688
|
+
var VoteProjectSuggestionRequestSchema = z3.object({
|
|
2689
|
+
projectId: z3.string(),
|
|
2690
|
+
suggestionId: z3.string(),
|
|
2691
|
+
value: z3.union([z3.literal(1), z3.literal(-1)]),
|
|
2692
|
+
requestingUserId: z3.string().optional()
|
|
2693
|
+
});
|
|
2694
|
+
var GetProjectTaskDependenciesRequestSchema = z3.object({
|
|
2695
|
+
projectId: z3.string(),
|
|
2696
|
+
taskId: z3.string()
|
|
2697
|
+
});
|
|
2698
|
+
var ListProjectTaskFilesRequestSchema = z3.object({
|
|
2699
|
+
projectId: z3.string(),
|
|
2700
|
+
taskId: z3.string()
|
|
2701
|
+
});
|
|
2702
|
+
var GetProjectAttachmentRequestSchema = z3.object({
|
|
2703
|
+
projectId: z3.string(),
|
|
2704
|
+
taskId: z3.string(),
|
|
2705
|
+
fileId: z3.string(),
|
|
2706
|
+
/** Byte offset into text content (paging large logs/JSON). Default 0. */
|
|
2707
|
+
offset: z3.number().int().nonnegative().optional(),
|
|
2708
|
+
/** Max bytes of text content to return from `offset`. Server default applies. */
|
|
2709
|
+
maxBytes: z3.number().int().positive().optional()
|
|
2710
|
+
});
|
|
2711
|
+
var RequestProjectFileUploadRequestSchema = z3.object({
|
|
2712
|
+
projectId: z3.string(),
|
|
2713
|
+
taskId: z3.string(),
|
|
2714
|
+
fileName: z3.string().min(1).max(255),
|
|
2715
|
+
mimeType: z3.string().min(1).max(128),
|
|
2716
|
+
fileSize: z3.number().int().positive().max(MAX_FILE_SIZE_BYTES),
|
|
2717
|
+
requestingUserId: z3.string().optional()
|
|
2718
|
+
});
|
|
2719
|
+
var ConfirmProjectFileUploadRequestSchema = z3.object({
|
|
2720
|
+
projectId: z3.string(),
|
|
2721
|
+
taskId: z3.string(),
|
|
2722
|
+
fileId: z3.string(),
|
|
2723
|
+
/** When set, the attachment is also posted to the task chat with this text. */
|
|
2724
|
+
comment: z3.string().max(2e3).optional(),
|
|
2725
|
+
requestingUserId: z3.string().optional()
|
|
2726
|
+
});
|
|
2727
|
+
var CreateProjectPullRequestRequestSchema = z3.object({
|
|
2728
|
+
projectId: z3.string(),
|
|
2729
|
+
taskId: z3.string(),
|
|
2730
|
+
title: z3.string().min(1),
|
|
2731
|
+
body: z3.string(),
|
|
2732
|
+
head: z3.string().optional(),
|
|
2733
|
+
base: z3.string().optional(),
|
|
2734
|
+
requestingUserId: z3.string().optional()
|
|
2735
|
+
});
|
|
2736
|
+
var ListProjectMembersRequestSchema = z3.object({
|
|
2737
|
+
projectId: z3.string()
|
|
2738
|
+
});
|
|
2739
|
+
var AddProjectTaskReviewerRequestSchema = z3.object({
|
|
2740
|
+
projectId: z3.string(),
|
|
2741
|
+
taskId: z3.string(),
|
|
2742
|
+
userId: z3.string(),
|
|
2743
|
+
requestingUserId: z3.string().optional()
|
|
2744
|
+
});
|
|
2745
|
+
var RemoveProjectTaskReviewerRequestSchema = z3.object({
|
|
2746
|
+
projectId: z3.string(),
|
|
2747
|
+
taskId: z3.string(),
|
|
2748
|
+
userId: z3.string(),
|
|
2749
|
+
requestingUserId: z3.string().optional()
|
|
2750
|
+
});
|
|
2751
|
+
var ListProjectManualTestsRequestSchema = z3.object({
|
|
2752
|
+
projectId: z3.string(),
|
|
2753
|
+
taskId: z3.string()
|
|
2754
|
+
});
|
|
2755
|
+
var QueryProjectManualTestsRequestSchema = z3.object({
|
|
2756
|
+
projectId: z3.string(),
|
|
2757
|
+
cardStatuses: z3.array(z3.string()).optional(),
|
|
2758
|
+
testStatuses: z3.array(z3.enum(["open", "approved", "rejected"])).optional()
|
|
2759
|
+
});
|
|
2760
|
+
var SetProjectManualTestsRequestSchema = z3.object({
|
|
2761
|
+
projectId: z3.string(),
|
|
2762
|
+
taskId: z3.string(),
|
|
2763
|
+
items: z3.array(z3.object({ title: z3.string().min(1) })).min(1),
|
|
2764
|
+
requestingUserId: z3.string().optional()
|
|
2765
|
+
});
|
|
2766
|
+
var EditProjectManualTestRequestSchema = z3.object({
|
|
2767
|
+
projectId: z3.string(),
|
|
2768
|
+
taskId: z3.string(),
|
|
2769
|
+
title: z3.string().min(1),
|
|
2770
|
+
newTitle: z3.string().min(1),
|
|
2771
|
+
requestingUserId: z3.string().optional()
|
|
2772
|
+
});
|
|
2773
|
+
var RemoveProjectManualTestRequestSchema = z3.object({
|
|
2774
|
+
projectId: z3.string(),
|
|
2775
|
+
taskId: z3.string(),
|
|
2776
|
+
title: z3.string().min(1),
|
|
2777
|
+
requestingUserId: z3.string().optional()
|
|
2778
|
+
});
|
|
2779
|
+
var ApproveProjectManualTestRequestSchema = z3.object({
|
|
2780
|
+
projectId: z3.string(),
|
|
2781
|
+
taskId: z3.string(),
|
|
2782
|
+
title: z3.string().min(1),
|
|
2783
|
+
requestingUserId: z3.string().optional()
|
|
2784
|
+
});
|
|
2785
|
+
var RejectProjectManualTestRequestSchema = z3.object({
|
|
2786
|
+
projectId: z3.string(),
|
|
2787
|
+
taskId: z3.string(),
|
|
2788
|
+
title: z3.string().min(1),
|
|
2789
|
+
reason: z3.string().min(1).max(2e3),
|
|
2790
|
+
requestingUserId: z3.string().optional()
|
|
2791
|
+
});
|
|
2792
|
+
var CreateProjectSuggestionRequestSchema = z3.object({
|
|
2793
|
+
projectId: z3.string(),
|
|
2794
|
+
title: z3.string().min(1),
|
|
2795
|
+
description: z3.string().optional(),
|
|
2796
|
+
tagNames: z3.array(z3.string()).optional(),
|
|
2797
|
+
requestingUserId: z3.string().optional()
|
|
2798
|
+
});
|
|
2799
|
+
var ProjectTagContextPathSchema = z4.object({
|
|
2800
|
+
type: z4.enum(["rule", "doc", "file", "folder"]),
|
|
2801
|
+
path: z4.string().min(1).max(500),
|
|
2802
|
+
label: z4.string().max(100).optional()
|
|
2803
|
+
});
|
|
2804
|
+
var hexColor = z4.string().regex(/^#[0-9a-fA-F]{6}$/, "Expected #RRGGBB hex color");
|
|
2805
|
+
var CreateProjectTagRequestSchema = z4.object({
|
|
2806
|
+
projectId: z4.string(),
|
|
2807
|
+
name: z4.string().min(1).max(50),
|
|
2808
|
+
color: hexColor.optional(),
|
|
2809
|
+
description: z4.string().max(500).optional(),
|
|
2810
|
+
contextPaths: z4.array(ProjectTagContextPathSchema).max(20).optional(),
|
|
2811
|
+
requestingUserId: z4.string().optional()
|
|
2812
|
+
});
|
|
2813
|
+
var UpdateProjectTagRequestSchema = z4.object({
|
|
2814
|
+
projectId: z4.string(),
|
|
2815
|
+
tagId: z4.string(),
|
|
2816
|
+
name: z4.string().min(1).max(50).optional(),
|
|
2817
|
+
color: hexColor.optional(),
|
|
2818
|
+
description: z4.string().max(500).optional(),
|
|
2819
|
+
/** Full replacement of the tag's context links when provided. */
|
|
2820
|
+
contextPaths: z4.array(ProjectTagContextPathSchema).max(20).optional(),
|
|
2821
|
+
requestingUserId: z4.string().optional()
|
|
2822
|
+
});
|
|
2823
|
+
var PostToProjectChatRequestSchema = z4.object({
|
|
2824
|
+
projectId: z4.string(),
|
|
2825
|
+
content: z4.string().min(1).max(2e4),
|
|
2826
|
+
requestingUserId: z4.string().optional()
|
|
2827
|
+
});
|
|
2828
|
+
var StartTagAuditRequestSchema = z4.object({
|
|
2829
|
+
projectId: z4.string(),
|
|
2830
|
+
requestingUserId: z4.string().optional()
|
|
2831
|
+
});
|
|
2832
|
+
var StartTaskAuditRequestSchema = z4.object({
|
|
2833
|
+
projectId: z4.string(),
|
|
2834
|
+
taskIds: z4.array(z4.string()).min(1).max(20),
|
|
2835
|
+
requestingUserId: z4.string().optional()
|
|
2836
|
+
});
|
|
2837
|
+
var ReportTaskAuditResultRequestSchema = z4.object({
|
|
2838
|
+
projectId: z4.string(),
|
|
2839
|
+
taskId: z4.string(),
|
|
2840
|
+
summary: z4.string(),
|
|
2841
|
+
turnGrades: z4.array(
|
|
2842
|
+
z4.object({
|
|
2843
|
+
turnIndex: z4.number(),
|
|
2844
|
+
phase: z4.enum(["planning", "building", "human"]),
|
|
2845
|
+
grade: z4.enum(["correct", "neutral", "blunder"]),
|
|
2846
|
+
reasoning: z4.string(),
|
|
2847
|
+
eventType: z4.string(),
|
|
2848
|
+
eventSummary: z4.string()
|
|
2849
|
+
})
|
|
2850
|
+
),
|
|
2851
|
+
planningAccuracy: z4.number().nullable(),
|
|
2852
|
+
buildingAccuracy: z4.number().nullable(),
|
|
2853
|
+
humanAccuracy: z4.number().nullable(),
|
|
2854
|
+
planningCorrect: z4.number(),
|
|
2855
|
+
planningNeutral: z4.number(),
|
|
2856
|
+
planningBlunder: z4.number(),
|
|
2857
|
+
buildingCorrect: z4.number(),
|
|
2858
|
+
buildingNeutral: z4.number(),
|
|
2859
|
+
buildingBlunder: z4.number(),
|
|
2860
|
+
humanCorrect: z4.number(),
|
|
2861
|
+
humanNeutral: z4.number(),
|
|
2862
|
+
humanBlunder: z4.number(),
|
|
2863
|
+
humanEvaluations: z4.array(
|
|
2864
|
+
z4.object({
|
|
2865
|
+
messageIndex: z4.number(),
|
|
2866
|
+
rating: z4.union([z4.literal(-1), z4.literal(0), z4.literal(1)]),
|
|
2867
|
+
reasoning: z4.string()
|
|
2868
|
+
})
|
|
2869
|
+
).optional(),
|
|
2870
|
+
suggestionIds: z4.array(z4.string()),
|
|
2871
|
+
auditCostUsd: z4.number().nullable(),
|
|
2872
|
+
model: z4.string().nullable(),
|
|
2873
|
+
/** When set, the audit is marked failed with this message instead. */
|
|
2874
|
+
error: z4.string().optional()
|
|
2658
2875
|
});
|
|
2659
|
-
var
|
|
2660
|
-
projectId:
|
|
2661
|
-
|
|
2662
|
-
title: z2.string().min(1),
|
|
2663
|
-
newTitle: z2.string().min(1),
|
|
2664
|
-
requestingUserId: z2.string().optional()
|
|
2876
|
+
var GetTaskAuditsRequestSchema = z4.object({
|
|
2877
|
+
projectId: z4.string(),
|
|
2878
|
+
limit: z4.number().int().positive().max(200).optional().default(50)
|
|
2665
2879
|
});
|
|
2666
|
-
var
|
|
2667
|
-
projectId:
|
|
2668
|
-
|
|
2669
|
-
title: z2.string().min(1),
|
|
2670
|
-
requestingUserId: z2.string().optional()
|
|
2880
|
+
var GetTaskAuditRequestSchema = z4.object({
|
|
2881
|
+
projectId: z4.string(),
|
|
2882
|
+
auditId: z4.string()
|
|
2671
2883
|
});
|
|
2672
|
-
var
|
|
2673
|
-
projectId:
|
|
2674
|
-
taskId: z2.string(),
|
|
2675
|
-
title: z2.string().min(1),
|
|
2676
|
-
requestingUserId: z2.string().optional()
|
|
2884
|
+
var GetTaskAuditAggregatesRequestSchema = z4.object({
|
|
2885
|
+
projectId: z4.string()
|
|
2677
2886
|
});
|
|
2678
|
-
var
|
|
2679
|
-
projectId:
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
reason: z2.string().min(1).max(2e3),
|
|
2683
|
-
requestingUserId: z2.string().optional()
|
|
2887
|
+
var DeleteTaskAuditRequestSchema = z4.object({
|
|
2888
|
+
projectId: z4.string(),
|
|
2889
|
+
auditId: z4.string(),
|
|
2890
|
+
requestingUserId: z4.string().optional()
|
|
2684
2891
|
});
|
|
2685
|
-
var
|
|
2686
|
-
|
|
2687
|
-
title: z2.string().min(1),
|
|
2688
|
-
description: z2.string().optional(),
|
|
2689
|
-
tagNames: z2.array(z2.string()).optional(),
|
|
2690
|
-
requestingUserId: z2.string().optional()
|
|
2892
|
+
var MarkInitialPromptSubmittedRequestSchema = z4.object({
|
|
2893
|
+
sessionId: z4.string()
|
|
2691
2894
|
});
|
|
2692
2895
|
var AGENT_STATUS_REASON_USER_QUESTION = "user_question";
|
|
2693
2896
|
var TASK_CHAT_HISTORY_LIMIT = 20;
|
|
@@ -3816,7 +4019,7 @@ var PtyOutputCoalescer = class {
|
|
|
3816
4019
|
|
|
3817
4020
|
// src/harness/pty/tool-server.ts
|
|
3818
4021
|
import { createServer as createServer2 } from "http";
|
|
3819
|
-
import { z as
|
|
4022
|
+
import { z as z5 } from "zod";
|
|
3820
4023
|
import { writeFile as writeFile3 } from "fs/promises";
|
|
3821
4024
|
import { join as join2 } from "path";
|
|
3822
4025
|
import { randomBytes } from "crypto";
|
|
@@ -3873,7 +4076,7 @@ var PtyToolServer = class {
|
|
|
3873
4076
|
const mcp = new McpServer({ name: this.name, version: "1.0.0" });
|
|
3874
4077
|
const register = mcp.registerTool.bind(mcp);
|
|
3875
4078
|
for (const tool2 of this.tools) {
|
|
3876
|
-
const inputSchema = tool2.strict ?
|
|
4079
|
+
const inputSchema = tool2.strict ? z5.strictObject(tool2.schema) : tool2.schema;
|
|
3877
4080
|
register(
|
|
3878
4081
|
tool2.name,
|
|
3879
4082
|
{
|
|
@@ -4156,12 +4359,12 @@ var defaultSleep = (ms) => new Promise((resolve) => {
|
|
|
4156
4359
|
setTimeout(resolve, ms);
|
|
4157
4360
|
});
|
|
4158
4361
|
async function writeWithReadBackRetry(io2, contents, delaysMs = READ_BACK_DELAYS_MS) {
|
|
4159
|
-
const
|
|
4362
|
+
const sleep2 = io2.sleep ?? defaultSleep;
|
|
4160
4363
|
for (let attempt = 0; ; attempt++) {
|
|
4161
4364
|
await io2.write(contents);
|
|
4162
4365
|
if (await io2.read() === contents) return true;
|
|
4163
4366
|
if (attempt >= delaysMs.length) return false;
|
|
4164
|
-
await
|
|
4367
|
+
await sleep2(delaysMs[attempt]);
|
|
4165
4368
|
}
|
|
4166
4369
|
}
|
|
4167
4370
|
function fsWriteIo(path4, mode) {
|
|
@@ -4501,11 +4704,6 @@ function renderPromptContentText(content) {
|
|
|
4501
4704
|
return JSON.stringify(block);
|
|
4502
4705
|
}).join("\n\n");
|
|
4503
4706
|
}
|
|
4504
|
-
function sleep3(ms) {
|
|
4505
|
-
return new Promise((resolve) => {
|
|
4506
|
-
setTimeout(resolve, ms);
|
|
4507
|
-
});
|
|
4508
|
-
}
|
|
4509
4707
|
async function transcriptSize(path4) {
|
|
4510
4708
|
try {
|
|
4511
4709
|
return (await stat2(path4)).size;
|
|
@@ -5004,7 +5202,7 @@ var PtySession = class {
|
|
|
5004
5202
|
if (text === "" && !this.adapter.capabilities.prefill) return;
|
|
5005
5203
|
this.writeStdin(this.adapter.encodePromptBytes(text));
|
|
5006
5204
|
if (this.turn.promptDelivery === "prefill") return;
|
|
5007
|
-
await
|
|
5205
|
+
await sleep(resolveSubmitSettleMs());
|
|
5008
5206
|
if (this._toreDown) return;
|
|
5009
5207
|
this.writeStdin("\r");
|
|
5010
5208
|
if (this.adapter.capabilities.structuredEvents) this.armSubmitNudge();
|
|
@@ -6814,7 +7012,7 @@ async function buildInitialPrompt(mode, context, isAuto, agentMode) {
|
|
|
6814
7012
|
}
|
|
6815
7013
|
|
|
6816
7014
|
// src/tools/task-context-tools.ts
|
|
6817
|
-
import { z as
|
|
7015
|
+
import { z as z6 } from "zod";
|
|
6818
7016
|
|
|
6819
7017
|
// src/tools/helpers.ts
|
|
6820
7018
|
function textResult(text) {
|
|
@@ -6848,8 +7046,8 @@ function buildReadTaskChatTool(connection) {
|
|
|
6848
7046
|
"read_task_chat",
|
|
6849
7047
|
"Read recent human/user chat messages for a task. Omit task_id for the current task; pass a child ID for a child's chat. For agent logs use get_execution_logs.",
|
|
6850
7048
|
{
|
|
6851
|
-
limit:
|
|
6852
|
-
task_id:
|
|
7049
|
+
limit: z6.number().optional().describe("Number of recent messages to fetch (default 20)"),
|
|
7050
|
+
task_id: z6.string().optional().describe("Child task ID to read chat from. Omit to read the current task's chat.")
|
|
6853
7051
|
},
|
|
6854
7052
|
async ({ limit, task_id }) => {
|
|
6855
7053
|
try {
|
|
@@ -6893,7 +7091,7 @@ function buildGetTaskTool(connection) {
|
|
|
6893
7091
|
"get_task",
|
|
6894
7092
|
"Look up any task by slug or ID. Returns JSON with id, slug, title, description, plan, status, branch, githubPRNumber, githubPRUrl, storyPoints. For children use list_subtasks.",
|
|
6895
7093
|
{
|
|
6896
|
-
slug_or_id:
|
|
7094
|
+
slug_or_id: z6.string().describe("The task slug (e.g. 'my-task') or CUID")
|
|
6897
7095
|
},
|
|
6898
7096
|
async ({ slug_or_id }) => {
|
|
6899
7097
|
try {
|
|
@@ -6916,9 +7114,9 @@ function buildGetExecutionLogsTool(connection) {
|
|
|
6916
7114
|
"get_execution_logs",
|
|
6917
7115
|
"Read CLI execution logs \u2014 agent reasoning, tool calls, and setup/dev-server output. Filter via source='agent' or 'application'. For human chat use read_task_chat.",
|
|
6918
7116
|
{
|
|
6919
|
-
task_id:
|
|
6920
|
-
source:
|
|
6921
|
-
limit:
|
|
7117
|
+
task_id: z6.string().optional().describe("Task ID or slug. Omit to read logs from the current task."),
|
|
7118
|
+
source: z6.enum(["agent", "application"]).optional().describe("Filter by log source. Omit for all logs."),
|
|
7119
|
+
limit: z6.number().optional().describe("Max number of log entries to return (default 50, max 500).")
|
|
6922
7120
|
},
|
|
6923
7121
|
async ({ task_id, source, limit }) => {
|
|
6924
7122
|
try {
|
|
@@ -6978,7 +7176,7 @@ function buildGetAttachmentTool(connection) {
|
|
|
6978
7176
|
return defineTool(
|
|
6979
7177
|
"get_attachment",
|
|
6980
7178
|
"Fetch one task file's content plus metadata by file ID. Call list_task_files first to discover IDs and check sizes \u2014 large binaries may be truncated by the service's size limit.",
|
|
6981
|
-
{ fileId:
|
|
7179
|
+
{ fileId: z6.string().describe("The file ID to retrieve") },
|
|
6982
7180
|
async ({ fileId }) => {
|
|
6983
7181
|
try {
|
|
6984
7182
|
const file = await connection.call("getTaskFile", {
|
|
@@ -7016,7 +7214,7 @@ function buildTaskContextTools(connection) {
|
|
|
7016
7214
|
}
|
|
7017
7215
|
|
|
7018
7216
|
// src/tools/dependency-suggestion-tools.ts
|
|
7019
|
-
import { z as
|
|
7217
|
+
import { z as z7 } from "zod";
|
|
7020
7218
|
function buildGetDependenciesTool(connection) {
|
|
7021
7219
|
return defineTool(
|
|
7022
7220
|
"get_dependencies",
|
|
@@ -7042,10 +7240,10 @@ function buildGetSuggestionsTool(connection) {
|
|
|
7042
7240
|
"get_suggestions",
|
|
7043
7241
|
"List project suggestions sorted by vote score. Filter by status or cap with limit (default 20). Suggestions are project-level ideas, not tasks \u2014 use get_task for tasks.",
|
|
7044
7242
|
{
|
|
7045
|
-
status:
|
|
7243
|
+
status: z7.string().optional().describe(
|
|
7046
7244
|
"Filter by status: Planning, Open, InProgress, ReviewPR, ReviewDev, ReviewLive, Complete, Cancelled"
|
|
7047
7245
|
),
|
|
7048
|
-
limit:
|
|
7246
|
+
limit: z7.number().int().min(1).max(100).optional().describe("Max results (default 20)")
|
|
7049
7247
|
},
|
|
7050
7248
|
async ({ status, limit }) => {
|
|
7051
7249
|
try {
|
|
@@ -7069,14 +7267,14 @@ function buildGetSuggestionsTool(connection) {
|
|
|
7069
7267
|
}
|
|
7070
7268
|
|
|
7071
7269
|
// src/tools/mutation-tools.ts
|
|
7072
|
-
import { z as
|
|
7270
|
+
import { z as z8 } from "zod";
|
|
7073
7271
|
function buildPostToChatTool(connection) {
|
|
7074
7272
|
return defineTool(
|
|
7075
7273
|
"post_to_chat",
|
|
7076
7274
|
"Post a message to the task chat for the team to see. Your turn output is NOT shown in chat, so this is the only way the team sees your status, summaries, and questions. Omit task_id to post to the current task's chat; pass a child's ID to message its chat.",
|
|
7077
7275
|
{
|
|
7078
|
-
message:
|
|
7079
|
-
task_id:
|
|
7276
|
+
message: z8.string().describe("The message to post to the team"),
|
|
7277
|
+
task_id: z8.string().optional().describe("Child task ID to post to. Omit to post to the current task's chat.")
|
|
7080
7278
|
},
|
|
7081
7279
|
async ({ message, task_id }) => {
|
|
7082
7280
|
try {
|
|
@@ -7114,8 +7312,8 @@ function buildForceUpdateTaskStatusTool(connection) {
|
|
|
7114
7312
|
"force_update_task_status",
|
|
7115
7313
|
"EMERGENCY ONLY: force-override a task's Kanban status. Use when an automatic transition failed and the task is wedged. Normal flow transitions status automatically.",
|
|
7116
7314
|
{
|
|
7117
|
-
status:
|
|
7118
|
-
task_id:
|
|
7315
|
+
status: z8.enum(["InProgress", "ReviewPR", "ReviewDev", "Complete"]).describe("The new status for the task"),
|
|
7316
|
+
task_id: z8.string().optional().describe("Child task ID to update. Omit to update the current task.")
|
|
7119
7317
|
},
|
|
7120
7318
|
async ({ status, task_id }) => {
|
|
7121
7319
|
try {
|
|
@@ -7146,18 +7344,18 @@ function buildCreatePullRequestTool(connection, config) {
|
|
|
7146
7344
|
"create_pull_request",
|
|
7147
7345
|
"Create a GitHub PR for this task. Auto-stages, commits (commitMessage or title default), pushes to origin, then opens the PR. Always use this instead of gh CLI or raw git.",
|
|
7148
7346
|
{
|
|
7149
|
-
title:
|
|
7150
|
-
body:
|
|
7151
|
-
branch:
|
|
7347
|
+
title: z8.string().describe("The PR title"),
|
|
7348
|
+
body: z8.string().describe("The PR description/body in markdown"),
|
|
7349
|
+
branch: z8.string().optional().describe(
|
|
7152
7350
|
"The head branch name for the PR. If the task doesn't have a branch set, this will be used. Defaults to the task's existing branch."
|
|
7153
7351
|
),
|
|
7154
|
-
baseBranch:
|
|
7352
|
+
baseBranch: z8.string().optional().describe(
|
|
7155
7353
|
"The base branch to target for the PR (e.g. 'main', 'develop'). Defaults to the project's configured dev branch."
|
|
7156
7354
|
),
|
|
7157
|
-
commitMessage:
|
|
7355
|
+
commitMessage: z8.string().optional().describe(
|
|
7158
7356
|
"Commit message for staging uncommitted changes. If not provided, a default message based on the PR title will be used."
|
|
7159
7357
|
),
|
|
7160
|
-
skipVerify:
|
|
7358
|
+
skipVerify: z8.boolean().optional().describe(
|
|
7161
7359
|
"Controls the local pre-push quality gate (lint/typecheck/test). Defaults to true (--no-verify): the push skips the local gate because you should run gates yourself before opening the PR and CI re-runs them on the resulting PR. Running the full gate synchronously during the push would block the agent's event loop long enough to drop the Conveyor socket connection. Pass false to force the local pre-push hook to run."
|
|
7162
7360
|
)
|
|
7163
7361
|
},
|
|
@@ -7239,7 +7437,7 @@ function buildAddDependencyTool(connection) {
|
|
|
7239
7437
|
"add_dependency",
|
|
7240
7438
|
"Add a blocking dependency \u2014 this task cannot start until the named task is merged to dev. For post-task follow-ups use create_follow_up_task instead.",
|
|
7241
7439
|
{
|
|
7242
|
-
depends_on_slug_or_id:
|
|
7440
|
+
depends_on_slug_or_id: z8.string().describe("Slug or ID of the task this task depends on")
|
|
7243
7441
|
},
|
|
7244
7442
|
async ({ depends_on_slug_or_id }) => {
|
|
7245
7443
|
try {
|
|
@@ -7261,7 +7459,7 @@ function buildRemoveDependencyTool(connection) {
|
|
|
7261
7459
|
"remove_dependency",
|
|
7262
7460
|
"Remove a previously added dependency from this task. When to use: the dependency was added in error or is no longer relevant. Returns: confirmation string.",
|
|
7263
7461
|
{
|
|
7264
|
-
depends_on_slug_or_id:
|
|
7462
|
+
depends_on_slug_or_id: z8.string().describe("Slug or ID of the task to remove as dependency")
|
|
7265
7463
|
},
|
|
7266
7464
|
async ({ depends_on_slug_or_id }) => {
|
|
7267
7465
|
try {
|
|
@@ -7283,10 +7481,10 @@ function buildCreateFollowUpTaskTool(connection) {
|
|
|
7283
7481
|
"create_follow_up_task",
|
|
7284
7482
|
"Create a follow-up task that depends on the current task. Use for out-of-scope work or cleanup that should land after this task merges. For blockers use add_dependency.",
|
|
7285
7483
|
{
|
|
7286
|
-
title:
|
|
7287
|
-
description:
|
|
7288
|
-
plan:
|
|
7289
|
-
story_point_value:
|
|
7484
|
+
title: z8.string().describe("Follow-up task title"),
|
|
7485
|
+
description: z8.string().optional().describe("Brief description of the follow-up work"),
|
|
7486
|
+
plan: z8.string().optional().describe("Implementation plan if known"),
|
|
7487
|
+
story_point_value: z8.number().optional().describe("Story point estimate (1=Common, 2=Magic, 3=Rare, 5=Unique)")
|
|
7290
7488
|
},
|
|
7291
7489
|
async ({ title, description, plan, story_point_value }) => {
|
|
7292
7490
|
try {
|
|
@@ -7313,11 +7511,11 @@ function buildCreateSuggestionTool(connection) {
|
|
|
7313
7511
|
"create_suggestion",
|
|
7314
7512
|
"Suggest a feature, improvement, rule, or idea for the project. Duplicates are deduped and your upvote is recorded. For actionable work on this task open a follow-up task.",
|
|
7315
7513
|
{
|
|
7316
|
-
title:
|
|
7317
|
-
description:
|
|
7514
|
+
title: z8.string().describe("Short title for the suggestion"),
|
|
7515
|
+
description: z8.string().optional().describe(
|
|
7318
7516
|
"1-2 sentence description of what should change and why. Keep concise and project-focused."
|
|
7319
7517
|
),
|
|
7320
|
-
tag_names:
|
|
7518
|
+
tag_names: z8.array(z8.string()).optional().describe("Tag names to categorize the suggestion")
|
|
7321
7519
|
},
|
|
7322
7520
|
async ({ title, description, tag_names }) => {
|
|
7323
7521
|
try {
|
|
@@ -7346,8 +7544,8 @@ function buildVoteSuggestionTool(connection) {
|
|
|
7346
7544
|
"vote_suggestion",
|
|
7347
7545
|
"Vote +1 or -1 on a project suggestion. Use to express support or disagreement with a specific suggestion returned by get_suggestions.",
|
|
7348
7546
|
{
|
|
7349
|
-
suggestion_id:
|
|
7350
|
-
value:
|
|
7547
|
+
suggestion_id: z8.string().describe("The suggestion ID to vote on"),
|
|
7548
|
+
value: z8.number().refine((v) => v === 1 || v === -1, { message: "Value must be 1 or -1" }).describe("+1 to upvote, -1 to downvote")
|
|
7351
7549
|
},
|
|
7352
7550
|
async ({ suggestion_id, value }) => {
|
|
7353
7551
|
try {
|
|
@@ -7380,7 +7578,7 @@ function buildMutationTools(connection, config) {
|
|
|
7380
7578
|
// src/tools/attachment-tools.ts
|
|
7381
7579
|
import { readFile as readFile3, stat as stat4 } from "fs/promises";
|
|
7382
7580
|
import { basename, extname, isAbsolute, join as join5 } from "path";
|
|
7383
|
-
import { z as
|
|
7581
|
+
import { z as z9 } from "zod";
|
|
7384
7582
|
var IMAGE_MIME_BY_EXT = {
|
|
7385
7583
|
".png": "image/png",
|
|
7386
7584
|
".jpg": "image/jpeg",
|
|
@@ -7393,8 +7591,8 @@ function buildUploadAttachmentTool(connection, config) {
|
|
|
7393
7591
|
"upload_attachment",
|
|
7394
7592
|
"Upload an image file (e.g. a Playwright screenshot) as a task attachment AND post it to the task chat in one step \u2014 no follow-up post_to_chat call needed. Supports png/jpg/gif/webp.",
|
|
7395
7593
|
{
|
|
7396
|
-
path:
|
|
7397
|
-
title:
|
|
7594
|
+
path: z9.string().describe("Path to the image file \u2014 absolute, or relative to the workspace root"),
|
|
7595
|
+
title: z9.string().optional().describe("Short caption posted with the image (defaults to the file name)")
|
|
7398
7596
|
},
|
|
7399
7597
|
async ({ path: path4, title }) => {
|
|
7400
7598
|
try {
|
|
@@ -7450,7 +7648,7 @@ function buildUploadAttachmentTool(connection, config) {
|
|
|
7450
7648
|
}
|
|
7451
7649
|
|
|
7452
7650
|
// src/tools/checklist-tools.ts
|
|
7453
|
-
import { z as
|
|
7651
|
+
import { z as z10 } from "zod";
|
|
7454
7652
|
function buildListManualTestsTool(connection) {
|
|
7455
7653
|
return defineTool(
|
|
7456
7654
|
"list_manual_tests",
|
|
@@ -7502,8 +7700,8 @@ function buildQueryManualTestsTool(connection) {
|
|
|
7502
7700
|
"query_manual_tests",
|
|
7503
7701
|
"Query manual tests across many tasks in this project, grouped by task. Filter by card status (ReviewDev, ReviewLive, Complete, ...) and/or test status (open | approved | rejected). Use to answer 'show all OPEN manual tests in ReviewDev' or 'show all REJECTED manual tests with the failing reason'. With no filters it defaults to the needs-attention view: open+rejected tests on ReviewDev/ReviewLive cards.",
|
|
7504
7702
|
{
|
|
7505
|
-
cardStatuses:
|
|
7506
|
-
testStatuses:
|
|
7703
|
+
cardStatuses: z10.array(z10.string()).optional().describe('Filter tasks by card status, e.g. ["ReviewDev", "ReviewLive"]'),
|
|
7704
|
+
testStatuses: z10.array(z10.enum(["open", "approved", "rejected"])).optional().describe("Filter tests by status: open | approved | rejected")
|
|
7507
7705
|
},
|
|
7508
7706
|
async ({ cardStatuses, testStatuses }) => {
|
|
7509
7707
|
try {
|
|
@@ -7527,7 +7725,7 @@ function buildSetManualTestsTool(connection) {
|
|
|
7527
7725
|
"set_manual_tests",
|
|
7528
7726
|
"Add manual test steps to the task checklist. Existing items with the same title are automatically skipped (deduplication). Use to record specific manual verification steps that reviewers should follow when testing this PR.",
|
|
7529
7727
|
{
|
|
7530
|
-
items:
|
|
7728
|
+
items: z10.array(z10.object({ title: z10.string().min(1).describe("A concise, actionable test step") })).min(1).describe("List of manual test steps to add")
|
|
7531
7729
|
},
|
|
7532
7730
|
async ({ items }) => {
|
|
7533
7731
|
try {
|
|
@@ -7550,8 +7748,8 @@ function buildEditManualTestTool(connection) {
|
|
|
7550
7748
|
"edit_manual_test",
|
|
7551
7749
|
"Rename an existing manual test step. Identify the test by its current title (case-insensitive); pass the new title to replace it. Use to correct or refine a recorded manual verification step.",
|
|
7552
7750
|
{
|
|
7553
|
-
title:
|
|
7554
|
-
newTitle:
|
|
7751
|
+
title: z10.string().min(1).describe("The current title of the manual test to edit"),
|
|
7752
|
+
newTitle: z10.string().min(1).describe("The new title for the manual test")
|
|
7555
7753
|
},
|
|
7556
7754
|
async ({ title, newTitle }) => {
|
|
7557
7755
|
try {
|
|
@@ -7573,7 +7771,7 @@ function buildRemoveManualTestTool(connection) {
|
|
|
7573
7771
|
"remove_manual_test",
|
|
7574
7772
|
"Remove an existing manual test step from the task checklist. Identify the test by its title (case-insensitive). Use to delete a stale or incorrect manual verification step.",
|
|
7575
7773
|
{
|
|
7576
|
-
title:
|
|
7774
|
+
title: z10.string().min(1).describe("The title of the manual test to remove")
|
|
7577
7775
|
},
|
|
7578
7776
|
async ({ title }) => {
|
|
7579
7777
|
try {
|
|
@@ -7594,7 +7792,7 @@ function buildApproveManualTestTool(connection) {
|
|
|
7594
7792
|
"approve_manual_test",
|
|
7595
7793
|
"Sign off on (approve) a manual test step on behalf of your authenticated user. Identify the test by its title (case-insensitive). Use after you have verified the step passes.",
|
|
7596
7794
|
{
|
|
7597
|
-
title:
|
|
7795
|
+
title: z10.string().min(1).describe("The title of the manual test to approve")
|
|
7598
7796
|
},
|
|
7599
7797
|
async ({ title }) => {
|
|
7600
7798
|
try {
|
|
@@ -7615,8 +7813,8 @@ function buildRejectManualTestTool(connection) {
|
|
|
7615
7813
|
"reject_manual_test",
|
|
7616
7814
|
"Flag an issue with (reject) a manual test step on behalf of your authenticated user, recording the reason. Identify the test by its title (case-insensitive). Use when the step fails verification.",
|
|
7617
7815
|
{
|
|
7618
|
-
title:
|
|
7619
|
-
reason:
|
|
7816
|
+
title: z10.string().min(1).describe("The title of the manual test to reject"),
|
|
7817
|
+
reason: z10.string().min(1).max(2e3).describe("Why the test failed \u2014 what went wrong, shown to the team")
|
|
7620
7818
|
},
|
|
7621
7819
|
async ({ title, reason }) => {
|
|
7622
7820
|
try {
|
|
@@ -7653,7 +7851,7 @@ function buildCommonTools(connection, config) {
|
|
|
7653
7851
|
}
|
|
7654
7852
|
|
|
7655
7853
|
// src/tools/pm-tools.ts
|
|
7656
|
-
import { z as
|
|
7854
|
+
import { z as z11 } from "zod";
|
|
7657
7855
|
var SP_DESCRIPTION = "Story point value (1=Common, 2=Magic, 3=Rare, 5=Unique)";
|
|
7658
7856
|
var FOLLOW_PARENT_STATUS_DESCRIPTION = "Child mirrors the parent task's status automatically \u2014 for subtasks that ship on the parent's branch/PR with no build or PR of their own. Manual status writes on a follower stick only until the parent's next transition.";
|
|
7659
7857
|
var DEPENDS_ON_DESCRIPTION = "Sibling subtask ids or slugs this subtask blocks on (it won't start until they merge to dev). Set explicit dependency metadata here instead of describing order in the plan text \u2014 the pack runner schedules children off these edges. Omit / leave empty for independent children so they run in parallel.";
|
|
@@ -7662,8 +7860,8 @@ function buildUpdateTaskTool(connection) {
|
|
|
7662
7860
|
"update_task_plan",
|
|
7663
7861
|
"Save the plan and/or description to the current task. In auto/building mode, save the plan BEFORE writing code and keep it current as the approach evolves \u2014 post it, then build; never pause the build waiting for approval. For children use update_subtask; for title/tags/PR use update_task_properties.",
|
|
7664
7862
|
{
|
|
7665
|
-
plan:
|
|
7666
|
-
description:
|
|
7863
|
+
plan: z11.string().optional().describe("The task plan in markdown"),
|
|
7864
|
+
description: z11.string().optional().describe("Updated task description")
|
|
7667
7865
|
},
|
|
7668
7866
|
async ({ plan, description }) => {
|
|
7669
7867
|
try {
|
|
@@ -7684,13 +7882,13 @@ function buildCreateSubtaskTool(connection) {
|
|
|
7684
7882
|
"create_subtask",
|
|
7685
7883
|
"Create a subtask under the current parent task. Use when breaking a complex parent into smaller pieces during planning. For post-task follow-ups use create_follow_up_task.",
|
|
7686
7884
|
{
|
|
7687
|
-
title:
|
|
7688
|
-
description:
|
|
7689
|
-
plan:
|
|
7690
|
-
ordinal:
|
|
7691
|
-
storyPointValue:
|
|
7692
|
-
followParentStatus:
|
|
7693
|
-
dependsOn:
|
|
7885
|
+
title: z11.string().describe("Subtask title"),
|
|
7886
|
+
description: z11.string().optional().describe("Brief description"),
|
|
7887
|
+
plan: z11.string().optional().describe("Implementation plan in markdown"),
|
|
7888
|
+
ordinal: z11.number().optional().describe("Step/order number (0-based)"),
|
|
7889
|
+
storyPointValue: z11.number().optional().describe(SP_DESCRIPTION),
|
|
7890
|
+
followParentStatus: z11.boolean().optional().describe(FOLLOW_PARENT_STATUS_DESCRIPTION),
|
|
7891
|
+
dependsOn: z11.array(z11.string()).optional().describe(DEPENDS_ON_DESCRIPTION)
|
|
7694
7892
|
},
|
|
7695
7893
|
async ({
|
|
7696
7894
|
title,
|
|
@@ -7726,20 +7924,20 @@ function buildUpdateSubtaskTool(connection) {
|
|
|
7726
7924
|
"update_subtask",
|
|
7727
7925
|
"Update an existing subtask's fields (title, description, plan, ordinal, storyPointValue, dependsOn) \u2014 and the sanctioned path to make a child buildable: promote it to status Open, assign its agent (agentIdOrName), and set story points. Setting story points does NOT auto-promote; set status explicitly. For the current task use update_task_plan.",
|
|
7728
7926
|
{
|
|
7729
|
-
subtaskId:
|
|
7730
|
-
title:
|
|
7731
|
-
description:
|
|
7732
|
-
plan:
|
|
7733
|
-
status:
|
|
7927
|
+
subtaskId: z11.string().describe("The subtask ID to update"),
|
|
7928
|
+
title: z11.string().optional(),
|
|
7929
|
+
description: z11.string().optional(),
|
|
7930
|
+
plan: z11.string().optional(),
|
|
7931
|
+
status: z11.enum(["Planning", "Open"]).optional().describe(
|
|
7734
7932
|
'Move the child between "Planning" and "Open". "Open" marks it ready to execute \u2014 required before start_child_cloud_build. Execution statuses transition automatically.'
|
|
7735
7933
|
),
|
|
7736
|
-
agentIdOrName:
|
|
7934
|
+
agentIdOrName: z11.string().optional().describe(
|
|
7737
7935
|
"Assign a project agent to the child (agent id or exact name from the Project Agents list). Required before start_child_cloud_build."
|
|
7738
7936
|
),
|
|
7739
|
-
ordinal:
|
|
7740
|
-
storyPointValue:
|
|
7741
|
-
followParentStatus:
|
|
7742
|
-
dependsOn:
|
|
7937
|
+
ordinal: z11.number().optional(),
|
|
7938
|
+
storyPointValue: z11.number().optional().describe(SP_DESCRIPTION),
|
|
7939
|
+
followParentStatus: z11.boolean().optional().describe(FOLLOW_PARENT_STATUS_DESCRIPTION),
|
|
7940
|
+
dependsOn: z11.array(z11.string()).optional().describe(
|
|
7743
7941
|
`${DEPENDS_ON_DESCRIPTION} Replaces the full dependency set \u2014 pass [] to clear all, omit to leave unchanged.`
|
|
7744
7942
|
)
|
|
7745
7943
|
},
|
|
@@ -7778,7 +7976,7 @@ function buildDeleteSubtaskTool(connection) {
|
|
|
7778
7976
|
return defineTool(
|
|
7779
7977
|
"delete_subtask",
|
|
7780
7978
|
"Delete a subtask by id. When to use: a subtask was created in error or is no longer needed. Returns: confirmation string.",
|
|
7781
|
-
{ subtaskId:
|
|
7979
|
+
{ subtaskId: z11.string().describe("The subtask ID to delete") },
|
|
7782
7980
|
async ({ subtaskId }) => {
|
|
7783
7981
|
try {
|
|
7784
7982
|
await connection.call("deleteSubtask", {
|
|
@@ -7797,7 +7995,7 @@ function buildListSubtasksTool(connection) {
|
|
|
7797
7995
|
"list_subtasks",
|
|
7798
7996
|
"List all subtasks under the current parent task. Default compact view returns per child: status, agent, story points, PR number/state, dependencies, and holdsBuildSlot \u2014 plus packSlots (in-flight environments vs the PACK_CHILD_LIMIT cap, and which children hold the slots). Use to coordinate child work; pass verbose:true only when you need full description/plan text (large). For non-child tasks use get_task.",
|
|
7799
7997
|
{
|
|
7800
|
-
verbose:
|
|
7998
|
+
verbose: z11.boolean().optional().describe(
|
|
7801
7999
|
"Return full task rows including description and plan text (large \u2014 can exceed tool result limits on big packs). Default: compact orchestration view."
|
|
7802
8000
|
)
|
|
7803
8001
|
},
|
|
@@ -7821,7 +8019,7 @@ function buildPackTools(connection) {
|
|
|
7821
8019
|
"start_child_cloud_build",
|
|
7822
8020
|
"Start a cloud build (codespace) for a child task. Preconditions: child status is `Open`, story points set, and an agent assigned \u2014 satisfy all three with update_subtask (status/agentIdOrName/storyPointValue) first; none happen automatically. A PACK_CHILD_LIMIT error is backpressure, not failure: check list_subtasks packSlots for which children hold the in-flight slots, merge/stop one, then retry.",
|
|
7823
8021
|
{
|
|
7824
|
-
childTaskId:
|
|
8022
|
+
childTaskId: z11.string().describe("The child task ID to start a cloud build for")
|
|
7825
8023
|
},
|
|
7826
8024
|
async ({ childTaskId }) => {
|
|
7827
8025
|
try {
|
|
@@ -7841,7 +8039,7 @@ function buildPackTools(connection) {
|
|
|
7841
8039
|
"stop_child_build",
|
|
7842
8040
|
"Send a graceful stop signal to a running child build's agent. Not a force-kill \u2014 the agent may take a moment to wind down. Stopping a child eventually frees its PACK_CHILD_LIMIT build slot (see list_subtasks packSlots).",
|
|
7843
8041
|
{
|
|
7844
|
-
childTaskId:
|
|
8042
|
+
childTaskId: z11.string().describe("The child task ID whose build should be stopped")
|
|
7845
8043
|
},
|
|
7846
8044
|
async ({ childTaskId }) => {
|
|
7847
8045
|
try {
|
|
@@ -7861,7 +8059,7 @@ function buildPackTools(connection) {
|
|
|
7861
8059
|
"approve_and_merge_pr",
|
|
7862
8060
|
"Approve and merge a child task's PR. Preconditions: child in ReviewPR. Returns { merged }: true = merged (status\u2192ReviewDev); false = automerge queued, wait for ReviewDev.",
|
|
7863
8061
|
{
|
|
7864
|
-
childTaskId:
|
|
8062
|
+
childTaskId: z11.string().describe("The child task ID whose PR should be approved and merged")
|
|
7865
8063
|
},
|
|
7866
8064
|
async ({ childTaskId }) => {
|
|
7867
8065
|
try {
|
|
@@ -7899,7 +8097,7 @@ function buildPmTools(connection, options) {
|
|
|
7899
8097
|
}
|
|
7900
8098
|
|
|
7901
8099
|
// src/tools/discovery-tools.ts
|
|
7902
|
-
import { z as
|
|
8100
|
+
import { z as z12 } from "zod";
|
|
7903
8101
|
var SP_DESCRIPTION2 = "Story point value (1=Common, 2=Magic, 3=Rare, 5=Unique). The key is 'storyPointValue' \u2014 not 'storyPoints'.";
|
|
7904
8102
|
var VALID_PROPERTY_KEYS = "title, storyPointValue, tagNames, githubPRUrl, githubBranch";
|
|
7905
8103
|
function buildDiscoveryTools(connection) {
|
|
@@ -7908,11 +8106,11 @@ function buildDiscoveryTools(connection) {
|
|
|
7908
8106
|
"update_task_properties",
|
|
7909
8107
|
"Set one or more task properties in a single call. Valid keys: title, storyPointValue, tagNames, githubPRUrl, githubBranch. All are optional \u2014 include only the ones you want to update (at least one). Unknown keys are rejected.",
|
|
7910
8108
|
{
|
|
7911
|
-
title:
|
|
7912
|
-
storyPointValue:
|
|
7913
|
-
tagNames:
|
|
7914
|
-
githubPRUrl:
|
|
7915
|
-
githubBranch:
|
|
8109
|
+
title: z12.string().optional().describe("The new task title"),
|
|
8110
|
+
storyPointValue: z12.number().optional().describe(SP_DESCRIPTION2),
|
|
8111
|
+
tagNames: z12.array(z12.string()).optional().describe("Array of tag names to assign"),
|
|
8112
|
+
githubPRUrl: z12.string().url().optional().describe("GitHub pull request URL to link to this task"),
|
|
8113
|
+
githubBranch: z12.string().optional().describe("Set the GitHub branch name for this task (e.g. 'conveyor/my-feature-abc123')")
|
|
7916
8114
|
},
|
|
7917
8115
|
async ({ title, storyPointValue, tagNames, githubPRUrl, githubBranch }) => {
|
|
7918
8116
|
try {
|
|
@@ -7953,7 +8151,7 @@ function buildDiscoveryTools(connection) {
|
|
|
7953
8151
|
}
|
|
7954
8152
|
|
|
7955
8153
|
// src/tools/code-review-tools.ts
|
|
7956
|
-
import { z as
|
|
8154
|
+
import { z as z13 } from "zod";
|
|
7957
8155
|
async function endReviewSession(connection, reason) {
|
|
7958
8156
|
await connection.call("endReviewSession", {
|
|
7959
8157
|
sessionId: connection.sessionId,
|
|
@@ -7966,7 +8164,7 @@ function buildCodeReviewTools(connection) {
|
|
|
7966
8164
|
"approve_code_review",
|
|
7967
8165
|
"Approve the code review and exit. Use when the diff passes all review criteria. Takes only a summary \u2014 for changes, use request_code_changes with a structured issues[] list.",
|
|
7968
8166
|
{
|
|
7969
|
-
summary:
|
|
8167
|
+
summary: z13.string().describe("Brief summary of what was reviewed and why it looks good")
|
|
7970
8168
|
},
|
|
7971
8169
|
async ({ summary }) => {
|
|
7972
8170
|
const content = `**Code Review: Approved** :white_check_mark:
|
|
@@ -7990,15 +8188,15 @@ ${summary}`;
|
|
|
7990
8188
|
"request_code_changes",
|
|
7991
8189
|
"Request changes during code review and exit. Use when substantive issues must be fixed before merge. Each issue: { file, line?, severity: critical|major|minor, description }.",
|
|
7992
8190
|
{
|
|
7993
|
-
issues:
|
|
7994
|
-
|
|
7995
|
-
file:
|
|
7996
|
-
line:
|
|
7997
|
-
severity:
|
|
7998
|
-
description:
|
|
8191
|
+
issues: z13.array(
|
|
8192
|
+
z13.object({
|
|
8193
|
+
file: z13.string().describe("File path where the issue was found"),
|
|
8194
|
+
line: z13.number().optional().describe("Line number (if applicable)"),
|
|
8195
|
+
severity: z13.enum(["critical", "major", "minor"]).describe("Issue severity"),
|
|
8196
|
+
description: z13.string().describe("What is wrong and how to fix it")
|
|
7999
8197
|
})
|
|
8000
8198
|
).describe("List of issues found during review"),
|
|
8001
|
-
summary:
|
|
8199
|
+
summary: z13.string().describe("Brief overall summary of the review findings")
|
|
8002
8200
|
},
|
|
8003
8201
|
async ({ issues, summary }) => {
|
|
8004
8202
|
const issueLines = issues.map((issue) => {
|
|
@@ -10218,7 +10416,7 @@ async function readListeningPorts() {
|
|
|
10218
10416
|
}
|
|
10219
10417
|
var DEFAULT_EXCLUDED_PORTS = [2222, 5432, 6379, 9200];
|
|
10220
10418
|
var DEFAULT_EPHEMERAL_PORT_MIN = 32768;
|
|
10221
|
-
var
|
|
10419
|
+
var DEFAULT_DISCOVERY_INTERVAL_MS = 15e3;
|
|
10222
10420
|
var DEFAULT_MAX_PORTS = 16;
|
|
10223
10421
|
var CONFIRM_SCANS = 2;
|
|
10224
10422
|
var PortDiscovery = class {
|
|
@@ -10244,7 +10442,7 @@ var PortDiscovery = class {
|
|
|
10244
10442
|
lastReportedKey = "";
|
|
10245
10443
|
constructor(options) {
|
|
10246
10444
|
this.opts = options;
|
|
10247
|
-
this.intervalMs = options.intervalMs ??
|
|
10445
|
+
this.intervalMs = options.intervalMs ?? DEFAULT_DISCOVERY_INTERVAL_MS;
|
|
10248
10446
|
this.maxPorts = options.maxPorts ?? DEFAULT_MAX_PORTS;
|
|
10249
10447
|
this.excluded = new Set(options.excludedPorts ?? DEFAULT_EXCLUDED_PORTS);
|
|
10250
10448
|
this.ephemeralPortMin = options.ephemeralPortMin ?? DEFAULT_EPHEMERAL_PORT_MIN;
|
|
@@ -11504,6 +11702,7 @@ export {
|
|
|
11504
11702
|
TUI_KINDS,
|
|
11505
11703
|
DEFAULT_LIFECYCLE_CONFIG,
|
|
11506
11704
|
Lifecycle,
|
|
11705
|
+
defineTool,
|
|
11507
11706
|
cleanTerminalOutput,
|
|
11508
11707
|
loadPtySpawn,
|
|
11509
11708
|
inheritedEnv,
|
|
@@ -11511,6 +11710,8 @@ export {
|
|
|
11511
11710
|
ClaudeTuiAdapter,
|
|
11512
11711
|
PtyHarness,
|
|
11513
11712
|
createServiceLogger,
|
|
11713
|
+
textResult,
|
|
11714
|
+
GIT_TIMEOUT_MS,
|
|
11514
11715
|
hasUncommittedChanges,
|
|
11515
11716
|
getCurrentBranch,
|
|
11516
11717
|
hasUnpushedCommits,
|
|
@@ -11541,4 +11742,4 @@ export {
|
|
|
11541
11742
|
runStartCommand,
|
|
11542
11743
|
unshallowRepo
|
|
11543
11744
|
};
|
|
11544
|
-
//# sourceMappingURL=chunk-
|
|
11745
|
+
//# sourceMappingURL=chunk-KEKGEDN2.js.map
|