@zengxingyuan/aamp-cli-bridge 0.1.7-dev.2 → 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.
@@ -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 { resolvePairingFile } from './pairing.js';
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
- console.log('\nShutting down...');
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({ quiet: options.quiet });
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] Setup wizard, then start bridge
229
- aamp-cli-bridge start [--config X] Start the bridge (default: ~/.aamp/cli-bridge/config.json)
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
- console.error(`Error: ${err.message}`);
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":";AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAuC,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAE/F,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAClC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAA;AAClC,MAAM,UAAU,GAAG,iBAAiB,CAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CACnF,CAAA;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7C,CAAC;AAED,SAAS,QAAQ,CAAC,MAAoB,EAAE,SAAiB;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,uBAAuB,CAAC,CAAA;IAC7D,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAA;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,IACE,KAAK,KAAK,cAAc;WACrB,KAAK,KAAK,sBAAsB;WAChC,KAAK,KAAK,qBAAqB;WAC/B,KAAK,KAAK,OAAO,EACpB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAA;AACrH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAkB;IAC9C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAGvD,CAAA;IAED,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,eAAuB,EAAE,SAAiB;IACvE,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,kBAAkB,eAAe,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEzC,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACpC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,OAAO,EAAE,MAAM,CAAC,QAAQ;QACxB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;KAC9C,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,eAAuB,EAAE,SAAiB;IACvE,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACzC,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;IACzC,iBAAiB,CACf,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,EACX,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAClD,CAAA;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,eAAuB,EACvB,UAA+C,EAAE;IAEjD,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IAChF,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;QAC/B,GAAG,MAAM;QACT,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QACjC,MAAM,CAAC,IAAI,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAA;IACD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE9B,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;IAC5C,WAAW,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE;gBAC5C,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC;gBAChC,QAAQ,EAAE,cAAc,CAAC,aAAa,CAAC;gBACvC,eAAe,EAAE,wBAAwB,EAAE;aAC5C,CAAC,CAAA;YACF,IAAI,CAAC,WAAW;gBAAE,MAAK;YACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAA;gBACtE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;gBAC/C,MAAK;YACP,CAAC;YACD,MAAM,WAAW,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAChF,MAAK;QACP,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,WAAW,CAAC,UAAU,CAAC,CAAA;YAC7B,MAAK;QACP,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;YAC3C,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC3D,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,MAAK;YACtC,MAAM,WAAW,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YAChE,MAAK;QACP,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;YACrC,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;YACjE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC1E,IAAI,KAAK,GAAG,kBAAkB,CAAA;gBAC9B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;oBACzD,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAA;gBAC9B,CAAC;gBAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;oBAClD,CAAC,CAAC,KAAK,CAAC,UAAU;oBAClB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAA;gBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,aAAa,OAAO,GAAG,CAAC,CAAA;YAC/D,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,MAAK;QACP,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;YACrC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;YACxC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,MAAM,CAAC,IAAI,EAAE,CAAA;YACb,MAAM,CAAC,IAAI,EAAE,CAAA;YACb,MAAK;QACP,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACvC,KAAK,MAAM,IAAI,IAAI,yBAAyB,EAAE,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;gBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YACrE,CAAC;YAED,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAA;YAC3C,OAAO,CAAC,GAAG,CAAC,wBAAwB,WAAW,IAAI,CAAC,CAAA;YACpD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC;qBACnC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;qBACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;qBAC1C,IAAI,EAAE,CAAA;gBACT,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACzB,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,IAAI,IAAI,KAAK;wBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;gBACpD,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,MAAK;QACP,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,eAAe,EAAE,CAAA;YACvB,MAAK;QACP,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;YAC3C,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC3D,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAC3D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;gBACxC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC5C,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aACjF,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAChD,MAAK;QACP,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;YAC3C,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC3D,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YACvD,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAC3D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;gBAC1C,KAAK;gBACL,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC5C,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aACjF,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAChD,MAAK;QACP,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;YAC3C,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;YAC3C,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,CAAA;YAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,CAAA;YAC9C,MAAM,gBAAgB,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAE7F,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;YACnF,CAAC;YAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAC3D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC;gBAClD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YACjD,MAAK;QACP,CAAC;QAED,KAAK,MAAM,CAAC;QACZ;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CAwBjB,CAAC,CAAA;YACI,MAAK;IACT,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,UAAW,GAAa,CAAC,OAAO,EAAE,CAAC,CAAA;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}