@zengxingyuan/aamp-cli-bridge 0.1.7-dev.3 → 0.1.7-dev.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -4
- package/dist/agent-bridge.d.ts +5 -0
- package/dist/agent-bridge.js +208 -30
- package/dist/agent-bridge.js.map +1 -1
- package/dist/bridge.d.ts +109 -0
- package/dist/bridge.js +35 -1
- package/dist/bridge.js.map +1 -1
- package/dist/cli-agent-client.d.ts +1 -0
- package/dist/cli-agent-client.js +13 -0
- package/dist/cli-agent-client.js.map +1 -1
- package/dist/cli-profiles.js +1 -1
- package/dist/cli-profiles.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/discovery.d.ts +20 -0
- package/dist/discovery.js +172 -0
- package/dist/discovery.js.map +1 -0
- package/dist/index.js +152 -7
- package/dist/index.js.map +1 -1
- package/dist/json-init.d.ts +280 -0
- package/dist/json-init.js +177 -0
- package/dist/json-init.js.map +1 -0
- package/dist/sender-policy.d.ts +27 -0
- package/dist/sender-policy.js +161 -0
- package/dist/sender-policy.js.map +1 -0
- package/dist/stream-parser.js +17 -6
- package/dist/stream-parser.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { execFileSync } from 'node:child_process';
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
import { BUILTIN_CLI_PROFILES, getBuiltinCliProfileNames, listUserCliProfiles } from './cli-profiles.js';
|
|
4
|
+
import { resolveCredentialsFile } from './storage.js';
|
|
5
|
+
function loadPreviousConfig(configPath) {
|
|
6
|
+
if (!existsSync(configPath))
|
|
7
|
+
return undefined;
|
|
8
|
+
try {
|
|
9
|
+
const raw = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
10
|
+
if (!raw || !Array.isArray(raw.agents))
|
|
11
|
+
return undefined;
|
|
12
|
+
return {
|
|
13
|
+
aampHost: typeof raw.aampHost === 'string' ? raw.aampHost : 'https://meshmail.ai',
|
|
14
|
+
rejectUnauthorized: raw.rejectUnauthorized === true,
|
|
15
|
+
...(raw.profiles ? { profiles: raw.profiles } : {}),
|
|
16
|
+
agents: raw.agents,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function profileLabel(profileRef) {
|
|
24
|
+
if (typeof profileRef === 'string')
|
|
25
|
+
return profileRef;
|
|
26
|
+
return profileRef.name ?? 'inline';
|
|
27
|
+
}
|
|
28
|
+
function stableStringify(value) {
|
|
29
|
+
if (Array.isArray(value))
|
|
30
|
+
return `[${value.map(stableStringify).join(',')}]`;
|
|
31
|
+
if (value && typeof value === 'object') {
|
|
32
|
+
return `{${Object.entries(value)
|
|
33
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
34
|
+
.map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)
|
|
35
|
+
.join(',')}}`;
|
|
36
|
+
}
|
|
37
|
+
return JSON.stringify(value);
|
|
38
|
+
}
|
|
39
|
+
function profilesEquivalent(left, right) {
|
|
40
|
+
if (!left || !right)
|
|
41
|
+
return false;
|
|
42
|
+
return stableStringify(left) === stableStringify(right);
|
|
43
|
+
}
|
|
44
|
+
function resolveProfileForExistingAgent(agent, customProfiles) {
|
|
45
|
+
if (typeof agent.cliProfile !== 'string')
|
|
46
|
+
return agent.cliProfile;
|
|
47
|
+
return customProfiles?.[agent.cliProfile]
|
|
48
|
+
?? BUILTIN_CLI_PROFILES[agent.cliProfile]
|
|
49
|
+
?? listUserCliProfiles().find((item) => item.name === agent.cliProfile)?.profile;
|
|
50
|
+
}
|
|
51
|
+
function collectProfileCandidates(previousConfig) {
|
|
52
|
+
const profiles = new Map();
|
|
53
|
+
for (const name of getBuiltinCliProfileNames()) {
|
|
54
|
+
profiles.set(name, {
|
|
55
|
+
name,
|
|
56
|
+
cliProfile: name,
|
|
57
|
+
profile: BUILTIN_CLI_PROFILES[name],
|
|
58
|
+
source: 'built-in',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
for (const [name, profile] of Object.entries(previousConfig?.profiles ?? {})) {
|
|
62
|
+
profiles.set(name, {
|
|
63
|
+
name,
|
|
64
|
+
cliProfile: name,
|
|
65
|
+
profile,
|
|
66
|
+
source: 'config',
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
for (const { name, profile } of listUserCliProfiles()) {
|
|
70
|
+
const existing = profiles.get(name);
|
|
71
|
+
if (existing?.source === 'built-in' && profilesEquivalent(existing.profile, profile))
|
|
72
|
+
continue;
|
|
73
|
+
profiles.set(name, {
|
|
74
|
+
name,
|
|
75
|
+
cliProfile: name,
|
|
76
|
+
profile,
|
|
77
|
+
source: 'user',
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
for (const agent of previousConfig?.agents ?? []) {
|
|
81
|
+
const existing = profiles.get(agent.name);
|
|
82
|
+
const profile = resolveProfileForExistingAgent(agent, previousConfig?.profiles);
|
|
83
|
+
if (existing) {
|
|
84
|
+
profiles.set(agent.name, {
|
|
85
|
+
...existing,
|
|
86
|
+
existingAgent: agent,
|
|
87
|
+
cliProfile: agent.cliProfile,
|
|
88
|
+
profile: profile ?? existing.profile,
|
|
89
|
+
});
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
profiles.set(agent.name, {
|
|
93
|
+
name: agent.name,
|
|
94
|
+
cliProfile: agent.cliProfile,
|
|
95
|
+
...(profile ? { profile } : {}),
|
|
96
|
+
source: 'configured',
|
|
97
|
+
existingAgent: agent,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return [...profiles.values()].sort((left, right) => left.name.localeCompare(right.name));
|
|
101
|
+
}
|
|
102
|
+
function renderCommandForDetection(command, profileName) {
|
|
103
|
+
const rendered = command.replace(/\{\{\s*agentName\s*\}\}/g, profileName);
|
|
104
|
+
if (/\{\{/.test(rendered))
|
|
105
|
+
return undefined;
|
|
106
|
+
if (/\s/.test(rendered.trim()))
|
|
107
|
+
return undefined;
|
|
108
|
+
return rendered.trim() || undefined;
|
|
109
|
+
}
|
|
110
|
+
function detectCommand(command) {
|
|
111
|
+
try {
|
|
112
|
+
execFileSync('which', [command], { stdio: 'pipe', timeout: 3_000 });
|
|
113
|
+
try {
|
|
114
|
+
return execFileSync(command, ['--version'], { stdio: 'pipe', timeout: 5_000 })
|
|
115
|
+
.toString()
|
|
116
|
+
.trim()
|
|
117
|
+
.split('\n')[0] || 'installed';
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
return 'installed';
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function loadConfiguredEmail(agent) {
|
|
128
|
+
try {
|
|
129
|
+
const credFile = resolveCredentialsFile(agent.credentialsFile, agent.name);
|
|
130
|
+
const creds = JSON.parse(readFileSync(credFile, 'utf-8'));
|
|
131
|
+
return creds.email;
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
export function discoverCliBridgeAgents(configPath) {
|
|
138
|
+
const previousConfig = loadPreviousConfig(configPath);
|
|
139
|
+
const candidates = collectProfileCandidates(previousConfig).map((candidate) => {
|
|
140
|
+
const command = candidate.profile
|
|
141
|
+
? renderCommandForDetection(candidate.profile.command, candidate.name)
|
|
142
|
+
: undefined;
|
|
143
|
+
const version = command ? detectCommand(command) : undefined;
|
|
144
|
+
const configured = Boolean(candidate.existingAgent);
|
|
145
|
+
const detected = Boolean(version);
|
|
146
|
+
const warnings = [];
|
|
147
|
+
if (!command)
|
|
148
|
+
warnings.push('Profile command cannot be detected automatically.');
|
|
149
|
+
else if (!detected)
|
|
150
|
+
warnings.push(`${command} was not found on PATH.`);
|
|
151
|
+
return {
|
|
152
|
+
id: candidate.name,
|
|
153
|
+
displayName: candidate.name,
|
|
154
|
+
source: candidate.source,
|
|
155
|
+
connection: 'cli_bridge',
|
|
156
|
+
detected,
|
|
157
|
+
configured,
|
|
158
|
+
confidence: detected ? 'high' : configured ? 'medium' : 'low',
|
|
159
|
+
...(command ? { command } : {}),
|
|
160
|
+
...(version ? { version } : {}),
|
|
161
|
+
profile: profileLabel(candidate.cliProfile),
|
|
162
|
+
...(candidate.existingAgent ? { email: loadConfiguredEmail(candidate.existingAgent) } : {}),
|
|
163
|
+
warnings,
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
return {
|
|
167
|
+
schemaVersion: 1,
|
|
168
|
+
bridge: 'cli-bridge',
|
|
169
|
+
candidates,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,15 +6,52 @@ import { BUILTIN_CLI_PROFILES, getBuiltinCliProfileNames } from './cli-profiles.
|
|
|
6
6
|
import { renderPairingCode, runInit } from './cli/init.js';
|
|
7
7
|
import { runProfileMaker } from './cli/profile-maker.js';
|
|
8
8
|
import { loadConfig } from './config.js';
|
|
9
|
-
import {
|
|
9
|
+
import { discoverCliBridgeAgents } from './discovery.js';
|
|
10
|
+
import { runJsonInit } from './json-init.js';
|
|
11
|
+
import { createPairingCode, pairingUrlToWebUrl, resolvePairingFile } from './pairing.js';
|
|
12
|
+
import { getAgentSenderPolicy, setAgentSenderPolicy } from './sender-policy.js';
|
|
10
13
|
import { getDefaultProfilesDir, resolveConfigPath, resolveCredentialsFile } from './storage.js';
|
|
11
14
|
const args = process.argv.slice(2);
|
|
12
15
|
const command = args[0] ?? 'start';
|
|
16
|
+
const jsonOutput = args.includes('--json') || getOptionValue('--output') === 'json';
|
|
13
17
|
const configPath = resolveConfigPath(args.includes('--config') ? (args[args.indexOf('--config') + 1] ?? '') : undefined);
|
|
14
18
|
function getOptionValue(flag) {
|
|
15
19
|
const idx = args.indexOf(flag);
|
|
16
20
|
return idx >= 0 ? args[idx + 1] : undefined;
|
|
17
21
|
}
|
|
22
|
+
function writeJsonEvent(event) {
|
|
23
|
+
process.stdout.write(`${JSON.stringify({
|
|
24
|
+
timestamp: new Date().toISOString(),
|
|
25
|
+
...event,
|
|
26
|
+
})}\n`);
|
|
27
|
+
}
|
|
28
|
+
function redirectConsoleToStderr() {
|
|
29
|
+
console.log = (...values) => {
|
|
30
|
+
process.stderr.write(`${values.map(String).join(' ')}\n`);
|
|
31
|
+
};
|
|
32
|
+
console.warn = (...values) => {
|
|
33
|
+
process.stderr.write(`${values.map(String).join(' ')}\n`);
|
|
34
|
+
};
|
|
35
|
+
console.error = (...values) => {
|
|
36
|
+
process.stderr.write(`${values.map(String).join(' ')}\n`);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
async function readJsonInput() {
|
|
40
|
+
const inputPath = getOptionValue('--input');
|
|
41
|
+
const raw = inputPath && inputPath !== '-'
|
|
42
|
+
? readFileSync(inputPath, 'utf-8')
|
|
43
|
+
: await new Promise((resolve, reject) => {
|
|
44
|
+
let data = '';
|
|
45
|
+
process.stdin.setEncoding('utf-8');
|
|
46
|
+
process.stdin.on('data', (chunk) => { data += chunk; });
|
|
47
|
+
process.stdin.on('end', () => resolve(data));
|
|
48
|
+
process.stdin.on('error', reject);
|
|
49
|
+
});
|
|
50
|
+
if (!raw.trim()) {
|
|
51
|
+
throw new Error('Missing JSON input. Pass --input FILE or pipe JSON on stdin.');
|
|
52
|
+
}
|
|
53
|
+
return JSON.parse(raw);
|
|
54
|
+
}
|
|
18
55
|
function getAgent(config, agentName) {
|
|
19
56
|
const agent = config.agents.find((item) => item.name === agentName);
|
|
20
57
|
if (!agent) {
|
|
@@ -65,7 +102,31 @@ function renderPairingForAgent(configPathValue, agentName) {
|
|
|
65
102
|
const creds = loadAgentCredentials(agent);
|
|
66
103
|
renderPairingCode(agent.name, creds.email, resolvePairingFile(agent.pairingFile, agent.name));
|
|
67
104
|
}
|
|
105
|
+
function createPairingForAgent(configPathValue, agentName) {
|
|
106
|
+
const config = loadConfig(configPathValue);
|
|
107
|
+
const agent = getAgent(config, agentName);
|
|
108
|
+
const creds = loadAgentCredentials(agent);
|
|
109
|
+
const pairingFile = resolvePairingFile(agent.pairingFile, agent.name);
|
|
110
|
+
const pairing = createPairingCode({
|
|
111
|
+
mailbox: creds.email,
|
|
112
|
+
file: pairingFile,
|
|
113
|
+
});
|
|
114
|
+
return {
|
|
115
|
+
type: 'pairing.created',
|
|
116
|
+
bridge: 'cli-bridge',
|
|
117
|
+
agent: agent.name,
|
|
118
|
+
mailbox: pairing.mailbox,
|
|
119
|
+
pairCode: pairing.pairCode,
|
|
120
|
+
expiresAt: pairing.expiresAt,
|
|
121
|
+
connectUrl: pairing.connectUrl,
|
|
122
|
+
webUrl: pairingUrlToWebUrl(pairing.connectUrl),
|
|
123
|
+
pairingFile,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
68
126
|
async function startBridge(configPathValue, options = {}) {
|
|
127
|
+
if (options.json) {
|
|
128
|
+
redirectConsoleToStderr();
|
|
129
|
+
}
|
|
69
130
|
const config = loadConfig(configPathValue);
|
|
70
131
|
const agents = options.agent ? [getAgent(config, options.agent)] : config.agents;
|
|
71
132
|
const bridge = new AampCliBridge({
|
|
@@ -73,18 +134,31 @@ async function startBridge(configPathValue, options = {}) {
|
|
|
73
134
|
agents,
|
|
74
135
|
});
|
|
75
136
|
const shutdown = () => {
|
|
76
|
-
|
|
137
|
+
if (options.json) {
|
|
138
|
+
writeJsonEvent({ type: 'bridge.shutdown', bridge: 'cli-bridge', reason: 'signal' });
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
console.log('\nShutting down...');
|
|
142
|
+
}
|
|
77
143
|
bridge.stop();
|
|
78
144
|
process.exit(0);
|
|
79
145
|
};
|
|
80
146
|
process.on('SIGTERM', shutdown);
|
|
81
147
|
process.on('SIGINT', shutdown);
|
|
82
|
-
await bridge.start({
|
|
148
|
+
await bridge.start({
|
|
149
|
+
quiet: options.quiet || options.json,
|
|
150
|
+
onEvent: options.json ? writeJsonEvent : undefined,
|
|
151
|
+
});
|
|
83
152
|
setInterval(() => { }, 60_000);
|
|
84
153
|
}
|
|
85
154
|
async function main() {
|
|
86
155
|
switch (command) {
|
|
87
156
|
case 'init': {
|
|
157
|
+
if (jsonOutput) {
|
|
158
|
+
const result = await runJsonInit(configPath, await readJsonInput());
|
|
159
|
+
console.log(JSON.stringify(result, null, 2));
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
88
162
|
const initialized = await runInit(configPath, {
|
|
89
163
|
agent: getOptionValue('--agent'),
|
|
90
164
|
aampHost: getOptionValue('--aamp-host'),
|
|
@@ -101,13 +175,20 @@ async function main() {
|
|
|
101
175
|
break;
|
|
102
176
|
}
|
|
103
177
|
case 'start': {
|
|
104
|
-
await startBridge(configPath);
|
|
178
|
+
await startBridge(configPath, { json: jsonOutput, agent: getOptionValue('--agent') });
|
|
105
179
|
break;
|
|
106
180
|
}
|
|
107
181
|
case 'pair': {
|
|
108
182
|
const agentName = getOptionValue('--agent');
|
|
109
183
|
if (!agentName)
|
|
110
184
|
throw new Error('Missing required --agent');
|
|
185
|
+
if (jsonOutput) {
|
|
186
|
+
console.log(JSON.stringify(createPairingForAgent(configPath, agentName), null, 2));
|
|
187
|
+
if (args.includes('--no-start'))
|
|
188
|
+
break;
|
|
189
|
+
await startBridge(configPath, { quiet: true, agent: agentName, json: true });
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
111
192
|
renderPairingForAgent(configPath, agentName);
|
|
112
193
|
if (args.includes('--no-start'))
|
|
113
194
|
break;
|
|
@@ -116,6 +197,36 @@ async function main() {
|
|
|
116
197
|
}
|
|
117
198
|
case 'list': {
|
|
118
199
|
const config = loadConfig(configPath);
|
|
200
|
+
if (jsonOutput) {
|
|
201
|
+
const agents = config.agents.map((agent) => {
|
|
202
|
+
const credFile = resolveCredentialsFile(agent.credentialsFile, agent.name);
|
|
203
|
+
let email;
|
|
204
|
+
try {
|
|
205
|
+
const creds = JSON.parse(readFileSync(credFile, 'utf-8'));
|
|
206
|
+
email = creds.email;
|
|
207
|
+
}
|
|
208
|
+
catch { /* no credentials yet */ }
|
|
209
|
+
return {
|
|
210
|
+
name: agent.name,
|
|
211
|
+
bridge: 'cli-bridge',
|
|
212
|
+
connection: 'cli_bridge',
|
|
213
|
+
email,
|
|
214
|
+
profile: typeof agent.cliProfile === 'string'
|
|
215
|
+
? agent.cliProfile
|
|
216
|
+
: (agent.cliProfile.name ?? 'inline'),
|
|
217
|
+
credentialsFile: credFile,
|
|
218
|
+
configured: true,
|
|
219
|
+
};
|
|
220
|
+
});
|
|
221
|
+
console.log(JSON.stringify({
|
|
222
|
+
schemaVersion: 1,
|
|
223
|
+
bridge: 'cli-bridge',
|
|
224
|
+
configPath,
|
|
225
|
+
aampHost: config.aampHost,
|
|
226
|
+
agents,
|
|
227
|
+
}, null, 2));
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
119
230
|
console.log(`\nConfigured CLI agents (${config.agents.length}):`);
|
|
120
231
|
for (const agent of config.agents) {
|
|
121
232
|
const credFile = resolveCredentialsFile(agent.credentialsFile, agent.name);
|
|
@@ -133,6 +244,27 @@ async function main() {
|
|
|
133
244
|
console.log();
|
|
134
245
|
break;
|
|
135
246
|
}
|
|
247
|
+
case 'discover': {
|
|
248
|
+
console.log(JSON.stringify(discoverCliBridgeAgents(configPath), null, 2));
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
case 'sender-policy': {
|
|
252
|
+
const action = args[1];
|
|
253
|
+
const agentName = getOptionValue('--agent');
|
|
254
|
+
if (!agentName)
|
|
255
|
+
throw new Error('Missing required --agent');
|
|
256
|
+
const config = loadConfig(configPath);
|
|
257
|
+
if (action === 'get') {
|
|
258
|
+
console.log(JSON.stringify(getAgentSenderPolicy(config, agentName), null, 2));
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
if (action === 'set') {
|
|
262
|
+
const input = await readJsonInput();
|
|
263
|
+
console.log(JSON.stringify(setAgentSenderPolicy(config, configPath, agentName, input.senderPolicy ?? ''), null, 2));
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
throw new Error('Usage: sender-policy get|set --agent NAME --json [--input -]');
|
|
267
|
+
}
|
|
136
268
|
case 'status': {
|
|
137
269
|
const config = loadConfig(configPath);
|
|
138
270
|
const bridge = new AampCliBridge(config);
|
|
@@ -225,16 +357,20 @@ async function main() {
|
|
|
225
357
|
AAMP CLI Bridge -- Connect direct CLI agents to the AAMP email network
|
|
226
358
|
|
|
227
359
|
Usage:
|
|
228
|
-
aamp-cli-bridge init [--agent NAME] [--aamp-host URL] [--connection-setup METHOD] [--no-start]
|
|
229
|
-
aamp-cli-bridge
|
|
360
|
+
aamp-cli-bridge init [--agent NAME] [--aamp-host URL] [--connection-setup METHOD] [--no-start]
|
|
361
|
+
aamp-cli-bridge init --json --input - Non-interactive setup for desktop clients
|
|
362
|
+
aamp-cli-bridge start [--agent NAME] [--config X] [--json] Start the bridge (default: ~/.aamp/cli-bridge/config.json)
|
|
230
363
|
aamp-cli-bridge pair --agent NAME [--config X] [--no-start] Show a pairing QR code, then start that agent
|
|
231
364
|
aamp-cli-bridge list [--config X] List configured agents
|
|
365
|
+
aamp-cli-bridge discover [--config X] [--json] Discover local CLI agent candidates
|
|
232
366
|
aamp-cli-bridge status Show live connection status
|
|
233
367
|
aamp-cli-bridge profile-list List built-in and user CLI profiles
|
|
234
368
|
aamp-cli-bridge profile-maker Interactive profile maker for custom CLI agents
|
|
235
369
|
aamp-cli-bridge directory-list --agent NAME [--config X] [--include-self] [--limit N]
|
|
236
370
|
aamp-cli-bridge directory-search --agent NAME --query TEXT [--config X] [--include-self] [--limit N]
|
|
237
371
|
aamp-cli-bridge directory-update --agent NAME [--config X] [--summary TEXT] [--card-text TEXT] [--card-file PATH]
|
|
372
|
+
aamp-cli-bridge sender-policy get --agent NAME [--config X] --json
|
|
373
|
+
aamp-cli-bridge sender-policy set --agent NAME [--config X] --json --input -
|
|
238
374
|
aamp-cli-bridge help Show this help
|
|
239
375
|
|
|
240
376
|
Examples:
|
|
@@ -250,7 +386,16 @@ Examples:
|
|
|
250
386
|
}
|
|
251
387
|
}
|
|
252
388
|
main().catch((err) => {
|
|
253
|
-
|
|
389
|
+
if (jsonOutput) {
|
|
390
|
+
console.error(JSON.stringify({
|
|
391
|
+
type: 'error',
|
|
392
|
+
bridge: 'cli-bridge',
|
|
393
|
+
message: err.message,
|
|
394
|
+
}));
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
console.error(`Error: ${err.message}`);
|
|
398
|
+
}
|
|
254
399
|
process.exit(1);
|
|
255
400
|
});
|
|
256
401
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|