@markusylisiurunen/tau 0.2.7 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +39 -34
  2. package/dist/core/commands/registry.js +2 -0
  3. package/dist/core/commands/registry.js.map +1 -1
  4. package/dist/core/config/content_loader.js +75 -12
  5. package/dist/core/config/content_loader.js.map +1 -1
  6. package/dist/core/events/index.js.map +1 -1
  7. package/dist/core/events/types.js.map +1 -1
  8. package/dist/core/index.js +4 -2
  9. package/dist/core/index.js.map +1 -1
  10. package/dist/core/personas.js +9 -3
  11. package/dist/core/personas.js.map +1 -1
  12. package/dist/core/session/core_session.js +6 -0
  13. package/dist/core/session/core_session.js.map +1 -1
  14. package/dist/core/session/runner.js +53 -189
  15. package/dist/core/session/runner.js.map +1 -1
  16. package/dist/core/session/session_engine.js +26 -1
  17. package/dist/core/session/session_engine.js.map +1 -1
  18. package/dist/core/subagents/control_plane.js +256 -0
  19. package/dist/core/subagents/control_plane.js.map +1 -0
  20. package/dist/core/subagents/explore.js +6 -4
  21. package/dist/core/subagents/explore.js.map +1 -1
  22. package/dist/core/subagents/subagent_engine.js +31 -19
  23. package/dist/core/subagents/subagent_engine.js.map +1 -1
  24. package/dist/core/subagents/web.js +7 -4
  25. package/dist/core/subagents/web.js.map +1 -1
  26. package/dist/core/tools/catalog.js +24 -6
  27. package/dist/core/tools/catalog.js.map +1 -1
  28. package/dist/core/tools/communicate.js +45 -0
  29. package/dist/core/tools/communicate.js.map +1 -0
  30. package/dist/core/tools/edit.js +1 -1
  31. package/dist/core/tools/edit.js.map +1 -1
  32. package/dist/core/tools/execution_backend.js +2 -2
  33. package/dist/core/tools/execution_backend.js.map +1 -1
  34. package/dist/core/tools/registry.js.map +1 -1
  35. package/dist/core/tools/spawn_agent.js +173 -0
  36. package/dist/core/tools/spawn_agent.js.map +1 -0
  37. package/dist/core/tools/subagent_ui.js +39 -0
  38. package/dist/core/tools/subagent_ui.js.map +1 -0
  39. package/dist/core/tools/terminate_agent.js +141 -0
  40. package/dist/core/tools/terminate_agent.js.map +1 -0
  41. package/dist/core/tools/wait_for_agent.js +178 -0
  42. package/dist/core/tools/wait_for_agent.js.map +1 -0
  43. package/dist/core/utils/auto_retry.js +27 -2
  44. package/dist/core/utils/auto_retry.js.map +1 -1
  45. package/dist/core/utils/{fork.js → compact.js} +2 -2
  46. package/dist/core/utils/compact.js.map +1 -0
  47. package/dist/core/utils/format.js +17 -0
  48. package/dist/core/utils/format.js.map +1 -1
  49. package/dist/core/utils/project_files.js +31 -5
  50. package/dist/core/utils/project_files.js.map +1 -1
  51. package/dist/core/utils/subagent_utils.js +4 -0
  52. package/dist/core/utils/subagent_utils.js.map +1 -1
  53. package/dist/core/version.js +1 -1
  54. package/dist/tui/chat_controller.js +65 -16
  55. package/dist/tui/chat_controller.js.map +1 -1
  56. package/dist/tui/chat_view.js +29 -5
  57. package/dist/tui/chat_view.js.map +1 -1
  58. package/dist/tui/tool_ui_router.js +89 -77
  59. package/dist/tui/tool_ui_router.js.map +1 -1
  60. package/dist/tui/ui/chat_message_model.js +0 -2
  61. package/dist/tui/ui/chat_message_model.js.map +1 -1
  62. package/dist/tui/ui/custom_editor.js +42 -6
  63. package/dist/tui/ui/custom_editor.js.map +1 -1
  64. package/dist/tui/ui/subagent_editor_pane.js +67 -0
  65. package/dist/tui/ui/subagent_editor_pane.js.map +1 -0
  66. package/dist/tui/ui/subagent_panel.js +249 -0
  67. package/dist/tui/ui/subagent_panel.js.map +1 -0
  68. package/dist/tui/ui/theme/theme.js +1 -0
  69. package/dist/tui/ui/theme/theme.js.map +1 -1
  70. package/dist/tui/ui/tool_ui_registry.js +226 -41
  71. package/dist/tui/ui/tool_ui_registry.js.map +1 -1
  72. package/package.json +1 -1
  73. package/dist/core/tools/fork.js +0 -239
  74. package/dist/core/tools/fork.js.map +0 -1
  75. package/dist/core/tools/task.js +0 -151
  76. package/dist/core/tools/task.js.map +0 -1
  77. package/dist/core/tools/task_schema.js +0 -29
  78. package/dist/core/tools/task_schema.js.map +0 -1
  79. package/dist/core/utils/fork.js.map +0 -1
  80. package/dist/tui/ui/task_execution.js +0 -256
  81. package/dist/tui/ui/task_execution.js.map +0 -1
