@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,264 +0,0 @@
|
|
|
1
|
-
import { Nango } from '@nangohq/node';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
import { getLogger } from '../utils/logger';
|
|
4
|
-
const logger = getLogger('nango-credential-store');
|
|
5
|
-
// Schema for validating credential key structure
|
|
6
|
-
const CredentialKeySchema = z.object({
|
|
7
|
-
connectionId: z.string().min(1, 'connectionId must be a non-empty string'),
|
|
8
|
-
providerConfigKey: z.string().min(1, 'providerConfigKey must be a non-empty string'),
|
|
9
|
-
});
|
|
10
|
-
const SUPPORTED_AUTH_MODES = [
|
|
11
|
-
'APP',
|
|
12
|
-
'API_KEY',
|
|
13
|
-
'BASIC',
|
|
14
|
-
'CUSTOM',
|
|
15
|
-
'JWT',
|
|
16
|
-
'NONE',
|
|
17
|
-
'OAUTH1',
|
|
18
|
-
'OAUTH2',
|
|
19
|
-
'OAUTH2_CC',
|
|
20
|
-
'TBA',
|
|
21
|
-
];
|
|
22
|
-
function isSupportedAuthMode(mode) {
|
|
23
|
-
return SUPPORTED_AUTH_MODES.includes(mode);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Nango-based CredentialStore that fetches OAuth credentials from Nango API
|
|
27
|
-
* Uses connectionId and providerConfigKey from metadata to fetch live credentials
|
|
28
|
-
*/
|
|
29
|
-
export class NangoCredentialStore {
|
|
30
|
-
id;
|
|
31
|
-
type = 'nango';
|
|
32
|
-
nangoConfig;
|
|
33
|
-
nangoClient;
|
|
34
|
-
constructor(id, config) {
|
|
35
|
-
this.id = id;
|
|
36
|
-
this.nangoConfig = config;
|
|
37
|
-
this.nangoClient = new Nango({
|
|
38
|
-
secretKey: this.nangoConfig.secretKey,
|
|
39
|
-
host: this.nangoConfig.apiUrl,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
getAccessToken(credentials) {
|
|
43
|
-
const { type } = credentials;
|
|
44
|
-
if (!isSupportedAuthMode(type)) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
switch (type) {
|
|
48
|
-
case 'API_KEY':
|
|
49
|
-
return {
|
|
50
|
-
token: credentials.apiKey,
|
|
51
|
-
};
|
|
52
|
-
case 'APP':
|
|
53
|
-
return {
|
|
54
|
-
token: credentials.access_token,
|
|
55
|
-
};
|
|
56
|
-
case 'BASIC':
|
|
57
|
-
return {
|
|
58
|
-
username: credentials.username,
|
|
59
|
-
token: credentials.password,
|
|
60
|
-
};
|
|
61
|
-
case 'CUSTOM':
|
|
62
|
-
return credentials.raw;
|
|
63
|
-
case 'JWT':
|
|
64
|
-
return {
|
|
65
|
-
token: credentials.token,
|
|
66
|
-
};
|
|
67
|
-
case 'OAUTH1':
|
|
68
|
-
return {
|
|
69
|
-
token: credentials.oauth_token,
|
|
70
|
-
token_secret: credentials.oauth_token_secret,
|
|
71
|
-
};
|
|
72
|
-
case 'OAUTH2':
|
|
73
|
-
return {
|
|
74
|
-
token: credentials.access_token,
|
|
75
|
-
refresh_token: credentials.refresh_token,
|
|
76
|
-
};
|
|
77
|
-
case 'OAUTH2_CC':
|
|
78
|
-
return {
|
|
79
|
-
token: credentials.token,
|
|
80
|
-
client_certificate: credentials.client_certificate,
|
|
81
|
-
client_id: credentials.client_id,
|
|
82
|
-
client_private_key: credentials.client_private_key,
|
|
83
|
-
client_secret: credentials.client_secret,
|
|
84
|
-
};
|
|
85
|
-
case 'TBA':
|
|
86
|
-
return {
|
|
87
|
-
token: credentials.token_id,
|
|
88
|
-
token_secret: credentials.token_secret,
|
|
89
|
-
};
|
|
90
|
-
default:
|
|
91
|
-
return null;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
sanitizeMetadata(metadata) {
|
|
95
|
-
if (!metadata || typeof metadata !== 'object')
|
|
96
|
-
return {};
|
|
97
|
-
const result = {};
|
|
98
|
-
for (const [key, value] of Object.entries(metadata)) {
|
|
99
|
-
if (typeof key !== 'string')
|
|
100
|
-
continue;
|
|
101
|
-
if (typeof value === 'string') {
|
|
102
|
-
result[key] = value;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return result;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Fetch credentials from Nango API using connection information
|
|
109
|
-
* @param connectionId - The connection ID for the Nango connection
|
|
110
|
-
* @param providerConfigKey - The provider config key for the Nango connection
|
|
111
|
-
* @returns The credential data or null if the credentials are not found
|
|
112
|
-
*/
|
|
113
|
-
async fetchCredentialsFromNango({ connectionId, providerConfigKey, }) {
|
|
114
|
-
try {
|
|
115
|
-
const nangoConnection = await this.nangoClient.getConnection(providerConfigKey, connectionId);
|
|
116
|
-
const tokenAndCredentials = this.getAccessToken(nangoConnection.credentials) ?? {};
|
|
117
|
-
// Return credential data with Nango MCP server headers
|
|
118
|
-
const credentialData = {
|
|
119
|
-
...tokenAndCredentials,
|
|
120
|
-
connectionId,
|
|
121
|
-
providerConfigKey,
|
|
122
|
-
provider: nangoConnection.provider || 'unknown',
|
|
123
|
-
secretKey: this.nangoConfig.secretKey,
|
|
124
|
-
metadata: this.sanitizeMetadata(nangoConnection.metadata ?? {}),
|
|
125
|
-
};
|
|
126
|
-
return credentialData;
|
|
127
|
-
}
|
|
128
|
-
catch (error) {
|
|
129
|
-
logger.error({
|
|
130
|
-
error: error instanceof Error ? error.message : 'Unknown error',
|
|
131
|
-
connectionId,
|
|
132
|
-
providerConfigKey,
|
|
133
|
-
}, 'Error fetching credentials from Nango');
|
|
134
|
-
return null;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Get credentials by key - implements CredentialStore interface
|
|
139
|
-
* Key format: JSON string with connectionId and providerConfigKey
|
|
140
|
-
*/
|
|
141
|
-
async get(key) {
|
|
142
|
-
try {
|
|
143
|
-
// Parse and validate the JSON key structure
|
|
144
|
-
let parsedKey;
|
|
145
|
-
try {
|
|
146
|
-
parsedKey = JSON.parse(key);
|
|
147
|
-
}
|
|
148
|
-
catch (parseError) {
|
|
149
|
-
logger.warn({
|
|
150
|
-
storeId: this.id,
|
|
151
|
-
key: key.substring(0, 50), // Log only first 100 chars to avoid log pollution
|
|
152
|
-
error: parseError instanceof Error ? parseError.message : 'Unknown parsing error',
|
|
153
|
-
}, 'Invalid JSON format in credential key');
|
|
154
|
-
return null;
|
|
155
|
-
}
|
|
156
|
-
// Validate the parsed key structure using Zod
|
|
157
|
-
const validationResult = CredentialKeySchema.safeParse(parsedKey);
|
|
158
|
-
if (!validationResult.success) {
|
|
159
|
-
logger.warn({
|
|
160
|
-
storeId: this.id,
|
|
161
|
-
key: key.substring(0, 100),
|
|
162
|
-
validationErrors: validationResult.error.issues,
|
|
163
|
-
}, 'Invalid credential key structure');
|
|
164
|
-
return null;
|
|
165
|
-
}
|
|
166
|
-
const { connectionId, providerConfigKey } = validationResult.data;
|
|
167
|
-
const credentials = await this.fetchCredentialsFromNango({ connectionId, providerConfigKey });
|
|
168
|
-
if (!credentials) {
|
|
169
|
-
return null;
|
|
170
|
-
}
|
|
171
|
-
const credentialString = JSON.stringify(credentials);
|
|
172
|
-
return credentialString;
|
|
173
|
-
}
|
|
174
|
-
catch (error) {
|
|
175
|
-
logger.error({
|
|
176
|
-
storeId: this.id,
|
|
177
|
-
key: key.substring(0, 100),
|
|
178
|
-
error: error instanceof Error ? error.message : 'Unknown error',
|
|
179
|
-
}, 'Error getting credentials from Nango');
|
|
180
|
-
return null;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Set credentials - not supported for Nango (OAuth flow handles this)
|
|
185
|
-
*/
|
|
186
|
-
async set(key, value) {
|
|
187
|
-
throw new Error('Setting credentials not supported for Nango store - use OAuth flow instead');
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Check if credentials exist by attempting to fetch them
|
|
191
|
-
*/
|
|
192
|
-
async has(key) {
|
|
193
|
-
try {
|
|
194
|
-
const credentials = await this.get(key);
|
|
195
|
-
return credentials !== null;
|
|
196
|
-
}
|
|
197
|
-
catch (error) {
|
|
198
|
-
logger.error({
|
|
199
|
-
error: error instanceof Error ? error.message : 'Unknown error',
|
|
200
|
-
key,
|
|
201
|
-
}, 'Error checking credentials existence');
|
|
202
|
-
return false;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Delete credentials - not supported for Nango (revoke through Nango dashboard)
|
|
207
|
-
*/
|
|
208
|
-
async delete(key) {
|
|
209
|
-
try {
|
|
210
|
-
// Parse and validate the JSON key structure
|
|
211
|
-
let parsedKey;
|
|
212
|
-
try {
|
|
213
|
-
parsedKey = JSON.parse(key);
|
|
214
|
-
}
|
|
215
|
-
catch (parseError) {
|
|
216
|
-
logger.warn({
|
|
217
|
-
storeId: this.id,
|
|
218
|
-
key: key.substring(0, 50), // Log only first 100 chars to avoid log pollution
|
|
219
|
-
error: parseError instanceof Error ? parseError.message : 'Unknown parsing error',
|
|
220
|
-
}, 'Invalid JSON format in credential key');
|
|
221
|
-
return false;
|
|
222
|
-
}
|
|
223
|
-
// Validate the parsed key structure using Zod
|
|
224
|
-
const validationResult = CredentialKeySchema.safeParse(parsedKey);
|
|
225
|
-
if (!validationResult.success) {
|
|
226
|
-
logger.warn({
|
|
227
|
-
storeId: this.id,
|
|
228
|
-
key: key.substring(0, 100),
|
|
229
|
-
validationErrors: validationResult.error.issues,
|
|
230
|
-
}, 'Invalid credential key structure');
|
|
231
|
-
return false;
|
|
232
|
-
}
|
|
233
|
-
const { connectionId, providerConfigKey } = validationResult.data;
|
|
234
|
-
await this.nangoClient.deleteConnection(providerConfigKey, connectionId);
|
|
235
|
-
return true;
|
|
236
|
-
}
|
|
237
|
-
catch (error) {
|
|
238
|
-
logger.error({
|
|
239
|
-
storeId: this.id,
|
|
240
|
-
key: key.substring(0, 100),
|
|
241
|
-
error: error instanceof Error ? error.message : 'Unknown error',
|
|
242
|
-
}, 'Error deleting credentials from Nango');
|
|
243
|
-
return false;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Factory function to create NangoCredentialStore
|
|
249
|
-
* Automatically reads NANGO_SECRET_KEY from environment and validates it
|
|
250
|
-
*/
|
|
251
|
-
export function createNangoCredentialStore(id, config) {
|
|
252
|
-
const nangoSecretKey = config?.secretKey || process.env.NANGO_SECRET_KEY;
|
|
253
|
-
if (!nangoSecretKey ||
|
|
254
|
-
nangoSecretKey === 'your_nango_secret_key' ||
|
|
255
|
-
nangoSecretKey.includes('mock')) {
|
|
256
|
-
throw new Error('NANGO_SECRET_KEY environment variable is required and must be a real Nango secret key (not mock/placeholder)');
|
|
257
|
-
}
|
|
258
|
-
return new NangoCredentialStore(id, {
|
|
259
|
-
apiUrl: 'https://api.nango.dev',
|
|
260
|
-
...config,
|
|
261
|
-
secretKey: nangoSecretKey,
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
//# sourceMappingURL=nango-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nango-store.js","sourceRoot":"","sources":["../../src/credential-stores/nango-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import type { CredentialStoreRegistry } from '../credential-stores/CredentialStoreRegistry';
|
|
2
|
-
import type { MCPToolConfig } from '../types/index';
|
|
3
|
-
import { type Logger } from '../utils/logger';
|
|
4
|
-
import type { McpServerConfig } from '../utils/mcp-client';
|
|
5
|
-
/**
|
|
6
|
-
* Context object for credential operations
|
|
7
|
-
*/
|
|
8
|
-
export interface CredentialContext {
|
|
9
|
-
/** Tenant identifier */
|
|
10
|
-
tenantId: string;
|
|
11
|
-
/** Project identifier */
|
|
12
|
-
projectId: string;
|
|
13
|
-
/** Conversation identifier */
|
|
14
|
-
conversationId?: string;
|
|
15
|
-
/** Context configuration identifier */
|
|
16
|
-
contextConfigId?: string;
|
|
17
|
-
/** Additional context data */
|
|
18
|
-
metadata?: Record<string, unknown>;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Base credential data structure containing headers and metadata
|
|
22
|
-
*/
|
|
23
|
-
export interface CredentialData {
|
|
24
|
-
/** HTTP headers for authentication */
|
|
25
|
-
headers: Record<string, string>;
|
|
26
|
-
/** Additional metadata for the credentials */
|
|
27
|
-
metadata?: Record<string, any>;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Credential store reference for lookups
|
|
31
|
-
*/
|
|
32
|
-
export interface CredentialStoreReference {
|
|
33
|
-
/** Framework credential store ID */
|
|
34
|
-
credentialStoreId: string;
|
|
35
|
-
/** Configuration parameters for credential retrieval */
|
|
36
|
-
retrievalParams: Record<string, unknown>;
|
|
37
|
-
}
|
|
38
|
-
export interface CredentialResolverInput {
|
|
39
|
-
context: CredentialContext;
|
|
40
|
-
mcpType?: MCPToolConfig['mcpType'];
|
|
41
|
-
storeReference?: CredentialStoreReference;
|
|
42
|
-
headers?: Record<string, string>;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Interface for context resolver (optional)
|
|
46
|
-
*/
|
|
47
|
-
export interface ContextResolverInterface {
|
|
48
|
-
resolveRequestContext(conversationId: string, contextConfigId: string): Promise<Record<string, unknown>>;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Manages credential retrieval and injection for MCP tools
|
|
52
|
-
* Uses CredentialStoreRegistry for credential store management
|
|
53
|
-
*/
|
|
54
|
-
export declare class CredentialStuffer {
|
|
55
|
-
private credentialStoreRegistry;
|
|
56
|
-
private contextResolver?;
|
|
57
|
-
private readonly logger;
|
|
58
|
-
constructor(credentialStoreRegistry: CredentialStoreRegistry, contextResolver?: ContextResolverInterface | undefined, logger?: Logger);
|
|
59
|
-
/**
|
|
60
|
-
* Retrieve credentials from credential store registry
|
|
61
|
-
*/
|
|
62
|
-
getCredentials(context: CredentialContext, storeReference: CredentialStoreReference, mcpType?: MCPToolConfig['mcpType']): Promise<CredentialData | null>;
|
|
63
|
-
/**
|
|
64
|
-
* Generate credential lookup key based on store type
|
|
65
|
-
*/
|
|
66
|
-
private generateCredentialKey;
|
|
67
|
-
/**
|
|
68
|
-
* Get credentials from request context
|
|
69
|
-
*/
|
|
70
|
-
getCredentialsFromRequestContext(credentialContext: CredentialContext, headers: Record<string, string>): Promise<CredentialData | null>;
|
|
71
|
-
/**
|
|
72
|
-
* Get credential headers for MCP server configuration
|
|
73
|
-
*/
|
|
74
|
-
getCredentialHeaders({ context, mcpType, storeReference, headers, }: CredentialResolverInput): Promise<Record<string, string>>;
|
|
75
|
-
/**
|
|
76
|
-
* Build MCP server configuration with credentials
|
|
77
|
-
*/
|
|
78
|
-
buildMcpServerConfig(context: CredentialContext, tool: MCPToolConfig, storeReference?: CredentialStoreReference): Promise<McpServerConfig>;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=CredentialStuffer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CredentialStuffer.d.ts","sourceRoot":"","sources":["../../src/credential-stuffer/CredentialStuffer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAE5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IAEjB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,CACnB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,eAAe,CAAC;IAJ1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAGtB,uBAAuB,EAAE,uBAAuB,EAChD,eAAe,CAAC,EAAE,wBAAwB,YAAA,EAClD,MAAM,CAAC,EAAE,MAAM;IAKjB;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,iBAAiB,EAC1B,cAAc,EAAE,wBAAwB,EACxC,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,GACjC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA2FjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACG,gCAAgC,CACpC,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA8BjC;;OAEG;IACG,oBAAoB,CAAC,EACzB,OAAO,EACP,OAAO,EACP,cAAc,EACd,OAAO,GACR,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA4B5D;;OAEG;IACG,oBAAoB,CACxB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,aAAa,EACnB,cAAc,CAAC,EAAE,wBAAwB,GACxC,OAAO,CAAC,eAAe,CAAC;CAmC5B"}
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { TemplateEngine } from '../context/TemplateEngine';
|
|
2
|
-
import { getCredentialStoreLookupKeyFromRetrievalParams } from '../utils/credential-store-utils';
|
|
3
|
-
import { getLogger } from '../utils/logger';
|
|
4
|
-
/**
|
|
5
|
-
* Manages credential retrieval and injection for MCP tools
|
|
6
|
-
* Uses CredentialStoreRegistry for credential store management
|
|
7
|
-
*/
|
|
8
|
-
export class CredentialStuffer {
|
|
9
|
-
credentialStoreRegistry;
|
|
10
|
-
contextResolver;
|
|
11
|
-
logger;
|
|
12
|
-
constructor(credentialStoreRegistry, contextResolver, logger) {
|
|
13
|
-
this.credentialStoreRegistry = credentialStoreRegistry;
|
|
14
|
-
this.contextResolver = contextResolver;
|
|
15
|
-
this.logger = logger || getLogger('credential-stuffer');
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Retrieve credentials from credential store registry
|
|
19
|
-
*/
|
|
20
|
-
async getCredentials(context, storeReference, mcpType) {
|
|
21
|
-
// Get the credential store from registry
|
|
22
|
-
const credentialStore = this.credentialStoreRegistry.get(storeReference.credentialStoreId);
|
|
23
|
-
if (!credentialStore) {
|
|
24
|
-
this.logger.warn({
|
|
25
|
-
tenantId: context.tenantId,
|
|
26
|
-
credentialStoreId: storeReference.credentialStoreId,
|
|
27
|
-
availableStores: this.credentialStoreRegistry.getIds(),
|
|
28
|
-
}, 'Credential store not found in registry');
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
const key = this.generateCredentialKey(context, storeReference, credentialStore.type);
|
|
32
|
-
const credentialDataString = await credentialStore.get(key);
|
|
33
|
-
if (!credentialDataString) {
|
|
34
|
-
this.logger.warn({
|
|
35
|
-
tenantId: context.tenantId,
|
|
36
|
-
credentialStoreId: storeReference.credentialStoreId,
|
|
37
|
-
lookupKey: key,
|
|
38
|
-
}, 'No credential data found for key');
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
if (credentialStore.type === 'nango') {
|
|
42
|
-
try {
|
|
43
|
-
const nangoCredentialData = JSON.parse(credentialDataString);
|
|
44
|
-
if (mcpType === 'nango') {
|
|
45
|
-
return {
|
|
46
|
-
headers: {
|
|
47
|
-
// For Nango MCP, authenticate with the Nango secret key
|
|
48
|
-
Authorization: `Bearer ${nangoCredentialData.secretKey}`,
|
|
49
|
-
'provider-config-key': nangoCredentialData.providerConfigKey,
|
|
50
|
-
'connection-id': nangoCredentialData.connectionId,
|
|
51
|
-
},
|
|
52
|
-
metadata: nangoCredentialData.metadata,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
const headers = {};
|
|
56
|
-
if (nangoCredentialData.token) {
|
|
57
|
-
headers.Authorization = `Bearer ${nangoCredentialData.token}`;
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
headers,
|
|
61
|
-
metadata: nangoCredentialData.metadata,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
catch (parseError) {
|
|
65
|
-
this.logger.error({
|
|
66
|
-
tenantId: context.tenantId,
|
|
67
|
-
credentialStoreId: storeReference.credentialStoreId,
|
|
68
|
-
parseError: parseError instanceof Error ? parseError.message : 'Unknown error',
|
|
69
|
-
}, 'Failed to parse credential data JSON');
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (credentialStore.type === 'keychain') {
|
|
74
|
-
try {
|
|
75
|
-
const oauthTokens = JSON.parse(credentialDataString);
|
|
76
|
-
if (oauthTokens.access_token) {
|
|
77
|
-
return {
|
|
78
|
-
headers: {
|
|
79
|
-
Authorization: `Bearer ${oauthTokens.access_token}`,
|
|
80
|
-
},
|
|
81
|
-
metadata: {},
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
// Not JSON or invalid JSON - fall through to treat as simple token
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
headers: {
|
|
91
|
-
Authorization: `Bearer ${credentialDataString}`,
|
|
92
|
-
},
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Generate credential lookup key based on store type
|
|
97
|
-
*/
|
|
98
|
-
generateCredentialKey(context, storeReference, credentialStoreType) {
|
|
99
|
-
return (getCredentialStoreLookupKeyFromRetrievalParams({
|
|
100
|
-
retrievalParams: storeReference.retrievalParams,
|
|
101
|
-
credentialStoreType,
|
|
102
|
-
}) || context.tenantId);
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Get credentials from request context
|
|
106
|
-
*/
|
|
107
|
-
async getCredentialsFromRequestContext(credentialContext, headers) {
|
|
108
|
-
const contextConfigId = credentialContext.contextConfigId;
|
|
109
|
-
const conversationId = credentialContext.conversationId;
|
|
110
|
-
if (!contextConfigId || !conversationId || !this.contextResolver) {
|
|
111
|
-
return null;
|
|
112
|
-
}
|
|
113
|
-
// Resolve the request context
|
|
114
|
-
const requestContext = await this.contextResolver.resolveRequestContext(conversationId, contextConfigId);
|
|
115
|
-
// Render any template variables in dynamic header values
|
|
116
|
-
const resolvedHeaders = {};
|
|
117
|
-
for (const [key, value] of Object.entries(headers)) {
|
|
118
|
-
resolvedHeaders[key] = TemplateEngine.render(value, { requestContext: requestContext }, { strict: true });
|
|
119
|
-
}
|
|
120
|
-
return {
|
|
121
|
-
headers: resolvedHeaders,
|
|
122
|
-
metadata: {},
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Get credential headers for MCP server configuration
|
|
127
|
-
*/
|
|
128
|
-
async getCredentialHeaders({ context, mcpType, storeReference, headers, }) {
|
|
129
|
-
let credentialsFromRequestContext = null;
|
|
130
|
-
// Resolve headers from request context if we have metadata to fetch context and headers to resolve
|
|
131
|
-
if (context.contextConfigId && context.conversationId && headers) {
|
|
132
|
-
credentialsFromRequestContext = await this.getCredentialsFromRequestContext(context, headers);
|
|
133
|
-
}
|
|
134
|
-
// Resolve headers from credential store if we have a store reference
|
|
135
|
-
let credentialStoreHeaders = null;
|
|
136
|
-
if (storeReference) {
|
|
137
|
-
credentialStoreHeaders = await this.getCredentials(context, storeReference, mcpType);
|
|
138
|
-
}
|
|
139
|
-
// If we have no credential store headers, return the headers from the request context
|
|
140
|
-
if (!credentialStoreHeaders) {
|
|
141
|
-
return credentialsFromRequestContext ? credentialsFromRequestContext.headers : {};
|
|
142
|
-
}
|
|
143
|
-
// Combine results from both sources
|
|
144
|
-
const combinedHeaders = {
|
|
145
|
-
...credentialStoreHeaders.headers,
|
|
146
|
-
...credentialStoreHeaders.metadata,
|
|
147
|
-
...credentialsFromRequestContext?.headers,
|
|
148
|
-
};
|
|
149
|
-
return combinedHeaders;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Build MCP server configuration with credentials
|
|
153
|
-
*/
|
|
154
|
-
async buildMcpServerConfig(context, tool, storeReference) {
|
|
155
|
-
// Get credential headers if available
|
|
156
|
-
let credentialHeaders = {};
|
|
157
|
-
if (storeReference || tool.headers) {
|
|
158
|
-
credentialHeaders = await this.getCredentialHeaders({
|
|
159
|
-
context: context,
|
|
160
|
-
mcpType: tool.mcpType,
|
|
161
|
-
storeReference,
|
|
162
|
-
headers: tool.headers || {},
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
// Build base configuration
|
|
166
|
-
const baseConfig = {
|
|
167
|
-
type: tool.transport?.type || 'streamable_http',
|
|
168
|
-
url: tool.serverUrl,
|
|
169
|
-
activeTools: tool.activeTools,
|
|
170
|
-
};
|
|
171
|
-
// Add configuration based on transport type
|
|
172
|
-
if (baseConfig.type === 'streamable_http' || baseConfig.type === 'sse') {
|
|
173
|
-
const httpConfig = {
|
|
174
|
-
...baseConfig,
|
|
175
|
-
url: tool.serverUrl,
|
|
176
|
-
headers: {
|
|
177
|
-
...tool.headers,
|
|
178
|
-
...credentialHeaders,
|
|
179
|
-
},
|
|
180
|
-
};
|
|
181
|
-
return httpConfig;
|
|
182
|
-
}
|
|
183
|
-
return baseConfig;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
//# sourceMappingURL=CredentialStuffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CredentialStuffer.js","sourceRoot":"","sources":["../../src/credential-stuffer/CredentialStuffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/credential-stuffer/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/credential-stuffer/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=agentDataComponents.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agentDataComponents.d.ts","sourceRoot":"","sources":["../../src/data-access/agentDataComponents.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agentDataComponents.js","sourceRoot":"","sources":["../../src/data-access/agentDataComponents.ts"],"names":[],"mappings":""}
|