@inkeep/agents-core 0.1.4 → 0.1.7
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 +2 -2
- package/SUPPLEMENTAL_TERMS.md +40 -0
- package/dist/chunk-BMKWVKI2.js +126 -0
- package/dist/chunk-H2F72PDA.js +15 -0
- package/dist/chunk-MKBO26DX.js +9 -0
- package/dist/chunk-MXQKLGQK.js +925 -0
- package/dist/chunk-R3VVJXX7.js +575 -0
- package/dist/chunk-SVGQSPW4.js +24 -0
- package/dist/client-exports.cjs +1702 -0
- package/dist/client-exports.js +202 -246
- package/dist/db/schema.cjs +922 -0
- package/dist/db/schema.js +1 -696
- package/dist/index.cjs +10122 -0
- package/dist/index.js +7989 -13
- package/dist/types/index.cjs +45 -0
- package/dist/types/index.js +2 -6
- package/dist/validation/index.cjs +1772 -0
- package/dist/validation/index.js +2 -5
- package/package.json +11 -6
- package/dist/__tests__/integration/helpers.d.ts +0 -5
- package/dist/__tests__/integration/helpers.d.ts.map +0 -1
- package/dist/__tests__/integration/helpers.js +0 -37
- package/dist/__tests__/integration/helpers.js.map +0 -1
- package/dist/__tests__/setup.d.ts +0 -3
- package/dist/__tests__/setup.d.ts.map +0 -1
- package/dist/__tests__/setup.js +0 -29
- package/dist/__tests__/setup.js.map +0 -1
- package/dist/client-exports.d.ts +0 -300
- package/dist/client-exports.d.ts.map +0 -1
- package/dist/client-exports.js.map +0 -1
- package/dist/context/ContextConfig.d.ts +0 -54
- package/dist/context/ContextConfig.d.ts.map +0 -1
- package/dist/context/ContextConfig.js +0 -302
- package/dist/context/ContextConfig.js.map +0 -1
- package/dist/context/ContextFetcher.d.ts +0 -64
- package/dist/context/ContextFetcher.d.ts.map +0 -1
- package/dist/context/ContextFetcher.js +0 -325
- package/dist/context/ContextFetcher.js.map +0 -1
- package/dist/context/ContextResolver.d.ts +0 -52
- package/dist/context/ContextResolver.d.ts.map +0 -1
- package/dist/context/ContextResolver.js +0 -298
- package/dist/context/ContextResolver.js.map +0 -1
- package/dist/context/TemplateEngine.d.ts +0 -46
- package/dist/context/TemplateEngine.d.ts.map +0 -1
- package/dist/context/TemplateEngine.js +0 -175
- package/dist/context/TemplateEngine.js.map +0 -1
- package/dist/context/context.d.ts +0 -8
- package/dist/context/context.d.ts.map +0 -1
- package/dist/context/context.js +0 -157
- package/dist/context/context.js.map +0 -1
- package/dist/context/contextCache.d.ts +0 -50
- package/dist/context/contextCache.d.ts.map +0 -1
- package/dist/context/contextCache.js +0 -175
- package/dist/context/contextCache.js.map +0 -1
- package/dist/context/index.d.ts +0 -11
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/index.js +0 -8
- package/dist/context/index.js.map +0 -1
- package/dist/credential-stores/CredentialStoreRegistry.d.ts +0 -39
- package/dist/credential-stores/CredentialStoreRegistry.d.ts.map +0 -1
- package/dist/credential-stores/CredentialStoreRegistry.js +0 -65
- package/dist/credential-stores/CredentialStoreRegistry.js.map +0 -1
- package/dist/credential-stores/defaults.d.ts +0 -6
- package/dist/credential-stores/defaults.d.ts.map +0 -1
- package/dist/credential-stores/defaults.js +0 -22
- package/dist/credential-stores/defaults.js.map +0 -1
- package/dist/credential-stores/index.d.ts +0 -6
- package/dist/credential-stores/index.d.ts.map +0 -1
- package/dist/credential-stores/index.js +0 -6
- package/dist/credential-stores/index.js.map +0 -1
- package/dist/credential-stores/keychain-store.d.ts +0 -100
- package/dist/credential-stores/keychain-store.d.ts.map +0 -1
- package/dist/credential-stores/keychain-store.js +0 -225
- package/dist/credential-stores/keychain-store.js.map +0 -1
- package/dist/credential-stores/memory-store.d.ts +0 -39
- package/dist/credential-stores/memory-store.d.ts.map +0 -1
- package/dist/credential-stores/memory-store.js +0 -58
- package/dist/credential-stores/memory-store.js.map +0 -1
- package/dist/credential-stores/nango-store.d.ts +0 -59
- package/dist/credential-stores/nango-store.d.ts.map +0 -1
- package/dist/credential-stores/nango-store.js +0 -264
- package/dist/credential-stores/nango-store.js.map +0 -1
- package/dist/credential-stuffer/CredentialStuffer.d.ts +0 -80
- package/dist/credential-stuffer/CredentialStuffer.d.ts.map +0 -1
- package/dist/credential-stuffer/CredentialStuffer.js +0 -186
- package/dist/credential-stuffer/CredentialStuffer.js.map +0 -1
- package/dist/credential-stuffer/index.d.ts +0 -2
- package/dist/credential-stuffer/index.d.ts.map +0 -1
- package/dist/credential-stuffer/index.js +0 -2
- package/dist/credential-stuffer/index.js.map +0 -1
- package/dist/data-access/agentDataComponents.d.ts +0 -1
- package/dist/data-access/agentDataComponents.d.ts.map +0 -1
- package/dist/data-access/agentDataComponents.js +0 -2
- package/dist/data-access/agentDataComponents.js.map +0 -1
- package/dist/data-access/agentGraphs.d.ts +0 -406
- package/dist/data-access/agentGraphs.d.ts.map +0 -1
- package/dist/data-access/agentGraphs.js +0 -551
- package/dist/data-access/agentGraphs.js.map +0 -1
- package/dist/data-access/agentRelations.d.ts +0 -456
- package/dist/data-access/agentRelations.d.ts.map +0 -1
- package/dist/data-access/agentRelations.js +0 -471
- package/dist/data-access/agentRelations.js.map +0 -1
- package/dist/data-access/agents.d.ts +0 -218
- package/dist/data-access/agents.d.ts.map +0 -1
- package/dist/data-access/agents.js +0 -130
- package/dist/data-access/agents.js.map +0 -1
- package/dist/data-access/apiKeys.d.ts +0 -114
- package/dist/data-access/apiKeys.d.ts.map +0 -1
- package/dist/data-access/apiKeys.js +0 -185
- package/dist/data-access/apiKeys.js.map +0 -1
- package/dist/data-access/artifactComponents.d.ts +0 -152
- package/dist/data-access/artifactComponents.d.ts.map +0 -1
- package/dist/data-access/artifactComponents.js +0 -214
- package/dist/data-access/artifactComponents.js.map +0 -1
- package/dist/data-access/contextCache.d.ts +0 -68
- package/dist/data-access/contextCache.d.ts.map +0 -1
- package/dist/data-access/contextCache.js +0 -160
- package/dist/data-access/contextCache.js.map +0 -1
- package/dist/data-access/contextConfigs.d.ts +0 -110
- package/dist/data-access/contextConfigs.d.ts.map +0 -1
- package/dist/data-access/contextConfigs.js +0 -156
- package/dist/data-access/contextConfigs.js.map +0 -1
- package/dist/data-access/conversations.d.ts +0 -125
- package/dist/data-access/conversations.d.ts.map +0 -1
- package/dist/data-access/conversations.js +0 -244
- package/dist/data-access/conversations.js.map +0 -1
- package/dist/data-access/credentialReferences.d.ts +0 -86
- package/dist/data-access/credentialReferences.d.ts.map +0 -1
- package/dist/data-access/credentialReferences.js +0 -175
- package/dist/data-access/credentialReferences.js.map +0 -1
- package/dist/data-access/dataComponents.d.ts +0 -129
- package/dist/data-access/dataComponents.d.ts.map +0 -1
- package/dist/data-access/dataComponents.js +0 -213
- package/dist/data-access/dataComponents.js.map +0 -1
- package/dist/data-access/externalAgents.d.ts +0 -83
- package/dist/data-access/externalAgents.d.ts.map +0 -1
- package/dist/data-access/externalAgents.js +0 -163
- package/dist/data-access/externalAgents.js.map +0 -1
- package/dist/data-access/graphFull.d.ts +0 -32
- package/dist/data-access/graphFull.d.ts.map +0 -1
- package/dist/data-access/graphFull.js +0 -996
- package/dist/data-access/graphFull.js.map +0 -1
- package/dist/data-access/index.d.ts +0 -21
- package/dist/data-access/index.d.ts.map +0 -1
- package/dist/data-access/index.js +0 -22
- package/dist/data-access/index.js.map +0 -1
- package/dist/data-access/ledgerArtifacts.d.ts +0 -49
- package/dist/data-access/ledgerArtifacts.d.ts.map +0 -1
- package/dist/data-access/ledgerArtifacts.js +0 -112
- package/dist/data-access/ledgerArtifacts.js.map +0 -1
- package/dist/data-access/messages.d.ts +0 -209
- package/dist/data-access/messages.d.ts.map +0 -1
- package/dist/data-access/messages.js +0 -100
- package/dist/data-access/messages.js.map +0 -1
- package/dist/data-access/projects.d.ts +0 -67
- package/dist/data-access/projects.d.ts.map +0 -1
- package/dist/data-access/projects.js +0 -337
- package/dist/data-access/projects.js.map +0 -1
- package/dist/data-access/tasks.d.ts +0 -37
- package/dist/data-access/tasks.d.ts.map +0 -1
- package/dist/data-access/tasks.js +0 -40
- package/dist/data-access/tasks.js.map +0 -1
- package/dist/data-access/tools.d.ts +0 -277
- package/dist/data-access/tools.d.ts.map +0 -1
- package/dist/data-access/tools.js +0 -183
- package/dist/data-access/tools.js.map +0 -1
- package/dist/data-access/validation.d.ts +0 -17
- package/dist/data-access/validation.d.ts.map +0 -1
- package/dist/data-access/validation.js +0 -52
- package/dist/data-access/validation.js.map +0 -1
- package/dist/db/clean.d.ts +0 -6
- package/dist/db/clean.d.ts.map +0 -1
- package/dist/db/clean.js +0 -81
- package/dist/db/clean.js.map +0 -1
- package/dist/db/client.d.ts +0 -19
- package/dist/db/client.d.ts.map +0 -1
- package/dist/db/client.js +0 -24
- package/dist/db/client.js.map +0 -1
- package/dist/db/schema.d.ts +0 -4337
- package/dist/db/schema.d.ts.map +0 -1
- package/dist/db/schema.js.map +0 -1
- package/dist/db/test-client.d.ts +0 -25
- package/dist/db/test-client.d.ts.map +0 -1
- package/dist/db/test-client.js +0 -136
- package/dist/db/test-client.js.map +0 -1
- package/dist/env.d.ts +0 -19
- package/dist/env.d.ts.map +0 -1
- package/dist/env.js +0 -49
- package/dist/env.js.map +0 -1
- package/dist/index.d.ts +0 -12
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/middleware/contextValidation.d.ts +0 -49
- package/dist/middleware/contextValidation.d.ts.map +0 -1
- package/dist/middleware/contextValidation.js +0 -473
- package/dist/middleware/contextValidation.js.map +0 -1
- package/dist/middleware/index.d.ts +0 -2
- package/dist/middleware/index.d.ts.map +0 -1
- package/dist/middleware/index.js +0 -2
- package/dist/middleware/index.js.map +0 -1
- package/dist/server/BaseServer.d.ts +0 -83
- package/dist/server/BaseServer.d.ts.map +0 -1
- package/dist/server/BaseServer.js +0 -218
- package/dist/server/BaseServer.js.map +0 -1
- package/dist/types/a2a.d.ts +0 -373
- package/dist/types/a2a.d.ts.map +0 -1
- package/dist/types/a2a.js +0 -14
- package/dist/types/a2a.js.map +0 -1
- package/dist/types/entities.d.ts +0 -147
- package/dist/types/entities.d.ts.map +0 -1
- package/dist/types/entities.js +0 -2
- package/dist/types/entities.js.map +0 -1
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/types/server.d.ts +0 -116
- package/dist/types/server.d.ts.map +0 -1
- package/dist/types/server.js +0 -2
- package/dist/types/server.js.map +0 -1
- package/dist/types/utility.d.ts +0 -213
- package/dist/types/utility.d.ts.map +0 -1
- package/dist/types/utility.js +0 -9
- package/dist/types/utility.js.map +0 -1
- package/dist/utils/apiKeys.d.ts +0 -32
- package/dist/utils/apiKeys.d.ts.map +0 -1
- package/dist/utils/apiKeys.js +0 -117
- package/dist/utils/apiKeys.js.map +0 -1
- package/dist/utils/auth-detection.d.ts +0 -23
- package/dist/utils/auth-detection.d.ts.map +0 -1
- package/dist/utils/auth-detection.js +0 -148
- package/dist/utils/auth-detection.js.map +0 -1
- package/dist/utils/credential-store-utils.d.ts +0 -11
- package/dist/utils/credential-store-utils.d.ts.map +0 -1
- package/dist/utils/credential-store-utils.js +0 -19
- package/dist/utils/credential-store-utils.js.map +0 -1
- package/dist/utils/error.d.ts +0 -526
- package/dist/utils/error.d.ts.map +0 -1
- package/dist/utils/error.js +0 -282
- package/dist/utils/error.js.map +0 -1
- package/dist/utils/execution.d.ts +0 -18
- package/dist/utils/execution.d.ts.map +0 -1
- package/dist/utils/execution.js +0 -25
- package/dist/utils/execution.js.map +0 -1
- package/dist/utils/index.d.ts +0 -9
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -9
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -79
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -102
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/logging.d.ts +0 -11
- package/dist/utils/logging.d.ts.map +0 -1
- package/dist/utils/logging.js +0 -6
- package/dist/utils/logging.js.map +0 -1
- package/dist/utils/mcp-client.d.ts +0 -48
- package/dist/utils/mcp-client.d.ts.map +0 -1
- package/dist/utils/mcp-client.js +0 -174
- package/dist/utils/mcp-client.js.map +0 -1
- package/dist/utils/tracer.d.ts +0 -24
- package/dist/utils/tracer.d.ts.map +0 -1
- package/dist/utils/tracer.js +0 -110
- package/dist/utils/tracer.js.map +0 -1
- package/dist/validation/graphFull.d.ts +0 -36
- package/dist/validation/graphFull.d.ts.map +0 -1
- package/dist/validation/graphFull.js +0 -128
- package/dist/validation/graphFull.js.map +0 -1
- package/dist/validation/id-validation.d.ts +0 -38
- package/dist/validation/id-validation.d.ts.map +0 -1
- package/dist/validation/id-validation.js +0 -60
- package/dist/validation/id-validation.js.map +0 -1
- package/dist/validation/index.d.ts +0 -4
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/schemas.d.ts +0 -7238
- package/dist/validation/schemas.d.ts.map +0 -1
- package/dist/validation/schemas.js +0 -575
- package/dist/validation/schemas.js.map +0 -1
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
import crypto from 'node:crypto';
|
|
2
|
-
import { SpanStatusCode } from '@opentelemetry/api';
|
|
3
|
-
import { createSpanName, getGlobalTracer, getLogger, handleSpanError } from '../utils/index';
|
|
4
|
-
import { ContextFetcher } from './ContextFetcher';
|
|
5
|
-
import { ContextCache } from './contextCache';
|
|
6
|
-
const logger = getLogger('context-resolver');
|
|
7
|
-
// Get tracer using centralized utility
|
|
8
|
-
const tracer = getGlobalTracer();
|
|
9
|
-
export class ContextResolver {
|
|
10
|
-
fetcher;
|
|
11
|
-
cache;
|
|
12
|
-
tenantId;
|
|
13
|
-
projectId;
|
|
14
|
-
constructor(tenantId, projectId, dbClient, credentialStoreRegistry) {
|
|
15
|
-
this.tenantId = tenantId;
|
|
16
|
-
this.projectId = projectId;
|
|
17
|
-
this.fetcher = new ContextFetcher(tenantId, projectId, dbClient, credentialStoreRegistry);
|
|
18
|
-
this.cache = new ContextCache(tenantId, projectId, dbClient);
|
|
19
|
-
logger.info({
|
|
20
|
-
tenantId: this.tenantId,
|
|
21
|
-
hasCredentialSupport: !!credentialStoreRegistry,
|
|
22
|
-
}, 'ContextResolver initialized');
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Resolve all contexts for a given configuration and trigger event
|
|
26
|
-
*/
|
|
27
|
-
async resolve(contextConfig, options) {
|
|
28
|
-
const startTime = Date.now();
|
|
29
|
-
logger.info({
|
|
30
|
-
contextConfigId: contextConfig.id,
|
|
31
|
-
triggerEvent: options.triggerEvent,
|
|
32
|
-
conversationId: options.conversationId,
|
|
33
|
-
}, 'Starting context resolution');
|
|
34
|
-
// Create parent span for the entire context resolution process
|
|
35
|
-
return tracer.startActiveSpan(createSpanName('context.resolve'), {
|
|
36
|
-
attributes: {
|
|
37
|
-
'context.config_id': contextConfig.id,
|
|
38
|
-
'context.trigger_event': options.triggerEvent,
|
|
39
|
-
},
|
|
40
|
-
}, async (parentSpan) => {
|
|
41
|
-
try {
|
|
42
|
-
const result = {
|
|
43
|
-
resolvedContext: {},
|
|
44
|
-
requestContext: options.requestContext || {},
|
|
45
|
-
fetchedDefinitions: [],
|
|
46
|
-
cacheHits: [],
|
|
47
|
-
cacheMisses: [],
|
|
48
|
-
errors: [],
|
|
49
|
-
totalDurationMs: 0,
|
|
50
|
-
};
|
|
51
|
-
// Include request context in resolved context under the key 'requestContext'
|
|
52
|
-
result.resolvedContext.requestContext = result.requestContext;
|
|
53
|
-
const currentRequestContext = await this.cache.get({
|
|
54
|
-
conversationId: options.conversationId,
|
|
55
|
-
contextConfigId: contextConfig.id,
|
|
56
|
-
contextVariableKey: 'requestContext',
|
|
57
|
-
});
|
|
58
|
-
if (options.requestContext && Object.keys(options.requestContext).length > 0) {
|
|
59
|
-
// Invalidate the current request context
|
|
60
|
-
await this.cache.invalidateRequestContext(this.tenantId, this.projectId, options.conversationId, contextConfig.id);
|
|
61
|
-
logger.info({
|
|
62
|
-
conversationId: options.conversationId,
|
|
63
|
-
contextConfigId: contextConfig.id,
|
|
64
|
-
}, 'Invalidated request context in cache');
|
|
65
|
-
// Push the new request context to the cache
|
|
66
|
-
await this.cache.set({
|
|
67
|
-
contextConfigId: contextConfig.id,
|
|
68
|
-
contextVariableKey: 'requestContext',
|
|
69
|
-
conversationId: options.conversationId,
|
|
70
|
-
value: options.requestContext,
|
|
71
|
-
tenantId: this.tenantId,
|
|
72
|
-
});
|
|
73
|
-
logger.info({
|
|
74
|
-
conversationId: options.conversationId,
|
|
75
|
-
contextConfigId: contextConfig.id,
|
|
76
|
-
}, 'Request context set in cache');
|
|
77
|
-
}
|
|
78
|
-
else if (currentRequestContext) {
|
|
79
|
-
result.requestContext = currentRequestContext.value;
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
result.requestContext = {};
|
|
83
|
-
}
|
|
84
|
-
result.resolvedContext.requestContext = result.requestContext;
|
|
85
|
-
// Get all context variables - we'll handle trigger events through cache invalidation
|
|
86
|
-
const contextVariables = contextConfig.contextVariables || {};
|
|
87
|
-
const contextVariableEntries = Object.entries(contextVariables);
|
|
88
|
-
if (contextVariableEntries.length === 0) {
|
|
89
|
-
logger.info({
|
|
90
|
-
contextConfigId: contextConfig.id,
|
|
91
|
-
}, 'No context variables in context config');
|
|
92
|
-
result.totalDurationMs = Date.now() - startTime;
|
|
93
|
-
parentSpan.setStatus({ code: SpanStatusCode.OK });
|
|
94
|
-
return result;
|
|
95
|
-
}
|
|
96
|
-
// Separate definitions by trigger type for cache invalidation logic
|
|
97
|
-
const initializationDefs = contextVariableEntries.filter(([, def]) => def.trigger === 'initialization');
|
|
98
|
-
const invocationDefs = contextVariableEntries.filter(([, def]) => def.trigger === 'invocation');
|
|
99
|
-
// For invocation trigger, invalidate invocation definition cache entries first
|
|
100
|
-
if (options.triggerEvent === 'invocation' && invocationDefs.length > 0) {
|
|
101
|
-
await this.cache.invalidateInvocationDefinitions(this.tenantId, this.projectId, options.conversationId, contextConfig.id, invocationDefs.map(([, def]) => def.id));
|
|
102
|
-
}
|
|
103
|
-
// Create request hash for cache invalidation
|
|
104
|
-
const requestHash = this.createRequestHash(result.requestContext);
|
|
105
|
-
// Execute all context variables in parallel (no dependencies)
|
|
106
|
-
const fetchPromises = contextVariableEntries.map(([templateKey, definition]) => this.resolveSingleFetchDefinition(contextConfig, definition, templateKey, options, requestHash, result).catch((error) => {
|
|
107
|
-
// Handle individual fetch failures without stopping others
|
|
108
|
-
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
109
|
-
logger.error({
|
|
110
|
-
contextConfigId: contextConfig.id,
|
|
111
|
-
definitionId: definition.id,
|
|
112
|
-
templateKey,
|
|
113
|
-
error: errorMessage,
|
|
114
|
-
}, 'Failed to resolve context variable');
|
|
115
|
-
result.errors.push({
|
|
116
|
-
definitionId: definition.id,
|
|
117
|
-
error: errorMessage,
|
|
118
|
-
});
|
|
119
|
-
// Use default value if available
|
|
120
|
-
if (definition.defaultValue !== undefined) {
|
|
121
|
-
result.resolvedContext[templateKey] = definition.defaultValue;
|
|
122
|
-
logger.info({
|
|
123
|
-
contextConfigId: contextConfig.id,
|
|
124
|
-
definitionId: definition.id,
|
|
125
|
-
templateKey,
|
|
126
|
-
}, 'Using default value for failed context variable');
|
|
127
|
-
}
|
|
128
|
-
}));
|
|
129
|
-
// Wait for all fetches to complete
|
|
130
|
-
await Promise.all(fetchPromises);
|
|
131
|
-
result.totalDurationMs = Date.now() - startTime;
|
|
132
|
-
parentSpan.addEvent('context.resolution.completed', {
|
|
133
|
-
resolved_keys: Object.keys(result.resolvedContext),
|
|
134
|
-
fetched_definitions: result.fetchedDefinitions,
|
|
135
|
-
});
|
|
136
|
-
// Check if there were any errors during context resolution
|
|
137
|
-
if (result.errors.length > 0) {
|
|
138
|
-
parentSpan.setStatus({
|
|
139
|
-
code: SpanStatusCode.ERROR,
|
|
140
|
-
message: `Context resolution completed with errors`,
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
// Mark span as successful if no errors
|
|
145
|
-
parentSpan.setStatus({ code: SpanStatusCode.OK });
|
|
146
|
-
}
|
|
147
|
-
logger.info({
|
|
148
|
-
contextConfigId: contextConfig.id,
|
|
149
|
-
resolvedKeys: Object.keys(result.resolvedContext),
|
|
150
|
-
fetchedDefinitions: result.fetchedDefinitions.length,
|
|
151
|
-
cacheHits: result.cacheHits.length,
|
|
152
|
-
cacheMisses: result.cacheMisses.length,
|
|
153
|
-
errors: result.errors.length,
|
|
154
|
-
totalDurationMs: result.totalDurationMs,
|
|
155
|
-
}, 'Context resolution completed');
|
|
156
|
-
return result;
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
const durationMs = Date.now() - startTime;
|
|
160
|
-
// Use helper function for consistent error handling
|
|
161
|
-
handleSpanError(parentSpan, error);
|
|
162
|
-
logger.error({
|
|
163
|
-
contextConfigId: contextConfig.id,
|
|
164
|
-
error: error instanceof Error ? error.message : String(error),
|
|
165
|
-
durationMs,
|
|
166
|
-
}, 'Context resolution failed');
|
|
167
|
-
throw error;
|
|
168
|
-
}
|
|
169
|
-
finally {
|
|
170
|
-
parentSpan.end();
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Resolve a single context variable
|
|
176
|
-
*/
|
|
177
|
-
async resolveSingleFetchDefinition(contextConfig, definition, templateKey, options, requestHash, result) {
|
|
178
|
-
// Create parent span for individual context variable resolution
|
|
179
|
-
return tracer.startActiveSpan(createSpanName('context-resolver.resolve_single_fetch_definition'), {
|
|
180
|
-
attributes: {
|
|
181
|
-
'context.definition_id': definition.id,
|
|
182
|
-
'context.template_key': templateKey,
|
|
183
|
-
'context.url': definition.fetchConfig.url,
|
|
184
|
-
'context.method': definition.fetchConfig.method,
|
|
185
|
-
'context.trigger': definition.trigger,
|
|
186
|
-
},
|
|
187
|
-
}, async (parentSpan) => {
|
|
188
|
-
try {
|
|
189
|
-
// Check cache first
|
|
190
|
-
const cachedEntry = await this.cache.get({
|
|
191
|
-
conversationId: options.conversationId,
|
|
192
|
-
contextConfigId: contextConfig.id,
|
|
193
|
-
contextVariableKey: templateKey,
|
|
194
|
-
requestHash,
|
|
195
|
-
});
|
|
196
|
-
if (cachedEntry) {
|
|
197
|
-
result.resolvedContext[templateKey] = cachedEntry.value;
|
|
198
|
-
result.cacheHits.push(definition.id);
|
|
199
|
-
// Mark span as successful (cache hit)
|
|
200
|
-
parentSpan.setStatus({ code: SpanStatusCode.OK });
|
|
201
|
-
parentSpan.addEvent('context.cache_hit', {
|
|
202
|
-
definition_id: definition.id,
|
|
203
|
-
template_key: templateKey,
|
|
204
|
-
});
|
|
205
|
-
logger.debug({
|
|
206
|
-
definitionId: definition.id,
|
|
207
|
-
templateKey,
|
|
208
|
-
conversationId: options.conversationId,
|
|
209
|
-
}, 'Cache hit for context variable');
|
|
210
|
-
return;
|
|
211
|
-
}
|
|
212
|
-
// Cache miss - fetch the data
|
|
213
|
-
result.cacheMisses.push(definition.id);
|
|
214
|
-
parentSpan.addEvent('context.cache_miss', {
|
|
215
|
-
definition_id: definition.id,
|
|
216
|
-
template_key: templateKey,
|
|
217
|
-
});
|
|
218
|
-
logger.debug({
|
|
219
|
-
definitionId: definition.id,
|
|
220
|
-
templateKey,
|
|
221
|
-
conversationId: options.conversationId,
|
|
222
|
-
}, 'Cache miss for context variable, fetching data');
|
|
223
|
-
// Fetch the data with conversationId in the fetch config
|
|
224
|
-
const definitionWithConversationId = {
|
|
225
|
-
...definition,
|
|
226
|
-
fetchConfig: {
|
|
227
|
-
...definition.fetchConfig,
|
|
228
|
-
conversationId: options.conversationId,
|
|
229
|
-
},
|
|
230
|
-
};
|
|
231
|
-
const fetchedData = await this.fetcher.fetch(definitionWithConversationId, result.resolvedContext);
|
|
232
|
-
// Store in resolved context
|
|
233
|
-
result.resolvedContext[templateKey] = fetchedData;
|
|
234
|
-
result.fetchedDefinitions.push(definition.id);
|
|
235
|
-
// Cache the result (unified cache)
|
|
236
|
-
await this.cache.set({
|
|
237
|
-
contextConfigId: contextConfig.id,
|
|
238
|
-
contextVariableKey: templateKey,
|
|
239
|
-
conversationId: options.conversationId,
|
|
240
|
-
value: fetchedData,
|
|
241
|
-
requestHash,
|
|
242
|
-
tenantId: this.tenantId,
|
|
243
|
-
});
|
|
244
|
-
// Mark span as successful
|
|
245
|
-
parentSpan.setStatus({ code: SpanStatusCode.OK });
|
|
246
|
-
parentSpan.addEvent('context.fetch_success', {
|
|
247
|
-
definition_id: definition.id,
|
|
248
|
-
template_key: templateKey,
|
|
249
|
-
source: definition.fetchConfig.url,
|
|
250
|
-
});
|
|
251
|
-
logger.debug({
|
|
252
|
-
definitionId: definition.id,
|
|
253
|
-
templateKey,
|
|
254
|
-
conversationId: options.conversationId,
|
|
255
|
-
}, 'Context variable resolved and cached');
|
|
256
|
-
}
|
|
257
|
-
catch (error) {
|
|
258
|
-
// Use helper function for consistent error handling
|
|
259
|
-
handleSpanError(parentSpan, error);
|
|
260
|
-
throw error;
|
|
261
|
-
}
|
|
262
|
-
finally {
|
|
263
|
-
parentSpan.end();
|
|
264
|
-
}
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Resolve the request context for a given conversation
|
|
269
|
-
*/
|
|
270
|
-
async resolveRequestContext(conversationId, contextConfigId) {
|
|
271
|
-
const cachedEntry = await this.cache.get({
|
|
272
|
-
conversationId: conversationId,
|
|
273
|
-
contextConfigId: contextConfigId,
|
|
274
|
-
contextVariableKey: 'requestContext',
|
|
275
|
-
});
|
|
276
|
-
if (cachedEntry) {
|
|
277
|
-
return cachedEntry.value;
|
|
278
|
-
}
|
|
279
|
-
return {};
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Create a hash of the request context for cache invalidation
|
|
283
|
-
*/
|
|
284
|
-
createRequestHash(requestContext) {
|
|
285
|
-
const contextString = JSON.stringify(requestContext, Object.keys(requestContext).sort());
|
|
286
|
-
return crypto.createHash('sha256').update(contextString).digest('hex').substring(0, 16);
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Clear cache
|
|
290
|
-
*/
|
|
291
|
-
async clearCache(tenantId, projectId, conversationId) {
|
|
292
|
-
await this.cache.clearConversation(tenantId, projectId, conversationId);
|
|
293
|
-
logger.info({
|
|
294
|
-
conversationId,
|
|
295
|
-
}, 'Context cache cleared for conversation');
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
//# sourceMappingURL=ContextResolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContextResolver.js","sourceRoot":"","sources":["../../src/context/ContextResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
export interface TemplateContext {
|
|
2
|
-
[key: string]: unknown;
|
|
3
|
-
}
|
|
4
|
-
export interface TemplateRenderOptions {
|
|
5
|
-
strict?: boolean;
|
|
6
|
-
preserveUnresolved?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare class TemplateEngine {
|
|
9
|
-
private static readonly DEFAULT_OPTIONS;
|
|
10
|
-
/**
|
|
11
|
-
* Render a template string with context data using JMESPath
|
|
12
|
-
*/
|
|
13
|
-
static render(template: string, context: TemplateContext, options?: TemplateRenderOptions): string;
|
|
14
|
-
/**
|
|
15
|
-
* Process variable substitutions {{variable.path}} using JMESPath
|
|
16
|
-
*/
|
|
17
|
-
private static processVariables;
|
|
18
|
-
/**
|
|
19
|
-
* Process built-in variables like $now, $env, etc.
|
|
20
|
-
*/
|
|
21
|
-
private static processBuiltinVariable;
|
|
22
|
-
/**
|
|
23
|
-
* Check if template contains template variables
|
|
24
|
-
*/
|
|
25
|
-
private static hasTemplateVariables;
|
|
26
|
-
/**
|
|
27
|
-
* Extract all template variables from a template
|
|
28
|
-
*/
|
|
29
|
-
private static extractTemplateVariables;
|
|
30
|
-
/**
|
|
31
|
-
* Validate template syntax
|
|
32
|
-
*/
|
|
33
|
-
static validateTemplate(template: string): {
|
|
34
|
-
valid: boolean;
|
|
35
|
-
errors: string[];
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Preview template rendering with sample context
|
|
39
|
-
*/
|
|
40
|
-
static preview(template: string, sampleContext: TemplateContext, options?: TemplateRenderOptions): {
|
|
41
|
-
rendered: string;
|
|
42
|
-
variables: string[];
|
|
43
|
-
errors: string[];
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=TemplateEngine.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateEngine.d.ts","sourceRoot":"","sources":["../../src/context/TemplateEngine.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAGrC;IAEF;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,qBAA0B,GAClC,MAAM;IA2BT;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA8D/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IA2BrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAInC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAavC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IA+B/E;;OAEG;IACH,MAAM,CAAC,OAAO,CACZ,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,eAAe,EAC9B,OAAO,GAAE,qBAA0B,GAClC;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB;CAkBF"}
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import jmespath from 'jmespath';
|
|
2
|
-
import { getLogger } from '../utils/logger';
|
|
3
|
-
const logger = getLogger('template-engine');
|
|
4
|
-
export class TemplateEngine {
|
|
5
|
-
static DEFAULT_OPTIONS = {
|
|
6
|
-
strict: false,
|
|
7
|
-
preserveUnresolved: false,
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Render a template string with context data using JMESPath
|
|
11
|
-
*/
|
|
12
|
-
static render(template, context, options = {}) {
|
|
13
|
-
const opts = { ...TemplateEngine.DEFAULT_OPTIONS, ...options };
|
|
14
|
-
try {
|
|
15
|
-
// Process template variables using JMESPath
|
|
16
|
-
const rendered = TemplateEngine.processVariables(template, context, opts);
|
|
17
|
-
// Check for unresolved variables if strict mode
|
|
18
|
-
if (opts.strict && TemplateEngine.hasTemplateVariables(rendered)) {
|
|
19
|
-
const unresolvedVars = TemplateEngine.extractTemplateVariables(rendered);
|
|
20
|
-
throw new Error(`Unresolved template variables: ${unresolvedVars.join(', ')}`);
|
|
21
|
-
}
|
|
22
|
-
return rendered;
|
|
23
|
-
}
|
|
24
|
-
catch (error) {
|
|
25
|
-
logger.error({
|
|
26
|
-
template: template.substring(0, 100) + (template.length > 100 ? '...' : ''),
|
|
27
|
-
contextKeys: Object.keys(context),
|
|
28
|
-
error: error instanceof Error ? error.message : 'Unknown error',
|
|
29
|
-
}, 'Template rendering failed');
|
|
30
|
-
throw error;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Process variable substitutions {{variable.path}} using JMESPath
|
|
35
|
-
*/
|
|
36
|
-
static processVariables(template, context, options) {
|
|
37
|
-
return template.replace(/\{\{([^}]+)\}\}/g, (match, path) => {
|
|
38
|
-
const trimmedPath = path.trim();
|
|
39
|
-
try {
|
|
40
|
-
// Handle special built-in variables
|
|
41
|
-
if (trimmedPath.startsWith('$')) {
|
|
42
|
-
return TemplateEngine.processBuiltinVariable(trimmedPath);
|
|
43
|
-
}
|
|
44
|
-
// Use JMESPath to extract value from context
|
|
45
|
-
const result = jmespath.search(context, trimmedPath);
|
|
46
|
-
if (result === undefined || result === null) {
|
|
47
|
-
if (options.strict) {
|
|
48
|
-
throw new Error(`Template variable '${trimmedPath}' not found in context`);
|
|
49
|
-
}
|
|
50
|
-
if (options.preserveUnresolved) {
|
|
51
|
-
return match; // Keep original template
|
|
52
|
-
}
|
|
53
|
-
logger.warn({
|
|
54
|
-
variable: trimmedPath,
|
|
55
|
-
availableKeys: Object.keys(context),
|
|
56
|
-
}, 'Template variable not found in context');
|
|
57
|
-
return ''; // Replace with empty string
|
|
58
|
-
}
|
|
59
|
-
// Handle different types of values
|
|
60
|
-
if (typeof result === 'object') {
|
|
61
|
-
return JSON.stringify(result);
|
|
62
|
-
}
|
|
63
|
-
return String(result);
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
67
|
-
if (options.strict) {
|
|
68
|
-
throw new Error(`Failed to resolve template variable '${trimmedPath}': ${errorMessage}`);
|
|
69
|
-
}
|
|
70
|
-
logger.error({
|
|
71
|
-
variable: trimmedPath,
|
|
72
|
-
error: errorMessage,
|
|
73
|
-
}, 'Failed to resolve template variable');
|
|
74
|
-
return options.preserveUnresolved ? match : '';
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Process built-in variables like $now, $env, etc.
|
|
80
|
-
*/
|
|
81
|
-
static processBuiltinVariable(variable) {
|
|
82
|
-
switch (variable) {
|
|
83
|
-
case '$now':
|
|
84
|
-
return new Date().toISOString();
|
|
85
|
-
case '$timestamp':
|
|
86
|
-
return Date.now().toString();
|
|
87
|
-
case '$date':
|
|
88
|
-
return new Date().toDateString();
|
|
89
|
-
case '$time':
|
|
90
|
-
return new Date().toTimeString();
|
|
91
|
-
default:
|
|
92
|
-
// Check for environment variables like $env.NODE_ENV
|
|
93
|
-
if (variable.startsWith('$env.')) {
|
|
94
|
-
const envVar = variable.substring(5);
|
|
95
|
-
return process.env[envVar] || '';
|
|
96
|
-
}
|
|
97
|
-
logger.warn({
|
|
98
|
-
variable,
|
|
99
|
-
}, 'Unknown built-in variable');
|
|
100
|
-
return '';
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Check if template contains template variables
|
|
105
|
-
*/
|
|
106
|
-
static hasTemplateVariables(template) {
|
|
107
|
-
return /\{\{[^}]+\}\}/.test(template);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Extract all template variables from a template
|
|
111
|
-
*/
|
|
112
|
-
static extractTemplateVariables(template) {
|
|
113
|
-
const variables = [];
|
|
114
|
-
const regex = /\{\{([^}]+)\}\}/g;
|
|
115
|
-
const matches = template.matchAll(regex);
|
|
116
|
-
for (const match of matches) {
|
|
117
|
-
if (!match[1]) {
|
|
118
|
-
continue;
|
|
119
|
-
}
|
|
120
|
-
variables.push(match[1].trim());
|
|
121
|
-
}
|
|
122
|
-
return [...new Set(variables)]; // Remove duplicates
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Validate template syntax
|
|
126
|
-
*/
|
|
127
|
-
static validateTemplate(template) {
|
|
128
|
-
const errors = [];
|
|
129
|
-
try {
|
|
130
|
-
// Check for balanced braces
|
|
131
|
-
const openBraces = (template.match(/\{\{/g) || []).length;
|
|
132
|
-
const closeBraces = (template.match(/\}\}/g) || []).length;
|
|
133
|
-
if (openBraces !== closeBraces) {
|
|
134
|
-
errors.push(`Unbalanced template braces: ${openBraces} opening, ${closeBraces} closing`);
|
|
135
|
-
}
|
|
136
|
-
// Extract and validate variable paths
|
|
137
|
-
const variables = TemplateEngine.extractTemplateVariables(template);
|
|
138
|
-
for (const variable of variables) {
|
|
139
|
-
if (variable.includes('{{') || variable.includes('}}')) {
|
|
140
|
-
errors.push(`Nested template syntax in variable: ${variable}`);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return { valid: errors.length === 0, errors };
|
|
144
|
-
}
|
|
145
|
-
catch (error) {
|
|
146
|
-
return {
|
|
147
|
-
valid: false,
|
|
148
|
-
errors: [
|
|
149
|
-
`Template validation error: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
150
|
-
],
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Preview template rendering with sample context
|
|
156
|
-
*/
|
|
157
|
-
static preview(template, sampleContext, options = {}) {
|
|
158
|
-
const variables = TemplateEngine.extractTemplateVariables(template);
|
|
159
|
-
const errors = [];
|
|
160
|
-
let rendered = '';
|
|
161
|
-
try {
|
|
162
|
-
rendered = TemplateEngine.render(template, sampleContext, options);
|
|
163
|
-
}
|
|
164
|
-
catch (error) {
|
|
165
|
-
errors.push(error instanceof Error ? error.message : 'Unknown rendering error');
|
|
166
|
-
rendered = template; // Return original template on error
|
|
167
|
-
}
|
|
168
|
-
return {
|
|
169
|
-
rendered,
|
|
170
|
-
variables,
|
|
171
|
-
errors,
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
//# sourceMappingURL=TemplateEngine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateEngine.js","sourceRoot":"","sources":["../../src/context/TemplateEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type DatabaseClient } from '@inkeep/agents-core';
|
|
2
|
-
import { type ResolvedContext } from './ContextResolver';
|
|
3
|
-
import { CredentialStoreRegistry } from '../credential-stores/CredentialStoreRegistry';
|
|
4
|
-
declare function determineContextTrigger(tenantId: string, projectId: string, conversationId: string, dbClient: DatabaseClient): Promise<'initialization' | 'invocation'>;
|
|
5
|
-
declare function handleContextConfigChange(tenantId: string, projectId: string, conversationId: string, graphId: string, newContextConfigId: string, dbClient: DatabaseClient, credentialStores?: CredentialStoreRegistry): Promise<void>;
|
|
6
|
-
declare function handleContextResolution(tenantId: string, projectId: string, conversationId: string, graphId: string, requestContext: Record<string, unknown>, dbClient: DatabaseClient, credentialStores?: CredentialStoreRegistry): Promise<ResolvedContext | null>;
|
|
7
|
-
export { handleContextResolution, determineContextTrigger, handleContextConfigChange };
|
|
8
|
-
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAKpB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAQvF,iBAAe,uBAAuB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,GAAG,YAAY,CAAC,CAa1C;AAGD,iBAAe,yBAAyB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,cAAc,EACxB,gBAAgB,CAAC,EAAE,uBAAuB,GACzC,OAAO,CAAC,IAAI,CAAC,CAuBf;AAGD,iBAAe,uBAAuB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,QAAQ,EAAE,cAAc,EACxB,gBAAgB,CAAC,EAAE,uBAAuB,GACzC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA4JjC;AAED,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,CAAC"}
|