@vybestack/llxprt-code-agents 0.10.0-nightly.260613.1adad3b34

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 (176) hide show
  1. package/dist/.last_build +0 -0
  2. package/dist/index.d.ts +10 -0
  3. package/dist/index.js +11 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/src/agents/executor-prompt-builder.d.ts +19 -0
  6. package/dist/src/agents/executor-prompt-builder.js +44 -0
  7. package/dist/src/agents/executor-prompt-builder.js.map +1 -0
  8. package/dist/src/agents/executor-termination.d.ts +22 -0
  9. package/dist/src/agents/executor-termination.js +44 -0
  10. package/dist/src/agents/executor-termination.js.map +1 -0
  11. package/dist/src/agents/executor-validation.d.ts +17 -0
  12. package/dist/src/agents/executor-validation.js +35 -0
  13. package/dist/src/agents/executor-validation.js.map +1 -0
  14. package/dist/src/agents/executor.d.ts +136 -0
  15. package/dist/src/agents/executor.js +874 -0
  16. package/dist/src/agents/executor.js.map +1 -0
  17. package/dist/src/agents/invocation.d.ts +45 -0
  18. package/dist/src/agents/invocation.js +118 -0
  19. package/dist/src/agents/invocation.js.map +1 -0
  20. package/dist/src/agents/recovery.d.ts +75 -0
  21. package/dist/src/agents/recovery.js +107 -0
  22. package/dist/src/agents/recovery.js.map +1 -0
  23. package/dist/src/agents/types.d.ts +149 -0
  24. package/dist/src/agents/types.js +18 -0
  25. package/dist/src/agents/types.js.map +1 -0
  26. package/dist/src/agents/utils.d.ts +15 -0
  27. package/dist/src/agents/utils.js +28 -0
  28. package/dist/src/agents/utils.js.map +1 -0
  29. package/dist/src/compression/CompressionHandler.d.ts +178 -0
  30. package/dist/src/compression/CompressionHandler.js +630 -0
  31. package/dist/src/compression/CompressionHandler.js.map +1 -0
  32. package/dist/src/compression/HighDensityStrategy.d.ts +113 -0
  33. package/dist/src/compression/HighDensityStrategy.js +769 -0
  34. package/dist/src/compression/HighDensityStrategy.js.map +1 -0
  35. package/dist/src/compression/MiddleOutStrategy.d.ts +27 -0
  36. package/dist/src/compression/MiddleOutStrategy.js +347 -0
  37. package/dist/src/compression/MiddleOutStrategy.js.map +1 -0
  38. package/dist/src/compression/OneShotStrategy.d.ts +22 -0
  39. package/dist/src/compression/OneShotStrategy.js +235 -0
  40. package/dist/src/compression/OneShotStrategy.js.map +1 -0
  41. package/dist/src/compression/TopDownTruncationStrategy.d.ts +13 -0
  42. package/dist/src/compression/TopDownTruncationStrategy.js +74 -0
  43. package/dist/src/compression/TopDownTruncationStrategy.js.map +1 -0
  44. package/dist/src/compression/compressionBudgeting.d.ts +34 -0
  45. package/dist/src/compression/compressionBudgeting.js +139 -0
  46. package/dist/src/compression/compressionBudgeting.js.map +1 -0
  47. package/dist/src/compression/compressionStrategyFactory.d.ts +23 -0
  48. package/dist/src/compression/compressionStrategyFactory.js +40 -0
  49. package/dist/src/compression/compressionStrategyFactory.js.map +1 -0
  50. package/dist/src/compression/index.d.ts +16 -0
  51. package/dist/src/compression/index.js +17 -0
  52. package/dist/src/compression/index.js.map +1 -0
  53. package/dist/src/compression/reasoningUtils.d.ts +18 -0
  54. package/dist/src/compression/reasoningUtils.js +22 -0
  55. package/dist/src/compression/reasoningUtils.js.map +1 -0
  56. package/dist/src/compression/utils.d.ts +114 -0
  57. package/dist/src/compression/utils.js +316 -0
  58. package/dist/src/compression/utils.js.map +1 -0
  59. package/dist/src/core/AgentHookManager.d.ts +41 -0
  60. package/dist/src/core/AgentHookManager.js +65 -0
  61. package/dist/src/core/AgentHookManager.js.map +1 -0
  62. package/dist/src/core/ChatSessionFactory.d.ts +50 -0
  63. package/dist/src/core/ChatSessionFactory.js +216 -0
  64. package/dist/src/core/ChatSessionFactory.js.map +1 -0
  65. package/dist/src/core/ConversationManager.d.ts +113 -0
  66. package/dist/src/core/ConversationManager.js +311 -0
  67. package/dist/src/core/ConversationManager.js.map +1 -0
  68. package/dist/src/core/DirectMessageProcessor.d.ts +79 -0
  69. package/dist/src/core/DirectMessageProcessor.js +478 -0
  70. package/dist/src/core/DirectMessageProcessor.js.map +1 -0
  71. package/dist/src/core/IdeContextTracker.d.ts +56 -0
  72. package/dist/src/core/IdeContextTracker.js +207 -0
  73. package/dist/src/core/IdeContextTracker.js.map +1 -0
  74. package/dist/src/core/MessageConverter.d.ts +78 -0
  75. package/dist/src/core/MessageConverter.js +492 -0
  76. package/dist/src/core/MessageConverter.js.map +1 -0
  77. package/dist/src/core/MessageStreamOrchestrator.d.ts +85 -0
  78. package/dist/src/core/MessageStreamOrchestrator.js +448 -0
  79. package/dist/src/core/MessageStreamOrchestrator.js.map +1 -0
  80. package/dist/src/core/MessageStreamTerminalHandler.d.ts +16 -0
  81. package/dist/src/core/MessageStreamTerminalHandler.js +170 -0
  82. package/dist/src/core/MessageStreamTerminalHandler.js.map +1 -0
  83. package/dist/src/core/StreamProcessor.d.ts +105 -0
  84. package/dist/src/core/StreamProcessor.js +660 -0
  85. package/dist/src/core/StreamProcessor.js.map +1 -0
  86. package/dist/src/core/TodoContinuationService.d.ts +74 -0
  87. package/dist/src/core/TodoContinuationService.js +312 -0
  88. package/dist/src/core/TodoContinuationService.js.map +1 -0
  89. package/dist/src/core/TurnProcessor.d.ts +91 -0
  90. package/dist/src/core/TurnProcessor.js +540 -0
  91. package/dist/src/core/TurnProcessor.js.map +1 -0
  92. package/dist/src/core/baseLlmClient.d.ts +115 -0
  93. package/dist/src/core/baseLlmClient.js +231 -0
  94. package/dist/src/core/baseLlmClient.js.map +1 -0
  95. package/dist/src/core/bucketFailoverIntegration.d.ts +62 -0
  96. package/dist/src/core/bucketFailoverIntegration.js +186 -0
  97. package/dist/src/core/bucketFailoverIntegration.js.map +1 -0
  98. package/dist/src/core/chatSession.d.ts +121 -0
  99. package/dist/src/core/chatSession.js +720 -0
  100. package/dist/src/core/chatSession.js.map +1 -0
  101. package/dist/src/core/client.d.ts +132 -0
  102. package/dist/src/core/client.js +524 -0
  103. package/dist/src/core/client.js.map +1 -0
  104. package/dist/src/core/clientHelpers.d.ts +15 -0
  105. package/dist/src/core/clientHelpers.js +122 -0
  106. package/dist/src/core/clientHelpers.js.map +1 -0
  107. package/dist/src/core/clientLlmUtilities.d.ts +30 -0
  108. package/dist/src/core/clientLlmUtilities.js +125 -0
  109. package/dist/src/core/clientLlmUtilities.js.map +1 -0
  110. package/dist/src/core/clientToolGovernance.d.ts +37 -0
  111. package/dist/src/core/clientToolGovernance.js +104 -0
  112. package/dist/src/core/clientToolGovernance.js.map +1 -0
  113. package/dist/src/core/compression-config.d.ts +12 -0
  114. package/dist/src/core/compression-config.js +21 -0
  115. package/dist/src/core/compression-config.js.map +1 -0
  116. package/dist/src/core/coreToolScheduler.d.ts +105 -0
  117. package/dist/src/core/coreToolScheduler.js +453 -0
  118. package/dist/src/core/coreToolScheduler.js.map +1 -0
  119. package/dist/src/core/hookToolRestrictions.d.ts +18 -0
  120. package/dist/src/core/hookToolRestrictions.js +187 -0
  121. package/dist/src/core/hookToolRestrictions.js.map +1 -0
  122. package/dist/src/core/nonInteractiveToolExecutor.d.ts +17 -0
  123. package/dist/src/core/nonInteractiveToolExecutor.js +102 -0
  124. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -0
  125. package/dist/src/core/subagent.d.ts +105 -0
  126. package/dist/src/core/subagent.js +650 -0
  127. package/dist/src/core/subagent.js.map +1 -0
  128. package/dist/src/core/subagentExecution.d.ts +104 -0
  129. package/dist/src/core/subagentExecution.js +275 -0
  130. package/dist/src/core/subagentExecution.js.map +1 -0
  131. package/dist/src/core/subagentOrchestrator.d.ts +84 -0
  132. package/dist/src/core/subagentOrchestrator.js +503 -0
  133. package/dist/src/core/subagentOrchestrator.js.map +1 -0
  134. package/dist/src/core/subagentRuntimeSetup.d.ts +75 -0
  135. package/dist/src/core/subagentRuntimeSetup.js +387 -0
  136. package/dist/src/core/subagentRuntimeSetup.js.map +1 -0
  137. package/dist/src/core/subagentScheduler.d.ts +17 -0
  138. package/dist/src/core/subagentScheduler.js +7 -0
  139. package/dist/src/core/subagentScheduler.js.map +1 -0
  140. package/dist/src/core/subagentToolProcessing.d.ts +51 -0
  141. package/dist/src/core/subagentToolProcessing.js +359 -0
  142. package/dist/src/core/subagentToolProcessing.js.map +1 -0
  143. package/dist/src/core/toolGovernance.d.ts +18 -0
  144. package/dist/src/core/toolGovernance.js +50 -0
  145. package/dist/src/core/toolGovernance.js.map +1 -0
  146. package/dist/src/core/turn.d.ts +47 -0
  147. package/dist/src/core/turn.js +455 -0
  148. package/dist/src/core/turn.js.map +1 -0
  149. package/dist/src/core/turnLogging.d.ts +35 -0
  150. package/dist/src/core/turnLogging.js +80 -0
  151. package/dist/src/core/turnLogging.js.map +1 -0
  152. package/dist/src/index.d.ts +32 -0
  153. package/dist/src/index.js +44 -0
  154. package/dist/src/index.js.map +1 -0
  155. package/dist/src/scheduler/confirmation-coordinator.d.ts +139 -0
  156. package/dist/src/scheduler/confirmation-coordinator.js +443 -0
  157. package/dist/src/scheduler/confirmation-coordinator.js.map +1 -0
  158. package/dist/src/scheduler/result-aggregator.d.ts +127 -0
  159. package/dist/src/scheduler/result-aggregator.js +302 -0
  160. package/dist/src/scheduler/result-aggregator.js.map +1 -0
  161. package/dist/src/scheduler/status-transitions.d.ts +39 -0
  162. package/dist/src/scheduler/status-transitions.js +184 -0
  163. package/dist/src/scheduler/status-transitions.js.map +1 -0
  164. package/dist/src/scheduler/tool-dispatcher.d.ts +40 -0
  165. package/dist/src/scheduler/tool-dispatcher.js +120 -0
  166. package/dist/src/scheduler/tool-dispatcher.js.map +1 -0
  167. package/dist/src/scheduler/tool-executor.d.ts +44 -0
  168. package/dist/src/scheduler/tool-executor.js +117 -0
  169. package/dist/src/scheduler/tool-executor.js.map +1 -0
  170. package/dist/src/scheduler/utils.d.ts +11 -0
  171. package/dist/src/scheduler/utils.js +19 -0
  172. package/dist/src/scheduler/utils.js.map +1 -0
  173. package/dist/src/tools/task.d.ts +128 -0
  174. package/dist/src/tools/task.js +932 -0
  175. package/dist/src/tools/task.js.map +1 -0
  176. package/package.json +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/agents/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Config } from '@vybestack/llxprt-code-core/config/config.js';
