@markusylisiurunen/tau 0.3.32 → 0.3.33

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 (131) hide show
  1. package/README.md +9 -14
  2. package/dist/core/agent/agent_runtime.js +1505 -0
  3. package/dist/core/agent/agent_runtime.js.map +1 -0
  4. package/dist/core/agent/events.js +2 -0
  5. package/dist/core/agent/events.js.map +1 -0
  6. package/dist/core/commands/registry.js +0 -42
  7. package/dist/core/commands/registry.js.map +1 -1
  8. package/dist/core/config/content_loader.js +3 -1
  9. package/dist/core/config/content_loader.js.map +1 -1
  10. package/dist/core/index.js +1 -1
  11. package/dist/core/index.js.map +1 -1
  12. package/dist/core/models/catalog.js +7 -1
  13. package/dist/core/models/catalog.js.map +1 -1
  14. package/dist/core/models/tau_model_overrides.js +10 -0
  15. package/dist/core/models/tau_model_overrides.js.map +1 -0
  16. package/dist/core/modes/index.js.map +1 -1
  17. package/dist/core/personas.js +2 -1
  18. package/dist/core/personas.js.map +1 -1
  19. package/dist/core/runtime/agent_model.js +50 -0
  20. package/dist/core/runtime/agent_model.js.map +1 -0
  21. package/dist/core/runtime/chat_runtime.js +173 -63
  22. package/dist/core/runtime/chat_runtime.js.map +1 -1
  23. package/dist/core/runtime/model_executor.js +2 -0
  24. package/dist/core/runtime/model_executor.js.map +1 -0
  25. package/dist/core/runtime/model_sampler.js +21 -0
  26. package/dist/core/runtime/model_sampler.js.map +1 -0
  27. package/dist/core/session/compaction.js +1 -1
  28. package/dist/core/session/compaction.js.map +1 -1
  29. package/dist/core/session/direct_bash.js.map +1 -1
  30. package/dist/core/session/message_accumulator.js +3 -5
  31. package/dist/core/session/message_accumulator.js.map +1 -1
  32. package/dist/core/session/runner.js +197 -98
  33. package/dist/core/session/runner.js.map +1 -1
  34. package/dist/core/subagents/agent_supervisor.js +337 -0
  35. package/dist/core/subagents/agent_supervisor.js.map +1 -0
  36. package/dist/core/tools/activity.js +2 -0
  37. package/dist/core/tools/activity.js.map +1 -0
  38. package/dist/core/tools/bash.js +64 -67
  39. package/dist/core/tools/bash.js.map +1 -1
  40. package/dist/core/tools/catalog.js +46 -24
  41. package/dist/core/tools/catalog.js.map +1 -1
  42. package/dist/core/tools/code_mode.js +65 -58
  43. package/dist/core/tools/code_mode.js.map +1 -1
  44. package/dist/core/tools/edit.js +11 -12
  45. package/dist/core/tools/edit.js.map +1 -1
  46. package/dist/core/tools/nook.js +3 -2
  47. package/dist/core/tools/nook.js.map +1 -1
  48. package/dist/core/tools/registry.js +27 -13
  49. package/dist/core/tools/registry.js.map +1 -1
  50. package/dist/core/tools/send_input_to_agent.js +75 -90
  51. package/dist/core/tools/send_input_to_agent.js.map +1 -1
  52. package/dist/core/tools/spawn_agent.js +95 -100
  53. package/dist/core/tools/spawn_agent.js.map +1 -1
  54. package/dist/core/tools/terminate_agent.js +75 -82
  55. package/dist/core/tools/terminate_agent.js.map +1 -1
  56. package/dist/core/tools/view_image.js +11 -16
  57. package/dist/core/tools/view_image.js.map +1 -1
  58. package/dist/core/tools/wait_for_agents.js +61 -68
  59. package/dist/core/tools/wait_for_agents.js.map +1 -1
  60. package/dist/core/tools/web.js +3 -3
  61. package/dist/core/tools/web.js.map +1 -1
  62. package/dist/core/tools/write.js +10 -11
  63. package/dist/core/tools/write.js.map +1 -1
  64. package/dist/core/usage/logs.js.map +1 -1
  65. package/dist/core/utils/subagent_utils.js.map +1 -1
  66. package/dist/core/version.js +1 -1
  67. package/dist/execution/execution_environment.js.map +1 -1
  68. package/dist/execution/tool_backend_execution_environment.js +1 -7
  69. package/dist/execution/tool_backend_execution_environment.js.map +1 -1
  70. package/dist/host/client_tool_broker.js +26 -20
  71. package/dist/host/client_tool_broker.js.map +1 -1
  72. package/dist/host/hosted_ephemeral_agent_session.js +104 -167
  73. package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
  74. package/dist/host/local_session_host.js +310 -197
  75. package/dist/host/local_session_host.js.map +1 -1
  76. package/dist/host/session_host.js.map +1 -1
  77. package/dist/host/session_protocol_handler.js +121 -101
  78. package/dist/host/session_protocol_handler.js.map +1 -1
  79. package/dist/main.js +10 -2
  80. package/dist/main.js.map +1 -1
  81. package/dist/protocol/index.d.ts +1 -1
  82. package/dist/protocol/index.js.map +1 -1
  83. package/dist/protocol/session_protocol.d.ts +19 -21
  84. package/dist/protocol/session_protocol.js +150 -56
  85. package/dist/protocol/session_protocol.js.map +1 -1
  86. package/dist/sdk/index.d.ts +1 -1
  87. package/dist/sdk/index.js.map +1 -1
  88. package/dist/sdk/session.js +4 -21
  89. package/dist/sdk/session.js.map +1 -1
  90. package/dist/sdk/types.d.ts +2 -7
  91. package/dist/store/file_session_store.js +13 -9
  92. package/dist/store/file_session_store.js.map +1 -1
  93. package/dist/store/session_snapshot_migrations.js +133 -0
  94. package/dist/store/session_snapshot_migrations.js.map +1 -0
  95. package/dist/tui/chat_controller/command_hints.js +0 -6
  96. package/dist/tui/chat_controller/command_hints.js.map +1 -1
  97. package/dist/tui/chat_view.js +19 -12
  98. package/dist/tui/chat_view.js.map +1 -1
  99. package/dist/tui/session_chat_app.js +0 -8
  100. package/dist/tui/session_chat_app.js.map +1 -1
  101. package/dist/tui/session_chat_controller.js +94 -115
  102. package/dist/tui/session_chat_controller.js.map +1 -1
  103. package/dist/tui/tool_ui_router.js +12 -226
  104. package/dist/tui/tool_ui_router.js.map +1 -1
  105. package/dist/tui/ui/bash_execution.js +3 -3
  106. package/dist/tui/ui/bash_execution.js.map +1 -1
  107. package/dist/tui/ui/chat_message_model.js +2 -2
  108. package/dist/tui/ui/chat_message_model.js.map +1 -1
  109. package/dist/tui/ui/subagent_panel.js +39 -2
  110. package/dist/tui/ui/subagent_panel.js.map +1 -1
  111. package/dist/tui/ui/tool_ui_model.js +2 -0
  112. package/dist/tui/ui/tool_ui_model.js.map +1 -0
  113. package/dist/tui/ui/tool_ui_registry.js +256 -31
  114. package/dist/tui/ui/tool_ui_registry.js.map +1 -1
  115. package/package.json +1 -1
  116. package/dist/core/events/types.js +0 -2
  117. package/dist/core/events/types.js.map +0 -1
  118. package/dist/core/modes/mode_adapter.js +0 -2
  119. package/dist/core/modes/mode_adapter.js.map +0 -1
  120. package/dist/core/runtime/conversation_turn_runtime.js +0 -88
  121. package/dist/core/runtime/conversation_turn_runtime.js.map +0 -1
  122. package/dist/core/session/core_session.js +0 -86
  123. package/dist/core/session/core_session.js.map +0 -1
  124. package/dist/core/session/pruning.js +0 -587
  125. package/dist/core/session/pruning.js.map +0 -1
  126. package/dist/core/session/session_engine.js +0 -1246
  127. package/dist/core/session/session_engine.js.map +0 -1
  128. package/dist/core/subagents/control_plane.js +0 -339
  129. package/dist/core/subagents/control_plane.js.map +0 -1
  130. package/dist/core/subagents/subagent_engine.js +0 -258
  131. package/dist/core/subagents/subagent_engine.js.map +0 -1
