@inkeep/agents-core 0.1.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/LICENSE.md +51 -0
- package/README.md +464 -0
- package/dist/__tests__/integration/helpers.d.ts +5 -0
- package/dist/__tests__/integration/helpers.d.ts.map +1 -0
- package/dist/__tests__/integration/helpers.js +37 -0
- package/dist/__tests__/integration/helpers.js.map +1 -0
- package/dist/__tests__/setup.d.ts +3 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/setup.js +29 -0
- package/dist/__tests__/setup.js.map +1 -0
- package/dist/client-exports.d.ts +301 -0
- package/dist/client-exports.d.ts.map +1 -0
- package/dist/client-exports.js +251 -0
- package/dist/client-exports.js.map +1 -0
- package/dist/context/ContextConfig.d.ts +55 -0
- package/dist/context/ContextConfig.d.ts.map +1 -0
- package/dist/context/ContextConfig.js +302 -0
- package/dist/context/ContextConfig.js.map +1 -0
- package/dist/context/ContextFetcher.d.ts +64 -0
- package/dist/context/ContextFetcher.d.ts.map +1 -0
- package/dist/context/ContextFetcher.js +325 -0
- package/dist/context/ContextFetcher.js.map +1 -0
- package/dist/context/ContextResolver.d.ts +52 -0
- package/dist/context/ContextResolver.d.ts.map +1 -0
- package/dist/context/ContextResolver.js +298 -0
- package/dist/context/ContextResolver.js.map +1 -0
- package/dist/context/TemplateEngine.d.ts +46 -0
- package/dist/context/TemplateEngine.d.ts.map +1 -0
- package/dist/context/TemplateEngine.js +175 -0
- package/dist/context/TemplateEngine.js.map +1 -0
- package/dist/context/context.d.ts +7 -0
- package/dist/context/context.d.ts.map +1 -0
- package/dist/context/context.js +157 -0
- package/dist/context/context.js.map +1 -0
- package/dist/context/contextCache.d.ts +50 -0
- package/dist/context/contextCache.d.ts.map +1 -0
- package/dist/context/contextCache.js +175 -0
- package/dist/context/contextCache.js.map +1 -0
- package/dist/context/index.d.ts +11 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +8 -0
- package/dist/context/index.js.map +1 -0
- package/dist/credential-stores/index.d.ts +4 -0
- package/dist/credential-stores/index.d.ts.map +1 -0
- package/dist/credential-stores/index.js +4 -0
- package/dist/credential-stores/index.js.map +1 -0
- package/dist/credential-stores/keychain-store.d.ts +100 -0
- package/dist/credential-stores/keychain-store.d.ts.map +1 -0
- package/dist/credential-stores/keychain-store.js +225 -0
- package/dist/credential-stores/keychain-store.js.map +1 -0
- package/dist/credential-stores/memory-store.d.ts +39 -0
- package/dist/credential-stores/memory-store.d.ts.map +1 -0
- package/dist/credential-stores/memory-store.js +58 -0
- package/dist/credential-stores/memory-store.js.map +1 -0
- package/dist/credential-stores/nango-store.d.ts +59 -0
- package/dist/credential-stores/nango-store.d.ts.map +1 -0
- package/dist/credential-stores/nango-store.js +264 -0
- package/dist/credential-stores/nango-store.js.map +1 -0
- package/dist/credential-stuffer/CredentialStuffer.d.ts +80 -0
- package/dist/credential-stuffer/CredentialStuffer.d.ts.map +1 -0
- package/dist/credential-stuffer/CredentialStuffer.js +186 -0
- package/dist/credential-stuffer/CredentialStuffer.js.map +1 -0
- package/dist/credential-stuffer/index.d.ts +2 -0
- package/dist/credential-stuffer/index.d.ts.map +1 -0
- package/dist/credential-stuffer/index.js +2 -0
- package/dist/credential-stuffer/index.js.map +1 -0
- package/dist/data-access/agentDataComponents.d.ts +1 -0
- package/dist/data-access/agentDataComponents.d.ts.map +1 -0
- package/dist/data-access/agentDataComponents.js +2 -0
- package/dist/data-access/agentDataComponents.js.map +1 -0
- package/dist/data-access/agentGraphs.d.ts +406 -0
- package/dist/data-access/agentGraphs.d.ts.map +1 -0
- package/dist/data-access/agentGraphs.js +551 -0
- package/dist/data-access/agentGraphs.js.map +1 -0
- package/dist/data-access/agentRelations.d.ts +456 -0
- package/dist/data-access/agentRelations.d.ts.map +1 -0
- package/dist/data-access/agentRelations.js +471 -0
- package/dist/data-access/agentRelations.js.map +1 -0
- package/dist/data-access/agents.d.ts +218 -0
- package/dist/data-access/agents.d.ts.map +1 -0
- package/dist/data-access/agents.js +130 -0
- package/dist/data-access/agents.js.map +1 -0
- package/dist/data-access/apiKeys.d.ts +114 -0
- package/dist/data-access/apiKeys.d.ts.map +1 -0
- package/dist/data-access/apiKeys.js +185 -0
- package/dist/data-access/apiKeys.js.map +1 -0
- package/dist/data-access/artifactComponents.d.ts +152 -0
- package/dist/data-access/artifactComponents.d.ts.map +1 -0
- package/dist/data-access/artifactComponents.js +214 -0
- package/dist/data-access/artifactComponents.js.map +1 -0
- package/dist/data-access/contextCache.d.ts +68 -0
- package/dist/data-access/contextCache.d.ts.map +1 -0
- package/dist/data-access/contextCache.js +160 -0
- package/dist/data-access/contextCache.js.map +1 -0
- package/dist/data-access/contextConfigs.d.ts +110 -0
- package/dist/data-access/contextConfigs.d.ts.map +1 -0
- package/dist/data-access/contextConfigs.js +156 -0
- package/dist/data-access/contextConfigs.js.map +1 -0
- package/dist/data-access/conversations.d.ts +125 -0
- package/dist/data-access/conversations.d.ts.map +1 -0
- package/dist/data-access/conversations.js +244 -0
- package/dist/data-access/conversations.js.map +1 -0
- package/dist/data-access/credentialReferences.d.ts +86 -0
- package/dist/data-access/credentialReferences.d.ts.map +1 -0
- package/dist/data-access/credentialReferences.js +175 -0
- package/dist/data-access/credentialReferences.js.map +1 -0
- package/dist/data-access/dataComponents.d.ts +129 -0
- package/dist/data-access/dataComponents.d.ts.map +1 -0
- package/dist/data-access/dataComponents.js +213 -0
- package/dist/data-access/dataComponents.js.map +1 -0
- package/dist/data-access/externalAgents.d.ts +83 -0
- package/dist/data-access/externalAgents.d.ts.map +1 -0
- package/dist/data-access/externalAgents.js +163 -0
- package/dist/data-access/externalAgents.js.map +1 -0
- package/dist/data-access/graphFull.d.ts +32 -0
- package/dist/data-access/graphFull.d.ts.map +1 -0
- package/dist/data-access/graphFull.js +995 -0
- package/dist/data-access/graphFull.js.map +1 -0
- package/dist/data-access/index.d.ts +21 -0
- package/dist/data-access/index.d.ts.map +1 -0
- package/dist/data-access/index.js +22 -0
- package/dist/data-access/index.js.map +1 -0
- package/dist/data-access/ledgerArtifacts.d.ts +50 -0
- package/dist/data-access/ledgerArtifacts.d.ts.map +1 -0
- package/dist/data-access/ledgerArtifacts.js +112 -0
- package/dist/data-access/ledgerArtifacts.js.map +1 -0
- package/dist/data-access/messages.d.ts +209 -0
- package/dist/data-access/messages.d.ts.map +1 -0
- package/dist/data-access/messages.js +100 -0
- package/dist/data-access/messages.js.map +1 -0
- package/dist/data-access/projects.d.ts +67 -0
- package/dist/data-access/projects.d.ts.map +1 -0
- package/dist/data-access/projects.js +336 -0
- package/dist/data-access/projects.js.map +1 -0
- package/dist/data-access/tasks.d.ts +37 -0
- package/dist/data-access/tasks.d.ts.map +1 -0
- package/dist/data-access/tasks.js +40 -0
- package/dist/data-access/tasks.js.map +1 -0
- package/dist/data-access/tools.d.ts +277 -0
- package/dist/data-access/tools.d.ts.map +1 -0
- package/dist/data-access/tools.js +183 -0
- package/dist/data-access/tools.js.map +1 -0
- package/dist/data-access/validation.d.ts +17 -0
- package/dist/data-access/validation.d.ts.map +1 -0
- package/dist/data-access/validation.js +52 -0
- package/dist/data-access/validation.js.map +1 -0
- package/dist/db/clean.d.ts +6 -0
- package/dist/db/clean.d.ts.map +1 -0
- package/dist/db/clean.js +81 -0
- package/dist/db/clean.js.map +1 -0
- package/dist/db/client.d.ts +19 -0
- package/dist/db/client.d.ts.map +1 -0
- package/dist/db/client.js +24 -0
- package/dist/db/client.js.map +1 -0
- package/dist/db/schema.d.ts +4337 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +696 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/db/test-client.d.ts +25 -0
- package/dist/db/test-client.d.ts.map +1 -0
- package/dist/db/test-client.js +136 -0
- package/dist/db/test-client.js.map +1 -0
- package/dist/env.d.ts +17 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +48 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/contextValidation.d.ts +48 -0
- package/dist/middleware/contextValidation.d.ts.map +1 -0
- package/dist/middleware/contextValidation.js +469 -0
- package/dist/middleware/contextValidation.js.map +1 -0
- package/dist/middleware/index.d.ts +2 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +2 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/server/BaseServer.d.ts +83 -0
- package/dist/server/BaseServer.d.ts.map +1 -0
- package/dist/server/BaseServer.js +218 -0
- package/dist/server/BaseServer.js.map +1 -0
- package/dist/types/a2a.d.ts +373 -0
- package/dist/types/a2a.d.ts.map +1 -0
- package/dist/types/a2a.js +14 -0
- package/dist/types/a2a.js.map +1 -0
- package/dist/types/entities.d.ts +147 -0
- package/dist/types/entities.d.ts.map +1 -0
- package/dist/types/entities.js +2 -0
- package/dist/types/entities.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/server.d.ts +116 -0
- package/dist/types/server.d.ts.map +1 -0
- package/dist/types/server.js +2 -0
- package/dist/types/server.js.map +1 -0
- package/dist/types/utility.d.ts +214 -0
- package/dist/types/utility.d.ts.map +1 -0
- package/dist/types/utility.js +9 -0
- package/dist/types/utility.js.map +1 -0
- package/dist/utils/apiKeys.d.ts +32 -0
- package/dist/utils/apiKeys.d.ts.map +1 -0
- package/dist/utils/apiKeys.js +117 -0
- package/dist/utils/apiKeys.js.map +1 -0
- package/dist/utils/auth-detection.d.ts +23 -0
- package/dist/utils/auth-detection.d.ts.map +1 -0
- package/dist/utils/auth-detection.js +148 -0
- package/dist/utils/auth-detection.js.map +1 -0
- package/dist/utils/credential-store-utils.d.ts +11 -0
- package/dist/utils/credential-store-utils.d.ts.map +1 -0
- package/dist/utils/credential-store-utils.js +19 -0
- package/dist/utils/credential-store-utils.js.map +1 -0
- package/dist/utils/error.d.ts +526 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +282 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/execution.d.ts +18 -0
- package/dist/utils/execution.d.ts.map +1 -0
- package/dist/utils/execution.js +25 -0
- package/dist/utils/execution.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +79 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +102 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/logging.d.ts +11 -0
- package/dist/utils/logging.d.ts.map +1 -0
- package/dist/utils/logging.js +6 -0
- package/dist/utils/logging.js.map +1 -0
- package/dist/utils/mcp-client.d.ts +48 -0
- package/dist/utils/mcp-client.d.ts.map +1 -0
- package/dist/utils/mcp-client.js +171 -0
- package/dist/utils/mcp-client.js.map +1 -0
- package/dist/utils/tracer.d.ts +24 -0
- package/dist/utils/tracer.d.ts.map +1 -0
- package/dist/utils/tracer.js +98 -0
- package/dist/utils/tracer.js.map +1 -0
- package/dist/validation/graphFull.d.ts +36 -0
- package/dist/validation/graphFull.d.ts.map +1 -0
- package/dist/validation/graphFull.js +128 -0
- package/dist/validation/graphFull.js.map +1 -0
- package/dist/validation/id-validation.d.ts +38 -0
- package/dist/validation/id-validation.d.ts.map +1 -0
- package/dist/validation/id-validation.js +60 -0
- package/dist/validation/id-validation.js.map +1 -0
- package/dist/validation/index.d.ts +4 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +5 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/schemas.d.ts +7233 -0
- package/dist/validation/schemas.d.ts.map +1 -0
- package/dist/validation/schemas.js +525 -0
- package/dist/validation/schemas.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
import { getLogger } from '../utils/logger.js';
|
|
3
|
+
import { ContextConfigApiUpdateSchema } from '../validation/schemas.js';
|
|
4
|
+
const logger = getLogger('context-config');
|
|
5
|
+
// Factory function to create a comprehensive request schema
|
|
6
|
+
export function createRequestSchema(schemas, config) {
|
|
7
|
+
const schemaConfig = {
|
|
8
|
+
schemas,
|
|
9
|
+
optional: config?.optional,
|
|
10
|
+
};
|
|
11
|
+
return {
|
|
12
|
+
schemas,
|
|
13
|
+
config: schemaConfig,
|
|
14
|
+
// Convert all schemas to JSON Schema for storage
|
|
15
|
+
toJsonSchema: () => {
|
|
16
|
+
const jsonSchemas = {};
|
|
17
|
+
if (schemas.body) {
|
|
18
|
+
jsonSchemas.body = convertZodToJsonSchema(schemas.body);
|
|
19
|
+
}
|
|
20
|
+
if (schemas.headers) {
|
|
21
|
+
jsonSchemas.headers = convertZodToJsonSchema(schemas.headers);
|
|
22
|
+
}
|
|
23
|
+
if (schemas.query) {
|
|
24
|
+
jsonSchemas.query = convertZodToJsonSchema(schemas.query);
|
|
25
|
+
}
|
|
26
|
+
if (schemas.params) {
|
|
27
|
+
jsonSchemas.params = convertZodToJsonSchema(schemas.params);
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
schemas: jsonSchemas,
|
|
31
|
+
optional: schemaConfig.optional,
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
// Get the Zod schemas for runtime validation
|
|
35
|
+
getZodSchemas: () => schemas,
|
|
36
|
+
// Get the configuration including optional flags
|
|
37
|
+
getConfig: () => schemaConfig,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
// Utility function for converting Zod schemas to JSON Schema
|
|
41
|
+
export function convertZodToJsonSchema(zodSchema) {
|
|
42
|
+
try {
|
|
43
|
+
return z.toJSONSchema(zodSchema, { target: 'draft-7' });
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
logger.error({
|
|
47
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
48
|
+
}, 'Failed to convert Zod schema to JSON Schema');
|
|
49
|
+
throw new Error('Failed to convert Zod schema to JSON Schema');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export class ContextConfigBuilder {
|
|
53
|
+
config;
|
|
54
|
+
baseURL;
|
|
55
|
+
tenantId;
|
|
56
|
+
projectId;
|
|
57
|
+
constructor(options) {
|
|
58
|
+
this.tenantId = options.tenantId || 'default';
|
|
59
|
+
this.projectId = options.projectId || 'default';
|
|
60
|
+
this.baseURL = process.env.INKEEP_MANAGEMENT_API_URL || 'http://localhost:3002';
|
|
61
|
+
// Convert request schema to JSON schema if provided
|
|
62
|
+
let requestContextSchema;
|
|
63
|
+
if (options.requestContextSchema) {
|
|
64
|
+
logger.info({
|
|
65
|
+
requestContextSchema: options.requestContextSchema,
|
|
66
|
+
}, 'Converting request schema to JSON Schema for database storage');
|
|
67
|
+
// Check if it's a createRequestSchema result or a regular Zod schema
|
|
68
|
+
if (typeof options.requestContextSchema === 'object' &&
|
|
69
|
+
'toJsonSchema' in options.requestContextSchema) {
|
|
70
|
+
// It's a createRequestSchema result
|
|
71
|
+
requestContextSchema = options.requestContextSchema.toJsonSchema();
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// It's a regular Zod schema
|
|
75
|
+
requestContextSchema = convertZodToJsonSchema(options.requestContextSchema);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
this.config = {
|
|
79
|
+
id: options.id,
|
|
80
|
+
tenantId: this.tenantId,
|
|
81
|
+
projectId: this.projectId,
|
|
82
|
+
name: options.name,
|
|
83
|
+
description: options.description || '',
|
|
84
|
+
requestContextSchema,
|
|
85
|
+
contextVariables: options.contextVariables || {},
|
|
86
|
+
};
|
|
87
|
+
logger.info({
|
|
88
|
+
contextConfigId: this.config.id,
|
|
89
|
+
tenantId: this.tenantId,
|
|
90
|
+
}, 'ContextConfig builder initialized');
|
|
91
|
+
}
|
|
92
|
+
// Getter methods
|
|
93
|
+
getId() {
|
|
94
|
+
if (!this.config.id) {
|
|
95
|
+
throw new Error('Context config ID is not set');
|
|
96
|
+
}
|
|
97
|
+
return this.config.id;
|
|
98
|
+
}
|
|
99
|
+
getName() {
|
|
100
|
+
if (!this.config.name) {
|
|
101
|
+
throw new Error('Context config name is not set');
|
|
102
|
+
}
|
|
103
|
+
return this.config.name;
|
|
104
|
+
}
|
|
105
|
+
getDescription() {
|
|
106
|
+
return this.config.description || '';
|
|
107
|
+
}
|
|
108
|
+
getRequestContextSchema() {
|
|
109
|
+
return this.config.requestContextSchema || null;
|
|
110
|
+
}
|
|
111
|
+
getContextVariables() {
|
|
112
|
+
return this.config.contextVariables || {};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Convert the builder to a plain object for database operations
|
|
116
|
+
*/
|
|
117
|
+
toObject() {
|
|
118
|
+
return {
|
|
119
|
+
id: this.getId(),
|
|
120
|
+
tenantId: this.tenantId,
|
|
121
|
+
projectId: this.projectId,
|
|
122
|
+
name: this.getName(),
|
|
123
|
+
description: this.getDescription(),
|
|
124
|
+
requestContextSchema: this.getRequestContextSchema(),
|
|
125
|
+
contextVariables: this.getContextVariables(),
|
|
126
|
+
createdAt: new Date().toISOString(),
|
|
127
|
+
updatedAt: new Date().toISOString(),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
// Builder methods for fluent API
|
|
131
|
+
withRequestContextSchema(schema) {
|
|
132
|
+
this.config.requestContextSchema = schema;
|
|
133
|
+
return this;
|
|
134
|
+
}
|
|
135
|
+
withContextVariable(key, definition) {
|
|
136
|
+
this.config.contextVariables = this.config.contextVariables || {};
|
|
137
|
+
this.config.contextVariables[key] = definition;
|
|
138
|
+
return this;
|
|
139
|
+
}
|
|
140
|
+
withContextVariables(variables) {
|
|
141
|
+
this.config.contextVariables = variables;
|
|
142
|
+
return this;
|
|
143
|
+
}
|
|
144
|
+
// Validation method
|
|
145
|
+
validate() {
|
|
146
|
+
try {
|
|
147
|
+
// Validate 'requestContext' key is not used in contextVariables
|
|
148
|
+
const contextVariables = this.config.contextVariables || {};
|
|
149
|
+
if ('requestContext' in contextVariables) {
|
|
150
|
+
return {
|
|
151
|
+
valid: false,
|
|
152
|
+
errors: [
|
|
153
|
+
"The key 'requestContext' is reserved for the request context and cannot be used in contextVariables",
|
|
154
|
+
],
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
ContextConfigApiUpdateSchema.parse({
|
|
158
|
+
id: this.config.id,
|
|
159
|
+
name: this.config.name,
|
|
160
|
+
description: this.config.description,
|
|
161
|
+
requestContextSchema: this.config.requestContextSchema,
|
|
162
|
+
contextVariables: this.config.contextVariables,
|
|
163
|
+
});
|
|
164
|
+
return { valid: true, errors: [] };
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
if (error instanceof z.ZodError) {
|
|
168
|
+
return {
|
|
169
|
+
valid: false,
|
|
170
|
+
errors: error.issues.map((e) => `${e.path.join('.')}: ${e.message}`),
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
return { valid: false, errors: ['Unknown validation error'] };
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// Initialize and save to database
|
|
177
|
+
async init() {
|
|
178
|
+
// Validate the configuration
|
|
179
|
+
const validation = this.validate();
|
|
180
|
+
if (!validation.valid) {
|
|
181
|
+
throw new Error(`Context config validation failed: ${validation.errors.join(', ')}`);
|
|
182
|
+
}
|
|
183
|
+
try {
|
|
184
|
+
await this.upsertContextConfig();
|
|
185
|
+
logger.info({
|
|
186
|
+
contextConfigId: this.getId(),
|
|
187
|
+
}, 'Context config initialized successfully');
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
logger.error({
|
|
191
|
+
contextConfigId: this.getId(),
|
|
192
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
193
|
+
}, 'Failed to initialize context config');
|
|
194
|
+
throw error;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// Private method to upsert context config
|
|
198
|
+
async upsertContextConfig() {
|
|
199
|
+
const configData = {
|
|
200
|
+
id: this.getId(),
|
|
201
|
+
name: this.getName(),
|
|
202
|
+
description: this.getDescription(),
|
|
203
|
+
requestContextSchema: this.getRequestContextSchema(),
|
|
204
|
+
contextVariables: this.getContextVariables(),
|
|
205
|
+
};
|
|
206
|
+
try {
|
|
207
|
+
// First try to update (in case config exists)
|
|
208
|
+
const updateResponse = await fetch(`${this.baseURL}/tenants/${this.tenantId}/crud/context-configs/${this.getId()}`, {
|
|
209
|
+
method: 'PUT',
|
|
210
|
+
headers: {
|
|
211
|
+
'Content-Type': 'application/json',
|
|
212
|
+
},
|
|
213
|
+
body: JSON.stringify(configData),
|
|
214
|
+
});
|
|
215
|
+
if (updateResponse.ok) {
|
|
216
|
+
logger.info({
|
|
217
|
+
contextConfigId: this.getId(),
|
|
218
|
+
}, 'Context config updated successfully');
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
// If update failed with 404, config doesn't exist - create it
|
|
222
|
+
if (updateResponse.status === 404) {
|
|
223
|
+
logger.info({
|
|
224
|
+
contextConfigId: this.getId(),
|
|
225
|
+
}, 'Context config not found, creating new config');
|
|
226
|
+
const createResponse = await fetch(`${this.baseURL}/tenants/${this.tenantId}/crud/context-configs`, {
|
|
227
|
+
method: 'POST',
|
|
228
|
+
headers: {
|
|
229
|
+
'Content-Type': 'application/json',
|
|
230
|
+
},
|
|
231
|
+
body: JSON.stringify(configData),
|
|
232
|
+
});
|
|
233
|
+
if (!createResponse.ok) {
|
|
234
|
+
const errorData = await this.parseErrorResponse(createResponse);
|
|
235
|
+
throw new Error(`Failed to create context config (${createResponse.status}): ${errorData.message || errorData.error || 'Unknown error'}`);
|
|
236
|
+
}
|
|
237
|
+
logger.info({
|
|
238
|
+
contextConfigId: this.getId(),
|
|
239
|
+
}, 'Context config created successfully');
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
// Update failed for some other reason
|
|
243
|
+
const errorData = await this.parseErrorResponse(updateResponse);
|
|
244
|
+
throw new Error(`Failed to update context config (${updateResponse.status}): ${errorData.message || errorData.error || 'Unknown error'}`);
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
if (error instanceof Error) {
|
|
248
|
+
throw error;
|
|
249
|
+
}
|
|
250
|
+
throw new Error(`Network error while upserting context config: ${String(error)}`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
// Helper method to parse error responses
|
|
254
|
+
async parseErrorResponse(response) {
|
|
255
|
+
try {
|
|
256
|
+
const contentType = response.headers?.get('content-type');
|
|
257
|
+
if (contentType?.includes('application/json')) {
|
|
258
|
+
return await response.json();
|
|
259
|
+
}
|
|
260
|
+
const text = await response.text();
|
|
261
|
+
return { error: text || `HTTP ${response.status} ${response.statusText}` };
|
|
262
|
+
}
|
|
263
|
+
catch (error) {
|
|
264
|
+
return { error: `HTTP ${response.status} ${response.statusText}` };
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
// Factory function for creating context configs - similar to agent() and agentGraph()
|
|
269
|
+
export function contextConfig(options) {
|
|
270
|
+
return new ContextConfigBuilder(options);
|
|
271
|
+
}
|
|
272
|
+
// Helper function to create fetch definitions
|
|
273
|
+
export function fetchDefinition(options) {
|
|
274
|
+
// Handle both the correct FetchDefinition format and the legacy direct format
|
|
275
|
+
const fetchConfig = options.fetchConfig || {
|
|
276
|
+
url: options.url,
|
|
277
|
+
method: options.method,
|
|
278
|
+
headers: options.headers,
|
|
279
|
+
body: options.body,
|
|
280
|
+
transform: options.transform,
|
|
281
|
+
timeout: options.timeout,
|
|
282
|
+
};
|
|
283
|
+
return {
|
|
284
|
+
id: options.id,
|
|
285
|
+
name: options.name,
|
|
286
|
+
trigger: options.trigger,
|
|
287
|
+
fetchConfig: {
|
|
288
|
+
url: fetchConfig.url,
|
|
289
|
+
method: fetchConfig.method,
|
|
290
|
+
headers: fetchConfig.headers,
|
|
291
|
+
body: fetchConfig.body,
|
|
292
|
+
transform: fetchConfig.transform,
|
|
293
|
+
timeout: fetchConfig.timeout,
|
|
294
|
+
},
|
|
295
|
+
responseSchema: options.responseSchema
|
|
296
|
+
? convertZodToJsonSchema(options.responseSchema)
|
|
297
|
+
: undefined,
|
|
298
|
+
defaultValue: options.defaultValue,
|
|
299
|
+
credentialReferenceId: options.credential?.id,
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=ContextConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextConfig.js","sourceRoot":"","sources":["../../src/context/ContextConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { BaseServer } from '../server/BaseServer.js';
|
|
2
|
+
import type { ContextFetchDefinition } from '../types/utility.js';
|
|
3
|
+
import { type TemplateContext } from './TemplateEngine.js';
|
|
4
|
+
import type { DatabaseClient } from '../db/client.js';
|
|
5
|
+
export interface FetchResult {
|
|
6
|
+
data: unknown;
|
|
7
|
+
source: string;
|
|
8
|
+
durationMs: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class ContextFetcher {
|
|
11
|
+
private tenantId;
|
|
12
|
+
private projectId;
|
|
13
|
+
private defaultTimeout;
|
|
14
|
+
private agentFramework?;
|
|
15
|
+
private credentialStuffer?;
|
|
16
|
+
private dbClient;
|
|
17
|
+
constructor(tenantId: string, projectId: string, dbClient: DatabaseClient, agentFramework?: BaseServer, defaultTimeout?: number);
|
|
18
|
+
/**
|
|
19
|
+
* Fetch data according to a fetch definition
|
|
20
|
+
*/
|
|
21
|
+
fetch(definition: ContextFetchDefinition, context: TemplateContext): Promise<unknown>;
|
|
22
|
+
private getCredential;
|
|
23
|
+
/**
|
|
24
|
+
* Resolve template variables in fetch configuration and inject credential headers
|
|
25
|
+
*/
|
|
26
|
+
private resolveTemplateVariables;
|
|
27
|
+
/**
|
|
28
|
+
* Interpolate template variables in a string using TemplateEngine
|
|
29
|
+
*/
|
|
30
|
+
private interpolateTemplate;
|
|
31
|
+
/**
|
|
32
|
+
* Interpolate template variables in an object recursively using TemplateEngine
|
|
33
|
+
*/
|
|
34
|
+
private interpolateObjectTemplates;
|
|
35
|
+
/**
|
|
36
|
+
* Perform HTTP request
|
|
37
|
+
*/
|
|
38
|
+
private performRequest;
|
|
39
|
+
/**
|
|
40
|
+
* Transform response data using JMESPath
|
|
41
|
+
*/
|
|
42
|
+
private transformResponse;
|
|
43
|
+
/**
|
|
44
|
+
* Validate response against JSON Schema
|
|
45
|
+
*/
|
|
46
|
+
private validateResponseWithJsonSchema;
|
|
47
|
+
/**
|
|
48
|
+
* Test a fetch definition without caching
|
|
49
|
+
*/
|
|
50
|
+
test(definition: ContextFetchDefinition, context: TemplateContext): Promise<{
|
|
51
|
+
success: boolean;
|
|
52
|
+
data?: unknown;
|
|
53
|
+
error?: string;
|
|
54
|
+
durationMs: number;
|
|
55
|
+
}>;
|
|
56
|
+
/**
|
|
57
|
+
* Get fetcher statistics
|
|
58
|
+
*/
|
|
59
|
+
getStats(): {
|
|
60
|
+
tenantId: string;
|
|
61
|
+
defaultTimeout: number;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=ContextFetcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextFetcher.d.ts","sourceRoot":"","sources":["../../src/context/ContextFetcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EAAE,KAAK,eAAe,EAAkB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA4BtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAiB;gBAG/B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EACxB,cAAc,CAAC,EAAE,UAAU,EAC3B,cAAc,SAAQ;IAqBxB;;OAEG;IACG,KAAK,CAAC,UAAU,EAAE,sBAAsB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;YAmE7E,aAAa;IAwC3B;;OAEG;YACW,wBAAwB;IA0DtC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAmBlC;;OAEG;YACW,cAAc;IAiE5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAmCtC;;OAEG;IACG,IAAI,CACR,UAAU,EAAE,sBAAsB,EAClC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAmBF;;OAEG;IACH,QAAQ,IAAI;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;KACxB;CAMF"}
|