7
+ import { BaseToolInvocation, type ToolResult } from '@vybestack/llxprt-code-tools';
8
+ import type { AgentDefinition, AgentInputs } from './types.js';
9
+ import type { MessageBus } from '@vybestack/llxprt-code-core/confirmation-bus/message-bus.js';
10
+ import { type z } from 'zod';
11
+ /**
12
+ * Represents a validated, executable instance of a subagent tool.
13
+ *
14
+ * This class orchestrates the execution of a defined agent by:
15
+ * 1. Initializing the {@link AgentExecutor}.
16
+ * 2. Running the agent's execution loop.
17
+ * 3. Bridging the agent's streaming activity (e.g., thoughts) to the tool's
18
+ * live output stream.
19
+ * 4. Formatting the final result into a {@link ToolResult}.
20
+ */
21
+ export declare class SubagentInvocation<TOutput extends z.ZodTypeAny> extends BaseToolInvocation<AgentInputs, ToolResult> {
22
+ private readonly definition;
23
+ private readonly config;
24
+ /**
25
+ * @param params The validated input parameters for the agent.
26
+ * @param definition The definition object that configures the agent.
27
+ * @param config The global runtime configuration.
28
+ * @param messageBus Optional message bus for policy enforcement.
29
+ */
30
+ constructor(params: AgentInputs, definition: AgentDefinition<TOutput>, config: Config, messageBus: MessageBus);
31
+ /**
32
+ * Returns a concise, human-readable description of the invocation.
33
+ * Used for logging and display purposes.
34
+ */
35
+ getDescription(): string;
36
+ /**
37
+ * Executes the subagent.
38
+ *
39
+ * @param signal An `AbortSignal` to cancel the agent's execution.
40
+ * @param updateOutput A callback to stream intermediate output, such as the
41
+ * agent's thoughts, to the user interface.
42
+ * @returns A `Promise` that resolves with the final `ToolResult`.
43
+ */
44
+ execute(signal: AbortSignal, updateOutput?: (output: string) => void): Promise<ToolResult>;
45
+ }
@@ -0,0 +1,118 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AgentExecutor } from './executor.js';
7
+ import { BaseToolInvocation, } from '@vybestack/llxprt-code-tools';
8
+ import { ToolErrorType } from '@vybestack/llxprt-code-tools';
9
+ const INPUT_PREVIEW_MAX_LENGTH = 50;
10
+ const DESCRIPTION_MAX_LENGTH = 200;
11
+ /**
12
+ * Represents a validated, executable instance of a subagent tool.
13
+ *
14
+ * This class orchestrates the execution of a defined agent by:
15
+ * 1. Initializing the {@link AgentExecutor}.
16
+ * 2. Running the agent's execution loop.
17
+ * 3. Bridging the agent's streaming activity (e.g., thoughts) to the tool's
18
+ * live output stream.
19
+ * 4. Formatting the final result into a {@link ToolResult}.
20
+ */
21
+ export class SubagentInvocation extends BaseToolInvocation {
22
+ definition;
23
+ config;
24
+ /**
25
+ * @param params The validated input parameters for the agent.
26
+ * @param definition The definition object that configures the agent.
27
+ * @param config The global runtime configuration.
28
+ * @param messageBus Optional message bus for policy enforcement.
29
+ */
30
+ constructor(params, definition, config, messageBus) {
31
+ super(params, messageBus);
32
+ this.definition = definition;
33
+ this.config = config;
34
+ }
35
+ /**
36
+ * Returns a concise, human-readable description of the invocation.
37
+ * Used for logging and display purposes.
38
+ */
39
+ getDescription() {
40
+ const inputSummary = Object.entries(this.params)
41
+ .map(([key, value]) => {
42
+ let stringValue;
43
+ try {
44
+ stringValue =
45
+ typeof value === 'object' && value !== null
46
+ ? JSON.stringify(value)
47
+ : String(value);
48
+ }
49
+ catch {
50
+ // Handle circular references/unsupported values gracefully
51
+ stringValue = Object.prototype.toString.call(value);
52
+ }
53
+ return `${key}: ${stringValue.slice(0, INPUT_PREVIEW_MAX_LENGTH)}`;
54
+ })
55
+ .join(', ');
56
+ const description = `Running subagent '${this.definition.name}' with inputs: { ${inputSummary} }`;
57
+ return description.slice(0, DESCRIPTION_MAX_LENGTH);
58
+ }
59
+ /**
60
+ * Executes the subagent.
61
+ *
62
+ * @param signal An `AbortSignal` to cancel the agent's execution.
63
+ * @param updateOutput A callback to stream intermediate output, such as the
64
+ * agent's thoughts, to the user interface.
65
+ * @returns A `Promise` that resolves with the final `ToolResult`.
66
+ */
67
+ async execute(signal, updateOutput) {
68
+ try {
69
+ if (updateOutput) {
70
+ updateOutput('Subagent starting...\n');
71
+ }
72
+ // Create an activity callback to bridge the executor's events to the
73
+ // tool's streaming output.
74
+ const onActivity = (activity) => {
75
+ if (!updateOutput)
76
+ return;
77
+ if (activity.type === 'THOUGHT_CHUNK' &&
78
+ typeof activity.data['text'] === 'string') {
79
+ updateOutput(`🤖💭 ${activity.data['text']}`);
80
+ }
81
+ };
82
+ const executor = await AgentExecutor.create(this.definition, this.config, this.requireMessageBus(), onActivity);
83
+ const output = await executor.run(this.params, signal);
84
+ const resultContent = `Subagent '${this.definition.name}' finished.
85
+ Termination Reason: ${output.terminate_reason}
86
+ Result:
87
+ ${output.result}`;
88
+ const displayContent = `
89
+ Subagent ${this.definition.name} Finished
90
+
91
+ Termination Reason:\n ${output.terminate_reason}
92
+
93
+ Result:
94
+ ${output.result}
95
+ `;
96
+ return {
97
+ llmContent: [{ text: resultContent }],
98
+ returnDisplay: displayContent,
99
+ };
100
+ }
101
+ catch (error) {
102
+ const errorMessage = error instanceof Error ? error.message : String(error);
103
+ return {
104
+ llmContent: [
105
+ {
106
+ text: `Subagent '${this.definition.name}' failed. Error: ${errorMessage}`,
107
+ },
108
+ ],
109
+ returnDisplay: `Subagent Failed: ${this.definition.name}\nError: ${errorMessage}`,
110
+ error: {
111
+ message: errorMessage,
112
+ type: ToolErrorType.EXECUTION_FAILED,
113
+ },
114
+ };
115
+ }
116
+ }
117
+ }
118
+ //# sourceMappingURL=invocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invocation.js","sourceRoot":"","sources":["../../../src/agents/invocation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @fileoverview Recovery turn logic for the agent executor.
8
+ *
9
+ * When a subagent hits TIMEOUT, MAX_TURNS, or a protocol violation
10
+ * (no-tool-call / ERROR_NO_COMPLETE_TASK_CALL), it gets exactly one
11
+ * recovery turn with a configurable grace period (default 60 s).
12
+ * The recovery turn prompts the subagent to call `complete_task` with
13
+ * whatever partial result it has.
14
+ *
15
+ * If the subagent calls `complete_task` during recovery → GOAL (success).
16
+ * If it does anything else (calls another tool, stops again) → the
17
+ * original termination reason is preserved and the loop ends immediately.
18
+ */
19
+ import type { Content } from '@google/genai';
20
+ import { AgentTerminateMode, type SubagentActivityEventType } from './types.js';
21
+ /** Tool name used to signal task completion. */
22
+ export declare const TASK_COMPLETE_TOOL_NAME = "complete_task";
23
+ /** Default grace period (seconds) for the recovery turn. */
24
+ export declare const DEFAULT_GRACE_PERIOD_SECONDS = 60;
25
+ /**
26
+ * Resolve the grace period from the configured value, falling back to the
27
+ * default when the value is missing, zero, negative, NaN, or Infinity.
28
+ */
29
+ export declare function resolveGracePeriodSeconds(configured: number | undefined): number;
30
+ /** Not currently in recovery mode. */
31
+ export interface RecoveryNone {
32
+ readonly phase: 'none';
33
+ }
34
+ /** Currently in recovery mode – exactly one more model response is allowed. */
35
+ export interface RecoveryActive {
36
+ readonly phase: 'active';
37
+ readonly originalReason: AgentTerminateMode;
38
+ readonly deadlineMs: number;
39
+ readonly gracePeriodSeconds: number;
40
+ }
41
+ /** Recovery state: either `none` or `active`. */
42
+ export type RecoveryState = RecoveryNone | RecoveryActive;
43
+ /**
44
+ * Whether a termination reason is eligible for a recovery turn.
45
+ *
46
+ * Only TIMEOUT, MAX_TURNS, and ERROR_NO_COMPLETE_TASK_CALL trigger
47
+ * recovery. ABORTED and generic ERROR do not.
48
+ */
49
+ export declare function isRecoverableTermination(reason: AgentTerminateMode): reason is AgentTerminateMode.TIMEOUT | AgentTerminateMode.MAX_TURNS | AgentTerminateMode.ERROR_NO_COMPLETE_TASK_CALL;
50
+ /** Mark the recovery model response as used (idempotent). */
51
+ export declare function markRecoveryResponseUsed(recoveryState: RecoveryState, previouslyUsed: boolean): boolean;
52
+ /**
53
+ * Build the warning `Content` message sent to the model at the start of a
54
+ * recovery turn, instructing it to call `complete_task` immediately.
55
+ */
56
+ export declare function getRecoveryWarningMessage(reason: AgentTerminateMode): Content;
57
+ /**
58
+ * Enter recovery mode: compute the deadline, emit telemetry, return the
59
+ * new `RecoveryState` and warning message.
60
+ */
61
+ export declare function enterRecovery(reason: AgentTerminateMode, gracePeriodSeconds: number, emitActivity: (type: SubagentActivityEventType, data: Record<string, unknown>) => void): {
62
+ state: RecoveryActive;
63
+ warningMessage: Content;
64
+ };
65
+ /**
66
+ * Build the failure result object returned when recovery does not
67
+ * succeed (the subagent failed to call `complete_task`).
68
+ *
69
+ * @param originalReason The termination reason that originally triggered recovery.
70
+ * @param partialResult Any partial result accumulated before recovery, or `null`.
71
+ */
72
+ export declare function recoveryFailureResult(originalReason: AgentTerminateMode, partialResult: string | null): {
73
+ terminateReason: AgentTerminateMode;
74
+ finalResult: string;
75
+ };
@@ -0,0 +1,107 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AgentTerminateMode } from './types.js';
7
+ /** Tool name used to signal task completion. */
8
+ export const TASK_COMPLETE_TOOL_NAME = 'complete_task';
9
+ /** Default grace period (seconds) for the recovery turn. */
10
+ export const DEFAULT_GRACE_PERIOD_SECONDS = 60;
11
+ /**
12
+ * Resolve the grace period from the configured value, falling back to the
13
+ * default when the value is missing, zero, negative, NaN, or Infinity.
14
+ */
15
+ export function resolveGracePeriodSeconds(configured) {
16
+ if (typeof configured === 'number' &&
17
+ Number.isFinite(configured) &&
18
+ configured > 0) {
19
+ return configured;
20
+ }
21
+ return DEFAULT_GRACE_PERIOD_SECONDS;
22
+ }
23
+ // ---------------------------------------------------------------------------
24
+ // Helpers
25
+ // ---------------------------------------------------------------------------
26
+ /**
27
+ * Whether a termination reason is eligible for a recovery turn.
28
+ *
29
+ * Only TIMEOUT, MAX_TURNS, and ERROR_NO_COMPLETE_TASK_CALL trigger
30
+ * recovery. ABORTED and generic ERROR do not.
31
+ */
32
+ export function isRecoverableTermination(reason) {
33
+ return (reason === AgentTerminateMode.TIMEOUT ||
34
+ reason === AgentTerminateMode.MAX_TURNS ||
35
+ reason === AgentTerminateMode.ERROR_NO_COMPLETE_TASK_CALL);
36
+ }
37
+ /** Mark the recovery model response as used (idempotent). */
38
+ export function markRecoveryResponseUsed(recoveryState, previouslyUsed) {
39
+ return previouslyUsed || recoveryState.phase === 'active';
40
+ }
41
+ /**
42
+ * Build the warning `Content` message sent to the model at the start of a
43
+ * recovery turn, instructing it to call `complete_task` immediately.
44
+ */
45
+ export function getRecoveryWarningMessage(reason) {
46
+ const isProtocolViolation = reason === AgentTerminateMode.ERROR_NO_COMPLETE_TASK_CALL;
47
+ const prefix = isProtocolViolation
48
+ ? 'WARNING: You stopped calling tools without calling `' +
49
+ TASK_COMPLETE_TOOL_NAME +
50
+ '` to finalize the session.'
51
+ : 'WARNING: You have reached an execution limit (' + reason + ').';
52
+ const suffix = ' You have ONE final chance to wrap up. You must immediately call the `' +
53
+ TASK_COMPLETE_TOOL_NAME +
54
+ '` tool with the best partial answer you can provide. Explain that the investigation was interrupted. Do NOT call any other tools. This is your final turn.';
55
+ return {
56
+ role: 'user',
57
+ parts: [{ text: prefix + suffix }],
58
+ };
59
+ }
60
+ /**
61
+ * Enter recovery mode: compute the deadline, emit telemetry, return the
62
+ * new `RecoveryState` and warning message.
63
+ */
64
+ export function enterRecovery(reason, gracePeriodSeconds, emitActivity) {
65
+ const deadlineMs = Date.now() + gracePeriodSeconds * 1000;
66
+ emitActivity('THOUGHT_CHUNK', {
67
+ text: `Execution limit reached (${reason}). Attempting one final recovery turn with a grace period.`,
68
+ });
69
+ emitActivity('RECOVERY_ATTEMPT', {
70
+ originalReason: reason,
71
+ gracePeriodSeconds,
72
+ });
73
+ const state = {
74
+ phase: 'active',
75
+ originalReason: reason,
76
+ deadlineMs,
77
+ gracePeriodSeconds,
78
+ };
79
+ return { state, warningMessage: getRecoveryWarningMessage(reason) };
80
+ }
81
+ /**
82
+ * Build the failure result object returned when recovery does not
83
+ * succeed (the subagent failed to call `complete_task`).
84
+ *
85
+ * @param originalReason The termination reason that originally triggered recovery.
86
+ * @param partialResult Any partial result accumulated before recovery, or `null`.
87
+ */
88
+ export function recoveryFailureResult(originalReason, partialResult) {
89
+ const isProtocolViolation = originalReason === AgentTerminateMode.ERROR_NO_COMPLETE_TASK_CALL;
90
+ const suffix = isProtocolViolation
91
+ ? "still did not call '" +
92
+ TASK_COMPLETE_TOOL_NAME +
93
+ "'. Original reason: " +
94
+ String(originalReason) +
95
+ '.'
96
+ : 'failed. Original reason: ' + String(originalReason) + '.';
97
+ const failureMessage = 'Recovery turn attempted but agent ' + suffix;
98
+ return {
99
+ terminateReason: originalReason,
100
+ finalResult: partialResult === null
101
+ ? failureMessage
102
+ : failureMessage +
103
+ '\n\nPartial result before recovery:\n' +
104
+ partialResult,
105
+ };
106
+ }
107
+ //# sourceMappingURL=recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../../src/agents/recovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @fileoverview Defines the core configuration interfaces and types for the agent architecture.
8
+ */
9
+ import type { Content, FunctionDeclaration } from '@google/genai';
10
+ import type { AnyDeclarativeTool } from '@vybestack/llxprt-code-tools';
11
+ import { type z } from 'zod';
12
+ /**
13
+ * Describes the possible termination modes for an agent.
14
+ */
15
+ export declare enum AgentTerminateMode {
16
+ ERROR = "ERROR",
17
+ ERROR_NO_COMPLETE_TASK_CALL = "ERROR_NO_COMPLETE_TASK_CALL",
18
+ TIMEOUT = "TIMEOUT",
19
+ GOAL = "GOAL",
20
+ MAX_TURNS = "MAX_TURNS",
21
+ ABORTED = "ABORTED"
22
+ }
23
+ /**
24
+ * Represents the output structure of an agent's execution.
25
+ */
26
+ export interface OutputObject {
27
+ result: string;
28
+ terminate_reason: AgentTerminateMode;
29
+ }
30
+ /**
31
+ * Represents the validated input parameters passed to an agent upon invocation.
32
+ * Used primarily for templating the system prompt. (Replaces ContextState)
33
+ */
34
+ export type AgentInputs = Record<string, unknown>;
35
+ /**
36
+ * Structured events emitted during subagent execution for user observability.
37
+ */
38
+ export type SubagentActivityEventType = 'TOOL_CALL_START' | 'TOOL_CALL_END' | 'THOUGHT_CHUNK' | 'ERROR' | 'RECOVERY_ATTEMPT' | 'RECOVERY_OUTCOME';
39
+ export interface SubagentActivityEvent {
40
+ isSubagentActivityEvent: true;
41
+ agentName: string;
42
+ type: SubagentActivityEventType;
43
+ data: Record<string, unknown>;
44
+ }
45
+ /**
46
+ * The definition for an agent.
47
+ * @template TOutput The specific Zod schema for the agent's final output object.
48
+ */
49
+ export interface AgentDefinition<TOutput extends z.ZodTypeAny = z.ZodUnknown> {
50
+ /** Unique identifier for the agent. */
51
+ name: string;
52
+ displayName?: string;
53
+ description: string;
54
+ promptConfig: PromptConfig;
55
+ modelConfig: ModelConfig;
56
+ runConfig: RunConfig;
57
+ toolConfig?: ToolConfig;
58
+ outputConfig?: OutputConfig<TOutput>;
59
+ inputConfig: InputConfig;
60
+ /**
61
+ * An optional function to process the raw output from the agent's final tool
62
+ * call into a string format.
63
+ *
64
+ * @param output The raw output value from the `complete_task` tool, now strongly typed with TOutput.
65
+ * @returns A string representation of the final output.
66
+ */
67
+ processOutput?: (output: z.infer<TOutput>) => string;
68
+ }
69
+ /**
70
+ * Configures the initial prompt for the agent.
71
+ */
72
+ export interface PromptConfig {
73
+ /**
74
+ * A single system prompt string. Supports templating using `${input_name}` syntax.
75
+ */
76
+ systemPrompt?: string;
77
+ /**
78
+ * An array of user/model content pairs for few-shot prompting.
79
+ */
80
+ initialMessages?: Content[];
81
+ /**
82
+ * The specific task or question to trigger the agent's execution loop.
83
+ * This is sent as the first user message, distinct from the systemPrompt (identity/rules)
84
+ * and initialMessages (history/few-shots). Supports templating.
85
+ * If not provided, a generic "Get Started!" message is used.
86
+ */
87
+ query?: string;
88
+ }
89
+ /**
90
+ * Configures the tools available to the agent during its execution.
91
+ */
92
+ export interface ToolConfig {
93
+ tools: Array<string | FunctionDeclaration | AnyDeclarativeTool>;
94
+ }
95
+ /**
96
+ * Configures the expected inputs (parameters) for the agent.
97
+ */
98
+ export interface InputConfig {
99
+ /**
100
+ * Defines the parameters the agent accepts.
101
+ * This is vital for generating the tool wrapper schema.
102
+ */
103
+ inputs: Record<string, {
104
+ description: string;
105
+ type: 'string' | 'number' | 'boolean' | 'integer' | 'string[]' | 'number[]';
106
+ required: boolean;
107
+ }>;
108
+ }
109
+ /**
110
+ * Configures the expected outputs for the agent.
111
+ */
112
+ export interface OutputConfig<T extends z.ZodTypeAny> {
113
+ /**
114
+ * The name of the final result parameter. This will be the name of the
115
+ * argument in the `submit_final_output` tool (e.g., "report", "answer").
116
+ */
117
+ outputName: string;
118
+ /**
119
+ * A description of the expected output. This will be used as the description
120
+ * for the tool argument.
121
+ */
122
+ description: string;
123
+ /**
124
+ * Optional JSON schema for the output. If provided, it will be used as the
125
+ * schema for the tool's argument, allowing for structured output enforcement.
126
+ * Defaults to { type: 'string' }.
127
+ */
128
+ schema: T;
129
+ }
130
+ /**
131
+ * Configures the generative model parameters for the agent.
132
+ */
133
+ export interface ModelConfig {
134
+ model: string;
135
+ temp: number;
136
+ top_p: number;
137
+ thinkingBudget?: number;
138
+ }
139
+ /**
140
+ * Configures the execution environment and constraints for the agent.
141
+ */
142
+ export interface RunConfig {
143
+ /** The maximum execution time for the agent in minutes. */
144
+ max_time_minutes: number;
145
+ /** The maximum number of conversational turns. */
146
+ max_turns?: number;
147
+ /** Maximum time in seconds allowed for a recovery turn after a termination condition. */
148
+ grace_period_seconds?: number;
149
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Describes the possible termination modes for an agent.
8
+ */
9
+ export var AgentTerminateMode;
10
+ (function (AgentTerminateMode) {
11
+ AgentTerminateMode["ERROR"] = "ERROR";
12
+ AgentTerminateMode["ERROR_NO_COMPLETE_TASK_CALL"] = "ERROR_NO_COMPLETE_TASK_CALL";
13
+ AgentTerminateMode["TIMEOUT"] = "TIMEOUT";
14
+ AgentTerminateMode["GOAL"] = "GOAL";
15
+ AgentTerminateMode["MAX_TURNS"] = "MAX_TURNS";
16
+ AgentTerminateMode["ABORTED"] = "ABORTED";
17
+ })(AgentTerminateMode || (AgentTerminateMode = {}));
18
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH;;GAEG;AACH,MAAM,CAAN,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,iFAA2D,CAAA;IAC3D,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,6CAAuB,CAAA;IACvB,yCAAmB,CAAA;AACrB,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { AgentInputs } from './types.js';
7
+ /**
8
+ * Simple template string replacement for agent prompts.
9
+ * Replaces ${key} placeholders with values from the inputs object.
10
+ *
11
+ * @param template The template string with ${key} placeholders
12
+ * @param inputs The input values to substitute
13
+ * @returns The template with placeholders replaced
14
+ */
15
+ export declare function templateString(template: string, inputs: AgentInputs): string;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Simple template string replacement for agent prompts.
8
+ * Replaces ${key} placeholders with values from the inputs object.
9
+ *
10
+ * @param template The template string with ${key} placeholders
11
+ * @param inputs The input values to substitute
12
+ * @returns The template with placeholders replaced
13
+ */
14
+ export function templateString(template, inputs) {
15
+ // eslint-disable-next-line sonarjs/regular-expr -- Static regex reviewed for lint hardening; behavior preserved.
16
+ const placeholderRegex = /\$\{(\w+)\}/g;
17
+ // First, find all unique keys required by the template.
18
+ const requiredKeys = new Set(Array.from(template.matchAll(placeholderRegex), (match) => match[1]));
19
+ // Check if all required keys exist in the inputs.
20
+ const inputKeys = new Set(Object.keys(inputs));
21
+ const missingKeys = Array.from(requiredKeys).filter((key) => !inputKeys.has(key));
22
+ if (missingKeys.length > 0) {
23
+ throw new Error(`Missing input values for the following keys: ${missingKeys.join(', ')}`);
24
+ }
25
+ // Perform the replacement using a replacer function.
26
+ return template.replace(placeholderRegex, (_match, key) => String(inputs[key]));
27
+ }
28
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/agents/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,MAAmB;IAClE,iHAAiH;IACjH,MAAM,gBAAgB,GAAG,cAAc,CAAC;IAExC,wDAAwD;IACxD,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;IAEF,kDAAkD;IAClD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CACjD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAC7B,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,gDAAgD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,OAAO,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CACxD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACpB,CAAC;AACJ,CAAC"}