init claude-code

This commit is contained in:
2026-04-01 17:32:37 +02:00
commit 73b208c009
1902 changed files with 513237 additions and 0 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+87
View File
@@ -0,0 +1,87 @@
import { c as _c } from "react/compiler-runtime";
import type { ReactNode } from 'react';
import React from 'react';
import { Text } from 'src/ink.js';
import type { TaskStatus } from 'src/Task.js';
import type { LocalShellTaskState } from 'src/tasks/LocalShellTask/guards.js';
import type { DeepImmutable } from 'src/types/utils.js';
type TaskStatusTextProps = {
status: TaskStatus;
label?: string;
suffix?: string;
};
export function TaskStatusText(t0) {
const $ = _c(4);
const {
status,
label,
suffix
} = t0;
const displayLabel = label ?? status;
const color = status === "completed" ? "success" : status === "failed" ? "error" : status === "killed" ? "warning" : undefined;
let t1;
if ($[0] !== color || $[1] !== displayLabel || $[2] !== suffix) {
t1 = <Text color={color} dimColor={true}>({displayLabel}{suffix})</Text>;
$[0] = color;
$[1] = displayLabel;
$[2] = suffix;
$[3] = t1;
} else {
t1 = $[3];
}
return t1;
}
export function ShellProgress(t0) {
const $ = _c(4);
const {
shell
} = t0;
switch (shell.status) {
case "completed":
{
let t1;
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
t1 = <TaskStatusText status="completed" label="done" />;
$[0] = t1;
} else {
t1 = $[0];
}
return t1;
}
case "failed":
{
let t1;
if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
t1 = <TaskStatusText status="failed" label="error" />;
$[1] = t1;
} else {
t1 = $[1];
}
return t1;
}
case "killed":
{
let t1;
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
t1 = <TaskStatusText status="killed" label="stopped" />;
$[2] = t1;
} else {
t1 = $[2];
}
return t1;
}
case "running":
case "pending":
{
let t1;
if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
t1 = <TaskStatusText status="running" />;
$[3] = t1;
} else {
t1 = $[3];
}
return t1;
}
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdE5vZGUiLCJSZWFjdCIsIlRleHQiLCJUYXNrU3RhdHVzIiwiTG9jYWxTaGVsbFRhc2tTdGF0ZSIsIkRlZXBJbW11dGFibGUiLCJUYXNrU3RhdHVzVGV4dFByb3BzIiwic3RhdHVzIiwibGFiZWwiLCJzdWZmaXgiLCJUYXNrU3RhdHVzVGV4dCIsInQwIiwiJCIsIl9jIiwiZGlzcGxheUxhYmVsIiwiY29sb3IiLCJ1bmRlZmluZWQiLCJ0MSIsIlNoZWxsUHJvZ3Jlc3MiLCJzaGVsbCIsIlN5bWJvbCIsImZvciJdLCJzb3VyY2VzIjpbIlNoZWxsUHJvZ3Jlc3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnc3JjL2luay5qcydcbmltcG9ydCB0eXBlIHsgVGFza1N0YXR1cyB9IGZyb20gJ3NyYy9UYXNrLmpzJ1xuaW1wb3J0IHR5cGUgeyBMb2NhbFNoZWxsVGFza1N0YXRlIH0gZnJvbSAnc3JjL3Rhc2tzL0xvY2FsU2hlbGxUYXNrL2d1YXJkcy5qcydcbmltcG9ydCB0eXBlIHsgRGVlcEltbXV0YWJsZSB9IGZyb20gJ3NyYy90eXBlcy91dGlscy5qcydcblxudHlwZSBUYXNrU3RhdHVzVGV4dFByb3BzID0ge1xuICBzdGF0dXM6IFRhc2tTdGF0dXNcbiAgbGFiZWw/OiBzdHJpbmdcbiAgc3VmZml4Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUYXNrU3RhdHVzVGV4dCh7XG4gIHN0YXR1cyxcbiAgbGFiZWwsXG4gIHN1ZmZpeCxcbn06IFRhc2tTdGF0dXNUZXh0UHJvcHMpOiBSZWFjdE5vZGUge1xuICBjb25zdCBkaXNwbGF5TGFiZWwgPSBsYWJlbCA/PyBzdGF0dXNcbiAgY29uc3QgY29sb3IgPVxuICAgIHN0YXR1cyA9PT0gJ2NvbXBsZXRlZCdcbiAgICAgID8gJ3N1Y2Nlc3MnXG4gICAgICA6IHN0YXR1cyA9PT0gJ2ZhaWxlZCdcbiAgICAgICAgPyAnZXJyb3InXG4gICAgICAgIDogc3RhdHVzID09PSAna2lsbGVkJ1xuICAgICAgICAgID8gJ3dhcm5pbmcnXG4gICAgICAgICAgOiB1bmRlZmluZWRcbiAgcmV0dXJuIChcbiAgICA8VGV4dCBjb2xvcj17Y29sb3J9IGRpbUNvbG9yPlxuICAgICAgKHtkaXNwbGF5TGFiZWx9XG4gICAgICB7c3VmZml4fSlcbiAgICA8L1RleHQ+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWxsUHJvZ3Jlc3Moe1xuICBzaGVsbCxcbn06IHtcbiAgc2hlbGw6IERlZXBJbW11dGFibGU8TG9jYWxTaGVsbFRhc2tTdGF0ZT5cbn0pOiBSZWFjdE5vZGUge1xuICBzd2l0Y2ggKHNoZWxsLnN0YXR1cykge1xuICAgIGNhc2UgJ2NvbXBsZXRlZCc6XG4gICAgICByZXR1cm4gPFRhc2tTdGF0dXNUZXh0IHN0YXR1cz1cImNvbXBsZXRlZFwiIGxhYmVsPVwiZG9uZVwiIC8+XG4gICAgY2FzZSAnZmFpbGVkJzpcbiAgICAgIHJldHVybiA8VGFza1N0YXR1c1RleHQgc3RhdHVzPVwiZmFpbGVkXCIgbGFiZWw9XCJlcnJvclwiIC8+XG4gICAgY2FzZSAna2lsbGVkJzpcbiAgICAgIHJldHVybiA8VGFza1N0YXR1c1RleHQgc3RhdHVzPVwia2lsbGVkXCIgbGFiZWw9XCJzdG9wcGVkXCIgLz5cbiAgICBjYXNlICdydW5uaW5nJzpcbiAgICBjYXNlICdwZW5kaW5nJzpcbiAgICAgIHJldHVybiA8VGFza1N0YXR1c1RleHQgc3RhdHVzPVwicnVubmluZ1wiIC8+XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLGNBQWNBLFNBQVMsUUFBUSxPQUFPO0FBQ3RDLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLFNBQVNDLElBQUksUUFBUSxZQUFZO0FBQ2pDLGNBQWNDLFVBQVUsUUFBUSxhQUFhO0FBQzdDLGNBQWNDLG1CQUFtQixRQUFRLG9DQUFvQztBQUM3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
+33
View File
@@ -0,0 +1,33 @@
import React from 'react';
import { Text } from '../../ink.js';
import type { Tools } from '../../Tool.js';
import { findToolByName } from '../../Tool.js';
import type { ToolActivity } from '../../tasks/LocalAgentTask/LocalAgentTask.js';
import type { ThemeName } from '../../utils/theme.js';
export function renderToolActivity(activity: ToolActivity, tools: Tools, theme: ThemeName): React.ReactNode {
const tool = findToolByName(tools, activity.toolName);
if (!tool) {
return activity.toolName;
}
try {
const parsed = tool.inputSchema.safeParse(activity.input);
const parsedInput = parsed.success ? parsed.data : {};
const userFacingName = tool.userFacingName(parsedInput);
if (!userFacingName) {
return activity.toolName;
}
const toolArgs = tool.renderToolUseMessage(parsedInput, {
theme,
verbose: false
});
if (toolArgs) {
return <Text>
{userFacingName}({toolArgs})
</Text>;
}
return userFacingName;
} catch {
return activity.toolName;
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlRleHQiLCJUb29scyIsImZpbmRUb29sQnlOYW1lIiwiVG9vbEFjdGl2aXR5IiwiVGhlbWVOYW1lIiwicmVuZGVyVG9vbEFjdGl2aXR5IiwiYWN0aXZpdHkiLCJ0b29scyIsInRoZW1lIiwiUmVhY3ROb2RlIiwidG9vbCIsInRvb2xOYW1lIiwicGFyc2VkIiwiaW5wdXRTY2hlbWEiLCJzYWZlUGFyc2UiLCJpbnB1dCIsInBhcnNlZElucHV0Iiwic3VjY2VzcyIsImRhdGEiLCJ1c2VyRmFjaW5nTmFtZSIsInRvb2xBcmdzIiwicmVuZGVyVG9vbFVzZU1lc3NhZ2UiLCJ2ZXJib3NlIl0sInNvdXJjZXMiOlsicmVuZGVyVG9vbEFjdGl2aXR5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vLi4vaW5rLmpzJ1xuaW1wb3J0IHR5cGUgeyBUb29scyB9IGZyb20gJy4uLy4uL1Rvb2wuanMnXG5pbXBvcnQgeyBmaW5kVG9vbEJ5TmFtZSB9IGZyb20gJy4uLy4uL1Rvb2wuanMnXG5pbXBvcnQgdHlwZSB7IFRvb2xBY3Rpdml0eSB9IGZyb20gJy4uLy4uL3Rhc2tzL0xvY2FsQWdlbnRUYXNrL0xvY2FsQWdlbnRUYXNrLmpzJ1xuaW1wb3J0IHR5cGUgeyBUaGVtZU5hbWUgfSBmcm9tICcuLi8uLi91dGlscy90aGVtZS5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclRvb2xBY3Rpdml0eShcbiAgYWN0aXZpdHk6IFRvb2xBY3Rpdml0eSxcbiAgdG9vbHM6IFRvb2xzLFxuICB0aGVtZTogVGhlbWVOYW1lLFxuKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgdG9vbCA9IGZpbmRUb29sQnlOYW1lKHRvb2xzLCBhY3Rpdml0eS50b29sTmFtZSlcbiAgaWYgKCF0b29sKSB7XG4gICAgcmV0dXJuIGFjdGl2aXR5LnRvb2xOYW1lXG4gIH1cbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSB0b29sLmlucHV0U2NoZW1hLnNhZmVQYXJzZShhY3Rpdml0eS5pbnB1dClcbiAgICBjb25zdCBwYXJzZWRJbnB1dCA9IHBhcnNlZC5zdWNjZXNzID8gcGFyc2VkLmRhdGEgOiB7fVxuICAgIGNvbnN0IHVzZXJGYWNpbmdOYW1lID0gdG9vbC51c2VyRmFjaW5nTmFtZShwYXJzZWRJbnB1dClcbiAgICBpZiAoIXVzZXJGYWNpbmdOYW1lKSB7XG4gICAgICByZXR1cm4gYWN0aXZpdHkudG9vbE5hbWVcbiAgICB9XG4gICAgY29uc3QgdG9vbEFyZ3MgPSB0b29sLnJlbmRlclRvb2xVc2VNZXNzYWdlKHBhcnNlZElucHV0LCB7XG4gICAgICB0aGVtZSxcbiAgICAgIHZlcmJvc2U6IGZhbHNlLFxuICAgIH0pXG4gICAgaWYgKHRvb2xBcmdzKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICB7dXNlckZhY2luZ05hbWV9KHt0b29sQXJnc30pXG4gICAgICAgIDwvVGV4dD5cbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHVzZXJGYWNpbmdOYW1lXG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBhY3Rpdml0eS50b29sTmFtZVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLEtBQUssTUFBTSxPQUFPO0FBQ3pCLFNBQVNDLElBQUksUUFBUSxjQUFjO0FBQ25DLGNBQWNDLEtBQUssUUFBUSxlQUFlO0FBQzFDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLGNBQWNDLFlBQVksUUFBUSw4Q0FBOEM7QUFDaEYsY0FBY0MsU0FBUyxRQUFRLHNCQUFzQjtBQUVyRCxPQUFPLFNBQVNDLGtCQUFrQkEsQ0FDaENDLFFBQVEsRUFBRUgsWUFBWSxFQUN0QkksS0FBSyxFQUFFTixLQUFLLEVBQ1pPLEtBQUssRUFBRUosU0FBUyxDQUNqQixFQUFFTCxLQUFLLENBQUNVLFNBQVMsQ0FBQztFQUNqQixNQUFNQyxJQUFJLEdBQUdSLGNBQWMsQ0FBQ0ssS0FBSyxFQUFFRCxRQUFRLENBQUNLLFFBQVEsQ0FBQztFQUNyRCxJQUFJLENBQUNELElBQUksRUFBRTtJQUNULE9BQU9KLFFBQVEsQ0FBQ0ssUUFBUTtFQUMxQjtFQUNBLElBQUk7SUFDRixNQUFNQyxNQUFNLEdBQUdGLElBQUksQ0FBQ0csV0FBVyxDQUFDQyxTQUFTLENBQUNSLFFBQVEsQ0FBQ1MsS0FBSyxDQUFDO0lBQ3pELE1BQU1DLFdBQVcsR0FBR0osTUFBTSxDQUFDSyxPQUFPLEdBQUdMLE1BQU0sQ0FBQ00sSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNyRCxNQUFNQyxjQUFjLEdBQUdULElBQUksQ0FBQ1MsY0FBYyxDQUFDSCxXQUFXLENBQUM7SUFDdkQsSUFBSSxDQUFDRyxjQUFjLEVBQUU7TUFDbkIsT0FBT2IsUUFBUSxDQUFDSyxRQUFRO0lBQzFCO0lBQ0EsTUFBTVMsUUFBUSxHQUFHVixJQUFJLENBQUNXLG9CQUFvQixDQUFDTCxXQUFXLEVBQUU7TUFDdERSLEtBQUs7TUFDTGMsT0FBTyxFQUFFO0lBQ1gsQ0FBQyxDQUFDO0lBQ0YsSUFBSUYsUUFBUSxFQUFFO01BQ1osT0FDRSxDQUFDLElBQUk7QUFDYixVQUFVLENBQUNELGNBQWMsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQztBQUNyQyxRQUFRLEVBQUUsSUFBSSxDQUFDO0lBRVg7SUFDQSxPQUFPRCxjQUFjO0VBQ3ZCLENBQUMsQ0FBQyxNQUFNO0lBQ04sT0FBT2IsUUFBUSxDQUFDSyxRQUFRO0VBQzFCO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
File diff suppressed because one or more lines are too long