@@ -1,5 +1,7 @@
1
+ import { AgentSupervisor } from "../subagents/agent_supervisor.js";
1
2
  import { createBashToolDefinition } from "./bash.js";
2
3
  import { createEditToolDefinition } from "./edit.js";
4
+ import { scopeToolExecutionBackend } from "./execution_backend.js";
3
5
  import { createNookToolDefinition } from "./nook.js";
4
6
  import { ToolRegistry } from "./registry.js";
5
7
  import { createSendInputToAgentToolDefinition } from "./send_input_to_agent.js";
@@ -11,47 +13,67 @@ import { createWaitForAgentsToolDefinition } from "./wait_for_agents.js";
11
13
  import { createWebToolDefinition } from "./web.js";
12
14
  import { createWriteToolDefinition } from "./write.js";
13
15
  export const ToolCatalog = {
14
- createRegistry(backend) {
15
- return new ToolRegistry([
16
- createBashToolDefinition(backend),
17
- createWriteToolDefinition(backend),
18
- createEditToolDefinition(backend),
19
- createViewImageToolDefinition(backend),
20
- createWebToolDefinition(backend),
21
- createSpawnAgentToolDefinition(backend),
22
- createSendInputToAgentToolDefinition(backend),
23
- createWaitForAgentsToolDefinition(),
24
- createTerminateAgentToolDefinition(),
25
- createNookToolDefinition(backend),
26
- ]);
16
+ createDebugRegistry(options) {
17
+ return this.createSessionRegistry({
18
+ ...options,
19
+ subagentPrompts: {},
20
+ supervisor: new AgentSupervisor({ onEvent: () => { } }),
21
+ });
27
22
  },
28
- createSubagentRegistry(allowedTools, backend) {
23
+ createSessionRegistry(options) {
24
+ const tools = [
25
+ createBashToolDefinition(options.backend, options.cwd),
26
+ createWriteToolDefinition(options.backend),
27
+ createEditToolDefinition(options.backend),
28
+ createViewImageToolDefinition(options.backend),
29
+ createWebToolDefinition(options.backend, options.config),
30
+ createSpawnAgentToolDefinition({
31
+ backend: options.backend,
32
+ supervisor: options.supervisor,
33
+ persona: options.persona,
34
+ config: options.config,
35
+ modelResolver: options.modelResolver,
36
+ subagentPrompts: options.subagentPrompts,
37
+ cwd: options.cwd,
38
+ ...(options.resolveSubagentRuntime
39
+ ? { resolveSubagentRuntime: options.resolveSubagentRuntime }
40
+ : {}),
41
+ }),
42
+ createSendInputToAgentToolDefinition(options.supervisor),
43
+ createWaitForAgentsToolDefinition(options.supervisor),
44
+ createTerminateAgentToolDefinition(options.supervisor),
45
+ ];
46
+ if (options.config.nook) {
47
+ tools.push(createNookToolDefinition(options.backend, options.config));
48
+ }
49
+ const enabledToolNames = new Set(options.persona.tools);
50
+ return new ToolRegistry(tools.filter((tool) => enabledToolNames.has(tool.schema.name)));
51
+ },
52
+ createSubagentRegistry(allowedTools, backend, cwd, config) {
53
+ const scopedBackend = scopeToolExecutionBackend(backend, cwd);
29
54
  const definitions = [];
30
55
  const seen = new Set();
31
- const addTool = (tool) => {
56
+ for (const tool of allowedTools) {
32
57
  if (seen.has(tool))
33
- return;
58
+ continue;
34
59
  seen.add(tool);
35
60
  switch (tool) {
36
61
  case TOOL_NAME_BASH:
37
- definitions.push(createBashToolDefinition(backend));
62
+ definitions.push(createBashToolDefinition(scopedBackend, cwd));
38
63
  break;
39
64
  case TOOL_NAME_WRITE:
40
- definitions.push(createWriteToolDefinition(backend));
65
+ definitions.push(createWriteToolDefinition(scopedBackend));
41
66
  break;
42
67
  case TOOL_NAME_EDIT:
43
- definitions.push(createEditToolDefinition(backend));
68
+ definitions.push(createEditToolDefinition(scopedBackend));
44
69
  break;
45
70
  case TOOL_NAME_VIEW_IMAGE:
46
- definitions.push(createViewImageToolDefinition(backend));
71
+ definitions.push(createViewImageToolDefinition(scopedBackend));
47
72
  break;
48
73
  case TOOL_NAME_WEB:
49
- definitions.push(createWebToolDefinition(backend));
74
+ definitions.push(createWebToolDefinition(scopedBackend, config));
50
75
  break;
51
76
  }
52
- };
53
- for (const tool of allowedTools) {
54
- addTool(tool);
55
77
  }
56
78
  return new ToolRegistry(definitions);
57
79
  },
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/core/tools/catalog.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,oCAAoC,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,cAAc,CAAC,OAA6B;QAC1C,OAAO,IAAI,YAAY,CAAC;YACtB,wBAAwB,CAAC,OAAO,CAAC;YACjC,yBAAyB,CAAC,OAAO,CAAC;YAClC,wBAAwB,CAAC,OAAO,CAAC;YACjC,6BAA6B,CAAC,OAAO,CAAC;YACtC,uBAAuB,CAAC,OAAO,CAAC;YAChC,8BAA8B,CAAC,OAAO,CAAC;YACvC,oCAAoC,CAAC,OAAO,CAAC;YAC7C,iCAAiC,EAAE;YACnC,kCAAkC,EAAE;YACpC,wBAAwB,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CACpB,YAAgC,EAChC,OAA6B;QAE7B,MAAM,WAAW,GAAqB,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,MAAM,OAAO,GAAG,CAAC,IAAsB,EAAQ,EAAE;YAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEf,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,cAAc;oBACjB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpD,MAAM;gBACR,KAAK,eAAe;oBAClB,WAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,cAAc;oBACjB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpD,MAAM;gBACR,KAAK,oBAAoB;oBACvB,WAAW,CAAC,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzD,MAAM;gBACR,KAAK,aAAa;oBAChB,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;oBACnD,MAAM;YACV,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/core/tools/catalog.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import { createToolError, createToolResult } from "../utils/messages.js";
2
1
  import { bytesToTokens } from "../utils/token.js";
3
2
  import { formatBytes } from "../utils/truncate.js";
4
3
  import { buildBashUiText, prepareBashOutput } from "./bash.js";
5
- import { createToolDispatch } from "./registry.js";
4
+ import { createTextToolOutcome, executeTool, } from "./registry.js";
6
5
  function getCodeModeTerminationNote(execution, timeoutMs) {
7
6
  if (execution.timedOut) {
8
7
  return `(tau) timed out${timeoutMs === undefined ? "" : ` after ${timeoutMs}ms`}`;
@@ -30,13 +29,16 @@ function formatCodeModeResultText(truncationInfo, execution, terminated) {
30
29
  export function createCodeModeToolDefinition(backend, implementation) {
31
30
  return {
32
31
  schema: implementation.schema,
33
- getDisplayTarget: (toolCall) => implementation.parseArguments(toolCall.arguments).displayTarget,
34
- getCodePreview: (toolCall) => implementation.parseArguments(toolCall.arguments).code,
35
- async dispatch(toolCall, signal, context) {
32
+ describe: (toolCall) => {
33
+ const parsed = implementation.parseArguments(toolCall.arguments);
34
+ return { headerTarget: parsed.displayTarget, code: parsed.code };
35
+ },
36
+ async execute(toolCall, context) {
37
+ const { signal } = context;
36
38
  const parsed = implementation.parseArguments(toolCall.arguments);
37
39
  const headerTarget = parsed.displayTarget;
38
- const blocked = (reason) => {
39
- const toolResult = createToolError(toolCall, reason);
40
+ const blocked = (reason, semanticOutcome = "blocked") => {
41
+ const outcome = createTextToolOutcome(reason, semanticOutcome);
40
42
  const uiEvent = {
41
43
  type: "code_mode_blocked",
42
44
  toolCallId: toolCall.id,
@@ -45,60 +47,65 @@ export function createCodeModeToolDefinition(backend, implementation) {
45
47
  headerTarget,
46
48
  reason,
47
49
  };
48
- return { toolResult, uiEvent };
50
+ return { content: outcome.content, outcome: outcome.outcome, uiEvent };
49
51
  };
50
52
  if (!parsed.ok) {
51
- return createToolDispatch(() => blocked(`Invalid arguments: ${parsed.error}`));
53
+ return executeTool(context, () => blocked(`Invalid arguments: ${parsed.error}`));
52
54
  }
53
- return {
54
- startedUiEvent: {
55
- type: "code_mode_started",
56
- toolCallId: toolCall.id,
57
- toolName: implementation.schema.name,
58
- code: parsed.code,
59
- headerTarget,
60
- },
61
- run: (async () => {
62
- try {
63
- const startedAt = Date.now();
64
- const execution = await implementation.execute({
65
- args: parsed.args,
66
- code: parsed.code,
67
- backend,
68
- context,
69
- signal,
70
- });
71
- const durationMs = Math.max(0, Date.now() - startedAt);
72
- const terminationNote = getCodeModeTerminationNote(execution, implementation.timeoutMs);
73
- const output = terminationNote
74
- ? `${execution.output}${execution.output && !execution.output.endsWith("\n") ? "\n" : ""}${terminationNote}\n`
75
- : execution.output;
76
- const truncationInfo = await prepareBashOutput(output, execution.truncated, implementation.outputPolicy, backend);
77
- const toolText = formatCodeModeResultText(truncationInfo, execution, terminationNote !== undefined);
78
- const isError = execution.exitCode === null || execution.exitCode !== 0;
79
- const uiText = buildBashUiText({
80
- truncationInfo,
81
- exitCode: execution.exitCode,
82
- durationMs,
83
- fullText: toolText,
84
- });
85
- const toolResult = createToolResult(toolCall, toolText, isError);
86
- const uiEvent = {
87
- type: "code_mode_finished",
88
- toolCallId: toolCall.id,
89
- toolName: implementation.schema.name,
90
- code: parsed.code,
91
- headerTarget,
92
- status: isError ? "error" : "success",
93
- uiText,
94
- };
95
- return { toolResult, uiEvent };
96
- }
97
- catch (error) {
98
- return blocked(error instanceof Error ? error.message : String(error));
99
- }
100
- })(),
101
- };
55
+ const blockedReason = implementation.getBlockedReason?.(parsed.args);
56
+ if (blockedReason) {
57
+ return executeTool(context, () => blocked(blockedReason));
58
+ }
59
+ return executeTool(context, async () => {
60
+ try {
61
+ const startedAt = Date.now();
62
+ const execution = await implementation.execute({
63
+ args: parsed.args,
64
+ code: parsed.code,
65
+ backend,
66
+ signal,
67
+ });
68
+ const durationMs = Math.max(0, Date.now() - startedAt);
69
+ const terminationNote = getCodeModeTerminationNote(execution, implementation.timeoutMs);
70
+ const output = terminationNote
71
+ ? `${execution.output}${execution.output && !execution.output.endsWith("\n") ? "\n" : ""}${terminationNote}\n`
72
+ : execution.output;
73
+ const truncationInfo = await prepareBashOutput(output, execution.truncated, implementation.outputPolicy, backend);
74
+ const toolText = formatCodeModeResultText(truncationInfo, execution, terminationNote !== undefined);
75
+ const isError = execution.exitCode === null || execution.exitCode !== 0;
76
+ const semanticOutcome = execution.aborted || execution.timedOut
77
+ ? "cancelled"
78
+ : isError
79
+ ? "failed"
80
+ : "succeeded";
81
+ const uiText = buildBashUiText({
82
+ truncationInfo,
83
+ exitCode: execution.exitCode,
84
+ durationMs,
85
+ fullText: toolText,
86
+ });
87
+ const outcome = createTextToolOutcome(toolText, semanticOutcome);
88
+ const uiEvent = {
89
+ type: "code_mode_finished",
90
+ toolCallId: toolCall.id,
91
+ toolName: implementation.schema.name,
92
+ code: parsed.code,
93
+ headerTarget,
94
+ status: isError ? "error" : "success",
95
+ uiText,
96
+ };
97
+ return { content: outcome.content, outcome: outcome.outcome, uiEvent };
98
+ }
99
+ catch (error) {
100
+ return blocked(error instanceof Error ? error.message : String(error), "failed");
101
+ }
102
+ }, {
103
+ type: "code_mode_started",
104
+ toolCallId: toolCall.id,
105
+ toolName: implementation.schema.name,
106
+ code: parsed.code,
107
+ headerTarget,
108
+ });
102
109
  },
103
110
  };
104
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"code_mode.js","sourceRoot":"","sources":["../../../src/core/tools/code_mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code_mode.js","sourceRoot":"","sources":["../../../src/core/tools/code_mode.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { Type } from "typebox";
2
2
  import { z } from "zod";
3
3
  import { buildLineDiff } from "../utils/line_diff.js";
4
- import { createToolError, createToolSuccess } from "../utils/messages.js";
5
4
  import { formatZodError } from "../utils/zod.js";
6
- import { createToolDispatch } from "./registry.js";
5
+ import { createTextToolOutcome, executeTool, } from "./registry.js";
7
6
  import { TOOL_NAME_EDIT } from "./tool_names.js";
8
7
  const EDIT_DESCRIPTION = [
9
8
  "Edit a file by replacing exact text matches.",
@@ -93,14 +92,14 @@ function buildEditUiText(args) {
93
92
  export function createEditToolDefinition(backend) {
94
93
  return {
95
94
  schema: EDIT_TOOL,
96
- getDisplayTarget: (toolCall) => getEditDisplayTarget(toolCall.arguments),
97
- async dispatch(toolCall) {
98
- return createToolDispatch(async () => {
95
+ describe: (toolCall) => ({ headerTarget: getEditDisplayTarget(toolCall.arguments) }),
96
+ async execute(toolCall, context) {
97
+ return executeTool(context, async () => {
99
98
  const parsedArgs = parseEditArgs(toolCall.arguments);
100
99
  const path = parsedArgs.ok ? parsedArgs.data.path : "";
101
100
  const headerTarget = getEditDisplayTarget(toolCall.arguments);
102
- const blocked = (reason) => {
103
- const toolResult = createToolError(toolCall, reason);
101
+ const blocked = (reason, semanticOutcome = "blocked") => {
102
+ const outcome = createTextToolOutcome(reason, semanticOutcome);
104
103
  const uiEvent = {
105
104
  type: "edit_blocked",
106
105
  toolCallId: toolCall.id,
@@ -108,7 +107,7 @@ export function createEditToolDefinition(backend) {
108
107
  headerTarget,
109
108
  reason,
110
109
  };
111
- return { toolResult, uiEvent };
110
+ return { content: outcome.content, outcome: outcome.outcome, uiEvent };
112
111
  };
113
112
  if (!parsedArgs.ok) {
114
113
  return blocked(`Invalid arguments: ${parsedArgs.error}`);
@@ -124,7 +123,7 @@ export function createEditToolDefinition(backend) {
124
123
  if (e.code === "ENOENT") {
125
124
  return blocked(`File not found at '${path}'. Verify the path is correct.`);
126
125
  }
127
- return blocked(`Could not read file: ${errorMessage}`);
126
+ return blocked(`Could not read file: ${errorMessage}`, "failed");
128
127
  }
129
128
  const matchCount = countOccurrences(content, oldText);
130
129
  if (matchCount === 0) {
@@ -168,7 +167,7 @@ export function createEditToolDefinition(backend) {
168
167
  const summaryLine = `Successfully edited ${path}: ${oldText.length} → ${newText.length} chars (${sizeDiffStr})`;
169
168
  const statusLine = `+${added}, -${removed} · ${oldText.length} → ${newText.length} chars (${sizeDiffStr})`;
170
169
  const resultText = formatEditToolResultText({ summaryLine });
171
- const toolResult = createToolSuccess(toolCall, resultText);
170
+ const outcome = createTextToolOutcome(resultText, "succeeded");
172
171
  const uiText = buildEditUiText({ summaryLine, statusLine, diffLines });
173
172
  const uiEvent = {
174
173
  type: "edit_success",
@@ -181,11 +180,11 @@ export function createEditToolDefinition(backend) {
181
180
  newText,
182
181
  uiText,
183
182
  };
184
- return { toolResult, uiEvent };
183
+ return { content: outcome.content, outcome: outcome.outcome, uiEvent };
185
184
  }
186
185
  catch (e) {
187
186
  const errorMessage = e instanceof Error ? e.message : String(e);
188
- return blocked(`Could not write file: ${errorMessage}`);
187
+ return blocked(`Could not write file: ${errorMessage}`, "failed");
189
188
  }
190
189
  });
191
190
  },
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/core/tools/edit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAUjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,gBAAgB,GAAG;IACvB,8CAA8C;IAC9C,oEAAoE;IACpE,yFAAyF;CAC1F,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,qBAAqB,GAAG,gDAAgD,CAAC;AAC/E,MAAM,yBAAyB,GAAG;IAChC,wEAAwE;IACxE,oCAAoC;IACpC,oFAAoF;CACrF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACZ,MAAM,yBAAyB,GAAG,mCAAmC,CAAC;AAEtE,MAAM,CAAC,MAAM,SAAS,GAAS;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CACrB;QACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QACzD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;KACjE,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAChC;CACF,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,SAAS,aAAa,CACpB,GAAY;IAIZ,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAY;IACxC,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC;AACtE,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,MAAc;IACvD,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,KAAK,EAAE,CAAC;QACR,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,MAAc,EAAE,YAAY,GAAW,CAAC;IACjF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC;IAE1E,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,SAAS,SAAS,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,wBAAwB,CAAC,IAA6B;IAC7D,OAAO,IAAI,CAAC,WAAW,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,IAIxB;IACC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEpD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAc,EAAE;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAC/D,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAiB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7E,MAAM,SAAS,GAAiB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO;QACL,YAAY;QACZ,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA6B;IACpE,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxE,KAAK,CAAC,QAAQ,CAAC,QAAkB;YAC/B,OAAO,kBAAkB,CAAC,KAAK,IAAI,EAAE;gBACnC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACrD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAE9D,MAAM,OAAO,GAAG,CAAC,MAAc,EAAsB,EAAE;oBACrD,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACrD,MAAM,OAAO,GAAgB;wBAC3B,IAAI,EAAE,cAAc;wBACpB,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,IAAI,EAAE,IAAI,IAAI,gBAAgB;wBAC9B,YAAY;wBACZ,MAAM;qBACP,CAAC;oBACF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACjC,CAAC,CAAC;gBAEF,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACnB,OAAO,OAAO,CAAC,sBAAsB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC;gBAE7C,IAAI,OAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC5C,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC3B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAChE,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACnD,OAAO,OAAO,CAAC,sBAAsB,IAAI,gCAAgC,CAAC,CAAC;oBAC7E,CAAC;oBACD,OAAO,OAAO,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAEtD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACrB,wCAAwC;oBACxC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,YAAY,GAAG,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAExF,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;wBACrB,IAAI;4BACF,iJAAiJ,CAAC;oBACtJ,CAAC;yBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClC,IAAI;4BACF,iHAAiH,CAAC;oBACtH,CAAC;yBAAM,CAAC;wBACN,4BAA4B;wBAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC/D,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBAChE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;4BACtE,IAAI,GAAG,+CAA+C,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,wEAAwE,CAAC;wBACxK,CAAC;oBACH,CAAC;oBAED,OAAO,OAAO,CACZ,oDAAoD,IAAI,kDAAkD,CAC3G,CAAC;gBACJ,CAAC;gBAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACnB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC7D,OAAO,OAAO,CACZ,SAAS,UAAU,oIAAoI,iBAAiB,EAAE,CAC3K,CAAC;gBACJ,CAAC;gBAED,+CAA+C;gBAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;gBAE3D,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBAE1C,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;oBACjD,MAAM,WAAW,GACf,QAAQ,KAAK,CAAC;wBACZ,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,QAAQ,GAAG,CAAC;4BACZ,CAAC,CAAC,IAAI,QAAQ,QAAQ;4BACtB,CAAC,CAAC,GAAG,QAAQ,QAAQ,CAAC;oBAC5B,MAAM,WAAW,GAAG,uBAAuB,IAAI,KAAK,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,MAAM,WAAW,WAAW,GAAG,CAAC;oBAChH,MAAM,UAAU,GAAG,IAAI,KAAK,MAAM,OAAO,MAAM,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,MAAM,WAAW,WAAW,GAAG,CAAC;oBAE3G,MAAM,UAAU,GAAG,wBAAwB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;oBAE7D,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;oBACvE,MAAM,OAAO,GAAgB;wBAC3B,IAAI,EAAE,cAAc;wBACpB,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,IAAI;wBACJ,YAAY;wBACZ,SAAS,EAAE,OAAO,CAAC,MAAM;wBACzB,SAAS,EAAE,OAAO,CAAC,MAAM;wBACzB,OAAO;wBACP,OAAO;wBACP,MAAM;qBACP,CAAC;oBACF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACjC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAChE,OAAO,OAAO,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/core/tools/edit.ts"],"names":[],"mappings":"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"}
@@ -262,14 +262,15 @@ function executeNookProgram(code, deps, config, backend, signal, timeoutMs) {
262
262
  const defaultDeps = {
263
263
  createClient: createNookClientFromConfig,
264
264
  };
265
- export function createNookToolDefinition(backend, deps = defaultDeps) {
265
+ export function createNookToolDefinition(backend, config, deps = defaultDeps) {
266
266
  const timeoutMs = deps.timeoutMs ?? NOOK_CODE_MODE_TIMEOUT_MS;
267
267
  const implementation = {
268
268
  schema: NOOK_TOOL,
269
269
  outputPolicy: { maxTokens: NOOK_CODE_MODE_OUTPUT_TOKENS },
270
270
  timeoutMs,
271
271
  parseArguments: parseNookArguments,
272
- execute: async ({ code, context, signal, backend: executionBackend }) => executeNookProgram(code, deps, context.config, executionBackend, signal, timeoutMs),
272
+ getBlockedReason: () => (config.nook ? undefined : "nook is not configured"),
273
+ execute: async ({ code, signal, backend: executionBackend }) => executeNookProgram(code, deps, config, executionBackend, signal, timeoutMs),
273
274
  };
274
275
  return createCodeModeToolDefinition(backend, implementation);
275
276
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nook.js","sourceRoot":"","sources":["../../../src/core/tools/nook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nook.js","sourceRoot":"","sources":["../../../src/core/tools/nook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EACL,kCAAkC,EAClC,oCAAoC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAEL,4BAA4B,GAE7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA8B,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG1F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAC3C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AAErC,MAAM,gBAAgB,GAAG;IACvB,8MAA8M;IAC9M,kKAAkK;IAClK,wGAAwG;IACxG,qFAAqF;IACrF,2FAA2F;IAC3F,2IAA2I;IAC3I,qKAAqK;IACrK,kMAAkM;IAClM,kKAAkK;CACnK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,SAAS,GAAS;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CACrB;QACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,yEAAyE;SACvF,CAAC;KACH,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAChC;CACF,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B,CAAC;KACD,MAAM,EAAE,CAAC;AAWZ,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAC7C,MAAM,UAAU,GAAG,oBAAoB,CAAC;AACxC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC3D,MAAM,uBAAuB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;CAC1C,CAAC;KACD,MAAM,EAAE,CAAC;AACZ,MAAM,mBAAmB,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,SAAS,kBAAkB,CACzB,QAA0E;IAE1E,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;AAC5D,MAAM,cAAc,GAAG,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;AAEpE,MAAM,aAAa,GAAG,YAAY,CAChC,IAAI,GAAG,CAAC,2CAA2C,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EACrE,MAAM,CACP,CAAC;AACF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,6CAA6C,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAEjG,SAAS,kBAAkB,CAAC,GAAY;IACtC,MAAM,OAAO,GACX,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAQ,GAA0B,CAAC,IAAI,KAAK,QAAQ;QAC7F,CAAC,CAAE,GAAwB,CAAC,IAAI;QAChC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,aAAa,GACjB,OAAO;SACJ,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC;YACnC,IAAI,EAAE,OAAO;YACb,aAAa;SACd,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;QACtB,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA8B;IAC1D,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAI,MAAc,EAAE,IAAa,EAAE,MAAoB;IAClF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,eAAe,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,YAAoB;IACxD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAA6B,EAC7B,SAAiB,EACjB,QAA6B,EAC7B,MAAmB;IAEnB,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,mCAAmC,SAAS,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,MAAkB,EAClB,OAA6B,EAC7B,IAAY,EACZ,SAAiB,EACjB,MAAmB;IAEnB,MAAM,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnF,MAAM,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO;QACL,IAAI;QACJ,SAAS;QACT,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,MAAkB,EAClB,OAA6B,EAC7B,QAAgB,EAChB,SAAiB,EACjB,MAAmB;IAEnB,MAAM,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnF,MAAM,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAkB,EAClB,OAA6B,EAC7B,IAAY,EACZ,GAAW,EACX,IAAY,EACZ,MAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mDAAmD,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAAkB,EAClB,OAA6B,EAC7B,IAAY,EACZ,GAAW,EACX,IAAY,EACZ,MAAmB;IAEnB,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACpF,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACvF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAA8B,EAC9B,IAAkB,EAClB,MAAc,EACd,OAA6B,EAC7B,MAAmB;IAEnB,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,GAAe,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7E,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,OAAO,EAAE,CAAC;YACb,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO,YAAY,EAAE,CAAC,SAAS,EAAE,CAAC;QACpC,CAAC;QACD,KAAK,YAAY,EAAE,CAAC;YAClB,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,YAAY,EAAE,CAAC,SAAS,EAAE,CAAC;QACpC,CAAC;QACD,KAAK,YAAY,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,oBAAoB,CAC5C,YAAY,EACZ,IAAI,EACJ,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CACvC,CAAC;YACF,OAAO,QAAQ,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,oBAAoB,CACrD,cAAc,EACd,IAAI,EACJ,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,uBAAuB,CAAC,CAAC,CAChE,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,kCAAkC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACnF,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,KAAK,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACjF,OAAO,YAAY,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,gBAAgB,EAAE,CAAC;YACtB,oBAAoB,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,YAAY,EAAE,CAAC,aAAa,EAAE,CAAC;QACxC,CAAC;QACD,KAAK,gBAAgB,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,oBAAoB,CAChD,gBAAgB,EAChB,IAAI,EACJ,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAC3C,CAAC;YACF,OAAO,YAAY,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,gBAAgB,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,oBAAoB,CAChD,gBAAgB,EAChB,IAAI,EACJ,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAC3C,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,oCAAoC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACrF,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,KAAK,kBAAkB,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC7F,OAAO,YAAY,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3F,OAAO,YAAY,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,oBAAoB,CAC5C,cAAc,EACd,IAAI,EACJ,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAC7C,CAAC;YACF,OAAO,aAAa,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,oBAAoB,CAC7C,QAAQ,EACR,IAAI,EACJ,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAC3C,CAAC;YACF,OAAO,YAAY,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,gBAAgB,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,oBAAoB,CAC5C,gBAAgB,EAChB,IAAI,EACJ,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAC7C,CAAC;YACF,OAAO,cAAc,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,WAAW,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,oBAAoB,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9F,OAAO,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAC1C,SAAS,EACT,IAAI,EACJ,CAAC,CAAC,KAAK,CAAC;gBACN,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAiC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtF,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;aAC3C,CAAC,CACH,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAY,EACZ,IAAkB,EAClB,MAAc,EACd,OAA6B,EAC7B,MAAmB,EACnB,SAAiB;IAEjB,OAAO,qBAAqB,CAAC;QAC3B,gBAAgB;QAChB,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE;QACzC,MAAM;QACN,SAAS;QACT,aAAa,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,CACxC,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;KACnE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,WAAW,GAAiB;IAChC,YAAY,EAAE,0BAA0B;CACzC,CAAC;AAEF,MAAM,UAAU,wBAAwB,CACtC,OAA6B,EAC7B,MAAc,EACd,IAAI,GAAiB,WAAW;IAEhC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,yBAAyB,CAAC;IAC9D,MAAM,cAAc,GAAyC;QAC3D,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,EAAE,SAAS,EAAE,4BAA4B,EAAE;QACzD,SAAS;QACT,cAAc,EAAE,kBAAkB;QAClC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC5E,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAC7D,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,CAAC;KAC9E,CAAC;IAEF,OAAO,4BAA4B,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,36 +1,50 @@
1
- export function createToolDispatch(run, startedUiEvent) {
1
+ export function createTextToolOutcome(text, outcome) {
2
2
  return {
3
- startedUiEvent,
4
- run: typeof run === "function" ? Promise.resolve().then(run) : Promise.resolve(run),
3
+ content: [{ type: "text", text }],
4
+ outcome,
5
5
  };
6
6
  }
7
- export function isMainToolDispatchContext(context) {
8
- return context.scope === "main";
7
+ export async function executeTool(context, run, startedUiEvent) {
8
+ if (startedUiEvent) {
9
+ await context.emitActivity(startedUiEvent);
10
+ }
11
+ const result = typeof run === "function" ? await run() : run;
12
+ if (result.uiEvent) {
13
+ await context.emitActivity(result.uiEvent);
14
+ }
15
+ return { content: result.content, outcome: result.outcome };
9
16
  }
10
17
  export class ToolRegistry {
11
18
  byName = new Map();
12
19
  constructor(definitions) {
13
- for (const def of definitions) {
14
- this.byName.set(def.schema.name, def);
20
+ for (const definition of definitions) {
21
+ const name = definition.schema.name;
22
+ if (this.byName.has(name)) {
23
+ throw new Error(`duplicate tool '${name}'`);
24
+ }
25
+ this.byName.set(name, definition);
15
26
  }
16
27
  }
17
28
  get schemas() {
18
- return [...this.byName.values()].map((d) => d.schema);
29
+ return [...this.byName.values()].map((definition) => definition.schema);
19
30
  }
20
31
  get(toolName) {
21
32
  return this.byName.get(toolName);
22
33
  }
23
- getEnabledToolSchemas(personaTools) {
24
- if (!personaTools) {
25
- return this.schemas;
34
+ getEnabledTools(toolNames) {
35
+ if (!toolNames) {
36
+ return [...this.byName.values()];
26
37
  }
27
- return personaTools.map((toolName) => {
38
+ return toolNames.map((toolName) => {
28
39
  const definition = this.byName.get(toolName);
29
40
  if (!definition) {
30
41
  throw new Error(`tool '${toolName}' is not registered`);
31
42
  }
32
- return definition.schema;
43
+ return definition;
33
44
  });
34
45
  }
46
+ getEnabledToolSchemas(toolNames) {
47
+ return this.getEnabledTools(toolNames).map((definition) => definition.schema);
48
+ }
35
49
  }
36
50
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/tools/registry.ts"],"names":[],"mappings":"AAwOA,MAAM,UAAU,kBAAkB,CAChC,GAAkF,EAClF,cAA4B;IAE5B,OAAO;QACL,cAAc;QACd,GAAG,EAAE,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACpF,CAAC;AACJ,CAAC;AAuCD,MAAM,UAAU,yBAAyB,CACvC,OAA4B;IAE5B,OAAO,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC;AAClC,CAAC;AAaD,MAAM,OAAO,YAAY;IACN,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE5D,YAAY,WAA6B;QACvC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,qBAAqB,CAAC,YAAyB;QAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,qBAAqB,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,UAAU,CAAC,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/tools/registry.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,OAAwC;IAExC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAA6B,EAC7B,GAE0E,EAC1E,cAA6B;IAE7B,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;AAC9D,CAAC;AAqBD,MAAM,OAAO,YAAY;IACN,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEvD,YAAY,WAAwB;QAClC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACpC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,SAAoB;QAClC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,qBAAqB,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,SAAoB;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChF,CAAC;CACF"}