@id-wispera/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/README.md +268 -0
- package/dist/audit.d.ts +68 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +252 -0
- package/dist/audit.js.map +1 -0
- package/dist/auth/index.d.ts +8 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +8 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/keychainProvider.d.ts +40 -0
- package/dist/auth/keychainProvider.d.ts.map +1 -0
- package/dist/auth/keychainProvider.js +98 -0
- package/dist/auth/keychainProvider.js.map +1 -0
- package/dist/auth/passphraseProvider.d.ts +80 -0
- package/dist/auth/passphraseProvider.d.ts.map +1 -0
- package/dist/auth/passphraseProvider.js +188 -0
- package/dist/auth/passphraseProvider.js.map +1 -0
- package/dist/auth/sessionTokenManager.d.ts +106 -0
- package/dist/auth/sessionTokenManager.d.ts.map +1 -0
- package/dist/auth/sessionTokenManager.js +263 -0
- package/dist/auth/sessionTokenManager.js.map +1 -0
- package/dist/delegation.d.ts +81 -0
- package/dist/delegation.d.ts.map +1 -0
- package/dist/delegation.js +299 -0
- package/dist/delegation.js.map +1 -0
- package/dist/detection.d.ts +35 -0
- package/dist/detection.d.ts.map +1 -0
- package/dist/detection.js +474 -0
- package/dist/detection.js.map +1 -0
- package/dist/exec/execManager.d.ts +60 -0
- package/dist/exec/execManager.d.ts.map +1 -0
- package/dist/exec/execManager.js +226 -0
- package/dist/exec/execManager.js.map +1 -0
- package/dist/exec/index.d.ts +6 -0
- package/dist/exec/index.d.ts.map +1 -0
- package/dist/exec/index.js +5 -0
- package/dist/exec/index.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +98 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/base.d.ts +64 -0
- package/dist/integrations/base.d.ts.map +1 -0
- package/dist/integrations/base.js +173 -0
- package/dist/integrations/base.js.map +1 -0
- package/dist/integrations/envMapping.d.ts +47 -0
- package/dist/integrations/envMapping.d.ts.map +1 -0
- package/dist/integrations/envMapping.js +174 -0
- package/dist/integrations/envMapping.js.map +1 -0
- package/dist/integrations/google-a2a.d.ts +48 -0
- package/dist/integrations/google-a2a.d.ts.map +1 -0
- package/dist/integrations/google-a2a.js +108 -0
- package/dist/integrations/google-a2a.js.map +1 -0
- package/dist/integrations/index.d.ts +14 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +14 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/langchain.d.ts +38 -0
- package/dist/integrations/langchain.d.ts.map +1 -0
- package/dist/integrations/langchain.js +45 -0
- package/dist/integrations/langchain.js.map +1 -0
- package/dist/integrations/openai-agents.d.ts +76 -0
- package/dist/integrations/openai-agents.d.ts.map +1 -0
- package/dist/integrations/openai-agents.js +95 -0
- package/dist/integrations/openai-agents.js.map +1 -0
- package/dist/integrations/slack.d.ts +59 -0
- package/dist/integrations/slack.d.ts.map +1 -0
- package/dist/integrations/slack.js +113 -0
- package/dist/integrations/slack.js.map +1 -0
- package/dist/integrations/types.d.ts +107 -0
- package/dist/integrations/types.d.ts.map +1 -0
- package/dist/integrations/types.js +6 -0
- package/dist/integrations/types.js.map +1 -0
- package/dist/locations.d.ts +157 -0
- package/dist/locations.d.ts.map +1 -0
- package/dist/locations.js +733 -0
- package/dist/locations.js.map +1 -0
- package/dist/passport.d.ts +70 -0
- package/dist/passport.d.ts.map +1 -0
- package/dist/passport.js +429 -0
- package/dist/passport.js.map +1 -0
- package/dist/policy.d.ts +80 -0
- package/dist/policy.d.ts.map +1 -0
- package/dist/policy.js +392 -0
- package/dist/policy.js.map +1 -0
- package/dist/providers/openclaw.d.ts +80 -0
- package/dist/providers/openclaw.d.ts.map +1 -0
- package/dist/providers/openclaw.js +712 -0
- package/dist/providers/openclaw.js.map +1 -0
- package/dist/provisioning/adminPassport.d.ts +51 -0
- package/dist/provisioning/adminPassport.d.ts.map +1 -0
- package/dist/provisioning/adminPassport.js +101 -0
- package/dist/provisioning/adminPassport.js.map +1 -0
- package/dist/provisioning/index.d.ts +81 -0
- package/dist/provisioning/index.d.ts.map +1 -0
- package/dist/provisioning/index.js +141 -0
- package/dist/provisioning/index.js.map +1 -0
- package/dist/provisioning/provider.d.ts +59 -0
- package/dist/provisioning/provider.d.ts.map +1 -0
- package/dist/provisioning/provider.js +52 -0
- package/dist/provisioning/provider.js.map +1 -0
- package/dist/provisioning/providers/anthropic.d.ts +32 -0
- package/dist/provisioning/providers/anthropic.d.ts.map +1 -0
- package/dist/provisioning/providers/anthropic.js +116 -0
- package/dist/provisioning/providers/anthropic.js.map +1 -0
- package/dist/provisioning/providers/aws.d.ts +29 -0
- package/dist/provisioning/providers/aws.d.ts.map +1 -0
- package/dist/provisioning/providers/aws.js +455 -0
- package/dist/provisioning/providers/aws.js.map +1 -0
- package/dist/provisioning/providers/azure-entra.d.ts +32 -0
- package/dist/provisioning/providers/azure-entra.d.ts.map +1 -0
- package/dist/provisioning/providers/azure-entra.js +312 -0
- package/dist/provisioning/providers/azure-entra.js.map +1 -0
- package/dist/provisioning/providers/github.d.ts +24 -0
- package/dist/provisioning/providers/github.d.ts.map +1 -0
- package/dist/provisioning/providers/github.js +219 -0
- package/dist/provisioning/providers/github.js.map +1 -0
- package/dist/provisioning/providers/google-cloud.d.ts +34 -0
- package/dist/provisioning/providers/google-cloud.d.ts.map +1 -0
- package/dist/provisioning/providers/google-cloud.js +366 -0
- package/dist/provisioning/providers/google-cloud.js.map +1 -0
- package/dist/provisioning/providers/openai.d.ts +29 -0
- package/dist/provisioning/providers/openai.d.ts.map +1 -0
- package/dist/provisioning/providers/openai.js +263 -0
- package/dist/provisioning/providers/openai.js.map +1 -0
- package/dist/provisioning/providers/sendgrid.d.ts +27 -0
- package/dist/provisioning/providers/sendgrid.d.ts.map +1 -0
- package/dist/provisioning/providers/sendgrid.js +186 -0
- package/dist/provisioning/providers/sendgrid.js.map +1 -0
- package/dist/provisioning/providers/twilio.d.ts +27 -0
- package/dist/provisioning/providers/twilio.d.ts.map +1 -0
- package/dist/provisioning/providers/twilio.js +194 -0
- package/dist/provisioning/providers/twilio.js.map +1 -0
- package/dist/provisioning/types.d.ts +274 -0
- package/dist/provisioning/types.d.ts.map +1 -0
- package/dist/provisioning/types.js +6 -0
- package/dist/provisioning/types.js.map +1 -0
- package/dist/sharing.d.ts +60 -0
- package/dist/sharing.d.ts.map +1 -0
- package/dist/sharing.js +305 -0
- package/dist/sharing.js.map +1 -0
- package/dist/types.d.ts +396 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +88 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +45 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +110 -0
- package/dist/utils.js.map +1 -0
- package/dist/vault.d.ts +151 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/vault.js +499 -0
- package/dist/vault.js.map +1 -0
- package/package.json +117 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/integrations/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-to-Environment-Variable Mapping
|
|
3
|
+
*
|
|
4
|
+
* Defines a canonical mapping from platform + credential type to the
|
|
5
|
+
* environment variable names that each platform's SDK expects.
|
|
6
|
+
*
|
|
7
|
+
* When a passport has a known platform, `idw exec` can automatically
|
|
8
|
+
* determine which env var to inject without requiring --as overrides.
|
|
9
|
+
*/
|
|
10
|
+
export interface EnvVarMapping {
|
|
11
|
+
/** Primary environment variable name (e.g., OPENAI_API_KEY) */
|
|
12
|
+
primary: string;
|
|
13
|
+
/** Alternative env var names the SDK also recognizes */
|
|
14
|
+
aliases?: string[];
|
|
15
|
+
/** Human-readable description for help text */
|
|
16
|
+
description: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Canonical mapping: platform -> credential type -> env var(s)
|
|
20
|
+
*
|
|
21
|
+
* When a passport has a known platform, `idw exec` can automatically
|
|
22
|
+
* determine which env var to inject without requiring --as overrides.
|
|
23
|
+
*/
|
|
24
|
+
export declare const PLATFORM_ENV_MAP: Record<string, Record<string, EnvVarMapping>>;
|
|
25
|
+
/**
|
|
26
|
+
* Resolve the environment variable name for a given passport.
|
|
27
|
+
*
|
|
28
|
+
* Resolution order:
|
|
29
|
+
* 1. Explicit --as override (always wins)
|
|
30
|
+
* 2. Platform + credential type lookup in PLATFORM_ENV_MAP
|
|
31
|
+
* 3. Generic fallback: IDW_{PASSPORT_NAME_UPPER}
|
|
32
|
+
*
|
|
33
|
+
* @returns { envVarName, source } where source indicates how the name was resolved
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveEnvVarName(passport: {
|
|
36
|
+
name: string;
|
|
37
|
+
platforms: string[];
|
|
38
|
+
credentialType: string;
|
|
39
|
+
}, explicitName?: string): {
|
|
40
|
+
envVarName: string;
|
|
41
|
+
source: 'explicit' | 'platform-map' | 'fallback';
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Get all known env var mappings for a platform (for help text / docs).
|
|
45
|
+
*/
|
|
46
|
+
export declare function getPlatformEnvVars(platform: string): EnvVarMapping[];
|
|
47
|
+
//# sourceMappingURL=envMapping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envMapping.d.ts","sourceRoot":"","sources":["../../src/integrations/envMapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAmH1E,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,EACvE,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU,CAAA;CAAE,CAwB1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAIpE"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-to-Environment-Variable Mapping
|
|
3
|
+
*
|
|
4
|
+
* Defines a canonical mapping from platform + credential type to the
|
|
5
|
+
* environment variable names that each platform's SDK expects.
|
|
6
|
+
*
|
|
7
|
+
* When a passport has a known platform, `idw exec` can automatically
|
|
8
|
+
* determine which env var to inject without requiring --as overrides.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Canonical mapping: platform -> credential type -> env var(s)
|
|
12
|
+
*
|
|
13
|
+
* When a passport has a known platform, `idw exec` can automatically
|
|
14
|
+
* determine which env var to inject without requiring --as overrides.
|
|
15
|
+
*/
|
|
16
|
+
export const PLATFORM_ENV_MAP = {
|
|
17
|
+
openai: {
|
|
18
|
+
'api-key': {
|
|
19
|
+
primary: 'OPENAI_API_KEY',
|
|
20
|
+
aliases: ['OPENAI_KEY'],
|
|
21
|
+
description: 'OpenAI API key for GPT models and Agents SDK',
|
|
22
|
+
},
|
|
23
|
+
'oauth-token': {
|
|
24
|
+
primary: 'OPENAI_API_KEY',
|
|
25
|
+
description: 'OpenAI OAuth token (used same as API key)',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
anthropic: {
|
|
29
|
+
'api-key': {
|
|
30
|
+
primary: 'ANTHROPIC_API_KEY',
|
|
31
|
+
description: 'Anthropic API key for Claude models',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
'google-a2a': {
|
|
35
|
+
'api-key': {
|
|
36
|
+
primary: 'GOOGLE_API_KEY',
|
|
37
|
+
aliases: ['GOOGLE_APPLICATION_CREDENTIALS'],
|
|
38
|
+
description: 'Google Cloud / A2A API key',
|
|
39
|
+
},
|
|
40
|
+
'oauth-token': {
|
|
41
|
+
primary: 'GOOGLE_APPLICATION_CREDENTIALS',
|
|
42
|
+
description: 'Google OAuth token / service account',
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
'azure-ai': {
|
|
46
|
+
'api-key': {
|
|
47
|
+
primary: 'AZURE_OPENAI_API_KEY',
|
|
48
|
+
aliases: ['AZURE_API_KEY'],
|
|
49
|
+
description: 'Azure OpenAI API key',
|
|
50
|
+
},
|
|
51
|
+
'connection-string': {
|
|
52
|
+
primary: 'AZURE_OPENAI_ENDPOINT',
|
|
53
|
+
description: 'Azure OpenAI endpoint connection string',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
aws: {
|
|
57
|
+
'api-key': {
|
|
58
|
+
primary: 'AWS_ACCESS_KEY_ID',
|
|
59
|
+
description: 'AWS access key ID (inject secret key separately)',
|
|
60
|
+
},
|
|
61
|
+
secret: {
|
|
62
|
+
primary: 'AWS_SECRET_ACCESS_KEY',
|
|
63
|
+
description: 'AWS secret access key',
|
|
64
|
+
},
|
|
65
|
+
'session-keys': {
|
|
66
|
+
primary: 'AWS_SESSION_TOKEN',
|
|
67
|
+
description: 'AWS temporary session token',
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
github: {
|
|
71
|
+
'api-key': {
|
|
72
|
+
primary: 'GITHUB_TOKEN',
|
|
73
|
+
aliases: ['GH_TOKEN'],
|
|
74
|
+
description: 'GitHub personal access token',
|
|
75
|
+
},
|
|
76
|
+
'oauth-token': {
|
|
77
|
+
primary: 'GITHUB_TOKEN',
|
|
78
|
+
aliases: ['GH_TOKEN'],
|
|
79
|
+
description: 'GitHub OAuth token',
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
slack: {
|
|
83
|
+
'bot-token': {
|
|
84
|
+
primary: 'SLACK_BOT_TOKEN',
|
|
85
|
+
description: 'Slack bot token (xoxb-)',
|
|
86
|
+
},
|
|
87
|
+
'oauth-token': {
|
|
88
|
+
primary: 'SLACK_TOKEN',
|
|
89
|
+
description: 'Slack user/app token',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
langchain: {
|
|
93
|
+
'api-key': {
|
|
94
|
+
primary: 'LANGCHAIN_API_KEY',
|
|
95
|
+
aliases: ['LANGSMITH_API_KEY'],
|
|
96
|
+
description: 'LangChain / LangSmith API key',
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
crewai: {
|
|
100
|
+
'api-key': {
|
|
101
|
+
primary: 'OPENAI_API_KEY',
|
|
102
|
+
description: 'CrewAI defaults to OpenAI — uses OPENAI_API_KEY',
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
mcp: {
|
|
106
|
+
'api-key': {
|
|
107
|
+
primary: 'MCP_API_KEY',
|
|
108
|
+
description: 'MCP server credential',
|
|
109
|
+
},
|
|
110
|
+
'mcp-credential': {
|
|
111
|
+
primary: 'MCP_API_KEY',
|
|
112
|
+
description: 'MCP server credential',
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
openclaw: {
|
|
116
|
+
'api-key': {
|
|
117
|
+
primary: 'OPENCLAW_API_KEY',
|
|
118
|
+
description: 'OpenClaw platform API key',
|
|
119
|
+
},
|
|
120
|
+
'oauth-token': {
|
|
121
|
+
primary: 'OPENCLAW_TOKEN',
|
|
122
|
+
description: 'OpenClaw OAuth token',
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
custom: {
|
|
126
|
+
'*': {
|
|
127
|
+
primary: '', // Must use --as to specify
|
|
128
|
+
description: 'Custom platform — use --as to specify env var name',
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Resolve the environment variable name for a given passport.
|
|
134
|
+
*
|
|
135
|
+
* Resolution order:
|
|
136
|
+
* 1. Explicit --as override (always wins)
|
|
137
|
+
* 2. Platform + credential type lookup in PLATFORM_ENV_MAP
|
|
138
|
+
* 3. Generic fallback: IDW_{PASSPORT_NAME_UPPER}
|
|
139
|
+
*
|
|
140
|
+
* @returns { envVarName, source } where source indicates how the name was resolved
|
|
141
|
+
*/
|
|
142
|
+
export function resolveEnvVarName(passport, explicitName) {
|
|
143
|
+
// 1. Explicit override
|
|
144
|
+
if (explicitName) {
|
|
145
|
+
return { envVarName: explicitName, source: 'explicit' };
|
|
146
|
+
}
|
|
147
|
+
// 2. Platform map lookup — use the first platform that has a mapping
|
|
148
|
+
for (const platform of passport.platforms) {
|
|
149
|
+
const platformMap = PLATFORM_ENV_MAP[platform];
|
|
150
|
+
if (platformMap) {
|
|
151
|
+
const mapping = platformMap[passport.credentialType] ?? platformMap['*'];
|
|
152
|
+
if (mapping && mapping.primary) {
|
|
153
|
+
return { envVarName: mapping.primary, source: 'platform-map' };
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
// 3. Fallback: derive from passport name
|
|
158
|
+
const sanitized = passport.name
|
|
159
|
+
.toUpperCase()
|
|
160
|
+
.replace(/[^A-Z0-9]/g, '_')
|
|
161
|
+
.replace(/_+/g, '_')
|
|
162
|
+
.replace(/^_|_$/g, '');
|
|
163
|
+
return { envVarName: `IDW_${sanitized}`, source: 'fallback' };
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Get all known env var mappings for a platform (for help text / docs).
|
|
167
|
+
*/
|
|
168
|
+
export function getPlatformEnvVars(platform) {
|
|
169
|
+
const platformMap = PLATFORM_ENV_MAP[platform];
|
|
170
|
+
if (!platformMap)
|
|
171
|
+
return [];
|
|
172
|
+
return Object.values(platformMap).filter(m => m.primary !== '');
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=envMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envMapping.js","sourceRoot":"","sources":["../../src/integrations/envMapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera Google A2A Protocol Integration
|
|
3
|
+
* Passport-backed identity for Google's Agent-to-Agent protocol
|
|
4
|
+
*
|
|
5
|
+
* Provides:
|
|
6
|
+
* - Agent Card credential population from vault passports
|
|
7
|
+
* - Incoming agent authentication validation
|
|
8
|
+
* - Task-scoped credential access
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* import { WisperaA2AProvider } from '@id-wispera/core';
|
|
12
|
+
*
|
|
13
|
+
* const provider = new WisperaA2AProvider({ vault });
|
|
14
|
+
* const agentCreds = await provider.getAgentCredentials('my-agent');
|
|
15
|
+
*/
|
|
16
|
+
import { WisperaCredentialProvider } from './base.js';
|
|
17
|
+
import type { IntegrationConfig, A2AAgentCredentials, A2ATaskCredentials } from './types.js';
|
|
18
|
+
/**
|
|
19
|
+
* Google A2A protocol credential provider.
|
|
20
|
+
* Manages passport-backed identity for agent-to-agent communication.
|
|
21
|
+
*/
|
|
22
|
+
export declare class WisperaA2AProvider extends WisperaCredentialProvider {
|
|
23
|
+
constructor(config: IntegrationConfig);
|
|
24
|
+
/**
|
|
25
|
+
* Get credentials for populating an A2A Agent Card.
|
|
26
|
+
* Returns the auth token and identity info from a passport.
|
|
27
|
+
*/
|
|
28
|
+
getAgentCredentials(passportName: string): Promise<A2AAgentCredentials>;
|
|
29
|
+
/**
|
|
30
|
+
* Validate an incoming agent's authentication token against the vault.
|
|
31
|
+
* Checks if a passport exists that matches the provided token.
|
|
32
|
+
*/
|
|
33
|
+
validateAgentAuth(token: string, expectedAgentId?: string): Promise<{
|
|
34
|
+
valid: boolean;
|
|
35
|
+
agentId?: string;
|
|
36
|
+
error?: string;
|
|
37
|
+
}>;
|
|
38
|
+
/**
|
|
39
|
+
* Get credentials scoped for a specific A2A task.
|
|
40
|
+
* Returns only credentials whose scopes overlap with the requested task scopes.
|
|
41
|
+
*/
|
|
42
|
+
getTaskCredentials(taskId: string, requiredScopes: string[], passportNames: string[]): Promise<A2ATaskCredentials>;
|
|
43
|
+
/**
|
|
44
|
+
* Get a Google Cloud API key for A2A service calls
|
|
45
|
+
*/
|
|
46
|
+
getGoogleCloudKey(passportName?: string): Promise<string>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=google-a2a.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-a2a.d.ts","sourceRoot":"","sources":["../../src/integrations/google-a2a.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EACV,iBAAiB,EAEjB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,yBAAyB;gBACnD,MAAM,EAAE,iBAAiB;IAIrC;;;OAGG;IACG,mBAAmB,CACvB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,mBAAmB,CAAC;IAc/B;;;OAGG;IACG,iBAAiB,CACrB,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkChE;;;OAGG;IACG,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EAAE,EACxB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,kBAAkB,CAAC;IA0B9B;;OAEG;IACG,iBAAiB,CAAC,YAAY,GAAE,MAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;CAMhF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera Google A2A Protocol Integration
|
|
3
|
+
* Passport-backed identity for Google's Agent-to-Agent protocol
|
|
4
|
+
*
|
|
5
|
+
* Provides:
|
|
6
|
+
* - Agent Card credential population from vault passports
|
|
7
|
+
* - Incoming agent authentication validation
|
|
8
|
+
* - Task-scoped credential access
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* import { WisperaA2AProvider } from '@id-wispera/core';
|
|
12
|
+
*
|
|
13
|
+
* const provider = new WisperaA2AProvider({ vault });
|
|
14
|
+
* const agentCreds = await provider.getAgentCredentials('my-agent');
|
|
15
|
+
*/
|
|
16
|
+
import { WisperaCredentialProvider } from './base.js';
|
|
17
|
+
/**
|
|
18
|
+
* Google A2A protocol credential provider.
|
|
19
|
+
* Manages passport-backed identity for agent-to-agent communication.
|
|
20
|
+
*/
|
|
21
|
+
export class WisperaA2AProvider extends WisperaCredentialProvider {
|
|
22
|
+
constructor(config) {
|
|
23
|
+
super({ ...config, actor: config.actor ?? 'google-a2a' });
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get credentials for populating an A2A Agent Card.
|
|
27
|
+
* Returns the auth token and identity info from a passport.
|
|
28
|
+
*/
|
|
29
|
+
async getAgentCredentials(passportName) {
|
|
30
|
+
const result = await this.get(passportName, {
|
|
31
|
+
platform: 'google-a2a',
|
|
32
|
+
purpose: 'A2A Agent Card credential population',
|
|
33
|
+
});
|
|
34
|
+
return {
|
|
35
|
+
authToken: result.value,
|
|
36
|
+
agentId: result.passport.agentId ?? result.passport.name,
|
|
37
|
+
scopes: result.passport.scope,
|
|
38
|
+
expiresAt: result.passport.validUntil,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Validate an incoming agent's authentication token against the vault.
|
|
43
|
+
* Checks if a passport exists that matches the provided token.
|
|
44
|
+
*/
|
|
45
|
+
async validateAgentAuth(token, expectedAgentId) {
|
|
46
|
+
try {
|
|
47
|
+
const available = await this.listAvailable('google-a2a');
|
|
48
|
+
for (const cred of available) {
|
|
49
|
+
try {
|
|
50
|
+
const result = await this.get(cred.name, { platform: 'google-a2a', logAccess: false });
|
|
51
|
+
if (result.value === token) {
|
|
52
|
+
const agentId = result.passport.agentId ?? result.passport.name;
|
|
53
|
+
if (expectedAgentId && agentId !== expectedAgentId) {
|
|
54
|
+
return { valid: false, error: 'Agent ID mismatch' };
|
|
55
|
+
}
|
|
56
|
+
// Log the successful validation
|
|
57
|
+
await this.get(cred.name, {
|
|
58
|
+
platform: 'google-a2a',
|
|
59
|
+
purpose: `A2A auth validation for agent: ${agentId}`,
|
|
60
|
+
});
|
|
61
|
+
return { valid: true, agentId };
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return { valid: false, error: 'Token not found in vault' };
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
72
|
+
return { valid: false, error: message };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get credentials scoped for a specific A2A task.
|
|
77
|
+
* Returns only credentials whose scopes overlap with the requested task scopes.
|
|
78
|
+
*/
|
|
79
|
+
async getTaskCredentials(taskId, requiredScopes, passportNames) {
|
|
80
|
+
const credentials = new Map();
|
|
81
|
+
for (const name of passportNames) {
|
|
82
|
+
const result = await this.get(name, {
|
|
83
|
+
platform: 'google-a2a',
|
|
84
|
+
purpose: `A2A task ${taskId}: credential access`,
|
|
85
|
+
});
|
|
86
|
+
// Only include if the passport's scopes cover the required ones
|
|
87
|
+
const hasScope = requiredScopes.every((s) => result.passport.scope.includes(s));
|
|
88
|
+
if (hasScope) {
|
|
89
|
+
credentials.set(name, result);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
credentials,
|
|
94
|
+
taskId,
|
|
95
|
+
scopes: requiredScopes,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get a Google Cloud API key for A2A service calls
|
|
100
|
+
*/
|
|
101
|
+
async getGoogleCloudKey(passportName = 'google-cloud') {
|
|
102
|
+
return this.getValue(passportName, {
|
|
103
|
+
platform: 'google-a2a',
|
|
104
|
+
purpose: 'Google Cloud API access via A2A',
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=google-a2a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-a2a.js","sourceRoot":"","sources":["../../src/integrations/google-a2a.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera Framework Integrations
|
|
3
|
+
* Unified credential access for AI agent frameworks
|
|
4
|
+
*/
|
|
5
|
+
export { WisperaCredentialProvider } from './base.js';
|
|
6
|
+
export { WisperaLangChainProvider } from './langchain.js';
|
|
7
|
+
export { WisperaOpenAIAgentProvider } from './openai-agents.js';
|
|
8
|
+
export type { HandoffScope, ToolAuth } from './openai-agents.js';
|
|
9
|
+
export { WisperaA2AProvider } from './google-a2a.js';
|
|
10
|
+
export { WisperaSlackProvider } from './slack.js';
|
|
11
|
+
export { PLATFORM_ENV_MAP, resolveEnvVarName, getPlatformEnvVars } from './envMapping.js';
|
|
12
|
+
export type { EnvVarMapping } from './envMapping.js';
|
|
13
|
+
export type { IntegrationConfig, CredentialAccessOptions, CredentialResult, AvailableCredential, LLMConfig, SlackTokenType, SlackCredentialResult, A2AAgentCredentials, A2ATaskCredentials, } from './types.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAGtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera Framework Integrations
|
|
3
|
+
* Unified credential access for AI agent frameworks
|
|
4
|
+
*/
|
|
5
|
+
// Base provider
|
|
6
|
+
export { WisperaCredentialProvider } from './base.js';
|
|
7
|
+
// Framework-specific providers
|
|
8
|
+
export { WisperaLangChainProvider } from './langchain.js';
|
|
9
|
+
export { WisperaOpenAIAgentProvider } from './openai-agents.js';
|
|
10
|
+
export { WisperaA2AProvider } from './google-a2a.js';
|
|
11
|
+
export { WisperaSlackProvider } from './slack.js';
|
|
12
|
+
// Environment variable mapping for exec
|
|
13
|
+
export { PLATFORM_ENV_MAP, resolveEnvVarName, getPlatformEnvVars } from './envMapping.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gBAAgB;AAChB,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAEtD,+BAA+B;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,wCAAwC;AACxC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera LangChain.js Integration
|
|
3
|
+
* Credential provider for LangChain.js applications
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* import { WisperaLangChainProvider } from '@id-wispera/core';
|
|
7
|
+
* import { ChatOpenAI } from '@langchain/openai';
|
|
8
|
+
*
|
|
9
|
+
* const provider = new WisperaLangChainProvider({ vault });
|
|
10
|
+
* const llm = new ChatOpenAI({ apiKey: await provider.getOpenAIKey() });
|
|
11
|
+
*/
|
|
12
|
+
import { WisperaCredentialProvider } from './base.js';
|
|
13
|
+
import type { IntegrationConfig, LLMConfig } from './types.js';
|
|
14
|
+
/**
|
|
15
|
+
* LangChain.js credential provider.
|
|
16
|
+
* Retrieves governed credentials from the vault for use with LangChain.js.
|
|
17
|
+
*/
|
|
18
|
+
export declare class WisperaLangChainProvider extends WisperaCredentialProvider {
|
|
19
|
+
constructor(config: IntegrationConfig);
|
|
20
|
+
/**
|
|
21
|
+
* Get LangChain-compatible LLM configuration.
|
|
22
|
+
* Returns an object you can spread into LLM constructors.
|
|
23
|
+
*
|
|
24
|
+
* Example:
|
|
25
|
+
* const config = await provider.getLangChainConfig('openai-prod');
|
|
26
|
+
* const llm = new ChatOpenAI({ apiKey: config.apiKey, modelName: config.model });
|
|
27
|
+
*/
|
|
28
|
+
getLangChainConfig(passportName: string, model?: string): Promise<LLMConfig>;
|
|
29
|
+
/**
|
|
30
|
+
* Get Google API key for use with @langchain/google-genai
|
|
31
|
+
*/
|
|
32
|
+
getGoogleKey(passportName?: string): Promise<string>;
|
|
33
|
+
/**
|
|
34
|
+
* Get AWS credentials for use with @langchain/community Bedrock
|
|
35
|
+
*/
|
|
36
|
+
getAWSCredentials(passportName?: string): Promise<string>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=langchain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE/D;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,yBAAyB;gBACzD,MAAM,EAAE,iBAAiB;IAIrC;;;;;;;OAOG;IACG,kBAAkB,CACtB,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC;IAIrB;;OAEG;IACG,YAAY,CAAC,YAAY,GAAE,MAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpE;;OAEG;IACG,iBAAiB,CAAC,YAAY,GAAE,MAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAGvE"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera LangChain.js Integration
|
|
3
|
+
* Credential provider for LangChain.js applications
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* import { WisperaLangChainProvider } from '@id-wispera/core';
|
|
7
|
+
* import { ChatOpenAI } from '@langchain/openai';
|
|
8
|
+
*
|
|
9
|
+
* const provider = new WisperaLangChainProvider({ vault });
|
|
10
|
+
* const llm = new ChatOpenAI({ apiKey: await provider.getOpenAIKey() });
|
|
11
|
+
*/
|
|
12
|
+
import { WisperaCredentialProvider } from './base.js';
|
|
13
|
+
/**
|
|
14
|
+
* LangChain.js credential provider.
|
|
15
|
+
* Retrieves governed credentials from the vault for use with LangChain.js.
|
|
16
|
+
*/
|
|
17
|
+
export class WisperaLangChainProvider extends WisperaCredentialProvider {
|
|
18
|
+
constructor(config) {
|
|
19
|
+
super({ ...config, actor: config.actor ?? 'langchain' });
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get LangChain-compatible LLM configuration.
|
|
23
|
+
* Returns an object you can spread into LLM constructors.
|
|
24
|
+
*
|
|
25
|
+
* Example:
|
|
26
|
+
* const config = await provider.getLangChainConfig('openai-prod');
|
|
27
|
+
* const llm = new ChatOpenAI({ apiKey: config.apiKey, modelName: config.model });
|
|
28
|
+
*/
|
|
29
|
+
async getLangChainConfig(passportName, model) {
|
|
30
|
+
return this.getLLMConfig(passportName, model);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get Google API key for use with @langchain/google-genai
|
|
34
|
+
*/
|
|
35
|
+
async getGoogleKey(passportName = 'google') {
|
|
36
|
+
return this.getValue(passportName, { platform: 'google-a2a' });
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Get AWS credentials for use with @langchain/community Bedrock
|
|
40
|
+
*/
|
|
41
|
+
async getAWSCredentials(passportName = 'aws') {
|
|
42
|
+
return this.getValue(passportName, { platform: 'aws' });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=langchain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAGtD;;;GAGG;AACH,MAAM,OAAO,wBAAyB,SAAQ,yBAAyB;IACrE,YAAY,MAAyB;QACnC,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CACtB,YAAoB,EACpB,KAAc;QAEd,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,eAAuB,QAAQ;QAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,eAAuB,KAAK;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Wispera OpenAI Agents SDK Integration
|
|
3
|
+
* Credential provider for the OpenAI Agents SDK
|
|
4
|
+
*
|
|
5
|
+
* Manages API keys for agent initialization, tool credential injection,
|
|
6
|
+
* and multi-agent handoffs with scoped credentials.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* import { WisperaOpenAIAgentProvider } from '@id-wispera/core';
|
|
10
|
+
*
|
|
11
|
+
* const provider = new WisperaOpenAIAgentProvider({ vault });
|
|
12
|
+
* const apiKey = await provider.getAgentKey('coding-agent');
|
|
13
|
+
*/
|
|
14
|
+
import { WisperaCredentialProvider } from './base.js';
|
|
15
|
+
import type { IntegrationConfig, CredentialResult, LLMConfig } from './types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Options for scoping credentials during agent handoffs
|
|
18
|
+
*/
|
|
19
|
+
export interface HandoffScope {
|
|
20
|
+
/** Name of the target agent receiving the credential */
|
|
21
|
+
targetAgent: string;
|
|
22
|
+
/** Scopes the target agent is allowed */
|
|
23
|
+
allowedScopes?: string[];
|
|
24
|
+
/** How long the handoff credential is valid (ISO 8601 duration or date) */
|
|
25
|
+
expiresAt?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Tool authentication configuration
|
|
29
|
+
*/
|
|
30
|
+
export interface ToolAuth {
|
|
31
|
+
/** Tool name */
|
|
32
|
+
tool: string;
|
|
33
|
+
/** The credential value */
|
|
34
|
+
credential: string;
|
|
35
|
+
/** Header name for the credential (default: Authorization) */
|
|
36
|
+
headerName?: string;
|
|
37
|
+
/** Header value template (default: "Bearer {credential}") */
|
|
38
|
+
headerTemplate?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* OpenAI Agents SDK credential provider.
|
|
42
|
+
* Manages governed credentials for OpenAI agents, tools, and handoffs.
|
|
43
|
+
*/
|
|
44
|
+
export declare class WisperaOpenAIAgentProvider extends WisperaCredentialProvider {
|
|
45
|
+
constructor(config: IntegrationConfig);
|
|
46
|
+
/**
|
|
47
|
+
* Get an API key for agent initialization.
|
|
48
|
+
* Looks up a passport by name and returns the key for use with the Agents SDK.
|
|
49
|
+
*/
|
|
50
|
+
getAgentKey(passportName?: string): Promise<string>;
|
|
51
|
+
/**
|
|
52
|
+
* Get OpenAI-specific agent configuration.
|
|
53
|
+
* Returns model and API key for agent setup.
|
|
54
|
+
*/
|
|
55
|
+
getAgentConfig(passportName?: string, model?: string): Promise<LLMConfig>;
|
|
56
|
+
/**
|
|
57
|
+
* Get credentials for a tool that the agent will use.
|
|
58
|
+
* Returns auth details formatted for tool configuration.
|
|
59
|
+
*/
|
|
60
|
+
getToolAuth(toolPassportName: string, options?: {
|
|
61
|
+
headerName?: string;
|
|
62
|
+
headerTemplate?: string;
|
|
63
|
+
}): Promise<ToolAuth>;
|
|
64
|
+
/**
|
|
65
|
+
* Get scoped credentials for an agent handoff.
|
|
66
|
+
* Validates that the target agent is permitted in the delegation chain
|
|
67
|
+
* and returns the credential if the scope is allowed.
|
|
68
|
+
*/
|
|
69
|
+
getHandoffCredential(passportName: string, handoff: HandoffScope): Promise<CredentialResult>;
|
|
70
|
+
/**
|
|
71
|
+
* Get multiple tool credentials at once for agent setup.
|
|
72
|
+
* Returns a map of tool name to credential value.
|
|
73
|
+
*/
|
|
74
|
+
getToolCredentials(toolPassportMap: Record<string, string>): Promise<Record<string, string>>;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=openai-agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-agents.d.ts","sourceRoot":"","sources":["../../src/integrations/openai-agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,yBAAyB;gBAC3D,MAAM,EAAE,iBAAiB;IAIrC;;;OAGG;IACG,WAAW,CAAC,YAAY,GAAE,MAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAOnE;;;OAGG;IACG,cAAc,CAClB,YAAY,GAAE,MAAiB,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC;IASrB;;;OAGG;IACG,WAAW,CACf,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,OAAO,CAAC,QAAQ,CAAC;IAapB;;;;OAIG;IACG,oBAAoB,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,gBAAgB,CAAC;IAuB5B;;;OAGG;IACG,kBAAkB,CACtB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAWnC"}
|