@@ -0,0 +1,178 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ import { z } from "zod";
3
+ import { createToolError, createToolResult } from "../utils/messages.js";
4
+ import { buildSubagentUiText, formatSubagentStatusLine, truncateOutputLines, } from "./subagent_ui.js";
5
+ const WAIT_FOR_AGENT_DESCRIPTION = [
6
+ "Wait for one or more subagents to finish and return their outputs.",
7
+ "Provide the list of subagent ids returned by spawn_agent.",
8
+ ].join(" ");
9
+ const WAIT_FOR_AGENT_IDS_DESCRIPTION = "List of subagent ids to wait for.";
10
+ export const WAIT_FOR_AGENT_TOOL = {
11
+ name: "wait_for_agent",
12
+ description: WAIT_FOR_AGENT_DESCRIPTION,
13
+ parameters: Type.Object({
14
+ ids: Type.Array(Type.String({ description: WAIT_FOR_AGENT_IDS_DESCRIPTION }), {
15
+ minItems: 1,
16
+ }),
17
+ }, { additionalProperties: false }),
18
+ };
19
+ const waitArgsSchema = z.object({
20
+ ids: z.array(z.string().trim()).catch([]),
21
+ });
22
+ function parseWaitArgs(raw) {
23
+ const parsed = waitArgsSchema.safeParse(raw);
24
+ if (!parsed.success) {
25
+ return { ids: [] };
26
+ }
27
+ const ids = parsed.data.ids.map((id) => id.trim()).filter(Boolean);
28
+ return { ids };
29
+ }
30
+ function formatWaitResult(results) {
31
+ const payload = {
32
+ subagents: results.map((result) => ({
33
+ id: result.id,
34
+ name: result.name,
35
+ title: result.title,
36
+ status: result.status,
37
+ outputs: result.outputs,
38
+ error: result.error,
39
+ })),
40
+ };
41
+ return JSON.stringify(payload, null, 2);
42
+ }
43
+ function formatSubagentOutputLines(result, maxLines) {
44
+ const cleanedOutputs = result.outputs
45
+ .map((text) => text.trimEnd())
46
+ .filter((text) => text.trim().length > 0);
47
+ let body = cleanedOutputs.join("\n\n");
48
+ if (!body) {
49
+ const finalText = result.finalText?.trimEnd() ?? "";
50
+ body = finalText.trim().length > 0 ? finalText : "";
51
+ }
52
+ const header = `**${result.id}**`;
53
+ const outputLines = body ? body.split("\n") : [];
54
+ const errorLine = result.status !== "success"
55
+ ? result.error
56
+ ? `error: ${result.error}`
57
+ : `status: ${result.status}`
58
+ : undefined;
59
+ const remainingLines = errorLine ? Math.max(1, maxLines - 1) : maxLines;
60
+ const truncated = truncateOutputLines(outputLines, remainingLines);
61
+ if (errorLine) {
62
+ return [header, errorLine, ...truncated];
63
+ }
64
+ return truncated.length > 0 ? [header, ...truncated] : [header];
65
+ }
66
+ function formatWaitOutput(results) {
67
+ const limit = getWaitOutputLimit(results.length);
68
+ const output = [];
69
+ results.forEach((result, index) => {
70
+ if (index > 0)
71
+ output.push("");
72
+ output.push(...formatSubagentOutputLines(result, limit));
73
+ });
74
+ return output.join("\n");
75
+ }
76
+ function getWaitOutputLimit(count) {
77
+ if (count <= 1)
78
+ return 16;
79
+ if (count === 2)
80
+ return 12;
81
+ return 8;
82
+ }
83
+ function getWaitDurationMs(results) {
84
+ if (results.length === 0)
85
+ return undefined;
86
+ let earliest = Number.POSITIVE_INFINITY;
87
+ let latest = 0;
88
+ for (const result of results) {
89
+ earliest = Math.min(earliest, result.startedAt);
90
+ const finishedAt = result.finishedAt ?? Date.now();
91
+ latest = Math.max(latest, finishedAt);
92
+ }
93
+ if (!Number.isFinite(earliest))
94
+ return undefined;
95
+ return Math.max(0, latest - earliest);
96
+ }
97
+ function getWaitCostTotal(results) {
98
+ return results.reduce((sum, result) => sum + result.costTotal, 0);
99
+ }
100
+ export function createWaitForAgentToolDefinition() {
101
+ return {
102
+ schema: WAIT_FOR_AGENT_TOOL,
103
+ async dispatch(toolCall, _riskLevel, signal, context) {
104
+ const { ids } = parseWaitArgs(toolCall.arguments);
105
+ const blocked = (reason) => {
106
+ const toolResult = createToolError(toolCall, reason);
107
+ const uiEvent = {
108
+ type: "wait_for_agent_blocked",
109
+ toolCallId: toolCall.id,
110
+ agentIds: ids.length > 0 ? ids : undefined,
111
+ reason,
112
+ };
113
+ return { kind: "single", toolResult, uiEvent };
114
+ };
115
+ const deduped = [];
116
+ const seen = new Set();
117
+ for (const id of ids) {
118
+ if (!seen.has(id)) {
119
+ seen.add(id);
120
+ deduped.push(id);
121
+ }
122
+ }
123
+ if (deduped.length === 0) {
124
+ return blocked("missing 'ids' parameter. provide at least one subagent id.");
125
+ }
126
+ const controlPlane = context?.subagentControlPlane;
127
+ if (!controlPlane) {
128
+ return blocked("subagent control plane is not available.");
129
+ }
130
+ return {
131
+ kind: "phased",
132
+ startedUiEvent: {
133
+ type: "wait_for_agent_started",
134
+ toolCallId: toolCall.id,
135
+ agentIds: deduped,
136
+ },
137
+ run: (async () => {
138
+ try {
139
+ const results = await controlPlane.waitFor(deduped, signal);
140
+ const resultText = formatWaitResult(results);
141
+ const hasFailures = results.some((result) => result.status !== "success");
142
+ const statusText = formatSubagentStatusLine({
143
+ costTotal: getWaitCostTotal(results),
144
+ durationMs: getWaitDurationMs(results),
145
+ });
146
+ const uiText = buildSubagentUiText({
147
+ output: formatWaitOutput(results),
148
+ statusText,
149
+ });
150
+ const uiEvent = {
151
+ type: "wait_for_agent_finished",
152
+ toolCallId: toolCall.id,
153
+ agentIds: deduped,
154
+ status: hasFailures ? "error" : "success",
155
+ message: hasFailures ? "one or more subagents reported errors" : undefined,
156
+ uiText,
157
+ };
158
+ const toolResult = createToolResult(toolCall, resultText, hasFailures);
159
+ return { kind: "single", toolResult, uiEvent };
160
+ }
161
+ catch (error) {
162
+ const message = error instanceof Error ? error.message : String(error);
163
+ const uiEvent = {
164
+ type: "wait_for_agent_finished",
165
+ toolCallId: toolCall.id,
166
+ agentIds: deduped,
167
+ status: "error",
168
+ message,
169
+ };
170
+ const toolResult = createToolError(toolCall, message);
171
+ return { kind: "single", toolResult, uiEvent };
172
+ }
173
+ })(),
174
+ };
175
+ },
176
+ };
177
+ }
178
+ //# sourceMappingURL=wait_for_agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait_for_agent.js","sourceRoot":"","sources":["../../../src/core/tools/wait_for_agent.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,29 @@
1
- export function shouldAutoRetry({ model: _model, error: _error }) {
2
- return false;
1
+ import { isContextOverflow } from "@mariozechner/pi-ai";
2
+ const RETRYABLE_ERROR_REGEX = /overloaded|rate.?limit|too many requests|429|500|502|503|504|service.?unavailable|server error|internal error|connection.?error|connection.?refused|other side closed|fetch failed|upstream.?connect|reset before headers|terminated/i;
3
+ function asAssistantMessage(error) {
4
+ if (!error || typeof error !== "object") {
5
+ return undefined;
6
+ }
7
+ const message = error;
8
+ if (message.role !== "assistant" && message.stopReason !== "error") {
9
+ return undefined;
10
+ }
11
+ if (typeof message.stopReason !== "string") {
12
+ return undefined;
13
+ }
14
+ return message;
15
+ }
16
+ export function shouldAutoRetry({ model, error }) {
17
+ const message = asAssistantMessage(error);
18
+ if (!message) {
19
+ return false;
20
+ }
21
+ if (message.stopReason !== "error" || !message.errorMessage) {
22
+ return false;
23
+ }
24
+ if (isContextOverflow(message, model.contextWindow)) {
25
+ return false;
26
+ }
27
+ return RETRYABLE_ERROR_REGEX.test(message.errorMessage);
3
28
  }
4
29
  //# sourceMappingURL=auto_retry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto_retry.js","sourceRoot":"","sources":["../../../src/core/utils/auto_retry.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAoB;IAChF,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"auto_retry.js","sourceRoot":"","sources":["../../../src/core/utils/auto_retry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,MAAM,qBAAqB,GACzB,uOAAuO,CAAC;AAE1O,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,KAAkC,CAAC;IACnD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QACnE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,OAA2B,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAoB;IAChE,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAC1D,CAAC"}
@@ -1,4 +1,4 @@
1
- export function formatHistoryForCompression(history) {
1
+ export function formatHistoryForCompaction(history) {
2
2
  const lines = [];
3
3
  for (const message of history) {
4
4
  if (message.role === "user") {
@@ -38,4 +38,4 @@ export function formatHistoryForCompression(history) {
38
38
  }
39
39
  return lines.join("\n").trim();
40
40
  }
41
- //# sourceMappingURL=fork.js.map
41
+ //# sourceMappingURL=compact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../src/core/utils/compact.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,0BAA0B,CAAC,OAA2B;IACpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,MAAM,YAAY,GAAG,OAA2B,CAAC;YACjD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,KAAiB,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrF,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACrC,uCAAuC;gBACzC,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,OAA4B,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,QAAQ,eAAe,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC"}
@@ -32,4 +32,21 @@ export function formatCwd(cwd) {
32
32
  }
33
33
  return cwd;
34
34
  }
35
+ export function formatDurationMs(durationMs) {
36
+ if (durationMs === null || durationMs === undefined || !Number.isFinite(durationMs)) {
37
+ return "?";
38
+ }
39
+ const totalSeconds = Math.max(0, Math.floor(durationMs / 1000));
40
+ const seconds = totalSeconds % 60;
41
+ const minutesTotal = Math.floor(totalSeconds / 60);
42
+ const minutes = minutesTotal % 60;
43
+ const hours = Math.floor(minutesTotal / 60);
44
+ if (hours > 0) {
45
+ return `${hours}h ${minutes}m ${seconds}s`;
46
+ }
47
+ if (minutes > 0) {
48
+ return `${minutes}m ${seconds}s`;
49
+ }
50
+ return `${seconds}s`;
51
+ }
35
52
  //# sourceMappingURL=format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/core/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;QAC7B,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3D,CAAC;IACD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;QACzB,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,WAAmB,EACnB,WAAmB;IAEnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnD,IAAI,QAAQ,GAAG,WAAW,CAAC;IAC3B,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExC,OAAO,QAAQ,GAAG,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,QAAQ,IAAI,CAAC,CAAC;QACd,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAC7B,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/core/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;QAC7B,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3D,CAAC;IACD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;QACzB,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,WAAmB,EACnB,WAAmB;IAEnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnD,IAAI,QAAQ,GAAG,WAAW,CAAC;IAC3B,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExC,OAAO,QAAQ,GAAG,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,QAAQ,IAAI,CAAC,CAAC;QACd,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAC7B,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAqC;IACpE,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,YAAY,GAAG,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,YAAY,GAAG,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IAE5C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,GAAG,KAAK,KAAK,OAAO,KAAK,OAAO,GAAG,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,CAAC;IACnC,CAAC;IACD,OAAO,GAAG,OAAO,GAAG,CAAC;AACvB,CAAC"}
@@ -16,6 +16,28 @@ async function runCommand(cwd, cmd, args) {
16
16
  }
17
17
  return { status: result.exitCode ?? 1, stdout: result.stdout };
18
18
  }
19
+ function listDirectoriesFromFiles(files) {
20
+ const out = new Set();
21
+ for (const file of files) {
22
+ const parts = file.split("/");
23
+ if (parts.length <= 1)
24
+ continue;
25
+ for (let i = 1; i < parts.length; i += 1) {
26
+ const dir = parts.slice(0, i).join("/");
27
+ if (dir)
28
+ out.add(`${dir}/`);
29
+ }
30
+ }
31
+ return [...out];
32
+ }
33
+ function combineEntries(files, dirs) {
34
+ const out = new Set();
35
+ for (const file of files)
36
+ out.add(file);
37
+ for (const dir of dirs)
38
+ out.add(dir);
39
+ return [...out].sort();
40
+ }
19
41
  export async function listProjectFilesAsync(cwd) {
20
42
  const fromRipgrep = await listProjectFilesFromRipgrepAsync(cwd);
21
43
  if (fromRipgrep.length)
@@ -31,14 +53,16 @@ async function listProjectFilesFromRipgrepAsync(cwd) {
31
53
  .split("\n")
32
54
  .map((l) => l.trim())
33
55
  .filter(Boolean);
34
- return [...new Set(files)].sort();
56
+ const uniqueFiles = [...new Set(files)];
57
+ return combineEntries(uniqueFiles, listDirectoriesFromFiles(uniqueFiles));
35
58
  }
36
59
  catch {
37
60
  return [];
38
61
  }
39
62
  }
40
63
  async function listProjectFilesByWalkingAsync(cwd) {
41
- const out = [];
64
+ const files = new Set();
65
+ const dirs = new Set();
42
66
  const realpathStack = new Set();
43
67
  const walk = async (dirAbs, dirRel) => {
44
68
  let dirReal;
@@ -64,6 +88,7 @@ async function listProjectFilesByWalkingAsync(cwd) {
64
88
  continue;
65
89
  const nextAbs = join(dirAbs, entry.name);
66
90
  const nextRel = dirRel ? join(dirRel, entry.name) : entry.name;
91
+ dirs.add(`${nextRel}/`);
67
92
  await walk(nextAbs, nextRel);
68
93
  continue;
69
94
  }
@@ -75,11 +100,12 @@ async function listProjectFilesByWalkingAsync(cwd) {
75
100
  if (DEFAULT_IGNORED_DIRS.has(entry.name))
76
101
  continue;
77
102
  const nextRel = dirRel ? join(dirRel, entry.name) : entry.name;
103
+ dirs.add(`${nextRel}/`);
78
104
  await walk(targetPath, nextRel);
79
105
  }
80
106
  else if (st.isFile()) {
81
107
  const rel = dirRel ? join(dirRel, entry.name) : entry.name;
82
- out.push(rel);
108
+ files.add(rel);
83
109
  }
84
110
  }
85
111
  catch {
@@ -89,7 +115,7 @@ async function listProjectFilesByWalkingAsync(cwd) {
89
115
  }
90
116
  if (entry.isFile()) {
91
117
  const rel = dirRel ? join(dirRel, entry.name) : entry.name;
92
- out.push(rel);
118
+ files.add(rel);
93
119
  }
94
120
  }
95
121
  }
@@ -101,6 +127,6 @@ async function listProjectFilesByWalkingAsync(cwd) {
101
127
  }
102
128
  };
103
129
  await walk(cwd, "");
104
- return [...new Set(out)].sort();
130
+ return combineEntries(files, dirs);
105
131
  }
