@agntk/core 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -90
- package/dist/advanced/index.d.ts +9 -2
- package/dist/advanced/index.d.ts.map +1 -1
- package/dist/advanced/index.js +13 -2
- package/dist/advanced/index.js.map +1 -1
- package/dist/agent.d.ts +27 -31
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +228 -275
- package/dist/agent.js.map +1 -1
- package/dist/config/schema.d.ts +38 -38
- package/dist/evals/runner.js +16 -9
- package/dist/evals/runner.js.map +1 -1
- package/dist/evals/types.d.ts +1 -1
- package/dist/evals/types.d.ts.map +1 -1
- package/dist/index.d.ts +4 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -9
- package/dist/index.js.map +1 -1
- package/dist/observability/langfuse.d.ts +2 -2
- package/dist/observability/langfuse.d.ts.map +1 -1
- package/dist/observability/langfuse.js +39 -17
- package/dist/observability/langfuse.js.map +1 -1
- package/dist/presets/sub-agent-configs.d.ts +11 -3
- package/dist/presets/sub-agent-configs.d.ts.map +1 -1
- package/dist/presets/sub-agent-configs.js +5 -10
- package/dist/presets/sub-agent-configs.js.map +1 -1
- package/dist/presets/tools.d.ts +5 -5
- package/dist/tools/browser/tool.d.ts +2 -2
- package/dist/tools/browser/types.d.ts +2 -2
- package/dist/tools/plan/tools.d.ts +1 -1
- package/dist/tools/plan/types.d.ts +2 -2
- package/dist/tools/progress/index.d.ts +2 -2
- package/dist/tools/spawn-agent/index.d.ts +7 -9
- package/dist/tools/spawn-agent/index.d.ts.map +1 -1
- package/dist/tools/spawn-agent/index.js +2 -4
- package/dist/tools/spawn-agent/index.js.map +1 -1
- package/dist/types/agent.d.ts +69 -199
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +4 -2
- package/dist/types/agent.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/usage-limits.d.ts +1 -1
- package/dist/usage-limits.js +1 -1
- package/dist/workflow/index.d.ts +1 -5
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +1 -9
- package/dist/workflow/index.js.map +1 -1
- package/dist/wrappers/best-of-n.d.ts +1 -1
- package/dist/wrappers/best-of-n.d.ts.map +1 -1
- package/dist/wrappers/best-of-n.js +11 -6
- package/dist/wrappers/best-of-n.js.map +1 -1
- package/package.json +4 -14
- package/dist/memory/engine.d.ts +0 -130
- package/dist/memory/engine.d.ts.map +0 -1
- package/dist/memory/engine.js +0 -227
- package/dist/memory/engine.js.map +0 -1
- package/dist/memory/vectra-store.d.ts +0 -31
- package/dist/memory/vectra-store.d.ts.map +0 -1
- package/dist/memory/vectra-store.js +0 -122
- package/dist/memory/vectra-store.js.map +0 -1
- package/dist/pool/index.d.ts +0 -7
- package/dist/pool/index.d.ts.map +0 -1
- package/dist/pool/index.js +0 -6
- package/dist/pool/index.js.map +0 -1
- package/dist/pool/specialist-pool.d.ts +0 -59
- package/dist/pool/specialist-pool.d.ts.map +0 -1
- package/dist/pool/specialist-pool.js +0 -224
- package/dist/pool/specialist-pool.js.map +0 -1
- package/dist/pool/tools.d.ts +0 -63
- package/dist/pool/tools.d.ts.map +0 -1
- package/dist/pool/tools.js +0 -83
- package/dist/pool/tools.js.map +0 -1
- package/dist/pool/types.d.ts +0 -79
- package/dist/pool/types.d.ts.map +0 -1
- package/dist/pool/types.js +0 -5
- package/dist/pool/types.js.map +0 -1
- package/dist/presets/index.d.ts +0 -5
- package/dist/presets/index.d.ts.map +0 -1
- package/dist/presets/index.js +0 -5
- package/dist/presets/index.js.map +0 -1
- package/dist/presets/role-registry.d.ts +0 -41
- package/dist/presets/role-registry.d.ts.map +0 -1
- package/dist/presets/role-registry.js +0 -213
- package/dist/presets/role-registry.js.map +0 -1
- package/dist/presets/roles.d.ts +0 -105
- package/dist/presets/roles.d.ts.map +0 -1
- package/dist/presets/roles.js +0 -207
- package/dist/presets/roles.js.map +0 -1
- package/dist/prompts/templates.d.ts +0 -11
- package/dist/prompts/templates.d.ts.map +0 -1
- package/dist/prompts/templates.js +0 -115
- package/dist/prompts/templates.js.map +0 -1
- package/dist/streaming/data-parts.d.ts +0 -163
- package/dist/streaming/data-parts.d.ts.map +0 -1
- package/dist/streaming/data-parts.js +0 -14
- package/dist/streaming/data-parts.js.map +0 -1
- package/dist/streaming/index.d.ts +0 -8
- package/dist/streaming/index.d.ts.map +0 -1
- package/dist/streaming/index.js +0 -10
- package/dist/streaming/index.js.map +0 -1
- package/dist/streaming/transient.d.ts +0 -136
- package/dist/streaming/transient.d.ts.map +0 -1
- package/dist/streaming/transient.js +0 -201
- package/dist/streaming/transient.js.map +0 -1
- package/dist/tools/provider.d.ts +0 -97
- package/dist/tools/provider.d.ts.map +0 -1
- package/dist/tools/provider.js +0 -178
- package/dist/tools/provider.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -35
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -149
- package/dist/utils/logger.js.map +0 -1
- package/dist/workflow/builders/adapt.d.ts +0 -20
- package/dist/workflow/builders/adapt.d.ts.map +0 -1
- package/dist/workflow/builders/adapt.js +0 -33
- package/dist/workflow/builders/adapt.js.map +0 -1
- package/dist/workflow/builders/index.d.ts +0 -8
- package/dist/workflow/builders/index.d.ts.map +0 -1
- package/dist/workflow/builders/index.js +0 -7
- package/dist/workflow/builders/index.js.map +0 -1
- package/dist/workflow/builders/parallel.d.ts +0 -25
- package/dist/workflow/builders/parallel.d.ts.map +0 -1
- package/dist/workflow/builders/parallel.js +0 -60
- package/dist/workflow/builders/parallel.js.map +0 -1
- package/dist/workflow/builders/pipeline.d.ts +0 -22
- package/dist/workflow/builders/pipeline.d.ts.map +0 -1
- package/dist/workflow/builders/pipeline.js +0 -48
- package/dist/workflow/builders/pipeline.js.map +0 -1
- package/dist/workflow/builders/types.d.ts +0 -54
- package/dist/workflow/builders/types.d.ts.map +0 -1
- package/dist/workflow/builders/types.js +0 -5
- package/dist/workflow/builders/types.js.map +0 -1
- package/dist/workflow/durable-agent.d.ts +0 -128
- package/dist/workflow/durable-agent.d.ts.map +0 -1
- package/dist/workflow/durable-agent.js +0 -323
- package/dist/workflow/durable-agent.js.map +0 -1
- package/dist/workflow/schedulers.d.ts +0 -231
- package/dist/workflow/schedulers.d.ts.map +0 -1
- package/dist/workflow/schedulers.js +0 -250
- package/dist/workflow/schedulers.js.map +0 -1
- package/dist/workflow/team/create-team.d.ts +0 -34
- package/dist/workflow/team/create-team.d.ts.map +0 -1
- package/dist/workflow/team/create-team.js +0 -242
- package/dist/workflow/team/create-team.js.map +0 -1
- package/dist/workflow/team/index.d.ts +0 -9
- package/dist/workflow/team/index.d.ts.map +0 -1
- package/dist/workflow/team/index.js +0 -8
- package/dist/workflow/team/index.js.map +0 -1
- package/dist/workflow/team/machines.d.ts +0 -152
- package/dist/workflow/team/machines.d.ts.map +0 -1
- package/dist/workflow/team/machines.js +0 -197
- package/dist/workflow/team/machines.js.map +0 -1
- package/dist/workflow/team/task-board.d.ts +0 -47
- package/dist/workflow/team/task-board.d.ts.map +0 -1
- package/dist/workflow/team/task-board.js +0 -111
- package/dist/workflow/team/task-board.js.map +0 -1
- package/dist/workflow/team/tools.d.ts +0 -66
- package/dist/workflow/team/tools.d.ts.map +0 -1
- package/dist/workflow/team/tools.js +0 -100
- package/dist/workflow/team/tools.js.map +0 -1
- package/dist/workflow/team/types.d.ts +0 -109
- package/dist/workflow/team/types.d.ts.map +0 -1
- package/dist/workflow/team/types.js +0 -5
- package/dist/workflow/team/types.js.map +0 -1
- package/dist/workflow/templates.d.ts +0 -71
- package/dist/workflow/templates.d.ts.map +0 -1
- package/dist/workflow/templates.js +0 -132
- package/dist/workflow/templates.js.map +0 -1
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Transient Streaming Infrastructure
|
|
3
|
-
*
|
|
4
|
-
* Enables tools to stream data to the UI without persisting to conversation context.
|
|
5
|
-
* This keeps the context window lean while providing rich UI feedback.
|
|
6
|
-
*/
|
|
7
|
-
import type { Tool } from 'ai';
|
|
8
|
-
import type { ToolContext } from '../types/lifecycle.js';
|
|
9
|
-
import type { AgentDataParts } from './data-parts.js';
|
|
10
|
-
/**
|
|
11
|
-
* Interface for UI stream writer.
|
|
12
|
-
* Compatible with AI SDK's DataStreamWriter.
|
|
13
|
-
*/
|
|
14
|
-
export interface TransientStreamWriter {
|
|
15
|
-
writeData(data: unknown): void;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Enhanced tool context with transient streaming capabilities.
|
|
19
|
-
* Uses intersection type to extend ToolContext without conflicts.
|
|
20
|
-
*/
|
|
21
|
-
export type TransientToolContext = ToolContext & {
|
|
22
|
-
/** Helper to stream typed transient data */
|
|
23
|
-
stream: <K extends keyof AgentDataParts>(type: K, data: AgentDataParts[K]) => void;
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Tool set is a record of tools keyed by name.
|
|
27
|
-
*/
|
|
28
|
-
type ToolSet = Record<string, Tool>;
|
|
29
|
-
/**
|
|
30
|
-
* Wrap tools to enable transient streaming.
|
|
31
|
-
*
|
|
32
|
-
* Tools wrapped with this function will have access to a `stream()` helper
|
|
33
|
-
* in their context that allows streaming data to the UI without adding
|
|
34
|
-
* it to the conversation context.
|
|
35
|
-
*
|
|
36
|
-
* @param tools - Record of tools to wrap
|
|
37
|
-
* @param writer - Stream writer for sending data to the client
|
|
38
|
-
* @returns Wrapped tools with transient streaming enabled
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```typescript
|
|
42
|
-
* const wrappedTools = withTransientStreaming(myTools, dataStream);
|
|
43
|
-
*
|
|
44
|
-
* // Inside a tool's execute function:
|
|
45
|
-
* execute: async (input, ctx) => {
|
|
46
|
-
* ctx.stream('file-content', {
|
|
47
|
-
* path: input.path,
|
|
48
|
-
* content: fileContent,
|
|
49
|
-
* truncated: false,
|
|
50
|
-
* });
|
|
51
|
-
* return `Read ${input.path}`;
|
|
52
|
-
* }
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
export declare function withTransientStreaming(tools: ToolSet, writer: TransientStreamWriter): ToolSet;
|
|
56
|
-
/**
|
|
57
|
-
* Stream typed transient data to the UI.
|
|
58
|
-
*
|
|
59
|
-
* @param writer - Stream writer instance
|
|
60
|
-
* @param type - Data part type
|
|
61
|
-
* @param data - Data to stream
|
|
62
|
-
*/
|
|
63
|
-
export declare function writeTransient<K extends keyof AgentDataParts>(writer: TransientStreamWriter, type: K, data: AgentDataParts[K]): void;
|
|
64
|
-
/**
|
|
65
|
-
* Helper for tools to stream transient data from within their execute function.
|
|
66
|
-
*
|
|
67
|
-
* @param ctx - Tool context (must have writer)
|
|
68
|
-
* @param type - Data part type
|
|
69
|
-
* @param data - Data to stream
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```typescript
|
|
73
|
-
* // Inside a tool's execute function:
|
|
74
|
-
* streamTransient(ctx, 'shell-output', {
|
|
75
|
-
* command: 'npm test',
|
|
76
|
-
* output: result.stdout,
|
|
77
|
-
* exitCode: result.code,
|
|
78
|
-
* });
|
|
79
|
-
* ```
|
|
80
|
-
*/
|
|
81
|
-
export declare function streamTransient<K extends keyof AgentDataParts>(ctx: ToolContext, type: K, data: AgentDataParts[K]): void;
|
|
82
|
-
/**
|
|
83
|
-
* Stream file content transiently.
|
|
84
|
-
*/
|
|
85
|
-
export declare function streamFileContent(ctx: ToolContext, path: string, content: string, options?: {
|
|
86
|
-
truncated?: boolean;
|
|
87
|
-
totalBytes?: number;
|
|
88
|
-
language?: string;
|
|
89
|
-
lineRange?: {
|
|
90
|
-
start: number;
|
|
91
|
-
end: number;
|
|
92
|
-
};
|
|
93
|
-
}): void;
|
|
94
|
-
/**
|
|
95
|
-
* Stream shell output transiently.
|
|
96
|
-
*/
|
|
97
|
-
export declare function streamShellOutput(ctx: ToolContext, command: string, output: string, exitCode: number, options?: {
|
|
98
|
-
cwd?: string;
|
|
99
|
-
truncated?: boolean;
|
|
100
|
-
durationMs?: number;
|
|
101
|
-
}): void;
|
|
102
|
-
/**
|
|
103
|
-
* Stream search results transiently.
|
|
104
|
-
*/
|
|
105
|
-
export declare function streamSearchResult(ctx: ToolContext, path: string, content: string, matches: number, options?: {
|
|
106
|
-
line?: number;
|
|
107
|
-
pattern?: string;
|
|
108
|
-
}): void;
|
|
109
|
-
/**
|
|
110
|
-
* Stream tool progress update transiently.
|
|
111
|
-
*/
|
|
112
|
-
export declare function streamProgress(ctx: ToolContext, toolName: string, progress: number, message: string, options?: {
|
|
113
|
-
estimatedRemaining?: number;
|
|
114
|
-
step?: {
|
|
115
|
-
current: number;
|
|
116
|
-
total: number;
|
|
117
|
-
};
|
|
118
|
-
}): void;
|
|
119
|
-
/**
|
|
120
|
-
* Stream reasoning step transiently.
|
|
121
|
-
*
|
|
122
|
-
* @internal Forward-designed for CLI streaming feature. No production callers yet.
|
|
123
|
-
*/
|
|
124
|
-
export declare function streamReasoningStep(ctx: ToolContext, stepNumber: number, totalSteps: number, thought: string, options?: {
|
|
125
|
-
isRevision?: boolean;
|
|
126
|
-
revisesThought?: number;
|
|
127
|
-
branchId?: string;
|
|
128
|
-
}): void;
|
|
129
|
-
/**
|
|
130
|
-
* Stream sub-agent output transiently.
|
|
131
|
-
*
|
|
132
|
-
* @internal Forward-designed for CLI streaming feature. No production callers yet.
|
|
133
|
-
*/
|
|
134
|
-
export declare function streamSubAgent(ctx: ToolContext, agentId: string, role: string, text: string, status: 'streaming' | 'complete' | 'error', error?: string): void;
|
|
135
|
-
export {};
|
|
136
|
-
//# sourceMappingURL=transient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transient.d.ts","sourceRoot":"","sources":["../../src/streaming/transient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Transient Streaming Infrastructure
|
|
3
|
-
*
|
|
4
|
-
* Enables tools to stream data to the UI without persisting to conversation context.
|
|
5
|
-
* This keeps the context window lean while providing rich UI feedback.
|
|
6
|
-
*/
|
|
7
|
-
import { createLogger } from '@agntk/logger';
|
|
8
|
-
const log = createLogger('@agntk/core:streaming');
|
|
9
|
-
// ============================================================================
|
|
10
|
-
// Main API: withTransientStreaming
|
|
11
|
-
// ============================================================================
|
|
12
|
-
/**
|
|
13
|
-
* Wrap tools to enable transient streaming.
|
|
14
|
-
*
|
|
15
|
-
* Tools wrapped with this function will have access to a `stream()` helper
|
|
16
|
-
* in their context that allows streaming data to the UI without adding
|
|
17
|
-
* it to the conversation context.
|
|
18
|
-
*
|
|
19
|
-
* @param tools - Record of tools to wrap
|
|
20
|
-
* @param writer - Stream writer for sending data to the client
|
|
21
|
-
* @returns Wrapped tools with transient streaming enabled
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```typescript
|
|
25
|
-
* const wrappedTools = withTransientStreaming(myTools, dataStream);
|
|
26
|
-
*
|
|
27
|
-
* // Inside a tool's execute function:
|
|
28
|
-
* execute: async (input, ctx) => {
|
|
29
|
-
* ctx.stream('file-content', {
|
|
30
|
-
* path: input.path,
|
|
31
|
-
* content: fileContent,
|
|
32
|
-
* truncated: false,
|
|
33
|
-
* });
|
|
34
|
-
* return `Read ${input.path}`;
|
|
35
|
-
* }
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export function withTransientStreaming(tools, writer) {
|
|
39
|
-
const wrappedTools = {};
|
|
40
|
-
for (const [name, tool] of Object.entries(tools)) {
|
|
41
|
-
wrappedTools[name] = wrapToolWithTransient(tool, writer, name);
|
|
42
|
-
}
|
|
43
|
-
return wrappedTools;
|
|
44
|
-
}
|
|
45
|
-
// ============================================================================
|
|
46
|
-
// Tool Wrapping
|
|
47
|
-
// ============================================================================
|
|
48
|
-
/**
|
|
49
|
-
* Wrap a single tool with transient streaming capabilities.
|
|
50
|
-
*/
|
|
51
|
-
function wrapToolWithTransient(tool, writer, toolName) {
|
|
52
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
53
|
-
const originalExecute = tool.execute;
|
|
54
|
-
if (!originalExecute) {
|
|
55
|
-
return tool;
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
...tool,
|
|
59
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
60
|
-
execute: async (input, options) => {
|
|
61
|
-
// Create enhanced context with streaming helper
|
|
62
|
-
const enhancedContext = {
|
|
63
|
-
...(options || {}),
|
|
64
|
-
agentId: options?.agentId || 'unknown',
|
|
65
|
-
stepNumber: options?.stepNumber || 0,
|
|
66
|
-
writer,
|
|
67
|
-
stream: (type, data) => {
|
|
68
|
-
writeTransient(writer, type, data);
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
return originalExecute(input, enhancedContext);
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
// ============================================================================
|
|
76
|
-
// Transient Data Writers
|
|
77
|
-
// ============================================================================
|
|
78
|
-
/**
|
|
79
|
-
* Stream typed transient data to the UI.
|
|
80
|
-
*
|
|
81
|
-
* @param writer - Stream writer instance
|
|
82
|
-
* @param type - Data part type
|
|
83
|
-
* @param data - Data to stream
|
|
84
|
-
*/
|
|
85
|
-
export function writeTransient(writer, type, data) {
|
|
86
|
-
const dataPart = {
|
|
87
|
-
type,
|
|
88
|
-
data,
|
|
89
|
-
};
|
|
90
|
-
writer.writeData({
|
|
91
|
-
...dataPart,
|
|
92
|
-
transient: true,
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Helper for tools to stream transient data from within their execute function.
|
|
97
|
-
*
|
|
98
|
-
* @param ctx - Tool context (must have writer)
|
|
99
|
-
* @param type - Data part type
|
|
100
|
-
* @param data - Data to stream
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* ```typescript
|
|
104
|
-
* // Inside a tool's execute function:
|
|
105
|
-
* streamTransient(ctx, 'shell-output', {
|
|
106
|
-
* command: 'npm test',
|
|
107
|
-
* output: result.stdout,
|
|
108
|
-
* exitCode: result.code,
|
|
109
|
-
* });
|
|
110
|
-
* ```
|
|
111
|
-
*/
|
|
112
|
-
export function streamTransient(ctx, type, data) {
|
|
113
|
-
// Cast to TransientStreamWriter - they have compatible interfaces
|
|
114
|
-
const writer = ctx.writer;
|
|
115
|
-
if (writer) {
|
|
116
|
-
writeTransient(writer, type, data);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
// ============================================================================
|
|
120
|
-
// Specialized Streamers
|
|
121
|
-
// ============================================================================
|
|
122
|
-
/**
|
|
123
|
-
* Stream file content transiently.
|
|
124
|
-
*/
|
|
125
|
-
export function streamFileContent(ctx, path, content, options = {}) {
|
|
126
|
-
streamTransient(ctx, 'file-content', {
|
|
127
|
-
path,
|
|
128
|
-
content,
|
|
129
|
-
truncated: options.truncated ?? false,
|
|
130
|
-
totalBytes: options.totalBytes,
|
|
131
|
-
language: options.language,
|
|
132
|
-
lineRange: options.lineRange,
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Stream shell output transiently.
|
|
137
|
-
*/
|
|
138
|
-
export function streamShellOutput(ctx, command, output, exitCode, options = {}) {
|
|
139
|
-
streamTransient(ctx, 'shell-output', {
|
|
140
|
-
command,
|
|
141
|
-
output,
|
|
142
|
-
exitCode,
|
|
143
|
-
cwd: options.cwd,
|
|
144
|
-
truncated: options.truncated,
|
|
145
|
-
durationMs: options.durationMs,
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Stream search results transiently.
|
|
150
|
-
*/
|
|
151
|
-
export function streamSearchResult(ctx, path, content, matches, options = {}) {
|
|
152
|
-
streamTransient(ctx, 'search-result', {
|
|
153
|
-
path,
|
|
154
|
-
content,
|
|
155
|
-
matches,
|
|
156
|
-
line: options.line,
|
|
157
|
-
pattern: options.pattern,
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Stream tool progress update transiently.
|
|
162
|
-
*/
|
|
163
|
-
export function streamProgress(ctx, toolName, progress, message, options = {}) {
|
|
164
|
-
streamTransient(ctx, 'tool-progress', {
|
|
165
|
-
toolName,
|
|
166
|
-
progress,
|
|
167
|
-
message,
|
|
168
|
-
estimatedRemaining: options.estimatedRemaining,
|
|
169
|
-
step: options.step,
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Stream reasoning step transiently.
|
|
174
|
-
*
|
|
175
|
-
* @internal Forward-designed for CLI streaming feature. No production callers yet.
|
|
176
|
-
*/
|
|
177
|
-
export function streamReasoningStep(ctx, stepNumber, totalSteps, thought, options = {}) {
|
|
178
|
-
streamTransient(ctx, 'reasoning-step', {
|
|
179
|
-
stepNumber,
|
|
180
|
-
totalSteps,
|
|
181
|
-
thought,
|
|
182
|
-
isRevision: options.isRevision,
|
|
183
|
-
revisesThought: options.revisesThought,
|
|
184
|
-
branchId: options.branchId,
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Stream sub-agent output transiently.
|
|
189
|
-
*
|
|
190
|
-
* @internal Forward-designed for CLI streaming feature. No production callers yet.
|
|
191
|
-
*/
|
|
192
|
-
export function streamSubAgent(ctx, agentId, role, text, status, error) {
|
|
193
|
-
streamTransient(ctx, 'sub-agent-stream', {
|
|
194
|
-
agentId,
|
|
195
|
-
role,
|
|
196
|
-
text,
|
|
197
|
-
status,
|
|
198
|
-
error,
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
//# sourceMappingURL=transient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transient.js","sourceRoot":"","sources":["../../src/streaming/transient.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/provider.d.ts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Tool Provider
|
|
3
|
-
*
|
|
4
|
-
* Central provider for creating and managing tool sets.
|
|
5
|
-
* Adapted from packages/core/src/tools/provider.ts
|
|
6
|
-
*/
|
|
7
|
-
import { type ToolSet } from './factory.js';
|
|
8
|
-
/**
|
|
9
|
-
* Names of core tools that are always available.
|
|
10
|
-
*/
|
|
11
|
-
export declare const CORE_TOOL_NAMES: readonly ["fs", "shell", "web", "memory", "delegate", "task", "plan", "validate", "reasoning"];
|
|
12
|
-
export type CoreToolName = (typeof CORE_TOOL_NAMES)[number];
|
|
13
|
-
export interface ToolProviderConfig {
|
|
14
|
-
/** Workspace root directory */
|
|
15
|
-
workspaceRoot?: string;
|
|
16
|
-
/** Allowed directories for file operations */
|
|
17
|
-
allowedDirectories?: string[];
|
|
18
|
-
/** Enable tool execution instrumentation/logging */
|
|
19
|
-
enableInstrumentation?: boolean;
|
|
20
|
-
/** Enable dynamic tool activation/deactivation */
|
|
21
|
-
enableActivation?: boolean;
|
|
22
|
-
/** Custom tool dependencies */
|
|
23
|
-
customDependencies?: Record<string, unknown>;
|
|
24
|
-
}
|
|
25
|
-
export interface ToolActivationManager {
|
|
26
|
-
/** Currently active tool names */
|
|
27
|
-
activeTools: Set<string>;
|
|
28
|
-
/** All available tool names */
|
|
29
|
-
availableTools: Set<string>;
|
|
30
|
-
/** Activate a tool */
|
|
31
|
-
activate(name: string): boolean;
|
|
32
|
-
/** Deactivate a tool */
|
|
33
|
-
deactivate(name: string): boolean;
|
|
34
|
-
/** Check if a tool is active */
|
|
35
|
-
isActive(name: string): boolean;
|
|
36
|
-
/** Get all active tools */
|
|
37
|
-
getActiveTools(): string[];
|
|
38
|
-
/** Set available tools */
|
|
39
|
-
setAvailableTools(names: string[]): void;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Create a tool activation manager.
|
|
43
|
-
*/
|
|
44
|
-
export declare function createToolActivationManager(): ToolActivationManager;
|
|
45
|
-
export interface ToolRegistryEntry {
|
|
46
|
-
name: string;
|
|
47
|
-
description: string;
|
|
48
|
-
category: string;
|
|
49
|
-
tags: string[];
|
|
50
|
-
}
|
|
51
|
-
export interface ToolRegistry {
|
|
52
|
-
entries: Map<string, ToolRegistryEntry>;
|
|
53
|
-
register(entry: ToolRegistryEntry): void;
|
|
54
|
-
unregister(name: string): boolean;
|
|
55
|
-
get(name: string): ToolRegistryEntry | undefined;
|
|
56
|
-
search(query: string): ToolRegistryEntry[];
|
|
57
|
-
listByCategory(category: string): ToolRegistryEntry[];
|
|
58
|
-
listAll(): ToolRegistryEntry[];
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Create a tool registry for metadata and search.
|
|
62
|
-
*/
|
|
63
|
-
export declare function createToolRegistry(): ToolRegistry;
|
|
64
|
-
export interface ToolProviderResult {
|
|
65
|
-
/** All created tools */
|
|
66
|
-
tools: ToolSet;
|
|
67
|
-
/** Core tool names */
|
|
68
|
-
coreToolNames: readonly string[];
|
|
69
|
-
/** Activation manager instance */
|
|
70
|
-
activationManager: ToolActivationManager;
|
|
71
|
-
/** Registry instance */
|
|
72
|
-
registry: ToolRegistry;
|
|
73
|
-
/** Cleanup function */
|
|
74
|
-
cleanup: () => Promise<void>;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Wrap tools with instrumentation for logging and metrics.
|
|
78
|
-
*/
|
|
79
|
-
export declare function instrumentTools(tools: ToolSet): ToolSet;
|
|
80
|
-
/**
|
|
81
|
-
* Create all tools with the given configuration.
|
|
82
|
-
*
|
|
83
|
-
* @example
|
|
84
|
-
* ```typescript
|
|
85
|
-
* const { tools, cleanup } = await createAllTools({
|
|
86
|
-
* workspaceRoot: process.cwd(),
|
|
87
|
-
* enableInstrumentation: true,
|
|
88
|
-
* });
|
|
89
|
-
*
|
|
90
|
-
* // Use tools...
|
|
91
|
-
*
|
|
92
|
-
* await cleanup();
|
|
93
|
-
* ```
|
|
94
|
-
*/
|
|
95
|
-
export declare function createAllTools(config?: ToolProviderConfig): Promise<ToolProviderResult>;
|
|
96
|
-
export { ToolFactory, type ToolDependencies, type ToolSet } from './factory.js';
|
|
97
|
-
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/tools/provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAsC,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAM7E;;GAEG;AACH,eAAO,MAAM,eAAe,gGAUlB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAM5D,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+BAA+B;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C;AAMD,MAAM,WAAW,qBAAqB;IACpC,kCAAkC;IAClC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,+BAA+B;IAC/B,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE5B,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,wBAAwB;IACxB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,2BAA2B;IAC3B,cAAc,IAAI,MAAM,EAAE,CAAC;IAC3B,0BAA0B;IAC1B,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,qBAAqB,CAqCnE;AAMD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAC;IAC3C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACtD,OAAO,IAAI,iBAAiB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAsCjD;AAMD,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,sBAAsB;IACtB,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,kCAAkC;IAClC,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,wBAAwB;IACxB,QAAQ,EAAE,YAAY,CAAC;IACvB,uBAAuB;IACvB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA6BvD;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,MAAM,GAAE,kBAAuB,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CA4C7B;AAMD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/tools/provider.js
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Tool Provider
|
|
3
|
-
*
|
|
4
|
-
* Central provider for creating and managing tool sets.
|
|
5
|
-
* Adapted from packages/core/src/tools/provider.ts
|
|
6
|
-
*/
|
|
7
|
-
import { ToolFactory } from './factory.js';
|
|
8
|
-
// ============================================================================
|
|
9
|
-
// Core Tool Names
|
|
10
|
-
// ============================================================================
|
|
11
|
-
/**
|
|
12
|
-
* Names of core tools that are always available.
|
|
13
|
-
*/
|
|
14
|
-
export const CORE_TOOL_NAMES = [
|
|
15
|
-
'fs',
|
|
16
|
-
'shell',
|
|
17
|
-
'web',
|
|
18
|
-
'memory',
|
|
19
|
-
'delegate',
|
|
20
|
-
'task',
|
|
21
|
-
'plan',
|
|
22
|
-
'validate',
|
|
23
|
-
'reasoning',
|
|
24
|
-
];
|
|
25
|
-
/**
|
|
26
|
-
* Create a tool activation manager.
|
|
27
|
-
*/
|
|
28
|
-
export function createToolActivationManager() {
|
|
29
|
-
const activeTools = new Set();
|
|
30
|
-
const availableTools = new Set();
|
|
31
|
-
return {
|
|
32
|
-
activeTools,
|
|
33
|
-
availableTools,
|
|
34
|
-
activate(name) {
|
|
35
|
-
if (!availableTools.has(name)) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
activeTools.add(name);
|
|
39
|
-
return true;
|
|
40
|
-
},
|
|
41
|
-
deactivate(name) {
|
|
42
|
-
return activeTools.delete(name);
|
|
43
|
-
},
|
|
44
|
-
isActive(name) {
|
|
45
|
-
return activeTools.has(name);
|
|
46
|
-
},
|
|
47
|
-
getActiveTools() {
|
|
48
|
-
return Array.from(activeTools);
|
|
49
|
-
},
|
|
50
|
-
setAvailableTools(names) {
|
|
51
|
-
availableTools.clear();
|
|
52
|
-
for (const name of names) {
|
|
53
|
-
availableTools.add(name);
|
|
54
|
-
// Activate all by default
|
|
55
|
-
activeTools.add(name);
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Create a tool registry for metadata and search.
|
|
62
|
-
*/
|
|
63
|
-
export function createToolRegistry() {
|
|
64
|
-
const entries = new Map();
|
|
65
|
-
return {
|
|
66
|
-
entries,
|
|
67
|
-
register(entry) {
|
|
68
|
-
entries.set(entry.name, entry);
|
|
69
|
-
},
|
|
70
|
-
unregister(name) {
|
|
71
|
-
return entries.delete(name);
|
|
72
|
-
},
|
|
73
|
-
get(name) {
|
|
74
|
-
return entries.get(name);
|
|
75
|
-
},
|
|
76
|
-
search(query) {
|
|
77
|
-
const lowerQuery = query.toLowerCase();
|
|
78
|
-
return Array.from(entries.values()).filter((entry) => entry.name.toLowerCase().includes(lowerQuery) ||
|
|
79
|
-
entry.description.toLowerCase().includes(lowerQuery) ||
|
|
80
|
-
entry.tags.some((tag) => tag.toLowerCase().includes(lowerQuery)));
|
|
81
|
-
},
|
|
82
|
-
listByCategory(category) {
|
|
83
|
-
return Array.from(entries.values()).filter((entry) => entry.category === category);
|
|
84
|
-
},
|
|
85
|
-
listAll() {
|
|
86
|
-
return Array.from(entries.values());
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
// ============================================================================
|
|
91
|
-
// Tool Instrumentation
|
|
92
|
-
// ============================================================================
|
|
93
|
-
/**
|
|
94
|
-
* Wrap tools with instrumentation for logging and metrics.
|
|
95
|
-
*/
|
|
96
|
-
export function instrumentTools(tools) {
|
|
97
|
-
const instrumented = {};
|
|
98
|
-
for (const [name, tool] of Object.entries(tools)) {
|
|
99
|
-
if (!tool.execute) {
|
|
100
|
-
instrumented[name] = tool;
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
const originalExecute = tool.execute;
|
|
104
|
-
instrumented[name] = {
|
|
105
|
-
...tool,
|
|
106
|
-
execute: async (input, options) => {
|
|
107
|
-
const startTime = Date.now();
|
|
108
|
-
try {
|
|
109
|
-
const result = await originalExecute(input, options);
|
|
110
|
-
const duration = Date.now() - startTime;
|
|
111
|
-
console.debug(`[tool:${name}] completed in ${duration}ms`);
|
|
112
|
-
return result;
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
const duration = Date.now() - startTime;
|
|
116
|
-
console.error(`[tool:${name}] failed after ${duration}ms`, error);
|
|
117
|
-
throw error;
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
return instrumented;
|
|
123
|
-
}
|
|
124
|
-
// ============================================================================
|
|
125
|
-
// Create All Tools
|
|
126
|
-
// ============================================================================
|
|
127
|
-
/**
|
|
128
|
-
* Create all tools with the given configuration.
|
|
129
|
-
*
|
|
130
|
-
* @example
|
|
131
|
-
* ```typescript
|
|
132
|
-
* const { tools, cleanup } = await createAllTools({
|
|
133
|
-
* workspaceRoot: process.cwd(),
|
|
134
|
-
* enableInstrumentation: true,
|
|
135
|
-
* });
|
|
136
|
-
*
|
|
137
|
-
* // Use tools...
|
|
138
|
-
*
|
|
139
|
-
* await cleanup();
|
|
140
|
-
* ```
|
|
141
|
-
*/
|
|
142
|
-
export async function createAllTools(config = {}) {
|
|
143
|
-
const { workspaceRoot = process.cwd(), allowedDirectories = [workspaceRoot], enableInstrumentation = true, enableActivation = false, customDependencies = {}, } = config;
|
|
144
|
-
const deps = {
|
|
145
|
-
workspaceRoot,
|
|
146
|
-
allowedDirectories,
|
|
147
|
-
context: customDependencies,
|
|
148
|
-
};
|
|
149
|
-
const activationManager = createToolActivationManager();
|
|
150
|
-
const registry = createToolRegistry();
|
|
151
|
-
const factory = new ToolFactory();
|
|
152
|
-
// Note: Individual tool creators will be registered by the tools themselves
|
|
153
|
-
// when they are imported. For now, return an empty tool set that will be
|
|
154
|
-
// populated when tools are migrated.
|
|
155
|
-
let tools = factory.createAll(deps);
|
|
156
|
-
// Set available tools in activation manager
|
|
157
|
-
activationManager.setAvailableTools(Object.keys(tools));
|
|
158
|
-
// Apply instrumentation if enabled
|
|
159
|
-
if (enableInstrumentation) {
|
|
160
|
-
tools = instrumentTools(tools);
|
|
161
|
-
}
|
|
162
|
-
const cleanup = async () => {
|
|
163
|
-
// Cleanup logic (close connections, release resources, etc.)
|
|
164
|
-
factory.clear();
|
|
165
|
-
};
|
|
166
|
-
return {
|
|
167
|
-
tools,
|
|
168
|
-
coreToolNames: CORE_TOOL_NAMES,
|
|
169
|
-
activationManager,
|
|
170
|
-
registry,
|
|
171
|
-
cleanup,
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
// ============================================================================
|
|
175
|
-
// Exports
|
|
176
|
-
// ============================================================================
|
|
177
|
-
export { ToolFactory } from './factory.js';
|
|
178
|
-
//# sourceMappingURL=provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/tools/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/logger.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Minimal Logger
|
|
3
|
-
* Zero-dependency logger that works in Node, Bun, and browser environments
|
|
4
|
-
*/
|
|
5
|
-
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
6
|
-
export interface LoggerOptions {
|
|
7
|
-
level?: LogLevel;
|
|
8
|
-
enableColors?: boolean;
|
|
9
|
-
enableTimestamps?: boolean;
|
|
10
|
-
prefix?: string;
|
|
11
|
-
}
|
|
12
|
-
export interface AgentContext {
|
|
13
|
-
type: 'main' | 'spawned';
|
|
14
|
-
taskId?: string;
|
|
15
|
-
}
|
|
16
|
-
export interface LogEntry {
|
|
17
|
-
timestamp: number;
|
|
18
|
-
level: LogLevel;
|
|
19
|
-
message: string;
|
|
20
|
-
meta: Record<string, unknown> | undefined;
|
|
21
|
-
formattedMessage: string;
|
|
22
|
-
}
|
|
23
|
-
export type LogSubscriber = (entry: LogEntry) => void;
|
|
24
|
-
export interface Logger {
|
|
25
|
-
debug(message: string, meta?: Record<string, unknown>): void;
|
|
26
|
-
info(message: string, meta?: Record<string, unknown>): void;
|
|
27
|
-
warn(message: string, meta?: Record<string, unknown>): void;
|
|
28
|
-
error(message: string, meta?: Record<string, unknown>): void;
|
|
29
|
-
setLevel(level: LogLevel): void;
|
|
30
|
-
setAgentContext(context: AgentContext): void;
|
|
31
|
-
subscribe(callback: LogSubscriber): () => void;
|
|
32
|
-
}
|
|
33
|
-
export declare function createLogger(options?: LoggerOptions): Logger;
|
|
34
|
-
export declare const logger: Logger;
|
|
35
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC1C,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAEtD,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI,CAAC;CAChD;AAgCD,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CA2IhE;AAED,eAAO,MAAM,MAAM,QAAiB,CAAC"}
|