ctxpkg 0.0.3 → 0.0.4
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/bin/cli.js +1 -1
- package/bin/daemon.js +1 -1
- package/dist/agent/agent.d.ts +65 -0
- package/dist/agent/agent.d.ts.map +1 -0
- package/dist/agent/agent.js +291 -0
- package/dist/agent/agent.js.map +1 -0
- package/dist/agent/agent.prompts.d.ts +13 -0
- package/dist/agent/agent.prompts.d.ts.map +1 -0
- package/{src/agent/agent.prompts.ts → dist/agent/agent.prompts.js} +11 -12
- package/dist/agent/agent.prompts.js.map +1 -0
- package/dist/agent/agent.test-runner.d.ts +73 -0
- package/dist/agent/agent.test-runner.d.ts.map +1 -0
- package/dist/agent/agent.test-runner.js +316 -0
- package/dist/agent/agent.test-runner.js.map +1 -0
- package/dist/agent/agent.test-runner.schemas.d.ts +382 -0
- package/dist/agent/agent.test-runner.schemas.d.ts.map +1 -0
- package/dist/agent/agent.test-runner.schemas.js +110 -0
- package/dist/agent/agent.test-runner.schemas.js.map +1 -0
- package/dist/agent/agent.types.d.ts +122 -0
- package/dist/agent/agent.types.d.ts.map +1 -0
- package/dist/agent/agent.types.js +19 -0
- package/dist/agent/agent.types.js.map +1 -0
- package/dist/backend/backend.d.ts +16 -0
- package/dist/backend/backend.d.ts.map +1 -0
- package/dist/backend/backend.js +79 -0
- package/dist/backend/backend.js.map +1 -0
- package/dist/backend/backend.protocol.d.ts +74 -0
- package/dist/backend/backend.protocol.d.ts.map +1 -0
- package/dist/backend/backend.protocol.js +46 -0
- package/dist/backend/backend.protocol.js.map +1 -0
- package/dist/backend/backend.schemas.d.ts +141 -0
- package/dist/backend/backend.schemas.d.ts.map +1 -0
- package/dist/backend/backend.schemas.js +59 -0
- package/dist/backend/backend.schemas.js.map +1 -0
- package/dist/backend/backend.services.d.ts +290 -0
- package/dist/backend/backend.services.d.ts.map +1 -0
- package/dist/backend/backend.services.js +103 -0
- package/dist/backend/backend.services.js.map +1 -0
- package/dist/backend/backend.types.d.ts +25 -0
- package/dist/backend/backend.types.d.ts.map +1 -0
- package/dist/backend/backend.types.js +6 -0
- package/dist/backend/backend.types.js.map +1 -0
- package/dist/cli/cli.agent.d.ts +4 -0
- package/dist/cli/cli.agent.d.ts.map +1 -0
- package/dist/cli/cli.agent.js +158 -0
- package/dist/cli/cli.agent.js.map +1 -0
- package/dist/cli/cli.chat.d.ts +4 -0
- package/dist/cli/cli.chat.d.ts.map +1 -0
- package/dist/cli/cli.chat.js +311 -0
- package/dist/cli/cli.chat.js.map +1 -0
- package/dist/cli/cli.client.d.ts +11 -0
- package/dist/cli/cli.client.d.ts.map +1 -0
- package/dist/cli/cli.client.js +40 -0
- package/dist/cli/cli.client.js.map +1 -0
- package/dist/cli/cli.collections.d.ts +4 -0
- package/dist/cli/cli.collections.d.ts.map +1 -0
- package/dist/cli/cli.collections.js +411 -0
- package/dist/cli/cli.collections.js.map +1 -0
- package/dist/cli/cli.config.d.ts +4 -0
- package/dist/cli/cli.config.d.ts.map +1 -0
- package/dist/cli/cli.config.js +192 -0
- package/dist/cli/cli.config.js.map +1 -0
- package/dist/cli/cli.d.ts +4 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.daemon.d.ts +4 -0
- package/dist/cli/cli.daemon.d.ts.map +1 -0
- package/dist/cli/cli.daemon.js +116 -0
- package/dist/cli/cli.daemon.js.map +1 -0
- package/dist/cli/cli.documents.d.ts +4 -0
- package/dist/cli/cli.documents.d.ts.map +1 -0
- package/dist/cli/cli.documents.js +332 -0
- package/dist/cli/cli.documents.js.map +1 -0
- package/dist/cli/cli.js +23 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/cli.mcp.d.ts +4 -0
- package/dist/cli/cli.mcp.d.ts.map +1 -0
- package/dist/cli/cli.mcp.js +146 -0
- package/dist/cli/cli.mcp.js.map +1 -0
- package/dist/cli/cli.utils.d.ts +51 -0
- package/dist/cli/cli.utils.d.ts.map +1 -0
- package/dist/cli/cli.utils.js +95 -0
- package/dist/cli/cli.utils.js.map +1 -0
- package/dist/client/client.adapters.d.ts +38 -0
- package/dist/client/client.adapters.d.ts.map +1 -0
- package/dist/client/client.adapters.js +233 -0
- package/dist/client/client.adapters.js.map +1 -0
- package/dist/client/client.d.ts +16 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/client.js +74 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/client.types.d.ts +10 -0
- package/dist/client/client.types.d.ts.map +1 -0
- package/dist/client/client.types.js +2 -0
- package/dist/client/client.types.js.map +1 -0
- package/dist/collections/collections.d.ts +219 -0
- package/dist/collections/collections.d.ts.map +1 -0
- package/dist/collections/collections.js +933 -0
- package/dist/collections/collections.js.map +1 -0
- package/dist/collections/collections.schemas.d.ts +298 -0
- package/dist/collections/collections.schemas.d.ts.map +1 -0
- package/dist/collections/collections.schemas.js +117 -0
- package/dist/collections/collections.schemas.js.map +1 -0
- package/dist/config/config.d.ts +29 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +112 -0
- package/dist/config/config.js.map +1 -0
- package/dist/daemon/daemon.config.d.ts +6 -0
- package/dist/daemon/daemon.config.d.ts.map +1 -0
- package/dist/daemon/daemon.config.js +19 -0
- package/dist/daemon/daemon.config.js.map +1 -0
- package/dist/daemon/daemon.d.ts +10 -0
- package/dist/daemon/daemon.d.ts.map +1 -0
- package/dist/daemon/daemon.js +173 -0
- package/dist/daemon/daemon.js.map +1 -0
- package/dist/daemon/daemon.manager.d.ts +20 -0
- package/dist/daemon/daemon.manager.d.ts.map +1 -0
- package/dist/daemon/daemon.manager.js +176 -0
- package/dist/daemon/daemon.manager.js.map +1 -0
- package/dist/daemon/daemon.schemas.d.ts +38 -0
- package/dist/daemon/daemon.schemas.d.ts.map +1 -0
- package/dist/daemon/daemon.schemas.js +15 -0
- package/dist/daemon/daemon.schemas.js.map +1 -0
- package/dist/database/database.d.ts +10 -0
- package/dist/database/database.d.ts.map +1 -0
- package/dist/database/database.js +52 -0
- package/dist/database/database.js.map +1 -0
- package/dist/database/migrations/migrations.001-init.d.ts +9 -0
- package/dist/database/migrations/migrations.001-init.d.ts.map +1 -0
- package/dist/database/migrations/migrations.001-init.js +46 -0
- package/dist/database/migrations/migrations.001-init.js.map +1 -0
- package/dist/database/migrations/migrations.002-fts5.d.ts +11 -0
- package/dist/database/migrations/migrations.002-fts5.d.ts.map +1 -0
- package/dist/database/migrations/migrations.002-fts5.js +29 -0
- package/dist/database/migrations/migrations.002-fts5.js.map +1 -0
- package/dist/database/migrations/migrations.d.ts +11 -0
- package/dist/database/migrations/migrations.d.ts.map +1 -0
- package/dist/database/migrations/migrations.js +14 -0
- package/dist/database/migrations/migrations.js.map +1 -0
- package/dist/database/migrations/migrations.types.d.ts +8 -0
- package/dist/database/migrations/migrations.types.d.ts.map +1 -0
- package/dist/database/migrations/migrations.types.js +2 -0
- package/dist/database/migrations/migrations.types.js.map +1 -0
- package/dist/documents/documents.d.ts +58 -0
- package/dist/documents/documents.d.ts.map +1 -0
- package/dist/documents/documents.js +597 -0
- package/dist/documents/documents.js.map +1 -0
- package/dist/documents/documents.schemas.d.ts +418 -0
- package/dist/documents/documents.schemas.d.ts.map +1 -0
- package/dist/documents/documents.schemas.js +111 -0
- package/dist/documents/documents.schemas.js.map +1 -0
- package/dist/embedder/embedder.d.ts +22 -0
- package/dist/embedder/embedder.d.ts.map +1 -0
- package/dist/embedder/embedder.js +46 -0
- package/dist/embedder/embedder.js.map +1 -0
- package/dist/exports.d.ts +2 -0
- package/dist/exports.d.ts.map +1 -0
- package/dist/exports.js +2 -0
- package/dist/exports.js.map +1 -0
- package/dist/mcp/mcp.d.ts +44 -0
- package/dist/mcp/mcp.d.ts.map +1 -0
- package/dist/mcp/mcp.js +62 -0
- package/dist/mcp/mcp.js.map +1 -0
- package/dist/tools/agent/agent.d.ts +14 -0
- package/dist/tools/agent/agent.d.ts.map +1 -0
- package/dist/tools/agent/agent.js +31 -0
- package/dist/tools/agent/agent.js.map +1 -0
- package/dist/tools/documents/documents.d.ts +28 -0
- package/dist/tools/documents/documents.d.ts.map +1 -0
- package/dist/tools/documents/documents.js +336 -0
- package/dist/tools/documents/documents.js.map +1 -0
- package/dist/tools/tools.langchain.d.ts +11 -0
- package/dist/tools/tools.langchain.d.ts.map +1 -0
- package/dist/tools/tools.langchain.js +30 -0
- package/dist/tools/tools.langchain.js.map +1 -0
- package/dist/tools/tools.mcp.d.ts +12 -0
- package/dist/tools/tools.mcp.d.ts.map +1 -0
- package/dist/tools/tools.mcp.js +38 -0
- package/dist/tools/tools.mcp.js.map +1 -0
- package/{src/tools/tools.types.ts → dist/tools/tools.types.d.ts} +10 -16
- package/dist/tools/tools.types.d.ts.map +1 -0
- package/dist/tools/tools.types.js +7 -0
- package/dist/tools/tools.types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/utils/utils.services.d.ts +14 -0
- package/dist/utils/utils.services.d.ts.map +1 -0
- package/dist/utils/utils.services.js +33 -0
- package/dist/utils/utils.services.js.map +1 -0
- package/package.json +2 -2
- package/src/agent/AGENTS.md +0 -249
- package/src/agent/agent.test-runner.schemas.ts +0 -158
- package/src/agent/agent.test-runner.ts +0 -436
- package/src/agent/agent.ts +0 -371
- package/src/agent/agent.types.ts +0 -94
- package/src/backend/AGENTS.md +0 -112
- package/src/backend/backend.protocol.ts +0 -95
- package/src/backend/backend.schemas.ts +0 -123
- package/src/backend/backend.services.ts +0 -151
- package/src/backend/backend.ts +0 -111
- package/src/backend/backend.types.ts +0 -34
- package/src/cli/AGENTS.md +0 -213
- package/src/cli/cli.agent.ts +0 -197
- package/src/cli/cli.chat.ts +0 -369
- package/src/cli/cli.client.ts +0 -55
- package/src/cli/cli.collections.ts +0 -491
- package/src/cli/cli.config.ts +0 -252
- package/src/cli/cli.daemon.ts +0 -160
- package/src/cli/cli.documents.ts +0 -413
- package/src/cli/cli.mcp.ts +0 -177
- package/src/cli/cli.ts +0 -28
- package/src/cli/cli.utils.ts +0 -122
- package/src/client/AGENTS.md +0 -135
- package/src/client/client.adapters.ts +0 -279
- package/src/client/client.ts +0 -86
- package/src/client/client.types.ts +0 -17
- package/src/collections/AGENTS.md +0 -185
- package/src/collections/collections.schemas.ts +0 -195
- package/src/collections/collections.ts +0 -1160
- package/src/config/config.ts +0 -118
- package/src/daemon/AGENTS.md +0 -168
- package/src/daemon/daemon.config.ts +0 -23
- package/src/daemon/daemon.manager.ts +0 -215
- package/src/daemon/daemon.schemas.ts +0 -22
- package/src/daemon/daemon.ts +0 -205
- package/src/database/AGENTS.md +0 -211
- package/src/database/database.ts +0 -64
- package/src/database/migrations/migrations.001-init.ts +0 -56
- package/src/database/migrations/migrations.002-fts5.ts +0 -32
- package/src/database/migrations/migrations.ts +0 -20
- package/src/database/migrations/migrations.types.ts +0 -9
- package/src/documents/AGENTS.md +0 -301
- package/src/documents/documents.schemas.ts +0 -190
- package/src/documents/documents.ts +0 -734
- package/src/embedder/embedder.ts +0 -53
- package/src/exports.ts +0 -0
- package/src/mcp/AGENTS.md +0 -264
- package/src/mcp/mcp.ts +0 -105
- package/src/tools/AGENTS.md +0 -228
- package/src/tools/agent/agent.ts +0 -45
- package/src/tools/documents/documents.ts +0 -401
- package/src/tools/tools.langchain.ts +0 -37
- package/src/tools/tools.mcp.ts +0 -46
- package/src/utils/utils.services.ts +0 -46
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Validation modes for test assertions
|
|
4
|
+
*/
|
|
5
|
+
export declare const validationModeSchema: z.ZodEnum<["semantic", "llm", "keywords"]>;
|
|
6
|
+
export type ValidationMode = z.infer<typeof validationModeSchema>;
|
|
7
|
+
/**
|
|
8
|
+
* Individual test case
|
|
9
|
+
*/
|
|
10
|
+
export declare const testCaseSchema: z.ZodObject<{
|
|
11
|
+
/** Unique identifier for the test */
|
|
12
|
+
id: z.ZodString;
|
|
13
|
+
/** The question to ask the agent */
|
|
14
|
+
query: z.ZodString;
|
|
15
|
+
/** Use case context for the question */
|
|
16
|
+
useCase: z.ZodString;
|
|
17
|
+
/** Expected answer description or reference answer */
|
|
18
|
+
expected: z.ZodString;
|
|
19
|
+
/** Keywords that should appear in the answer (for keywords mode) */
|
|
20
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
21
|
+
/** Override validation mode for this specific test */
|
|
22
|
+
validationMode: z.ZodOptional<z.ZodEnum<["semantic", "llm", "keywords"]>>;
|
|
23
|
+
/** Custom validation instructions for LLM mode */
|
|
24
|
+
validationInstructions: z.ZodOptional<z.ZodString>;
|
|
25
|
+
/** Override pass threshold for this specific test (0-1) */
|
|
26
|
+
passThreshold: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
/** Whether this test is currently skipped */
|
|
28
|
+
skip: z.ZodOptional<z.ZodBoolean>;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
expected: string;
|
|
31
|
+
id: string;
|
|
32
|
+
query: string;
|
|
33
|
+
useCase: string;
|
|
34
|
+
keywords?: string[] | undefined;
|
|
35
|
+
validationMode?: "semantic" | "llm" | "keywords" | undefined;
|
|
36
|
+
validationInstructions?: string | undefined;
|
|
37
|
+
passThreshold?: number | undefined;
|
|
38
|
+
skip?: boolean | undefined;
|
|
39
|
+
}, {
|
|
40
|
+
expected: string;
|
|
41
|
+
id: string;
|
|
42
|
+
query: string;
|
|
43
|
+
useCase: string;
|
|
44
|
+
keywords?: string[] | undefined;
|
|
45
|
+
validationMode?: "semantic" | "llm" | "keywords" | undefined;
|
|
46
|
+
validationInstructions?: string | undefined;
|
|
47
|
+
passThreshold?: number | undefined;
|
|
48
|
+
skip?: boolean | undefined;
|
|
49
|
+
}>;
|
|
50
|
+
export type TestCase = z.infer<typeof testCaseSchema>;
|
|
51
|
+
/**
|
|
52
|
+
* Collection specification (same as context.json format)
|
|
53
|
+
*/
|
|
54
|
+
export declare const collectionSpecSchema: z.ZodObject<{
|
|
55
|
+
url: z.ZodString;
|
|
56
|
+
}, "strip", z.ZodTypeAny, {
|
|
57
|
+
url: string;
|
|
58
|
+
}, {
|
|
59
|
+
url: string;
|
|
60
|
+
}>;
|
|
61
|
+
export type CollectionSpec = z.infer<typeof collectionSpecSchema>;
|
|
62
|
+
/**
|
|
63
|
+
* Test suite options
|
|
64
|
+
*/
|
|
65
|
+
export declare const testOptionsSchema: z.ZodObject<{
|
|
66
|
+
/** Default validation mode (default: semantic) */
|
|
67
|
+
validationMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["semantic", "llm", "keywords"]>>>;
|
|
68
|
+
/** Pass threshold for semantic similarity (0-1, default: 0.75) */
|
|
69
|
+
passThreshold: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
70
|
+
/** Default validation instructions for LLM mode */
|
|
71
|
+
validationInstructions: z.ZodOptional<z.ZodString>;
|
|
72
|
+
/** Maximum time per test in milliseconds (default: 60000) */
|
|
73
|
+
timeoutMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
74
|
+
}, "strip", z.ZodTypeAny, {
|
|
75
|
+
validationMode: "semantic" | "llm" | "keywords";
|
|
76
|
+
passThreshold: number;
|
|
77
|
+
timeoutMs: number;
|
|
78
|
+
validationInstructions?: string | undefined;
|
|
79
|
+
}, {
|
|
80
|
+
validationMode?: "semantic" | "llm" | "keywords" | undefined;
|
|
81
|
+
validationInstructions?: string | undefined;
|
|
82
|
+
passThreshold?: number | undefined;
|
|
83
|
+
timeoutMs?: number | undefined;
|
|
84
|
+
}>;
|
|
85
|
+
export type TestOptions = z.infer<typeof testOptionsSchema>;
|
|
86
|
+
/**
|
|
87
|
+
* Complete test suite file structure
|
|
88
|
+
*/
|
|
89
|
+
export declare const testSuiteSchema: z.ZodObject<{
|
|
90
|
+
/** Name of the test suite */
|
|
91
|
+
name: z.ZodString;
|
|
92
|
+
/** Description of what this test suite covers */
|
|
93
|
+
description: z.ZodOptional<z.ZodString>;
|
|
94
|
+
/** Collections to sync before running tests */
|
|
95
|
+
collections: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
96
|
+
url: z.ZodString;
|
|
97
|
+
}, "strip", z.ZodTypeAny, {
|
|
98
|
+
url: string;
|
|
99
|
+
}, {
|
|
100
|
+
url: string;
|
|
101
|
+
}>>;
|
|
102
|
+
/** Test suite options */
|
|
103
|
+
options: z.ZodOptional<z.ZodObject<{
|
|
104
|
+
/** Default validation mode (default: semantic) */
|
|
105
|
+
validationMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["semantic", "llm", "keywords"]>>>;
|
|
106
|
+
/** Pass threshold for semantic similarity (0-1, default: 0.75) */
|
|
107
|
+
passThreshold: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
108
|
+
/** Default validation instructions for LLM mode */
|
|
109
|
+
validationInstructions: z.ZodOptional<z.ZodString>;
|
|
110
|
+
/** Maximum time per test in milliseconds (default: 60000) */
|
|
111
|
+
timeoutMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
112
|
+
}, "strip", z.ZodTypeAny, {
|
|
113
|
+
validationMode: "semantic" | "llm" | "keywords";
|
|
114
|
+
passThreshold: number;
|
|
115
|
+
timeoutMs: number;
|
|
116
|
+
validationInstructions?: string | undefined;
|
|
117
|
+
}, {
|
|
118
|
+
validationMode?: "semantic" | "llm" | "keywords" | undefined;
|
|
119
|
+
validationInstructions?: string | undefined;
|
|
120
|
+
passThreshold?: number | undefined;
|
|
121
|
+
timeoutMs?: number | undefined;
|
|
122
|
+
}>>;
|
|
123
|
+
/** Test cases */
|
|
124
|
+
tests: z.ZodArray<z.ZodObject<{
|
|
125
|
+
/** Unique identifier for the test */
|
|
126
|
+
id: z.ZodString;
|
|
127
|
+
/** The question to ask the agent */
|
|
128
|
+
query: z.ZodString;
|
|
129
|
+
/** Use case context for the question */
|
|
130
|
+
useCase: z.ZodString;
|
|
131
|
+
/** Expected answer description or reference answer */
|
|
132
|
+
expected: z.ZodString;
|
|
133
|
+
/** Keywords that should appear in the answer (for keywords mode) */
|
|
134
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
135
|
+
/** Override validation mode for this specific test */
|
|
136
|
+
validationMode: z.ZodOptional<z.ZodEnum<["semantic", "llm", "keywords"]>>;
|
|
137
|
+
/** Custom validation instructions for LLM mode */
|
|
138
|
+
validationInstructions: z.ZodOptional<z.ZodString>;
|
|
139
|
+
/** Override pass threshold for this specific test (0-1) */
|
|
140
|
+
passThreshold: z.ZodOptional<z.ZodNumber>;
|
|
141
|
+
/** Whether this test is currently skipped */
|
|
142
|
+
skip: z.ZodOptional<z.ZodBoolean>;
|
|
143
|
+
}, "strip", z.ZodTypeAny, {
|
|
144
|
+
expected: string;
|
|
145
|
+
id: string;
|
|
146
|
+
query: string;
|
|
147
|
+
useCase: string;
|
|
148
|
+
keywords?: string[] | undefined;
|
|
149
|
+
validationMode?: "semantic" | "llm" | "keywords" | undefined;
|
|
150
|
+
validationInstructions?: string | undefined;
|
|
151
|
+
passThreshold?: number | undefined;
|
|
152
|
+
skip?: boolean | undefined;
|
|
153
|
+
}, {
|
|
154
|
+
expected: string;
|
|
155
|
+
id: string;
|
|
156
|
+
query: string;
|
|
157
|
+
useCase: string;
|
|
158
|
+
keywords?: string[] | undefined;
|
|
159
|
+
validationMode?: "semantic" | "llm" | "keywords" | undefined;
|
|
160
|
+
validationInstructions?: string | undefined;
|
|
161
|
+
passThreshold?: number | undefined;
|
|
162
|
+
skip?: boolean | undefined;
|
|
163
|
+
}>, "many">;
|
|
164
|
+
}, "strip", z.ZodTypeAny, {
|
|
165
|
+
name: string;
|
|
166
|
+
collections: Record<string, {
|
|
167
|
+
url: string;
|
|
168
|
+
}>;
|
|
169
|
+
tests: {
|
|
170
|
+
expected: string;
|
|
171
|
+
id: string;
|
|
172
|
+
query: string;
|
|
173
|
+
useCase: string;
|
|
174
|
+
keywords?: string[] | undefined;
|
|
175
|
+
validationMode?: "semantic" | "llm" | "keywords" | undefined;
|
|
176
|
+
validationInstructions?: string | undefined;
|
|
177
|
+
passThreshold?: number | undefined;
|
|
178
|
+
skip?: boolean | undefined;
|
|
179
|
+
}[];
|
|
180
|
+
options?: {
|
|
181
|
+
validationMode: "semantic" | "llm" | "keywords";
|
|
182
|
+
passThreshold: number;
|
|
183
|
+
timeoutMs: number;
|
|
184
|
+
validationInstructions?: string | undefined;
|
|
185
|
+
} | undefined;
|
|
186
|
+
description?: string | undefined;
|
|
187
|
+
}, {
|
|
188
|
+
name: string;
|
|
189
|
+
collections: Record<string, {
|
|
190
|
+
url: string;
|
|
191
|
+
}>;
|
|
192
|
+
tests: {
|
|
193
|
+
expected: string;
|
|
194
|
+
id: string;
|
|
195
|
+
query: string;
|
|
196
|
+
useCase: string;
|
|
197
|
+
keywords?: string[] | undefined;
|
|
198
|
+
validationMode?: "semantic" | "llm" | "keywords" | undefined;
|
|
199
|
+
validationInstructions?: string | undefined;
|
|
200
|
+
passThreshold?: number | undefined;
|
|
201
|
+
skip?: boolean | undefined;
|
|
202
|
+
}[];
|
|
203
|
+
options?: {
|
|
204
|
+
validationMode?: "semantic" | "llm" | "keywords" | undefined;
|
|
205
|
+
validationInstructions?: string | undefined;
|
|
206
|
+
passThreshold?: number | undefined;
|
|
207
|
+
timeoutMs?: number | undefined;
|
|
208
|
+
} | undefined;
|
|
209
|
+
description?: string | undefined;
|
|
210
|
+
}>;
|
|
211
|
+
export type TestSuite = z.infer<typeof testSuiteSchema>;
|
|
212
|
+
/**
|
|
213
|
+
* Result of a single test case
|
|
214
|
+
*/
|
|
215
|
+
export declare const testResultSchema: z.ZodObject<{
|
|
216
|
+
/** Test case ID */
|
|
217
|
+
id: z.ZodString;
|
|
218
|
+
/** Whether the test passed */
|
|
219
|
+
passed: z.ZodBoolean;
|
|
220
|
+
/** Score (0-1) for semantic/llm validation */
|
|
221
|
+
score: z.ZodOptional<z.ZodNumber>;
|
|
222
|
+
/** The agent's actual answer */
|
|
223
|
+
actualAnswer: z.ZodString;
|
|
224
|
+
/** Validation reasoning (from LLM mode) or match details */
|
|
225
|
+
reasoning: z.ZodOptional<z.ZodString>;
|
|
226
|
+
/** Keywords found (for keywords mode) */
|
|
227
|
+
keywordsFound: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
228
|
+
/** Keywords missing (for keywords mode) */
|
|
229
|
+
keywordsMissing: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
230
|
+
/** Time taken in milliseconds */
|
|
231
|
+
durationMs: z.ZodNumber;
|
|
232
|
+
/** Error message if the test failed to run */
|
|
233
|
+
error: z.ZodOptional<z.ZodString>;
|
|
234
|
+
/** Whether the test was skipped */
|
|
235
|
+
skipped: z.ZodOptional<z.ZodBoolean>;
|
|
236
|
+
}, "strip", z.ZodTypeAny, {
|
|
237
|
+
id: string;
|
|
238
|
+
passed: boolean;
|
|
239
|
+
actualAnswer: string;
|
|
240
|
+
durationMs: number;
|
|
241
|
+
score?: number | undefined;
|
|
242
|
+
reasoning?: string | undefined;
|
|
243
|
+
keywordsFound?: string[] | undefined;
|
|
244
|
+
keywordsMissing?: string[] | undefined;
|
|
245
|
+
error?: string | undefined;
|
|
246
|
+
skipped?: boolean | undefined;
|
|
247
|
+
}, {
|
|
248
|
+
id: string;
|
|
249
|
+
passed: boolean;
|
|
250
|
+
actualAnswer: string;
|
|
251
|
+
durationMs: number;
|
|
252
|
+
score?: number | undefined;
|
|
253
|
+
reasoning?: string | undefined;
|
|
254
|
+
keywordsFound?: string[] | undefined;
|
|
255
|
+
keywordsMissing?: string[] | undefined;
|
|
256
|
+
error?: string | undefined;
|
|
257
|
+
skipped?: boolean | undefined;
|
|
258
|
+
}>;
|
|
259
|
+
export type TestResult = z.infer<typeof testResultSchema>;
|
|
260
|
+
/**
|
|
261
|
+
* Complete test run results
|
|
262
|
+
*/
|
|
263
|
+
export declare const testRunResultSchema: z.ZodObject<{
|
|
264
|
+
/** Test suite name */
|
|
265
|
+
suiteName: z.ZodString;
|
|
266
|
+
/** When the test run started */
|
|
267
|
+
startedAt: z.ZodString;
|
|
268
|
+
/** When the test run completed */
|
|
269
|
+
completedAt: z.ZodString;
|
|
270
|
+
/** Total duration in milliseconds */
|
|
271
|
+
durationMs: z.ZodNumber;
|
|
272
|
+
/** Summary statistics */
|
|
273
|
+
summary: z.ZodObject<{
|
|
274
|
+
total: z.ZodNumber;
|
|
275
|
+
passed: z.ZodNumber;
|
|
276
|
+
failed: z.ZodNumber;
|
|
277
|
+
skipped: z.ZodNumber;
|
|
278
|
+
}, "strip", z.ZodTypeAny, {
|
|
279
|
+
passed: number;
|
|
280
|
+
skipped: number;
|
|
281
|
+
total: number;
|
|
282
|
+
failed: number;
|
|
283
|
+
}, {
|
|
284
|
+
passed: number;
|
|
285
|
+
skipped: number;
|
|
286
|
+
total: number;
|
|
287
|
+
failed: number;
|
|
288
|
+
}>;
|
|
289
|
+
/** Individual test results */
|
|
290
|
+
results: z.ZodArray<z.ZodObject<{
|
|
291
|
+
/** Test case ID */
|
|
292
|
+
id: z.ZodString;
|
|
293
|
+
/** Whether the test passed */
|
|
294
|
+
passed: z.ZodBoolean;
|
|
295
|
+
/** Score (0-1) for semantic/llm validation */
|
|
296
|
+
score: z.ZodOptional<z.ZodNumber>;
|
|
297
|
+
/** The agent's actual answer */
|
|
298
|
+
actualAnswer: z.ZodString;
|
|
299
|
+
/** Validation reasoning (from LLM mode) or match details */
|
|
300
|
+
reasoning: z.ZodOptional<z.ZodString>;
|
|
301
|
+
/** Keywords found (for keywords mode) */
|
|
302
|
+
keywordsFound: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
303
|
+
/** Keywords missing (for keywords mode) */
|
|
304
|
+
keywordsMissing: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
305
|
+
/** Time taken in milliseconds */
|
|
306
|
+
durationMs: z.ZodNumber;
|
|
307
|
+
/** Error message if the test failed to run */
|
|
308
|
+
error: z.ZodOptional<z.ZodString>;
|
|
309
|
+
/** Whether the test was skipped */
|
|
310
|
+
skipped: z.ZodOptional<z.ZodBoolean>;
|
|
311
|
+
}, "strip", z.ZodTypeAny, {
|
|
312
|
+
id: string;
|
|
313
|
+
passed: boolean;
|
|
314
|
+
actualAnswer: string;
|
|
315
|
+
durationMs: number;
|
|
316
|
+
score?: number | undefined;
|
|
317
|
+
reasoning?: string | undefined;
|
|
318
|
+
keywordsFound?: string[] | undefined;
|
|
319
|
+
keywordsMissing?: string[] | undefined;
|
|
320
|
+
error?: string | undefined;
|
|
321
|
+
skipped?: boolean | undefined;
|
|
322
|
+
}, {
|
|
323
|
+
id: string;
|
|
324
|
+
passed: boolean;
|
|
325
|
+
actualAnswer: string;
|
|
326
|
+
durationMs: number;
|
|
327
|
+
score?: number | undefined;
|
|
328
|
+
reasoning?: string | undefined;
|
|
329
|
+
keywordsFound?: string[] | undefined;
|
|
330
|
+
keywordsMissing?: string[] | undefined;
|
|
331
|
+
error?: string | undefined;
|
|
332
|
+
skipped?: boolean | undefined;
|
|
333
|
+
}>, "many">;
|
|
334
|
+
}, "strip", z.ZodTypeAny, {
|
|
335
|
+
durationMs: number;
|
|
336
|
+
suiteName: string;
|
|
337
|
+
startedAt: string;
|
|
338
|
+
completedAt: string;
|
|
339
|
+
summary: {
|
|
340
|
+
passed: number;
|
|
341
|
+
skipped: number;
|
|
342
|
+
total: number;
|
|
343
|
+
failed: number;
|
|
344
|
+
};
|
|
345
|
+
results: {
|
|
346
|
+
id: string;
|
|
347
|
+
passed: boolean;
|
|
348
|
+
actualAnswer: string;
|
|
349
|
+
durationMs: number;
|
|
350
|
+
score?: number | undefined;
|
|
351
|
+
reasoning?: string | undefined;
|
|
352
|
+
keywordsFound?: string[] | undefined;
|
|
353
|
+
keywordsMissing?: string[] | undefined;
|
|
354
|
+
error?: string | undefined;
|
|
355
|
+
skipped?: boolean | undefined;
|
|
356
|
+
}[];
|
|
357
|
+
}, {
|
|
358
|
+
durationMs: number;
|
|
359
|
+
suiteName: string;
|
|
360
|
+
startedAt: string;
|
|
361
|
+
completedAt: string;
|
|
362
|
+
summary: {
|
|
363
|
+
passed: number;
|
|
364
|
+
skipped: number;
|
|
365
|
+
total: number;
|
|
366
|
+
failed: number;
|
|
367
|
+
};
|
|
368
|
+
results: {
|
|
369
|
+
id: string;
|
|
370
|
+
passed: boolean;
|
|
371
|
+
actualAnswer: string;
|
|
372
|
+
durationMs: number;
|
|
373
|
+
score?: number | undefined;
|
|
374
|
+
reasoning?: string | undefined;
|
|
375
|
+
keywordsFound?: string[] | undefined;
|
|
376
|
+
keywordsMissing?: string[] | undefined;
|
|
377
|
+
error?: string | undefined;
|
|
378
|
+
skipped?: boolean | undefined;
|
|
379
|
+
}[];
|
|
380
|
+
}>;
|
|
381
|
+
export type TestRunResult = z.infer<typeof testRunResultSchema>;
|
|
382
|
+
//# sourceMappingURL=agent.test-runner.schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.test-runner.schemas.d.ts","sourceRoot":"","sources":["../../src/agent/agent.test-runner.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB;;GAEG;AACH,eAAO,MAAM,oBAAoB,4CAA0C,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB,qCAAqC;;IAGrC,oCAAoC;;IAGpC,wCAAwC;;IAGxC,sDAAsD;;IAGtD,oEAAoE;;IAGpE,sDAAsD;;IAGtD,kDAAkD;;IAGlD,2DAA2D;;IAG3D,6CAA6C;;;;;;;;;;;;;;;;;;;;;;EAE7C,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,kDAAkD;;IAGlD,kEAAkE;;IAGlE,mDAAmD;;IAGnD,6DAA6D;;;;;;;;;;;;EAE7D,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,eAAe;IAC1B,6BAA6B;;IAG7B,iDAAiD;;IAGjD,+CAA+C;;;;;;;;IAG/C,yBAAyB;;QA5BzB,kDAAkD;;QAGlD,kEAAkE;;QAGlE,mDAAmD;;QAGnD,6DAA6D;;;;;;;;;;;;;IAsB7D,iBAAiB;;QA1EjB,qCAAqC;;QAGrC,oCAAoC;;QAGpC,wCAAwC;;QAGxC,sDAAsD;;QAGtD,oEAAoE;;QAGpE,sDAAsD;;QAGtD,kDAAkD;;QAGlD,2DAA2D;;QAG3D,6CAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoD7C,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B,mBAAmB;;IAGnB,8BAA8B;;IAG9B,8CAA8C;;IAG9C,gCAAgC;;IAGhC,4DAA4D;;IAG5D,yCAAyC;;IAGzC,2CAA2C;;IAG3C,iCAAiC;;IAGjC,8CAA8C;;IAG9C,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;EAEnC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B,sBAAsB;;IAGtB,gCAAgC;;IAGhC,kCAAkC;;IAGlC,qCAAqC;;IAGrC,yBAAyB;;;;;;;;;;;;;;;;;IAQzB,8BAA8B;;QAzD9B,mBAAmB;;QAGnB,8BAA8B;;QAG9B,8CAA8C;;QAG9C,gCAAgC;;QAGhC,4DAA4D;;QAG5D,yCAAyC;;QAGzC,2CAA2C;;QAG3C,iCAAiC;;QAGjC,8CAA8C;;QAG9C,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCnC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Validation modes for test assertions
|
|
4
|
+
*/
|
|
5
|
+
export const validationModeSchema = z.enum(['semantic', 'llm', 'keywords']);
|
|
6
|
+
/**
|
|
7
|
+
* Individual test case
|
|
8
|
+
*/
|
|
9
|
+
export const testCaseSchema = z.object({
|
|
10
|
+
/** Unique identifier for the test */
|
|
11
|
+
id: z.string(),
|
|
12
|
+
/** The question to ask the agent */
|
|
13
|
+
query: z.string(),
|
|
14
|
+
/** Use case context for the question */
|
|
15
|
+
useCase: z.string(),
|
|
16
|
+
/** Expected answer description or reference answer */
|
|
17
|
+
expected: z.string(),
|
|
18
|
+
/** Keywords that should appear in the answer (for keywords mode) */
|
|
19
|
+
keywords: z.array(z.string()).optional(),
|
|
20
|
+
/** Override validation mode for this specific test */
|
|
21
|
+
validationMode: validationModeSchema.optional(),
|
|
22
|
+
/** Custom validation instructions for LLM mode */
|
|
23
|
+
validationInstructions: z.string().optional(),
|
|
24
|
+
/** Override pass threshold for this specific test (0-1) */
|
|
25
|
+
passThreshold: z.number().min(0).max(1).optional(),
|
|
26
|
+
/** Whether this test is currently skipped */
|
|
27
|
+
skip: z.boolean().optional(),
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* Collection specification (same as context.json format)
|
|
31
|
+
*/
|
|
32
|
+
export const collectionSpecSchema = z.object({
|
|
33
|
+
url: z.string(),
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Test suite options
|
|
37
|
+
*/
|
|
38
|
+
export const testOptionsSchema = z.object({
|
|
39
|
+
/** Default validation mode (default: semantic) */
|
|
40
|
+
validationMode: validationModeSchema.optional().default('semantic'),
|
|
41
|
+
/** Pass threshold for semantic similarity (0-1, default: 0.75) */
|
|
42
|
+
passThreshold: z.number().min(0).max(1).optional().default(0.75),
|
|
43
|
+
/** Default validation instructions for LLM mode */
|
|
44
|
+
validationInstructions: z.string().optional(),
|
|
45
|
+
/** Maximum time per test in milliseconds (default: 60000) */
|
|
46
|
+
timeoutMs: z.number().optional().default(60000),
|
|
47
|
+
});
|
|
48
|
+
/**
|
|
49
|
+
* Complete test suite file structure
|
|
50
|
+
*/
|
|
51
|
+
export const testSuiteSchema = z.object({
|
|
52
|
+
/** Name of the test suite */
|
|
53
|
+
name: z.string(),
|
|
54
|
+
/** Description of what this test suite covers */
|
|
55
|
+
description: z.string().optional(),
|
|
56
|
+
/** Collections to sync before running tests */
|
|
57
|
+
collections: z.record(z.string(), collectionSpecSchema),
|
|
58
|
+
/** Test suite options */
|
|
59
|
+
options: testOptionsSchema.optional(),
|
|
60
|
+
/** Test cases */
|
|
61
|
+
tests: z.array(testCaseSchema).min(1),
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* Result of a single test case
|
|
65
|
+
*/
|
|
66
|
+
export const testResultSchema = z.object({
|
|
67
|
+
/** Test case ID */
|
|
68
|
+
id: z.string(),
|
|
69
|
+
/** Whether the test passed */
|
|
70
|
+
passed: z.boolean(),
|
|
71
|
+
/** Score (0-1) for semantic/llm validation */
|
|
72
|
+
score: z.number().optional(),
|
|
73
|
+
/** The agent's actual answer */
|
|
74
|
+
actualAnswer: z.string(),
|
|
75
|
+
/** Validation reasoning (from LLM mode) or match details */
|
|
76
|
+
reasoning: z.string().optional(),
|
|
77
|
+
/** Keywords found (for keywords mode) */
|
|
78
|
+
keywordsFound: z.array(z.string()).optional(),
|
|
79
|
+
/** Keywords missing (for keywords mode) */
|
|
80
|
+
keywordsMissing: z.array(z.string()).optional(),
|
|
81
|
+
/** Time taken in milliseconds */
|
|
82
|
+
durationMs: z.number(),
|
|
83
|
+
/** Error message if the test failed to run */
|
|
84
|
+
error: z.string().optional(),
|
|
85
|
+
/** Whether the test was skipped */
|
|
86
|
+
skipped: z.boolean().optional(),
|
|
87
|
+
});
|
|
88
|
+
/**
|
|
89
|
+
* Complete test run results
|
|
90
|
+
*/
|
|
91
|
+
export const testRunResultSchema = z.object({
|
|
92
|
+
/** Test suite name */
|
|
93
|
+
suiteName: z.string(),
|
|
94
|
+
/** When the test run started */
|
|
95
|
+
startedAt: z.string(),
|
|
96
|
+
/** When the test run completed */
|
|
97
|
+
completedAt: z.string(),
|
|
98
|
+
/** Total duration in milliseconds */
|
|
99
|
+
durationMs: z.number(),
|
|
100
|
+
/** Summary statistics */
|
|
101
|
+
summary: z.object({
|
|
102
|
+
total: z.number(),
|
|
103
|
+
passed: z.number(),
|
|
104
|
+
failed: z.number(),
|
|
105
|
+
skipped: z.number(),
|
|
106
|
+
}),
|
|
107
|
+
/** Individual test results */
|
|
108
|
+
results: z.array(testResultSchema),
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=agent.test-runner.schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.test-runner.schemas.js","sourceRoot":"","sources":["../../src/agent/agent.test-runner.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAG5E;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,qCAAqC;IACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAEd,oCAAoC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IAEjB,wCAAwC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IAEnB,sDAAsD;IACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IAEpB,oEAAoE;IACpE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAExC,sDAAsD;IACtD,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAE/C,kDAAkD;IAClD,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE7C,2DAA2D;IAC3D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAElD,6CAA6C;IAC7C,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,kDAAkD;IAClD,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAEnE,kEAAkE;IAClE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAEhE,mDAAmD;IACnD,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE7C,6DAA6D;IAC7D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAChD,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,6BAA6B;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAEhB,iDAAiD;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAElC,+CAA+C;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC;IAEvD,yBAAyB;IACzB,OAAO,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAErC,iBAAiB;IACjB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACtC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,mBAAmB;IACnB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAEd,8BAA8B;IAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IAEnB,8CAA8C;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE5B,gCAAgC;IAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IAExB,4DAA4D;IAC5D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEhC,yCAAyC;IACzC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAE7C,2CAA2C;IAC3C,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAE/C,iCAAiC;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IAEtB,8CAA8C;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE5B,mCAAmC;IACnC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,sBAAsB;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IAErB,gCAAgC;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IAErB,kCAAkC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IAEvB,qCAAqC;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IAEtB,yBAAyB;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC;IAEF,8BAA8B;IAC9B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACnC,CAAC,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* LLM configuration for the agent
|
|
4
|
+
*/
|
|
5
|
+
export type LLMConfig = {
|
|
6
|
+
/** OpenAI-compatible API base URL */
|
|
7
|
+
provider: string;
|
|
8
|
+
/** Model identifier */
|
|
9
|
+
model: string;
|
|
10
|
+
/** API key */
|
|
11
|
+
apiKey: string;
|
|
12
|
+
/** Temperature (0-2) */
|
|
13
|
+
temperature: number;
|
|
14
|
+
/** Maximum tokens */
|
|
15
|
+
maxTokens: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Source reference for an answer
|
|
19
|
+
*/
|
|
20
|
+
export declare const sourceSchema: z.ZodObject<{
|
|
21
|
+
collection: z.ZodString;
|
|
22
|
+
document: z.ZodString;
|
|
23
|
+
section: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
collection: string;
|
|
26
|
+
document: string;
|
|
27
|
+
section?: string | undefined;
|
|
28
|
+
}, {
|
|
29
|
+
collection: string;
|
|
30
|
+
document: string;
|
|
31
|
+
section?: string | undefined;
|
|
32
|
+
}>;
|
|
33
|
+
export type Source = z.infer<typeof sourceSchema>;
|
|
34
|
+
/**
|
|
35
|
+
* Agent response
|
|
36
|
+
*/
|
|
37
|
+
export declare const agentResponseSchema: z.ZodObject<{
|
|
38
|
+
answer: z.ZodString;
|
|
39
|
+
sources: z.ZodArray<z.ZodObject<{
|
|
40
|
+
collection: z.ZodString;
|
|
41
|
+
document: z.ZodString;
|
|
42
|
+
section: z.ZodOptional<z.ZodString>;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
collection: string;
|
|
45
|
+
document: string;
|
|
46
|
+
section?: string | undefined;
|
|
47
|
+
}, {
|
|
48
|
+
collection: string;
|
|
49
|
+
document: string;
|
|
50
|
+
section?: string | undefined;
|
|
51
|
+
}>, "many">;
|
|
52
|
+
confidence: z.ZodEnum<["high", "medium", "low"]>;
|
|
53
|
+
note: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
answer: string;
|
|
56
|
+
sources: {
|
|
57
|
+
collection: string;
|
|
58
|
+
document: string;
|
|
59
|
+
section?: string | undefined;
|
|
60
|
+
}[];
|
|
61
|
+
confidence: "high" | "medium" | "low";
|
|
62
|
+
note?: string | undefined;
|
|
63
|
+
}, {
|
|
64
|
+
answer: string;
|
|
65
|
+
sources: {
|
|
66
|
+
collection: string;
|
|
67
|
+
document: string;
|
|
68
|
+
section?: string | undefined;
|
|
69
|
+
}[];
|
|
70
|
+
confidence: "high" | "medium" | "low";
|
|
71
|
+
note?: string | undefined;
|
|
72
|
+
}>;
|
|
73
|
+
export type AgentResponse = z.infer<typeof agentResponseSchema>;
|
|
74
|
+
/**
|
|
75
|
+
* Callback for verbose mode - called when agent takes a step
|
|
76
|
+
*/
|
|
77
|
+
export type AgentStepCallback = (step: AgentStep) => void;
|
|
78
|
+
/**
|
|
79
|
+
* Represents a step in the agent's reasoning
|
|
80
|
+
*/
|
|
81
|
+
export type AgentStep = {
|
|
82
|
+
type: 'thinking' | 'tool_call' | 'tool_result' | 'error';
|
|
83
|
+
content: string;
|
|
84
|
+
toolName?: string;
|
|
85
|
+
toolInput?: Record<string, unknown>;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Options for creating a document agent
|
|
89
|
+
*/
|
|
90
|
+
export type DocumentAgentOptions = {
|
|
91
|
+
/** LLM configuration */
|
|
92
|
+
llmConfig: LLMConfig;
|
|
93
|
+
/** LangChain tools to use */
|
|
94
|
+
tools: any[];
|
|
95
|
+
/** Maximum iterations before stopping */
|
|
96
|
+
maxIterations?: number;
|
|
97
|
+
/** Callback for verbose mode */
|
|
98
|
+
onStep?: AgentStepCallback;
|
|
99
|
+
/** Collections to restrict searches to (instruction in system prompt) */
|
|
100
|
+
collections?: string[];
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Options for asking a question
|
|
104
|
+
*/
|
|
105
|
+
export type AskOptions = {
|
|
106
|
+
/** Callback for verbose mode */
|
|
107
|
+
onStep?: AgentStepCallback;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Retry configuration for LLM calls
|
|
111
|
+
*/
|
|
112
|
+
export type RetryConfig = {
|
|
113
|
+
/** Maximum number of retry attempts */
|
|
114
|
+
maxRetries: number;
|
|
115
|
+
/** Initial delay in ms */
|
|
116
|
+
initialDelayMs: number;
|
|
117
|
+
/** Maximum delay in ms */
|
|
118
|
+
maxDelayMs: number;
|
|
119
|
+
/** Multiplier for exponential backoff */
|
|
120
|
+
backoffMultiplier: number;
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=agent.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.types.d.ts","sourceRoot":"","sources":["../../src/agent/agent.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;EAIvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,wBAAwB;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,6BAA6B;IAE7B,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,gCAAgC;IAChC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Source reference for an answer
|
|
4
|
+
*/
|
|
5
|
+
export const sourceSchema = z.object({
|
|
6
|
+
collection: z.string(),
|
|
7
|
+
document: z.string(),
|
|
8
|
+
section: z.string().optional(),
|
|
9
|
+
});
|
|
10
|
+
/**
|
|
11
|
+
* Agent response
|
|
12
|
+
*/
|
|
13
|
+
export const agentResponseSchema = z.object({
|
|
14
|
+
answer: z.string(),
|
|
15
|
+
sources: z.array(sourceSchema),
|
|
16
|
+
confidence: z.enum(['high', 'medium', 'low']),
|
|
17
|
+
note: z.string().optional(),
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=agent.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.types.js","sourceRoot":"","sources":["../../src/agent/agent.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAkBzB;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Response } from './backend.protocol.js';
|
|
2
|
+
import { type BackendServices } from './backend.services.js';
|
|
3
|
+
import { Services, destroy } from '#root/utils/utils.services.js';
|
|
4
|
+
type BackendOptions = {
|
|
5
|
+
services?: Services;
|
|
6
|
+
};
|
|
7
|
+
declare class Backend {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(options?: BackendOptions);
|
|
10
|
+
setConnectionCount(count: number): void;
|
|
11
|
+
getServices(): BackendServices;
|
|
12
|
+
handleRequest(raw: unknown): Promise<Response>;
|
|
13
|
+
[destroy]: () => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export { Backend };
|
|
16
|
+
//# sourceMappingURL=backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/backend/backend.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,QAAQ,EAEd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAElE,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,cAAM,OAAO;;gBAMC,OAAO,CAAC,EAAE,cAAc;IAUpC,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAKhC,WAAW,IAAI,eAAe;IAKxB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4DpD,CAAC,OAAO,CAAC,sBAEP;CACH;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
|