106
132
  //# sourceMappingURL=project_files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project_files.js","sourceRoot":"","sources":["../../../src/core/utils/project_files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project_files.js","sourceRoot":"","sources":["../../../src/core/utils/project_files.ts"],"names":[],"mappings":"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"}
@@ -30,8 +30,12 @@ export function formatToolUiEventForProgress(uiEvent) {
30
30
  return `web fetch: ${uiEvent.url}`;
31
31
  case "web_fetch_finished":
32
32
  return uiEvent.status === "error" ? `web fetch failed: ? ${uiEvent.url}` : undefined;
33
+ case "write_success":
34
+ return `write: ${uiEvent.path}`;
33
35
  case "write_blocked":
34
36
  return `tool blocked: write ${uiEvent.path} (${normalizeOneLine(uiEvent.reason)})`;
37
+ case "edit_success":
38
+ return `edit: ${uiEvent.path}`;
35
39
  case "edit_blocked":
36
40
  return `tool blocked: edit ${uiEvent.path} (${normalizeOneLine(uiEvent.reason)})`;
37
41
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"subagent_utils.js","sourceRoot":"","sources":["../../../src/core/utils/subagent_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent_utils.js","sourceRoot":"","sources":["../../../src/core/utils/subagent_utils.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const APP_VERSION = "0.2.7";
1
+ export const APP_VERSION = "0.2.9";
2
2
  //# sourceMappingURL=version.js.map